From e01ef140253b9d58ba4f19347e07390ca3dc0234 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Sun, 12 Jun 2022 10:06:16 -0600 Subject: [PATCH 001/448] Adding documentation and integration fix --- doc/src/atom_style.rst | 14 ++++--- doc/src/fix_temp_integrate.rst | 75 ++++++++++++++++++++++++++++++++++ doc/src/set.rst | 9 +++- 3 files changed, 91 insertions(+), 7 deletions(-) create mode 100644 doc/src/fix_temp_integrate.rst diff --git a/doc/src/atom_style.rst b/doc/src/atom_style.rst index bd0c193962..5b93c56887 100644 --- a/doc/src/atom_style.rst +++ b/doc/src/atom_style.rst @@ -121,6 +121,8 @@ quantities. +--------------+-----------------------------------------------------+--------------------------------------+ | *sphere* | diameter, mass, angular velocity | granular models | +--------------+-----------------------------------------------------+--------------------------------------+ +| *sphere/temp*| diameter, mass, angular velocity, temperature | thermal granular models | ++--------------+-----------------------------------------------------+--------------------------------------+ | *bpm/sphere* | diameter, mass, angular velocity, quaternion | granular bonded particle models (BPM)| +--------------+-----------------------------------------------------+--------------------------------------+ | *spin* | magnetic moment | system with magnetic particles | @@ -144,7 +146,7 @@ quantities. output the custom values. All of the above styles define point particles, except the *sphere*, -*bpm/sphere*, *ellipsoid*, *electron*, *peri*, *wavepacket*, *line*, +*sphere/temp*, *bpm/sphere*, *ellipsoid*, *electron*, *peri*, *wavepacket*, *line*, *tri*, and *body* styles, which define finite-size particles. See the :doc:`Howto spherical ` page for an overview of using finite-size particle models with LAMMPS. @@ -154,15 +156,15 @@ per-type basis, using the :doc:`mass ` command, The finite-size particle styles assign mass to individual particles on a per-particle basis. -For the *sphere* and *bpm/sphere* styles, the particles are spheres and each stores a -per-particle diameter and mass. If the diameter > 0.0, the particle -is a finite-size sphere. If the diameter = 0.0, it is a point -particle. Note that by use of the *disc* keyword with the :doc:`fix +For the *sphere*, *sphere/temp*, and *bpm/sphere* styles, the particles +are spheres and each stores a per-particle diameter and mass. If the +diameter > 0.0, the particle is a finite-size sphere. If the diameter = 0.0, +it is a point particle. Note that by use of the *disc* keyword with the :doc:`fix nve/sphere `, :doc:`fix nvt/sphere `, :doc:`fix nph/sphere `, :doc:`fix npt/sphere ` commands for the *sphere* style, spheres can be effectively treated as 2d discs for a 2d simulation if desired. See also the :doc:`set -density/disc ` command. The *sphere* and *bpm/sphere* styles take an optional 0 +density/disc ` command. These styles take an optional 0 or 1 argument. A value of 0 means the radius of each sphere is constant for the duration of the simulation. A value of 1 means the radii may vary dynamically during the simulation, e.g. due to use of diff --git a/doc/src/fix_temp_integrate.rst b/doc/src/fix_temp_integrate.rst new file mode 100644 index 0000000000..c2f1257075 --- /dev/null +++ b/doc/src/fix_temp_integrate.rst @@ -0,0 +1,75 @@ +.. index:: fix temp/integrate + +fix temp/integrate command +========================== + +Syntax +"""""" + +.. parsed-literal:: + + fix ID group-ID temp/integrate style values ... + +* ID, group-ID are documented in :doc:`fix ` command +* temp/integrate = style name of this fix command +* one style with corresponding value(s) needs to be listed + + .. parsed-literal:: + + style = *constant* or *type* + *constant* = cp + cp = value of specifc heat (energy/(mass * temperature) units) + *type* = cp1 ... cpN + cpN = value of specifc heat for type N (energy/(mass * temperature) units) + +* + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix 1 all temp/integrate constant 1.0 + fix 1 all temp/integrate type 1.0 0.5 + +Description +""""""""""" + +Perform plain time integration to update temperature for atoms in the +group each timestep. The specific heat of atoms can be defined using either +the *constant* or *type* keywords. For style *constant*, the specific heat +is a constant value *cp* for all atoms. For style *type*, *N* different values +of the specific heat are defined, one for each of the *N* types of atoms. + + + +---------- + +.. include:: accel_styles.rst + +---------- + +Restart, fix_modify, output, run start/stop, minimize info +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options +are relevant to this fix. No global or per-atom quantities are stored +by this fix for access by various :doc:`output commands `. +No parameter of this fix can be used with the *start/stop* keywords of +the :doc:`run ` command. This fix is not invoked during :doc:`energy minimization `. + +Restrictions +"""""""""""" + +This fix requires that atoms store temperature and a heat flux +as defined by the :doc:`atom_style sphere/temp ` command. + +Related commands +"""""""""""""""" + +:doc:`pair granular ` + +Default +""""""" + +none diff --git a/doc/src/set.rst b/doc/src/set.rst index cc1d2766e3..d11d3fc229 100644 --- a/doc/src/set.rst +++ b/doc/src/set.rst @@ -18,7 +18,7 @@ Syntax *dipole/random* or *quat* or *spin* or *spin/random* or *quat* or *quat/random* or *diameter* or *shape* or *length* or *tri* or *theta* or *theta/random* or *angmom* or - *omega* or *mass* or *density* or *density/disc* or + *omega* or *mass* or *density* or *density/disc* or *temperature* or *volume* or *image* or *bond* or *angle* or *dihedral* or *improper* or *sph/e* or *sph/cv* or *sph/rho* or *smd/contact/radius* or *smd/mass/density* or *dpd/theta* or @@ -95,6 +95,8 @@ Syntax value can be an atom-style variable (see below) *density/disc* value = particle density for a 2d disc or ellipse (mass/distance\^2 units) value can be an atom-style variable (see below) + *temperature* value = particle temperature for a finite-size particle particle (temperature units)s + value can be an atom-style variable (see below) *volume* value = particle volume for Peridynamic particle (distance\^3 units) value can be an atom-style variable (see below) *image* nx ny nz @@ -410,6 +412,11 @@ assumed to be in mass/distance\^2 units). If none of these cases are valid, then the mass is set to the density value directly (the input density is assumed to be in mass units). +Keyword *temperature* sets the temperature of a finite-size particle +as defined by the GRANULAR package. Currently, only +:doc:`atom_style sphere/temperature ` defines particles +with this attribute. The values for the temperature must be positive. + Keyword *volume* sets the volume of all selected particles. Currently, only the :doc:`atom_style peri ` command defines particles with a volume attribute. Note that this command does not adjust the From c6d59fc5267bede32772403f683c136e36d8528a Mon Sep 17 00:00:00 2001 From: jtclemm Date: Sun, 12 Jun 2022 10:09:26 -0600 Subject: [PATCH 002/448] adding documentation and integration fix --- src/.gitignore | 6 +- src/GRANULAR/atom_vec_sphere_temperature.cpp | 160 +++++++++++++++++++ src/GRANULAR/atom_vec_sphere_temperature.h | 51 ++++++ src/GRANULAR/fix_temp_integrate.cpp | 142 ++++++++++++++++ src/GRANULAR/fix_temp_integrate.h | 50 ++++++ src/atom.cpp | 18 +++ src/atom.h | 2 + src/set.cpp | 19 ++- 8 files changed, 445 insertions(+), 3 deletions(-) create mode 100644 src/GRANULAR/atom_vec_sphere_temperature.cpp create mode 100644 src/GRANULAR/atom_vec_sphere_temperature.h create mode 100644 src/GRANULAR/fix_temp_integrate.cpp create mode 100644 src/GRANULAR/fix_temp_integrate.h diff --git a/src/.gitignore b/src/.gitignore index 6657256e8f..7a6bc1beb4 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -421,14 +421,14 @@ /atom_vec_full.h /atom_vec_full_hars.cpp /atom_vec_full_hars.h -/atom_vec_granular.cpp -/atom_vec_granular.h /atom_vec_molecular.cpp /atom_vec_molecular.h /atom_vec_oxdna.cpp /atom_vec_oxdna.h /atom_vec_peri.cpp /atom_vec_peri.h +/atom_vec_sphere_temperature.cpp +/atom_vec_sphere_temperature.h /atom_vec_template.cpp /atom_vec_template.h /body_nparticle.cpp @@ -1510,6 +1510,8 @@ /fix_smd_wall_surface.h /fix_srp.cpp /fix_srp.h +/fix_temp_integrate.cpp +/fix_temp_integrate.h /fix_tfmc.cpp /fix_tfmc.h /fix_ttm.cpp diff --git a/src/GRANULAR/atom_vec_sphere_temperature.cpp b/src/GRANULAR/atom_vec_sphere_temperature.cpp new file mode 100644 index 0000000000..5b62a2c279 --- /dev/null +++ b/src/GRANULAR/atom_vec_sphere_temperature.cpp @@ -0,0 +1,160 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "atom_vec_sphere_temperature.h" + +#include "atom.h" +#include "error.h" +#include "fix.h" +#include "fix_adapt.h" +#include "math_const.h" +#include "modify.h" + +using namespace LAMMPS_NS; +using namespace MathConst; + +/* ---------------------------------------------------------------------- */ + +AtomVecSphereTemperature::AtomVecSphereTemperature(LAMMPS *lmp) : AtomVec(lmp) +{ + mass_type = PER_ATOM; + molecular = Atom::ATOMIC; + + atom->sphere_flag = 1; + atom->radius_flag = atom->rmass_flag = atom->omega_flag = atom->torque_flag = 1; + atom->temperature_flag = atom->heatflux_flag = 1; + + // strings with peratom variables to include in each AtomVec method + // strings cannot contain fields in corresponding AtomVec default strings + // order of fields in a string does not matter + // except: fields_data_atom & fields_data_vel must match data file + + fields_grow = {"radius", "rmass", "omega", "torque", "temperature", "heatflux"}; + fields_copy = {"radius", "rmass", "omega", "temperature"}; + fields_comm_vel = {"omega", "temperature"}; + fields_reverse = {"torque", "heatflux"}; + fields_border = {"radius", "rmass", "temperature"}; + fields_border_vel = {"radius", "rmass", "omega", "temperature"}; + fields_exchange = {"radius", "rmass", "omega", "temperature"}; + fields_restart = {"radius", "rmass", "omega", "temperature"}; + fields_create = {"radius", "rmass", "omega", "temperature"}; + fields_data_atom = {"id", "type", "radius", "rmass", "x", "temperature"}; + fields_data_vel = {"id", "v", "omega"}; +} + +/* ---------------------------------------------------------------------- + process sub-style args + optional arg = 0/1 for static/dynamic particle radii +------------------------------------------------------------------------- */ + +void AtomVecSphereTemperature::process_args(int narg, char **arg) +{ + if (narg != 0 && narg != 1) error->all(FLERR, "Illegal atom_style sphere command"); + + radvary = 0; + if (narg == 1) { + radvary = utils::numeric(FLERR, arg[0], true, lmp); + if (radvary < 0 || radvary > 1) error->all(FLERR, "Illegal atom_style sphere command"); + } + + // dynamic particle radius and mass must be communicated every step + + if (radvary) { + fields_comm = {"radius", "rmass"}; + fields_comm_vel = {"radius", "rmass", "omega"}; + } + + // delay setting up of fields until now + + setup_fields(); +} + +/* ---------------------------------------------------------------------- */ + +void AtomVecSphereTemperature::init() +{ + AtomVec::init(); + + // check if optional radvary setting should have been set to 1 + + for (int i = 0; i < modify->nfix; i++) + if (strcmp(modify->fix[i]->style, "adapt") == 0) { + auto fix = dynamic_cast(modify->fix[i]); + if (fix->diamflag && radvary == 0) + error->all(FLERR, "Fix adapt changes particle radii but atom_style sphere is not dynamic"); + } +} + +/* ---------------------------------------------------------------------- + set local copies of all grow ptrs used by this class, except defaults + needed in replicate when 2 atom classes exist and it calls pack_restart() +------------------------------------------------------------------------- */ + +void AtomVecSphereTemperature::grow_pointers() +{ + radius = atom->radius; + rmass = atom->rmass; + omega = atom->omega; +} + +/* ---------------------------------------------------------------------- + initialize non-zero atom quantities +------------------------------------------------------------------------- */ + +void AtomVecSphereTemperature::create_atom_post(int ilocal) +{ + radius[ilocal] = 0.5; + rmass[ilocal] = 4.0 * MY_PI / 3.0 * 0.5 * 0.5 * 0.5; +} + +/* ---------------------------------------------------------------------- + modify what AtomVec::data_atom() just unpacked + or initialize other atom quantities +------------------------------------------------------------------------- */ + +void AtomVecSphereTemperature::data_atom_post(int ilocal) +{ + radius_one = 0.5 * atom->radius[ilocal]; + radius[ilocal] = radius_one; + if (radius_one > 0.0) rmass[ilocal] *= 4.0 * MY_PI / 3.0 * radius_one * radius_one * radius_one; + + if (rmass[ilocal] <= 0.0) error->one(FLERR, "Invalid density in Atoms section of data file"); + + omega[ilocal][0] = 0.0; + omega[ilocal][1] = 0.0; + omega[ilocal][2] = 0.0; +} + +/* ---------------------------------------------------------------------- + modify values for AtomVec::pack_data() to pack +------------------------------------------------------------------------- */ + +void AtomVecSphereTemperature::pack_data_pre(int ilocal) +{ + radius_one = radius[ilocal]; + rmass_one = rmass[ilocal]; + + radius[ilocal] *= 2.0; + if (radius_one != 0.0) + rmass[ilocal] = rmass_one / (4.0 * MY_PI / 3.0 * radius_one * radius_one * radius_one); +} + +/* ---------------------------------------------------------------------- + unmodify values packed by AtomVec::pack_data() +------------------------------------------------------------------------- */ + +void AtomVecSphereTemperature::pack_data_post(int ilocal) +{ + radius[ilocal] = radius_one; + rmass[ilocal] = rmass_one; +} diff --git a/src/GRANULAR/atom_vec_sphere_temperature.h b/src/GRANULAR/atom_vec_sphere_temperature.h new file mode 100644 index 0000000000..6b1ca6f390 --- /dev/null +++ b/src/GRANULAR/atom_vec_sphere_temperature.h @@ -0,0 +1,51 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef ATOM_CLASS +// clang-format off +AtomStyle(sphere,AtomVecSphereTemperature); +// clang-format on +#else + +#ifndef LMP_ATOM_VEC_SPHERE_TEMPERATURE_H +#define LMP_ATOM_VEC_SPHERE_TEMPERATURE_H + +#include "atom_vec.h" + +namespace LAMMPS_NS { + +class AtomVecSphereTemperature : public AtomVec { + public: + AtomVecSphereTemperature(class LAMMPS *); + void process_args(int, char **) override; + void init() override; + + void grow_pointers() override; + void create_atom_post(int) override; + void data_atom_post(int) override; + void pack_data_pre(int) override; + void pack_data_post(int) override; + + private: + double *radius, *rmass; + double **omega; + double *temperature, *heatflux; + + int radvary; + double radius_one, rmass_one; +}; + +} // namespace LAMMPS_NS + +#endif +#endif diff --git a/src/GRANULAR/fix_temp_integrate.cpp b/src/GRANULAR/fix_temp_integrate.cpp new file mode 100644 index 0000000000..bb351d7db4 --- /dev/null +++ b/src/GRANULAR/fix_temp_integrate.cpp @@ -0,0 +1,142 @@ +// clang-format off +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "fix_temp_integrate.h" + +#include "atom.h" +#include "error.h" +#include "force.h" +#include "memory.h" +#include "respa.h" +#include "update.h" + +using namespace LAMMPS_NS; +using namespace FixConst; + +enum {NONE, CONSTANT, TYPE}; + +/* ---------------------------------------------------------------------- */ + +FixTempIntegrate::FixTempIntegrate(LAMMPS *lmp, int narg, char **arg) : + Fix(lmp, narg, arg) +{ + if (narg < 4) error->all(FLERR,"Illegal fix command"); + + cp_style = NONE; + + int ntypes = atom->ntypes; + int iarg = 3; + while (iarg < narg) { + if (strcmp(arg[iarg+1],"constant") == 0) { + if (iarg+2 >= narg) error->all(FLERR,"Illegal fix command"); + cp_style = CONSTANT; + cp = utils::numeric(FLERR,arg[iarg+2],false,lmp); + if (cp < 0.0) error->all(FLERR,"Illegal fix command"); + iarg += 2; + } else if (strcmp(arg[iarg+1],"type") == 0) { + if (iarg+1+ntypes >= narg) error->all(FLERR,"Illegal fix command"); + cp_style = TYPE; + memory->create(cp_type,ntypes+1,"fix/temp/integrate:cp_type"); + for (int i = 1; i <= ntypes; i++) { + cp_type[i] = utils::numeric(FLERR,arg[iarg+1+i],false,lmp); + if (cp_type[i] < 0.0) error->all(FLERR,"Illegal fix command"); + } + iarg += 1+ntypes; + } else { + error->all(FLERR,"Illegal fix command"); + } + iarg += 1; + } + + if (cp_style == NONE) + error->all(FLERR, "Must specify specific heat in fix temp/integrate"); + dynamic_group_allow = 1; + time_integrate = 1; +} + +/* ---------------------------------------------------------------------- */ + +int FixTempIntegrate::setmask() +{ + int mask = 0; + mask |= FINAL_INTEGRATE; + mask |= FINAL_INTEGRATE_RESPA; + return mask; +} + +/* ---------------------------------------------------------------------- */ + +void FixTempIntegrate::init() +{ + dt = update->dt; + + if (!atom->temperature_flag) + error->all(FLERR,"Fix temp/integrate requires atom style with temperature property"); + if (!atom->heatflux_flag) + error->all(FLERR,"Fix temp/integrate requires atom style with heatflux property"); +} + +/* ---------------------------------------------------------------------- */ + +void FixTempIntegrate::final_integrate() +{ + // update temperature of atoms in group + + double *temperature = atom->temperature; + double *heatflux = atom->heatflux; + double *rmass = atom->rmass; + double *mass = atom->mass; + int *type = atom->type; + int *mask = atom->mask; + int nlocal = atom->nlocal; + if (igroup == atom->firstgroup) nlocal = atom->nfirst; + + if (rmass) { + for (int i = 0; i < nlocal; i++) + if (mask[i] & groupbit) { + temperature[i] += dt * heatflux[i] / (calc_cp(i) * rmass[i]); + } + } else { + for (int i = 0; i < nlocal; i++) + if (mask[i] & groupbit) { + temperature[i] += dt * heatflux[i] / (calc_cp(i) * mass[type[i]]); + } + } +} + +/* ---------------------------------------------------------------------- */ + +void FixTempIntegrate::final_integrate_respa(int ilevel, int /*iloop*/) +{ + dt = update->dt; + final_integrate(); +} + +/* ---------------------------------------------------------------------- */ + +void FixTempIntegrate::reset_dt() +{ + dt = update->dt; +} + +/* ---------------------------------------------------------------------- */ + +double FixTempIntegrate::calc_cp(int i) +{ + if (cp_style == TYPE) { + return cp_type[atom->type[i]]; + } else { + return cp; + } +} diff --git a/src/GRANULAR/fix_temp_integrate.h b/src/GRANULAR/fix_temp_integrate.h new file mode 100644 index 0000000000..738cb28a6f --- /dev/null +++ b/src/GRANULAR/fix_temp_integrate.h @@ -0,0 +1,50 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef FIX_CLASS +// clang-format off +FixStyle(temp/integrate,FixTempIntegrate); +// clang-format on +#else + +#ifndef LMP_FIX_TEMP_INTEGRATE_H +#define LMP_FIX_TEMP_INTEGRATE_H + +#include "fix.h" + +namespace LAMMPS_NS { + +class FixTempIntegrate : public Fix { + public: + FixTempIntegrate(class LAMMPS *, int, char **); + + int setmask() override; + void init() override; + void final_integrate() override; + void final_integrate_respa(int, int) override; + void reset_dt() override; + + protected: + double dt; + double cp, *cp_type; + int cp_style; + + int mass_require; + + double calc_cp(int); +}; + +} // namespace LAMMPS_NS + +#endif +#endif diff --git a/src/atom.cpp b/src/atom.cpp index 8b3ab8c75d..ce66742779 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -123,6 +123,8 @@ Atom::Atom(LAMMPS *lmp) : Pointers(lmp) radius = rmass = nullptr; ellipsoid = line = tri = body = nullptr; quat = nullptr; + temperature = nullptr; + heatflux = nullptr; // molecular systems @@ -410,6 +412,9 @@ void Atom::peratom_create() add_peratom("tri",&tri,INT,0); add_peratom("body",&body,INT,0); + add_peratom("temperature",&temperature,DOUBLE,0); + add_peratom("heatflux",&heatflux,DOUBLE,0); + // BPM package add_peratom("quat",&quat,DOUBLE,4); @@ -612,6 +617,7 @@ void Atom::set_atomflag_defaults() molecule_flag = molindex_flag = molatom_flag = 0; q_flag = mu_flag = 0; rmass_flag = radius_flag = omega_flag = torque_flag = angmom_flag = 0; + temperature_flag = heatflux_flag = 0; vfrac_flag = spin_flag = eradius_flag = ervel_flag = erforce_flag = 0; cs_flag = csforce_flag = vforce_flag = ervelforce_flag = etag_flag = 0; rho_flag = esph_flag = cv_flag = vest_flag = 0; @@ -2602,6 +2608,14 @@ length of the data area, and a short description. - double - 4 - four quaternion components of the particles + * - temperature + - double + - 1 + - temperature of the particles + * - heatflux + - double + - 1 + - heatflux of the particles * - i_name - int - 1 @@ -2658,6 +2672,8 @@ void *Atom::extract(const char *name) if (strcmp(name,"tri") == 0) return (void *) tri; if (strcmp(name,"body") == 0) return (void *) body; if (strcmp(name,"quat") == 0) return (void *) quat; + if (strcmp(name,"temperature") == 0) return (void *) temperature; + if (strcmp(name,"heatflux") == 0) return (void *) heatflux; if (strcmp(name,"vfrac") == 0) return (void *) vfrac; if (strcmp(name,"s0") == 0) return (void *) s0; @@ -2781,6 +2797,8 @@ int Atom::extract_datatype(const char *name) if (strcmp(name,"tri") == 0) return LAMMPS_INT; if (strcmp(name,"body") == 0) return LAMMPS_INT; if (strcmp(name,"quat") == 0) return LAMMPS_DOUBLE_2D; + if (strcmp(name,"temperature") == 0) return LAMMPS_DOUBLE; + if (strcmp(name,"heatflux") == 0) return LAMMPS_DOUBLE; if (strcmp(name,"vfrac") == 0) return LAMMPS_DOUBLE; if (strcmp(name,"s0") == 0) return LAMMPS_DOUBLE; diff --git a/src/atom.h b/src/atom.h index 499e5f0d0f..7ac459317c 100644 --- a/src/atom.h +++ b/src/atom.h @@ -80,6 +80,7 @@ class Atom : protected Pointers { double **omega, **angmom, **torque; int *ellipsoid, *line, *tri, *body; double **quat; + double *temperature, *heatflux; // molecular systems @@ -182,6 +183,7 @@ class Atom : protected Pointers { int molecule_flag, molindex_flag, molatom_flag; int q_flag, mu_flag; int rmass_flag, radius_flag, omega_flag, torque_flag, angmom_flag, quat_flag; + int temperature_flag, heatflux_flag; int vfrac_flag, spin_flag, eradius_flag, ervel_flag, erforce_flag; int cs_flag, csforce_flag, vforce_flag, ervelforce_flag, etag_flag; int rho_flag, esph_flag, cv_flag, vest_flag; diff --git a/src/set.cpp b/src/set.cpp index 2843281d78..7c759873a2 100644 --- a/src/set.cpp +++ b/src/set.cpp @@ -47,7 +47,7 @@ enum{ATOM_SELECT,MOL_SELECT,TYPE_SELECT,GROUP_SELECT,REGION_SELECT}; enum{TYPE,TYPE_FRACTION,TYPE_RATIO,TYPE_SUBSET, MOLECULE,X,Y,Z,VX,VY,VZ,CHARGE,MASS,SHAPE,LENGTH,TRI, DIPOLE,DIPOLE_RANDOM,SPIN,SPIN_RANDOM,QUAT,QUAT_RANDOM, - THETA,THETA_RANDOM,ANGMOM,OMEGA, + THETA,THETA_RANDOM,ANGMOM,OMEGA,TEMPERATURE, DIAMETER,DENSITY,VOLUME,IMAGE,BOND,ANGLE,DIHEDRAL,IMPROPER, SPH_E,SPH_CV,SPH_RHO,EDPD_TEMP,EDPD_CV,CC,SMD_MASS_DENSITY, SMD_CONTACT_RADIUS,DPDTHETA,EPSILON,IVEC,DVEC,IARRAY,DARRAY}; @@ -389,6 +389,15 @@ void Set::command(int narg, char **arg) set(DENSITY); iarg += 2; + } else if (strcmp(arg[iarg],"temperature") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); + if (utils::strmatch(arg[iarg+1],"^v_")) varparse(arg[iarg+1],1); + else dvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); + if (!atom->temperature_flag) + error->all(FLERR,"Cannot set this attribute for this atom style"); + set(TEMPERATURE); + iarg += 2; + } else if (strcmp(arg[iarg],"volume") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); if (utils::strmatch(arg[iarg+1],"^v_")) varparse(arg[iarg+1],1); @@ -768,6 +777,7 @@ void Set::set(int keyword) case SHAPE: case DIAMETER: case DENSITY: + case TEMPERATURE: case QUAT: case IMAGE: if (modify->check_rigid_list_overlap(select)) @@ -1008,6 +1018,13 @@ void Set::set(int keyword) atom->omega[i][2] = zvalue; } + // set temperature of particle + + else if (keyword == ANGMOM) { + if (dvalue < 0.0) error->one(FLERR,"Invalid temperature in set command"); + atom->temperature[i] = dvalue; + } + // reset any or all of 3 image flags else if (keyword == IMAGE) { From 66188d9d572c7671b2a351fda086dee0ee89c37c Mon Sep 17 00:00:00 2001 From: jtclemm Date: Mon, 13 Jun 2022 09:00:15 -0600 Subject: [PATCH 003/448] unified naming scheme --- src/.gitignore | 4 ++-- ...emperature.cpp => atom_vec_sphere_temp.cpp} | 18 +++++++++--------- ...re_temperature.h => atom_vec_sphere_temp.h} | 10 +++++----- 3 files changed, 16 insertions(+), 16 deletions(-) rename src/GRANULAR/{atom_vec_sphere_temperature.cpp => atom_vec_sphere_temp.cpp} (91%) rename src/GRANULAR/{atom_vec_sphere_temperature.h => atom_vec_sphere_temp.h} (84%) diff --git a/src/.gitignore b/src/.gitignore index 7a6bc1beb4..acb509551c 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -427,8 +427,8 @@ /atom_vec_oxdna.h /atom_vec_peri.cpp /atom_vec_peri.h -/atom_vec_sphere_temperature.cpp -/atom_vec_sphere_temperature.h +/atom_vec_sphere_temp.cpp +/atom_vec_sphere_temp.h /atom_vec_template.cpp /atom_vec_template.h /body_nparticle.cpp diff --git a/src/GRANULAR/atom_vec_sphere_temperature.cpp b/src/GRANULAR/atom_vec_sphere_temp.cpp similarity index 91% rename from src/GRANULAR/atom_vec_sphere_temperature.cpp rename to src/GRANULAR/atom_vec_sphere_temp.cpp index 5b62a2c279..d4e30e3154 100644 --- a/src/GRANULAR/atom_vec_sphere_temperature.cpp +++ b/src/GRANULAR/atom_vec_sphere_temp.cpp @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "atom_vec_sphere_temperature.h" +#include "atom_vec_sphere_temp.h" #include "atom.h" #include "error.h" @@ -25,7 +25,7 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ -AtomVecSphereTemperature::AtomVecSphereTemperature(LAMMPS *lmp) : AtomVec(lmp) +AtomVecSphereTemp::AtomVecSphereTemp(LAMMPS *lmp) : AtomVec(lmp) { mass_type = PER_ATOM; molecular = Atom::ATOMIC; @@ -57,7 +57,7 @@ AtomVecSphereTemperature::AtomVecSphereTemperature(LAMMPS *lmp) : AtomVec(lmp) optional arg = 0/1 for static/dynamic particle radii ------------------------------------------------------------------------- */ -void AtomVecSphereTemperature::process_args(int narg, char **arg) +void AtomVecSphereTemp::process_args(int narg, char **arg) { if (narg != 0 && narg != 1) error->all(FLERR, "Illegal atom_style sphere command"); @@ -81,7 +81,7 @@ void AtomVecSphereTemperature::process_args(int narg, char **arg) /* ---------------------------------------------------------------------- */ -void AtomVecSphereTemperature::init() +void AtomVecSphereTemp::init() { AtomVec::init(); @@ -100,7 +100,7 @@ void AtomVecSphereTemperature::init() needed in replicate when 2 atom classes exist and it calls pack_restart() ------------------------------------------------------------------------- */ -void AtomVecSphereTemperature::grow_pointers() +void AtomVecSphereTemp::grow_pointers() { radius = atom->radius; rmass = atom->rmass; @@ -111,7 +111,7 @@ void AtomVecSphereTemperature::grow_pointers() initialize non-zero atom quantities ------------------------------------------------------------------------- */ -void AtomVecSphereTemperature::create_atom_post(int ilocal) +void AtomVecSphereTemp::create_atom_post(int ilocal) { radius[ilocal] = 0.5; rmass[ilocal] = 4.0 * MY_PI / 3.0 * 0.5 * 0.5 * 0.5; @@ -122,7 +122,7 @@ void AtomVecSphereTemperature::create_atom_post(int ilocal) or initialize other atom quantities ------------------------------------------------------------------------- */ -void AtomVecSphereTemperature::data_atom_post(int ilocal) +void AtomVecSphereTemp::data_atom_post(int ilocal) { radius_one = 0.5 * atom->radius[ilocal]; radius[ilocal] = radius_one; @@ -139,7 +139,7 @@ void AtomVecSphereTemperature::data_atom_post(int ilocal) modify values for AtomVec::pack_data() to pack ------------------------------------------------------------------------- */ -void AtomVecSphereTemperature::pack_data_pre(int ilocal) +void AtomVecSphereTemp::pack_data_pre(int ilocal) { radius_one = radius[ilocal]; rmass_one = rmass[ilocal]; @@ -153,7 +153,7 @@ void AtomVecSphereTemperature::pack_data_pre(int ilocal) unmodify values packed by AtomVec::pack_data() ------------------------------------------------------------------------- */ -void AtomVecSphereTemperature::pack_data_post(int ilocal) +void AtomVecSphereTemp::pack_data_post(int ilocal) { radius[ilocal] = radius_one; rmass[ilocal] = rmass_one; diff --git a/src/GRANULAR/atom_vec_sphere_temperature.h b/src/GRANULAR/atom_vec_sphere_temp.h similarity index 84% rename from src/GRANULAR/atom_vec_sphere_temperature.h rename to src/GRANULAR/atom_vec_sphere_temp.h index 6b1ca6f390..f42b844886 100644 --- a/src/GRANULAR/atom_vec_sphere_temperature.h +++ b/src/GRANULAR/atom_vec_sphere_temp.h @@ -13,20 +13,20 @@ #ifdef ATOM_CLASS // clang-format off -AtomStyle(sphere,AtomVecSphereTemperature); +AtomStyle(sphere/temp,AtomVecSphereTemp); // clang-format on #else -#ifndef LMP_ATOM_VEC_SPHERE_TEMPERATURE_H -#define LMP_ATOM_VEC_SPHERE_TEMPERATURE_H +#ifndef LMP_ATOM_VEC_SPHERE_TEMP_H +#define LMP_ATOM_VEC_SPHERE_TEMP_H #include "atom_vec.h" namespace LAMMPS_NS { -class AtomVecSphereTemperature : public AtomVec { +class AtomVecSphereTemp : public AtomVec { public: - AtomVecSphereTemperature(class LAMMPS *); + AtomVecSphereTemp(class LAMMPS *); void process_args(int, char **) override; void init() override; From c0078fda059b734417d1080ee1b7bb54cdcf77ac Mon Sep 17 00:00:00 2001 From: jtclemm Date: Tue, 14 Jun 2022 09:27:14 -0600 Subject: [PATCH 004/448] Begin refactoring of pair granular --- src/GRANULAR/pair_granular.cpp | 825 ++++++++++----------------------- src/GRANULAR/pair_granular.h | 12 + 2 files changed, 248 insertions(+), 589 deletions(-) diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index 013c63172d..34edbc0ae3 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -28,6 +28,7 @@ #include "fix_neigh_history.h" #include "force.h" #include "math_const.h" +#include "math_extra.h" #include "math_special.h" #include "memory.h" #include "modify.h" @@ -149,37 +150,35 @@ PairGranular::~PairGranular() void PairGranular::compute(int eflag, int vflag) { int i,j,ii,jj,inum,jnum,itype,jtype; - double xtmp,ytmp,ztmp,delx,dely,delz,fx,fy,fz,nx,ny,nz; + double dx[3],fx[3],nx[3]; double radi,radj,radsum,rsq,r,rinv,factor_lj; double Reff, delta, dR, dR2, dist_to_contact; - double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; - double wr1,wr2,wr3; - double vtr1,vtr2,vtr3,vrel; + double vr[3],vnnr,vn[3],vt[3],wr[3],vtr[3],vrel[3]; + double temp[3], temp_dbl; - double knfac, damp_normal=0.0, damp_normal_prefactor; + double damp_normal=0.0, damp_normal_prefactor; double k_tangential, damp_tangential; double Fne, Ft, Fdamp, Fntot, Fncrit, Fscrit, Frcrit; - double fs, fs1, fs2, fs3, tor1, tor2, tor3; + double magfs, fs[3], tor[3]; double mi,mj,meff; - double relrot1,relrot2,relrot3,vrl1,vrl2,vrl3; + double relrot[3],vrl[3]; - // for JKR - double R2, coh, F_pulloff, delta_pulloff, dist_pulloff, a, a2, E; - double t0, t1, t2, t3, t4, t5, t6; - double sqrt1, sqrt2, sqrt3; + ContactModel model; + ContactGeom geom; // rolling double k_roll, damp_roll; - double torroll1, torroll2, torroll3; + int rhist0, rhist1, rhist2; + double torroll[3]; double rollmag, rolldotn, scalefac; - double fr, fr1, fr2, fr3; + double magfr, fr[3]; // twisting double k_twist, damp_twist, mu_twist; double signtwist, magtwist, magtortwist, Mtcrit; - double tortwist1, tortwist2, tortwist3; + double tortwist[3]; double shrmag,rsht,prjmag; bool frameupdate; @@ -236,9 +235,6 @@ void PairGranular::compute(int eflag, int vflag) for (ii = 0; ii < inum; ii++) { i = ilist[ii]; itype = type[i]; - xtmp = x[i][0]; - ytmp = x[i][1]; - ztmp = x[i][2]; itype = type[i]; radi = radius[i]; if (use_history) { @@ -255,30 +251,21 @@ void PairGranular::compute(int eflag, int vflag) if (factor_lj == 0) continue; - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; + MathExtra::sub3(x[i], x[j], dx); jtype = type[j]; - rsq = delx*delx + dely*dely + delz*delz; + rsq = MathExtra::lensq3(dx); radj = radius[j]; radsum = radi + radj; - - E = normal_coeffs[itype][jtype][0]; Reff = radi*radj/radsum; - touchflag = false; + // Copy data into structures to easily pass to functions + geom.rsq = rsq; + geom.Reff = Reff; + geom.radsum = radsum; + + touchflag = false; if (normal_model[itype][jtype] == JKR) { - E *= THREEQUARTERS; - if (touch[jj]) { - R2 = Reff*Reff; - coh = normal_coeffs[itype][jtype][3]; - a = cbrt(9.0*MY_PI*coh*R2/(4*E)); - delta_pulloff = a*a/Reff - 2*sqrt(MY_PI*coh*a/E); - dist_pulloff = radsum-delta_pulloff; - touchflag = (rsq < dist_pulloff*dist_pulloff); - } else { - touchflag = (rsq < radsum*radsum); - } + touchflag = touch_JKR(touch[jj], geom, model) } else { touchflag = (rsq < radsum*radsum); } @@ -294,22 +281,30 @@ void PairGranular::compute(int eflag, int vflag) r = sqrt(rsq); rinv = 1.0/r; - nx = delx*rinv; - ny = dely*rinv; - nz = delz*rinv; + // Copy data into structures to easily pass to functions + geom.r = r; + geom.rinv = rinv + geom.delta = radsum - r; + geom.dR = geom.delta*Reff; + + model.normal = normal_model[itype][jtype]; + model.damping = damping_model[itype][jtype]; + model.tangential = tangential_model[itype][jtype]; + model.roll = roll_model[itype][jtype]; + model.twist = twist_model[itype][jtype]; + model.E = normal_coeffs[itype][jtype][0]; + model.damp = normal_coeffs[itype][jtype][1]; + model.poisson = normal_coeffs[itype][jtype][2]; + model.coh = normal_coeffs[itype][jtype][3]; + + MathExtra::scale3(rinv, dx, nx); // relative translational velocity - - vr1 = v[i][0] - v[j][0]; - vr2 = v[i][1] - v[j][1]; - vr3 = v[i][2] - v[j][2]; + MathExtra::sub3(v[i], v[j], vr); // normal component - - vnnr = vr1*nx + vr2*ny + vr3*nz; //v_R . n - vn1 = nx*vnnr; - vn2 = ny*vnnr; - vn3 = nz*vnnr; + vnnr = MathExtra::dot3(vr, nx); //v_R . n + MathExtra::scale3(vnnr, nx, vn); // meff = effective mass of pair of particles // if I or J part of rigid body, use body mass @@ -322,60 +317,22 @@ void PairGranular::compute(int eflag, int vflag) if (mass_rigid[j] > 0.0) mj = mass_rigid[j]; } - meff = mi*mj / (mi+mj); + meff = mi * mj / (mi + mj); if (mask[i] & freeze_group_bit) meff = mj; if (mask[j] & freeze_group_bit) meff = mi; - delta = radsum - r; - dR = delta*Reff; - - if (normal_model[itype][jtype] == JKR) { + if (model.normal == JKR) { touch[jj] = 1; - R2=Reff*Reff; - coh = normal_coeffs[itype][jtype][3]; - dR2 = dR*dR; - t0 = coh*coh*R2*R2*E; - t1 = PI27SQ*t0; - t2 = 8*dR*dR2*E*E*E; - t3 = 4*dR2*E; - // in case sqrt(0) < 0 due to precision issues - sqrt1 = MAX(0, t0*(t1+2*t2)); - t4 = cbrt(t1+t2+THREEROOT3*MY_PI*sqrt(sqrt1)); - t5 = t3/t4 + t4/E; - sqrt2 = MAX(0, 2*dR + t5); - t6 = sqrt(sqrt2); - sqrt3 = MAX(0, 4*dR - t5 + SIXROOT6*coh*MY_PI*R2/(E*t6)); - a = INVROOT6*(t6 + sqrt(sqrt3)); - a2 = a*a; - knfac = normal_coeffs[itype][jtype][0]*a; - Fne = knfac*a2/Reff - MY_2PI*a2*sqrt(4*coh*E/(MY_PI*a)); + normal_JKR(Fne, Fncrit, geom, model); + } else if (model.normal == DMT) { + normal_DMT(Fne, Fncrit, geom, model); } else { - knfac = E; // Hooke - Fne = knfac*delta; - a = sqrt(dR); - if (normal_model[itype][jtype] != HOOKE) { - Fne *= a; - knfac *= a; - } - if (normal_model[itype][jtype] == DMT) - Fne -= 4*MY_PI*normal_coeffs[itype][jtype][3]*Reff; + normal_hooke(Fne, Fncrit, geom, model); } // NOTE: consider restricting Hooke to only have // 'velocity' as an option for damping? - - if (damping_model[itype][jtype] == VELOCITY) { - damp_normal = 1; - } else if (damping_model[itype][jtype] == MASS_VELOCITY) { - damp_normal = meff; - } else if (damping_model[itype][jtype] == VISCOELASTIC) { - damp_normal = a*meff; - } else if (damping_model[itype][jtype] == TSUJI) { - damp_normal = sqrt(meff*knfac); - } else damp_normal = 0.0; - - damp_normal_prefactor = normal_coeffs[itype][jtype][1]*damp_normal; - Fdamp = -damp_normal_prefactor*vnnr; + Fdamp = normal_damping(vnnr, meff, geom, model); Fntot = Fne + Fdamp; if (limit_damping[itype][jtype] && (Fntot < 0.0)) Fntot = 0.0; @@ -391,21 +348,15 @@ void PairGranular::compute(int eflag, int vflag) // history = cumulative tangential elastic force // tangential component - vt1 = vr1 - vn1; - vt2 = vr2 - vn2; - vt3 = vr3 - vn3; + MathExtra::sub3(vr, vn, vt); // relative rotational velocity - wr1 = (radi*omega[i][0] + radj*omega[j][0]); - wr2 = (radi*omega[i][1] + radj*omega[j][1]); - wr3 = (radi*omega[i][2] + radj*omega[j][2]); + MathExtra::scaleadd3(radi, omega[i], radj, omega[j], wr); // relative tangential velocities - vtr1 = vt1 - (nz*wr2-ny*wr3); - vtr2 = vt2 - (nx*wr3-nz*wr1); - vtr3 = vt3 - (ny*wr1-nx*wr2); - vrel = vtr1*vtr1 + vtr2*vtr2 + vtr3*vtr3; - vrel = sqrt(vrel); + MathExtra::cross3(wr, nx, temp); + MathExtra::sub3(vt, temp, vtr); + vrel = MathExtra::len(vtr); // if any history is needed if (use_history) { @@ -413,20 +364,13 @@ void PairGranular::compute(int eflag, int vflag) history = &allhistory[size_history*jj]; } - if (normal_model[itype][jtype] == JKR) { - F_pulloff = 3*MY_PI*coh*Reff; - Fncrit = fabs(Fne + 2*F_pulloff); - } else if (normal_model[itype][jtype] == DMT) { - F_pulloff = 4*MY_PI*coh*Reff; - Fncrit = fabs(Fne + 2*F_pulloff); - } else { - Fncrit = fabs(Fntot); - } - Fscrit = tangential_coeffs[itype][jtype][2] * Fncrit; + Fncrit = critical_normal(Fne, Fntot, geom, model); + Fscrit = model.poisson * Fncrit; //------------------------------ // tangential forces //------------------------------ + k_tangential = tangential_coeffs[itype][jtype][0]; damp_tangential = tangential_coeffs[itype][jtype][1] * damp_normal_prefactor; @@ -443,9 +387,7 @@ void PairGranular::compute(int eflag, int vflag) // on unloading, rescale the shear displacements/force if (a < history[3]) { double factor = a/history[3]; - history[0] *= factor; - history[1] *= factor; - history[2] *= factor; + MathExtra::scale3(history, factor); } } // rotate and update displacements / force. @@ -455,40 +397,33 @@ void PairGranular::compute(int eflag, int vflag) if (tangential_model[itype][jtype] == TANGENTIAL_MINDLIN_FORCE || tangential_model[itype][jtype] == TANGENTIAL_MINDLIN_RESCALE_FORCE) - frameupdate = fabs(rsht) > EPSILON*Fscrit; + frameupdate = fabs(rsht) > EPSILON * Fscrit; else - frameupdate = fabs(rsht)*k_tangential > EPSILON*Fscrit; + frameupdate = fabs(rsht) * k_tangential > EPSILON * Fscrit; if (frameupdate) { shrmag = sqrt(history[0]*history[0] + history[1]*history[1] + history[2]*history[2]); // projection - history[0] -= rsht*nx; - history[1] -= rsht*ny; - history[2] -= rsht*nz; + MathExtra::scale3(rsht, nx, history); // also rescale to preserve magnitude - prjmag = sqrt(history[0]*history[0] + history[1]*history[1] + - history[2]*history[2]); + prjmag = MathExtra::len3(history); if (prjmag > 0) scalefac = shrmag/prjmag; else scalefac = 0; - history[0] *= scalefac; - history[1] *= scalefac; - history[2] *= scalefac; + MathExtra::scale3(scalefac, history); } // update history if (tangential_model[itype][jtype] == TANGENTIAL_HISTORY || tangential_model[itype][jtype] == TANGENTIAL_MINDLIN || tangential_model[itype][jtype] == TANGENTIAL_MINDLIN_RESCALE) { // tangential displacement - history[0] += vtr1*dt; - history[1] += vtr2*dt; - history[2] += vtr3*dt; + MathExtra::scale3(dt, vtr, temp); + MathExtra::add3(temp, history, history); } else { // tangential force // see e.g. eq. 18 of Thornton et al, Pow. Tech. 2013, v223,p30-46 - history[0] -= k_tangential*vtr1*dt; - history[1] -= k_tangential*vtr2*dt; - history[2] -= k_tangential*vtr3*dt; + MathExtra::scale3(k_tangential*dt, vtr, temp); + MathExtra::sub3(history, temp, history); } if (tangential_model[itype][jtype] == TANGENTIAL_MINDLIN_RESCALE || tangential_model[itype][jtype] == @@ -497,58 +432,41 @@ void PairGranular::compute(int eflag, int vflag) } // tangential forces = history + tangential velocity damping + MathExtra::scale3(-damp_tangential, vtr, fs); if (tangential_model[itype][jtype] == TANGENTIAL_HISTORY || tangential_model[itype][jtype] == TANGENTIAL_MINDLIN || tangential_model[itype][jtype] == TANGENTIAL_MINDLIN_RESCALE) { - fs1 = -k_tangential*history[0] - damp_tangential*vtr1; - fs2 = -k_tangential*history[1] - damp_tangential*vtr2; - fs3 = -k_tangential*history[2] - damp_tangential*vtr3; - } else { - fs1 = history[0] - damp_tangential*vtr1; - fs2 = history[1] - damp_tangential*vtr2; - fs3 = history[2] - damp_tangential*vtr3; + MathExtra::scale3(-k_tangential, history, temp); + MathExtra::add3(fs, temp, fs); } // rescale frictional displacements and forces if needed - fs = sqrt(fs1*fs1 + fs2*fs2 + fs3*fs3); + magfs = MathExtra::len3(fs); if (fs > Fscrit) { - shrmag = sqrt(history[0]*history[0] + history[1]*history[1] + - history[2]*history[2]); + shrmag = MathExtra::len3(history); if (shrmag != 0.0) { + history[0] = Fscrit*fs[0]/magfs + damp_tangential*vtr[0]; + history[1] = Fscrit*fs[1]/magfs + damp_tangential*vtr[1]; + history[2] = Fscrit*fs[2]/magfs + damp_tangential*vtr[2]; if (tangential_model[itype][jtype] == TANGENTIAL_HISTORY || tangential_model[itype][jtype] == TANGENTIAL_MINDLIN || tangential_model[itype][jtype] == TANGENTIAL_MINDLIN_RESCALE) { - history[0] = -1.0/k_tangential*(Fscrit*fs1/fs + - damp_tangential*vtr1); - history[1] = -1.0/k_tangential*(Fscrit*fs2/fs + - damp_tangential*vtr2); - history[2] = -1.0/k_tangential*(Fscrit*fs3/fs + - damp_tangential*vtr3); - } else { - history[0] = Fscrit*fs1/fs + damp_tangential*vtr1; - history[1] = Fscrit*fs2/fs + damp_tangential*vtr2; - history[2] = Fscrit*fs3/fs + damp_tangential*vtr3; + MathExtra::scale3(-1.0/k_tangential, history); } - fs1 *= Fscrit/fs; - fs2 *= Fscrit/fs; - fs3 *= Fscrit/fs; - } else fs1 = fs2 = fs3 = 0.0; + MathExtra::scale3(Fscrit/magfs, fs); + } else MathExtra::zero3(fs); } } else { // classic pair gran/hooke (no history) fs = damp_tangential*vrel; if (vrel != 0.0) Ft = MIN(Fscrit,fs) / vrel; else Ft = 0.0; - fs1 = -Ft*vtr1; - fs2 = -Ft*vtr2; - fs3 = -Ft*vtr3; + MathExtra::scale3(-Ft, vtr, fs); } if (roll_model[itype][jtype] != ROLL_NONE || twist_model[itype][jtype] != TWIST_NONE) { - relrot1 = omega[i][0] - omega[j][0]; - relrot2 = omega[i][1] - omega[j][1]; - relrot3 = omega[i][2] - omega[j][2]; + MathExtra::sub3(omega[i], omega[j], relrot); } //**************************************** // rolling resistance @@ -560,64 +478,63 @@ void PairGranular::compute(int eflag, int vflag) // this is different from the Marshall papers, // which use the Bagi/Kuhn formulation // for rolling velocity (see Wang et al for why the latter is wrong) - vrl1 = Reff*(relrot2*nz - relrot3*ny); - vrl2 = Reff*(relrot3*nx - relrot1*nz); - vrl3 = Reff*(relrot1*ny - relrot2*nx); + vrl[0] = Reff * (relrot[1] * n[2] - relrot[2] * nx[1]); + vrl[1] = Reff * (relrot[2] * n[0] - relrot[0] * nx[2]); + vrl[2] = Reff * (relrot[0] * n[1] - relrot[1] * nx[0]); - int rhist0 = roll_history_index; - int rhist1 = rhist0 + 1; - int rhist2 = rhist1 + 1; + rhist0 = roll_history_index; + rhist1 = rhist0 + 1; + rhist2 = rhist1 + 1; k_roll = roll_coeffs[itype][jtype][0]; damp_roll = roll_coeffs[itype][jtype][1]; Frcrit = roll_coeffs[itype][jtype][2] * Fncrit; if (historyupdate) { - rolldotn = history[rhist0]*nx + history[rhist1]*ny + history[rhist2]*nz; + temp[0] = history[rhist0]; + temp[1] = history[rhist1]; + temp[2] = history[rhist2]; + rolldotn = MathExtra::dot3(temp, nx); frameupdate = fabs(rolldotn)*k_roll > EPSILON*Frcrit; if (frameupdate) { // rotate into tangential plane - rollmag = sqrt(history[rhist0]*history[rhist0] + - history[rhist1]*history[rhist1] + - history[rhist2]*history[rhist2]); + rollmag = MathExtra::len3(temp); // projection - history[rhist0] -= rolldotn*nx; - history[rhist1] -= rolldotn*ny; - history[rhist2] -= rolldotn*nz; + temp[0] -= rolldotn*nx[0]; + temp[1] -= rolldotn*nx[1]; + temp[2] -= rolldotn*nx[2]; // also rescale to preserve magnitude - prjmag = sqrt(history[rhist0]*history[rhist0] + - history[rhist1]*history[rhist1] + - history[rhist2]*history[rhist2]); + prjmag = MathExtra::len3(temp); if (prjmag > 0) scalefac = rollmag/prjmag; else scalefac = 0; - history[rhist0] *= scalefac; - history[rhist1] *= scalefac; - history[rhist2] *= scalefac; + MathExtra::scale3(scalefac, temp); } - history[rhist0] += vrl1*dt; - history[rhist1] += vrl2*dt; - history[rhist2] += vrl3*dt; + temp[0] += vrl[0]*dt; + temp[1] += vrl[1]*dt; + temp[2] += vrl[2]*dt; } - fr1 = -k_roll*history[rhist0] - damp_roll*vrl1; - fr2 = -k_roll*history[rhist1] - damp_roll*vrl2; - fr3 = -k_roll*history[rhist2] - damp_roll*vrl3; + fr[0] = -k_roll*temp[0] - damp_roll*vrl[0]; + fr[1] = -k_roll*temp[1] - damp_roll*vrl[1]; + fr[2] = -k_roll*temp[2] - damp_roll*vrl[2]; // rescale frictional displacements and forces if needed - fr = sqrt(fr1*fr1 + fr2*fr2 + fr3*fr3); - if (fr > Frcrit) { - rollmag = sqrt(history[rhist0]*history[rhist0] + - history[rhist1]*history[rhist1] + - history[rhist2]*history[rhist2]); + magfr = MathExtra::len3(fr); + if (magfr > Frcrit) { + rollmag = MathExtra::len3(temp); if (rollmag != 0.0) { - history[rhist0] = -1.0/k_roll*(Frcrit*fr1/fr + damp_roll*vrl1); - history[rhist1] = -1.0/k_roll*(Frcrit*fr2/fr + damp_roll*vrl2); - history[rhist2] = -1.0/k_roll*(Frcrit*fr3/fr + damp_roll*vrl3); - fr1 *= Frcrit/fr; - fr2 *= Frcrit/fr; - fr3 *= Frcrit/fr; - } else fr1 = fr2 = fr3 = 0.0; + temp[0] = -1.0/k_roll*(Frcrit*fr[0]/magfr + damp_roll*vrl[0]); + temp[1] = -1.0/k_roll*(Frcrit*fr[1]/magfr + damp_roll*vrl[1]); + temp[2] = -1.0/k_roll*(Frcrit*fr[2]/magfr + damp_roll*vrl[2]); + fr[0] *= Frcrit/magfr; + fr[1] *= Frcrit/magfr; + fr[2] *= Frcrit/magfr; + } else MathExtra::zero3(fr); } + + history[rhist0] = temp[0]; + history[rhist1] = temp[1]; + history[rhist2] = temp[2]; } //**************************************** @@ -626,7 +543,7 @@ void PairGranular::compute(int eflag, int vflag) if (twist_model[itype][jtype] != TWIST_NONE) { // omega_T (eq 29 of Marshall) - magtwist = relrot1*nx + relrot2*ny + relrot3*nz; + magtwist = MathExtra::dot3(relrot, nx); if (twist_model[itype][jtype] == TWIST_MARSHALL) { k_twist = 0.5*k_tangential*a*a;; // eq 32 of Marshall paper damp_twist = 0.5*damp_tangential*a*a; @@ -652,72 +569,45 @@ void PairGranular::compute(int eflag, int vflag) // apply forces & torques - fx = nx*Fntot + fs1; - fy = ny*Fntot + fs2; - fz = nz*Fntot + fs3; - fx *= factor_lj; - fy *= factor_lj; - fz *= factor_lj; + MathExtra::scale3(Fntot, nx, fx); + MathExtra::add3(fx, fs, fx); + MathExtra::scale3(factor_lj, fx); + MathExtra::add3(f[i], fx, f[i]); - f[i][0] += fx; - f[i][1] += fy; - f[i][2] += fz; - - tor1 = ny*fs3 - nz*fs2; - tor2 = nz*fs1 - nx*fs3; - tor3 = nx*fs2 - ny*fs1; - tor1 *= factor_lj; - tor2 *= factor_lj; - tor3 *= factor_lj; + MathExtra::cross3(nx, fs, tor); + MathExtra::scale3(factor_lj, tor); dist_to_contact = radi-0.5*delta; - torque[i][0] -= dist_to_contact*tor1; - torque[i][1] -= dist_to_contact*tor2; - torque[i][2] -= dist_to_contact*tor3; + MathExtra::scale3(dist_to_contact, tor, temp); + MathExtra::sub3(torque[i], temp, torque[i]); if (twist_model[itype][jtype] != TWIST_NONE) { - tortwist1 = magtortwist * nx * factor_lj; - tortwist2 = magtortwist * ny * factor_lj; - tortwist3 = magtortwist * nz * factor_lj; - - torque[i][0] += tortwist1; - torque[i][1] += tortwist2; - torque[i][2] += tortwist3; + MathExtra::scale3(magtortwist, nx, tortwist); + MathExtra::scale3(factor_lj, tortwist); + MathExtra::add3(torque[i], tortwist, torque[i]); } if (roll_model[itype][jtype] != ROLL_NONE) { - torroll1 = Reff*(ny*fr3 - nz*fr2) * factor_lj; // n cross fr - torroll2 = Reff*(nz*fr1 - nx*fr3) * factor_lj; - torroll3 = Reff*(nx*fr2 - ny*fr1) * factor_lj; - - torque[i][0] += torroll1; - torque[i][1] += torroll2; - torque[i][2] += torroll3; + MathExtra::cross3(nx, fr, torroll); + MathExtra::scale3(Reff, torroll); + MathExtra::scale3(factor_lj, torroll); + MathExtra::add3(torque[i], torroll, torque[i]); } if (force->newton_pair || j < nlocal) { - f[j][0] -= fx; - f[j][1] -= fy; - f[j][2] -= fz; + MathExtra::sub3(f[j], fx, f[j]); dist_to_contact = radj-0.5*delta; - torque[j][0] -= dist_to_contact*tor1; - torque[j][1] -= dist_to_contact*tor2; - torque[j][2] -= dist_to_contact*tor3; + MathExtra::scale3(dist_to_contact, tor, temp); + MathExtra::sub3(torque[j], tor, torque[j]); - if (twist_model[itype][jtype] != TWIST_NONE) { - torque[j][0] -= tortwist1; - torque[j][1] -= tortwist2; - torque[j][2] -= tortwist3; - } - if (roll_model[itype][jtype] != ROLL_NONE) { - torque[j][0] -= torroll1; - torque[j][1] -= torroll2; - torque[j][2] -= torroll3; - } + if (twist_model[itype][jtype] != TWIST_NONE) + MathExtra::sub3(torque[j], tortwist, torque[j]); + if (roll_model[itype][jtype] != ROLL_NONE) + MathExtra::sub3(torque[j], torroll, torque[j]); } if (evflag) ev_tally_xyz(i,j,nlocal,force->newton_pair, - 0.0,0.0,fx,fy,fz,delx,dely,delz); + 0.0,0.0,fx[0],fx[1],fx[2],dx[0],dy[1],dx[2]); } } } @@ -1389,346 +1279,7 @@ double PairGranular::single(int i, int j, int itype, int jtype, double rsq, double /* factor_coul */, double /* factor_lj */, double &fforce) { - double radi,radj,radsum; - double r,rinv,delx,dely,delz, nx, ny, nz, Reff; - double dR, dR2; - double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3,wr1,wr2,wr3; - double vtr1,vtr2,vtr3,vrel; - double mi,mj,meff; - double relrot1,relrot2,relrot3,vrl1,vrl2,vrl3; - double knfac, damp_normal, damp_normal_prefactor; - double k_tangential, damp_tangential; - double Fne, Ft, Fdamp, Fntot, Fncrit, Fscrit, Frcrit; - double fs, fs1, fs2, fs3; - - // for JKR - double R2, coh, F_pulloff, delta_pulloff, dist_pulloff, a, a2, E; - double delta, t0, t1, t2, t3, t4, t5, t6; - double sqrt1, sqrt2, sqrt3; - - // rolling - double k_roll, damp_roll; - double rollmag; - double fr, fr1, fr2, fr3; - - // twisting - double k_twist, damp_twist, mu_twist; - double signtwist, magtwist, magtortwist, Mtcrit; - - double shrmag; - int jnum; - int *jlist; - double *history,*allhistory; - - int nall = atom->nlocal + atom->nghost; - if ((i >= nall) || (j >= nall)) - error->all(FLERR,"Not enough atoms for pair granular single function"); - - double *radius = atom->radius; - radi = radius[i]; - radj = radius[j]; - radsum = radi + radj; - Reff = (radsum > 0.0) ? radi*radj/radsum : 0.0; - - bool touchflag; - E = normal_coeffs[itype][jtype][0]; - if (normal_model[itype][jtype] == JKR) { - E *= THREEQUARTERS; - R2 = Reff*Reff; - coh = normal_coeffs[itype][jtype][3]; - a = cbrt(9.0*MY_PI*coh*R2/(4*E)); - delta_pulloff = a*a/Reff - 2*sqrt(MY_PI*coh*a/E); - dist_pulloff = radsum+delta_pulloff; - touchflag = (rsq <= dist_pulloff*dist_pulloff); - } else touchflag = (rsq <= radsum*radsum); - - if (!touchflag) { - fforce = 0.0; - for (int m = 0; m < single_extra; m++) svector[m] = 0.0; - return 0.0; - } - - double **x = atom->x; - delx = x[i][0] - x[j][0]; - dely = x[i][1] - x[j][1]; - delz = x[i][2] - x[j][2]; - r = sqrt(rsq); - rinv = 1.0/r; - - nx = delx*rinv; - ny = dely*rinv; - nz = delz*rinv; - - // relative translational velocity - - double **v = atom->v; - vr1 = v[i][0] - v[j][0]; - vr2 = v[i][1] - v[j][1]; - vr3 = v[i][2] - v[j][2]; - - // normal component - - vnnr = vr1*nx + vr2*ny + vr3*nz; - vn1 = nx*vnnr; - vn2 = ny*vnnr; - vn3 = nz*vnnr; - - // tangential component - - vt1 = vr1 - vn1; - vt2 = vr2 - vn2; - vt3 = vr3 - vn3; - - // relative rotational velocity - - double **omega = atom->omega; - wr1 = (radi*omega[i][0] + radj*omega[j][0]); - wr2 = (radi*omega[i][1] + radj*omega[j][1]); - wr3 = (radi*omega[i][2] + radj*omega[j][2]); - - // meff = effective mass of pair of particles - // if I or J part of rigid body, use body mass - // if I or J is frozen, meff is other particle - - double *rmass = atom->rmass; - int *mask = atom->mask; - - mi = rmass[i]; - mj = rmass[j]; - if (fix_rigid) { - // NOTE: ensure mass_rigid is current for owned+ghost atoms? - if (mass_rigid[i] > 0.0) mi = mass_rigid[i]; - if (mass_rigid[j] > 0.0) mj = mass_rigid[j]; - } - - meff = mi*mj / (mi+mj); - if (mask[i] & freeze_group_bit) meff = mj; - if (mask[j] & freeze_group_bit) meff = mi; - - delta = radsum - r; - dR = delta*Reff; - if (normal_model[itype][jtype] == JKR) { - dR2 = dR*dR; - t0 = coh*coh*R2*R2*E; - t1 = PI27SQ*t0; - t2 = 8*dR*dR2*E*E*E; - t3 = 4*dR2*E; - // in case sqrt(0) < 0 due to precision issues - sqrt1 = MAX(0, t0*(t1+2*t2)); - t4 = cbrt(t1+t2+THREEROOT3*MY_PI*sqrt(sqrt1)); - t5 = t3/t4 + t4/E; - sqrt2 = MAX(0, 2*dR + t5); - t6 = sqrt(sqrt2); - sqrt3 = MAX(0, 4*dR - t5 + SIXROOT6*coh*MY_PI*R2/(E*t6)); - a = INVROOT6*(t6 + sqrt(sqrt3)); - a2 = a*a; - knfac = normal_coeffs[itype][jtype][0]*a; - Fne = knfac*a2/Reff - MY_2PI*a2*sqrt(4*coh*E/(MY_PI*a)); - } else { - knfac = E; - Fne = knfac*delta; - a = sqrt(dR); - if (normal_model[itype][jtype] != HOOKE) { - Fne *= a; - knfac *= a; - } - if (normal_model[itype][jtype] == DMT) - Fne -= 4*MY_PI*normal_coeffs[itype][jtype][3]*Reff; - } - - if (damping_model[itype][jtype] == VELOCITY) { - damp_normal = 1; - } else if (damping_model[itype][jtype] == MASS_VELOCITY) { - damp_normal = meff; - } else if (damping_model[itype][jtype] == VISCOELASTIC) { - damp_normal = a*meff; - } else if (damping_model[itype][jtype] == TSUJI) { - damp_normal = sqrt(meff*knfac); - } else damp_normal = 0.0; - - damp_normal_prefactor = normal_coeffs[itype][jtype][1]*damp_normal; - Fdamp = -damp_normal_prefactor*vnnr; - - Fntot = Fne + Fdamp; - if (limit_damping[itype][jtype] && (Fntot < 0.0)) Fntot = 0.0; - - jnum = list->numneigh[i]; - jlist = list->firstneigh[i]; - - if (use_history) { - if ((fix_history == nullptr) || (fix_history->firstvalue == nullptr)) - error->one(FLERR,"Pair granular single computation needs history"); - allhistory = fix_history->firstvalue[i]; - for (int jj = 0; jj < jnum; jj++) { - neighprev++; - if (neighprev >= jnum) neighprev = 0; - if (jlist[neighprev] == j) break; - } - history = &allhistory[size_history*neighprev]; - } - - //**************************************** - // tangential force, including history effects - //**************************************** - - // For linear, mindlin, mindlin_rescale: - // history = cumulative tangential displacement - // - // For mindlin/force, mindlin_rescale/force: - // history = cumulative tangential elastic force - - // tangential component - vt1 = vr1 - vn1; - vt2 = vr2 - vn2; - vt3 = vr3 - vn3; - - // relative rotational velocity - wr1 = (radi*omega[i][0] + radj*omega[j][0]); - wr2 = (radi*omega[i][1] + radj*omega[j][1]); - wr3 = (radi*omega[i][2] + radj*omega[j][2]); - - // relative tangential velocities - vtr1 = vt1 - (nz*wr2-ny*wr3); - vtr2 = vt2 - (nx*wr3-nz*wr1); - vtr3 = vt3 - (ny*wr1-nx*wr2); - vrel = vtr1*vtr1 + vtr2*vtr2 + vtr3*vtr3; - vrel = sqrt(vrel); - - if (normal_model[itype][jtype] == JKR) { - F_pulloff = 3*MY_PI*coh*Reff; - Fncrit = fabs(Fne + 2*F_pulloff); - } else if (normal_model[itype][jtype] == DMT) { - F_pulloff = 4*MY_PI*coh*Reff; - Fncrit = fabs(Fne + 2*F_pulloff); - } else { - Fncrit = fabs(Fntot); - } - Fscrit = tangential_coeffs[itype][jtype][2] * Fncrit; - - //------------------------------ - // tangential forces - //------------------------------ - k_tangential = tangential_coeffs[itype][jtype][0]; - damp_tangential = tangential_coeffs[itype][jtype][1]*damp_normal_prefactor; - - if (tangential_history) { - if (tangential_model[itype][jtype] != TANGENTIAL_HISTORY) { - k_tangential *= a; - } - - shrmag = sqrt(history[0]*history[0] + history[1]*history[1] + - history[2]*history[2]); - - // tangential forces = history + tangential velocity damping - if (tangential_model[itype][jtype] == TANGENTIAL_HISTORY || - tangential_model[itype][jtype] == TANGENTIAL_MINDLIN || - tangential_model[itype][jtype] == TANGENTIAL_MINDLIN_RESCALE) { - fs1 = -k_tangential*history[0] - damp_tangential*vtr1; - fs2 = -k_tangential*history[1] - damp_tangential*vtr2; - fs3 = -k_tangential*history[2] - damp_tangential*vtr3; - } else { - fs1 = history[0] - damp_tangential*vtr1; - fs2 = history[1] - damp_tangential*vtr2; - fs3 = history[2] - damp_tangential*vtr3; - } - - // rescale frictional forces if needed - fs = sqrt(fs1*fs1 + fs2*fs2 + fs3*fs3); - if (fs > Fscrit) { - if (shrmag != 0.0) { - fs1 *= Fscrit/fs; - fs2 *= Fscrit/fs; - fs3 *= Fscrit/fs; - fs *= Fscrit/fs; - } else fs1 = fs2 = fs3 = fs = 0.0; - } - - // classic pair gran/hooke (no history) - } else { - fs = damp_tangential*vrel; - if (vrel != 0.0) Ft = MIN(Fscrit,fs) / vrel; - else Ft = 0.0; - fs1 = -Ft*vtr1; - fs2 = -Ft*vtr2; - fs3 = -Ft*vtr3; - fs = Ft*vrel; - } - - //**************************************** - // rolling resistance - //**************************************** - - if ((roll_model[itype][jtype] != ROLL_NONE) - || (twist_model[itype][jtype] != TWIST_NONE)) { - relrot1 = omega[i][0] - omega[j][0]; - relrot2 = omega[i][1] - omega[j][1]; - relrot3 = omega[i][2] - omega[j][2]; - - // rolling velocity, see eq. 31 of Wang et al, Particuology v 23, p 49 (2015) - // this is different from the Marshall papers, - // which use the Bagi/Kuhn formulation - // for rolling velocity (see Wang et al for why the latter is wrong) - - vrl1 = Reff*(relrot2*nz - relrot3*ny); //- 0.5*((radj-radi)/radsum)*vtr1; - vrl2 = Reff*(relrot3*nx - relrot1*nz); //- 0.5*((radj-radi)/radsum)*vtr2; - vrl3 = Reff*(relrot1*ny - relrot2*nx); //- 0.5*((radj-radi)/radsum)*vtr3; - - int rhist0 = roll_history_index; - int rhist1 = rhist0 + 1; - int rhist2 = rhist1 + 1; - - // rolling displacement - rollmag = sqrt(history[rhist0]*history[rhist0] + - history[rhist1]*history[rhist1] + - history[rhist2]*history[rhist2]); - - k_roll = roll_coeffs[itype][jtype][0]; - damp_roll = roll_coeffs[itype][jtype][1]; - fr1 = -k_roll*history[rhist0] - damp_roll*vrl1; - fr2 = -k_roll*history[rhist1] - damp_roll*vrl2; - fr3 = -k_roll*history[rhist2] - damp_roll*vrl3; - - // rescale frictional displacements and forces if needed - Frcrit = roll_coeffs[itype][jtype][2] * Fncrit; - - fr = sqrt(fr1*fr1 + fr2*fr2 + fr3*fr3); - if (fr > Frcrit) { - if (rollmag != 0.0) { - fr1 *= Frcrit/fr; - fr2 *= Frcrit/fr; - fr3 *= Frcrit/fr; - fr *= Frcrit/fr; - } else fr1 = fr2 = fr3 = fr = 0.0; - } - } else fr1 = fr2 = fr3 = fr = 0.0; - - //**************************************** - // twisting torque, including history effects - //**************************************** - - if (twist_model[itype][jtype] != TWIST_NONE) { - // omega_T (eq 29 of Marshall) - magtwist = relrot1*nx + relrot2*ny + relrot3*nz; - if (twist_model[itype][jtype] == TWIST_MARSHALL) { - k_twist = 0.5*k_tangential*a*a;; //eq 32 - damp_twist = 0.5*damp_tangential*a*a; - mu_twist = TWOTHIRDS*a*tangential_coeffs[itype][jtype][2];; - } else { - k_twist = twist_coeffs[itype][jtype][0]; - damp_twist = twist_coeffs[itype][jtype][1]; - mu_twist = twist_coeffs[itype][jtype][2]; - } - // M_t torque (eq 30) - magtortwist = -k_twist*history[twist_history_index] - damp_twist*magtwist; - signtwist = (magtwist > 0) - (magtwist < 0); - Mtcrit = mu_twist*Fncrit; // critical torque (eq 44) - if (fabs(magtortwist) > Mtcrit) { - magtortwist = -Mtcrit * signtwist; // eq 34 - } else magtortwist = 0.0; - } else magtortwist = 0.0; - - // set force and return no energy fforce = Fntot*rinv; @@ -1889,3 +1440,99 @@ double PairGranular::radii2cut(double r1, double r2) return cut; } + +double PairGranular::touch_JKR(int touch, ContactGeom geom, ContactModel model) +{ + double E, R2, a, delta_pulloff, dist_pulloff; + bool touchflag; + E = model.E; + E *= THREEQUARTERS; + if (touch) { + R2 = geom.Reff * geom.Reff; + a = cbrt(9.0 * MY_PI * model.coh * R2 / (4 * E)); + delta_pulloff = a * a / Reff - 2 * sqrt(MY_PI * coh * a / E); + dist_pulloff = geom.radsum - delta_pulloff; + touchflag = (geom.rsq < dist_pulloff * dist_pulloff); + } else { + touchflag = (geom.rsq < geom.radsum * geom.radsum); + } + return touchflag; +} + +void PairGranular::normal_JKR(double &Fne, ContactGeom geom, ContactModel model) +{ + double R2, dR2, t0, t1, t2, t3, t4, t5, t6; + double sqrt1, sqrt2, sqrt3, a, a2, F_pulloff; + + R2 = geom.Reff * geom.Reff; + dR2 = geom.dR * geom.dR; + t0 = model.coh * model.coh * R2 * R2 * model.E; + t1 = PI27SQ*t0; + t2 = 8 * geom.dR * dR2 * model.E * model.E * model.E; + t3 = 4 * dR2 * E; + + // in case sqrt(0) < 0 due to precision issues + sqrt1 = MAX(0, t0 * (t1 + 2 * t2)); + t4 = cbrt(t1 + t2 + THREEROOT3 * MY_PI * sqrt(sqrt1)); + t5 = t3 / t4 + t4 / E; + sqrt2 = MAX(0, 2 * dR + t5); + t6 = sqrt(sqrt2); + sqrt3 = MAX(0, 4 * dR - t5 + SIXROOT6 * model.coh * MY_PI * R2 / (model.E * t6)); + a = INVROOT6 * (t6 + sqrt(sqrt3)); + a2 = a * a; + + Fne = model.E * a * a2 / Reff - MY_2PI * a2 * sqrt(4 * model.coh * model.E / (MY_PI * a)); + model.a = a; + model.knfac = model.E*a; +} + +void PairGraunular::normal_DMT(double &Fne, ContactGeom geom, ContactModel model) +{ + double a = sqrt(geom.dR); + Fne = a * model.E * geom.delta; + Fne -= 4 * MY_PI * model.coh * geom.Reff; + F_pulloff = 4 * MY_PI * model.coh * geom.Reff; + model.a = a; + model.knfact = model.E * a; +} + +void PairGraunular::normal_Hooke(double &Fne, ContactGeom geom, ContactModel model) +{ + double a = sqrt(geom.dR); + Fne = model.E * geom.delta; + if (model.normal != HOOKE) Fne *= a; + model.a = a; + model.knfac = model.E; + if (model.normal != HOOKE) model.knfac *= a; +} + +double PairGranular::normal_damping(double vnnr, double meff, ContactGeom geom, ContactModel model) +{ + double damp_normal, a; + if (model.damping == VELOCITY) { + damp_normal = 1; + } else if (model.damping == MASS_VELOCITY) { + damp_normal = meff; + } else if (model.damping == VISCOELASTIC) { + damp_normal = model.a * meff; + } else if (model.damping == TSUJI) { + damp_normal = sqrt(meff * model.knfac); + } else damp_normal = 0.0; + + damp_normal_prefactor = model.damp * damp_normal; + return -damp_normal_prefactor * vnnr; +} + +double PairGranular::critical_normal(double Fne, double Fntot, ContactGeom geom, Contactmodel model) +{ + if (model.normal == JKR) { + F_pulloff = 3*MY_PI*model.coh*geom.Reff; + Fncrit = fabs(Fne + 2*F_pulloff); + } else if (model.normal == DMT) { + F_pulloff = 4*MY_PI*model.coh*geom.Reff; + Fncrit = fabs(Fne + 2*F_pulloff); + } else { + Fncrit = fabs(Fntot); + } + return Fncrit; +} \ No newline at end of file diff --git a/src/GRANULAR/pair_granular.h b/src/GRANULAR/pair_granular.h index 5c3edf30a2..896db15231 100644 --- a/src/GRANULAR/pair_granular.h +++ b/src/GRANULAR/pair_granular.h @@ -100,6 +100,18 @@ class PairGranular : public Pair { double mix_stiffnessG(double, double, double, double); double mix_geom(double, double); double pulloff_distance(double, double, int, int); + + // Structure to store details of model + struct ContactModel { + int normal, damping, tangential, roll, twist; + double E, damp, poisson, coh; + double a, knfac; + }; + + struct ContactGeom { + double r, rinv, rsq, Reff, radsum; + double delta, dR; + } }; } // namespace LAMMPS_NS From 68e00a60bd8be2c55cb97a3e95156313ff766705 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Wed, 15 Jun 2022 12:37:02 -0600 Subject: [PATCH 005/448] Fixing rare bug in writing restart files with history --- src/fix_neigh_history.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/fix_neigh_history.cpp b/src/fix_neigh_history.cpp index 7413b590a7..613716c9a4 100644 --- a/src/fix_neigh_history.cpp +++ b/src/fix_neigh_history.cpp @@ -351,7 +351,9 @@ void FixNeighHistory::pre_exchange_newton() // 1st loop over neighbor list // calculate npartner for owned+ghost atoms - for (i = 0; i < nall_neigh; i++) npartner[i] = 0; + // Ensure npartner is zeroed across all atoms, nall_neigh can be less than nall + // when writing restarts when comm calls are made but modify->post_neighbor() isn't + for (i = 0; i < MAX(nall_neigh, atom->nall); i++) npartner[i] = 0; tagint *tag = atom->tag; NeighList *list = pair->list; @@ -406,7 +408,7 @@ void FixNeighHistory::pre_exchange_newton() // store partner IDs and values for owned+ghost atoms // re-zero npartner to use as counter - for (i = 0; i < nall_neigh; i++) npartner[i] = 0; + for (i = 0; i < MAX(nall_neigh, atom->nall); i++) npartner[i] = 0; for (ii = 0; ii < inum; ii++) { i = ilist[ii]; From 468a6d9f29d46c6a149777fe2cafed9d0f9d276b Mon Sep 17 00:00:00 2001 From: jtclemm Date: Thu, 16 Jun 2022 14:27:57 -0600 Subject: [PATCH 006/448] creating ContactModel class --- src/GRANULAR/contact.cpp | 624 +++++++++++++++++++++++++ src/GRANULAR/contact.h | 73 +++ src/GRANULAR/pair_granular.cpp | 810 ++++++++------------------------- src/GRANULAR/pair_granular.h | 28 +- src/contact.cpp | 58 +++ src/contact.h | 50 ++ src/contact_model.cpp | 58 +++ src/contact_model.h | 35 ++ 8 files changed, 1101 insertions(+), 635 deletions(-) create mode 100644 src/GRANULAR/contact.cpp create mode 100644 src/GRANULAR/contact.h create mode 100644 src/contact.cpp create mode 100644 src/contact.h create mode 100644 src/contact_model.cpp create mode 100644 src/contact_model.h diff --git a/src/GRANULAR/contact.cpp b/src/GRANULAR/contact.cpp new file mode 100644 index 0000000000..3cea933370 --- /dev/null +++ b/src/GRANULAR/contact.cpp @@ -0,0 +1,624 @@ +// clang-format off +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- + + This class contains a series of tools for DEM contacts + Multiple models can be defined and used to calculate forces + and torques based on contact geometry +*/ + +#include +#include "contact.h" + +namespace LAMMPS_NS { + namespace Contact{ + +enum {HOOKE, HERTZ, HERTZ_MATERIAL, DMT, JKR}; +enum {VELOCITY, MASS_VELOCITY, VISCOELASTIC, TSUJI}; +enum {TANGENTIAL_NOHISTORY, TANGENTIAL_HISTORY, + TANGENTIAL_MINDLIN, TANGENTIAL_MINDLIN_RESCALE, + TANGENTIAL_MINDLIN_FORCE, TANGENTIAL_MINDLIN_RESCALE_FORCE}; +enum {TWIST_NONE, TWIST_SDS, TWIST_MARSHALL}; +enum {ROLL_NONE, ROLL_SDS}; + +#define PI27SQ 266.47931882941264802866 // 27*PI**2 +#define THREEROOT3 5.19615242270663202362 // 3*sqrt(3) +#define SIXROOT6 14.69693845669906728801 // 6*sqrt(6) +#define INVROOT6 0.40824829046386307274 // 1/sqrt(6) +#define FOURTHIRDS (4.0/3.0) // 4/3 +#define THREEQUARTERS 0.75 // 3/4 + +#define EPSILON 1e-10 + +ContactModel::ContactModel() +{ + k_norm = cohesion = gamma_norm = 0.0; + k_tang = gamma_tang = mu_tang = 0.0; + k_roll = gamma_roll = mu_roll = 0.0; + k_twist = gamma_twist = mu_twist = 0.0; + + limit_damping = 0; + cutoff_type = 0.0; + reset_contact(); +} + +/* ---------------------------------------------------------------------- */ + +void ContactModel::reset_contact() +{ + radi = radj = 0.0; + xi = xj = vi = vj = omegai = omegaj = nullptr; + + prep_flag = check_flag = 0; + touch = false; +} + +/* ---------------------------------------------------------------------- */ + +bool ContactModel::check_contact() +{ + check_flag = 1; + + MathExtra::sub3(xi, xj, dx); + rsq = MathExtra::lensq3(dx); + radsum = radi + radj; + Reff = radi*radj/radsum; + + touch = false; + if (normal_model == JKR) touch = touch_JKR(touch); + else touch = (rsq < radsum*radsum); + + return touch +} + +/* ---------------------------------------------------------------------- */ + +void ContactModel::prep_contact() +{ + prep_flag = 1; + + // If it hasn't already been done, test if the contact exists + if (check_flag != 1) touch = check_contact(); + if (!touch) return; + + // Set flags + mindlin_rescale = mindlin_force = 0; + if (tangential_model == TANGENTIAL_MINDLIN_RESCALE || + tangential_model == TANGENTIAL_MINDLIN_RESCALE_FORCE) + mindlin_rescale = 1 + if (tangential_model == TANGENTIAL_MINDLIN_FORCE || + tangential_model == TANGENTIAL_MINDLIN_RESCALE_FORCE) + mindlin_force = 1 + + double temp[3]; + + // Standard geometric quantities + r = sqrt(rsq); + rinv = 1.0/r; + delta = radsum - r; + dR = delta*Reff + MathExtra::scale3(rinv, dx, nx); + + // relative translational velocity + MathExtra::sub3(v[i], v[j], vr); + + // normal component + vnnr = MathExtra::dot3(vr, nx); //v_R . n + MathExtra::scale3(vnnr, nx, vn); + + // tangential component + MathExtra::sub3(vr, vn, vt); + + // relative rotational velocity + MathExtra::scaleadd3(radi, omegai, radj, omegaj, wr); + + // relative tangential velocities + MathExtra::cross3(wr, nx, temp); + MathExtra::sub3(vt, temp, vtr); + vrel = MathExtra::len(vtr); + + if (roll_model != NONE || twist_model != NONE) + MathExtra::sub3(omega[i], omega[j], relrot); + + if (roll_model != NONE) { + // rolling velocity, see eq. 31 of Wang et al, Particuology v 23, p 49 (2015) + // this is different from the Marshall papers, which use the Bagi/Kuhn formulation + // for rolling velocity (see Wang et al for why the latter is wrong) + vrl[0] = Reff * (relrot[1] * n[2] - relrot[2] * nx[1]); + vrl[1] = Reff * (relrot[2] * n[0] - relrot[0] * nx[2]); + vrl[2] = Reff * (relrot[0] * n[1] - relrot[1] * nx[0]); + } + + if (twist_model != NONE) { + // omega_T (eq 29 of Marshall) + magtwist = MathExtra::dot3(relrot, nx); + } +} + + +/* ---------------------------------------------------------------------- */ + +void ContactModel::calculate_forces(double *forces, double *torquesi, double *torquesj, double *history) +{ + // If it hasn't already been done, run prep calculations + if (prep_flag != 1) prep_contact(); + if (!touch) { + forces[0] = forces[1] = forces[2] = 0.0; + return + } + + //********************************************** + // normal forces + //********************************************** + + // Also calculates: a, knfac, Fncrit + double Fne; + if (normal_model == JKR) { + Fne = normal_JKR(); + } else if (normal_model == DMT) { + Fne = normal_DMT(); + } else if (normal_model == HERTZ || normal_model == HERTZ_MATERIAL) { + Fne = normal_hertz(); + } else { + Fne = normal_hooke(); + } + + // NOTE: consider restricting Hooke to only have + // 'velocity' as an option for damping? + // Also calculates: damp_normal_prefactor + double Fdamp = normal_damping(); + + double Fntot = Fne + Fdamp; + if (limit_damping && (Fntot < 0.0)) Fntot = 0.0; + + //********************************************** + // tangential force, including history effects + //********************************************** + // For linear, mindlin, mindlin_rescale: + // history = cumulative tangential displacement + // + // For mindlin/force, mindlin_rescale/force: + // history = cumulative tangential elastic force + + Fncrit = critical_normal(Fne, Fntot, geom, model); + Fscrit = mu_tang * Fncrit; + + if (tangential_model == TANGENTIAL_NOHISTORY) { + tangential_no_history(); + } else if (tangential_model == TANGENTIAL_HISTORY) { + tangential_history(history); + } + tangential_forces(history); + + //********************************************** + // rolling force + //********************************************** + + if (roll_model != ROLL_NONE) + rolling(history); + + //**************************************** + // twisting torque, including history effects + //**************************************** + + if (twist_model == TWIST_MARSHALL) { + twist_marshall(history); + } else if (twist_model == TWIST_SDS) { + twist_SDS(history); + } + + //********************************************** + // sum contributions + //********************************************** + + MathExtra::scale3(Fntot, nx, forces); + MathExtra::add3(forces, fs, forces); + + MathExtra::cross3(nx, fs, torquesi); + MathExtra::copy3(torquesi, torquesj); + + double dist_to_contact = radi-0.5*delta; + MathExtra::scale3(dist_to_contact, torquesi); + dist_to_contact = radj-0.5*delta; + MathExtra::scale3(dist_to_contact, torquesj); + + double torroll[3]; + if (roll_model != ROLL_NONE) { + MathExtra::cross3(nx, fr, torroll); + MathExtra::scale3(Reff, torroll); + MathExtra::add3(torquesi, torroll, torquesi); + MathExtra::sub3(torquesj, torroll, torquesj); + } + + double tortwist[3]; + if (twist_model != NONE_TWIST) { + MathExtra::scale3(magtortwist, nx, tortwist); + MathExtra::add3(torquesi, tortwist, torquesi) + MathExtra::sub3(torquesj, tortwist, torquesj) + } +} + +/* ---------------------------------------------------------------------- */ + +double ContactModel::touch_JKR(int touch) +{ + double Escaled, R2, delta_pulloff, dist_pulloff; + bool touchflag; + + Escaled = E*THREEQUARTERS; + if (touch) { + R2 = Reff * Reff; + a = cbrt(9.0 * MY_PI * cohesion * R2 / (4 * Escaled)); + delta_pulloff = a * a / Reff - 2 * sqrt(MY_PI * cohesion * a / Escaled); + dist_pulloff = radsum - delta_pulloff; + touchflag = (rsq < dist_pulloff * dist_pulloff); + } else { + touchflag = (rsq < radsum * radsum); + } + return touchflag; +} + +/* ---------------------------------------------------------------------- */ + +double ContactModel::normal_JKR() +{ + double R2, dR2, t0, t1, t2, t3, t4, t5, t6; + double sqrt1, sqrt2, sqrt3, a, a2, F_pulloff; + + R2 = Reff * Reff; + dR2 = dR * dR; + t0 = cohesion * cohesion * R2 * R2 * E; + t1 = PI27SQ*t0; + t2 = 8 * dR * dR2 * E * E * E; + t3 = 4 * dR2 * E; + + // in case sqrt(0) < 0 due to precision issues + sqrt1 = MAX(0, t0 * (t1 + 2 * t2)); + t4 = cbrt(t1 + t2 + THREEROOT3 * MY_PI * sqrt(sqrt1)); + t5 = t3 / t4 + t4 / E; + sqrt2 = MAX(0, 2 * dR + t5); + t6 = sqrt(sqrt2); + sqrt3 = MAX(0, 4 * dR - t5 + SIXROOT6 * cohesion * MY_PI * R2 / (E * t6)); + a = INVROOT6 * (t6 + sqrt(sqrt3)); + a2 = a * a; + double Fne = E * a * a2 / Reff - MY_2PI * a2 * sqrt(4 * cohesion * E / (MY_PI * a)); + double F_pulloff = 3 * MY_PI * cohesion * Reff; + + knfac = E * a; + Fncrit = fabs(Fne + 2*F_pulloff); + return Fne; +} + +/* ---------------------------------------------------------------------- */ + +double ContactModel::normal_DMT(double &Fne) +{ + a = sqrt(dR); + double Fne = a * E * delta; + Fne -= 4 * MY_PI * cohesion * Reff; + F_pulloff = 4 * MY_PI * cohesion * Reff; + + knfac = E * a; + Fncrit = fabs(Fne + 2*F_pulloff); + return Fne; +} + +/* ---------------------------------------------------------------------- */ + +double ContactModel::normal_Hertz(double &Fne) +{ + a = sqrt(dR); + double Fne = E * delta * a; + + knfac = E * a; + return Fne; +} + +/* ---------------------------------------------------------------------- */ + +double ContactModel::normal_Hooke(double &Fne) +{ + a = sqrt(dR); + double Fne = E * delta; + + knfac = E; + return Fne; +} + +/* ---------------------------------------------------------------------- */ + +double ContactModel::normal_damping() +{ + double damp_normal; + if (damping_model == VELOCITY) { + damp_normal = 1; + } else if (damping_model == MASS_VELOCITY) { + damp_normal = meff; + } else if (damping_model == VISCOELASTIC) { + damp_normal = a * meff; + } else if (damping_model == TSUJI) { + damp_normal = sqrt(meff * knfac); + } else damp_normal = 0.0; + + damp_normal_prefactor = gamma_norm * damp_normal; + return -damp_normal_prefactor * vnnr; +} + +/* ---------------------------------------------------------------------- */ + +double ContactModel::tangential_no_history() +{ + double gamma_scaled = gamma_tang * damp_normal_prefactor; + double fsmag, Ft; + + // classic pair gran/hooke (no history) + fsmag = gamma_scaled * vrel; + if (vrel != 0.0) Ft = MIN(Fscrit,fsmag) / vrel; + else Ft = 0.0; + + Ft = -Ft; + MathExtra::scale3(Ft, vtr, fs); +} + +/* ---------------------------------------------------------------------- */ + +double ContactModel::tangential_forces(double *history) +{ + double gamma_scaled = gamma_tang * damp_normal_prefactor; + double k = k_tang; + int frame_update = 0; + double fsmag, rsht, shrmag, prjmag, temp_dbl, temp_array[3]; + + // rotate and update displacements / force. + // see e.g. eq. 17 of Luding, Gran. Matter 2008, v10,p235 + if (history_update) { + rsht = MathExtra::dot(history, nx); + frameupdate = fabs(rsht) * k > EPSILON * Fscrit; + + if (frameupdate) { + shrmag = MathExtra::len3(history); + // projection + MathExtra::scale3(rsht, nx, history); + // also rescale to preserve magnitude + prjmag = MathExtra::len3(history); + if (prjmag > 0) temp_double = shrmag / prjmag; + else temp_double = 0; + MathExtra::scale3(temp_double, history); + } + + // update history + // tangential force + // see e.g. eq. 18 of Thornton et al, Pow. Tech. 2013, v223,p30-46 + temp_dbl = k * dt; + MathExtra::scale3(temp_dbl, vtr, temp_array); + MathExtra::sub3(history, temp_array, history); + } + + // tangential forces = history + tangential velocity damping + temp_double = -gamma; + MathExtra::scale3(temp_double, vtr, fs); + + // rescale frictional displacements and forces if needed + fsmag = MathExtra::len3(fs); + if (fsmag > Fscrit) { + shrmag = MathExtra::len3(history); + if (shrmag != 0.0) { + temp_double = Fscrit / magfs; + MathExtra::scale3(temp_double, fs, history); + MathExtra::scale3(gamma, vtr, temp_array); + MathExtra::add3(history, temp_array, history); + temp_double = Fscrit / magfs; + MathExtra::scale3(temp_double, fs); + } else { + MathExtra::zero3(fs); + } + } +} + +/* ---------------------------------------------------------------------- */ + +double ContactModel::tangential_mindlin(double *history) +{ + double k_scaled, gamma_scaled, fsmag, rsht, shrmag, prjmag, temp_dbl; + double temp_array[3]; + int frame_update = 0; + + gamma_scaled = gamma_tang * damp_normal_prefactor; + k_scaled = k_tange * a; + if (mindlin_rescale) { + // on unloading, rescale the shear displacements/force + if (a < history[3]) { + temp_double = a / history[3]; + MathExtra::scale3(temp_double, history); + } + } + + // rotate and update displacements / force. + // see e.g. eq. 17 of Luding, Gran. Matter 2008, v10,p235 + if (history_update) { + rsht = MathExtra::dot(history, nx); + if (mindlin_force) + frameupdate = fabs(rsht) > EPSILON * Fscrit; + else + frameupdate = fabs(rsht) * k_scaled > EPSILON * Fscrit; + + if (frameupdate) { + shrmag = MathExtra::len3(history); + // projection + MathExtra::scale3(rsht, nx, history); + // also rescale to preserve magnitude + prjmag = MathExtra::len3(history); + if (prjmag > 0) temp_double = shrmag / prjmag; + else temp_double = 0; + MathExtra::scale3(temp_double, history); + } + + // update history + if (mindlin_force) { + // tangential force + // see e.g. eq. 18 of Thornton et al, Pow. Tech. 2013, v223,p30-46 + temp_dbl = -k_scaled * dt; + MathExtra::scale3(temp_dbl, vtr, temp_array); + } else { + MathExtra::scale3(dt, vtr, temp_array); + } + MathExtra::add3(history, temp_array, history); + + if (mindlin_rescale) history[3] = a; + } + + // tangential forces = history + tangential velocity damping + temp_double = -gamma_scaled; + MathExtra::scale3(temp_double, vtr, fs); + + if (! mindlin_force) { + MathExtra::scale3(k_scaled, history, temp_array); + MathExtra::add3(fs, temp_array, fs); + } + + // rescale frictional displacements and forces if needed + fsmag = MathExtra::len3(fs); + if (fsmag > Fscrit) { + shrmag = MathExtra::len3(history); + if (shrmag != 0.0) { + temp_double = Fscrit / magfs; + MathExtra::scale3(temp_double, fs, history); + MathExtra::scale3(gamma, vtr, temp_array); + MathExtra::add3(history, temp_array, history); + if (! mindlin_force) { + temp_double = -1.0 / k; + MathExtra::scale3(temp_double, history); + } + temp_double = Fscrit / magfs; + MathExtra::scale3(temp_double, fs); + } else { + MathExtra::zero3(fs); + } + } +} + +/* ---------------------------------------------------------------------- */ + +double ContactModel::rolling(double *history) +{ + int rhist0, rhist1, rhist2, frameupdate; + double rolldotn, rollmag, prjmag, magfr, hist_temp[3], temp_array[3]; + + rhist0 = roll_history_index; + rhist1 = rhist0 + 1; + rhist2 = rhist1 + 1; + + Frcrit = mu_roll * Fncrit; + + if (history_update) { + hist_temp[0] = history[rhist0]; + hist_temp[1] = history[rhist1]; + hist_temp[2] = history[rhist2]; + rolldotn = MathExtra::dot3(hist_temp, nx); + + frameupdate = fabs(rolldotn)*k_roll > EPSILON*Frcrit; + if (frameupdate) { // rotate into tangential plane + rollmag = MathExtra::len3(temp); + // projection + temp_double = -rolldotn; + MathExtra::scale3(temp_double, nx, temp); + + // also rescale to preserve magnitude + prjmag = MathExtra::len3(hist_temp); + if (prjmag > 0) temp_double = rollmag / prjmag; + else temp_double = 0; + MathExtra::scale3(temp_double, hist_temp); + } + MathExtra::scale3(dt, vrl, temp_array); + MathExtra::add3(hist_temp, temp_array, hist_temp) + } + + MathExtra::scaleadd3(k_roll, hist_tepm, gamma_roll, vrl, fr); + MathExtra::negate3(fr); + + // rescale frictional displacements and forces if needed + + magfr = MathExtra::len3(fr); + if (magfr > Frcrit) { + rollmag = MathExtra::len3(temp); + if (rollmag != 0.0) { + temp_double = -Frcrit / (magfr * k_roll); + MathExtra::scale3(temp_double, fr, temp_array); + MathExtra::add3(hist_temp, temp_array, hist_temp); + + temp_double = -gamma_roll/k_roll; + MathExtra::scale3(temp_double, vrl, temp_array); + MathExtra::add3(hist_temp, temp_array, hist_temp) + + temp_double = Frcrit / magfr; + MathExtra::scale3(temp_double, fr); + } else { + MathExtra::zero3(fr); + } + } + + history[rhist0] = hist_temp[0]; + history[rhist1] = hist_temp[1]; + history[rhist2] = hist_temp[2]; +} + +/* ---------------------------------------------------------------------- */ + +double ContactModel::twisting_marshall(double *history) +{ + // Overwrite twist coefficients with derived values + k_twist = 0.5 * k_tangential * a * a; // eq 32 of Marshall paper + gamma_twist = 0.5 * gamma_tangential * a * a; + mu_twist = TWOTHIRDS * a * mu_tangential; + + twisting_SDS(history); +} + +/* ---------------------------------------------------------------------- */ + +double ContactModel::twisting_SDS(double *history) +{ + double signtwist, Mtcrit; + + if (historyupdate) { + history[twist_history_index] += magtwist * dt; + } + + magtortwist = -k_twist * history[twist_history_index] - damp_twist*magtwist; // M_t torque (eq 30) + signtwist = (magtwist > 0) - (magtwist < 0); + Mtcrit = mu_twist * Fncrit; // critical torque (eq 44) + if (fabs(magtortwist) > Mtcrit) { + history[twist_history_index] = (Mtcrit * signtwist - gamma_twist * magtwist) / k_twist; + magtortwist = -Mtcrit * signtwist; // eq 34 + } +} + +/* ---------------------------------------------------------------------- + compute pull-off distance (beyond contact) for a given radius and atom type + use temporary variables since this does not use a specific contact geometry +------------------------------------------------------------------------- */ + +double ContactModel::pulloff_distance(double radi, double radj) +{ + double Ecaled, a_tmp, Reff_tmp; + + if (normal_model != JKR) return radi+radj; + + Reff_tmp = radi * radj / (radi + radj); + if (Reff_tmp <= 0) return 0; + Ecaled = E * THREEQUARTERS; + a_tmp = cbrt(9 * MY_PI * cohesion * Reff_tmp * Reff_tmp / (4 * Ecaled)); + return a_tmp * a_tmp / Reff_tmp - 2 * sqrt(MY_PI * cohesion * a_tmp / Ecaled); +} + +}} diff --git a/src/GRANULAR/contact.h b/src/GRANULAR/contact.h new file mode 100644 index 0000000000..a5b5d23463 --- /dev/null +++ b/src/GRANULAR/contact.h @@ -0,0 +1,73 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifndef LMP_CONTACT +_H +#define LMP_CONTACT +_H + +namespace LAMMPS_NS { +namespace Contact { + + class ContactModel { + public: + ContactModel(); + void reset_contact(); + bool check_contact(); + void prep_contact(); + void calculate_forces(double *, double *, double *, double *); + double pulloff_distance(double, double); + + int normal_model, damping_model, tangential_model; + int roll_model, twist_model; + int limit_damping; + double cutoff_type; + double Emod, poisson; // variables used in defining mixed interactions + double k_norm, gamma_norm, cohesion; // normal_coeffs + double k_tang, gamma_tang, mu_tang; // tangential_coeffs - wutang? + double k_roll, gamma_roll, mu_roll; // roll_coeffs + double k_twist, gamma_twist, mu_twist; // twist_coeffs + + double radi, radj, meff, dt; + double xi[3], xj[3], vi[3], vj[3], omegai[3], omegaj[3]; + int history_update, roll_history_index, twist_history_index; + + private: + double a, knfac, Fncrit, Fscrit, Frcrit, damp_normal_prefactor; + double fs[3], fr[3], ft[3]; + double dx[3], nx[3], r, rsq, rinv, Reff, radsum, delta; + double vr[3], vn[3], vnnr, vt[3], wr[3], vtr[3], vrel; + double magtwist, magtortwist; + bool touch; + + int prep_flag, check_flag; + int mindlin_rescale, mindlin_force; + + void touch_JKR(int); + double normal_JKR(); + double normal_DMT(); + double normal_Hertz(); + double normal_Hooke(); + double normal_damping(); + void tangential_no_history(); + void tangential_history(double *); + void tangential_mindlin(double *); + void rolling(double *); + void twisting_marshall(double *); + void twisting_SDS(double *); + + }; + +} // namespace Contact +} // namespace LAMMPS_NS +#endif diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index 34edbc0ae3..61644df9c2 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -22,6 +22,7 @@ #include "atom.h" #include "comm.h" +#include "contact.h" #include "error.h" #include "fix.h" #include "fix_dummy.h" @@ -43,23 +44,9 @@ using namespace LAMMPS_NS; using namespace MathConst; using namespace MathSpecial; +using namespace Contact; -#define PI27SQ 266.47931882941264802866 // 27*PI**2 -#define THREEROOT3 5.19615242270663202362 // 3*sqrt(3) -#define SIXROOT6 14.69693845669906728801 // 6*sqrt(6) -#define INVROOT6 0.40824829046386307274 // 1/sqrt(6) -#define FOURTHIRDS (4.0/3.0) // 4/3 -#define THREEQUARTERS 0.75 // 3/4 -#define EPSILON 1e-10 - -enum {HOOKE, HERTZ, HERTZ_MATERIAL, DMT, JKR}; -enum {VELOCITY, MASS_VELOCITY, VISCOELASTIC, TSUJI}; -enum {TANGENTIAL_NOHISTORY, TANGENTIAL_HISTORY, - TANGENTIAL_MINDLIN, TANGENTIAL_MINDLIN_RESCALE, - TANGENTIAL_MINDLIN_FORCE, TANGENTIAL_MINDLIN_RESCALE_FORCE}; -enum {TWIST_NONE, TWIST_SDS, TWIST_MARSHALL}; -enum {ROLL_NONE, ROLL_SDS}; /* ---------------------------------------------------------------------- */ @@ -83,6 +70,8 @@ PairGranular::PairGranular(LAMMPS *lmp) : Pair(lmp) maxrad_dynamic = nullptr; maxrad_frozen = nullptr; + models = nullptr; + limit_damping = nullptr; history_transfer_factors = nullptr; @@ -121,6 +110,8 @@ PairGranular::~PairGranular() memory->destroy(cutsq); memory->destroy(cutoff_type); + memory->destroy(models); + memory->destroy(normal_coeffs); memory->destroy(tangential_coeffs); memory->destroy(roll_coeffs); @@ -150,38 +141,9 @@ PairGranular::~PairGranular() void PairGranular::compute(int eflag, int vflag) { int i,j,ii,jj,inum,jnum,itype,jtype; - double dx[3],fx[3],nx[3]; - double radi,radj,radsum,rsq,r,rinv,factor_lj; - double Reff, delta, dR, dR2, dist_to_contact; + double factor_lj,mi,mj,meff; + double forces[3], torquesi[3], torquesj[3]; - double vr[3],vnnr,vn[3],vt[3],wr[3],vtr[3],vrel[3]; - double temp[3], temp_dbl; - - double damp_normal=0.0, damp_normal_prefactor; - double k_tangential, damp_tangential; - double Fne, Ft, Fdamp, Fntot, Fncrit, Fscrit, Frcrit; - double magfs, fs[3], tor[3]; - - double mi,mj,meff; - double relrot[3],vrl[3]; - - ContactModel model; - ContactGeom geom; - - // rolling - double k_roll, damp_roll; - int rhist0, rhist1, rhist2; - double torroll[3]; - double rollmag, rolldotn, scalefac; - double magfr, fr[3]; - - // twisting - double k_twist, damp_twist, mu_twist; - double signtwist, magtwist, magtortwist, Mtcrit; - double tortwist[3]; - - double shrmag,rsht,prjmag; - bool frameupdate; int *ilist,*jlist,*numneigh,**firstneigh; int *touch,**firsttouch; double *history,*allhistory,**firsthistory; @@ -235,8 +197,6 @@ void PairGranular::compute(int eflag, int vflag) for (ii = 0; ii < inum; ii++) { i = ilist[ii]; itype = type[i]; - itype = type[i]; - radi = radius[i]; if (use_history) { touch = firsttouch[i]; allhistory = firsthistory[i]; @@ -251,24 +211,17 @@ void PairGranular::compute(int eflag, int vflag) if (factor_lj == 0) continue; - MathExtra::sub3(x[i], x[j], dx); jtype = type[j]; - rsq = MathExtra::lensq3(dx); - radj = radius[j]; - radsum = radi + radj; - Reff = radi*radj/radsum; - // Copy data into structures to easily pass to functions - geom.rsq = rsq; - geom.Reff = Reff; - geom.radsum = radsum; + // Reset model and copy initial geometric data + models[itype][jtype]->reset_contact(); + models[itype][jtype].xi = x[i]; + models[itype][jtype].xj = x[j]; + models[itype][jtype].radi = radius[i]; + models[itype][jtype].radj = radius[j]; - touchflag = false; - if (normal_model[itype][jtype] == JKR) { - touchflag = touch_JKR(touch[jj], geom, model) - } else { - touchflag = (rsq < radsum*radsum); - } + + touchflag = models[itype][jtype]->check_contact(); if (!touchflag) { // unset non-touching neighbors @@ -278,336 +231,57 @@ void PairGranular::compute(int eflag, int vflag) for (int k = 0; k < size_history; k++) history[k] = 0.0; } } else { - r = sqrt(rsq); - rinv = 1.0/r; - - // Copy data into structures to easily pass to functions - geom.r = r; - geom.rinv = rinv - geom.delta = radsum - r; - geom.dR = geom.delta*Reff; - - model.normal = normal_model[itype][jtype]; - model.damping = damping_model[itype][jtype]; - model.tangential = tangential_model[itype][jtype]; - model.roll = roll_model[itype][jtype]; - model.twist = twist_model[itype][jtype]; - model.E = normal_coeffs[itype][jtype][0]; - model.damp = normal_coeffs[itype][jtype][1]; - model.poisson = normal_coeffs[itype][jtype][2]; - model.coh = normal_coeffs[itype][jtype][3]; - - MathExtra::scale3(rinv, dx, nx); - - // relative translational velocity - MathExtra::sub3(v[i], v[j], vr); - - // normal component - vnnr = MathExtra::dot3(vr, nx); //v_R . n - MathExtra::scale3(vnnr, nx, vn); // meff = effective mass of pair of particles // if I or J part of rigid body, use body mass // if I or J is frozen, meff is other particle - mi = rmass[i]; mj = rmass[j]; if (fix_rigid) { if (mass_rigid[i] > 0.0) mi = mass_rigid[i]; if (mass_rigid[j] > 0.0) mj = mass_rigid[j]; } - meff = mi * mj / (mi + mj); if (mask[i] & freeze_group_bit) meff = mj; if (mask[j] & freeze_group_bit) meff = mi; - if (model.normal == JKR) { - touch[jj] = 1; - normal_JKR(Fne, Fncrit, geom, model); - } else if (model.normal == DMT) { - normal_DMT(Fne, Fncrit, geom, model); - } else { - normal_hooke(Fne, Fncrit, geom, model); - } + // Copy additional information and prepare force calculations + models[itype][jtype].meff = meff; + models[itype][jtype].dt = dt; + models[itype][jtype].history_update = historyupdate; + models[itype][jtype].roll_history_index = roll_history_index; + models[itype][jtype].twist_history_index = twist_history_index; + models[itype][jtype].vi = v[i]; + models[itype][jtype].vj = v[j]; + models[itype][jtype].omegai = omega[i]; + models[itype][jtype].omegaj = omega[j]; + models[itype][jtype] -> prep_contact(); - // NOTE: consider restricting Hooke to only have - // 'velocity' as an option for damping? - Fdamp = normal_damping(vnnr, meff, geom, model); - - Fntot = Fne + Fdamp; - if (limit_damping[itype][jtype] && (Fntot < 0.0)) Fntot = 0.0; - - //**************************************** - // tangential force, including history effects - //**************************************** - - // For linear, mindlin, mindlin_rescale: - // history = cumulative tangential displacement - // - // For mindlin/force, mindlin_rescale/force: - // history = cumulative tangential elastic force - - // tangential component - MathExtra::sub3(vr, vn, vt); - - // relative rotational velocity - MathExtra::scaleadd3(radi, omega[i], radj, omega[j], wr); - - // relative tangential velocities - MathExtra::cross3(wr, nx, temp); - MathExtra::sub3(vt, temp, vtr); - vrel = MathExtra::len(vtr); + if (models[itype][jtype].normal_model == JKR) touch[jj] = 1; // if any history is needed if (use_history) { touch[jj] = 1; history = &allhistory[size_history*jj]; } - Fncrit = critical_normal(Fne, Fntot, geom, model); - Fscrit = model.poisson * Fncrit; - - //------------------------------ - // tangential forces - //------------------------------ - - k_tangential = tangential_coeffs[itype][jtype][0]; - damp_tangential = tangential_coeffs[itype][jtype][1] * - damp_normal_prefactor; - - if (tangential_history) { - if (tangential_model[itype][jtype] == TANGENTIAL_MINDLIN || - tangential_model[itype][jtype] == TANGENTIAL_MINDLIN_FORCE) { - k_tangential *= a; - } else if (tangential_model[itype][jtype] == - TANGENTIAL_MINDLIN_RESCALE || - tangential_model[itype][jtype] == - TANGENTIAL_MINDLIN_RESCALE_FORCE) { - k_tangential *= a; - // on unloading, rescale the shear displacements/force - if (a < history[3]) { - double factor = a/history[3]; - MathExtra::scale3(history, factor); - } - } - // rotate and update displacements / force. - // see e.g. eq. 17 of Luding, Gran. Matter 2008, v10,p235 - if (historyupdate) { - rsht = history[0]*nx + history[1]*ny + history[2]*nz; - if (tangential_model[itype][jtype] == TANGENTIAL_MINDLIN_FORCE || - tangential_model[itype][jtype] == - TANGENTIAL_MINDLIN_RESCALE_FORCE) - frameupdate = fabs(rsht) > EPSILON * Fscrit; - else - frameupdate = fabs(rsht) * k_tangential > EPSILON * Fscrit; - if (frameupdate) { - shrmag = sqrt(history[0]*history[0] + history[1]*history[1] + - history[2]*history[2]); - // projection - MathExtra::scale3(rsht, nx, history); - - // also rescale to preserve magnitude - prjmag = MathExtra::len3(history); - if (prjmag > 0) scalefac = shrmag/prjmag; - else scalefac = 0; - MathExtra::scale3(scalefac, history); - } - // update history - if (tangential_model[itype][jtype] == TANGENTIAL_HISTORY || - tangential_model[itype][jtype] == TANGENTIAL_MINDLIN || - tangential_model[itype][jtype] == TANGENTIAL_MINDLIN_RESCALE) { - // tangential displacement - MathExtra::scale3(dt, vtr, temp); - MathExtra::add3(temp, history, history); - } else { - // tangential force - // see e.g. eq. 18 of Thornton et al, Pow. Tech. 2013, v223,p30-46 - MathExtra::scale3(k_tangential*dt, vtr, temp); - MathExtra::sub3(history, temp, history); - } - if (tangential_model[itype][jtype] == TANGENTIAL_MINDLIN_RESCALE || - tangential_model[itype][jtype] == - TANGENTIAL_MINDLIN_RESCALE_FORCE) - history[3] = a; - } - - // tangential forces = history + tangential velocity damping - MathExtra::scale3(-damp_tangential, vtr, fs); - if (tangential_model[itype][jtype] == TANGENTIAL_HISTORY || - tangential_model[itype][jtype] == TANGENTIAL_MINDLIN || - tangential_model[itype][jtype] == TANGENTIAL_MINDLIN_RESCALE) { - MathExtra::scale3(-k_tangential, history, temp); - MathExtra::add3(fs, temp, fs); - } - - // rescale frictional displacements and forces if needed - magfs = MathExtra::len3(fs); - if (fs > Fscrit) { - shrmag = MathExtra::len3(history); - if (shrmag != 0.0) { - history[0] = Fscrit*fs[0]/magfs + damp_tangential*vtr[0]; - history[1] = Fscrit*fs[1]/magfs + damp_tangential*vtr[1]; - history[2] = Fscrit*fs[2]/magfs + damp_tangential*vtr[2]; - if (tangential_model[itype][jtype] == TANGENTIAL_HISTORY || - tangential_model[itype][jtype] == TANGENTIAL_MINDLIN || - tangential_model[itype][jtype] == - TANGENTIAL_MINDLIN_RESCALE) { - MathExtra::scale3(-1.0/k_tangential, history); - } - MathExtra::scale3(Fscrit/magfs, fs); - } else MathExtra::zero3(fs); - } - } else { // classic pair gran/hooke (no history) - fs = damp_tangential*vrel; - if (vrel != 0.0) Ft = MIN(Fscrit,fs) / vrel; - else Ft = 0.0; - MathExtra::scale3(-Ft, vtr, fs); - } - - if (roll_model[itype][jtype] != ROLL_NONE || - twist_model[itype][jtype] != TWIST_NONE) { - MathExtra::sub3(omega[i], omega[j], relrot); - } - //**************************************** - // rolling resistance - //**************************************** - - if (roll_model[itype][jtype] != ROLL_NONE) { - // rolling velocity, - // see eq. 31 of Wang et al, Particuology v 23, p 49 (2015) - // this is different from the Marshall papers, - // which use the Bagi/Kuhn formulation - // for rolling velocity (see Wang et al for why the latter is wrong) - vrl[0] = Reff * (relrot[1] * n[2] - relrot[2] * nx[1]); - vrl[1] = Reff * (relrot[2] * n[0] - relrot[0] * nx[2]); - vrl[2] = Reff * (relrot[0] * n[1] - relrot[1] * nx[0]); - - rhist0 = roll_history_index; - rhist1 = rhist0 + 1; - rhist2 = rhist1 + 1; - - k_roll = roll_coeffs[itype][jtype][0]; - damp_roll = roll_coeffs[itype][jtype][1]; - Frcrit = roll_coeffs[itype][jtype][2] * Fncrit; - - if (historyupdate) { - temp[0] = history[rhist0]; - temp[1] = history[rhist1]; - temp[2] = history[rhist2]; - rolldotn = MathExtra::dot3(temp, nx); - frameupdate = fabs(rolldotn)*k_roll > EPSILON*Frcrit; - if (frameupdate) { // rotate into tangential plane - rollmag = MathExtra::len3(temp); - // projection - temp[0] -= rolldotn*nx[0]; - temp[1] -= rolldotn*nx[1]; - temp[2] -= rolldotn*nx[2]; - // also rescale to preserve magnitude - prjmag = MathExtra::len3(temp); - if (prjmag > 0) scalefac = rollmag/prjmag; - else scalefac = 0; - MathExtra::scale3(scalefac, temp); - } - temp[0] += vrl[0]*dt; - temp[1] += vrl[1]*dt; - temp[2] += vrl[2]*dt; - } - - fr[0] = -k_roll*temp[0] - damp_roll*vrl[0]; - fr[1] = -k_roll*temp[1] - damp_roll*vrl[1]; - fr[2] = -k_roll*temp[2] - damp_roll*vrl[2]; - - // rescale frictional displacements and forces if needed - - magfr = MathExtra::len3(fr); - if (magfr > Frcrit) { - rollmag = MathExtra::len3(temp); - if (rollmag != 0.0) { - temp[0] = -1.0/k_roll*(Frcrit*fr[0]/magfr + damp_roll*vrl[0]); - temp[1] = -1.0/k_roll*(Frcrit*fr[1]/magfr + damp_roll*vrl[1]); - temp[2] = -1.0/k_roll*(Frcrit*fr[2]/magfr + damp_roll*vrl[2]); - fr[0] *= Frcrit/magfr; - fr[1] *= Frcrit/magfr; - fr[2] *= Frcrit/magfr; - } else MathExtra::zero3(fr); - } - - history[rhist0] = temp[0]; - history[rhist1] = temp[1]; - history[rhist2] = temp[2]; - } - - //**************************************** - // twisting torque, including history effects - //**************************************** - - if (twist_model[itype][jtype] != TWIST_NONE) { - // omega_T (eq 29 of Marshall) - magtwist = MathExtra::dot3(relrot, nx); - if (twist_model[itype][jtype] == TWIST_MARSHALL) { - k_twist = 0.5*k_tangential*a*a;; // eq 32 of Marshall paper - damp_twist = 0.5*damp_tangential*a*a; - mu_twist = TWOTHIRDS*a*tangential_coeffs[itype][jtype][2]; - } else { - k_twist = twist_coeffs[itype][jtype][0]; - damp_twist = twist_coeffs[itype][jtype][1]; - mu_twist = twist_coeffs[itype][jtype][2]; - } - if (historyupdate) { - history[twist_history_index] += magtwist*dt; - } - magtortwist = -k_twist*history[twist_history_index] - - damp_twist*magtwist; // M_t torque (eq 30) - signtwist = (magtwist > 0) - (magtwist < 0); - Mtcrit = mu_twist*Fncrit; // critical torque (eq 44) - if (fabs(magtortwist) > Mtcrit) { - history[twist_history_index] = 1.0/k_twist*(Mtcrit*signtwist - - damp_twist*magtwist); - magtortwist = -Mtcrit * signtwist; // eq 34 - } - } + models[itype][jtype].calculate_forces(forces, torquesi, torquesj, history); // apply forces & torques + MathExtra::scale3(factor_lj, forces); + MathExtra::add3(f[i], forces, f[i]); - MathExtra::scale3(Fntot, nx, fx); - MathExtra::add3(fx, fs, fx); - MathExtra::scale3(factor_lj, fx); - MathExtra::add3(f[i], fx, f[i]); - - MathExtra::cross3(nx, fs, tor); - MathExtra::scale3(factor_lj, tor); - - dist_to_contact = radi-0.5*delta; - MathExtra::scale3(dist_to_contact, tor, temp); - MathExtra::sub3(torque[i], temp, torque[i]); - - if (twist_model[itype][jtype] != TWIST_NONE) { - MathExtra::scale3(magtortwist, nx, tortwist); - MathExtra::scale3(factor_lj, tortwist); - MathExtra::add3(torque[i], tortwist, torque[i]); - } - - if (roll_model[itype][jtype] != ROLL_NONE) { - MathExtra::cross3(nx, fr, torroll); - MathExtra::scale3(Reff, torroll); - MathExtra::scale3(factor_lj, torroll); - MathExtra::add3(torque[i], torroll, torque[i]); - } + MathExtra::scale3(factor_lj, torquesi); + MathExtra::add3(torques[i], torquesi, torques[i]); if (force->newton_pair || j < nlocal) { - MathExtra::sub3(f[j], fx, f[j]); - - dist_to_contact = radj-0.5*delta; - MathExtra::scale3(dist_to_contact, tor, temp); - MathExtra::sub3(torque[j], tor, torque[j]); - - if (twist_model[itype][jtype] != TWIST_NONE) - MathExtra::sub3(torque[j], tortwist, torque[j]); - if (roll_model[itype][jtype] != ROLL_NONE) - MathExtra::sub3(torque[j], torroll, torque[j]); + MathExtra::sub3(f[j], forces, f[j]); + MathExtra::scale3(factor_lj, torquesj); + MathExtra::add3(torques[j], torquesj, torques[j]); } + if (evflag) ev_tally_xyz(i,j,nlocal,force->newton_pair, - 0.0,0.0,fx[0],fx[1],fx[2],dx[0],dy[1],dx[2]); + 0.0,0.0,forces[0],forces[1],forces[2],dx[0],dy[1],dx[2]); } } } @@ -629,20 +303,7 @@ void PairGranular::allocate() memory->create(cutsq,n+1,n+1,"pair:cutsq"); memory->create(cutoff_type,n+1,n+1,"pair:cutoff_type"); - memory->create(normal_coeffs,n+1,n+1,4,"pair:normal_coeffs"); - memory->create(tangential_coeffs,n+1,n+1,3,"pair:tangential_coeffs"); - memory->create(roll_coeffs,n+1,n+1,3,"pair:roll_coeffs"); - memory->create(twist_coeffs,n+1,n+1,3,"pair:twist_coeffs"); - - memory->create(Emod,n+1,n+1,"pair:Emod"); - memory->create(poiss,n+1,n+1,"pair:poiss"); - - memory->create(normal_model,n+1,n+1,"pair:normal_model"); - memory->create(damping_model,n+1,n+1,"pair:damping_model"); - memory->create(tangential_model,n+1,n+1,"pair:tangential_model"); - memory->create(roll_model,n+1,n+1,"pair:roll_model"); - memory->create(twist_model,n+1,n+1,"pair:twist_model"); - memory->create(limit_damping,n+1,n+1,"pair:limit_damping"); + memory->create(models,n+1,n+1,"pair:models"); onerad_dynamic = new double[n+1]; onerad_frozen = new double[n+1]; @@ -899,56 +560,64 @@ void PairGranular::coeff(int narg, char **arg) error->all(FLERR,"Illegal pair_coeff command, " "Cannot limit damping with DMT model"); + double Emod, poisson; for (int i = ilo; i <= ihi; i++) { for (int j = MAX(jlo,i); j <= jhi; j++) { - normal_model[i][j] = normal_model[j][i] = normal_model_one; - normal_coeffs[i][j][1] = normal_coeffs[j][i][1] = damp; + + // Define normal model + models[i][j].normal_model = models[j][i].normal_model = normal_model_one; + models[i][j].damping_model = models[j][i].damping_model = damping_model_one; + models[i][j].gamma_norm = models[j][i].gamma_norm = damp; + Emod = normal_coeffs_one[0]; + poisson = normal_coeffs_one[2]; + models[i][j].Emod = models[j][i].Emod = Emod; + models[i][j].poisson = models[j][i].poisson = poisson; + if (normal_model_one != HERTZ && normal_model_one != HOOKE) { - Emod[i][j] = Emod[j][i] = normal_coeffs_one[0]; - poiss[i][j] = poiss[j][i] = normal_coeffs_one[2]; - normal_coeffs[i][j][0] = normal_coeffs[j][i][0] = - FOURTHIRDS*mix_stiffnessE(Emod[i][j],Emod[i][j], - poiss[i][j],poiss[i][j]); + models[i][j].k_norm = models[j][i].k_norm = + FOURTHIRDS*mix_stiffnessE(Emod,Emod,poisson,poisson); } else { - normal_coeffs[i][j][0] = normal_coeffs[j][i][0] = normal_coeffs_one[0]; + models[i][j].k_norm = models[j][i].k_norm = normal_coeffs_one[0]; } if ((normal_model_one == JKR) || (normal_model_one == DMT)) - normal_coeffs[i][j][3] = normal_coeffs[j][i][3] = normal_coeffs_one[3]; + models[i][j].cohesion = models[j][i].cohesion = normal_coeffs_one[3]; - damping_model[i][j] = damping_model[j][i] = damping_model_one; - - tangential_model[i][j] = tangential_model[j][i] = tangential_model_one; + // Define tangential model + models[i][j].tangential_model = models[j][i].tangential_model = tangential_model_one; if (tangential_coeffs_one[0] == -1) { - tangential_coeffs[i][j][0] = tangential_coeffs[j][i][0] = - 8*mix_stiffnessG(Emod[i][j],Emod[i][j],poiss[i][j],poiss[i][j]); + models[i][j].k_tang = models[j][i].k_tang = + 8*mix_stiffnessG(Emod, Emod, poisson, poisson); } else { - tangential_coeffs[i][j][0] = tangential_coeffs[j][i][0] = - tangential_coeffs_one[0]; + models[i][j].k_tang = models[j][i].k_tang = tangential_coeffs_one[0]; } - for (int k = 1; k < 3; k++) - tangential_coeffs[i][j][k] = tangential_coeffs[j][i][k] = - tangential_coeffs_one[k]; + models[i][j].gamma_tang = models[j][i]].gamma_tang = tangential_coeffs_one[1]; + models[i][j].mu_tang = models[j][i]].mu_tang = tangential_coeffs_one[2]; - roll_model[i][j] = roll_model[j][i] = roll_model_one; - if (roll_model_one != ROLL_NONE) - for (int k = 0; k < 3; k++) - roll_coeffs[i][j][k] = roll_coeffs[j][i][k] = roll_coeffs_one[k]; + // Define rolling model + model[i][j].roll_model = model[j][i].roll_model = roll_model_one; + if (roll_model_one != ROLL_NONE) { + model[i][j].k_roll = model[j][i].k_roll = roll_coeffs_one[0]; + model[i][j].gamma_roll = model[j][i].gamma_roll = roll_coeffs_one[1]; + model[i][j].mu_roll = model[j][i].mu_roll = roll_coeffs_one[2]; + } - twist_model[i][j] = twist_model[j][i] = twist_model_one; - if (twist_model_one != TWIST_NONE && twist_model_one != TWIST_MARSHALL) - for (int k = 0; k < 3; k++) - twist_coeffs[i][j][k] = twist_coeffs[j][i][k] = twist_coeffs_one[k]; + // Define twisting model + models[i][j].twist_model = models[j][i].twist_model = twist_model_one; + if (twist_model_one != TWIST_NONE && twist_model_one != TWIST_MARSHALL) { + model[i][j].k_twist = model[j][i].k_twist = twist_coeffs_one[0]; + model[i][j].gamma_twist = model[j][i].gamma_twist = twist_coeffs_one[1]; + model[i][j].mu_twist = model[j][i].mu_twist = twist_coeffs_one[2]; + } - cutoff_type[i][j] = cutoff_type[j][i] = cutoff_one; - - limit_damping[i][j] = limit_damping[j][i] = ld_flag; + // Define extra options + model[i][j].cutoff_type = model[j][i].cutoff_type = cutoff_one; + model[i][j].limit_damping = model[j][i].limit_damping = ld_flag; setflag[i][j] = 1; count++; } } - if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); } @@ -976,7 +645,7 @@ void PairGranular::init_style() for (int i = 1; i <= atom->ntypes; i++) for (int j = i; j <= atom->ntypes; j++) - if (normal_model[i][j] == JKR) use_history = 1; + if (models[i][j].normal_model == JKR) use_history = 1; size_history = 3*tangential_history + 3*roll_history + twist_history; @@ -997,8 +666,8 @@ void PairGranular::init_style() } for (int i = 1; i <= atom->ntypes; i++) for (int j = i; j <= atom->ntypes; j++) - if (tangential_model[i][j] == TANGENTIAL_MINDLIN_RESCALE || - tangential_model[i][j] == TANGENTIAL_MINDLIN_RESCALE_FORCE) { + if (model[i][j].tangential_model == TANGENTIAL_MINDLIN_RESCALE || + model[i][j].tangential_model == TANGENTIAL_MINDLIN_RESCALE_FORCE) { size_history += 1; roll_history_index += 1; twist_history_index += 1; @@ -1100,47 +769,61 @@ void PairGranular::init_style() double PairGranular::init_one(int i, int j) { - double cutoff=0.0; + double cutoff = 0.0; if (setflag[i][j] == 0) { - if ((normal_model[i][i] != normal_model[j][j]) || - (damping_model[i][i] != damping_model[j][j]) || - (tangential_model[i][i] != tangential_model[j][j]) || - (roll_model[i][i] != roll_model[j][j]) || - (twist_model[i][i] != twist_model[j][j])) { + if ((models[i][i].normal_model != models[j][j].normal_model) || + (models[i][i].damping_model != models[j][j].damping_model) || + (models[i][i].tangential_model != models[j][j].tangential_model) || + (models[i][i].roll_model != models[j][j].roll_model) || + (models[i][i].twist_model != models[j][j].twist_model)) { error->all(FLERR,"Granular pair style functional forms are different, " "cannot mix coefficients for types {} and {}. \n" "This combination must be set explicitly via a " "pair_coeff command",i,j); } - if (normal_model[i][j] == HERTZ || normal_model[i][j] == HOOKE) - normal_coeffs[i][j][0] = normal_coeffs[j][i][0] = - mix_geom(normal_coeffs[i][i][0], normal_coeffs[j][j][0]); + // Mix normal coefficients + if (models[i][j].normal_model == HERTZ || models[i][j].normal_model == HOOKE) + models[i][j].k_norm = models[j][i][0].k_norm = + mix_geom(models[i][i].k_norm, models[j][j].k_norm); else - normal_coeffs[i][j][0] = normal_coeffs[j][i][0] = - mix_stiffnessE(Emod[i][i], Emod[j][j], poiss[i][i], poiss[j][j]); + models[i][j].k_norm = models[j][i].k_norm = + mix_stiffnessE(models[i][i].Emod, models[j][j].Emod, + models[i][i].poisson, models[j][j].poisson); - normal_coeffs[i][j][1] = normal_coeffs[j][i][1] = - mix_geom(normal_coeffs[i][i][1], normal_coeffs[j][j][1]); + models[i][j].gamma_norm = models[j][i].gamma_norm = + mix_geom(models[i][i].gamma_norm, models[j][j].gamma_norm); if ((normal_model[i][j] == JKR) || (normal_model[i][j] == DMT)) - normal_coeffs[i][j][3] = normal_coeffs[j][i][3] = - mix_geom(normal_coeffs[i][i][3], normal_coeffs[j][j][3]); + models[i][j].cohesion = models[j][i].cohesion = + mix_geom(models[i][i].cohesion, models[j][j].cohesion); - for (int k = 0; k < 3; k++) - tangential_coeffs[i][j][k] = tangential_coeffs[j][i][k] = - mix_geom(tangential_coeffs[i][i][k], tangential_coeffs[j][j][k]); + // Mix tangential coefficients + models[i][j].k_tang = models[j][i].k_tang = + mix_geom(models[i][i].k_tang, models[j][j].k_tang); + models[i][j].gamma_tang = models[j][i].gamma_tang = + mix_geom(models[i][i].gamma_tang, models[j][j].gamma_tang); + models[i][j].mu_tang = models[j][i].mu_tang = + mix_geom(models[i][i].mu_tang, models[j][j].mu_tang); - if (roll_model[i][j] != ROLL_NONE) { - for (int k = 0; k < 3; k++) - roll_coeffs[i][j][k] = roll_coeffs[j][i][k] = - mix_geom(roll_coeffs[i][i][k], roll_coeffs[j][j][k]); + // Mix rolling coefficients + if (models.roll_model[i][j] != ROLL_NONE) { + models[i][j].k_roll = models[j][i].k_roll = + mix_geom(models[i][i].k_roll, models[j][j].k_roll); + models[i][j].gamma_roll = models[j][i].gamma_roll = + mix_geom(models[i][i].gamma_roll, models[j][j].gamma_roll); + models[i][j].mu_roll = models[j][i].mu_roll = + mix_geom(models[i][i].mu_roll, models[j][j].mu_roll); } - if (twist_model[i][j] != TWIST_NONE && twist_model[i][j] != TWIST_MARSHALL) { - for (int k = 0; k < 3; k++) - twist_coeffs[i][j][k] = twist_coeffs[j][i][k] = - mix_geom(twist_coeffs[i][i][k], twist_coeffs[j][j][k]); + // Mix twisting coefficients + if (models[i][j].twist_model != TWIST_NONE && models[i][j].twist_model != TWIST_MARSHALL) { + models[i][j].k_twist = models[j][i].k_twist = + mix_geom(models[i][i].k_twist, models[j][j].k_twist); + models[i][j].gamma_twist = models[j][i].gamma_twist = + mix_geom(models[i][i].gamma_twist, models[j][j].gamma_twist); + models[i][j].mu_twist = models[j][i].mu_twist = + mix_geom(models[i][i].mu_twist, models[j][j].mu_twist); } } @@ -1153,27 +836,23 @@ double PairGranular::init_one(int i, int j) // we assign cutoff = max(cut[i][j]) for i,j such that cut[i][j] > 0.0. double pulloff; - - if (cutoff_type[i][j] < 0 && cutoff_global < 0) { + if (models[i][j].cutoff_type < 0 && cutoff_global < 0) { if (((maxrad_dynamic[i] > 0.0) && (maxrad_dynamic[j] > 0.0)) || ((maxrad_dynamic[i] > 0.0) && (maxrad_frozen[j] > 0.0)) || // radius info about both i and j exist ((maxrad_frozen[i] > 0.0) && (maxrad_dynamic[j] > 0.0))) { - cutoff = maxrad_dynamic[i]+maxrad_dynamic[j]; + cutoff = maxrad_dynamic[i] + maxrad_dynamic[j]; pulloff = 0.0; if (normal_model[i][j] == JKR) { - pulloff = pulloff_distance(maxrad_dynamic[i], maxrad_dynamic[j], i, j); + pulloff = models[i][j]->pulloff_distance(maxrad_dynamic[i], maxrad_dynamic[j]); cutoff += pulloff; + + pulloff = models[i][j]->pulloff_distance(maxrad_frozen[i], maxrad_dynamic[j]); + cutoff = MAX(cutoff, maxrad_frozen[i] + maxrad_dynamic[j] + pulloff); + + pulloff = models[i][j]->pulloff_distance(maxrad_dynamic[i], maxrad_frozen[j]); + cutoff = MAX(cutoff,maxrad_dynamic[i] + maxrad_frozen[j] + pulloff); } - - if (normal_model[i][j] == JKR) - pulloff = pulloff_distance(maxrad_frozen[i], maxrad_dynamic[j], i, j); - cutoff = MAX(cutoff, maxrad_frozen[i]+maxrad_dynamic[j]+pulloff); - - if (normal_model[i][j] == JKR) - pulloff = pulloff_distance(maxrad_dynamic[i], maxrad_frozen[j], i, j); - cutoff = MAX(cutoff,maxrad_dynamic[i]+maxrad_frozen[j]+pulloff); - } else { // radius info about either i or j does not exist @@ -1187,8 +866,8 @@ double PairGranular::init_one(int i, int j) } cutoff = cutmax; } - } else if (cutoff_type[i][j] > 0) { - cutoff = cutoff_type[i][j]; + } else if (models[i][j].cutoff_type > 0) { + cutoff = models[i][j].cutoff_type; } else if (cutoff_global > 0) { cutoff = cutoff_global; } @@ -1207,17 +886,27 @@ void PairGranular::write_restart(FILE *fp) for (j = i; j <= atom->ntypes; j++) { fwrite(&setflag[i][j],sizeof(int),1,fp); if (setflag[i][j]) { - fwrite(&normal_model[i][j],sizeof(int),1,fp); - fwrite(&damping_model[i][j],sizeof(int),1,fp); - fwrite(&tangential_model[i][j],sizeof(int),1,fp); - fwrite(&roll_model[i][j],sizeof(int),1,fp); - fwrite(&twist_model[i][j],sizeof(int),1,fp); - fwrite(&limit_damping[i][j],sizeof(int),1,fp); - fwrite(normal_coeffs[i][j],sizeof(double),4,fp); - fwrite(tangential_coeffs[i][j],sizeof(double),3,fp); - fwrite(roll_coeffs[i][j],sizeof(double),3,fp); - fwrite(twist_coeffs[i][j],sizeof(double),3,fp); - fwrite(&cutoff_type[i][j],sizeof(double),1,fp); + fwrite(&models[i][j].normal_model,sizeof(int),1,fp); + fwrite(&models[i][j].damping_model,sizeof(int),1,fp); + fwrite(&models[i][j].tangential_model,sizeof(int),1,fp); + fwrite(&models[i][j].roll_model,sizeof(int),1,fp); + fwrite(&models[i][j].twist_model,sizeof(int),1,fp); + fwrite(&models[i][j].limit_damping,sizeof(int),1,fp); + fwrite(&models[i][j].Emod,sizeof(double),1,fp); + fwrite(&models[i][j].poisson,sizeof(double),1,fp); + fwrite(&models[i][j].k_norm,sizeof(double),1,fp); + fwrite(&models[i][j].gamma_norm,sizeof(double),1,fp); + fwrite(&models[i][j].cohesion,sizeof(double),1,fp); + fwrite(&models[i][j].k_tang,sizeof(double),1,fp); + fwrite(&models[i][j].gamma_tang,sizeof(double),1,fp); + fwrite(&models[i][j].mu_tang,sizeof(double),1,fp); + fwrite(&models[i][j].k_roll,sizeof(double),1,fp); + fwrite(&models[i][j].gamma_roll,sizeof(double),1,fp); + fwrite(&models[i][j].mu_roll,sizeof(double),1,fp); + fwrite(&models[i][j].k_twist,sizeof(double),1,fp); + fwrite(&models[i][j].gamma_twist,sizeof(double),1,fp); + fwrite(&models[i][j].mu_twist,sizeof(double),1,fp); + fwrite(&models[i][j].cutoff_type,sizeof(double),1,fp); } } } @@ -1238,29 +927,45 @@ void PairGranular::read_restart(FILE *fp) MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); if (setflag[i][j]) { if (me == 0) { - utils::sfread(FLERR,&normal_model[i][j],sizeof(int),1,fp,nullptr,error); - utils::sfread(FLERR,&damping_model[i][j],sizeof(int),1,fp,nullptr,error); - utils::sfread(FLERR,&tangential_model[i][j],sizeof(int),1,fp,nullptr,error); - utils::sfread(FLERR,&roll_model[i][j],sizeof(int),1,fp,nullptr,error); - utils::sfread(FLERR,&twist_model[i][j],sizeof(int),1,fp,nullptr,error); - utils::sfread(FLERR,&limit_damping[i][j],sizeof(int),1,fp,nullptr,error); - utils::sfread(FLERR,normal_coeffs[i][j],sizeof(double),4,fp,nullptr,error); - utils::sfread(FLERR,tangential_coeffs[i][j],sizeof(double),3,fp,nullptr,error); - utils::sfread(FLERR,roll_coeffs[i][j],sizeof(double),3,fp,nullptr,error); - utils::sfread(FLERR,twist_coeffs[i][j],sizeof(double),3,fp,nullptr,error); - utils::sfread(FLERR,&cutoff_type[i][j],sizeof(double),1,fp,nullptr,error); + utils::sfread(FLERR,&models[i][j].normal_model,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR,&models[i][j].damping_model,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR,&models[i][j].tangential_model,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR,&models[i][j].roll_model,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR,&models[i][j].twist_model,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR,&models[i][j].limit_damping,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR,&models[i][j].k_norm,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR,&models[i][j].gamma_norm,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR,&models[i][j].cohesion,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR,&models[i][j].k_tang,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR,&models[i][j].gamma_tang,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR,&models[i][j].mu_tang,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR,&models[i][j].k_roll,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR,&models[i][j].gamma_roll,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR,&models[i][j].mu_roll,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR,&models[i][j].k_twist,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR,&models[i][j].gamma_twist,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR,&models[i][j].mu_twist,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR,&models[i][j].cutoff_type,sizeof(double),1,fp,nullptr,error); } - MPI_Bcast(&normal_model[i][j],1,MPI_INT,0,world); - MPI_Bcast(&damping_model[i][j],1,MPI_INT,0,world); - MPI_Bcast(&tangential_model[i][j],1,MPI_INT,0,world); - MPI_Bcast(&roll_model[i][j],1,MPI_INT,0,world); - MPI_Bcast(&twist_model[i][j],1,MPI_INT,0,world); - MPI_Bcast(&limit_damping[i][j],1,MPI_INT,0,world); - MPI_Bcast(normal_coeffs[i][j],4,MPI_DOUBLE,0,world); - MPI_Bcast(tangential_coeffs[i][j],3,MPI_DOUBLE,0,world); - MPI_Bcast(roll_coeffs[i][j],3,MPI_DOUBLE,0,world); - MPI_Bcast(twist_coeffs[i][j],3,MPI_DOUBLE,0,world); - MPI_Bcast(&cutoff_type[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&models[i][j].normal_model,1,MPI_INT,0,world); + MPI_Bcast(&models[i][j].damping_model,1,MPI_INT,0,world); + MPI_Bcast(&models[i][j].tangential_model,1,MPI_INT,0,world); + MPI_Bcast(&models[i][j].roll_model,1,MPI_INT,0,world); + MPI_Bcast(&models[i][j].twist_model,1,MPI_INT,0,world); + MPI_Bcast(&models[i][j].limit_damping,1,MPI_INT,0,world); + MPI_Bcast(&models[i][j].k_norm,1,MPI_INT,0,world); + MPI_Bcast(&models[i][j].gamma_norm,1,MPI_INT,0,world); + MPI_Bcast(&models[i][j].cohesion,1,MPI_INT,0,world); + MPI_Bcast(&models[i][j].k_tang,1,MPI_INT,0,world); + MPI_Bcast(&models[i][j].gamma_tang,1,MPI_INT,0,world); + MPI_Bcast(&models[i][j].mu_tang,1,MPI_INT,0,world); + MPI_Bcast(&models[i][j].k_roll,1,MPI_INT,0,world); + MPI_Bcast(&models[i][j].gamma_roll,1,MPI_INT,0,world); + MPI_Bcast(&models[i][j].mu_roll,1,MPI_INT,0,world); + MPI_Bcast(&models[i][j].k_twist,1,MPI_INT,0,world); + MPI_Bcast(&models[i][j].gamma_twist,1,MPI_INT,0,world); + MPI_Bcast(&models[i][j].mu_twist,1,MPI_INT,0,world); + MPI_Bcast(&models[i][j].cutoff_type,1,MPI_DOUBLE,0,world); } } } @@ -1366,23 +1071,6 @@ double PairGranular::mix_geom(double valii, double valjj) return sqrt(valii*valjj); } - -/* ---------------------------------------------------------------------- - compute pull-off distance (beyond contact) for a given radius and atom type -------------------------------------------------------------------------- */ - -double PairGranular::pulloff_distance(double radi, double radj, - int itype, int jtype) -{ - double E, coh, a, Reff; - Reff = radi*radj/(radi+radj); - if (Reff <= 0) return 0; - coh = normal_coeffs[itype][jtype][3]; - E = normal_coeffs[itype][jtype][0]*THREEQUARTERS; - a = cbrt(9*MY_PI*coh*Reff*Reff/(4*E)); - return a*a/Reff - 2*sqrt(MY_PI*coh*a/E); -} - /* ---------------------------------------------------------------------- transfer history during fix/neigh/history exchange only needed if any history entries i-j are not just negative of j-i entries @@ -1402,11 +1090,11 @@ double PairGranular::atom2cut(int i) { double cut; - cut = atom->radius[i]*2; - if(beyond_contact) { + cut = atom->radius[i] * 2; + if (beyond_contact) { int itype = atom->type[i]; - if(normal_model[itype][itype] == JKR) { - cut += pulloff_distance(cut, cut, itype, itype); + if (models[itype][itype].normal_model == JKR) { + cut += models[itype][itype].pulloff_distance(cut, cut); } } @@ -1421,16 +1109,16 @@ double PairGranular::radii2cut(double r1, double r2) { double cut = 0.0; - if(beyond_contact) { + if (beyond_contact) { int n = atom->ntypes; double temp; // Check all combinations of i and j to find theoretical maximum pull off distance - for(int i = 0; i < n; i++){ - for(int j = 0; j < n; j++){ - if(normal_model[i][j] == JKR) { - temp = pulloff_distance(r1, r2, i, j); - if(temp > cut) cut = temp; + for (int i = 0; i < n; i++){ + for (int j = 0; j < n; j++){ + if (models[i][j].normal_model == JKR) { + temp = pulloff_distance(r1, r2); + if (temp > cut) cut = temp; } } } @@ -1440,99 +1128,3 @@ double PairGranular::radii2cut(double r1, double r2) return cut; } - -double PairGranular::touch_JKR(int touch, ContactGeom geom, ContactModel model) -{ - double E, R2, a, delta_pulloff, dist_pulloff; - bool touchflag; - E = model.E; - E *= THREEQUARTERS; - if (touch) { - R2 = geom.Reff * geom.Reff; - a = cbrt(9.0 * MY_PI * model.coh * R2 / (4 * E)); - delta_pulloff = a * a / Reff - 2 * sqrt(MY_PI * coh * a / E); - dist_pulloff = geom.radsum - delta_pulloff; - touchflag = (geom.rsq < dist_pulloff * dist_pulloff); - } else { - touchflag = (geom.rsq < geom.radsum * geom.radsum); - } - return touchflag; -} - -void PairGranular::normal_JKR(double &Fne, ContactGeom geom, ContactModel model) -{ - double R2, dR2, t0, t1, t2, t3, t4, t5, t6; - double sqrt1, sqrt2, sqrt3, a, a2, F_pulloff; - - R2 = geom.Reff * geom.Reff; - dR2 = geom.dR * geom.dR; - t0 = model.coh * model.coh * R2 * R2 * model.E; - t1 = PI27SQ*t0; - t2 = 8 * geom.dR * dR2 * model.E * model.E * model.E; - t3 = 4 * dR2 * E; - - // in case sqrt(0) < 0 due to precision issues - sqrt1 = MAX(0, t0 * (t1 + 2 * t2)); - t4 = cbrt(t1 + t2 + THREEROOT3 * MY_PI * sqrt(sqrt1)); - t5 = t3 / t4 + t4 / E; - sqrt2 = MAX(0, 2 * dR + t5); - t6 = sqrt(sqrt2); - sqrt3 = MAX(0, 4 * dR - t5 + SIXROOT6 * model.coh * MY_PI * R2 / (model.E * t6)); - a = INVROOT6 * (t6 + sqrt(sqrt3)); - a2 = a * a; - - Fne = model.E * a * a2 / Reff - MY_2PI * a2 * sqrt(4 * model.coh * model.E / (MY_PI * a)); - model.a = a; - model.knfac = model.E*a; -} - -void PairGraunular::normal_DMT(double &Fne, ContactGeom geom, ContactModel model) -{ - double a = sqrt(geom.dR); - Fne = a * model.E * geom.delta; - Fne -= 4 * MY_PI * model.coh * geom.Reff; - F_pulloff = 4 * MY_PI * model.coh * geom.Reff; - model.a = a; - model.knfact = model.E * a; -} - -void PairGraunular::normal_Hooke(double &Fne, ContactGeom geom, ContactModel model) -{ - double a = sqrt(geom.dR); - Fne = model.E * geom.delta; - if (model.normal != HOOKE) Fne *= a; - model.a = a; - model.knfac = model.E; - if (model.normal != HOOKE) model.knfac *= a; -} - -double PairGranular::normal_damping(double vnnr, double meff, ContactGeom geom, ContactModel model) -{ - double damp_normal, a; - if (model.damping == VELOCITY) { - damp_normal = 1; - } else if (model.damping == MASS_VELOCITY) { - damp_normal = meff; - } else if (model.damping == VISCOELASTIC) { - damp_normal = model.a * meff; - } else if (model.damping == TSUJI) { - damp_normal = sqrt(meff * model.knfac); - } else damp_normal = 0.0; - - damp_normal_prefactor = model.damp * damp_normal; - return -damp_normal_prefactor * vnnr; -} - -double PairGranular::critical_normal(double Fne, double Fntot, ContactGeom geom, Contactmodel model) -{ - if (model.normal == JKR) { - F_pulloff = 3*MY_PI*model.coh*geom.Reff; - Fncrit = fabs(Fne + 2*F_pulloff); - } else if (model.normal == DMT) { - F_pulloff = 4*MY_PI*model.coh*geom.Reff; - Fncrit = fabs(Fne + 2*F_pulloff); - } else { - Fncrit = fabs(Fntot); - } - return Fncrit; -} \ No newline at end of file diff --git a/src/GRANULAR/pair_granular.h b/src/GRANULAR/pair_granular.h index 896db15231..509981d5f9 100644 --- a/src/GRANULAR/pair_granular.h +++ b/src/GRANULAR/pair_granular.h @@ -69,10 +69,8 @@ class PairGranular : public Pair { int size_history; int *history_transfer_factors; - // model choices - int **normal_model, **damping_model; - int **tangential_model, **roll_model, **twist_model; - int **limit_damping; + // contact models + ContactModel **models; // history flags int normal_history, tangential_history, roll_history, twist_history; @@ -83,15 +81,6 @@ class PairGranular : public Pair { int roll_history_index; int twist_history_index; - // per-type material coefficients - double **Emod, **poiss, **Gmod; - - // per-type coefficients, set in pair coeff command - double ***normal_coeffs; - double ***tangential_coeffs; - double ***roll_coeffs; - double ***twist_coeffs; - // optional user-specified global cutoff, per-type user-specified cutoffs double **cutoff_type; double cutoff_global; @@ -99,19 +88,6 @@ class PairGranular : public Pair { double mix_stiffnessE(double, double, double, double); double mix_stiffnessG(double, double, double, double); double mix_geom(double, double); - double pulloff_distance(double, double, int, int); - - // Structure to store details of model - struct ContactModel { - int normal, damping, tangential, roll, twist; - double E, damp, poisson, coh; - double a, knfac; - }; - - struct ContactGeom { - double r, rinv, rsq, Reff, radsum; - double delta, dR; - } }; } // namespace LAMMPS_NS diff --git a/src/contact.cpp b/src/contact.cpp new file mode 100644 index 0000000000..b7d5d4d85d --- /dev/null +++ b/src/contact.cpp @@ -0,0 +1,58 @@ +// clang-format off +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- + + This class contains a series of DEM contact models + that can be defined and used to calculate forces + and torques based on contact geometry +*/ + +#include +#include "contact.h" + +namespace LAMMPS_NS { + namespace Contact{ + +enum {HOOKE, HERTZ, HERTZ_MATERIAL, DMT, JKR}; +enum {VELOCITY, MASS_VELOCITY, VISCOELASTIC, TSUJI}; +enum {TANGENTIAL_NOHISTORY, TANGENTIAL_HISTORY, + TANGENTIAL_MINDLIN, TANGENTIAL_MINDLIN_RESCALE, + TANGENTIAL_MINDLIN_FORCE, TANGENTIAL_MINDLIN_RESCALE_FORCE}; +enum {TWIST_NONE, TWIST_SDS, TWIST_MARSHALL}; +enum {ROLL_NONE, ROLL_SDS}; + +#define PI27SQ 266.47931882941264802866 // 27*PI**2 +#define THREEROOT3 5.19615242270663202362 // 3*sqrt(3) +#define SIXROOT6 14.69693845669906728801 // 6*sqrt(6) +#define INVROOT6 0.40824829046386307274 // 1/sqrt(6) +#define FOURTHIRDS (4.0/3.0) // 4/3 +#define THREEQUARTERS 0.75 // 3/4 + +#define EPSILON 1e-10 + +ContactModel::ContactModel() +{ + +} + +/* ---------------------------------------------------------------------- + get volume-correct r basis in: basis*cbrt(vol) = q*r +------------------------------------------------------------------------- */ + +void ContactModel::() +{ + +} + + +}} diff --git a/src/contact.h b/src/contact.h new file mode 100644 index 0000000000..38cb6f0be6 --- /dev/null +++ b/src/contact.h @@ -0,0 +1,50 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifndef LMP_CONTACT +_H +#define LMP_CONTACT +_H + +namespace LAMMPS_NS { +namespace Contact { + + class ContactModel { + public: + ContactModel(); + void touch_JKR(int); + void normal_JKR(double&); + void normal_DMT(double&); + void normal_Hooke(double&); + double normal_damping(double, double); + double critical_normal(double, double); + + int normal_model, damping_model, tangential_model; + int roll_model, twist_model; + double E, G, poisson, damp, coh; + + private: + double a, knfac; + ContactGeometry geom; + }; + + + class ContactGeometry { + public: + ContactGeometry(); + void add_data(); + double r, rinv, rsq, Reff, radsum, delta, dR; + }; +} // namespace Contact +} // namespace LAMMPS_NS +#endif diff --git a/src/contact_model.cpp b/src/contact_model.cpp new file mode 100644 index 0000000000..779631836b --- /dev/null +++ b/src/contact_model.cpp @@ -0,0 +1,58 @@ +// clang-format off +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- + + This class contains a series of DEM contact models + that can be defined and used to calculate forces + and torques based on contact geometry +*/ + +#include +#include "contact_model.h" + +namespace LAMMPS_NS { + namespace Contact_Model{ + +enum {HOOKE, HERTZ, HERTZ_MATERIAL, DMT, JKR}; +enum {VELOCITY, MASS_VELOCITY, VISCOELASTIC, TSUJI}; +enum {TANGENTIAL_NOHISTORY, TANGENTIAL_HISTORY, + TANGENTIAL_MINDLIN, TANGENTIAL_MINDLIN_RESCALE, + TANGENTIAL_MINDLIN_FORCE, TANGENTIAL_MINDLIN_RESCALE_FORCE}; +enum {TWIST_NONE, TWIST_SDS, TWIST_MARSHALL}; +enum {ROLL_NONE, ROLL_SDS}; + +#define PI27SQ 266.47931882941264802866 // 27*PI**2 +#define THREEROOT3 5.19615242270663202362 // 3*sqrt(3) +#define SIXROOT6 14.69693845669906728801 // 6*sqrt(6) +#define INVROOT6 0.40824829046386307274 // 1/sqrt(6) +#define FOURTHIRDS (4.0/3.0) // 4/3 +#define THREEQUARTERS 0.75 // 3/4 + +#define EPSILON 1e-10 + +ContactModel::ContactModel() +{ + +} + +/* ---------------------------------------------------------------------- + get volume-correct r basis in: basis*cbrt(vol) = q*r +------------------------------------------------------------------------- */ + +void ContactModel::() +{ + +} + + +}} diff --git a/src/contact_model.h b/src/contact_model.h new file mode 100644 index 0000000000..678a7111a8 --- /dev/null +++ b/src/contact_model.h @@ -0,0 +1,35 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifndef LMP_CONTACT_MODEL_H +#define LMP_CONTACT_MODEL_H + +namespace LAMMPS_NS { +namespace Contact_Model { + + class ContactModel { + public: + ContactModel(); + void set_strain(const double, const double); + void step_deform(const double, const double); + bool reduce(); + void get_box(double[3][3], double); + void get_rot(double[3][3]); + void get_inverse_cob(int[3][3]); + + private: + double a, knfac; + }; +} // namespace Contact_Model +} // namespace LAMMPS_NS +#endif From 1faa7397d3f6effe234c07d04e150a54757ca07a Mon Sep 17 00:00:00 2001 From: jtclemm Date: Sat, 18 Jun 2022 10:11:57 -0600 Subject: [PATCH 007/448] Fixing complier issues, adding dump options, initail conduction --- doc/src/dump.rst | 5 +- doc/src/pair_granular.rst | 10 + src/GRANULAR/atom_vec_sphere_temp.cpp | 11 + src/GRANULAR/atom_vec_sphere_temp.h | 1 + src/GRANULAR/contact.cpp | 385 ++++++++-------- src/GRANULAR/contact.h | 46 +- src/GRANULAR/fix_temp_integrate.cpp | 34 +- src/GRANULAR/pair_granular.cpp | 249 +++++++--- src/GRANULAR/pair_granular.h | 5 +- src/contact.cpp | 625 +++++++++++++++++++++++++- src/contact.h | 85 +++- src/contact_model.cpp | 58 --- src/contact_model.h | 35 -- src/dump_custom.cpp | 50 ++- src/dump_custom.h | 2 + src/fix_neigh_history.cpp | 5 +- 16 files changed, 1171 insertions(+), 435 deletions(-) delete mode 100644 src/contact_model.cpp delete mode 100644 src/contact_model.h diff --git a/doc/src/dump.rst b/doc/src/dump.rst index 4d272c940b..4406c827bf 100644 --- a/doc/src/dump.rst +++ b/doc/src/dump.rst @@ -81,6 +81,7 @@ Syntax q, mux, muy, muz, mu, radius, diameter, omegax, omegay, omegaz, angmomx, angmomy, angmomz, tqx, tqy, tqz, + heatflux, temperature, c_ID, c_ID[I], f_ID, f_ID[I], v_name, i_name, d_name, i2_name[I], d2_name[I] @@ -103,10 +104,12 @@ Syntax q = atom charge mux,muy,muz = orientation of dipole moment of atom mu = magnitude of dipole moment of atom - radius,diameter = radius,diameter of spherical particle + radius,diameter = radius, diameter of spherical particle omegax,omegay,omegaz = angular velocity of spherical particle angmomx,angmomy,angmomz = angular momentum of aspherical particle tqx,tqy,tqz = torque on finite-size particles + heatflux = flux of heat into particle + temperature = temperature of particle c_ID = per-atom vector calculated by a compute with ID c_ID[I] = Ith column of per-atom array calculated by a compute with ID, I can include wildcard (see below) f_ID = per-atom vector calculated by a fix with ID diff --git a/doc/src/pair_granular.rst b/doc/src/pair_granular.rst index 6f84b0d9c7..9a99558653 100644 --- a/doc/src/pair_granular.rst +++ b/doc/src/pair_granular.rst @@ -37,6 +37,9 @@ Examples pair_coeff 1 1 dmt 1000.0 50.0 0.3 0.0 tangential mindlin NULL 0.5 0.5 rolling sds 500.0 200.0 0.5 twisting marshall pair_coeff 2 2 dmt 1000.0 50.0 0.3 10.0 tangential mindlin NULL 0.5 0.1 rolling sds 500.0 200.0 0.1 twisting marshall + pair_style granular + pair_coeff * * hertz 1000.0 50.0 tangential mindlin 1000.0 1.0 0.4 heat 0.1 + Description """"""""""" @@ -631,6 +634,13 @@ attractive force. This keyword cannot be used with the JKR or DMT models. ---------- +The optional *heat* keyword enables heat conduction and it must be followed by +a non-negative numeric value for the conductivity. Note that the *heat* keyword +must be included in either all or none of of the *pair_coeff* calls. See +:doc:`fix temp/integrate ` for more information on this option. + +---------- + The *granular* pair style can reproduce the behavior of the *pair gran/\** styles with the appropriate settings (some very minor differences can be expected due to corrections in diff --git a/src/GRANULAR/atom_vec_sphere_temp.cpp b/src/GRANULAR/atom_vec_sphere_temp.cpp index d4e30e3154..a455a9ddc8 100644 --- a/src/GRANULAR/atom_vec_sphere_temp.cpp +++ b/src/GRANULAR/atom_vec_sphere_temp.cpp @@ -28,6 +28,7 @@ using namespace MathConst; AtomVecSphereTemp::AtomVecSphereTemp(LAMMPS *lmp) : AtomVec(lmp) { mass_type = PER_ATOM; + forceclearflag = 1; molecular = Atom::ATOMIC; atom->sphere_flag = 1; @@ -107,6 +108,16 @@ void AtomVecSphereTemp::grow_pointers() omega = atom->omega; } +/* ---------------------------------------------------------------------- + clear extra forces starting at atom N + nbytes = # of bytes to clear for a per-atom vector +------------------------------------------------------------------------- */ + +void AtomVecSphereTemp::force_clear(int n, size_t nbytes) +{ + memset(&heatflux[n], 0, nbytes); +} + /* ---------------------------------------------------------------------- initialize non-zero atom quantities ------------------------------------------------------------------------- */ diff --git a/src/GRANULAR/atom_vec_sphere_temp.h b/src/GRANULAR/atom_vec_sphere_temp.h index f42b844886..70e047a8cc 100644 --- a/src/GRANULAR/atom_vec_sphere_temp.h +++ b/src/GRANULAR/atom_vec_sphere_temp.h @@ -31,6 +31,7 @@ class AtomVecSphereTemp : public AtomVec { void init() override; void grow_pointers() override; + void force_clear(int, size_t) override; void create_atom_post(int) override; void data_atom_post(int) override; void pack_data_pre(int) override; diff --git a/src/GRANULAR/contact.cpp b/src/GRANULAR/contact.cpp index 3cea933370..b4b335a1aa 100644 --- a/src/GRANULAR/contact.cpp +++ b/src/GRANULAR/contact.cpp @@ -17,28 +17,18 @@ and torques based on contact geometry */ -#include #include "contact.h" +#include "math_const.h" +#include "math_extra.h" +#include "pointers.h" -namespace LAMMPS_NS { - namespace Contact{ +#include -enum {HOOKE, HERTZ, HERTZ_MATERIAL, DMT, JKR}; -enum {VELOCITY, MASS_VELOCITY, VISCOELASTIC, TSUJI}; -enum {TANGENTIAL_NOHISTORY, TANGENTIAL_HISTORY, - TANGENTIAL_MINDLIN, TANGENTIAL_MINDLIN_RESCALE, - TANGENTIAL_MINDLIN_FORCE, TANGENTIAL_MINDLIN_RESCALE_FORCE}; -enum {TWIST_NONE, TWIST_SDS, TWIST_MARSHALL}; -enum {ROLL_NONE, ROLL_SDS}; +using namespace LAMMPS_NS; +using namespace MathExtra; +using namespace MathConst; -#define PI27SQ 266.47931882941264802866 // 27*PI**2 -#define THREEROOT3 5.19615242270663202362 // 3*sqrt(3) -#define SIXROOT6 14.69693845669906728801 // 6*sqrt(6) -#define INVROOT6 0.40824829046386307274 // 1/sqrt(6) -#define FOURTHIRDS (4.0/3.0) // 4/3 -#define THREEQUARTERS 0.75 // 3/4 - -#define EPSILON 1e-10 +namespace Contact { ContactModel::ContactModel() { @@ -69,8 +59,8 @@ bool ContactModel::check_contact() { check_flag = 1; - MathExtra::sub3(xi, xj, dx); - rsq = MathExtra::lensq3(dx); + sub3(xi, xj, dx); + rsq = lensq3(dx); radsum = radi + radj; Reff = radi*radj/radsum; @@ -78,7 +68,7 @@ bool ContactModel::check_contact() if (normal_model == JKR) touch = touch_JKR(touch); else touch = (rsq < radsum*radsum); - return touch + return touch; } /* ---------------------------------------------------------------------- */ @@ -91,57 +81,57 @@ void ContactModel::prep_contact() if (check_flag != 1) touch = check_contact(); if (!touch) return; + double temp[3]; + // Set flags mindlin_rescale = mindlin_force = 0; if (tangential_model == TANGENTIAL_MINDLIN_RESCALE || tangential_model == TANGENTIAL_MINDLIN_RESCALE_FORCE) - mindlin_rescale = 1 + mindlin_rescale = 1; if (tangential_model == TANGENTIAL_MINDLIN_FORCE || tangential_model == TANGENTIAL_MINDLIN_RESCALE_FORCE) - mindlin_force = 1 - - double temp[3]; + mindlin_force = 1; // Standard geometric quantities r = sqrt(rsq); rinv = 1.0/r; delta = radsum - r; - dR = delta*Reff - MathExtra::scale3(rinv, dx, nx); + dR = delta*Reff; + scale3(rinv, dx, nx); // relative translational velocity - MathExtra::sub3(v[i], v[j], vr); + sub3(vi, vj, vr); // normal component - vnnr = MathExtra::dot3(vr, nx); //v_R . n - MathExtra::scale3(vnnr, nx, vn); + vnnr = dot3(vr, nx); //v_R . n + scale3(vnnr, nx, vn); // tangential component - MathExtra::sub3(vr, vn, vt); + sub3(vr, vn, vt); // relative rotational velocity - MathExtra::scaleadd3(radi, omegai, radj, omegaj, wr); + scaleadd3(radi, omegai, radj, omegaj, wr); // relative tangential velocities - MathExtra::cross3(wr, nx, temp); - MathExtra::sub3(vt, temp, vtr); - vrel = MathExtra::len(vtr); + cross3(wr, nx, temp); + sub3(vt, temp, vtr); + vrel = len3(vtr); - if (roll_model != NONE || twist_model != NONE) - MathExtra::sub3(omega[i], omega[j], relrot); + if (roll_model != ROLL_NONE || twist_model != TWIST_NONE) + sub3(omegai, omegaj, relrot); - if (roll_model != NONE) { + if (roll_model != ROLL_NONE) { // rolling velocity, see eq. 31 of Wang et al, Particuology v 23, p 49 (2015) // this is different from the Marshall papers, which use the Bagi/Kuhn formulation // for rolling velocity (see Wang et al for why the latter is wrong) - vrl[0] = Reff * (relrot[1] * n[2] - relrot[2] * nx[1]); - vrl[1] = Reff * (relrot[2] * n[0] - relrot[0] * nx[2]); - vrl[2] = Reff * (relrot[0] * n[1] - relrot[1] * nx[0]); + vrl[0] = Reff * (relrot[1] * nx[2] - relrot[2] * nx[1]); + vrl[1] = Reff * (relrot[2] * nx[0] - relrot[0] * nx[2]); + vrl[2] = Reff * (relrot[0] * nx[1] - relrot[1] * nx[0]); } - if (twist_model != NONE) { + if (twist_model != TWIST_NONE) { // omega_T (eq 29 of Marshall) - magtwist = MathExtra::dot3(relrot, nx); + magtwist = dot3(relrot, nx); } } @@ -154,23 +144,23 @@ void ContactModel::calculate_forces(double *forces, double *torquesi, double *to if (prep_flag != 1) prep_contact(); if (!touch) { forces[0] = forces[1] = forces[2] = 0.0; - return + return; } //********************************************** // normal forces //********************************************** - // Also calculates: a, knfac, Fncrit + // Also calculates: a, knfac, Fncrit (for JKR or DMT) double Fne; if (normal_model == JKR) { Fne = normal_JKR(); } else if (normal_model == DMT) { Fne = normal_DMT(); } else if (normal_model == HERTZ || normal_model == HERTZ_MATERIAL) { - Fne = normal_hertz(); + Fne = normal_Hertz(); } else { - Fne = normal_hooke(); + Fne = normal_Hooke(); } // NOTE: consider restricting Hooke to only have @@ -178,9 +168,11 @@ void ContactModel::calculate_forces(double *forces, double *torquesi, double *to // Also calculates: damp_normal_prefactor double Fdamp = normal_damping(); - double Fntot = Fne + Fdamp; + Fntot = Fne + Fdamp; if (limit_damping && (Fntot < 0.0)) Fntot = 0.0; + if (normal_model != JKR && normal_model != DMT) Fncrit = fabs(Fntot); + //********************************************** // tangential force, including history effects //********************************************** @@ -190,15 +182,18 @@ void ContactModel::calculate_forces(double *forces, double *torquesi, double *to // For mindlin/force, mindlin_rescale/force: // history = cumulative tangential elastic force - Fncrit = critical_normal(Fne, Fntot, geom, model); Fscrit = mu_tang * Fncrit; - if (tangential_model == TANGENTIAL_NOHISTORY) { - tangential_no_history(); + if (tangential_model == TANGENTIAL_MINDLIN || + tangential_model == TANGENTIAL_MINDLIN_FORCE || + tangential_model == TANGENTIAL_MINDLIN_RESCALE || + tangential_model == TANGENTIAL_MINDLIN_RESCALE_FORCE) { + tangential_mindlin(history); } else if (tangential_model == TANGENTIAL_HISTORY) { tangential_history(history); + } else { + tangential_no_history(); } - tangential_forces(history); //********************************************** // rolling force @@ -212,50 +207,63 @@ void ContactModel::calculate_forces(double *forces, double *torquesi, double *to //**************************************** if (twist_model == TWIST_MARSHALL) { - twist_marshall(history); + twisting_marshall(history); } else if (twist_model == TWIST_SDS) { - twist_SDS(history); + twisting_SDS(history); } //********************************************** // sum contributions //********************************************** - MathExtra::scale3(Fntot, nx, forces); - MathExtra::add3(forces, fs, forces); + scale3(Fntot, nx, forces); + add3(forces, fs, forces); - MathExtra::cross3(nx, fs, torquesi); - MathExtra::copy3(torquesi, torquesj); + cross3(nx, fs, torquesi); + copy3(torquesi, torquesj); double dist_to_contact = radi-0.5*delta; - MathExtra::scale3(dist_to_contact, torquesi); + scale3(dist_to_contact, torquesi); dist_to_contact = radj-0.5*delta; - MathExtra::scale3(dist_to_contact, torquesj); + scale3(dist_to_contact, torquesj); double torroll[3]; if (roll_model != ROLL_NONE) { - MathExtra::cross3(nx, fr, torroll); - MathExtra::scale3(Reff, torroll); - MathExtra::add3(torquesi, torroll, torquesi); - MathExtra::sub3(torquesj, torroll, torquesj); + cross3(nx, fr, torroll); + scale3(Reff, torroll); + add3(torquesi, torroll, torquesi); + sub3(torquesj, torroll, torquesj); } double tortwist[3]; - if (twist_model != NONE_TWIST) { - MathExtra::scale3(magtortwist, nx, tortwist); - MathExtra::add3(torquesi, tortwist, torquesi) - MathExtra::sub3(torquesj, tortwist, torquesj) + if (twist_model != TWIST_NONE) { + scale3(magtortwist, nx, tortwist); + add3(torquesi, tortwist, torquesi); + sub3(torquesj, tortwist, torquesj); } } /* ---------------------------------------------------------------------- */ -double ContactModel::touch_JKR(int touch) +double ContactModel::calculate_heat() +{ + double dT = Ti - Tj; + double Hc; + + //Dan is Emod the youngs modulus for all models? or do I need to scale? + Hc = 2 * conductivity * pow(FOURTHIRDS * Fntot * Reff / Emod, ONETHIRD); + + return Hc * dT; +} + +/* ---------------------------------------------------------------------- */ + +bool ContactModel::touch_JKR(int touch) { double Escaled, R2, delta_pulloff, dist_pulloff; bool touchflag; - Escaled = E*THREEQUARTERS; + Escaled = k_norm * THREEQUARTERS; if (touch) { R2 = Reff * Reff; a = cbrt(9.0 * MY_PI * cohesion * R2 / (4 * Escaled)); @@ -272,66 +280,68 @@ double ContactModel::touch_JKR(int touch) double ContactModel::normal_JKR() { - double R2, dR2, t0, t1, t2, t3, t4, t5, t6; - double sqrt1, sqrt2, sqrt3, a, a2, F_pulloff; + double Escaled, R2, dR2, t0, t1, t2, t3, t4, t5, t6; + double sqrt1, sqrt2, sqrt3, a, a2, F_pulloff, Fne; + + Escaled = k_norm * THREEQUARTERS; R2 = Reff * Reff; dR2 = dR * dR; - t0 = cohesion * cohesion * R2 * R2 * E; + t0 = cohesion * cohesion * R2 * R2 * Escaled; t1 = PI27SQ*t0; - t2 = 8 * dR * dR2 * E * E * E; - t3 = 4 * dR2 * E; + t2 = 8 * dR * dR2 * Escaled * Escaled * Escaled; + t3 = 4 * dR2 * Escaled; // in case sqrt(0) < 0 due to precision issues sqrt1 = MAX(0, t0 * (t1 + 2 * t2)); t4 = cbrt(t1 + t2 + THREEROOT3 * MY_PI * sqrt(sqrt1)); - t5 = t3 / t4 + t4 / E; + t5 = t3 / t4 + t4 / Escaled; sqrt2 = MAX(0, 2 * dR + t5); t6 = sqrt(sqrt2); - sqrt3 = MAX(0, 4 * dR - t5 + SIXROOT6 * cohesion * MY_PI * R2 / (E * t6)); + sqrt3 = MAX(0, 4 * dR - t5 + SIXROOT6 * cohesion * MY_PI * R2 / (Escaled * t6)); a = INVROOT6 * (t6 + sqrt(sqrt3)); a2 = a * a; - double Fne = E * a * a2 / Reff - MY_2PI * a2 * sqrt(4 * cohesion * E / (MY_PI * a)); - double F_pulloff = 3 * MY_PI * cohesion * Reff; + Fne = Escaled * a * a2 / Reff - MY_2PI * a2 * sqrt(4 * cohesion * Escaled / (MY_PI * a)); + F_pulloff = 3 * MY_PI * cohesion * Reff; - knfac = E * a; - Fncrit = fabs(Fne + 2*F_pulloff); + knfac = Escaled * a; + Fncrit = fabs(Fne + 2 * F_pulloff); return Fne; } /* ---------------------------------------------------------------------- */ -double ContactModel::normal_DMT(double &Fne) +double ContactModel::normal_DMT() { a = sqrt(dR); - double Fne = a * E * delta; + double Fne = a * k_norm * delta; Fne -= 4 * MY_PI * cohesion * Reff; - F_pulloff = 4 * MY_PI * cohesion * Reff; + double F_pulloff = 4 * MY_PI * cohesion * Reff; - knfac = E * a; - Fncrit = fabs(Fne + 2*F_pulloff); + knfac = k_norm * a; + Fncrit = fabs(Fne + 2 * F_pulloff); return Fne; } /* ---------------------------------------------------------------------- */ -double ContactModel::normal_Hertz(double &Fne) +double ContactModel::normal_Hertz() { a = sqrt(dR); - double Fne = E * delta * a; + double Fne = k_norm * delta * a; - knfac = E * a; + knfac = k_norm * a; return Fne; } /* ---------------------------------------------------------------------- */ -double ContactModel::normal_Hooke(double &Fne) +double ContactModel::normal_Hooke() { a = sqrt(dR); - double Fne = E * delta; + double Fne = k_norm * delta; - knfac = E; + knfac = k_norm; return Fne; } @@ -356,7 +366,7 @@ double ContactModel::normal_damping() /* ---------------------------------------------------------------------- */ -double ContactModel::tangential_no_history() +void ContactModel::tangential_no_history() { double gamma_scaled = gamma_tang * damp_normal_prefactor; double fsmag, Ft; @@ -367,100 +377,100 @@ double ContactModel::tangential_no_history() else Ft = 0.0; Ft = -Ft; - MathExtra::scale3(Ft, vtr, fs); + scale3(Ft, vtr, fs); } /* ---------------------------------------------------------------------- */ -double ContactModel::tangential_forces(double *history) +void ContactModel::tangential_history(double *history) { double gamma_scaled = gamma_tang * damp_normal_prefactor; double k = k_tang; int frame_update = 0; - double fsmag, rsht, shrmag, prjmag, temp_dbl, temp_array[3]; + double magfs, rsht, shrmag, prjmag, temp_dbl, temp_array[3]; // rotate and update displacements / force. // see e.g. eq. 17 of Luding, Gran. Matter 2008, v10,p235 if (history_update) { - rsht = MathExtra::dot(history, nx); - frameupdate = fabs(rsht) * k > EPSILON * Fscrit; + rsht = dot3(history, nx); + frame_update = fabs(rsht) * k > EPSILON * Fscrit; - if (frameupdate) { - shrmag = MathExtra::len3(history); + if (frame_update) { + shrmag = len3(history); // projection - MathExtra::scale3(rsht, nx, history); + scale3(rsht, nx, history); // also rescale to preserve magnitude - prjmag = MathExtra::len3(history); - if (prjmag > 0) temp_double = shrmag / prjmag; - else temp_double = 0; - MathExtra::scale3(temp_double, history); + prjmag = len3(history); + if (prjmag > 0) temp_dbl = shrmag / prjmag; + else temp_dbl = 0; + scale3(temp_dbl, history); } // update history // tangential force // see e.g. eq. 18 of Thornton et al, Pow. Tech. 2013, v223,p30-46 temp_dbl = k * dt; - MathExtra::scale3(temp_dbl, vtr, temp_array); - MathExtra::sub3(history, temp_array, history); + scale3(temp_dbl, vtr, temp_array); + sub3(history, temp_array, history); } // tangential forces = history + tangential velocity damping - temp_double = -gamma; - MathExtra::scale3(temp_double, vtr, fs); + temp_dbl = -gamma_norm; + scale3(temp_dbl, vtr, fs); // rescale frictional displacements and forces if needed - fsmag = MathExtra::len3(fs); - if (fsmag > Fscrit) { - shrmag = MathExtra::len3(history); + magfs = len3(fs); + if (magfs > Fscrit) { + shrmag = len3(history); if (shrmag != 0.0) { - temp_double = Fscrit / magfs; - MathExtra::scale3(temp_double, fs, history); - MathExtra::scale3(gamma, vtr, temp_array); - MathExtra::add3(history, temp_array, history); - temp_double = Fscrit / magfs; - MathExtra::scale3(temp_double, fs); + temp_dbl = Fscrit / magfs; + scale3(temp_dbl, fs, history); + scale3(gamma_norm, vtr, temp_array); + add3(history, temp_array, history); + temp_dbl = Fscrit / magfs; + scale3(temp_dbl, fs); } else { - MathExtra::zero3(fs); + zero3(fs); } } } /* ---------------------------------------------------------------------- */ -double ContactModel::tangential_mindlin(double *history) +void ContactModel::tangential_mindlin(double *history) { - double k_scaled, gamma_scaled, fsmag, rsht, shrmag, prjmag, temp_dbl; + double k_scaled, gamma_scaled, magfs, rsht, shrmag, prjmag, temp_dbl; double temp_array[3]; int frame_update = 0; gamma_scaled = gamma_tang * damp_normal_prefactor; - k_scaled = k_tange * a; + k_scaled = k_tang * a; if (mindlin_rescale) { // on unloading, rescale the shear displacements/force if (a < history[3]) { - temp_double = a / history[3]; - MathExtra::scale3(temp_double, history); + temp_dbl = a / history[3]; + scale3(temp_dbl, history); } } // rotate and update displacements / force. // see e.g. eq. 17 of Luding, Gran. Matter 2008, v10,p235 if (history_update) { - rsht = MathExtra::dot(history, nx); + rsht = dot3(history, nx); if (mindlin_force) - frameupdate = fabs(rsht) > EPSILON * Fscrit; + frame_update = fabs(rsht) > EPSILON * Fscrit; else - frameupdate = fabs(rsht) * k_scaled > EPSILON * Fscrit; + frame_update = fabs(rsht) * k_scaled > EPSILON * Fscrit; - if (frameupdate) { - shrmag = MathExtra::len3(history); + if (frame_update) { + shrmag = len3(history); // projection - MathExtra::scale3(rsht, nx, history); + scale3(rsht, nx, history); // also rescale to preserve magnitude - prjmag = MathExtra::len3(history); - if (prjmag > 0) temp_double = shrmag / prjmag; - else temp_double = 0; - MathExtra::scale3(temp_double, history); + prjmag = len3(history); + if (prjmag > 0) temp_dbl = shrmag / prjmag; + else temp_dbl = 0; + scale3(temp_dbl, history); } // update history @@ -468,51 +478,51 @@ double ContactModel::tangential_mindlin(double *history) // tangential force // see e.g. eq. 18 of Thornton et al, Pow. Tech. 2013, v223,p30-46 temp_dbl = -k_scaled * dt; - MathExtra::scale3(temp_dbl, vtr, temp_array); + scale3(temp_dbl, vtr, temp_array); } else { - MathExtra::scale3(dt, vtr, temp_array); + scale3(dt, vtr, temp_array); } - MathExtra::add3(history, temp_array, history); + add3(history, temp_array, history); if (mindlin_rescale) history[3] = a; } // tangential forces = history + tangential velocity damping - temp_double = -gamma_scaled; - MathExtra::scale3(temp_double, vtr, fs); + temp_dbl = -gamma_scaled; + scale3(temp_dbl, vtr, fs); if (! mindlin_force) { - MathExtra::scale3(k_scaled, history, temp_array); - MathExtra::add3(fs, temp_array, fs); + scale3(k_scaled, history, temp_array); + add3(fs, temp_array, fs); } // rescale frictional displacements and forces if needed - fsmag = MathExtra::len3(fs); - if (fsmag > Fscrit) { - shrmag = MathExtra::len3(history); + magfs = len3(fs); + if (magfs > Fscrit) { + shrmag = len3(history); if (shrmag != 0.0) { - temp_double = Fscrit / magfs; - MathExtra::scale3(temp_double, fs, history); - MathExtra::scale3(gamma, vtr, temp_array); - MathExtra::add3(history, temp_array, history); + temp_dbl = Fscrit / magfs; + scale3(temp_dbl, fs, history); + scale3(gamma_tang, vtr, temp_array); + add3(history, temp_array, history); if (! mindlin_force) { - temp_double = -1.0 / k; - MathExtra::scale3(temp_double, history); + temp_dbl = -1.0 / k_tang; + scale3(temp_dbl, history); } - temp_double = Fscrit / magfs; - MathExtra::scale3(temp_double, fs); + temp_dbl = Fscrit / magfs; + scale3(temp_dbl, fs); } else { - MathExtra::zero3(fs); + zero3(fs); } } } /* ---------------------------------------------------------------------- */ -double ContactModel::rolling(double *history) +void ContactModel::rolling(double *history) { int rhist0, rhist1, rhist2, frameupdate; - double rolldotn, rollmag, prjmag, magfr, hist_temp[3], temp_array[3]; + double rolldotn, rollmag, prjmag, magfr, hist_temp[3], temp_dbl, temp_array[3]; rhist0 = roll_history_index; rhist1 = rhist0 + 1; @@ -524,46 +534,47 @@ double ContactModel::rolling(double *history) hist_temp[0] = history[rhist0]; hist_temp[1] = history[rhist1]; hist_temp[2] = history[rhist2]; - rolldotn = MathExtra::dot3(hist_temp, nx); + rolldotn = dot3(hist_temp, nx); frameupdate = fabs(rolldotn)*k_roll > EPSILON*Frcrit; if (frameupdate) { // rotate into tangential plane - rollmag = MathExtra::len3(temp); + rollmag = len3(hist_temp); // projection - temp_double = -rolldotn; - MathExtra::scale3(temp_double, nx, temp); + temp_dbl = -rolldotn; + scale3(temp_dbl, nx, temp_array); + sub3(hist_temp, temp_array, hist_temp); // also rescale to preserve magnitude - prjmag = MathExtra::len3(hist_temp); - if (prjmag > 0) temp_double = rollmag / prjmag; - else temp_double = 0; - MathExtra::scale3(temp_double, hist_temp); + prjmag = len3(hist_temp); + if (prjmag > 0) temp_dbl = rollmag / prjmag; + else temp_dbl = 0; + scale3(temp_dbl, hist_temp); } - MathExtra::scale3(dt, vrl, temp_array); - MathExtra::add3(hist_temp, temp_array, hist_temp) + scale3(dt, vrl, temp_array); + add3(hist_temp, temp_array, hist_temp); } - MathExtra::scaleadd3(k_roll, hist_tepm, gamma_roll, vrl, fr); - MathExtra::negate3(fr); + scaleadd3(k_roll, hist_temp, gamma_roll, vrl, fr); + negate3(fr); // rescale frictional displacements and forces if needed - magfr = MathExtra::len3(fr); + magfr = len3(fr); if (magfr > Frcrit) { - rollmag = MathExtra::len3(temp); + rollmag = len3(hist_temp); if (rollmag != 0.0) { - temp_double = -Frcrit / (magfr * k_roll); - MathExtra::scale3(temp_double, fr, temp_array); - MathExtra::add3(hist_temp, temp_array, hist_temp); + temp_dbl = -Frcrit / (magfr * k_roll); + scale3(temp_dbl, fr, temp_array); + add3(hist_temp, temp_array, hist_temp); - temp_double = -gamma_roll/k_roll; - MathExtra::scale3(temp_double, vrl, temp_array); - MathExtra::add3(hist_temp, temp_array, hist_temp) + temp_dbl = -gamma_roll/k_roll; + scale3(temp_dbl, vrl, temp_array); + add3(hist_temp, temp_array, hist_temp); - temp_double = Frcrit / magfr; - MathExtra::scale3(temp_double, fr); + temp_dbl = Frcrit / magfr; + scale3(temp_dbl, fr); } else { - MathExtra::zero3(fr); + zero3(fr); } } @@ -574,27 +585,27 @@ double ContactModel::rolling(double *history) /* ---------------------------------------------------------------------- */ -double ContactModel::twisting_marshall(double *history) +void ContactModel::twisting_marshall(double *history) { // Overwrite twist coefficients with derived values - k_twist = 0.5 * k_tangential * a * a; // eq 32 of Marshall paper - gamma_twist = 0.5 * gamma_tangential * a * a; - mu_twist = TWOTHIRDS * a * mu_tangential; + k_twist = 0.5 * k_tang * a * a; // eq 32 of Marshall paper + gamma_twist = 0.5 * gamma_tang * a * a; + mu_twist = TWOTHIRDS * a * mu_tang; twisting_SDS(history); } /* ---------------------------------------------------------------------- */ -double ContactModel::twisting_SDS(double *history) +void ContactModel::twisting_SDS(double *history) { double signtwist, Mtcrit; - if (historyupdate) { + if (history_update) { history[twist_history_index] += magtwist * dt; } - magtortwist = -k_twist * history[twist_history_index] - damp_twist*magtwist; // M_t torque (eq 30) + magtortwist = -k_twist * history[twist_history_index] - gamma_twist*magtwist; // M_t torque (eq 30) signtwist = (magtwist > 0) - (magtwist < 0); Mtcrit = mu_twist * Fncrit; // critical torque (eq 44) if (fabs(magtortwist) > Mtcrit) { @@ -616,9 +627,9 @@ double ContactModel::pulloff_distance(double radi, double radj) Reff_tmp = radi * radj / (radi + radj); if (Reff_tmp <= 0) return 0; - Ecaled = E * THREEQUARTERS; + Ecaled = k_norm * THREEQUARTERS; a_tmp = cbrt(9 * MY_PI * cohesion * Reff_tmp * Reff_tmp / (4 * Ecaled)); return a_tmp * a_tmp / Reff_tmp - 2 * sqrt(MY_PI * cohesion * a_tmp / Ecaled); } -}} +} diff --git a/src/GRANULAR/contact.h b/src/GRANULAR/contact.h index a5b5d23463..167f88e9de 100644 --- a/src/GRANULAR/contact.h +++ b/src/GRANULAR/contact.h @@ -11,14 +11,29 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#ifndef LMP_CONTACT -_H -#define LMP_CONTACT -_H +#ifndef LMP_CONTACT_H +#define LMP_CONTACT_H -namespace LAMMPS_NS { namespace Contact { + enum {HOOKE, HERTZ, HERTZ_MATERIAL, DMT, JKR}; + enum {VELOCITY, MASS_VELOCITY, VISCOELASTIC, TSUJI}; + enum {TANGENTIAL_NOHISTORY, TANGENTIAL_HISTORY, + TANGENTIAL_MINDLIN, TANGENTIAL_MINDLIN_RESCALE, + TANGENTIAL_MINDLIN_FORCE, TANGENTIAL_MINDLIN_RESCALE_FORCE}; + enum {TWIST_NONE, TWIST_SDS, TWIST_MARSHALL}; + enum {ROLL_NONE, ROLL_SDS}; + + #define PI27SQ 266.47931882941264802866 // 27*PI**2 + #define THREEROOT3 5.19615242270663202362 // 3*sqrt(3) + #define SIXROOT6 14.69693845669906728801 // 6*sqrt(6) + #define INVROOT6 0.40824829046386307274 // 1/sqrt(6) + #define FOURTHIRDS (4.0/3.0) // 4/3 + #define ONETHIRD (1.0/3.0) // 1/3 + #define THREEQUARTERS 0.75 // 3/4 + + #define EPSILON 1e-10 + class ContactModel { public: ContactModel(); @@ -26,6 +41,7 @@ namespace Contact { bool check_contact(); void prep_contact(); void calculate_forces(double *, double *, double *, double *); + double calculate_heat(); double pulloff_distance(double, double); int normal_model, damping_model, tangential_model; @@ -37,23 +53,25 @@ namespace Contact { double k_tang, gamma_tang, mu_tang; // tangential_coeffs - wutang? double k_roll, gamma_roll, mu_roll; // roll_coeffs double k_twist, gamma_twist, mu_twist; // twist_coeffs + double conductivity; - double radi, radj, meff, dt; - double xi[3], xj[3], vi[3], vj[3], omegai[3], omegaj[3]; + double radi, radj, meff, dt, Ti, Tj; + double *xi, *xj, *vi, *vj, *omegai, *omegaj; int history_update, roll_history_index, twist_history_index; + double fs[3], fr[3], ft[3], magtortwist; + private: - double a, knfac, Fncrit, Fscrit, Frcrit, damp_normal_prefactor; - double fs[3], fr[3], ft[3]; - double dx[3], nx[3], r, rsq, rinv, Reff, radsum, delta; - double vr[3], vn[3], vnnr, vt[3], wr[3], vtr[3], vrel; - double magtwist, magtortwist; + double a, knfac, Fntot, Fncrit, Fscrit, Frcrit, damp_normal_prefactor; + double dx[3], nx[3], r, rsq, rinv, Reff, radsum, delta, dR; + double vr[3], vn[3], vnnr, vt[3], wr[3], vtr[3], vrl[3], relrot[3], vrel; + double magtwist; bool touch; int prep_flag, check_flag; int mindlin_rescale, mindlin_force; - void touch_JKR(int); + bool touch_JKR(int); double normal_JKR(); double normal_DMT(); double normal_Hertz(); @@ -69,5 +87,5 @@ namespace Contact { }; } // namespace Contact -} // namespace LAMMPS_NS + #endif diff --git a/src/GRANULAR/fix_temp_integrate.cpp b/src/GRANULAR/fix_temp_integrate.cpp index bb351d7db4..f81442766b 100644 --- a/src/GRANULAR/fix_temp_integrate.cpp +++ b/src/GRANULAR/fix_temp_integrate.cpp @@ -36,27 +36,21 @@ FixTempIntegrate::FixTempIntegrate(LAMMPS *lmp, int narg, char **arg) : cp_style = NONE; int ntypes = atom->ntypes; - int iarg = 3; - while (iarg < narg) { - if (strcmp(arg[iarg+1],"constant") == 0) { - if (iarg+2 >= narg) error->all(FLERR,"Illegal fix command"); - cp_style = CONSTANT; - cp = utils::numeric(FLERR,arg[iarg+2],false,lmp); - if (cp < 0.0) error->all(FLERR,"Illegal fix command"); - iarg += 2; - } else if (strcmp(arg[iarg+1],"type") == 0) { - if (iarg+1+ntypes >= narg) error->all(FLERR,"Illegal fix command"); - cp_style = TYPE; - memory->create(cp_type,ntypes+1,"fix/temp/integrate:cp_type"); - for (int i = 1; i <= ntypes; i++) { - cp_type[i] = utils::numeric(FLERR,arg[iarg+1+i],false,lmp); - if (cp_type[i] < 0.0) error->all(FLERR,"Illegal fix command"); - } - iarg += 1+ntypes; - } else { - error->all(FLERR,"Illegal fix command"); + if (strcmp(arg[3],"constant") == 0) { + if (narg != 5) error->all(FLERR,"Illegal fix command"); + cp_style = CONSTANT; + cp = utils::numeric(FLERR,arg[4],false,lmp); + if (cp < 0.0) error->all(FLERR,"Illegal fix command"); + } else if (strcmp(arg[3],"type") == 0) { + if (narg != 4 + ntypes) error->all(FLERR,"Illegal fix command"); + cp_style = TYPE; + memory->create(cp_type,ntypes+1,"fix/temp/integrate:cp_type"); + for (int i = 1; i <= ntypes; i++) { + cp_type[i] = utils::numeric(FLERR,arg[3+i],false,lmp); + if (cp_type[i] < 0.0) error->all(FLERR,"Illegal fix command"); } - iarg += 1; + } else { + error->all(FLERR,"Illegal fix command"); } if (cp_style == NONE) diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index 61644df9c2..0047e24359 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -40,14 +40,13 @@ #include #include +#include using namespace LAMMPS_NS; using namespace MathConst; using namespace MathSpecial; using namespace Contact; - - /* ---------------------------------------------------------------------- */ PairGranular::PairGranular(LAMMPS *lmp) : Pair(lmp) @@ -70,10 +69,6 @@ PairGranular::PairGranular(LAMMPS *lmp) : Pair(lmp) maxrad_dynamic = nullptr; maxrad_frozen = nullptr; - models = nullptr; - - limit_damping = nullptr; - history_transfer_factors = nullptr; dt = update->dt; @@ -87,6 +82,7 @@ PairGranular::PairGranular(LAMMPS *lmp) : Pair(lmp) nondefault_history_transfer = 0; tangential_history_index = 0; roll_history_index = twist_history_index = 0; + heat_flag = 0; // create dummy fix as placeholder for FixNeighHistory // this is so final order of Modify:fix will conform to input script @@ -108,24 +104,6 @@ PairGranular::~PairGranular() if (allocated) { memory->destroy(setflag); memory->destroy(cutsq); - memory->destroy(cutoff_type); - - memory->destroy(models); - - memory->destroy(normal_coeffs); - memory->destroy(tangential_coeffs); - memory->destroy(roll_coeffs); - memory->destroy(twist_coeffs); - - memory->destroy(Emod); - memory->destroy(poiss); - - memory->destroy(normal_model); - memory->destroy(damping_model); - memory->destroy(tangential_model); - memory->destroy(roll_model); - memory->destroy(twist_model); - memory->destroy(limit_damping); delete [] onerad_dynamic; delete [] onerad_frozen; @@ -141,7 +119,7 @@ PairGranular::~PairGranular() void PairGranular::compute(int eflag, int vflag) { int i,j,ii,jj,inum,jnum,itype,jtype; - double factor_lj,mi,mj,meff; + double factor_lj,mi,mj,meff,delx,dely,delz; double forces[3], torquesi[3], torquesj[3]; int *ilist,*jlist,*numneigh,**firstneigh; @@ -184,6 +162,11 @@ void PairGranular::compute(int eflag, int vflag) int *mask = atom->mask; int nlocal = atom->nlocal; double *special_lj = force->special_lj; + double *heatflux, *temperature, dq; + if (heat_flag) { + heatflux = atom->heatflux; + temperature = atom->temperature; + } inum = list->inum; ilist = list->ilist; @@ -214,14 +197,13 @@ void PairGranular::compute(int eflag, int vflag) jtype = type[j]; // Reset model and copy initial geometric data - models[itype][jtype]->reset_contact(); + models[itype][jtype].reset_contact(); models[itype][jtype].xi = x[i]; models[itype][jtype].xj = x[j]; models[itype][jtype].radi = radius[i]; models[itype][jtype].radj = radius[j]; - - touchflag = models[itype][jtype]->check_contact(); + touchflag = models[itype][jtype].check_contact(); if (!touchflag) { // unset non-touching neighbors @@ -247,18 +229,21 @@ void PairGranular::compute(int eflag, int vflag) // Copy additional information and prepare force calculations models[itype][jtype].meff = meff; - models[itype][jtype].dt = dt; - models[itype][jtype].history_update = historyupdate; - models[itype][jtype].roll_history_index = roll_history_index; - models[itype][jtype].twist_history_index = twist_history_index; models[itype][jtype].vi = v[i]; models[itype][jtype].vj = v[j]; models[itype][jtype].omegai = omega[i]; models[itype][jtype].omegaj = omega[j]; - models[itype][jtype] -> prep_contact(); + models[itype][jtype].history_update = historyupdate; + models[itype][jtype].prep_contact(); + + if (heat_flag) { + models[itype][jtype].Ti = temperature[i]; + models[itype][jtype].Tj = temperature[j]; + } if (models[itype][jtype].normal_model == JKR) touch[jj] = 1; + // if any history is needed if (use_history) { touch[jj] = 1; @@ -266,22 +251,30 @@ void PairGranular::compute(int eflag, int vflag) } models[itype][jtype].calculate_forces(forces, torquesi, torquesj, history); + if (heat_flag) dq = models[itype][jtype].calculate_heat(); // apply forces & torques MathExtra::scale3(factor_lj, forces); MathExtra::add3(f[i], forces, f[i]); MathExtra::scale3(factor_lj, torquesi); - MathExtra::add3(torques[i], torquesi, torques[i]); + MathExtra::add3(torque[i], torquesi, torque[i]); + if (heat_flag) heatflux[i] += dq; if (force->newton_pair || j < nlocal) { MathExtra::sub3(f[j], forces, f[j]); MathExtra::scale3(factor_lj, torquesj); - MathExtra::add3(torques[j], torquesj, torques[j]); + MathExtra::add3(torque[j], torquesj, torque[j]); + if (heat_flag) heatflux[j] -= dq; } - if (evflag) ev_tally_xyz(i,j,nlocal,force->newton_pair, - 0.0,0.0,forces[0],forces[1],forces[2],dx[0],dy[1],dx[2]); + if (evflag) { + delx = x[i][0] - x[j][0]; + dely = x[i][1] - x[j][1]; + delz = x[i][2] - x[j][2]; + ev_tally_xyz(i,j,nlocal,force->newton_pair, + 0.0,0.0,forces[0],forces[1],forces[2],delx,dely,delz); + } } } } @@ -303,7 +296,9 @@ void PairGranular::allocate() memory->create(cutsq,n+1,n+1,"pair:cutsq"); memory->create(cutoff_type,n+1,n+1,"pair:cutoff_type"); - memory->create(models,n+1,n+1,"pair:models"); + for (int i = 0; i < n+1; i++) { + models.push_back(std::vector (n+1)); + } onerad_dynamic = new double[n+1]; onerad_frozen = new double[n+1]; @@ -341,6 +336,7 @@ void PairGranular::coeff(int narg, char **arg) double roll_coeffs_one[4]; double twist_coeffs_one[4]; + double conductivity_one; double cutoff_one = -1; if (narg < 2) @@ -535,6 +531,14 @@ void PairGranular::coeff(int narg, char **arg) } else if (strcmp(arg[iarg], "limit_damping") == 0) { ld_flag = 1; iarg += 1; + } else if (strcmp(arg[iarg], "heat") == 0) { + if (iarg + 1 >= narg) + error->all(FLERR, "Illegal pair_coeff command, not enough parameters"); + conductivity_one = utils::numeric(FLERR,arg[iarg+1],false,lmp); + if (conductivity_one < 0.0) + error->all(FLERR, "Illegal pair_coeff command, conductivity must be positive"); + heat_flag = 1; + iarg += 2; } else error->all(FLERR, "Illegal pair_coeff command"); } @@ -590,28 +594,29 @@ void PairGranular::coeff(int narg, char **arg) } else { models[i][j].k_tang = models[j][i].k_tang = tangential_coeffs_one[0]; } - models[i][j].gamma_tang = models[j][i]].gamma_tang = tangential_coeffs_one[1]; - models[i][j].mu_tang = models[j][i]].mu_tang = tangential_coeffs_one[2]; + models[i][j].gamma_tang = models[j][i].gamma_tang = tangential_coeffs_one[1]; + models[i][j].mu_tang = models[j][i].mu_tang = tangential_coeffs_one[2]; // Define rolling model - model[i][j].roll_model = model[j][i].roll_model = roll_model_one; + models[i][j].roll_model = models[j][i].roll_model = roll_model_one; if (roll_model_one != ROLL_NONE) { - model[i][j].k_roll = model[j][i].k_roll = roll_coeffs_one[0]; - model[i][j].gamma_roll = model[j][i].gamma_roll = roll_coeffs_one[1]; - model[i][j].mu_roll = model[j][i].mu_roll = roll_coeffs_one[2]; + models[i][j].k_roll = models[j][i].k_roll = roll_coeffs_one[0]; + models[i][j].gamma_roll = models[j][i].gamma_roll = roll_coeffs_one[1]; + models[i][j].mu_roll = models[j][i].mu_roll = roll_coeffs_one[2]; } // Define twisting model models[i][j].twist_model = models[j][i].twist_model = twist_model_one; if (twist_model_one != TWIST_NONE && twist_model_one != TWIST_MARSHALL) { - model[i][j].k_twist = model[j][i].k_twist = twist_coeffs_one[0]; - model[i][j].gamma_twist = model[j][i].gamma_twist = twist_coeffs_one[1]; - model[i][j].mu_twist = model[j][i].mu_twist = twist_coeffs_one[2]; + models[i][j].k_twist = models[j][i].k_twist = twist_coeffs_one[0]; + models[i][j].gamma_twist = models[j][i].gamma_twist = twist_coeffs_one[1]; + models[i][j].mu_twist = models[j][i].mu_twist = twist_coeffs_one[2]; } // Define extra options - model[i][j].cutoff_type = model[j][i].cutoff_type = cutoff_one; - model[i][j].limit_damping = model[j][i].limit_damping = ld_flag; + models[i][j].cutoff_type = models[j][i].cutoff_type = cutoff_one; + models[i][j].limit_damping = models[j][i].limit_damping = ld_flag; + models[i][j].conductivity = models[j][i].conductivity = conductivity_one; setflag[i][j] = 1; count++; @@ -666,8 +671,8 @@ void PairGranular::init_style() } for (int i = 1; i <= atom->ntypes; i++) for (int j = i; j <= atom->ntypes; j++) - if (model[i][j].tangential_model == TANGENTIAL_MINDLIN_RESCALE || - model[i][j].tangential_model == TANGENTIAL_MINDLIN_RESCALE_FORCE) { + if (models[i][j].tangential_model == TANGENTIAL_MINDLIN_RESCALE || + models[i][j].tangential_model == TANGENTIAL_MINDLIN_RESCALE_FORCE) { size_history += 1; roll_history_index += 1; twist_history_index += 1; @@ -785,7 +790,7 @@ double PairGranular::init_one(int i, int j) // Mix normal coefficients if (models[i][j].normal_model == HERTZ || models[i][j].normal_model == HOOKE) - models[i][j].k_norm = models[j][i][0].k_norm = + models[i][j].k_norm = models[j][i].k_norm = mix_geom(models[i][i].k_norm, models[j][j].k_norm); else models[i][j].k_norm = models[j][i].k_norm = @@ -794,7 +799,7 @@ double PairGranular::init_one(int i, int j) models[i][j].gamma_norm = models[j][i].gamma_norm = mix_geom(models[i][i].gamma_norm, models[j][j].gamma_norm); - if ((normal_model[i][j] == JKR) || (normal_model[i][j] == DMT)) + if ((models[i][j].normal_model == JKR) || (models[i][j].normal_model == DMT)) models[i][j].cohesion = models[j][i].cohesion = mix_geom(models[i][i].cohesion, models[j][j].cohesion); @@ -807,7 +812,7 @@ double PairGranular::init_one(int i, int j) mix_geom(models[i][i].mu_tang, models[j][j].mu_tang); // Mix rolling coefficients - if (models.roll_model[i][j] != ROLL_NONE) { + if (models[i][j].roll_model != ROLL_NONE) { models[i][j].k_roll = models[j][i].k_roll = mix_geom(models[i][i].k_roll, models[j][j].k_roll); models[i][j].gamma_roll = models[j][i].gamma_roll = @@ -825,8 +830,19 @@ double PairGranular::init_one(int i, int j) models[i][j].mu_twist = models[j][i].mu_twist = mix_geom(models[i][i].mu_twist, models[j][j].mu_twist); } + + models[i][j].limit_damping = models[j][i].limit_damping = + MAX(models[i][i].limit_damping, models[j][j].limit_damping); + if (heat_flag) { + models[i][j].conductivity = models[j][i].conductivity = + mix_geom(models[i][i].conductivity, models[j][j].conductivity); + } } + // Check if conductivity is undefined (negative) for any type combination + if (heat_flag && models[i][j].conductivity < 0.0) + error->all(FLERR, "To calculate heat, conductivity must be defined for all pair coeff"); + // It is possible that cut[i][j] at this point is still 0.0. // This can happen when // there is a future fix_pour after the current run. A cut[i][j] = 0.0 creates @@ -843,14 +859,14 @@ double PairGranular::init_one(int i, int j) ((maxrad_frozen[i] > 0.0) && (maxrad_dynamic[j] > 0.0))) { cutoff = maxrad_dynamic[i] + maxrad_dynamic[j]; pulloff = 0.0; - if (normal_model[i][j] == JKR) { - pulloff = models[i][j]->pulloff_distance(maxrad_dynamic[i], maxrad_dynamic[j]); + if (models[i][j].normal_model == JKR) { + pulloff = models[i][j].pulloff_distance(maxrad_dynamic[i], maxrad_dynamic[j]); cutoff += pulloff; - pulloff = models[i][j]->pulloff_distance(maxrad_frozen[i], maxrad_dynamic[j]); + pulloff = models[i][j].pulloff_distance(maxrad_frozen[i], maxrad_dynamic[j]); cutoff = MAX(cutoff, maxrad_frozen[i] + maxrad_dynamic[j] + pulloff); - pulloff = models[i][j]->pulloff_distance(maxrad_dynamic[i], maxrad_frozen[j]); + pulloff = models[i][j].pulloff_distance(maxrad_dynamic[i], maxrad_frozen[j]); cutoff = MAX(cutoff,maxrad_dynamic[i] + maxrad_frozen[j] + pulloff); } } else { @@ -872,6 +888,11 @@ double PairGranular::init_one(int i, int j) cutoff = cutoff_global; } + // Copy global options + models[i][j].dt = dt; + models[i][j].roll_history_index = roll_history_index; + models[i][j].twist_history_index = twist_history_index; + return cutoff; } @@ -982,26 +1003,114 @@ void PairGranular::reset_dt() double PairGranular::single(int i, int j, int itype, int jtype, double rsq, double /* factor_coul */, - double /* factor_lj */, double &fforce) + double factor_lj, double &fforce) { + if (factor_lj == 0) { + fforce = 0.0; + for (int m = 0; m < single_extra; m++) svector[m] = 0.0; + return 0.0; + } - fforce = Fntot*rinv; + int jnum; + int *jlist; + double *history,*allhistory; + + int nall = atom->nlocal + atom->nghost; + if ((i >= nall) || (j >= nall)) + error->all(FLERR,"Not enough atoms for pair granular single function"); + + + int touchflag; + double **x = atom->x; + double *radius = atom->radius; + + // Reset model and copy initial geometric data + models[itype][jtype].reset_contact(); + models[itype][jtype].xi = x[i]; + models[itype][jtype].xj = x[j]; + models[itype][jtype].radi = radius[i]; + models[itype][jtype].radj = radius[j]; + models[i][j].history_update = 0; // Don't update history + + touchflag = models[itype][jtype].check_contact(); + + if (!touchflag) { + fforce = 0.0; + for (int m = 0; m < single_extra; m++) svector[m] = 0.0; + return 0.0; + } + + // meff = effective mass of pair of particles + // if I or J part of rigid body, use body mass + // if I or J is frozen, meff is other particle + double mi, mj, meff; + double *rmass = atom->rmass; + int *mask = atom->mask; + + mi = rmass[i]; + mj = rmass[j]; + if (fix_rigid) { + if (mass_rigid[i] > 0.0) mi = mass_rigid[i]; + if (mass_rigid[j] > 0.0) mj = mass_rigid[j]; + } + meff = mi * mj / (mi + mj); + if (mask[i] & freeze_group_bit) meff = mj; + if (mask[j] & freeze_group_bit) meff = mi; + + // Copy additional information and prepare force calculations + double **v = atom->v; + double **omega = atom->omega; + + models[itype][jtype].meff = meff; + models[itype][jtype].vi = v[i]; + models[itype][jtype].vj = v[j]; + models[itype][jtype].omegai = omega[i]; + models[itype][jtype].omegaj = omega[j]; + models[itype][jtype].prep_contact(); + + // if any history is needed + + jnum = list->numneigh[i]; + jlist = list->firstneigh[i]; + + if (use_history) { + if ((fix_history == nullptr) || (fix_history->firstvalue == nullptr)) + error->one(FLERR,"Pair granular single computation needs history"); + allhistory = fix_history->firstvalue[i]; + for (int jj = 0; jj < jnum; jj++) { + neighprev++; + if (neighprev >= jnum) neighprev = 0; + if (jlist[neighprev] == j) break; + } + history = &allhistory[size_history*neighprev]; + } + + double forces[3], torquesi[3], torquesj[3]; + models[itype][jtype].calculate_forces(forces, torquesi, torquesj, history); + + // apply forces & torques + fforce = MathExtra::len3(forces); // set single_extra quantities - svector[0] = fs1; - svector[1] = fs2; - svector[2] = fs3; - svector[3] = fs; - svector[4] = fr1; - svector[5] = fr2; - svector[6] = fr3; - svector[7] = fr; - svector[8] = magtortwist; + double delx = x[i][0] - x[j][0]; + double dely = x[i][1] - x[j][1]; + double delz = x[i][2] - x[j][2]; + + svector[0] = models[itype][jtype].fs[0]; + svector[1] = models[itype][jtype].fs[1]; + svector[2] = models[itype][jtype].fs[2]; + svector[3] = MathExtra::len3(models[itype][jtype].fs); + svector[4] = models[itype][jtype].fr[0]; + svector[5] = models[itype][jtype].fr[1]; + svector[6] = models[itype][jtype].fr[2]; + svector[7] = MathExtra::len3(models[itype][jtype].fr); + svector[8] = models[itype][jtype].magtortwist; svector[9] = delx; svector[10] = dely; svector[11] = delz; + return 0.0; } @@ -1117,7 +1226,7 @@ double PairGranular::radii2cut(double r1, double r2) for (int i = 0; i < n; i++){ for (int j = 0; j < n; j++){ if (models[i][j].normal_model == JKR) { - temp = pulloff_distance(r1, r2); + temp = models[i][j].pulloff_distance(r1, r2); if (temp > cut) cut = temp; } } diff --git a/src/GRANULAR/pair_granular.h b/src/GRANULAR/pair_granular.h index 509981d5f9..3440d60e29 100644 --- a/src/GRANULAR/pair_granular.h +++ b/src/GRANULAR/pair_granular.h @@ -20,7 +20,9 @@ PairStyle(granular,PairGranular); #ifndef LMP_PAIR_GRANULAR_H #define LMP_PAIR_GRANULAR_H +#include "contact.h" #include "pair.h" +#include namespace LAMMPS_NS { @@ -68,9 +70,10 @@ class PairGranular : public Pair { private: int size_history; int *history_transfer_factors; + int heat_flag; // contact models - ContactModel **models; + std::vector > models; // history flags int normal_history, tangential_history, roll_history, twist_history; diff --git a/src/contact.cpp b/src/contact.cpp index b7d5d4d85d..b4b335a1aa 100644 --- a/src/contact.cpp +++ b/src/contact.cpp @@ -12,47 +12,624 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- - This class contains a series of DEM contact models - that can be defined and used to calculate forces + This class contains a series of tools for DEM contacts + Multiple models can be defined and used to calculate forces and torques based on contact geometry */ -#include #include "contact.h" +#include "math_const.h" +#include "math_extra.h" +#include "pointers.h" -namespace LAMMPS_NS { - namespace Contact{ +#include -enum {HOOKE, HERTZ, HERTZ_MATERIAL, DMT, JKR}; -enum {VELOCITY, MASS_VELOCITY, VISCOELASTIC, TSUJI}; -enum {TANGENTIAL_NOHISTORY, TANGENTIAL_HISTORY, - TANGENTIAL_MINDLIN, TANGENTIAL_MINDLIN_RESCALE, - TANGENTIAL_MINDLIN_FORCE, TANGENTIAL_MINDLIN_RESCALE_FORCE}; -enum {TWIST_NONE, TWIST_SDS, TWIST_MARSHALL}; -enum {ROLL_NONE, ROLL_SDS}; +using namespace LAMMPS_NS; +using namespace MathExtra; +using namespace MathConst; -#define PI27SQ 266.47931882941264802866 // 27*PI**2 -#define THREEROOT3 5.19615242270663202362 // 3*sqrt(3) -#define SIXROOT6 14.69693845669906728801 // 6*sqrt(6) -#define INVROOT6 0.40824829046386307274 // 1/sqrt(6) -#define FOURTHIRDS (4.0/3.0) // 4/3 -#define THREEQUARTERS 0.75 // 3/4 - -#define EPSILON 1e-10 +namespace Contact { ContactModel::ContactModel() { + k_norm = cohesion = gamma_norm = 0.0; + k_tang = gamma_tang = mu_tang = 0.0; + k_roll = gamma_roll = mu_roll = 0.0; + k_twist = gamma_twist = mu_twist = 0.0; + limit_damping = 0; + cutoff_type = 0.0; + reset_contact(); +} + +/* ---------------------------------------------------------------------- */ + +void ContactModel::reset_contact() +{ + radi = radj = 0.0; + xi = xj = vi = vj = omegai = omegaj = nullptr; + + prep_flag = check_flag = 0; + touch = false; +} + +/* ---------------------------------------------------------------------- */ + +bool ContactModel::check_contact() +{ + check_flag = 1; + + sub3(xi, xj, dx); + rsq = lensq3(dx); + radsum = radi + radj; + Reff = radi*radj/radsum; + + touch = false; + if (normal_model == JKR) touch = touch_JKR(touch); + else touch = (rsq < radsum*radsum); + + return touch; +} + +/* ---------------------------------------------------------------------- */ + +void ContactModel::prep_contact() +{ + prep_flag = 1; + + // If it hasn't already been done, test if the contact exists + if (check_flag != 1) touch = check_contact(); + if (!touch) return; + + double temp[3]; + + // Set flags + mindlin_rescale = mindlin_force = 0; + if (tangential_model == TANGENTIAL_MINDLIN_RESCALE || + tangential_model == TANGENTIAL_MINDLIN_RESCALE_FORCE) + mindlin_rescale = 1; + if (tangential_model == TANGENTIAL_MINDLIN_FORCE || + tangential_model == TANGENTIAL_MINDLIN_RESCALE_FORCE) + mindlin_force = 1; + + // Standard geometric quantities + r = sqrt(rsq); + rinv = 1.0/r; + delta = radsum - r; + dR = delta*Reff; + scale3(rinv, dx, nx); + + // relative translational velocity + sub3(vi, vj, vr); + + // normal component + vnnr = dot3(vr, nx); //v_R . n + scale3(vnnr, nx, vn); + + // tangential component + sub3(vr, vn, vt); + + // relative rotational velocity + scaleadd3(radi, omegai, radj, omegaj, wr); + + // relative tangential velocities + cross3(wr, nx, temp); + sub3(vt, temp, vtr); + vrel = len3(vtr); + + if (roll_model != ROLL_NONE || twist_model != TWIST_NONE) + sub3(omegai, omegaj, relrot); + + if (roll_model != ROLL_NONE) { + // rolling velocity, see eq. 31 of Wang et al, Particuology v 23, p 49 (2015) + // this is different from the Marshall papers, which use the Bagi/Kuhn formulation + // for rolling velocity (see Wang et al for why the latter is wrong) + vrl[0] = Reff * (relrot[1] * nx[2] - relrot[2] * nx[1]); + vrl[1] = Reff * (relrot[2] * nx[0] - relrot[0] * nx[2]); + vrl[2] = Reff * (relrot[0] * nx[1] - relrot[1] * nx[0]); + } + + if (twist_model != TWIST_NONE) { + // omega_T (eq 29 of Marshall) + magtwist = dot3(relrot, nx); + } +} + + +/* ---------------------------------------------------------------------- */ + +void ContactModel::calculate_forces(double *forces, double *torquesi, double *torquesj, double *history) +{ + // If it hasn't already been done, run prep calculations + if (prep_flag != 1) prep_contact(); + if (!touch) { + forces[0] = forces[1] = forces[2] = 0.0; + return; + } + + //********************************************** + // normal forces + //********************************************** + + // Also calculates: a, knfac, Fncrit (for JKR or DMT) + double Fne; + if (normal_model == JKR) { + Fne = normal_JKR(); + } else if (normal_model == DMT) { + Fne = normal_DMT(); + } else if (normal_model == HERTZ || normal_model == HERTZ_MATERIAL) { + Fne = normal_Hertz(); + } else { + Fne = normal_Hooke(); + } + + // NOTE: consider restricting Hooke to only have + // 'velocity' as an option for damping? + // Also calculates: damp_normal_prefactor + double Fdamp = normal_damping(); + + Fntot = Fne + Fdamp; + if (limit_damping && (Fntot < 0.0)) Fntot = 0.0; + + if (normal_model != JKR && normal_model != DMT) Fncrit = fabs(Fntot); + + //********************************************** + // tangential force, including history effects + //********************************************** + // For linear, mindlin, mindlin_rescale: + // history = cumulative tangential displacement + // + // For mindlin/force, mindlin_rescale/force: + // history = cumulative tangential elastic force + + Fscrit = mu_tang * Fncrit; + + if (tangential_model == TANGENTIAL_MINDLIN || + tangential_model == TANGENTIAL_MINDLIN_FORCE || + tangential_model == TANGENTIAL_MINDLIN_RESCALE || + tangential_model == TANGENTIAL_MINDLIN_RESCALE_FORCE) { + tangential_mindlin(history); + } else if (tangential_model == TANGENTIAL_HISTORY) { + tangential_history(history); + } else { + tangential_no_history(); + } + + //********************************************** + // rolling force + //********************************************** + + if (roll_model != ROLL_NONE) + rolling(history); + + //**************************************** + // twisting torque, including history effects + //**************************************** + + if (twist_model == TWIST_MARSHALL) { + twisting_marshall(history); + } else if (twist_model == TWIST_SDS) { + twisting_SDS(history); + } + + //********************************************** + // sum contributions + //********************************************** + + scale3(Fntot, nx, forces); + add3(forces, fs, forces); + + cross3(nx, fs, torquesi); + copy3(torquesi, torquesj); + + double dist_to_contact = radi-0.5*delta; + scale3(dist_to_contact, torquesi); + dist_to_contact = radj-0.5*delta; + scale3(dist_to_contact, torquesj); + + double torroll[3]; + if (roll_model != ROLL_NONE) { + cross3(nx, fr, torroll); + scale3(Reff, torroll); + add3(torquesi, torroll, torquesi); + sub3(torquesj, torroll, torquesj); + } + + double tortwist[3]; + if (twist_model != TWIST_NONE) { + scale3(magtortwist, nx, tortwist); + add3(torquesi, tortwist, torquesi); + sub3(torquesj, tortwist, torquesj); + } +} + +/* ---------------------------------------------------------------------- */ + +double ContactModel::calculate_heat() +{ + double dT = Ti - Tj; + double Hc; + + //Dan is Emod the youngs modulus for all models? or do I need to scale? + Hc = 2 * conductivity * pow(FOURTHIRDS * Fntot * Reff / Emod, ONETHIRD); + + return Hc * dT; +} + +/* ---------------------------------------------------------------------- */ + +bool ContactModel::touch_JKR(int touch) +{ + double Escaled, R2, delta_pulloff, dist_pulloff; + bool touchflag; + + Escaled = k_norm * THREEQUARTERS; + if (touch) { + R2 = Reff * Reff; + a = cbrt(9.0 * MY_PI * cohesion * R2 / (4 * Escaled)); + delta_pulloff = a * a / Reff - 2 * sqrt(MY_PI * cohesion * a / Escaled); + dist_pulloff = radsum - delta_pulloff; + touchflag = (rsq < dist_pulloff * dist_pulloff); + } else { + touchflag = (rsq < radsum * radsum); + } + return touchflag; +} + +/* ---------------------------------------------------------------------- */ + +double ContactModel::normal_JKR() +{ + double Escaled, R2, dR2, t0, t1, t2, t3, t4, t5, t6; + double sqrt1, sqrt2, sqrt3, a, a2, F_pulloff, Fne; + + Escaled = k_norm * THREEQUARTERS; + + R2 = Reff * Reff; + dR2 = dR * dR; + t0 = cohesion * cohesion * R2 * R2 * Escaled; + t1 = PI27SQ*t0; + t2 = 8 * dR * dR2 * Escaled * Escaled * Escaled; + t3 = 4 * dR2 * Escaled; + + // in case sqrt(0) < 0 due to precision issues + sqrt1 = MAX(0, t0 * (t1 + 2 * t2)); + t4 = cbrt(t1 + t2 + THREEROOT3 * MY_PI * sqrt(sqrt1)); + t5 = t3 / t4 + t4 / Escaled; + sqrt2 = MAX(0, 2 * dR + t5); + t6 = sqrt(sqrt2); + sqrt3 = MAX(0, 4 * dR - t5 + SIXROOT6 * cohesion * MY_PI * R2 / (Escaled * t6)); + a = INVROOT6 * (t6 + sqrt(sqrt3)); + a2 = a * a; + Fne = Escaled * a * a2 / Reff - MY_2PI * a2 * sqrt(4 * cohesion * Escaled / (MY_PI * a)); + F_pulloff = 3 * MY_PI * cohesion * Reff; + + knfac = Escaled * a; + Fncrit = fabs(Fne + 2 * F_pulloff); + return Fne; +} + +/* ---------------------------------------------------------------------- */ + +double ContactModel::normal_DMT() +{ + a = sqrt(dR); + double Fne = a * k_norm * delta; + Fne -= 4 * MY_PI * cohesion * Reff; + double F_pulloff = 4 * MY_PI * cohesion * Reff; + + knfac = k_norm * a; + Fncrit = fabs(Fne + 2 * F_pulloff); + return Fne; +} + +/* ---------------------------------------------------------------------- */ + +double ContactModel::normal_Hertz() +{ + a = sqrt(dR); + double Fne = k_norm * delta * a; + + knfac = k_norm * a; + return Fne; +} + +/* ---------------------------------------------------------------------- */ + +double ContactModel::normal_Hooke() +{ + a = sqrt(dR); + double Fne = k_norm * delta; + + knfac = k_norm; + return Fne; +} + +/* ---------------------------------------------------------------------- */ + +double ContactModel::normal_damping() +{ + double damp_normal; + if (damping_model == VELOCITY) { + damp_normal = 1; + } else if (damping_model == MASS_VELOCITY) { + damp_normal = meff; + } else if (damping_model == VISCOELASTIC) { + damp_normal = a * meff; + } else if (damping_model == TSUJI) { + damp_normal = sqrt(meff * knfac); + } else damp_normal = 0.0; + + damp_normal_prefactor = gamma_norm * damp_normal; + return -damp_normal_prefactor * vnnr; +} + +/* ---------------------------------------------------------------------- */ + +void ContactModel::tangential_no_history() +{ + double gamma_scaled = gamma_tang * damp_normal_prefactor; + double fsmag, Ft; + + // classic pair gran/hooke (no history) + fsmag = gamma_scaled * vrel; + if (vrel != 0.0) Ft = MIN(Fscrit,fsmag) / vrel; + else Ft = 0.0; + + Ft = -Ft; + scale3(Ft, vtr, fs); +} + +/* ---------------------------------------------------------------------- */ + +void ContactModel::tangential_history(double *history) +{ + double gamma_scaled = gamma_tang * damp_normal_prefactor; + double k = k_tang; + int frame_update = 0; + double magfs, rsht, shrmag, prjmag, temp_dbl, temp_array[3]; + + // rotate and update displacements / force. + // see e.g. eq. 17 of Luding, Gran. Matter 2008, v10,p235 + if (history_update) { + rsht = dot3(history, nx); + frame_update = fabs(rsht) * k > EPSILON * Fscrit; + + if (frame_update) { + shrmag = len3(history); + // projection + scale3(rsht, nx, history); + // also rescale to preserve magnitude + prjmag = len3(history); + if (prjmag > 0) temp_dbl = shrmag / prjmag; + else temp_dbl = 0; + scale3(temp_dbl, history); + } + + // update history + // tangential force + // see e.g. eq. 18 of Thornton et al, Pow. Tech. 2013, v223,p30-46 + temp_dbl = k * dt; + scale3(temp_dbl, vtr, temp_array); + sub3(history, temp_array, history); + } + + // tangential forces = history + tangential velocity damping + temp_dbl = -gamma_norm; + scale3(temp_dbl, vtr, fs); + + // rescale frictional displacements and forces if needed + magfs = len3(fs); + if (magfs > Fscrit) { + shrmag = len3(history); + if (shrmag != 0.0) { + temp_dbl = Fscrit / magfs; + scale3(temp_dbl, fs, history); + scale3(gamma_norm, vtr, temp_array); + add3(history, temp_array, history); + temp_dbl = Fscrit / magfs; + scale3(temp_dbl, fs); + } else { + zero3(fs); + } + } +} + +/* ---------------------------------------------------------------------- */ + +void ContactModel::tangential_mindlin(double *history) +{ + double k_scaled, gamma_scaled, magfs, rsht, shrmag, prjmag, temp_dbl; + double temp_array[3]; + int frame_update = 0; + + gamma_scaled = gamma_tang * damp_normal_prefactor; + k_scaled = k_tang * a; + if (mindlin_rescale) { + // on unloading, rescale the shear displacements/force + if (a < history[3]) { + temp_dbl = a / history[3]; + scale3(temp_dbl, history); + } + } + + // rotate and update displacements / force. + // see e.g. eq. 17 of Luding, Gran. Matter 2008, v10,p235 + if (history_update) { + rsht = dot3(history, nx); + if (mindlin_force) + frame_update = fabs(rsht) > EPSILON * Fscrit; + else + frame_update = fabs(rsht) * k_scaled > EPSILON * Fscrit; + + if (frame_update) { + shrmag = len3(history); + // projection + scale3(rsht, nx, history); + // also rescale to preserve magnitude + prjmag = len3(history); + if (prjmag > 0) temp_dbl = shrmag / prjmag; + else temp_dbl = 0; + scale3(temp_dbl, history); + } + + // update history + if (mindlin_force) { + // tangential force + // see e.g. eq. 18 of Thornton et al, Pow. Tech. 2013, v223,p30-46 + temp_dbl = -k_scaled * dt; + scale3(temp_dbl, vtr, temp_array); + } else { + scale3(dt, vtr, temp_array); + } + add3(history, temp_array, history); + + if (mindlin_rescale) history[3] = a; + } + + // tangential forces = history + tangential velocity damping + temp_dbl = -gamma_scaled; + scale3(temp_dbl, vtr, fs); + + if (! mindlin_force) { + scale3(k_scaled, history, temp_array); + add3(fs, temp_array, fs); + } + + // rescale frictional displacements and forces if needed + magfs = len3(fs); + if (magfs > Fscrit) { + shrmag = len3(history); + if (shrmag != 0.0) { + temp_dbl = Fscrit / magfs; + scale3(temp_dbl, fs, history); + scale3(gamma_tang, vtr, temp_array); + add3(history, temp_array, history); + if (! mindlin_force) { + temp_dbl = -1.0 / k_tang; + scale3(temp_dbl, history); + } + temp_dbl = Fscrit / magfs; + scale3(temp_dbl, fs); + } else { + zero3(fs); + } + } +} + +/* ---------------------------------------------------------------------- */ + +void ContactModel::rolling(double *history) +{ + int rhist0, rhist1, rhist2, frameupdate; + double rolldotn, rollmag, prjmag, magfr, hist_temp[3], temp_dbl, temp_array[3]; + + rhist0 = roll_history_index; + rhist1 = rhist0 + 1; + rhist2 = rhist1 + 1; + + Frcrit = mu_roll * Fncrit; + + if (history_update) { + hist_temp[0] = history[rhist0]; + hist_temp[1] = history[rhist1]; + hist_temp[2] = history[rhist2]; + rolldotn = dot3(hist_temp, nx); + + frameupdate = fabs(rolldotn)*k_roll > EPSILON*Frcrit; + if (frameupdate) { // rotate into tangential plane + rollmag = len3(hist_temp); + // projection + temp_dbl = -rolldotn; + scale3(temp_dbl, nx, temp_array); + sub3(hist_temp, temp_array, hist_temp); + + // also rescale to preserve magnitude + prjmag = len3(hist_temp); + if (prjmag > 0) temp_dbl = rollmag / prjmag; + else temp_dbl = 0; + scale3(temp_dbl, hist_temp); + } + scale3(dt, vrl, temp_array); + add3(hist_temp, temp_array, hist_temp); + } + + scaleadd3(k_roll, hist_temp, gamma_roll, vrl, fr); + negate3(fr); + + // rescale frictional displacements and forces if needed + + magfr = len3(fr); + if (magfr > Frcrit) { + rollmag = len3(hist_temp); + if (rollmag != 0.0) { + temp_dbl = -Frcrit / (magfr * k_roll); + scale3(temp_dbl, fr, temp_array); + add3(hist_temp, temp_array, hist_temp); + + temp_dbl = -gamma_roll/k_roll; + scale3(temp_dbl, vrl, temp_array); + add3(hist_temp, temp_array, hist_temp); + + temp_dbl = Frcrit / magfr; + scale3(temp_dbl, fr); + } else { + zero3(fr); + } + } + + history[rhist0] = hist_temp[0]; + history[rhist1] = hist_temp[1]; + history[rhist2] = hist_temp[2]; +} + +/* ---------------------------------------------------------------------- */ + +void ContactModel::twisting_marshall(double *history) +{ + // Overwrite twist coefficients with derived values + k_twist = 0.5 * k_tang * a * a; // eq 32 of Marshall paper + gamma_twist = 0.5 * gamma_tang * a * a; + mu_twist = TWOTHIRDS * a * mu_tang; + + twisting_SDS(history); +} + +/* ---------------------------------------------------------------------- */ + +void ContactModel::twisting_SDS(double *history) +{ + double signtwist, Mtcrit; + + if (history_update) { + history[twist_history_index] += magtwist * dt; + } + + magtortwist = -k_twist * history[twist_history_index] - gamma_twist*magtwist; // M_t torque (eq 30) + signtwist = (magtwist > 0) - (magtwist < 0); + Mtcrit = mu_twist * Fncrit; // critical torque (eq 44) + if (fabs(magtortwist) > Mtcrit) { + history[twist_history_index] = (Mtcrit * signtwist - gamma_twist * magtwist) / k_twist; + magtortwist = -Mtcrit * signtwist; // eq 34 + } } /* ---------------------------------------------------------------------- - get volume-correct r basis in: basis*cbrt(vol) = q*r + compute pull-off distance (beyond contact) for a given radius and atom type + use temporary variables since this does not use a specific contact geometry ------------------------------------------------------------------------- */ -void ContactModel::() +double ContactModel::pulloff_distance(double radi, double radj) { + double Ecaled, a_tmp, Reff_tmp; + if (normal_model != JKR) return radi+radj; + + Reff_tmp = radi * radj / (radi + radj); + if (Reff_tmp <= 0) return 0; + Ecaled = k_norm * THREEQUARTERS; + a_tmp = cbrt(9 * MY_PI * cohesion * Reff_tmp * Reff_tmp / (4 * Ecaled)); + return a_tmp * a_tmp / Reff_tmp - 2 * sqrt(MY_PI * cohesion * a_tmp / Ecaled); } - -}} +} diff --git a/src/contact.h b/src/contact.h index 38cb6f0be6..167f88e9de 100644 --- a/src/contact.h +++ b/src/contact.h @@ -11,40 +11,81 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#ifndef LMP_CONTACT -_H -#define LMP_CONTACT -_H +#ifndef LMP_CONTACT_H +#define LMP_CONTACT_H -namespace LAMMPS_NS { namespace Contact { + enum {HOOKE, HERTZ, HERTZ_MATERIAL, DMT, JKR}; + enum {VELOCITY, MASS_VELOCITY, VISCOELASTIC, TSUJI}; + enum {TANGENTIAL_NOHISTORY, TANGENTIAL_HISTORY, + TANGENTIAL_MINDLIN, TANGENTIAL_MINDLIN_RESCALE, + TANGENTIAL_MINDLIN_FORCE, TANGENTIAL_MINDLIN_RESCALE_FORCE}; + enum {TWIST_NONE, TWIST_SDS, TWIST_MARSHALL}; + enum {ROLL_NONE, ROLL_SDS}; + + #define PI27SQ 266.47931882941264802866 // 27*PI**2 + #define THREEROOT3 5.19615242270663202362 // 3*sqrt(3) + #define SIXROOT6 14.69693845669906728801 // 6*sqrt(6) + #define INVROOT6 0.40824829046386307274 // 1/sqrt(6) + #define FOURTHIRDS (4.0/3.0) // 4/3 + #define ONETHIRD (1.0/3.0) // 1/3 + #define THREEQUARTERS 0.75 // 3/4 + + #define EPSILON 1e-10 + class ContactModel { public: ContactModel(); - void touch_JKR(int); - void normal_JKR(double&); - void normal_DMT(double&); - void normal_Hooke(double&); - double normal_damping(double, double); - double critical_normal(double, double); + void reset_contact(); + bool check_contact(); + void prep_contact(); + void calculate_forces(double *, double *, double *, double *); + double calculate_heat(); + double pulloff_distance(double, double); int normal_model, damping_model, tangential_model; int roll_model, twist_model; - double E, G, poisson, damp, coh; + int limit_damping; + double cutoff_type; + double Emod, poisson; // variables used in defining mixed interactions + double k_norm, gamma_norm, cohesion; // normal_coeffs + double k_tang, gamma_tang, mu_tang; // tangential_coeffs - wutang? + double k_roll, gamma_roll, mu_roll; // roll_coeffs + double k_twist, gamma_twist, mu_twist; // twist_coeffs + double conductivity; + + double radi, radj, meff, dt, Ti, Tj; + double *xi, *xj, *vi, *vj, *omegai, *omegaj; + int history_update, roll_history_index, twist_history_index; + + double fs[3], fr[3], ft[3], magtortwist; private: - double a, knfac; - ContactGeometry geom; + double a, knfac, Fntot, Fncrit, Fscrit, Frcrit, damp_normal_prefactor; + double dx[3], nx[3], r, rsq, rinv, Reff, radsum, delta, dR; + double vr[3], vn[3], vnnr, vt[3], wr[3], vtr[3], vrl[3], relrot[3], vrel; + double magtwist; + bool touch; + + int prep_flag, check_flag; + int mindlin_rescale, mindlin_force; + + bool touch_JKR(int); + double normal_JKR(); + double normal_DMT(); + double normal_Hertz(); + double normal_Hooke(); + double normal_damping(); + void tangential_no_history(); + void tangential_history(double *); + void tangential_mindlin(double *); + void rolling(double *); + void twisting_marshall(double *); + void twisting_SDS(double *); + }; - - class ContactGeometry { - public: - ContactGeometry(); - void add_data(); - double r, rinv, rsq, Reff, radsum, delta, dR; - }; } // namespace Contact -} // namespace LAMMPS_NS + #endif diff --git a/src/contact_model.cpp b/src/contact_model.cpp deleted file mode 100644 index 779631836b..0000000000 --- a/src/contact_model.cpp +++ /dev/null @@ -1,58 +0,0 @@ -// clang-format off -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- - - This class contains a series of DEM contact models - that can be defined and used to calculate forces - and torques based on contact geometry -*/ - -#include -#include "contact_model.h" - -namespace LAMMPS_NS { - namespace Contact_Model{ - -enum {HOOKE, HERTZ, HERTZ_MATERIAL, DMT, JKR}; -enum {VELOCITY, MASS_VELOCITY, VISCOELASTIC, TSUJI}; -enum {TANGENTIAL_NOHISTORY, TANGENTIAL_HISTORY, - TANGENTIAL_MINDLIN, TANGENTIAL_MINDLIN_RESCALE, - TANGENTIAL_MINDLIN_FORCE, TANGENTIAL_MINDLIN_RESCALE_FORCE}; -enum {TWIST_NONE, TWIST_SDS, TWIST_MARSHALL}; -enum {ROLL_NONE, ROLL_SDS}; - -#define PI27SQ 266.47931882941264802866 // 27*PI**2 -#define THREEROOT3 5.19615242270663202362 // 3*sqrt(3) -#define SIXROOT6 14.69693845669906728801 // 6*sqrt(6) -#define INVROOT6 0.40824829046386307274 // 1/sqrt(6) -#define FOURTHIRDS (4.0/3.0) // 4/3 -#define THREEQUARTERS 0.75 // 3/4 - -#define EPSILON 1e-10 - -ContactModel::ContactModel() -{ - -} - -/* ---------------------------------------------------------------------- - get volume-correct r basis in: basis*cbrt(vol) = q*r -------------------------------------------------------------------------- */ - -void ContactModel::() -{ - -} - - -}} diff --git a/src/contact_model.h b/src/contact_model.h deleted file mode 100644 index 678a7111a8..0000000000 --- a/src/contact_model.h +++ /dev/null @@ -1,35 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifndef LMP_CONTACT_MODEL_H -#define LMP_CONTACT_MODEL_H - -namespace LAMMPS_NS { -namespace Contact_Model { - - class ContactModel { - public: - ContactModel(); - void set_strain(const double, const double); - void step_deform(const double, const double); - bool reduce(); - void get_box(double[3][3], double); - void get_rot(double[3][3]); - void get_inverse_cob(int[3][3]); - - private: - double a, knfac; - }; -} // namespace Contact_Model -} // namespace LAMMPS_NS -#endif diff --git a/src/dump_custom.cpp b/src/dump_custom.cpp index 87bd04b2a9..a74e91c889 100644 --- a/src/dump_custom.cpp +++ b/src/dump_custom.cpp @@ -41,7 +41,7 @@ enum{ID,MOL,PROC,PROCP1,TYPE,ELEMENT,MASS, XSU,YSU,ZSU,XSUTRI,YSUTRI,ZSUTRI, IX,IY,IZ, VX,VY,VZ,FX,FY,FZ, - Q,MUX,MUY,MUZ,MU,RADIUS,DIAMETER, + Q,MUX,MUY,MUZ,MU,RADIUS,DIAMETER,HEATFLUX,TEMPERATURE, OMEGAX,OMEGAY,OMEGAZ,ANGMOMX,ANGMOMY,ANGMOMZ, TQX,TQY,TQZ, COMPUTE,FIX,VARIABLE,IVEC,DVEC,IARRAY,DARRAY}; @@ -930,6 +930,18 @@ int DumpCustom::count() for (i = 0; i < nlocal; i++) dchoose[i] = 2.0*radius[i]; ptr = dchoose; nstride = 1; + } else if (thresh_array[ithresh] == HEATFLUX) { + if (!atom->heatflux_flag) + error->all(FLERR, + "Threshold for an atom property that isn't allocated"); + ptr = atom->heatflux; + nstride = 1; + } else if (thresh_array[ithresh] == TEMPERATURE) { + if (!atom->temperature_flag) + error->all(FLERR, + "Threshold for an atom property that isn't allocated"); + ptr = atom->temperature; + nstride = 1; } else if (thresh_array[ithresh] == OMEGAX) { if (!atom->omega_flag) error->all(FLERR, @@ -1380,6 +1392,16 @@ int DumpCustom::parse_fields(int narg, char **arg) error->all(FLERR,"Dumping an atom property that isn't allocated"); pack_choice[iarg] = &DumpCustom::pack_diameter; vtype[iarg] = Dump::DOUBLE; + } else if (strcmp(arg[iarg],"heatflux") == 0) { + if (!atom->heatflux_flag) + error->all(FLERR,"Dumping an atom property that isn't allocated"); + pack_choice[iarg] = &DumpCustom::pack_heatflux; + vtype[iarg] = Dump::DOUBLE; + } else if (strcmp(arg[iarg],"temperature") == 0) { + if (!atom->temperature_flag) + error->all(FLERR,"Dumping an atom property that isn't allocated"); + pack_choice[iarg] = &DumpCustom::pack_temperature; + vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"omegax") == 0) { if (!atom->omega_flag) error->all(FLERR,"Dumping an atom property that isn't allocated"); @@ -1845,6 +1867,8 @@ int DumpCustom::modify_param(int narg, char **arg) else if (strcmp(arg[1],"radius") == 0) thresh_array[nthresh] = RADIUS; else if (strcmp(arg[1],"diameter") == 0) thresh_array[nthresh] = DIAMETER; + else if (strcmp(arg[1],"heatflux") == 0) thresh_array[nthresh] = HEATFLUX; + else if (strcmp(arg[1],"temperature") == 0) thresh_array[nthresh] = TEMPERATURE; else if (strcmp(arg[1],"omegax") == 0) thresh_array[nthresh] = OMEGAX; else if (strcmp(arg[1],"omegay") == 0) thresh_array[nthresh] = OMEGAY; else if (strcmp(arg[1],"omegaz") == 0) thresh_array[nthresh] = OMEGAZ; @@ -2759,6 +2783,30 @@ void DumpCustom::pack_diameter(int n) /* ---------------------------------------------------------------------- */ +void DumpCustom::pack_heatflux(int n) +{ + double *heatflux = atom->heatflux; + + for (int i = 0; i < nchoose; i++) { + buf[n] = heatflux[clist[i]]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_temperature(int n) +{ + double *temperature = atom->temperature; + + for (int i = 0; i < nchoose; i++) { + buf[n] = temperature[clist[i]]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + void DumpCustom::pack_omegax(int n) { double **omega = atom->omega; diff --git a/src/dump_custom.h b/src/dump_custom.h index b27a9950cd..fd4fd413c3 100644 --- a/src/dump_custom.h +++ b/src/dump_custom.h @@ -193,6 +193,8 @@ class DumpCustom : public Dump { void pack_mu(int); void pack_radius(int); void pack_diameter(int); + void pack_heatflux(int); + void pack_temperature(int); void pack_omegax(int); void pack_omegay(int); diff --git a/src/fix_neigh_history.cpp b/src/fix_neigh_history.cpp index 613716c9a4..37d1b37946 100644 --- a/src/fix_neigh_history.cpp +++ b/src/fix_neigh_history.cpp @@ -353,7 +353,8 @@ void FixNeighHistory::pre_exchange_newton() // Ensure npartner is zeroed across all atoms, nall_neigh can be less than nall // when writing restarts when comm calls are made but modify->post_neighbor() isn't - for (i = 0; i < MAX(nall_neigh, atom->nall); i++) npartner[i] = 0; + int nall = atom->nlocal + atom->nghost; + for (i = 0; i < MAX(nall_neigh, nall); i++) npartner[i] = 0; tagint *tag = atom->tag; NeighList *list = pair->list; @@ -408,7 +409,7 @@ void FixNeighHistory::pre_exchange_newton() // store partner IDs and values for owned+ghost atoms // re-zero npartner to use as counter - for (i = 0; i < MAX(nall_neigh, atom->nall); i++) npartner[i] = 0; + for (i = 0; i < MAX(nall_neigh, nall); i++) npartner[i] = 0; for (ii = 0; ii < inum; ii++) { i = ilist[ii]; From 222c40ebcf29bae96e76bf8f078beb6e375fadab Mon Sep 17 00:00:00 2001 From: jtclemm Date: Wed, 29 Jun 2022 15:02:05 -0600 Subject: [PATCH 008/448] Fixing memory errors --- src/.gitignore | 2 ++ src/GRANULAR/atom_vec_sphere_temp.cpp | 2 ++ src/GRANULAR/contact.cpp | 6 +++--- src/GRANULAR/pair_granular.cpp | 6 +++--- src/contact.cpp | 6 +++--- 5 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/.gitignore b/src/.gitignore index acb509551c..a1aee630b5 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -1472,6 +1472,8 @@ /compute_xrd.cpp /compute_xrd.h /compute_xrd_consts.h +/contact.cpp +/contact.h /fix_atom_swap.cpp /fix_atom_swap.h /fix_ave_spatial_sphere.cpp diff --git a/src/GRANULAR/atom_vec_sphere_temp.cpp b/src/GRANULAR/atom_vec_sphere_temp.cpp index a455a9ddc8..a92486a1b5 100644 --- a/src/GRANULAR/atom_vec_sphere_temp.cpp +++ b/src/GRANULAR/atom_vec_sphere_temp.cpp @@ -106,6 +106,8 @@ void AtomVecSphereTemp::grow_pointers() radius = atom->radius; rmass = atom->rmass; omega = atom->omega; + temperature = atom->temperature; + heatflux = atom->heatflux; } /* ---------------------------------------------------------------------- diff --git a/src/GRANULAR/contact.cpp b/src/GRANULAR/contact.cpp index b4b335a1aa..a8405d095b 100644 --- a/src/GRANULAR/contact.cpp +++ b/src/GRANULAR/contact.cpp @@ -94,9 +94,9 @@ void ContactModel::prep_contact() // Standard geometric quantities r = sqrt(rsq); - rinv = 1.0/r; + rinv = 1.0 / r; delta = radsum - r; - dR = delta*Reff; + dR = delta * Reff; scale3(rinv, dx, nx); // relative translational velocity @@ -281,7 +281,7 @@ bool ContactModel::touch_JKR(int touch) double ContactModel::normal_JKR() { double Escaled, R2, dR2, t0, t1, t2, t3, t4, t5, t6; - double sqrt1, sqrt2, sqrt3, a, a2, F_pulloff, Fne; + double sqrt1, sqrt2, sqrt3, a2, F_pulloff, Fne; Escaled = k_norm * THREEQUARTERS; diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index 0047e24359..506cc2e175 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -889,9 +889,9 @@ double PairGranular::init_one(int i, int j) } // Copy global options - models[i][j].dt = dt; - models[i][j].roll_history_index = roll_history_index; - models[i][j].twist_history_index = twist_history_index; + models[i][j].dt = models[j][i].dt = dt; + models[i][j].roll_history_index = models[j][i].roll_history_index = roll_history_index; + models[i][j].twist_history_index = models[j][i].twist_history_index = twist_history_index; return cutoff; } diff --git a/src/contact.cpp b/src/contact.cpp index b4b335a1aa..a8405d095b 100644 --- a/src/contact.cpp +++ b/src/contact.cpp @@ -94,9 +94,9 @@ void ContactModel::prep_contact() // Standard geometric quantities r = sqrt(rsq); - rinv = 1.0/r; + rinv = 1.0 / r; delta = radsum - r; - dR = delta*Reff; + dR = delta * Reff; scale3(rinv, dx, nx); // relative translational velocity @@ -281,7 +281,7 @@ bool ContactModel::touch_JKR(int touch) double ContactModel::normal_JKR() { double Escaled, R2, dR2, t0, t1, t2, t3, t4, t5, t6; - double sqrt1, sqrt2, sqrt3, a, a2, F_pulloff, Fne; + double sqrt1, sqrt2, sqrt3, a2, F_pulloff, Fne; Escaled = k_norm * THREEQUARTERS; From ba1c4e8e814575c1ef3797982eb2655c41d2c4f2 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Wed, 29 Jun 2022 15:34:39 -0600 Subject: [PATCH 009/448] Defining conduction from area, a --- doc/src/pair_granular.rst | 10 +++++++++- src/GRANULAR/contact.cpp | 6 +----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/doc/src/pair_granular.rst b/doc/src/pair_granular.rst index 9a99558653..c14d94a77a 100644 --- a/doc/src/pair_granular.rst +++ b/doc/src/pair_granular.rst @@ -635,7 +635,15 @@ attractive force. This keyword cannot be used with the JKR or DMT models. ---------- The optional *heat* keyword enables heat conduction and it must be followed by -a non-negative numeric value for the conductivity. Note that the *heat* keyword +a non-negative numeric value for the conductivity :math:`k_{s}.`` The heat :math:`Q` +conducted across an interface is given by + +.. math:: + + Q = k_{s} a \Delta T + +where :math:`\Delta T` is the difference in the two particles' temperature and :math:`a` +is the area of the contact and depends on the normal force model. Note that the *heat* keyword must be included in either all or none of of the *pair_coeff* calls. See :doc:`fix temp/integrate ` for more information on this option. diff --git a/src/GRANULAR/contact.cpp b/src/GRANULAR/contact.cpp index a8405d095b..a7b59f7172 100644 --- a/src/GRANULAR/contact.cpp +++ b/src/GRANULAR/contact.cpp @@ -249,11 +249,7 @@ double ContactModel::calculate_heat() { double dT = Ti - Tj; double Hc; - - //Dan is Emod the youngs modulus for all models? or do I need to scale? - Hc = 2 * conductivity * pow(FOURTHIRDS * Fntot * Reff / Emod, ONETHIRD); - - return Hc * dT; + return conductivity * a * dT; } /* ---------------------------------------------------------------------- */ From bb92dae6d355187628bcd17041d375f070d95854 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Tue, 5 Jul 2022 10:12:12 -0600 Subject: [PATCH 010/448] Simplying conduction --- src/GRANULAR/contact.cpp | 1 - src/contact.cpp | 635 --------------------------------------- 2 files changed, 636 deletions(-) delete mode 100644 src/contact.cpp diff --git a/src/GRANULAR/contact.cpp b/src/GRANULAR/contact.cpp index a7b59f7172..40105be815 100644 --- a/src/GRANULAR/contact.cpp +++ b/src/GRANULAR/contact.cpp @@ -248,7 +248,6 @@ void ContactModel::calculate_forces(double *forces, double *torquesi, double *to double ContactModel::calculate_heat() { double dT = Ti - Tj; - double Hc; return conductivity * a * dT; } diff --git a/src/contact.cpp b/src/contact.cpp deleted file mode 100644 index a8405d095b..0000000000 --- a/src/contact.cpp +++ /dev/null @@ -1,635 +0,0 @@ -// clang-format off -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- - - This class contains a series of tools for DEM contacts - Multiple models can be defined and used to calculate forces - and torques based on contact geometry -*/ - -#include "contact.h" -#include "math_const.h" -#include "math_extra.h" -#include "pointers.h" - -#include - -using namespace LAMMPS_NS; -using namespace MathExtra; -using namespace MathConst; - -namespace Contact { - -ContactModel::ContactModel() -{ - k_norm = cohesion = gamma_norm = 0.0; - k_tang = gamma_tang = mu_tang = 0.0; - k_roll = gamma_roll = mu_roll = 0.0; - k_twist = gamma_twist = mu_twist = 0.0; - - limit_damping = 0; - cutoff_type = 0.0; - reset_contact(); -} - -/* ---------------------------------------------------------------------- */ - -void ContactModel::reset_contact() -{ - radi = radj = 0.0; - xi = xj = vi = vj = omegai = omegaj = nullptr; - - prep_flag = check_flag = 0; - touch = false; -} - -/* ---------------------------------------------------------------------- */ - -bool ContactModel::check_contact() -{ - check_flag = 1; - - sub3(xi, xj, dx); - rsq = lensq3(dx); - radsum = radi + radj; - Reff = radi*radj/radsum; - - touch = false; - if (normal_model == JKR) touch = touch_JKR(touch); - else touch = (rsq < radsum*radsum); - - return touch; -} - -/* ---------------------------------------------------------------------- */ - -void ContactModel::prep_contact() -{ - prep_flag = 1; - - // If it hasn't already been done, test if the contact exists - if (check_flag != 1) touch = check_contact(); - if (!touch) return; - - double temp[3]; - - // Set flags - mindlin_rescale = mindlin_force = 0; - if (tangential_model == TANGENTIAL_MINDLIN_RESCALE || - tangential_model == TANGENTIAL_MINDLIN_RESCALE_FORCE) - mindlin_rescale = 1; - if (tangential_model == TANGENTIAL_MINDLIN_FORCE || - tangential_model == TANGENTIAL_MINDLIN_RESCALE_FORCE) - mindlin_force = 1; - - // Standard geometric quantities - r = sqrt(rsq); - rinv = 1.0 / r; - delta = radsum - r; - dR = delta * Reff; - scale3(rinv, dx, nx); - - // relative translational velocity - sub3(vi, vj, vr); - - // normal component - vnnr = dot3(vr, nx); //v_R . n - scale3(vnnr, nx, vn); - - // tangential component - sub3(vr, vn, vt); - - // relative rotational velocity - scaleadd3(radi, omegai, radj, omegaj, wr); - - // relative tangential velocities - cross3(wr, nx, temp); - sub3(vt, temp, vtr); - vrel = len3(vtr); - - if (roll_model != ROLL_NONE || twist_model != TWIST_NONE) - sub3(omegai, omegaj, relrot); - - if (roll_model != ROLL_NONE) { - // rolling velocity, see eq. 31 of Wang et al, Particuology v 23, p 49 (2015) - // this is different from the Marshall papers, which use the Bagi/Kuhn formulation - // for rolling velocity (see Wang et al for why the latter is wrong) - vrl[0] = Reff * (relrot[1] * nx[2] - relrot[2] * nx[1]); - vrl[1] = Reff * (relrot[2] * nx[0] - relrot[0] * nx[2]); - vrl[2] = Reff * (relrot[0] * nx[1] - relrot[1] * nx[0]); - } - - if (twist_model != TWIST_NONE) { - // omega_T (eq 29 of Marshall) - magtwist = dot3(relrot, nx); - } -} - - -/* ---------------------------------------------------------------------- */ - -void ContactModel::calculate_forces(double *forces, double *torquesi, double *torquesj, double *history) -{ - // If it hasn't already been done, run prep calculations - if (prep_flag != 1) prep_contact(); - if (!touch) { - forces[0] = forces[1] = forces[2] = 0.0; - return; - } - - //********************************************** - // normal forces - //********************************************** - - // Also calculates: a, knfac, Fncrit (for JKR or DMT) - double Fne; - if (normal_model == JKR) { - Fne = normal_JKR(); - } else if (normal_model == DMT) { - Fne = normal_DMT(); - } else if (normal_model == HERTZ || normal_model == HERTZ_MATERIAL) { - Fne = normal_Hertz(); - } else { - Fne = normal_Hooke(); - } - - // NOTE: consider restricting Hooke to only have - // 'velocity' as an option for damping? - // Also calculates: damp_normal_prefactor - double Fdamp = normal_damping(); - - Fntot = Fne + Fdamp; - if (limit_damping && (Fntot < 0.0)) Fntot = 0.0; - - if (normal_model != JKR && normal_model != DMT) Fncrit = fabs(Fntot); - - //********************************************** - // tangential force, including history effects - //********************************************** - // For linear, mindlin, mindlin_rescale: - // history = cumulative tangential displacement - // - // For mindlin/force, mindlin_rescale/force: - // history = cumulative tangential elastic force - - Fscrit = mu_tang * Fncrit; - - if (tangential_model == TANGENTIAL_MINDLIN || - tangential_model == TANGENTIAL_MINDLIN_FORCE || - tangential_model == TANGENTIAL_MINDLIN_RESCALE || - tangential_model == TANGENTIAL_MINDLIN_RESCALE_FORCE) { - tangential_mindlin(history); - } else if (tangential_model == TANGENTIAL_HISTORY) { - tangential_history(history); - } else { - tangential_no_history(); - } - - //********************************************** - // rolling force - //********************************************** - - if (roll_model != ROLL_NONE) - rolling(history); - - //**************************************** - // twisting torque, including history effects - //**************************************** - - if (twist_model == TWIST_MARSHALL) { - twisting_marshall(history); - } else if (twist_model == TWIST_SDS) { - twisting_SDS(history); - } - - //********************************************** - // sum contributions - //********************************************** - - scale3(Fntot, nx, forces); - add3(forces, fs, forces); - - cross3(nx, fs, torquesi); - copy3(torquesi, torquesj); - - double dist_to_contact = radi-0.5*delta; - scale3(dist_to_contact, torquesi); - dist_to_contact = radj-0.5*delta; - scale3(dist_to_contact, torquesj); - - double torroll[3]; - if (roll_model != ROLL_NONE) { - cross3(nx, fr, torroll); - scale3(Reff, torroll); - add3(torquesi, torroll, torquesi); - sub3(torquesj, torroll, torquesj); - } - - double tortwist[3]; - if (twist_model != TWIST_NONE) { - scale3(magtortwist, nx, tortwist); - add3(torquesi, tortwist, torquesi); - sub3(torquesj, tortwist, torquesj); - } -} - -/* ---------------------------------------------------------------------- */ - -double ContactModel::calculate_heat() -{ - double dT = Ti - Tj; - double Hc; - - //Dan is Emod the youngs modulus for all models? or do I need to scale? - Hc = 2 * conductivity * pow(FOURTHIRDS * Fntot * Reff / Emod, ONETHIRD); - - return Hc * dT; -} - -/* ---------------------------------------------------------------------- */ - -bool ContactModel::touch_JKR(int touch) -{ - double Escaled, R2, delta_pulloff, dist_pulloff; - bool touchflag; - - Escaled = k_norm * THREEQUARTERS; - if (touch) { - R2 = Reff * Reff; - a = cbrt(9.0 * MY_PI * cohesion * R2 / (4 * Escaled)); - delta_pulloff = a * a / Reff - 2 * sqrt(MY_PI * cohesion * a / Escaled); - dist_pulloff = radsum - delta_pulloff; - touchflag = (rsq < dist_pulloff * dist_pulloff); - } else { - touchflag = (rsq < radsum * radsum); - } - return touchflag; -} - -/* ---------------------------------------------------------------------- */ - -double ContactModel::normal_JKR() -{ - double Escaled, R2, dR2, t0, t1, t2, t3, t4, t5, t6; - double sqrt1, sqrt2, sqrt3, a2, F_pulloff, Fne; - - Escaled = k_norm * THREEQUARTERS; - - R2 = Reff * Reff; - dR2 = dR * dR; - t0 = cohesion * cohesion * R2 * R2 * Escaled; - t1 = PI27SQ*t0; - t2 = 8 * dR * dR2 * Escaled * Escaled * Escaled; - t3 = 4 * dR2 * Escaled; - - // in case sqrt(0) < 0 due to precision issues - sqrt1 = MAX(0, t0 * (t1 + 2 * t2)); - t4 = cbrt(t1 + t2 + THREEROOT3 * MY_PI * sqrt(sqrt1)); - t5 = t3 / t4 + t4 / Escaled; - sqrt2 = MAX(0, 2 * dR + t5); - t6 = sqrt(sqrt2); - sqrt3 = MAX(0, 4 * dR - t5 + SIXROOT6 * cohesion * MY_PI * R2 / (Escaled * t6)); - a = INVROOT6 * (t6 + sqrt(sqrt3)); - a2 = a * a; - Fne = Escaled * a * a2 / Reff - MY_2PI * a2 * sqrt(4 * cohesion * Escaled / (MY_PI * a)); - F_pulloff = 3 * MY_PI * cohesion * Reff; - - knfac = Escaled * a; - Fncrit = fabs(Fne + 2 * F_pulloff); - return Fne; -} - -/* ---------------------------------------------------------------------- */ - -double ContactModel::normal_DMT() -{ - a = sqrt(dR); - double Fne = a * k_norm * delta; - Fne -= 4 * MY_PI * cohesion * Reff; - double F_pulloff = 4 * MY_PI * cohesion * Reff; - - knfac = k_norm * a; - Fncrit = fabs(Fne + 2 * F_pulloff); - return Fne; -} - -/* ---------------------------------------------------------------------- */ - -double ContactModel::normal_Hertz() -{ - a = sqrt(dR); - double Fne = k_norm * delta * a; - - knfac = k_norm * a; - return Fne; -} - -/* ---------------------------------------------------------------------- */ - -double ContactModel::normal_Hooke() -{ - a = sqrt(dR); - double Fne = k_norm * delta; - - knfac = k_norm; - return Fne; -} - -/* ---------------------------------------------------------------------- */ - -double ContactModel::normal_damping() -{ - double damp_normal; - if (damping_model == VELOCITY) { - damp_normal = 1; - } else if (damping_model == MASS_VELOCITY) { - damp_normal = meff; - } else if (damping_model == VISCOELASTIC) { - damp_normal = a * meff; - } else if (damping_model == TSUJI) { - damp_normal = sqrt(meff * knfac); - } else damp_normal = 0.0; - - damp_normal_prefactor = gamma_norm * damp_normal; - return -damp_normal_prefactor * vnnr; -} - -/* ---------------------------------------------------------------------- */ - -void ContactModel::tangential_no_history() -{ - double gamma_scaled = gamma_tang * damp_normal_prefactor; - double fsmag, Ft; - - // classic pair gran/hooke (no history) - fsmag = gamma_scaled * vrel; - if (vrel != 0.0) Ft = MIN(Fscrit,fsmag) / vrel; - else Ft = 0.0; - - Ft = -Ft; - scale3(Ft, vtr, fs); -} - -/* ---------------------------------------------------------------------- */ - -void ContactModel::tangential_history(double *history) -{ - double gamma_scaled = gamma_tang * damp_normal_prefactor; - double k = k_tang; - int frame_update = 0; - double magfs, rsht, shrmag, prjmag, temp_dbl, temp_array[3]; - - // rotate and update displacements / force. - // see e.g. eq. 17 of Luding, Gran. Matter 2008, v10,p235 - if (history_update) { - rsht = dot3(history, nx); - frame_update = fabs(rsht) * k > EPSILON * Fscrit; - - if (frame_update) { - shrmag = len3(history); - // projection - scale3(rsht, nx, history); - // also rescale to preserve magnitude - prjmag = len3(history); - if (prjmag > 0) temp_dbl = shrmag / prjmag; - else temp_dbl = 0; - scale3(temp_dbl, history); - } - - // update history - // tangential force - // see e.g. eq. 18 of Thornton et al, Pow. Tech. 2013, v223,p30-46 - temp_dbl = k * dt; - scale3(temp_dbl, vtr, temp_array); - sub3(history, temp_array, history); - } - - // tangential forces = history + tangential velocity damping - temp_dbl = -gamma_norm; - scale3(temp_dbl, vtr, fs); - - // rescale frictional displacements and forces if needed - magfs = len3(fs); - if (magfs > Fscrit) { - shrmag = len3(history); - if (shrmag != 0.0) { - temp_dbl = Fscrit / magfs; - scale3(temp_dbl, fs, history); - scale3(gamma_norm, vtr, temp_array); - add3(history, temp_array, history); - temp_dbl = Fscrit / magfs; - scale3(temp_dbl, fs); - } else { - zero3(fs); - } - } -} - -/* ---------------------------------------------------------------------- */ - -void ContactModel::tangential_mindlin(double *history) -{ - double k_scaled, gamma_scaled, magfs, rsht, shrmag, prjmag, temp_dbl; - double temp_array[3]; - int frame_update = 0; - - gamma_scaled = gamma_tang * damp_normal_prefactor; - k_scaled = k_tang * a; - if (mindlin_rescale) { - // on unloading, rescale the shear displacements/force - if (a < history[3]) { - temp_dbl = a / history[3]; - scale3(temp_dbl, history); - } - } - - // rotate and update displacements / force. - // see e.g. eq. 17 of Luding, Gran. Matter 2008, v10,p235 - if (history_update) { - rsht = dot3(history, nx); - if (mindlin_force) - frame_update = fabs(rsht) > EPSILON * Fscrit; - else - frame_update = fabs(rsht) * k_scaled > EPSILON * Fscrit; - - if (frame_update) { - shrmag = len3(history); - // projection - scale3(rsht, nx, history); - // also rescale to preserve magnitude - prjmag = len3(history); - if (prjmag > 0) temp_dbl = shrmag / prjmag; - else temp_dbl = 0; - scale3(temp_dbl, history); - } - - // update history - if (mindlin_force) { - // tangential force - // see e.g. eq. 18 of Thornton et al, Pow. Tech. 2013, v223,p30-46 - temp_dbl = -k_scaled * dt; - scale3(temp_dbl, vtr, temp_array); - } else { - scale3(dt, vtr, temp_array); - } - add3(history, temp_array, history); - - if (mindlin_rescale) history[3] = a; - } - - // tangential forces = history + tangential velocity damping - temp_dbl = -gamma_scaled; - scale3(temp_dbl, vtr, fs); - - if (! mindlin_force) { - scale3(k_scaled, history, temp_array); - add3(fs, temp_array, fs); - } - - // rescale frictional displacements and forces if needed - magfs = len3(fs); - if (magfs > Fscrit) { - shrmag = len3(history); - if (shrmag != 0.0) { - temp_dbl = Fscrit / magfs; - scale3(temp_dbl, fs, history); - scale3(gamma_tang, vtr, temp_array); - add3(history, temp_array, history); - if (! mindlin_force) { - temp_dbl = -1.0 / k_tang; - scale3(temp_dbl, history); - } - temp_dbl = Fscrit / magfs; - scale3(temp_dbl, fs); - } else { - zero3(fs); - } - } -} - -/* ---------------------------------------------------------------------- */ - -void ContactModel::rolling(double *history) -{ - int rhist0, rhist1, rhist2, frameupdate; - double rolldotn, rollmag, prjmag, magfr, hist_temp[3], temp_dbl, temp_array[3]; - - rhist0 = roll_history_index; - rhist1 = rhist0 + 1; - rhist2 = rhist1 + 1; - - Frcrit = mu_roll * Fncrit; - - if (history_update) { - hist_temp[0] = history[rhist0]; - hist_temp[1] = history[rhist1]; - hist_temp[2] = history[rhist2]; - rolldotn = dot3(hist_temp, nx); - - frameupdate = fabs(rolldotn)*k_roll > EPSILON*Frcrit; - if (frameupdate) { // rotate into tangential plane - rollmag = len3(hist_temp); - // projection - temp_dbl = -rolldotn; - scale3(temp_dbl, nx, temp_array); - sub3(hist_temp, temp_array, hist_temp); - - // also rescale to preserve magnitude - prjmag = len3(hist_temp); - if (prjmag > 0) temp_dbl = rollmag / prjmag; - else temp_dbl = 0; - scale3(temp_dbl, hist_temp); - } - scale3(dt, vrl, temp_array); - add3(hist_temp, temp_array, hist_temp); - } - - scaleadd3(k_roll, hist_temp, gamma_roll, vrl, fr); - negate3(fr); - - // rescale frictional displacements and forces if needed - - magfr = len3(fr); - if (magfr > Frcrit) { - rollmag = len3(hist_temp); - if (rollmag != 0.0) { - temp_dbl = -Frcrit / (magfr * k_roll); - scale3(temp_dbl, fr, temp_array); - add3(hist_temp, temp_array, hist_temp); - - temp_dbl = -gamma_roll/k_roll; - scale3(temp_dbl, vrl, temp_array); - add3(hist_temp, temp_array, hist_temp); - - temp_dbl = Frcrit / magfr; - scale3(temp_dbl, fr); - } else { - zero3(fr); - } - } - - history[rhist0] = hist_temp[0]; - history[rhist1] = hist_temp[1]; - history[rhist2] = hist_temp[2]; -} - -/* ---------------------------------------------------------------------- */ - -void ContactModel::twisting_marshall(double *history) -{ - // Overwrite twist coefficients with derived values - k_twist = 0.5 * k_tang * a * a; // eq 32 of Marshall paper - gamma_twist = 0.5 * gamma_tang * a * a; - mu_twist = TWOTHIRDS * a * mu_tang; - - twisting_SDS(history); -} - -/* ---------------------------------------------------------------------- */ - -void ContactModel::twisting_SDS(double *history) -{ - double signtwist, Mtcrit; - - if (history_update) { - history[twist_history_index] += magtwist * dt; - } - - magtortwist = -k_twist * history[twist_history_index] - gamma_twist*magtwist; // M_t torque (eq 30) - signtwist = (magtwist > 0) - (magtwist < 0); - Mtcrit = mu_twist * Fncrit; // critical torque (eq 44) - if (fabs(magtortwist) > Mtcrit) { - history[twist_history_index] = (Mtcrit * signtwist - gamma_twist * magtwist) / k_twist; - magtortwist = -Mtcrit * signtwist; // eq 34 - } -} - -/* ---------------------------------------------------------------------- - compute pull-off distance (beyond contact) for a given radius and atom type - use temporary variables since this does not use a specific contact geometry -------------------------------------------------------------------------- */ - -double ContactModel::pulloff_distance(double radi, double radj) -{ - double Ecaled, a_tmp, Reff_tmp; - - if (normal_model != JKR) return radi+radj; - - Reff_tmp = radi * radj / (radi + radj); - if (Reff_tmp <= 0) return 0; - Ecaled = k_norm * THREEQUARTERS; - a_tmp = cbrt(9 * MY_PI * cohesion * Reff_tmp * Reff_tmp / (4 * Ecaled)); - return a_tmp * a_tmp / Reff_tmp - 2 * sqrt(MY_PI * cohesion * a_tmp / Ecaled); -} - -} From 6b40ae29e45138afc67a9a85c64feb3ca541c2e3 Mon Sep 17 00:00:00 2001 From: "Dan S. Bolintineanu" Date: Thu, 14 Jul 2022 11:29:13 -0600 Subject: [PATCH 011/448] First stab --- src/GRANULAR/contact.cpp | 308 ++++++--------- src/GRANULAR/contact.h | 112 +++--- src/GRANULAR/damping_contact_models.cpp | 54 +++ src/GRANULAR/damping_contact_models.h | 56 +++ src/GRANULAR/heat_models.cpp | 185 +++++++++ src/GRANULAR/heat_models.h | 83 ++++ src/GRANULAR/normal_contact_models.cpp | 178 +++++++++ src/GRANULAR/normal_contact_models.h | 85 +++++ src/GRANULAR/pair_granular.cpp | 425 +++++---------------- src/GRANULAR/rolling_contact_models.cpp | 185 +++++++++ src/GRANULAR/rolling_contact_models.h | 83 ++++ src/GRANULAR/sub_model.cpp | 76 ++++ src/GRANULAR/sub_model.h | 48 +++ src/GRANULAR/tangential_contact_models.cpp | 168 ++++++++ src/GRANULAR/tangential_contact_models.h | 79 ++++ src/GRANULAR/twisting_contact_models.cpp | 185 +++++++++ src/GRANULAR/twisting_contact_models.h | 83 ++++ 17 files changed, 1825 insertions(+), 568 deletions(-) create mode 100644 src/GRANULAR/damping_contact_models.cpp create mode 100644 src/GRANULAR/damping_contact_models.h create mode 100644 src/GRANULAR/heat_models.cpp create mode 100644 src/GRANULAR/heat_models.h create mode 100644 src/GRANULAR/normal_contact_models.cpp create mode 100644 src/GRANULAR/normal_contact_models.h create mode 100644 src/GRANULAR/rolling_contact_models.cpp create mode 100644 src/GRANULAR/rolling_contact_models.h create mode 100644 src/GRANULAR/sub_model.cpp create mode 100644 src/GRANULAR/sub_model.h create mode 100644 src/GRANULAR/tangential_contact_models.cpp create mode 100644 src/GRANULAR/tangential_contact_models.h create mode 100644 src/GRANULAR/twisting_contact_models.cpp create mode 100644 src/GRANULAR/twisting_contact_models.h diff --git a/src/GRANULAR/contact.cpp b/src/GRANULAR/contact.cpp index 40105be815..554a54eec9 100644 --- a/src/GRANULAR/contact.cpp +++ b/src/GRANULAR/contact.cpp @@ -21,6 +21,8 @@ #include "math_const.h" #include "math_extra.h" #include "pointers.h" +#include "comm.h" +#include "error.h" #include @@ -32,16 +34,117 @@ namespace Contact { ContactModel::ContactModel() { - k_norm = cohesion = gamma_norm = 0.0; - k_tang = gamma_tang = mu_tang = 0.0; - k_roll = gamma_roll = mu_roll = 0.0; - k_twist = gamma_twist = mu_twist = 0.0; - limit_damping = 0; cutoff_type = 0.0; + normal_model = nullptr; + tangential_model = nullptr; + damping_model = nullptr; + rolling_model = nullptr; + twisting_model = nullptr; reset_contact(); } +/* ---------------------------------------------------------------------- */ +void ContactModel::init_normal(char *model_name){ + if (strcmp(model_name, "hooke") == 0) normal_model = new Hooke(); + else if (strcmp(model_name, "hertz") == 0) normal_model = new Hertz(0); + else if (strcmp(model_name, "hertz/material") == 0) normal_model = new Hertz(1); + //... + else error->all(FLERR, "Normal model name not recognized"); + + normal_model->model_name.assign(model_name); + normal_model->contact = *this; + normal_model->allocate_coeffs(); +} + +/* ---------------------------------------------------------------------- */ +void ContactModel::init_damping(char *model_name){ + if (strcmp(model_name, "velocity") == 0) tangential_model = new Velocity(*this); + //... + else error->all(FLERR, "Damping model name not recognized"); + tangential_model->model_name.assign(model_name); + tangential_model->contact = *this; + tangential_model->allocate_coeffs(); +} + +/* ---------------------------------------------------------------------- */ +void ContactModel::init_tangential(char *model_name){ + if (strcmp(model_name, "linear") == 0) tangential_model = new LinearNohistory(*this); + //... + else error->all(FLERR, "Tangential model name not recognized"); + damping_model->model_name.assign(model_name); + damping_model->contact = *this; + damping_model->allocate_coeffs(); +} + + +/* ---------------------------------------------------------------------- */ +// .... same for rolling, twisting + + +void ContactModel::write_restart(FILE *fp){ + normal_model->write_restart(fp); + tangential_model->write_restart(fp); + damping_model->write_restart(fp); + if (rolling_model){ + rolling_model->write_restart(fp); + } + else{ + int num_char = -1; + fwrite(&num_char, sizeof(int), 1, fp); + } + if (twisting_model){ + twisting_model->write_restart(fp); + } + else{ + int num_char = -1; + fwrite(&num_char, sizeof(int), 1, fp); + } +} + +void ContactModel::read_restart(FILE *fp){ + int num_char; + //Normal model + if (comm->me == 0){ + utils::sfread(FLERR,&num_char,sizeof(int),1,fp,nullptr,error); + } + MPI_BCast(&num_char, 1, MPI_INT, 0, world); + std::string model_name(num_char); + if (comm->me == 0){ + utils::sfread(FLERR,const_cast(model_name.data()),sizeof(char),num_char,fp,nullptr,error); + } + MPI_BCast(const_cast(model_name.data()), num_char, MPI_CHAR, world); + init_normal(const_cast(model_name.data())); + normal_model->read_restart(); + + //Tangential model + if (comm->me == 0){ + utils::sfread(FLERR,&num_char,sizeof(int),1,fp,nullptr,error); + } + MPI_BCast(&num_char, 1, MPI_INT, 0, world); + std::string model_name(num_char); + if (comm->me == 0){ + utils::sfread(FLERR,const_cast(model_name.data()),sizeof(char),num_char,fp,nullptr,error); + } + init_tangential(const_cast(model_name.data())); + tangential_model->read_restart(); + + //Damping + if (comm->me == 0){ + utils::sfread(FLERR,&num_char,sizeof(int),1,fp,nullptr,error); + } + MPI_BCast(&num_char, 1, MPI_INT, 0, world); + std::string model_name(num_char); + if (comm->me == 0){ + utils::sfread(FLERR,const_cast(model_name.data()),sizeof(char),num_char,fp,nullptr,error); + } + init_tangential(const_cast(model_name.data())); + damping_model->read_restart(); + + //Optional (rolling, twisting) - only if num_char is > 0. + +} + /* ---------------------------------------------------------------------- */ void ContactModel::reset_contact() @@ -65,7 +168,7 @@ bool ContactModel::check_contact() Reff = radi*radj/radsum; touch = false; - if (normal_model == JKR) touch = touch_JKR(touch); + if (normal_model->beyond_contact) normal_model->touch(touch); else touch = (rsq < radsum*radsum); return touch; @@ -76,22 +179,12 @@ bool ContactModel::check_contact() void ContactModel::prep_contact() { prep_flag = 1; - // If it hasn't already been done, test if the contact exists if (check_flag != 1) touch = check_contact(); if (!touch) return; double temp[3]; - // Set flags - mindlin_rescale = mindlin_force = 0; - if (tangential_model == TANGENTIAL_MINDLIN_RESCALE || - tangential_model == TANGENTIAL_MINDLIN_RESCALE_FORCE) - mindlin_rescale = 1; - if (tangential_model == TANGENTIAL_MINDLIN_FORCE || - tangential_model == TANGENTIAL_MINDLIN_RESCALE_FORCE) - mindlin_force = 1; - // Standard geometric quantities r = sqrt(rsq); rinv = 1.0 / r; @@ -117,10 +210,10 @@ void ContactModel::prep_contact() sub3(vt, temp, vtr); vrel = len3(vtr); - if (roll_model != ROLL_NONE || twist_model != TWIST_NONE) + if (roll_model || twist_model) sub3(omegai, omegaj, relrot); - if (roll_model != ROLL_NONE) { + if (roll_model) { // rolling velocity, see eq. 31 of Wang et al, Particuology v 23, p 49 (2015) // this is different from the Marshall papers, which use the Bagi/Kuhn formulation // for rolling velocity (see Wang et al for why the latter is wrong) @@ -129,16 +222,15 @@ void ContactModel::prep_contact() vrl[2] = Reff * (relrot[0] * nx[1] - relrot[1] * nx[0]); } - if (twist_model != TWIST_NONE) { + if (twist_model) { // omega_T (eq 29 of Marshall) magtwist = dot3(relrot, nx); } } - /* ---------------------------------------------------------------------- */ -void ContactModel::calculate_forces(double *forces, double *torquesi, double *torquesj, double *history) +void ContactModel::calculate_forces() { // If it hasn't already been done, run prep calculations if (prep_flag != 1) prep_contact(); @@ -151,66 +243,17 @@ void ContactModel::calculate_forces(double *forces, double *torquesi, double *to // normal forces //********************************************** - // Also calculates: a, knfac, Fncrit (for JKR or DMT) - double Fne; - if (normal_model == JKR) { - Fne = normal_JKR(); - } else if (normal_model == DMT) { - Fne = normal_DMT(); - } else if (normal_model == HERTZ || normal_model == HERTZ_MATERIAL) { - Fne = normal_Hertz(); - } else { - Fne = normal_Hooke(); - } - - // NOTE: consider restricting Hooke to only have - // 'velocity' as an option for damping? - // Also calculates: damp_normal_prefactor - double Fdamp = normal_damping(); + double Fne, Fdamp; + Fne = normal_model->calculate_forces(); + Fdamp = damping_model->calculate_forces(); Fntot = Fne + Fdamp; - if (limit_damping && (Fntot < 0.0)) Fntot = 0.0; + if (limit_damping && Fntot < 0.0) Fntot = 0.0; + normal_model->set_fncrit(); - if (normal_model != JKR && normal_model != DMT) Fncrit = fabs(Fntot); - - //********************************************** - // tangential force, including history effects - //********************************************** - // For linear, mindlin, mindlin_rescale: - // history = cumulative tangential displacement - // - // For mindlin/force, mindlin_rescale/force: - // history = cumulative tangential elastic force - - Fscrit = mu_tang * Fncrit; - - if (tangential_model == TANGENTIAL_MINDLIN || - tangential_model == TANGENTIAL_MINDLIN_FORCE || - tangential_model == TANGENTIAL_MINDLIN_RESCALE || - tangential_model == TANGENTIAL_MINDLIN_RESCALE_FORCE) { - tangential_mindlin(history); - } else if (tangential_model == TANGENTIAL_HISTORY) { - tangential_history(history); - } else { - tangential_no_history(); - } - - //********************************************** - // rolling force - //********************************************** - - if (roll_model != ROLL_NONE) - rolling(history); - - //**************************************** - // twisting torque, including history effects - //**************************************** - - if (twist_model == TWIST_MARSHALL) { - twisting_marshall(history); - } else if (twist_model == TWIST_SDS) { - twisting_SDS(history); - } + tangential_model->calculate_forces(); + if (roll_model) roll_model->calculate_forces(); + if (twist_model) twist_model->calculate_forces(); //********************************************** // sum contributions @@ -219,6 +262,7 @@ void ContactModel::calculate_forces(double *forces, double *torquesi, double *to scale3(Fntot, nx, forces); add3(forces, fs, forces); + //May need to rethink this for use with walls (and eventually tris).. cross3(nx, fs, torquesi); copy3(torquesi, torquesj); @@ -228,7 +272,7 @@ void ContactModel::calculate_forces(double *forces, double *torquesi, double *to scale3(dist_to_contact, torquesj); double torroll[3]; - if (roll_model != ROLL_NONE) { + if (roll_model) { cross3(nx, fr, torroll); scale3(Reff, torroll); add3(torquesi, torroll, torquesi); @@ -236,7 +280,7 @@ void ContactModel::calculate_forces(double *forces, double *torquesi, double *to } double tortwist[3]; - if (twist_model != TWIST_NONE) { + if (twist_model) { scale3(magtortwist, nx, tortwist); add3(torquesi, tortwist, torquesi); sub3(torquesj, tortwist, torquesj); @@ -253,111 +297,7 @@ double ContactModel::calculate_heat() /* ---------------------------------------------------------------------- */ -bool ContactModel::touch_JKR(int touch) -{ - double Escaled, R2, delta_pulloff, dist_pulloff; - bool touchflag; - Escaled = k_norm * THREEQUARTERS; - if (touch) { - R2 = Reff * Reff; - a = cbrt(9.0 * MY_PI * cohesion * R2 / (4 * Escaled)); - delta_pulloff = a * a / Reff - 2 * sqrt(MY_PI * cohesion * a / Escaled); - dist_pulloff = radsum - delta_pulloff; - touchflag = (rsq < dist_pulloff * dist_pulloff); - } else { - touchflag = (rsq < radsum * radsum); - } - return touchflag; -} - -/* ---------------------------------------------------------------------- */ - -double ContactModel::normal_JKR() -{ - double Escaled, R2, dR2, t0, t1, t2, t3, t4, t5, t6; - double sqrt1, sqrt2, sqrt3, a2, F_pulloff, Fne; - - Escaled = k_norm * THREEQUARTERS; - - R2 = Reff * Reff; - dR2 = dR * dR; - t0 = cohesion * cohesion * R2 * R2 * Escaled; - t1 = PI27SQ*t0; - t2 = 8 * dR * dR2 * Escaled * Escaled * Escaled; - t3 = 4 * dR2 * Escaled; - - // in case sqrt(0) < 0 due to precision issues - sqrt1 = MAX(0, t0 * (t1 + 2 * t2)); - t4 = cbrt(t1 + t2 + THREEROOT3 * MY_PI * sqrt(sqrt1)); - t5 = t3 / t4 + t4 / Escaled; - sqrt2 = MAX(0, 2 * dR + t5); - t6 = sqrt(sqrt2); - sqrt3 = MAX(0, 4 * dR - t5 + SIXROOT6 * cohesion * MY_PI * R2 / (Escaled * t6)); - a = INVROOT6 * (t6 + sqrt(sqrt3)); - a2 = a * a; - Fne = Escaled * a * a2 / Reff - MY_2PI * a2 * sqrt(4 * cohesion * Escaled / (MY_PI * a)); - F_pulloff = 3 * MY_PI * cohesion * Reff; - - knfac = Escaled * a; - Fncrit = fabs(Fne + 2 * F_pulloff); - return Fne; -} - -/* ---------------------------------------------------------------------- */ - -double ContactModel::normal_DMT() -{ - a = sqrt(dR); - double Fne = a * k_norm * delta; - Fne -= 4 * MY_PI * cohesion * Reff; - double F_pulloff = 4 * MY_PI * cohesion * Reff; - - knfac = k_norm * a; - Fncrit = fabs(Fne + 2 * F_pulloff); - return Fne; -} - -/* ---------------------------------------------------------------------- */ - -double ContactModel::normal_Hertz() -{ - a = sqrt(dR); - double Fne = k_norm * delta * a; - - knfac = k_norm * a; - return Fne; -} - -/* ---------------------------------------------------------------------- */ - -double ContactModel::normal_Hooke() -{ - a = sqrt(dR); - double Fne = k_norm * delta; - - knfac = k_norm; - return Fne; -} - -/* ---------------------------------------------------------------------- */ - -double ContactModel::normal_damping() -{ - double damp_normal; - if (damping_model == VELOCITY) { - damp_normal = 1; - } else if (damping_model == MASS_VELOCITY) { - damp_normal = meff; - } else if (damping_model == VISCOELASTIC) { - damp_normal = a * meff; - } else if (damping_model == TSUJI) { - damp_normal = sqrt(meff * knfac); - } else damp_normal = 0.0; - - damp_normal_prefactor = gamma_norm * damp_normal; - return -damp_normal_prefactor * vnnr; -} /* ---------------------------------------------------------------------- */ diff --git a/src/GRANULAR/contact.h b/src/GRANULAR/contact.h index 167f88e9de..cb6d1865af 100644 --- a/src/GRANULAR/contact.h +++ b/src/GRANULAR/contact.h @@ -14,77 +14,71 @@ #ifndef LMP_CONTACT_H #define LMP_CONTACT_H +#include "pointers.h" +#include "normal_contact_models.h" +#include "tangential_contact_models.h" +#include "damping_contact_models.h" +#include "rolling_contact_models.h" +#include "twisting_contact_models.h" +#include "heat_models.h" + +using namespace LAMMPS_NS; + namespace Contact { - enum {HOOKE, HERTZ, HERTZ_MATERIAL, DMT, JKR}; - enum {VELOCITY, MASS_VELOCITY, VISCOELASTIC, TSUJI}; - enum {TANGENTIAL_NOHISTORY, TANGENTIAL_HISTORY, - TANGENTIAL_MINDLIN, TANGENTIAL_MINDLIN_RESCALE, - TANGENTIAL_MINDLIN_FORCE, TANGENTIAL_MINDLIN_RESCALE_FORCE}; - enum {TWIST_NONE, TWIST_SDS, TWIST_MARSHALL}; - enum {ROLL_NONE, ROLL_SDS}; +#define EPSILON 1e-10 - #define PI27SQ 266.47931882941264802866 // 27*PI**2 - #define THREEROOT3 5.19615242270663202362 // 3*sqrt(3) - #define SIXROOT6 14.69693845669906728801 // 6*sqrt(6) - #define INVROOT6 0.40824829046386307274 // 1/sqrt(6) - #define FOURTHIRDS (4.0/3.0) // 4/3 - #define ONETHIRD (1.0/3.0) // 1/3 - #define THREEQUARTERS 0.75 // 3/4 +class ContactModel : protected Pointers { +public: + ContactModel(); + ~ContactModel(); + int init(); + bool check_contact(); + void reset_contact(); + void calculate_forces(); + double calculate_heat(); + double pulloff_distance(double, double); - #define EPSILON 1e-10 + void init_normal(char*); + void init_tangential(char*); + void init_damping(char*); + void init_rolling(char*); + void init_twisting(char*); + void init_heat(char*); - class ContactModel { - public: - ContactModel(); - void reset_contact(); - bool check_contact(); - void prep_contact(); - void calculate_forces(double *, double *, double *, double *); - double calculate_heat(); - double pulloff_distance(double, double); + void write_restart(FILE *); + void read_restart(FILE *); - int normal_model, damping_model, tangential_model; - int roll_model, twist_model; - int limit_damping; - double cutoff_type; - double Emod, poisson; // variables used in defining mixed interactions - double k_norm, gamma_norm, cohesion; // normal_coeffs - double k_tang, gamma_tang, mu_tang; // tangential_coeffs - wutang? - double k_roll, gamma_roll, mu_roll; // roll_coeffs - double k_twist, gamma_twist, mu_twist; // twist_coeffs - double conductivity; + NormalModel *normal_model; + DampingModel *damping_model; //Classes below need .h and .cpp files analogous to normal_contact_models.h/.cpp + TangentialModel *tangential_model; + RollingModel *rolling_model; + TwistingModel *twisting_model; + HeatModel *heat_model; - double radi, radj, meff, dt, Ti, Tj; - double *xi, *xj, *vi, *vj, *omegai, *omegaj; - int history_update, roll_history_index, twist_history_index; + double *forces; + double *torquesi; + double *torquesj; + double *history; - double fs[3], fr[3], ft[3], magtortwist; + int limit_damping; - private: - double a, knfac, Fntot, Fncrit, Fscrit, Frcrit, damp_normal_prefactor; - double dx[3], nx[3], r, rsq, rinv, Reff, radsum, delta, dR; - double vr[3], vn[3], vnnr, vt[3], wr[3], vtr[3], vrl[3], relrot[3], vrel; - double magtwist; - bool touch; + double radi, radj, meff, dt, Ti, Tj; + double area; - int prep_flag, check_flag; - int mindlin_rescale, mindlin_force; + double *xi, *xj, *vi, *vj, *omegai, *omegaj; + double Fntot, Fncrit; + double fs[3], fr[3], ft[3], magtortwist; - bool touch_JKR(int); - double normal_JKR(); - double normal_DMT(); - double normal_Hertz(); - double normal_Hooke(); - double normal_damping(); - void tangential_no_history(); - void tangential_history(double *); - void tangential_mindlin(double *); - void rolling(double *); - void twisting_marshall(double *); - void twisting_SDS(double *); +private: + double dx[3], nx[3], r, rsq, rinv, Reff, radsum, delta, dR; + double vr[3], vn[3], vnnr, vt[3], wr[3], vtr[3], vrl[3], relrot[3], vrel; + double magtwist; + bool touch; - }; + int prep_flag, check_flag; + int mindlin_rescale, mindlin_force; +}; } // namespace Contact diff --git a/src/GRANULAR/damping_contact_models.cpp b/src/GRANULAR/damping_contact_models.cpp new file mode 100644 index 0000000000..11d2c19b57 --- /dev/null +++ b/src/GRANULAR/damping_contact_models.cpp @@ -0,0 +1,54 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "damping_contact_models.h" +#include "math_const.h" +#include "contact.h" + +#include +#include "math_special.h" + +using namespace MathConst; +using namespace MathSpecial; + +namespace Contact{ + +void DampingModel::allocate_coeffs(){ + damp = contact.normal_model->coeffs[1]; +} + +//----------------------------------------- +double Velocity::calculate_forces(){ + return -damp*contact.vnnr; +} + +double MassVelocity::calculate_forces(){ + return -damp*contact.meff*contact.vnnr; +} + + +double ViscoElastic::calculate_forces(){ + return -damp*contact.meff*contact.area*contact.vnnr; +} + + +void Tsuji::allocate_coeffs(){ + double cor = contact.normal_model->coeffs[1]; + damp = 1.2728-4.2783*cor+11.087*square(cor)-22.348*cube(cor)+ + 27.467*powint(cor,4)-18.022*powint(cor,5)+4.8218*powint(cor,6); +} + +double Tsuji::calculate_forces(){ + return -damp*sqrt(contact.meff*contact.knfac)*contact.vnnr; +} + diff --git a/src/GRANULAR/damping_contact_models.h b/src/GRANULAR/damping_contact_models.h new file mode 100644 index 0000000000..036f6e3452 --- /dev/null +++ b/src/GRANULAR/damping_contact_models.h @@ -0,0 +1,56 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifndef DAMPING_CONTACT_MODELS_H_ +#define DAMPING_CONTACT_MODELS_H_ + +#include "contact.h"; +#include "sub_model.h" + +namespace Contact { + +class DampingModel:SubModel{ +public: + DampingModel(){}; + virtual ~DampingModel(){}; + virtual double calculate_forces() = 0; + virtual void allocate_coeffs(); + double damp; +}; + +class Velocity:DampingModel{ +public: + double calculate_forces(); +}; + +class MassVelocity:DampingModel{ +public: + double calculate_forces(); +}; + +class ViscoElastic:DampingModel{ +public: + double calculate_forces(); +}; + +class Tsuji:DampingModel{ +public: + double calculate_forces(); + void allocate_coeffs(); +}; + + +} + +#endif /*DAMPING_CONTACT_MODELS_H_ */ + diff --git a/src/GRANULAR/heat_models.cpp b/src/GRANULAR/heat_models.cpp new file mode 100644 index 0000000000..e6bafe4b3c --- /dev/null +++ b/src/GRANULAR/heat_models.cpp @@ -0,0 +1,185 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "normal_contact_models.h" +#include "math_const.h" +#include "contact.h" + +#include + +using namespace MathConst; + +namespace Contact{ + +#define PI27SQ 266.47931882941264802866 // 27*PI**2 +#define THREEROOT3 5.19615242270663202362 // 3*sqrt(3) +#define SIXROOT6 14.69693845669906728801 // 6*sqrt(6) +#define INVROOT6 0.40824829046386307274 // 1/sqrt(6) +#define FOURTHIRDS (4.0/3.0) // 4/3 +#define ONETHIRD (1.0/3.0) // 1/3 +#define THREEQUARTERS 0.75 // 3/4 + +// ************************ +// Default behaviors where needed +// ************************ +void NormalModel::set_fncrit(){ + contact->Fncrit = fabs(contact->Fntot); +} + +void NormalModel::mix_coeffs(NormalModel* imodel, NormalModel* jmodel){ + for (int i = 0; i < num_coeffs; i++){ + coeffs[i] = sqrt(imodel->coeffs[i]*jmodel->coeffs[i]); + } +} + +//----------------------------------------- + +//****************** +// Hooke +//****************** +void Hooke::Hooke(ContactModel &c){ + contact = c; + num_coeffs = 2; + allocate_coeffs(); +} + +void Hooke::coeffs_to_local(){ + k_norm = coeffs[0]; + damp = coeffs[1]; +} + +double Hooke::calculate_forces(){ + contact.area = sqrt(contact.dR); + contact.knfac = k_norm * contact.area; + return contact.knfac * contact.delta; +} + + +//****************** +// Hertz +//****************** +void Hertz::Hertz(ContactModel &c, int mat_flag){ + contact = c; + material_prop_flag = mat_flag; + if (material_prop_flag){ + num_coeffs = 3; + } + else{ + num_coeffs = 2; + } + allocate_coeffs(); +} + +void Hertz::coeffs_to_local(){ + if (material_prop_flag){ + Emod = coeffs[0]; + poiss = coeffs[1]; + k_norm = 4/3*Emod; + } + else{ + k_norm = coeffs[0]; + } +} + +double Hertz::calculate_forces(){ + contact.area = sqrt(contact.dR); + contact.knfac = contact.k_norm * contact.area; + return contact.knfac * contact.delta; +} + +//****************** +// DMT +//****************** +void DMT::DMT(ContactModel &c){ + contact = c; + material_prop_flag = 1; + num_coeffs = 4; + allocate_coeffs(); +} + +double DMT::calculate_forces(){ + contact.area = sqrt(contact.dR); + contact.knfac = contact.k_norm * contact.area; + double Fne = contact.knfac * contact.delta; + F_pulloff = 4 * MathConst::MY_PI * cohesion * contact.Reff; + Fne -= F_pulloff; + return Fne; +} + +void DMT::set_fncrit(){ + contact.Fncrit = fabs(contact.Fne + 2* F_pulloff); +} + +//****************** +// JKR +//****************** +void JKR::JKR(ContactModel &c){ + contact = c; + material_prop_flag = 1; + beyond_contact = 1; + num_coeffs = 4; + allocate_coeffs(); +} + +bool JKR::touch(int touch){ + double Escaled, R2, delta_pulloff, dist_pulloff; + bool touchflag; + + Escaled = k_norm * THREEQUARTERS; + if (touch) { + R2 = contact.Reff * contact.Reff; + a = cbrt(9.0 * MY_PI * cohesion * R2 / (4 * Escaled)); + delta_pulloff = a * a / contact.Reff - 2 * sqrt(MY_PI * cohesion * a / Escaled); + dist_pulloff = contact.radsum - delta_pulloff; + touchflag = (contact.rsq < dist_pulloff * dist_pulloff); + } else { + touchflag = (rcontact.sq < contact.radsum * contact.radsum); + } + return touchflag; +} + +double JKR::calculate_forces(){ + double Escaled, R2, dR2, t0, t1, t2, t3, t4, t5, t6; + double sqrt1, sqrt2, sqrt3, a2, F_pulloff, Fne; + + Escaled = k_norm * THREEQUARTERS; + + R2 = Reff * Reff; + dR2 = dR * dR; + t0 = cohesion * cohesion * R2 * R2 * Escaled; + t1 = PI27SQ*t0; + t2 = 8 * dR * dR2 * Escaled * Escaled * Escaled; + t3 = 4 * dR2 * Escaled; + + // in case sqrt(0) < 0 due to precision issues + sqrt1 = MAX(0, t0 * (t1 + 2 * t2)); + t4 = cbrt(t1 + t2 + THREEROOT3 * MY_PI * sqrt(sqrt1)); + t5 = t3 / t4 + t4 / Escaled; + sqrt2 = MAX(0, 2 * dR + t5); + t6 = sqrt(sqrt2); + sqrt3 = MAX(0, 4 * dR - t5 + SIXROOT6 * cohesion * MY_PI * R2 / (Escaled * t6)); + a = INVROOT6 * (t6 + sqrt(sqrt3)); + a2 = a * a; + Fne = Escaled * a * a2 / Reff - MY_2PI * a2 * sqrt(4 * cohesion * Escaled / (MY_PI * a)); + F_pulloff = 3 * MY_PI * cohesion * Reff; + + knfac = Escaled * a; + return Fne; +} + +void JKR::set_fncrit(){ + contact.Fncrit = fabs(contact.Fne + 2 * F_pulloff); +} + + + diff --git a/src/GRANULAR/heat_models.h b/src/GRANULAR/heat_models.h new file mode 100644 index 0000000000..1a2f1ddb7d --- /dev/null +++ b/src/GRANULAR/heat_models.h @@ -0,0 +1,83 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifndef NORMAL_CONTACT_MODELS_H_ +#define NORMAL_CONTACT_MODELS_H_ + +#include "contact.h"; +#include "sub_model.h" + +namespace Contact { + +class NormalModel:SubModel{ +public: + NormalModel(){}; + virtual ~NormalModel(){}; + virtual bool check_contact(); + virtual void prep_contact(); + virtual void set_fncrit(); + virtual double calculate_forces() = 0; + virtual void coeffs_to_local(); + virtual void mix_coeffs(NormalModel*, NormalModel*); //When mixing is needed + +private: + int beyond_contact = 0; + int allow_limit_damping = 1; + +}; + +class Hooke:NormalModel{ +public: + Hooke(ContactModel &c); + ~Hooke(){}; + void coeffs_to_local(); + double calculate_forces(); +private: + double k_norm, damp; +}; + +class Hertz:NormalModel{ +public: + Hertz(ContactModel&, int); + ~Hertz(){}; + void coeffs_to_local(); + double calculate_forces(); +private: + double k_norm, damp, Emod, poiss; +}; + +class DMT:NormalModel{ +public: + DMT(ContactModel &c); + ~DMT(){}; + void coeffs_to_local(); + void coeffs_to_local(NormalModel*, NormalModel*); + double calculate_forces(); +private: + double k_norm, damp, Emod, poiss, coh; +}; + +class JKR:NormalModel{ +public: + JKR(ContactModel &c); + ~JKR(){}; + void coeffs_to_local(); + double calculate_forces(); +private: + double k_norm, damp, Emod, poiss, coh; + +}; +} + +#endif /*NORMAL_CONTACT_MODELS_H_ */ + diff --git a/src/GRANULAR/normal_contact_models.cpp b/src/GRANULAR/normal_contact_models.cpp new file mode 100644 index 0000000000..cc01a3ddb2 --- /dev/null +++ b/src/GRANULAR/normal_contact_models.cpp @@ -0,0 +1,178 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "normal_contact_models.h" +#include "math_const.h" +#include "contact.h" + +#include + +using namespace MathConst; + +namespace Contact{ + +#define PI27SQ 266.47931882941264802866 // 27*PI**2 +#define THREEROOT3 5.19615242270663202362 // 3*sqrt(3) +#define SIXROOT6 14.69693845669906728801 // 6*sqrt(6) +#define INVROOT6 0.40824829046386307274 // 1/sqrt(6) +#define FOURTHIRDS (4.0/3.0) // 4/3 +#define ONETHIRD (1.0/3.0) // 1/3 +#define THREEQUARTERS 0.75 // 3/4 + +// ************************ +// Default behaviors where needed +// ************************ +void NormalModel::set_fncrit(){ + contact->Fncrit = fabs(contact->Fntot); +} + +void NormalModel::mix_coeffs(NormalModel* imodel, NormalModel* jmodel){ + for (int i = 0; i < num_coeffs; i++){ + coeffs[i] = sqrt(imodel->coeffs[i]*jmodel->coeffs[i]); + } +} + +//----------------------------------------- + +//****************** +// Hooke +//****************** +void Hooke::Hooke(ContactModel &c){ + num_coeffs = 2; + allocate_coeffs(); +} + +void Hooke::coeffs_to_local(){ + k_norm = coeffs[0]; + damp = coeffs[1]; +} + +double Hooke::calculate_forces(){ + contact.area = sqrt(contact.dR); + contact.knfac = k_norm * contact.area; + return contact.knfac * contact.delta; +} + + +//****************** +// Hertz +//****************** +void Hertz::Hertz(ContactModel &c, int mat_flag){ + material_prop_flag = mat_flag; + if (material_prop_flag){ + num_coeffs = 3; + } + else{ + num_coeffs = 2; + } +} + +void Hertz::coeffs_to_local(){ + if (material_prop_flag){ + Emod = coeffs[0]; + poiss = coeffs[1]; + k_norm = 4/3*Emod; + } + else{ + k_norm = coeffs[0]; + } +} + +double Hertz::calculate_forces(){ + contact.area = sqrt(contact.dR); + contact.knfac = contact.k_norm * contact.area; + return contact.knfac * contact.delta; +} + +//****************** +// DMT +//****************** +void DMT::DMT(ContactModel &c){ + material_prop_flag = 1; + num_coeffs = 4; +} + +double DMT::calculate_forces(){ + contact.area = sqrt(contact.dR); + contact.knfac = contact.k_norm * contact.area; + double Fne = contact.knfac * contact.delta; + F_pulloff = 4 * MathConst::MY_PI * cohesion * contact.Reff; + Fne -= F_pulloff; + return Fne; +} + +void DMT::set_fncrit(){ + contact.Fncrit = fabs(contact.Fne + 2* F_pulloff); +} + +//****************** +// JKR +//****************** +void JKR::JKR(ContactModel &c){ + material_prop_flag = 1; + beyond_contact = 1; + num_coeffs = 4; +} + +bool JKR::touch(int touch){ + double Escaled, R2, delta_pulloff, dist_pulloff; + bool touchflag; + + Escaled = k_norm * THREEQUARTERS; + if (touch) { + R2 = contact.Reff * contact.Reff; + a = cbrt(9.0 * MY_PI * cohesion * R2 / (4 * Escaled)); + delta_pulloff = a * a / contact.Reff - 2 * sqrt(MY_PI * cohesion * a / Escaled); + dist_pulloff = contact.radsum - delta_pulloff; + touchflag = (contact.rsq < dist_pulloff * dist_pulloff); + } else { + touchflag = (rcontact.sq < contact.radsum * contact.radsum); + } + return touchflag; +} + +double JKR::calculate_forces(){ + double Escaled, R2, dR2, t0, t1, t2, t3, t4, t5, t6; + double sqrt1, sqrt2, sqrt3, a2, F_pulloff, Fne; + + Escaled = k_norm * THREEQUARTERS; + + R2 = Reff * Reff; + dR2 = dR * dR; + t0 = cohesion * cohesion * R2 * R2 * Escaled; + t1 = PI27SQ*t0; + t2 = 8 * dR * dR2 * Escaled * Escaled * Escaled; + t3 = 4 * dR2 * Escaled; + + // in case sqrt(0) < 0 due to precision issues + sqrt1 = MAX(0, t0 * (t1 + 2 * t2)); + t4 = cbrt(t1 + t2 + THREEROOT3 * MY_PI * sqrt(sqrt1)); + t5 = t3 / t4 + t4 / Escaled; + sqrt2 = MAX(0, 2 * dR + t5); + t6 = sqrt(sqrt2); + sqrt3 = MAX(0, 4 * dR - t5 + SIXROOT6 * cohesion * MY_PI * R2 / (Escaled * t6)); + a = INVROOT6 * (t6 + sqrt(sqrt3)); + a2 = a * a; + Fne = Escaled * a * a2 / Reff - MY_2PI * a2 * sqrt(4 * cohesion * Escaled / (MY_PI * a)); + F_pulloff = 3 * MY_PI * cohesion * Reff; + + knfac = Escaled * a; + return Fne; +} + +void JKR::set_fncrit(){ + contact.Fncrit = fabs(contact.Fne + 2 * F_pulloff); +} + + + diff --git a/src/GRANULAR/normal_contact_models.h b/src/GRANULAR/normal_contact_models.h new file mode 100644 index 0000000000..198e4bcb59 --- /dev/null +++ b/src/GRANULAR/normal_contact_models.h @@ -0,0 +1,85 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifndef NORMAL_CONTACT_MODELS_H_ +#define NORMAL_CONTACT_MODELS_H_ + +#include "contact.h"; +#include "sub_model.h" + +namespace Contact { + +class NormalModel:SubModel{ +public: + NormalModel(){}; + virtual ~NormalModel(){}; + virtual bool check_contact(); + virtual void prep_contact(); + virtual void set_fncrit(); + virtual double calculate_forces() = 0; + virtual void coeffs_to_local(); + virtual void mix_coeffs(NormalModel*, NormalModel*); //When mixing is needed + +private: + int size_history = 0; + int beyond_contact = 0; + int allow_limit_damping = 1; + +}; + +class Hooke:NormalModel{ +public: + Hooke(); + ~Hooke(){}; + void coeffs_to_local(); + double calculate_forces(); +private: + double k_norm, damp; +}; + +class Hertz:NormalModel{ +public: + Hertz(int); + ~Hertz(){}; + void coeffs_to_local(); + double calculate_forces(); +private: + double k_norm, damp, Emod, poiss; +}; + +class DMT:NormalModel{ +public: + DMT(); + ~DMT(){}; + void coeffs_to_local(); + void coeffs_to_local(NormalModel*, NormalModel*); + double calculate_forces(); +private: + double k_norm, damp, Emod, cohesion, poiss; + double F_pulloff; +}; + +class JKR:NormalModel{ +public: + JKR(); + ~JKR(){}; + void coeffs_to_local(); + double calculate_forces(); +private: + double k_norm, damp, Emod, cohesion, poiss; + double F_pulloff; +}; +} + +#endif /*NORMAL_CONTACT_MODELS_H_ */ + diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index 506cc2e175..855ed36cf0 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -81,7 +81,8 @@ PairGranular::PairGranular(LAMMPS *lmp) : Pair(lmp) beyond_contact = 0; nondefault_history_transfer = 0; tangential_history_index = 0; - roll_history_index = twist_history_index = 0; + roll_history_index = 0; + twist_history_index = 0; heat_flag = 0; // create dummy fix as placeholder for FixNeighHistory @@ -234,6 +235,7 @@ void PairGranular::compute(int eflag, int vflag) models[itype][jtype].omegai = omega[i]; models[itype][jtype].omegaj = omega[j]; models[itype][jtype].history_update = historyupdate; + models[itype][jtype].history = history; models[itype][jtype].prep_contact(); if (heat_flag) { @@ -250,7 +252,11 @@ void PairGranular::compute(int eflag, int vflag) history = &allhistory[size_history*jj]; } - models[itype][jtype].calculate_forces(forces, torquesi, torquesj, history); + double *forces = models[itype][jtype].forces; + double *torquesi = models[itype][jtype].torquesi; + double *torquesj = models[itype][jtype].torquesj; + + models[itype][jtype].calculate_forces(); if (heat_flag) dq = models[itype][jtype].calculate_heat(); // apply forces & torques @@ -339,7 +345,7 @@ void PairGranular::coeff(int narg, char **arg) double conductivity_one; double cutoff_one = -1; - if (narg < 2) + if (narg < 3) error->all(FLERR,"Incorrect args for pair coefficients"); if (!allocated) allocate(); @@ -348,276 +354,66 @@ void PairGranular::coeff(int narg, char **arg) utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - //Defaults - normal_model_one = tangential_model_one = -1; - roll_model_one = ROLL_NONE; - twist_model_one = TWIST_NONE; - damping_model_one = VISCOELASTIC; - int ld_flag = 0; + //Here's one option for handing off parsing to the SubModel objects: + ContactModel model_one; + //Parse mandatory normal and tangential specifications int iarg = 2; + model_one.init_normal(arg[iarg]); + iarg += 1; + if (iarg + model_one.normal_model->num_coeffs >= narg) + error->all(FLERR,"Illegal pair_coeff command" + "Insufficient arguments provided."); + model_one.normal_model->parse_coeffs(arg, iarg); + iarg += model_one.normal_model->num_coeffs; + + if (strcmp(arg[iarg], "tangential") == 0) { + if (iarg + 1 >= narg) + error->all(FLERR,"Illegal pair_coeff command, must specify " + "tangential model after tangential keyword"); + model_one.init_tangential(arg[iarg]); + iarg += 1; + if (iarg + model_one.tangential_model->num_coeffs >= narg) + error->all(FLERR, "Illegal pair_coeff command" + "Insufficient arguments provided."); + model_one.tangential_model->parse_coeffs(arg, iarg); + iarg += model_one.tangential_model->num_coeffs; + } + else{ + error->all(FLERR, "Illegal pair_coeff command, 'tangential' keyword expected"); + } + //Parse optional arguments while (iarg < narg) { - if (strcmp(arg[iarg], "hooke") == 0) { - if (iarg + 2 >= narg) - error->all(FLERR,"Illegal pair_coeff command, " - "not enough parameters provided for Hooke option"); - normal_model_one = HOOKE; - normal_coeffs_one[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); // kn - normal_coeffs_one[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); // damping - iarg += 3; - } else if (strcmp(arg[iarg], "hertz") == 0) { - if (iarg + 2 >= narg) - error->all(FLERR,"Illegal pair_coeff command, " - "not enough parameters provided for Hertz option"); - normal_model_one = HERTZ; - normal_coeffs_one[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); // kn - normal_coeffs_one[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); // damping - iarg += 3; - } else if (strcmp(arg[iarg], "hertz/material") == 0) { - if (iarg + 3 >= narg) - error->all(FLERR,"Illegal pair_coeff command, " - "not enough parameters provided for Hertz/material option"); - normal_model_one = HERTZ_MATERIAL; - normal_coeffs_one[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); // E - normal_coeffs_one[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); // damping - normal_coeffs_one[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp); // Poisson's ratio - iarg += 4; - } else if (strcmp(arg[iarg], "dmt") == 0) { - if (iarg + 4 >= narg) - error->all(FLERR,"Illegal pair_coeff command, " - "not enough parameters provided for Hertz option"); - normal_model_one = DMT; - normal_coeffs_one[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); // E - normal_coeffs_one[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); // damping - normal_coeffs_one[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp); // Poisson's ratio - normal_coeffs_one[3] = utils::numeric(FLERR,arg[iarg+4],false,lmp); // cohesion - iarg += 5; - } else if (strcmp(arg[iarg], "jkr") == 0) { - if (iarg + 4 >= narg) - error->all(FLERR,"Illegal pair_coeff command, " - "not enough parameters provided for JKR option"); - beyond_contact = 1; - normal_model_one = JKR; - normal_coeffs_one[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); // E - normal_coeffs_one[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); // damping - normal_coeffs_one[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp); // Poisson's ratio - normal_coeffs_one[3] = utils::numeric(FLERR,arg[iarg+4],false,lmp); // cohesion - iarg += 5; - } else if (strcmp(arg[iarg], "damping") == 0) { - if (iarg+1 >= narg) - error->all(FLERR, "Illegal pair_coeff command, " - "not enough parameters provided for damping model"); - if (strcmp(arg[iarg+1], "velocity") == 0) { - damping_model_one = VELOCITY; - iarg += 1; - } else if (strcmp(arg[iarg+1], "mass_velocity") == 0) { - damping_model_one = MASS_VELOCITY; - iarg += 1; - } else if (strcmp(arg[iarg+1], "viscoelastic") == 0) { - damping_model_one = VISCOELASTIC; - iarg += 1; - } else if (strcmp(arg[iarg+1], "tsuji") == 0) { - damping_model_one = TSUJI; - iarg += 1; - } else error->all(FLERR, "Illegal pair_coeff command, " - "unrecognized damping model"); + if (strcmp(arg[iarg], "rolling") == 0) { + if (iarg + 1 >= narg) + error->all(FLERR, "Illegal pair_coeff command, not enough parameters"); + model_one.init_rolling(arg[iarg+1]); iarg += 1; - } else if (strcmp(arg[iarg], "tangential") == 0) { - if (iarg + 1 >= narg) - error->all(FLERR,"Illegal pair_coeff command, must specify " - "tangential model after tangential keyword"); - if (strcmp(arg[iarg+1], "linear_nohistory") == 0) { - if (iarg + 3 >= narg) - error->all(FLERR,"Illegal pair_coeff command, " - "not enough parameters provided for tangential model"); - tangential_model_one = TANGENTIAL_NOHISTORY; - tangential_coeffs_one[0] = 0; - // gammat and friction coeff - tangential_coeffs_one[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); - tangential_coeffs_one[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp); - iarg += 4; - } else if ((strcmp(arg[iarg+1], "linear_history") == 0) || - (strcmp(arg[iarg+1], "mindlin") == 0) || - (strcmp(arg[iarg+1], "mindlin_rescale") == 0) || - (strcmp(arg[iarg+1], "mindlin/force") == 0) || - (strcmp(arg[iarg+1], "mindlin_rescale/force") == 0)) { - if (iarg + 4 >= narg) - error->all(FLERR,"Illegal pair_coeff command, " - "not enough parameters provided for tangential model"); - if (strcmp(arg[iarg+1], "linear_history") == 0) - tangential_model_one = TANGENTIAL_HISTORY; - else if (strcmp(arg[iarg+1], "mindlin") == 0) - tangential_model_one = TANGENTIAL_MINDLIN; - else if (strcmp(arg[iarg+1], "mindlin_rescale") == 0) - tangential_model_one = TANGENTIAL_MINDLIN_RESCALE; - else if (strcmp(arg[iarg+1], "mindlin/force") == 0) - tangential_model_one = TANGENTIAL_MINDLIN_FORCE; - else if (strcmp(arg[iarg+1], "mindlin_rescale/force") == 0) - tangential_model_one = TANGENTIAL_MINDLIN_RESCALE_FORCE; - tangential_history = 1; - if ((tangential_model_one == TANGENTIAL_MINDLIN || - tangential_model_one == TANGENTIAL_MINDLIN_RESCALE || - tangential_model_one == TANGENTIAL_MINDLIN_FORCE || - tangential_model_one == TANGENTIAL_MINDLIN_RESCALE_FORCE) && - (strcmp(arg[iarg+2], "NULL") == 0)) { - if (normal_model_one == HERTZ || normal_model_one == HOOKE) { - error->all(FLERR, "NULL setting for Mindlin tangential " - "stiffness requires a normal contact model that " - "specifies material properties"); - } - tangential_coeffs_one[0] = -1; - } else { - tangential_coeffs_one[0] = utils::numeric(FLERR,arg[iarg+2],false,lmp); // kt - } - // gammat and friction coeff - tangential_coeffs_one[1] = utils::numeric(FLERR,arg[iarg+3],false,lmp); - tangential_coeffs_one[2] = utils::numeric(FLERR,arg[iarg+4],false,lmp); - iarg += 5; - } else { - error->all(FLERR, "Illegal pair_coeff command, " - "tangential model not recognized"); - } - } else if (strcmp(arg[iarg], "rolling") == 0) { - if (iarg + 1 >= narg) - error->all(FLERR, "Illegal pair_coeff command, not enough parameters"); - if (strcmp(arg[iarg+1], "none") == 0) { - roll_model_one = ROLL_NONE; - iarg += 2; - } else if (strcmp(arg[iarg+1], "sds") == 0) { - if (iarg + 4 >= narg) - error->all(FLERR,"Illegal pair_coeff command, " - "not enough parameters provided for rolling model"); - roll_model_one = ROLL_SDS; - roll_history = 1; - // kR and gammaR and rolling friction coeff - roll_coeffs_one[0] = utils::numeric(FLERR,arg[iarg+2],false,lmp); - roll_coeffs_one[1] = utils::numeric(FLERR,arg[iarg+3],false,lmp); - roll_coeffs_one[2] = utils::numeric(FLERR,arg[iarg+4],false,lmp); - iarg += 5; - } else { - error->all(FLERR, "Illegal pair_coeff command, " - "rolling friction model not recognized"); - } - } else if (strcmp(arg[iarg], "twisting") == 0) { - if (iarg + 1 >= narg) - error->all(FLERR, "Illegal pair_coeff command, not enough parameters"); - if (strcmp(arg[iarg+1], "none") == 0) { - twist_model_one = TWIST_NONE; - iarg += 2; - } else if (strcmp(arg[iarg+1], "marshall") == 0) { - twist_model_one = TWIST_MARSHALL; - twist_history = 1; - iarg += 2; - } else if (strcmp(arg[iarg+1], "sds") == 0) { - if (iarg + 4 >= narg) - error->all(FLERR,"Illegal pair_coeff command, " - "not enough parameters provided for twist model"); - twist_model_one = TWIST_SDS; - twist_history = 1; - // kt and gammat and friction coeff - twist_coeffs_one[0] = utils::numeric(FLERR,arg[iarg+2],false,lmp); - twist_coeffs_one[1] = utils::numeric(FLERR,arg[iarg+3],false,lmp); - twist_coeffs_one[2] = utils::numeric(FLERR,arg[iarg+4],false,lmp); - iarg += 5; - } else { - error->all(FLERR, "Illegal pair_coeff command, " - "twisting friction model not recognized"); - } - } else if (strcmp(arg[iarg], "cutoff") == 0) { - if (iarg + 1 >= narg) - error->all(FLERR, "Illegal pair_coeff command, not enough parameters"); - cutoff_one = utils::numeric(FLERR,arg[iarg+1],false,lmp); - iarg += 2; + if (iarg + model_one.rolling_model->num_coeffs >= narg) + error->all(FLERR, "Illegal pair_coeff command" + "Insufficient arguments provided for rolling model."); + iarg += model_one.rolling_model->num_coeffs; + } + else if (strcmp(arg[iarg], "twisting") == 0) { + //... + } + else if (strcmp(arg[iarg], "cutoff") == 0) { + //.. } else if (strcmp(arg[iarg], "limit_damping") == 0) { - ld_flag = 1; - iarg += 1; + //.. } else if (strcmp(arg[iarg], "heat") == 0) { - if (iarg + 1 >= narg) - error->all(FLERR, "Illegal pair_coeff command, not enough parameters"); - conductivity_one = utils::numeric(FLERR,arg[iarg+1],false,lmp); - if (conductivity_one < 0.0) - error->all(FLERR, "Illegal pair_coeff command, conductivity must be positive"); - heat_flag = 1; - iarg += 2; + //.. } else error->all(FLERR, "Illegal pair_coeff command"); } - // error not to specify normal or tangential model - if ((normal_model_one < 0) || (tangential_model_one < 0)) - error->all(FLERR, "Illegal pair_coeff command, " - "must specify normal or tangential contact model"); + if (model_one.limit_damping && !model_one.normal_model->allow_limit_damping) + error->all(FLERR,"Illegal pair_coeff command, " + "Cannot limit damping with specified normal contact model"); int count = 0; - double damp; - if (damping_model_one == TSUJI) { - double cor; - cor = normal_coeffs_one[1]; - damp = 1.2728-4.2783*cor+11.087*square(cor)-22.348*cube(cor)+ - 27.467*powint(cor,4)-18.022*powint(cor,5)+4.8218*powint(cor,6); - } else damp = normal_coeffs_one[1]; - - if (ld_flag && normal_model_one == JKR) - error->all(FLERR,"Illegal pair_coeff command, " - "Cannot limit damping with JKR model"); - - if (ld_flag && normal_model_one == DMT) - error->all(FLERR,"Illegal pair_coeff command, " - "Cannot limit damping with DMT model"); - - double Emod, poisson; for (int i = ilo; i <= ihi; i++) { for (int j = MAX(jlo,i); j <= jhi; j++) { - - // Define normal model - models[i][j].normal_model = models[j][i].normal_model = normal_model_one; - models[i][j].damping_model = models[j][i].damping_model = damping_model_one; - models[i][j].gamma_norm = models[j][i].gamma_norm = damp; - Emod = normal_coeffs_one[0]; - poisson = normal_coeffs_one[2]; - models[i][j].Emod = models[j][i].Emod = Emod; - models[i][j].poisson = models[j][i].poisson = poisson; - - if (normal_model_one != HERTZ && normal_model_one != HOOKE) { - models[i][j].k_norm = models[j][i].k_norm = - FOURTHIRDS*mix_stiffnessE(Emod,Emod,poisson,poisson); - } else { - models[i][j].k_norm = models[j][i].k_norm = normal_coeffs_one[0]; - } - if ((normal_model_one == JKR) || (normal_model_one == DMT)) - models[i][j].cohesion = models[j][i].cohesion = normal_coeffs_one[3]; - - // Define tangential model - models[i][j].tangential_model = models[j][i].tangential_model = tangential_model_one; - if (tangential_coeffs_one[0] == -1) { - models[i][j].k_tang = models[j][i].k_tang = - 8*mix_stiffnessG(Emod, Emod, poisson, poisson); - } else { - models[i][j].k_tang = models[j][i].k_tang = tangential_coeffs_one[0]; - } - models[i][j].gamma_tang = models[j][i].gamma_tang = tangential_coeffs_one[1]; - models[i][j].mu_tang = models[j][i].mu_tang = tangential_coeffs_one[2]; - - // Define rolling model - models[i][j].roll_model = models[j][i].roll_model = roll_model_one; - if (roll_model_one != ROLL_NONE) { - models[i][j].k_roll = models[j][i].k_roll = roll_coeffs_one[0]; - models[i][j].gamma_roll = models[j][i].gamma_roll = roll_coeffs_one[1]; - models[i][j].mu_roll = models[j][i].mu_roll = roll_coeffs_one[2]; - } - - // Define twisting model - models[i][j].twist_model = models[j][i].twist_model = twist_model_one; - if (twist_model_one != TWIST_NONE && twist_model_one != TWIST_MARSHALL) { - models[i][j].k_twist = models[j][i].k_twist = twist_coeffs_one[0]; - models[i][j].gamma_twist = models[j][i].gamma_twist = twist_coeffs_one[1]; - models[i][j].mu_twist = models[j][i].mu_twist = twist_coeffs_one[2]; - } - - // Define extra options - models[i][j].cutoff_type = models[j][i].cutoff_type = cutoff_one; - models[i][j].limit_damping = models[j][i].limit_damping = ld_flag; - models[i][j].conductivity = models[j][i].conductivity = conductivity_one; - + models[i][j] = model_one; //Not sure if this works to copy? May need to specify a copy operator for ContactModel.. setflag[i][j] = 1; count++; } @@ -641,48 +437,31 @@ void PairGranular::init_style() if (comm->ghost_velocity == 0) error->all(FLERR,"Pair granular requires ghost atoms store velocity"); - // determine whether we need a granular neigh list, how large it needs to be - - use_history = normal_history || tangential_history || - roll_history || twist_history; - - // for JKR, will need fix/neigh/history to keep track of touch arrays - + size_normal_history = 0; + size_tangential_history = 0; + size_rolling_history = 0; + size_twisting_history = 0; for (int i = 1; i <= atom->ntypes; i++) - for (int j = i; j <= atom->ntypes; j++) - if (models[i][j].normal_model == JKR) use_history = 1; + for (int j = i; j <= atom->ntypes; j++){ + if (models[i][j].normal_model->history_flag || + models[i][j].tangential_model->history_flag || + models[i][j].rolling_model->history_flag || + models[i][j].twisting_model->history_flag) use_history = 1; - size_history = 3*tangential_history + 3*roll_history + twist_history; + if (models[i][j].nondefault_history_transfer) + if (models[i][j].normal_model->size_history > size_normal_history) + size_normal_history = models[i][j].normal_model->size_history; + //... + } + + size_history = size_normal_history + size_tangential_history + + size_roll_history + size_twist_history; // determine location of tangential/roll/twist histories in array - if (roll_history) { - if (tangential_history) roll_history_index = 3; - else roll_history_index = 0; - } - if (twist_history) { - if (tangential_history) { - if (roll_history) twist_history_index = 6; - else twist_history_index = 3; - } else { - if (roll_history) twist_history_index = 3; - else twist_history_index = 0; - } - } - for (int i = 1; i <= atom->ntypes; i++) - for (int j = i; j <= atom->ntypes; j++) - if (models[i][j].tangential_model == TANGENTIAL_MINDLIN_RESCALE || - models[i][j].tangential_model == TANGENTIAL_MINDLIN_RESCALE_FORCE) { - size_history += 1; - roll_history_index += 1; - twist_history_index += 1; - nondefault_history_transfer = 1; - history_transfer_factors = new int[size_history]; - for (int ii = 0; ii < size_history; ++ii) - history_transfer_factors[ii] = -1; - history_transfer_factors[3] = 1; - break; - } + tangential_history_index = size_normal_history; + roll_history_index = size_normal_history + size_tangential_history; + twist_history_index = size_normal_history + size_tangential_history + size_roll_history; if (use_history) neighbor->add_request(this, NeighConst::REQ_SIZE|NeighConst::REQ_HISTORY); else neighbor->add_request(this, NeighConst::REQ_SIZE); @@ -907,27 +686,9 @@ void PairGranular::write_restart(FILE *fp) for (j = i; j <= atom->ntypes; j++) { fwrite(&setflag[i][j],sizeof(int),1,fp); if (setflag[i][j]) { - fwrite(&models[i][j].normal_model,sizeof(int),1,fp); - fwrite(&models[i][j].damping_model,sizeof(int),1,fp); - fwrite(&models[i][j].tangential_model,sizeof(int),1,fp); - fwrite(&models[i][j].roll_model,sizeof(int),1,fp); - fwrite(&models[i][j].twist_model,sizeof(int),1,fp); - fwrite(&models[i][j].limit_damping,sizeof(int),1,fp); - fwrite(&models[i][j].Emod,sizeof(double),1,fp); - fwrite(&models[i][j].poisson,sizeof(double),1,fp); - fwrite(&models[i][j].k_norm,sizeof(double),1,fp); - fwrite(&models[i][j].gamma_norm,sizeof(double),1,fp); - fwrite(&models[i][j].cohesion,sizeof(double),1,fp); - fwrite(&models[i][j].k_tang,sizeof(double),1,fp); - fwrite(&models[i][j].gamma_tang,sizeof(double),1,fp); - fwrite(&models[i][j].mu_tang,sizeof(double),1,fp); - fwrite(&models[i][j].k_roll,sizeof(double),1,fp); - fwrite(&models[i][j].gamma_roll,sizeof(double),1,fp); - fwrite(&models[i][j].mu_roll,sizeof(double),1,fp); - fwrite(&models[i][j].k_twist,sizeof(double),1,fp); - fwrite(&models[i][j].gamma_twist,sizeof(double),1,fp); - fwrite(&models[i][j].mu_twist,sizeof(double),1,fp); - fwrite(&models[i][j].cutoff_type,sizeof(double),1,fp); + if (comm->me == 0){ + models[i][j].write_restart(fp); + } } } } @@ -948,12 +709,23 @@ void PairGranular::read_restart(FILE *fp) MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); if (setflag[i][j]) { if (me == 0) { - utils::sfread(FLERR,&models[i][j].normal_model,sizeof(int),1,fp,nullptr,error); - utils::sfread(FLERR,&models[i][j].damping_model,sizeof(int),1,fp,nullptr,error); - utils::sfread(FLERR,&models[i][j].tangential_model,sizeof(int),1,fp,nullptr,error); - utils::sfread(FLERR,&models[i][j].roll_model,sizeof(int),1,fp,nullptr,error); - utils::sfread(FLERR,&models[i][j].twist_model,sizeof(int),1,fp,nullptr,error); + std::string name; + utils::sfread(FLERR,&name.data(),sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR,&models[i][j].damping_model_type,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR,&models[i][j].tangential_model_type,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR,&models[i][j].roll_model_type,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR,&models[i][j].twist_model_type,sizeof(int),1,fp,nullptr,error); utils::sfread(FLERR,&models[i][j].limit_damping,sizeof(int),1,fp,nullptr,error); + } + MPI_Bcast(&models[i][j].normal_model_type,1,MPI_INT,0,world); + MPI_Bcast(&models[i][j].damping_model_type,1,MPI_INT,0,world); + MPI_Bcast(&models[i][j].tangential_model_type,1,MPI_INT,0,world); + MPI_Bcast(&models[i][j].roll_model_type,1,MPI_INT,0,world); + MPI_Bcast(&models[i][j].twist_model_type,1,MPI_INT,0,world); + MPI_Bcast(&models[i][j].limit_damping,1,MPI_INT,0,world); + models[i][j].init(); + models[i][j].read_restart(); + utils::sfread(FLERR,&models[i][j].k_norm,sizeof(int),1,fp,nullptr,error); utils::sfread(FLERR,&models[i][j].gamma_norm,sizeof(int),1,fp,nullptr,error); utils::sfread(FLERR,&models[i][j].cohesion,sizeof(int),1,fp,nullptr,error); @@ -1087,6 +859,7 @@ double PairGranular::single(int i, int j, int itype, int jtype, } double forces[3], torquesi[3], torquesj[3]; + models[itype][jtype].calculate_forces(forces, torquesi, torquesj, history); // apply forces & torques @@ -1185,10 +958,12 @@ double PairGranular::mix_geom(double valii, double valjj) only needed if any history entries i-j are not just negative of j-i entries ------------------------------------------------------------------------- */ -void PairGranular::transfer_history(double* source, double* target) +void PairGranular::transfer_history(double* source, double* target, int source_type, int target_type) { - for (int i = 0; i < size_history; i++) + models[itype][jtype].transfer_history(); + for (int i = 0; i < size_history; i++){ target[i] = history_transfer_factors[i]*source[i]; + } } /* ---------------------------------------------------------------------- diff --git a/src/GRANULAR/rolling_contact_models.cpp b/src/GRANULAR/rolling_contact_models.cpp new file mode 100644 index 0000000000..e6bafe4b3c --- /dev/null +++ b/src/GRANULAR/rolling_contact_models.cpp @@ -0,0 +1,185 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "normal_contact_models.h" +#include "math_const.h" +#include "contact.h" + +#include + +using namespace MathConst; + +namespace Contact{ + +#define PI27SQ 266.47931882941264802866 // 27*PI**2 +#define THREEROOT3 5.19615242270663202362 // 3*sqrt(3) +#define SIXROOT6 14.69693845669906728801 // 6*sqrt(6) +#define INVROOT6 0.40824829046386307274 // 1/sqrt(6) +#define FOURTHIRDS (4.0/3.0) // 4/3 +#define ONETHIRD (1.0/3.0) // 1/3 +#define THREEQUARTERS 0.75 // 3/4 + +// ************************ +// Default behaviors where needed +// ************************ +void NormalModel::set_fncrit(){ + contact->Fncrit = fabs(contact->Fntot); +} + +void NormalModel::mix_coeffs(NormalModel* imodel, NormalModel* jmodel){ + for (int i = 0; i < num_coeffs; i++){ + coeffs[i] = sqrt(imodel->coeffs[i]*jmodel->coeffs[i]); + } +} + +//----------------------------------------- + +//****************** +// Hooke +//****************** +void Hooke::Hooke(ContactModel &c){ + contact = c; + num_coeffs = 2; + allocate_coeffs(); +} + +void Hooke::coeffs_to_local(){ + k_norm = coeffs[0]; + damp = coeffs[1]; +} + +double Hooke::calculate_forces(){ + contact.area = sqrt(contact.dR); + contact.knfac = k_norm * contact.area; + return contact.knfac * contact.delta; +} + + +//****************** +// Hertz +//****************** +void Hertz::Hertz(ContactModel &c, int mat_flag){ + contact = c; + material_prop_flag = mat_flag; + if (material_prop_flag){ + num_coeffs = 3; + } + else{ + num_coeffs = 2; + } + allocate_coeffs(); +} + +void Hertz::coeffs_to_local(){ + if (material_prop_flag){ + Emod = coeffs[0]; + poiss = coeffs[1]; + k_norm = 4/3*Emod; + } + else{ + k_norm = coeffs[0]; + } +} + +double Hertz::calculate_forces(){ + contact.area = sqrt(contact.dR); + contact.knfac = contact.k_norm * contact.area; + return contact.knfac * contact.delta; +} + +//****************** +// DMT +//****************** +void DMT::DMT(ContactModel &c){ + contact = c; + material_prop_flag = 1; + num_coeffs = 4; + allocate_coeffs(); +} + +double DMT::calculate_forces(){ + contact.area = sqrt(contact.dR); + contact.knfac = contact.k_norm * contact.area; + double Fne = contact.knfac * contact.delta; + F_pulloff = 4 * MathConst::MY_PI * cohesion * contact.Reff; + Fne -= F_pulloff; + return Fne; +} + +void DMT::set_fncrit(){ + contact.Fncrit = fabs(contact.Fne + 2* F_pulloff); +} + +//****************** +// JKR +//****************** +void JKR::JKR(ContactModel &c){ + contact = c; + material_prop_flag = 1; + beyond_contact = 1; + num_coeffs = 4; + allocate_coeffs(); +} + +bool JKR::touch(int touch){ + double Escaled, R2, delta_pulloff, dist_pulloff; + bool touchflag; + + Escaled = k_norm * THREEQUARTERS; + if (touch) { + R2 = contact.Reff * contact.Reff; + a = cbrt(9.0 * MY_PI * cohesion * R2 / (4 * Escaled)); + delta_pulloff = a * a / contact.Reff - 2 * sqrt(MY_PI * cohesion * a / Escaled); + dist_pulloff = contact.radsum - delta_pulloff; + touchflag = (contact.rsq < dist_pulloff * dist_pulloff); + } else { + touchflag = (rcontact.sq < contact.radsum * contact.radsum); + } + return touchflag; +} + +double JKR::calculate_forces(){ + double Escaled, R2, dR2, t0, t1, t2, t3, t4, t5, t6; + double sqrt1, sqrt2, sqrt3, a2, F_pulloff, Fne; + + Escaled = k_norm * THREEQUARTERS; + + R2 = Reff * Reff; + dR2 = dR * dR; + t0 = cohesion * cohesion * R2 * R2 * Escaled; + t1 = PI27SQ*t0; + t2 = 8 * dR * dR2 * Escaled * Escaled * Escaled; + t3 = 4 * dR2 * Escaled; + + // in case sqrt(0) < 0 due to precision issues + sqrt1 = MAX(0, t0 * (t1 + 2 * t2)); + t4 = cbrt(t1 + t2 + THREEROOT3 * MY_PI * sqrt(sqrt1)); + t5 = t3 / t4 + t4 / Escaled; + sqrt2 = MAX(0, 2 * dR + t5); + t6 = sqrt(sqrt2); + sqrt3 = MAX(0, 4 * dR - t5 + SIXROOT6 * cohesion * MY_PI * R2 / (Escaled * t6)); + a = INVROOT6 * (t6 + sqrt(sqrt3)); + a2 = a * a; + Fne = Escaled * a * a2 / Reff - MY_2PI * a2 * sqrt(4 * cohesion * Escaled / (MY_PI * a)); + F_pulloff = 3 * MY_PI * cohesion * Reff; + + knfac = Escaled * a; + return Fne; +} + +void JKR::set_fncrit(){ + contact.Fncrit = fabs(contact.Fne + 2 * F_pulloff); +} + + + diff --git a/src/GRANULAR/rolling_contact_models.h b/src/GRANULAR/rolling_contact_models.h new file mode 100644 index 0000000000..1a2f1ddb7d --- /dev/null +++ b/src/GRANULAR/rolling_contact_models.h @@ -0,0 +1,83 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifndef NORMAL_CONTACT_MODELS_H_ +#define NORMAL_CONTACT_MODELS_H_ + +#include "contact.h"; +#include "sub_model.h" + +namespace Contact { + +class NormalModel:SubModel{ +public: + NormalModel(){}; + virtual ~NormalModel(){}; + virtual bool check_contact(); + virtual void prep_contact(); + virtual void set_fncrit(); + virtual double calculate_forces() = 0; + virtual void coeffs_to_local(); + virtual void mix_coeffs(NormalModel*, NormalModel*); //When mixing is needed + +private: + int beyond_contact = 0; + int allow_limit_damping = 1; + +}; + +class Hooke:NormalModel{ +public: + Hooke(ContactModel &c); + ~Hooke(){}; + void coeffs_to_local(); + double calculate_forces(); +private: + double k_norm, damp; +}; + +class Hertz:NormalModel{ +public: + Hertz(ContactModel&, int); + ~Hertz(){}; + void coeffs_to_local(); + double calculate_forces(); +private: + double k_norm, damp, Emod, poiss; +}; + +class DMT:NormalModel{ +public: + DMT(ContactModel &c); + ~DMT(){}; + void coeffs_to_local(); + void coeffs_to_local(NormalModel*, NormalModel*); + double calculate_forces(); +private: + double k_norm, damp, Emod, poiss, coh; +}; + +class JKR:NormalModel{ +public: + JKR(ContactModel &c); + ~JKR(){}; + void coeffs_to_local(); + double calculate_forces(); +private: + double k_norm, damp, Emod, poiss, coh; + +}; +} + +#endif /*NORMAL_CONTACT_MODELS_H_ */ + diff --git a/src/GRANULAR/sub_model.cpp b/src/GRANULAR/sub_model.cpp new file mode 100644 index 0000000000..e5ace9885e --- /dev/null +++ b/src/GRANULAR/sub_model.cpp @@ -0,0 +1,76 @@ +// clang-format off +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- + + This class contains a series of tools for DEM contacts + Multiple models can be defined and used to calculate forces + and torques based on contact geometry +*/ +#include "sub_model.h" +#include "pointers.h" +#include "utils.h" +#include "error.h" +#include "comm.h" + +using namespace LAMMPS_NS; + +namespace Contact{ + +SubModel::SubModel(){ + allocated = 0; +} +SubModel::~SubModel(){ + if (allocated) delete [] coeffs; +} + +void SubModel::allocate_coeffs(){ + allocated = 1; + coeffs = new double[num_coeffs]; +} + +void SubModel::parse_coeffs(char **arg, int iarg){ + for (int i = 0; i < num_coeffs; i++){ + coeffs[i] = utils::numeric(FLERR,arg[iarg+i+1],false,lmp); + } + coeffs_to_local(); +} + +void SubModel::write_restart(FILE *fp){ + fwrite(&model_name.length(),sizeof(int),1,fp); + fwrite(model_name.data(),sizeof(char),model_name.length(),fp); + fwrite(&num_coeffs,sizeof(int),1,fp); + fwrite(coeffs,sizeof(int),num_coeffs,fp); +} + +void SubModel::read_restart(FILE *fp, int num_char){ + if (comm->me == 0){ + utils::sfread(FLERR,&num_coeffs,sizeof(int),1,fp,nullptr,error); + } + MPI_BCast(const_cast(model_name.data()), num_char, MPI_CHAR, world); + allocate_coeffs(); +} + +void SubModel::read_restart(FILE *fp){ + int num_char; + if (me == 0){ + utils::sfread(FLERR,&num_char,sizeof(int),1,fp,nullptr,error); + } + MPI_BCast(&num_char, 1, MPI_INT, 0, world); + read_restart(fp, num_char); +} + + + + +} + diff --git a/src/GRANULAR/sub_model.h b/src/GRANULAR/sub_model.h new file mode 100644 index 0000000000..2d3261238b --- /dev/null +++ b/src/GRANULAR/sub_model.h @@ -0,0 +1,48 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifndef GRANULAR_SUB_MODEL_H_ +#define GRANULAR_SUB_MODEL_H_ + +#include "contact.h" + +using namespace LAMMPS_NS; + +namespace Contact{ + +class SubModel : Pointers{ + SubModel(){}; + virtual ~SubModel(); +public: + int num_coeffs; + double *coeffs; + virtual double calculate_forces() = 0; + void read_restart(); + virtual void parse_coeffs(char **, int); + void write_restart(FILE*); + void read_restart(FILE*); + void read_restart(FILE*, int); + virtual void coeffs_to_local(); + void allocate_coeffs(); + std::string model_name; +private: + ContactModel &contact; + int allocated; + int material_prop_flag = 0; + int size_history; + +}; + +} + +#endif /* GRANULAR_SUB_MODEL_H_ */ diff --git a/src/GRANULAR/tangential_contact_models.cpp b/src/GRANULAR/tangential_contact_models.cpp new file mode 100644 index 0000000000..ff59ceabb7 --- /dev/null +++ b/src/GRANULAR/tangential_contact_models.cpp @@ -0,0 +1,168 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "tangential_contact_models.h" +#include "math_const.h" +#include "contact.h" + +#include + +using namespace MathConst; + +namespace Contact{ + +// ************************ +// Default behaviors where needed +// ************************ + +//----------------------------------------- + +//****************** +// Hooke +//****************** +void LinearNohistory::calculate_forces(){ + contact = c; + num_coeffs = 2; + allocate_coeffs(); +} + +void Hooke::coeffs_to_local(){ + k_norm = coeffs[0]; + damp = coeffs[1]; +} + +double Hooke::calculate_forces(){ + contact.area = sqrt(contact.dR); + contact.knfac = k_norm * contact.area; + return contact.knfac * contact.delta; +} + + +//****************** +// Hertz +//****************** +void Hertz::Hertz(ContactModel &c, int mat_flag){ + contact = c; + material_prop_flag = mat_flag; + if (material_prop_flag){ + num_coeffs = 3; + } + else{ + num_coeffs = 2; + } + allocate_coeffs(); +} + +void Hertz::coeffs_to_local(){ + if (material_prop_flag){ + Emod = coeffs[0]; + poiss = coeffs[1]; + k_norm = 4/3*Emod; + } + else{ + k_norm = coeffs[0]; + } +} + +double Hertz::calculate_forces(){ + contact.area = sqrt(contact.dR); + contact.knfac = contact.k_norm * contact.area; + return contact.knfac * contact.delta; +} + +//****************** +// DMT +//****************** +void DMT::DMT(ContactModel &c){ + contact = c; + material_prop_flag = 1; + num_coeffs = 4; + allocate_coeffs(); +} + +double DMT::calculate_forces(){ + contact.area = sqrt(contact.dR); + contact.knfac = contact.k_norm * contact.area; + double Fne = contact.knfac * contact.delta; + F_pulloff = 4 * MathConst::MY_PI * cohesion * contact.Reff; + Fne -= F_pulloff; + return Fne; +} + +void DMT::set_fncrit(){ + contact.Fncrit = fabs(contact.Fne + 2* F_pulloff); +} + +//****************** +// JKR +//****************** +void JKR::JKR(ContactModel &c){ + contact = c; + material_prop_flag = 1; + beyond_contact = 1; + num_coeffs = 4; + allocate_coeffs(); +} + +bool JKR::touch(int touch){ + double Escaled, R2, delta_pulloff, dist_pulloff; + bool touchflag; + + Escaled = k_norm * THREEQUARTERS; + if (touch) { + R2 = contact.Reff * contact.Reff; + a = cbrt(9.0 * MY_PI * cohesion * R2 / (4 * Escaled)); + delta_pulloff = a * a / contact.Reff - 2 * sqrt(MY_PI * cohesion * a / Escaled); + dist_pulloff = contact.radsum - delta_pulloff; + touchflag = (contact.rsq < dist_pulloff * dist_pulloff); + } else { + touchflag = (rcontact.sq < contact.radsum * contact.radsum); + } + return touchflag; +} + +double JKR::calculate_forces(){ + double Escaled, R2, dR2, t0, t1, t2, t3, t4, t5, t6; + double sqrt1, sqrt2, sqrt3, a2, F_pulloff, Fne; + + Escaled = k_norm * THREEQUARTERS; + + R2 = Reff * Reff; + dR2 = dR * dR; + t0 = cohesion * cohesion * R2 * R2 * Escaled; + t1 = PI27SQ*t0; + t2 = 8 * dR * dR2 * Escaled * Escaled * Escaled; + t3 = 4 * dR2 * Escaled; + + // in case sqrt(0) < 0 due to precision issues + sqrt1 = MAX(0, t0 * (t1 + 2 * t2)); + t4 = cbrt(t1 + t2 + THREEROOT3 * MY_PI * sqrt(sqrt1)); + t5 = t3 / t4 + t4 / Escaled; + sqrt2 = MAX(0, 2 * dR + t5); + t6 = sqrt(sqrt2); + sqrt3 = MAX(0, 4 * dR - t5 + SIXROOT6 * cohesion * MY_PI * R2 / (Escaled * t6)); + a = INVROOT6 * (t6 + sqrt(sqrt3)); + a2 = a * a; + Fne = Escaled * a * a2 / Reff - MY_2PI * a2 * sqrt(4 * cohesion * Escaled / (MY_PI * a)); + F_pulloff = 3 * MY_PI * cohesion * Reff; + + knfac = Escaled * a; + return Fne; +} + +void JKR::set_fncrit(){ + contact.Fncrit = fabs(contact.Fne + 2 * F_pulloff); +} + + + diff --git a/src/GRANULAR/tangential_contact_models.h b/src/GRANULAR/tangential_contact_models.h new file mode 100644 index 0000000000..207d129e7c --- /dev/null +++ b/src/GRANULAR/tangential_contact_models.h @@ -0,0 +1,79 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifndef TANGENTIAL_CONTACT_MODELS_H_ +#define TANGENTIAL_CONTACT_MODELS_H_ + +#include "contact.h"; +#include "sub_model.h" + +namespace Contact { + +class TangentialModel:SubModel{ +public: + TangentialModel(){}; + virtual ~TangentialModel(){}; + virtual double calculate_forces() = 0; + virtual void coeffs_to_local(); + virtual void mix_coeffs(TangentialModel*, TangentialModel*); //When mixing is needed + int rescale_flag = 0; +private: + int beyond_contact = 0; + int allow_limit_damping = 1; + +}; + +class LinearNohistory:TangentialModel{ +public: + double calculate_forces(); +private: + void allocate_coeffs(); + double k_t, damp; +}; + +class LinearHistory:TangentialModel{ +public: + LinearHistory(){} + ~LinearHistory(){}; + void coeffs_to_local(); + double calculate_forces(); +private: + double k_norm, damp, Emod, poiss; +}; + +class Mindlin:TangentialModel{ +public: + Mindlin(int); + ~Mindlin(){}; + void coeffs_to_local(); + void coeffs_to_local(TangentialModel*, TangentialModel*); + double calculate_forces(); +private: + + double k_norm, damp, Emod, poiss, coh; +}; + +class MindlinForce:TangentialModel{ +public: + JKR(ContactModel &c); + ~JKR(){}; + void coeffs_to_local(); + double calculate_forces(); +private: + double k_norm, damp, Emod, poiss, coh; + +}; +} + +#endif /*TANGENTIAL_CONTACT_MODELS_H_ */ + diff --git a/src/GRANULAR/twisting_contact_models.cpp b/src/GRANULAR/twisting_contact_models.cpp new file mode 100644 index 0000000000..e6bafe4b3c --- /dev/null +++ b/src/GRANULAR/twisting_contact_models.cpp @@ -0,0 +1,185 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "normal_contact_models.h" +#include "math_const.h" +#include "contact.h" + +#include + +using namespace MathConst; + +namespace Contact{ + +#define PI27SQ 266.47931882941264802866 // 27*PI**2 +#define THREEROOT3 5.19615242270663202362 // 3*sqrt(3) +#define SIXROOT6 14.69693845669906728801 // 6*sqrt(6) +#define INVROOT6 0.40824829046386307274 // 1/sqrt(6) +#define FOURTHIRDS (4.0/3.0) // 4/3 +#define ONETHIRD (1.0/3.0) // 1/3 +#define THREEQUARTERS 0.75 // 3/4 + +// ************************ +// Default behaviors where needed +// ************************ +void NormalModel::set_fncrit(){ + contact->Fncrit = fabs(contact->Fntot); +} + +void NormalModel::mix_coeffs(NormalModel* imodel, NormalModel* jmodel){ + for (int i = 0; i < num_coeffs; i++){ + coeffs[i] = sqrt(imodel->coeffs[i]*jmodel->coeffs[i]); + } +} + +//----------------------------------------- + +//****************** +// Hooke +//****************** +void Hooke::Hooke(ContactModel &c){ + contact = c; + num_coeffs = 2; + allocate_coeffs(); +} + +void Hooke::coeffs_to_local(){ + k_norm = coeffs[0]; + damp = coeffs[1]; +} + +double Hooke::calculate_forces(){ + contact.area = sqrt(contact.dR); + contact.knfac = k_norm * contact.area; + return contact.knfac * contact.delta; +} + + +//****************** +// Hertz +//****************** +void Hertz::Hertz(ContactModel &c, int mat_flag){ + contact = c; + material_prop_flag = mat_flag; + if (material_prop_flag){ + num_coeffs = 3; + } + else{ + num_coeffs = 2; + } + allocate_coeffs(); +} + +void Hertz::coeffs_to_local(){ + if (material_prop_flag){ + Emod = coeffs[0]; + poiss = coeffs[1]; + k_norm = 4/3*Emod; + } + else{ + k_norm = coeffs[0]; + } +} + +double Hertz::calculate_forces(){ + contact.area = sqrt(contact.dR); + contact.knfac = contact.k_norm * contact.area; + return contact.knfac * contact.delta; +} + +//****************** +// DMT +//****************** +void DMT::DMT(ContactModel &c){ + contact = c; + material_prop_flag = 1; + num_coeffs = 4; + allocate_coeffs(); +} + +double DMT::calculate_forces(){ + contact.area = sqrt(contact.dR); + contact.knfac = contact.k_norm * contact.area; + double Fne = contact.knfac * contact.delta; + F_pulloff = 4 * MathConst::MY_PI * cohesion * contact.Reff; + Fne -= F_pulloff; + return Fne; +} + +void DMT::set_fncrit(){ + contact.Fncrit = fabs(contact.Fne + 2* F_pulloff); +} + +//****************** +// JKR +//****************** +void JKR::JKR(ContactModel &c){ + contact = c; + material_prop_flag = 1; + beyond_contact = 1; + num_coeffs = 4; + allocate_coeffs(); +} + +bool JKR::touch(int touch){ + double Escaled, R2, delta_pulloff, dist_pulloff; + bool touchflag; + + Escaled = k_norm * THREEQUARTERS; + if (touch) { + R2 = contact.Reff * contact.Reff; + a = cbrt(9.0 * MY_PI * cohesion * R2 / (4 * Escaled)); + delta_pulloff = a * a / contact.Reff - 2 * sqrt(MY_PI * cohesion * a / Escaled); + dist_pulloff = contact.radsum - delta_pulloff; + touchflag = (contact.rsq < dist_pulloff * dist_pulloff); + } else { + touchflag = (rcontact.sq < contact.radsum * contact.radsum); + } + return touchflag; +} + +double JKR::calculate_forces(){ + double Escaled, R2, dR2, t0, t1, t2, t3, t4, t5, t6; + double sqrt1, sqrt2, sqrt3, a2, F_pulloff, Fne; + + Escaled = k_norm * THREEQUARTERS; + + R2 = Reff * Reff; + dR2 = dR * dR; + t0 = cohesion * cohesion * R2 * R2 * Escaled; + t1 = PI27SQ*t0; + t2 = 8 * dR * dR2 * Escaled * Escaled * Escaled; + t3 = 4 * dR2 * Escaled; + + // in case sqrt(0) < 0 due to precision issues + sqrt1 = MAX(0, t0 * (t1 + 2 * t2)); + t4 = cbrt(t1 + t2 + THREEROOT3 * MY_PI * sqrt(sqrt1)); + t5 = t3 / t4 + t4 / Escaled; + sqrt2 = MAX(0, 2 * dR + t5); + t6 = sqrt(sqrt2); + sqrt3 = MAX(0, 4 * dR - t5 + SIXROOT6 * cohesion * MY_PI * R2 / (Escaled * t6)); + a = INVROOT6 * (t6 + sqrt(sqrt3)); + a2 = a * a; + Fne = Escaled * a * a2 / Reff - MY_2PI * a2 * sqrt(4 * cohesion * Escaled / (MY_PI * a)); + F_pulloff = 3 * MY_PI * cohesion * Reff; + + knfac = Escaled * a; + return Fne; +} + +void JKR::set_fncrit(){ + contact.Fncrit = fabs(contact.Fne + 2 * F_pulloff); +} + + + diff --git a/src/GRANULAR/twisting_contact_models.h b/src/GRANULAR/twisting_contact_models.h new file mode 100644 index 0000000000..1a2f1ddb7d --- /dev/null +++ b/src/GRANULAR/twisting_contact_models.h @@ -0,0 +1,83 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifndef NORMAL_CONTACT_MODELS_H_ +#define NORMAL_CONTACT_MODELS_H_ + +#include "contact.h"; +#include "sub_model.h" + +namespace Contact { + +class NormalModel:SubModel{ +public: + NormalModel(){}; + virtual ~NormalModel(){}; + virtual bool check_contact(); + virtual void prep_contact(); + virtual void set_fncrit(); + virtual double calculate_forces() = 0; + virtual void coeffs_to_local(); + virtual void mix_coeffs(NormalModel*, NormalModel*); //When mixing is needed + +private: + int beyond_contact = 0; + int allow_limit_damping = 1; + +}; + +class Hooke:NormalModel{ +public: + Hooke(ContactModel &c); + ~Hooke(){}; + void coeffs_to_local(); + double calculate_forces(); +private: + double k_norm, damp; +}; + +class Hertz:NormalModel{ +public: + Hertz(ContactModel&, int); + ~Hertz(){}; + void coeffs_to_local(); + double calculate_forces(); +private: + double k_norm, damp, Emod, poiss; +}; + +class DMT:NormalModel{ +public: + DMT(ContactModel &c); + ~DMT(){}; + void coeffs_to_local(); + void coeffs_to_local(NormalModel*, NormalModel*); + double calculate_forces(); +private: + double k_norm, damp, Emod, poiss, coh; +}; + +class JKR:NormalModel{ +public: + JKR(ContactModel &c); + ~JKR(){}; + void coeffs_to_local(); + double calculate_forces(); +private: + double k_norm, damp, Emod, poiss, coh; + +}; +} + +#endif /*NORMAL_CONTACT_MODELS_H_ */ + From 6a1a06d76cd93dfe49caca16f708a3ddc0d620ed Mon Sep 17 00:00:00 2001 From: jtclemm Date: Fri, 15 Jul 2022 12:30:30 -0600 Subject: [PATCH 012/448] Take 2 --- src/.gitignore | 14 + src/GRANULAR/contact.cpp | 461 ++++-------------- src/GRANULAR/contact.h | 42 +- ..._models.cpp => contact_damping_models.cpp} | 0 ...tact_models.h => contact_damping_models.h} | 0 ...eat_models.cpp => contact_heat_models.cpp} | 0 .../{heat_models.h => contact_heat_models.h} | 0 ...t_models.cpp => contact_normal_models.cpp} | 108 ++-- ...ntact_models.h => contact_normal_models.h} | 1 + ..._models.cpp => contact_rolling_models.cpp} | 64 +++ ...tact_models.h => contact_rolling_models.h} | 0 .../{sub_model.cpp => contact_sub_models.cpp} | 29 +- .../{sub_model.h => contact_sub_models.h} | 5 +- src/GRANULAR/contact_tangential_models.cpp | 324 ++++++++++++ ...t_models.h => contact_tangential_models.h} | 0 ...models.cpp => contact_twisting_models.cpp} | 31 ++ ...act_models.h => contact_twisting_models.h} | 0 src/GRANULAR/pair_granular.cpp | 397 +++++++-------- src/GRANULAR/pair_granular.h | 5 +- src/GRANULAR/tangential_contact_models.cpp | 168 ------- 20 files changed, 817 insertions(+), 832 deletions(-) rename src/GRANULAR/{damping_contact_models.cpp => contact_damping_models.cpp} (100%) rename src/GRANULAR/{damping_contact_models.h => contact_damping_models.h} (100%) rename src/GRANULAR/{heat_models.cpp => contact_heat_models.cpp} (100%) rename src/GRANULAR/{heat_models.h => contact_heat_models.h} (100%) rename src/GRANULAR/{normal_contact_models.cpp => contact_normal_models.cpp} (63%) rename src/GRANULAR/{normal_contact_models.h => contact_normal_models.h} (97%) rename src/GRANULAR/{twisting_contact_models.cpp => contact_rolling_models.cpp} (73%) rename src/GRANULAR/{rolling_contact_models.h => contact_rolling_models.h} (100%) rename src/GRANULAR/{sub_model.cpp => contact_sub_models.cpp} (80%) rename src/GRANULAR/{sub_model.h => contact_sub_models.h} (93%) create mode 100644 src/GRANULAR/contact_tangential_models.cpp rename src/GRANULAR/{tangential_contact_models.h => contact_tangential_models.h} (100%) rename src/GRANULAR/{rolling_contact_models.cpp => contact_twisting_models.cpp} (82%) rename src/GRANULAR/{twisting_contact_models.h => contact_twisting_models.h} (100%) delete mode 100644 src/GRANULAR/tangential_contact_models.cpp diff --git a/src/.gitignore b/src/.gitignore index a1aee630b5..07230a10b4 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -1474,6 +1474,20 @@ /compute_xrd_consts.h /contact.cpp /contact.h +/contact_normal_models.cpp +/contact_normal_models.h +/contact_damping_models.cpp +/contact_damping_models.h +/contact_tangential_models.cpp +/contact_tangential_models.h +/contact_twisting_models.cpp +/contact_twisting_models.h +/contact_rolling_models.cpp +/contact_rolling_models.h +/contact_heat_models.cpp +/contact_heat_models.h +/contact_sub_models.cpp +/contact_sub_models.h /fix_atom_swap.cpp /fix_atom_swap.h /fix_ave_spatial_sphere.cpp diff --git a/src/GRANULAR/contact.cpp b/src/GRANULAR/contact.cpp index 554a54eec9..693721fe22 100644 --- a/src/GRANULAR/contact.cpp +++ b/src/GRANULAR/contact.cpp @@ -32,9 +32,12 @@ using namespace MathConst; namespace Contact { +enum {NORMAL, TANGENTIAL, DAMPING, ROLLING, TWISTING, HEAT} + ContactModel::ContactModel() { limit_damping = 0; + beyond_contact = 0; cutoff_type = 0.0; normal_model = nullptr; tangential_model = nullptr; @@ -42,115 +45,114 @@ ContactModel::ContactModel() rolling_model = nullptr; twisting_model = nullptr; reset_contact(); + + sub_models = {nullptr}; } /* ---------------------------------------------------------------------- */ -void ContactModel::init_normal(char *model_name){ - if (strcmp(model_name, "hooke") == 0) normal_model = new Hooke(); - else if (strcmp(model_name, "hertz") == 0) normal_model = new Hertz(0); - else if (strcmp(model_name, "hertz/material") == 0) normal_model = new Hertz(1); - //... - else error->all(FLERR, "Normal model name not recognized"); - normal_model->model_name.assign(model_name); - normal_model->contact = *this; - normal_model->allocate_coeffs(); +void ContactModel::init_model(char *model_name, int model_type) +{ + if (model_type == NORMAL) { + if (strcmp(model_name, "hooke") == 0) normal_model = new Hooke(); + else if (strcmp(model_name, "hertz") == 0) normal_model = new Hertz(0); + else if (strcmp(model_name, "hertz/material") == 0) normal_model = new Hertz(1); + //... + else error->all(FLERR, "Normal model name not recognized"); + sub_models[model_type] = &normal_model; + + } else if (model_type == TANGENTIAL) { + if (strcmp(model_name, "linear") == 0) tangential_model = new LinearNoHistory(); + //... + else error->all(FLERR, "Tangential model name not recognized"); + sub_models[model_type] = &tangential_model; + + } else if (model_type == DAMPING) { + if (strcmp(model_name, "linear") == 0) damping_model = new LinearNoHistory(); + //... + else error->all(FLERR, "Damping model name not recognized"); + sub_models[model_type] = &damping_model; + + } else if (model_type == ROLLING) { + if (strcmp(model_name, "linear") == 0) rolling_model = new LinearNoHistory(); + //... + else error->all(FLERR, "Rolling model name not recognized"); + sub_models[model_type] = &rolling_model; + + } else if (model_type == TWISTING) { + if (strcmp(model_name, "linear") == 0) twisting_model = new LinearNoHistory(); + //... + else error->all(FLERR, "Twisting model name not recognized"); + sub_models[model_type] = &twisting_model; + + } else if (model_type == HEAT) { + if (strcmp(model_name, "linear") == 0) heat_model = new LinearNoHistory(); + //... + else error->all(FLERR, "Heat model name not recognized"); + sub_models[model_type] = &heat_model; + } + + sub_models[model_type]->model_name.assign(model_name); + sub_models[model_type]->contact = *this; + sub_models[model_type]->allocate_coeffs(); } /* ---------------------------------------------------------------------- */ -void ContactModel::init_damping(char *model_name){ - if (strcmp(model_name, "velocity") == 0) tangential_model = new Velocity(*this); - //... - else error->all(FLERR, "Damping model name not recognized"); - tangential_model->model_name.assign(model_name); - tangential_model->contact = *this; - tangential_model->allocate_coeffs(); + +void ContactModel::mix_coeffs(ContactModel *c1, ContactModel *c2) +{ + for (int i = 0; i < 5; i++) + sum_model[i]->mix_coeffs(c1->submodel[i], c2->submodel[i]); + + limit_damping = MAX(c1->limit_damping, c2->limit_damping); + cutoff_type = MAX(c1->cutoff_type, c2->cutoff_type); } /* ---------------------------------------------------------------------- */ -void ContactModel::init_tangential(char *model_name){ - if (strcmp(model_name, "linear") == 0) tangential_model = new LinearNohistory(*this); - //... - else error->all(FLERR, "Tangential model name not recognized"); - damping_model->model_name.assign(model_name); - damping_model->contact = *this; - damping_model->allocate_coeffs(); -} +void ContactModel::write_restart(FILE *fp) +{ + int num_char = -1; + + for (int i = 0; i < 5; i++) { + if (sub_models[i]) { + sub_models[i]->write_restart(fp); + } else { + fwrite(&num_char, sizeof(int), 1, fp); + } + } +} /* ---------------------------------------------------------------------- */ -// .... same for rolling, twisting - -void ContactModel::write_restart(FILE *fp){ - normal_model->write_restart(fp); - tangential_model->write_restart(fp); - damping_model->write_restart(fp); - if (rolling_model){ - rolling_model->write_restart(fp); - } - else{ - int num_char = -1; - fwrite(&num_char, sizeof(int), 1, fp); - } - if (twisting_model){ - twisting_model->write_restart(fp); - } - else{ - int num_char = -1; - fwrite(&num_char, sizeof(int), 1, fp); - } -} - -void ContactModel::read_restart(FILE *fp){ +void ContactModel::read_restart(FILE *fp) +{ int num_char; - //Normal model - if (comm->me == 0){ - utils::sfread(FLERR,&num_char,sizeof(int),1,fp,nullptr,error); - } - MPI_BCast(&num_char, 1, MPI_INT, 0, world); - std::string model_name(num_char); - if (comm->me == 0){ - utils::sfread(FLERR,const_cast(model_name.data()),sizeof(char),num_char,fp,nullptr,error); - } - MPI_BCast(const_cast(model_name.data()), num_char, MPI_CHAR, world); - init_normal(const_cast(model_name.data())); - normal_model->read_restart(); - //Tangential model - if (comm->me == 0){ - utils::sfread(FLERR,&num_char,sizeof(int),1,fp,nullptr,error); - } - MPI_BCast(&num_char, 1, MPI_INT, 0, world); - std::string model_name(num_char); - if (comm->me == 0){ - utils::sfread(FLERR,const_cast(model_name.data()),sizeof(char),num_char,fp,nullptr,error); - } - init_tangential(const_cast(model_name.data())); - tangential_model->read_restart(); + for (int i = 0; i < 5; i++) { + if (comm->me == 0) + utils::sfread(FLERR,&num_char,sizeof(int),1,fp,nullptr,error); + MPI_BCast(&num_char, 1, MPI_INT, 0, world); - //Damping - if (comm->me == 0){ - utils::sfread(FLERR,&num_char,sizeof(int),1,fp,nullptr,error); - } - MPI_BCast(&num_char, 1, MPI_INT, 0, world); - std::string model_name(num_char); - if (comm->me == 0){ - utils::sfread(FLERR,const_cast(model_name.data()),sizeof(char),num_char,fp,nullptr,error); - } - init_tangential(const_cast(model_name.data())); - damping_model->read_restart(); - - //Optional (rolling, twisting) - only if num_char is > 0. + if (num_char != -1) { + std::string model_name(num_char); + if (comm->me == 0) + utils::sfread(FLERR,const_cast(model_name.data()),sizeof(char),num_char,fp,nullptr, error); + MPI_BCast(const_cast(model_name.data()), num_char, MPI_CHAR, world); + init_model(const_cast(model_name.data(), i)); + sub_models[i]->read_restart(); + } + } } /* ---------------------------------------------------------------------- */ void ContactModel::reset_contact() { - radi = radj = 0.0; + radi = radj = Fntot = Fncrit = magtortwist = 0.0; xi = xj = vi = vj = omegai = omegaj = nullptr; + forces = torquesi = torquesj = history = nullptr; prep_flag = check_flag = 0; touch = false; @@ -165,10 +167,10 @@ bool ContactModel::check_contact() sub3(xi, xj, dx); rsq = lensq3(dx); radsum = radi + radj; - Reff = radi*radj/radsum; + Reff = radi * radj / radsum; touch = false; - if (normal_model->beyond_contact) normal_model->touch(touch); + if (normal_model.beyond_contact) normal_model.touch(touch); else touch = (rsq < radsum*radsum); return touch; @@ -213,7 +215,7 @@ void ContactModel::prep_contact() if (roll_model || twist_model) sub3(omegai, omegaj, relrot); - if (roll_model) { + if (rolling_model) { // rolling velocity, see eq. 31 of Wang et al, Particuology v 23, p 49 (2015) // this is different from the Marshall papers, which use the Bagi/Kuhn formulation // for rolling velocity (see Wang et al for why the latter is wrong) @@ -222,7 +224,7 @@ void ContactModel::prep_contact() vrl[2] = Reff * (relrot[0] * nx[1] - relrot[1] * nx[0]); } - if (twist_model) { + if (twisting_model) { // omega_T (eq 29 of Marshall) magtwist = dot3(relrot, nx); } @@ -244,16 +246,16 @@ void ContactModel::calculate_forces() //********************************************** double Fne, Fdamp; - Fne = normal_model->calculate_forces(); - Fdamp = damping_model->calculate_forces(); + Fne = normal_model.calculate_forces(); + Fdamp = damping_model.calculate_forces(); Fntot = Fne + Fdamp; if (limit_damping && Fntot < 0.0) Fntot = 0.0; - normal_model->set_fncrit(); + normal_model.set_fncrit(); - tangential_model->calculate_forces(); - if (roll_model) roll_model->calculate_forces(); - if (twist_model) twist_model->calculate_forces(); + tangential_model.calculate_forces(); + if (rolling_model) rolling_model.calculate_forces(); + if (twisting_model) twisting_model.calculate_forces(); //********************************************** // sum contributions @@ -272,7 +274,7 @@ void ContactModel::calculate_forces() scale3(dist_to_contact, torquesj); double torroll[3]; - if (roll_model) { + if (rolling_model) { cross3(nx, fr, torroll); scale3(Reff, torroll); add3(torquesi, torroll, torquesi); @@ -280,7 +282,7 @@ void ContactModel::calculate_forces() } double tortwist[3]; - if (twist_model) { + if (twisting_model) { scale3(magtortwist, nx, tortwist); add3(torquesi, tortwist, torquesi); sub3(torquesj, tortwist, torquesj); @@ -291,262 +293,7 @@ void ContactModel::calculate_forces() double ContactModel::calculate_heat() { - double dT = Ti - Tj; - return conductivity * a * dT; -} - -/* ---------------------------------------------------------------------- */ - - - -/* ---------------------------------------------------------------------- */ - -void ContactModel::tangential_no_history() -{ - double gamma_scaled = gamma_tang * damp_normal_prefactor; - double fsmag, Ft; - - // classic pair gran/hooke (no history) - fsmag = gamma_scaled * vrel; - if (vrel != 0.0) Ft = MIN(Fscrit,fsmag) / vrel; - else Ft = 0.0; - - Ft = -Ft; - scale3(Ft, vtr, fs); -} - -/* ---------------------------------------------------------------------- */ - -void ContactModel::tangential_history(double *history) -{ - double gamma_scaled = gamma_tang * damp_normal_prefactor; - double k = k_tang; - int frame_update = 0; - double magfs, rsht, shrmag, prjmag, temp_dbl, temp_array[3]; - - // rotate and update displacements / force. - // see e.g. eq. 17 of Luding, Gran. Matter 2008, v10,p235 - if (history_update) { - rsht = dot3(history, nx); - frame_update = fabs(rsht) * k > EPSILON * Fscrit; - - if (frame_update) { - shrmag = len3(history); - // projection - scale3(rsht, nx, history); - // also rescale to preserve magnitude - prjmag = len3(history); - if (prjmag > 0) temp_dbl = shrmag / prjmag; - else temp_dbl = 0; - scale3(temp_dbl, history); - } - - // update history - // tangential force - // see e.g. eq. 18 of Thornton et al, Pow. Tech. 2013, v223,p30-46 - temp_dbl = k * dt; - scale3(temp_dbl, vtr, temp_array); - sub3(history, temp_array, history); - } - - // tangential forces = history + tangential velocity damping - temp_dbl = -gamma_norm; - scale3(temp_dbl, vtr, fs); - - // rescale frictional displacements and forces if needed - magfs = len3(fs); - if (magfs > Fscrit) { - shrmag = len3(history); - if (shrmag != 0.0) { - temp_dbl = Fscrit / magfs; - scale3(temp_dbl, fs, history); - scale3(gamma_norm, vtr, temp_array); - add3(history, temp_array, history); - temp_dbl = Fscrit / magfs; - scale3(temp_dbl, fs); - } else { - zero3(fs); - } - } -} - -/* ---------------------------------------------------------------------- */ - -void ContactModel::tangential_mindlin(double *history) -{ - double k_scaled, gamma_scaled, magfs, rsht, shrmag, prjmag, temp_dbl; - double temp_array[3]; - int frame_update = 0; - - gamma_scaled = gamma_tang * damp_normal_prefactor; - k_scaled = k_tang * a; - if (mindlin_rescale) { - // on unloading, rescale the shear displacements/force - if (a < history[3]) { - temp_dbl = a / history[3]; - scale3(temp_dbl, history); - } - } - - // rotate and update displacements / force. - // see e.g. eq. 17 of Luding, Gran. Matter 2008, v10,p235 - if (history_update) { - rsht = dot3(history, nx); - if (mindlin_force) - frame_update = fabs(rsht) > EPSILON * Fscrit; - else - frame_update = fabs(rsht) * k_scaled > EPSILON * Fscrit; - - if (frame_update) { - shrmag = len3(history); - // projection - scale3(rsht, nx, history); - // also rescale to preserve magnitude - prjmag = len3(history); - if (prjmag > 0) temp_dbl = shrmag / prjmag; - else temp_dbl = 0; - scale3(temp_dbl, history); - } - - // update history - if (mindlin_force) { - // tangential force - // see e.g. eq. 18 of Thornton et al, Pow. Tech. 2013, v223,p30-46 - temp_dbl = -k_scaled * dt; - scale3(temp_dbl, vtr, temp_array); - } else { - scale3(dt, vtr, temp_array); - } - add3(history, temp_array, history); - - if (mindlin_rescale) history[3] = a; - } - - // tangential forces = history + tangential velocity damping - temp_dbl = -gamma_scaled; - scale3(temp_dbl, vtr, fs); - - if (! mindlin_force) { - scale3(k_scaled, history, temp_array); - add3(fs, temp_array, fs); - } - - // rescale frictional displacements and forces if needed - magfs = len3(fs); - if (magfs > Fscrit) { - shrmag = len3(history); - if (shrmag != 0.0) { - temp_dbl = Fscrit / magfs; - scale3(temp_dbl, fs, history); - scale3(gamma_tang, vtr, temp_array); - add3(history, temp_array, history); - if (! mindlin_force) { - temp_dbl = -1.0 / k_tang; - scale3(temp_dbl, history); - } - temp_dbl = Fscrit / magfs; - scale3(temp_dbl, fs); - } else { - zero3(fs); - } - } -} - -/* ---------------------------------------------------------------------- */ - -void ContactModel::rolling(double *history) -{ - int rhist0, rhist1, rhist2, frameupdate; - double rolldotn, rollmag, prjmag, magfr, hist_temp[3], temp_dbl, temp_array[3]; - - rhist0 = roll_history_index; - rhist1 = rhist0 + 1; - rhist2 = rhist1 + 1; - - Frcrit = mu_roll * Fncrit; - - if (history_update) { - hist_temp[0] = history[rhist0]; - hist_temp[1] = history[rhist1]; - hist_temp[2] = history[rhist2]; - rolldotn = dot3(hist_temp, nx); - - frameupdate = fabs(rolldotn)*k_roll > EPSILON*Frcrit; - if (frameupdate) { // rotate into tangential plane - rollmag = len3(hist_temp); - // projection - temp_dbl = -rolldotn; - scale3(temp_dbl, nx, temp_array); - sub3(hist_temp, temp_array, hist_temp); - - // also rescale to preserve magnitude - prjmag = len3(hist_temp); - if (prjmag > 0) temp_dbl = rollmag / prjmag; - else temp_dbl = 0; - scale3(temp_dbl, hist_temp); - } - scale3(dt, vrl, temp_array); - add3(hist_temp, temp_array, hist_temp); - } - - scaleadd3(k_roll, hist_temp, gamma_roll, vrl, fr); - negate3(fr); - - // rescale frictional displacements and forces if needed - - magfr = len3(fr); - if (magfr > Frcrit) { - rollmag = len3(hist_temp); - if (rollmag != 0.0) { - temp_dbl = -Frcrit / (magfr * k_roll); - scale3(temp_dbl, fr, temp_array); - add3(hist_temp, temp_array, hist_temp); - - temp_dbl = -gamma_roll/k_roll; - scale3(temp_dbl, vrl, temp_array); - add3(hist_temp, temp_array, hist_temp); - - temp_dbl = Frcrit / magfr; - scale3(temp_dbl, fr); - } else { - zero3(fr); - } - } - - history[rhist0] = hist_temp[0]; - history[rhist1] = hist_temp[1]; - history[rhist2] = hist_temp[2]; -} - -/* ---------------------------------------------------------------------- */ - -void ContactModel::twisting_marshall(double *history) -{ - // Overwrite twist coefficients with derived values - k_twist = 0.5 * k_tang * a * a; // eq 32 of Marshall paper - gamma_twist = 0.5 * gamma_tang * a * a; - mu_twist = TWOTHIRDS * a * mu_tang; - - twisting_SDS(history); -} - -/* ---------------------------------------------------------------------- */ - -void ContactModel::twisting_SDS(double *history) -{ - double signtwist, Mtcrit; - - if (history_update) { - history[twist_history_index] += magtwist * dt; - } - - magtortwist = -k_twist * history[twist_history_index] - gamma_twist*magtwist; // M_t torque (eq 30) - signtwist = (magtwist > 0) - (magtwist < 0); - Mtcrit = mu_twist * Fncrit; // critical torque (eq 44) - if (fabs(magtortwist) > Mtcrit) { - history[twist_history_index] = (Mtcrit * signtwist - gamma_twist * magtwist) / k_twist; - magtortwist = -Mtcrit * signtwist; // eq 34 - } + return heat_model.calculate_heat(); } /* ---------------------------------------------------------------------- @@ -556,15 +303,7 @@ void ContactModel::twisting_SDS(double *history) double ContactModel::pulloff_distance(double radi, double radj) { - double Ecaled, a_tmp, Reff_tmp; - - if (normal_model != JKR) return radi+radj; - - Reff_tmp = radi * radj / (radi + radj); - if (Reff_tmp <= 0) return 0; - Ecaled = k_norm * THREEQUARTERS; - a_tmp = cbrt(9 * MY_PI * cohesion * Reff_tmp * Reff_tmp / (4 * Ecaled)); - return a_tmp * a_tmp / Reff_tmp - 2 * sqrt(MY_PI * cohesion * a_tmp / Ecaled); + return normal_model.pulloff_distance(radi, radj); } } diff --git a/src/GRANULAR/contact.h b/src/GRANULAR/contact.h index cb6d1865af..8883ecb08e 100644 --- a/src/GRANULAR/contact.h +++ b/src/GRANULAR/contact.h @@ -39,36 +39,35 @@ public: double calculate_heat(); double pulloff_distance(double, double); - void init_normal(char*); - void init_tangential(char*); - void init_damping(char*); - void init_rolling(char*); - void init_twisting(char*); - void init_heat(char*); + void init_model(char*, int); + + void mix_coeffs(ContactModel*, ContactModel*); void write_restart(FILE *); void read_restart(FILE *); - NormalModel *normal_model; - DampingModel *damping_model; //Classes below need .h and .cpp files analogous to normal_contact_models.h/.cpp - TangentialModel *tangential_model; - RollingModel *rolling_model; - TwistingModel *twisting_model; - HeatModel *heat_model; + // Sub models + NormalModel normal_model; + DampingModel damping_model; + TangentialModel tangential_model; + RollingModel rolling_model; + TwistingModel twisting_model; + HeatModel heat_model; + SubModel *sub_models[6]; // Need to resize if we add more model flavors - double *forces; - double *torquesi; - double *torquesj; + // Extra options + int beyond_contact, limit_damping; + double cutoff_type; + + // Contact properties/output + double *forces, *torquesi, *torquesj; double *history; - int limit_damping; - - double radi, radj, meff, dt, Ti, Tj; - double area; + double radi, radj, meff, dt, Ti, Tj, area; + double Fntot, Fncrit, magtortwist; double *xi, *xj, *vi, *vj, *omegai, *omegaj; - double Fntot, Fncrit; - double fs[3], fr[3], ft[3], magtortwist; + double fs[3], fr[3], ft[3]; private: double dx[3], nx[3], r, rsq, rinv, Reff, radsum, delta, dR; @@ -77,7 +76,6 @@ private: bool touch; int prep_flag, check_flag; - int mindlin_rescale, mindlin_force; }; } // namespace Contact diff --git a/src/GRANULAR/damping_contact_models.cpp b/src/GRANULAR/contact_damping_models.cpp similarity index 100% rename from src/GRANULAR/damping_contact_models.cpp rename to src/GRANULAR/contact_damping_models.cpp diff --git a/src/GRANULAR/damping_contact_models.h b/src/GRANULAR/contact_damping_models.h similarity index 100% rename from src/GRANULAR/damping_contact_models.h rename to src/GRANULAR/contact_damping_models.h diff --git a/src/GRANULAR/heat_models.cpp b/src/GRANULAR/contact_heat_models.cpp similarity index 100% rename from src/GRANULAR/heat_models.cpp rename to src/GRANULAR/contact_heat_models.cpp diff --git a/src/GRANULAR/heat_models.h b/src/GRANULAR/contact_heat_models.h similarity index 100% rename from src/GRANULAR/heat_models.h rename to src/GRANULAR/contact_heat_models.h diff --git a/src/GRANULAR/normal_contact_models.cpp b/src/GRANULAR/contact_normal_models.cpp similarity index 63% rename from src/GRANULAR/normal_contact_models.cpp rename to src/GRANULAR/contact_normal_models.cpp index cc01a3ddb2..e17798ca25 100644 --- a/src/GRANULAR/normal_contact_models.cpp +++ b/src/GRANULAR/contact_normal_models.cpp @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "normal_contact_models.h" +#include "contact_normal_models.h" #include "math_const.h" #include "contact.h" @@ -32,32 +32,42 @@ namespace Contact{ // ************************ // Default behaviors where needed // ************************ -void NormalModel::set_fncrit(){ +void NormalModel::set_fncrit() +{ contact->Fncrit = fabs(contact->Fntot); } -void NormalModel::mix_coeffs(NormalModel* imodel, NormalModel* jmodel){ - for (int i = 0; i < num_coeffs; i++){ +void NormalModel::mix_coeffs(NormalModel* imodel, NormalModel* jmodel) +{ + for (int i = 0; i < num_coeffs; i++) { coeffs[i] = sqrt(imodel->coeffs[i]*jmodel->coeffs[i]); } } +void NormalModel::pulloff_distance(double radi, double radj) +{ + return radi + radj; +} + //----------------------------------------- //****************** // Hooke //****************** -void Hooke::Hooke(ContactModel &c){ +void Hooke::Hooke(ContactModel &c) +{ num_coeffs = 2; allocate_coeffs(); } -void Hooke::coeffs_to_local(){ +void Hooke::coeffs_to_local() +{ k_norm = coeffs[0]; damp = coeffs[1]; } -double Hooke::calculate_forces(){ +double Hooke::calculate_forces() +{ contact.area = sqrt(contact.dR); contact.knfac = k_norm * contact.area; return contact.knfac * contact.delta; @@ -67,7 +77,8 @@ double Hooke::calculate_forces(){ //****************** // Hertz //****************** -void Hertz::Hertz(ContactModel &c, int mat_flag){ +void Hertz::Hertz(ContactModel &c, int mat_flag) +{ material_prop_flag = mat_flag; if (material_prop_flag){ num_coeffs = 3; @@ -77,7 +88,8 @@ void Hertz::Hertz(ContactModel &c, int mat_flag){ } } -void Hertz::coeffs_to_local(){ +void Hertz::coeffs_to_local() +{ if (material_prop_flag){ Emod = coeffs[0]; poiss = coeffs[1]; @@ -88,7 +100,8 @@ void Hertz::coeffs_to_local(){ } } -double Hertz::calculate_forces(){ +double Hertz::calculate_forces() +{ contact.area = sqrt(contact.dR); contact.knfac = contact.k_norm * contact.area; return contact.knfac * contact.delta; @@ -97,12 +110,14 @@ double Hertz::calculate_forces(){ //****************** // DMT //****************** -void DMT::DMT(ContactModel &c){ +void DMT::DMT(ContactModel &c) +{ material_prop_flag = 1; num_coeffs = 4; } -double DMT::calculate_forces(){ +double DMT::calculate_forces() +{ contact.area = sqrt(contact.dR); contact.knfac = contact.k_norm * contact.area; double Fne = contact.knfac * contact.delta; @@ -111,20 +126,23 @@ double DMT::calculate_forces(){ return Fne; } -void DMT::set_fncrit(){ +void DMT::set_fncrit() +{ contact.Fncrit = fabs(contact.Fne + 2* F_pulloff); } //****************** // JKR //****************** -void JKR::JKR(ContactModel &c){ +void JKR::JKR(ContactModel &c) +{ material_prop_flag = 1; - beyond_contact = 1; + contact.beyond_contact = beyond_contact = 1; num_coeffs = 4; } -bool JKR::touch(int touch){ +bool JKR::touch(int touch) +{ double Escaled, R2, delta_pulloff, dist_pulloff; bool touchflag; @@ -141,38 +159,50 @@ bool JKR::touch(int touch){ return touchflag; } -double JKR::calculate_forces(){ +double JKR::calculate_forces() +{ double Escaled, R2, dR2, t0, t1, t2, t3, t4, t5, t6; - double sqrt1, sqrt2, sqrt3, a2, F_pulloff, Fne; + double sqrt1, sqrt2, sqrt3, a2, F_pulloff, Fne; - Escaled = k_norm * THREEQUARTERS; + Escaled = k_norm * THREEQUARTERS; - R2 = Reff * Reff; - dR2 = dR * dR; - t0 = cohesion * cohesion * R2 * R2 * Escaled; - t1 = PI27SQ*t0; - t2 = 8 * dR * dR2 * Escaled * Escaled * Escaled; - t3 = 4 * dR2 * Escaled; + R2 = Reff * Reff; + dR2 = dR * dR; + t0 = cohesion * cohesion * R2 * R2 * Escaled; + t1 = PI27SQ*t0; + t2 = 8 * dR * dR2 * Escaled * Escaled * Escaled; + t3 = 4 * dR2 * Escaled; - // in case sqrt(0) < 0 due to precision issues - sqrt1 = MAX(0, t0 * (t1 + 2 * t2)); - t4 = cbrt(t1 + t2 + THREEROOT3 * MY_PI * sqrt(sqrt1)); - t5 = t3 / t4 + t4 / Escaled; - sqrt2 = MAX(0, 2 * dR + t5); - t6 = sqrt(sqrt2); - sqrt3 = MAX(0, 4 * dR - t5 + SIXROOT6 * cohesion * MY_PI * R2 / (Escaled * t6)); - a = INVROOT6 * (t6 + sqrt(sqrt3)); - a2 = a * a; - Fne = Escaled * a * a2 / Reff - MY_2PI * a2 * sqrt(4 * cohesion * Escaled / (MY_PI * a)); - F_pulloff = 3 * MY_PI * cohesion * Reff; + // in case sqrt(0) < 0 due to precision issues + sqrt1 = MAX(0, t0 * (t1 + 2 * t2)); + t4 = cbrt(t1 + t2 + THREEROOT3 * MY_PI * sqrt(sqrt1)); + t5 = t3 / t4 + t4 / Escaled; + sqrt2 = MAX(0, 2 * dR + t5); + t6 = sqrt(sqrt2); + sqrt3 = MAX(0, 4 * dR - t5 + SIXROOT6 * cohesion * MY_PI * R2 / (Escaled * t6)); + a = INVROOT6 * (t6 + sqrt(sqrt3)); + a2 = a * a; + Fne = Escaled * a * a2 / Reff - MY_2PI * a2 * sqrt(4 * cohesion * Escaled / (MY_PI * a)); + F_pulloff = 3 * MY_PI * cohesion * Reff; - knfac = Escaled * a; - return Fne; + knfac = Escaled * a; + return Fne; } -void JKR::set_fncrit(){ +void JKR::set_fncrit() +{ contact.Fncrit = fabs(contact.Fne + 2 * F_pulloff); } +void JKR::pulloff_distance(double radi, double radj) +{ + double Ecaled, a_tmp, Reff_tmp; + Reff_tmp = radi * radj / (radi + radj); + if (Reff_tmp <= 0) return 0; + + Ecaled = k_norm * THREEQUARTERS; + a_tmp = cbrt(9 * MY_PI * cohesion * Reff_tmp * Reff_tmp / (4 * Ecaled)); + return a_tmp * a_tmp / Reff_tmp - 2 * sqrt(MY_PI * cohesion * a_tmp / Ecaled); +} diff --git a/src/GRANULAR/normal_contact_models.h b/src/GRANULAR/contact_normal_models.h similarity index 97% rename from src/GRANULAR/normal_contact_models.h rename to src/GRANULAR/contact_normal_models.h index 198e4bcb59..7d54fc942b 100644 --- a/src/GRANULAR/normal_contact_models.h +++ b/src/GRANULAR/contact_normal_models.h @@ -29,6 +29,7 @@ public: virtual double calculate_forces() = 0; virtual void coeffs_to_local(); virtual void mix_coeffs(NormalModel*, NormalModel*); //When mixing is needed + void pulloff_distance(double, double); private: int size_history = 0; diff --git a/src/GRANULAR/twisting_contact_models.cpp b/src/GRANULAR/contact_rolling_models.cpp similarity index 73% rename from src/GRANULAR/twisting_contact_models.cpp rename to src/GRANULAR/contact_rolling_models.cpp index e6bafe4b3c..5521e10aee 100644 --- a/src/GRANULAR/twisting_contact_models.cpp +++ b/src/GRANULAR/contact_rolling_models.cpp @@ -183,3 +183,67 @@ void JKR::set_fncrit(){ + +void ContactModel::rolling(double *history) +{ + int rhist0, rhist1, rhist2, frameupdate; + double rolldotn, rollmag, prjmag, magfr, hist_temp[3], temp_dbl, temp_array[3]; + + rhist0 = roll_history_index; + rhist1 = rhist0 + 1; + rhist2 = rhist1 + 1; + + Frcrit = mu_roll * Fncrit; + + if (history_update) { + hist_temp[0] = history[rhist0]; + hist_temp[1] = history[rhist1]; + hist_temp[2] = history[rhist2]; + rolldotn = dot3(hist_temp, nx); + + frameupdate = fabs(rolldotn)*k_roll > EPSILON*Frcrit; + if (frameupdate) { // rotate into tangential plane + rollmag = len3(hist_temp); + // projection + temp_dbl = -rolldotn; + scale3(temp_dbl, nx, temp_array); + sub3(hist_temp, temp_array, hist_temp); + + // also rescale to preserve magnitude + prjmag = len3(hist_temp); + if (prjmag > 0) temp_dbl = rollmag / prjmag; + else temp_dbl = 0; + scale3(temp_dbl, hist_temp); + } + scale3(dt, vrl, temp_array); + add3(hist_temp, temp_array, hist_temp); + } + + scaleadd3(k_roll, hist_temp, gamma_roll, vrl, fr); + negate3(fr); + + // rescale frictional displacements and forces if needed + + magfr = len3(fr); + if (magfr > Frcrit) { + rollmag = len3(hist_temp); + if (rollmag != 0.0) { + temp_dbl = -Frcrit / (magfr * k_roll); + scale3(temp_dbl, fr, temp_array); + add3(hist_temp, temp_array, hist_temp); + + temp_dbl = -gamma_roll/k_roll; + scale3(temp_dbl, vrl, temp_array); + add3(hist_temp, temp_array, hist_temp); + + temp_dbl = Frcrit / magfr; + scale3(temp_dbl, fr); + } else { + zero3(fr); + } + } + + history[rhist0] = hist_temp[0]; + history[rhist1] = hist_temp[1]; + history[rhist2] = hist_temp[2]; +} diff --git a/src/GRANULAR/rolling_contact_models.h b/src/GRANULAR/contact_rolling_models.h similarity index 100% rename from src/GRANULAR/rolling_contact_models.h rename to src/GRANULAR/contact_rolling_models.h diff --git a/src/GRANULAR/sub_model.cpp b/src/GRANULAR/contact_sub_models.cpp similarity index 80% rename from src/GRANULAR/sub_model.cpp rename to src/GRANULAR/contact_sub_models.cpp index e5ace9885e..8802622c78 100644 --- a/src/GRANULAR/sub_model.cpp +++ b/src/GRANULAR/contact_sub_models.cpp @@ -16,7 +16,7 @@ Multiple models can be defined and used to calculate forces and torques based on contact geometry */ -#include "sub_model.h" +#include "contact_sub_model.h" #include "pointers.h" #include "utils.h" #include "error.h" @@ -26,33 +26,43 @@ using namespace LAMMPS_NS; namespace Contact{ -SubModel::SubModel(){ +SubModel::SubModel() +{ allocated = 0; + material_prop_flag = 0; + size_history = 0; + history_index = 0; } -SubModel::~SubModel(){ + +SubModel::~SubModel() +{ if (allocated) delete [] coeffs; } -void SubModel::allocate_coeffs(){ +void SubModel::allocate_coeffs() +{ allocated = 1; coeffs = new double[num_coeffs]; } -void SubModel::parse_coeffs(char **arg, int iarg){ - for (int i = 0; i < num_coeffs; i++){ +void SubModel::parse_coeffs(char **arg, int iarg) +{ + for (int i = 0; i < num_coeffs; i++) { coeffs[i] = utils::numeric(FLERR,arg[iarg+i+1],false,lmp); } coeffs_to_local(); } -void SubModel::write_restart(FILE *fp){ +void SubModel::write_restart(FILE *fp) +{ fwrite(&model_name.length(),sizeof(int),1,fp); fwrite(model_name.data(),sizeof(char),model_name.length(),fp); fwrite(&num_coeffs,sizeof(int),1,fp); fwrite(coeffs,sizeof(int),num_coeffs,fp); } -void SubModel::read_restart(FILE *fp, int num_char){ +void SubModel::read_restart(FILE *fp, int num_char) +{ if (comm->me == 0){ utils::sfread(FLERR,&num_coeffs,sizeof(int),1,fp,nullptr,error); } @@ -60,7 +70,8 @@ void SubModel::read_restart(FILE *fp, int num_char){ allocate_coeffs(); } -void SubModel::read_restart(FILE *fp){ +void SubModel::read_restart(FILE *fp) +{ int num_char; if (me == 0){ utils::sfread(FLERR,&num_char,sizeof(int),1,fp,nullptr,error); diff --git a/src/GRANULAR/sub_model.h b/src/GRANULAR/contact_sub_models.h similarity index 93% rename from src/GRANULAR/sub_model.h rename to src/GRANULAR/contact_sub_models.h index 2d3261238b..771f0f0890 100644 --- a/src/GRANULAR/sub_model.h +++ b/src/GRANULAR/contact_sub_models.h @@ -29,6 +29,7 @@ public: virtual double calculate_forces() = 0; void read_restart(); virtual void parse_coeffs(char **, int); + void mix_coeff(SubModel*, SubModel*); void write_restart(FILE*); void read_restart(FILE*); void read_restart(FILE*, int); @@ -38,9 +39,9 @@ public: private: ContactModel &contact; int allocated; - int material_prop_flag = 0; + int material_prop_flag; int size_history; - + int history_index; }; } diff --git a/src/GRANULAR/contact_tangential_models.cpp b/src/GRANULAR/contact_tangential_models.cpp new file mode 100644 index 0000000000..1ceb940111 --- /dev/null +++ b/src/GRANULAR/contact_tangential_models.cpp @@ -0,0 +1,324 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "tangential_contact_models.h" +#include "math_const.h" +#include "contact.h" + +#include + +using namespace MathConst; + +namespace Contact{ + +// ************************ +// Default behaviors where needed +// ************************ + +//----------------------------------------- + +//****************** +// Hooke +//****************** +void LinearNohistory::calculate_forces(){ + contact = c; + num_coeffs = 2; + allocate_coeffs(); +} + +void Hooke::coeffs_to_local(){ + k_norm = coeffs[0]; + damp = coeffs[1]; +} + +double Hooke::calculate_forces(){ + contact.area = sqrt(contact.dR); + contact.knfac = k_norm * contact.area; + return contact.knfac * contact.delta; +} + + +//****************** +// Hertz +//****************** +void Hertz::Hertz(ContactModel &c, int mat_flag){ + contact = c; + material_prop_flag = mat_flag; + if (material_prop_flag){ + num_coeffs = 3; + } + else{ + num_coeffs = 2; + } + allocate_coeffs(); +} + +void Hertz::coeffs_to_local(){ + if (material_prop_flag){ + Emod = coeffs[0]; + poiss = coeffs[1]; + k_norm = 4/3*Emod; + } + else{ + k_norm = coeffs[0]; + } +} + +double Hertz::calculate_forces(){ + contact.area = sqrt(contact.dR); + contact.knfac = contact.k_norm * contact.area; + return contact.knfac * contact.delta; +} + +//****************** +// DMT +//****************** +void DMT::DMT(ContactModel &c){ + contact = c; + material_prop_flag = 1; + num_coeffs = 4; + allocate_coeffs(); +} + +double DMT::calculate_forces(){ + contact.area = sqrt(contact.dR); + contact.knfac = contact.k_norm * contact.area; + double Fne = contact.knfac * contact.delta; + F_pulloff = 4 * MathConst::MY_PI * cohesion * contact.Reff; + Fne -= F_pulloff; + return Fne; +} + +void DMT::set_fncrit(){ + contact.Fncrit = fabs(contact.Fne + 2* F_pulloff); +} + +//****************** +// JKR +//****************** +void JKR::JKR(ContactModel &c){ + contact = c; + material_prop_flag = 1; + beyond_contact = 1; + num_coeffs = 4; + allocate_coeffs(); +} + +bool JKR::touch(int touch){ + double Escaled, R2, delta_pulloff, dist_pulloff; + bool touchflag; + + Escaled = k_norm * THREEQUARTERS; + if (touch) { + R2 = contact.Reff * contact.Reff; + a = cbrt(9.0 * MY_PI * cohesion * R2 / (4 * Escaled)); + delta_pulloff = a * a / contact.Reff - 2 * sqrt(MY_PI * cohesion * a / Escaled); + dist_pulloff = contact.radsum - delta_pulloff; + touchflag = (contact.rsq < dist_pulloff * dist_pulloff); + } else { + touchflag = (rcontact.sq < contact.radsum * contact.radsum); + } + return touchflag; +} + +double JKR::calculate_forces(){ + double Escaled, R2, dR2, t0, t1, t2, t3, t4, t5, t6; + double sqrt1, sqrt2, sqrt3, a2, F_pulloff, Fne; + + Escaled = k_norm * THREEQUARTERS; + + R2 = Reff * Reff; + dR2 = dR * dR; + t0 = cohesion * cohesion * R2 * R2 * Escaled; + t1 = PI27SQ*t0; + t2 = 8 * dR * dR2 * Escaled * Escaled * Escaled; + t3 = 4 * dR2 * Escaled; + + // in case sqrt(0) < 0 due to precision issues + sqrt1 = MAX(0, t0 * (t1 + 2 * t2)); + t4 = cbrt(t1 + t2 + THREEROOT3 * MY_PI * sqrt(sqrt1)); + t5 = t3 / t4 + t4 / Escaled; + sqrt2 = MAX(0, 2 * dR + t5); + t6 = sqrt(sqrt2); + sqrt3 = MAX(0, 4 * dR - t5 + SIXROOT6 * cohesion * MY_PI * R2 / (Escaled * t6)); + a = INVROOT6 * (t6 + sqrt(sqrt3)); + a2 = a * a; + Fne = Escaled * a * a2 / Reff - MY_2PI * a2 * sqrt(4 * cohesion * Escaled / (MY_PI * a)); + F_pulloff = 3 * MY_PI * cohesion * Reff; + + knfac = Escaled * a; + return Fne; +} + +void JKR::set_fncrit(){ + contact.Fncrit = fabs(contact.Fne + 2 * F_pulloff); +} + + + + + +/* ---------------------------------------------------------------------- */ + +void ContactModel::tangential_no_history() +{ + double gamma_scaled = gamma_tang * damp_normal_prefactor; + double fsmag, Ft; + + // classic pair gran/hooke (no history) + fsmag = gamma_scaled * vrel; + if (vrel != 0.0) Ft = MIN(Fscrit,fsmag) / vrel; + else Ft = 0.0; + + Ft = -Ft; + scale3(Ft, vtr, fs); +} + +/* ---------------------------------------------------------------------- */ + +void ContactModel::tangential_history(double *history) +{ + double gamma_scaled = gamma_tang * damp_normal_prefactor; + double k = k_tang; + int frame_update = 0; + double magfs, rsht, shrmag, prjmag, temp_dbl, temp_array[3]; + + // rotate and update displacements / force. + // see e.g. eq. 17 of Luding, Gran. Matter 2008, v10,p235 + if (history_update) { + rsht = dot3(history, nx); + frame_update = fabs(rsht) * k > EPSILON * Fscrit; + + if (frame_update) { + shrmag = len3(history); + // projection + scale3(rsht, nx, history); + // also rescale to preserve magnitude + prjmag = len3(history); + if (prjmag > 0) temp_dbl = shrmag / prjmag; + else temp_dbl = 0; + scale3(temp_dbl, history); + } + + // update history + // tangential force + // see e.g. eq. 18 of Thornton et al, Pow. Tech. 2013, v223,p30-46 + temp_dbl = k * dt; + scale3(temp_dbl, vtr, temp_array); + sub3(history, temp_array, history); + } + + // tangential forces = history + tangential velocity damping + temp_dbl = -gamma_norm; + scale3(temp_dbl, vtr, fs); + + // rescale frictional displacements and forces if needed + magfs = len3(fs); + if (magfs > Fscrit) { + shrmag = len3(history); + if (shrmag != 0.0) { + temp_dbl = Fscrit / magfs; + scale3(temp_dbl, fs, history); + scale3(gamma_norm, vtr, temp_array); + add3(history, temp_array, history); + temp_dbl = Fscrit / magfs; + scale3(temp_dbl, fs); + } else { + zero3(fs); + } + } +} + +/* ---------------------------------------------------------------------- */ + +void ContactModel::tangential_mindlin(double *history) +{ + double k_scaled, gamma_scaled, magfs, rsht, shrmag, prjmag, temp_dbl; + double temp_array[3]; + int frame_update = 0; + + gamma_scaled = gamma_tang * damp_normal_prefactor; + k_scaled = k_tang * a; + if (mindlin_rescale) { + // on unloading, rescale the shear displacements/force + if (a < history[3]) { + temp_dbl = a / history[3]; + scale3(temp_dbl, history); + } + } + + // rotate and update displacements / force. + // see e.g. eq. 17 of Luding, Gran. Matter 2008, v10,p235 + if (history_update) { + rsht = dot3(history, nx); + if (mindlin_force) + frame_update = fabs(rsht) > EPSILON * Fscrit; + else + frame_update = fabs(rsht) * k_scaled > EPSILON * Fscrit; + + if (frame_update) { + shrmag = len3(history); + // projection + scale3(rsht, nx, history); + // also rescale to preserve magnitude + prjmag = len3(history); + if (prjmag > 0) temp_dbl = shrmag / prjmag; + else temp_dbl = 0; + scale3(temp_dbl, history); + } + + // update history + if (mindlin_force) { + // tangential force + // see e.g. eq. 18 of Thornton et al, Pow. Tech. 2013, v223,p30-46 + temp_dbl = -k_scaled * dt; + scale3(temp_dbl, vtr, temp_array); + } else { + scale3(dt, vtr, temp_array); + } + add3(history, temp_array, history); + + if (mindlin_rescale) history[3] = a; + } + + // tangential forces = history + tangential velocity damping + temp_dbl = -gamma_scaled; + scale3(temp_dbl, vtr, fs); + + if (! mindlin_force) { + scale3(k_scaled, history, temp_array); + add3(fs, temp_array, fs); + } + + // rescale frictional displacements and forces if needed + magfs = len3(fs); + if (magfs > Fscrit) { + shrmag = len3(history); + if (shrmag != 0.0) { + temp_dbl = Fscrit / magfs; + scale3(temp_dbl, fs, history); + scale3(gamma_tang, vtr, temp_array); + add3(history, temp_array, history); + if (! mindlin_force) { + temp_dbl = -1.0 / k_tang; + scale3(temp_dbl, history); + } + temp_dbl = Fscrit / magfs; + scale3(temp_dbl, fs); + } else { + zero3(fs); + } + } +} + +/* ---------------------------------------------------------------------- */ diff --git a/src/GRANULAR/tangential_contact_models.h b/src/GRANULAR/contact_tangential_models.h similarity index 100% rename from src/GRANULAR/tangential_contact_models.h rename to src/GRANULAR/contact_tangential_models.h diff --git a/src/GRANULAR/rolling_contact_models.cpp b/src/GRANULAR/contact_twisting_models.cpp similarity index 82% rename from src/GRANULAR/rolling_contact_models.cpp rename to src/GRANULAR/contact_twisting_models.cpp index e6bafe4b3c..0e9e9115ac 100644 --- a/src/GRANULAR/rolling_contact_models.cpp +++ b/src/GRANULAR/contact_twisting_models.cpp @@ -183,3 +183,34 @@ void JKR::set_fncrit(){ + +/* ---------------------------------------------------------------------- */ + +void ContactModel::twisting_marshall(double *history) +{ + // Overwrite twist coefficients with derived values + k_twist = 0.5 * k_tang * a * a; // eq 32 of Marshall paper + gamma_twist = 0.5 * gamma_tang * a * a; + mu_twist = TWOTHIRDS * a * mu_tang; + + twisting_SDS(history); +} + +/* ---------------------------------------------------------------------- */ + +void ContactModel::twisting_SDS(double *history) +{ + double signtwist, Mtcrit; + + if (history_update) { + history[twist_history_index] += magtwist * dt; + } + + magtortwist = -k_twist * history[twist_history_index] - gamma_twist*magtwist; // M_t torque (eq 30) + signtwist = (magtwist > 0) - (magtwist < 0); + Mtcrit = mu_twist * Fncrit; // critical torque (eq 44) + if (fabs(magtortwist) > Mtcrit) { + history[twist_history_index] = (Mtcrit * signtwist - gamma_twist * magtwist) / k_twist; + magtortwist = -Mtcrit * signtwist; // eq 34 + } +} diff --git a/src/GRANULAR/twisting_contact_models.h b/src/GRANULAR/contact_twisting_models.h similarity index 100% rename from src/GRANULAR/twisting_contact_models.h rename to src/GRANULAR/contact_twisting_models.h diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index 855ed36cf0..7378df2f77 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -198,13 +198,13 @@ void PairGranular::compute(int eflag, int vflag) jtype = type[j]; // Reset model and copy initial geometric data - models[itype][jtype].reset_contact(); - models[itype][jtype].xi = x[i]; - models[itype][jtype].xj = x[j]; - models[itype][jtype].radi = radius[i]; - models[itype][jtype].radj = radius[j]; + models[itype][jtype]->reset_contact(); + models[itype][jtype]->xi = x[i]; + models[itype][jtype]->xj = x[j]; + models[itype][jtype]->radi = radius[i]; + models[itype][jtype]->radj = radius[j]; - touchflag = models[itype][jtype].check_contact(); + touchflag = models[itype][jtype]->check_contact(); if (!touchflag) { // unset non-touching neighbors @@ -229,22 +229,21 @@ void PairGranular::compute(int eflag, int vflag) if (mask[j] & freeze_group_bit) meff = mi; // Copy additional information and prepare force calculations - models[itype][jtype].meff = meff; - models[itype][jtype].vi = v[i]; - models[itype][jtype].vj = v[j]; - models[itype][jtype].omegai = omega[i]; - models[itype][jtype].omegaj = omega[j]; - models[itype][jtype].history_update = historyupdate; - models[itype][jtype].history = history; - models[itype][jtype].prep_contact(); + models[itype][jtype]->meff = meff; + models[itype][jtype]->vi = v[i]; + models[itype][jtype]->vj = v[j]; + models[itype][jtype]->omegai = omega[i]; + models[itype][jtype]->omegaj = omega[j]; + models[itype][jtype]->history_update = historyupdate; + models[itype][jtype]->history = history; + models[itype][jtype]->prep_contact(); if (heat_flag) { - models[itype][jtype].Ti = temperature[i]; - models[itype][jtype].Tj = temperature[j]; + models[itype][jtype]->Ti = temperature[i]; + models[itype][jtype]->Tj = temperature[j]; } - - if (models[itype][jtype].normal_model == JKR) touch[jj] = 1; + if (models[itype][jtype]->beyond_contact) touch[jj] = 1; // if any history is needed if (use_history) { @@ -252,12 +251,12 @@ void PairGranular::compute(int eflag, int vflag) history = &allhistory[size_history*jj]; } - double *forces = models[itype][jtype].forces; - double *torquesi = models[itype][jtype].torquesi; - double *torquesj = models[itype][jtype].torquesj; + models[itype][jtype]->calculate_forces(); + if (heat_flag) dq = models[itype][jtype]->calculate_heat(); - models[itype][jtype].calculate_forces(); - if (heat_flag) dq = models[itype][jtype].calculate_heat(); + forces = models[itype][jtype]->forces; + torquesi = models[itype][jtype]->torquesi; + torquesj = models[itype][jtype]->torquesj; // apply forces & torques MathExtra::scale3(factor_lj, forces); @@ -302,9 +301,8 @@ void PairGranular::allocate() memory->create(cutsq,n+1,n+1,"pair:cutsq"); memory->create(cutoff_type,n+1,n+1,"pair:cutoff_type"); - for (int i = 0; i < n+1; i++) { - models.push_back(std::vector (n+1)); - } + + models = (ContactModel **) memory->srealloc(fix, n+1,n+1, "pair:contact_models"); onerad_dynamic = new double[n+1]; onerad_frozen = new double[n+1]; @@ -334,16 +332,8 @@ void PairGranular::settings(int narg, char **arg) void PairGranular::coeff(int narg, char **arg) { - int normal_model_one, damping_model_one; - int tangential_model_one, roll_model_one, twist_model_one; - - double normal_coeffs_one[4]; - double tangential_coeffs_one[4]; - double roll_coeffs_one[4]; - double twist_coeffs_one[4]; - - double conductivity_one; double cutoff_one = -1; + int ncoeff; if (narg < 3) error->all(FLERR,"Incorrect args for pair coefficients"); @@ -354,66 +344,97 @@ void PairGranular::coeff(int narg, char **arg) utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - //Here's one option for handing off parsing to the SubModel objects: - ContactModel model_one; + // Create new model stored in vector + vec_models.push_back(ContactModel()); //Parse mandatory normal and tangential specifications int iarg = 2; - model_one.init_normal(arg[iarg]); + vec_models.back().init(arg[iarg], Contact::NORMAL); + ncoeff = vec_models.back().normal_model.num_coeffs iarg += 1; - if (iarg + model_one.normal_model->num_coeffs >= narg) + if (iarg + ncoeff >= narg) error->all(FLERR,"Illegal pair_coeff command" - "Insufficient arguments provided."); - model_one.normal_model->parse_coeffs(arg, iarg); - iarg += model_one.normal_model->num_coeffs; + "Insufficient arguments provided for normal model."); + vec_models.back().normal_model.parse_coeffs(arg, iarg); + iarg += ncoeff; if (strcmp(arg[iarg], "tangential") == 0) { if (iarg + 1 >= narg) error->all(FLERR,"Illegal pair_coeff command, must specify " "tangential model after tangential keyword"); - model_one.init_tangential(arg[iarg]); + vec_models.back().init(arg[iarg], Contact::TANGENTIAL); + ncoeff = vec_models.back().tangential_model.num_coeffs; iarg += 1; - if (iarg + model_one.tangential_model->num_coeffs >= narg) + if (iarg + ncoeff >= narg) error->all(FLERR, "Illegal pair_coeff command" - "Insufficient arguments provided."); - model_one.tangential_model->parse_coeffs(arg, iarg); - iarg += model_one.tangential_model->num_coeffs; - } - else{ + "Insufficient arguments provided for tangential model."); + vec_models.back().tangential_model.parse_coeffs(arg, iarg); + iarg += ncoeff; + } else{ error->all(FLERR, "Illegal pair_coeff command, 'tangential' keyword expected"); } + //Parse optional arguments while (iarg < narg) { if (strcmp(arg[iarg], "rolling") == 0) { if (iarg + 1 >= narg) error->all(FLERR, "Illegal pair_coeff command, not enough parameters"); - model_one.init_rolling(arg[iarg+1]); + vec_models.back().init(arg[iarg], Contact::ROLLING); + ncoeff = vec_models.back().rolling_model.num_coeffs; iarg += 1; - if (iarg + model_one.rolling_model->num_coeffs >= narg) + if (iarg + ncoeff >= narg) error->all(FLERR, "Illegal pair_coeff command" "Insufficient arguments provided for rolling model."); - iarg += model_one.rolling_model->num_coeffs; - } - else if (strcmp(arg[iarg], "twisting") == 0) { - //... - } - else if (strcmp(arg[iarg], "cutoff") == 0) { - //.. - } else if (strcmp(arg[iarg], "limit_damping") == 0) { - //.. + vec_models.back().rolling_model.parse_coeffs(arg, iarg); + iarg += ncoeff; + + } else if (strcmp(arg[iarg], "twisting") == 0) { + if (iarg + 1 >= narg) + error->all(FLERR, "Illegal pair_coeff command, not enough parameters"); + vec_models.back().init(arg[iarg], Contact::TWISTING); + ncoeff = vec_models.back().twisting_model.num_coeffs; + iarg += 1; + if (iarg + ncoeff >= narg) + error->all(FLERR, "Illegal pair_coeff command" + "Insufficient arguments provided for twisting model."); + vec_models.back().twisting_model.parse_coeffs(arg, iarg); + iarg += ncoeff; + } else if (strcmp(arg[iarg], "heat") == 0) { - //.. + if (iarg + 1 >= narg) + error->all(FLERR, "Illegal pair_coeff command, not enough parameters"); + vec_models.back().init(arg[iarg], Contact::HEAT); + ncoeff = vec_models.back().heat_model.num_coeffs; + iarg += 1; + if (iarg + ncoeff >= narg) + error->all(FLERR, "Illegal pair_coeff command" + "Insufficient arguments provided for heat model."); + ncoeff = vec_models.back().heat_model.num_coeffs; + vec_models.back().heat_model.parse_coeffs(arg, iarg); + iarg += ncoeff; + heat_flag = 1; + + } else if (strcmp(arg[iarg], "cutoff") == 0) { + if (iarg + 1 >= narg) + error->all(FLERR, "Illegal pair_coeff command, not enough parameters"); + vec_models.back().cutoff_type = utils::numeric(FLERR,arg[iarg+1],false,lmp); + iarg += 2; + + } else if (strcmp(arg[iarg], "limit_damping") == 0) { + vec_models.back().limit_damping = 1; + iarg += 1; + } else error->all(FLERR, "Illegal pair_coeff command"); } - if (model_one.limit_damping && !model_one.normal_model->allow_limit_damping) + if (vec_models.back().limit_damping && !vec_models.back().normal_model->allow_limit_damping) error->all(FLERR,"Illegal pair_coeff command, " "Cannot limit damping with specified normal contact model"); int count = 0; for (int i = ilo; i <= ihi; i++) { for (int j = MAX(jlo,i); j <= jhi; j++) { - models[i][j] = model_one; //Not sure if this works to copy? May need to specify a copy operator for ContactModel.. + models[i][j] = & vec_models.back(); setflag[i][j] = 1; count++; } @@ -437,31 +458,38 @@ void PairGranular::init_style() if (comm->ghost_velocity == 0) error->all(FLERR,"Pair granular requires ghost atoms store velocity"); - size_normal_history = 0; - size_tangential_history = 0; - size_rolling_history = 0; - size_twisting_history = 0; - for (int i = 1; i <= atom->ntypes; i++) - for (int j = i; j <= atom->ntypes; j++){ - if (models[i][j].normal_model->history_flag || - models[i][j].tangential_model->history_flag || - models[i][j].rolling_model->history_flag || - models[i][j].twisting_model->history_flag) use_history = 1; + // allocate history - if (models[i][j].nondefault_history_transfer) - if (models[i][j].normal_model->size_history > size_normal_history) - size_normal_history = models[i][j].normal_model->size_history; - //... + int size_normal_history = 0; + int size_tangential_history = 0; + int size_rolling_history = 0; + int size_twisting_history = 0; + for (int i = 1; i <= atom->ntypes; i++) { + for (int j = i; j <= atom->ntypes; j++) { + if (models[i][j]->normal_model.history_flag || + models[i][j]->tangential_model.history_flag || + models[i][j]->rolling_model.history_flag || + models[i][j]->twisting_model.history_flag) use_history = 1; + + if (models[i][j]->nondefault_history_transfer) // ??? + + if (models[i][j]->normal_model->size_history > size_normal_history) + size_normal_history = models[i][j]->normal_model.size_history; + if (models[i][j]->tangential_model->size_history > size_tangential_history) + size_tangential_history = models[i][j]->tangential_model.size_history; + if (models[i][j]->rolling_model->size_history > size_rolling_history) + size_rolling_history = models[i][j]->rolling_model.size_history; + if (models[i][j]->twisting_model->size_history > size_twisting_history) + size_twisting_history = models[i][j]->twisting_model.size_history; } + } size_history = size_normal_history + size_tangential_history + - size_roll_history + size_twist_history; - - // determine location of tangential/roll/twist histories in array + size_rolling_history + size_twisting_history; tangential_history_index = size_normal_history; roll_history_index = size_normal_history + size_tangential_history; - twist_history_index = size_normal_history + size_tangential_history + size_roll_history; + twist_history_index = size_normal_history + size_tangential_history + size_rolling_history; if (use_history) neighbor->add_request(this, NeighConst::REQ_SIZE|NeighConst::REQ_HISTORY); else neighbor->add_request(this, NeighConst::REQ_SIZE); @@ -556,71 +584,25 @@ double PairGranular::init_one(int i, int j) double cutoff = 0.0; if (setflag[i][j] == 0) { - if ((models[i][i].normal_model != models[j][j].normal_model) || - (models[i][i].damping_model != models[j][j].damping_model) || - (models[i][i].tangential_model != models[j][j].tangential_model) || - (models[i][i].roll_model != models[j][j].roll_model) || - (models[i][i].twist_model != models[j][j].twist_model)) { + if ((models[i][i]->normal_model != models[j][j]->normal_model) || + (models[i][i]->damping_model != models[j][j]->damping_model) || + (models[i][i]->tangential_model != models[j][j]->tangential_model) || + (models[i][i]->roll_model != models[j][j]->roll_model) || + (models[i][i]->twist_model != models[j][j]->twist_model)) { error->all(FLERR,"Granular pair style functional forms are different, " "cannot mix coefficients for types {} and {}. \n" "This combination must be set explicitly via a " "pair_coeff command",i,j); } - // Mix normal coefficients - if (models[i][j].normal_model == HERTZ || models[i][j].normal_model == HOOKE) - models[i][j].k_norm = models[j][i].k_norm = - mix_geom(models[i][i].k_norm, models[j][j].k_norm); - else - models[i][j].k_norm = models[j][i].k_norm = - mix_stiffnessE(models[i][i].Emod, models[j][j].Emod, - models[i][i].poisson, models[j][j].poisson); - - models[i][j].gamma_norm = models[j][i].gamma_norm = - mix_geom(models[i][i].gamma_norm, models[j][j].gamma_norm); - if ((models[i][j].normal_model == JKR) || (models[i][j].normal_model == DMT)) - models[i][j].cohesion = models[j][i].cohesion = - mix_geom(models[i][i].cohesion, models[j][j].cohesion); - - // Mix tangential coefficients - models[i][j].k_tang = models[j][i].k_tang = - mix_geom(models[i][i].k_tang, models[j][j].k_tang); - models[i][j].gamma_tang = models[j][i].gamma_tang = - mix_geom(models[i][i].gamma_tang, models[j][j].gamma_tang); - models[i][j].mu_tang = models[j][i].mu_tang = - mix_geom(models[i][i].mu_tang, models[j][j].mu_tang); - - // Mix rolling coefficients - if (models[i][j].roll_model != ROLL_NONE) { - models[i][j].k_roll = models[j][i].k_roll = - mix_geom(models[i][i].k_roll, models[j][j].k_roll); - models[i][j].gamma_roll = models[j][i].gamma_roll = - mix_geom(models[i][i].gamma_roll, models[j][j].gamma_roll); - models[i][j].mu_roll = models[j][i].mu_roll = - mix_geom(models[i][i].mu_roll, models[j][j].mu_roll); - } - - // Mix twisting coefficients - if (models[i][j].twist_model != TWIST_NONE && models[i][j].twist_model != TWIST_MARSHALL) { - models[i][j].k_twist = models[j][i].k_twist = - mix_geom(models[i][i].k_twist, models[j][j].k_twist); - models[i][j].gamma_twist = models[j][i].gamma_twist = - mix_geom(models[i][i].gamma_twist, models[j][j].gamma_twist); - models[i][j].mu_twist = models[j][i].mu_twist = - mix_geom(models[i][i].mu_twist, models[j][j].mu_twist); - } - - models[i][j].limit_damping = models[j][i].limit_damping = - MAX(models[i][i].limit_damping, models[j][j].limit_damping); - if (heat_flag) { - models[i][j].conductivity = models[j][i].conductivity = - mix_geom(models[i][i].conductivity, models[j][j].conductivity); - } + vec_models.push_back(ContactModel()); + models[i][j] = models[j][i] = & vec_models.back(); + vec_models.back().mix_coeffs(models[i][i], models[j][j]); } - // Check if conductivity is undefined (negative) for any type combination - if (heat_flag && models[i][j].conductivity < 0.0) - error->all(FLERR, "To calculate heat, conductivity must be defined for all pair coeff"); + // Check if heat model is defined for all type combinations + if (heat_flag && !models[i][j]->heat_model) + error->all(FLERR, "Must specify a heat model for all pair types"); // It is possible that cut[i][j] at this point is still 0.0. // This can happen when @@ -631,21 +613,21 @@ double PairGranular::init_one(int i, int j) // we assign cutoff = max(cut[i][j]) for i,j such that cut[i][j] > 0.0. double pulloff; - if (models[i][j].cutoff_type < 0 && cutoff_global < 0) { + if (models[i][j]->cutoff_type < 0 && cutoff_global < 0) { if (((maxrad_dynamic[i] > 0.0) && (maxrad_dynamic[j] > 0.0)) || ((maxrad_dynamic[i] > 0.0) && (maxrad_frozen[j] > 0.0)) || // radius info about both i and j exist ((maxrad_frozen[i] > 0.0) && (maxrad_dynamic[j] > 0.0))) { cutoff = maxrad_dynamic[i] + maxrad_dynamic[j]; pulloff = 0.0; - if (models[i][j].normal_model == JKR) { - pulloff = models[i][j].pulloff_distance(maxrad_dynamic[i], maxrad_dynamic[j]); + if (models[i][j]->beyond_contact) { + pulloff = models[i][j]->pulloff_distance(maxrad_dynamic[i], maxrad_dynamic[j]); cutoff += pulloff; - pulloff = models[i][j].pulloff_distance(maxrad_frozen[i], maxrad_dynamic[j]); + pulloff = models[i][j]->pulloff_distance(maxrad_frozen[i], maxrad_dynamic[j]); cutoff = MAX(cutoff, maxrad_frozen[i] + maxrad_dynamic[j] + pulloff); - pulloff = models[i][j].pulloff_distance(maxrad_dynamic[i], maxrad_frozen[j]); + pulloff = models[i][j]->pulloff_distance(maxrad_dynamic[i], maxrad_frozen[j]); cutoff = MAX(cutoff,maxrad_dynamic[i] + maxrad_frozen[j] + pulloff); } } else { @@ -661,16 +643,18 @@ double PairGranular::init_one(int i, int j) } cutoff = cutmax; } - } else if (models[i][j].cutoff_type > 0) { - cutoff = models[i][j].cutoff_type; + } else if (models[i][j]->cutoff_type > 0) { + cutoff = models[i][j]->cutoff_type; } else if (cutoff_global > 0) { cutoff = cutoff_global; } // Copy global options - models[i][j].dt = models[j][i].dt = dt; - models[i][j].roll_history_index = models[j][i].roll_history_index = roll_history_index; - models[i][j].twist_history_index = models[j][i].twist_history_index = twist_history_index; + models[i][j]->dt = models[j][i]->dt = dt; + models[i][j]->normal_model.history_index = models[j][i]->normal_model.history_index = normal_history_index; + models[i][j]->tangential_model.history_index = models[j][i]->tangential_model.history_index = tangential_history_index; + models[i][j]->rolling_model.history_index = models[j][i]->rolling_model.history_index = rolling_history_index; + models[i][j]->twisting_model.history_index = models[j][i]->twisting_model.history_index = twisting_history_index; return cutoff; } @@ -687,7 +671,7 @@ void PairGranular::write_restart(FILE *fp) fwrite(&setflag[i][j],sizeof(int),1,fp); if (setflag[i][j]) { if (comm->me == 0){ - models[i][j].write_restart(fp); + models[i][j]->write_restart(fp); } } } @@ -708,57 +692,9 @@ void PairGranular::read_restart(FILE *fp) if (me == 0) utils::sfread(FLERR,&setflag[i][j],sizeof(int),1,fp,nullptr,error); MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); if (setflag[i][j]) { - if (me == 0) { - std::string name; - utils::sfread(FLERR,&name.data(),sizeof(int),1,fp,nullptr,error); - utils::sfread(FLERR,&models[i][j].damping_model_type,sizeof(int),1,fp,nullptr,error); - utils::sfread(FLERR,&models[i][j].tangential_model_type,sizeof(int),1,fp,nullptr,error); - utils::sfread(FLERR,&models[i][j].roll_model_type,sizeof(int),1,fp,nullptr,error); - utils::sfread(FLERR,&models[i][j].twist_model_type,sizeof(int),1,fp,nullptr,error); - utils::sfread(FLERR,&models[i][j].limit_damping,sizeof(int),1,fp,nullptr,error); - } - MPI_Bcast(&models[i][j].normal_model_type,1,MPI_INT,0,world); - MPI_Bcast(&models[i][j].damping_model_type,1,MPI_INT,0,world); - MPI_Bcast(&models[i][j].tangential_model_type,1,MPI_INT,0,world); - MPI_Bcast(&models[i][j].roll_model_type,1,MPI_INT,0,world); - MPI_Bcast(&models[i][j].twist_model_type,1,MPI_INT,0,world); - MPI_Bcast(&models[i][j].limit_damping,1,MPI_INT,0,world); - models[i][j].init(); - models[i][j].read_restart(); - - utils::sfread(FLERR,&models[i][j].k_norm,sizeof(int),1,fp,nullptr,error); - utils::sfread(FLERR,&models[i][j].gamma_norm,sizeof(int),1,fp,nullptr,error); - utils::sfread(FLERR,&models[i][j].cohesion,sizeof(int),1,fp,nullptr,error); - utils::sfread(FLERR,&models[i][j].k_tang,sizeof(int),1,fp,nullptr,error); - utils::sfread(FLERR,&models[i][j].gamma_tang,sizeof(int),1,fp,nullptr,error); - utils::sfread(FLERR,&models[i][j].mu_tang,sizeof(int),1,fp,nullptr,error); - utils::sfread(FLERR,&models[i][j].k_roll,sizeof(int),1,fp,nullptr,error); - utils::sfread(FLERR,&models[i][j].gamma_roll,sizeof(int),1,fp,nullptr,error); - utils::sfread(FLERR,&models[i][j].mu_roll,sizeof(int),1,fp,nullptr,error); - utils::sfread(FLERR,&models[i][j].k_twist,sizeof(int),1,fp,nullptr,error); - utils::sfread(FLERR,&models[i][j].gamma_twist,sizeof(int),1,fp,nullptr,error); - utils::sfread(FLERR,&models[i][j].mu_twist,sizeof(int),1,fp,nullptr,error); - utils::sfread(FLERR,&models[i][j].cutoff_type,sizeof(double),1,fp,nullptr,error); - } - MPI_Bcast(&models[i][j].normal_model,1,MPI_INT,0,world); - MPI_Bcast(&models[i][j].damping_model,1,MPI_INT,0,world); - MPI_Bcast(&models[i][j].tangential_model,1,MPI_INT,0,world); - MPI_Bcast(&models[i][j].roll_model,1,MPI_INT,0,world); - MPI_Bcast(&models[i][j].twist_model,1,MPI_INT,0,world); - MPI_Bcast(&models[i][j].limit_damping,1,MPI_INT,0,world); - MPI_Bcast(&models[i][j].k_norm,1,MPI_INT,0,world); - MPI_Bcast(&models[i][j].gamma_norm,1,MPI_INT,0,world); - MPI_Bcast(&models[i][j].cohesion,1,MPI_INT,0,world); - MPI_Bcast(&models[i][j].k_tang,1,MPI_INT,0,world); - MPI_Bcast(&models[i][j].gamma_tang,1,MPI_INT,0,world); - MPI_Bcast(&models[i][j].mu_tang,1,MPI_INT,0,world); - MPI_Bcast(&models[i][j].k_roll,1,MPI_INT,0,world); - MPI_Bcast(&models[i][j].gamma_roll,1,MPI_INT,0,world); - MPI_Bcast(&models[i][j].mu_roll,1,MPI_INT,0,world); - MPI_Bcast(&models[i][j].k_twist,1,MPI_INT,0,world); - MPI_Bcast(&models[i][j].gamma_twist,1,MPI_INT,0,world); - MPI_Bcast(&models[i][j].mu_twist,1,MPI_INT,0,world); - MPI_Bcast(&models[i][j].cutoff_type,1,MPI_DOUBLE,0,world); + vec_models.push_back(ContactModel()); + models[i][j] = & vec_models.back(); + models[i][j]->read_restart(); } } } @@ -798,14 +734,14 @@ double PairGranular::single(int i, int j, int itype, int jtype, double *radius = atom->radius; // Reset model and copy initial geometric data - models[itype][jtype].reset_contact(); - models[itype][jtype].xi = x[i]; - models[itype][jtype].xj = x[j]; - models[itype][jtype].radi = radius[i]; - models[itype][jtype].radj = radius[j]; - models[i][j].history_update = 0; // Don't update history + models[itype][jtype]->reset_contact(); + models[itype][jtype]->xi = x[i]; + models[itype][jtype]->xj = x[j]; + models[itype][jtype]->radi = radius[i]; + models[itype][jtype]->radj = radius[j]; + models[i][j]->history_update = 0; // Don't update history - touchflag = models[itype][jtype].check_contact(); + touchflag = models[itype][jtype]->check_contact(); if (!touchflag) { fforce = 0.0; @@ -834,12 +770,13 @@ double PairGranular::single(int i, int j, int itype, int jtype, double **v = atom->v; double **omega = atom->omega; - models[itype][jtype].meff = meff; - models[itype][jtype].vi = v[i]; - models[itype][jtype].vj = v[j]; - models[itype][jtype].omegai = omega[i]; - models[itype][jtype].omegaj = omega[j]; - models[itype][jtype].prep_contact(); + models[itype][jtype]->meff = meff; + models[itype][jtype]->vi = v[i]; + models[itype][jtype]->vj = v[j]; + models[itype][jtype]->omegai = omega[i]; + models[itype][jtype]->omegaj = omega[j]; + models[itype][jtype]->history = history; + models[itype][jtype]->prep_contact(); // if any history is needed @@ -859,8 +796,10 @@ double PairGranular::single(int i, int j, int itype, int jtype, } double forces[3], torquesi[3], torquesj[3]; - - models[itype][jtype].calculate_forces(forces, torquesi, torquesj, history); + models[itype][jtype]->calculate_forces(); + forces = models[itype][jtype]->forces; + torquesi = models[itype][jtype]->torquesi; + torquesj = models[itype][jtype]->torquesj; // apply forces & torques fforce = MathExtra::len3(forces); @@ -871,15 +810,15 @@ double PairGranular::single(int i, int j, int itype, int jtype, double dely = x[i][1] - x[j][1]; double delz = x[i][2] - x[j][2]; - svector[0] = models[itype][jtype].fs[0]; - svector[1] = models[itype][jtype].fs[1]; - svector[2] = models[itype][jtype].fs[2]; - svector[3] = MathExtra::len3(models[itype][jtype].fs); - svector[4] = models[itype][jtype].fr[0]; - svector[5] = models[itype][jtype].fr[1]; - svector[6] = models[itype][jtype].fr[2]; - svector[7] = MathExtra::len3(models[itype][jtype].fr); - svector[8] = models[itype][jtype].magtortwist; + svector[0] = models[itype][jtype]->fs[0]; + svector[1] = models[itype][jtype]->fs[1]; + svector[2] = models[itype][jtype]->fs[2]; + svector[3] = MathExtra::len3(models[itype][jtype]->fs); + svector[4] = models[itype][jtype]->fr[0]; + svector[5] = models[itype][jtype]->fr[1]; + svector[6] = models[itype][jtype]->fr[2]; + svector[7] = MathExtra::len3(models[itype][jtype]->fr); + svector[8] = models[itype][jtype]->magtortwist; svector[9] = delx; svector[10] = dely; svector[11] = delz; @@ -960,7 +899,7 @@ double PairGranular::mix_geom(double valii, double valjj) void PairGranular::transfer_history(double* source, double* target, int source_type, int target_type) { - models[itype][jtype].transfer_history(); + models[itype][jtype]->transfer_history(); for (int i = 0; i < size_history; i++){ target[i] = history_transfer_factors[i]*source[i]; } @@ -977,8 +916,8 @@ double PairGranular::atom2cut(int i) cut = atom->radius[i] * 2; if (beyond_contact) { int itype = atom->type[i]; - if (models[itype][itype].normal_model == JKR) { - cut += models[itype][itype].pulloff_distance(cut, cut); + if (models[itype][itype]->beyond_contact) { + cut += models[itype][itype]->pulloff_distance(cut, cut); } } @@ -1000,8 +939,8 @@ double PairGranular::radii2cut(double r1, double r2) // Check all combinations of i and j to find theoretical maximum pull off distance for (int i = 0; i < n; i++){ for (int j = 0; j < n; j++){ - if (models[i][j].normal_model == JKR) { - temp = models[i][j].pulloff_distance(r1, r2); + if (models[i][j]->beyond_contact) { + temp = models[i][j]->pulloff_distance(r1, r2); if (temp > cut) cut = temp; } } diff --git a/src/GRANULAR/pair_granular.h b/src/GRANULAR/pair_granular.h index 3440d60e29..503e3ed938 100644 --- a/src/GRANULAR/pair_granular.h +++ b/src/GRANULAR/pair_granular.h @@ -22,7 +22,7 @@ PairStyle(granular,PairGranular); #include "contact.h" #include "pair.h" -#include +#include "vector.h" namespace LAMMPS_NS { @@ -73,7 +73,8 @@ class PairGranular : public Pair { int heat_flag; // contact models - std::vector > models; + std::vector vec_models; + Contact::ContactModel ***models; // history flags int normal_history, tangential_history, roll_history, twist_history; diff --git a/src/GRANULAR/tangential_contact_models.cpp b/src/GRANULAR/tangential_contact_models.cpp deleted file mode 100644 index ff59ceabb7..0000000000 --- a/src/GRANULAR/tangential_contact_models.cpp +++ /dev/null @@ -1,168 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#include "tangential_contact_models.h" -#include "math_const.h" -#include "contact.h" - -#include - -using namespace MathConst; - -namespace Contact{ - -// ************************ -// Default behaviors where needed -// ************************ - -//----------------------------------------- - -//****************** -// Hooke -//****************** -void LinearNohistory::calculate_forces(){ - contact = c; - num_coeffs = 2; - allocate_coeffs(); -} - -void Hooke::coeffs_to_local(){ - k_norm = coeffs[0]; - damp = coeffs[1]; -} - -double Hooke::calculate_forces(){ - contact.area = sqrt(contact.dR); - contact.knfac = k_norm * contact.area; - return contact.knfac * contact.delta; -} - - -//****************** -// Hertz -//****************** -void Hertz::Hertz(ContactModel &c, int mat_flag){ - contact = c; - material_prop_flag = mat_flag; - if (material_prop_flag){ - num_coeffs = 3; - } - else{ - num_coeffs = 2; - } - allocate_coeffs(); -} - -void Hertz::coeffs_to_local(){ - if (material_prop_flag){ - Emod = coeffs[0]; - poiss = coeffs[1]; - k_norm = 4/3*Emod; - } - else{ - k_norm = coeffs[0]; - } -} - -double Hertz::calculate_forces(){ - contact.area = sqrt(contact.dR); - contact.knfac = contact.k_norm * contact.area; - return contact.knfac * contact.delta; -} - -//****************** -// DMT -//****************** -void DMT::DMT(ContactModel &c){ - contact = c; - material_prop_flag = 1; - num_coeffs = 4; - allocate_coeffs(); -} - -double DMT::calculate_forces(){ - contact.area = sqrt(contact.dR); - contact.knfac = contact.k_norm * contact.area; - double Fne = contact.knfac * contact.delta; - F_pulloff = 4 * MathConst::MY_PI * cohesion * contact.Reff; - Fne -= F_pulloff; - return Fne; -} - -void DMT::set_fncrit(){ - contact.Fncrit = fabs(contact.Fne + 2* F_pulloff); -} - -//****************** -// JKR -//****************** -void JKR::JKR(ContactModel &c){ - contact = c; - material_prop_flag = 1; - beyond_contact = 1; - num_coeffs = 4; - allocate_coeffs(); -} - -bool JKR::touch(int touch){ - double Escaled, R2, delta_pulloff, dist_pulloff; - bool touchflag; - - Escaled = k_norm * THREEQUARTERS; - if (touch) { - R2 = contact.Reff * contact.Reff; - a = cbrt(9.0 * MY_PI * cohesion * R2 / (4 * Escaled)); - delta_pulloff = a * a / contact.Reff - 2 * sqrt(MY_PI * cohesion * a / Escaled); - dist_pulloff = contact.radsum - delta_pulloff; - touchflag = (contact.rsq < dist_pulloff * dist_pulloff); - } else { - touchflag = (rcontact.sq < contact.radsum * contact.radsum); - } - return touchflag; -} - -double JKR::calculate_forces(){ - double Escaled, R2, dR2, t0, t1, t2, t3, t4, t5, t6; - double sqrt1, sqrt2, sqrt3, a2, F_pulloff, Fne; - - Escaled = k_norm * THREEQUARTERS; - - R2 = Reff * Reff; - dR2 = dR * dR; - t0 = cohesion * cohesion * R2 * R2 * Escaled; - t1 = PI27SQ*t0; - t2 = 8 * dR * dR2 * Escaled * Escaled * Escaled; - t3 = 4 * dR2 * Escaled; - - // in case sqrt(0) < 0 due to precision issues - sqrt1 = MAX(0, t0 * (t1 + 2 * t2)); - t4 = cbrt(t1 + t2 + THREEROOT3 * MY_PI * sqrt(sqrt1)); - t5 = t3 / t4 + t4 / Escaled; - sqrt2 = MAX(0, 2 * dR + t5); - t6 = sqrt(sqrt2); - sqrt3 = MAX(0, 4 * dR - t5 + SIXROOT6 * cohesion * MY_PI * R2 / (Escaled * t6)); - a = INVROOT6 * (t6 + sqrt(sqrt3)); - a2 = a * a; - Fne = Escaled * a * a2 / Reff - MY_2PI * a2 * sqrt(4 * cohesion * Escaled / (MY_PI * a)); - F_pulloff = 3 * MY_PI * cohesion * Reff; - - knfac = Escaled * a; - return Fne; -} - -void JKR::set_fncrit(){ - contact.Fncrit = fabs(contact.Fne + 2 * F_pulloff); -} - - - From 8557ce7c97634b855c896374a69b1e90041f2424 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Fri, 15 Jul 2022 17:57:38 -0600 Subject: [PATCH 013/448] Adding normal, damping, and tangential sub models --- src/GRANULAR/contact.cpp | 38 ++- src/GRANULAR/contact.h | 2 +- src/GRANULAR/contact_damping_models.cpp | 64 +++- src/GRANULAR/contact_damping_models.h | 42 ++- src/GRANULAR/contact_normal_models.cpp | 251 +++++++++----- src/GRANULAR/contact_normal_models.h | 100 +++--- src/GRANULAR/contact_sub_models.cpp | 57 +++- src/GRANULAR/contact_sub_models.h | 11 +- src/GRANULAR/contact_tangential_models.cpp | 365 ++++++++++----------- src/GRANULAR/contact_tangential_models.h | 79 +++-- src/GRANULAR/pair_granular.cpp | 68 ++-- src/GRANULAR/pair_granular.h | 4 - 12 files changed, 660 insertions(+), 421 deletions(-) diff --git a/src/GRANULAR/contact.cpp b/src/GRANULAR/contact.cpp index 693721fe22..12a9476585 100644 --- a/src/GRANULAR/contact.cpp +++ b/src/GRANULAR/contact.cpp @@ -54,45 +54,53 @@ ContactModel::ContactModel() void ContactModel::init_model(char *model_name, int model_type) { if (model_type == NORMAL) { - if (strcmp(model_name, "hooke") == 0) normal_model = new Hooke(); - else if (strcmp(model_name, "hertz") == 0) normal_model = new Hertz(0); - else if (strcmp(model_name, "hertz/material") == 0) normal_model = new Hertz(1); - //... + if (strcmp(model_name, "hooke") == 0) normal_model = new NormalHooke(); + else if (strcmp(model_name, "hertz") == 0) normal_model = new NormalHertz(); + else if (strcmp(model_name, "hertz/material") == 0) normal_model = new NormalHertzMaterial(); + else if (strcmp(model_name, "dmt") == 0) normal_model = new NormalDMT(); + else if (strcmp(model_name, "jkr") == 0) normal_model = new NormalJKR(); else error->all(FLERR, "Normal model name not recognized"); sub_models[model_type] = &normal_model; } else if (model_type == TANGENTIAL) { - if (strcmp(model_name, "linear") == 0) tangential_model = new LinearNoHistory(); - //... + if (strcmp(model_name, "linear_nohistory") == 0) tangential_model = new TangentialLinearNoHistory(); + else if (strcmp(model_name, "linear_history") == 0) tangential_model = new TangentialLinearHistory(); + else if (strcmp(model_name, "mindlin") == 0) tangential_model = new TangentialMindlin(); + else if (strcmp(model_name, "mindlin/force") == 0) tangential_model = new TangentialMindlinForce(); + else if (strcmp(model_name, "mindlin_rescale") == 0) tangential_model = new TangentialMindlinRescale(); + else if (strcmp(model_name, "mindlin_rescale/force") == 0) tangential_model = new TangentialMindlinRescaleForce(); else error->all(FLERR, "Tangential model name not recognized"); sub_models[model_type] = &tangential_model; } else if (model_type == DAMPING) { - if (strcmp(model_name, "linear") == 0) damping_model = new LinearNoHistory(); - //... + if (strcmp(model_name, "velocity") == 0) damping_model = new DampingVelocity(); + else if (strcmp(model_name, "mass_velocity") == 0) damping_model = new DampingMassVelocity(); + else if (strcmp(model_name, "viscoelastic") == 0) damping_model = new DampingViscoelastic(); + else if (strcmp(model_name, "tsuji") == 0) damping_model = new DampingTsuji(); else error->all(FLERR, "Damping model name not recognized"); sub_models[model_type] = &damping_model; } else if (model_type == ROLLING) { - if (strcmp(model_name, "linear") == 0) rolling_model = new LinearNoHistory(); - //... + if (strcmp(model_name, "none") == 0) delete rolling_model; + else if (strcmp(model_name, "sds") == 0) rolling_model = new RollingSDS(); else error->all(FLERR, "Rolling model name not recognized"); sub_models[model_type] = &rolling_model; } else if (model_type == TWISTING) { - if (strcmp(model_name, "linear") == 0) twisting_model = new LinearNoHistory(); - //... + if (strcmp(model_name, "none") == 0) delete twisting_model; + else if (strcmp(model_name, "sds") == 0) twisting_model = new TwistingSDS(); + else if (strcmp(model_name, "marshall") == 0) twisting_model = new TwistingMarshall(); else error->all(FLERR, "Twisting model name not recognized"); sub_models[model_type] = &twisting_model; } else if (model_type == HEAT) { - if (strcmp(model_name, "linear") == 0) heat_model = new LinearNoHistory(); - //... + if (strcmp(model_name, "none") == 0) delete heat_model; + else if (strcmp(model_name, "area") == 0) heat_model = new HeatArea(); else error->all(FLERR, "Heat model name not recognized"); sub_models[model_type] = &heat_model; } - sub_models[model_type]->model_name.assign(model_name); + sub_models[model_type]->name.assign(model_name); sub_models[model_type]->contact = *this; sub_models[model_type]->allocate_coeffs(); } diff --git a/src/GRANULAR/contact.h b/src/GRANULAR/contact.h index 8883ecb08e..f9f18a1eb4 100644 --- a/src/GRANULAR/contact.h +++ b/src/GRANULAR/contact.h @@ -64,7 +64,7 @@ public: double *history; double radi, radj, meff, dt, Ti, Tj, area; - double Fntot, Fncrit, magtortwist; + double Fntot, magtortwist; double *xi, *xj, *vi, *vj, *omegai, *omegaj; double fs[3], fr[3], ft[3]; diff --git a/src/GRANULAR/contact_damping_models.cpp b/src/GRANULAR/contact_damping_models.cpp index 11d2c19b57..1e233234b2 100644 --- a/src/GRANULAR/contact_damping_models.cpp +++ b/src/GRANULAR/contact_damping_models.cpp @@ -23,32 +23,66 @@ using namespace MathSpecial; namespace Contact{ -void DampingModel::allocate_coeffs(){ - damp = contact.normal_model->coeffs[1]; + +/* ---------------------------------------------------------------------- + Default damping model +------------------------------------------------------------------------- */ + +void DampingModel::DampingModel() +{ + num_coeffs = 0; } -//----------------------------------------- -double Velocity::calculate_forces(){ - return -damp*contact.vnnr; +/* ---------------------------------------------------------------------- */ + +void DampingModel::coeffs_to_local() +{ + damp = contact.normal_model.damp; } -double MassVelocity::calculate_forces(){ - return -damp*contact.meff*contact.vnnr; +/* ---------------------------------------------------------------------- + Velocity damping +------------------------------------------------------------------------- */ + +double DampingVelocity::calculate_forces() +{ + return -damp * contact.vnnr; } +/* ---------------------------------------------------------------------- + Mass velocity damping +------------------------------------------------------------------------- */ -double ViscoElastic::calculate_forces(){ - return -damp*contact.meff*contact.area*contact.vnnr; +double MassVelocity::calculate_forces() +{ + return -damp * contact.meff * contact.vnnr; } +/* ---------------------------------------------------------------------- + Default, viscoelastic damping +------------------------------------------------------------------------- */ -void Tsuji::allocate_coeffs(){ - double cor = contact.normal_model->coeffs[1]; - damp = 1.2728-4.2783*cor+11.087*square(cor)-22.348*cube(cor)+ - 27.467*powint(cor,4)-18.022*powint(cor,5)+4.8218*powint(cor,6); +double ViscoElastic::calculate_forces() +{ + return -damp * contact.meff * contact.area * contact.vnnr; } -double Tsuji::calculate_forces(){ - return -damp*sqrt(contact.meff*contact.knfac)*contact.vnnr; +/* ---------------------------------------------------------------------- + Tsuji damping +------------------------------------------------------------------------- */ + +void Tsuji::coeffs_to_local() +{ + double tmp = contact.normal_model.damp; + damp = 1.2728 - 4.2783 * tmp + 11.087 * square(tmp); + damp += -22.348 * cube(tmp)+ 27.467 * powint(tmp, 4); + damp += -18.022 * powint(tmp, 5) + 4.8218 * powint(tmp,6); +} + +/* ---------------------------------------------------------------------- */ + +double Tsuji::calculate_forces() +{ + return -damp_scaled * sqrt(contact.meff * contact.normal_model.knfac) * contact.vnnr; } diff --git a/src/GRANULAR/contact_damping_models.h b/src/GRANULAR/contact_damping_models.h index 036f6e3452..0fc4fd2c17 100644 --- a/src/GRANULAR/contact_damping_models.h +++ b/src/GRANULAR/contact_damping_models.h @@ -19,34 +19,48 @@ namespace Contact { -class DampingModel:SubModel{ -public: - DampingModel(){}; - virtual ~DampingModel(){}; +class DampingModel:SubModel +{ + public: + DampingModel(); + virtual ~DampingModel() {}; virtual double calculate_forces() = 0; - virtual void allocate_coeffs(); + virtual void coeffs_to_local(); + virtual void mix_coeffs(NormalModel*, NormalModel*); double damp; }; -class Velocity:DampingModel{ -public: +/* ---------------------------------------------------------------------- */ + +class DampingVelocity:DampingModel +{ + public: double calculate_forces(); }; -class MassVelocity:DampingModel{ -public: +/* ---------------------------------------------------------------------- */ + +class DampingMassVelocity:DampingModel +{ + public: double calculate_forces(); }; -class ViscoElastic:DampingModel{ -public: +/* ---------------------------------------------------------------------- */ + +class DampingViscoElastic:DampingModel +{ + public: double calculate_forces(); }; -class Tsuji:DampingModel{ -public: +/* ---------------------------------------------------------------------- */ + +class DampingTsuji:DampingModel +{ + public: double calculate_forces(); - void allocate_coeffs(); + void coeffs_to_local(); }; diff --git a/src/GRANULAR/contact_normal_models.cpp b/src/GRANULAR/contact_normal_models.cpp index e17798ca25..9b1d85d123 100644 --- a/src/GRANULAR/contact_normal_models.cpp +++ b/src/GRANULAR/contact_normal_models.cpp @@ -29,124 +29,226 @@ namespace Contact{ #define ONETHIRD (1.0/3.0) // 1/3 #define THREEQUARTERS 0.75 // 3/4 -// ************************ -// Default behaviors where needed -// ************************ -void NormalModel::set_fncrit() +/* ---------------------------------------------------------------------- + Default normal model +------------------------------------------------------------------------- */ + +NormalModel::NormalModel() { - contact->Fncrit = fabs(contact->Fntot); + material_properties = 0; } -void NormalModel::mix_coeffs(NormalModel* imodel, NormalModel* jmodel) +/* ---------------------------------------------------------------------- */ + +void NormalModel::set_fncrit() { - for (int i = 0; i < num_coeffs; i++) { - coeffs[i] = sqrt(imodel->coeffs[i]*jmodel->coeffs[i]); - } + Fncrit = fabs(contact.Fntot); } +/* ---------------------------------------------------------------------- */ + void NormalModel::pulloff_distance(double radi, double radj) { return radi + radj; } -//----------------------------------------- +/* ---------------------------------------------------------------------- + Hookean normal force +------------------------------------------------------------------------- */ -//****************** -// Hooke -//****************** -void Hooke::Hooke(ContactModel &c) +void NormalHooke::NormalHooke() { num_coeffs = 2; allocate_coeffs(); } -void Hooke::coeffs_to_local() +/* ---------------------------------------------------------------------- */ + +void NormalHooke::coeffs_to_local() { k_norm = coeffs[0]; damp = coeffs[1]; } -double Hooke::calculate_forces() +/* ---------------------------------------------------------------------- */ + +void NormalHooke::mix_coeffs(NormalModel* imodel, NormalModel* jmodel) +{ + coeffs[0] = mix_geom(imodel->coeffs[0], jmodel->coeffs[0]); + coeffs[1] = mix_geom(imodel->coeffs[1], jmodel->coeffs[1]); + coeffs_to_local(); +} + +/* ---------------------------------------------------------------------- */ + +double NormalHooke::calculate_forces() { contact.area = sqrt(contact.dR); - contact.knfac = k_norm * contact.area; - return contact.knfac * contact.delta; + knfac = k_norm * contact.area; + Fne = knfac * contact.delta; + return Fne; } +/* ---------------------------------------------------------------------- + Hertzian normal force +------------------------------------------------------------------------- */ -//****************** -// Hertz -//****************** -void Hertz::Hertz(ContactModel &c, int mat_flag) +void NormalHertz::NormalHertz() { - material_prop_flag = mat_flag; - if (material_prop_flag){ - num_coeffs = 3; - } - else{ - num_coeffs = 2; - } + num_coeffs = 2; } -void Hertz::coeffs_to_local() +/* ---------------------------------------------------------------------- */ + +void NormalHertz::coeffs_to_local() { - if (material_prop_flag){ - Emod = coeffs[0]; - poiss = coeffs[1]; - k_norm = 4/3*Emod; - } - else{ - k_norm = coeffs[0]; - } + k_norm = coeffs[0]; + damp = coeffs[1]; } -double Hertz::calculate_forces() +/* ---------------------------------------------------------------------- */ + +void NormalHertz::mix_coeffs(NormalModel* imodel, NormalModel* jmodel) +{ + coeffs[0] = mix_geom(imodel->coeffs[0], jmodel->coeffs[0]); + coeffs[1] = mix_geom(imodel->coeffs[1], jmodel->coeffs[1]); + coeffs_to_local(); +} + +/* ---------------------------------------------------------------------- */ + +double NormalHertz::calculate_forces() { contact.area = sqrt(contact.dR); - contact.knfac = contact.k_norm * contact.area; - return contact.knfac * contact.delta; + knfac = contact.k_norm * contact.area; + Fne = knfac * contact.delta; + return Fne; } -//****************** -// DMT -//****************** -void DMT::DMT(ContactModel &c) +/* ---------------------------------------------------------------------- + Hertzian normal force with material properties +------------------------------------------------------------------------- */ + +void NormalHertzMaterial::NormalHertzMaterial() { - material_prop_flag = 1; + material_properties = 1; + num_coeffs = 3; +} + +/* ---------------------------------------------------------------------- */ + +void NormalHertzMaterial::coeffs_to_local() +{ + Emod = coeffs[0]; + damp = coeffs[1]; + poiss = coeffs[2]; + k_norm = 4 / 3 * Emod; +} + +/* ---------------------------------------------------------------------- */ + +void NormalHertzMaterial::mix_coeffs(NormalModel* imodel, NormalModel* jmodel) +{ + coeffs[0] = mix_geom(imodel->coeffs[0], jmodel->coeffs[0]); + coeffs[1] = mix_geom(imodel->coeffs[1], jmodel->coeffs[1]); + coeffs[2] = mix_geom(imodel->coeffs[2], jmodel->coeffs[2]); + coeffs_to_local(); +} + +/* ---------------------------------------------------------------------- + DMT normal force +------------------------------------------------------------------------- */ + +void NormalDMT::NormalDMT(ContactModel &c) +{ + allow_limit_damping = 0; + material_properties = 1; num_coeffs = 4; } -double DMT::calculate_forces() +/* ---------------------------------------------------------------------- */ + +void NormalDMT::coeffs_to_local() +{ + Emod = coeffs[0]; + damp = coeffs[1]; + poiss = coeffs[2]; + cohesion = coeffs[3]; + k_norm = 4 / 3 * Emod; +} + +/* ---------------------------------------------------------------------- */ + +void NormalDMT::mix_coeffs(NormalModel* imodel, NormalModel* jmodel) +{ + coeffs[0] = mix_geom(imodel->coeffs[0], jmodel->coeffs[0]); + coeffs[1] = mix_geom(imodel->coeffs[1], jmodel->coeffs[1]); + coeffs[2] = mix_geom(imodel->coeffs[2], jmodel->coeffs[2]); + coeffs[3] = mix_geom(imodel->coeffs[3], jmodel->coeffs[3]); + coeffs_to_local(); +} + +/* ---------------------------------------------------------------------- */ + +double NormalDMT::calculate_forces() { contact.area = sqrt(contact.dR); - contact.knfac = contact.k_norm * contact.area; - double Fne = contact.knfac * contact.delta; + knfac = k_norm * contact.area; + Fne = knfac * contact.delta; F_pulloff = 4 * MathConst::MY_PI * cohesion * contact.Reff; Fne -= F_pulloff; return Fne; } -void DMT::set_fncrit() +/* ---------------------------------------------------------------------- */ + +void NormalDMT::set_fncrit() { - contact.Fncrit = fabs(contact.Fne + 2* F_pulloff); + Fncrit = fabs(Fne + 2* F_pulloff); } -//****************** -// JKR -//****************** -void JKR::JKR(ContactModel &c) +/* ---------------------------------------------------------------------- + JKR normal force +------------------------------------------------------------------------- */ + +void NormalJKR::NormalJKR(ContactModel &c) { - material_prop_flag = 1; + allow_limit_damping = 0; + material_properties = 1; contact.beyond_contact = beyond_contact = 1; num_coeffs = 4; } -bool JKR::touch(int touch) +/* ---------------------------------------------------------------------- */ + +void NormalJKR::coeffs_to_local() { - double Escaled, R2, delta_pulloff, dist_pulloff; + Emod = coeffs[0]; + damp = coeffs[1]; + poiss = coeffs[2]; + cohesion = coeffs[3]; + k_norm = 4/3*Emod; + Escaled = k_norm * THREEQUARTERS; +} + +/* ---------------------------------------------------------------------- */ + +void NormalJKR::mix_coeffs(NormalModel* imodel, NormalModel* jmodel) +{ + coeffs[0] = mix_geom(imodel->coeffs[0], jmodel->coeffs[0]); + coeffs[1] = mix_geom(imodel->coeffs[1], jmodel->coeffs[1]); + coeffs[2] = mix_geom(imodel->coeffs[2], jmodel->coeffs[2]); + coeffs[3] = mix_geom(imodel->coeffs[3], jmodel->coeffs[3]); + coeffs_to_local(); +} + +/* ---------------------------------------------------------------------- */ + +bool NormalJKR::touch(int touch) +{ + double R2, delta_pulloff, dist_pulloff; bool touchflag; - Escaled = k_norm * THREEQUARTERS; if (touch) { R2 = contact.Reff * contact.Reff; a = cbrt(9.0 * MY_PI * cohesion * R2 / (4 * Escaled)); @@ -159,12 +261,12 @@ bool JKR::touch(int touch) return touchflag; } -double JKR::calculate_forces() -{ - double Escaled, R2, dR2, t0, t1, t2, t3, t4, t5, t6; - double sqrt1, sqrt2, sqrt3, a2, F_pulloff, Fne; +/* ---------------------------------------------------------------------- */ - Escaled = k_norm * THREEQUARTERS; +double NormalJKR::calculate_forces() +{ + double R2, dR2, t0, t1, t2, t3, t4, t5, t6; + double sqrt1, sqrt2, sqrt3, a2; R2 = Reff * Reff; dR2 = dR * dR; @@ -180,28 +282,31 @@ double JKR::calculate_forces() sqrt2 = MAX(0, 2 * dR + t5); t6 = sqrt(sqrt2); sqrt3 = MAX(0, 4 * dR - t5 + SIXROOT6 * cohesion * MY_PI * R2 / (Escaled * t6)); - a = INVROOT6 * (t6 + sqrt(sqrt3)); - a2 = a * a; - Fne = Escaled * a * a2 / Reff - MY_2PI * a2 * sqrt(4 * cohesion * Escaled / (MY_PI * a)); + contact.area = INVROOT6 * (t6 + sqrt(sqrt3)); + a2 = contact.area * contact.area; + Fne = Escaled * contact.area * a2 / Reff - MY_2PI * a2 * sqrt(4 * cohesion * Escaled / (MY_PI * contact.area)); F_pulloff = 3 * MY_PI * cohesion * Reff; - knfac = Escaled * a; + knfac = Escaled * contact.area; return Fne; } -void JKR::set_fncrit() +/* ---------------------------------------------------------------------- */ + +void NormalJKR::set_fncrit() { - contact.Fncrit = fabs(contact.Fne + 2 * F_pulloff); + Fncrit = fabs(Fne + 2 * F_pulloff); } -void JKR::pulloff_distance(double radi, double radj) +/* ---------------------------------------------------------------------- */ + +void NormalJKR::pulloff_distance(double radi, double radj) { - double Ecaled, a_tmp, Reff_tmp; + double a_tmp, Reff_tmp; Reff_tmp = radi * radj / (radi + radj); if (Reff_tmp <= 0) return 0; - Ecaled = k_norm * THREEQUARTERS; a_tmp = cbrt(9 * MY_PI * cohesion * Reff_tmp * Reff_tmp / (4 * Ecaled)); return a_tmp * a_tmp / Reff_tmp - 2 * sqrt(MY_PI * cohesion * a_tmp / Ecaled); } diff --git a/src/GRANULAR/contact_normal_models.h b/src/GRANULAR/contact_normal_models.h index 7d54fc942b..e91d5af1c9 100644 --- a/src/GRANULAR/contact_normal_models.h +++ b/src/GRANULAR/contact_normal_models.h @@ -20,65 +20,91 @@ namespace Contact { class NormalModel:SubModel{ -public: - NormalModel(){}; - virtual ~NormalModel(){}; + public: + NormalModel(); + virtual ~NormalModel() {}; virtual bool check_contact(); - virtual void prep_contact(); virtual void set_fncrit(); virtual double calculate_forces() = 0; virtual void coeffs_to_local(); - virtual void mix_coeffs(NormalModel*, NormalModel*); //When mixing is needed + virtual void mix_coeffs(NormalModel*, NormalModel*); void pulloff_distance(double, double); - -private: - int size_history = 0; - int beyond_contact = 0; - int allow_limit_damping = 1; - + double damp; // Vestigial argument needed by damping + double Fncrit, Fne, knfac; + int material_properties; }; -class Hooke:NormalModel{ -public: - Hooke(); - ~Hooke(){}; +/* ---------------------------------------------------------------------- */ + +class NormalHooke:NormalModel +{ + public: + NormalHooke(); + ~NormalHooke() {}; void coeffs_to_local(); + void mix_coeffs(NormalModel*, NormalModel*); double calculate_forces(); -private: - double k_norm, damp; + double Emod, poiss; }; -class Hertz:NormalModel{ -public: - Hertz(int); - ~Hertz(){}; +/* ---------------------------------------------------------------------- */ + +class NormalHertz:NormalModel +{ + public: + NormalHertz(); + ~NormalHertz() {}; void coeffs_to_local(); + void mix_coeffs(NormalModel*, NormalModel*); double calculate_forces(); -private: - double k_norm, damp, Emod, poiss; + private: + double k_norm; }; -class DMT:NormalModel{ -public: - DMT(); - ~DMT(){}; +/* ---------------------------------------------------------------------- */ + +class NormalHertzMaterial:NormalHertz +{ + public: + NormalHertzMaterial(); + ~NormalHertzMaterial() {}; void coeffs_to_local(); - void coeffs_to_local(NormalModel*, NormalModel*); + void mix_coeffs(NormalModel*, NormalModel*); + private: + double k_norm; +}; + +/* ---------------------------------------------------------------------- */ + +class NormalDMT:NormalModel +{ + public: + NormalDMT(); + ~NormalDMT() {}; + void coeffs_to_local(); + void mix_coeffs(NormalModel*, NormalModel*); + void set_fncrit(); double calculate_forces(); -private: - double k_norm, damp, Emod, cohesion, poiss; + private: + double k_norm, cohesion; double F_pulloff; }; -class JKR:NormalModel{ -public: - JKR(); - ~JKR(){}; +/* ---------------------------------------------------------------------- */ + +class NormalJKR:NormalModel +{ + public: + NormalJKR(); + ~NormalJKR() {}; void coeffs_to_local(); + void mix_coeffs(NormalModel*, NormalModel*); + void set_fncrit(); double calculate_forces(); -private: - double k_norm, damp, Emod, cohesion, poiss; - double F_pulloff; + void pulloff_distance(double, double); + private: + double k_norm, cohesion; + double Escaled, F_pulloff; }; } diff --git a/src/GRANULAR/contact_sub_models.cpp b/src/GRANULAR/contact_sub_models.cpp index 8802622c78..99fcd638b4 100644 --- a/src/GRANULAR/contact_sub_models.cpp +++ b/src/GRANULAR/contact_sub_models.cpp @@ -29,30 +29,41 @@ namespace Contact{ SubModel::SubModel() { allocated = 0; - material_prop_flag = 0; size_history = 0; history_index = 0; + allow_limit_damping = 1; + beyond_contact = 0; } +/* ---------------------------------------------------------------------- */ + SubModel::~SubModel() { if (allocated) delete [] coeffs; } +/* ---------------------------------------------------------------------- */ + void SubModel::allocate_coeffs() { allocated = 1; coeffs = new double[num_coeffs]; } +/* ---------------------------------------------------------------------- */ + void SubModel::parse_coeffs(char **arg, int iarg) { for (int i = 0; i < num_coeffs; i++) { - coeffs[i] = utils::numeric(FLERR,arg[iarg+i+1],false,lmp); + // A few parameters (eg.g kt for tangential mindlin) allow null + if (strcmp(arg[iarg+i+1], "NULL") == 0) coeffs[i] = -1; + else coeffs[i] = utils::numeric(FLERR,arg[iarg+i+1],false,lmp); } coeffs_to_local(); } +/* ---------------------------------------------------------------------- */ + void SubModel::write_restart(FILE *fp) { fwrite(&model_name.length(),sizeof(int),1,fp); @@ -61,27 +72,61 @@ void SubModel::write_restart(FILE *fp) fwrite(coeffs,sizeof(int),num_coeffs,fp); } +/* ---------------------------------------------------------------------- */ + void SubModel::read_restart(FILE *fp, int num_char) { - if (comm->me == 0){ + if (comm->me == 0) { utils::sfread(FLERR,&num_coeffs,sizeof(int),1,fp,nullptr,error); } MPI_BCast(const_cast(model_name.data()), num_char, MPI_CHAR, world); allocate_coeffs(); } +/* ---------------------------------------------------------------------- */ + void SubModel::read_restart(FILE *fp) { int num_char; - if (me == 0){ + if (me == 0) { utils::sfread(FLERR,&num_char,sizeof(int),1,fp,nullptr,error); } MPI_BCast(&num_char, 1, MPI_INT, 0, world); read_restart(fp, num_char); } +/* ---------------------------------------------------------------------- + mixing of Young's modulus (E) +------------------------------------------------------------------------- */ - - +double SubModel::mix_stiffnessE(double E1, double E2, + double pois1, double pois2) +{ + double factor1 = (1 - pois1 * pois1) / E1; + double factor2 = (1 - pois2 * pois2) / E2; + return 1 / (factor1 + factor2); } +/* ---------------------------------------------------------------------- + mixing of shear modulus (G) +------------------------------------------------------------------------ */ + +double SubModel::mix_stiffnessG(double E1, double E2, + double pois1, double pois2) +{ + double factor1 = 2 * (2 - pois1) * (1 + pois1) / E1; + double factor2 = 2 * (2 - pois2) * (1 + pois2) / E2) + return 1 / (factor1 + factor2); +} + +/* ---------------------------------------------------------------------- + mixing of everything else +------------------------------------------------------------------------- */ + +double SubModel::mix_geom(double val1, double val2) +{ + return sqrt(val1 * val2); +} + + +} \ No newline at end of file diff --git a/src/GRANULAR/contact_sub_models.h b/src/GRANULAR/contact_sub_models.h index 771f0f0890..f659ef1504 100644 --- a/src/GRANULAR/contact_sub_models.h +++ b/src/GRANULAR/contact_sub_models.h @@ -21,7 +21,7 @@ using namespace LAMMPS_NS; namespace Contact{ class SubModel : Pointers{ - SubModel(){}; + SubModel(); virtual ~SubModel(); public: int num_coeffs; @@ -35,13 +35,18 @@ public: void read_restart(FILE*, int); virtual void coeffs_to_local(); void allocate_coeffs(); - std::string model_name; + std::string name; private: ContactModel &contact; int allocated; - int material_prop_flag; int size_history; int history_index; + int beyond_contact; + int allow_limit_damping; + + double mix_stiffnessE(double, double, double, double); + double mix_stiffnessG(double, double, double, double); + double mix_geom(double, double); }; } diff --git a/src/GRANULAR/contact_tangential_models.cpp b/src/GRANULAR/contact_tangential_models.cpp index 1ceb940111..9f092aaf29 100644 --- a/src/GRANULAR/contact_tangential_models.cpp +++ b/src/GRANULAR/contact_tangential_models.cpp @@ -21,188 +21,101 @@ using namespace MathConst; namespace Contact{ -// ************************ -// Default behaviors where needed -// ************************ +/* ---------------------------------------------------------------------- + Linear model with no history +------------------------------------------------------------------------- */ -//----------------------------------------- - -//****************** -// Hooke -//****************** -void LinearNohistory::calculate_forces(){ - contact = c; +TangentialLinearNoHistory::TangentialLinearNoHistory() +{ num_coeffs = 2; - allocate_coeffs(); + size_history = 3; } -void Hooke::coeffs_to_local(){ - k_norm = coeffs[0]; - damp = coeffs[1]; -} - -double Hooke::calculate_forces(){ - contact.area = sqrt(contact.dR); - contact.knfac = k_norm * contact.area; - return contact.knfac * contact.delta; -} - - -//****************** -// Hertz -//****************** -void Hertz::Hertz(ContactModel &c, int mat_flag){ - contact = c; - material_prop_flag = mat_flag; - if (material_prop_flag){ - num_coeffs = 3; - } - else{ - num_coeffs = 2; - } - allocate_coeffs(); -} - -void Hertz::coeffs_to_local(){ - if (material_prop_flag){ - Emod = coeffs[0]; - poiss = coeffs[1]; - k_norm = 4/3*Emod; - } - else{ - k_norm = coeffs[0]; - } -} - -double Hertz::calculate_forces(){ - contact.area = sqrt(contact.dR); - contact.knfac = contact.k_norm * contact.area; - return contact.knfac * contact.delta; -} - -//****************** -// DMT -//****************** -void DMT::DMT(ContactModel &c){ - contact = c; - material_prop_flag = 1; - num_coeffs = 4; - allocate_coeffs(); -} - -double DMT::calculate_forces(){ - contact.area = sqrt(contact.dR); - contact.knfac = contact.k_norm * contact.area; - double Fne = contact.knfac * contact.delta; - F_pulloff = 4 * MathConst::MY_PI * cohesion * contact.Reff; - Fne -= F_pulloff; - return Fne; -} - -void DMT::set_fncrit(){ - contact.Fncrit = fabs(contact.Fne + 2* F_pulloff); -} - -//****************** -// JKR -//****************** -void JKR::JKR(ContactModel &c){ - contact = c; - material_prop_flag = 1; - beyond_contact = 1; - num_coeffs = 4; - allocate_coeffs(); -} - -bool JKR::touch(int touch){ - double Escaled, R2, delta_pulloff, dist_pulloff; - bool touchflag; - - Escaled = k_norm * THREEQUARTERS; - if (touch) { - R2 = contact.Reff * contact.Reff; - a = cbrt(9.0 * MY_PI * cohesion * R2 / (4 * Escaled)); - delta_pulloff = a * a / contact.Reff - 2 * sqrt(MY_PI * cohesion * a / Escaled); - dist_pulloff = contact.radsum - delta_pulloff; - touchflag = (contact.rsq < dist_pulloff * dist_pulloff); - } else { - touchflag = (rcontact.sq < contact.radsum * contact.radsum); - } - return touchflag; -} - -double JKR::calculate_forces(){ - double Escaled, R2, dR2, t0, t1, t2, t3, t4, t5, t6; - double sqrt1, sqrt2, sqrt3, a2, F_pulloff, Fne; - - Escaled = k_norm * THREEQUARTERS; - - R2 = Reff * Reff; - dR2 = dR * dR; - t0 = cohesion * cohesion * R2 * R2 * Escaled; - t1 = PI27SQ*t0; - t2 = 8 * dR * dR2 * Escaled * Escaled * Escaled; - t3 = 4 * dR2 * Escaled; - - // in case sqrt(0) < 0 due to precision issues - sqrt1 = MAX(0, t0 * (t1 + 2 * t2)); - t4 = cbrt(t1 + t2 + THREEROOT3 * MY_PI * sqrt(sqrt1)); - t5 = t3 / t4 + t4 / Escaled; - sqrt2 = MAX(0, 2 * dR + t5); - t6 = sqrt(sqrt2); - sqrt3 = MAX(0, 4 * dR - t5 + SIXROOT6 * cohesion * MY_PI * R2 / (Escaled * t6)); - a = INVROOT6 * (t6 + sqrt(sqrt3)); - a2 = a * a; - Fne = Escaled * a * a2 / Reff - MY_2PI * a2 * sqrt(4 * cohesion * Escaled / (MY_PI * a)); - F_pulloff = 3 * MY_PI * cohesion * Reff; - - knfac = Escaled * a; - return Fne; -} - -void JKR::set_fncrit(){ - contact.Fncrit = fabs(contact.Fne + 2 * F_pulloff); -} - - - - - /* ---------------------------------------------------------------------- */ -void ContactModel::tangential_no_history() +void TangentialLinearNoHistory::coeffs_to_local() { - double gamma_scaled = gamma_tang * damp_normal_prefactor; - double fsmag, Ft; + xt = coeffs[0]; + mu = coeffs[1]; + damp = xt * contact.damping_model.damp; +} + +/* ---------------------------------------------------------------------- */ + +void TangentialLinearNoHistory::mix_coeffs(NormalModel* imodel, NormalModel* jmodel) +{ + coeffs[0] = mix_geom(imodel->coeffs[0], jmodel->coeffs[0]); + coeffs[1] = mix_geom(imodel->coeffs[1], jmodel->coeffs[1]); + coeffs_to_local(); +} + +/* ---------------------------------------------------------------------- */ + +void TangentialLinearNoHistory::calculate_forces() +{ + double Fscrit, fsmag, Ft; // classic pair gran/hooke (no history) - fsmag = gamma_scaled * vrel; - if (vrel != 0.0) Ft = MIN(Fscrit,fsmag) / vrel; + Fscrit = mu * contact.normal_model.Fncrit + fsmag = damp * contact.vrel; + if (contact.vrel != 0.0) Ft = MIN(Fscrit, fsmag) / contact.vrel; else Ft = 0.0; Ft = -Ft; - scale3(Ft, vtr, fs); + scale3(Ft, contact.vtr, contact.fs); +} + +/* ---------------------------------------------------------------------- + Linear model with history +------------------------------------------------------------------------- */ + +TangentialLinearHistory::TangentialLinearHistory() +{ + num_coeffs = 3; + size_history = 3; } /* ---------------------------------------------------------------------- */ -void ContactModel::tangential_history(double *history) +void TangentialLinearHistory::coeffs_to_local() { - double gamma_scaled = gamma_tang * damp_normal_prefactor; - double k = k_tang; + kt = coeffs[0]; + xt = coeffs[1]; + mu = coeffs[2]; + damp = xt * contact.damping_model.damp; +} + +/* ---------------------------------------------------------------------- */ + +void TangentialLinearHistory::mix_coeffs(NormalModel* imodel, NormalModel* jmodel) +{ + coeffs[0] = mix_geom(imodel->coeffs[0], jmodel->coeffs[0]); + coeffs[1] = mix_geom(imodel->coeffs[1], jmodel->coeffs[1]); + coeffs[2] = mix_geom(imodel->coeffs[2], jmodel->coeffs[2]); + coeffs_to_local(); +} + +/* ---------------------------------------------------------------------- */ + +void TangentialLinearHistory::calculate_forces() +{ + double Fscrit, magfs, rsht, shrmag, prjmag, temp_dbl, temp_array[3]; int frame_update = 0; - double magfs, rsht, shrmag, prjmag, temp_dbl, temp_array[3]; + + Fscrit = contact.normal_model.Fncrit * mu; + + double *history = & contact.history[history_index]; // rotate and update displacements / force. // see e.g. eq. 17 of Luding, Gran. Matter 2008, v10,p235 - if (history_update) { - rsht = dot3(history, nx); - frame_update = fabs(rsht) * k > EPSILON * Fscrit; + if (contact.history_update) { + rsht = dot3(history, contact.nx); + frame_update = fabs(rsht) * kt > EPSILON * Fscrit; if (frame_update) { shrmag = len3(history); // projection - scale3(rsht, nx, history); + scale3(rsht, contact.nx, history); // also rescale to preserve magnitude prjmag = len3(history); if (prjmag > 0) temp_dbl = shrmag / prjmag; @@ -213,54 +126,94 @@ void ContactModel::tangential_history(double *history) // update history // tangential force // see e.g. eq. 18 of Thornton et al, Pow. Tech. 2013, v223,p30-46 - temp_dbl = k * dt; - scale3(temp_dbl, vtr, temp_array); + temp_dbl = kt * contact.dt; + scale3(temp_dbl, contact.vtr, temp_array); sub3(history, temp_array, history); } // tangential forces = history + tangential velocity damping - temp_dbl = -gamma_norm; - scale3(temp_dbl, vtr, fs); + temp_dbl = -damp; + scale3(temp_dbl, contact.vtr, contact.fs); // rescale frictional displacements and forces if needed - magfs = len3(fs); + magfs = len3(contact.fs); if (magfs > Fscrit) { shrmag = len3(history); if (shrmag != 0.0) { temp_dbl = Fscrit / magfs; - scale3(temp_dbl, fs, history); - scale3(gamma_norm, vtr, temp_array); + scale3(temp_dbl, contact.fs, history); + scale3(damp, contact.vtr, temp_array); add3(history, temp_array, history); temp_dbl = Fscrit / magfs; - scale3(temp_dbl, fs); + scale3(temp_dbl, contact.fs); } else { - zero3(fs); + zero3(contact.fs); } } } +/* ---------------------------------------------------------------------- + Mindlin model +------------------------------------------------------------------------- */ + +TangentialMindlin::TangentialMindlin() +{ + num_coeffs = 3; + size_history = 3; + mindlin_force = 0; + mindlin_rescale = 0; +} + /* ---------------------------------------------------------------------- */ -void ContactModel::tangential_mindlin(double *history) +void TangentialMindlin::coeffs_to_local() { - double k_scaled, gamma_scaled, magfs, rsht, shrmag, prjmag, temp_dbl; + kt = coeffs[0]; + xt = coeffs[1]; + mu = coeffs[2]; + + if (ke == -1) + kt = 8.0 * mix_stiffness(contact.normal_model.Emod, contact.normal_model.Emod, + contact.normal_model.poiss, contact.normal_model.poiss); + + damp = xt * contact.damping_model.damp; +} + +/* ---------------------------------------------------------------------- */ + +void TangentialMindlin::mix_coeffs(NormalModel* imodel, NormalModel* jmodel) +{ + if (imodel->coeffs[0] == -1 || imodel->coeffs[0] == -1) coeffs[0] = -1; + else coeffs[0] = mix_geom(imodel->coeffs[0], jmodel->coeffs[0]); + coeffs[1] = mix_geom(imodel->coeffs[1], jmodel->coeffs[1]); + coeffs[2] = mix_geom(imodel->coeffs[2], jmodel->coeffs[2]); + coeffs_to_local(); +} + +/* ---------------------------------------------------------------------- */ + +void TangentialMindlin::calculate_forces() +{ + double Fscrit, k_scaled, magfs, rsht, shrmag, prjmag, temp_dbl; double temp_array[3]; int frame_update = 0; - gamma_scaled = gamma_tang * damp_normal_prefactor; - k_scaled = k_tang * a; + double *history = & contact.history[history_index]; + Fscrit = contact.normal_model.Fncrit * mu; + + k_scaled = k_tang * contact.area; if (mindlin_rescale) { // on unloading, rescale the shear displacements/force - if (a < history[3]) { - temp_dbl = a / history[3]; + if (contact.area < history[3]) { + temp_dbl = contact.area / history[3]; scale3(temp_dbl, history); } } // rotate and update displacements / force. // see e.g. eq. 17 of Luding, Gran. Matter 2008, v10,p235 - if (history_update) { - rsht = dot3(history, nx); + if (contact.history_update) { + rsht = dot3(history, contact.nx); if (mindlin_force) frame_update = fabs(rsht) > EPSILON * Fscrit; else @@ -269,7 +222,7 @@ void ContactModel::tangential_mindlin(double *history) if (frame_update) { shrmag = len3(history); // projection - scale3(rsht, nx, history); + scale3(rsht, contact.nx, history); // also rescale to preserve magnitude prjmag = len3(history); if (prjmag > 0) temp_dbl = shrmag / prjmag; @@ -281,44 +234,78 @@ void ContactModel::tangential_mindlin(double *history) if (mindlin_force) { // tangential force // see e.g. eq. 18 of Thornton et al, Pow. Tech. 2013, v223,p30-46 - temp_dbl = -k_scaled * dt; - scale3(temp_dbl, vtr, temp_array); + temp_dbl = -k_scaled * contact.dt; + scale3(temp_dbl, contact.vtr, temp_array); } else { - scale3(dt, vtr, temp_array); + scale3(contact.dt, contact.vtr, temp_array); } add3(history, temp_array, history); - if (mindlin_rescale) history[3] = a; + if (mindlin_rescale) history[3] = contact.area; } // tangential forces = history + tangential velocity damping - temp_dbl = -gamma_scaled; - scale3(temp_dbl, vtr, fs); + temp_dbl = -damp; + scale3(temp_dbl, contact.vtr, contact.fs); if (! mindlin_force) { scale3(k_scaled, history, temp_array); - add3(fs, temp_array, fs); + add3(contact.fs, temp_array, contact.fs); } // rescale frictional displacements and forces if needed - magfs = len3(fs); + magfs = len3(contact.fs); if (magfs > Fscrit) { shrmag = len3(history); if (shrmag != 0.0) { temp_dbl = Fscrit / magfs; - scale3(temp_dbl, fs, history); - scale3(gamma_tang, vtr, temp_array); + scale3(temp_dbl, contact.fs, history); + scale3(damp, contact.vtr, temp_array); add3(history, temp_array, history); if (! mindlin_force) { - temp_dbl = -1.0 / k_tang; + temp_dbl = -1.0 / k_scaled; scale3(temp_dbl, history); } temp_dbl = Fscrit / magfs; - scale3(temp_dbl, fs); + scale3(temp_dbl, contact.fs); } else { - zero3(fs); + zero3(contact.fs); } } } -/* ---------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + Mindlin force model +------------------------------------------------------------------------- */ + +void TangentialMindlinForce::TangentialMindlinForce() +{ + num_coeffs = 3; + size_history = 3; + mindlin_force = 1; + mindlin_rescale = 0; +} + +/* ---------------------------------------------------------------------- + Mindlin rescale model +------------------------------------------------------------------------- */ + +void TangentialMindlinRescale::TangentialMindlinForce() +{ + num_coeffs = 3; + size_history = 4; + mindlin_force = 0; + mindlin_rescale = 1; +} + +/* ---------------------------------------------------------------------- + Mindlin rescale force model +------------------------------------------------------------------------- */ + +void TangentialMindlinRescaleForce::TangentialMindlinForce() +{ + num_coeffs = 3; + size_history = 4; + mindlin_force = 1; + mindlin_rescale = 1; +} diff --git a/src/GRANULAR/contact_tangential_models.h b/src/GRANULAR/contact_tangential_models.h index 207d129e7c..c0a5a727f0 100644 --- a/src/GRANULAR/contact_tangential_models.h +++ b/src/GRANULAR/contact_tangential_models.h @@ -19,59 +19,82 @@ namespace Contact { -class TangentialModel:SubModel{ +class TangentialModel:SubModel +{ public: - TangentialModel(){}; - virtual ~TangentialModel(){}; + TangentialModel() {}; + virtual ~TangentialModel() {}; virtual double calculate_forces() = 0; virtual void coeffs_to_local(); - virtual void mix_coeffs(TangentialModel*, TangentialModel*); //When mixing is needed - int rescale_flag = 0; + virtual void mix_coeffs(TangentialModel*, TangentialModel*); + int rescale_flag; private: - int beyond_contact = 0; - int allow_limit_damping = 1; - + int beyond_contact; + int allow_limit_damping; }; -class LinearNohistory:TangentialModel{ +/* ---------------------------------------------------------------------- */ + +class TangentialLinearNoHistory:TangentialModel +{ public: + TangentialLinearNoHistory() + virtual void coeffs_to_local(); + virtual void mix_coeffs(TangentialModel*, TangentialModel*); double calculate_forces(); private: - void allocate_coeffs(); - double k_t, damp; + double xt, damp, mu; }; -class LinearHistory:TangentialModel{ +/* ---------------------------------------------------------------------- */ + +class TangentialLinearHistory:TangentialModel +{ public: - LinearHistory(){} - ~LinearHistory(){}; - void coeffs_to_local(); + TangentialLinearHistory() + virtual void coeffs_to_local(); + virtual void mix_coeffs(TangentialModel*, TangentialModel*); double calculate_forces(); private: - double k_norm, damp, Emod, poiss; + double kt, xt, damp, mu; }; -class Mindlin:TangentialModel{ +/* ---------------------------------------------------------------------- */ + +class TangentialMindlin:TangentialModel +{ public: - Mindlin(int); - ~Mindlin(){}; + TangentialMindlin(); void coeffs_to_local(); void coeffs_to_local(TangentialModel*, TangentialModel*); double calculate_forces(); private: - double k_norm, damp, Emod, poiss, coh; + int mindlin_rescale, mindlin_force; }; -class MindlinForce:TangentialModel{ -public: - JKR(ContactModel &c); - ~JKR(){}; - void coeffs_to_local(); - double calculate_forces(); -private: - double k_norm, damp, Emod, poiss, coh; +/* ---------------------------------------------------------------------- */ +class TangentialMindlinForce:TangentialMindlin +{ +public: + TangentialMindlinForce(); +}; + +/* ---------------------------------------------------------------------- */ + +class TangentialMindlinRescale:TangentialMindlin +{ +public: + TangentialMindlinRescale(); +}; + +/* ---------------------------------------------------------------------- */ + +class TangentialMindlinRescaleForce:TangentialMindlinRescale +{ +public: + TangentialMindlinForceRescale(); }; } diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index 7378df2f77..5816850ef2 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -376,7 +376,19 @@ void PairGranular::coeff(int narg, char **arg) //Parse optional arguments while (iarg < narg) { - if (strcmp(arg[iarg], "rolling") == 0) { + if (strcmp(arg[iarg], "damping") == 0) { + if (iarg + 1 >= narg) + error->all(FLERR, "Illegal pair_coeff command, not enough parameters"); + vec_models.back().init(arg[iarg], Contact::DAMPING); + ncoeff = vec_models.back().damping_model.num_coeffs; + iarg += 1; + if (iarg + ncoeff >= narg) + error->all(FLERR, "Illegal pair_coeff command" + "Insufficient arguments provided for damping model."); + vec_models.back().damping_model.parse_coeffs(arg, iarg); + iarg += ncoeff; + + } else if (strcmp(arg[iarg], "rolling") == 0) { if (iarg + 1 >= narg) error->all(FLERR, "Illegal pair_coeff command, not enough parameters"); vec_models.back().init(arg[iarg], Contact::ROLLING); @@ -409,7 +421,6 @@ void PairGranular::coeff(int narg, char **arg) if (iarg + ncoeff >= narg) error->all(FLERR, "Illegal pair_coeff command" "Insufficient arguments provided for heat model."); - ncoeff = vec_models.back().heat_model.num_coeffs; vec_models.back().heat_model.parse_coeffs(arg, iarg); iarg += ncoeff; heat_flag = 1; @@ -427,6 +438,12 @@ void PairGranular::coeff(int narg, char **arg) } else error->all(FLERR, "Illegal pair_coeff command"); } + // Define default damping model if unspecified, takes no args + if (!vec_models.back().damping_model) { + vec_models.back().init("viscoelastic", Contact::DAMPING); + vec_models.back().damping_model.parse_coeffs(arg, 0); + } + if (vec_models.back().limit_damping && !vec_models.back().normal_model->allow_limit_damping) error->all(FLERR,"Illegal pair_coeff command, " "Cannot limit damping with specified normal contact model"); @@ -584,11 +601,11 @@ double PairGranular::init_one(int i, int j) double cutoff = 0.0; if (setflag[i][j] == 0) { - if ((models[i][i]->normal_model != models[j][j]->normal_model) || - (models[i][i]->damping_model != models[j][j]->damping_model) || - (models[i][i]->tangential_model != models[j][j]->tangential_model) || - (models[i][i]->roll_model != models[j][j]->roll_model) || - (models[i][i]->twist_model != models[j][j]->twist_model)) { + if ((models[i][i]->normal_model.name != models[j][j]->normal_model.name) || + (models[i][i]->damping_model.name != models[j][j]->damping_model.name) || + (models[i][i]->tangential_model.name != models[j][j]->tangential_model.name) || + (models[i][i]->rolling_model.name != models[j][j]->rolling_model.name) || + (models[i][i]->twisting_model.name != models[j][j]->twisting_model.name)) { error->all(FLERR,"Granular pair style functional forms are different, " "cannot mix coefficients for types {} and {}. \n" "This combination must be set explicitly via a " @@ -597,6 +614,13 @@ double PairGranular::init_one(int i, int j) vec_models.push_back(ContactModel()); models[i][j] = models[j][i] = & vec_models.back(); + vec_models.back().init(models[i][i]->normal_model.name, Contact::NORMAL); + vec_models.back().init(models[i][i]->tangential_model.name, Contact::TANGENTIAL); + vec_models.back().init(models[i][i]->damping_model.name, Contact::DAMPING); + vec_models.back().init(models[i][i]->rolling_model.name, Contact::ROLLING); + vec_models.back().init(models[i][i]->twisting_model.name, Contact::TWISTING); + vec_models.back().init(models[i][i]->heat_model.name, Contact::HEAT); + vec_models.back().mix_coeffs(models[i][i], models[j][j]); } @@ -802,6 +826,7 @@ double PairGranular::single(int i, int j, int itype, int jtype, torquesj = models[itype][jtype]->torquesj; // apply forces & torques + fforce = MathExtra::len3(forces); // set single_extra quantities @@ -863,35 +888,6 @@ double PairGranular::memory_usage() return bytes; } -/* ---------------------------------------------------------------------- - mixing of Young's modulus (E) -------------------------------------------------------------------------- */ - -double PairGranular::mix_stiffnessE(double Eii, double Ejj, - double poisii, double poisjj) -{ - return 1/((1-poisii*poisii)/Eii+(1-poisjj*poisjj)/Ejj); -} - -/* ---------------------------------------------------------------------- - mixing of shear modulus (G) ------------------------------------------------------------------------- */ - -double PairGranular::mix_stiffnessG(double Eii, double Ejj, - double poisii, double poisjj) -{ - return 1/((2*(2-poisii)*(1+poisii)/Eii) + (2*(2-poisjj)*(1+poisjj)/Ejj)); -} - -/* ---------------------------------------------------------------------- - mixing of everything else -------------------------------------------------------------------------- */ - -double PairGranular::mix_geom(double valii, double valjj) -{ - return sqrt(valii*valjj); -} - /* ---------------------------------------------------------------------- transfer history during fix/neigh/history exchange only needed if any history entries i-j are not just negative of j-i entries diff --git a/src/GRANULAR/pair_granular.h b/src/GRANULAR/pair_granular.h index 503e3ed938..e018f9fe7c 100644 --- a/src/GRANULAR/pair_granular.h +++ b/src/GRANULAR/pair_granular.h @@ -88,10 +88,6 @@ class PairGranular : public Pair { // optional user-specified global cutoff, per-type user-specified cutoffs double **cutoff_type; double cutoff_global; - - double mix_stiffnessE(double, double, double, double); - double mix_stiffnessG(double, double, double, double); - double mix_geom(double, double); }; } // namespace LAMMPS_NS From 22de863da999a45f7fd3d16c270dedf5337a2665 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Mon, 1 Aug 2022 13:12:44 -0600 Subject: [PATCH 014/448] Fixing compilation errors and finishing model classes --- src/GRANULAR/contact.cpp | 209 ++++++++++------ src/GRANULAR/contact.h | 61 +++-- src/GRANULAR/contact_damping_models.cpp | 40 ++-- src/GRANULAR/contact_damping_models.h | 40 ++-- src/GRANULAR/contact_heat_models.cpp | 184 ++------------ src/GRANULAR/contact_heat_models.h | 83 ++----- src/GRANULAR/contact_normal_models.cpp | 184 ++++++++------ src/GRANULAR/contact_normal_models.h | 68 +++--- src/GRANULAR/contact_rolling_models.cpp | 236 +++++------------- src/GRANULAR/contact_rolling_models.h | 79 ++---- src/GRANULAR/contact_sub_models.cpp | 55 +---- src/GRANULAR/contact_sub_models.h | 42 ++-- src/GRANULAR/contact_tangential_models.cpp | 130 +++++----- src/GRANULAR/contact_tangential_models.h | 92 ++++--- src/GRANULAR/contact_twisting_models.cpp | 265 ++++++--------------- src/GRANULAR/contact_twisting_models.h | 81 ++----- src/GRANULAR/pair_granular.cpp | 169 +++++++------ src/GRANULAR/pair_granular.h | 6 +- src/contact.h | 129 +++++----- src/fix_neigh_history.cpp | 6 +- src/pair.h | 2 +- 21 files changed, 903 insertions(+), 1258 deletions(-) diff --git a/src/GRANULAR/contact.cpp b/src/GRANULAR/contact.cpp index 12a9476585..4358f6df1c 100644 --- a/src/GRANULAR/contact.cpp +++ b/src/GRANULAR/contact.cpp @@ -18,99 +18,140 @@ */ #include "contact.h" +#include "pointers.h" #include "math_const.h" #include "math_extra.h" -#include "pointers.h" +#include "contact_sub_models.h" +#include "contact_normal_models.h" +#include "contact_tangential_models.h" +#include "contact_damping_models.h" +#include "contact_rolling_models.h" +#include "contact_twisting_models.h" +#include "contact_heat_models.h" #include "comm.h" #include "error.h" #include -using namespace LAMMPS_NS; using namespace MathExtra; -using namespace MathConst; +using namespace LAMMPS_NS::MathConst; +using namespace LAMMPS_NS::Contact; -namespace Contact { - -enum {NORMAL, TANGENTIAL, DAMPING, ROLLING, TWISTING, HEAT} - -ContactModel::ContactModel() +ContactModel::ContactModel() : + Pointers(lmp) { limit_damping = 0; beyond_contact = 0; + nondefault_history_transfer = 0; cutoff_type = 0.0; - normal_model = nullptr; - tangential_model = nullptr; - damping_model = nullptr; - rolling_model = nullptr; - twisting_model = nullptr; + nmodels = 5; + reset_contact(); - sub_models = {nullptr}; + for (int i = 0; i < nmodels; i++) sub_models[i] = nullptr; } /* ---------------------------------------------------------------------- */ -void ContactModel::init_model(char *model_name, int model_type) +ContactModel::~ContactModel() +{ + delete[] transfer_history_factor; +} + +/* ---------------------------------------------------------------------- */ + +void ContactModel::init_model(std::string model_name, ModelType model_type) { if (model_type == NORMAL) { - if (strcmp(model_name, "hooke") == 0) normal_model = new NormalHooke(); - else if (strcmp(model_name, "hertz") == 0) normal_model = new NormalHertz(); - else if (strcmp(model_name, "hertz/material") == 0) normal_model = new NormalHertzMaterial(); - else if (strcmp(model_name, "dmt") == 0) normal_model = new NormalDMT(); - else if (strcmp(model_name, "jkr") == 0) normal_model = new NormalJKR(); + if (model_name == "hooke") normal_model = new NormalHooke(); + else if (model_name == "hertz") normal_model = new NormalHertz(); + else if (model_name == "hertz/material") normal_model = new NormalHertzMaterial(); + else if (model_name == "dmt") normal_model = new NormalDMT(); + else if (model_name == "jkr") normal_model = new NormalJKR(); else error->all(FLERR, "Normal model name not recognized"); - sub_models[model_type] = &normal_model; + sub_models[model_type] = normal_model; } else if (model_type == TANGENTIAL) { - if (strcmp(model_name, "linear_nohistory") == 0) tangential_model = new TangentialLinearNoHistory(); - else if (strcmp(model_name, "linear_history") == 0) tangential_model = new TangentialLinearHistory(); - else if (strcmp(model_name, "mindlin") == 0) tangential_model = new TangentialMindlin(); - else if (strcmp(model_name, "mindlin/force") == 0) tangential_model = new TangentialMindlinForce(); - else if (strcmp(model_name, "mindlin_rescale") == 0) tangential_model = new TangentialMindlinRescale(); - else if (strcmp(model_name, "mindlin_rescale/force") == 0) tangential_model = new TangentialMindlinRescaleForce(); + if (model_name =="linear_nohistory") tangential_model = new TangentialLinearNoHistory(); + else if (model_name =="linear_history") tangential_model = new TangentialLinearHistory(); + else if (model_name =="mindlin") tangential_model = new TangentialMindlin(); + else if (model_name =="mindlin/force") tangential_model = new TangentialMindlinForce(); + else if (model_name =="mindlin_rescale") tangential_model = new TangentialMindlinRescale(); + else if (model_name =="mindlin_rescale/force") tangential_model = new TangentialMindlinRescaleForce(); else error->all(FLERR, "Tangential model name not recognized"); - sub_models[model_type] = &tangential_model; + sub_models[model_type] = tangential_model; } else if (model_type == DAMPING) { - if (strcmp(model_name, "velocity") == 0) damping_model = new DampingVelocity(); - else if (strcmp(model_name, "mass_velocity") == 0) damping_model = new DampingMassVelocity(); - else if (strcmp(model_name, "viscoelastic") == 0) damping_model = new DampingViscoelastic(); - else if (strcmp(model_name, "tsuji") == 0) damping_model = new DampingTsuji(); + if (model_name =="velocity") damping_model = new DampingVelocity(); + else if (model_name =="mass_velocity") damping_model = new DampingMassVelocity(); + else if (model_name =="viscoelastic") damping_model = new DampingViscoelastic(); + else if (model_name =="tsuji") damping_model = new DampingTsuji(); else error->all(FLERR, "Damping model name not recognized"); - sub_models[model_type] = &damping_model; + sub_models[model_type] = damping_model; } else if (model_type == ROLLING) { - if (strcmp(model_name, "none") == 0) delete rolling_model; - else if (strcmp(model_name, "sds") == 0) rolling_model = new RollingSDS(); + if (model_name =="none") delete rolling_model; + else if (model_name =="sds") rolling_model = new RollingSDS(); else error->all(FLERR, "Rolling model name not recognized"); - sub_models[model_type] = &rolling_model; + sub_models[model_type] = rolling_model; } else if (model_type == TWISTING) { - if (strcmp(model_name, "none") == 0) delete twisting_model; - else if (strcmp(model_name, "sds") == 0) twisting_model = new TwistingSDS(); - else if (strcmp(model_name, "marshall") == 0) twisting_model = new TwistingMarshall(); + if (model_name =="none") delete twisting_model; + else if (model_name =="sds") twisting_model = new TwistingSDS(); + else if (model_name =="marshall") twisting_model = new TwistingMarshall(); else error->all(FLERR, "Twisting model name not recognized"); - sub_models[model_type] = &twisting_model; + sub_models[model_type] = twisting_model; } else if (model_type == HEAT) { - if (strcmp(model_name, "none") == 0) delete heat_model; - else if (strcmp(model_name, "area") == 0) heat_model = new HeatArea(); + if (model_name =="none") delete heat_model; + else if (model_name =="area") heat_model = new HeatArea(); else error->all(FLERR, "Heat model name not recognized"); - sub_models[model_type] = &heat_model; + sub_models[model_type] = heat_model; } sub_models[model_type]->name.assign(model_name); - sub_models[model_type]->contact = *this; + sub_models[model_type]->contact = this; sub_models[model_type]->allocate_coeffs(); } /* ---------------------------------------------------------------------- */ +void ContactModel::init() +{ + int i, j, size_cumulative; + for (i = 0; i < nmodels; i++) { + if (sub_models[i]->nondefault_history_transfer) + nondefault_history_transfer = 1; + if (sub_models[i]->beyond_contact) + beyond_contact = 1; + } + + transfer_history_factor = new double(size_history); + for (i = 0; i < size_history; i++) transfer_history_factor[i] = -1.0; + + if (nondefault_history_transfer) { + for (i = 0; i < size_history; i++) { + // Find which model controls this history value + size_cumulative = 0; + for (j = 0; j < nmodels; j++) { + if (size_cumulative + sub_models[j]->size_history > i) break; + size_cumulative += sub_models[j]->size_history; + } + + // Check if model has nondefault transfers, if so copy its array + if (sub_models[j]->nondefault_history_transfer) { + transfer_history_factor[i] = sub_models[j]->transfer_history_factor[i - size_cumulative]; + } + } + } +} + +/* ---------------------------------------------------------------------- */ + void ContactModel::mix_coeffs(ContactModel *c1, ContactModel *c2) { - for (int i = 0; i < 5; i++) - sum_model[i]->mix_coeffs(c1->submodel[i], c2->submodel[i]); + for (int i = 0; i < nmodels; i++) + sub_models[i]->mix_coeffs(c1->sub_models[i], c2->sub_models[i]); limit_damping = MAX(c1->limit_damping, c2->limit_damping); cutoff_type = MAX(c1->cutoff_type, c2->cutoff_type); @@ -120,11 +161,17 @@ void ContactModel::mix_coeffs(ContactModel *c1, ContactModel *c2) void ContactModel::write_restart(FILE *fp) { - int num_char = -1; + int num_char, num_coeffs; - for (int i = 0; i < 5; i++) { + for (int i = 0; i < nmodels; i++) { + num_char = -1; if (sub_models[i]) { - sub_models[i]->write_restart(fp); + num_char = sub_models[i]->name.length(); + num_coeffs = sub_models[i]->num_coeffs; + fwrite(&num_char, sizeof(int), 1, fp); + fwrite(sub_models[i]->name.data(), sizeof(char), num_char, fp); + fwrite(&num_coeffs, sizeof(int), 1, fp); + fwrite(sub_models[i]->coeffs, sizeof(int), num_coeffs, fp); } else { fwrite(&num_char, sizeof(int), 1, fp); } @@ -135,21 +182,34 @@ void ContactModel::write_restart(FILE *fp) void ContactModel::read_restart(FILE *fp) { - int num_char; + int num_char, num_coeff; - for (int i = 0; i < 5; i++) { + for (int i = 0; i < nmodels; i++) { if (comm->me == 0) - utils::sfread(FLERR,&num_char,sizeof(int),1,fp,nullptr,error); - MPI_BCast(&num_char, 1, MPI_INT, 0, world); + utils::sfread(FLERR, &num_char, sizeof(int), 1, fp, nullptr, error); + MPI_Bcast(&num_char, 1, MPI_INT, 0, world); if (num_char != -1) { - std::string model_name(num_char); + std::string model_name (num_char, ' '); if (comm->me == 0) - utils::sfread(FLERR,const_cast(model_name.data()),sizeof(char),num_char,fp,nullptr, error); - MPI_BCast(const_cast(model_name.data()), num_char, MPI_CHAR, world); + utils::sfread(FLERR, const_cast(model_name.data()), sizeof(char),num_char, fp, nullptr, error); + MPI_Bcast(const_cast(model_name.data()), num_char, MPI_CHAR, 0, world); - init_model(const_cast(model_name.data(), i)); - sub_models[i]->read_restart(); + init_model(model_name, (ModelType) i); + + if (comm->me == 0) { + utils::sfread(FLERR, &num_coeff, sizeof(int), 1, fp, nullptr, error); + if (num_coeff != sub_models[i]->num_coeffs) + error->one(FLERR, "Invalid contact model written to restart file"); + } + MPI_Bcast(&num_coeff, 1, MPI_INT, 0, world); + + if (comm->me == 0) { + utils::sfread(FLERR, sub_models[i]->coeffs, sizeof(int), num_coeff, fp, nullptr, error); + } + MPI_Bcast(sub_models[i]->coeffs, num_coeff, MPI_DOUBLE, 0, world); + + sub_models[i]->coeffs_to_local(); } } } @@ -158,7 +218,7 @@ void ContactModel::read_restart(FILE *fp) void ContactModel::reset_contact() { - radi = radj = Fntot = Fncrit = magtortwist = 0.0; + radi = radj = Fntot = magtortwist = 0.0; xi = xj = vi = vj = omegai = omegaj = nullptr; forces = torquesi = torquesj = history = nullptr; @@ -177,10 +237,7 @@ bool ContactModel::check_contact() radsum = radi + radj; Reff = radi * radj / radsum; - touch = false; - if (normal_model.beyond_contact) normal_model.touch(touch); - else touch = (rsq < radsum*radsum); - + touch = normal_model->touch(); return touch; } @@ -220,7 +277,7 @@ void ContactModel::prep_contact() sub3(vt, temp, vtr); vrel = len3(vtr); - if (roll_model || twist_model) + if (rolling_model || twisting_model) sub3(omegai, omegaj, relrot); if (rolling_model) { @@ -250,20 +307,24 @@ void ContactModel::calculate_forces() } //********************************************** - // normal forces + // calculate forces //********************************************** double Fne, Fdamp; - Fne = normal_model.calculate_forces(); - Fdamp = damping_model.calculate_forces(); + area = normal_model->calculate_area(); + Fne = normal_model->calculate_forces(); + normal_model->set_knfac(); // Needed for damping + + Fdamp = damping_model->calculate_forces(); + + normal_model->set_fncrit(); // Needed for tangential, rolling, twisting Fntot = Fne + Fdamp; if (limit_damping && Fntot < 0.0) Fntot = 0.0; - normal_model.set_fncrit(); - tangential_model.calculate_forces(); - if (rolling_model) rolling_model.calculate_forces(); - if (twisting_model) twisting_model.calculate_forces(); + tangential_model->calculate_forces(); + if (rolling_model) rolling_model->calculate_forces(); + if (twisting_model) twisting_model->calculate_forces(); //********************************************** // sum contributions @@ -301,7 +362,7 @@ void ContactModel::calculate_forces() double ContactModel::calculate_heat() { - return heat_model.calculate_heat(); + return heat_model->calculate_heat(); } /* ---------------------------------------------------------------------- @@ -311,7 +372,5 @@ double ContactModel::calculate_heat() double ContactModel::pulloff_distance(double radi, double radj) { - return normal_model.pulloff_distance(radi, radj); -} - + return normal_model->pulloff_distance(radi, radj); } diff --git a/src/GRANULAR/contact.h b/src/GRANULAR/contact.h index f9f18a1eb4..96758771b4 100644 --- a/src/GRANULAR/contact.h +++ b/src/GRANULAR/contact.h @@ -14,32 +14,44 @@ #ifndef LMP_CONTACT_H #define LMP_CONTACT_H -#include "pointers.h" -#include "normal_contact_models.h" -#include "tangential_contact_models.h" -#include "damping_contact_models.h" -#include "rolling_contact_models.h" -#include "twisting_contact_models.h" -#include "heat_models.h" - -using namespace LAMMPS_NS; +#include "pointers.h" // IWYU pragma: export +namespace LAMMPS_NS { namespace Contact { +enum ModelType { + NORMAL = 0, + DAMPING = 1, + TANGENTIAL = 2, + ROLLING = 3, + TWISTING = 4, + HEAT = 5 +}; + #define EPSILON 1e-10 +// forward declaration +class NormalModel; +class DampingModel; +class TangentialModel; +class RollingModel; +class TwistingModel; +class HeatModel; +class SubModel; + class ContactModel : protected Pointers { -public: + public: ContactModel(); ~ContactModel(); - int init(); + void init(); bool check_contact(); void reset_contact(); + void prep_contact(); void calculate_forces(); double calculate_heat(); double pulloff_distance(double, double); - void init_model(char*, int); + void init_model(std::string, ModelType); void mix_coeffs(ContactModel*, ContactModel*); @@ -47,21 +59,25 @@ public: void read_restart(FILE *); // Sub models - NormalModel normal_model; - DampingModel damping_model; - TangentialModel tangential_model; - RollingModel rolling_model; - TwistingModel twisting_model; - HeatModel heat_model; + NormalModel *normal_model; + DampingModel *damping_model; + TangentialModel *tangential_model; + RollingModel *rolling_model; + TwistingModel *twisting_model; + HeatModel *heat_model; SubModel *sub_models[6]; // Need to resize if we add more model flavors // Extra options - int beyond_contact, limit_damping; + int beyond_contact, limit_damping, history_update; double cutoff_type; + // History variables + int size_history, nondefault_history_transfer; + double *transfer_history_factor; + double *history; + // Contact properties/output double *forces, *torquesi, *torquesj; - double *history; double radi, radj, meff, dt, Ti, Tj, area; double Fntot, magtortwist; @@ -69,15 +85,18 @@ public: double *xi, *xj, *vi, *vj, *omegai, *omegaj; double fs[3], fr[3], ft[3]; -private: double dx[3], nx[3], r, rsq, rinv, Reff, radsum, delta, dR; double vr[3], vn[3], vnnr, vt[3], wr[3], vtr[3], vrl[3], relrot[3], vrel; double magtwist; bool touch; + protected: + int prep_flag, check_flag; + int nmodels; }; } // namespace Contact +} // namespace LAMMPS_NS #endif diff --git a/src/GRANULAR/contact_damping_models.cpp b/src/GRANULAR/contact_damping_models.cpp index 1e233234b2..7a79c6946c 100644 --- a/src/GRANULAR/contact_damping_models.cpp +++ b/src/GRANULAR/contact_damping_models.cpp @@ -11,33 +11,22 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "damping_contact_models.h" -#include "math_const.h" +#include "contact_damping_models.h" +#include "contact_normal_models.h" #include "contact.h" - -#include #include "math_special.h" -using namespace MathConst; +using namespace LAMMPS_NS; +using namespace Contact; using namespace MathSpecial; -namespace Contact{ - - /* ---------------------------------------------------------------------- Default damping model ------------------------------------------------------------------------- */ -void DampingModel::DampingModel() -{ - num_coeffs = 0; -} - -/* ---------------------------------------------------------------------- */ - void DampingModel::coeffs_to_local() { - damp = contact.normal_model.damp; + damp = contact->normal_model->damp; } /* ---------------------------------------------------------------------- @@ -46,34 +35,34 @@ void DampingModel::coeffs_to_local() double DampingVelocity::calculate_forces() { - return -damp * contact.vnnr; + return -damp * contact->vnnr; } /* ---------------------------------------------------------------------- Mass velocity damping ------------------------------------------------------------------------- */ -double MassVelocity::calculate_forces() +double DampingMassVelocity::calculate_forces() { - return -damp * contact.meff * contact.vnnr; + return -damp * contact->meff * contact->vnnr; } /* ---------------------------------------------------------------------- Default, viscoelastic damping ------------------------------------------------------------------------- */ -double ViscoElastic::calculate_forces() +double DampingViscoelastic::calculate_forces() { - return -damp * contact.meff * contact.area * contact.vnnr; + return -damp * contact->meff * contact->area * contact->vnnr; } /* ---------------------------------------------------------------------- Tsuji damping ------------------------------------------------------------------------- */ -void Tsuji::coeffs_to_local() +void DampingTsuji::coeffs_to_local() { - double tmp = contact.normal_model.damp; + double tmp = contact->normal_model->damp; damp = 1.2728 - 4.2783 * tmp + 11.087 * square(tmp); damp += -22.348 * cube(tmp)+ 27.467 * powint(tmp, 4); damp += -18.022 * powint(tmp, 5) + 4.8218 * powint(tmp,6); @@ -81,8 +70,7 @@ void Tsuji::coeffs_to_local() /* ---------------------------------------------------------------------- */ -double Tsuji::calculate_forces() +double DampingTsuji::calculate_forces() { - return -damp_scaled * sqrt(contact.meff * contact.normal_model.knfac) * contact.vnnr; + return -damp * sqrt(contact->meff * contact->normal_model->knfac) * contact->vnnr; } - diff --git a/src/GRANULAR/contact_damping_models.h b/src/GRANULAR/contact_damping_models.h index 0fc4fd2c17..440ab36369 100644 --- a/src/GRANULAR/contact_damping_models.h +++ b/src/GRANULAR/contact_damping_models.h @@ -11,60 +11,54 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#ifndef DAMPING_CONTACT_MODELS_H_ -#define DAMPING_CONTACT_MODELS_H_ +#ifndef CONTACT_DAMPING_MODELS_H_ +#define CONTACT_DAMPING_MODELS_H_ -#include "contact.h"; -#include "sub_model.h" +#include "contact_sub_models.h" +namespace LAMMPS_NS { namespace Contact { -class DampingModel:SubModel -{ +class DampingModel : public SubModel { public: - DampingModel(); - virtual ~DampingModel() {}; - virtual double calculate_forces() = 0; + DampingModel() {}; + ~DampingModel() {}; virtual void coeffs_to_local(); - virtual void mix_coeffs(NormalModel*, NormalModel*); + virtual void mix_coeffs(DampingModel*, DampingModel*) {}; + virtual double calculate_forces() = 0; double damp; }; /* ---------------------------------------------------------------------- */ -class DampingVelocity:DampingModel -{ +class DampingVelocity: public DampingModel { public: double calculate_forces(); }; /* ---------------------------------------------------------------------- */ -class DampingMassVelocity:DampingModel -{ +class DampingMassVelocity: public DampingModel { public: double calculate_forces(); }; /* ---------------------------------------------------------------------- */ -class DampingViscoElastic:DampingModel -{ +class DampingViscoelastic: public DampingModel { public: double calculate_forces(); }; /* ---------------------------------------------------------------------- */ -class DampingTsuji:DampingModel -{ +class DampingTsuji: public DampingModel { public: - double calculate_forces(); void coeffs_to_local(); + double calculate_forces(); }; +} // namespace Contact +} // namespace LAMMPS_NS -} - -#endif /*DAMPING_CONTACT_MODELS_H_ */ - +#endif /*CONTACT_DAMPING_MODELS_H_ */ diff --git a/src/GRANULAR/contact_heat_models.cpp b/src/GRANULAR/contact_heat_models.cpp index e6bafe4b3c..29134b3e73 100644 --- a/src/GRANULAR/contact_heat_models.cpp +++ b/src/GRANULAR/contact_heat_models.cpp @@ -11,175 +11,39 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "normal_contact_models.h" -#include "math_const.h" +#include "contact_heat_models.h" #include "contact.h" -#include +using namespace LAMMPS_NS; +using namespace Contact; -using namespace MathConst; +/* ---------------------------------------------------------------------- + Area-based heat conduction +------------------------------------------------------------------------- */ -namespace Contact{ - -#define PI27SQ 266.47931882941264802866 // 27*PI**2 -#define THREEROOT3 5.19615242270663202362 // 3*sqrt(3) -#define SIXROOT6 14.69693845669906728801 // 6*sqrt(6) -#define INVROOT6 0.40824829046386307274 // 1/sqrt(6) -#define FOURTHIRDS (4.0/3.0) // 4/3 -#define ONETHIRD (1.0/3.0) // 1/3 -#define THREEQUARTERS 0.75 // 3/4 - -// ************************ -// Default behaviors where needed -// ************************ -void NormalModel::set_fncrit(){ - contact->Fncrit = fabs(contact->Fntot); +HeatArea::HeatArea() +{ + num_coeffs = 1; } -void NormalModel::mix_coeffs(NormalModel* imodel, NormalModel* jmodel){ - for (int i = 0; i < num_coeffs; i++){ - coeffs[i] = sqrt(imodel->coeffs[i]*jmodel->coeffs[i]); - } +/* ---------------------------------------------------------------------- */ + +void HeatArea::coeffs_to_local() +{ + conductivity = coeffs[0]; } -//----------------------------------------- +/* ---------------------------------------------------------------------- */ -//****************** -// Hooke -//****************** -void Hooke::Hooke(ContactModel &c){ - contact = c; - num_coeffs = 2; - allocate_coeffs(); +void HeatArea::mix_coeffs(HeatModel* imodel, HeatModel* jmodel) +{ + coeffs[0] = mix_geom(imodel->coeffs[0], jmodel->coeffs[0]); + coeffs_to_local(); } -void Hooke::coeffs_to_local(){ - k_norm = coeffs[0]; - damp = coeffs[1]; +/* ---------------------------------------------------------------------- */ + +double HeatArea::calculate_heat() +{ + return conductivity * contact->area * (contact->Ti - contact->Tj); } - -double Hooke::calculate_forces(){ - contact.area = sqrt(contact.dR); - contact.knfac = k_norm * contact.area; - return contact.knfac * contact.delta; -} - - -//****************** -// Hertz -//****************** -void Hertz::Hertz(ContactModel &c, int mat_flag){ - contact = c; - material_prop_flag = mat_flag; - if (material_prop_flag){ - num_coeffs = 3; - } - else{ - num_coeffs = 2; - } - allocate_coeffs(); -} - -void Hertz::coeffs_to_local(){ - if (material_prop_flag){ - Emod = coeffs[0]; - poiss = coeffs[1]; - k_norm = 4/3*Emod; - } - else{ - k_norm = coeffs[0]; - } -} - -double Hertz::calculate_forces(){ - contact.area = sqrt(contact.dR); - contact.knfac = contact.k_norm * contact.area; - return contact.knfac * contact.delta; -} - -//****************** -// DMT -//****************** -void DMT::DMT(ContactModel &c){ - contact = c; - material_prop_flag = 1; - num_coeffs = 4; - allocate_coeffs(); -} - -double DMT::calculate_forces(){ - contact.area = sqrt(contact.dR); - contact.knfac = contact.k_norm * contact.area; - double Fne = contact.knfac * contact.delta; - F_pulloff = 4 * MathConst::MY_PI * cohesion * contact.Reff; - Fne -= F_pulloff; - return Fne; -} - -void DMT::set_fncrit(){ - contact.Fncrit = fabs(contact.Fne + 2* F_pulloff); -} - -//****************** -// JKR -//****************** -void JKR::JKR(ContactModel &c){ - contact = c; - material_prop_flag = 1; - beyond_contact = 1; - num_coeffs = 4; - allocate_coeffs(); -} - -bool JKR::touch(int touch){ - double Escaled, R2, delta_pulloff, dist_pulloff; - bool touchflag; - - Escaled = k_norm * THREEQUARTERS; - if (touch) { - R2 = contact.Reff * contact.Reff; - a = cbrt(9.0 * MY_PI * cohesion * R2 / (4 * Escaled)); - delta_pulloff = a * a / contact.Reff - 2 * sqrt(MY_PI * cohesion * a / Escaled); - dist_pulloff = contact.radsum - delta_pulloff; - touchflag = (contact.rsq < dist_pulloff * dist_pulloff); - } else { - touchflag = (rcontact.sq < contact.radsum * contact.radsum); - } - return touchflag; -} - -double JKR::calculate_forces(){ - double Escaled, R2, dR2, t0, t1, t2, t3, t4, t5, t6; - double sqrt1, sqrt2, sqrt3, a2, F_pulloff, Fne; - - Escaled = k_norm * THREEQUARTERS; - - R2 = Reff * Reff; - dR2 = dR * dR; - t0 = cohesion * cohesion * R2 * R2 * Escaled; - t1 = PI27SQ*t0; - t2 = 8 * dR * dR2 * Escaled * Escaled * Escaled; - t3 = 4 * dR2 * Escaled; - - // in case sqrt(0) < 0 due to precision issues - sqrt1 = MAX(0, t0 * (t1 + 2 * t2)); - t4 = cbrt(t1 + t2 + THREEROOT3 * MY_PI * sqrt(sqrt1)); - t5 = t3 / t4 + t4 / Escaled; - sqrt2 = MAX(0, 2 * dR + t5); - t6 = sqrt(sqrt2); - sqrt3 = MAX(0, 4 * dR - t5 + SIXROOT6 * cohesion * MY_PI * R2 / (Escaled * t6)); - a = INVROOT6 * (t6 + sqrt(sqrt3)); - a2 = a * a; - Fne = Escaled * a * a2 / Reff - MY_2PI * a2 * sqrt(4 * cohesion * Escaled / (MY_PI * a)); - F_pulloff = 3 * MY_PI * cohesion * Reff; - - knfac = Escaled * a; - return Fne; -} - -void JKR::set_fncrit(){ - contact.Fncrit = fabs(contact.Fne + 2 * F_pulloff); -} - - - diff --git a/src/GRANULAR/contact_heat_models.h b/src/GRANULAR/contact_heat_models.h index 1a2f1ddb7d..469a53cb13 100644 --- a/src/GRANULAR/contact_heat_models.h +++ b/src/GRANULAR/contact_heat_models.h @@ -11,73 +11,36 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#ifndef NORMAL_CONTACT_MODELS_H_ -#define NORMAL_CONTACT_MODELS_H_ +#ifndef CONTACT_HEAT_MODELS_H_ +#define CONTACT_HEAT_MODELS_H_ -#include "contact.h"; -#include "sub_model.h" +#include "contact_sub_models.h" +namespace LAMMPS_NS { namespace Contact { -class NormalModel:SubModel{ -public: - NormalModel(){}; - virtual ~NormalModel(){}; - virtual bool check_contact(); - virtual void prep_contact(); - virtual void set_fncrit(); - virtual double calculate_forces() = 0; - virtual void coeffs_to_local(); - virtual void mix_coeffs(NormalModel*, NormalModel*); //When mixing is needed - -private: - int beyond_contact = 0; - int allow_limit_damping = 1; - +class HeatModel : public SubModel { + public: + HeatModel() {}; + ~HeatModel() {}; + virtual void coeffs_to_local() {}; + virtual void mix_coeffs(HeatModel*, HeatModel*) {}; + virtual double calculate_heat() = 0; }; -class Hooke:NormalModel{ -public: - Hooke(ContactModel &c); - ~Hooke(){}; +/* ---------------------------------------------------------------------- */ + +class HeatArea: public HeatModel { + public: + HeatArea(); void coeffs_to_local(); - double calculate_forces(); -private: - double k_norm, damp; + void mix_coeffs(HeatModel*, HeatModel*); + double calculate_heat(); + private: + double conductivity; }; -class Hertz:NormalModel{ -public: - Hertz(ContactModel&, int); - ~Hertz(){}; - void coeffs_to_local(); - double calculate_forces(); -private: - double k_norm, damp, Emod, poiss; -}; - -class DMT:NormalModel{ -public: - DMT(ContactModel &c); - ~DMT(){}; - void coeffs_to_local(); - void coeffs_to_local(NormalModel*, NormalModel*); - double calculate_forces(); -private: - double k_norm, damp, Emod, poiss, coh; -}; - -class JKR:NormalModel{ -public: - JKR(ContactModel &c); - ~JKR(){}; - void coeffs_to_local(); - double calculate_forces(); -private: - double k_norm, damp, Emod, poiss, coh; - -}; -} - -#endif /*NORMAL_CONTACT_MODELS_H_ */ +} // namespace Contact +} // namespace LAMMPS_NS +#endif /*CONTACT_HEAT_MODELS_H_ */ diff --git a/src/GRANULAR/contact_normal_models.cpp b/src/GRANULAR/contact_normal_models.cpp index 9b1d85d123..c11fddb1d7 100644 --- a/src/GRANULAR/contact_normal_models.cpp +++ b/src/GRANULAR/contact_normal_models.cpp @@ -12,15 +12,13 @@ ------------------------------------------------------------------------- */ #include "contact_normal_models.h" -#include "math_const.h" #include "contact.h" +#include "math_const.h" -#include - +using namespace LAMMPS_NS; +using namespace Contact; using namespace MathConst; -namespace Contact{ - #define PI27SQ 266.47931882941264802866 // 27*PI**2 #define THREEROOT3 5.19615242270663202362 // 3*sqrt(3) #define SIXROOT6 14.69693845669906728801 // 6*sqrt(6) @@ -40,23 +38,40 @@ NormalModel::NormalModel() /* ---------------------------------------------------------------------- */ -void NormalModel::set_fncrit() +bool NormalModel::touch() { - Fncrit = fabs(contact.Fntot); + bool touchflag = (contact->rsq < contact->radsum * contact->radsum); + return touchflag; +} + +/* ---------------------------------------------------------------------- + called outside of compute(), do not assume geometry defined in contact +------------------------------------------------------------------------- */ + +double NormalModel::pulloff_distance(double radi, double radj) +{ + return radi + radj; } /* ---------------------------------------------------------------------- */ -void NormalModel::pulloff_distance(double radi, double radj) +double NormalModel::calculate_area() { - return radi + radj; + return sqrt(contact->dR); +} + +/* ---------------------------------------------------------------------- */ + +void NormalModel::set_fncrit() +{ + Fncrit = fabs(contact->Fntot); } /* ---------------------------------------------------------------------- Hookean normal force ------------------------------------------------------------------------- */ -void NormalHooke::NormalHooke() +NormalHooke::NormalHooke() { num_coeffs = 2; allocate_coeffs(); @@ -66,7 +81,7 @@ void NormalHooke::NormalHooke() void NormalHooke::coeffs_to_local() { - k_norm = coeffs[0]; + k = coeffs[0]; damp = coeffs[1]; } @@ -83,17 +98,22 @@ void NormalHooke::mix_coeffs(NormalModel* imodel, NormalModel* jmodel) double NormalHooke::calculate_forces() { - contact.area = sqrt(contact.dR); - knfac = k_norm * contact.area; - Fne = knfac * contact.delta; + Fne = knfac * contact->delta; return Fne; } +/* ---------------------------------------------------------------------- */ + +void NormalHooke::set_knfac() +{ + knfac = k * contact->area; +} + /* ---------------------------------------------------------------------- Hertzian normal force ------------------------------------------------------------------------- */ -void NormalHertz::NormalHertz() +NormalHertz::NormalHertz() { num_coeffs = 2; } @@ -102,7 +122,7 @@ void NormalHertz::NormalHertz() void NormalHertz::coeffs_to_local() { - k_norm = coeffs[0]; + k = coeffs[0]; damp = coeffs[1]; } @@ -119,17 +139,23 @@ void NormalHertz::mix_coeffs(NormalModel* imodel, NormalModel* jmodel) double NormalHertz::calculate_forces() { - contact.area = sqrt(contact.dR); - knfac = contact.k_norm * contact.area; - Fne = knfac * contact.delta; + contact->area = sqrt(contact->dR); + Fne = knfac * contact->delta; return Fne; } +/* ---------------------------------------------------------------------- */ + +void NormalHertz::set_knfac() +{ + knfac = k * contact->area; +} + /* ---------------------------------------------------------------------- Hertzian normal force with material properties ------------------------------------------------------------------------- */ -void NormalHertzMaterial::NormalHertzMaterial() +NormalHertzMaterial::NormalHertzMaterial() { material_properties = 1; num_coeffs = 3; @@ -142,7 +168,7 @@ void NormalHertzMaterial::coeffs_to_local() Emod = coeffs[0]; damp = coeffs[1]; poiss = coeffs[2]; - k_norm = 4 / 3 * Emod; + k = 4 / 3 * Emod; } /* ---------------------------------------------------------------------- */ @@ -159,7 +185,7 @@ void NormalHertzMaterial::mix_coeffs(NormalModel* imodel, NormalModel* jmodel) DMT normal force ------------------------------------------------------------------------- */ -void NormalDMT::NormalDMT(ContactModel &c) +NormalDMT::NormalDMT() { allow_limit_damping = 0; material_properties = 1; @@ -174,7 +200,7 @@ void NormalDMT::coeffs_to_local() damp = coeffs[1]; poiss = coeffs[2]; cohesion = coeffs[3]; - k_norm = 4 / 3 * Emod; + k = 4 / 3 * Emod; } /* ---------------------------------------------------------------------- */ @@ -192,30 +218,35 @@ void NormalDMT::mix_coeffs(NormalModel* imodel, NormalModel* jmodel) double NormalDMT::calculate_forces() { - contact.area = sqrt(contact.dR); - knfac = k_norm * contact.area; - Fne = knfac * contact.delta; - F_pulloff = 4 * MathConst::MY_PI * cohesion * contact.Reff; + Fne = knfac * contact->delta; + F_pulloff = 4 * MathConst::MY_PI * cohesion * contact->Reff; Fne -= F_pulloff; return Fne; } /* ---------------------------------------------------------------------- */ +void NormalDMT::set_knfac() +{ + knfac = k * contact->area; +} + +/* ---------------------------------------------------------------------- */ + void NormalDMT::set_fncrit() { - Fncrit = fabs(Fne + 2* F_pulloff); + Fncrit = fabs(Fne + 2 * F_pulloff); } /* ---------------------------------------------------------------------- JKR normal force ------------------------------------------------------------------------- */ -void NormalJKR::NormalJKR(ContactModel &c) +NormalJKR::NormalJKR() { allow_limit_damping = 0; material_properties = 1; - contact.beyond_contact = beyond_contact = 1; + beyond_contact = 1; num_coeffs = 4; } @@ -227,8 +258,8 @@ void NormalJKR::coeffs_to_local() damp = coeffs[1]; poiss = coeffs[2]; cohesion = coeffs[3]; - k_norm = 4/3*Emod; - Escaled = k_norm * THREEQUARTERS; + k = 4/3*Emod; + Escaled = k * THREEQUARTERS; } /* ---------------------------------------------------------------------- */ @@ -244,70 +275,83 @@ void NormalJKR::mix_coeffs(NormalModel* imodel, NormalModel* jmodel) /* ---------------------------------------------------------------------- */ -bool NormalJKR::touch(int touch) +bool NormalJKR::touch() { - double R2, delta_pulloff, dist_pulloff; + double area_at_pulloff, R2, delta_pulloff, dist_pulloff; bool touchflag; - if (touch) { - R2 = contact.Reff * contact.Reff; - a = cbrt(9.0 * MY_PI * cohesion * R2 / (4 * Escaled)); - delta_pulloff = a * a / contact.Reff - 2 * sqrt(MY_PI * cohesion * a / Escaled); - dist_pulloff = contact.radsum - delta_pulloff; - touchflag = (contact.rsq < dist_pulloff * dist_pulloff); - } else { - touchflag = (rcontact.sq < contact.radsum * contact.radsum); - } + R2 = contact->Reff * contact->Reff; + area_at_pulloff = cbrt(9.0 * MY_PI * cohesion * R2 / (4 * Escaled)); + delta_pulloff = area_at_pulloff * area_at_pulloff / contact->Reff - 2 * sqrt(MY_PI * cohesion * area_at_pulloff /Escaled); + dist_pulloff = contact->radsum - delta_pulloff; + touchflag = (contact->rsq < dist_pulloff * dist_pulloff); + return touchflag; } +/* ---------------------------------------------------------------------- + called outside of compute(), do not assume geometry defined in contact +------------------------------------------------------------------------- */ + +double NormalJKR::pulloff_distance(double radi, double radj) +{ + double area_at_pulloff, Reff_tmp; + + Reff_tmp = radi * radj / (radi + radj); // May not be defined + if (Reff_tmp <= 0) return 0; + + area_at_pulloff = cbrt(9 * MY_PI * cohesion * Reff_tmp * Reff_tmp / (4 * Escaled)); + return area_at_pulloff * area_at_pulloff / Reff_tmp - 2 * sqrt(MY_PI * cohesion * area_at_pulloff / Escaled); +} + /* ---------------------------------------------------------------------- */ -double NormalJKR::calculate_forces() +double NormalJKR::calculate_area() { double R2, dR2, t0, t1, t2, t3, t4, t5, t6; - double sqrt1, sqrt2, sqrt3, a2; + double sqrt1, sqrt2, sqrt3; - R2 = Reff * Reff; - dR2 = dR * dR; + R2 = contact->Reff * contact->Reff; + dR2 = contact->dR * contact->dR; t0 = cohesion * cohesion * R2 * R2 * Escaled; - t1 = PI27SQ*t0; - t2 = 8 * dR * dR2 * Escaled * Escaled * Escaled; + t1 = PI27SQ * t0; + t2 = 8 * contact->dR * dR2 * Escaled * Escaled * Escaled; t3 = 4 * dR2 * Escaled; // in case sqrt(0) < 0 due to precision issues sqrt1 = MAX(0, t0 * (t1 + 2 * t2)); t4 = cbrt(t1 + t2 + THREEROOT3 * MY_PI * sqrt(sqrt1)); t5 = t3 / t4 + t4 / Escaled; - sqrt2 = MAX(0, 2 * dR + t5); + sqrt2 = MAX(0, 2 * contact->dR + t5); t6 = sqrt(sqrt2); - sqrt3 = MAX(0, 4 * dR - t5 + SIXROOT6 * cohesion * MY_PI * R2 / (Escaled * t6)); - contact.area = INVROOT6 * (t6 + sqrt(sqrt3)); - a2 = contact.area * contact.area; - Fne = Escaled * contact.area * a2 / Reff - MY_2PI * a2 * sqrt(4 * cohesion * Escaled / (MY_PI * contact.area)); - F_pulloff = 3 * MY_PI * cohesion * Reff; + sqrt3 = MAX(0, 4 * contact->dR - t5 + SIXROOT6 * cohesion * MY_PI * R2 / (Escaled * t6)); + + return INVROOT6 * (t6 + sqrt(sqrt3)); +} + +/* ---------------------------------------------------------------------- */ + +double NormalJKR::calculate_forces() +{ + double a2; + + a2 = contact->area * contact->area; + Fne = Escaled * contact->area * a2 / contact->Reff - MY_2PI * a2 * sqrt(4 * cohesion * Escaled / (MY_PI * contact->area)); + F_pulloff = 3 * MY_PI * cohesion * contact->Reff; - knfac = Escaled * contact.area; return Fne; } /* ---------------------------------------------------------------------- */ +void NormalJKR::set_knfac() +{ + knfac = Escaled * contact->area; +} + +/* ---------------------------------------------------------------------- */ + void NormalJKR::set_fncrit() { Fncrit = fabs(Fne + 2 * F_pulloff); } - -/* ---------------------------------------------------------------------- */ - -void NormalJKR::pulloff_distance(double radi, double radj) -{ - double a_tmp, Reff_tmp; - - Reff_tmp = radi * radj / (radi + radj); - if (Reff_tmp <= 0) return 0; - - a_tmp = cbrt(9 * MY_PI * cohesion * Reff_tmp * Reff_tmp / (4 * Ecaled)); - return a_tmp * a_tmp / Reff_tmp - 2 * sqrt(MY_PI * cohesion * a_tmp / Ecaled); -} - diff --git a/src/GRANULAR/contact_normal_models.h b/src/GRANULAR/contact_normal_models.h index e91d5af1c9..74e2800eaa 100644 --- a/src/GRANULAR/contact_normal_models.h +++ b/src/GRANULAR/contact_normal_models.h @@ -11,102 +11,108 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#ifndef NORMAL_CONTACT_MODELS_H_ -#define NORMAL_CONTACT_MODELS_H_ +#ifndef CONTACT_NORMAL_MODELS_H_ +#define CONTACT_NORMAL_MODELS_H_ -#include "contact.h"; -#include "sub_model.h" +#include "contact_sub_models.h" +namespace LAMMPS_NS { namespace Contact { -class NormalModel:SubModel{ +class NormalModel : public SubModel { public: NormalModel(); - virtual ~NormalModel() {}; - virtual bool check_contact(); - virtual void set_fncrit(); + ~NormalModel() {}; + virtual void coeffs_to_local() {}; + virtual void mix_coeffs(NormalModel*, NormalModel*) {}; + virtual bool touch(); + virtual double pulloff_distance(double, double); + virtual double calculate_area(); virtual double calculate_forces() = 0; - virtual void coeffs_to_local(); - virtual void mix_coeffs(NormalModel*, NormalModel*); - void pulloff_distance(double, double); + virtual void set_knfac() = 0; + virtual void set_fncrit(); double damp; // Vestigial argument needed by damping + double Emod, poiss; double Fncrit, Fne, knfac; int material_properties; }; /* ---------------------------------------------------------------------- */ -class NormalHooke:NormalModel -{ +class NormalHooke: public NormalModel { public: NormalHooke(); ~NormalHooke() {}; void coeffs_to_local(); void mix_coeffs(NormalModel*, NormalModel*); double calculate_forces(); - double Emod, poiss; + void set_knfac(); + private: + double k; }; /* ---------------------------------------------------------------------- */ -class NormalHertz:NormalModel -{ +class NormalHertz: public NormalModel { public: NormalHertz(); ~NormalHertz() {}; void coeffs_to_local(); void mix_coeffs(NormalModel*, NormalModel*); double calculate_forces(); + void set_knfac(); private: - double k_norm; + double k; }; /* ---------------------------------------------------------------------- */ -class NormalHertzMaterial:NormalHertz -{ +class NormalHertzMaterial: public NormalHertz { public: NormalHertzMaterial(); ~NormalHertzMaterial() {}; void coeffs_to_local(); void mix_coeffs(NormalModel*, NormalModel*); private: - double k_norm; + double k; }; /* ---------------------------------------------------------------------- */ -class NormalDMT:NormalModel -{ +class NormalDMT: public NormalModel { public: NormalDMT(); ~NormalDMT() {}; void coeffs_to_local(); void mix_coeffs(NormalModel*, NormalModel*); - void set_fncrit(); double calculate_forces(); + void set_knfac(); + void set_fncrit(); private: - double k_norm, cohesion; + double k, cohesion; double F_pulloff; }; /* ---------------------------------------------------------------------- */ -class NormalJKR:NormalModel -{ +class NormalJKR: public NormalModel { public: NormalJKR(); ~NormalJKR() {}; void coeffs_to_local(); void mix_coeffs(NormalModel*, NormalModel*); - void set_fncrit(); + bool touch(); + double pulloff_distance(double, double); + double calculate_area(); double calculate_forces(); - void pulloff_distance(double, double); + void set_knfac(); + void set_fncrit(); private: - double k_norm, cohesion; + double k, cohesion; double Escaled, F_pulloff; }; -} -#endif /*NORMAL_CONTACT_MODELS_H_ */ +} // namespace Contact +} // namespace LAMMPS_NS +#endif /*CONTACT_NORMAL_MODELS_H_ */ diff --git a/src/GRANULAR/contact_rolling_models.cpp b/src/GRANULAR/contact_rolling_models.cpp index 5521e10aee..0c256b0fbf 100644 --- a/src/GRANULAR/contact_rolling_models.cpp +++ b/src/GRANULAR/contact_rolling_models.cpp @@ -11,202 +11,71 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "normal_contact_models.h" +#include "contact_normal_models.h" +#include "contact_rolling_models.h" #include "math_const.h" +#include "math_extra.h" #include "contact.h" -#include - +using namespace LAMMPS_NS; +using namespace Contact; using namespace MathConst; +using namespace MathExtra; -namespace Contact{ +/* ---------------------------------------------------------------------- + SDS rolling friction model +------------------------------------------------------------------------- */ -#define PI27SQ 266.47931882941264802866 // 27*PI**2 -#define THREEROOT3 5.19615242270663202362 // 3*sqrt(3) -#define SIXROOT6 14.69693845669906728801 // 6*sqrt(6) -#define INVROOT6 0.40824829046386307274 // 1/sqrt(6) -#define FOURTHIRDS (4.0/3.0) // 4/3 -#define ONETHIRD (1.0/3.0) // 1/3 -#define THREEQUARTERS 0.75 // 3/4 - -// ************************ -// Default behaviors where needed -// ************************ -void NormalModel::set_fncrit(){ - contact->Fncrit = fabs(contact->Fntot); +RollingSDS::RollingSDS() +{ + num_coeffs = 3; + size_history = 3; } -void NormalModel::mix_coeffs(NormalModel* imodel, NormalModel* jmodel){ - for (int i = 0; i < num_coeffs; i++){ - coeffs[i] = sqrt(imodel->coeffs[i]*jmodel->coeffs[i]); - } +/* ---------------------------------------------------------------------- */ + +void RollingSDS::coeffs_to_local() +{ + k = coeffs[0]; + mu = coeffs[1]; + gamma = coeffs[2]; } -//----------------------------------------- +/* ---------------------------------------------------------------------- */ -//****************** -// Hooke -//****************** -void Hooke::Hooke(ContactModel &c){ - contact = c; - num_coeffs = 2; - allocate_coeffs(); +void RollingSDS::mix_coeffs(RollingModel* imodel, RollingModel* jmodel) +{ + coeffs[0] = mix_geom(imodel->coeffs[0], jmodel->coeffs[0]); + coeffs[1] = mix_geom(imodel->coeffs[1], jmodel->coeffs[1]); + coeffs[2] = mix_geom(imodel->coeffs[2], jmodel->coeffs[2]); + coeffs_to_local(); } -void Hooke::coeffs_to_local(){ - k_norm = coeffs[0]; - damp = coeffs[1]; -} +/* ---------------------------------------------------------------------- */ -double Hooke::calculate_forces(){ - contact.area = sqrt(contact.dR); - contact.knfac = k_norm * contact.area; - return contact.knfac * contact.delta; -} - - -//****************** -// Hertz -//****************** -void Hertz::Hertz(ContactModel &c, int mat_flag){ - contact = c; - material_prop_flag = mat_flag; - if (material_prop_flag){ - num_coeffs = 3; - } - else{ - num_coeffs = 2; - } - allocate_coeffs(); -} - -void Hertz::coeffs_to_local(){ - if (material_prop_flag){ - Emod = coeffs[0]; - poiss = coeffs[1]; - k_norm = 4/3*Emod; - } - else{ - k_norm = coeffs[0]; - } -} - -double Hertz::calculate_forces(){ - contact.area = sqrt(contact.dR); - contact.knfac = contact.k_norm * contact.area; - return contact.knfac * contact.delta; -} - -//****************** -// DMT -//****************** -void DMT::DMT(ContactModel &c){ - contact = c; - material_prop_flag = 1; - num_coeffs = 4; - allocate_coeffs(); -} - -double DMT::calculate_forces(){ - contact.area = sqrt(contact.dR); - contact.knfac = contact.k_norm * contact.area; - double Fne = contact.knfac * contact.delta; - F_pulloff = 4 * MathConst::MY_PI * cohesion * contact.Reff; - Fne -= F_pulloff; - return Fne; -} - -void DMT::set_fncrit(){ - contact.Fncrit = fabs(contact.Fne + 2* F_pulloff); -} - -//****************** -// JKR -//****************** -void JKR::JKR(ContactModel &c){ - contact = c; - material_prop_flag = 1; - beyond_contact = 1; - num_coeffs = 4; - allocate_coeffs(); -} - -bool JKR::touch(int touch){ - double Escaled, R2, delta_pulloff, dist_pulloff; - bool touchflag; - - Escaled = k_norm * THREEQUARTERS; - if (touch) { - R2 = contact.Reff * contact.Reff; - a = cbrt(9.0 * MY_PI * cohesion * R2 / (4 * Escaled)); - delta_pulloff = a * a / contact.Reff - 2 * sqrt(MY_PI * cohesion * a / Escaled); - dist_pulloff = contact.radsum - delta_pulloff; - touchflag = (contact.rsq < dist_pulloff * dist_pulloff); - } else { - touchflag = (rcontact.sq < contact.radsum * contact.radsum); - } - return touchflag; -} - -double JKR::calculate_forces(){ - double Escaled, R2, dR2, t0, t1, t2, t3, t4, t5, t6; - double sqrt1, sqrt2, sqrt3, a2, F_pulloff, Fne; - - Escaled = k_norm * THREEQUARTERS; - - R2 = Reff * Reff; - dR2 = dR * dR; - t0 = cohesion * cohesion * R2 * R2 * Escaled; - t1 = PI27SQ*t0; - t2 = 8 * dR * dR2 * Escaled * Escaled * Escaled; - t3 = 4 * dR2 * Escaled; - - // in case sqrt(0) < 0 due to precision issues - sqrt1 = MAX(0, t0 * (t1 + 2 * t2)); - t4 = cbrt(t1 + t2 + THREEROOT3 * MY_PI * sqrt(sqrt1)); - t5 = t3 / t4 + t4 / Escaled; - sqrt2 = MAX(0, 2 * dR + t5); - t6 = sqrt(sqrt2); - sqrt3 = MAX(0, 4 * dR - t5 + SIXROOT6 * cohesion * MY_PI * R2 / (Escaled * t6)); - a = INVROOT6 * (t6 + sqrt(sqrt3)); - a2 = a * a; - Fne = Escaled * a * a2 / Reff - MY_2PI * a2 * sqrt(4 * cohesion * Escaled / (MY_PI * a)); - F_pulloff = 3 * MY_PI * cohesion * Reff; - - knfac = Escaled * a; - return Fne; -} - -void JKR::set_fncrit(){ - contact.Fncrit = fabs(contact.Fne + 2 * F_pulloff); -} - - - - -void ContactModel::rolling(double *history) +double RollingSDS::calculate_forces() { int rhist0, rhist1, rhist2, frameupdate; - double rolldotn, rollmag, prjmag, magfr, hist_temp[3], temp_dbl, temp_array[3]; + double Frcrit, rolldotn, rollmag, prjmag, magfr, hist_temp[3], temp_dbl, temp_array[3]; - rhist0 = roll_history_index; + rhist0 = history_index; rhist1 = rhist0 + 1; rhist2 = rhist1 + 1; - Frcrit = mu_roll * Fncrit; + Frcrit = mu * contact->normal_model->Fncrit; - if (history_update) { - hist_temp[0] = history[rhist0]; - hist_temp[1] = history[rhist1]; - hist_temp[2] = history[rhist2]; - rolldotn = dot3(hist_temp, nx); + if (contact->history_update) { + hist_temp[0] = contact->history[rhist0]; + hist_temp[1] = contact->history[rhist1]; + hist_temp[2] = contact->history[rhist2]; + rolldotn = dot3(hist_temp, contact->nx); - frameupdate = fabs(rolldotn)*k_roll > EPSILON*Frcrit; + frameupdate = fabs(rolldotn) * k > EPSILON * Frcrit; if (frameupdate) { // rotate into tangential plane rollmag = len3(hist_temp); // projection temp_dbl = -rolldotn; - scale3(temp_dbl, nx, temp_array); + scale3(temp_dbl, contact->nx, temp_array); sub3(hist_temp, temp_array, hist_temp); // also rescale to preserve magnitude @@ -215,35 +84,36 @@ void ContactModel::rolling(double *history) else temp_dbl = 0; scale3(temp_dbl, hist_temp); } - scale3(dt, vrl, temp_array); + scale3(contact->dt, contact->vrl, temp_array); add3(hist_temp, temp_array, hist_temp); } - scaleadd3(k_roll, hist_temp, gamma_roll, vrl, fr); - negate3(fr); + scaleadd3(k, hist_temp, gamma, contact->vrl, contact->fr); + negate3(contact->fr); // rescale frictional displacements and forces if needed - magfr = len3(fr); + magfr = len3(contact->fr); if (magfr > Frcrit) { rollmag = len3(hist_temp); if (rollmag != 0.0) { - temp_dbl = -Frcrit / (magfr * k_roll); - scale3(temp_dbl, fr, temp_array); + temp_dbl = -Frcrit / (magfr * k); + scale3(temp_dbl, contact->fr, temp_array); add3(hist_temp, temp_array, hist_temp); - temp_dbl = -gamma_roll/k_roll; - scale3(temp_dbl, vrl, temp_array); + temp_dbl = -gamma/k; + scale3(temp_dbl, contact->vrl, temp_array); add3(hist_temp, temp_array, hist_temp); temp_dbl = Frcrit / magfr; - scale3(temp_dbl, fr); + scale3(temp_dbl, contact->fr); } else { - zero3(fr); + zero3(contact->fr); } } - history[rhist0] = hist_temp[0]; - history[rhist1] = hist_temp[1]; - history[rhist2] = hist_temp[2]; + contact->history[rhist0] = hist_temp[0]; + contact->history[rhist1] = hist_temp[1]; + contact->history[rhist2] = hist_temp[2]; + return 0; } diff --git a/src/GRANULAR/contact_rolling_models.h b/src/GRANULAR/contact_rolling_models.h index 1a2f1ddb7d..1cd23e1d5d 100644 --- a/src/GRANULAR/contact_rolling_models.h +++ b/src/GRANULAR/contact_rolling_models.h @@ -11,73 +11,36 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#ifndef NORMAL_CONTACT_MODELS_H_ -#define NORMAL_CONTACT_MODELS_H_ +#ifndef CONTACT_ROLLING_MODELS_H_ +#define CONTACT_ROLLING_MODELS_H_ -#include "contact.h"; -#include "sub_model.h" +#include "contact_sub_models.h" +namespace LAMMPS_NS { namespace Contact { -class NormalModel:SubModel{ -public: - NormalModel(){}; - virtual ~NormalModel(){}; - virtual bool check_contact(); - virtual void prep_contact(); - virtual void set_fncrit(); +class RollingModel : public SubModel { + public: + RollingModel() {}; + ~RollingModel() {}; + virtual void coeffs_to_local() {}; + virtual void mix_coeffs(RollingModel*, RollingModel*) {}; virtual double calculate_forces() = 0; - virtual void coeffs_to_local(); - virtual void mix_coeffs(NormalModel*, NormalModel*); //When mixing is needed - -private: - int beyond_contact = 0; - int allow_limit_damping = 1; - }; -class Hooke:NormalModel{ -public: - Hooke(ContactModel &c); - ~Hooke(){}; +/* ---------------------------------------------------------------------- */ + +class RollingSDS: public RollingModel { + public: + RollingSDS(); void coeffs_to_local(); + void mix_coeffs(RollingModel*, RollingModel*); double calculate_forces(); -private: - double k_norm, damp; + private: + double k, mu, gamma; }; -class Hertz:NormalModel{ -public: - Hertz(ContactModel&, int); - ~Hertz(){}; - void coeffs_to_local(); - double calculate_forces(); -private: - double k_norm, damp, Emod, poiss; -}; - -class DMT:NormalModel{ -public: - DMT(ContactModel &c); - ~DMT(){}; - void coeffs_to_local(); - void coeffs_to_local(NormalModel*, NormalModel*); - double calculate_forces(); -private: - double k_norm, damp, Emod, poiss, coh; -}; - -class JKR:NormalModel{ -public: - JKR(ContactModel &c); - ~JKR(){}; - void coeffs_to_local(); - double calculate_forces(); -private: - double k_norm, damp, Emod, poiss, coh; - -}; -} - -#endif /*NORMAL_CONTACT_MODELS_H_ */ +} // namespace Contact +} // namespace LAMMPS_NS +#endif /*CONTACT_ROLLING_MODELS_H_ */ diff --git a/src/GRANULAR/contact_sub_models.cpp b/src/GRANULAR/contact_sub_models.cpp index 99fcd638b4..2809204de7 100644 --- a/src/GRANULAR/contact_sub_models.cpp +++ b/src/GRANULAR/contact_sub_models.cpp @@ -16,23 +16,25 @@ Multiple models can be defined and used to calculate forces and torques based on contact geometry */ -#include "contact_sub_model.h" -#include "pointers.h" + +#include "contact_sub_models.h" #include "utils.h" -#include "error.h" -#include "comm.h" using namespace LAMMPS_NS; +using namespace Contact; -namespace Contact{ - -SubModel::SubModel() +SubModel::SubModel() : + Pointers(lmp) { allocated = 0; size_history = 0; history_index = 0; allow_limit_damping = 1; beyond_contact = 0; + num_coeffs = 0; + + nondefault_history_transfer = 0; + transfer_history_factor = nullptr; } /* ---------------------------------------------------------------------- */ @@ -40,6 +42,7 @@ SubModel::SubModel() SubModel::~SubModel() { if (allocated) delete [] coeffs; + delete [] transfer_history_factor; } /* ---------------------------------------------------------------------- */ @@ -62,39 +65,6 @@ void SubModel::parse_coeffs(char **arg, int iarg) coeffs_to_local(); } -/* ---------------------------------------------------------------------- */ - -void SubModel::write_restart(FILE *fp) -{ - fwrite(&model_name.length(),sizeof(int),1,fp); - fwrite(model_name.data(),sizeof(char),model_name.length(),fp); - fwrite(&num_coeffs,sizeof(int),1,fp); - fwrite(coeffs,sizeof(int),num_coeffs,fp); -} - -/* ---------------------------------------------------------------------- */ - -void SubModel::read_restart(FILE *fp, int num_char) -{ - if (comm->me == 0) { - utils::sfread(FLERR,&num_coeffs,sizeof(int),1,fp,nullptr,error); - } - MPI_BCast(const_cast(model_name.data()), num_char, MPI_CHAR, world); - allocate_coeffs(); -} - -/* ---------------------------------------------------------------------- */ - -void SubModel::read_restart(FILE *fp) -{ - int num_char; - if (me == 0) { - utils::sfread(FLERR,&num_char,sizeof(int),1,fp,nullptr,error); - } - MPI_BCast(&num_char, 1, MPI_INT, 0, world); - read_restart(fp, num_char); -} - /* ---------------------------------------------------------------------- mixing of Young's modulus (E) ------------------------------------------------------------------------- */ @@ -115,7 +85,7 @@ double SubModel::mix_stiffnessG(double E1, double E2, double pois1, double pois2) { double factor1 = 2 * (2 - pois1) * (1 + pois1) / E1; - double factor2 = 2 * (2 - pois2) * (1 + pois2) / E2) + double factor2 = 2 * (2 - pois2) * (1 + pois2) / E2; return 1 / (factor1 + factor2); } @@ -127,6 +97,3 @@ double SubModel::mix_geom(double val1, double val2) { return sqrt(val1 * val2); } - - -} \ No newline at end of file diff --git a/src/GRANULAR/contact_sub_models.h b/src/GRANULAR/contact_sub_models.h index f659ef1504..7eca7f4152 100644 --- a/src/GRANULAR/contact_sub_models.h +++ b/src/GRANULAR/contact_sub_models.h @@ -11,44 +11,48 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#ifndef GRANULAR_SUB_MODEL_H_ -#define GRANULAR_SUB_MODEL_H_ +#ifndef CONTACT_SUB_MODEL_H_ +#define CONTACT_SUB_MODEL_H_ #include "contact.h" +#include "pointers.h" -using namespace LAMMPS_NS; +namespace LAMMPS_NS { +namespace Contact { -namespace Contact{ - -class SubModel : Pointers{ +class SubModel : protected Pointers { + public: SubModel(); virtual ~SubModel(); -public: + int num_coeffs; double *coeffs; - virtual double calculate_forces() = 0; void read_restart(); - virtual void parse_coeffs(char **, int); - void mix_coeff(SubModel*, SubModel*); - void write_restart(FILE*); - void read_restart(FILE*); - void read_restart(FILE*, int); - virtual void coeffs_to_local(); + void parse_coeffs(char **, int); + virtual void mix_coeffs(SubModel*, SubModel*) {}; + virtual void coeffs_to_local() {}; void allocate_coeffs(); std::string name; -private: - ContactModel &contact; - int allocated; + int size_history; + int nondefault_history_transfer; + double *transfer_history_factor; + int history_index; int beyond_contact; int allow_limit_damping; + ContactModel *contact; + + protected: + int allocated; + double mix_stiffnessE(double, double, double, double); double mix_stiffnessG(double, double, double, double); double mix_geom(double, double); }; -} +} // namespace Contact +} // namespace LAMMPS_NS -#endif /* GRANULAR_SUB_MODEL_H_ */ +#endif /* CONTACT_SUB_MODEL_H_ */ diff --git a/src/GRANULAR/contact_tangential_models.cpp b/src/GRANULAR/contact_tangential_models.cpp index 9f092aaf29..45ed993eeb 100644 --- a/src/GRANULAR/contact_tangential_models.cpp +++ b/src/GRANULAR/contact_tangential_models.cpp @@ -11,15 +11,18 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "tangential_contact_models.h" -#include "math_const.h" +#include "contact_damping_models.h" +#include "contact_normal_models.h" +#include "contact_tangential_models.h" #include "contact.h" +#include "error.h" +#include "math_const.h" +#include "math_extra.h" -#include - +using namespace LAMMPS_NS; +using namespace Contact; using namespace MathConst; - -namespace Contact{ +using namespace MathExtra; /* ---------------------------------------------------------------------- Linear model with no history @@ -35,14 +38,15 @@ TangentialLinearNoHistory::TangentialLinearNoHistory() void TangentialLinearNoHistory::coeffs_to_local() { + k = 0.0; // No tangential stiffness with no history xt = coeffs[0]; mu = coeffs[1]; - damp = xt * contact.damping_model.damp; + damp = xt * contact->damping_model->damp; } /* ---------------------------------------------------------------------- */ -void TangentialLinearNoHistory::mix_coeffs(NormalModel* imodel, NormalModel* jmodel) +void TangentialLinearNoHistory::mix_coeffs(TangentialModel* imodel, TangentialModel* jmodel) { coeffs[0] = mix_geom(imodel->coeffs[0], jmodel->coeffs[0]); coeffs[1] = mix_geom(imodel->coeffs[1], jmodel->coeffs[1]); @@ -56,13 +60,13 @@ void TangentialLinearNoHistory::calculate_forces() double Fscrit, fsmag, Ft; // classic pair gran/hooke (no history) - Fscrit = mu * contact.normal_model.Fncrit - fsmag = damp * contact.vrel; - if (contact.vrel != 0.0) Ft = MIN(Fscrit, fsmag) / contact.vrel; + Fscrit = mu * contact->normal_model->Fncrit; + fsmag = damp * contact->vrel; + if (contact->vrel != 0.0) Ft = MIN(Fscrit, fsmag) / contact->vrel; else Ft = 0.0; Ft = -Ft; - scale3(Ft, contact.vtr, contact.fs); + scale3(Ft, contact->vtr, contact->fs); } /* ---------------------------------------------------------------------- @@ -79,15 +83,15 @@ TangentialLinearHistory::TangentialLinearHistory() void TangentialLinearHistory::coeffs_to_local() { - kt = coeffs[0]; + k = coeffs[0]; xt = coeffs[1]; mu = coeffs[2]; - damp = xt * contact.damping_model.damp; + damp = xt * contact->damping_model->damp; } /* ---------------------------------------------------------------------- */ -void TangentialLinearHistory::mix_coeffs(NormalModel* imodel, NormalModel* jmodel) +void TangentialLinearHistory::mix_coeffs(TangentialModel* imodel, TangentialModel* jmodel) { coeffs[0] = mix_geom(imodel->coeffs[0], jmodel->coeffs[0]); coeffs[1] = mix_geom(imodel->coeffs[1], jmodel->coeffs[1]); @@ -102,20 +106,20 @@ void TangentialLinearHistory::calculate_forces() double Fscrit, magfs, rsht, shrmag, prjmag, temp_dbl, temp_array[3]; int frame_update = 0; - Fscrit = contact.normal_model.Fncrit * mu; + Fscrit = contact->normal_model->Fncrit * mu; - double *history = & contact.history[history_index]; + double *history = & contact->history[history_index]; // rotate and update displacements / force. // see e.g. eq. 17 of Luding, Gran. Matter 2008, v10,p235 - if (contact.history_update) { - rsht = dot3(history, contact.nx); - frame_update = fabs(rsht) * kt > EPSILON * Fscrit; + if (contact->history_update) { + rsht = dot3(history, contact->nx); + frame_update = fabs(rsht) * k > EPSILON * Fscrit; if (frame_update) { shrmag = len3(history); // projection - scale3(rsht, contact.nx, history); + scale3(rsht, contact->nx, history); // also rescale to preserve magnitude prjmag = len3(history); if (prjmag > 0) temp_dbl = shrmag / prjmag; @@ -126,28 +130,28 @@ void TangentialLinearHistory::calculate_forces() // update history // tangential force // see e.g. eq. 18 of Thornton et al, Pow. Tech. 2013, v223,p30-46 - temp_dbl = kt * contact.dt; - scale3(temp_dbl, contact.vtr, temp_array); + temp_dbl = k * contact->dt; + scale3(temp_dbl, contact->vtr, temp_array); sub3(history, temp_array, history); } // tangential forces = history + tangential velocity damping temp_dbl = -damp; - scale3(temp_dbl, contact.vtr, contact.fs); + scale3(temp_dbl, contact->vtr, contact->fs); // rescale frictional displacements and forces if needed - magfs = len3(contact.fs); + magfs = len3(contact->fs); if (magfs > Fscrit) { shrmag = len3(history); if (shrmag != 0.0) { temp_dbl = Fscrit / magfs; - scale3(temp_dbl, contact.fs, history); - scale3(damp, contact.vtr, temp_array); + scale3(temp_dbl, contact->fs, history); + scale3(damp, contact->vtr, temp_array); add3(history, temp_array, history); temp_dbl = Fscrit / magfs; - scale3(temp_dbl, contact.fs); + scale3(temp_dbl, contact->fs); } else { - zero3(contact.fs); + zero3(contact->fs); } } } @@ -168,20 +172,22 @@ TangentialMindlin::TangentialMindlin() void TangentialMindlin::coeffs_to_local() { - kt = coeffs[0]; + k = coeffs[0]; xt = coeffs[1]; mu = coeffs[2]; - if (ke == -1) - kt = 8.0 * mix_stiffness(contact.normal_model.Emod, contact.normal_model.Emod, - contact.normal_model.poiss, contact.normal_model.poiss); + if (k == -1) { + if (!contact->normal_model->material_properties) + error->all(FLERR, "Must either specify tangential stiffness or material properties for normal model for the Mindlin tangential style"); + k = 8.0 * mix_stiffnessE(contact->normal_model->Emod, contact->normal_model->Emod, contact->normal_model->poiss, contact->normal_model->poiss); + } - damp = xt * contact.damping_model.damp; + damp = xt * contact->damping_model->damp; } /* ---------------------------------------------------------------------- */ -void TangentialMindlin::mix_coeffs(NormalModel* imodel, NormalModel* jmodel) +void TangentialMindlin::mix_coeffs(TangentialModel* imodel, TangentialModel* jmodel) { if (imodel->coeffs[0] == -1 || imodel->coeffs[0] == -1) coeffs[0] = -1; else coeffs[0] = mix_geom(imodel->coeffs[0], jmodel->coeffs[0]); @@ -198,22 +204,22 @@ void TangentialMindlin::calculate_forces() double temp_array[3]; int frame_update = 0; - double *history = & contact.history[history_index]; - Fscrit = contact.normal_model.Fncrit * mu; + double *history = & contact->history[history_index]; + Fscrit = contact->normal_model->Fncrit * mu; - k_scaled = k_tang * contact.area; + k_scaled = k * contact->area; if (mindlin_rescale) { // on unloading, rescale the shear displacements/force - if (contact.area < history[3]) { - temp_dbl = contact.area / history[3]; + if (contact->area < history[3]) { + temp_dbl = contact->area / history[3]; scale3(temp_dbl, history); } } // rotate and update displacements / force. // see e.g. eq. 17 of Luding, Gran. Matter 2008, v10,p235 - if (contact.history_update) { - rsht = dot3(history, contact.nx); + if (contact->history_update) { + rsht = dot3(history, contact->nx); if (mindlin_force) frame_update = fabs(rsht) > EPSILON * Fscrit; else @@ -222,7 +228,7 @@ void TangentialMindlin::calculate_forces() if (frame_update) { shrmag = len3(history); // projection - scale3(rsht, contact.nx, history); + scale3(rsht, contact->nx, history); // also rescale to preserve magnitude prjmag = len3(history); if (prjmag > 0) temp_dbl = shrmag / prjmag; @@ -234,42 +240,42 @@ void TangentialMindlin::calculate_forces() if (mindlin_force) { // tangential force // see e.g. eq. 18 of Thornton et al, Pow. Tech. 2013, v223,p30-46 - temp_dbl = -k_scaled * contact.dt; - scale3(temp_dbl, contact.vtr, temp_array); + temp_dbl = -k_scaled * contact->dt; + scale3(temp_dbl, contact->vtr, temp_array); } else { - scale3(contact.dt, contact.vtr, temp_array); + scale3(contact->dt, contact->vtr, temp_array); } add3(history, temp_array, history); - if (mindlin_rescale) history[3] = contact.area; + if (mindlin_rescale) history[3] = contact->area; } // tangential forces = history + tangential velocity damping temp_dbl = -damp; - scale3(temp_dbl, contact.vtr, contact.fs); + scale3(temp_dbl, contact->vtr, contact->fs); if (! mindlin_force) { scale3(k_scaled, history, temp_array); - add3(contact.fs, temp_array, contact.fs); + add3(contact->fs, temp_array, contact->fs); } // rescale frictional displacements and forces if needed - magfs = len3(contact.fs); + magfs = len3(contact->fs); if (magfs > Fscrit) { shrmag = len3(history); if (shrmag != 0.0) { temp_dbl = Fscrit / magfs; - scale3(temp_dbl, contact.fs, history); - scale3(damp, contact.vtr, temp_array); + scale3(temp_dbl, contact->fs, history); + scale3(damp, contact->vtr, temp_array); add3(history, temp_array, history); if (! mindlin_force) { temp_dbl = -1.0 / k_scaled; scale3(temp_dbl, history); } temp_dbl = Fscrit / magfs; - scale3(temp_dbl, contact.fs); + scale3(temp_dbl, contact->fs); } else { - zero3(contact.fs); + zero3(contact->fs); } } } @@ -278,7 +284,7 @@ void TangentialMindlin::calculate_forces() Mindlin force model ------------------------------------------------------------------------- */ -void TangentialMindlinForce::TangentialMindlinForce() +TangentialMindlinForce::TangentialMindlinForce() { num_coeffs = 3; size_history = 3; @@ -290,22 +296,32 @@ void TangentialMindlinForce::TangentialMindlinForce() Mindlin rescale model ------------------------------------------------------------------------- */ -void TangentialMindlinRescale::TangentialMindlinForce() +TangentialMindlinRescale::TangentialMindlinRescale() { num_coeffs = 3; size_history = 4; mindlin_force = 0; mindlin_rescale = 1; + + nondefault_history_transfer = 1; + transfer_history_factor = new double(size_history); + for (int i = 0; i < size_history; i++) transfer_history_factor[i] = -1.0; + transfer_history_factor[3] = +1; } /* ---------------------------------------------------------------------- Mindlin rescale force model ------------------------------------------------------------------------- */ -void TangentialMindlinRescaleForce::TangentialMindlinForce() +TangentialMindlinRescaleForce::TangentialMindlinRescaleForce() { num_coeffs = 3; size_history = 4; mindlin_force = 1; mindlin_rescale = 1; + + nondefault_history_transfer = 1; + transfer_history_factor = new double(size_history); + for (int i = 0; i < size_history; i++) transfer_history_factor[i] = -1.0; + transfer_history_factor[3] = +1; } diff --git a/src/GRANULAR/contact_tangential_models.h b/src/GRANULAR/contact_tangential_models.h index c0a5a727f0..f5d83a57f7 100644 --- a/src/GRANULAR/contact_tangential_models.h +++ b/src/GRANULAR/contact_tangential_models.h @@ -11,92 +11,84 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#ifndef TANGENTIAL_CONTACT_MODELS_H_ -#define TANGENTIAL_CONTACT_MODELS_H_ +#ifndef CONTACT_TANGENTIAL_MODELS_H_ +#define CONTACT_TANGENTIAL_MODELS_H_ -#include "contact.h"; -#include "sub_model.h" +#include "contact_sub_models.h" +namespace LAMMPS_NS { namespace Contact { -class TangentialModel:SubModel -{ -public: +class TangentialModel : public SubModel { + public: TangentialModel() {}; virtual ~TangentialModel() {}; - virtual double calculate_forces() = 0; - virtual void coeffs_to_local(); - virtual void mix_coeffs(TangentialModel*, TangentialModel*); + virtual void coeffs_to_local() {}; + virtual void mix_coeffs(TangentialModel*, TangentialModel*) {}; + virtual void calculate_forces() = 0; int rescale_flag; -private: - int beyond_contact; - int allow_limit_damping; + double k, damp, mu; // Used by Marshall twisting model }; /* ---------------------------------------------------------------------- */ -class TangentialLinearNoHistory:TangentialModel -{ -public: - TangentialLinearNoHistory() - virtual void coeffs_to_local(); - virtual void mix_coeffs(TangentialModel*, TangentialModel*); - double calculate_forces(); -private: - double xt, damp, mu; +class TangentialLinearNoHistory: public TangentialModel { + public: + TangentialLinearNoHistory(); + void coeffs_to_local(); + void mix_coeffs(TangentialModel*, TangentialModel*); + void calculate_forces(); + private: + double xt; }; /* ---------------------------------------------------------------------- */ -class TangentialLinearHistory:TangentialModel -{ -public: - TangentialLinearHistory() - virtual void coeffs_to_local(); - virtual void mix_coeffs(TangentialModel*, TangentialModel*); - double calculate_forces(); -private: - double kt, xt, damp, mu; +class TangentialLinearHistory: public TangentialModel { + public: + TangentialLinearHistory(); + void coeffs_to_local(); + void mix_coeffs(TangentialModel*, TangentialModel*); + void calculate_forces(); + private: + double xt; }; /* ---------------------------------------------------------------------- */ -class TangentialMindlin:TangentialModel -{ -public: +class TangentialMindlin: public TangentialModel { + public: TangentialMindlin(); void coeffs_to_local(); - void coeffs_to_local(TangentialModel*, TangentialModel*); - double calculate_forces(); -private: - double k_norm, damp, Emod, poiss, coh; + void mix_coeffs(TangentialModel*, TangentialModel*); + void calculate_forces(); + protected: int mindlin_rescale, mindlin_force; + double xt; }; /* ---------------------------------------------------------------------- */ -class TangentialMindlinForce:TangentialMindlin -{ -public: +class TangentialMindlinForce: public TangentialMindlin { + public: TangentialMindlinForce(); }; /* ---------------------------------------------------------------------- */ -class TangentialMindlinRescale:TangentialMindlin -{ -public: +class TangentialMindlinRescale: public TangentialMindlin { + public: TangentialMindlinRescale(); }; /* ---------------------------------------------------------------------- */ -class TangentialMindlinRescaleForce:TangentialMindlinRescale -{ -public: - TangentialMindlinForceRescale(); +class TangentialMindlinRescaleForce: public TangentialMindlin { + public: + TangentialMindlinRescaleForce(); }; -} -#endif /*TANGENTIAL_CONTACT_MODELS_H_ */ +} // namespace Contact +} // namespace LAMMPS_NS +#endif /*CONTACT_TANGENTIAL_MODELS_H_ */ diff --git a/src/GRANULAR/contact_twisting_models.cpp b/src/GRANULAR/contact_twisting_models.cpp index 0e9e9115ac..04d89a5b88 100644 --- a/src/GRANULAR/contact_twisting_models.cpp +++ b/src/GRANULAR/contact_twisting_models.cpp @@ -11,206 +11,99 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "normal_contact_models.h" -#include "math_const.h" +#include "contact_normal_models.h" +#include "contact_tangential_models.h" +#include "contact_twisting_models.h" #include "contact.h" +#include "math_const.h" -#include - +using namespace LAMMPS_NS; +using namespace Contact; using namespace MathConst; -namespace Contact{ +/* ---------------------------------------------------------------------- + Marshall twisting model +------------------------------------------------------------------------- */ -#define PI27SQ 266.47931882941264802866 // 27*PI**2 -#define THREEROOT3 5.19615242270663202362 // 3*sqrt(3) -#define SIXROOT6 14.69693845669906728801 // 6*sqrt(6) -#define INVROOT6 0.40824829046386307274 // 1/sqrt(6) -#define FOURTHIRDS (4.0/3.0) // 4/3 -#define ONETHIRD (1.0/3.0) // 1/3 -#define THREEQUARTERS 0.75 // 3/4 - -// ************************ -// Default behaviors where needed -// ************************ -void NormalModel::set_fncrit(){ - contact->Fncrit = fabs(contact->Fntot); -} - -void NormalModel::mix_coeffs(NormalModel* imodel, NormalModel* jmodel){ - for (int i = 0; i < num_coeffs; i++){ - coeffs[i] = sqrt(imodel->coeffs[i]*jmodel->coeffs[i]); - } -} - -//----------------------------------------- - -//****************** -// Hooke -//****************** -void Hooke::Hooke(ContactModel &c){ - contact = c; - num_coeffs = 2; - allocate_coeffs(); -} - -void Hooke::coeffs_to_local(){ - k_norm = coeffs[0]; - damp = coeffs[1]; -} - -double Hooke::calculate_forces(){ - contact.area = sqrt(contact.dR); - contact.knfac = k_norm * contact.area; - return contact.knfac * contact.delta; -} - - -//****************** -// Hertz -//****************** -void Hertz::Hertz(ContactModel &c, int mat_flag){ - contact = c; - material_prop_flag = mat_flag; - if (material_prop_flag){ - num_coeffs = 3; - } - else{ - num_coeffs = 2; - } - allocate_coeffs(); -} - -void Hertz::coeffs_to_local(){ - if (material_prop_flag){ - Emod = coeffs[0]; - poiss = coeffs[1]; - k_norm = 4/3*Emod; - } - else{ - k_norm = coeffs[0]; - } -} - -double Hertz::calculate_forces(){ - contact.area = sqrt(contact.dR); - contact.knfac = contact.k_norm * contact.area; - return contact.knfac * contact.delta; -} - -//****************** -// DMT -//****************** -void DMT::DMT(ContactModel &c){ - contact = c; - material_prop_flag = 1; - num_coeffs = 4; - allocate_coeffs(); -} - -double DMT::calculate_forces(){ - contact.area = sqrt(contact.dR); - contact.knfac = contact.k_norm * contact.area; - double Fne = contact.knfac * contact.delta; - F_pulloff = 4 * MathConst::MY_PI * cohesion * contact.Reff; - Fne -= F_pulloff; - return Fne; -} - -void DMT::set_fncrit(){ - contact.Fncrit = fabs(contact.Fne + 2* F_pulloff); -} - -//****************** -// JKR -//****************** -void JKR::JKR(ContactModel &c){ - contact = c; - material_prop_flag = 1; - beyond_contact = 1; - num_coeffs = 4; - allocate_coeffs(); -} - -bool JKR::touch(int touch){ - double Escaled, R2, delta_pulloff, dist_pulloff; - bool touchflag; - - Escaled = k_norm * THREEQUARTERS; - if (touch) { - R2 = contact.Reff * contact.Reff; - a = cbrt(9.0 * MY_PI * cohesion * R2 / (4 * Escaled)); - delta_pulloff = a * a / contact.Reff - 2 * sqrt(MY_PI * cohesion * a / Escaled); - dist_pulloff = contact.radsum - delta_pulloff; - touchflag = (contact.rsq < dist_pulloff * dist_pulloff); - } else { - touchflag = (rcontact.sq < contact.radsum * contact.radsum); - } - return touchflag; -} - -double JKR::calculate_forces(){ - double Escaled, R2, dR2, t0, t1, t2, t3, t4, t5, t6; - double sqrt1, sqrt2, sqrt3, a2, F_pulloff, Fne; - - Escaled = k_norm * THREEQUARTERS; - - R2 = Reff * Reff; - dR2 = dR * dR; - t0 = cohesion * cohesion * R2 * R2 * Escaled; - t1 = PI27SQ*t0; - t2 = 8 * dR * dR2 * Escaled * Escaled * Escaled; - t3 = 4 * dR2 * Escaled; - - // in case sqrt(0) < 0 due to precision issues - sqrt1 = MAX(0, t0 * (t1 + 2 * t2)); - t4 = cbrt(t1 + t2 + THREEROOT3 * MY_PI * sqrt(sqrt1)); - t5 = t3 / t4 + t4 / Escaled; - sqrt2 = MAX(0, 2 * dR + t5); - t6 = sqrt(sqrt2); - sqrt3 = MAX(0, 4 * dR - t5 + SIXROOT6 * cohesion * MY_PI * R2 / (Escaled * t6)); - a = INVROOT6 * (t6 + sqrt(sqrt3)); - a2 = a * a; - Fne = Escaled * a * a2 / Reff - MY_2PI * a2 * sqrt(4 * cohesion * Escaled / (MY_PI * a)); - F_pulloff = 3 * MY_PI * cohesion * Reff; - - knfac = Escaled * a; - return Fne; -} - -void JKR::set_fncrit(){ - contact.Fncrit = fabs(contact.Fne + 2 * F_pulloff); -} - - - - -/* ---------------------------------------------------------------------- */ - -void ContactModel::twisting_marshall(double *history) +TwistingMarshall::TwistingMarshall() { - // Overwrite twist coefficients with derived values - k_twist = 0.5 * k_tang * a * a; // eq 32 of Marshall paper - gamma_twist = 0.5 * gamma_tang * a * a; - mu_twist = TWOTHIRDS * a * mu_tang; - - twisting_SDS(history); + num_coeffs = 0; + size_history = 3; } /* ---------------------------------------------------------------------- */ -void ContactModel::twisting_SDS(double *history) +double TwistingMarshall::calculate_forces() { double signtwist, Mtcrit; - if (history_update) { - history[twist_history_index] += magtwist * dt; + // Calculate twist coefficients from tangential model & contact geometry + // eq 32 of Marshall paper + double k = 0.5 * contact->tangential_model->k * contact->area * contact->area; + double damp = 0.5 * contact->tangential_model->damp * contact->area * contact->area; + double mu = TWOTHIRDS * contact->area * contact->tangential_model->mu; + + if (contact->history_update) { + contact->history[history_index] += contact->magtwist * contact->dt; } - magtortwist = -k_twist * history[twist_history_index] - gamma_twist*magtwist; // M_t torque (eq 30) - signtwist = (magtwist > 0) - (magtwist < 0); - Mtcrit = mu_twist * Fncrit; // critical torque (eq 44) - if (fabs(magtortwist) > Mtcrit) { - history[twist_history_index] = (Mtcrit * signtwist - gamma_twist * magtwist) / k_twist; - magtortwist = -Mtcrit * signtwist; // eq 34 + // M_t torque (eq 30) + contact->magtortwist = -k * contact->history[history_index] - damp * contact->magtwist; + signtwist = (contact->magtwist > 0) - (contact->magtwist < 0); + Mtcrit = mu * contact->normal_model->Fncrit; // critical torque (eq 44) + + if (fabs(contact->magtortwist) > Mtcrit) { + contact->history[history_index] = (Mtcrit * signtwist - damp * contact->magtwist) / k; + contact->magtortwist = -Mtcrit * signtwist; // eq 34 + } +} + +/* ---------------------------------------------------------------------- + SDS twisting model +------------------------------------------------------------------------- */ + +TwistingSDS::TwistingSDS() +{ + num_coeffs = 3; + size_history = 3; +} + +/* ---------------------------------------------------------------------- */ + +void TwistingSDS::coeffs_to_local() +{ + k = coeffs[0]; + mu = coeffs[1]; + damp = coeffs[2]; +} + +/* ---------------------------------------------------------------------- */ + +void TwistingSDS::mix_coeffs(TwistingModel* imodel, TwistingModel* jmodel) +{ + coeffs[0] = mix_geom(imodel->coeffs[0], jmodel->coeffs[0]); + coeffs[1] = mix_geom(imodel->coeffs[1], jmodel->coeffs[1]); + coeffs[2] = mix_geom(imodel->coeffs[2], jmodel->coeffs[2]); + coeffs_to_local(); +} + +/* ---------------------------------------------------------------------- */ + +double TwistingSDS::calculate_forces() +{ + double signtwist, Mtcrit; + + if (contact->history_update) { + contact->history[history_index] += contact->magtwist * contact->dt; + } + + // M_t torque (eq 30) + contact->magtortwist = -k * contact->history[history_index] - damp * contact->magtwist; + signtwist = (contact->magtwist > 0) - (contact->magtwist < 0); + Mtcrit = mu * contact->normal_model->Fncrit; // critical torque (eq 44) + + if (fabs(contact->magtortwist) > Mtcrit) { + contact->history[history_index] = (Mtcrit * signtwist - damp * contact->magtwist) / k; + contact->magtortwist = -Mtcrit * signtwist; // eq 34 } } diff --git a/src/GRANULAR/contact_twisting_models.h b/src/GRANULAR/contact_twisting_models.h index 1a2f1ddb7d..e689c8ed35 100644 --- a/src/GRANULAR/contact_twisting_models.h +++ b/src/GRANULAR/contact_twisting_models.h @@ -11,73 +11,44 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#ifndef NORMAL_CONTACT_MODELS_H_ -#define NORMAL_CONTACT_MODELS_H_ +#ifndef CONTACT_TWISTING_MODELS_H_ +#define CONTACT_TWISTING_MODELS_H_ -#include "contact.h"; -#include "sub_model.h" +#include "contact_sub_models.h" +namespace LAMMPS_NS { namespace Contact { -class NormalModel:SubModel{ -public: - NormalModel(){}; - virtual ~NormalModel(){}; - virtual bool check_contact(); - virtual void prep_contact(); - virtual void set_fncrit(); +class TwistingModel : public SubModel { + public: + TwistingModel() {}; + virtual ~TwistingModel() {}; + virtual void coeffs_to_local() {}; + virtual void mix_coeffs(TwistingModel*, TwistingModel*) {}; virtual double calculate_forces() = 0; - virtual void coeffs_to_local(); - virtual void mix_coeffs(NormalModel*, NormalModel*); //When mixing is needed - -private: - int beyond_contact = 0; - int allow_limit_damping = 1; - }; -class Hooke:NormalModel{ -public: - Hooke(ContactModel &c); - ~Hooke(){}; - void coeffs_to_local(); +/* ---------------------------------------------------------------------- */ + +class TwistingMarshall: public TwistingModel { + public: + TwistingMarshall(); double calculate_forces(); -private: - double k_norm, damp; }; -class Hertz:NormalModel{ -public: - Hertz(ContactModel&, int); - ~Hertz(){}; +/* ---------------------------------------------------------------------- */ + +class TwistingSDS: public TwistingModel { + public: + TwistingSDS(); void coeffs_to_local(); + void mix_coeffs(TwistingModel*, TwistingModel*); double calculate_forces(); -private: - double k_norm, damp, Emod, poiss; + private: + double k, mu, damp; }; -class DMT:NormalModel{ -public: - DMT(ContactModel &c); - ~DMT(){}; - void coeffs_to_local(); - void coeffs_to_local(NormalModel*, NormalModel*); - double calculate_forces(); -private: - double k_norm, damp, Emod, poiss, coh; -}; - -class JKR:NormalModel{ -public: - JKR(ContactModel &c); - ~JKR(){}; - void coeffs_to_local(); - double calculate_forces(); -private: - double k_norm, damp, Emod, poiss, coh; - -}; -} - -#endif /*NORMAL_CONTACT_MODELS_H_ */ +} // namespace Contact +} // namespace LAMMPS_NS +#endif /*CONTACT_TWISTING_MODELS_H_ */ diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index 5816850ef2..e401f8cb84 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -23,14 +23,19 @@ #include "atom.h" #include "comm.h" #include "contact.h" +#include "contact_sub_models.h" +#include "contact_normal_models.h" +#include "contact_tangential_models.h" +#include "contact_damping_models.h" +#include "contact_rolling_models.h" +#include "contact_twisting_models.h" +#include "contact_heat_models.h" #include "error.h" #include "fix.h" #include "fix_dummy.h" #include "fix_neigh_history.h" #include "force.h" -#include "math_const.h" #include "math_extra.h" -#include "math_special.h" #include "memory.h" #include "modify.h" #include "neigh_list.h" @@ -38,14 +43,12 @@ #include "neighbor.h" #include "update.h" -#include #include #include using namespace LAMMPS_NS; -using namespace MathConst; -using namespace MathSpecial; using namespace Contact; +using namespace MathExtra; /* ---------------------------------------------------------------------- */ @@ -69,8 +72,6 @@ PairGranular::PairGranular(LAMMPS *lmp) : Pair(lmp) maxrad_dynamic = nullptr; maxrad_frozen = nullptr; - history_transfer_factors = nullptr; - dt = update->dt; // set comm size needed by this Pair if used with fix rigid @@ -97,7 +98,6 @@ PairGranular::PairGranular(LAMMPS *lmp) : Pair(lmp) PairGranular::~PairGranular() { delete[] svector; - delete[] history_transfer_factors; if (!fix_history) modify->delete_fix("NEIGH_HISTORY_GRANULAR_DUMMY"); else modify->delete_fix("NEIGH_HISTORY_GRANULAR"); @@ -121,7 +121,7 @@ void PairGranular::compute(int eflag, int vflag) { int i,j,ii,jj,inum,jnum,itype,jtype; double factor_lj,mi,mj,meff,delx,dely,delz; - double forces[3], torquesi[3], torquesj[3]; + double *forces, *torquesi, *torquesj; int *ilist,*jlist,*numneigh,**firstneigh; int *touch,**firsttouch; @@ -259,17 +259,17 @@ void PairGranular::compute(int eflag, int vflag) torquesj = models[itype][jtype]->torquesj; // apply forces & torques - MathExtra::scale3(factor_lj, forces); - MathExtra::add3(f[i], forces, f[i]); + scale3(factor_lj, forces); + add3(f[i], forces, f[i]); - MathExtra::scale3(factor_lj, torquesi); - MathExtra::add3(torque[i], torquesi, torque[i]); + scale3(factor_lj, torquesi); + add3(torque[i], torquesi, torque[i]); if (heat_flag) heatflux[i] += dq; if (force->newton_pair || j < nlocal) { - MathExtra::sub3(f[j], forces, f[j]); - MathExtra::scale3(factor_lj, torquesj); - MathExtra::add3(torque[j], torquesj, torque[j]); + sub3(f[j], forces, f[j]); + scale3(factor_lj, torquesj); + add3(torque[j], torquesj, torque[j]); if (heat_flag) heatflux[j] -= dq; } @@ -301,8 +301,7 @@ void PairGranular::allocate() memory->create(cutsq,n+1,n+1,"pair:cutsq"); memory->create(cutoff_type,n+1,n+1,"pair:cutoff_type"); - - models = (ContactModel **) memory->srealloc(fix, n+1,n+1, "pair:contact_models"); + memory->create(models,n+1,n+1,"pair:contact_models"); onerad_dynamic = new double[n+1]; onerad_frozen = new double[n+1]; @@ -349,26 +348,26 @@ void PairGranular::coeff(int narg, char **arg) //Parse mandatory normal and tangential specifications int iarg = 2; - vec_models.back().init(arg[iarg], Contact::NORMAL); - ncoeff = vec_models.back().normal_model.num_coeffs + vec_models.back().init_model(std::string(arg[iarg]), NORMAL); + ncoeff = vec_models.back().normal_model->num_coeffs; iarg += 1; if (iarg + ncoeff >= narg) error->all(FLERR,"Illegal pair_coeff command" "Insufficient arguments provided for normal model."); - vec_models.back().normal_model.parse_coeffs(arg, iarg); + vec_models.back().normal_model->parse_coeffs(arg, iarg); iarg += ncoeff; if (strcmp(arg[iarg], "tangential") == 0) { if (iarg + 1 >= narg) error->all(FLERR,"Illegal pair_coeff command, must specify " "tangential model after tangential keyword"); - vec_models.back().init(arg[iarg], Contact::TANGENTIAL); - ncoeff = vec_models.back().tangential_model.num_coeffs; + vec_models.back().init_model(std::string(arg[iarg]), TANGENTIAL); + ncoeff = vec_models.back().tangential_model->num_coeffs; iarg += 1; if (iarg + ncoeff >= narg) error->all(FLERR, "Illegal pair_coeff command" "Insufficient arguments provided for tangential model."); - vec_models.back().tangential_model.parse_coeffs(arg, iarg); + vec_models.back().tangential_model->parse_coeffs(arg, iarg); iarg += ncoeff; } else{ error->all(FLERR, "Illegal pair_coeff command, 'tangential' keyword expected"); @@ -379,49 +378,49 @@ void PairGranular::coeff(int narg, char **arg) if (strcmp(arg[iarg], "damping") == 0) { if (iarg + 1 >= narg) error->all(FLERR, "Illegal pair_coeff command, not enough parameters"); - vec_models.back().init(arg[iarg], Contact::DAMPING); - ncoeff = vec_models.back().damping_model.num_coeffs; + vec_models.back().init_model(std::string(arg[iarg]), DAMPING); + ncoeff = vec_models.back().damping_model->num_coeffs; iarg += 1; if (iarg + ncoeff >= narg) error->all(FLERR, "Illegal pair_coeff command" "Insufficient arguments provided for damping model."); - vec_models.back().damping_model.parse_coeffs(arg, iarg); + vec_models.back().damping_model->parse_coeffs(arg, iarg); iarg += ncoeff; } else if (strcmp(arg[iarg], "rolling") == 0) { if (iarg + 1 >= narg) error->all(FLERR, "Illegal pair_coeff command, not enough parameters"); - vec_models.back().init(arg[iarg], Contact::ROLLING); - ncoeff = vec_models.back().rolling_model.num_coeffs; + vec_models.back().init_model(std::string(arg[iarg]), ROLLING); + ncoeff = vec_models.back().rolling_model->num_coeffs; iarg += 1; if (iarg + ncoeff >= narg) error->all(FLERR, "Illegal pair_coeff command" "Insufficient arguments provided for rolling model."); - vec_models.back().rolling_model.parse_coeffs(arg, iarg); + vec_models.back().rolling_model->parse_coeffs(arg, iarg); iarg += ncoeff; } else if (strcmp(arg[iarg], "twisting") == 0) { if (iarg + 1 >= narg) error->all(FLERR, "Illegal pair_coeff command, not enough parameters"); - vec_models.back().init(arg[iarg], Contact::TWISTING); - ncoeff = vec_models.back().twisting_model.num_coeffs; + vec_models.back().init_model(std::string(arg[iarg]), TWISTING); + ncoeff = vec_models.back().twisting_model->num_coeffs; iarg += 1; if (iarg + ncoeff >= narg) error->all(FLERR, "Illegal pair_coeff command" "Insufficient arguments provided for twisting model."); - vec_models.back().twisting_model.parse_coeffs(arg, iarg); + vec_models.back().twisting_model->parse_coeffs(arg, iarg); iarg += ncoeff; } else if (strcmp(arg[iarg], "heat") == 0) { if (iarg + 1 >= narg) error->all(FLERR, "Illegal pair_coeff command, not enough parameters"); - vec_models.back().init(arg[iarg], Contact::HEAT); - ncoeff = vec_models.back().heat_model.num_coeffs; + vec_models.back().init_model(std::string(arg[iarg]), HEAT); + ncoeff = vec_models.back().heat_model->num_coeffs; iarg += 1; if (iarg + ncoeff >= narg) error->all(FLERR, "Illegal pair_coeff command" "Insufficient arguments provided for heat model."); - vec_models.back().heat_model.parse_coeffs(arg, iarg); + vec_models.back().heat_model->parse_coeffs(arg, iarg); iarg += ncoeff; heat_flag = 1; @@ -440,8 +439,8 @@ void PairGranular::coeff(int narg, char **arg) // Define default damping model if unspecified, takes no args if (!vec_models.back().damping_model) { - vec_models.back().init("viscoelastic", Contact::DAMPING); - vec_models.back().damping_model.parse_coeffs(arg, 0); + vec_models.back().init_model("viscoelastic", DAMPING); + vec_models.back().damping_model->parse_coeffs(arg, 0); } if (vec_models.back().limit_damping && !vec_models.back().normal_model->allow_limit_damping) @@ -475,38 +474,41 @@ void PairGranular::init_style() if (comm->ghost_velocity == 0) error->all(FLERR,"Pair granular requires ghost atoms store velocity"); - // allocate history + // allocate history and initialize models int size_normal_history = 0; + int size_damping_history = 0; int size_tangential_history = 0; int size_rolling_history = 0; int size_twisting_history = 0; for (int i = 1; i <= atom->ntypes; i++) { for (int j = i; j <= atom->ntypes; j++) { - if (models[i][j]->normal_model.history_flag || - models[i][j]->tangential_model.history_flag || - models[i][j]->rolling_model.history_flag || - models[i][j]->twisting_model.history_flag) use_history = 1; - - if (models[i][j]->nondefault_history_transfer) // ??? + if (models[i][j]->normal_model->size_history != 0 || + models[i][j]->damping_model->size_history != 0 || + models[i][j]->tangential_model->size_history != 0 || + models[i][j]->rolling_model->size_history != 0 || + models[i][j]->twisting_model->size_history != 0) use_history = 1; if (models[i][j]->normal_model->size_history > size_normal_history) - size_normal_history = models[i][j]->normal_model.size_history; + size_normal_history = models[i][j]->damping_model->size_history; + if (models[i][j]->damping_model->size_history > size_damping_history) + size_damping_history = models[i][j]->normal_model->size_history; if (models[i][j]->tangential_model->size_history > size_tangential_history) - size_tangential_history = models[i][j]->tangential_model.size_history; + size_tangential_history = models[i][j]->tangential_model->size_history; if (models[i][j]->rolling_model->size_history > size_rolling_history) - size_rolling_history = models[i][j]->rolling_model.size_history; + size_rolling_history = models[i][j]->rolling_model->size_history; if (models[i][j]->twisting_model->size_history > size_twisting_history) - size_twisting_history = models[i][j]->twisting_model.size_history; + size_twisting_history = models[i][j]->twisting_model->size_history; } } - size_history = size_normal_history + size_tangential_history + - size_rolling_history + size_twisting_history; + size_history = size_normal_history + size_damping_history + + size_tangential_history + size_rolling_history + size_twisting_history; - tangential_history_index = size_normal_history; - roll_history_index = size_normal_history + size_tangential_history; - twist_history_index = size_normal_history + size_tangential_history + size_rolling_history; + damping_history_index = size_normal_history; + tangential_history_index = size_normal_history + damping_history_index; + roll_history_index = size_normal_history + damping_history_index + size_tangential_history; + twist_history_index = size_normal_history + damping_history_index + size_tangential_history + size_rolling_history; if (use_history) neighbor->add_request(this, NeighConst::REQ_SIZE|NeighConst::REQ_HISTORY); else neighbor->add_request(this, NeighConst::REQ_SIZE); @@ -601,11 +603,11 @@ double PairGranular::init_one(int i, int j) double cutoff = 0.0; if (setflag[i][j] == 0) { - if ((models[i][i]->normal_model.name != models[j][j]->normal_model.name) || - (models[i][i]->damping_model.name != models[j][j]->damping_model.name) || - (models[i][i]->tangential_model.name != models[j][j]->tangential_model.name) || - (models[i][i]->rolling_model.name != models[j][j]->rolling_model.name) || - (models[i][i]->twisting_model.name != models[j][j]->twisting_model.name)) { + if ((models[i][i]->normal_model->name != models[j][j]->normal_model->name) || + (models[i][i]->damping_model->name != models[j][j]->damping_model->name) || + (models[i][i]->tangential_model->name != models[j][j]->tangential_model->name) || + (models[i][i]->rolling_model->name != models[j][j]->rolling_model->name) || + (models[i][i]->twisting_model->name != models[j][j]->twisting_model->name)) { error->all(FLERR,"Granular pair style functional forms are different, " "cannot mix coefficients for types {} and {}. \n" "This combination must be set explicitly via a " @@ -614,12 +616,12 @@ double PairGranular::init_one(int i, int j) vec_models.push_back(ContactModel()); models[i][j] = models[j][i] = & vec_models.back(); - vec_models.back().init(models[i][i]->normal_model.name, Contact::NORMAL); - vec_models.back().init(models[i][i]->tangential_model.name, Contact::TANGENTIAL); - vec_models.back().init(models[i][i]->damping_model.name, Contact::DAMPING); - vec_models.back().init(models[i][i]->rolling_model.name, Contact::ROLLING); - vec_models.back().init(models[i][i]->twisting_model.name, Contact::TWISTING); - vec_models.back().init(models[i][i]->heat_model.name, Contact::HEAT); + vec_models.back().init_model(models[i][i]->normal_model->name, NORMAL); + vec_models.back().init_model(models[i][i]->tangential_model->name, TANGENTIAL); + vec_models.back().init_model(models[i][i]->damping_model->name, DAMPING); + vec_models.back().init_model(models[i][i]->rolling_model->name, ROLLING); + vec_models.back().init_model(models[i][i]->twisting_model->name, TWISTING); + vec_models.back().init_model(models[i][i]->heat_model->name, HEAT); vec_models.back().mix_coeffs(models[i][i], models[j][j]); } @@ -675,10 +677,16 @@ double PairGranular::init_one(int i, int j) // Copy global options models[i][j]->dt = models[j][i]->dt = dt; - models[i][j]->normal_model.history_index = models[j][i]->normal_model.history_index = normal_history_index; - models[i][j]->tangential_model.history_index = models[j][i]->tangential_model.history_index = tangential_history_index; - models[i][j]->rolling_model.history_index = models[j][i]->rolling_model.history_index = rolling_history_index; - models[i][j]->twisting_model.history_index = models[j][i]->twisting_model.history_index = twisting_history_index; + models[i][j]->normal_model->history_index = models[j][i]->normal_model->history_index = normal_history_index; + models[i][j]->tangential_model->history_index = models[j][i]->tangential_model->history_index = tangential_history_index; + models[i][j]->rolling_model->history_index = models[j][i]->rolling_model->history_index = roll_history_index; + models[i][j]->twisting_model->history_index = models[j][i]->twisting_model->history_index = twist_history_index; + + models[i][j]->size_history = models[j][i]->size_history = size_history; + models[i][j]->init(); // Calculates cumulative properties of sub models + models[j][i]->init(); + + if (models[i][j]->nondefault_history_transfer) nondefault_history_transfer = 1; return cutoff; } @@ -718,7 +726,7 @@ void PairGranular::read_restart(FILE *fp) if (setflag[i][j]) { vec_models.push_back(ContactModel()); models[i][j] = & vec_models.back(); - models[i][j]->read_restart(); + models[i][j]->read_restart(fp); } } } @@ -729,6 +737,12 @@ void PairGranular::read_restart(FILE *fp) void PairGranular::reset_dt() { dt = update->dt; + + for (int i = 1; i <= atom->ntypes; i++) { + for (int j = i; j <= atom->ntypes; j++) { + models[i][j]->dt = dt; + } + } } /* ---------------------------------------------------------------------- */ @@ -819,7 +833,7 @@ double PairGranular::single(int i, int j, int itype, int jtype, history = &allhistory[size_history*neighprev]; } - double forces[3], torquesi[3], torquesj[3]; + double *forces, *torquesi, *torquesj; models[itype][jtype]->calculate_forces(); forces = models[itype][jtype]->forces; torquesi = models[itype][jtype]->torquesi; @@ -893,11 +907,16 @@ double PairGranular::memory_usage() only needed if any history entries i-j are not just negative of j-i entries ------------------------------------------------------------------------- */ -void PairGranular::transfer_history(double* source, double* target, int source_type, int target_type) +void PairGranular::transfer_history(double* source, double* target, int itype, int jtype) { - models[itype][jtype]->transfer_history(); - for (int i = 0; i < size_history; i++){ - target[i] = history_transfer_factors[i]*source[i]; + if (models[itype][jtype]->nondefault_history_transfer) { + for (int i = 0; i < size_history; i++) { + target[i] = models[itype][jtype]->transfer_history_factor[i] * source [i]; + } + } else { + for (int i = 0; i < size_history; i++) { + target[i] = -source[i]; + } } } diff --git a/src/GRANULAR/pair_granular.h b/src/GRANULAR/pair_granular.h index e018f9fe7c..1032cf6b7c 100644 --- a/src/GRANULAR/pair_granular.h +++ b/src/GRANULAR/pair_granular.h @@ -22,7 +22,7 @@ PairStyle(granular,PairGranular); #include "contact.h" #include "pair.h" -#include "vector.h" +#include namespace LAMMPS_NS { @@ -65,11 +65,10 @@ class PairGranular : public Pair { int nmax; // allocated size of mass_rigid void allocate(); - void transfer_history(double *, double *) override; + void transfer_history(double *, double *, int, int) override; private: int size_history; - int *history_transfer_factors; int heat_flag; // contact models @@ -81,6 +80,7 @@ class PairGranular : public Pair { // indices of history entries int normal_history_index; + int damping_history_index; int tangential_history_index; int roll_history_index; int twist_history_index; diff --git a/src/contact.h b/src/contact.h index 167f88e9de..96758771b4 100644 --- a/src/contact.h +++ b/src/contact.h @@ -14,78 +14,89 @@ #ifndef LMP_CONTACT_H #define LMP_CONTACT_H +#include "pointers.h" // IWYU pragma: export + +namespace LAMMPS_NS { namespace Contact { - enum {HOOKE, HERTZ, HERTZ_MATERIAL, DMT, JKR}; - enum {VELOCITY, MASS_VELOCITY, VISCOELASTIC, TSUJI}; - enum {TANGENTIAL_NOHISTORY, TANGENTIAL_HISTORY, - TANGENTIAL_MINDLIN, TANGENTIAL_MINDLIN_RESCALE, - TANGENTIAL_MINDLIN_FORCE, TANGENTIAL_MINDLIN_RESCALE_FORCE}; - enum {TWIST_NONE, TWIST_SDS, TWIST_MARSHALL}; - enum {ROLL_NONE, ROLL_SDS}; +enum ModelType { + NORMAL = 0, + DAMPING = 1, + TANGENTIAL = 2, + ROLLING = 3, + TWISTING = 4, + HEAT = 5 +}; - #define PI27SQ 266.47931882941264802866 // 27*PI**2 - #define THREEROOT3 5.19615242270663202362 // 3*sqrt(3) - #define SIXROOT6 14.69693845669906728801 // 6*sqrt(6) - #define INVROOT6 0.40824829046386307274 // 1/sqrt(6) - #define FOURTHIRDS (4.0/3.0) // 4/3 - #define ONETHIRD (1.0/3.0) // 1/3 - #define THREEQUARTERS 0.75 // 3/4 +#define EPSILON 1e-10 - #define EPSILON 1e-10 +// forward declaration +class NormalModel; +class DampingModel; +class TangentialModel; +class RollingModel; +class TwistingModel; +class HeatModel; +class SubModel; - class ContactModel { - public: - ContactModel(); - void reset_contact(); - bool check_contact(); - void prep_contact(); - void calculate_forces(double *, double *, double *, double *); - double calculate_heat(); - double pulloff_distance(double, double); +class ContactModel : protected Pointers { + public: + ContactModel(); + ~ContactModel(); + void init(); + bool check_contact(); + void reset_contact(); + void prep_contact(); + void calculate_forces(); + double calculate_heat(); + double pulloff_distance(double, double); - int normal_model, damping_model, tangential_model; - int roll_model, twist_model; - int limit_damping; - double cutoff_type; - double Emod, poisson; // variables used in defining mixed interactions - double k_norm, gamma_norm, cohesion; // normal_coeffs - double k_tang, gamma_tang, mu_tang; // tangential_coeffs - wutang? - double k_roll, gamma_roll, mu_roll; // roll_coeffs - double k_twist, gamma_twist, mu_twist; // twist_coeffs - double conductivity; + void init_model(std::string, ModelType); - double radi, radj, meff, dt, Ti, Tj; - double *xi, *xj, *vi, *vj, *omegai, *omegaj; - int history_update, roll_history_index, twist_history_index; + void mix_coeffs(ContactModel*, ContactModel*); - double fs[3], fr[3], ft[3], magtortwist; + void write_restart(FILE *); + void read_restart(FILE *); - private: - double a, knfac, Fntot, Fncrit, Fscrit, Frcrit, damp_normal_prefactor; - double dx[3], nx[3], r, rsq, rinv, Reff, radsum, delta, dR; - double vr[3], vn[3], vnnr, vt[3], wr[3], vtr[3], vrl[3], relrot[3], vrel; - double magtwist; - bool touch; + // Sub models + NormalModel *normal_model; + DampingModel *damping_model; + TangentialModel *tangential_model; + RollingModel *rolling_model; + TwistingModel *twisting_model; + HeatModel *heat_model; + SubModel *sub_models[6]; // Need to resize if we add more model flavors - int prep_flag, check_flag; - int mindlin_rescale, mindlin_force; + // Extra options + int beyond_contact, limit_damping, history_update; + double cutoff_type; - bool touch_JKR(int); - double normal_JKR(); - double normal_DMT(); - double normal_Hertz(); - double normal_Hooke(); - double normal_damping(); - void tangential_no_history(); - void tangential_history(double *); - void tangential_mindlin(double *); - void rolling(double *); - void twisting_marshall(double *); - void twisting_SDS(double *); + // History variables + int size_history, nondefault_history_transfer; + double *transfer_history_factor; + double *history; - }; + // Contact properties/output + double *forces, *torquesi, *torquesj; + + double radi, radj, meff, dt, Ti, Tj, area; + double Fntot, magtortwist; + + double *xi, *xj, *vi, *vj, *omegai, *omegaj; + double fs[3], fr[3], ft[3]; + + double dx[3], nx[3], r, rsq, rinv, Reff, radsum, delta, dR; + double vr[3], vn[3], vnnr, vt[3], wr[3], vtr[3], vrl[3], relrot[3], vrel; + double magtwist; + bool touch; + + protected: + + int prep_flag, check_flag; + int nmodels; +}; } // namespace Contact +} // namespace LAMMPS_NS #endif diff --git a/src/fix_neigh_history.cpp b/src/fix_neigh_history.cpp index 37d1b37946..975d93ff83 100644 --- a/src/fix_neigh_history.cpp +++ b/src/fix_neigh_history.cpp @@ -337,6 +337,7 @@ void FixNeighHistory::pre_exchange_newton() int *ilist,*jlist,*numneigh,**firstneigh; int *allflags; double *allvalues,*onevalues,*jvalues; + int *type = atom->type; // NOTE: all operations until very end are with // nlocal_neigh <= current nlocal and nall_neigh @@ -430,7 +431,7 @@ void FixNeighHistory::pre_exchange_newton() partner[j][m] = tag[i]; jvalues = &valuepartner[j][dnum*m]; if (pair->nondefault_history_transfer) - pair->transfer_history(onevalues,jvalues); + pair->transfer_history(onevalues,jvalues,type[i],type[j]); else for (n = 0; n < dnum; n++) jvalues[n] = -onevalues[n]; } } @@ -469,6 +470,7 @@ void FixNeighHistory::pre_exchange_no_newton() int *ilist,*jlist,*numneigh,**firstneigh; int *allflags; double *allvalues,*onevalues,*jvalues; + int *type = atom->type; // NOTE: all operations until very end are with nlocal_neigh <= current nlocal // because previous neigh list was built with nlocal_neigh @@ -544,7 +546,7 @@ void FixNeighHistory::pre_exchange_no_newton() partner[j][m] = tag[i]; jvalues = &valuepartner[j][dnum*m]; if (pair->nondefault_history_transfer) - pair->transfer_history(onevalues, jvalues); + pair->transfer_history(onevalues, jvalues,type[i],type[j]); else for (n = 0; n < dnum; n++) jvalues[n] = -onevalues[n]; } } diff --git a/src/pair.h b/src/pair.h index 4763a225d2..9e72f03d23 100644 --- a/src/pair.h +++ b/src/pair.h @@ -211,7 +211,7 @@ class Pair : protected Pointers { virtual void min_xf_pointers(int, double **, double **) {} virtual void min_xf_get(int) {} virtual void min_x_set(int) {} - virtual void transfer_history(double *, double *) {} + virtual void transfer_history(double *, double *, int, int) {} virtual double atom2cut(int) { return 0.0; } virtual double radii2cut(double, double) { return 0.0; } From df22b91ac35ebe4d7faf0cacb6009fc1b47583cd Mon Sep 17 00:00:00 2001 From: jtclemm Date: Mon, 8 Aug 2022 08:01:48 -0600 Subject: [PATCH 015/448] Updating coeff parsing, first pass on fix wall/gran, misc fixes --- src/GRANULAR/contact.cpp | 114 +- src/GRANULAR/contact.h | 6 +- src/GRANULAR/contact_heat_models.cpp | 3 + src/GRANULAR/contact_normal_models.cpp | 11 + src/GRANULAR/contact_rolling_models.cpp | 6 +- src/GRANULAR/contact_sub_models.cpp | 8 +- src/GRANULAR/contact_sub_models.h | 2 +- src/GRANULAR/contact_tangential_models.cpp | 9 + src/GRANULAR/contact_twisting_models.cpp | 4 + src/GRANULAR/fix_wall_gran.cpp | 1357 +++----------------- src/GRANULAR/fix_wall_gran.h | 38 +- src/GRANULAR/fix_wall_gran_region.cpp | 167 +-- src/GRANULAR/pair_granular.cpp | 103 +- src/GRANULAR/pair_granular.h | 3 - src/contact.h | 6 +- 15 files changed, 477 insertions(+), 1360 deletions(-) diff --git a/src/GRANULAR/contact.cpp b/src/GRANULAR/contact.cpp index 4358f6df1c..7ce3d8c739 100644 --- a/src/GRANULAR/contact.cpp +++ b/src/GRANULAR/contact.cpp @@ -30,6 +30,7 @@ #include "contact_heat_models.h" #include "comm.h" #include "error.h" +#include "force.h" #include @@ -44,6 +45,7 @@ ContactModel::ContactModel() : beyond_contact = 0; nondefault_history_transfer = 0; cutoff_type = 0.0; + wall_flag = 0; nmodels = 5; reset_contact(); @@ -107,6 +109,8 @@ void ContactModel::init_model(std::string model_name, ModelType model_type) else if (model_name =="area") heat_model = new HeatArea(); else error->all(FLERR, "Heat model name not recognized"); sub_models[model_type] = heat_model; + } else { + error->all(FLERR, "Illegal model type"); } sub_models[model_type]->name.assign(model_name); @@ -116,14 +120,82 @@ void ContactModel::init_model(std::string model_name, ModelType model_type) /* ---------------------------------------------------------------------- */ +int ContactModel::init_classic_model(char **arg, int iarg, int narg) +{ + double kn, kt, gamman, gammat, xmu; + + if (iarg + 6 >= narg) + error->all(FLERR,"Insufficient arguments provided for classic gran model command"); + + kn = utils::numeric(FLERR,arg[iarg + 1],false,lmp); + if (strcmp(arg[iarg + 2],"NULL") == 0) kt = kn * 2.0 / 7.0; + else kt = utils::numeric(FLERR,arg[iarg + 2],false,lmp); + + gamman = utils::numeric(FLERR,arg[iarg + 3],false,lmp); + if (strcmp(arg[iarg + 4],"NULL") == 0) gammat = 0.5 * gamman; + else gammat = utils::numeric(FLERR,arg[iarg + 4],false,lmp); + + xmu = utils::numeric(FLERR,arg[iarg + 5],false,lmp); + int dampflag = utils::inumeric(FLERR,arg[iarg + 6],false,lmp); + if (dampflag == 0) gammat = 0.0; + + if (kn < 0.0 || kt < 0.0 || gamman < 0.0 || gammat < 0.0 || + xmu < 0.0 || xmu > 10000.0 || dampflag < 0 || dampflag > 1) + error->all(FLERR,"Illegal classic gran model command"); + + if (strcmp(arg[iarg],"hooke") == 0) { + init_model("hooke", NORMAL); + init_model("linear_nohistory", TANGENTIAL); + } else if (strcmp(arg[iarg],"hooke/history") == 0) { + init_model("hooke", NORMAL); + init_model("linear_history", TANGENTIAL); + } else if (strcmp(arg[iarg],"hertz/history") == 0) { + // convert Kn and Kt from pressure units to force/distance^2 if Hertzian + kn /= force->nktv2p; + kt /= force->nktv2p; + init_model("hertz", NORMAL); + init_model("mindlin", TANGENTIAL); // Dan is this right? + } else error->all(FLERR,"Invalid classic gran model"); + init_model("mass_velocity", DAMPING); + + // ensure additional models are undefined + rolling_model = nullptr; + twisting_model = nullptr; + heat_model = nullptr; + + // manually parse coeffs + normal_model->coeffs[0] = kn; + normal_model->coeffs[1] = gamman; + tangential_model->coeffs[0] = kt; + tangential_model->coeffs[1] = gammat; + tangential_model->coeffs[2] = xmu; + + normal_model->coeffs_to_local(); + tangential_model->coeffs_to_local(); + damping_model->coeffs_to_local(); + + iarg += 7; + return iarg ; +} + +/* ---------------------------------------------------------------------- */ + void ContactModel::init() { + if (!normal_model) error->all(FLERR, "Must specify normal contact model"); + if (!damping_model) error->all(FLERR, "Must specify damping contact model"); + if (!tangential_model) error->all(FLERR, "Must specify tangential contact model"); + int i, j, size_cumulative; + size_history = 0; for (i = 0; i < nmodels; i++) { - if (sub_models[i]->nondefault_history_transfer) - nondefault_history_transfer = 1; - if (sub_models[i]->beyond_contact) - beyond_contact = 1; + if (sub_models[i]) { + if (sub_models[i]->nondefault_history_transfer) + nondefault_history_transfer = 1; + if (sub_models[i]->beyond_contact) + beyond_contact = 1; + size_history += sub_models[i]->size_history; + } } transfer_history_factor = new double(size_history); @@ -134,13 +206,17 @@ void ContactModel::init() // Find which model controls this history value size_cumulative = 0; for (j = 0; j < nmodels; j++) { - if (size_cumulative + sub_models[j]->size_history > i) break; - size_cumulative += sub_models[j]->size_history; + if (sub_models[j]) { + if (size_cumulative + sub_models[j]->size_history > i) break; + size_cumulative += sub_models[j]->size_history; + } } // Check if model has nondefault transfers, if so copy its array - if (sub_models[j]->nondefault_history_transfer) { - transfer_history_factor[i] = sub_models[j]->transfer_history_factor[i - size_cumulative]; + if (j != nmodels) { + if (sub_models[j]->nondefault_history_transfer) { + transfer_history_factor[i] = sub_models[j]->transfer_history_factor[i - size_cumulative]; + } } } } @@ -151,7 +227,8 @@ void ContactModel::init() void ContactModel::mix_coeffs(ContactModel *c1, ContactModel *c2) { for (int i = 0; i < nmodels; i++) - sub_models[i]->mix_coeffs(c1->sub_models[i], c2->sub_models[i]); + if (sub_models[i]) + sub_models[i]->mix_coeffs(c1->sub_models[i], c2->sub_models[i]); limit_damping = MAX(c1->limit_damping, c2->limit_damping); cutoff_type = MAX(c1->cutoff_type, c2->cutoff_type); @@ -218,10 +295,6 @@ void ContactModel::read_restart(FILE *fp) void ContactModel::reset_contact() { - radi = radj = Fntot = magtortwist = 0.0; - xi = xj = vi = vj = omegai = omegaj = nullptr; - forces = torquesi = torquesj = history = nullptr; - prep_flag = check_flag = 0; touch = false; } @@ -232,10 +305,17 @@ bool ContactModel::check_contact() { check_flag = 1; - sub3(xi, xj, dx); - rsq = lensq3(dx); - radsum = radi + radj; - Reff = radi * radj / radsum; + if (wall_flag) { + rsq = lensq3(dx); + radsum = radi; + if (rwall == 0) Reff = radi; + else Reff = radi * rwall/(radi + rwall); + } else { + sub3(xi, xj, dx); + rsq = lensq3(dx); + radsum = radi + radj; + Reff = radi * radj / radsum; + } touch = normal_model->touch(); return touch; diff --git a/src/GRANULAR/contact.h b/src/GRANULAR/contact.h index 96758771b4..bd04fe9ce1 100644 --- a/src/GRANULAR/contact.h +++ b/src/GRANULAR/contact.h @@ -52,7 +52,7 @@ class ContactModel : protected Pointers { double pulloff_distance(double, double); void init_model(std::string, ModelType); - + int init_classic_model(char **, int, int); void mix_coeffs(ContactModel*, ContactModel*); void write_restart(FILE *); @@ -68,7 +68,7 @@ class ContactModel : protected Pointers { SubModel *sub_models[6]; // Need to resize if we add more model flavors // Extra options - int beyond_contact, limit_damping, history_update; + int beyond_contact, limit_damping, history_update, wall_flag; double cutoff_type; // History variables @@ -79,7 +79,7 @@ class ContactModel : protected Pointers { // Contact properties/output double *forces, *torquesi, *torquesj; - double radi, radj, meff, dt, Ti, Tj, area; + double radi, radj, rwall, meff, dt, Ti, Tj, area; double Fntot, magtortwist; double *xi, *xj, *vi, *vj, *omegai, *omegaj; diff --git a/src/GRANULAR/contact_heat_models.cpp b/src/GRANULAR/contact_heat_models.cpp index 29134b3e73..3793f774c2 100644 --- a/src/GRANULAR/contact_heat_models.cpp +++ b/src/GRANULAR/contact_heat_models.cpp @@ -13,6 +13,7 @@ #include "contact_heat_models.h" #include "contact.h" +#include "error.h" using namespace LAMMPS_NS; using namespace Contact; @@ -31,6 +32,8 @@ HeatArea::HeatArea() void HeatArea::coeffs_to_local() { conductivity = coeffs[0]; + + if (conductivity < 0.0) error->all(FLERR, "Illegal area heat model"); } /* ---------------------------------------------------------------------- */ diff --git a/src/GRANULAR/contact_normal_models.cpp b/src/GRANULAR/contact_normal_models.cpp index c11fddb1d7..6a6db39189 100644 --- a/src/GRANULAR/contact_normal_models.cpp +++ b/src/GRANULAR/contact_normal_models.cpp @@ -13,6 +13,7 @@ #include "contact_normal_models.h" #include "contact.h" +#include "error.h" #include "math_const.h" using namespace LAMMPS_NS; @@ -83,6 +84,8 @@ void NormalHooke::coeffs_to_local() { k = coeffs[0]; damp = coeffs[1]; + + if (k < 0.0 || damp < 0.0) error->all(FLERR, "Illegal Hooke normal model"); } /* ---------------------------------------------------------------------- */ @@ -124,6 +127,8 @@ void NormalHertz::coeffs_to_local() { k = coeffs[0]; damp = coeffs[1]; + + if (k < 0.0 || damp < 0.0) error->all(FLERR, "Illegal Hertz normal model"); } /* ---------------------------------------------------------------------- */ @@ -169,6 +174,8 @@ void NormalHertzMaterial::coeffs_to_local() damp = coeffs[1]; poiss = coeffs[2]; k = 4 / 3 * Emod; + + if (Emod < 0.0 || damp < 0.0) error->all(FLERR, "Illegal Hertz material normal model"); } /* ---------------------------------------------------------------------- */ @@ -201,6 +208,8 @@ void NormalDMT::coeffs_to_local() poiss = coeffs[2]; cohesion = coeffs[3]; k = 4 / 3 * Emod; + + if (Emod < 0.0 || damp < 0.0) error->all(FLERR, "Illegal DMT normal model"); } /* ---------------------------------------------------------------------- */ @@ -260,6 +269,8 @@ void NormalJKR::coeffs_to_local() cohesion = coeffs[3]; k = 4/3*Emod; Escaled = k * THREEQUARTERS; + + if (Emod < 0.0 || damp < 0.0) error->all(FLERR, "Illegal JKR normal model"); } /* ---------------------------------------------------------------------- */ diff --git a/src/GRANULAR/contact_rolling_models.cpp b/src/GRANULAR/contact_rolling_models.cpp index 0c256b0fbf..8074b14141 100644 --- a/src/GRANULAR/contact_rolling_models.cpp +++ b/src/GRANULAR/contact_rolling_models.cpp @@ -13,9 +13,10 @@ #include "contact_normal_models.h" #include "contact_rolling_models.h" +#include "contact.h" +#include "error.h" #include "math_const.h" #include "math_extra.h" -#include "contact.h" using namespace LAMMPS_NS; using namespace Contact; @@ -39,6 +40,9 @@ void RollingSDS::coeffs_to_local() k = coeffs[0]; mu = coeffs[1]; gamma = coeffs[2]; + + if (k < 0.0 || mu < 0.0 || gamma < 0.0) + error->all(FLERR, "Illegal SDS rolling model"); } /* ---------------------------------------------------------------------- */ diff --git a/src/GRANULAR/contact_sub_models.cpp b/src/GRANULAR/contact_sub_models.cpp index 2809204de7..a0bf99301d 100644 --- a/src/GRANULAR/contact_sub_models.cpp +++ b/src/GRANULAR/contact_sub_models.cpp @@ -18,6 +18,7 @@ */ #include "contact_sub_models.h" +#include "error.h" #include "utils.h" using namespace LAMMPS_NS; @@ -55,14 +56,19 @@ void SubModel::allocate_coeffs() /* ---------------------------------------------------------------------- */ -void SubModel::parse_coeffs(char **arg, int iarg) +int SubModel::parse_coeffs(char **arg, int iarg, int narg) { + if (iarg + num_coeffs >= narg) + error->all(FLERR, "Insufficient arguments provided for {} model", name); + for (int i = 0; i < num_coeffs; i++) { // A few parameters (eg.g kt for tangential mindlin) allow null if (strcmp(arg[iarg+i+1], "NULL") == 0) coeffs[i] = -1; else coeffs[i] = utils::numeric(FLERR,arg[iarg+i+1],false,lmp); } coeffs_to_local(); + + return iarg + num_coeffs; } /* ---------------------------------------------------------------------- diff --git a/src/GRANULAR/contact_sub_models.h b/src/GRANULAR/contact_sub_models.h index 7eca7f4152..95da8d5cbf 100644 --- a/src/GRANULAR/contact_sub_models.h +++ b/src/GRANULAR/contact_sub_models.h @@ -28,7 +28,7 @@ class SubModel : protected Pointers { int num_coeffs; double *coeffs; void read_restart(); - void parse_coeffs(char **, int); + int parse_coeffs(char **, int, int); virtual void mix_coeffs(SubModel*, SubModel*) {}; virtual void coeffs_to_local() {}; void allocate_coeffs(); diff --git a/src/GRANULAR/contact_tangential_models.cpp b/src/GRANULAR/contact_tangential_models.cpp index 45ed993eeb..4f25e96071 100644 --- a/src/GRANULAR/contact_tangential_models.cpp +++ b/src/GRANULAR/contact_tangential_models.cpp @@ -42,6 +42,9 @@ void TangentialLinearNoHistory::coeffs_to_local() xt = coeffs[0]; mu = coeffs[1]; damp = xt * contact->damping_model->damp; + + if (k < 0.0 || xt < 0.0 || mu < 0.0) + error->all(FLERR, "Illegal linear no history tangential model"); } /* ---------------------------------------------------------------------- */ @@ -87,6 +90,9 @@ void TangentialLinearHistory::coeffs_to_local() xt = coeffs[1]; mu = coeffs[2]; damp = xt * contact->damping_model->damp; + + if (k < 0.0 || xt < 0.0 || mu < 0.0) + error->all(FLERR, "Illegal linear tangential model"); } /* ---------------------------------------------------------------------- */ @@ -182,6 +188,9 @@ void TangentialMindlin::coeffs_to_local() k = 8.0 * mix_stiffnessE(contact->normal_model->Emod, contact->normal_model->Emod, contact->normal_model->poiss, contact->normal_model->poiss); } + if (k < 0.0 || xt < 0.0 || mu < 0.0) + error->all(FLERR, "Illegal Mindlin tangential model"); + damp = xt * contact->damping_model->damp; } diff --git a/src/GRANULAR/contact_twisting_models.cpp b/src/GRANULAR/contact_twisting_models.cpp index 04d89a5b88..75a2414c21 100644 --- a/src/GRANULAR/contact_twisting_models.cpp +++ b/src/GRANULAR/contact_twisting_models.cpp @@ -15,6 +15,7 @@ #include "contact_tangential_models.h" #include "contact_twisting_models.h" #include "contact.h" +#include "error.h" #include "math_const.h" using namespace LAMMPS_NS; @@ -75,6 +76,9 @@ void TwistingSDS::coeffs_to_local() k = coeffs[0]; mu = coeffs[1]; damp = coeffs[2]; + + if (k < 0.0 || mu < 0.0 || damp < 0.0) + error->all(FLERR, "Illegal SDS twisting model"); } /* ---------------------------------------------------------------------- */ diff --git a/src/GRANULAR/fix_wall_gran.cpp b/src/GRANULAR/fix_wall_gran.cpp index da7af48e82..b4d94d62fe 100644 --- a/src/GRANULAR/fix_wall_gran.cpp +++ b/src/GRANULAR/fix_wall_gran.cpp @@ -20,10 +20,18 @@ #include "fix_wall_gran.h" #include "atom.h" +#include "contact.h" +#include "contact_sub_models.h" +#include "contact_normal_models.h" +#include "contact_tangential_models.h" +#include "contact_damping_models.h" +#include "contact_rolling_models.h" +#include "contact_twisting_models.h" +#include "contact_heat_models.h" #include "domain.h" #include "error.h" -#include "force.h" #include "math_const.h" +#include "math_extra.h" #include "memory.h" #include "modify.h" #include "neighbor.h" @@ -34,31 +42,17 @@ #include using namespace LAMMPS_NS; +using namespace Contact; using namespace FixConst; using namespace MathConst; - -#define PI27SQ 266.47931882941264802866 // 27*PI**2 -#define THREEROOT3 5.19615242270663202362 // 3*sqrt(3) -#define SIXROOT6 14.69693845669906728801 // 6*sqrt(6) -#define INVROOT6 0.40824829046386307274 // 1/sqrt(6) -#define FOURTHIRDS 1.333333333333333 // 4/3 -#define THREEQUARTERS 0.75 // 3/4 -#define TWOPI 6.28318530717959 // 2*PI +using namespace MathExtra; #define BIG 1.0e20 -#define EPSILON 1e-10 // XYZ PLANE need to be 0,1,2 enum {NOSTYLE=-1,XPLANE=0,YPLANE=1,ZPLANE=2,ZCYLINDER,REGION}; - enum {NONE,CONSTANT,EQUAL}; -enum {DAMPING_NONE, VELOCITY, MASS_VELOCITY, VISCOELASTIC, TSUJI}; -enum {TANGENTIAL_NONE, TANGENTIAL_NOHISTORY, TANGENTIAL_HISTORY, - TANGENTIAL_MINDLIN, TANGENTIAL_MINDLIN_RESCALE, - TANGENTIAL_MINDLIN_FORCE, TANGENTIAL_MINDLIN_RESCALE_FORCE}; -enum {TWIST_NONE, TWIST_SDS, TWIST_MARSHALL}; -enum {ROLL_NONE, ROLL_SDS}; /* ---------------------------------------------------------------------- */ @@ -72,237 +66,70 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Fix wall/gran requires atom style sphere"); create_attribute = 1; - limit_damping = 0; // set interaction style // disable bonded/history option for now + model = new ContactModel(); + model->wall_flag = 1; - if (strcmp(arg[3],"hooke") == 0) pairstyle = HOOKE; - else if (strcmp(arg[3],"hooke/history") == 0) pairstyle = HOOKE_HISTORY; - else if (strcmp(arg[3],"hertz/history") == 0) pairstyle = HERTZ_HISTORY; - else if (strcmp(arg[3],"granular") == 0) pairstyle = GRANULAR; - else error->all(FLERR,"Invalid fix wall/gran interaction style"); - - use_history = restart_peratom = 1; - if (pairstyle == HOOKE) use_history = restart_peratom = 0; - tangential_history = roll_history = twist_history = 0; - normal_model = NORMAL_NONE; - tangential_model = TANGENTIAL_NONE; - damping_model = DAMPING_NONE; + if (strcmp(arg[3],"granular") == 0) classic_flag = 0; + else classic_flag = 1; + limit_damping = 0; + heat_flag = 0; + int Twall_defined = 0; // wall/particle coefficients int iarg; - if (pairstyle != GRANULAR) { - size_history = 3; - if (narg < 11) error->all(FLERR,"Illegal fix wall/gran command"); + if (classic_flag) { + iarg = 3; + iarg = model->init_classic_model(arg, iarg, narg); - kn = utils::numeric(FLERR,arg[4],false,lmp); - if (strcmp(arg[5],"NULL") == 0) kt = kn * 2.0/7.0; - else kt = utils::numeric(FLERR,arg[5],false,lmp); - - gamman = utils::numeric(FLERR,arg[6],false,lmp); - if (strcmp(arg[7],"NULL") == 0) gammat = 0.5 * gamman; - else gammat = utils::numeric(FLERR,arg[7],false,lmp); - - xmu = utils::numeric(FLERR,arg[8],false,lmp); - int dampflag = utils::inumeric(FLERR,arg[9],false,lmp); - if (dampflag == 0) gammat = 0.0; - - if (kn < 0.0 || kt < 0.0 || gamman < 0.0 || gammat < 0.0 || - xmu < 0.0 || xmu > 10000.0 || dampflag < 0 || dampflag > 1) - error->all(FLERR,"Illegal fix wall/gran command"); - - // convert Kn and Kt from pressure units to force/distance^2 if Hertzian - - if (pairstyle == HERTZ_HISTORY) { - kn /= force->nktv2p; - kt /= force->nktv2p; - } - iarg = 10; - - if (strcmp(arg[iarg],"limit_damping") == 0) { - limit_damping = 1; - iarg += 1; + if (iarg < narg) { + if (strcmp(arg[iarg],"limit_damping") == 0) { + model->limit_damping = 1; + iarg += 1; + } } } else { - iarg = 4; - damping_model = VISCOELASTIC; - roll_model = twist_model = NONE; + iarg = 3; + model->init_model(std::string(arg[iarg]), NORMAL); + iarg += 1; + iarg = model->normal_model->parse_coeffs(arg, iarg, narg); + while (iarg < narg) { - if (strcmp(arg[iarg], "hooke") == 0) { - if (iarg + 2 >= narg) - error->all(FLERR,"Illegal fix wall/gran command, " - "not enough parameters provided for Hooke option"); - normal_model = NORMAL_HOOKE; - normal_coeffs[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); //kn - normal_coeffs[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); //damping - iarg += 3; - } else if (strcmp(arg[iarg], "hertz") == 0) { - int num_coeffs = 2; - if (iarg + num_coeffs >= narg) - error->all(FLERR,"Illegal fix wall/gran command, " - "not enough parameters provided for Hertz option"); - normal_model = NORMAL_HERTZ; - normal_coeffs[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); //kn - normal_coeffs[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); //damping - iarg += num_coeffs+1; - } else if (strcmp(arg[iarg], "hertz/material") == 0) { - int num_coeffs = 3; - if (iarg + num_coeffs >= narg) - error->all(FLERR,"Illegal fix wall/gran command, " - "not enough parameters provided for Hertz option"); - normal_model = HERTZ_MATERIAL; - Emod = utils::numeric(FLERR,arg[iarg+1],false,lmp); //E - normal_coeffs[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); //damping - poiss = utils::numeric(FLERR,arg[iarg+3],false,lmp); //Poisson's ratio - normal_coeffs[0] = Emod/(2*(1-poiss))*FOURTHIRDS; - normal_coeffs[2] = poiss; - iarg += num_coeffs+1; - } else if (strcmp(arg[iarg], "dmt") == 0) { - if (iarg + 4 >= narg) - error->all(FLERR,"Illegal fix wall/gran command, " - "not enough parameters provided for Hertz option"); - normal_model = DMT; - Emod = utils::numeric(FLERR,arg[iarg+1],false,lmp); //E - normal_coeffs[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); //damping - poiss = utils::numeric(FLERR,arg[iarg+3],false,lmp); //Poisson's ratio - normal_coeffs[0] = Emod/(2*(1-poiss))*FOURTHIRDS; - normal_coeffs[2] = poiss; - normal_coeffs[3] = utils::numeric(FLERR,arg[iarg+4],false,lmp); //cohesion - iarg += 5; - } else if (strcmp(arg[iarg], "jkr") == 0) { - if (iarg + 4 >= narg) - error->all(FLERR,"Illegal wall/gran command, " - "not enough parameters provided for JKR option"); - normal_model = JKR; - Emod = utils::numeric(FLERR,arg[iarg+1],false,lmp); //E - normal_coeffs[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); //damping - poiss = utils::numeric(FLERR,arg[iarg+3],false,lmp); //Poisson's ratio - normal_coeffs[0] = Emod/(2*(1-poiss))*FOURTHIRDS; - normal_coeffs[2] = poiss; - normal_coeffs[3] = utils::numeric(FLERR,arg[iarg+4],false,lmp); //cohesion - iarg += 5; - } else if (strcmp(arg[iarg], "damping") == 0) { - if (iarg+1 >= narg) - error->all(FLERR, "Illegal wall/gran command, " - "not enough parameters provided for damping model"); - if (strcmp(arg[iarg+1], "velocity") == 0) { - damping_model = VELOCITY; - iarg += 1; - } else if (strcmp(arg[iarg+1], "mass_velocity") == 0) { - damping_model = MASS_VELOCITY; - iarg += 1; - } else if (strcmp(arg[iarg+1], "viscoelastic") == 0) { - damping_model = VISCOELASTIC; - iarg += 1; - } else if (strcmp(arg[iarg+1], "tsuji") == 0) { - damping_model = TSUJI; - iarg += 1; - } else error->all(FLERR, "Illegal wall/gran command, " - "unrecognized damping model"); + if (strcmp(arg[iarg], "damping") == 0) { + if (iarg + 1 >= narg) + error->all(FLERR, "Illegal pair_coeff command, not enough parameters"); + model->init_model(std::string(arg[iarg]), DAMPING); iarg += 1; + iarg = model->damping_model->parse_coeffs(arg, iarg, narg); } else if (strcmp(arg[iarg], "tangential") == 0) { if (iarg + 1 >= narg) - error->all(FLERR,"Illegal pair_coeff command, " - "must specify tangential model after tangential keyword"); - if (strcmp(arg[iarg+1], "linear_nohistory") == 0) { - if (iarg + 3 >= narg) - error->all(FLERR,"Illegal pair_coeff command, " - "not enough parameters provided for tangential model"); - tangential_model = TANGENTIAL_NOHISTORY; - tangential_coeffs[0] = 0; - // gammat and friction coeff - tangential_coeffs[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); - tangential_coeffs[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp); - iarg += 4; - } else if ((strcmp(arg[iarg+1], "linear_history") == 0) || - (strcmp(arg[iarg+1], "mindlin") == 0) || - (strcmp(arg[iarg+1], "mindlin_rescale") == 0) || - (strcmp(arg[iarg+1], "mindlin/force") == 0) || - (strcmp(arg[iarg+1], "mindlin_rescale/force") == 0)) { - if (iarg + 4 >= narg) - error->all(FLERR,"Illegal pair_coeff command, " - "not enough parameters provided for tangential model"); - if (strcmp(arg[iarg+1], "linear_history") == 0) - tangential_model = TANGENTIAL_HISTORY; - else if (strcmp(arg[iarg+1], "mindlin") == 0) - tangential_model = TANGENTIAL_MINDLIN; - else if (strcmp(arg[iarg+1], "mindlin_rescale") == 0) - tangential_model = TANGENTIAL_MINDLIN_RESCALE; - else if (strcmp(arg[iarg+1], "mindlin/force") == 0) - tangential_model = TANGENTIAL_MINDLIN_FORCE; - else if (strcmp(arg[iarg+1], "mindlin_rescale/force") == 0) - tangential_model = TANGENTIAL_MINDLIN_RESCALE_FORCE; - if ((tangential_model == TANGENTIAL_MINDLIN || - tangential_model == TANGENTIAL_MINDLIN_RESCALE || - tangential_model == TANGENTIAL_MINDLIN_FORCE || - tangential_model == TANGENTIAL_MINDLIN_RESCALE_FORCE) && - (strcmp(arg[iarg+2], "NULL") == 0)) { - if (normal_model == NORMAL_HERTZ || normal_model == NORMAL_HOOKE) { - error->all(FLERR, "NULL setting for Mindlin tangential " - "stiffness requires a normal contact model " - "that specifies material properties"); - } - tangential_coeffs[0] = Emod/4*(2-poiss)*(1+poiss); - } else { - tangential_coeffs[0] = utils::numeric(FLERR,arg[iarg+2],false,lmp); //kt - } - tangential_history = 1; - // gammat and friction coeff - tangential_coeffs[1] = utils::numeric(FLERR,arg[iarg+3],false,lmp); - tangential_coeffs[2] = utils::numeric(FLERR,arg[iarg+4],false,lmp); - iarg += 5; - } else { - error->all(FLERR, "Illegal pair_coeff command, " - "tangential model not recognized"); - } + error->all(FLERR, "Illegal pair_coeff command, not enough parameters"); + model->init_model(std::string(arg[iarg]), TANGENTIAL); + iarg += 1; + iarg = model->tangential_model->parse_coeffs(arg, iarg, narg); } else if (strcmp(arg[iarg], "rolling") == 0) { if (iarg + 1 >= narg) - error->all(FLERR, "Illegal wall/gran command, not enough parameters"); - if (strcmp(arg[iarg+1], "none") == 0) { - roll_model = ROLL_NONE; - iarg += 2; - } else if (strcmp(arg[iarg+1], "sds") == 0) { - if (iarg + 4 >= narg) - error->all(FLERR,"Illegal wall/gran command, " - "not enough parameters provided for rolling model"); - roll_model = ROLL_SDS; - roll_history = 1; - // kR, gammaR, rolling friction coeff - roll_coeffs[0] = utils::numeric(FLERR,arg[iarg+2],false,lmp); - roll_coeffs[1] = utils::numeric(FLERR,arg[iarg+3],false,lmp); - roll_coeffs[2] = utils::numeric(FLERR,arg[iarg+4],false,lmp); - iarg += 5; - } else { - error->all(FLERR, "Illegal wall/gran command, " - "rolling friction model not recognized"); - } + error->all(FLERR, "Illegal pair_coeff command, not enough parameters"); + model->init_model(std::string(arg[iarg]), ROLLING); + iarg += 1; + iarg = model->rolling_model->parse_coeffs(arg, iarg, narg); } else if (strcmp(arg[iarg], "twisting") == 0) { if (iarg + 1 >= narg) - error->all(FLERR, "Illegal wall/gran command, not enough parameters"); - if (strcmp(arg[iarg+1], "none") == 0) { - twist_model = TWIST_NONE; - iarg += 2; - } else if (strcmp(arg[iarg+1], "marshall") == 0) { - twist_model = TWIST_MARSHALL; - twist_history = 1; - iarg += 2; - } else if (strcmp(arg[iarg+1], "sds") == 0) { - if (iarg + 4 >= narg) - error->all(FLERR,"Illegal wall/gran command, " - "not enough parameters provided for twist model"); - twist_model = TWIST_SDS; - twist_history = 1; - twist_coeffs[0] = utils::numeric(FLERR,arg[iarg+2],false,lmp); //kt - twist_coeffs[1] = utils::numeric(FLERR,arg[iarg+3],false,lmp); //gammat - twist_coeffs[2] = utils::numeric(FLERR,arg[iarg+4],false,lmp); //friction coeff. - iarg += 5; - } else { - error->all(FLERR, "Illegal wall/gran command, " - "twisting friction model not recognized"); - } + error->all(FLERR, "Illegal pair_coeff command, not enough parameters"); + model->init_model(std::string(arg[iarg]), TWISTING); + iarg += 1; + iarg = model->twisting_model->parse_coeffs(arg, iarg, narg); + } else if (strcmp(arg[iarg], "heat") == 0) { + if (iarg + 1 >= narg) + error->all(FLERR, "Illegal pair_coeff command, not enough parameters"); + model->init_model(std::string(arg[iarg]), HEAT); + iarg += 1; + iarg = model->heat_model->parse_coeffs(arg, iarg, narg); + heat_flag = 1; } else if (strcmp(arg[iarg], "xplane") == 0 || strcmp(arg[iarg], "yplane") == 0 || strcmp(arg[iarg], "zplane") == 0 || @@ -310,32 +137,35 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : strcmp(arg[iarg], "region") == 0) { break; } else if (strcmp(arg[iarg],"limit_damping") == 0) { - limit_damping = 1; + model->limit_damping = 1; iarg += 1; } else { error->all(FLERR, "Illegal fix wall/gran command"); } } - size_history = 3*tangential_history + 3*roll_history + twist_history; - //Unlike the pair style, the wall style does not have a 'touch' - //array. Hence, an additional entry in the history is used to - //determine if particles previously contacted for JKR cohesion purposes. - if (normal_model == JKR) size_history += 1; - if (tangential_model == TANGENTIAL_MINDLIN_RESCALE || - tangential_model == TANGENTIAL_MINDLIN_RESCALE_FORCE) size_history += 1; - - if (limit_damping && normal_model == JKR) - error->all(FLERR,"Illegal pair_coeff command, " - "cannot limit damping with JRK model"); - if (limit_damping && normal_model == DMT) - error->all(FLERR,"Illegal pair_coeff command, " - "Cannot limit damping with DMT model"); } + // Define default damping model if unspecified, takes no args + if (!model->damping_model) + model->init_model("viscoelastic", DAMPING); + + //Dan original code didn't require tangential? + if (!model->tangential_model) error->all(FLERR, "No tangential?"); + + if (model->limit_damping && !model->normal_model->allow_limit_damping) + error->all(FLERR,"Illegal pair_coeff command, " + "Cannot limit damping with specified normal contact model"); + + size_history = model->size_history; + if (size_history == 0) use_history = restart_peratom = 0; + else use_history = restart_peratom = 1; + // wallstyle args idregion = nullptr; + if (iarg >= narg) error->all(FLERR, "Illegal fix wall/gran command"); + if (strcmp(arg[iarg],"xplane") == 0) { if (narg < iarg+3) error->all(FLERR,"Illegal fix wall/gran command"); wallstyle = XPLANE; @@ -371,8 +201,16 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : wallstyle = REGION; idregion = utils::strdup(arg[iarg+1]); iarg += 2; + } else if (strcmp(arg[iarg],"temperature") == 0) { + if (narg < iarg+2) error->all(FLERR,"Illegal fix wall/gran command"); + Twall = utils::numeric(FLERR,arg[iarg+1],false,lmp); + Twall_defined = 1; + iarg += 2; } else wallstyle = NOSTYLE; + if (heat_flag != Twall_defined) + error->all(FLERR, "To model conduction, must define both heat model and wall temperature"); + // optional args wiggle = 0; @@ -472,6 +310,8 @@ FixWallGran::~FixWallGran() atom->delete_callback(id,Atom::GROW); atom->delete_callback(id,Atom::RESTART); + delete model; + // delete local storage delete [] idregion; @@ -496,6 +336,7 @@ void FixWallGran::init() int i; dt = update->dt; + model->dt = dt; if (utils::strmatch(update->integrate_style,"^respa")) nlevels_respa = (dynamic_cast( update->integrate))->nlevels; @@ -507,40 +348,26 @@ void FixWallGran::init() if (modify->fix[i]->rigid_flag) break; if (i < modify->nfix) fix_rigid = modify->fix[i]; - if(pairstyle == GRANULAR) { - tangential_history_index = 0; - if (roll_history) { - if (tangential_history) roll_history_index = 3; - else roll_history_index = 0; - } - if (twist_history) { - if (tangential_history) { - if (roll_history) twist_history_index = 6; - else twist_history_index = 3; - } - else{ - if (roll_history) twist_history_index = 3; - else twist_history_index = 0; - } - } - if (normal_model == JKR) { - tangential_history_index += 1; - roll_history_index += 1; - twist_history_index += 1; - } - if (tangential_model == TANGENTIAL_MINDLIN_RESCALE || - tangential_model == TANGENTIAL_MINDLIN_RESCALE_FORCE) { - roll_history_index += 1; - twist_history_index += 1; - } + // Define history indices + int size_normal_history = model->normal_model->size_history; + int size_tangential_history = model->tangential_model->size_history; + int size_damping_history = model->damping_model->size_history; - if (damping_model == TSUJI) { - double cor = normal_coeffs[1]; - normal_coeffs[1] = 1.2728-4.2783*cor+11.087*pow(cor,2)-22.348*pow(cor,3)+ - 27.467*pow(cor,4)-18.022*pow(cor,5)+ - 4.8218*pow(cor,6); - } - } + int size_rolling_history = 0; + int size_twisting_history = 0; + if (model->rolling_model) size_rolling_history = model->rolling_model->size_history; + if (model->twisting_model) size_twisting_history = model->twisting_model->size_history; + + damping_history_index = size_normal_history; + tangential_history_index = damping_history_index + size_damping_history; + roll_history_index = tangential_history_index + size_tangential_history; + twist_history_index = roll_history_index + size_rolling_history; + + model->normal_model->history_index = 0; + model->damping_model->history_index = damping_history_index; + model->tangential_model->history_index = tangential_history_index; + if (model->rolling_model) model->rolling_model->history_index = roll_history_index; + if (model->twisting_model) model->twisting_model->history_index = twist_history_index; } /* ---------------------------------------------------------------------- */ @@ -561,8 +388,11 @@ void FixWallGran::setup(int vflag) void FixWallGran::post_force(int /*vflag*/) { int i,j; - double dx,dy,dz,del1,del2,delxy,delr,rsq,rwall,meff; + double dx,dy,dz,del1,del2,delxy,delr,rwall,meff; + double *forces, *torquesi, dq; double vwall[3]; + double w0[3] = {0.0}; + bool touchflag = false; // do not update history during setup @@ -622,6 +452,11 @@ void FixWallGran::post_force(int /*vflag*/) double **torque = atom->torque; double *radius = atom->radius; double *rmass = atom->rmass; + double *temperature, *heatflux; + if (heat_flag) { + temperature = atom->temperature; + heatflux = atom->heatflux; + } int *mask = atom->mask; int nlocal = atom->nlocal; @@ -631,107 +466,105 @@ void FixWallGran::post_force(int /*vflag*/) clear_stored_contacts(); } + // Define constant wall properties (atom j) + model->radj = 0.0; + model->vj = vwall; + model->omegaj = w0; + if (heat_flag) model->Tj = Twall; + for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) { + if (! mask[i] & groupbit) continue; - dx = dy = dz = 0.0; + dx = dy = dz = 0.0; - if (wallstyle == XPLANE) { - del1 = x[i][0] - wlo; - del2 = whi - x[i][0]; - if (del1 < del2) dx = del1; - else dx = -del2; - } else if (wallstyle == YPLANE) { - del1 = x[i][1] - wlo; - del2 = whi - x[i][1]; - if (del1 < del2) dy = del1; - else dy = -del2; - } else if (wallstyle == ZPLANE) { - del1 = x[i][2] - wlo; - del2 = whi - x[i][2]; - if (del1 < del2) dz = del1; - else dz = -del2; - } else if (wallstyle == ZCYLINDER) { - delxy = sqrt(x[i][0]*x[i][0] + x[i][1]*x[i][1]); - delr = cylradius - delxy; - if (delr > radius[i]) { - dz = cylradius; - rwall = 0.0; - } else { - dx = -delr/delxy * x[i][0]; - dy = -delr/delxy * x[i][1]; - // rwall = -2r_c if inside cylinder, 2r_c outside - rwall = (delxy < cylradius) ? -2*cylradius : 2*cylradius; - if (wshear && axis != 2) { - vwall[0] += vshear * x[i][1]/delxy; - vwall[1] += -vshear * x[i][0]/delxy; - vwall[2] = 0.0; - } + if (wallstyle == XPLANE) { + del1 = x[i][0] - wlo; + del2 = whi - x[i][0]; + if (del1 < del2) dx = del1; + else dx = -del2; + } else if (wallstyle == YPLANE) { + del1 = x[i][1] - wlo; + del2 = whi - x[i][1]; + if (del1 < del2) dy = del1; + else dy = -del2; + } else if (wallstyle == ZPLANE) { + del1 = x[i][2] - wlo; + del2 = whi - x[i][2]; + if (del1 < del2) dz = del1; + else dz = -del2; + } else if (wallstyle == ZCYLINDER) { + delxy = sqrt(x[i][0]*x[i][0] + x[i][1]*x[i][1]); + delr = cylradius - delxy; + if (delr > radius[i]) { + dz = cylradius; + rwall = 0.0; + } else { + dx = -delr/delxy * x[i][0]; + dy = -delr/delxy * x[i][1]; + // rwall = -2r_c if inside cylinder, 2r_c outside + rwall = (delxy < cylradius) ? -2*cylradius : 2*cylradius; + if (wshear && axis != 2) { + vwall[0] += vshear * x[i][1]/delxy; + vwall[1] += -vshear * x[i][0]/delxy; + vwall[2] = 0.0; } } + } - rsq = dx*dx + dy*dy + dz*dz; + // Reset model and copy initial geometric data + model->reset_contact(); + model->xi = x[i]; + model->dx[0] = dx; + model->dx[1] = dy; + model->dx[2] = dz; + model->radi = radius[i]; + model->rwall = rwall; - double rad; - if (pairstyle == GRANULAR && normal_model == JKR) { - rad = radius[i] + pulloff_distance(radius[i]); - } - else - rad = radius[i]; + touchflag = model->check_contact(); - if (rsq > rad*rad) { - if (use_history) - for (j = 0; j < size_history; j++) - history_one[i][j] = 0.0; - } - else { - if (pairstyle == GRANULAR && normal_model == JKR && use_history) { - if ((history_one[i][0] == 0) && (rsq > radius[i]*radius[i])) { - // Particles have not contacted yet, - // and are outside of contact distance - for (j = 0; j < size_history; j++) - history_one[i][j] = 0.0; - continue; - } - } + if (!touchflag) { + if (use_history) + for (j = 0; j < size_history; j++) + history_one[i][j] = 0.0; + } else { - // meff = effective mass of sphere - // if I is part of rigid body, use body mass + // meff = effective mass of sphere + // if I is part of rigid body, use body mass - meff = rmass[i]; - if (fix_rigid && mass_rigid[i] > 0.0) meff = mass_rigid[i]; + meff = rmass[i]; + if (fix_rigid && mass_rigid[i] > 0.0) meff = mass_rigid[i]; - // store contact info - if (peratom_flag) { - array_atom[i][0] = 1.0; - array_atom[i][4] = x[i][0] - dx; - array_atom[i][5] = x[i][1] - dy; - array_atom[i][6] = x[i][2] - dz; - array_atom[i][7] = radius[i]; - } + // Copy additional information and prepare force calculations + model->meff = meff; + model->vi = v[i]; + model->omegai = omega[i]; + model->history_update = history_update; + if (use_history) model->history = history_one[i]; + if (heat_flag) model->Ti = temperature[i]; + model->prep_contact(); - // invoke sphere/wall interaction - double *contact; - if (peratom_flag) - contact = array_atom[i]; - else - contact = nullptr; + model->calculate_forces(); + if (heat_flag) dq = model->calculate_heat(); - if (pairstyle == HOOKE) - hooke(rsq,dx,dy,dz,vwall,v[i],f[i], - omega[i],torque[i],radius[i],meff, contact); - else if (pairstyle == HOOKE_HISTORY) - hooke_history(rsq,dx,dy,dz,vwall,v[i],f[i], - omega[i],torque[i],radius[i],meff,history_one[i], - contact); - else if (pairstyle == HERTZ_HISTORY) - hertz_history(rsq,dx,dy,dz,vwall,rwall,v[i],f[i], - omega[i],torque[i],radius[i],meff,history_one[i], - contact); - else if (pairstyle == GRANULAR) - granular(rsq,dx,dy,dz,vwall,rwall,v[i],f[i], - omega[i],torque[i],radius[i],meff,history_one[i], - contact); + forces = model->forces; + torquesi = model->torquesi; + + // apply forces & torques + add3(f[i], forces, f[i]); + + add3(torque[i], torquesi, torque[i]); + if (heat_flag) heatflux[i] += dq; + + // store contact info + if (peratom_flag) { + array_atom[i][0] = 1.0; + array_atom[i][1] = forces[0]; + array_atom[i][2] = forces[1]; + array_atom[i][3] = forces[2]; + array_atom[i][4] = x[i][0] - dx; + array_atom[i][5] = x[i][1] - dy; + array_atom[i][6] = x[i][2] - dz; + array_atom[i][7] = radius[i]; } } } @@ -753,789 +586,6 @@ void FixWallGran::post_force_respa(int vflag, int ilevel, int /*iloop*/) if (ilevel == nlevels_respa-1) post_force(vflag); } -/* ---------------------------------------------------------------------- */ - -void FixWallGran::hooke(double rsq, double dx, double dy, double dz, - double *vwall, double *v, - double *f, double *omega, double *torque, - double radius, double meff, double* contact) -{ - double r,vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; - double wr1,wr2,wr3,damp,ccel,vtr1,vtr2,vtr3,vrel; - double fn,fs,ft,fs1,fs2,fs3,fx,fy,fz,tor1,tor2,tor3,rinv,rsqinv; - - r = sqrt(rsq); - rinv = 1.0/r; - rsqinv = 1.0/rsq; - - // relative translational velocity - - vr1 = v[0] - vwall[0]; - vr2 = v[1] - vwall[1]; - vr3 = v[2] - vwall[2]; - - // normal component - - vnnr = vr1*dx + vr2*dy + vr3*dz; - vn1 = dx*vnnr * rsqinv; - vn2 = dy*vnnr * rsqinv; - vn3 = dz*vnnr * rsqinv; - - // tangential component - - vt1 = vr1 - vn1; - vt2 = vr2 - vn2; - vt3 = vr3 - vn3; - - // relative rotational velocity - - wr1 = radius*omega[0] * rinv; - wr2 = radius*omega[1] * rinv; - wr3 = radius*omega[2] * rinv; - - // normal forces = Hookian contact + normal velocity damping - - damp = meff*gamman*vnnr*rsqinv; - ccel = kn*(radius-r)*rinv - damp; - if (limit_damping && (ccel < 0.0)) ccel = 0.0; - - // relative velocities - - vtr1 = vt1 - (dz*wr2-dy*wr3); - vtr2 = vt2 - (dx*wr3-dz*wr1); - vtr3 = vt3 - (dy*wr1-dx*wr2); - vrel = vtr1*vtr1 + vtr2*vtr2 + vtr3*vtr3; - vrel = sqrt(vrel); - - // force normalization - - fn = xmu * fabs(ccel*r); - fs = meff*gammat*vrel; - if (vrel != 0.0) ft = MIN(fn,fs) / vrel; - else ft = 0.0; - - // tangential force due to tangential velocity damping - - fs1 = -ft*vtr1; - fs2 = -ft*vtr2; - fs3 = -ft*vtr3; - - // forces & torques - - fx = dx*ccel + fs1; - fy = dy*ccel + fs2; - fz = dz*ccel + fs3; - - if (peratom_flag) { - contact[1] = fx; - contact[2] = fy; - contact[3] = fz; - } - - f[0] += fx; - f[1] += fy; - f[2] += fz; - - tor1 = rinv * (dy*fs3 - dz*fs2); - tor2 = rinv * (dz*fs1 - dx*fs3); - tor3 = rinv * (dx*fs2 - dy*fs1); - torque[0] -= radius*tor1; - torque[1] -= radius*tor2; - torque[2] -= radius*tor3; -} - -/* ---------------------------------------------------------------------- */ - -void FixWallGran::hooke_history(double rsq, double dx, double dy, double dz, - double *vwall, double *v, - double *f, double *omega, double *torque, - double radius, double meff, double *history, - double *contact) -{ - double r,vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; - double wr1,wr2,wr3,damp,ccel,vtr1,vtr2,vtr3,vrel; - double fn,fs,fs1,fs2,fs3,fx,fy,fz,tor1,tor2,tor3; - double shrmag,rsht,rinv,rsqinv; - - r = sqrt(rsq); - rinv = 1.0/r; - rsqinv = 1.0/rsq; - - // relative translational velocity - - vr1 = v[0] - vwall[0]; - vr2 = v[1] - vwall[1]; - vr3 = v[2] - vwall[2]; - - // normal component - - vnnr = vr1*dx + vr2*dy + vr3*dz; - vn1 = dx*vnnr * rsqinv; - vn2 = dy*vnnr * rsqinv; - vn3 = dz*vnnr * rsqinv; - - // tangential component - - vt1 = vr1 - vn1; - vt2 = vr2 - vn2; - vt3 = vr3 - vn3; - - // relative rotational velocity - - wr1 = radius*omega[0] * rinv; - wr2 = radius*omega[1] * rinv; - wr3 = radius*omega[2] * rinv; - - // normal forces = Hookian contact + normal velocity damping - - damp = meff*gamman*vnnr*rsqinv; - ccel = kn*(radius-r)*rinv - damp; - if (limit_damping && (ccel < 0.0)) ccel = 0.0; - - // relative velocities - - vtr1 = vt1 - (dz*wr2-dy*wr3); - vtr2 = vt2 - (dx*wr3-dz*wr1); - vtr3 = vt3 - (dy*wr1-dx*wr2); - vrel = vtr1*vtr1 + vtr2*vtr2 + vtr3*vtr3; - vrel = sqrt(vrel); - - // shear history effects - - if (history_update) { - history[0] += vtr1*dt; - history[1] += vtr2*dt; - history[2] += vtr3*dt; - } - shrmag = sqrt(history[0]*history[0] + history[1]*history[1] + - history[2]*history[2]); - - // rotate shear displacements - - rsht = history[0]*dx + history[1]*dy + history[2]*dz; - rsht = rsht*rsqinv; - if (history_update) { - history[0] -= rsht*dx; - history[1] -= rsht*dy; - history[2] -= rsht*dz; - } - - // tangential forces = shear + tangential velocity damping - - fs1 = - (kt*history[0] + meff*gammat*vtr1); - fs2 = - (kt*history[1] + meff*gammat*vtr2); - fs3 = - (kt*history[2] + meff*gammat*vtr3); - - // rescale frictional displacements and forces if needed - - fs = sqrt(fs1*fs1 + fs2*fs2 + fs3*fs3); - fn = xmu * fabs(ccel*r); - - if (fs > fn) { - if (shrmag != 0.0) { - history[0] = (fn/fs) * (history[0] + meff*gammat*vtr1/kt) - - meff*gammat*vtr1/kt; - history[1] = (fn/fs) * (history[1] + meff*gammat*vtr2/kt) - - meff*gammat*vtr2/kt; - history[2] = (fn/fs) * (history[2] + meff*gammat*vtr3/kt) - - meff*gammat*vtr3/kt; - fs1 *= fn/fs ; - fs2 *= fn/fs; - fs3 *= fn/fs; - } else fs1 = fs2 = fs3 = 0.0; - } - - // forces & torques - - fx = dx*ccel + fs1; - fy = dy*ccel + fs2; - fz = dz*ccel + fs3; - - f[0] += fx; - f[1] += fy; - f[2] += fz; - - if (peratom_flag) { - contact[1] = fx; - contact[2] = fy; - contact[3] = fz; - } - - tor1 = rinv * (dy*fs3 - dz*fs2); - tor2 = rinv * (dz*fs1 - dx*fs3); - tor3 = rinv * (dx*fs2 - dy*fs1); - torque[0] -= radius*tor1; - torque[1] -= radius*tor2; - torque[2] -= radius*tor3; -} - -/* ---------------------------------------------------------------------- */ - -void FixWallGran::hertz_history(double rsq, double dx, double dy, double dz, - double *vwall, double rwall, double *v, - double *f, double *omega, double *torque, - double radius, double meff, double *history, - double *contact) -{ - double r,vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; - double wr1,wr2,wr3,damp,ccel,vtr1,vtr2,vtr3,vrel; - double fn,fs,fs1,fs2,fs3,fx,fy,fz,tor1,tor2,tor3; - double shrmag,rsht,polyhertz,rinv,rsqinv; - - r = sqrt(rsq); - rinv = 1.0/r; - rsqinv = 1.0/rsq; - - // relative translational velocity - - vr1 = v[0] - vwall[0]; - vr2 = v[1] - vwall[1]; - vr3 = v[2] - vwall[2]; - - // normal component - - vnnr = vr1*dx + vr2*dy + vr3*dz; - vn1 = dx*vnnr / rsq; - vn2 = dy*vnnr / rsq; - vn3 = dz*vnnr / rsq; - - // tangential component - - vt1 = vr1 - vn1; - vt2 = vr2 - vn2; - vt3 = vr3 - vn3; - - // relative rotational velocity - - wr1 = radius*omega[0] * rinv; - wr2 = radius*omega[1] * rinv; - wr3 = radius*omega[2] * rinv; - - // normal forces = Hertzian contact + normal velocity damping - // rwall = 0 is flat wall case - // rwall positive or negative is curved wall - // will break (as it should) if rwall is negative and - // its absolute value < radius of particle - - damp = meff*gamman*vnnr*rsqinv; - ccel = kn*(radius-r)*rinv - damp; - if (rwall == 0.0) polyhertz = sqrt((radius-r)*radius); - else polyhertz = sqrt((radius-r)*radius*rwall/(rwall+radius)); - ccel *= polyhertz; - if (limit_damping && (ccel < 0.0)) ccel = 0.0; - - // relative velocities - - vtr1 = vt1 - (dz*wr2-dy*wr3); - vtr2 = vt2 - (dx*wr3-dz*wr1); - vtr3 = vt3 - (dy*wr1-dx*wr2); - vrel = vtr1*vtr1 + vtr2*vtr2 + vtr3*vtr3; - vrel = sqrt(vrel); - - // shear history effects - - if (history_update) { - history[0] += vtr1*dt; - history[1] += vtr2*dt; - history[2] += vtr3*dt; - } - shrmag = sqrt(history[0]*history[0] + history[1]*history[1] + - history[2]*history[2]); - - // rotate history displacements - - rsht = history[0]*dx + history[1]*dy + history[2]*dz; - rsht = rsht*rsqinv; - if (history_update) { - history[0] -= rsht*dx; - history[1] -= rsht*dy; - history[2] -= rsht*dz; - } - - // tangential forces = shear + tangential velocity damping - - fs1 = -polyhertz * (kt*history[0] + meff*gammat*vtr1); - fs2 = -polyhertz * (kt*history[1] + meff*gammat*vtr2); - fs3 = -polyhertz * (kt*history[2] + meff*gammat*vtr3); - - // rescale frictional displacements and forces if needed - - fs = sqrt(fs1*fs1 + fs2*fs2 + fs3*fs3); - fn = xmu * fabs(ccel*r); - - if (fs > fn) { - if (shrmag != 0.0) { - history[0] = (fn/fs) * (history[0] + meff*gammat*vtr1/kt) - - meff*gammat*vtr1/kt; - history[1] = (fn/fs) * (history[1] + meff*gammat*vtr2/kt) - - meff*gammat*vtr2/kt; - history[2] = (fn/fs) * (history[2] + meff*gammat*vtr3/kt) - - meff*gammat*vtr3/kt; - fs1 *= fn/fs ; - fs2 *= fn/fs; - fs3 *= fn/fs; - } else fs1 = fs2 = fs3 = 0.0; - } - - // forces & torques - - fx = dx*ccel + fs1; - fy = dy*ccel + fs2; - fz = dz*ccel + fs3; - - if (peratom_flag) { - contact[1] = fx; - contact[2] = fy; - contact[3] = fz; - } - - f[0] += fx; - f[1] += fy; - f[2] += fz; - - tor1 = rinv * (dy*fs3 - dz*fs2); - tor2 = rinv * (dz*fs1 - dx*fs3); - tor3 = rinv * (dx*fs2 - dy*fs1); - torque[0] -= radius*tor1; - torque[1] -= radius*tor2; - torque[2] -= radius*tor3; -} - -/* ---------------------------------------------------------------------- */ - -void FixWallGran::granular(double rsq, double dx, double dy, double dz, - double *vwall, double rwall, double *v, - double *f, double *omega, double *torque, - double radius, double meff, double *history, - double *contact) -{ - double fx,fy,fz,nx,ny,nz; - double r,rinv; - double Reff, delta, dR, dR2; - - double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; - double wr1,wr2,wr3; - double vtr1,vtr2,vtr3,vrel; - - double knfac, damp_normal, damp_normal_prefactor; - double k_tangential, damp_tangential; - double Fne, Ft, Fdamp, Fntot, Fncrit, Fscrit, Frcrit; - double fs, fs1, fs2, fs3; - - double tor1,tor2,tor3; - double relrot1,relrot2,relrot3,vrl1,vrl2,vrl3; - - // for JKR - double R2, coh, F_pulloff, a, a2, E; - double t0, t1, t2, t3, t4, t5, t6; - double sqrt1, sqrt2, sqrt3; - - // rolling - double k_roll, damp_roll; - double torroll1, torroll2, torroll3; - double rollmag, rolldotn, scalefac; - double fr, fr1, fr2, fr3; - - // twisting - double k_twist, damp_twist, mu_twist; - double signtwist, magtwist, magtortwist, Mtcrit; - double tortwist1, tortwist2, tortwist3; - - double shrmag,rsht,prjmag; - bool frameupdate; - - r = sqrt(rsq); - E = normal_coeffs[0]; - - if (rwall == 0) Reff = radius; - else Reff = radius*rwall/(radius+rwall); - - rinv = 1.0/r; - - nx = dx*rinv; - ny = dy*rinv; - nz = dz*rinv; - - // relative translational velocity - - vr1 = v[0] - vwall[0]; - vr2 = v[1] - vwall[1]; - vr3 = v[2] - vwall[2]; - - // normal component - - vnnr = vr1*nx + vr2*ny + vr3*nz; //v_R . n - vn1 = nx*vnnr; - vn2 = ny*vnnr; - vn3 = nz*vnnr; - - delta = radius - r; - dR = delta*Reff; - if (normal_model == JKR) { - history[0] = 1.0; - E *= THREEQUARTERS; - R2=Reff*Reff; - coh = normal_coeffs[3]; - dR2 = dR*dR; - t0 = coh*coh*R2*R2*E; - t1 = PI27SQ*t0; - t2 = 8*dR*dR2*E*E*E; - t3 = 4*dR2*E; - sqrt1 = MAX(0, t0*(t1+2*t2)); // in case sqrt(0) < 0 due to precision issues - t4 = cbrt(t1+t2+THREEROOT3*MY_PI*sqrt(sqrt1)); - t5 = t3/t4 + t4/E; - sqrt2 = MAX(0, 2*dR + t5); - t6 = sqrt(sqrt2); - sqrt3 = MAX(0, 4*dR - t5 + SIXROOT6*coh*MY_PI*R2/(E*t6)); - a = INVROOT6*(t6 + sqrt(sqrt3)); - a2 = a*a; - knfac = normal_coeffs[0]*a; - Fne = knfac*a2/Reff - TWOPI*a2*sqrt(4*coh*E/(MY_PI*a)); - } else { - knfac = E; //Hooke - a = sqrt(dR); - Fne = knfac*delta; - if (normal_model != NORMAL_HOOKE) { - Fne *= a; - knfac *= a; - } - if (normal_model == DMT) - Fne -= 4*MY_PI*normal_coeffs[3]*Reff; - } - - if (damping_model == VELOCITY) { - damp_normal = 1; - } else if (damping_model == MASS_VELOCITY) { - damp_normal = meff; - } else if (damping_model == VISCOELASTIC) { - damp_normal = a*meff; - } else if (damping_model == TSUJI) { - damp_normal = sqrt(meff*knfac); - } else damp_normal = 0.0; - - damp_normal_prefactor = normal_coeffs[1]*damp_normal; - Fdamp = -damp_normal_prefactor*vnnr; - - Fntot = Fne + Fdamp; - if (limit_damping && (Fntot < 0.0)) Fntot = 0.0; - - //**************************************** - // tangential force, including history effects - //**************************************** - - // For linear, mindlin, mindlin_rescale: - // history = cumulative tangential displacement - // - // For mindlin/force, mindlin_rescale/force: - // history = cumulative tangential elastic force - - // tangential component - vt1 = vr1 - vn1; - vt2 = vr2 - vn2; - vt3 = vr3 - vn3; - - // relative rotational velocity - wr1 = radius*omega[0]; - wr2 = radius*omega[1]; - wr3 = radius*omega[2]; - - // relative tangential velocities - vtr1 = vt1 - (nz*wr2-ny*wr3); - vtr2 = vt2 - (nx*wr3-nz*wr1); - vtr3 = vt3 - (ny*wr1-nx*wr2); - vrel = vtr1*vtr1 + vtr2*vtr2 + vtr3*vtr3; - vrel = sqrt(vrel); - - if (normal_model == JKR) { - F_pulloff = 3*MY_PI*coh*Reff; - Fncrit = fabs(Fne + 2*F_pulloff); - } - else if (normal_model == DMT) { - F_pulloff = 4*MY_PI*coh*Reff; - Fncrit = fabs(Fne + 2*F_pulloff); - } - else{ - Fncrit = fabs(Fntot); - } - - //------------------------------ - // tangential forces - //------------------------------ - - k_tangential = tangential_coeffs[0]; - damp_tangential = tangential_coeffs[1]*damp_normal_prefactor; - Fscrit = tangential_coeffs[2] * Fncrit; - - int thist0 = tangential_history_index; - int thist1 = thist0 + 1; - int thist2 = thist1 + 1; - - if (tangential_history) { - if (tangential_model == TANGENTIAL_MINDLIN || - tangential_model == TANGENTIAL_MINDLIN_FORCE) { - k_tangential *= a; - } - else if (tangential_model == - TANGENTIAL_MINDLIN_RESCALE || - tangential_model == - TANGENTIAL_MINDLIN_RESCALE_FORCE){ - k_tangential *= a; - // on unloading, rescale the shear displacements/force - if (a < history[thist2+1]) { - double factor = a/history[thist2+1]; - history[thist0] *= factor; - history[thist1] *= factor; - history[thist2] *= factor; - } - } - - - // rotate and update displacements. - // see e.g. eq. 17 of Luding, Gran. Matter 2008, v10,p235 - if (history_update) { - rsht = history[thist0]*nx + history[thist1]*ny + history[thist2]*nz; - if (tangential_model == TANGENTIAL_MINDLIN_FORCE || - tangential_model == TANGENTIAL_MINDLIN_RESCALE_FORCE) - frameupdate = fabs(rsht) > EPSILON*Fscrit; - else - frameupdate = fabs(rsht)*k_tangential > EPSILON*Fscrit; - if (frameupdate) { - shrmag = sqrt(history[thist0]*history[thist0] + - history[thist1]*history[thist1] + - history[thist2]*history[thist2]); - // projection - history[thist0] -= rsht*nx; - history[thist1] -= rsht*ny; - history[thist2] -= rsht*nz; - - // also rescale to preserve magnitude - prjmag = sqrt(history[thist0]*history[thist0] + - history[thist1]*history[thist1] + history[thist2]*history[thist2]); - if (prjmag > 0) scalefac = shrmag/prjmag; - else scalefac = 0; - history[thist0] *= scalefac; - history[thist1] *= scalefac; - history[thist2] *= scalefac; - } - // update history - if (tangential_model == TANGENTIAL_HISTORY || - tangential_model == TANGENTIAL_MINDLIN || - tangential_model == TANGENTIAL_MINDLIN_RESCALE) { - history[thist0] += vtr1*dt; - history[thist1] += vtr2*dt; - history[thist2] += vtr3*dt; - } else{ - // tangential force - // see e.g. eq. 18 of Thornton et al, Pow. Tech. 2013, v223,p30-46 - history[thist0] -= k_tangential*vtr1*dt; - history[thist1] -= k_tangential*vtr2*dt; - history[thist2] -= k_tangential*vtr3*dt; - } - if (tangential_model == TANGENTIAL_MINDLIN_RESCALE || - tangential_model == TANGENTIAL_MINDLIN_RESCALE_FORCE) - history[thist2+1] = a; - } - - // tangential forces = history + tangential velocity damping - if (tangential_model == TANGENTIAL_HISTORY || - tangential_model == TANGENTIAL_MINDLIN || - tangential_model == TANGENTIAL_MINDLIN_RESCALE) { - fs1 = -k_tangential*history[thist0] - damp_tangential*vtr1; - fs2 = -k_tangential*history[thist1] - damp_tangential*vtr2; - fs3 = -k_tangential*history[thist2] - damp_tangential*vtr3; - } else { - fs1 = history[thist0] - damp_tangential*vtr1; - fs2 = history[thist1] - damp_tangential*vtr2; - fs3 = history[thist2] - damp_tangential*vtr3; - } - - // rescale frictional displacements and forces if needed - fs = sqrt(fs1*fs1 + fs2*fs2 + fs3*fs3); - if (fs > Fscrit) { - shrmag = sqrt(history[thist0]*history[thist0] + - history[thist1]*history[thist1] + - history[thist2]*history[thist2]); - if (shrmag != 0.0) { - if (tangential_model == TANGENTIAL_HISTORY || - tangential_model == TANGENTIAL_MINDLIN || - tangential_model == - TANGENTIAL_MINDLIN_RESCALE) { - history[thist0] = -1.0/k_tangential*(Fscrit*fs1/fs + - damp_tangential*vtr1); - history[thist1] = -1.0/k_tangential*(Fscrit*fs2/fs + - damp_tangential*vtr2); - history[thist2] = -1.0/k_tangential*(Fscrit*fs3/fs + - damp_tangential*vtr3); - } else { - history[thist0] = Fscrit*fs1/fs + damp_tangential*vtr1; - history[thist1] = Fscrit*fs2/fs + damp_tangential*vtr2; - history[thist2] = Fscrit*fs3/fs + damp_tangential*vtr3; - } - fs1 *= Fscrit/fs; - fs2 *= Fscrit/fs; - fs3 *= Fscrit/fs; - } else fs1 = fs2 = fs3 = 0.0; - } - } else { // classic pair gran/hooke (no history) - fs = damp_tangential*vrel; - if (vrel != 0.0) Ft = MIN(Fscrit,fs) / vrel; - else Ft = 0.0; - fs1 = -Ft*vtr1; - fs2 = -Ft*vtr2; - fs3 = -Ft*vtr3; - } - - //**************************************** - // rolling resistance - //**************************************** - - if (roll_model != ROLL_NONE || twist_model != TWIST_NONE) { - relrot1 = omega[0]; - relrot2 = omega[1]; - relrot3 = omega[2]; - } - if (roll_model != ROLL_NONE) { - // rolling velocity, - // see eq. 31 of Wang et al, Particuology v 23, p 49 (2015) - // This is different from the Marshall papers, - // which use the Bagi/Kuhn formulation - // for rolling velocity (see Wang et al for why the latter is wrong) - vrl1 = Reff*(relrot2*nz - relrot3*ny); //- 0.5*((radj-radi)/radsum)*vtr1; - vrl2 = Reff*(relrot3*nx - relrot1*nz); //- 0.5*((radj-radi)/radsum)*vtr2; - vrl3 = Reff*(relrot1*ny - relrot2*nx); //- 0.5*((radj-radi)/radsum)*vtr3; - - int rhist0 = roll_history_index; - int rhist1 = rhist0 + 1; - int rhist2 = rhist1 + 1; - - k_roll = roll_coeffs[0]; - damp_roll = roll_coeffs[1]; - Frcrit = roll_coeffs[2] * Fncrit; - - if (history_update) { - rolldotn = history[rhist0]*nx + history[rhist1]*ny + history[rhist2]*nz; - frameupdate = fabs(rolldotn)*k_roll > EPSILON*Frcrit; - if (frameupdate) { // rotate into tangential plane - rollmag = sqrt(history[rhist0]*history[rhist0] + - history[rhist1]*history[rhist1] + - history[rhist2]*history[rhist2]); - // projection - history[rhist0] -= rolldotn*nx; - history[rhist1] -= rolldotn*ny; - history[rhist2] -= rolldotn*nz; - - // also rescale to preserve magnitude - prjmag = sqrt(history[rhist0]*history[rhist0] + - history[rhist1]*history[rhist1] + - history[rhist2]*history[rhist2]); - - if (prjmag > 0) scalefac = rollmag/prjmag; - else scalefac = 0; - history[rhist0] *= scalefac; - history[rhist1] *= scalefac; - history[rhist2] *= scalefac; - } - history[rhist0] += vrl1*dt; - history[rhist1] += vrl2*dt; - history[rhist2] += vrl3*dt; - } - - fr1 = -k_roll*history[rhist0] - damp_roll*vrl1; - fr2 = -k_roll*history[rhist1] - damp_roll*vrl2; - fr3 = -k_roll*history[rhist2] - damp_roll*vrl3; - - // rescale frictional displacements and forces if needed - fr = sqrt(fr1*fr1 + fr2*fr2 + fr3*fr3); - if (fr > Frcrit) { - rollmag = sqrt(history[rhist0]*history[rhist0] + - history[rhist1]*history[rhist1] + - history[rhist2]*history[rhist2]); - if (rollmag != 0.0) { - history[rhist0] = -1.0/k_roll*(Frcrit*fr1/fr + damp_roll*vrl1); - history[rhist1] = -1.0/k_roll*(Frcrit*fr2/fr + damp_roll*vrl2); - history[rhist2] = -1.0/k_roll*(Frcrit*fr3/fr + damp_roll*vrl3); - fr1 *= Frcrit/fr; - fr2 *= Frcrit/fr; - fr3 *= Frcrit/fr; - } else fr1 = fr2 = fr3 = 0.0; - } - } - - //**************************************** - // twisting torque, including history effects - //**************************************** - - if (twist_model != TWIST_NONE) { - magtwist = relrot1*nx + relrot2*ny + relrot3*nz; //Omega_T (eq 29 of Marshall) - if (twist_model == TWIST_MARSHALL) { - k_twist = 0.5*k_tangential*a*a;; // eq 32 of Marshall paper - damp_twist = 0.5*damp_tangential*a*a; - mu_twist = TWOTHIRDS*a*tangential_coeffs[2]; - } - else{ - k_twist = twist_coeffs[0]; - damp_twist = twist_coeffs[1]; - mu_twist = twist_coeffs[2]; - } - if (history_update) { - history[twist_history_index] += magtwist*dt; - } - // M_t torque (eq 30) - magtortwist = -k_twist*history[twist_history_index] - damp_twist*magtwist; - signtwist = (magtwist > 0) - (magtwist < 0); - Mtcrit = mu_twist*Fncrit; // critical torque (eq 44) - if (fabs(magtortwist) > Mtcrit) { - history[twist_history_index] = 1.0/k_twist*(Mtcrit*signtwist - - damp_twist*magtwist); - magtortwist = -Mtcrit * signtwist; // eq 34 - } - } - - // apply forces & torques - - fx = nx*Fntot + fs1; - fy = ny*Fntot + fs2; - fz = nz*Fntot + fs3; - - if (peratom_flag) { - contact[1] = fx; - contact[2] = fy; - contact[3] = fz; - } - - f[0] += fx; - f[1] += fy; - f[2] += fz; - - tor1 = ny*fs3 - nz*fs2; - tor2 = nz*fs1 - nx*fs3; - tor3 = nx*fs2 - ny*fs1; - - torque[0] -= radius*tor1; - torque[1] -= radius*tor2; - torque[2] -= radius*tor3; - - if (twist_model != TWIST_NONE) { - tortwist1 = magtortwist * nx; - tortwist2 = magtortwist * ny; - tortwist3 = magtortwist * nz; - - torque[0] += tortwist1; - torque[1] += tortwist2; - torque[2] += tortwist3; - } - - if (roll_model != ROLL_NONE) { - torroll1 = Reff*(ny*fr3 - nz*fr2); //n cross fr - torroll2 = Reff*(nz*fr1 - nx*fr3); - torroll3 = Reff*(nx*fr2 - ny*fr1); - - torque[0] += torroll1; - torque[1] += torroll2; - torque[2] += torroll3; - } -} - /* ---------------------------------------------------------------------- memory usage of local atom-based arrays ------------------------------------------------------------------------- */ @@ -1692,14 +742,3 @@ void FixWallGran::reset_dt() { dt = update->dt; } - -double FixWallGran::pulloff_distance(double radius) -{ - double coh, E, a, dist; - coh = normal_coeffs[3]; - E = normal_coeffs[0]*THREEQUARTERS; - a = cbrt(9*MY_PI*coh*radius/(4*E)); - dist = a*a/radius - 2*sqrt(MY_PI*coh*a/E); - return dist; -} - diff --git a/src/GRANULAR/fix_wall_gran.h b/src/GRANULAR/fix_wall_gran.h index 8c69be6e16..d0202d65e8 100644 --- a/src/GRANULAR/fix_wall_gran.h +++ b/src/GRANULAR/fix_wall_gran.h @@ -20,15 +20,13 @@ FixStyle(wall/gran,FixWallGran); #ifndef LMP_FIX_WALL_GRAN_H #define LMP_FIX_WALL_GRAN_H +#include "contact.h" #include "fix.h" namespace LAMMPS_NS { class FixWallGran : public Fix { public: - enum { HOOKE, HOOKE_HISTORY, HERTZ_HISTORY, GRANULAR }; - enum { NORMAL_NONE, NORMAL_HOOKE, NORMAL_HERTZ, HERTZ_MATERIAL, DMT, JKR }; - FixWallGran(class LAMMPS *, int, char **); ~FixWallGran() override; int setmask() override; @@ -49,54 +47,32 @@ class FixWallGran : public Fix { int maxsize_restart() override; void reset_dt() override; - void hooke(double, double, double, double, double *, double *, double *, double *, double *, - double, double, double *); - void hooke_history(double, double, double, double, double *, double *, double *, double *, - double *, double, double, double *, double *); - void hertz_history(double, double, double, double, double *, double, double *, double *, double *, - double *, double, double, double *, double *); - void granular(double, double, double, double, double *, double, double *, double *, double *, - double *, double, double, double *, double *); - - double pulloff_distance(double); - protected: int wallstyle, wiggle, wshear, axis; - int pairstyle, nlevels_respa; + int classic_flag, nlevels_respa; bigint time_origin; - double kn, kt, gamman, gammat, xmu; // for granular model choices - int normal_model, damping_model; - int tangential_model, roll_model, twist_model; - int limit_damping; - - // history flags - int normal_history, tangential_history, roll_history, twist_history; + Contact::ContactModel *model; // indices of history entries int normal_history_index; + int damping_history_index; int tangential_history_index; int roll_history_index; int twist_history_index; - // material coefficients - double Emod, poiss, Gmod; - - // contact model coefficients - double normal_coeffs[4]; - double tangential_coeffs[3]; - double roll_coeffs[3]; - double twist_coeffs[3]; - double lo, hi, cylradius; double amplitude, period, omega, vshear; double dt; + double Twall; char *idregion; int use_history; // if particle/wall interaction stores history int history_update; // flag for whether shear history is updated int size_history; // # of shear history values per contact + int heat_flag; + int limit_damping; // shear history for single contact per particle diff --git a/src/GRANULAR/fix_wall_gran_region.cpp b/src/GRANULAR/fix_wall_gran_region.cpp index 6509c88a0b..c288abf92e 100644 --- a/src/GRANULAR/fix_wall_gran_region.cpp +++ b/src/GRANULAR/fix_wall_gran_region.cpp @@ -23,6 +23,7 @@ #include "error.h" #include "memory.h" #include "neighbor.h" +#include "math_extra.h" #include "region.h" #include "update.h" @@ -30,6 +31,7 @@ using namespace LAMMPS_NS; using namespace FixConst; +using namespace MathExtra; /* ---------------------------------------------------------------------- */ @@ -117,8 +119,11 @@ void FixWallGranRegion::init() void FixWallGranRegion::post_force(int /*vflag*/) { int i, m, nc, iwall; - double dx, dy, dz, rsq, meff; + double dx, dy, dz, meff; + double *forces, *torquesi, dq, rwall; double vwall[3]; + double w0[3] = {0.0}; + bool touchflag = false; // do not update shear history during setup @@ -158,7 +163,11 @@ void FixWallGranRegion::post_force(int /*vflag*/) double **torque = atom->torque; double *radius = atom->radius; double *rmass = atom->rmass; - + double *temperature, *heatflux; + if (heat_flag) { + temperature = atom->temperature; + heatflux = atom->heatflux; + } int *mask = atom->mask; int nlocal = atom->nlocal; @@ -172,95 +181,105 @@ void FixWallGranRegion::post_force(int /*vflag*/) if (peratom_flag) { clear_stored_contacts(); } + // Define constant wall properties (atom j) + model->radj = 0.0; + model->omegaj = w0; + if (heat_flag) model->Tj = Twall; + for (i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) { - if (!region->match(x[i][0], x[i][1], x[i][2])) continue; + if (! mask[i] & groupbit) continue; + if (!region->match(x[i][0], x[i][1], x[i][2]))continue; - if (pairstyle == FixWallGran::GRANULAR && normal_model == FixWallGran::JKR) { - nc = region->surface(x[i][0], x[i][1], x[i][2], radius[i] + pulloff_distance(radius[i])); - } else { - nc = region->surface(x[i][0], x[i][1], x[i][2], radius[i]); + nc = region->surface(x[i][0], x[i][1], x[i][2], model->pulloff_distance(radius[i], 0.0)); + if (nc > tmax) error->one(FLERR, "Too many wallgran/region contacts for one particle"); + + // shear history maintenance + // update ncontact,walls,shear2many for particle I + // to reflect new and persistent shear historyvalues + // also set c2r[] = indices into region->contact[]for each of N contacts + // process zero or one contact here, otherwiseinvoke update_contacts() + + if (use_history) { + if (nc == 0) { + ncontact[i] = 0; + continue; } - if (nc > tmax) error->one(FLERR, "Too many wall/gran/region contacts for one particle"); + if (nc == 1) { + c2r[0] = 0; + iwall = region->contact[0].iwall; + if (ncontact[i] == 0) { + ncontact[i] = 1; + walls[i][0] = iwall; + for (m = 0; m < size_history; m++) history_many[i][0][m] = 0.0; + } else if (ncontact[i] > 1 || iwall != walls[i][0]) + update_contacts(i, nc); + } else + update_contacts(i, nc); + } - // shear history maintenance - // update ncontact,walls,shear2many for particle I - // to reflect new and persistent shear history values - // also set c2r[] = indices into region->contact[] for each of N contacts - // process zero or one contact here, otherwise invoke update_contacts() + // process current contacts + for (int ic = 0; ic < nc; ic++) { - if (use_history) { - if (nc == 0) { - ncontact[i] = 0; + // Reset model and copy initial geometric data + model->reset_contact(); + model->xi = x[i]; + model->dx[0] = region->contact[ic].delx; + model->dx[1] = region->contact[ic].dely; + model->dx[2] = region->contact[ic].delz; + model->radi = radius[i]; + model->rwall = rwall; + + touchflag = model->check_contact(); + + + if (model->beyond_contact) { + if (history_many[i][c2r[ic]][0] == 0.0 && model->rsq > model->radsum * model->radsum) { + for (m = 0; m < size_history; m++) history_many[i][0][m] = 0.0; continue; } - if (nc == 1) { - c2r[0] = 0; - iwall = region->contact[0].iwall; - if (ncontact[i] == 0) { - ncontact[i] = 1; - walls[i][0] = iwall; - for (m = 0; m < size_history; m++) history_many[i][0][m] = 0.0; - } else if (ncontact[i] > 1 || iwall != walls[i][0]) - update_contacts(i, nc); - } else - update_contacts(i, nc); - } + } // Dan: not quite sure about this - // process current contacts - for (int ic = 0; ic < nc; ic++) { - // rsq = squared contact distance - // xc = contact point + if (regiondynamic) region->velocity_contact(vwall, x[i], ic); + model->vj = vwall; - rsq = region->contact[ic].r * region->contact[ic].r; + // meff = effective mass of sphere + // if I is part of rigid body, use body mass - if (pairstyle == FixWallGran::GRANULAR && normal_model == FixWallGran::JKR) { - if (history_many[i][c2r[ic]][0] == 0.0 && rsq > radius[i] * radius[i]) { - for (m = 0; m < size_history; m++) history_many[i][0][m] = 0.0; - continue; - } - } + meff = rmass[i]; + if (fix_rigid && mass_rigid[i] > 0.0) meff = mass_rigid[i]; - dx = region->contact[ic].delx; - dy = region->contact[ic].dely; - dz = region->contact[ic].delz; + // Copy additional information and prepare force calculations + model->meff = meff; + model->vi = v[i]; + model->omegai = omega[i]; + model->history_update = history_update; + if (use_history) model->history = history_one[i]; + if (heat_flag) model->Ti = temperature[i]; + model->prep_contact(); - if (regiondynamic) region->velocity_contact(vwall, x[i], ic); + model->calculate_forces(); + if (heat_flag) dq = model->calculate_heat(); - // meff = effective mass of sphere - // if I is part of rigid body, use body mass + forces = model->forces; + torquesi = model->torquesi; - meff = rmass[i]; - if (fix_rigid && mass_rigid[i] > 0.0) meff = mass_rigid[i]; + // apply forces & torques + add3(f[i], forces, f[i]); - // store contact info - if (peratom_flag) { - array_atom[i][0] = 1.0; - array_atom[i][4] = x[i][0] - dx; - array_atom[i][5] = x[i][1] - dy; - array_atom[i][6] = x[i][2] - dz; - array_atom[i][7] = radius[i]; - } + add3(torque[i], torquesi, torque[i]); + if (heat_flag) heatflux[i] += dq; - // invoke sphere/wall interaction - double *contact; - if (peratom_flag) - contact = array_atom[i]; - else - contact = nullptr; - - if (pairstyle == FixWallGran::HOOKE) - hooke(rsq, dx, dy, dz, vwall, v[i], f[i], omega[i], torque[i], radius[i], meff, contact); - else if (pairstyle == FixWallGran::HOOKE_HISTORY) - hooke_history(rsq, dx, dy, dz, vwall, v[i], f[i], omega[i], torque[i], radius[i], meff, - history_many[i][c2r[ic]], contact); - else if (pairstyle == FixWallGran::HERTZ_HISTORY) - hertz_history(rsq, dx, dy, dz, vwall, region->contact[ic].radius, v[i], f[i], omega[i], - torque[i], radius[i], meff, history_many[i][c2r[ic]], contact); - else if (pairstyle == FixWallGran::GRANULAR) - granular(rsq, dx, dy, dz, vwall, region->contact[ic].radius, v[i], f[i], omega[i], - torque[i], radius[i], meff, history_many[i][c2r[ic]], contact); + // store contact info + if (peratom_flag) { + array_atom[i][0] = 1.0; + array_atom[i][1] = forces[0]; + array_atom[i][2] = forces[1]; + array_atom[i][3] = forces[2]; + array_atom[i][4] = x[i][0] - dx; + array_atom[i][5] = x[i][1] - dy; + array_atom[i][6] = x[i][2] - dz; + array_atom[i][7] = radius[i]; } } } diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index e401f8cb84..9b1a036928 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -121,14 +121,14 @@ void PairGranular::compute(int eflag, int vflag) { int i,j,ii,jj,inum,jnum,itype,jtype; double factor_lj,mi,mj,meff,delx,dely,delz; - double *forces, *torquesi, *torquesj; + double *forces, *torquesi, *torquesj, dq; int *ilist,*jlist,*numneigh,**firstneigh; int *touch,**firsttouch; double *history,*allhistory,**firsthistory; bool touchflag = false; - const bool historyupdate = update->setupflag == 0; + const bool history_update = update->setupflag == 0; ev_init(eflag,vflag); @@ -163,7 +163,7 @@ void PairGranular::compute(int eflag, int vflag) int *mask = atom->mask; int nlocal = atom->nlocal; double *special_lj = force->special_lj; - double *heatflux, *temperature, dq; + double *heatflux, *temperature; if (heat_flag) { heatflux = atom->heatflux; temperature = atom->temperature; @@ -234,14 +234,13 @@ void PairGranular::compute(int eflag, int vflag) models[itype][jtype]->vj = v[j]; models[itype][jtype]->omegai = omega[i]; models[itype][jtype]->omegaj = omega[j]; - models[itype][jtype]->history_update = historyupdate; - models[itype][jtype]->history = history; - models[itype][jtype]->prep_contact(); - + models[itype][jtype]->history_update = history_update; + if (use_history) models[itype][jtype]->history = history; if (heat_flag) { models[itype][jtype]->Ti = temperature[i]; models[itype][jtype]->Tj = temperature[j]; } + models[itype][jtype]->prep_contact(); if (models[itype][jtype]->beyond_contact) touch[jj] = 1; @@ -320,9 +319,6 @@ void PairGranular::settings(int narg, char **arg) } else { cutoff_global = -1; // will be set based on particle sizes, model choice } - - normal_history = tangential_history = 0; - roll_history = twist_history = 0; } /* ---------------------------------------------------------------------- @@ -332,7 +328,6 @@ void PairGranular::settings(int narg, char **arg) void PairGranular::coeff(int narg, char **arg) { double cutoff_one = -1; - int ncoeff; if (narg < 3) error->all(FLERR,"Incorrect args for pair coefficients"); @@ -349,26 +344,16 @@ void PairGranular::coeff(int narg, char **arg) //Parse mandatory normal and tangential specifications int iarg = 2; vec_models.back().init_model(std::string(arg[iarg]), NORMAL); - ncoeff = vec_models.back().normal_model->num_coeffs; iarg += 1; - if (iarg + ncoeff >= narg) - error->all(FLERR,"Illegal pair_coeff command" - "Insufficient arguments provided for normal model."); - vec_models.back().normal_model->parse_coeffs(arg, iarg); - iarg += ncoeff; + iarg = vec_models.back().normal_model->parse_coeffs(arg, iarg, narg); if (strcmp(arg[iarg], "tangential") == 0) { if (iarg + 1 >= narg) error->all(FLERR,"Illegal pair_coeff command, must specify " "tangential model after tangential keyword"); vec_models.back().init_model(std::string(arg[iarg]), TANGENTIAL); - ncoeff = vec_models.back().tangential_model->num_coeffs; iarg += 1; - if (iarg + ncoeff >= narg) - error->all(FLERR, "Illegal pair_coeff command" - "Insufficient arguments provided for tangential model."); - vec_models.back().tangential_model->parse_coeffs(arg, iarg); - iarg += ncoeff; + iarg = vec_models.back().tangential_model->parse_coeffs(arg, iarg, narg); } else{ error->all(FLERR, "Illegal pair_coeff command, 'tangential' keyword expected"); } @@ -379,51 +364,27 @@ void PairGranular::coeff(int narg, char **arg) if (iarg + 1 >= narg) error->all(FLERR, "Illegal pair_coeff command, not enough parameters"); vec_models.back().init_model(std::string(arg[iarg]), DAMPING); - ncoeff = vec_models.back().damping_model->num_coeffs; iarg += 1; - if (iarg + ncoeff >= narg) - error->all(FLERR, "Illegal pair_coeff command" - "Insufficient arguments provided for damping model."); - vec_models.back().damping_model->parse_coeffs(arg, iarg); - iarg += ncoeff; - + iarg = vec_models.back().damping_model->parse_coeffs(arg, iarg, narg); } else if (strcmp(arg[iarg], "rolling") == 0) { if (iarg + 1 >= narg) error->all(FLERR, "Illegal pair_coeff command, not enough parameters"); vec_models.back().init_model(std::string(arg[iarg]), ROLLING); - ncoeff = vec_models.back().rolling_model->num_coeffs; iarg += 1; - if (iarg + ncoeff >= narg) - error->all(FLERR, "Illegal pair_coeff command" - "Insufficient arguments provided for rolling model."); - vec_models.back().rolling_model->parse_coeffs(arg, iarg); - iarg += ncoeff; - + iarg = vec_models.back().rolling_model->parse_coeffs(arg, iarg, narg); } else if (strcmp(arg[iarg], "twisting") == 0) { if (iarg + 1 >= narg) error->all(FLERR, "Illegal pair_coeff command, not enough parameters"); vec_models.back().init_model(std::string(arg[iarg]), TWISTING); - ncoeff = vec_models.back().twisting_model->num_coeffs; iarg += 1; - if (iarg + ncoeff >= narg) - error->all(FLERR, "Illegal pair_coeff command" - "Insufficient arguments provided for twisting model."); - vec_models.back().twisting_model->parse_coeffs(arg, iarg); - iarg += ncoeff; - + iarg = vec_models.back().twisting_model->parse_coeffs(arg, iarg, narg); } else if (strcmp(arg[iarg], "heat") == 0) { if (iarg + 1 >= narg) error->all(FLERR, "Illegal pair_coeff command, not enough parameters"); vec_models.back().init_model(std::string(arg[iarg]), HEAT); - ncoeff = vec_models.back().heat_model->num_coeffs; iarg += 1; - if (iarg + ncoeff >= narg) - error->all(FLERR, "Illegal pair_coeff command" - "Insufficient arguments provided for heat model."); - vec_models.back().heat_model->parse_coeffs(arg, iarg); - iarg += ncoeff; + iarg = vec_models.back().heat_model->parse_coeffs(arg, iarg, narg); heat_flag = 1; - } else if (strcmp(arg[iarg], "cutoff") == 0) { if (iarg + 1 >= narg) error->all(FLERR, "Illegal pair_coeff command, not enough parameters"); @@ -437,11 +398,9 @@ void PairGranular::coeff(int narg, char **arg) } else error->all(FLERR, "Illegal pair_coeff command"); } - // Define default damping model if unspecified, takes no args - if (!vec_models.back().damping_model) { + // Define default damping model if unspecified, has no coeffs + if (!vec_models.back().damping_model) vec_models.back().init_model("viscoelastic", DAMPING); - vec_models.back().damping_model->parse_coeffs(arg, 0); - } if (vec_models.back().limit_damping && !vec_models.back().normal_model->allow_limit_damping) error->all(FLERR,"Illegal pair_coeff command, " @@ -483,11 +442,7 @@ void PairGranular::init_style() int size_twisting_history = 0; for (int i = 1; i <= atom->ntypes; i++) { for (int j = i; j <= atom->ntypes; j++) { - if (models[i][j]->normal_model->size_history != 0 || - models[i][j]->damping_model->size_history != 0 || - models[i][j]->tangential_model->size_history != 0 || - models[i][j]->rolling_model->size_history != 0 || - models[i][j]->twisting_model->size_history != 0) use_history = 1; + if (models[i][j]->size_history != 0) use_history = 1; if (models[i][j]->normal_model->size_history > size_normal_history) size_normal_history = models[i][j]->damping_model->size_history; @@ -495,10 +450,12 @@ void PairGranular::init_style() size_damping_history = models[i][j]->normal_model->size_history; if (models[i][j]->tangential_model->size_history > size_tangential_history) size_tangential_history = models[i][j]->tangential_model->size_history; - if (models[i][j]->rolling_model->size_history > size_rolling_history) - size_rolling_history = models[i][j]->rolling_model->size_history; - if (models[i][j]->twisting_model->size_history > size_twisting_history) - size_twisting_history = models[i][j]->twisting_model->size_history; + if (models[i][j]->rolling_model) + if (models[i][j]->rolling_model->size_history > size_rolling_history) + size_rolling_history = models[i][j]->rolling_model->size_history; + if (models[i][j]->twisting_model) + if (models[i][j]->twisting_model->size_history > size_twisting_history) + size_twisting_history = models[i][j]->twisting_model->size_history; } } @@ -506,9 +463,21 @@ void PairGranular::init_style() size_tangential_history + size_rolling_history + size_twisting_history; damping_history_index = size_normal_history; - tangential_history_index = size_normal_history + damping_history_index; - roll_history_index = size_normal_history + damping_history_index + size_tangential_history; - twist_history_index = size_normal_history + damping_history_index + size_tangential_history + size_rolling_history; + tangential_history_index = damping_history_index + size_damping_history; + roll_history_index = tangential_history_index + size_tangential_history; + twist_history_index = roll_history_index + size_rolling_history; + + for (int i = 1; i <= atom->ntypes; i++) { + for (int j = i; j <= atom->ntypes; j++) { + models[i][j]->normal_model->history_index = 0; + models[i][j]->damping_model->history_index = damping_history_index; + models[i][j]->tangential_model->history_index = tangential_history_index; + if (models[i][j]->rolling_model) + models[i][j]->rolling_model->history_index = roll_history_index; + if (models[i][j]->twisting_model) + models[i][j]->twisting_model->history_index = twist_history_index; + } + } if (use_history) neighbor->add_request(this, NeighConst::REQ_SIZE|NeighConst::REQ_HISTORY); else neighbor->add_request(this, NeighConst::REQ_SIZE); diff --git a/src/GRANULAR/pair_granular.h b/src/GRANULAR/pair_granular.h index 1032cf6b7c..68b83d3686 100644 --- a/src/GRANULAR/pair_granular.h +++ b/src/GRANULAR/pair_granular.h @@ -75,9 +75,6 @@ class PairGranular : public Pair { std::vector vec_models; Contact::ContactModel ***models; - // history flags - int normal_history, tangential_history, roll_history, twist_history; - // indices of history entries int normal_history_index; int damping_history_index; diff --git a/src/contact.h b/src/contact.h index 96758771b4..bd04fe9ce1 100644 --- a/src/contact.h +++ b/src/contact.h @@ -52,7 +52,7 @@ class ContactModel : protected Pointers { double pulloff_distance(double, double); void init_model(std::string, ModelType); - + int init_classic_model(char **, int, int); void mix_coeffs(ContactModel*, ContactModel*); void write_restart(FILE *); @@ -68,7 +68,7 @@ class ContactModel : protected Pointers { SubModel *sub_models[6]; // Need to resize if we add more model flavors // Extra options - int beyond_contact, limit_damping, history_update; + int beyond_contact, limit_damping, history_update, wall_flag; double cutoff_type; // History variables @@ -79,7 +79,7 @@ class ContactModel : protected Pointers { // Contact properties/output double *forces, *torquesi, *torquesj; - double radi, radj, meff, dt, Ti, Tj, area; + double radi, radj, rwall, meff, dt, Ti, Tj, area; double Fntot, magtortwist; double *xi, *xj, *vi, *vj, *omegai, *omegaj; From 12c1923511e802b3b531e34b24fcf386f187dab5 Mon Sep 17 00:00:00 2001 From: Joel Thomas Clemmer Date: Fri, 12 Aug 2022 17:36:53 -0600 Subject: [PATCH 016/448] Updating mixing --- src/GRANULAR/contact_normal_models.cpp | 14 ++++++-------- src/GRANULAR/contact_normal_models.h | 2 +- src/GRANULAR/contact_tangential_models.cpp | 2 +- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/GRANULAR/contact_normal_models.cpp b/src/GRANULAR/contact_normal_models.cpp index 6a6db39189..514ed1338a 100644 --- a/src/GRANULAR/contact_normal_models.cpp +++ b/src/GRANULAR/contact_normal_models.cpp @@ -144,7 +144,6 @@ void NormalHertz::mix_coeffs(NormalModel* imodel, NormalModel* jmodel) double NormalHertz::calculate_forces() { - contact->area = sqrt(contact->dR); Fne = knfac * contact->delta; return Fne; } @@ -173,7 +172,7 @@ void NormalHertzMaterial::coeffs_to_local() Emod = coeffs[0]; damp = coeffs[1]; poiss = coeffs[2]; - k = 4 / 3 * Emod; + k = 4 / 3 * mix_stiffnessE(Emod, Emod, poiss, poiss); if (Emod < 0.0 || damp < 0.0) error->all(FLERR, "Illegal Hertz material normal model"); } @@ -182,7 +181,7 @@ void NormalHertzMaterial::coeffs_to_local() void NormalHertzMaterial::mix_coeffs(NormalModel* imodel, NormalModel* jmodel) { - coeffs[0] = mix_geom(imodel->coeffs[0], jmodel->coeffs[0]); + coeffs[0] = mix_stiffnessE(imodel->coeffs[0], jmodel->coeffs[0]); coeffs[1] = mix_geom(imodel->coeffs[1], jmodel->coeffs[1]); coeffs[2] = mix_geom(imodel->coeffs[2], jmodel->coeffs[2]); coeffs_to_local(); @@ -207,7 +206,7 @@ void NormalDMT::coeffs_to_local() damp = coeffs[1]; poiss = coeffs[2]; cohesion = coeffs[3]; - k = 4 / 3 * Emod; + k = 4 / 3 * mix_stiffnessE(Emod, Emod, poiss, poiss); if (Emod < 0.0 || damp < 0.0) error->all(FLERR, "Illegal DMT normal model"); } @@ -216,7 +215,7 @@ void NormalDMT::coeffs_to_local() void NormalDMT::mix_coeffs(NormalModel* imodel, NormalModel* jmodel) { - coeffs[0] = mix_geom(imodel->coeffs[0], jmodel->coeffs[0]); + coeffs[0] = mix_stiffnessE(imodel->coeffs[0], jmodel->coeffs[0]); coeffs[1] = mix_geom(imodel->coeffs[1], jmodel->coeffs[1]); coeffs[2] = mix_geom(imodel->coeffs[2], jmodel->coeffs[2]); coeffs[3] = mix_geom(imodel->coeffs[3], jmodel->coeffs[3]); @@ -267,8 +266,7 @@ void NormalJKR::coeffs_to_local() damp = coeffs[1]; poiss = coeffs[2]; cohesion = coeffs[3]; - k = 4/3*Emod; - Escaled = k * THREEQUARTERS; + Escaled = mix_stiffnessE(Emod, Emod, poiss, poiss); //Dan, not sure why these coefficients are mixed in the regular pair style if (Emod < 0.0 || damp < 0.0) error->all(FLERR, "Illegal JKR normal model"); } @@ -277,7 +275,7 @@ void NormalJKR::coeffs_to_local() void NormalJKR::mix_coeffs(NormalModel* imodel, NormalModel* jmodel) { - coeffs[0] = mix_geom(imodel->coeffs[0], jmodel->coeffs[0]); + coeffs[0] = mix_stiffnessE(imodel->coeffs[0], jmodel->coeffs[0]); coeffs[1] = mix_geom(imodel->coeffs[1], jmodel->coeffs[1]); coeffs[2] = mix_geom(imodel->coeffs[2], jmodel->coeffs[2]); coeffs[3] = mix_geom(imodel->coeffs[3], jmodel->coeffs[3]); diff --git a/src/GRANULAR/contact_normal_models.h b/src/GRANULAR/contact_normal_models.h index 74e2800eaa..080e019d4d 100644 --- a/src/GRANULAR/contact_normal_models.h +++ b/src/GRANULAR/contact_normal_models.h @@ -108,7 +108,7 @@ class NormalJKR: public NormalModel { void set_knfac(); void set_fncrit(); private: - double k, cohesion; + double cohesion; double Escaled, F_pulloff; }; diff --git a/src/GRANULAR/contact_tangential_models.cpp b/src/GRANULAR/contact_tangential_models.cpp index 4f25e96071..89817ba00c 100644 --- a/src/GRANULAR/contact_tangential_models.cpp +++ b/src/GRANULAR/contact_tangential_models.cpp @@ -185,7 +185,7 @@ void TangentialMindlin::coeffs_to_local() if (k == -1) { if (!contact->normal_model->material_properties) error->all(FLERR, "Must either specify tangential stiffness or material properties for normal model for the Mindlin tangential style"); - k = 8.0 * mix_stiffnessE(contact->normal_model->Emod, contact->normal_model->Emod, contact->normal_model->poiss, contact->normal_model->poiss); + k = 8.0 * mix_stiffnessG(contact->normal_model->Emod, contact->normal_model->Emod, contact->normal_model->poiss, contact->normal_model->poiss); } if (k < 0.0 || xt < 0.0 || mu < 0.0) From 92c10cc2103d1a80ab03b8cfc4de154b84077d87 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Wed, 24 Aug 2022 12:19:27 -0600 Subject: [PATCH 017/448] Fixing memory issues, passing lmp ptr to submodels, and other misc fixes/changes --- doc/src/pair_granular.rst | 2 +- src/GRANULAR/contact.cpp | 124 +++++---- src/GRANULAR/contact.h | 16 +- src/GRANULAR/contact_damping_models.cpp | 24 +- src/GRANULAR/contact_damping_models.h | 20 +- src/GRANULAR/contact_heat_models.cpp | 8 +- src/GRANULAR/contact_heat_models.h | 8 +- src/GRANULAR/contact_normal_models.cpp | 57 ++-- src/GRANULAR/contact_normal_models.h | 32 ++- src/GRANULAR/contact_rolling_models.cpp | 8 +- src/GRANULAR/contact_rolling_models.h | 8 +- src/GRANULAR/contact_sub_models.cpp | 14 +- src/GRANULAR/contact_sub_models.h | 5 +- src/GRANULAR/contact_tangential_models.cpp | 33 ++- src/GRANULAR/contact_tangential_models.h | 48 ++-- src/GRANULAR/contact_twisting_models.cpp | 14 +- src/GRANULAR/contact_twisting_models.h | 12 +- src/GRANULAR/fix_pour.cpp | 1 + src/GRANULAR/fix_wall_gran.cpp | 161 ++++++------ src/GRANULAR/fix_wall_gran.h | 7 - src/GRANULAR/fix_wall_gran_region.cpp | 34 ++- src/GRANULAR/pair_granular.cpp | 287 ++++++++++----------- src/GRANULAR/pair_granular.h | 9 +- src/contact.h | 16 +- 24 files changed, 511 insertions(+), 437 deletions(-) diff --git a/doc/src/pair_granular.rst b/doc/src/pair_granular.rst index c14d94a77a..d630b18a3a 100644 --- a/doc/src/pair_granular.rst +++ b/doc/src/pair_granular.rst @@ -659,7 +659,7 @@ is equivalent to *pair gran/hooke 1000.0 NULL 50.0 50.0 0.4 1*\ . The second example is equivalent to *pair gran/hooke/history 1000.0 500.0 50.0 50.0 0.4 1*\ . The third example is equivalent to -*pair gran/hertz/history 1000.0 500.0 50.0 50.0 0.4 1*\ . +*pair gran/hertz/history 1000.0 500.0 50.0 50.0 0.4 1 limit_damping*\ . ---------- diff --git a/src/GRANULAR/contact.cpp b/src/GRANULAR/contact.cpp index 7ce3d8c739..a59eca9374 100644 --- a/src/GRANULAR/contact.cpp +++ b/src/GRANULAR/contact.cpp @@ -18,9 +18,6 @@ */ #include "contact.h" -#include "pointers.h" -#include "math_const.h" -#include "math_extra.h" #include "contact_sub_models.h" #include "contact_normal_models.h" #include "contact_tangential_models.h" @@ -31,33 +28,48 @@ #include "comm.h" #include "error.h" #include "force.h" +#include "math_extra.h" #include +using namespace LAMMPS_NS; +using namespace Contact; using namespace MathExtra; -using namespace LAMMPS_NS::MathConst; -using namespace LAMMPS_NS::Contact; -ContactModel::ContactModel() : - Pointers(lmp) +ContactModel::ContactModel(LAMMPS *lmp) : Pointers(lmp) { limit_damping = 0; beyond_contact = 0; nondefault_history_transfer = 0; - cutoff_type = 0.0; - wall_flag = 0; - nmodels = 5; + nmodels = 6; + + wall_type = NONE; reset_contact(); + normal_model = nullptr; + damping_model = nullptr; + tangential_model = nullptr; + rolling_model = nullptr; + twisting_model = nullptr; + heat_model = nullptr; + for (int i = 0; i < nmodels; i++) sub_models[i] = nullptr; + transfer_history_factor = nullptr; } /* ---------------------------------------------------------------------- */ ContactModel::~ContactModel() { - delete[] transfer_history_factor; + delete [] transfer_history_factor; + + delete normal_model; + delete damping_model; + delete tangential_model; + delete rolling_model; + delete twisting_model; + delete heat_model; } /* ---------------------------------------------------------------------- */ @@ -65,52 +77,52 @@ ContactModel::~ContactModel() void ContactModel::init_model(std::string model_name, ModelType model_type) { if (model_type == NORMAL) { - if (model_name == "hooke") normal_model = new NormalHooke(); - else if (model_name == "hertz") normal_model = new NormalHertz(); - else if (model_name == "hertz/material") normal_model = new NormalHertzMaterial(); - else if (model_name == "dmt") normal_model = new NormalDMT(); - else if (model_name == "jkr") normal_model = new NormalJKR(); - else error->all(FLERR, "Normal model name not recognized"); + if (model_name == "hooke") normal_model = new NormalHooke(lmp); + else if (model_name == "hertz") normal_model = new NormalHertz(lmp); + else if (model_name == "hertz/material") normal_model = new NormalHertzMaterial(lmp); + else if (model_name == "dmt") normal_model = new NormalDMT(lmp); + else if (model_name == "jkr") normal_model = new NormalJKR(lmp); + else error->all(FLERR, "Normal model name {} not recognized", model_name); sub_models[model_type] = normal_model; } else if (model_type == TANGENTIAL) { - if (model_name =="linear_nohistory") tangential_model = new TangentialLinearNoHistory(); - else if (model_name =="linear_history") tangential_model = new TangentialLinearHistory(); - else if (model_name =="mindlin") tangential_model = new TangentialMindlin(); - else if (model_name =="mindlin/force") tangential_model = new TangentialMindlinForce(); - else if (model_name =="mindlin_rescale") tangential_model = new TangentialMindlinRescale(); - else if (model_name =="mindlin_rescale/force") tangential_model = new TangentialMindlinRescaleForce(); - else error->all(FLERR, "Tangential model name not recognized"); + if (model_name == "linear_nohistory") tangential_model = new TangentialLinearNoHistory(lmp); + else if (model_name == "linear_history") tangential_model = new TangentialLinearHistory(lmp); + else if (model_name == "mindlin") tangential_model = new TangentialMindlin(lmp); + else if (model_name == "mindlin/force") tangential_model = new TangentialMindlinForce(lmp); + else if (model_name == "mindlin_rescale") tangential_model = new TangentialMindlinRescale(lmp); + else if (model_name == "mindlin_rescale/force") tangential_model = new TangentialMindlinRescaleForce(lmp); + else error->all(FLERR, "Tangential model name {} not recognized", model_name); sub_models[model_type] = tangential_model; } else if (model_type == DAMPING) { - if (model_name =="velocity") damping_model = new DampingVelocity(); - else if (model_name =="mass_velocity") damping_model = new DampingMassVelocity(); - else if (model_name =="viscoelastic") damping_model = new DampingViscoelastic(); - else if (model_name =="tsuji") damping_model = new DampingTsuji(); - else error->all(FLERR, "Damping model name not recognized"); + if (model_name == "velocity") damping_model = new DampingVelocity(lmp); + else if (model_name == "mass_velocity") damping_model = new DampingMassVelocity(lmp); + else if (model_name == "viscoelastic") damping_model = new DampingViscoelastic(lmp); + else if (model_name == "tsuji") damping_model = new DampingTsuji(lmp); + else error->all(FLERR, "Damping model name {} not recognized", model_name); sub_models[model_type] = damping_model; } else if (model_type == ROLLING) { - if (model_name =="none") delete rolling_model; - else if (model_name =="sds") rolling_model = new RollingSDS(); - else error->all(FLERR, "Rolling model name not recognized"); + if (model_name == "none") delete rolling_model; + else if (model_name == "sds") rolling_model = new RollingSDS(lmp); + else error->all(FLERR, "Rolling model name {} not recognized", model_name); sub_models[model_type] = rolling_model; } else if (model_type == TWISTING) { - if (model_name =="none") delete twisting_model; - else if (model_name =="sds") twisting_model = new TwistingSDS(); - else if (model_name =="marshall") twisting_model = new TwistingMarshall(); - else error->all(FLERR, "Twisting model name not recognized"); + if (model_name == "none") delete twisting_model; + else if (model_name == "sds") twisting_model = new TwistingSDS(lmp); + else if (model_name == "marshall") twisting_model = new TwistingMarshall(lmp); + else error->all(FLERR, "Twisting model name {} not recognized", model_name); sub_models[model_type] = twisting_model; } else if (model_type == HEAT) { - if (model_name =="none") delete heat_model; - else if (model_name =="area") heat_model = new HeatArea(); - else error->all(FLERR, "Heat model name not recognized"); + if (model_name == "none") delete heat_model; + else if (model_name == "area") heat_model = new HeatArea(lmp); + else error->all(FLERR, "Heat model name not {} recognized", model_name); sub_models[model_type] = heat_model; } else { - error->all(FLERR, "Illegal model type"); + error->all(FLERR, "Illegal model type {}", model_type); } sub_models[model_type]->name.assign(model_name); @@ -198,10 +210,9 @@ void ContactModel::init() } } - transfer_history_factor = new double(size_history); - for (i = 0; i < size_history; i++) transfer_history_factor[i] = -1.0; - if (nondefault_history_transfer) { + transfer_history_factor = new double[size_history]; + for (i = 0; i < size_history; i++) { // Find which model controls this history value size_cumulative = 0; @@ -216,10 +227,15 @@ void ContactModel::init() if (j != nmodels) { if (sub_models[j]->nondefault_history_transfer) { transfer_history_factor[i] = sub_models[j]->transfer_history_factor[i - size_cumulative]; + } else { + transfer_history_factor[i] = -1; } } } } + + for (i = 0; i < nmodels; i++) + if (sub_models[i]) sub_models[i]->init(); } /* ---------------------------------------------------------------------- */ @@ -231,7 +247,6 @@ void ContactModel::mix_coeffs(ContactModel *c1, ContactModel *c2) sub_models[i]->mix_coeffs(c1->sub_models[i], c2->sub_models[i]); limit_damping = MAX(c1->limit_damping, c2->limit_damping); - cutoff_type = MAX(c1->cutoff_type, c2->cutoff_type); } /* ---------------------------------------------------------------------- */ @@ -301,15 +316,22 @@ void ContactModel::reset_contact() /* ---------------------------------------------------------------------- */ -bool ContactModel::check_contact() +bool ContactModel::check_contact(double rtemp) { check_flag = 1; - if (wall_flag) { + if (wall_type == RWALL) { + // Used by fix_wall_gran.cpp rsq = lensq3(dx); radsum = radi; - if (rwall == 0) Reff = radi; - else Reff = radi * rwall/(radi + rwall); + if (rtemp == 0) Reff = radi; + else Reff = radi * rtemp/(radi + rtemp); + } else if (wall_type == RDUPLICATE) { + // Used by fix_wall_gran_region.cpp + rsq = rtemp * rtemp; + radsum = radi + radi; + if (rtemp == 0) Reff = radi; + else Reff = radi * rtemp/(radi + rtemp); } else { sub3(xi, xj, dx); rsq = lensq3(dx); @@ -389,17 +411,17 @@ void ContactModel::calculate_forces() //********************************************** // calculate forces //********************************************** - + forces[0] = 0.0; double Fne, Fdamp; area = normal_model->calculate_area(); + normal_model->set_knfac(); Fne = normal_model->calculate_forces(); - normal_model->set_knfac(); // Needed for damping Fdamp = damping_model->calculate_forces(); + Fntot = Fne + Fdamp; normal_model->set_fncrit(); // Needed for tangential, rolling, twisting - Fntot = Fne + Fdamp; if (limit_damping && Fntot < 0.0) Fntot = 0.0; tangential_model->calculate_forces(); diff --git a/src/GRANULAR/contact.h b/src/GRANULAR/contact.h index bd04fe9ce1..4c38657ed7 100644 --- a/src/GRANULAR/contact.h +++ b/src/GRANULAR/contact.h @@ -26,6 +26,12 @@ enum ModelType { ROLLING = 3, TWISTING = 4, HEAT = 5 +}; // Relative order matters since some derive coeffs from others + +enum WallType { + NONE = 0, + RWALL = 1, + RDUPLICATE = 2 }; #define EPSILON 1e-10 @@ -41,10 +47,10 @@ class SubModel; class ContactModel : protected Pointers { public: - ContactModel(); + ContactModel(class LAMMPS *); ~ContactModel(); void init(); - bool check_contact(); + bool check_contact(double = 0); void reset_contact(); void prep_contact(); void calculate_forces(); @@ -68,8 +74,8 @@ class ContactModel : protected Pointers { SubModel *sub_models[6]; // Need to resize if we add more model flavors // Extra options - int beyond_contact, limit_damping, history_update, wall_flag; - double cutoff_type; + int beyond_contact, limit_damping, history_update; + WallType wall_type; // History variables int size_history, nondefault_history_transfer; @@ -77,7 +83,7 @@ class ContactModel : protected Pointers { double *history; // Contact properties/output - double *forces, *torquesi, *torquesj; + double forces[3], torquesi[3], torquesj[3]; double radi, radj, rwall, meff, dt, Ti, Tj, area; double Fntot, magtortwist; diff --git a/src/GRANULAR/contact_damping_models.cpp b/src/GRANULAR/contact_damping_models.cpp index 7a79c6946c..8d44746683 100644 --- a/src/GRANULAR/contact_damping_models.cpp +++ b/src/GRANULAR/contact_damping_models.cpp @@ -24,7 +24,11 @@ using namespace MathSpecial; Default damping model ------------------------------------------------------------------------- */ -void DampingModel::coeffs_to_local() +DampingModel::DampingModel(LAMMPS *lmp) : SubModel(lmp) {} + +/* ---------------------------------------------------------------------- */ + +void DampingModel::init() { damp = contact->normal_model->damp; } @@ -33,6 +37,10 @@ void DampingModel::coeffs_to_local() Velocity damping ------------------------------------------------------------------------- */ +DampingVelocity::DampingVelocity(LAMMPS *lmp) : DampingModel(lmp) {} + +/* ---------------------------------------------------------------------- */ + double DampingVelocity::calculate_forces() { return -damp * contact->vnnr; @@ -42,6 +50,10 @@ double DampingVelocity::calculate_forces() Mass velocity damping ------------------------------------------------------------------------- */ +DampingMassVelocity::DampingMassVelocity(LAMMPS *lmp) : DampingModel(lmp) {} + +/* ---------------------------------------------------------------------- */ + double DampingMassVelocity::calculate_forces() { return -damp * contact->meff * contact->vnnr; @@ -51,6 +63,10 @@ double DampingMassVelocity::calculate_forces() Default, viscoelastic damping ------------------------------------------------------------------------- */ +DampingViscoelastic::DampingViscoelastic(LAMMPS *lmp) : DampingModel(lmp) {} + +/* ---------------------------------------------------------------------- */ + double DampingViscoelastic::calculate_forces() { return -damp * contact->meff * contact->area * contact->vnnr; @@ -60,7 +76,11 @@ double DampingViscoelastic::calculate_forces() Tsuji damping ------------------------------------------------------------------------- */ -void DampingTsuji::coeffs_to_local() +DampingTsuji::DampingTsuji(LAMMPS *lmp) : DampingModel(lmp) {} + +/* ---------------------------------------------------------------------- */ + +void DampingTsuji::init() { double tmp = contact->normal_model->damp; damp = 1.2728 - 4.2783 * tmp + 11.087 * square(tmp); diff --git a/src/GRANULAR/contact_damping_models.h b/src/GRANULAR/contact_damping_models.h index 440ab36369..70294edc6a 100644 --- a/src/GRANULAR/contact_damping_models.h +++ b/src/GRANULAR/contact_damping_models.h @@ -15,46 +15,52 @@ #define CONTACT_DAMPING_MODELS_H_ #include "contact_sub_models.h" +#include "pointers.h" namespace LAMMPS_NS { namespace Contact { class DampingModel : public SubModel { public: - DampingModel() {}; + DampingModel(class LAMMPS *); ~DampingModel() {}; - virtual void coeffs_to_local(); + virtual void coeffs_to_local() {}; virtual void mix_coeffs(DampingModel*, DampingModel*) {}; + virtual void init(); virtual double calculate_forces() = 0; double damp; }; /* ---------------------------------------------------------------------- */ -class DampingVelocity: public DampingModel { +class DampingVelocity : public DampingModel { public: + DampingVelocity(class LAMMPS *); double calculate_forces(); }; /* ---------------------------------------------------------------------- */ -class DampingMassVelocity: public DampingModel { +class DampingMassVelocity : public DampingModel { public: + DampingMassVelocity(class LAMMPS *); double calculate_forces(); }; /* ---------------------------------------------------------------------- */ -class DampingViscoelastic: public DampingModel { +class DampingViscoelastic : public DampingModel { public: + DampingViscoelastic(class LAMMPS *); double calculate_forces(); }; /* ---------------------------------------------------------------------- */ -class DampingTsuji: public DampingModel { +class DampingTsuji : public DampingModel { public: - void coeffs_to_local(); + DampingTsuji(class LAMMPS *); + void init(); double calculate_forces(); }; diff --git a/src/GRANULAR/contact_heat_models.cpp b/src/GRANULAR/contact_heat_models.cpp index 3793f774c2..d25955b1c2 100644 --- a/src/GRANULAR/contact_heat_models.cpp +++ b/src/GRANULAR/contact_heat_models.cpp @@ -18,11 +18,17 @@ using namespace LAMMPS_NS; using namespace Contact; +/* ---------------------------------------------------------------------- + Default heat conduction +------------------------------------------------------------------------- */ + +HeatModel::HeatModel(LAMMPS *lmp) : SubModel(lmp) {} + /* ---------------------------------------------------------------------- Area-based heat conduction ------------------------------------------------------------------------- */ -HeatArea::HeatArea() +HeatArea::HeatArea(LAMMPS *lmp) : HeatModel(lmp) { num_coeffs = 1; } diff --git a/src/GRANULAR/contact_heat_models.h b/src/GRANULAR/contact_heat_models.h index 469a53cb13..b3104e9f3a 100644 --- a/src/GRANULAR/contact_heat_models.h +++ b/src/GRANULAR/contact_heat_models.h @@ -21,7 +21,7 @@ namespace Contact { class HeatModel : public SubModel { public: - HeatModel() {}; + HeatModel(class LAMMPS *); ~HeatModel() {}; virtual void coeffs_to_local() {}; virtual void mix_coeffs(HeatModel*, HeatModel*) {}; @@ -30,13 +30,13 @@ class HeatModel : public SubModel { /* ---------------------------------------------------------------------- */ -class HeatArea: public HeatModel { +class HeatArea : public HeatModel { public: - HeatArea(); + HeatArea(class LAMMPS *); void coeffs_to_local(); void mix_coeffs(HeatModel*, HeatModel*); double calculate_heat(); - private: + protected: double conductivity; }; diff --git a/src/GRANULAR/contact_normal_models.cpp b/src/GRANULAR/contact_normal_models.cpp index 6a6db39189..f4d4848833 100644 --- a/src/GRANULAR/contact_normal_models.cpp +++ b/src/GRANULAR/contact_normal_models.cpp @@ -32,7 +32,7 @@ using namespace MathConst; Default normal model ------------------------------------------------------------------------- */ -NormalModel::NormalModel() +NormalModel::NormalModel(LAMMPS *lmp) : SubModel(lmp) { material_properties = 0; } @@ -72,10 +72,9 @@ void NormalModel::set_fncrit() Hookean normal force ------------------------------------------------------------------------- */ -NormalHooke::NormalHooke() +NormalHooke::NormalHooke(LAMMPS *lmp) : NormalModel(lmp) { num_coeffs = 2; - allocate_coeffs(); } /* ---------------------------------------------------------------------- */ @@ -116,7 +115,7 @@ void NormalHooke::set_knfac() Hertzian normal force ------------------------------------------------------------------------- */ -NormalHertz::NormalHertz() +NormalHertz::NormalHertz(LAMMPS *lmp) : NormalModel(lmp) { num_coeffs = 2; } @@ -160,7 +159,7 @@ void NormalHertz::set_knfac() Hertzian normal force with material properties ------------------------------------------------------------------------- */ -NormalHertzMaterial::NormalHertzMaterial() +NormalHertzMaterial::NormalHertzMaterial(LAMMPS *lmp) : NormalHertz(lmp) { material_properties = 1; num_coeffs = 3; @@ -173,7 +172,7 @@ void NormalHertzMaterial::coeffs_to_local() Emod = coeffs[0]; damp = coeffs[1]; poiss = coeffs[2]; - k = 4 / 3 * Emod; + k = FOURTHIRDS * Emod; if (Emod < 0.0 || damp < 0.0) error->all(FLERR, "Illegal Hertz material normal model"); } @@ -192,7 +191,7 @@ void NormalHertzMaterial::mix_coeffs(NormalModel* imodel, NormalModel* jmodel) DMT normal force ------------------------------------------------------------------------- */ -NormalDMT::NormalDMT() +NormalDMT::NormalDMT(LAMMPS *lmp) : NormalModel(lmp) { allow_limit_damping = 0; material_properties = 1; @@ -207,7 +206,7 @@ void NormalDMT::coeffs_to_local() damp = coeffs[1]; poiss = coeffs[2]; cohesion = coeffs[3]; - k = 4 / 3 * Emod; + k = FOURTHIRDS * Emod; if (Emod < 0.0 || damp < 0.0) error->all(FLERR, "Illegal DMT normal model"); } @@ -228,7 +227,7 @@ void NormalDMT::mix_coeffs(NormalModel* imodel, NormalModel* jmodel) double NormalDMT::calculate_forces() { Fne = knfac * contact->delta; - F_pulloff = 4 * MathConst::MY_PI * cohesion * contact->Reff; + F_pulloff = 4.0 * MathConst::MY_PI * cohesion * contact->Reff; Fne -= F_pulloff; return Fne; } @@ -244,14 +243,14 @@ void NormalDMT::set_knfac() void NormalDMT::set_fncrit() { - Fncrit = fabs(Fne + 2 * F_pulloff); + Fncrit = fabs(Fne + 2.0 * F_pulloff); } /* ---------------------------------------------------------------------- JKR normal force ------------------------------------------------------------------------- */ -NormalJKR::NormalJKR() +NormalJKR::NormalJKR(LAMMPS *lmp) : NormalModel(lmp) { allow_limit_damping = 0; material_properties = 1; @@ -267,7 +266,7 @@ void NormalJKR::coeffs_to_local() damp = coeffs[1]; poiss = coeffs[2]; cohesion = coeffs[3]; - k = 4/3*Emod; + k = FOURTHIRDS * Emod; Escaled = k * THREEQUARTERS; if (Emod < 0.0 || damp < 0.0) error->all(FLERR, "Illegal JKR normal model"); @@ -291,11 +290,15 @@ bool NormalJKR::touch() double area_at_pulloff, R2, delta_pulloff, dist_pulloff; bool touchflag; - R2 = contact->Reff * contact->Reff; - area_at_pulloff = cbrt(9.0 * MY_PI * cohesion * R2 / (4 * Escaled)); - delta_pulloff = area_at_pulloff * area_at_pulloff / contact->Reff - 2 * sqrt(MY_PI * cohesion * area_at_pulloff /Escaled); - dist_pulloff = contact->radsum - delta_pulloff; - touchflag = (contact->rsq < dist_pulloff * dist_pulloff); + if (contact->touch) { + R2 = contact->Reff * contact->Reff; + area_at_pulloff = cbrt(9.0 * MY_PI * cohesion * R2 / (4.0 * Escaled)); + delta_pulloff = area_at_pulloff * area_at_pulloff / contact->Reff - 2.0 * sqrt(MY_PI * cohesion * area_at_pulloff /Escaled); + dist_pulloff = contact->radsum - delta_pulloff; + touchflag = contact->rsq < (dist_pulloff * dist_pulloff); + } else { + touchflag = contact->rsq < (contact->radsum * contact->radsum); + } return touchflag; } @@ -311,8 +314,8 @@ double NormalJKR::pulloff_distance(double radi, double radj) Reff_tmp = radi * radj / (radi + radj); // May not be defined if (Reff_tmp <= 0) return 0; - area_at_pulloff = cbrt(9 * MY_PI * cohesion * Reff_tmp * Reff_tmp / (4 * Escaled)); - return area_at_pulloff * area_at_pulloff / Reff_tmp - 2 * sqrt(MY_PI * cohesion * area_at_pulloff / Escaled); + area_at_pulloff = cbrt(9.0 * MY_PI * cohesion * Reff_tmp * Reff_tmp / (4.0 * Escaled)); + return area_at_pulloff * area_at_pulloff / Reff_tmp - 2.0 * sqrt(MY_PI * cohesion * area_at_pulloff / Escaled); } /* ---------------------------------------------------------------------- */ @@ -326,16 +329,16 @@ double NormalJKR::calculate_area() dR2 = contact->dR * contact->dR; t0 = cohesion * cohesion * R2 * R2 * Escaled; t1 = PI27SQ * t0; - t2 = 8 * contact->dR * dR2 * Escaled * Escaled * Escaled; - t3 = 4 * dR2 * Escaled; + t2 = 8.0 * contact->dR * dR2 * Escaled * Escaled * Escaled; + t3 = 4.0 * dR2 * Escaled; // in case sqrt(0) < 0 due to precision issues - sqrt1 = MAX(0, t0 * (t1 + 2 * t2)); + sqrt1 = MAX(0, t0 * (t1 + 2.0 * t2)); t4 = cbrt(t1 + t2 + THREEROOT3 * MY_PI * sqrt(sqrt1)); t5 = t3 / t4 + t4 / Escaled; - sqrt2 = MAX(0, 2 * contact->dR + t5); + sqrt2 = MAX(0, 2.0 * contact->dR + t5); t6 = sqrt(sqrt2); - sqrt3 = MAX(0, 4 * contact->dR - t5 + SIXROOT6 * cohesion * MY_PI * R2 / (Escaled * t6)); + sqrt3 = MAX(0, 4.0 * contact->dR - t5 + SIXROOT6 * cohesion * MY_PI * R2 / (Escaled * t6)); return INVROOT6 * (t6 + sqrt(sqrt3)); } @@ -347,8 +350,8 @@ double NormalJKR::calculate_forces() double a2; a2 = contact->area * contact->area; - Fne = Escaled * contact->area * a2 / contact->Reff - MY_2PI * a2 * sqrt(4 * cohesion * Escaled / (MY_PI * contact->area)); - F_pulloff = 3 * MY_PI * cohesion * contact->Reff; + Fne = Escaled * contact->area * a2 / contact->Reff - MY_2PI * a2 * sqrt(4.0 * cohesion * Escaled / (MY_PI * contact->area)); + F_pulloff = 3.0 * MY_PI * cohesion * contact->Reff; return Fne; } @@ -364,5 +367,5 @@ void NormalJKR::set_knfac() void NormalJKR::set_fncrit() { - Fncrit = fabs(Fne + 2 * F_pulloff); + Fncrit = fabs(Fne + 2.0 * F_pulloff); } diff --git a/src/GRANULAR/contact_normal_models.h b/src/GRANULAR/contact_normal_models.h index 74e2800eaa..ec604d04ba 100644 --- a/src/GRANULAR/contact_normal_models.h +++ b/src/GRANULAR/contact_normal_models.h @@ -21,7 +21,7 @@ namespace Contact { class NormalModel : public SubModel { public: - NormalModel(); + NormalModel(class LAMMPS *); ~NormalModel() {}; virtual void coeffs_to_local() {}; virtual void mix_coeffs(NormalModel*, NormalModel*) {}; @@ -39,65 +39,63 @@ class NormalModel : public SubModel { /* ---------------------------------------------------------------------- */ -class NormalHooke: public NormalModel { +class NormalHooke : public NormalModel { public: - NormalHooke(); + NormalHooke(class LAMMPS *); ~NormalHooke() {}; void coeffs_to_local(); void mix_coeffs(NormalModel*, NormalModel*); double calculate_forces(); void set_knfac(); - private: + protected: double k; }; /* ---------------------------------------------------------------------- */ -class NormalHertz: public NormalModel { +class NormalHertz : public NormalModel { public: - NormalHertz(); + NormalHertz(class LAMMPS *); ~NormalHertz() {}; void coeffs_to_local(); void mix_coeffs(NormalModel*, NormalModel*); double calculate_forces(); void set_knfac(); - private: + protected: double k; }; /* ---------------------------------------------------------------------- */ -class NormalHertzMaterial: public NormalHertz { +class NormalHertzMaterial : public NormalHertz { public: - NormalHertzMaterial(); + NormalHertzMaterial(class LAMMPS *); ~NormalHertzMaterial() {}; void coeffs_to_local(); void mix_coeffs(NormalModel*, NormalModel*); - private: - double k; }; /* ---------------------------------------------------------------------- */ -class NormalDMT: public NormalModel { +class NormalDMT : public NormalModel { public: - NormalDMT(); + NormalDMT(class LAMMPS *); ~NormalDMT() {}; void coeffs_to_local(); void mix_coeffs(NormalModel*, NormalModel*); double calculate_forces(); void set_knfac(); void set_fncrit(); - private: + protected: double k, cohesion; double F_pulloff; }; /* ---------------------------------------------------------------------- */ -class NormalJKR: public NormalModel { +class NormalJKR : public NormalModel { public: - NormalJKR(); + NormalJKR(class LAMMPS *); ~NormalJKR() {}; void coeffs_to_local(); void mix_coeffs(NormalModel*, NormalModel*); @@ -107,7 +105,7 @@ class NormalJKR: public NormalModel { double calculate_forces(); void set_knfac(); void set_fncrit(); - private: + protected: double k, cohesion; double Escaled, F_pulloff; }; diff --git a/src/GRANULAR/contact_rolling_models.cpp b/src/GRANULAR/contact_rolling_models.cpp index 8074b14141..cc8e3e471e 100644 --- a/src/GRANULAR/contact_rolling_models.cpp +++ b/src/GRANULAR/contact_rolling_models.cpp @@ -23,11 +23,17 @@ using namespace Contact; using namespace MathConst; using namespace MathExtra; +/* ---------------------------------------------------------------------- + Default rolling friction model +------------------------------------------------------------------------- */ + +RollingModel::RollingModel(LAMMPS *lmp) : SubModel(lmp) {} + /* ---------------------------------------------------------------------- SDS rolling friction model ------------------------------------------------------------------------- */ -RollingSDS::RollingSDS() +RollingSDS::RollingSDS(LAMMPS *lmp) : RollingModel(lmp) { num_coeffs = 3; size_history = 3; diff --git a/src/GRANULAR/contact_rolling_models.h b/src/GRANULAR/contact_rolling_models.h index 1cd23e1d5d..e81d22301c 100644 --- a/src/GRANULAR/contact_rolling_models.h +++ b/src/GRANULAR/contact_rolling_models.h @@ -21,7 +21,7 @@ namespace Contact { class RollingModel : public SubModel { public: - RollingModel() {}; + RollingModel(class LAMMPS *); ~RollingModel() {}; virtual void coeffs_to_local() {}; virtual void mix_coeffs(RollingModel*, RollingModel*) {}; @@ -30,13 +30,13 @@ class RollingModel : public SubModel { /* ---------------------------------------------------------------------- */ -class RollingSDS: public RollingModel { +class RollingSDS : public RollingModel { public: - RollingSDS(); + RollingSDS(class LAMMPS *); void coeffs_to_local(); void mix_coeffs(RollingModel*, RollingModel*); double calculate_forces(); - private: + protected: double k, mu, gamma; }; diff --git a/src/GRANULAR/contact_sub_models.cpp b/src/GRANULAR/contact_sub_models.cpp index a0bf99301d..8aafc0f2b5 100644 --- a/src/GRANULAR/contact_sub_models.cpp +++ b/src/GRANULAR/contact_sub_models.cpp @@ -24,8 +24,11 @@ using namespace LAMMPS_NS; using namespace Contact; -SubModel::SubModel() : - Pointers(lmp) +/* ---------------------------------------------------------------------- + Parent class for all types of contact forces +------------------------------------------------------------------------- */ + +SubModel::SubModel(LAMMPS *lmp) : Pointers(lmp) { allocated = 0; size_history = 0; @@ -58,13 +61,12 @@ void SubModel::allocate_coeffs() int SubModel::parse_coeffs(char **arg, int iarg, int narg) { - if (iarg + num_coeffs >= narg) + if (iarg + num_coeffs > narg) error->all(FLERR, "Insufficient arguments provided for {} model", name); - for (int i = 0; i < num_coeffs; i++) { // A few parameters (eg.g kt for tangential mindlin) allow null - if (strcmp(arg[iarg+i+1], "NULL") == 0) coeffs[i] = -1; - else coeffs[i] = utils::numeric(FLERR,arg[iarg+i+1],false,lmp); + if (strcmp(arg[iarg+i], "NULL") == 0) coeffs[i] = -1; + else coeffs[i] = utils::numeric(FLERR,arg[iarg+i],false,lmp); } coeffs_to_local(); diff --git a/src/GRANULAR/contact_sub_models.h b/src/GRANULAR/contact_sub_models.h index 95da8d5cbf..67e9c79e35 100644 --- a/src/GRANULAR/contact_sub_models.h +++ b/src/GRANULAR/contact_sub_models.h @@ -15,14 +15,14 @@ #define CONTACT_SUB_MODEL_H_ #include "contact.h" -#include "pointers.h" +#include "pointers.h" // IWYU pragma: export namespace LAMMPS_NS { namespace Contact { class SubModel : protected Pointers { public: - SubModel(); + SubModel(class LAMMPS *); virtual ~SubModel(); int num_coeffs; @@ -31,6 +31,7 @@ class SubModel : protected Pointers { int parse_coeffs(char **, int, int); virtual void mix_coeffs(SubModel*, SubModel*) {}; virtual void coeffs_to_local() {}; + virtual void init() {}; // called after all other submodel coeffs defined void allocate_coeffs(); std::string name; diff --git a/src/GRANULAR/contact_tangential_models.cpp b/src/GRANULAR/contact_tangential_models.cpp index 4f25e96071..c73328ff10 100644 --- a/src/GRANULAR/contact_tangential_models.cpp +++ b/src/GRANULAR/contact_tangential_models.cpp @@ -24,11 +24,24 @@ using namespace Contact; using namespace MathConst; using namespace MathExtra; +/* ---------------------------------------------------------------------- + Default model +------------------------------------------------------------------------- */ + +TangentialModel::TangentialModel(LAMMPS *lmp) : SubModel(lmp) {} + +/* ---------------------------------------------------------------------- */ + +void TangentialModel::init() +{ + damp = xt * contact->damping_model->damp; +} + /* ---------------------------------------------------------------------- Linear model with no history ------------------------------------------------------------------------- */ -TangentialLinearNoHistory::TangentialLinearNoHistory() +TangentialLinearNoHistory::TangentialLinearNoHistory(LAMMPS *lmp) : TangentialModel(lmp) { num_coeffs = 2; size_history = 3; @@ -41,7 +54,6 @@ void TangentialLinearNoHistory::coeffs_to_local() k = 0.0; // No tangential stiffness with no history xt = coeffs[0]; mu = coeffs[1]; - damp = xt * contact->damping_model->damp; if (k < 0.0 || xt < 0.0 || mu < 0.0) error->all(FLERR, "Illegal linear no history tangential model"); @@ -76,7 +88,7 @@ void TangentialLinearNoHistory::calculate_forces() Linear model with history ------------------------------------------------------------------------- */ -TangentialLinearHistory::TangentialLinearHistory() +TangentialLinearHistory::TangentialLinearHistory(LAMMPS *lmp) : TangentialModel(lmp) { num_coeffs = 3; size_history = 3; @@ -89,7 +101,6 @@ void TangentialLinearHistory::coeffs_to_local() k = coeffs[0]; xt = coeffs[1]; mu = coeffs[2]; - damp = xt * contact->damping_model->damp; if (k < 0.0 || xt < 0.0 || mu < 0.0) error->all(FLERR, "Illegal linear tangential model"); @@ -166,7 +177,7 @@ void TangentialLinearHistory::calculate_forces() Mindlin model ------------------------------------------------------------------------- */ -TangentialMindlin::TangentialMindlin() +TangentialMindlin::TangentialMindlin(LAMMPS *lmp) : TangentialModel(lmp) { num_coeffs = 3; size_history = 3; @@ -190,8 +201,6 @@ void TangentialMindlin::coeffs_to_local() if (k < 0.0 || xt < 0.0 || mu < 0.0) error->all(FLERR, "Illegal Mindlin tangential model"); - - damp = xt * contact->damping_model->damp; } /* ---------------------------------------------------------------------- */ @@ -293,7 +302,7 @@ void TangentialMindlin::calculate_forces() Mindlin force model ------------------------------------------------------------------------- */ -TangentialMindlinForce::TangentialMindlinForce() +TangentialMindlinForce::TangentialMindlinForce(LAMMPS *lmp) : TangentialMindlin(lmp) { num_coeffs = 3; size_history = 3; @@ -305,7 +314,7 @@ TangentialMindlinForce::TangentialMindlinForce() Mindlin rescale model ------------------------------------------------------------------------- */ -TangentialMindlinRescale::TangentialMindlinRescale() +TangentialMindlinRescale::TangentialMindlinRescale(LAMMPS *lmp) : TangentialMindlin(lmp) { num_coeffs = 3; size_history = 4; @@ -313,7 +322,7 @@ TangentialMindlinRescale::TangentialMindlinRescale() mindlin_rescale = 1; nondefault_history_transfer = 1; - transfer_history_factor = new double(size_history); + transfer_history_factor = new double[size_history]; for (int i = 0; i < size_history; i++) transfer_history_factor[i] = -1.0; transfer_history_factor[3] = +1; } @@ -322,7 +331,7 @@ TangentialMindlinRescale::TangentialMindlinRescale() Mindlin rescale force model ------------------------------------------------------------------------- */ -TangentialMindlinRescaleForce::TangentialMindlinRescaleForce() +TangentialMindlinRescaleForce::TangentialMindlinRescaleForce(LAMMPS *lmp) : TangentialMindlin(lmp) { num_coeffs = 3; size_history = 4; @@ -330,7 +339,7 @@ TangentialMindlinRescaleForce::TangentialMindlinRescaleForce() mindlin_rescale = 1; nondefault_history_transfer = 1; - transfer_history_factor = new double(size_history); + transfer_history_factor = new double[size_history]; for (int i = 0; i < size_history; i++) transfer_history_factor[i] = -1.0; transfer_history_factor[3] = +1; } diff --git a/src/GRANULAR/contact_tangential_models.h b/src/GRANULAR/contact_tangential_models.h index f5d83a57f7..4e2c85f678 100644 --- a/src/GRANULAR/contact_tangential_models.h +++ b/src/GRANULAR/contact_tangential_models.h @@ -21,71 +21,69 @@ namespace Contact { class TangentialModel : public SubModel { public: - TangentialModel() {}; + TangentialModel(class LAMMPS *); virtual ~TangentialModel() {}; virtual void coeffs_to_local() {}; virtual void mix_coeffs(TangentialModel*, TangentialModel*) {}; virtual void calculate_forces() = 0; + void init(); int rescale_flag; double k, damp, mu; // Used by Marshall twisting model -}; - -/* ---------------------------------------------------------------------- */ - -class TangentialLinearNoHistory: public TangentialModel { - public: - TangentialLinearNoHistory(); - void coeffs_to_local(); - void mix_coeffs(TangentialModel*, TangentialModel*); - void calculate_forces(); - private: + protected: double xt; }; /* ---------------------------------------------------------------------- */ -class TangentialLinearHistory: public TangentialModel { +class TangentialLinearNoHistory : public TangentialModel { public: - TangentialLinearHistory(); + TangentialLinearNoHistory(class LAMMPS *); void coeffs_to_local(); void mix_coeffs(TangentialModel*, TangentialModel*); void calculate_forces(); - private: - double xt; }; /* ---------------------------------------------------------------------- */ -class TangentialMindlin: public TangentialModel { +class TangentialLinearHistory : public TangentialModel { public: - TangentialMindlin(); + TangentialLinearHistory(class LAMMPS *); + void coeffs_to_local(); + void mix_coeffs(TangentialModel*, TangentialModel*); + void calculate_forces(); +}; + +/* ---------------------------------------------------------------------- */ + +class TangentialMindlin : public TangentialModel { + public: + TangentialMindlin(class LAMMPS *); void coeffs_to_local(); void mix_coeffs(TangentialModel*, TangentialModel*); void calculate_forces(); protected: int mindlin_rescale, mindlin_force; - double xt; }; /* ---------------------------------------------------------------------- */ -class TangentialMindlinForce: public TangentialMindlin { +class TangentialMindlinForce : public TangentialMindlin { public: - TangentialMindlinForce(); + TangentialMindlinForce(class LAMMPS *); }; /* ---------------------------------------------------------------------- */ -class TangentialMindlinRescale: public TangentialMindlin { +class TangentialMindlinRescale : public TangentialMindlin { public: - TangentialMindlinRescale(); + TangentialMindlinRescale(class LAMMPS *); }; /* ---------------------------------------------------------------------- */ -class TangentialMindlinRescaleForce: public TangentialMindlin { +class TangentialMindlinRescaleForce : public TangentialMindlin { public: - TangentialMindlinRescaleForce(); + TangentialMindlinRescaleForce(class LAMMPS *); }; } // namespace Contact diff --git a/src/GRANULAR/contact_twisting_models.cpp b/src/GRANULAR/contact_twisting_models.cpp index 75a2414c21..089b4c686e 100644 --- a/src/GRANULAR/contact_twisting_models.cpp +++ b/src/GRANULAR/contact_twisting_models.cpp @@ -22,11 +22,21 @@ using namespace LAMMPS_NS; using namespace Contact; using namespace MathConst; +/* ---------------------------------------------------------------------- + Default twisting model +------------------------------------------------------------------------- */ + +TwistingModel::TwistingModel(LAMMPS *lmp) : SubModel(lmp) +{ + num_coeffs = 0; + size_history = 3; +} + /* ---------------------------------------------------------------------- Marshall twisting model ------------------------------------------------------------------------- */ -TwistingMarshall::TwistingMarshall() +TwistingMarshall::TwistingMarshall(LAMMPS *lmp) : TwistingModel(lmp) { num_coeffs = 0; size_history = 3; @@ -63,7 +73,7 @@ double TwistingMarshall::calculate_forces() SDS twisting model ------------------------------------------------------------------------- */ -TwistingSDS::TwistingSDS() +TwistingSDS::TwistingSDS(LAMMPS *lmp) : TwistingModel(lmp) { num_coeffs = 3; size_history = 3; diff --git a/src/GRANULAR/contact_twisting_models.h b/src/GRANULAR/contact_twisting_models.h index e689c8ed35..5bcdc6b2a3 100644 --- a/src/GRANULAR/contact_twisting_models.h +++ b/src/GRANULAR/contact_twisting_models.h @@ -21,7 +21,7 @@ namespace Contact { class TwistingModel : public SubModel { public: - TwistingModel() {}; + TwistingModel(class LAMMPS *); virtual ~TwistingModel() {}; virtual void coeffs_to_local() {}; virtual void mix_coeffs(TwistingModel*, TwistingModel*) {}; @@ -30,21 +30,21 @@ class TwistingModel : public SubModel { /* ---------------------------------------------------------------------- */ -class TwistingMarshall: public TwistingModel { +class TwistingMarshall : public TwistingModel { public: - TwistingMarshall(); + TwistingMarshall(class LAMMPS *); double calculate_forces(); }; /* ---------------------------------------------------------------------- */ -class TwistingSDS: public TwistingModel { +class TwistingSDS : public TwistingModel { public: - TwistingSDS(); + TwistingSDS(class LAMMPS *); void coeffs_to_local(); void mix_coeffs(TwistingModel*, TwistingModel*); double calculate_forces(); - private: + protected: double k, mu, damp; }; diff --git a/src/GRANULAR/fix_pour.cpp b/src/GRANULAR/fix_pour.cpp index 7a8bf630df..9cb71272f0 100644 --- a/src/GRANULAR/fix_pour.cpp +++ b/src/GRANULAR/fix_pour.cpp @@ -270,6 +270,7 @@ FixPour::~FixPour() delete[] molfrac; delete[] idrigid; delete[] idshake; + delete[] idregion; delete[] radius_poly; delete[] frac_poly; memory->destroy(coords); diff --git a/src/GRANULAR/fix_wall_gran.cpp b/src/GRANULAR/fix_wall_gran.cpp index b4d94d62fe..208ff10bdd 100644 --- a/src/GRANULAR/fix_wall_gran.cpp +++ b/src/GRANULAR/fix_wall_gran.cpp @@ -38,7 +38,6 @@ #include "respa.h" #include "update.h" -#include #include using namespace LAMMPS_NS; @@ -69,8 +68,8 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : // set interaction style // disable bonded/history option for now - model = new ContactModel(); - model->wall_flag = 1; + model = new ContactModel(lmp); + model->wall_type = RWALL; if (strcmp(arg[3],"granular") == 0) classic_flag = 0; else classic_flag = 1; @@ -82,7 +81,7 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : int iarg; if (classic_flag) { - iarg = 3; + iarg = 4; iarg = model->init_classic_model(arg, iarg, narg); if (iarg < narg) { @@ -93,40 +92,46 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : } } else { - iarg = 3; - model->init_model(std::string(arg[iarg]), NORMAL); - iarg += 1; + iarg = 4; + model->init_model(std::string(arg[iarg++]), NORMAL); iarg = model->normal_model->parse_coeffs(arg, iarg, narg); while (iarg < narg) { if (strcmp(arg[iarg], "damping") == 0) { - if (iarg + 1 >= narg) - error->all(FLERR, "Illegal pair_coeff command, not enough parameters"); - model->init_model(std::string(arg[iarg]), DAMPING); - iarg += 1; + iarg++; + if (iarg >= narg) + error->all(FLERR, "Illegal fix wall/gran command, must specify " + "damping model after damping keyword"); + model->init_model(std::string(arg[iarg++]), DAMPING); iarg = model->damping_model->parse_coeffs(arg, iarg, narg); } else if (strcmp(arg[iarg], "tangential") == 0) { - if (iarg + 1 >= narg) - error->all(FLERR, "Illegal pair_coeff command, not enough parameters"); - model->init_model(std::string(arg[iarg]), TANGENTIAL); - iarg += 1; + iarg++; + if (iarg >= narg) + error->all(FLERR, "Illegal fix wall/gran command, must specify " + "tangential model after tangential keyword"); + model->init_model(std::string(arg[iarg++]), TANGENTIAL); iarg = model->tangential_model->parse_coeffs(arg, iarg, narg); } else if (strcmp(arg[iarg], "rolling") == 0) { - if (iarg + 1 >= narg) - error->all(FLERR, "Illegal pair_coeff command, not enough parameters"); - model->init_model(std::string(arg[iarg]), ROLLING); - iarg += 1; + iarg++; + if (iarg >= narg) + error->all(FLERR, "Illegal fix wall/gran command, must specify " + "rolling model after rolling keyword"); + model->init_model(std::string(arg[iarg++]), ROLLING); iarg = model->rolling_model->parse_coeffs(arg, iarg, narg); } else if (strcmp(arg[iarg], "twisting") == 0) { - if (iarg + 1 >= narg) - error->all(FLERR, "Illegal pair_coeff command, not enough parameters"); - model->init_model(std::string(arg[iarg]), TWISTING); + iarg++; + if (iarg >= narg) + error->all(FLERR, "Illegal fix wall/gran command, must specify " + "twisting model after twisting keyword"); + model->init_model(std::string(arg[iarg++]), TWISTING); iarg += 1; iarg = model->twisting_model->parse_coeffs(arg, iarg, narg); } else if (strcmp(arg[iarg], "heat") == 0) { - if (iarg + 1 >= narg) - error->all(FLERR, "Illegal pair_coeff command, not enough parameters"); - model->init_model(std::string(arg[iarg]), HEAT); + iarg++; + if (iarg >= narg) + error->all(FLERR, "Illegal fix wall/gran command, must specify " + "heat model after heat keyword"); + model->init_model(std::string(arg[iarg++]), HEAT); iarg += 1; iarg = model->heat_model->parse_coeffs(arg, iarg, narg); heat_flag = 1; @@ -156,7 +161,10 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Illegal pair_coeff command, " "Cannot limit damping with specified normal contact model"); + model->init(); + size_history = model->size_history; + if (model->beyond_contact) size_history += 1; //Need to track if particle is touching if (size_history == 0) use_history = restart_peratom = 0; else use_history = restart_peratom = 1; @@ -349,25 +357,16 @@ void FixWallGran::init() if (i < modify->nfix) fix_rigid = modify->fix[i]; // Define history indices - int size_normal_history = model->normal_model->size_history; - int size_tangential_history = model->tangential_model->size_history; - int size_damping_history = model->damping_model->size_history; - int size_rolling_history = 0; - int size_twisting_history = 0; - if (model->rolling_model) size_rolling_history = model->rolling_model->size_history; - if (model->twisting_model) size_twisting_history = model->twisting_model->size_history; + int next_index = 0; + if (model->beyond_contact) next_index = 1; - damping_history_index = size_normal_history; - tangential_history_index = damping_history_index + size_damping_history; - roll_history_index = tangential_history_index + size_tangential_history; - twist_history_index = roll_history_index + size_rolling_history; - - model->normal_model->history_index = 0; - model->damping_model->history_index = damping_history_index; - model->tangential_model->history_index = tangential_history_index; - if (model->rolling_model) model->rolling_model->history_index = roll_history_index; - if (model->twisting_model) model->twisting_model->history_index = twist_history_index; + for (i = 0; i < 6; i++) { + if (model->sub_models[i]) { + model->sub_models[i]->history_index = next_index; + next_index += model->sub_models[i]->size_history; + } + } } /* ---------------------------------------------------------------------- */ @@ -513,59 +512,61 @@ void FixWallGran::post_force(int /*vflag*/) // Reset model and copy initial geometric data model->reset_contact(); - model->xi = x[i]; model->dx[0] = dx; model->dx[1] = dy; model->dx[2] = dz; model->radi = radius[i]; - model->rwall = rwall; + if (model->beyond_contact) model->touch = history_one[i][0]; - touchflag = model->check_contact(); + touchflag = model->check_contact(rwall); if (!touchflag) { if (use_history) for (j = 0; j < size_history; j++) history_one[i][j] = 0.0; - } else { + continue; + } // Dan: I tried to simplify this logic, not sure it's 100% correct - // meff = effective mass of sphere - // if I is part of rigid body, use body mass + if (model->beyond_contact) + history_one[i][0] = 1; - meff = rmass[i]; - if (fix_rigid && mass_rigid[i] > 0.0) meff = mass_rigid[i]; + // meff = effective mass of sphere + // if I is part of rigid body, use body mass - // Copy additional information and prepare force calculations - model->meff = meff; - model->vi = v[i]; - model->omegai = omega[i]; - model->history_update = history_update; - if (use_history) model->history = history_one[i]; - if (heat_flag) model->Ti = temperature[i]; - model->prep_contact(); + meff = rmass[i]; + if (fix_rigid && mass_rigid[i] > 0.0) meff = mass_rigid[i]; - model->calculate_forces(); - if (heat_flag) dq = model->calculate_heat(); + // Copy additional information and prepare force calculations + model->meff = meff; + model->vi = v[i]; + model->omegai = omega[i]; + model->history_update = history_update; + if (use_history) model->history = history_one[i]; + if (heat_flag) model->Ti = temperature[i]; + model->prep_contact(); - forces = model->forces; - torquesi = model->torquesi; + model->calculate_forces(); + if (heat_flag) dq = model->calculate_heat(); - // apply forces & torques - add3(f[i], forces, f[i]); + forces = model->forces; + torquesi = model->torquesi; - add3(torque[i], torquesi, torque[i]); - if (heat_flag) heatflux[i] += dq; + // apply forces & torques + add3(f[i], forces, f[i]); - // store contact info - if (peratom_flag) { - array_atom[i][0] = 1.0; - array_atom[i][1] = forces[0]; - array_atom[i][2] = forces[1]; - array_atom[i][3] = forces[2]; - array_atom[i][4] = x[i][0] - dx; - array_atom[i][5] = x[i][1] - dy; - array_atom[i][6] = x[i][2] - dz; - array_atom[i][7] = radius[i]; - } + add3(torque[i], torquesi, torque[i]); + if (heat_flag) heatflux[i] += dq; + + // store contact info + if (peratom_flag) { + array_atom[i][0] = 1.0; + array_atom[i][1] = forces[0]; + array_atom[i][2] = forces[1]; + array_atom[i][3] = forces[2]; + array_atom[i][4] = x[i][0] - dx; + array_atom[i][5] = x[i][1] - dy; + array_atom[i][6] = x[i][2] - dz; + array_atom[i][7] = radius[i]; } } } @@ -583,7 +584,7 @@ void FixWallGran::clear_stored_contacts() { void FixWallGran::post_force_respa(int vflag, int ilevel, int /*iloop*/) { - if (ilevel == nlevels_respa-1) post_force(vflag); + if (ilevel == nlevels_respa - 1) post_force(vflag); } /* ---------------------------------------------------------------------- @@ -594,10 +595,10 @@ double FixWallGran::memory_usage() { int nmax = atom->nmax; double bytes = 0.0; - if (use_history) bytes += (double)nmax*size_history * sizeof(double); // shear history + if (use_history) bytes += (double)nmax * size_history * sizeof(double); // shear history if (fix_rigid) bytes += (double)nmax * sizeof(int); // mass_rigid // store contacts - if (peratom_flag) bytes += (double)nmax*size_peratom_cols*sizeof(double); + if (peratom_flag) bytes += (double)nmax * size_peratom_cols * sizeof(double); return bytes; } diff --git a/src/GRANULAR/fix_wall_gran.h b/src/GRANULAR/fix_wall_gran.h index d0202d65e8..b61ac24d54 100644 --- a/src/GRANULAR/fix_wall_gran.h +++ b/src/GRANULAR/fix_wall_gran.h @@ -55,13 +55,6 @@ class FixWallGran : public Fix { // for granular model choices Contact::ContactModel *model; - // indices of history entries - int normal_history_index; - int damping_history_index; - int tangential_history_index; - int roll_history_index; - int twist_history_index; - double lo, hi, cylradius; double amplitude, period, omega, vshear; double dt; diff --git a/src/GRANULAR/fix_wall_gran_region.cpp b/src/GRANULAR/fix_wall_gran_region.cpp index c288abf92e..59ad15c02d 100644 --- a/src/GRANULAR/fix_wall_gran_region.cpp +++ b/src/GRANULAR/fix_wall_gran_region.cpp @@ -18,6 +18,7 @@ #include "fix_wall_gran_region.h" #include "atom.h" +#include "contact.h" #include "comm.h" #include "domain.h" #include "error.h" @@ -30,6 +31,7 @@ #include using namespace LAMMPS_NS; +using namespace Contact; using namespace FixConst; using namespace MathExtra; @@ -48,6 +50,8 @@ FixWallGranRegion::FixWallGranRegion(LAMMPS *lmp, int narg, char **arg) : tmax = region->tmax; c2r = new int[tmax]; + model->wall_type = RDUPLICATE; + // re-allocate atom-based arrays with nshear // do not register with Atom class, since parent class did that @@ -120,7 +124,7 @@ void FixWallGranRegion::post_force(int /*vflag*/) { int i, m, nc, iwall; double dx, dy, dz, meff; - double *forces, *torquesi, dq, rwall; + double *forces, *torquesi, dq; double vwall[3]; double w0[3] = {0.0}; bool touchflag = false; @@ -179,7 +183,7 @@ void FixWallGranRegion::post_force(int /*vflag*/) region->set_velocity(); } - if (peratom_flag) { clear_stored_contacts(); } + if (peratom_flag) clear_stored_contacts(); // Define constant wall properties (atom j) model->radj = 0.0; @@ -188,7 +192,7 @@ void FixWallGranRegion::post_force(int /*vflag*/) for (i = 0; i < nlocal; i++) { if (! mask[i] & groupbit) continue; - if (!region->match(x[i][0], x[i][1], x[i][2]))continue; + if (! region->match(x[i][0], x[i][1], x[i][2])) continue; nc = region->surface(x[i][0], x[i][1], x[i][2], model->pulloff_distance(radius[i], 0.0)); if (nc > tmax) error->one(FLERR, "Too many wallgran/region contacts for one particle"); @@ -221,24 +225,25 @@ void FixWallGranRegion::post_force(int /*vflag*/) for (int ic = 0; ic < nc; ic++) { // Reset model and copy initial geometric data + // A bit unncessary since region->contact[ic] stores r model->reset_contact(); - model->xi = x[i]; model->dx[0] = region->contact[ic].delx; model->dx[1] = region->contact[ic].dely; model->dx[2] = region->contact[ic].delz; model->radi = radius[i]; - model->rwall = rwall; + if (model->beyond_contact) model->touch = history_many[i][c2r[ic]][0]; - touchflag = model->check_contact(); + touchflag = model->check_contact(region->contact[ic].r); + if (!touchflag) { + if (use_history) + for (m = 0; m < size_history; m++) + history_many[i][c2r[ic]][m] = 0.0; + continue; + } - if (model->beyond_contact) { - if (history_many[i][c2r[ic]][0] == 0.0 && model->rsq > model->radsum * model->radsum) { - for (m = 0; m < size_history; m++) history_many[i][0][m] = 0.0; - continue; - } - } // Dan: not quite sure about this - + if (model->beyond_contact) + history_many[i][c2r[ic]][0] = 1; if (regiondynamic) region->velocity_contact(vwall, x[i], ic); model->vj = vwall; @@ -254,7 +259,8 @@ void FixWallGranRegion::post_force(int /*vflag*/) model->vi = v[i]; model->omegai = omega[i]; model->history_update = history_update; - if (use_history) model->history = history_one[i]; + + if (use_history) model->history = history_many[i][c2r[ic]]; if (heat_flag) model->Ti = temperature[i]; model->prep_contact(); diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index 9b1a036928..0c228a2936 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -81,9 +81,6 @@ PairGranular::PairGranular(LAMMPS *lmp) : Pair(lmp) use_history = 0; beyond_contact = 0; nondefault_history_transfer = 0; - tangential_history_index = 0; - roll_history_index = 0; - twist_history_index = 0; heat_flag = 0; // create dummy fix as placeholder for FixNeighHistory @@ -105,6 +102,7 @@ PairGranular::~PairGranular() if (allocated) { memory->destroy(setflag); memory->destroy(cutsq); + memory->destroy(cutoff_type); delete [] onerad_dynamic; delete [] onerad_frozen; @@ -119,7 +117,7 @@ PairGranular::~PairGranular() void PairGranular::compute(int eflag, int vflag) { - int i,j,ii,jj,inum,jnum,itype,jtype; + int i,j,k,ii,jj,inum,jnum,itype,jtype; double factor_lj,mi,mj,meff,delx,dely,delz; double *forces, *torquesi, *torquesj, dq; @@ -203,6 +201,7 @@ void PairGranular::compute(int eflag, int vflag) models[itype][jtype]->xj = x[j]; models[itype][jtype]->radi = radius[i]; models[itype][jtype]->radj = radius[j]; + models[itype][jtype]->touch = touch[jj]; touchflag = models[itype][jtype]->check_contact(); @@ -211,74 +210,77 @@ void PairGranular::compute(int eflag, int vflag) if (use_history) { touch[jj] = 0; history = &allhistory[size_history*jj]; - for (int k = 0; k < size_history; k++) history[k] = 0.0; + for (k = 0; k < size_history; k++) history[k] = 0.0; } - } else { + continue; + } - // meff = effective mass of pair of particles - // if I or J part of rigid body, use body mass - // if I or J is frozen, meff is other particle - mi = rmass[i]; - mj = rmass[j]; - if (fix_rigid) { - if (mass_rigid[i] > 0.0) mi = mass_rigid[i]; - if (mass_rigid[j] > 0.0) mj = mass_rigid[j]; - } - meff = mi * mj / (mi + mj); - if (mask[i] & freeze_group_bit) meff = mj; - if (mask[j] & freeze_group_bit) meff = mi; + if (use_history) { + touch[jj] = 1; + history = &allhistory[size_history*jj]; + } - // Copy additional information and prepare force calculations - models[itype][jtype]->meff = meff; - models[itype][jtype]->vi = v[i]; - models[itype][jtype]->vj = v[j]; - models[itype][jtype]->omegai = omega[i]; - models[itype][jtype]->omegaj = omega[j]; - models[itype][jtype]->history_update = history_update; - if (use_history) models[itype][jtype]->history = history; - if (heat_flag) { - models[itype][jtype]->Ti = temperature[i]; - models[itype][jtype]->Tj = temperature[j]; - } - models[itype][jtype]->prep_contact(); + // meff = effective mass of pair of particles + // if I or J part of rigid body, use body mass + // if I or J is frozen, meff is other particle + mi = rmass[i]; + mj = rmass[j]; + if (fix_rigid) { + if (mass_rigid[i] > 0.0) mi = mass_rigid[i]; + if (mass_rigid[j] > 0.0) mj = mass_rigid[j]; + } + meff = mi * mj / (mi + mj); + if (mask[i] & freeze_group_bit) meff = mj; + if (mask[j] & freeze_group_bit) meff = mi; - if (models[itype][jtype]->beyond_contact) touch[jj] = 1; + // Copy additional information and prepare force calculations + models[itype][jtype]->meff = meff; + models[itype][jtype]->vi = v[i]; + models[itype][jtype]->vj = v[j]; + models[itype][jtype]->omegai = omega[i]; + models[itype][jtype]->omegaj = omega[j]; + models[itype][jtype]->history_update = history_update; + if (use_history) models[itype][jtype]->history = history; + if (heat_flag) { + models[itype][jtype]->Ti = temperature[i]; + models[itype][jtype]->Tj = temperature[j]; + } + models[itype][jtype]->prep_contact(); - // if any history is needed - if (use_history) { - touch[jj] = 1; - history = &allhistory[size_history*jj]; - } + // if any history is needed + if (use_history) { + touch[jj] = 1; + history = &allhistory[size_history*jj]; + } - models[itype][jtype]->calculate_forces(); - if (heat_flag) dq = models[itype][jtype]->calculate_heat(); + models[itype][jtype]->calculate_forces(); + if (heat_flag) dq = models[itype][jtype]->calculate_heat(); - forces = models[itype][jtype]->forces; - torquesi = models[itype][jtype]->torquesi; - torquesj = models[itype][jtype]->torquesj; + forces = models[itype][jtype]->forces; + torquesi = models[itype][jtype]->torquesi; + torquesj = models[itype][jtype]->torquesj; - // apply forces & torques - scale3(factor_lj, forces); - add3(f[i], forces, f[i]); + // apply forces & torques + scale3(factor_lj, forces); + add3(f[i], forces, f[i]); - scale3(factor_lj, torquesi); - add3(torque[i], torquesi, torque[i]); - if (heat_flag) heatflux[i] += dq; + scale3(factor_lj, torquesi); + add3(torque[i], torquesi, torque[i]); + if (heat_flag) heatflux[i] += dq; - if (force->newton_pair || j < nlocal) { - sub3(f[j], forces, f[j]); - scale3(factor_lj, torquesj); - add3(torque[j], torquesj, torque[j]); - if (heat_flag) heatflux[j] -= dq; - } + if (force->newton_pair || j < nlocal) { + sub3(f[j], forces, f[j]); + scale3(factor_lj, torquesj); + add3(torque[j], torquesj, torque[j]); + if (heat_flag) heatflux[j] -= dq; + } - if (evflag) { - delx = x[i][0] - x[j][0]; - dely = x[i][1] - x[j][1]; - delz = x[i][2] - x[j][2]; - ev_tally_xyz(i,j,nlocal,force->newton_pair, - 0.0,0.0,forces[0],forces[1],forces[2],delx,dely,delz); - } + if (evflag) { + delx = x[i][0] - x[j][0]; + dely = x[i][1] - x[j][1]; + delz = x[i][2] - x[j][2]; + ev_tally_xyz(i,j,nlocal,force->newton_pair, + 0.0,0.0,forces[0],forces[1],forces[2],delx,dely,delz); } } } @@ -293,6 +295,9 @@ void PairGranular::allocate() allocated = 1; int n = atom->ntypes; + // Reserve enough memory for vector to avoid reallocation/changing pointers + vec_models.reserve(atom->ntypes * atom->ntypes); + memory->create(setflag,n+1,n+1,"pair:setflag"); for (int i = 1; i <= n; i++) for (int j = i; j <= n; j++) @@ -300,7 +305,7 @@ void PairGranular::allocate() memory->create(cutsq,n+1,n+1,"pair:cutsq"); memory->create(cutoff_type,n+1,n+1,"pair:cutoff_type"); - memory->create(models,n+1,n+1,"pair:contact_models"); + models.resize(n+1, std::vector (n+1, nullptr)); onerad_dynamic = new double[n+1]; onerad_frozen = new double[n+1]; @@ -338,64 +343,68 @@ void PairGranular::coeff(int narg, char **arg) utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - // Create new model stored in vector - vec_models.push_back(ContactModel()); + // Construct new model within vector + vec_models.emplace_back(lmp); //Parse mandatory normal and tangential specifications int iarg = 2; - vec_models.back().init_model(std::string(arg[iarg]), NORMAL); - iarg += 1; + vec_models.back().init_model(std::string(arg[iarg++]), NORMAL); iarg = vec_models.back().normal_model->parse_coeffs(arg, iarg, narg); - if (strcmp(arg[iarg], "tangential") == 0) { - if (iarg + 1 >= narg) + if (strcmp(arg[iarg++], "tangential") == 0) { + if (iarg >= narg) error->all(FLERR,"Illegal pair_coeff command, must specify " "tangential model after tangential keyword"); - vec_models.back().init_model(std::string(arg[iarg]), TANGENTIAL); - iarg += 1; + vec_models.back().init_model(std::string(arg[iarg++]), TANGENTIAL); iarg = vec_models.back().tangential_model->parse_coeffs(arg, iarg, narg); } else{ error->all(FLERR, "Illegal pair_coeff command, 'tangential' keyword expected"); } //Parse optional arguments + while (iarg < narg) { if (strcmp(arg[iarg], "damping") == 0) { - if (iarg + 1 >= narg) - error->all(FLERR, "Illegal pair_coeff command, not enough parameters"); - vec_models.back().init_model(std::string(arg[iarg]), DAMPING); - iarg += 1; + iarg++; + if (iarg >= narg) + error->all(FLERR, "Illegal pair_coeff command, must specify " + "damping model after damping keyword"); + vec_models.back().init_model(std::string(arg[iarg++]), DAMPING); iarg = vec_models.back().damping_model->parse_coeffs(arg, iarg, narg); } else if (strcmp(arg[iarg], "rolling") == 0) { - if (iarg + 1 >= narg) - error->all(FLERR, "Illegal pair_coeff command, not enough parameters"); - vec_models.back().init_model(std::string(arg[iarg]), ROLLING); - iarg += 1; + iarg++; + if (iarg >= narg) + error->all(FLERR, "Illegal pair_coeff command, must specify " + "rolling model after rolling keyword"); + vec_models.back().init_model(std::string(arg[iarg++]), ROLLING); iarg = vec_models.back().rolling_model->parse_coeffs(arg, iarg, narg); + } else if (strcmp(arg[iarg], "twisting") == 0) { - if (iarg + 1 >= narg) - error->all(FLERR, "Illegal pair_coeff command, not enough parameters"); - vec_models.back().init_model(std::string(arg[iarg]), TWISTING); - iarg += 1; + iarg++; + if (iarg >= narg) + error->all(FLERR, "Illegal pair_coeff command, must specify " + "twisting model after twisting keyword"); + vec_models.back().init_model(std::string(arg[iarg++]), TWISTING); iarg = vec_models.back().twisting_model->parse_coeffs(arg, iarg, narg); } else if (strcmp(arg[iarg], "heat") == 0) { - if (iarg + 1 >= narg) - error->all(FLERR, "Illegal pair_coeff command, not enough parameters"); - vec_models.back().init_model(std::string(arg[iarg]), HEAT); - iarg += 1; + iarg++; + if (iarg >= narg) + error->all(FLERR, "Illegal pair_coeff command, must specify " + "heat model after heat keyword"); + vec_models.back().init_model(std::string(arg[iarg++]), HEAT); iarg = vec_models.back().heat_model->parse_coeffs(arg, iarg, narg); heat_flag = 1; } else if (strcmp(arg[iarg], "cutoff") == 0) { if (iarg + 1 >= narg) - error->all(FLERR, "Illegal pair_coeff command, not enough parameters"); - vec_models.back().cutoff_type = utils::numeric(FLERR,arg[iarg+1],false,lmp); + error->all(FLERR, "Illegal pair_coeff command, not enough parameters for cutoff keyword"); + cutoff_one = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg], "limit_damping") == 0) { vec_models.back().limit_damping = 1; iarg += 1; - } else error->all(FLERR, "Illegal pair_coeff command"); + } else error->all(FLERR, "Illegal pair_coeff command {}", arg[iarg]); } // Define default damping model if unspecified, has no coeffs @@ -410,6 +419,7 @@ void PairGranular::coeff(int narg, char **arg) for (int i = ilo; i <= ihi; i++) { for (int j = MAX(jlo,i); j <= jhi; j++) { models[i][j] = & vec_models.back(); + cutoff_type[i][j] = cutoff_type[j][i] = cutoff_one; setflag[i][j] = 1; count++; } @@ -434,48 +444,30 @@ void PairGranular::init_style() error->all(FLERR,"Pair granular requires ghost atoms store velocity"); // allocate history and initialize models + int size_max[6] = {0,0,0,0,0,0}; - int size_normal_history = 0; - int size_damping_history = 0; - int size_tangential_history = 0; - int size_rolling_history = 0; - int size_twisting_history = 0; - for (int i = 1; i <= atom->ntypes; i++) { - for (int j = i; j <= atom->ntypes; j++) { - if (models[i][j]->size_history != 0) use_history = 1; + for (auto &model : vec_models) { + model.init(); + if (model.size_history != 0) use_history = 1; - if (models[i][j]->normal_model->size_history > size_normal_history) - size_normal_history = models[i][j]->damping_model->size_history; - if (models[i][j]->damping_model->size_history > size_damping_history) - size_damping_history = models[i][j]->normal_model->size_history; - if (models[i][j]->tangential_model->size_history > size_tangential_history) - size_tangential_history = models[i][j]->tangential_model->size_history; - if (models[i][j]->rolling_model) - if (models[i][j]->rolling_model->size_history > size_rolling_history) - size_rolling_history = models[i][j]->rolling_model->size_history; - if (models[i][j]->twisting_model) - if (models[i][j]->twisting_model->size_history > size_twisting_history) - size_twisting_history = models[i][j]->twisting_model->size_history; - } + for (i = 0; i < 6; i++) + if (model.sub_models[i]) + if (model.sub_models[i]->size_history > size_max[i]) + size_max[i] = model.sub_models[i]->size_history; + + if (model.nondefault_history_transfer) nondefault_history_transfer = 1; } - size_history = size_normal_history + size_damping_history + - size_tangential_history + size_rolling_history + size_twisting_history; + size_history = 0; + for (i = 0; i < 6; i++) size_history += size_max[i]; - damping_history_index = size_normal_history; - tangential_history_index = damping_history_index + size_damping_history; - roll_history_index = tangential_history_index + size_tangential_history; - twist_history_index = roll_history_index + size_rolling_history; - - for (int i = 1; i <= atom->ntypes; i++) { - for (int j = i; j <= atom->ntypes; j++) { - models[i][j]->normal_model->history_index = 0; - models[i][j]->damping_model->history_index = damping_history_index; - models[i][j]->tangential_model->history_index = tangential_history_index; - if (models[i][j]->rolling_model) - models[i][j]->rolling_model->history_index = roll_history_index; - if (models[i][j]->twisting_model) - models[i][j]->twisting_model->history_index = twist_history_index; + for (auto &model : vec_models) { + int next_index = 0; + for (i = 0; i < 6; i++) { + if (model.sub_models[i]) { + model.sub_models[i]->history_index = next_index; + next_index += size_max[i]; + } } } @@ -490,9 +482,7 @@ void PairGranular::init_style() if (use_history && fix_history == nullptr) { fix_history = dynamic_cast( modify->replace_fix("NEIGH_HISTORY_GRANULAR_DUMMY", - "NEIGH_HISTORY_GRANULAR" - " all NEIGH_HISTORY " - + std::to_string(size_history),1)); + "NEIGH_HISTORY_GRANULAR all NEIGH_HISTORY " + std::to_string(size_history),1)); fix_history->pair = this; } @@ -583,7 +573,7 @@ double PairGranular::init_one(int i, int j) "pair_coeff command",i,j); } - vec_models.push_back(ContactModel()); + vec_models.push_back(ContactModel(lmp)); models[i][j] = models[j][i] = & vec_models.back(); vec_models.back().init_model(models[i][i]->normal_model->name, NORMAL); vec_models.back().init_model(models[i][i]->tangential_model->name, TANGENTIAL); @@ -593,6 +583,10 @@ double PairGranular::init_one(int i, int j) vec_models.back().init_model(models[i][i]->heat_model->name, HEAT); vec_models.back().mix_coeffs(models[i][i], models[j][j]); + vec_models.back().init(); // Calculates cumulative properties of sub models + + for (int k = 0; k < 6; k++) + vec_models.back().sub_models[k]->history_index = models[i][i]->sub_models[k]->history_index; } // Check if heat model is defined for all type combinations @@ -608,7 +602,7 @@ double PairGranular::init_one(int i, int j) // we assign cutoff = max(cut[i][j]) for i,j such that cut[i][j] > 0.0. double pulloff; - if (models[i][j]->cutoff_type < 0 && cutoff_global < 0) { + if (cutoff_type[i][j] < 0 && cutoff_global < 0) { if (((maxrad_dynamic[i] > 0.0) && (maxrad_dynamic[j] > 0.0)) || ((maxrad_dynamic[i] > 0.0) && (maxrad_frozen[j] > 0.0)) || // radius info about both i and j exist @@ -626,7 +620,6 @@ double PairGranular::init_one(int i, int j) cutoff = MAX(cutoff,maxrad_dynamic[i] + maxrad_frozen[j] + pulloff); } } else { - // radius info about either i or j does not exist // (i.e. not present and not about to get poured; // set to largest value to not interfere with neighbor list) @@ -638,25 +631,15 @@ double PairGranular::init_one(int i, int j) } cutoff = cutmax; } - } else if (models[i][j]->cutoff_type > 0) { - cutoff = models[i][j]->cutoff_type; + } else if (cutoff_type[i][j] > 0) { + cutoff = cutoff_type[i][j]; } else if (cutoff_global > 0) { cutoff = cutoff_global; } // Copy global options - models[i][j]->dt = models[j][i]->dt = dt; - models[i][j]->normal_model->history_index = models[j][i]->normal_model->history_index = normal_history_index; - models[i][j]->tangential_model->history_index = models[j][i]->tangential_model->history_index = tangential_history_index; - models[i][j]->rolling_model->history_index = models[j][i]->rolling_model->history_index = roll_history_index; - models[i][j]->twisting_model->history_index = models[j][i]->twisting_model->history_index = twist_history_index; - - models[i][j]->size_history = models[j][i]->size_history = size_history; - models[i][j]->init(); // Calculates cumulative properties of sub models - models[j][i]->init(); - - if (models[i][j]->nondefault_history_transfer) nondefault_history_transfer = 1; - + models[i][j]->dt = dt; + models[j][i] = models[i][j]; return cutoff; } @@ -671,9 +654,8 @@ void PairGranular::write_restart(FILE *fp) for (j = i; j <= atom->ntypes; j++) { fwrite(&setflag[i][j],sizeof(int),1,fp); if (setflag[i][j]) { - if (comm->me == 0){ - models[i][j]->write_restart(fp); - } + fwrite(&cutoff_type[i][j],sizeof(double),1,fp); + models[i][j]->write_restart(fp); } } } @@ -693,9 +675,14 @@ void PairGranular::read_restart(FILE *fp) if (me == 0) utils::sfread(FLERR,&setflag[i][j],sizeof(int),1,fp,nullptr,error); MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); if (setflag[i][j]) { - vec_models.push_back(ContactModel()); + if (me == 0) + utils::sfread(FLERR,&cutoff_type[i][j],sizeof(double),1,fp,nullptr,error); + MPI_Bcast(&cutoff_type[i][j],1,MPI_DOUBLE,0,world); + + vec_models.push_back(ContactModel(lmp)); models[i][j] = & vec_models.back(); models[i][j]->read_restart(fp); + models[i][j]->init(); } } } diff --git a/src/GRANULAR/pair_granular.h b/src/GRANULAR/pair_granular.h index 68b83d3686..ae85748488 100644 --- a/src/GRANULAR/pair_granular.h +++ b/src/GRANULAR/pair_granular.h @@ -73,14 +73,7 @@ class PairGranular : public Pair { // contact models std::vector vec_models; - Contact::ContactModel ***models; - - // indices of history entries - int normal_history_index; - int damping_history_index; - int tangential_history_index; - int roll_history_index; - int twist_history_index; + std::vector > models; // optional user-specified global cutoff, per-type user-specified cutoffs double **cutoff_type; diff --git a/src/contact.h b/src/contact.h index bd04fe9ce1..4c38657ed7 100644 --- a/src/contact.h +++ b/src/contact.h @@ -26,6 +26,12 @@ enum ModelType { ROLLING = 3, TWISTING = 4, HEAT = 5 +}; // Relative order matters since some derive coeffs from others + +enum WallType { + NONE = 0, + RWALL = 1, + RDUPLICATE = 2 }; #define EPSILON 1e-10 @@ -41,10 +47,10 @@ class SubModel; class ContactModel : protected Pointers { public: - ContactModel(); + ContactModel(class LAMMPS *); ~ContactModel(); void init(); - bool check_contact(); + bool check_contact(double = 0); void reset_contact(); void prep_contact(); void calculate_forces(); @@ -68,8 +74,8 @@ class ContactModel : protected Pointers { SubModel *sub_models[6]; // Need to resize if we add more model flavors // Extra options - int beyond_contact, limit_damping, history_update, wall_flag; - double cutoff_type; + int beyond_contact, limit_damping, history_update; + WallType wall_type; // History variables int size_history, nondefault_history_transfer; @@ -77,7 +83,7 @@ class ContactModel : protected Pointers { double *history; // Contact properties/output - double *forces, *torquesi, *torquesj; + double forces[3], torquesi[3], torquesj[3]; double radi, radj, rwall, meff, dt, Ti, Tj, area; double Fntot, magtortwist; From 1cd18d2b371b98d814523f1620eeb545235783e8 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Wed, 24 Aug 2022 14:47:10 -0600 Subject: [PATCH 018/448] Replacing # of models with macro, may revise... --- src/GRANULAR/contact.cpp | 2 +- src/GRANULAR/contact.h | 9 +++++---- src/GRANULAR/contact_normal_models.cpp | 16 ++++------------ src/GRANULAR/fix_wall_gran.cpp | 2 +- src/GRANULAR/pair_granular.cpp | 10 +++++----- src/contact.h | 9 +++++---- 6 files changed, 21 insertions(+), 27 deletions(-) diff --git a/src/GRANULAR/contact.cpp b/src/GRANULAR/contact.cpp index a59eca9374..c181d64f45 100644 --- a/src/GRANULAR/contact.cpp +++ b/src/GRANULAR/contact.cpp @@ -41,7 +41,7 @@ ContactModel::ContactModel(LAMMPS *lmp) : Pointers(lmp) limit_damping = 0; beyond_contact = 0; nondefault_history_transfer = 0; - nmodels = 6; + nmodels = NMODELS; wall_type = NONE; diff --git a/src/GRANULAR/contact.h b/src/GRANULAR/contact.h index 4c38657ed7..5fbb8a8489 100644 --- a/src/GRANULAR/contact.h +++ b/src/GRANULAR/contact.h @@ -19,6 +19,9 @@ namespace LAMMPS_NS { namespace Contact { +#define EPSILON 1e-10 +#define NMODELS 6 + enum ModelType { NORMAL = 0, DAMPING = 1, @@ -34,8 +37,6 @@ enum WallType { RDUPLICATE = 2 }; -#define EPSILON 1e-10 - // forward declaration class NormalModel; class DampingModel; @@ -71,7 +72,7 @@ class ContactModel : protected Pointers { RollingModel *rolling_model; TwistingModel *twisting_model; HeatModel *heat_model; - SubModel *sub_models[6]; // Need to resize if we add more model flavors + SubModel *sub_models[NMODELS]; // Need to resize if we add more model flavors // Extra options int beyond_contact, limit_damping, history_update; @@ -95,11 +96,11 @@ class ContactModel : protected Pointers { double vr[3], vn[3], vnnr, vt[3], wr[3], vtr[3], vrl[3], relrot[3], vrel; double magtwist; bool touch; + int nmodels; protected: int prep_flag, check_flag; - int nmodels; }; } // namespace Contact diff --git a/src/GRANULAR/contact_normal_models.cpp b/src/GRANULAR/contact_normal_models.cpp index 6c31cf2c70..d0dc19b14f 100644 --- a/src/GRANULAR/contact_normal_models.cpp +++ b/src/GRANULAR/contact_normal_models.cpp @@ -180,7 +180,7 @@ void NormalHertzMaterial::coeffs_to_local() void NormalHertzMaterial::mix_coeffs(NormalModel* imodel, NormalModel* jmodel) { - coeffs[0] = mix_stiffnessE(imodel->coeffs[0], jmodel->coeffs[0]); + coeffs[0] = mix_stiffnessE(imodel->coeffs[0], jmodel->coeffs[0],imodel->coeffs[2], jmodel->coeffs[2]); coeffs[1] = mix_geom(imodel->coeffs[1], jmodel->coeffs[1]); coeffs[2] = mix_geom(imodel->coeffs[2], jmodel->coeffs[2]); coeffs_to_local(); @@ -205,11 +205,7 @@ void NormalDMT::coeffs_to_local() damp = coeffs[1]; poiss = coeffs[2]; cohesion = coeffs[3]; -<<<<<<< HEAD - k = FOURTHIRDS * Emod; -======= - k = 4 / 3 * mix_stiffnessE(Emod, Emod, poiss, poiss); ->>>>>>> 12c1923511e802b3b531e34b24fcf386f187dab5 + k = FOURTHIRDS * mix_stiffnessE(Emod, Emod, poiss, poiss); if (Emod < 0.0 || damp < 0.0) error->all(FLERR, "Illegal DMT normal model"); } @@ -218,7 +214,7 @@ void NormalDMT::coeffs_to_local() void NormalDMT::mix_coeffs(NormalModel* imodel, NormalModel* jmodel) { - coeffs[0] = mix_stiffnessE(imodel->coeffs[0], jmodel->coeffs[0]); + coeffs[0] = mix_stiffnessE(imodel->coeffs[0], jmodel->coeffs[0],imodel->coeffs[2], jmodel->coeffs[2]); coeffs[1] = mix_geom(imodel->coeffs[1], jmodel->coeffs[1]); coeffs[2] = mix_geom(imodel->coeffs[2], jmodel->coeffs[2]); coeffs[3] = mix_geom(imodel->coeffs[3], jmodel->coeffs[3]); @@ -269,12 +265,8 @@ void NormalJKR::coeffs_to_local() damp = coeffs[1]; poiss = coeffs[2]; cohesion = coeffs[3]; -<<<<<<< HEAD k = FOURTHIRDS * Emod; - Escaled = k * THREEQUARTERS; -======= Escaled = mix_stiffnessE(Emod, Emod, poiss, poiss); //Dan, not sure why these coefficients are mixed in the regular pair style ->>>>>>> 12c1923511e802b3b531e34b24fcf386f187dab5 if (Emod < 0.0 || damp < 0.0) error->all(FLERR, "Illegal JKR normal model"); } @@ -283,7 +275,7 @@ void NormalJKR::coeffs_to_local() void NormalJKR::mix_coeffs(NormalModel* imodel, NormalModel* jmodel) { - coeffs[0] = mix_stiffnessE(imodel->coeffs[0], jmodel->coeffs[0]); + coeffs[0] = mix_stiffnessE(imodel->coeffs[0], jmodel->coeffs[0],imodel->coeffs[2], jmodel->coeffs[2]); coeffs[1] = mix_geom(imodel->coeffs[1], jmodel->coeffs[1]); coeffs[2] = mix_geom(imodel->coeffs[2], jmodel->coeffs[2]); coeffs[3] = mix_geom(imodel->coeffs[3], jmodel->coeffs[3]); diff --git a/src/GRANULAR/fix_wall_gran.cpp b/src/GRANULAR/fix_wall_gran.cpp index 208ff10bdd..c1640c6fdf 100644 --- a/src/GRANULAR/fix_wall_gran.cpp +++ b/src/GRANULAR/fix_wall_gran.cpp @@ -361,7 +361,7 @@ void FixWallGran::init() int next_index = 0; if (model->beyond_contact) next_index = 1; - for (i = 0; i < 6; i++) { + for (i = 0; i < NMODELS; i++) { if (model->sub_models[i]) { model->sub_models[i]->history_index = next_index; next_index += model->sub_models[i]->size_history; diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index 0c228a2936..b3c587af8b 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -444,13 +444,13 @@ void PairGranular::init_style() error->all(FLERR,"Pair granular requires ghost atoms store velocity"); // allocate history and initialize models - int size_max[6] = {0,0,0,0,0,0}; + int size_max[NMODELS] = {0}; for (auto &model : vec_models) { model.init(); if (model.size_history != 0) use_history = 1; - for (i = 0; i < 6; i++) + for (i = 0; i < NMODELS; i++) if (model.sub_models[i]) if (model.sub_models[i]->size_history > size_max[i]) size_max[i] = model.sub_models[i]->size_history; @@ -459,11 +459,11 @@ void PairGranular::init_style() } size_history = 0; - for (i = 0; i < 6; i++) size_history += size_max[i]; + for (i = 0; i < NMODELS; i++) size_history += size_max[i]; for (auto &model : vec_models) { int next_index = 0; - for (i = 0; i < 6; i++) { + for (i = 0; i < NMODELS; i++) { if (model.sub_models[i]) { model.sub_models[i]->history_index = next_index; next_index += size_max[i]; @@ -585,7 +585,7 @@ double PairGranular::init_one(int i, int j) vec_models.back().mix_coeffs(models[i][i], models[j][j]); vec_models.back().init(); // Calculates cumulative properties of sub models - for (int k = 0; k < 6; k++) + for (int k = 0; k < NMODELS; k++) vec_models.back().sub_models[k]->history_index = models[i][i]->sub_models[k]->history_index; } diff --git a/src/contact.h b/src/contact.h index 4c38657ed7..5fbb8a8489 100644 --- a/src/contact.h +++ b/src/contact.h @@ -19,6 +19,9 @@ namespace LAMMPS_NS { namespace Contact { +#define EPSILON 1e-10 +#define NMODELS 6 + enum ModelType { NORMAL = 0, DAMPING = 1, @@ -34,8 +37,6 @@ enum WallType { RDUPLICATE = 2 }; -#define EPSILON 1e-10 - // forward declaration class NormalModel; class DampingModel; @@ -71,7 +72,7 @@ class ContactModel : protected Pointers { RollingModel *rolling_model; TwistingModel *twisting_model; HeatModel *heat_model; - SubModel *sub_models[6]; // Need to resize if we add more model flavors + SubModel *sub_models[NMODELS]; // Need to resize if we add more model flavors // Extra options int beyond_contact, limit_damping, history_update; @@ -95,11 +96,11 @@ class ContactModel : protected Pointers { double vr[3], vn[3], vnnr, vt[3], wr[3], vtr[3], vrl[3], relrot[3], vrel; double magtwist; bool touch; + int nmodels; protected: int prep_flag, check_flag; - int nmodels; }; } // namespace Contact From 3df0abd081e61d801eaa1997076d6b253c0a2c20 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Fri, 9 Sep 2022 14:13:52 -0600 Subject: [PATCH 019/448] Debugging restarts --- src/GRANULAR/contact.cpp | 16 ++++++++-------- src/GRANULAR/pair_granular.cpp | 32 +++++++++++++++++++++++--------- 2 files changed, 31 insertions(+), 17 deletions(-) diff --git a/src/GRANULAR/contact.cpp b/src/GRANULAR/contact.cpp index c181d64f45..a5a6042347 100644 --- a/src/GRANULAR/contact.cpp +++ b/src/GRANULAR/contact.cpp @@ -225,17 +225,18 @@ void ContactModel::init() // Check if model has nondefault transfers, if so copy its array if (j != nmodels) { - if (sub_models[j]->nondefault_history_transfer) { - transfer_history_factor[i] = sub_models[j]->transfer_history_factor[i - size_cumulative]; - } else { - transfer_history_factor[i] = -1; + transfer_history_factor[i] = -1; + if (sub_models[j]) { + if (sub_models[j]->nondefault_history_transfer) { + transfer_history_factor[i] = sub_models[j]->transfer_history_factor[i - size_cumulative]; + } } } } } for (i = 0; i < nmodels; i++) - if (sub_models[i]) sub_models[i]->init(); + if (sub_models[i]) sub_models[i]->init(); } /* ---------------------------------------------------------------------- */ @@ -263,7 +264,7 @@ void ContactModel::write_restart(FILE *fp) fwrite(&num_char, sizeof(int), 1, fp); fwrite(sub_models[i]->name.data(), sizeof(char), num_char, fp); fwrite(&num_coeffs, sizeof(int), 1, fp); - fwrite(sub_models[i]->coeffs, sizeof(int), num_coeffs, fp); + fwrite(sub_models[i]->coeffs, sizeof(double), num_coeffs, fp); } else { fwrite(&num_char, sizeof(int), 1, fp); } @@ -297,10 +298,9 @@ void ContactModel::read_restart(FILE *fp) MPI_Bcast(&num_coeff, 1, MPI_INT, 0, world); if (comm->me == 0) { - utils::sfread(FLERR, sub_models[i]->coeffs, sizeof(int), num_coeff, fp, nullptr, error); + utils::sfread(FLERR, sub_models[i]->coeffs, sizeof(double), num_coeff, fp, nullptr, error); } MPI_Bcast(sub_models[i]->coeffs, num_coeff, MPI_DOUBLE, 0, world); - sub_models[i]->coeffs_to_local(); } } diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index b3c587af8b..44b81bbc87 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -435,7 +435,6 @@ void PairGranular::coeff(int narg, char **arg) void PairGranular::init_style() { int i; - // error and warning checks if (!atom->radius_flag || !atom->rmass_flag) @@ -649,13 +648,18 @@ double PairGranular::init_one(int i, int j) void PairGranular::write_restart(FILE *fp) { - int i,j; + int i,j,index; + int nmodels = vec_models.size(); + fwrite(&nmodels,sizeof(int),1,fp); + for (auto &model : vec_models) model.write_restart(fp); + 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(&cutoff_type[i][j],sizeof(double),1,fp); - models[i][j]->write_restart(fp); + index = models[i][j] - &vec_models[0]; + fwrite(&index,sizeof(int),1,fp); // save index of model } } } @@ -668,21 +672,31 @@ void PairGranular::write_restart(FILE *fp) void PairGranular::read_restart(FILE *fp) { allocate(); - int i,j; + int i,j,index,nmodels; int me = comm->me; + + if (me == 0) utils::sfread(FLERR,&nmodels,sizeof(int),1,fp,nullptr,error); + MPI_Bcast(&nmodels,1,MPI_INT,0,world); + + for (i = 0; i < nmodels; i++) { + vec_models.push_back(ContactModel(lmp)); + vec_models.back().read_restart(fp); + vec_models.back().init(); + } + for (i = 1; i <= atom->ntypes; i++) { for (j = i; j <= atom->ntypes; j++) { if (me == 0) utils::sfread(FLERR,&setflag[i][j],sizeof(int),1,fp,nullptr,error); MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); if (setflag[i][j]) { - if (me == 0) + if (me == 0) { utils::sfread(FLERR,&cutoff_type[i][j],sizeof(double),1,fp,nullptr,error); + utils::sfread(FLERR,&index,sizeof(int),1,fp,nullptr,error); + } MPI_Bcast(&cutoff_type[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&index,1,MPI_INT,0,world); - vec_models.push_back(ContactModel(lmp)); - models[i][j] = & vec_models.back(); - models[i][j]->read_restart(fp); - models[i][j]->init(); + models[i][j] = & vec_models[index]; } } } From 6a6291827f32dc89f75870f978a661e2843c7b46 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Fri, 9 Sep 2022 15:11:24 -0600 Subject: [PATCH 020/448] Simplifying mixing coeffs, other misc clean ups --- src/GRANULAR/contact.cpp | 19 +++++----- src/GRANULAR/contact.h | 5 ++- src/GRANULAR/contact_damping_models.h | 4 +-- src/GRANULAR/contact_heat_models.cpp | 4 +-- src/GRANULAR/contact_heat_models.h | 7 ++-- src/GRANULAR/contact_normal_models.cpp | 40 +++++++++++----------- src/GRANULAR/contact_normal_models.h | 33 +++++++++--------- src/GRANULAR/contact_rolling_models.cpp | 8 ++--- src/GRANULAR/contact_rolling_models.h | 7 ++-- src/GRANULAR/contact_sub_models.h | 7 ++-- src/GRANULAR/contact_tangential_models.cpp | 24 ++++++------- src/GRANULAR/contact_tangential_models.h | 16 ++++----- src/GRANULAR/contact_twisting_models.cpp | 8 ++--- src/GRANULAR/contact_twisting_models.h | 7 ++-- src/GRANULAR/fix_wall_gran.cpp | 2 +- src/GRANULAR/pair_granular.cpp | 10 +++--- src/contact.h | 5 ++- 17 files changed, 104 insertions(+), 102 deletions(-) diff --git a/src/GRANULAR/contact.cpp b/src/GRANULAR/contact.cpp index a5a6042347..488e175227 100644 --- a/src/GRANULAR/contact.cpp +++ b/src/GRANULAR/contact.cpp @@ -41,7 +41,6 @@ ContactModel::ContactModel(LAMMPS *lmp) : Pointers(lmp) limit_damping = 0; beyond_contact = 0; nondefault_history_transfer = 0; - nmodels = NMODELS; wall_type = NONE; @@ -54,7 +53,7 @@ ContactModel::ContactModel(LAMMPS *lmp) : Pointers(lmp) twisting_model = nullptr; heat_model = nullptr; - for (int i = 0; i < nmodels; i++) sub_models[i] = nullptr; + for (int i = 0; i < NSUBMODELS; i++) sub_models[i] = nullptr; transfer_history_factor = nullptr; } @@ -200,7 +199,7 @@ void ContactModel::init() int i, j, size_cumulative; size_history = 0; - for (i = 0; i < nmodels; i++) { + for (i = 0; i < NSUBMODELS; i++) { if (sub_models[i]) { if (sub_models[i]->nondefault_history_transfer) nondefault_history_transfer = 1; @@ -216,7 +215,7 @@ void ContactModel::init() for (i = 0; i < size_history; i++) { // Find which model controls this history value size_cumulative = 0; - for (j = 0; j < nmodels; j++) { + for (j = 0; j < NSUBMODELS; j++) { if (sub_models[j]) { if (size_cumulative + sub_models[j]->size_history > i) break; size_cumulative += sub_models[j]->size_history; @@ -224,7 +223,7 @@ void ContactModel::init() } // Check if model has nondefault transfers, if so copy its array - if (j != nmodels) { + if (j != NSUBMODELS) { transfer_history_factor[i] = -1; if (sub_models[j]) { if (sub_models[j]->nondefault_history_transfer) { @@ -235,7 +234,7 @@ void ContactModel::init() } } - for (i = 0; i < nmodels; i++) + for (i = 0; i < NSUBMODELS; i++) if (sub_models[i]) sub_models[i]->init(); } @@ -243,9 +242,9 @@ void ContactModel::init() void ContactModel::mix_coeffs(ContactModel *c1, ContactModel *c2) { - for (int i = 0; i < nmodels; i++) + for (int i = 0; i < NSUBMODELS; i++) if (sub_models[i]) - sub_models[i]->mix_coeffs(c1->sub_models[i], c2->sub_models[i]); + sub_models[i]->mix_coeffs(c1->sub_models[i]->coeffs, c2->sub_models[i]->coeffs); limit_damping = MAX(c1->limit_damping, c2->limit_damping); } @@ -256,7 +255,7 @@ void ContactModel::write_restart(FILE *fp) { int num_char, num_coeffs; - for (int i = 0; i < nmodels; i++) { + for (int i = 0; i < NSUBMODELS; i++) { num_char = -1; if (sub_models[i]) { num_char = sub_models[i]->name.length(); @@ -277,7 +276,7 @@ void ContactModel::read_restart(FILE *fp) { int num_char, num_coeff; - for (int i = 0; i < nmodels; i++) { + for (int i = 0; i < NSUBMODELS; i++) { if (comm->me == 0) utils::sfread(FLERR, &num_char, sizeof(int), 1, fp, nullptr, error); MPI_Bcast(&num_char, 1, MPI_INT, 0, world); diff --git a/src/GRANULAR/contact.h b/src/GRANULAR/contact.h index 5fbb8a8489..535ec4461e 100644 --- a/src/GRANULAR/contact.h +++ b/src/GRANULAR/contact.h @@ -20,7 +20,7 @@ namespace LAMMPS_NS { namespace Contact { #define EPSILON 1e-10 -#define NMODELS 6 +#define NSUBMODELS 6 enum ModelType { NORMAL = 0, @@ -72,7 +72,7 @@ class ContactModel : protected Pointers { RollingModel *rolling_model; TwistingModel *twisting_model; HeatModel *heat_model; - SubModel *sub_models[NMODELS]; // Need to resize if we add more model flavors + SubModel *sub_models[NSUBMODELS]; // Need to resize if we add more model flavors // Extra options int beyond_contact, limit_damping, history_update; @@ -96,7 +96,6 @@ class ContactModel : protected Pointers { double vr[3], vn[3], vnnr, vt[3], wr[3], vtr[3], vrl[3], relrot[3], vrel; double magtwist; bool touch; - int nmodels; protected: diff --git a/src/GRANULAR/contact_damping_models.h b/src/GRANULAR/contact_damping_models.h index 70294edc6a..b1e1b795e0 100644 --- a/src/GRANULAR/contact_damping_models.h +++ b/src/GRANULAR/contact_damping_models.h @@ -25,7 +25,7 @@ class DampingModel : public SubModel { DampingModel(class LAMMPS *); ~DampingModel() {}; virtual void coeffs_to_local() {}; - virtual void mix_coeffs(DampingModel*, DampingModel*) {}; + virtual void mix_coeffs(double*, double*) {}; virtual void init(); virtual double calculate_forces() = 0; double damp; @@ -60,7 +60,7 @@ class DampingViscoelastic : public DampingModel { class DampingTsuji : public DampingModel { public: DampingTsuji(class LAMMPS *); - void init(); + void init() override; double calculate_forces(); }; diff --git a/src/GRANULAR/contact_heat_models.cpp b/src/GRANULAR/contact_heat_models.cpp index d25955b1c2..60f2ef1cbe 100644 --- a/src/GRANULAR/contact_heat_models.cpp +++ b/src/GRANULAR/contact_heat_models.cpp @@ -44,9 +44,9 @@ void HeatArea::coeffs_to_local() /* ---------------------------------------------------------------------- */ -void HeatArea::mix_coeffs(HeatModel* imodel, HeatModel* jmodel) +void HeatArea::mix_coeffs(double* icoeffs, double* jcoeffs) { - coeffs[0] = mix_geom(imodel->coeffs[0], jmodel->coeffs[0]); + coeffs[0] = mix_geom(icoeffs[0], jcoeffs[0]); coeffs_to_local(); } diff --git a/src/GRANULAR/contact_heat_models.h b/src/GRANULAR/contact_heat_models.h index b3104e9f3a..33b7eb2e90 100644 --- a/src/GRANULAR/contact_heat_models.h +++ b/src/GRANULAR/contact_heat_models.h @@ -24,7 +24,8 @@ class HeatModel : public SubModel { HeatModel(class LAMMPS *); ~HeatModel() {}; virtual void coeffs_to_local() {}; - virtual void mix_coeffs(HeatModel*, HeatModel*) {}; + virtual void mix_coeffs(double*, double*) {}; + virtual void init() {}; virtual double calculate_heat() = 0; }; @@ -33,8 +34,8 @@ class HeatModel : public SubModel { class HeatArea : public HeatModel { public: HeatArea(class LAMMPS *); - void coeffs_to_local(); - void mix_coeffs(HeatModel*, HeatModel*); + void coeffs_to_local() override; + void mix_coeffs(double*, double*) override; double calculate_heat(); protected: double conductivity; diff --git a/src/GRANULAR/contact_normal_models.cpp b/src/GRANULAR/contact_normal_models.cpp index d0dc19b14f..fb3523069c 100644 --- a/src/GRANULAR/contact_normal_models.cpp +++ b/src/GRANULAR/contact_normal_models.cpp @@ -89,10 +89,10 @@ void NormalHooke::coeffs_to_local() /* ---------------------------------------------------------------------- */ -void NormalHooke::mix_coeffs(NormalModel* imodel, NormalModel* jmodel) +void NormalHooke::mix_coeffs(double* icoeffs, double* jcoeffs) { - coeffs[0] = mix_geom(imodel->coeffs[0], jmodel->coeffs[0]); - coeffs[1] = mix_geom(imodel->coeffs[1], jmodel->coeffs[1]); + coeffs[0] = mix_geom(icoeffs[0], jcoeffs[0]); + coeffs[1] = mix_geom(icoeffs[1], jcoeffs[1]); coeffs_to_local(); } @@ -132,10 +132,10 @@ void NormalHertz::coeffs_to_local() /* ---------------------------------------------------------------------- */ -void NormalHertz::mix_coeffs(NormalModel* imodel, NormalModel* jmodel) +void NormalHertz::mix_coeffs(double* icoeffs, double* jcoeffs) { - coeffs[0] = mix_geom(imodel->coeffs[0], jmodel->coeffs[0]); - coeffs[1] = mix_geom(imodel->coeffs[1], jmodel->coeffs[1]); + coeffs[0] = mix_geom(icoeffs[0], jcoeffs[0]); + coeffs[1] = mix_geom(icoeffs[1], jcoeffs[1]); coeffs_to_local(); } @@ -178,11 +178,11 @@ void NormalHertzMaterial::coeffs_to_local() /* ---------------------------------------------------------------------- */ -void NormalHertzMaterial::mix_coeffs(NormalModel* imodel, NormalModel* jmodel) +void NormalHertzMaterial::mix_coeffs(double* icoeffs, double* jcoeffs) { - coeffs[0] = mix_stiffnessE(imodel->coeffs[0], jmodel->coeffs[0],imodel->coeffs[2], jmodel->coeffs[2]); - coeffs[1] = mix_geom(imodel->coeffs[1], jmodel->coeffs[1]); - coeffs[2] = mix_geom(imodel->coeffs[2], jmodel->coeffs[2]); + coeffs[0] = mix_stiffnessE(icoeffs[0], jcoeffs[0],icoeffs[2], jcoeffs[2]); + coeffs[1] = mix_geom(icoeffs[1], jcoeffs[1]); + coeffs[2] = mix_geom(icoeffs[2], jcoeffs[2]); coeffs_to_local(); } @@ -212,12 +212,12 @@ void NormalDMT::coeffs_to_local() /* ---------------------------------------------------------------------- */ -void NormalDMT::mix_coeffs(NormalModel* imodel, NormalModel* jmodel) +void NormalDMT::mix_coeffs(double* icoeffs, double* jcoeffs) { - coeffs[0] = mix_stiffnessE(imodel->coeffs[0], jmodel->coeffs[0],imodel->coeffs[2], jmodel->coeffs[2]); - coeffs[1] = mix_geom(imodel->coeffs[1], jmodel->coeffs[1]); - coeffs[2] = mix_geom(imodel->coeffs[2], jmodel->coeffs[2]); - coeffs[3] = mix_geom(imodel->coeffs[3], jmodel->coeffs[3]); + coeffs[0] = mix_stiffnessE(icoeffs[0], jcoeffs[0],icoeffs[2], jcoeffs[2]); + coeffs[1] = mix_geom(icoeffs[1], jcoeffs[1]); + coeffs[2] = mix_geom(icoeffs[2], jcoeffs[2]); + coeffs[3] = mix_geom(icoeffs[3], jcoeffs[3]); coeffs_to_local(); } @@ -273,12 +273,12 @@ void NormalJKR::coeffs_to_local() /* ---------------------------------------------------------------------- */ -void NormalJKR::mix_coeffs(NormalModel* imodel, NormalModel* jmodel) +void NormalJKR::mix_coeffs(double* icoeffs, double* jcoeffs) { - coeffs[0] = mix_stiffnessE(imodel->coeffs[0], jmodel->coeffs[0],imodel->coeffs[2], jmodel->coeffs[2]); - coeffs[1] = mix_geom(imodel->coeffs[1], jmodel->coeffs[1]); - coeffs[2] = mix_geom(imodel->coeffs[2], jmodel->coeffs[2]); - coeffs[3] = mix_geom(imodel->coeffs[3], jmodel->coeffs[3]); + coeffs[0] = mix_stiffnessE(icoeffs[0], jcoeffs[0],icoeffs[2], jcoeffs[2]); + coeffs[1] = mix_geom(icoeffs[1], jcoeffs[1]); + coeffs[2] = mix_geom(icoeffs[2], jcoeffs[2]); + coeffs[3] = mix_geom(icoeffs[3], jcoeffs[3]); coeffs_to_local(); } diff --git a/src/GRANULAR/contact_normal_models.h b/src/GRANULAR/contact_normal_models.h index ec604d04ba..f683e53308 100644 --- a/src/GRANULAR/contact_normal_models.h +++ b/src/GRANULAR/contact_normal_models.h @@ -24,7 +24,8 @@ class NormalModel : public SubModel { NormalModel(class LAMMPS *); ~NormalModel() {}; virtual void coeffs_to_local() {}; - virtual void mix_coeffs(NormalModel*, NormalModel*) {}; + virtual void mix_coeffs(double*, double*) {}; + virtual void init() {}; virtual bool touch(); virtual double pulloff_distance(double, double); virtual double calculate_area(); @@ -43,8 +44,8 @@ class NormalHooke : public NormalModel { public: NormalHooke(class LAMMPS *); ~NormalHooke() {}; - void coeffs_to_local(); - void mix_coeffs(NormalModel*, NormalModel*); + void coeffs_to_local() override; + void mix_coeffs(double*, double*) override; double calculate_forces(); void set_knfac(); protected: @@ -57,8 +58,8 @@ class NormalHertz : public NormalModel { public: NormalHertz(class LAMMPS *); ~NormalHertz() {}; - void coeffs_to_local(); - void mix_coeffs(NormalModel*, NormalModel*); + void coeffs_to_local() override; + void mix_coeffs(double*, double*) override; double calculate_forces(); void set_knfac(); protected: @@ -71,8 +72,8 @@ class NormalHertzMaterial : public NormalHertz { public: NormalHertzMaterial(class LAMMPS *); ~NormalHertzMaterial() {}; - void coeffs_to_local(); - void mix_coeffs(NormalModel*, NormalModel*); + void coeffs_to_local() override; + void mix_coeffs(double*, double*) override; }; /* ---------------------------------------------------------------------- */ @@ -81,11 +82,11 @@ class NormalDMT : public NormalModel { public: NormalDMT(class LAMMPS *); ~NormalDMT() {}; - void coeffs_to_local(); - void mix_coeffs(NormalModel*, NormalModel*); + void coeffs_to_local() override; + void mix_coeffs(double*, double*) override; double calculate_forces(); void set_knfac(); - void set_fncrit(); + void set_fncrit() override; protected: double k, cohesion; double F_pulloff; @@ -97,14 +98,14 @@ class NormalJKR : public NormalModel { public: NormalJKR(class LAMMPS *); ~NormalJKR() {}; - void coeffs_to_local(); - void mix_coeffs(NormalModel*, NormalModel*); - bool touch(); - double pulloff_distance(double, double); - double calculate_area(); + void coeffs_to_local() override; + void mix_coeffs(double*, double*) override; + bool touch() override; + double pulloff_distance(double, double) override; + double calculate_area() override; double calculate_forces(); void set_knfac(); - void set_fncrit(); + void set_fncrit() override; protected: double k, cohesion; double Escaled, F_pulloff; diff --git a/src/GRANULAR/contact_rolling_models.cpp b/src/GRANULAR/contact_rolling_models.cpp index cc8e3e471e..8f90b4bc04 100644 --- a/src/GRANULAR/contact_rolling_models.cpp +++ b/src/GRANULAR/contact_rolling_models.cpp @@ -53,11 +53,11 @@ void RollingSDS::coeffs_to_local() /* ---------------------------------------------------------------------- */ -void RollingSDS::mix_coeffs(RollingModel* imodel, RollingModel* jmodel) +void RollingSDS::mix_coeffs(double* icoeffs, double* jcoeffs) { - coeffs[0] = mix_geom(imodel->coeffs[0], jmodel->coeffs[0]); - coeffs[1] = mix_geom(imodel->coeffs[1], jmodel->coeffs[1]); - coeffs[2] = mix_geom(imodel->coeffs[2], jmodel->coeffs[2]); + coeffs[0] = mix_geom(icoeffs[0], jcoeffs[0]); + coeffs[1] = mix_geom(icoeffs[1], jcoeffs[1]); + coeffs[2] = mix_geom(icoeffs[2], jcoeffs[2]); coeffs_to_local(); } diff --git a/src/GRANULAR/contact_rolling_models.h b/src/GRANULAR/contact_rolling_models.h index e81d22301c..c3ab6810fa 100644 --- a/src/GRANULAR/contact_rolling_models.h +++ b/src/GRANULAR/contact_rolling_models.h @@ -24,7 +24,8 @@ class RollingModel : public SubModel { RollingModel(class LAMMPS *); ~RollingModel() {}; virtual void coeffs_to_local() {}; - virtual void mix_coeffs(RollingModel*, RollingModel*) {}; + virtual void mix_coeffs(double*, double*) {}; + virtual void init() {}; virtual double calculate_forces() = 0; }; @@ -33,8 +34,8 @@ class RollingModel : public SubModel { class RollingSDS : public RollingModel { public: RollingSDS(class LAMMPS *); - void coeffs_to_local(); - void mix_coeffs(RollingModel*, RollingModel*); + void coeffs_to_local() override; + void mix_coeffs(double*, double*) override; double calculate_forces(); protected: double k, mu, gamma; diff --git a/src/GRANULAR/contact_sub_models.h b/src/GRANULAR/contact_sub_models.h index 67e9c79e35..7b28bb4c57 100644 --- a/src/GRANULAR/contact_sub_models.h +++ b/src/GRANULAR/contact_sub_models.h @@ -29,9 +29,10 @@ class SubModel : protected Pointers { double *coeffs; void read_restart(); int parse_coeffs(char **, int, int); - virtual void mix_coeffs(SubModel*, SubModel*) {}; - virtual void coeffs_to_local() {}; - virtual void init() {}; // called after all other submodel coeffs defined + virtual void mix_coeffs(double*, double*) = 0; + virtual void coeffs_to_local() = 0; + virtual void init() = 0; // called after all other submodel coeffs defined + void allocate_coeffs(); std::string name; diff --git a/src/GRANULAR/contact_tangential_models.cpp b/src/GRANULAR/contact_tangential_models.cpp index d518926c38..a4911cd5c2 100644 --- a/src/GRANULAR/contact_tangential_models.cpp +++ b/src/GRANULAR/contact_tangential_models.cpp @@ -61,10 +61,10 @@ void TangentialLinearNoHistory::coeffs_to_local() /* ---------------------------------------------------------------------- */ -void TangentialLinearNoHistory::mix_coeffs(TangentialModel* imodel, TangentialModel* jmodel) +void TangentialLinearNoHistory::mix_coeffs(double* icoeffs, double* jcoeffs) { - coeffs[0] = mix_geom(imodel->coeffs[0], jmodel->coeffs[0]); - coeffs[1] = mix_geom(imodel->coeffs[1], jmodel->coeffs[1]); + coeffs[0] = mix_geom(icoeffs[0], jcoeffs[0]); + coeffs[1] = mix_geom(icoeffs[1], jcoeffs[1]); coeffs_to_local(); } @@ -108,11 +108,11 @@ void TangentialLinearHistory::coeffs_to_local() /* ---------------------------------------------------------------------- */ -void TangentialLinearHistory::mix_coeffs(TangentialModel* imodel, TangentialModel* jmodel) +void TangentialLinearHistory::mix_coeffs(double* icoeffs, double* jcoeffs) { - coeffs[0] = mix_geom(imodel->coeffs[0], jmodel->coeffs[0]); - coeffs[1] = mix_geom(imodel->coeffs[1], jmodel->coeffs[1]); - coeffs[2] = mix_geom(imodel->coeffs[2], jmodel->coeffs[2]); + coeffs[0] = mix_geom(icoeffs[0], jcoeffs[0]); + coeffs[1] = mix_geom(icoeffs[1], jcoeffs[1]); + coeffs[2] = mix_geom(icoeffs[2], jcoeffs[2]); coeffs_to_local(); } @@ -205,12 +205,12 @@ void TangentialMindlin::coeffs_to_local() /* ---------------------------------------------------------------------- */ -void TangentialMindlin::mix_coeffs(TangentialModel* imodel, TangentialModel* jmodel) +void TangentialMindlin::mix_coeffs(double* icoeffs, double* jcoeffs) { - if (imodel->coeffs[0] == -1 || imodel->coeffs[0] == -1) coeffs[0] = -1; - else coeffs[0] = mix_geom(imodel->coeffs[0], jmodel->coeffs[0]); - coeffs[1] = mix_geom(imodel->coeffs[1], jmodel->coeffs[1]); - coeffs[2] = mix_geom(imodel->coeffs[2], jmodel->coeffs[2]); + if (icoeffs[0] == -1 || jcoeffs[0] == -1) coeffs[0] = -1; + else coeffs[0] = mix_geom(icoeffs[0], jcoeffs[0]); + coeffs[1] = mix_geom(icoeffs[1], jcoeffs[1]); + coeffs[2] = mix_geom(icoeffs[2], jcoeffs[2]); coeffs_to_local(); } diff --git a/src/GRANULAR/contact_tangential_models.h b/src/GRANULAR/contact_tangential_models.h index 4e2c85f678..620f3388da 100644 --- a/src/GRANULAR/contact_tangential_models.h +++ b/src/GRANULAR/contact_tangential_models.h @@ -24,9 +24,9 @@ class TangentialModel : public SubModel { TangentialModel(class LAMMPS *); virtual ~TangentialModel() {}; virtual void coeffs_to_local() {}; - virtual void mix_coeffs(TangentialModel*, TangentialModel*) {}; + virtual void mix_coeffs(double*, double*) {}; + virtual void init(); virtual void calculate_forces() = 0; - void init(); int rescale_flag; double k, damp, mu; // Used by Marshall twisting model protected: @@ -38,8 +38,8 @@ class TangentialModel : public SubModel { class TangentialLinearNoHistory : public TangentialModel { public: TangentialLinearNoHistory(class LAMMPS *); - void coeffs_to_local(); - void mix_coeffs(TangentialModel*, TangentialModel*); + void coeffs_to_local() override; + void mix_coeffs(double*, double*) override; void calculate_forces(); }; @@ -48,8 +48,8 @@ class TangentialLinearNoHistory : public TangentialModel { class TangentialLinearHistory : public TangentialModel { public: TangentialLinearHistory(class LAMMPS *); - void coeffs_to_local(); - void mix_coeffs(TangentialModel*, TangentialModel*); + void coeffs_to_local() override; + void mix_coeffs(double*, double*) override; void calculate_forces(); }; @@ -58,8 +58,8 @@ class TangentialLinearHistory : public TangentialModel { class TangentialMindlin : public TangentialModel { public: TangentialMindlin(class LAMMPS *); - void coeffs_to_local(); - void mix_coeffs(TangentialModel*, TangentialModel*); + void coeffs_to_local() override; + void mix_coeffs(double*, double*) override; void calculate_forces(); protected: int mindlin_rescale, mindlin_force; diff --git a/src/GRANULAR/contact_twisting_models.cpp b/src/GRANULAR/contact_twisting_models.cpp index 089b4c686e..1fddda559c 100644 --- a/src/GRANULAR/contact_twisting_models.cpp +++ b/src/GRANULAR/contact_twisting_models.cpp @@ -93,11 +93,11 @@ void TwistingSDS::coeffs_to_local() /* ---------------------------------------------------------------------- */ -void TwistingSDS::mix_coeffs(TwistingModel* imodel, TwistingModel* jmodel) +void TwistingSDS::mix_coeffs(double* icoeffs, double* jcoeffs) { - coeffs[0] = mix_geom(imodel->coeffs[0], jmodel->coeffs[0]); - coeffs[1] = mix_geom(imodel->coeffs[1], jmodel->coeffs[1]); - coeffs[2] = mix_geom(imodel->coeffs[2], jmodel->coeffs[2]); + coeffs[0] = mix_geom(icoeffs[0], jcoeffs[0]); + coeffs[1] = mix_geom(icoeffs[1], jcoeffs[1]); + coeffs[2] = mix_geom(icoeffs[2], jcoeffs[2]); coeffs_to_local(); } diff --git a/src/GRANULAR/contact_twisting_models.h b/src/GRANULAR/contact_twisting_models.h index 5bcdc6b2a3..726eb163bf 100644 --- a/src/GRANULAR/contact_twisting_models.h +++ b/src/GRANULAR/contact_twisting_models.h @@ -24,7 +24,8 @@ class TwistingModel : public SubModel { TwistingModel(class LAMMPS *); virtual ~TwistingModel() {}; virtual void coeffs_to_local() {}; - virtual void mix_coeffs(TwistingModel*, TwistingModel*) {}; + virtual void mix_coeffs(double*, double*) {}; + virtual void init() {}; virtual double calculate_forces() = 0; }; @@ -41,8 +42,8 @@ class TwistingMarshall : public TwistingModel { class TwistingSDS : public TwistingModel { public: TwistingSDS(class LAMMPS *); - void coeffs_to_local(); - void mix_coeffs(TwistingModel*, TwistingModel*); + void coeffs_to_local() override; + void mix_coeffs(double*, double*) override; double calculate_forces(); protected: double k, mu, damp; diff --git a/src/GRANULAR/fix_wall_gran.cpp b/src/GRANULAR/fix_wall_gran.cpp index c1640c6fdf..b0f87890f7 100644 --- a/src/GRANULAR/fix_wall_gran.cpp +++ b/src/GRANULAR/fix_wall_gran.cpp @@ -361,7 +361,7 @@ void FixWallGran::init() int next_index = 0; if (model->beyond_contact) next_index = 1; - for (i = 0; i < NMODELS; i++) { + for (i = 0; i < NSUBMODELS; i++) { if (model->sub_models[i]) { model->sub_models[i]->history_index = next_index; next_index += model->sub_models[i]->size_history; diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index 44b81bbc87..c4d7bc1490 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -443,13 +443,13 @@ void PairGranular::init_style() error->all(FLERR,"Pair granular requires ghost atoms store velocity"); // allocate history and initialize models - int size_max[NMODELS] = {0}; + int size_max[NSUBMODELS] = {0}; for (auto &model : vec_models) { model.init(); if (model.size_history != 0) use_history = 1; - for (i = 0; i < NMODELS; i++) + for (i = 0; i < NSUBMODELS; i++) if (model.sub_models[i]) if (model.sub_models[i]->size_history > size_max[i]) size_max[i] = model.sub_models[i]->size_history; @@ -458,11 +458,11 @@ void PairGranular::init_style() } size_history = 0; - for (i = 0; i < NMODELS; i++) size_history += size_max[i]; + for (i = 0; i < NSUBMODELS; i++) size_history += size_max[i]; for (auto &model : vec_models) { int next_index = 0; - for (i = 0; i < NMODELS; i++) { + for (i = 0; i < NSUBMODELS; i++) { if (model.sub_models[i]) { model.sub_models[i]->history_index = next_index; next_index += size_max[i]; @@ -584,7 +584,7 @@ double PairGranular::init_one(int i, int j) vec_models.back().mix_coeffs(models[i][i], models[j][j]); vec_models.back().init(); // Calculates cumulative properties of sub models - for (int k = 0; k < NMODELS; k++) + for (int k = 0; k < NSUBMODELS; k++) vec_models.back().sub_models[k]->history_index = models[i][i]->sub_models[k]->history_index; } diff --git a/src/contact.h b/src/contact.h index 5fbb8a8489..535ec4461e 100644 --- a/src/contact.h +++ b/src/contact.h @@ -20,7 +20,7 @@ namespace LAMMPS_NS { namespace Contact { #define EPSILON 1e-10 -#define NMODELS 6 +#define NSUBMODELS 6 enum ModelType { NORMAL = 0, @@ -72,7 +72,7 @@ class ContactModel : protected Pointers { RollingModel *rolling_model; TwistingModel *twisting_model; HeatModel *heat_model; - SubModel *sub_models[NMODELS]; // Need to resize if we add more model flavors + SubModel *sub_models[NSUBMODELS]; // Need to resize if we add more model flavors // Extra options int beyond_contact, limit_damping, history_update; @@ -96,7 +96,6 @@ class ContactModel : protected Pointers { double vr[3], vn[3], vnnr, vt[3], wr[3], vtr[3], vrl[3], relrot[3], vrel; double magtwist; bool touch; - int nmodels; protected: From 06953bd67aafed30f097f37aac7c45ad119d88cb Mon Sep 17 00:00:00 2001 From: jtclemm Date: Fri, 9 Sep 2022 17:12:51 -0600 Subject: [PATCH 021/448] Adding none submodels, further cleaning up mixing, misc edits --- doc/src/fix_temp_integrate.rst | 11 +- doc/src/pair_granular.rst | 28 +++- src/GRANULAR/contact.cpp | 180 +++++++++++---------- src/GRANULAR/contact.h | 7 +- src/GRANULAR/contact_damping_models.cpp | 13 ++ src/GRANULAR/contact_damping_models.h | 9 ++ src/GRANULAR/contact_heat_models.cpp | 21 ++- src/GRANULAR/contact_heat_models.h | 10 +- src/GRANULAR/contact_normal_models.cpp | 31 ++-- src/GRANULAR/contact_normal_models.h | 21 +-- src/GRANULAR/contact_rolling_models.cpp | 19 +-- src/GRANULAR/contact_rolling_models.h | 14 +- src/GRANULAR/contact_sub_models.cpp | 9 ++ src/GRANULAR/contact_sub_models.h | 2 +- src/GRANULAR/contact_tangential_models.cpp | 25 +-- src/GRANULAR/contact_tangential_models.h | 11 +- src/GRANULAR/contact_twisting_models.cpp | 26 ++- src/GRANULAR/contact_twisting_models.h | 16 +- src/GRANULAR/fix_wall_gran.cpp | 8 +- src/GRANULAR/fix_wall_gran_region.cpp | 2 +- src/GRANULAR/pair_granular.cpp | 40 ++--- src/contact.h | 7 +- 22 files changed, 275 insertions(+), 235 deletions(-) diff --git a/doc/src/fix_temp_integrate.rst b/doc/src/fix_temp_integrate.rst index c2f1257075..bd06b45c6e 100644 --- a/doc/src/fix_temp_integrate.rst +++ b/doc/src/fix_temp_integrate.rst @@ -52,11 +52,12 @@ of the specific heat are defined, one for each of the *N* types of atoms. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options -are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various :doc:`output commands `. -No parameter of this fix can be used with the *start/stop* keywords of -the :doc:`run ` command. This fix is not invoked during :doc:`energy minimization `. +No information about this fix is written to :doc:`binary restart files `. +None of the :doc:`fix_modify ` options are relevant to this fix. +No global or per-atom quantities are stored by this fix for access by various +:doc:`output commands `. No parameter of this fix can be used +with the *start/stop* keywords of the :doc:`run ` command. This fix is +not invoked during :doc:`energy minimization `. Restrictions """""""""""" diff --git a/doc/src/pair_granular.rst b/doc/src/pair_granular.rst index d630b18a3a..675c8fe4ff 100644 --- a/doc/src/pair_granular.rst +++ b/doc/src/pair_granular.rst @@ -38,7 +38,7 @@ Examples pair_coeff 2 2 dmt 1000.0 50.0 0.3 10.0 tangential mindlin NULL 0.5 0.1 rolling sds 500.0 200.0 0.1 twisting marshall pair_style granular - pair_coeff * * hertz 1000.0 50.0 tangential mindlin 1000.0 1.0 0.4 heat 0.1 + pair_coeff * * hertz 1000.0 50.0 tangential mindlin 1000.0 1.0 0.4 heat area 0.1 Description """"""""""" @@ -634,18 +634,30 @@ attractive force. This keyword cannot be used with the JKR or DMT models. ---------- -The optional *heat* keyword enables heat conduction and it must be followed by -a non-negative numeric value for the conductivity :math:`k_{s}.`` The heat :math:`Q` -conducted across an interface is given by +The optional *heat* keyword enables heat conduction . The options currently +supported are: + +1. *none* +2. *area* : :math:`k_{s}` + +If the *heat* keyword is not specified, the model defaults to *none*. + +For *heat* *area*, the heat +:math:`Q` conducted across an interface is given by .. math:: Q = k_{s} a \Delta T -where :math:`\Delta T` is the difference in the two particles' temperature and :math:`a` -is the area of the contact and depends on the normal force model. Note that the *heat* keyword -must be included in either all or none of of the *pair_coeff* calls. See -:doc:`fix temp/integrate ` for more information on this option. + + +where :math:`\Delta T` is the difference in the two particles' temperature, +:math:`k_{s}` is a non-negative numeric value for the conductivity, and +:math:`a` is the area of the contact and depends on the normal force model. + +Note that the option *none* must either be used in all or none of of the +*pair_coeff* calls. See :doc:`fix temp/integrate ` for +more information on this option. ---------- diff --git a/src/GRANULAR/contact.cpp b/src/GRANULAR/contact.cpp index 488e175227..a1a35afe47 100644 --- a/src/GRANULAR/contact.cpp +++ b/src/GRANULAR/contact.cpp @@ -76,7 +76,9 @@ ContactModel::~ContactModel() void ContactModel::init_model(std::string model_name, ModelType model_type) { if (model_type == NORMAL) { - if (model_name == "hooke") normal_model = new NormalHooke(lmp); + delete normal_model; + if (model_name == "none") normal_model = new NormalNone(lmp); + else if (model_name == "hooke") normal_model = new NormalHooke(lmp); else if (model_name == "hertz") normal_model = new NormalHertz(lmp); else if (model_name == "hertz/material") normal_model = new NormalHertzMaterial(lmp); else if (model_name == "dmt") normal_model = new NormalDMT(lmp); @@ -85,7 +87,9 @@ void ContactModel::init_model(std::string model_name, ModelType model_type) sub_models[model_type] = normal_model; } else if (model_type == TANGENTIAL) { - if (model_name == "linear_nohistory") tangential_model = new TangentialLinearNoHistory(lmp); + delete tangential_model; + if (model_name == "none") tangential_model = new TangentialNone(lmp); + else if (model_name == "linear_nohistory") tangential_model = new TangentialLinearNoHistory(lmp); else if (model_name == "linear_history") tangential_model = new TangentialLinearHistory(lmp); else if (model_name == "mindlin") tangential_model = new TangentialMindlin(lmp); else if (model_name == "mindlin/force") tangential_model = new TangentialMindlinForce(lmp); @@ -95,7 +99,9 @@ void ContactModel::init_model(std::string model_name, ModelType model_type) sub_models[model_type] = tangential_model; } else if (model_type == DAMPING) { - if (model_name == "velocity") damping_model = new DampingVelocity(lmp); + delete damping_model; + if (model_name == "none") damping_model = new DampingNone(lmp); + else if (model_name == "velocity") damping_model = new DampingVelocity(lmp); else if (model_name == "mass_velocity") damping_model = new DampingMassVelocity(lmp); else if (model_name == "viscoelastic") damping_model = new DampingViscoelastic(lmp); else if (model_name == "tsuji") damping_model = new DampingTsuji(lmp); @@ -103,21 +109,33 @@ void ContactModel::init_model(std::string model_name, ModelType model_type) sub_models[model_type] = damping_model; } else if (model_type == ROLLING) { - if (model_name == "none") delete rolling_model; - else if (model_name == "sds") rolling_model = new RollingSDS(lmp); + delete rolling_model; + rolling_defined = 1; + if (model_name == "none") { + rolling_model = new RollingNone(lmp); + rolling_defined = 0; + } else if (model_name == "sds") rolling_model = new RollingSDS(lmp); else error->all(FLERR, "Rolling model name {} not recognized", model_name); sub_models[model_type] = rolling_model; } else if (model_type == TWISTING) { - if (model_name == "none") delete twisting_model; - else if (model_name == "sds") twisting_model = new TwistingSDS(lmp); + delete twisting_model; + twisting_defined = 1; + if (model_name == "none") { + twisting_model = new TwistingNone(lmp); + twisting_defined = 0; + } else if (model_name == "sds") twisting_model = new TwistingSDS(lmp); else if (model_name == "marshall") twisting_model = new TwistingMarshall(lmp); else error->all(FLERR, "Twisting model name {} not recognized", model_name); sub_models[model_type] = twisting_model; } else if (model_type == HEAT) { - if (model_name == "none") delete heat_model; - else if (model_name == "area") heat_model = new HeatArea(lmp); + delete heat_model; + heat_defined = 1; + if (model_name == "none") { + heat_model = new HeatNone(lmp); + heat_defined = 0; + } else if (model_name == "area") heat_model = new HeatArea(lmp); else error->all(FLERR, "Heat model name not {} recognized", model_name); sub_models[model_type] = heat_model; } else { @@ -170,9 +188,9 @@ int ContactModel::init_classic_model(char **arg, int iarg, int narg) init_model("mass_velocity", DAMPING); // ensure additional models are undefined - rolling_model = nullptr; - twisting_model = nullptr; - heat_model = nullptr; + init_model("none", ROLLING); + init_model("none", TWISTING); + init_model("none", HEAT); // manually parse coeffs normal_model->coeffs[0] = kn; @@ -186,67 +204,71 @@ int ContactModel::init_classic_model(char **arg, int iarg, int narg) damping_model->coeffs_to_local(); iarg += 7; - return iarg ; + return iarg; } /* ---------------------------------------------------------------------- */ void ContactModel::init() { - if (!normal_model) error->all(FLERR, "Must specify normal contact model"); - if (!damping_model) error->all(FLERR, "Must specify damping contact model"); - if (!tangential_model) error->all(FLERR, "Must specify tangential contact model"); + int i, j; + for (i = 0; i < NSUBMODELS; i++) + if (!sub_models[i]) init_model("none", (ModelType) i); - int i, j, size_cumulative; + // Must have valid normal, damping, and tangential models + if (normal_model->name == "none") error->all(FLERR, "Must specify normal contact model"); + if (damping_model->name == "none") error->all(FLERR, "Must specify damping contact model"); + if (tangential_model->name == "none") error->all(FLERR, "Must specify tangential contact model"); + + int size_cumulative; size_history = 0; for (i = 0; i < NSUBMODELS; i++) { - if (sub_models[i]) { - if (sub_models[i]->nondefault_history_transfer) - nondefault_history_transfer = 1; - if (sub_models[i]->beyond_contact) - beyond_contact = 1; - size_history += sub_models[i]->size_history; - } + if (sub_models[i]->nondefault_history_transfer) + nondefault_history_transfer = 1; + if (sub_models[i]->beyond_contact) + beyond_contact = 1; + size_history += sub_models[i]->size_history; } if (nondefault_history_transfer) { transfer_history_factor = new double[size_history]; for (i = 0; i < size_history; i++) { - // Find which model controls this history value + // Find which model owns this history value size_cumulative = 0; for (j = 0; j < NSUBMODELS; j++) { - if (sub_models[j]) { - if (size_cumulative + sub_models[j]->size_history > i) break; - size_cumulative += sub_models[j]->size_history; - } + if (size_cumulative + sub_models[j]->size_history > i) break; + size_cumulative += sub_models[j]->size_history; } // Check if model has nondefault transfers, if so copy its array + transfer_history_factor[i] = -1; if (j != NSUBMODELS) { - transfer_history_factor[i] = -1; - if (sub_models[j]) { - if (sub_models[j]->nondefault_history_transfer) { - transfer_history_factor[i] = sub_models[j]->transfer_history_factor[i - size_cumulative]; - } + if (sub_models[j]->nondefault_history_transfer) { + transfer_history_factor[i] = sub_models[j]->transfer_history_factor[i - size_cumulative]; } } } } - for (i = 0; i < NSUBMODELS; i++) - if (sub_models[i]) sub_models[i]->init(); + for (i = 0; i < NSUBMODELS; i++) sub_models[i]->init(); } /* ---------------------------------------------------------------------- */ -void ContactModel::mix_coeffs(ContactModel *c1, ContactModel *c2) +int ContactModel::mix_coeffs(ContactModel *c1, ContactModel *c2) { - for (int i = 0; i < NSUBMODELS; i++) - if (sub_models[i]) - sub_models[i]->mix_coeffs(c1->sub_models[i]->coeffs, c2->sub_models[i]->coeffs); + int i; + for (i = 0; i < NSUBMODELS; i++) { + if (c1->sub_models[i]->name != c2->sub_models[i]->name) return i; + + init_model(c1->sub_models[i]->name, (ModelType) i); + sub_models[i]->mix_coeffs(c1->sub_models[i]->coeffs, c2->sub_models[i]->coeffs); + } limit_damping = MAX(c1->limit_damping, c2->limit_damping); + + return -1; } /* ---------------------------------------------------------------------- */ @@ -256,17 +278,12 @@ void ContactModel::write_restart(FILE *fp) int num_char, num_coeffs; for (int i = 0; i < NSUBMODELS; i++) { - num_char = -1; - if (sub_models[i]) { - num_char = sub_models[i]->name.length(); - num_coeffs = sub_models[i]->num_coeffs; - fwrite(&num_char, sizeof(int), 1, fp); - fwrite(sub_models[i]->name.data(), sizeof(char), num_char, fp); - fwrite(&num_coeffs, sizeof(int), 1, fp); - fwrite(sub_models[i]->coeffs, sizeof(double), num_coeffs, fp); - } else { - fwrite(&num_char, sizeof(int), 1, fp); - } + num_char = sub_models[i]->name.length(); + num_coeffs = sub_models[i]->num_coeffs; + fwrite(&num_char, sizeof(int), 1, fp); + fwrite(sub_models[i]->name.data(), sizeof(char), num_char, fp); + fwrite(&num_coeffs, sizeof(int), 1, fp); + fwrite(sub_models[i]->coeffs, sizeof(double), num_coeffs, fp); } } @@ -281,27 +298,25 @@ void ContactModel::read_restart(FILE *fp) utils::sfread(FLERR, &num_char, sizeof(int), 1, fp, nullptr, error); MPI_Bcast(&num_char, 1, MPI_INT, 0, world); - if (num_char != -1) { - std::string model_name (num_char, ' '); - if (comm->me == 0) - utils::sfread(FLERR, const_cast(model_name.data()), sizeof(char),num_char, fp, nullptr, error); - MPI_Bcast(const_cast(model_name.data()), num_char, MPI_CHAR, 0, world); + std::string model_name (num_char, ' '); + if (comm->me == 0) + utils::sfread(FLERR, const_cast(model_name.data()), sizeof(char),num_char, fp, nullptr, error); + MPI_Bcast(const_cast(model_name.data()), num_char, MPI_CHAR, 0, world); - init_model(model_name, (ModelType) i); + init_model(model_name, (ModelType) i); - if (comm->me == 0) { - utils::sfread(FLERR, &num_coeff, sizeof(int), 1, fp, nullptr, error); - if (num_coeff != sub_models[i]->num_coeffs) - error->one(FLERR, "Invalid contact model written to restart file"); - } - MPI_Bcast(&num_coeff, 1, MPI_INT, 0, world); - - if (comm->me == 0) { - utils::sfread(FLERR, sub_models[i]->coeffs, sizeof(double), num_coeff, fp, nullptr, error); - } - MPI_Bcast(sub_models[i]->coeffs, num_coeff, MPI_DOUBLE, 0, world); - sub_models[i]->coeffs_to_local(); + if (comm->me == 0) { + utils::sfread(FLERR, &num_coeff, sizeof(int), 1, fp, nullptr, error); + if (num_coeff != sub_models[i]->num_coeffs) + error->one(FLERR, "Invalid contact model written to restart file"); } + MPI_Bcast(&num_coeff, 1, MPI_INT, 0, world); + + if (comm->me == 0) { + utils::sfread(FLERR, sub_models[i]->coeffs, sizeof(double), num_coeff, fp, nullptr, error); + } + MPI_Bcast(sub_models[i]->coeffs, num_coeff, MPI_DOUBLE, 0, world); + sub_models[i]->coeffs_to_local(); } } @@ -378,10 +393,10 @@ void ContactModel::prep_contact() sub3(vt, temp, vtr); vrel = len3(vtr); - if (rolling_model || twisting_model) + if (rolling_defined || twisting_defined) sub3(omegai, omegaj, relrot); - if (rolling_model) { + if (rolling_defined) { // rolling velocity, see eq. 31 of Wang et al, Particuology v 23, p 49 (2015) // this is different from the Marshall papers, which use the Bagi/Kuhn formulation // for rolling velocity (see Wang et al for why the latter is wrong) @@ -390,7 +405,7 @@ void ContactModel::prep_contact() vrl[2] = Reff * (relrot[0] * nx[1] - relrot[1] * nx[0]); } - if (twisting_model) { + if (twisting_defined) { // omega_T (eq 29 of Marshall) magtwist = dot3(relrot, nx); } @@ -424,8 +439,8 @@ void ContactModel::calculate_forces() if (limit_damping && Fntot < 0.0) Fntot = 0.0; tangential_model->calculate_forces(); - if (rolling_model) rolling_model->calculate_forces(); - if (twisting_model) twisting_model->calculate_forces(); + if (rolling_defined) rolling_model->calculate_forces(); + if (twisting_defined) twisting_model->calculate_forces(); //********************************************** // sum contributions @@ -438,13 +453,13 @@ void ContactModel::calculate_forces() cross3(nx, fs, torquesi); copy3(torquesi, torquesj); - double dist_to_contact = radi-0.5*delta; + double dist_to_contact = radi - 0.5 * delta; scale3(dist_to_contact, torquesi); - dist_to_contact = radj-0.5*delta; + dist_to_contact = radj - 0.5 * delta; scale3(dist_to_contact, torquesj); double torroll[3]; - if (rolling_model) { + if (rolling_defined) { cross3(nx, fr, torroll); scale3(Reff, torroll); add3(torquesi, torroll, torquesi); @@ -452,18 +467,15 @@ void ContactModel::calculate_forces() } double tortwist[3]; - if (twisting_model) { + if (twisting_defined) { scale3(magtortwist, nx, tortwist); add3(torquesi, tortwist, torquesi); sub3(torquesj, tortwist, torquesj); } -} -/* ---------------------------------------------------------------------- */ - -double ContactModel::calculate_heat() -{ - return heat_model->calculate_heat(); + if (heat_defined) { + dq = heat_model->calculate_heat(); + } } /* ---------------------------------------------------------------------- diff --git a/src/GRANULAR/contact.h b/src/GRANULAR/contact.h index 535ec4461e..e0600146c3 100644 --- a/src/GRANULAR/contact.h +++ b/src/GRANULAR/contact.h @@ -55,12 +55,11 @@ class ContactModel : protected Pointers { void reset_contact(); void prep_contact(); void calculate_forces(); - double calculate_heat(); double pulloff_distance(double, double); void init_model(std::string, ModelType); int init_classic_model(char **, int, int); - void mix_coeffs(ContactModel*, ContactModel*); + int mix_coeffs(ContactModel*, ContactModel*); void write_restart(FILE *); void read_restart(FILE *); @@ -84,7 +83,7 @@ class ContactModel : protected Pointers { double *history; // Contact properties/output - double forces[3], torquesi[3], torquesj[3]; + double forces[3], torquesi[3], torquesj[3], dq; double radi, radj, rwall, meff, dt, Ti, Tj, area; double Fntot, magtortwist; @@ -98,7 +97,7 @@ class ContactModel : protected Pointers { bool touch; protected: - + int rolling_defined, twisting_defined, heat_defined; // Used to quickly skip undefined submodels int prep_flag, check_flag; }; diff --git a/src/GRANULAR/contact_damping_models.cpp b/src/GRANULAR/contact_damping_models.cpp index 8d44746683..a003d181d9 100644 --- a/src/GRANULAR/contact_damping_models.cpp +++ b/src/GRANULAR/contact_damping_models.cpp @@ -33,6 +33,19 @@ void DampingModel::init() damp = contact->normal_model->damp; } +/* ---------------------------------------------------------------------- + No model +------------------------------------------------------------------------- */ + +DampingNone::DampingNone(LAMMPS *lmp) : DampingModel(lmp) {} + +/* ---------------------------------------------------------------------- */ + +double DampingNone::calculate_forces() +{ + return 0.0; +} + /* ---------------------------------------------------------------------- Velocity damping ------------------------------------------------------------------------- */ diff --git a/src/GRANULAR/contact_damping_models.h b/src/GRANULAR/contact_damping_models.h index b1e1b795e0..611393da9f 100644 --- a/src/GRANULAR/contact_damping_models.h +++ b/src/GRANULAR/contact_damping_models.h @@ -33,6 +33,15 @@ class DampingModel : public SubModel { /* ---------------------------------------------------------------------- */ +class DampingNone : public DampingModel { + public: + DampingNone(class LAMMPS *); + void init() override {}; + double calculate_forces(); +}; + +/* ---------------------------------------------------------------------- */ + class DampingVelocity : public DampingModel { public: DampingVelocity(class LAMMPS *); diff --git a/src/GRANULAR/contact_heat_models.cpp b/src/GRANULAR/contact_heat_models.cpp index 60f2ef1cbe..00ac0c0785 100644 --- a/src/GRANULAR/contact_heat_models.cpp +++ b/src/GRANULAR/contact_heat_models.cpp @@ -28,6 +28,19 @@ HeatModel::HeatModel(LAMMPS *lmp) : SubModel(lmp) {} Area-based heat conduction ------------------------------------------------------------------------- */ +HeatNone::HeatNone(LAMMPS *lmp) : HeatModel(lmp) {} + +/* ---------------------------------------------------------------------- */ + +double HeatNone::calculate_heat() +{ + return 0.0; +} + +/* ---------------------------------------------------------------------- + Area-based heat conduction +------------------------------------------------------------------------- */ + HeatArea::HeatArea(LAMMPS *lmp) : HeatModel(lmp) { num_coeffs = 1; @@ -44,14 +57,6 @@ void HeatArea::coeffs_to_local() /* ---------------------------------------------------------------------- */ -void HeatArea::mix_coeffs(double* icoeffs, double* jcoeffs) -{ - coeffs[0] = mix_geom(icoeffs[0], jcoeffs[0]); - coeffs_to_local(); -} - -/* ---------------------------------------------------------------------- */ - double HeatArea::calculate_heat() { return conductivity * contact->area * (contact->Ti - contact->Tj); diff --git a/src/GRANULAR/contact_heat_models.h b/src/GRANULAR/contact_heat_models.h index 33b7eb2e90..5a0d495810 100644 --- a/src/GRANULAR/contact_heat_models.h +++ b/src/GRANULAR/contact_heat_models.h @@ -24,18 +24,24 @@ class HeatModel : public SubModel { HeatModel(class LAMMPS *); ~HeatModel() {}; virtual void coeffs_to_local() {}; - virtual void mix_coeffs(double*, double*) {}; virtual void init() {}; virtual double calculate_heat() = 0; }; /* ---------------------------------------------------------------------- */ +class HeatNone : public HeatModel { + public: + HeatNone(class LAMMPS *); + double calculate_heat(); +}; + +/* ---------------------------------------------------------------------- */ + class HeatArea : public HeatModel { public: HeatArea(class LAMMPS *); void coeffs_to_local() override; - void mix_coeffs(double*, double*) override; double calculate_heat(); protected: double conductivity; diff --git a/src/GRANULAR/contact_normal_models.cpp b/src/GRANULAR/contact_normal_models.cpp index fb3523069c..2f59311edf 100644 --- a/src/GRANULAR/contact_normal_models.cpp +++ b/src/GRANULAR/contact_normal_models.cpp @@ -68,6 +68,19 @@ void NormalModel::set_fncrit() Fncrit = fabs(contact->Fntot); } +/* ---------------------------------------------------------------------- + No model +------------------------------------------------------------------------- */ + +NormalNone::NormalNone(LAMMPS *lmp) : NormalModel(lmp) {} + +/* ---------------------------------------------------------------------- */ + +double NormalNone::calculate_forces() +{ + return 0.0; +} + /* ---------------------------------------------------------------------- Hookean normal force ------------------------------------------------------------------------- */ @@ -89,15 +102,6 @@ void NormalHooke::coeffs_to_local() /* ---------------------------------------------------------------------- */ -void NormalHooke::mix_coeffs(double* icoeffs, double* jcoeffs) -{ - coeffs[0] = mix_geom(icoeffs[0], jcoeffs[0]); - coeffs[1] = mix_geom(icoeffs[1], jcoeffs[1]); - coeffs_to_local(); -} - -/* ---------------------------------------------------------------------- */ - double NormalHooke::calculate_forces() { Fne = knfac * contact->delta; @@ -132,15 +136,6 @@ void NormalHertz::coeffs_to_local() /* ---------------------------------------------------------------------- */ -void NormalHertz::mix_coeffs(double* icoeffs, double* jcoeffs) -{ - coeffs[0] = mix_geom(icoeffs[0], jcoeffs[0]); - coeffs[1] = mix_geom(icoeffs[1], jcoeffs[1]); - coeffs_to_local(); -} - -/* ---------------------------------------------------------------------- */ - double NormalHertz::calculate_forces() { Fne = knfac * contact->delta; diff --git a/src/GRANULAR/contact_normal_models.h b/src/GRANULAR/contact_normal_models.h index f683e53308..6d47dd3736 100644 --- a/src/GRANULAR/contact_normal_models.h +++ b/src/GRANULAR/contact_normal_models.h @@ -24,7 +24,6 @@ class NormalModel : public SubModel { NormalModel(class LAMMPS *); ~NormalModel() {}; virtual void coeffs_to_local() {}; - virtual void mix_coeffs(double*, double*) {}; virtual void init() {}; virtual bool touch(); virtual double pulloff_distance(double, double); @@ -40,12 +39,19 @@ class NormalModel : public SubModel { /* ---------------------------------------------------------------------- */ +class NormalNone : public NormalModel { + public: + NormalNone(class LAMMPS *); + double calculate_forces(); + void set_knfac() {}; +}; + +/* ---------------------------------------------------------------------- */ + class NormalHooke : public NormalModel { public: NormalHooke(class LAMMPS *); - ~NormalHooke() {}; void coeffs_to_local() override; - void mix_coeffs(double*, double*) override; double calculate_forces(); void set_knfac(); protected: @@ -57,9 +63,7 @@ class NormalHooke : public NormalModel { class NormalHertz : public NormalModel { public: NormalHertz(class LAMMPS *); - ~NormalHertz() {}; void coeffs_to_local() override; - void mix_coeffs(double*, double*) override; double calculate_forces(); void set_knfac(); protected: @@ -71,7 +75,6 @@ class NormalHertz : public NormalModel { class NormalHertzMaterial : public NormalHertz { public: NormalHertzMaterial(class LAMMPS *); - ~NormalHertzMaterial() {}; void coeffs_to_local() override; void mix_coeffs(double*, double*) override; }; @@ -81,7 +84,6 @@ class NormalHertzMaterial : public NormalHertz { class NormalDMT : public NormalModel { public: NormalDMT(class LAMMPS *); - ~NormalDMT() {}; void coeffs_to_local() override; void mix_coeffs(double*, double*) override; double calculate_forces(); @@ -97,14 +99,13 @@ class NormalDMT : public NormalModel { class NormalJKR : public NormalModel { public: NormalJKR(class LAMMPS *); - ~NormalJKR() {}; void coeffs_to_local() override; void mix_coeffs(double*, double*) override; bool touch() override; double pulloff_distance(double, double) override; double calculate_area() override; - double calculate_forces(); - void set_knfac(); + double calculate_forces() override; + void set_knfac() override; void set_fncrit() override; protected: double k, cohesion; diff --git a/src/GRANULAR/contact_rolling_models.cpp b/src/GRANULAR/contact_rolling_models.cpp index 8f90b4bc04..956be65353 100644 --- a/src/GRANULAR/contact_rolling_models.cpp +++ b/src/GRANULAR/contact_rolling_models.cpp @@ -29,6 +29,12 @@ using namespace MathExtra; RollingModel::RollingModel(LAMMPS *lmp) : SubModel(lmp) {} +/* ---------------------------------------------------------------------- + No model +------------------------------------------------------------------------- */ + +RollingNone::RollingNone(LAMMPS *lmp) : RollingModel(lmp) {} + /* ---------------------------------------------------------------------- SDS rolling friction model ------------------------------------------------------------------------- */ @@ -53,17 +59,7 @@ void RollingSDS::coeffs_to_local() /* ---------------------------------------------------------------------- */ -void RollingSDS::mix_coeffs(double* icoeffs, double* jcoeffs) -{ - coeffs[0] = mix_geom(icoeffs[0], jcoeffs[0]); - coeffs[1] = mix_geom(icoeffs[1], jcoeffs[1]); - coeffs[2] = mix_geom(icoeffs[2], jcoeffs[2]); - coeffs_to_local(); -} - -/* ---------------------------------------------------------------------- */ - -double RollingSDS::calculate_forces() +void RollingSDS::calculate_forces() { int rhist0, rhist1, rhist2, frameupdate; double Frcrit, rolldotn, rollmag, prjmag, magfr, hist_temp[3], temp_dbl, temp_array[3]; @@ -125,5 +121,4 @@ double RollingSDS::calculate_forces() contact->history[rhist0] = hist_temp[0]; contact->history[rhist1] = hist_temp[1]; contact->history[rhist2] = hist_temp[2]; - return 0; } diff --git a/src/GRANULAR/contact_rolling_models.h b/src/GRANULAR/contact_rolling_models.h index c3ab6810fa..f5af08c1b0 100644 --- a/src/GRANULAR/contact_rolling_models.h +++ b/src/GRANULAR/contact_rolling_models.h @@ -24,9 +24,16 @@ class RollingModel : public SubModel { RollingModel(class LAMMPS *); ~RollingModel() {}; virtual void coeffs_to_local() {}; - virtual void mix_coeffs(double*, double*) {}; virtual void init() {}; - virtual double calculate_forces() = 0; + virtual void calculate_forces() = 0; +}; + +/* ---------------------------------------------------------------------- */ + +class RollingNone : public RollingModel { + public: + RollingNone(class LAMMPS *); + void calculate_forces() {}; }; /* ---------------------------------------------------------------------- */ @@ -35,8 +42,7 @@ class RollingSDS : public RollingModel { public: RollingSDS(class LAMMPS *); void coeffs_to_local() override; - void mix_coeffs(double*, double*) override; - double calculate_forces(); + void calculate_forces(); protected: double k, mu, gamma; }; diff --git a/src/GRANULAR/contact_sub_models.cpp b/src/GRANULAR/contact_sub_models.cpp index 8aafc0f2b5..6ec7bbd017 100644 --- a/src/GRANULAR/contact_sub_models.cpp +++ b/src/GRANULAR/contact_sub_models.cpp @@ -73,6 +73,15 @@ int SubModel::parse_coeffs(char **arg, int iarg, int narg) return iarg + num_coeffs; } +/* ---------------------------------------------------------------------- */ + +void SubModel::mix_coeffs(double* icoeffs, double* jcoeffs) +{ + for (int i = 0; i < num_coeffs; i++) + coeffs[i] = mix_geom(icoeffs[i], jcoeffs[i]); + coeffs_to_local(); +} + /* ---------------------------------------------------------------------- mixing of Young's modulus (E) ------------------------------------------------------------------------- */ diff --git a/src/GRANULAR/contact_sub_models.h b/src/GRANULAR/contact_sub_models.h index 7b28bb4c57..730790616d 100644 --- a/src/GRANULAR/contact_sub_models.h +++ b/src/GRANULAR/contact_sub_models.h @@ -29,7 +29,7 @@ class SubModel : protected Pointers { double *coeffs; void read_restart(); int parse_coeffs(char **, int, int); - virtual void mix_coeffs(double*, double*) = 0; + virtual void mix_coeffs(double*, double*); virtual void coeffs_to_local() = 0; virtual void init() = 0; // called after all other submodel coeffs defined diff --git a/src/GRANULAR/contact_tangential_models.cpp b/src/GRANULAR/contact_tangential_models.cpp index a4911cd5c2..437615441c 100644 --- a/src/GRANULAR/contact_tangential_models.cpp +++ b/src/GRANULAR/contact_tangential_models.cpp @@ -37,6 +37,12 @@ void TangentialModel::init() damp = xt * contact->damping_model->damp; } +/* ---------------------------------------------------------------------- + No model +------------------------------------------------------------------------- */ + +TangentialNone::TangentialNone(LAMMPS *lmp) : TangentialModel(lmp) {} + /* ---------------------------------------------------------------------- Linear model with no history ------------------------------------------------------------------------- */ @@ -61,15 +67,6 @@ void TangentialLinearNoHistory::coeffs_to_local() /* ---------------------------------------------------------------------- */ -void TangentialLinearNoHistory::mix_coeffs(double* icoeffs, double* jcoeffs) -{ - coeffs[0] = mix_geom(icoeffs[0], jcoeffs[0]); - coeffs[1] = mix_geom(icoeffs[1], jcoeffs[1]); - coeffs_to_local(); -} - -/* ---------------------------------------------------------------------- */ - void TangentialLinearNoHistory::calculate_forces() { double Fscrit, fsmag, Ft; @@ -108,16 +105,6 @@ void TangentialLinearHistory::coeffs_to_local() /* ---------------------------------------------------------------------- */ -void TangentialLinearHistory::mix_coeffs(double* icoeffs, double* jcoeffs) -{ - coeffs[0] = mix_geom(icoeffs[0], jcoeffs[0]); - coeffs[1] = mix_geom(icoeffs[1], jcoeffs[1]); - coeffs[2] = mix_geom(icoeffs[2], jcoeffs[2]); - coeffs_to_local(); -} - -/* ---------------------------------------------------------------------- */ - void TangentialLinearHistory::calculate_forces() { double Fscrit, magfs, rsht, shrmag, prjmag, temp_dbl, temp_array[3]; diff --git a/src/GRANULAR/contact_tangential_models.h b/src/GRANULAR/contact_tangential_models.h index 620f3388da..812eb62e55 100644 --- a/src/GRANULAR/contact_tangential_models.h +++ b/src/GRANULAR/contact_tangential_models.h @@ -24,7 +24,6 @@ class TangentialModel : public SubModel { TangentialModel(class LAMMPS *); virtual ~TangentialModel() {}; virtual void coeffs_to_local() {}; - virtual void mix_coeffs(double*, double*) {}; virtual void init(); virtual void calculate_forces() = 0; int rescale_flag; @@ -35,11 +34,18 @@ class TangentialModel : public SubModel { /* ---------------------------------------------------------------------- */ +class TangentialNone : public TangentialModel { + public: + TangentialNone(class LAMMPS *); + void calculate_forces() {}; +}; + +/* ---------------------------------------------------------------------- */ + class TangentialLinearNoHistory : public TangentialModel { public: TangentialLinearNoHistory(class LAMMPS *); void coeffs_to_local() override; - void mix_coeffs(double*, double*) override; void calculate_forces(); }; @@ -49,7 +55,6 @@ class TangentialLinearHistory : public TangentialModel { public: TangentialLinearHistory(class LAMMPS *); void coeffs_to_local() override; - void mix_coeffs(double*, double*) override; void calculate_forces(); }; diff --git a/src/GRANULAR/contact_twisting_models.cpp b/src/GRANULAR/contact_twisting_models.cpp index 1fddda559c..8f3c5e571e 100644 --- a/src/GRANULAR/contact_twisting_models.cpp +++ b/src/GRANULAR/contact_twisting_models.cpp @@ -26,11 +26,13 @@ using namespace MathConst; Default twisting model ------------------------------------------------------------------------- */ -TwistingModel::TwistingModel(LAMMPS *lmp) : SubModel(lmp) -{ - num_coeffs = 0; - size_history = 3; -} +TwistingModel::TwistingModel(LAMMPS *lmp) : SubModel(lmp) {} + +/* ---------------------------------------------------------------------- + No model +------------------------------------------------------------------------- */ + +TwistingNone::TwistingNone(LAMMPS *lmp) : TwistingModel(lmp) {} /* ---------------------------------------------------------------------- Marshall twisting model @@ -44,7 +46,7 @@ TwistingMarshall::TwistingMarshall(LAMMPS *lmp) : TwistingModel(lmp) /* ---------------------------------------------------------------------- */ -double TwistingMarshall::calculate_forces() +void TwistingMarshall::calculate_forces() { double signtwist, Mtcrit; @@ -93,17 +95,7 @@ void TwistingSDS::coeffs_to_local() /* ---------------------------------------------------------------------- */ -void TwistingSDS::mix_coeffs(double* icoeffs, double* jcoeffs) -{ - coeffs[0] = mix_geom(icoeffs[0], jcoeffs[0]); - coeffs[1] = mix_geom(icoeffs[1], jcoeffs[1]); - coeffs[2] = mix_geom(icoeffs[2], jcoeffs[2]); - coeffs_to_local(); -} - -/* ---------------------------------------------------------------------- */ - -double TwistingSDS::calculate_forces() +void TwistingSDS::calculate_forces() { double signtwist, Mtcrit; diff --git a/src/GRANULAR/contact_twisting_models.h b/src/GRANULAR/contact_twisting_models.h index 726eb163bf..15124ca378 100644 --- a/src/GRANULAR/contact_twisting_models.h +++ b/src/GRANULAR/contact_twisting_models.h @@ -24,9 +24,16 @@ class TwistingModel : public SubModel { TwistingModel(class LAMMPS *); virtual ~TwistingModel() {}; virtual void coeffs_to_local() {}; - virtual void mix_coeffs(double*, double*) {}; virtual void init() {}; - virtual double calculate_forces() = 0; + virtual void calculate_forces() = 0; +}; + +/* ---------------------------------------------------------------------- */ + +class TwistingNone : public TwistingModel { + public: + TwistingNone(class LAMMPS *); + void calculate_forces() {}; }; /* ---------------------------------------------------------------------- */ @@ -34,7 +41,7 @@ class TwistingModel : public SubModel { class TwistingMarshall : public TwistingModel { public: TwistingMarshall(class LAMMPS *); - double calculate_forces(); + void calculate_forces(); }; /* ---------------------------------------------------------------------- */ @@ -43,8 +50,7 @@ class TwistingSDS : public TwistingModel { public: TwistingSDS(class LAMMPS *); void coeffs_to_local() override; - void mix_coeffs(double*, double*) override; - double calculate_forces(); + void calculate_forces(); protected: double k, mu, damp; }; diff --git a/src/GRANULAR/fix_wall_gran.cpp b/src/GRANULAR/fix_wall_gran.cpp index b0f87890f7..95cd4fc6e0 100644 --- a/src/GRANULAR/fix_wall_gran.cpp +++ b/src/GRANULAR/fix_wall_gran.cpp @@ -362,10 +362,8 @@ void FixWallGran::init() if (model->beyond_contact) next_index = 1; for (i = 0; i < NSUBMODELS; i++) { - if (model->sub_models[i]) { - model->sub_models[i]->history_index = next_index; - next_index += model->sub_models[i]->size_history; - } + model->sub_models[i]->history_index = next_index; + next_index += model->sub_models[i]->size_history; } } @@ -546,10 +544,10 @@ void FixWallGran::post_force(int /*vflag*/) model->prep_contact(); model->calculate_forces(); - if (heat_flag) dq = model->calculate_heat(); forces = model->forces; torquesi = model->torquesi; + if (heat_flag) dq = model->dq; // apply forces & torques add3(f[i], forces, f[i]); diff --git a/src/GRANULAR/fix_wall_gran_region.cpp b/src/GRANULAR/fix_wall_gran_region.cpp index 59ad15c02d..7a774132f0 100644 --- a/src/GRANULAR/fix_wall_gran_region.cpp +++ b/src/GRANULAR/fix_wall_gran_region.cpp @@ -265,10 +265,10 @@ void FixWallGranRegion::post_force(int /*vflag*/) model->prep_contact(); model->calculate_forces(); - if (heat_flag) dq = model->calculate_heat(); forces = model->forces; torquesi = model->torquesi; + if (heat_flag) dq = model->dq; // apply forces & torques add3(f[i], forces, f[i]); diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index c4d7bc1490..52e4a84ded 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -254,11 +254,11 @@ void PairGranular::compute(int eflag, int vflag) } models[itype][jtype]->calculate_forces(); - if (heat_flag) dq = models[itype][jtype]->calculate_heat(); forces = models[itype][jtype]->forces; torquesi = models[itype][jtype]->torquesi; torquesj = models[itype][jtype]->torquesj; + if (heat_flag) dq = models[itype][jtype]->dq; // apply forces & torques scale3(factor_lj, forces); @@ -450,9 +450,8 @@ void PairGranular::init_style() if (model.size_history != 0) use_history = 1; for (i = 0; i < NSUBMODELS; i++) - if (model.sub_models[i]) - if (model.sub_models[i]->size_history > size_max[i]) - size_max[i] = model.sub_models[i]->size_history; + if (model.sub_models[i]->size_history > size_max[i]) + size_max[i] = model.sub_models[i]->size_history; if (model.nondefault_history_transfer) nondefault_history_transfer = 1; } @@ -463,10 +462,8 @@ void PairGranular::init_style() for (auto &model : vec_models) { int next_index = 0; for (i = 0; i < NSUBMODELS; i++) { - if (model.sub_models[i]) { - model.sub_models[i]->history_index = next_index; - next_index += size_max[i]; - } + model.sub_models[i]->history_index = next_index; + next_index += size_max[i]; } } @@ -561,27 +558,20 @@ double PairGranular::init_one(int i, int j) double cutoff = 0.0; if (setflag[i][j] == 0) { - if ((models[i][i]->normal_model->name != models[j][j]->normal_model->name) || - (models[i][i]->damping_model->name != models[j][j]->damping_model->name) || - (models[i][i]->tangential_model->name != models[j][j]->tangential_model->name) || - (models[i][i]->rolling_model->name != models[j][j]->rolling_model->name) || - (models[i][i]->twisting_model->name != models[j][j]->twisting_model->name)) { - error->all(FLERR,"Granular pair style functional forms are different, " - "cannot mix coefficients for types {} and {}. \n" - "This combination must be set explicitly via a " - "pair_coeff command",i,j); - } vec_models.push_back(ContactModel(lmp)); models[i][j] = models[j][i] = & vec_models.back(); - vec_models.back().init_model(models[i][i]->normal_model->name, NORMAL); - vec_models.back().init_model(models[i][i]->tangential_model->name, TANGENTIAL); - vec_models.back().init_model(models[i][i]->damping_model->name, DAMPING); - vec_models.back().init_model(models[i][i]->rolling_model->name, ROLLING); - vec_models.back().init_model(models[i][i]->twisting_model->name, TWISTING); - vec_models.back().init_model(models[i][i]->heat_model->name, HEAT); - vec_models.back().mix_coeffs(models[i][i], models[j][j]); + int error_code = vec_models.back().mix_coeffs(models[i][i], models[j][j]); + if (error_code != -1) + error->all(FLERR,"Granular pair style functional forms are different, " + "cannot mix coefficients for types {} and {} \n" + "with submodels {} and {}. \n" + "This combination must be set explicitly via a " + "pair_coeff command",i,j, + models[i][i]->sub_models[error_code]->name, + models[j][j]->sub_models[error_code]->name); + vec_models.back().init(); // Calculates cumulative properties of sub models for (int k = 0; k < NSUBMODELS; k++) diff --git a/src/contact.h b/src/contact.h index 535ec4461e..cd680b220a 100644 --- a/src/contact.h +++ b/src/contact.h @@ -55,12 +55,11 @@ class ContactModel : protected Pointers { void reset_contact(); void prep_contact(); void calculate_forces(); - double calculate_heat(); double pulloff_distance(double, double); void init_model(std::string, ModelType); int init_classic_model(char **, int, int); - void mix_coeffs(ContactModel*, ContactModel*); + int mix_coeffs(ContactModel*, ContactModel*); void write_restart(FILE *); void read_restart(FILE *); @@ -84,7 +83,7 @@ class ContactModel : protected Pointers { double *history; // Contact properties/output - double forces[3], torquesi[3], torquesj[3]; + double forces[3], torquesi[3], torquesj[3], dq; double radi, radj, rwall, meff, dt, Ti, Tj, area; double Fntot, magtortwist; @@ -98,7 +97,7 @@ class ContactModel : protected Pointers { bool touch; protected: - + int rolling_defined, twisting_defined, heat_defined; int prep_flag, check_flag; }; From 038f4a52105aa93bbd835310d65be697812109f8 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Wed, 14 Sep 2022 21:40:00 -0600 Subject: [PATCH 022/448] Adding variable temperature to fix gran/wall, misc fixes/updates --- src/GRANULAR/contact.cpp | 62 ++++++++-------------- src/GRANULAR/contact.h | 12 ++--- src/GRANULAR/contact_normal_models.cpp | 2 +- src/GRANULAR/contact_sub_models.cpp | 12 +++-- src/GRANULAR/contact_tangential_models.cpp | 2 +- src/GRANULAR/contact_twisting_models.cpp | 16 ++++-- src/GRANULAR/contact_twisting_models.h | 3 ++ src/GRANULAR/fix_wall_gran.cpp | 29 +++++++--- src/GRANULAR/fix_wall_gran.h | 3 ++ src/GRANULAR/fix_wall_gran_region.cpp | 5 +- src/GRANULAR/pair_granular.cpp | 33 ++++++------ 11 files changed, 98 insertions(+), 81 deletions(-) diff --git a/src/GRANULAR/contact.cpp b/src/GRANULAR/contact.cpp index a1a35afe47..f72245def3 100644 --- a/src/GRANULAR/contact.cpp +++ b/src/GRANULAR/contact.cpp @@ -10,12 +10,16 @@ the GNU General Public License. See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- +------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- This class contains a series of tools for DEM contacts Multiple models can be defined and used to calculate forces and torques based on contact geometry -*/ + + Contributing authors: + Dan Bolintineanu (SNL), Joel Clemmer (SNL) +----------------------------------------------------------------------- */ #include "contact.h" #include "contact_sub_models.h" @@ -42,7 +46,7 @@ ContactModel::ContactModel(LAMMPS *lmp) : Pointers(lmp) beyond_contact = 0; nondefault_history_transfer = 0; - wall_type = NONE; + contact_type = PAIR; reset_contact(); @@ -175,17 +179,19 @@ int ContactModel::init_classic_model(char **arg, int iarg, int narg) if (strcmp(arg[iarg],"hooke") == 0) { init_model("hooke", NORMAL); init_model("linear_nohistory", TANGENTIAL); + init_model("mass_velocity", DAMPING); } else if (strcmp(arg[iarg],"hooke/history") == 0) { init_model("hooke", NORMAL); init_model("linear_history", TANGENTIAL); + init_model("mass_velocity", DAMPING); } else if (strcmp(arg[iarg],"hertz/history") == 0) { // convert Kn and Kt from pressure units to force/distance^2 if Hertzian kn /= force->nktv2p; kt /= force->nktv2p; init_model("hertz", NORMAL); - init_model("mindlin", TANGENTIAL); // Dan is this right? + init_model("mindlin", TANGENTIAL); + init_model("viscoelastic", DAMPING); } else error->all(FLERR,"Invalid classic gran model"); - init_model("mass_velocity", DAMPING); // ensure additional models are undefined init_model("none", ROLLING); @@ -322,25 +328,15 @@ void ContactModel::read_restart(FILE *fp) /* ---------------------------------------------------------------------- */ -void ContactModel::reset_contact() -{ - prep_flag = check_flag = 0; - touch = false; -} - -/* ---------------------------------------------------------------------- */ - bool ContactModel::check_contact(double rtemp) { - check_flag = 1; - - if (wall_type == RWALL) { + if (contact_type == WALL) { // Used by fix_wall_gran.cpp rsq = lensq3(dx); radsum = radi; if (rtemp == 0) Reff = radi; else Reff = radi * rtemp/(radi + rtemp); - } else if (wall_type == RDUPLICATE) { + } else if (contact_type == WALLREGION) { // Used by fix_wall_gran_region.cpp rsq = rtemp * rtemp; radsum = radi + radi; @@ -361,11 +357,6 @@ bool ContactModel::check_contact(double rtemp) void ContactModel::prep_contact() { - prep_flag = 1; - // If it hasn't already been done, test if the contact exists - if (check_flag != 1) touch = check_contact(); - if (!touch) return; - double temp[3]; // Standard geometric quantities @@ -415,16 +406,8 @@ void ContactModel::prep_contact() void ContactModel::calculate_forces() { - // If it hasn't already been done, run prep calculations - if (prep_flag != 1) prep_contact(); - if (!touch) { - forces[0] = forces[1] = forces[2] = 0.0; - return; - } + // calculate forces/torques - //********************************************** - // calculate forces - //********************************************** forces[0] = 0.0; double Fne, Fdamp; area = normal_model->calculate_area(); @@ -442,35 +425,36 @@ void ContactModel::calculate_forces() if (rolling_defined) rolling_model->calculate_forces(); if (twisting_defined) twisting_model->calculate_forces(); - //********************************************** // sum contributions - //********************************************** scale3(Fntot, nx, forces); add3(forces, fs, forces); - //May need to rethink this for use with walls (and eventually tris).. + //May need to rethink eventually tris.. cross3(nx, fs, torquesi); - copy3(torquesi, torquesj); double dist_to_contact = radi - 0.5 * delta; scale3(dist_to_contact, torquesi); - dist_to_contact = radj - 0.5 * delta; - scale3(dist_to_contact, torquesj); + + if (contact_type == PAIR) { + copy3(torquesi, torquesj); + dist_to_contact = radj - 0.5 * delta; + scale3(dist_to_contact, torquesj); + } double torroll[3]; if (rolling_defined) { cross3(nx, fr, torroll); scale3(Reff, torroll); add3(torquesi, torroll, torquesi); - sub3(torquesj, torroll, torquesj); + if (contact_type == PAIR) sub3(torquesj, torroll, torquesj); } double tortwist[3]; if (twisting_defined) { scale3(magtortwist, nx, tortwist); add3(torquesi, tortwist, torquesi); - sub3(torquesj, tortwist, torquesj); + if (contact_type == PAIR) sub3(torquesj, tortwist, torquesj); } if (heat_defined) { diff --git a/src/GRANULAR/contact.h b/src/GRANULAR/contact.h index e0600146c3..4dc88132c0 100644 --- a/src/GRANULAR/contact.h +++ b/src/GRANULAR/contact.h @@ -31,10 +31,10 @@ enum ModelType { HEAT = 5 }; // Relative order matters since some derive coeffs from others -enum WallType { - NONE = 0, - RWALL = 1, - RDUPLICATE = 2 +enum ContactType { + PAIR = 0, + WALL = 1, + WALLREGION = 2 }; // forward declaration @@ -52,7 +52,6 @@ class ContactModel : protected Pointers { ~ContactModel(); void init(); bool check_contact(double = 0); - void reset_contact(); void prep_contact(); void calculate_forces(); double pulloff_distance(double, double); @@ -75,7 +74,7 @@ class ContactModel : protected Pointers { // Extra options int beyond_contact, limit_damping, history_update; - WallType wall_type; + ContactType contact_type; // History variables int size_history, nondefault_history_transfer; @@ -98,7 +97,6 @@ class ContactModel : protected Pointers { protected: int rolling_defined, twisting_defined, heat_defined; // Used to quickly skip undefined submodels - int prep_flag, check_flag; }; } // namespace Contact diff --git a/src/GRANULAR/contact_normal_models.cpp b/src/GRANULAR/contact_normal_models.cpp index 2f59311edf..9e0a377eb9 100644 --- a/src/GRANULAR/contact_normal_models.cpp +++ b/src/GRANULAR/contact_normal_models.cpp @@ -261,7 +261,7 @@ void NormalJKR::coeffs_to_local() poiss = coeffs[2]; cohesion = coeffs[3]; k = FOURTHIRDS * Emod; - Escaled = mix_stiffnessE(Emod, Emod, poiss, poiss); //Dan, not sure why these coefficients are mixed in the regular pair style + Escaled = mix_stiffnessE(Emod, Emod, poiss, poiss); if (Emod < 0.0 || damp < 0.0) error->all(FLERR, "Illegal JKR normal model"); } diff --git a/src/GRANULAR/contact_sub_models.cpp b/src/GRANULAR/contact_sub_models.cpp index 6ec7bbd017..57834fc040 100644 --- a/src/GRANULAR/contact_sub_models.cpp +++ b/src/GRANULAR/contact_sub_models.cpp @@ -10,12 +10,16 @@ the GNU General Public License. See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- +-------------------------------------------------------------------------*/ - This class contains a series of tools for DEM contacts - Multiple models can be defined and used to calculate forces +/* ---------------------------------------------------------------------- + This class contains a framework for normal, damping, tangential, + rolling, twisting, and heat models used to calculate forces and torques based on contact geometry -*/ + + Contributing authors: + Dan Bolintineanu (SNL), Joel Clemmer (SNL) +----------------------------------------------------------------------- */ #include "contact_sub_models.h" #include "error.h" diff --git a/src/GRANULAR/contact_tangential_models.cpp b/src/GRANULAR/contact_tangential_models.cpp index 437615441c..46b370d15f 100644 --- a/src/GRANULAR/contact_tangential_models.cpp +++ b/src/GRANULAR/contact_tangential_models.cpp @@ -259,7 +259,7 @@ void TangentialMindlin::calculate_forces() temp_dbl = -damp; scale3(temp_dbl, contact->vtr, contact->fs); - if (! mindlin_force) { + if (!mindlin_force) { scale3(k_scaled, history, temp_array); add3(contact->fs, temp_array, contact->fs); } diff --git a/src/GRANULAR/contact_twisting_models.cpp b/src/GRANULAR/contact_twisting_models.cpp index 8f3c5e571e..52b37d46e1 100644 --- a/src/GRANULAR/contact_twisting_models.cpp +++ b/src/GRANULAR/contact_twisting_models.cpp @@ -46,15 +46,25 @@ TwistingMarshall::TwistingMarshall(LAMMPS *lmp) : TwistingModel(lmp) /* ---------------------------------------------------------------------- */ + +void TwistingMarshall::init() +{ + k_tang = contact->tangential_model->k; + damp_tang = contact->tangential_model->damp; + mu_tang = contact->tangential_model->mu; +} + +/* ---------------------------------------------------------------------- */ + void TwistingMarshall::calculate_forces() { double signtwist, Mtcrit; // Calculate twist coefficients from tangential model & contact geometry // eq 32 of Marshall paper - double k = 0.5 * contact->tangential_model->k * contact->area * contact->area; - double damp = 0.5 * contact->tangential_model->damp * contact->area * contact->area; - double mu = TWOTHIRDS * contact->area * contact->tangential_model->mu; + double k = 0.5 * k_tang * contact->area * contact->area; + double damp = 0.5 * damp_tang * contact->area * contact->area; + double mu = TWOTHIRDS * mu_tang * contact->area; if (contact->history_update) { contact->history[history_index] += contact->magtwist * contact->dt; diff --git a/src/GRANULAR/contact_twisting_models.h b/src/GRANULAR/contact_twisting_models.h index 15124ca378..724448892a 100644 --- a/src/GRANULAR/contact_twisting_models.h +++ b/src/GRANULAR/contact_twisting_models.h @@ -42,6 +42,9 @@ class TwistingMarshall : public TwistingModel { public: TwistingMarshall(class LAMMPS *); void calculate_forces(); + void init(); + protected: + double k_tang, damp_tang, mu_tang; }; /* ---------------------------------------------------------------------- */ diff --git a/src/GRANULAR/fix_wall_gran.cpp b/src/GRANULAR/fix_wall_gran.cpp index 95cd4fc6e0..aca9341a58 100644 --- a/src/GRANULAR/fix_wall_gran.cpp +++ b/src/GRANULAR/fix_wall_gran.cpp @@ -14,7 +14,7 @@ /* ---------------------------------------------------------------------- Contributing authors: Leo Silbert (SNL), Gary Grest (SNL), - Dan Bolintineanu (SNL) + Dan Bolintineanu (SNL), Joel Clemmer (SNL) ------------------------------------------------------------------------- */ #include "fix_wall_gran.h" @@ -69,7 +69,7 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : // set interaction style // disable bonded/history option for now model = new ContactModel(lmp); - model->wall_type = RWALL; + model->contact_type = WALL; if (strcmp(arg[3],"granular") == 0) classic_flag = 0; else classic_flag = 1; @@ -171,6 +171,7 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : // wallstyle args idregion = nullptr; + tstr = nullptr; if (iarg >= narg) error->all(FLERR, "Illegal fix wall/gran command"); @@ -211,7 +212,11 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : iarg += 2; } else if (strcmp(arg[iarg],"temperature") == 0) { if (narg < iarg+2) error->all(FLERR,"Illegal fix wall/gran command"); - Twall = utils::numeric(FLERR,arg[iarg+1],false,lmp); + if (utils::strmatch(arg[iarg+1], "^v_")) { + tstr = utils::strdup(arg[3] + 2); + } else { + Twall = utils::numeric(FLERR,arg[iarg+1],false,lmp); + } Twall_defined = 1; iarg += 2; } else wallstyle = NOSTYLE; @@ -318,10 +323,10 @@ FixWallGran::~FixWallGran() atom->delete_callback(id,Atom::GROW); atom->delete_callback(id,Atom::RESTART); - delete model; - // delete local storage + delete model; + delete [] tstr; delete [] idregion; memory->destroy(history_one); memory->destroy(mass_rigid); @@ -365,6 +370,13 @@ void FixWallGran::init() model->sub_models[i]->history_index = next_index; next_index += model->sub_models[i]->size_history; } + + if (tstr) { + tvar = input->variable->find(tstr); + if (tvar < 0) error->all(FLERR, "Variable {} for fix wall/gran does not exist", tstr); + if (! input->variable->equalstyle(tvar)) + error->all(FLERR, "Variable {} for fix wall/gran must be an equal style variable", tstr); + } } /* ---------------------------------------------------------------------- */ @@ -467,7 +479,11 @@ void FixWallGran::post_force(int /*vflag*/) model->radj = 0.0; model->vj = vwall; model->omegaj = w0; - if (heat_flag) model->Tj = Twall; + if (heat_flag) { + if (tstr) + Twall = input->variable->compute_equal(tvar); + model->Tj = Twall; + } for (int i = 0; i < nlocal; i++) { if (! mask[i] & groupbit) continue; @@ -509,7 +525,6 @@ void FixWallGran::post_force(int /*vflag*/) } // Reset model and copy initial geometric data - model->reset_contact(); model->dx[0] = dx; model->dx[1] = dy; model->dx[2] = dz; diff --git a/src/GRANULAR/fix_wall_gran.h b/src/GRANULAR/fix_wall_gran.h index b61ac24d54..fd4a0a0ec8 100644 --- a/src/GRANULAR/fix_wall_gran.h +++ b/src/GRANULAR/fix_wall_gran.h @@ -67,6 +67,9 @@ class FixWallGran : public Fix { int heat_flag; int limit_damping; + int tvar; + char *tstr; + // shear history for single contact per particle double **history_one; diff --git a/src/GRANULAR/fix_wall_gran_region.cpp b/src/GRANULAR/fix_wall_gran_region.cpp index 7a774132f0..155b872e10 100644 --- a/src/GRANULAR/fix_wall_gran_region.cpp +++ b/src/GRANULAR/fix_wall_gran_region.cpp @@ -12,7 +12,7 @@ ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- - Contributing authors: Dan Bolintineanu (SNL) + Contributing authors: Dan Bolintineanu (SNL), Joel Clemmer (SNL) ------------------------------------------------------------------------- */ #include "fix_wall_gran_region.h" @@ -50,7 +50,7 @@ FixWallGranRegion::FixWallGranRegion(LAMMPS *lmp, int narg, char **arg) : tmax = region->tmax; c2r = new int[tmax]; - model->wall_type = RDUPLICATE; + model->contact_type = WALLREGION; // re-allocate atom-based arrays with nshear // do not register with Atom class, since parent class did that @@ -226,7 +226,6 @@ void FixWallGranRegion::post_force(int /*vflag*/) // Reset model and copy initial geometric data // A bit unncessary since region->contact[ic] stores r - model->reset_contact(); model->dx[0] = region->contact[ic].delx; model->dx[1] = region->contact[ic].dely; model->dx[2] = region->contact[ic].delz; diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index 52e4a84ded..b376bb64c1 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -14,8 +14,8 @@ /* ---------------------------------------------------------------------- Contributing authors: - Dan Bolintineanu (SNL), Ishan Srivastava (SNL), Jeremy Lechman(SNL) - Leo Silbert (SNL), Gary Grest (SNL) + Dan Bolintineanu (SNL), Joel Clemmer (SNL), Ishan Srivastava (SNL), + Jeremy Lechman(SNL), Leo Silbert (SNL), Gary Grest (SNL) ----------------------------------------------------------------------- */ #include "pair_granular.h" @@ -196,7 +196,6 @@ void PairGranular::compute(int eflag, int vflag) jtype = type[j]; // Reset model and copy initial geometric data - models[itype][jtype]->reset_contact(); models[itype][jtype]->xi = x[i]; models[itype][jtype]->xj = x[j]; models[itype][jtype]->radi = radius[i]; @@ -346,31 +345,30 @@ void PairGranular::coeff(int narg, char **arg) // Construct new model within vector vec_models.emplace_back(lmp); - //Parse mandatory normal and tangential specifications + //Parse mandatory specification int iarg = 2; vec_models.back().init_model(std::string(arg[iarg++]), NORMAL); iarg = vec_models.back().normal_model->parse_coeffs(arg, iarg, narg); - if (strcmp(arg[iarg++], "tangential") == 0) { - if (iarg >= narg) - error->all(FLERR,"Illegal pair_coeff command, must specify " - "tangential model after tangential keyword"); - vec_models.back().init_model(std::string(arg[iarg++]), TANGENTIAL); - iarg = vec_models.back().tangential_model->parse_coeffs(arg, iarg, narg); - } else{ - error->all(FLERR, "Illegal pair_coeff command, 'tangential' keyword expected"); - } - //Parse optional arguments while (iarg < narg) { - if (strcmp(arg[iarg], "damping") == 0) { + + if (strcmp(arg[iarg++], "tangential") == 0) { + if (iarg >= narg) + error->all(FLERR,"Illegal pair_coeff command, must specify " + "tangential model after tangential keyword"); + vec_models.back().init_model(std::string(arg[iarg++]), TANGENTIAL); + iarg = vec_models.back().tangential_model->parse_coeffs(arg, iarg, narg); + + } else if (strcmp(arg[iarg], "damping") == 0) { iarg++; if (iarg >= narg) error->all(FLERR, "Illegal pair_coeff command, must specify " "damping model after damping keyword"); vec_models.back().init_model(std::string(arg[iarg++]), DAMPING); iarg = vec_models.back().damping_model->parse_coeffs(arg, iarg, narg); + } else if (strcmp(arg[iarg], "rolling") == 0) { iarg++; if (iarg >= narg) @@ -386,6 +384,7 @@ void PairGranular::coeff(int narg, char **arg) "twisting model after twisting keyword"); vec_models.back().init_model(std::string(arg[iarg++]), TWISTING); iarg = vec_models.back().twisting_model->parse_coeffs(arg, iarg, narg); + } else if (strcmp(arg[iarg], "heat") == 0) { iarg++; if (iarg >= narg) @@ -394,6 +393,7 @@ void PairGranular::coeff(int narg, char **arg) vec_models.back().init_model(std::string(arg[iarg++]), HEAT); iarg = vec_models.back().heat_model->parse_coeffs(arg, iarg, narg); heat_flag = 1; + } else if (strcmp(arg[iarg], "cutoff") == 0) { if (iarg + 1 >= narg) error->all(FLERR, "Illegal pair_coeff command, not enough parameters for cutoff keyword"); @@ -576,6 +576,8 @@ double PairGranular::init_one(int i, int j) for (int k = 0; k < NSUBMODELS; k++) vec_models.back().sub_models[k]->history_index = models[i][i]->sub_models[k]->history_index; + + cutoff_type[i][j] = cutoff_type[j][i] = MAX(cutoff_type[i][i], cutoff_type[j][j]); } // Check if heat model is defined for all type combinations @@ -732,7 +734,6 @@ double PairGranular::single(int i, int j, int itype, int jtype, double *radius = atom->radius; // Reset model and copy initial geometric data - models[itype][jtype]->reset_contact(); models[itype][jtype]->xi = x[i]; models[itype][jtype]->xj = x[j]; models[itype][jtype]->radi = radius[i]; From b61cfb7480bbc342468e01710ae7884bc9877d1b Mon Sep 17 00:00:00 2001 From: jtclemm Date: Fri, 16 Sep 2022 09:06:52 -0600 Subject: [PATCH 023/448] Fixing errors in gran/wall reff calculation and adding heat capabilities --- doc/src/fix_wall_gran.rst | 15 +++++++++++++-- doc/src/fix_wall_gran_region.rst | 14 +++++++++++++- src/GRANULAR/contact.cpp | 18 +++++++++++------- src/GRANULAR/contact.h | 4 ++-- src/GRANULAR/fix_wall_gran.cpp | 12 +++++++++++- src/GRANULAR/fix_wall_gran_region.cpp | 2 ++ src/GRANULAR/pair_granular.cpp | 7 +++++++ 7 files changed, 59 insertions(+), 13 deletions(-) diff --git a/doc/src/fix_wall_gran.rst b/doc/src/fix_wall_gran.rst index cf8b659df0..7fa047a07f 100644 --- a/doc/src/fix_wall_gran.rst +++ b/doc/src/fix_wall_gran.rst @@ -46,7 +46,7 @@ Syntax radius = cylinder radius (distance units) * zero or more keyword/value pairs may be appended to args -* keyword = *wiggle* or *shear* or *contacts* +* keyword = *wiggle* or *shear* or *contacts* or *temperature* .. parsed-literal:: @@ -59,6 +59,8 @@ Syntax vshear = magnitude of shear velocity (velocity units) *contacts* value = none generate contact information for each particle + *temperature* value = temperature + specify temperature of wall Examples @@ -71,7 +73,7 @@ Examples fix 2 all wall/gran hooke 100000.0 20000.0 50.0 30.0 0.5 1 zcylinder 15.0 wiggle z 3.0 2.0 fix 3 all wall/gran/region granular hooke 1000.0 50.0 tangential linear_nohistory 1.0 0.4 damping velocity region myBox fix 4 all wall/gran/region granular jkr 1e5 1500.0 0.3 10.0 tangential mindlin NULL 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall region myCone - fix 5 all wall/gran/region granular dmt 1e5 0.2 0.3 10.0 tangential mindlin NULL 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall damping tsuji region myCone + fix 5 all wall/gran/region granular dmt 1e5 0.2 0.3 10.0 tangential mindlin NULL 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall damping tsuji heat 10 region myCone temperature 1.0 fix 6 all wall/gran hooke 200000.0 NULL 50.0 NULL 0.5 0 xplane -10.0 10.0 contacts Description @@ -177,6 +179,15 @@ the clockwise direction for *vshear* > 0 or counter-clockwise for *vshear* < 0. In this case, *vshear* is the tangential velocity of the wall at whatever *radius* has been defined. +The *temperature* keyword is used to assign a temperature to the wall. +The following value can either be a numeric value or an equal-style +:doc:`variable `. If the value is a variable, it should be +specified as v_name, where name is the variable name. In this case, the +variable will be evaluated each timestep, and its value used to determine +the temperature. This option must be used in conjunction with a heat +conduction model defined in :doc:`pair_style granular ` +and a compatible atom style which stores temperature and a heat flux +as defined by the :doc:`atom_style sphere/temp ` command. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" diff --git a/doc/src/fix_wall_gran_region.rst b/doc/src/fix_wall_gran_region.rst index 5a4c983554..9dbf691ead 100644 --- a/doc/src/fix_wall_gran_region.rst +++ b/doc/src/fix_wall_gran_region.rst @@ -36,12 +36,14 @@ Syntax * wallstyle = region (see :doc:`fix wall/gran ` for options for other kinds of walls) * region-ID = region whose boundary will act as wall -* keyword = *contacts* +* keyword = *contacts* or *temperature* .. parsed-literal:: *contacts* value = none generate contact information for each particle + *temperature* value = temperature + specify temperature of wall Examples """""""" @@ -200,6 +202,16 @@ values for the 6 wall/particle coefficients than for particle/particle interactions. E.g. if you wish to model the wall as a different material. +The *temperature* keyword is used to assign a temperature to the wall. +The following value can either be a numeric value or an equal-style +:doc:`variable `. If the value is a variable, it should be +specified as v_name, where name is the variable name. In this case, the +variable will be evaluated each timestep, and its value used to determine +the temperature. This option must be used in conjunction with a heat +conduction model defined in :doc:`pair_style granular ` +and a compatible atom style which stores temperature and a heat flux +as defined by the :doc:`atom_style sphere/temp ` command. + Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" diff --git a/src/GRANULAR/contact.cpp b/src/GRANULAR/contact.cpp index f72245def3..9e4542da08 100644 --- a/src/GRANULAR/contact.cpp +++ b/src/GRANULAR/contact.cpp @@ -328,20 +328,24 @@ void ContactModel::read_restart(FILE *fp) /* ---------------------------------------------------------------------- */ -bool ContactModel::check_contact(double rtemp) +bool ContactModel::check_contact() { if (contact_type == WALL) { // Used by fix_wall_gran.cpp + // radj = radius of wall + // dx already provided rsq = lensq3(dx); radsum = radi; - if (rtemp == 0) Reff = radi; - else Reff = radi * rtemp/(radi + rtemp); + if (radj == 0) Reff = radi; + else Reff = radi * radj / (radi + radj); } else if (contact_type == WALLREGION) { // Used by fix_wall_gran_region.cpp - rsq = rtemp * rtemp; - radsum = radi + radi; - if (rtemp == 0) Reff = radi; - else Reff = radi * rtemp/(radi + rtemp); + // radj = radius of wall + // dx and r already provided + rsq = r * r; + radsum = radi; + if (radj == 0) Reff = radi; + else Reff = radi * radj / (radi + radj); } else { sub3(xi, xj, dx); rsq = lensq3(dx); diff --git a/src/GRANULAR/contact.h b/src/GRANULAR/contact.h index 4dc88132c0..54ecfeb757 100644 --- a/src/GRANULAR/contact.h +++ b/src/GRANULAR/contact.h @@ -51,7 +51,7 @@ class ContactModel : protected Pointers { ContactModel(class LAMMPS *); ~ContactModel(); void init(); - bool check_contact(double = 0); + bool check_contact(); void prep_contact(); void calculate_forces(); double pulloff_distance(double, double); @@ -84,7 +84,7 @@ class ContactModel : protected Pointers { // Contact properties/output double forces[3], torquesi[3], torquesj[3], dq; - double radi, radj, rwall, meff, dt, Ti, Tj, area; + double radi, radj, meff, dt, Ti, Tj, area; double Fntot, magtortwist; double *xi, *xj, *vi, *vj, *omegai, *omegaj; diff --git a/src/GRANULAR/fix_wall_gran.cpp b/src/GRANULAR/fix_wall_gran.cpp index aca9341a58..6672a67387 100644 --- a/src/GRANULAR/fix_wall_gran.cpp +++ b/src/GRANULAR/fix_wall_gran.cpp @@ -354,6 +354,15 @@ void FixWallGran::init() if (utils::strmatch(update->integrate_style,"^respa")) nlevels_respa = (dynamic_cast( update->integrate))->nlevels; + // check for compatible heat conduction atom style + + if (heat_flag) { + if (!atom->temperature_flag) + error->all(FLERR,"Heat conduction in fix wall/gran requires atom style with temperature property"); + if (!atom->heatflux_flag) + error->all(FLERR,"Heat conduction in fix wall/gran requires atom style with heatflux property"); + } + // check for FixRigid so can extract rigid body masses fix_rigid = nullptr; @@ -529,9 +538,10 @@ void FixWallGran::post_force(int /*vflag*/) model->dx[1] = dy; model->dx[2] = dz; model->radi = radius[i]; + model->radj = rwall; if (model->beyond_contact) model->touch = history_one[i][0]; - touchflag = model->check_contact(rwall); + touchflag = model->check_contact(); if (!touchflag) { if (use_history) diff --git a/src/GRANULAR/fix_wall_gran_region.cpp b/src/GRANULAR/fix_wall_gran_region.cpp index 155b872e10..4058a31614 100644 --- a/src/GRANULAR/fix_wall_gran_region.cpp +++ b/src/GRANULAR/fix_wall_gran_region.cpp @@ -230,6 +230,8 @@ void FixWallGranRegion::post_force(int /*vflag*/) model->dx[1] = region->contact[ic].dely; model->dx[2] = region->contact[ic].delz; model->radi = radius[i]; + model->radj = region->contact[ic].radius; + model->r = region->contact[ic].r; if (model->beyond_contact) model->touch = history_many[i][c2r[ic]][0]; touchflag = model->check_contact(region->contact[ic].r); diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index b376bb64c1..9e512c78c0 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -442,6 +442,13 @@ void PairGranular::init_style() if (comm->ghost_velocity == 0) error->all(FLERR,"Pair granular requires ghost atoms store velocity"); + if (heat_flag) { + if (!atom->temperature_flag) + error->all(FLERR,"Heat conduction in pair granular requires atom style with temperature property"); + if (!atom->heatflux_flag) + error->all(FLERR,"Heat conduction in pair granular requires atom style with heatflux property"); + } + // allocate history and initialize models int size_max[NSUBMODELS] = {0}; From 71db9f5e75d4bd21a195d9e3c006c2277d7c4617 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Fri, 16 Sep 2022 14:16:34 -0600 Subject: [PATCH 024/448] Fixing tangential damping coefficient --- src/GRANULAR/contact.cpp | 8 ++--- src/GRANULAR/contact_damping_models.cpp | 12 ++++--- src/GRANULAR/contact_damping_models.h | 2 +- src/GRANULAR/contact_normal_models.cpp | 7 ++-- src/GRANULAR/contact_normal_models.h | 14 ++++---- src/GRANULAR/contact_tangential_models.cpp | 37 ++++++++++------------ src/GRANULAR/contact_tangential_models.h | 1 - src/GRANULAR/contact_twisting_models.cpp | 2 +- 8 files changed, 39 insertions(+), 44 deletions(-) diff --git a/src/GRANULAR/contact.cpp b/src/GRANULAR/contact.cpp index 9e4542da08..cd2c323a59 100644 --- a/src/GRANULAR/contact.cpp +++ b/src/GRANULAR/contact.cpp @@ -202,7 +202,7 @@ int ContactModel::init_classic_model(char **arg, int iarg, int narg) normal_model->coeffs[0] = kn; normal_model->coeffs[1] = gamman; tangential_model->coeffs[0] = kt; - tangential_model->coeffs[1] = gammat; + tangential_model->coeffs[1] = gammat / gamman; tangential_model->coeffs[2] = xmu; normal_model->coeffs_to_local(); @@ -364,7 +364,7 @@ void ContactModel::prep_contact() double temp[3]; // Standard geometric quantities - r = sqrt(rsq); + if (contact_type != WALLREGION) r = sqrt(rsq); rinv = 1.0 / r; delta = radsum - r; dR = delta * Reff; @@ -420,11 +420,9 @@ void ContactModel::calculate_forces() Fdamp = damping_model->calculate_forces(); Fntot = Fne + Fdamp; - - normal_model->set_fncrit(); // Needed for tangential, rolling, twisting - if (limit_damping && Fntot < 0.0) Fntot = 0.0; + normal_model->set_fncrit(); // Needed for tangential, rolling, twisting tangential_model->calculate_forces(); if (rolling_defined) rolling_model->calculate_forces(); if (twisting_defined) twisting_model->calculate_forces(); diff --git a/src/GRANULAR/contact_damping_models.cpp b/src/GRANULAR/contact_damping_models.cpp index a003d181d9..07b6b88649 100644 --- a/src/GRANULAR/contact_damping_models.cpp +++ b/src/GRANULAR/contact_damping_models.cpp @@ -56,7 +56,8 @@ DampingVelocity::DampingVelocity(LAMMPS *lmp) : DampingModel(lmp) {} double DampingVelocity::calculate_forces() { - return -damp * contact->vnnr; + damp_prefactor = damp; + return -damp_prefactor * contact->vnnr; } /* ---------------------------------------------------------------------- @@ -69,7 +70,8 @@ DampingMassVelocity::DampingMassVelocity(LAMMPS *lmp) : DampingModel(lmp) {} double DampingMassVelocity::calculate_forces() { - return -damp * contact->meff * contact->vnnr; + damp_prefactor = damp * contact->meff; + return -damp_prefactor * contact->vnnr; } /* ---------------------------------------------------------------------- @@ -82,7 +84,8 @@ DampingViscoelastic::DampingViscoelastic(LAMMPS *lmp) : DampingModel(lmp) {} double DampingViscoelastic::calculate_forces() { - return -damp * contact->meff * contact->area * contact->vnnr; + damp_prefactor = damp * contact->meff * contact->area; + return -damp_prefactor * contact->vnnr; } /* ---------------------------------------------------------------------- @@ -105,5 +108,6 @@ void DampingTsuji::init() double DampingTsuji::calculate_forces() { - return -damp * sqrt(contact->meff * contact->normal_model->knfac) * contact->vnnr; + damp_prefactor = damp * sqrt(contact->meff * contact->normal_model->knfac); + return -damp_prefactor * contact->vnnr; } diff --git a/src/GRANULAR/contact_damping_models.h b/src/GRANULAR/contact_damping_models.h index 611393da9f..222e901160 100644 --- a/src/GRANULAR/contact_damping_models.h +++ b/src/GRANULAR/contact_damping_models.h @@ -28,7 +28,7 @@ class DampingModel : public SubModel { virtual void mix_coeffs(double*, double*) {}; virtual void init(); virtual double calculate_forces() = 0; - double damp; + double damp, damp_prefactor; }; /* ---------------------------------------------------------------------- */ diff --git a/src/GRANULAR/contact_normal_models.cpp b/src/GRANULAR/contact_normal_models.cpp index 9e0a377eb9..ed14eb93b4 100644 --- a/src/GRANULAR/contact_normal_models.cpp +++ b/src/GRANULAR/contact_normal_models.cpp @@ -45,12 +45,11 @@ bool NormalModel::touch() return touchflag; } -/* ---------------------------------------------------------------------- - called outside of compute(), do not assume geometry defined in contact -------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- */ double NormalModel::pulloff_distance(double radi, double radj) { + //called outside of compute(), do not assume correct geometry defined in contact return radi + radj; } @@ -112,7 +111,7 @@ double NormalHooke::calculate_forces() void NormalHooke::set_knfac() { - knfac = k * contact->area; + knfac = k; } /* ---------------------------------------------------------------------- diff --git a/src/GRANULAR/contact_normal_models.h b/src/GRANULAR/contact_normal_models.h index 6d47dd3736..66217e32a2 100644 --- a/src/GRANULAR/contact_normal_models.h +++ b/src/GRANULAR/contact_normal_models.h @@ -28,8 +28,8 @@ class NormalModel : public SubModel { virtual bool touch(); virtual double pulloff_distance(double, double); virtual double calculate_area(); - virtual double calculate_forces() = 0; virtual void set_knfac() = 0; + virtual double calculate_forces() = 0; virtual void set_fncrit(); double damp; // Vestigial argument needed by damping double Emod, poiss; @@ -42,8 +42,8 @@ class NormalModel : public SubModel { class NormalNone : public NormalModel { public: NormalNone(class LAMMPS *); - double calculate_forces(); void set_knfac() {}; + double calculate_forces(); }; /* ---------------------------------------------------------------------- */ @@ -52,8 +52,8 @@ class NormalHooke : public NormalModel { public: NormalHooke(class LAMMPS *); void coeffs_to_local() override; - double calculate_forces(); void set_knfac(); + double calculate_forces(); protected: double k; }; @@ -64,8 +64,8 @@ class NormalHertz : public NormalModel { public: NormalHertz(class LAMMPS *); void coeffs_to_local() override; - double calculate_forces(); void set_knfac(); + double calculate_forces(); protected: double k; }; @@ -86,8 +86,8 @@ class NormalDMT : public NormalModel { NormalDMT(class LAMMPS *); void coeffs_to_local() override; void mix_coeffs(double*, double*) override; - double calculate_forces(); void set_knfac(); + double calculate_forces(); void set_fncrit() override; protected: double k, cohesion; @@ -104,8 +104,8 @@ class NormalJKR : public NormalModel { bool touch() override; double pulloff_distance(double, double) override; double calculate_area() override; - double calculate_forces() override; - void set_knfac() override; + void set_knfac(); + double calculate_forces(); void set_fncrit() override; protected: double k, cohesion; diff --git a/src/GRANULAR/contact_tangential_models.cpp b/src/GRANULAR/contact_tangential_models.cpp index 46b370d15f..0349927731 100644 --- a/src/GRANULAR/contact_tangential_models.cpp +++ b/src/GRANULAR/contact_tangential_models.cpp @@ -30,13 +30,6 @@ using namespace MathExtra; TangentialModel::TangentialModel(LAMMPS *lmp) : SubModel(lmp) {} -/* ---------------------------------------------------------------------- */ - -void TangentialModel::init() -{ - damp = xt * contact->damping_model->damp; -} - /* ---------------------------------------------------------------------- No model ------------------------------------------------------------------------- */ @@ -69,16 +62,17 @@ void TangentialLinearNoHistory::coeffs_to_local() void TangentialLinearNoHistory::calculate_forces() { - double Fscrit, fsmag, Ft; - // classic pair gran/hooke (no history) - Fscrit = mu * contact->normal_model->Fncrit; - fsmag = damp * contact->vrel; + damp = xt * contact->damping_model->damp_prefactor; + + double Fscrit = mu * contact->normal_model->Fncrit; + double fsmag = damp * contact->vrel; + + double Ft; if (contact->vrel != 0.0) Ft = MIN(Fscrit, fsmag) / contact->vrel; else Ft = 0.0; - Ft = -Ft; - scale3(Ft, contact->vtr, contact->fs); + scale3(-Ft, contact->vtr, contact->fs); } /* ---------------------------------------------------------------------- @@ -107,11 +101,12 @@ void TangentialLinearHistory::coeffs_to_local() void TangentialLinearHistory::calculate_forces() { - double Fscrit, magfs, rsht, shrmag, prjmag, temp_dbl, temp_array[3]; + double magfs, rsht, shrmag, prjmag, temp_dbl, temp_array[3]; int frame_update = 0; - Fscrit = contact->normal_model->Fncrit * mu; + damp = xt * contact->damping_model->damp_prefactor; + double Fscrit = contact->normal_model->Fncrit * mu; double *history = & contact->history[history_index]; // rotate and update displacements / force. @@ -140,8 +135,7 @@ void TangentialLinearHistory::calculate_forces() } // tangential forces = history + tangential velocity damping - temp_dbl = -damp; - scale3(temp_dbl, contact->vtr, contact->fs); + scale3(-damp, contact->vtr, contact->fs); // rescale frictional displacements and forces if needed magfs = len3(contact->fs); @@ -205,12 +199,14 @@ void TangentialMindlin::mix_coeffs(double* icoeffs, double* jcoeffs) void TangentialMindlin::calculate_forces() { - double Fscrit, k_scaled, magfs, rsht, shrmag, prjmag, temp_dbl; + double k_scaled, magfs, rsht, shrmag, prjmag, temp_dbl; double temp_array[3]; int frame_update = 0; + damp = xt * contact->damping_model->damp_prefactor; + double *history = & contact->history[history_index]; - Fscrit = contact->normal_model->Fncrit * mu; + double Fscrit = contact->normal_model->Fncrit * mu; k_scaled = k * contact->area; if (mindlin_rescale) { @@ -256,8 +252,7 @@ void TangentialMindlin::calculate_forces() } // tangential forces = history + tangential velocity damping - temp_dbl = -damp; - scale3(temp_dbl, contact->vtr, contact->fs); + scale3(-damp, contact->vtr, contact->fs); if (!mindlin_force) { scale3(k_scaled, history, temp_array); diff --git a/src/GRANULAR/contact_tangential_models.h b/src/GRANULAR/contact_tangential_models.h index 812eb62e55..9c0092dabc 100644 --- a/src/GRANULAR/contact_tangential_models.h +++ b/src/GRANULAR/contact_tangential_models.h @@ -24,7 +24,6 @@ class TangentialModel : public SubModel { TangentialModel(class LAMMPS *); virtual ~TangentialModel() {}; virtual void coeffs_to_local() {}; - virtual void init(); virtual void calculate_forces() = 0; int rescale_flag; double k, damp, mu; // Used by Marshall twisting model diff --git a/src/GRANULAR/contact_twisting_models.cpp b/src/GRANULAR/contact_twisting_models.cpp index 52b37d46e1..14b998d32f 100644 --- a/src/GRANULAR/contact_twisting_models.cpp +++ b/src/GRANULAR/contact_twisting_models.cpp @@ -50,7 +50,7 @@ TwistingMarshall::TwistingMarshall(LAMMPS *lmp) : TwistingModel(lmp) void TwistingMarshall::init() { k_tang = contact->tangential_model->k; - damp_tang = contact->tangential_model->damp; + damp_tang = contact->tangential_model->damp_tangential; mu_tang = contact->tangential_model->mu; } From c9ba3f415715e6a6cfa3dca780c24737d77b6f87 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Fri, 16 Sep 2022 16:56:20 -0600 Subject: [PATCH 025/448] Adding classic tangential models --- src/GRANULAR/contact.cpp | 22 ++-- src/GRANULAR/contact.h | 1 + src/GRANULAR/contact_tangential_models.cpp | 116 ++++++++++++++++++--- src/GRANULAR/contact_tangential_models.h | 17 +++ src/GRANULAR/contact_twisting_models.cpp | 2 +- src/GRANULAR/fix_wall_gran.cpp | 2 + src/GRANULAR/fix_wall_gran_region.cpp | 2 +- src/contact.h | 19 ++-- 8 files changed, 145 insertions(+), 36 deletions(-) diff --git a/src/GRANULAR/contact.cpp b/src/GRANULAR/contact.cpp index cd2c323a59..b7c4e7c0e4 100644 --- a/src/GRANULAR/contact.cpp +++ b/src/GRANULAR/contact.cpp @@ -45,11 +45,9 @@ ContactModel::ContactModel(LAMMPS *lmp) : Pointers(lmp) limit_damping = 0; beyond_contact = 0; nondefault_history_transfer = 0; - + classic_model = 0; contact_type = PAIR; - reset_contact(); - normal_model = nullptr; damping_model = nullptr; tangential_model = nullptr; @@ -95,6 +93,7 @@ void ContactModel::init_model(std::string model_name, ModelType model_type) if (model_name == "none") tangential_model = new TangentialNone(lmp); else if (model_name == "linear_nohistory") tangential_model = new TangentialLinearNoHistory(lmp); else if (model_name == "linear_history") tangential_model = new TangentialLinearHistory(lmp); + else if (model_name == "linear_history_classic") tangential_model = new TangentialLinearHistoryClassic(lmp); else if (model_name == "mindlin") tangential_model = new TangentialMindlin(lmp); else if (model_name == "mindlin/force") tangential_model = new TangentialMindlinForce(lmp); else if (model_name == "mindlin_rescale") tangential_model = new TangentialMindlinRescale(lmp); @@ -157,6 +156,8 @@ int ContactModel::init_classic_model(char **arg, int iarg, int narg) { double kn, kt, gamman, gammat, xmu; + classic_model = 1; + if (iarg + 6 >= narg) error->all(FLERR,"Insufficient arguments provided for classic gran model command"); @@ -182,7 +183,7 @@ int ContactModel::init_classic_model(char **arg, int iarg, int narg) init_model("mass_velocity", DAMPING); } else if (strcmp(arg[iarg],"hooke/history") == 0) { init_model("hooke", NORMAL); - init_model("linear_history", TANGENTIAL); + init_model("linear_history_classic", TANGENTIAL); init_model("mass_velocity", DAMPING); } else if (strcmp(arg[iarg],"hertz/history") == 0) { // convert Kn and Kt from pressure units to force/distance^2 if Hertzian @@ -435,13 +436,18 @@ void ContactModel::calculate_forces() //May need to rethink eventually tris.. cross3(nx, fs, torquesi); - double dist_to_contact = radi - 0.5 * delta; - scale3(dist_to_contact, torquesi); + double dist_to_contact; + if (!classic_model) { + dist_to_contact = radi - 0.5 * delta; + scale3(dist_to_contact, torquesi); + } if (contact_type == PAIR) { copy3(torquesi, torquesj); - dist_to_contact = radj - 0.5 * delta; - scale3(dist_to_contact, torquesj); + if (!classic_model) { + dist_to_contact = radj - 0.5 * delta; + scale3(dist_to_contact, torquesj); + } } double torroll[3]; diff --git a/src/GRANULAR/contact.h b/src/GRANULAR/contact.h index 54ecfeb757..632555a21f 100644 --- a/src/GRANULAR/contact.h +++ b/src/GRANULAR/contact.h @@ -97,6 +97,7 @@ class ContactModel : protected Pointers { protected: int rolling_defined, twisting_defined, heat_defined; // Used to quickly skip undefined submodels + int classic_model; }; } // namespace Contact diff --git a/src/GRANULAR/contact_tangential_models.cpp b/src/GRANULAR/contact_tangential_models.cpp index 0349927731..1ac8c1c44c 100644 --- a/src/GRANULAR/contact_tangential_models.cpp +++ b/src/GRANULAR/contact_tangential_models.cpp @@ -73,6 +73,7 @@ void TangentialLinearNoHistory::calculate_forces() else Ft = 0.0; scale3(-Ft, contact->vtr, contact->fs); + } /* ---------------------------------------------------------------------- @@ -101,7 +102,8 @@ void TangentialLinearHistory::coeffs_to_local() void TangentialLinearHistory::calculate_forces() { - double magfs, rsht, shrmag, prjmag, temp_dbl, temp_array[3]; + // Note: this is the same as the base Mindlin calculation except k isn't scaled by area + double magfs, magfs_inv, rsht, shrmag, prjmag, temp_dbl, temp_array[3]; int frame_update = 0; damp = xt * contact->damping_model->damp_prefactor; @@ -117,8 +119,11 @@ void TangentialLinearHistory::calculate_forces() if (frame_update) { shrmag = len3(history); + // projection - scale3(rsht, contact->nx, history); + scale3(rsht, contact->nx, temp_array); + sub3(history, temp_array, history); + // also rescale to preserve magnitude prjmag = len3(history); if (prjmag > 0) temp_dbl = shrmag / prjmag; @@ -126,27 +131,30 @@ void TangentialLinearHistory::calculate_forces() scale3(temp_dbl, history); } - // update history - // tangential force + // update history, tangential force // see e.g. eq. 18 of Thornton et al, Pow. Tech. 2013, v223,p30-46 - temp_dbl = k * contact->dt; - scale3(temp_dbl, contact->vtr, temp_array); - sub3(history, temp_array, history); + scale3(contact->dt, contact->vtr, temp_array); + add3(history, temp_array, history); } // tangential forces = history + tangential velocity damping - scale3(-damp, contact->vtr, contact->fs); + scale3(-k, history, contact->fs); + scale3(damp, contact->vtr, temp_array); + sub3(contact->fs, temp_array, contact->fs); // rescale frictional displacements and forces if needed magfs = len3(contact->fs); if (magfs > Fscrit) { shrmag = len3(history); if (shrmag != 0.0) { - temp_dbl = Fscrit / magfs; + magfs_inv = 1.0 / magfs; + temp_dbl = Fscrit * magfs_inv; scale3(temp_dbl, contact->fs, history); scale3(damp, contact->vtr, temp_array); add3(history, temp_array, history); - temp_dbl = Fscrit / magfs; + temp_dbl = -1.0 / k; + scale3(temp_dbl, history); + temp_dbl = Fscrit * magfs_inv; scale3(temp_dbl, contact->fs); } else { zero3(contact->fs); @@ -154,6 +162,80 @@ void TangentialLinearHistory::calculate_forces() } } +/* ---------------------------------------------------------------------- + Linear model with history from pair gran/hooke/history +------------------------------------------------------------------------- */ + +TangentialLinearHistoryClassic::TangentialLinearHistoryClassic(LAMMPS *lmp) : TangentialLinearHistory(lmp) +{ + scale_area = 0; +} + +/* ---------------------------------------------------------------------- */ + +void TangentialLinearHistoryClassic::calculate_forces() +{ + double k_scaled, magfs, magfs_inv, rsht, shrmag, prjmag, temp_dbl; + double temp_array[3]; + int frame_update = 0; + + k_scaled = k; + if (scale_area) k_scaled *= contact->area; + + damp = xt * contact->damping_model->damp_prefactor; + + double Fscrit = contact->normal_model->Fncrit * mu; + double *history = & contact->history[history_index]; + + // update history + if (contact->history_update) { + scale3(contact->dt, contact->vtr, temp_array); + add3(history, temp_array, history); + } + + shrmag = len3(history); + + // rotate shear displacements + if (contact->history_update) { + rsht = dot3(history, contact->nx); + scale3(rsht, contact->nx, temp_array); + sub3(history, temp_array, history); + } + + // tangential forces = history + tangential velocity damping + scale3(-k_scaled, history, contact->fs); + scale3(damp, contact->vtr, temp_array); + sub3(contact->fs, temp_array, contact->fs); + + // rescale frictional displacements and forces if needed + magfs = len3(contact->fs); + if (magfs > Fscrit) { + if (shrmag != 0.0) { + magfs_inv = 1.0 / magfs; + temp_dbl = Fscrit * magfs_inv; + scale3(temp_dbl, contact->fs, history); + scale3(damp, contact->vtr, temp_array); + add3(history, temp_array, history); + temp_dbl = -1.0 / k_scaled; + if (scale_area) temp_dbl /= contact->area; + scale3(temp_dbl, history); + temp_dbl = Fscrit * magfs_inv; + scale3(temp_dbl, contact->fs); + } else { + zero3(contact->fs); + } + } +} + +/* ---------------------------------------------------------------------- + Mindlin from pair gran/hertz/history +------------------------------------------------------------------------- */ + +TangentialMindlinClassic::TangentialMindlinClassic(LAMMPS *lmp) : TangentialLinearHistoryClassic(lmp) +{ + scale_area = 1; +} + /* ---------------------------------------------------------------------- Mindlin model ------------------------------------------------------------------------- */ @@ -199,7 +281,7 @@ void TangentialMindlin::mix_coeffs(double* icoeffs, double* jcoeffs) void TangentialMindlin::calculate_forces() { - double k_scaled, magfs, rsht, shrmag, prjmag, temp_dbl; + double k_scaled, magfs, magfs_inv, rsht, shrmag, prjmag, temp_dbl; double temp_array[3]; int frame_update = 0; @@ -229,7 +311,8 @@ void TangentialMindlin::calculate_forces() if (frame_update) { shrmag = len3(history); // projection - scale3(rsht, contact->nx, history); + scale3(rsht, contact->nx, temp_array); + sub3(history, temp_array, history); // also rescale to preserve magnitude prjmag = len3(history); if (prjmag > 0) temp_dbl = shrmag / prjmag; @@ -256,7 +339,7 @@ void TangentialMindlin::calculate_forces() if (!mindlin_force) { scale3(k_scaled, history, temp_array); - add3(contact->fs, temp_array, contact->fs); + sub3(contact->fs, temp_array, contact->fs); } // rescale frictional displacements and forces if needed @@ -264,15 +347,16 @@ void TangentialMindlin::calculate_forces() if (magfs > Fscrit) { shrmag = len3(history); if (shrmag != 0.0) { - temp_dbl = Fscrit / magfs; + magfs_inv = 1.0 / magfs; + temp_dbl = Fscrit * magfs_inv; scale3(temp_dbl, contact->fs, history); scale3(damp, contact->vtr, temp_array); add3(history, temp_array, history); - if (! mindlin_force) { + if (!mindlin_force) { temp_dbl = -1.0 / k_scaled; scale3(temp_dbl, history); } - temp_dbl = Fscrit / magfs; + temp_dbl = Fscrit * magfs_inv; scale3(temp_dbl, contact->fs); } else { zero3(contact->fs); diff --git a/src/GRANULAR/contact_tangential_models.h b/src/GRANULAR/contact_tangential_models.h index 9c0092dabc..a54d03c495 100644 --- a/src/GRANULAR/contact_tangential_models.h +++ b/src/GRANULAR/contact_tangential_models.h @@ -24,6 +24,7 @@ class TangentialModel : public SubModel { TangentialModel(class LAMMPS *); virtual ~TangentialModel() {}; virtual void coeffs_to_local() {}; + virtual void init() {}; virtual void calculate_forces() = 0; int rescale_flag; double k, damp, mu; // Used by Marshall twisting model @@ -59,6 +60,22 @@ class TangentialLinearHistory : public TangentialModel { /* ---------------------------------------------------------------------- */ +class TangentialLinearHistoryClassic : public TangentialLinearHistory { + public: + TangentialLinearHistoryClassic(class LAMMPS *); + void calculate_forces(); + int scale_area; +}; + +/* ---------------------------------------------------------------------- */ + +class TangentialMindlinClassic : public TangentialLinearHistoryClassic { + public: + TangentialMindlinClassic(class LAMMPS *); +}; + +/* ---------------------------------------------------------------------- */ + class TangentialMindlin : public TangentialModel { public: TangentialMindlin(class LAMMPS *); diff --git a/src/GRANULAR/contact_twisting_models.cpp b/src/GRANULAR/contact_twisting_models.cpp index 14b998d32f..52b37d46e1 100644 --- a/src/GRANULAR/contact_twisting_models.cpp +++ b/src/GRANULAR/contact_twisting_models.cpp @@ -50,7 +50,7 @@ TwistingMarshall::TwistingMarshall(LAMMPS *lmp) : TwistingModel(lmp) void TwistingMarshall::init() { k_tang = contact->tangential_model->k; - damp_tang = contact->tangential_model->damp_tangential; + damp_tang = contact->tangential_model->damp; mu_tang = contact->tangential_model->mu; } diff --git a/src/GRANULAR/fix_wall_gran.cpp b/src/GRANULAR/fix_wall_gran.cpp index 6672a67387..05e060e61c 100644 --- a/src/GRANULAR/fix_wall_gran.cpp +++ b/src/GRANULAR/fix_wall_gran.cpp @@ -30,6 +30,7 @@ #include "contact_heat_models.h" #include "domain.h" #include "error.h" +#include "input.h" #include "math_const.h" #include "math_extra.h" #include "memory.h" @@ -37,6 +38,7 @@ #include "neighbor.h" #include "respa.h" #include "update.h" +#include "variable.h" #include diff --git a/src/GRANULAR/fix_wall_gran_region.cpp b/src/GRANULAR/fix_wall_gran_region.cpp index 4058a31614..2e57e335f7 100644 --- a/src/GRANULAR/fix_wall_gran_region.cpp +++ b/src/GRANULAR/fix_wall_gran_region.cpp @@ -234,7 +234,7 @@ void FixWallGranRegion::post_force(int /*vflag*/) model->r = region->contact[ic].r; if (model->beyond_contact) model->touch = history_many[i][c2r[ic]][0]; - touchflag = model->check_contact(region->contact[ic].r); + touchflag = model->check_contact(); if (!touchflag) { if (use_history) diff --git a/src/contact.h b/src/contact.h index cd680b220a..632555a21f 100644 --- a/src/contact.h +++ b/src/contact.h @@ -31,10 +31,10 @@ enum ModelType { HEAT = 5 }; // Relative order matters since some derive coeffs from others -enum WallType { - NONE = 0, - RWALL = 1, - RDUPLICATE = 2 +enum ContactType { + PAIR = 0, + WALL = 1, + WALLREGION = 2 }; // forward declaration @@ -51,8 +51,7 @@ class ContactModel : protected Pointers { ContactModel(class LAMMPS *); ~ContactModel(); void init(); - bool check_contact(double = 0); - void reset_contact(); + bool check_contact(); void prep_contact(); void calculate_forces(); double pulloff_distance(double, double); @@ -75,7 +74,7 @@ class ContactModel : protected Pointers { // Extra options int beyond_contact, limit_damping, history_update; - WallType wall_type; + ContactType contact_type; // History variables int size_history, nondefault_history_transfer; @@ -85,7 +84,7 @@ class ContactModel : protected Pointers { // Contact properties/output double forces[3], torquesi[3], torquesj[3], dq; - double radi, radj, rwall, meff, dt, Ti, Tj, area; + double radi, radj, meff, dt, Ti, Tj, area; double Fntot, magtortwist; double *xi, *xj, *vi, *vj, *omegai, *omegaj; @@ -97,8 +96,8 @@ class ContactModel : protected Pointers { bool touch; protected: - int rolling_defined, twisting_defined, heat_defined; - int prep_flag, check_flag; + int rolling_defined, twisting_defined, heat_defined; // Used to quickly skip undefined submodels + int classic_model; }; } // namespace Contact From 7f16225ffbc8842239f34da434d75c9902602dbe Mon Sep 17 00:00:00 2001 From: jtclemm Date: Fri, 16 Sep 2022 16:57:32 -0600 Subject: [PATCH 026/448] Removing leftover file --- src/contact.h | 106 -------------------------------------------------- 1 file changed, 106 deletions(-) delete mode 100644 src/contact.h diff --git a/src/contact.h b/src/contact.h deleted file mode 100644 index 632555a21f..0000000000 --- a/src/contact.h +++ /dev/null @@ -1,106 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifndef LMP_CONTACT_H -#define LMP_CONTACT_H - -#include "pointers.h" // IWYU pragma: export - -namespace LAMMPS_NS { -namespace Contact { - -#define EPSILON 1e-10 -#define NSUBMODELS 6 - -enum ModelType { - NORMAL = 0, - DAMPING = 1, - TANGENTIAL = 2, - ROLLING = 3, - TWISTING = 4, - HEAT = 5 -}; // Relative order matters since some derive coeffs from others - -enum ContactType { - PAIR = 0, - WALL = 1, - WALLREGION = 2 -}; - -// forward declaration -class NormalModel; -class DampingModel; -class TangentialModel; -class RollingModel; -class TwistingModel; -class HeatModel; -class SubModel; - -class ContactModel : protected Pointers { - public: - ContactModel(class LAMMPS *); - ~ContactModel(); - void init(); - bool check_contact(); - void prep_contact(); - void calculate_forces(); - double pulloff_distance(double, double); - - void init_model(std::string, ModelType); - int init_classic_model(char **, int, int); - int mix_coeffs(ContactModel*, ContactModel*); - - void write_restart(FILE *); - void read_restart(FILE *); - - // Sub models - NormalModel *normal_model; - DampingModel *damping_model; - TangentialModel *tangential_model; - RollingModel *rolling_model; - TwistingModel *twisting_model; - HeatModel *heat_model; - SubModel *sub_models[NSUBMODELS]; // Need to resize if we add more model flavors - - // Extra options - int beyond_contact, limit_damping, history_update; - ContactType contact_type; - - // History variables - int size_history, nondefault_history_transfer; - double *transfer_history_factor; - double *history; - - // Contact properties/output - double forces[3], torquesi[3], torquesj[3], dq; - - double radi, radj, meff, dt, Ti, Tj, area; - double Fntot, magtortwist; - - double *xi, *xj, *vi, *vj, *omegai, *omegaj; - double fs[3], fr[3], ft[3]; - - double dx[3], nx[3], r, rsq, rinv, Reff, radsum, delta, dR; - double vr[3], vn[3], vnnr, vt[3], wr[3], vtr[3], vrl[3], relrot[3], vrel; - double magtwist; - bool touch; - - protected: - int rolling_defined, twisting_defined, heat_defined; // Used to quickly skip undefined submodels - int classic_model; -}; - -} // namespace Contact -} // namespace LAMMPS_NS - -#endif From 13be68aecef770daf4559a6a69b62696bda7fd8a Mon Sep 17 00:00:00 2001 From: jtclemm Date: Mon, 19 Sep 2022 22:14:59 -0600 Subject: [PATCH 027/448] Fixing argument errors and adding note on datafiles to doc --- doc/src/pair_gran.rst | 5 +++++ doc/src/pair_granular.rst | 5 +++++ src/GRANULAR/contact_tangential_models.cpp | 4 ++-- src/GRANULAR/contact_twisting_models.cpp | 3 +-- src/GRANULAR/contact_twisting_models.h | 2 +- src/GRANULAR/fix_wall_gran.cpp | 3 +-- src/GRANULAR/pair_granular.cpp | 3 ++- 7 files changed, 17 insertions(+), 8 deletions(-) diff --git a/doc/src/pair_gran.rst b/doc/src/pair_gran.rst index f83fd6d6ab..3249bae866 100644 --- a/doc/src/pair_gran.rst +++ b/doc/src/pair_gran.rst @@ -279,6 +279,11 @@ statistically similar results. This is because the forces they compute depend on atom velocities. See the :doc:`read_restart ` command for more details. +Accumulated values for individual contacts are saved to to restart +files but are not saved to data files. Therefore, forces may +differ significantly when a system is reloaded using A +:doc:`read_data ` command. + Related commands """""""""""""""" diff --git a/doc/src/pair_granular.rst b/doc/src/pair_granular.rst index 675c8fe4ff..5856db307b 100644 --- a/doc/src/pair_granular.rst +++ b/doc/src/pair_granular.rst @@ -780,6 +780,11 @@ statistically similar results. This is because the forces they compute depend on atom velocities. See the :doc:`read_restart ` command for more details. +Accumulated values for individual contacts are saved to to restart +files but are not saved to data files. Therefore, forces may +differ significantly when a system is reloaded using A +:doc:`read_data ` command. + Related commands """""""""""""""" diff --git a/src/GRANULAR/contact_tangential_models.cpp b/src/GRANULAR/contact_tangential_models.cpp index 1ac8c1c44c..d9bb3320b8 100644 --- a/src/GRANULAR/contact_tangential_models.cpp +++ b/src/GRANULAR/contact_tangential_models.cpp @@ -168,7 +168,7 @@ void TangentialLinearHistory::calculate_forces() TangentialLinearHistoryClassic::TangentialLinearHistoryClassic(LAMMPS *lmp) : TangentialLinearHistory(lmp) { - scale_area = 0; + scale_area = 0; // Sets gran/hooke/history behavior } /* ---------------------------------------------------------------------- */ @@ -233,7 +233,7 @@ void TangentialLinearHistoryClassic::calculate_forces() TangentialMindlinClassic::TangentialMindlinClassic(LAMMPS *lmp) : TangentialLinearHistoryClassic(lmp) { - scale_area = 1; + scale_area = 1; // Sets gran/hertz/history behavior } /* ---------------------------------------------------------------------- diff --git a/src/GRANULAR/contact_twisting_models.cpp b/src/GRANULAR/contact_twisting_models.cpp index 52b37d46e1..aca4f958e7 100644 --- a/src/GRANULAR/contact_twisting_models.cpp +++ b/src/GRANULAR/contact_twisting_models.cpp @@ -50,7 +50,6 @@ TwistingMarshall::TwistingMarshall(LAMMPS *lmp) : TwistingModel(lmp) void TwistingMarshall::init() { k_tang = contact->tangential_model->k; - damp_tang = contact->tangential_model->damp; mu_tang = contact->tangential_model->mu; } @@ -63,7 +62,7 @@ void TwistingMarshall::calculate_forces() // Calculate twist coefficients from tangential model & contact geometry // eq 32 of Marshall paper double k = 0.5 * k_tang * contact->area * contact->area; - double damp = 0.5 * damp_tang * contact->area * contact->area; + double damp = 0.5 * contact->tangential_model->damp * contact->area * contact->area; double mu = TWOTHIRDS * mu_tang * contact->area; if (contact->history_update) { diff --git a/src/GRANULAR/contact_twisting_models.h b/src/GRANULAR/contact_twisting_models.h index 724448892a..1fa5aa2c6a 100644 --- a/src/GRANULAR/contact_twisting_models.h +++ b/src/GRANULAR/contact_twisting_models.h @@ -44,7 +44,7 @@ class TwistingMarshall : public TwistingModel { void calculate_forces(); void init(); protected: - double k_tang, damp_tang, mu_tang; + double k_tang, mu_tang; }; /* ---------------------------------------------------------------------- */ diff --git a/src/GRANULAR/fix_wall_gran.cpp b/src/GRANULAR/fix_wall_gran.cpp index 05e060e61c..0d6fc587fb 100644 --- a/src/GRANULAR/fix_wall_gran.cpp +++ b/src/GRANULAR/fix_wall_gran.cpp @@ -83,8 +83,7 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : int iarg; if (classic_flag) { - iarg = 4; - iarg = model->init_classic_model(arg, iarg, narg); + iarg = model->init_classic_model(arg, 3, narg); if (iarg < narg) { if (strcmp(arg[iarg],"limit_damping") == 0) { diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index 9e512c78c0..1e423b92b3 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -354,7 +354,8 @@ void PairGranular::coeff(int narg, char **arg) while (iarg < narg) { - if (strcmp(arg[iarg++], "tangential") == 0) { + if (strcmp(arg[iarg], "tangential") == 0) { + iarg++; if (iarg >= narg) error->all(FLERR,"Illegal pair_coeff command, must specify " "tangential model after tangential keyword"); From dc1b7d4cfece31fd2379737b32a4bbe2db234624 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Wed, 21 Sep 2022 16:31:18 -0600 Subject: [PATCH 028/448] Fixing mathematical errors in force/torque calculations --- src/GRANULAR/contact.cpp | 18 +++--- src/GRANULAR/contact.h | 1 + src/GRANULAR/contact_normal_models.cpp | 45 +++++++++----- src/GRANULAR/contact_normal_models.h | 2 +- src/GRANULAR/contact_rolling_models.cpp | 43 +++++++------- src/GRANULAR/contact_sub_models.cpp | 20 +++++++ src/GRANULAR/contact_sub_models.h | 2 + src/GRANULAR/contact_tangential_models.cpp | 69 +++++++++++----------- src/GRANULAR/contact_twisting_models.cpp | 4 +- src/GRANULAR/fix_wall_gran.cpp | 1 + src/GRANULAR/fix_wall_gran_region.cpp | 2 +- src/GRANULAR/pair_granular.cpp | 21 ++++--- 12 files changed, 133 insertions(+), 95 deletions(-) diff --git a/src/GRANULAR/contact.cpp b/src/GRANULAR/contact.cpp index b7c4e7c0e4..5290f13629 100644 --- a/src/GRANULAR/contact.cpp +++ b/src/GRANULAR/contact.cpp @@ -414,7 +414,7 @@ void ContactModel::calculate_forces() // calculate forces/torques forces[0] = 0.0; - double Fne, Fdamp; + double Fne, Fdamp, dist_to_contact; area = normal_model->calculate_area(); normal_model->set_knfac(); Fne = normal_model->calculate_forces(); @@ -435,18 +435,18 @@ void ContactModel::calculate_forces() //May need to rethink eventually tris.. cross3(nx, fs, torquesi); + scale3(-1, torquesi); + if (contact_type == PAIR) copy3(torquesi, torquesj); - double dist_to_contact; if (!classic_model) { - dist_to_contact = radi - 0.5 * delta; - scale3(dist_to_contact, torquesi); - } - - if (contact_type == PAIR) { - copy3(torquesi, torquesj); - if (!classic_model) { + if (contact_type == PAIR) { + dist_to_contact = radi - 0.5 * delta; + scale3(dist_to_contact, torquesi); dist_to_contact = radj - 0.5 * delta; scale3(dist_to_contact, torquesj); + } else { + dist_to_contact = radi; + scale3(dist_to_contact, torquesi); } } diff --git a/src/GRANULAR/contact.h b/src/GRANULAR/contact.h index 632555a21f..d1a13c5eb1 100644 --- a/src/GRANULAR/contact.h +++ b/src/GRANULAR/contact.h @@ -87,6 +87,7 @@ class ContactModel : protected Pointers { double radi, radj, meff, dt, Ti, Tj, area; double Fntot, magtortwist; + int i, j; double *xi, *xj, *vi, *vj, *omegai, *omegaj; double fs[3], fr[3], ft[3]; diff --git a/src/GRANULAR/contact_normal_models.cpp b/src/GRANULAR/contact_normal_models.cpp index ed14eb93b4..b377d5d027 100644 --- a/src/GRANULAR/contact_normal_models.cpp +++ b/src/GRANULAR/contact_normal_models.cpp @@ -165,7 +165,11 @@ void NormalHertzMaterial::coeffs_to_local() Emod = coeffs[0]; damp = coeffs[1]; poiss = coeffs[2]; - k = FOURTHIRDS * mix_stiffnessE(Emod, Emod, poiss, poiss); + if (contact->contact_type == PAIR) { + k = FOURTHIRDS * mix_stiffnessE(Emod, Emod, poiss, poiss); + } else { + k = FOURTHIRDS * mix_stiffnessE_wall(Emod, poiss); + } if (Emod < 0.0 || damp < 0.0) error->all(FLERR, "Illegal Hertz material normal model"); } @@ -199,7 +203,11 @@ void NormalDMT::coeffs_to_local() damp = coeffs[1]; poiss = coeffs[2]; cohesion = coeffs[3]; - k = FOURTHIRDS * mix_stiffnessE(Emod, Emod, poiss, poiss); + if (contact->contact_type == PAIR) { + k = FOURTHIRDS * mix_stiffnessE(Emod, Emod, poiss, poiss); + } else { + k = FOURTHIRDS * mix_stiffnessE_wall(Emod, poiss); + } if (Emod < 0.0 || damp < 0.0) error->all(FLERR, "Illegal DMT normal model"); } @@ -259,8 +267,14 @@ void NormalJKR::coeffs_to_local() damp = coeffs[1]; poiss = coeffs[2]; cohesion = coeffs[3]; - k = FOURTHIRDS * Emod; - Escaled = mix_stiffnessE(Emod, Emod, poiss, poiss); + + if (contact->contact_type == PAIR) { + Emix = mix_stiffnessE(Emod, Emod, poiss, poiss); + } else { + Emix = mix_stiffnessE_wall(Emod, poiss); + } + + k = FOURTHIRDS * Emix; if (Emod < 0.0 || damp < 0.0) error->all(FLERR, "Illegal JKR normal model"); } @@ -285,8 +299,8 @@ bool NormalJKR::touch() if (contact->touch) { R2 = contact->Reff * contact->Reff; - area_at_pulloff = cbrt(9.0 * MY_PI * cohesion * R2 / (4.0 * Escaled)); - delta_pulloff = area_at_pulloff * area_at_pulloff / contact->Reff - 2.0 * sqrt(MY_PI * cohesion * area_at_pulloff /Escaled); + area_at_pulloff = cbrt(9.0 * MY_PI * cohesion * R2 / (4.0 * Emix)); + delta_pulloff = area_at_pulloff * area_at_pulloff / contact->Reff - 2.0 * sqrt(MY_PI * cohesion * area_at_pulloff / Emix); dist_pulloff = contact->radsum - delta_pulloff; touchflag = contact->rsq < (dist_pulloff * dist_pulloff); } else { @@ -307,8 +321,8 @@ double NormalJKR::pulloff_distance(double radi, double radj) Reff_tmp = radi * radj / (radi + radj); // May not be defined if (Reff_tmp <= 0) return 0; - area_at_pulloff = cbrt(9.0 * MY_PI * cohesion * Reff_tmp * Reff_tmp / (4.0 * Escaled)); - return area_at_pulloff * area_at_pulloff / Reff_tmp - 2.0 * sqrt(MY_PI * cohesion * area_at_pulloff / Escaled); + area_at_pulloff = cbrt(9.0 * MY_PI * cohesion * Reff_tmp * Reff_tmp / (4.0 * Emix)); + return area_at_pulloff * area_at_pulloff / Reff_tmp - 2.0 * sqrt(MY_PI * cohesion * area_at_pulloff / Emix); } /* ---------------------------------------------------------------------- */ @@ -320,18 +334,18 @@ double NormalJKR::calculate_area() R2 = contact->Reff * contact->Reff; dR2 = contact->dR * contact->dR; - t0 = cohesion * cohesion * R2 * R2 * Escaled; + t0 = cohesion * cohesion * R2 * R2 * Emix; t1 = PI27SQ * t0; - t2 = 8.0 * contact->dR * dR2 * Escaled * Escaled * Escaled; - t3 = 4.0 * dR2 * Escaled; + t2 = 8.0 * contact->dR * dR2 * Emix * Emix * Emix; + t3 = 4.0 * dR2 * Emix; // in case sqrt(0) < 0 due to precision issues sqrt1 = MAX(0, t0 * (t1 + 2.0 * t2)); t4 = cbrt(t1 + t2 + THREEROOT3 * MY_PI * sqrt(sqrt1)); - t5 = t3 / t4 + t4 / Escaled; + t5 = t3 / t4 + t4 / Emix; sqrt2 = MAX(0, 2.0 * contact->dR + t5); t6 = sqrt(sqrt2); - sqrt3 = MAX(0, 4.0 * contact->dR - t5 + SIXROOT6 * cohesion * MY_PI * R2 / (Escaled * t6)); + sqrt3 = MAX(0, 4.0 * contact->dR - t5 + SIXROOT6 * cohesion * MY_PI * R2 / (Emix * t6)); return INVROOT6 * (t6 + sqrt(sqrt3)); } @@ -341,9 +355,8 @@ double NormalJKR::calculate_area() double NormalJKR::calculate_forces() { double a2; - a2 = contact->area * contact->area; - Fne = Escaled * contact->area * a2 / contact->Reff - MY_2PI * a2 * sqrt(4.0 * cohesion * Escaled / (MY_PI * contact->area)); + Fne = knfac * a2 / contact->Reff - MY_2PI * a2 * sqrt(4.0 * cohesion * Emix / (MY_PI * contact->area)); F_pulloff = 3.0 * MY_PI * cohesion * contact->Reff; return Fne; @@ -353,7 +366,7 @@ double NormalJKR::calculate_forces() void NormalJKR::set_knfac() { - knfac = Escaled * contact->area; + knfac = k * contact->area; } /* ---------------------------------------------------------------------- */ diff --git a/src/GRANULAR/contact_normal_models.h b/src/GRANULAR/contact_normal_models.h index 66217e32a2..8159a4c620 100644 --- a/src/GRANULAR/contact_normal_models.h +++ b/src/GRANULAR/contact_normal_models.h @@ -109,7 +109,7 @@ class NormalJKR : public NormalModel { void set_fncrit() override; protected: double k, cohesion; - double Escaled, F_pulloff; + double Emix, F_pulloff; }; } // namespace Contact diff --git a/src/GRANULAR/contact_rolling_models.cpp b/src/GRANULAR/contact_rolling_models.cpp index 956be65353..3ee80c0e48 100644 --- a/src/GRANULAR/contact_rolling_models.cpp +++ b/src/GRANULAR/contact_rolling_models.cpp @@ -50,8 +50,8 @@ RollingSDS::RollingSDS(LAMMPS *lmp) : RollingModel(lmp) void RollingSDS::coeffs_to_local() { k = coeffs[0]; - mu = coeffs[1]; - gamma = coeffs[2]; + gamma = coeffs[1]; + mu = coeffs[2]; if (k < 0.0 || mu < 0.0 || gamma < 0.0) error->all(FLERR, "Illegal SDS rolling model"); @@ -62,7 +62,8 @@ void RollingSDS::coeffs_to_local() void RollingSDS::calculate_forces() { int rhist0, rhist1, rhist2, frameupdate; - double Frcrit, rolldotn, rollmag, prjmag, magfr, hist_temp[3], temp_dbl, temp_array[3]; + double Frcrit, rolldotn, rollmag, prjmag, magfr, hist_temp[3], scalefac, temp_array[3]; + double k_inv, magfr_inv; rhist0 = history_index; rhist1 = rhist0 + 1; @@ -76,49 +77,45 @@ void RollingSDS::calculate_forces() hist_temp[2] = contact->history[rhist2]; rolldotn = dot3(hist_temp, contact->nx); - frameupdate = fabs(rolldotn) * k > EPSILON * Frcrit; + frameupdate = (fabs(rolldotn) * k) > (EPSILON * Frcrit); if (frameupdate) { // rotate into tangential plane rollmag = len3(hist_temp); // projection - temp_dbl = -rolldotn; - scale3(temp_dbl, contact->nx, temp_array); + scale3(rolldotn, contact->nx, temp_array); sub3(hist_temp, temp_array, hist_temp); // also rescale to preserve magnitude prjmag = len3(hist_temp); - if (prjmag > 0) temp_dbl = rollmag / prjmag; - else temp_dbl = 0; - scale3(temp_dbl, hist_temp); + if (prjmag > 0) scalefac = rollmag / prjmag; + else scalefac = 0; + scale3(scalefac, hist_temp); } scale3(contact->dt, contact->vrl, temp_array); add3(hist_temp, temp_array, hist_temp); } - scaleadd3(k, hist_temp, gamma, contact->vrl, contact->fr); - negate3(contact->fr); + scaleadd3(-k, hist_temp, -gamma, contact->vrl, contact->fr); // rescale frictional displacements and forces if needed - magfr = len3(contact->fr); if (magfr > Frcrit) { rollmag = len3(hist_temp); if (rollmag != 0.0) { - temp_dbl = -Frcrit / (magfr * k); - scale3(temp_dbl, contact->fr, temp_array); + k_inv = 1.0 / k; + magfr_inv = 1.0 / magfr; + scale3(-Frcrit * k_inv * magfr_inv, contact->fr, hist_temp); + scale3(-gamma * k_inv, contact->vrl, temp_array); add3(hist_temp, temp_array, hist_temp); - temp_dbl = -gamma/k; - scale3(temp_dbl, contact->vrl, temp_array); - add3(hist_temp, temp_array, hist_temp); - - temp_dbl = Frcrit / magfr; - scale3(temp_dbl, contact->fr); + scale3(Frcrit * magfr_inv, contact->fr); } else { zero3(contact->fr); } } - contact->history[rhist0] = hist_temp[0]; - contact->history[rhist1] = hist_temp[1]; - contact->history[rhist2] = hist_temp[2]; + if (contact->history_update) { + contact->history[rhist0] = hist_temp[0]; + contact->history[rhist1] = hist_temp[1]; + contact->history[rhist2] = hist_temp[2]; + } } diff --git a/src/GRANULAR/contact_sub_models.cpp b/src/GRANULAR/contact_sub_models.cpp index 57834fc040..1c9fe6b4f5 100644 --- a/src/GRANULAR/contact_sub_models.cpp +++ b/src/GRANULAR/contact_sub_models.cpp @@ -110,6 +110,26 @@ double SubModel::mix_stiffnessG(double E1, double E2, return 1 / (factor1 + factor2); } +/* ---------------------------------------------------------------------- + mixing of Young's modulus (E) for walls +------------------------------------------------------------------------- */ + +double SubModel::mix_stiffnessE_wall(double E, double pois) +{ + double factor = 2 * (1 - pois); + return E / factor; +} + +/* ---------------------------------------------------------------------- + mixing of shear modulus (G) for walls +------------------------------------------------------------------------ */ + +double SubModel::mix_stiffnessG_wall(double E, double pois) +{ + double factor = 32.0 * (2 - pois) * (1 + pois); + return E / factor; +} + /* ---------------------------------------------------------------------- mixing of everything else ------------------------------------------------------------------------- */ diff --git a/src/GRANULAR/contact_sub_models.h b/src/GRANULAR/contact_sub_models.h index 730790616d..0f577bf08e 100644 --- a/src/GRANULAR/contact_sub_models.h +++ b/src/GRANULAR/contact_sub_models.h @@ -51,6 +51,8 @@ class SubModel : protected Pointers { double mix_stiffnessE(double, double, double, double); double mix_stiffnessG(double, double, double, double); + double mix_stiffnessE_wall(double, double); + double mix_stiffnessG_wall(double, double); double mix_geom(double, double); }; diff --git a/src/GRANULAR/contact_tangential_models.cpp b/src/GRANULAR/contact_tangential_models.cpp index d9bb3320b8..ca95d1d00b 100644 --- a/src/GRANULAR/contact_tangential_models.cpp +++ b/src/GRANULAR/contact_tangential_models.cpp @@ -73,7 +73,6 @@ void TangentialLinearNoHistory::calculate_forces() else Ft = 0.0; scale3(-Ft, contact->vtr, contact->fs); - } /* ---------------------------------------------------------------------- @@ -115,7 +114,7 @@ void TangentialLinearHistory::calculate_forces() // see e.g. eq. 17 of Luding, Gran. Matter 2008, v10,p235 if (contact->history_update) { rsht = dot3(history, contact->nx); - frame_update = fabs(rsht) * k > EPSILON * Fscrit; + frame_update = (fabs(rsht) * k) > (EPSILON * Fscrit); if (frame_update) { shrmag = len3(history); @@ -137,6 +136,7 @@ void TangentialLinearHistory::calculate_forces() add3(history, temp_array, history); } + // tangential forces = history + tangential velocity damping scale3(-k, history, contact->fs); scale3(damp, contact->vtr, temp_array); @@ -148,14 +148,11 @@ void TangentialLinearHistory::calculate_forces() shrmag = len3(history); if (shrmag != 0.0) { magfs_inv = 1.0 / magfs; - temp_dbl = Fscrit * magfs_inv; - scale3(temp_dbl, contact->fs, history); + scale3(Fscrit * magfs_inv, contact->fs, history); scale3(damp, contact->vtr, temp_array); add3(history, temp_array, history); - temp_dbl = -1.0 / k; - scale3(temp_dbl, history); - temp_dbl = Fscrit * magfs_inv; - scale3(temp_dbl, contact->fs); + scale3(-1.0 / k, history); + scale3(Fscrit * magfs_inv, contact->fs); } else { zero3(contact->fs); } @@ -212,15 +209,13 @@ void TangentialLinearHistoryClassic::calculate_forces() if (magfs > Fscrit) { if (shrmag != 0.0) { magfs_inv = 1.0 / magfs; - temp_dbl = Fscrit * magfs_inv; - scale3(temp_dbl, contact->fs, history); + scale3(Fscrit * magfs_inv, contact->fs, history); scale3(damp, contact->vtr, temp_array); add3(history, temp_array, history); temp_dbl = -1.0 / k_scaled; if (scale_area) temp_dbl /= contact->area; scale3(temp_dbl, history); - temp_dbl = Fscrit * magfs_inv; - scale3(temp_dbl, contact->fs); + scale3(Fscrit * magfs_inv, contact->fs); } else { zero3(contact->fs); } @@ -259,7 +254,15 @@ void TangentialMindlin::coeffs_to_local() if (k == -1) { if (!contact->normal_model->material_properties) error->all(FLERR, "Must either specify tangential stiffness or material properties for normal model for the Mindlin tangential style"); - k = 8.0 * mix_stiffnessG(contact->normal_model->Emod, contact->normal_model->Emod, contact->normal_model->poiss, contact->normal_model->poiss); + + double Emod = contact->normal_model->Emod; + double poiss = contact->normal_model->poiss; + + if (contact->contact_type == PAIR) { + k = 8.0 * mix_stiffnessG(Emod, Emod, poiss, poiss); + } else { + k = 8.0 * mix_stiffnessG_wall(Emod, poiss); + } } if (k < 0.0 || xt < 0.0 || mu < 0.0) @@ -291,22 +294,21 @@ void TangentialMindlin::calculate_forces() double Fscrit = contact->normal_model->Fncrit * mu; k_scaled = k * contact->area; - if (mindlin_rescale) { - // on unloading, rescale the shear displacements/force - if (contact->area < history[3]) { - temp_dbl = contact->area / history[3]; - scale3(temp_dbl, history); - } - } + + // on unloading, rescale the shear displacements/force + if (mindlin_rescale) + if (contact->area < history[3]) + scale3(contact->area / history[3], history); // rotate and update displacements / force. // see e.g. eq. 17 of Luding, Gran. Matter 2008, v10,p235 if (contact->history_update) { rsht = dot3(history, contact->nx); - if (mindlin_force) - frame_update = fabs(rsht) > EPSILON * Fscrit; - else - frame_update = fabs(rsht) * k_scaled > EPSILON * Fscrit; + if (mindlin_force) { + frame_update = fabs(rsht) > (EPSILON * Fscrit); + } else { + frame_update = (fabs(rsht) * k_scaled) > (EPSILON * Fscrit); + } if (frame_update) { shrmag = len3(history); @@ -324,8 +326,7 @@ void TangentialMindlin::calculate_forces() if (mindlin_force) { // tangential force // see e.g. eq. 18 of Thornton et al, Pow. Tech. 2013, v223,p30-46 - temp_dbl = -k_scaled * contact->dt; - scale3(temp_dbl, contact->vtr, temp_array); + scale3(-k_scaled * contact->dt, contact->vtr, temp_array); } else { scale3(contact->dt, contact->vtr, temp_array); } @@ -340,6 +341,8 @@ void TangentialMindlin::calculate_forces() if (!mindlin_force) { scale3(k_scaled, history, temp_array); sub3(contact->fs, temp_array, contact->fs); + } else { + add3(contact->fs, history, contact->fs); } // rescale frictional displacements and forces if needed @@ -348,16 +351,14 @@ void TangentialMindlin::calculate_forces() shrmag = len3(history); if (shrmag != 0.0) { magfs_inv = 1.0 / magfs; - temp_dbl = Fscrit * magfs_inv; - scale3(temp_dbl, contact->fs, history); + scale3(Fscrit * magfs_inv, contact->fs, history); scale3(damp, contact->vtr, temp_array); add3(history, temp_array, history); - if (!mindlin_force) { - temp_dbl = -1.0 / k_scaled; - scale3(temp_dbl, history); - } - temp_dbl = Fscrit * magfs_inv; - scale3(temp_dbl, contact->fs); + + if (!mindlin_force) + scale3(-1.0 / k_scaled, history); + + scale3(Fscrit * magfs_inv, contact->fs); } else { zero3(contact->fs); } diff --git a/src/GRANULAR/contact_twisting_models.cpp b/src/GRANULAR/contact_twisting_models.cpp index aca4f958e7..94a88161f3 100644 --- a/src/GRANULAR/contact_twisting_models.cpp +++ b/src/GRANULAR/contact_twisting_models.cpp @@ -95,8 +95,8 @@ TwistingSDS::TwistingSDS(LAMMPS *lmp) : TwistingModel(lmp) void TwistingSDS::coeffs_to_local() { k = coeffs[0]; - mu = coeffs[1]; - damp = coeffs[2]; + damp = coeffs[1]; + mu = coeffs[2]; if (k < 0.0 || mu < 0.0 || damp < 0.0) error->all(FLERR, "Illegal SDS twisting model"); diff --git a/src/GRANULAR/fix_wall_gran.cpp b/src/GRANULAR/fix_wall_gran.cpp index 0d6fc587fb..c0221b0d34 100644 --- a/src/GRANULAR/fix_wall_gran.cpp +++ b/src/GRANULAR/fix_wall_gran.cpp @@ -535,6 +535,7 @@ void FixWallGran::post_force(int /*vflag*/) } // Reset model and copy initial geometric data + model->i = i; model->dx[0] = dx; model->dx[1] = dy; model->dx[2] = dz; diff --git a/src/GRANULAR/fix_wall_gran_region.cpp b/src/GRANULAR/fix_wall_gran_region.cpp index 2e57e335f7..93bca1485b 100644 --- a/src/GRANULAR/fix_wall_gran_region.cpp +++ b/src/GRANULAR/fix_wall_gran_region.cpp @@ -225,7 +225,7 @@ void FixWallGranRegion::post_force(int /*vflag*/) for (int ic = 0; ic < nc; ic++) { // Reset model and copy initial geometric data - // A bit unncessary since region->contact[ic] stores r + model->i = i; model->dx[0] = region->contact[ic].delx; model->dx[1] = region->contact[ic].dely; model->dx[2] = region->contact[ic].delz; diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index 1e423b92b3..dddd1acdcb 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -196,6 +196,8 @@ void PairGranular::compute(int eflag, int vflag) jtype = type[j]; // Reset model and copy initial geometric data + models[itype][jtype]->i = i; + models[itype][jtype]->j = j; models[itype][jtype]->xi = x[i]; models[itype][jtype]->xj = x[j]; models[itype][jtype]->radi = radius[i]; @@ -214,9 +216,9 @@ void PairGranular::compute(int eflag, int vflag) continue; } - if (use_history) { + // if any history is needed + if (use_history || models[itype][jtype]->beyond_contact) { touch[jj] = 1; - history = &allhistory[size_history*jj]; } // meff = effective mass of pair of particles @@ -239,19 +241,17 @@ void PairGranular::compute(int eflag, int vflag) models[itype][jtype]->omegai = omega[i]; models[itype][jtype]->omegaj = omega[j]; models[itype][jtype]->history_update = history_update; - if (use_history) models[itype][jtype]->history = history; + if (use_history) { + history = &allhistory[size_history*jj]; + models[itype][jtype]->history = history; + } +; if (heat_flag) { models[itype][jtype]->Ti = temperature[i]; models[itype][jtype]->Tj = temperature[j]; } models[itype][jtype]->prep_contact(); - // if any history is needed - if (use_history) { - touch[jj] = 1; - history = &allhistory[size_history*jj]; - } - models[itype][jtype]->calculate_forces(); forces = models[itype][jtype]->forces; @@ -455,6 +455,7 @@ void PairGranular::init_style() for (auto &model : vec_models) { model.init(); + if (model.beyond_contact) beyond_contact = 1; if (model.size_history != 0) use_history = 1; for (i = 0; i < NSUBMODELS; i++) @@ -742,6 +743,8 @@ double PairGranular::single(int i, int j, int itype, int jtype, double *radius = atom->radius; // Reset model and copy initial geometric data + models[itype][jtype]->i = i; + models[itype][jtype]->j = j; models[itype][jtype]->xi = x[i]; models[itype][jtype]->xj = x[j]; models[itype][jtype]->radi = radius[i]; From cca7a5313267304a07ff8eef1bfc8793c0ebb784 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Sun, 25 Sep 2022 14:53:53 -0600 Subject: [PATCH 029/448] Patching heat implementation and adding example --- doc/src/dump.rst | 4 +- doc/src/fix_temp_integrate.rst | 2 +- doc/src/fix_wall_gran.rst | 2 +- doc/src/fix_wall_gran_region.rst | 2 +- doc/src/pair_granular.rst | 4 +- doc/src/set.rst | 2 +- examples/granular/in.pour.heat | 83 +++++++++++++++++++++++++++ src/GRANULAR/atom_vec_sphere_temp.cpp | 10 ++-- src/GRANULAR/atom_vec_sphere_temp.h | 2 +- src/GRANULAR/contact.cpp | 18 +++--- src/GRANULAR/contact_heat_models.cpp | 2 +- src/GRANULAR/fix_temp_integrate.cpp | 10 ++-- src/GRANULAR/fix_wall_gran.cpp | 43 ++++++-------- src/GRANULAR/fix_wall_gran_region.cpp | 21 ++++--- src/GRANULAR/pair_granular.cpp | 12 ++-- src/atom.cpp | 14 ++--- src/atom.h | 4 +- src/dump_custom.cpp | 22 +++---- src/dump_custom.h | 2 +- 19 files changed, 169 insertions(+), 90 deletions(-) create mode 100644 examples/granular/in.pour.heat diff --git a/doc/src/dump.rst b/doc/src/dump.rst index 4406c827bf..c324c945ee 100644 --- a/doc/src/dump.rst +++ b/doc/src/dump.rst @@ -81,7 +81,7 @@ Syntax q, mux, muy, muz, mu, radius, diameter, omegax, omegay, omegaz, angmomx, angmomy, angmomz, tqx, tqy, tqz, - heatflux, temperature, + heatflow, temperature, c_ID, c_ID[I], f_ID, f_ID[I], v_name, i_name, d_name, i2_name[I], d2_name[I] @@ -108,7 +108,7 @@ Syntax omegax,omegay,omegaz = angular velocity of spherical particle angmomx,angmomy,angmomz = angular momentum of aspherical particle tqx,tqy,tqz = torque on finite-size particles - heatflux = flux of heat into particle + heatflow = flow of heat into particle temperature = temperature of particle c_ID = per-atom vector calculated by a compute with ID c_ID[I] = Ith column of per-atom array calculated by a compute with ID, I can include wildcard (see below) diff --git a/doc/src/fix_temp_integrate.rst b/doc/src/fix_temp_integrate.rst index bd06b45c6e..03fae7a872 100644 --- a/doc/src/fix_temp_integrate.rst +++ b/doc/src/fix_temp_integrate.rst @@ -62,7 +62,7 @@ not invoked during :doc:`energy minimization `. Restrictions """""""""""" -This fix requires that atoms store temperature and a heat flux +This fix requires that atoms store temperature and heat flow as defined by the :doc:`atom_style sphere/temp ` command. Related commands diff --git a/doc/src/fix_wall_gran.rst b/doc/src/fix_wall_gran.rst index 7fa047a07f..0cc4798dd2 100644 --- a/doc/src/fix_wall_gran.rst +++ b/doc/src/fix_wall_gran.rst @@ -186,7 +186,7 @@ specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the temperature. This option must be used in conjunction with a heat conduction model defined in :doc:`pair_style granular ` -and a compatible atom style which stores temperature and a heat flux +and a compatible atom style which stores temperature and a heat flow as defined by the :doc:`atom_style sphere/temp ` command. Restart, fix_modify, output, run start/stop, minimize info diff --git a/doc/src/fix_wall_gran_region.rst b/doc/src/fix_wall_gran_region.rst index 9dbf691ead..73a2e9c973 100644 --- a/doc/src/fix_wall_gran_region.rst +++ b/doc/src/fix_wall_gran_region.rst @@ -209,7 +209,7 @@ specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the temperature. This option must be used in conjunction with a heat conduction model defined in :doc:`pair_style granular ` -and a compatible atom style which stores temperature and a heat flux +and a compatible atom style which stores temperature and a heat flow as defined by the :doc:`atom_style sphere/temp ` command. Restart, fix_modify, output, run start/stop, minimize info diff --git a/doc/src/pair_granular.rst b/doc/src/pair_granular.rst index 5856db307b..bc365814cd 100644 --- a/doc/src/pair_granular.rst +++ b/doc/src/pair_granular.rst @@ -634,7 +634,7 @@ attractive force. This keyword cannot be used with the JKR or DMT models. ---------- -The optional *heat* keyword enables heat conduction . The options currently +The optional *heat* keyword enables heat conduction. The options currently supported are: 1. *none* @@ -643,7 +643,7 @@ supported are: If the *heat* keyword is not specified, the model defaults to *none*. For *heat* *area*, the heat -:math:`Q` conducted across an interface is given by +:math:`Q` conducted between two particles is given by .. math:: diff --git a/doc/src/set.rst b/doc/src/set.rst index d11d3fc229..fdce40b72d 100644 --- a/doc/src/set.rst +++ b/doc/src/set.rst @@ -95,7 +95,7 @@ Syntax value can be an atom-style variable (see below) *density/disc* value = particle density for a 2d disc or ellipse (mass/distance\^2 units) value can be an atom-style variable (see below) - *temperature* value = particle temperature for a finite-size particle particle (temperature units)s + *temperature* value = temperature for finite-size particles (temperature units) value can be an atom-style variable (see below) *volume* value = particle volume for Peridynamic particle (distance\^3 units) value can be an atom-style variable (see below) diff --git a/examples/granular/in.pour.heat b/examples/granular/in.pour.heat new file mode 100644 index 0000000000..495a80454a --- /dev/null +++ b/examples/granular/in.pour.heat @@ -0,0 +1,83 @@ +# pour one types of particles into cylinder and oscillate +# temperature of the bottom plate + +variable name string heat_plate + +atom_style sphere/temp +units lj + +############################################### +# Geometry-related parameters +############################################### + +variable boxx equal 10 +variable boxy equal 10 +variable boxz equal 50 + +variable drum_rad equal ${boxx}*0.5 +variable drum_height equal 30 + +variable xc equal 0.5*${boxx} +variable yc equal 0.5*${boxx} +variable zc equal 0.5*${boxz} + +############################################### +# Particle-related parameters +############################################### +variable rlo equal 0.25 +variable rhi equal 0.5 +variable dlo equal 2.0*${rlo} +variable dhi equal 2.0*${rhi} + +variable cyl_rad_inner equal ${drum_rad}-1.1*${rhi} + +variable dens equal 1.0 + +variable skin equal 0.4*${rhi} + +############# +processors * * 1 +region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz} +create_box 2 boxreg +change_box all boundary p p f + +pair_style granular +pair_coeff * * hertz/material 1e5 0.2 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji heat area 5.0 + +region curved_wall cylinder z ${xc} ${yc} ${drum_rad} 0 ${drum_height} side in +region bottom_wall plane ${xc} ${yc} 0 0 0 1 side in + +region insreg cylinder z ${xc} ${yc} ${cyl_rad_inner} ${drum_height} ${boxz} + +fix 0 all balance 100 1.0 shift xy 5 1.1 +fix 1 all nve/sphere +fix 2 all temp/integrate constant 1.0 +fix grav all gravity 10 vector 0 0 -1 +fix ins1 all pour 1000 1 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens} +fix ins2 all pour 1000 2 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens} + +comm_modify vel yes + +neighbor ${skin} bin +neigh_modify delay 0 every 1 check yes + +variable oscillate equal 1.0*sin(step*0.0001) + +fix 3 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region curved_wall +fix 4 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji heat area 5.0 region bottom_wall temperature v_oscillate + +thermo_style custom step atoms ke pxx pyy pzz +thermo_modify lost warn +thermo 100 + +timestep 0.001 + +#dump 1 all custom 1000 ${name}.dump id type radius mass x y z temperature heatflow + +#For removal later +compute 1 all property/atom radius +variable zmax atom z+c_1>0.5*${drum_height} +group delgroup dynamic all var zmax every 10000 + +run 100000 + diff --git a/src/GRANULAR/atom_vec_sphere_temp.cpp b/src/GRANULAR/atom_vec_sphere_temp.cpp index a92486a1b5..bc3dcb7a2d 100644 --- a/src/GRANULAR/atom_vec_sphere_temp.cpp +++ b/src/GRANULAR/atom_vec_sphere_temp.cpp @@ -33,17 +33,17 @@ AtomVecSphereTemp::AtomVecSphereTemp(LAMMPS *lmp) : AtomVec(lmp) atom->sphere_flag = 1; atom->radius_flag = atom->rmass_flag = atom->omega_flag = atom->torque_flag = 1; - atom->temperature_flag = atom->heatflux_flag = 1; + atom->temperature_flag = atom->heatflow_flag = 1; // strings with peratom variables to include in each AtomVec method // strings cannot contain fields in corresponding AtomVec default strings // order of fields in a string does not matter // except: fields_data_atom & fields_data_vel must match data file - fields_grow = {"radius", "rmass", "omega", "torque", "temperature", "heatflux"}; + fields_grow = {"radius", "rmass", "omega", "torque", "temperature", "heatflow"}; fields_copy = {"radius", "rmass", "omega", "temperature"}; fields_comm_vel = {"omega", "temperature"}; - fields_reverse = {"torque", "heatflux"}; + fields_reverse = {"torque", "heatflow"}; fields_border = {"radius", "rmass", "temperature"}; fields_border_vel = {"radius", "rmass", "omega", "temperature"}; fields_exchange = {"radius", "rmass", "omega", "temperature"}; @@ -107,7 +107,7 @@ void AtomVecSphereTemp::grow_pointers() rmass = atom->rmass; omega = atom->omega; temperature = atom->temperature; - heatflux = atom->heatflux; + heatflow = atom->heatflow; } /* ---------------------------------------------------------------------- @@ -117,7 +117,7 @@ void AtomVecSphereTemp::grow_pointers() void AtomVecSphereTemp::force_clear(int n, size_t nbytes) { - memset(&heatflux[n], 0, nbytes); + memset(&heatflow[n], 0, nbytes); } /* ---------------------------------------------------------------------- diff --git a/src/GRANULAR/atom_vec_sphere_temp.h b/src/GRANULAR/atom_vec_sphere_temp.h index 70e047a8cc..c93b0ee4dd 100644 --- a/src/GRANULAR/atom_vec_sphere_temp.h +++ b/src/GRANULAR/atom_vec_sphere_temp.h @@ -40,7 +40,7 @@ class AtomVecSphereTemp : public AtomVec { private: double *radius, *rmass; double **omega; - double *temperature, *heatflux; + double *temperature, *heatflow; int radvary; double radius_one, rmass_one; diff --git a/src/GRANULAR/contact.cpp b/src/GRANULAR/contact.cpp index 5290f13629..ae294d7db9 100644 --- a/src/GRANULAR/contact.cpp +++ b/src/GRANULAR/contact.cpp @@ -438,16 +438,14 @@ void ContactModel::calculate_forces() scale3(-1, torquesi); if (contact_type == PAIR) copy3(torquesi, torquesj); - if (!classic_model) { - if (contact_type == PAIR) { - dist_to_contact = radi - 0.5 * delta; - scale3(dist_to_contact, torquesi); - dist_to_contact = radj - 0.5 * delta; - scale3(dist_to_contact, torquesj); - } else { - dist_to_contact = radi; - scale3(dist_to_contact, torquesi); - } + if (!classic_model && contact_type == PAIR) { + dist_to_contact = radi - 0.5 * delta; + scale3(dist_to_contact, torquesi); + dist_to_contact = radj - 0.5 * delta; + scale3(dist_to_contact, torquesj); + } else { + dist_to_contact = radi; + scale3(dist_to_contact, torquesi); } double torroll[3]; diff --git a/src/GRANULAR/contact_heat_models.cpp b/src/GRANULAR/contact_heat_models.cpp index 00ac0c0785..1804ece9df 100644 --- a/src/GRANULAR/contact_heat_models.cpp +++ b/src/GRANULAR/contact_heat_models.cpp @@ -59,5 +59,5 @@ void HeatArea::coeffs_to_local() double HeatArea::calculate_heat() { - return conductivity * contact->area * (contact->Ti - contact->Tj); + return conductivity * contact->area * (contact->Tj - contact->Ti); } diff --git a/src/GRANULAR/fix_temp_integrate.cpp b/src/GRANULAR/fix_temp_integrate.cpp index f81442766b..e5fbae63dc 100644 --- a/src/GRANULAR/fix_temp_integrate.cpp +++ b/src/GRANULAR/fix_temp_integrate.cpp @@ -77,8 +77,8 @@ void FixTempIntegrate::init() if (!atom->temperature_flag) error->all(FLERR,"Fix temp/integrate requires atom style with temperature property"); - if (!atom->heatflux_flag) - error->all(FLERR,"Fix temp/integrate requires atom style with heatflux property"); + if (!atom->heatflow_flag) + error->all(FLERR,"Fix temp/integrate requires atom style with heatflow property"); } /* ---------------------------------------------------------------------- */ @@ -88,7 +88,7 @@ void FixTempIntegrate::final_integrate() // update temperature of atoms in group double *temperature = atom->temperature; - double *heatflux = atom->heatflux; + double *heatflow = atom->heatflow; double *rmass = atom->rmass; double *mass = atom->mass; int *type = atom->type; @@ -99,12 +99,12 @@ void FixTempIntegrate::final_integrate() if (rmass) { for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - temperature[i] += dt * heatflux[i] / (calc_cp(i) * rmass[i]); + temperature[i] += dt * heatflow[i] / (calc_cp(i) * rmass[i]); } } else { for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - temperature[i] += dt * heatflux[i] / (calc_cp(i) * mass[type[i]]); + temperature[i] += dt * heatflow[i] / (calc_cp(i) * mass[type[i]]); } } } diff --git a/src/GRANULAR/fix_wall_gran.cpp b/src/GRANULAR/fix_wall_gran.cpp index c0221b0d34..96fbaeefb5 100644 --- a/src/GRANULAR/fix_wall_gran.cpp +++ b/src/GRANULAR/fix_wall_gran.cpp @@ -125,7 +125,6 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR, "Illegal fix wall/gran command, must specify " "twisting model after twisting keyword"); model->init_model(std::string(arg[iarg++]), TWISTING); - iarg += 1; iarg = model->twisting_model->parse_coeffs(arg, iarg, narg); } else if (strcmp(arg[iarg], "heat") == 0) { iarg++; @@ -133,7 +132,6 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR, "Illegal fix wall/gran command, must specify " "heat model after heat keyword"); model->init_model(std::string(arg[iarg++]), HEAT); - iarg += 1; iarg = model->heat_model->parse_coeffs(arg, iarg, narg); heat_flag = 1; } else if (strcmp(arg[iarg], "xplane") == 0 || @@ -211,20 +209,8 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : wallstyle = REGION; idregion = utils::strdup(arg[iarg+1]); iarg += 2; - } else if (strcmp(arg[iarg],"temperature") == 0) { - if (narg < iarg+2) error->all(FLERR,"Illegal fix wall/gran command"); - if (utils::strmatch(arg[iarg+1], "^v_")) { - tstr = utils::strdup(arg[3] + 2); - } else { - Twall = utils::numeric(FLERR,arg[iarg+1],false,lmp); - } - Twall_defined = 1; - iarg += 2; } else wallstyle = NOSTYLE; - if (heat_flag != Twall_defined) - error->all(FLERR, "To model conduction, must define both heat model and wall temperature"); - // optional args wiggle = 0; @@ -256,9 +242,21 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : size_peratom_cols = 8; peratom_freq = 1; iarg += 1; + } else if (strcmp(arg[iarg],"temperature") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal fix wall/gran command"); + if (utils::strmatch(arg[iarg+1], "^v_")) { + tstr = utils::strdup(arg[iarg+1] + 2); + } else { + Twall = utils::numeric(FLERR,arg[iarg+1],false,lmp); + } + Twall_defined = 1; + iarg += 2; } else error->all(FLERR,"Illegal fix wall/gran command"); } + if (heat_flag != Twall_defined) + error->all(FLERR, "To model conduction, must define both heat model and wall temperature"); + if (wallstyle == NOSTYLE) error->all(FLERR,"No wall style defined"); if (wallstyle == XPLANE && domain->xperiodic) @@ -360,8 +358,8 @@ void FixWallGran::init() if (heat_flag) { if (!atom->temperature_flag) error->all(FLERR,"Heat conduction in fix wall/gran requires atom style with temperature property"); - if (!atom->heatflux_flag) - error->all(FLERR,"Heat conduction in fix wall/gran requires atom style with heatflux property"); + if (!atom->heatflow_flag) + error->all(FLERR,"Heat conduction in fix wall/gran requires atom style with heatflow property"); } // check for FixRigid so can extract rigid body masses @@ -408,7 +406,7 @@ void FixWallGran::post_force(int /*vflag*/) { int i,j; double dx,dy,dz,del1,del2,delxy,delr,rwall,meff; - double *forces, *torquesi, dq; + double *forces, *torquesi; double vwall[3]; double w0[3] = {0.0}; bool touchflag = false; @@ -471,11 +469,7 @@ void FixWallGran::post_force(int /*vflag*/) double **torque = atom->torque; double *radius = atom->radius; double *rmass = atom->rmass; - double *temperature, *heatflux; - if (heat_flag) { - temperature = atom->temperature; - heatflux = atom->heatflux; - } + double *temperature, *heatflow; int *mask = atom->mask; int nlocal = atom->nlocal; @@ -490,6 +484,8 @@ void FixWallGran::post_force(int /*vflag*/) model->vj = vwall; model->omegaj = w0; if (heat_flag) { + temperature = atom->temperature; + heatflow = atom->heatflow; if (tstr) Twall = input->variable->compute_equal(tvar); model->Tj = Twall; @@ -574,13 +570,12 @@ void FixWallGran::post_force(int /*vflag*/) forces = model->forces; torquesi = model->torquesi; - if (heat_flag) dq = model->dq; // apply forces & torques add3(f[i], forces, f[i]); add3(torque[i], torquesi, torque[i]); - if (heat_flag) heatflux[i] += dq; + if (heat_flag) heatflow[i] += model->dq; // store contact info if (peratom_flag) { diff --git a/src/GRANULAR/fix_wall_gran_region.cpp b/src/GRANULAR/fix_wall_gran_region.cpp index 93bca1485b..2f57d90ad6 100644 --- a/src/GRANULAR/fix_wall_gran_region.cpp +++ b/src/GRANULAR/fix_wall_gran_region.cpp @@ -22,11 +22,13 @@ #include "comm.h" #include "domain.h" #include "error.h" +#include "input.h" #include "memory.h" #include "neighbor.h" #include "math_extra.h" #include "region.h" #include "update.h" +#include "variable.h" #include @@ -124,7 +126,7 @@ void FixWallGranRegion::post_force(int /*vflag*/) { int i, m, nc, iwall; double dx, dy, dz, meff; - double *forces, *torquesi, dq; + double *forces, *torquesi; double vwall[3]; double w0[3] = {0.0}; bool touchflag = false; @@ -167,11 +169,7 @@ void FixWallGranRegion::post_force(int /*vflag*/) double **torque = atom->torque; double *radius = atom->radius; double *rmass = atom->rmass; - double *temperature, *heatflux; - if (heat_flag) { - temperature = atom->temperature; - heatflux = atom->heatflux; - } + double *temperature, *heatflow; int *mask = atom->mask; int nlocal = atom->nlocal; @@ -188,7 +186,13 @@ void FixWallGranRegion::post_force(int /*vflag*/) // Define constant wall properties (atom j) model->radj = 0.0; model->omegaj = w0; - if (heat_flag) model->Tj = Twall; + if (heat_flag) { + temperature = atom->temperature; + heatflow = atom->heatflow; + if (tstr) + Twall = input->variable->compute_equal(tvar); + model->Tj = Twall; + } for (i = 0; i < nlocal; i++) { if (! mask[i] & groupbit) continue; @@ -269,13 +273,12 @@ void FixWallGranRegion::post_force(int /*vflag*/) forces = model->forces; torquesi = model->torquesi; - if (heat_flag) dq = model->dq; // apply forces & torques add3(f[i], forces, f[i]); add3(torque[i], torquesi, torque[i]); - if (heat_flag) heatflux[i] += dq; + if (heat_flag) heatflow[i] += model->dq; // store contact info if (peratom_flag) { diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index dddd1acdcb..63354a4eda 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -161,9 +161,9 @@ void PairGranular::compute(int eflag, int vflag) int *mask = atom->mask; int nlocal = atom->nlocal; double *special_lj = force->special_lj; - double *heatflux, *temperature; + double *heatflow, *temperature; if (heat_flag) { - heatflux = atom->heatflux; + heatflow = atom->heatflow; temperature = atom->temperature; } @@ -265,13 +265,13 @@ void PairGranular::compute(int eflag, int vflag) scale3(factor_lj, torquesi); add3(torque[i], torquesi, torque[i]); - if (heat_flag) heatflux[i] += dq; + if (heat_flag) heatflow[i] += dq; if (force->newton_pair || j < nlocal) { sub3(f[j], forces, f[j]); scale3(factor_lj, torquesj); add3(torque[j], torquesj, torque[j]); - if (heat_flag) heatflux[j] -= dq; + if (heat_flag) heatflow[j] -= dq; } if (evflag) { @@ -446,8 +446,8 @@ void PairGranular::init_style() if (heat_flag) { if (!atom->temperature_flag) error->all(FLERR,"Heat conduction in pair granular requires atom style with temperature property"); - if (!atom->heatflux_flag) - error->all(FLERR,"Heat conduction in pair granular requires atom style with heatflux property"); + if (!atom->heatflow_flag) + error->all(FLERR,"Heat conduction in pair granular requires atom style with heatflow property"); } // allocate history and initialize models diff --git a/src/atom.cpp b/src/atom.cpp index ce66742779..5e462dd8bd 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -124,7 +124,7 @@ Atom::Atom(LAMMPS *lmp) : Pointers(lmp) ellipsoid = line = tri = body = nullptr; quat = nullptr; temperature = nullptr; - heatflux = nullptr; + heatflow = nullptr; // molecular systems @@ -413,7 +413,7 @@ void Atom::peratom_create() add_peratom("body",&body,INT,0); add_peratom("temperature",&temperature,DOUBLE,0); - add_peratom("heatflux",&heatflux,DOUBLE,0); + add_peratom("heatflow",&heatflow,DOUBLE,0); // BPM package @@ -617,7 +617,7 @@ void Atom::set_atomflag_defaults() molecule_flag = molindex_flag = molatom_flag = 0; q_flag = mu_flag = 0; rmass_flag = radius_flag = omega_flag = torque_flag = angmom_flag = 0; - temperature_flag = heatflux_flag = 0; + temperature_flag = heatflow_flag = 0; vfrac_flag = spin_flag = eradius_flag = ervel_flag = erforce_flag = 0; cs_flag = csforce_flag = vforce_flag = ervelforce_flag = etag_flag = 0; rho_flag = esph_flag = cv_flag = vest_flag = 0; @@ -2612,10 +2612,10 @@ length of the data area, and a short description. - double - 1 - temperature of the particles - * - heatflux + * - heatflow - double - 1 - - heatflux of the particles + - heatflow of the particles * - i_name - int - 1 @@ -2673,7 +2673,7 @@ void *Atom::extract(const char *name) if (strcmp(name,"body") == 0) return (void *) body; if (strcmp(name,"quat") == 0) return (void *) quat; if (strcmp(name,"temperature") == 0) return (void *) temperature; - if (strcmp(name,"heatflux") == 0) return (void *) heatflux; + if (strcmp(name,"heatflow") == 0) return (void *) heatflow; if (strcmp(name,"vfrac") == 0) return (void *) vfrac; if (strcmp(name,"s0") == 0) return (void *) s0; @@ -2798,7 +2798,7 @@ int Atom::extract_datatype(const char *name) if (strcmp(name,"body") == 0) return LAMMPS_INT; if (strcmp(name,"quat") == 0) return LAMMPS_DOUBLE_2D; if (strcmp(name,"temperature") == 0) return LAMMPS_DOUBLE; - if (strcmp(name,"heatflux") == 0) return LAMMPS_DOUBLE; + if (strcmp(name,"heatflow") == 0) return LAMMPS_DOUBLE; if (strcmp(name,"vfrac") == 0) return LAMMPS_DOUBLE; if (strcmp(name,"s0") == 0) return LAMMPS_DOUBLE; diff --git a/src/atom.h b/src/atom.h index 7ac459317c..bfb79d4366 100644 --- a/src/atom.h +++ b/src/atom.h @@ -80,7 +80,7 @@ class Atom : protected Pointers { double **omega, **angmom, **torque; int *ellipsoid, *line, *tri, *body; double **quat; - double *temperature, *heatflux; + double *temperature, *heatflow; // molecular systems @@ -183,7 +183,7 @@ class Atom : protected Pointers { int molecule_flag, molindex_flag, molatom_flag; int q_flag, mu_flag; int rmass_flag, radius_flag, omega_flag, torque_flag, angmom_flag, quat_flag; - int temperature_flag, heatflux_flag; + int temperature_flag, heatflow_flag; int vfrac_flag, spin_flag, eradius_flag, ervel_flag, erforce_flag; int cs_flag, csforce_flag, vforce_flag, ervelforce_flag, etag_flag; int rho_flag, esph_flag, cv_flag, vest_flag; diff --git a/src/dump_custom.cpp b/src/dump_custom.cpp index a74e91c889..cc4fdbe20b 100644 --- a/src/dump_custom.cpp +++ b/src/dump_custom.cpp @@ -41,7 +41,7 @@ enum{ID,MOL,PROC,PROCP1,TYPE,ELEMENT,MASS, XSU,YSU,ZSU,XSUTRI,YSUTRI,ZSUTRI, IX,IY,IZ, VX,VY,VZ,FX,FY,FZ, - Q,MUX,MUY,MUZ,MU,RADIUS,DIAMETER,HEATFLUX,TEMPERATURE, + Q,MUX,MUY,MUZ,MU,RADIUS,DIAMETER,heatflow,TEMPERATURE, OMEGAX,OMEGAY,OMEGAZ,ANGMOMX,ANGMOMY,ANGMOMZ, TQX,TQY,TQZ, COMPUTE,FIX,VARIABLE,IVEC,DVEC,IARRAY,DARRAY}; @@ -930,11 +930,11 @@ int DumpCustom::count() for (i = 0; i < nlocal; i++) dchoose[i] = 2.0*radius[i]; ptr = dchoose; nstride = 1; - } else if (thresh_array[ithresh] == HEATFLUX) { - if (!atom->heatflux_flag) + } else if (thresh_array[ithresh] == heatflow) { + if (!atom->heatflow_flag) error->all(FLERR, "Threshold for an atom property that isn't allocated"); - ptr = atom->heatflux; + ptr = atom->heatflow; nstride = 1; } else if (thresh_array[ithresh] == TEMPERATURE) { if (!atom->temperature_flag) @@ -1392,10 +1392,10 @@ int DumpCustom::parse_fields(int narg, char **arg) error->all(FLERR,"Dumping an atom property that isn't allocated"); pack_choice[iarg] = &DumpCustom::pack_diameter; vtype[iarg] = Dump::DOUBLE; - } else if (strcmp(arg[iarg],"heatflux") == 0) { - if (!atom->heatflux_flag) + } else if (strcmp(arg[iarg],"heatflow") == 0) { + if (!atom->heatflow_flag) error->all(FLERR,"Dumping an atom property that isn't allocated"); - pack_choice[iarg] = &DumpCustom::pack_heatflux; + pack_choice[iarg] = &DumpCustom::pack_heatflow; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"temperature") == 0) { if (!atom->temperature_flag) @@ -1867,7 +1867,7 @@ int DumpCustom::modify_param(int narg, char **arg) else if (strcmp(arg[1],"radius") == 0) thresh_array[nthresh] = RADIUS; else if (strcmp(arg[1],"diameter") == 0) thresh_array[nthresh] = DIAMETER; - else if (strcmp(arg[1],"heatflux") == 0) thresh_array[nthresh] = HEATFLUX; + else if (strcmp(arg[1],"heatflow") == 0) thresh_array[nthresh] = heatflow; else if (strcmp(arg[1],"temperature") == 0) thresh_array[nthresh] = TEMPERATURE; else if (strcmp(arg[1],"omegax") == 0) thresh_array[nthresh] = OMEGAX; else if (strcmp(arg[1],"omegay") == 0) thresh_array[nthresh] = OMEGAY; @@ -2783,12 +2783,12 @@ void DumpCustom::pack_diameter(int n) /* ---------------------------------------------------------------------- */ -void DumpCustom::pack_heatflux(int n) +void DumpCustom::pack_heatflow(int n) { - double *heatflux = atom->heatflux; + double *heatflow = atom->heatflow; for (int i = 0; i < nchoose; i++) { - buf[n] = heatflux[clist[i]]; + buf[n] = heatflow[clist[i]]; n += size_one; } } diff --git a/src/dump_custom.h b/src/dump_custom.h index fd4fd413c3..eeae415dd2 100644 --- a/src/dump_custom.h +++ b/src/dump_custom.h @@ -193,7 +193,7 @@ class DumpCustom : public Dump { void pack_mu(int); void pack_radius(int); void pack_diameter(int); - void pack_heatflux(int); + void pack_heatflow(int); void pack_temperature(int); void pack_omegax(int); From 955fbe46d12c12070a4068728cf310f9990608e9 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Wed, 26 Oct 2022 22:25:58 -0600 Subject: [PATCH 030/448] Renaming classes, adjusting initialization --- src/.gitignore | 32 +- src/GRANULAR/fix_wall_gran.cpp | 65 +-- src/GRANULAR/fix_wall_gran.h | 4 +- src/GRANULAR/fix_wall_gran_region.cpp | 5 +- src/GRANULAR/granular_model.cpp | 498 ++++++++++++++++++ src/GRANULAR/granular_model.h | 107 ++++ src/GRANULAR/gsm.cpp | 127 +++++ src/GRANULAR/gsm.h | 61 +++ src/GRANULAR/gsm_damping.cpp | 113 ++++ src/GRANULAR/gsm_damping.h | 79 +++ src/GRANULAR/gsm_heat.cpp | 63 +++ src/GRANULAR/gsm_heat.h | 53 ++ src/GRANULAR/gsm_normal.cpp | 377 +++++++++++++ src/GRANULAR/gsm_normal.h | 118 +++++ src/GRANULAR/gsm_rolling.cpp | 121 +++++ src/GRANULAR/gsm_rolling.h | 53 ++ src/GRANULAR/gsm_tangential.cpp | 412 +++++++++++++++ src/GRANULAR/gsm_tangential.h | 113 ++++ src/GRANULAR/gsm_twisting.cpp | 124 +++++ src/GRANULAR/gsm_twisting.h | 64 +++ src/GRANULAR/pair_granular.cpp | 97 +--- src/GRANULAR/pair_granular.h | 8 +- src/{GRANULAR => }/contact.cpp | 0 src/{GRANULAR => }/contact.h | 0 src/{GRANULAR => }/contact_damping_models.cpp | 0 src/{GRANULAR => }/contact_damping_models.h | 0 src/{GRANULAR => }/contact_heat_models.cpp | 0 src/{GRANULAR => }/contact_heat_models.h | 0 src/{GRANULAR => }/contact_normal_models.cpp | 0 src/{GRANULAR => }/contact_normal_models.h | 0 src/{GRANULAR => }/contact_rolling_models.cpp | 0 src/{GRANULAR => }/contact_rolling_models.h | 0 src/{GRANULAR => }/contact_sub_models.cpp | 0 src/{GRANULAR => }/contact_sub_models.h | 0 .../contact_tangential_models.cpp | 0 .../contact_tangential_models.h | 0 .../contact_twisting_models.cpp | 0 src/{GRANULAR => }/contact_twisting_models.h | 0 38 files changed, 2545 insertions(+), 149 deletions(-) create mode 100644 src/GRANULAR/granular_model.cpp create mode 100644 src/GRANULAR/granular_model.h create mode 100644 src/GRANULAR/gsm.cpp create mode 100644 src/GRANULAR/gsm.h create mode 100644 src/GRANULAR/gsm_damping.cpp create mode 100644 src/GRANULAR/gsm_damping.h create mode 100644 src/GRANULAR/gsm_heat.cpp create mode 100644 src/GRANULAR/gsm_heat.h create mode 100644 src/GRANULAR/gsm_normal.cpp create mode 100644 src/GRANULAR/gsm_normal.h create mode 100644 src/GRANULAR/gsm_rolling.cpp create mode 100644 src/GRANULAR/gsm_rolling.h create mode 100644 src/GRANULAR/gsm_tangential.cpp create mode 100644 src/GRANULAR/gsm_tangential.h create mode 100644 src/GRANULAR/gsm_twisting.cpp create mode 100644 src/GRANULAR/gsm_twisting.h rename src/{GRANULAR => }/contact.cpp (100%) rename src/{GRANULAR => }/contact.h (100%) rename src/{GRANULAR => }/contact_damping_models.cpp (100%) rename src/{GRANULAR => }/contact_damping_models.h (100%) rename src/{GRANULAR => }/contact_heat_models.cpp (100%) rename src/{GRANULAR => }/contact_heat_models.h (100%) rename src/{GRANULAR => }/contact_normal_models.cpp (100%) rename src/{GRANULAR => }/contact_normal_models.h (100%) rename src/{GRANULAR => }/contact_rolling_models.cpp (100%) rename src/{GRANULAR => }/contact_rolling_models.h (100%) rename src/{GRANULAR => }/contact_sub_models.cpp (100%) rename src/{GRANULAR => }/contact_sub_models.h (100%) rename src/{GRANULAR => }/contact_tangential_models.cpp (100%) rename src/{GRANULAR => }/contact_tangential_models.h (100%) rename src/{GRANULAR => }/contact_twisting_models.cpp (100%) rename src/{GRANULAR => }/contact_twisting_models.h (100%) diff --git a/src/.gitignore b/src/.gitignore index 07230a10b4..7c2b502f67 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -1472,22 +1472,6 @@ /compute_xrd.cpp /compute_xrd.h /compute_xrd_consts.h -/contact.cpp -/contact.h -/contact_normal_models.cpp -/contact_normal_models.h -/contact_damping_models.cpp -/contact_damping_models.h -/contact_tangential_models.cpp -/contact_tangential_models.h -/contact_twisting_models.cpp -/contact_twisting_models.h -/contact_rolling_models.cpp -/contact_rolling_models.h -/contact_heat_models.cpp -/contact_heat_models.h -/contact_sub_models.cpp -/contact_sub_models.h /fix_atom_swap.cpp /fix_atom_swap.h /fix_ave_spatial_sphere.cpp @@ -1536,6 +1520,22 @@ /fix_ttm_grid.h /fix_ttm_mod.cpp /fix_ttm_mod.h +/granular_model.cpp +/granular_model.h +/gsm_normal.cpp +/gsm_normal.h +/gsm_damping.cpp +/gsm_damping.h +/gsm_tangential.cpp +/gsm_tangential.h +/gsm_twisting.cpp +/gsm_twisting.h +/gsm_rolling.cpp +/gsm_rolling.h +/gsm_heat.cpp +/gsm_heat.h +/gsm.cpp +/gsm.h /pair_born_coul_long_cs.cpp /pair_born_coul_long_cs.h /pair_born_coul_dsf_cs.cpp diff --git a/src/GRANULAR/fix_wall_gran.cpp b/src/GRANULAR/fix_wall_gran.cpp index 96fbaeefb5..31913c6061 100644 --- a/src/GRANULAR/fix_wall_gran.cpp +++ b/src/GRANULAR/fix_wall_gran.cpp @@ -20,14 +20,8 @@ #include "fix_wall_gran.h" #include "atom.h" -#include "contact.h" -#include "contact_sub_models.h" -#include "contact_normal_models.h" -#include "contact_tangential_models.h" -#include "contact_damping_models.h" -#include "contact_rolling_models.h" -#include "contact_twisting_models.h" -#include "contact_heat_models.h" +#include "granular_model.h" +#include "gsm.h" #include "domain.h" #include "error.h" #include "input.h" @@ -43,7 +37,7 @@ #include using namespace LAMMPS_NS; -using namespace Contact; +using namespace Granular_NS; using namespace FixConst; using namespace MathConst; using namespace MathExtra; @@ -70,7 +64,7 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : // set interaction style // disable bonded/history option for now - model = new ContactModel(lmp); + model = new GranularModel(lmp); model->contact_type = WALL; if (strcmp(arg[3],"granular") == 0) classic_flag = 0; @@ -94,45 +88,19 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : } else { iarg = 4; - model->init_model(std::string(arg[iarg++]), NORMAL); - iarg = model->normal_model->parse_coeffs(arg, iarg, narg); + iarg = model->init_submodel(arg, iarg, narg, NORMAL); while (iarg < narg) { if (strcmp(arg[iarg], "damping") == 0) { - iarg++; - if (iarg >= narg) - error->all(FLERR, "Illegal fix wall/gran command, must specify " - "damping model after damping keyword"); - model->init_model(std::string(arg[iarg++]), DAMPING); - iarg = model->damping_model->parse_coeffs(arg, iarg, narg); + iarg = model->init_submodel(arg, iarg + 1, narg, DAMPING); } else if (strcmp(arg[iarg], "tangential") == 0) { - iarg++; - if (iarg >= narg) - error->all(FLERR, "Illegal fix wall/gran command, must specify " - "tangential model after tangential keyword"); - model->init_model(std::string(arg[iarg++]), TANGENTIAL); - iarg = model->tangential_model->parse_coeffs(arg, iarg, narg); + iarg = model->init_submodel(arg, iarg + 1, narg, TANGENTIAL); } else if (strcmp(arg[iarg], "rolling") == 0) { - iarg++; - if (iarg >= narg) - error->all(FLERR, "Illegal fix wall/gran command, must specify " - "rolling model after rolling keyword"); - model->init_model(std::string(arg[iarg++]), ROLLING); - iarg = model->rolling_model->parse_coeffs(arg, iarg, narg); + iarg = model->init_submodel(arg, iarg + 1, narg, ROLLING); } else if (strcmp(arg[iarg], "twisting") == 0) { - iarg++; - if (iarg >= narg) - error->all(FLERR, "Illegal fix wall/gran command, must specify " - "twisting model after twisting keyword"); - model->init_model(std::string(arg[iarg++]), TWISTING); - iarg = model->twisting_model->parse_coeffs(arg, iarg, narg); + iarg = model->init_submodel(arg, iarg + 1, narg, TWISTING); } else if (strcmp(arg[iarg], "heat") == 0) { - iarg++; - if (iarg >= narg) - error->all(FLERR, "Illegal fix wall/gran command, must specify " - "heat model after heat keyword"); - model->init_model(std::string(arg[iarg++]), HEAT); - iarg = model->heat_model->parse_coeffs(arg, iarg, narg); + iarg = model->init_submodel(arg, iarg + 1, narg, HEAT); heat_flag = 1; } else if (strcmp(arg[iarg], "xplane") == 0 || strcmp(arg[iarg], "yplane") == 0 || @@ -151,14 +119,8 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : // Define default damping model if unspecified, takes no args if (!model->damping_model) - model->init_model("viscoelastic", DAMPING); - - //Dan original code didn't require tangential? - if (!model->tangential_model) error->all(FLERR, "No tangential?"); - - if (model->limit_damping && !model->normal_model->allow_limit_damping) - error->all(FLERR,"Illegal pair_coeff command, " - "Cannot limit damping with specified normal contact model"); + model->construct_submodel("viscoelastic", DAMPING); + if (!model->tangential_model) error->all(FLERR, "No tangential model specified"); model->init(); @@ -546,7 +508,7 @@ void FixWallGran::post_force(int /*vflag*/) for (j = 0; j < size_history; j++) history_one[i][j] = 0.0; continue; - } // Dan: I tried to simplify this logic, not sure it's 100% correct + } if (model->beyond_contact) history_one[i][0] = 1; @@ -564,7 +526,6 @@ void FixWallGran::post_force(int /*vflag*/) model->history_update = history_update; if (use_history) model->history = history_one[i]; if (heat_flag) model->Ti = temperature[i]; - model->prep_contact(); model->calculate_forces(); diff --git a/src/GRANULAR/fix_wall_gran.h b/src/GRANULAR/fix_wall_gran.h index fd4a0a0ec8..73c95becc4 100644 --- a/src/GRANULAR/fix_wall_gran.h +++ b/src/GRANULAR/fix_wall_gran.h @@ -20,7 +20,7 @@ FixStyle(wall/gran,FixWallGran); #ifndef LMP_FIX_WALL_GRAN_H #define LMP_FIX_WALL_GRAN_H -#include "contact.h" +#include "granular_model.h" #include "fix.h" namespace LAMMPS_NS { @@ -53,7 +53,7 @@ class FixWallGran : public Fix { bigint time_origin; // for granular model choices - Contact::ContactModel *model; + Granular_NS::GranularModel *model; double lo, hi, cylradius; double amplitude, period, omega, vshear; diff --git a/src/GRANULAR/fix_wall_gran_region.cpp b/src/GRANULAR/fix_wall_gran_region.cpp index 2f57d90ad6..ddafb316c0 100644 --- a/src/GRANULAR/fix_wall_gran_region.cpp +++ b/src/GRANULAR/fix_wall_gran_region.cpp @@ -18,7 +18,7 @@ #include "fix_wall_gran_region.h" #include "atom.h" -#include "contact.h" +#include "granular_model.h" #include "comm.h" #include "domain.h" #include "error.h" @@ -33,7 +33,7 @@ #include using namespace LAMMPS_NS; -using namespace Contact; +using namespace Granular_NS; using namespace FixConst; using namespace MathExtra; @@ -267,7 +267,6 @@ void FixWallGranRegion::post_force(int /*vflag*/) if (use_history) model->history = history_many[i][c2r[ic]]; if (heat_flag) model->Ti = temperature[i]; - model->prep_contact(); model->calculate_forces(); diff --git a/src/GRANULAR/granular_model.cpp b/src/GRANULAR/granular_model.cpp new file mode 100644 index 0000000000..b5987d222b --- /dev/null +++ b/src/GRANULAR/granular_model.cpp @@ -0,0 +1,498 @@ +// clang-format off +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + This class contains a series of tools for DEM contacts + Multiple models can be defined and used to calculate forces + and torques based on contact geometry + + Contributing authors: + Dan Bolintineanu (SNL), Joel Clemmer (SNL) +----------------------------------------------------------------------- */ + +#include "granular_model.h" +#include "gsm.h" +#include "gsm_normal.h" +#include "gsm_tangential.h" +#include "gsm_damping.h" +#include "gsm_rolling.h" +#include "gsm_twisting.h" +#include "gsm_heat.h" +#include "comm.h" +#include "error.h" +#include "force.h" +#include "math_extra.h" + +#include + +using namespace LAMMPS_NS; +using namespace Granular_NS; +using namespace MathExtra; + +GranularModel::GranularModel(LAMMPS *lmp) : Pointers(lmp) +{ + limit_damping = 0; + beyond_contact = 0; + nondefault_history_transfer = 0; + classic_model = 0; + contact_type = PAIR; + + normal_model = nullptr; + damping_model = nullptr; + tangential_model = nullptr; + rolling_model = nullptr; + twisting_model = nullptr; + heat_model = nullptr; + + for (int i = 0; i < NSUBMODELS; i++) sub_models[i] = nullptr; + transfer_history_factor = nullptr; +} + +/* ---------------------------------------------------------------------- */ + +GranularModel::~GranularModel() +{ + delete [] transfer_history_factor; + + delete normal_model; + delete damping_model; + delete tangential_model; + delete rolling_model; + delete twisting_model; + delete heat_model; +} + +/* ---------------------------------------------------------------------- */ + +int GranularModel::init_submodel(char **arg, int iarg, int narg, SubmodelType model_type) +{ + if (iarg >= narg) + error->all(FLERR, "Must specify granular submodel name"); + + std::string model_name = std::string(arg[iarg++]); + construct_submodel(model_name, model_type); + + int num_coeffs = sub_models[model_type]->num_coeffs; + if (iarg + num_coeffs > narg) + error->all(FLERR, "Insufficient arguments provided for {} model", model_name); + + for (int i = 0; i < num_coeffs; i++) { + // A few parameters (eg.g kt for tangential mindlin) allow null + if (strcmp(arg[iarg + i], "NULL") == 0) sub_models[model_type]->coeffs[i] = -1; + else sub_models[model_type]->coeffs[i] = utils::numeric(FLERR,arg[iarg + i],false,lmp); + } + sub_models[model_type]->coeffs_to_local(); + + return iarg + num_coeffs; +} + +/* ---------------------------------------------------------------------- */ + +void GranularModel::construct_submodel(std::string model_name, SubmodelType model_type) +{ +if (model_type == NORMAL) { + delete normal_model; + if (model_name == "none") normal_model = new GSMNormalNone(this, lmp); + else if (model_name == "hooke") normal_model = new GSMNormalHooke(this, lmp); + else if (model_name == "hertz") normal_model = new GSMNormalHertz(this, lmp); + else if (model_name == "hertz/material") normal_model = new GSMNormalHertzMaterial(this, lmp); + else if (model_name == "dmt") normal_model = new GSMNormalDMT(this, lmp); + else if (model_name == "jkr") normal_model = new GSMNormalJKR(this, lmp); + else error->all(FLERR, "Normal model name {} not recognized", model_name); + sub_models[model_type] = normal_model; + + } else if (model_type == TANGENTIAL) { + delete tangential_model; + if (model_name == "none") tangential_model = new GSMTangentialNone(this, lmp); + else if (model_name == "linear_nohistory") tangential_model = new GSMTangentialLinearNoHistory(this, lmp); + else if (model_name == "linear_history") tangential_model = new GSMTangentialLinearHistory(this, lmp); + else if (model_name == "linear_history_classic") tangential_model = new GSMTangentialLinearHistoryClassic(this, lmp); + else if (model_name == "mindlin") tangential_model = new GSMTangentialMindlin(this, lmp); + else if (model_name == "mindlin/force") tangential_model = new GSMTangentialMindlinForce(this, lmp); + else if (model_name == "mindlin_rescale") tangential_model = new GSMTangentialMindlinRescale(this, lmp); + else if (model_name == "mindlin_rescale/force") tangential_model = new GSMTangentialMindlinRescaleForce(this, lmp); + else error->all(FLERR, "Tangential model name {} not recognized", model_name); + sub_models[model_type] = tangential_model; + + } else if (model_type == DAMPING) { + delete damping_model; + if (model_name == "none") damping_model = new GSMDampingNone(this, lmp); + else if (model_name == "velocity") damping_model = new GSMDampingVelocity(this, lmp); + else if (model_name == "mass_velocity") damping_model = new GSMDampingMassVelocity(this, lmp); + else if (model_name == "viscoelastic") damping_model = new GSMDampingViscoelastic(this, lmp); + else if (model_name == "tsuji") damping_model = new GSMDampingTsuji(this, lmp); + else error->all(FLERR, "Damping model name {} not recognized", model_name); + sub_models[model_type] = damping_model; + + } else if (model_type == ROLLING) { + delete rolling_model; + rolling_defined = 1; + if (model_name == "none") { + rolling_model = new GSMRollingNone(this, lmp); + rolling_defined = 0; + } else if (model_name == "sds") rolling_model = new GSMRollingSDS(this, lmp); + else error->all(FLERR, "Rolling model name {} not recognized", model_name); + sub_models[model_type] = rolling_model; + + } else if (model_type == TWISTING) { + delete twisting_model; + twisting_defined = 1; + if (model_name == "none") { + twisting_model = new GSMTwistingNone(this, lmp); + twisting_defined = 0; + } else if (model_name == "sds") twisting_model = new GSMTwistingSDS(this, lmp); + else if (model_name == "marshall") twisting_model = new GSMTwistingMarshall(this, lmp); + else error->all(FLERR, "Twisting model name {} not recognized", model_name); + sub_models[model_type] = twisting_model; + + } else if (model_type == HEAT) { + delete heat_model; + heat_defined = 1; + if (model_name == "none") { + heat_model = new GSMHeatNone(this, lmp); + heat_defined = 0; + } else if (model_name == "area") heat_model = new GSMHeatArea(this, lmp); + else error->all(FLERR, "Heat model name not {} recognized", model_name); + sub_models[model_type] = heat_model; + } else { + error->all(FLERR, "Illegal model type {}", model_type); + } + + sub_models[model_type]->name.assign(model_name); +} + +/* ---------------------------------------------------------------------- */ + +int GranularModel::init_classic_model(char **arg, int iarg, int narg) +{ + double kn, kt, gamman, gammat, xmu; + + classic_model = 1; + + if (iarg + 6 >= narg) + error->all(FLERR,"Insufficient arguments provided for classic gran model command"); + + kn = utils::numeric(FLERR,arg[iarg + 1],false,lmp); + if (strcmp(arg[iarg + 2],"NULL") == 0) kt = kn * 2.0 / 7.0; + else kt = utils::numeric(FLERR,arg[iarg + 2],false,lmp); + + gamman = utils::numeric(FLERR,arg[iarg + 3],false,lmp); + if (strcmp(arg[iarg + 4],"NULL") == 0) gammat = 0.5 * gamman; + else gammat = utils::numeric(FLERR,arg[iarg + 4],false,lmp); + + xmu = utils::numeric(FLERR,arg[iarg + 5],false,lmp); + int dampflag = utils::inumeric(FLERR,arg[iarg + 6],false,lmp); + if (dampflag == 0) gammat = 0.0; + + if (kn < 0.0 || kt < 0.0 || gamman < 0.0 || gammat < 0.0 || + xmu < 0.0 || xmu > 10000.0 || dampflag < 0 || dampflag > 1) + error->all(FLERR,"Illegal classic gran model command"); + + if (strcmp(arg[iarg],"hooke") == 0) { + construct_submodel("hooke", NORMAL); + construct_submodel("linear_nohistory", TANGENTIAL); + construct_submodel("mass_velocity", DAMPING); + } else if (strcmp(arg[iarg],"hooke/history") == 0) { + construct_submodel("hooke", NORMAL); + construct_submodel("linear_history_classic", TANGENTIAL); + construct_submodel("mass_velocity", DAMPING); + } else if (strcmp(arg[iarg],"hertz/history") == 0) { + // convert Kn and Kt from pressure units to force/distance^2 if Hertzian + kn /= force->nktv2p; + kt /= force->nktv2p; + construct_submodel("hertz", NORMAL); + construct_submodel("mindlin", TANGENTIAL); + construct_submodel("viscoelastic", DAMPING); + } else error->all(FLERR,"Invalid classic gran model"); + + // ensure additional models are undefined + construct_submodel("none", ROLLING); + construct_submodel("none", TWISTING); + construct_submodel("none", HEAT); + + // manually parse coeffs + normal_model->coeffs[0] = kn; + normal_model->coeffs[1] = gamman; + tangential_model->coeffs[0] = kt; + tangential_model->coeffs[1] = gammat / gamman; + tangential_model->coeffs[2] = xmu; + + normal_model->coeffs_to_local(); + tangential_model->coeffs_to_local(); + damping_model->coeffs_to_local(); + + iarg += 7; + return iarg; +} + +/* ---------------------------------------------------------------------- */ + +void GranularModel::init() +{ + int i, j; + for (i = 0; i < NSUBMODELS; i++) + if (!sub_models[i]) construct_submodel("none", (SubmodelType) i); + + // Must have valid normal, damping, and tangential models + if (normal_model->name == "none") error->all(FLERR, "Must specify normal granular model"); + if (damping_model->name == "none") error->all(FLERR, "Must specify damping granular model"); + if (tangential_model->name == "none") error->all(FLERR, "Must specify tangential granular model"); + + int size_cumulative; + size_history = 0; + for (i = 0; i < NSUBMODELS; i++) { + if (sub_models[i]->nondefault_history_transfer) + nondefault_history_transfer = 1; + if (sub_models[i]->beyond_contact) + beyond_contact = 1; + size_history += sub_models[i]->size_history; + if (limit_damping && (!sub_models[i]->allow_limit_damping)) + error->all(FLERR,"Cannot limit damping with {} model", sub_models[i]->name); + } + + if (nondefault_history_transfer) { + transfer_history_factor = new double[size_history]; + + for (i = 0; i < size_history; i++) { + // Find which model owns this history value + size_cumulative = 0; + for (j = 0; j < NSUBMODELS; j++) { + if (size_cumulative + sub_models[j]->size_history > i) break; + size_cumulative += sub_models[j]->size_history; + } + + // Check if model has nondefault transfers, if so copy its array + transfer_history_factor[i] = -1; + if (j != NSUBMODELS) { + if (sub_models[j]->nondefault_history_transfer) { + transfer_history_factor[i] = sub_models[j]->transfer_history_factor[i - size_cumulative]; + } + } + } + } + + for (i = 0; i < NSUBMODELS; i++) sub_models[i]->init(); +} + +/* ---------------------------------------------------------------------- */ + +int GranularModel::mix_coeffs(GranularModel *g1, GranularModel *g2) +{ + int i; + for (i = 0; i < NSUBMODELS; i++) { + if (g1->sub_models[i]->name != g2->sub_models[i]->name) return i; + + construct_submodel(g1->sub_models[i]->name, (SubmodelType) i); + sub_models[i]->mix_coeffs(g1->sub_models[i]->coeffs, g2->sub_models[i]->coeffs); + } + + limit_damping = MAX(g1->limit_damping, g2->limit_damping); + + return -1; +} + +/* ---------------------------------------------------------------------- */ + +void GranularModel::write_restart(FILE *fp) +{ + int num_char, num_coeffs; + + for (int i = 0; i < NSUBMODELS; i++) { + num_char = sub_models[i]->name.length(); + num_coeffs = sub_models[i]->num_coeffs; + fwrite(&num_char, sizeof(int), 1, fp); + fwrite(sub_models[i]->name.data(), sizeof(char), num_char, fp); + fwrite(&num_coeffs, sizeof(int), 1, fp); + fwrite(sub_models[i]->coeffs, sizeof(double), num_coeffs, fp); + } +} + +/* ---------------------------------------------------------------------- */ + +void GranularModel::read_restart(FILE *fp) +{ + int num_char, num_coeff; + + for (int i = 0; i < NSUBMODELS; i++) { + if (comm->me == 0) + utils::sfread(FLERR, &num_char, sizeof(int), 1, fp, nullptr, error); + MPI_Bcast(&num_char, 1, MPI_INT, 0, world); + + std::string model_name (num_char, ' '); + if (comm->me == 0) + utils::sfread(FLERR, const_cast(model_name.data()), sizeof(char),num_char, fp, nullptr, error); + MPI_Bcast(const_cast(model_name.data()), num_char, MPI_CHAR, 0, world); + + construct_submodel(model_name, (SubmodelType) i); + + if (comm->me == 0) { + utils::sfread(FLERR, &num_coeff, sizeof(int), 1, fp, nullptr, error); + if (num_coeff != sub_models[i]->num_coeffs) + error->one(FLERR, "Invalid granular model written to restart file"); + } + MPI_Bcast(&num_coeff, 1, MPI_INT, 0, world); + + if (comm->me == 0) { + utils::sfread(FLERR, sub_models[i]->coeffs, sizeof(double), num_coeff, fp, nullptr, error); + } + MPI_Bcast(sub_models[i]->coeffs, num_coeff, MPI_DOUBLE, 0, world); + sub_models[i]->coeffs_to_local(); + } +} + +/* ---------------------------------------------------------------------- */ + +bool GranularModel::check_contact() +{ + if (contact_type == WALL) { + // Used by fix_wall_gran.cpp + // radj = radius of wall + // dx already provided + rsq = lensq3(dx); + radsum = radi; + if (radj == 0) Reff = radi; + else Reff = radi * radj / (radi + radj); + } else if (contact_type == WALLREGION) { + // Used by fix_wall_gran_region.cpp + // radj = radius of wall + // dx and r already provided + rsq = r * r; + radsum = radi; + if (radj == 0) Reff = radi; + else Reff = radi * radj / (radi + radj); + } else { + sub3(xi, xj, dx); + rsq = lensq3(dx); + radsum = radi + radj; + Reff = radi * radj / radsum; + } + + touch = normal_model->touch(); + return touch; +} + +/* ---------------------------------------------------------------------- */ + +void GranularModel::calculate_forces() +{ + double temp[3]; + + // Standard geometric quantities + if (contact_type != WALLREGION) r = sqrt(rsq); + rinv = 1.0 / r; + delta = radsum - r; + dR = delta * Reff; + scale3(rinv, dx, nx); + + // relative translational velocity + sub3(vi, vj, vr); + + // normal component + vnnr = dot3(vr, nx); //v_R . n + scale3(vnnr, nx, vn); + + // tangential component + sub3(vr, vn, vt); + + // relative rotational velocity + scaleadd3(radi, omegai, radj, omegaj, wr); + + // relative tangential velocities + cross3(wr, nx, temp); + sub3(vt, temp, vtr); + vrel = len3(vtr); + + if (rolling_defined || twisting_defined) + sub3(omegai, omegaj, relrot); + + if (rolling_defined) { + // rolling velocity, see eq. 31 of Wang et al, Particuology v 23, p 49 (2015) + // this is different from the Marshall papers, which use the Bagi/Kuhn formulation + // for rolling velocity (see Wang et al for why the latter is wrong) + vrl[0] = Reff * (relrot[1] * nx[2] - relrot[2] * nx[1]); + vrl[1] = Reff * (relrot[2] * nx[0] - relrot[0] * nx[2]); + vrl[2] = Reff * (relrot[0] * nx[1] - relrot[1] * nx[0]); + } + + if (twisting_defined) { + // omega_T (eq 29 of Marshall) + magtwist = dot3(relrot, nx); + } + + // calculate forces/torques + + forces[0] = 0.0; + double Fne, Fdamp, dist_to_contact; + area = normal_model->calculate_area(); + normal_model->set_knfac(); + Fne = normal_model->calculate_forces(); + + Fdamp = damping_model->calculate_forces(); + Fntot = Fne + Fdamp; + if (limit_damping && Fntot < 0.0) Fntot = 0.0; + + normal_model->set_fncrit(); // Needed for tangential, rolling, twisting + tangential_model->calculate_forces(); + if (rolling_defined) rolling_model->calculate_forces(); + if (twisting_defined) twisting_model->calculate_forces(); + + // sum contributions + + scale3(Fntot, nx, forces); + add3(forces, fs, forces); + + //May need to rethink eventually tris.. + cross3(nx, fs, torquesi); + scale3(-1, torquesi); + if (contact_type == PAIR) copy3(torquesi, torquesj); + + if (!classic_model && contact_type == PAIR) { + dist_to_contact = radi - 0.5 * delta; + scale3(dist_to_contact, torquesi); + dist_to_contact = radj - 0.5 * delta; + scale3(dist_to_contact, torquesj); + } else { + dist_to_contact = radi; + scale3(dist_to_contact, torquesi); + } + + double torroll[3]; + if (rolling_defined) { + cross3(nx, fr, torroll); + scale3(Reff, torroll); + add3(torquesi, torroll, torquesi); + if (contact_type == PAIR) sub3(torquesj, torroll, torquesj); + } + + double tortwist[3]; + if (twisting_defined) { + scale3(magtortwist, nx, tortwist); + add3(torquesi, tortwist, torquesi); + if (contact_type == PAIR) sub3(torquesj, tortwist, torquesj); + } + + if (heat_defined) { + dq = heat_model->calculate_heat(); + } +} + +/* ---------------------------------------------------------------------- + compute pull-off distance (beyond contact) for a given radius and atom type + use temporary variables since this does not use a specific contact geometry +------------------------------------------------------------------------- */ + +double GranularModel::pulloff_distance(double radi, double radj) +{ + return normal_model->pulloff_distance(radi, radj); +} diff --git a/src/GRANULAR/granular_model.h b/src/GRANULAR/granular_model.h new file mode 100644 index 0000000000..cc94f49a1e --- /dev/null +++ b/src/GRANULAR/granular_model.h @@ -0,0 +1,107 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifndef LMP_GRANULAR_MODEL_H +#define LMP_GRANULAR_MODEL_H + +#include "pointers.h" // IWYU pragma: export + +namespace LAMMPS_NS { +namespace Granular_NS { + +#define EPSILON 1e-10 +#define NSUBMODELS 6 + +enum SubmodelType { + NORMAL = 0, + DAMPING = 1, + TANGENTIAL = 2, + ROLLING = 3, + TWISTING = 4, + HEAT = 5 +}; // Relative order matters since some derive coeffs from others + +enum ContactType { + PAIR = 0, + WALL = 1, + WALLREGION = 2 +}; + +// forward declaration +class GSM; +class GSMNormal; +class GSMDamping; +class GSMTangential; +class GSMRolling; +class GSMTwisting; +class GSMHeat; + +class GranularModel : protected Pointers { + public: + GranularModel(class LAMMPS *); + ~GranularModel(); + void init(); + bool check_contact(); + void calculate_forces(); + double pulloff_distance(double, double); + + int init_submodel(char **, int, int, SubmodelType); + int init_classic_model(char **, int, int); + void construct_submodel(std::string, SubmodelType); + int mix_coeffs(GranularModel*, GranularModel*); + + void write_restart(FILE *); + void read_restart(FILE *); + + // Sub models + GSMNormal *normal_model; + GSMDamping *damping_model; + GSMTangential *tangential_model; + GSMRolling *rolling_model; + GSMTwisting *twisting_model; + GSMHeat *heat_model; + GSM *sub_models[NSUBMODELS]; // Need to resize if we add more model flavors + + // Extra options + int beyond_contact, limit_damping, history_update; + ContactType contact_type; + + // History variables + int size_history, nondefault_history_transfer; + double *transfer_history_factor; + double *history; + + // Contact properties/output + double forces[3], torquesi[3], torquesj[3], dq; + + double radi, radj, meff, dt, Ti, Tj, area; + double Fntot, magtortwist; + + int i, j; + double *xi, *xj, *vi, *vj, *omegai, *omegaj; + double fs[3], fr[3], ft[3]; + + double dx[3], nx[3], r, rsq, rinv, Reff, radsum, delta, dR; + double vr[3], vn[3], vnnr, vt[3], wr[3], vtr[3], vrl[3], relrot[3], vrel; + double magtwist; + bool touch; + + protected: + int rolling_defined, twisting_defined, heat_defined; // Used to quickly skip undefined submodels + int classic_model; +}; + +} // namespace Granular_NS +} // namespace LAMMPS_NS + +#endif diff --git a/src/GRANULAR/gsm.cpp b/src/GRANULAR/gsm.cpp new file mode 100644 index 0000000000..17b816ad21 --- /dev/null +++ b/src/GRANULAR/gsm.cpp @@ -0,0 +1,127 @@ +// clang-format off +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +-------------------------------------------------------------------------*/ + +/* ---------------------------------------------------------------------- + This class contains a framework for granular submodels (GSM) including: + normal, damping, tangential, rolling, twisting, and heat + These are used to calculate forces/torques/etc based on contact geometry + + Contributing authors: + Dan Bolintineanu (SNL), Joel Clemmer (SNL) +----------------------------------------------------------------------- */ + +#include "gsm.h" +#include "error.h" +#include "utils.h" + +using namespace LAMMPS_NS; +using namespace Granular_NS; + +/* ---------------------------------------------------------------------- + Parent class for all types of granular submodels +------------------------------------------------------------------------- */ + +GSM::GSM(class GranularModel *gm, LAMMPS *lmp) : Pointers(lmp) +{ + this->gm = gm; + + allocated = 0; + size_history = 0; + history_index = 0; + allow_limit_damping = 1; + beyond_contact = 0; + num_coeffs = 0; + + nondefault_history_transfer = 0; + transfer_history_factor = nullptr; + allocate_coeffs(); +} + +/* ---------------------------------------------------------------------- */ + +GSM::~GSM() +{ + if (allocated) delete [] coeffs; + delete [] transfer_history_factor; +} + +/* ---------------------------------------------------------------------- */ + +void GSM::allocate_coeffs() +{ + allocated = 1; + coeffs = new double[num_coeffs]; +} + +/* ---------------------------------------------------------------------- */ + +void GSM::mix_coeffs(double* icoeffs, double* jcoeffs) +{ + for (int i = 0; i < num_coeffs; i++) + coeffs[i] = mix_geom(icoeffs[i], jcoeffs[i]); + coeffs_to_local(); +} + +/* ---------------------------------------------------------------------- + mixing of Young's modulus (E) +------------------------------------------------------------------------- */ + +double GSM::mix_stiffnessE(double E1, double E2, + double pois1, double pois2) +{ + double factor1 = (1 - pois1 * pois1) / E1; + double factor2 = (1 - pois2 * pois2) / E2; + return 1 / (factor1 + factor2); +} + +/* ---------------------------------------------------------------------- + mixing of shear modulus (G) +------------------------------------------------------------------------ */ + +double GSM::mix_stiffnessG(double E1, double E2, + double pois1, double pois2) +{ + double factor1 = 2 * (2 - pois1) * (1 + pois1) / E1; + double factor2 = 2 * (2 - pois2) * (1 + pois2) / E2; + return 1 / (factor1 + factor2); +} + +/* ---------------------------------------------------------------------- + mixing of Young's modulus (E) for walls +------------------------------------------------------------------------- */ + +double GSM::mix_stiffnessE_wall(double E, double pois) +{ + double factor = 2 * (1 - pois); + return E / factor; +} + +/* ---------------------------------------------------------------------- + mixing of shear modulus (G) for walls +------------------------------------------------------------------------ */ + +double GSM::mix_stiffnessG_wall(double E, double pois) +{ + double factor = 32.0 * (2 - pois) * (1 + pois); + return E / factor; +} + +/* ---------------------------------------------------------------------- + mixing of everything else +------------------------------------------------------------------------- */ + +double GSM::mix_geom(double val1, double val2) +{ + return sqrt(val1 * val2); +} diff --git a/src/GRANULAR/gsm.h b/src/GRANULAR/gsm.h new file mode 100644 index 0000000000..b2df6bef2b --- /dev/null +++ b/src/GRANULAR/gsm.h @@ -0,0 +1,61 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifndef LMP_GSM_H_ +#define LMP_GSM_H_ + +#include "granular_model.h" +#include "pointers.h" // IWYU pragma: export + +namespace LAMMPS_NS { +namespace Granular_NS { + +class GSM : protected Pointers { + public: + GSM(class GranularModel *, class LAMMPS *); + virtual ~GSM(); + + int num_coeffs; + double *coeffs; + void read_restart(); + virtual void mix_coeffs(double*, double*); + virtual void coeffs_to_local() = 0; + virtual void init() = 0; // called after all submodel coeffs defined + + void allocate_coeffs(); + std::string name; + + int size_history; + int nondefault_history_transfer; + double *transfer_history_factor; + + int history_index; + int beyond_contact; + int allow_limit_damping; + + GranularModel *gm; + + protected: + int allocated; + + double mix_stiffnessE(double, double, double, double); + double mix_stiffnessG(double, double, double, double); + double mix_stiffnessE_wall(double, double); + double mix_stiffnessG_wall(double, double); + double mix_geom(double, double); +}; + +} // namespace GranularModel +} // namespace LAMMPS_NS + +#endif /* GSM_H_ */ diff --git a/src/GRANULAR/gsm_damping.cpp b/src/GRANULAR/gsm_damping.cpp new file mode 100644 index 0000000000..9b51651f30 --- /dev/null +++ b/src/GRANULAR/gsm_damping.cpp @@ -0,0 +1,113 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "gsm_damping.h" +#include "gsm_normal.h" +#include "granular_model.h" +#include "math_special.h" + +using namespace LAMMPS_NS; +using namespace Granular_NS; +using namespace MathSpecial; + +/* ---------------------------------------------------------------------- + Default damping model +------------------------------------------------------------------------- */ + +GSMDamping::GSMDamping(GranularModel *gm, LAMMPS *lmp) : GSM(gm, lmp) {} + +/* ---------------------------------------------------------------------- */ + +void GSMDamping::init() +{ + damp = gm->normal_model->damp; +} + +/* ---------------------------------------------------------------------- + No model +------------------------------------------------------------------------- */ + +GSMDampingNone::GSMDampingNone(GranularModel *gm, LAMMPS *lmp) : GSMDamping(gm, lmp) {} + +/* ---------------------------------------------------------------------- */ + +double GSMDampingNone::calculate_forces() +{ + return 0.0; +} + +/* ---------------------------------------------------------------------- + Velocity damping +------------------------------------------------------------------------- */ + +GSMDampingVelocity::GSMDampingVelocity(GranularModel *gm, LAMMPS *lmp) : GSMDamping(gm, lmp) {} + +/* ---------------------------------------------------------------------- */ + +double GSMDampingVelocity::calculate_forces() +{ + damp_prefactor = damp; + return -damp_prefactor * gm->vnnr; +} + +/* ---------------------------------------------------------------------- + Mass velocity damping +------------------------------------------------------------------------- */ + +GSMDampingMassVelocity::GSMDampingMassVelocity(GranularModel *gm, LAMMPS *lmp) : GSMDamping(gm, lmp) {} + +/* ---------------------------------------------------------------------- */ + +double GSMDampingMassVelocity::calculate_forces() +{ + damp_prefactor = damp * gm->meff; + return -damp_prefactor * gm->vnnr; +} + +/* ---------------------------------------------------------------------- + Default, viscoelastic damping +------------------------------------------------------------------------- */ + +GSMDampingViscoelastic::GSMDampingViscoelastic(GranularModel *gm, LAMMPS *lmp) : GSMDamping(gm, lmp) {} + +/* ---------------------------------------------------------------------- */ + +double GSMDampingViscoelastic::calculate_forces() +{ + damp_prefactor = damp * gm->meff * gm->area; + return -damp_prefactor * gm->vnnr; +} + +/* ---------------------------------------------------------------------- + Tsuji damping +------------------------------------------------------------------------- */ + +GSMDampingTsuji::GSMDampingTsuji(GranularModel *gm, LAMMPS *lmp) : GSMDamping(gm, lmp) {} + +/* ---------------------------------------------------------------------- */ + +void GSMDampingTsuji::init() +{ + double tmp = gm->normal_model->damp; + damp = 1.2728 - 4.2783 * tmp + 11.087 * square(tmp); + damp += -22.348 * cube(tmp)+ 27.467 * powint(tmp, 4); + damp += -18.022 * powint(tmp, 5) + 4.8218 * powint(tmp,6); +} + +/* ---------------------------------------------------------------------- */ + +double GSMDampingTsuji::calculate_forces() +{ + damp_prefactor = damp * sqrt(gm->meff * gm->normal_model->knfac); + return -damp_prefactor * gm->vnnr; +} diff --git a/src/GRANULAR/gsm_damping.h b/src/GRANULAR/gsm_damping.h new file mode 100644 index 0000000000..ab12cbc2d3 --- /dev/null +++ b/src/GRANULAR/gsm_damping.h @@ -0,0 +1,79 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifndef GSM_DAMPING_H_ +#define GSM_DAMPING_H_ + +#include "gsm.h" +#include "pointers.h" + +namespace LAMMPS_NS { +namespace Granular_NS { + +class GSMDamping : public GSM { + public: + GSMDamping(class GranularModel *, class LAMMPS *); + ~GSMDamping() {}; + virtual void coeffs_to_local() {}; + virtual void mix_coeffs(double*, double*) {}; + virtual void init(); + virtual double calculate_forces() = 0; + double damp, damp_prefactor; +}; + +/* ---------------------------------------------------------------------- */ + +class GSMDampingNone : public GSMDamping { + public: + GSMDampingNone(class GranularModel *, class LAMMPS *); + void init() override {}; + double calculate_forces(); +}; + +/* ---------------------------------------------------------------------- */ + +class GSMDampingVelocity : public GSMDamping { + public: + GSMDampingVelocity(class GranularModel *, class LAMMPS *); + double calculate_forces(); +}; + +/* ---------------------------------------------------------------------- */ + +class GSMDampingMassVelocity : public GSMDamping { + public: + GSMDampingMassVelocity(class GranularModel *, class LAMMPS *); + double calculate_forces(); +}; + +/* ---------------------------------------------------------------------- */ + +class GSMDampingViscoelastic : public GSMDamping { + public: + GSMDampingViscoelastic(class GranularModel *, class LAMMPS *); + double calculate_forces(); +}; + +/* ---------------------------------------------------------------------- */ + +class GSMDampingTsuji : public GSMDamping { + public: + GSMDampingTsuji(class GranularModel *, class LAMMPS *); + void init() override; + double calculate_forces(); +}; + +} // namespace Granular_NS +} // namespace LAMMPS_NS + +#endif /*GSM_DAMPING_H_ */ diff --git a/src/GRANULAR/gsm_heat.cpp b/src/GRANULAR/gsm_heat.cpp new file mode 100644 index 0000000000..449df5520b --- /dev/null +++ b/src/GRANULAR/gsm_heat.cpp @@ -0,0 +1,63 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "gsm_heat.h" +#include "granular_model.h" +#include "error.h" + +using namespace LAMMPS_NS; +using namespace Granular_NS; + +/* ---------------------------------------------------------------------- + Default heat conduction +------------------------------------------------------------------------- */ + +GSMHeat::GSMHeat(GranularModel *gm, LAMMPS *lmp) : GSM(gm, lmp) {} + +/* ---------------------------------------------------------------------- + Area-based heat conduction +------------------------------------------------------------------------- */ + +GSMHeatNone::GSMHeatNone(GranularModel *gm, LAMMPS *lmp) : GSMHeat(gm, lmp) {} + +/* ---------------------------------------------------------------------- */ + +double GSMHeatNone::calculate_heat() +{ + return 0.0; +} + +/* ---------------------------------------------------------------------- + Area-based heat conduction +------------------------------------------------------------------------- */ + +GSMHeatArea::GSMHeatArea(GranularModel *gm, LAMMPS *lmp) : GSMHeat(gm, lmp) +{ + num_coeffs = 1; +} + +/* ---------------------------------------------------------------------- */ + +void GSMHeatArea::coeffs_to_local() +{ + conductivity = coeffs[0]; + + if (conductivity < 0.0) error->all(FLERR, "Illegal area heat model"); +} + +/* ---------------------------------------------------------------------- */ + +double GSMHeatArea::calculate_heat() +{ + return conductivity * gm->area * (gm->Tj - gm->Ti); +} diff --git a/src/GRANULAR/gsm_heat.h b/src/GRANULAR/gsm_heat.h new file mode 100644 index 0000000000..f397d555b6 --- /dev/null +++ b/src/GRANULAR/gsm_heat.h @@ -0,0 +1,53 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifndef GSM_HEAT_H_ +#define GSM_HEAT_H_ + +#include "gsm.h" + +namespace LAMMPS_NS { +namespace Granular_NS { + +class GSMHeat : public GSM { + public: + GSMHeat(class GranularModel *, class LAMMPS *); + ~GSMHeat() {}; + virtual void coeffs_to_local() {}; + virtual void init() {}; + virtual double calculate_heat() = 0; +}; + +/* ---------------------------------------------------------------------- */ + +class GSMHeatNone : public GSMHeat { + public: + GSMHeatNone(class GranularModel *, class LAMMPS *); + double calculate_heat(); +}; + +/* ---------------------------------------------------------------------- */ + +class GSMHeatArea : public GSMHeat { + public: + GSMHeatArea(class GranularModel *, class LAMMPS *); + void coeffs_to_local() override; + double calculate_heat(); + protected: + double conductivity; +}; + +} // namespace Granular_NS +} // namespace LAMMPS_NS + +#endif /*GSM_HEAT_H_ */ diff --git a/src/GRANULAR/gsm_normal.cpp b/src/GRANULAR/gsm_normal.cpp new file mode 100644 index 0000000000..2b029ece6a --- /dev/null +++ b/src/GRANULAR/gsm_normal.cpp @@ -0,0 +1,377 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "gsm_normal.h" +#include "granular_model.h" +#include "error.h" +#include "math_const.h" + +using namespace LAMMPS_NS; +using namespace Granular_NS; +using namespace MathConst; + +#define PI27SQ 266.47931882941264802866 // 27*PI**2 +#define THREEROOT3 5.19615242270663202362 // 3*sqrt(3) +#define SIXROOT6 14.69693845669906728801 // 6*sqrt(6) +#define INVROOT6 0.40824829046386307274 // 1/sqrt(6) +#define FOURTHIRDS (4.0/3.0) // 4/3 +#define ONETHIRD (1.0/3.0) // 1/3 +#define THREEQUARTERS 0.75 // 3/4 + +/* ---------------------------------------------------------------------- + Default normal model +------------------------------------------------------------------------- */ + +GSMNormal::GSMNormal(GranularModel *gm, LAMMPS *lmp) : GSM(gm, lmp) +{ + material_properties = 0; +} + +/* ---------------------------------------------------------------------- */ + +bool GSMNormal::touch() +{ + bool touchflag = (gm->rsq < gm->radsum * gm->radsum); + return touchflag; +} + +/* ---------------------------------------------------------------------- */ + +double GSMNormal::pulloff_distance(double radi, double radj) +{ + //called outside of compute(), do not assume correct geometry defined in contact + return radi + radj; +} + +/* ---------------------------------------------------------------------- */ + +double GSMNormal::calculate_area() +{ + return sqrt(gm->dR); +} + +/* ---------------------------------------------------------------------- */ + +void GSMNormal::set_fncrit() +{ + Fncrit = fabs(gm->Fntot); +} + +/* ---------------------------------------------------------------------- + No model +------------------------------------------------------------------------- */ + +GSMNormalNone::GSMNormalNone(GranularModel *gm, LAMMPS *lmp) : GSMNormal(gm, lmp) {} + +/* ---------------------------------------------------------------------- */ + +double GSMNormalNone::calculate_forces() +{ + return 0.0; +} + +/* ---------------------------------------------------------------------- + Hookean normal force +------------------------------------------------------------------------- */ + +GSMNormalHooke::GSMNormalHooke(GranularModel *gm, LAMMPS *lmp) : GSMNormal(gm, lmp) +{ + num_coeffs = 2; +} + +/* ---------------------------------------------------------------------- */ + +void GSMNormalHooke::coeffs_to_local() +{ + k = coeffs[0]; + damp = coeffs[1]; + + if (k < 0.0 || damp < 0.0) error->all(FLERR, "Illegal Hooke normal model"); +} + +/* ---------------------------------------------------------------------- */ + +double GSMNormalHooke::calculate_forces() +{ + Fne = knfac * gm->delta; + return Fne; +} + +/* ---------------------------------------------------------------------- */ + +void GSMNormalHooke::set_knfac() +{ + knfac = k; +} + +/* ---------------------------------------------------------------------- + Hertzian normal force +------------------------------------------------------------------------- */ + +GSMNormalHertz::GSMNormalHertz(GranularModel *gm, LAMMPS *lmp) : GSMNormal(gm, lmp) +{ + num_coeffs = 2; +} + +/* ---------------------------------------------------------------------- */ + +void GSMNormalHertz::coeffs_to_local() +{ + k = coeffs[0]; + damp = coeffs[1]; + + if (k < 0.0 || damp < 0.0) error->all(FLERR, "Illegal Hertz normal model"); +} + +/* ---------------------------------------------------------------------- */ + +double GSMNormalHertz::calculate_forces() +{ + Fne = knfac * gm->delta; + return Fne; +} + +/* ---------------------------------------------------------------------- */ + +void GSMNormalHertz::set_knfac() +{ + knfac = k * gm->area; +} + +/* ---------------------------------------------------------------------- + Hertzian normal force with material properties +------------------------------------------------------------------------- */ + +GSMNormalHertzMaterial::GSMNormalHertzMaterial(GranularModel *gm, LAMMPS *lmp) : GSMNormalHertz(gm, lmp) +{ + material_properties = 1; + num_coeffs = 3; +} + +/* ---------------------------------------------------------------------- */ + +void GSMNormalHertzMaterial::coeffs_to_local() +{ + Emod = coeffs[0]; + damp = coeffs[1]; + poiss = coeffs[2]; + if (gm->contact_type == PAIR) { + k = FOURTHIRDS * mix_stiffnessE(Emod, Emod, poiss, poiss); + } else { + k = FOURTHIRDS * mix_stiffnessE_wall(Emod, poiss); + } + + if (Emod < 0.0 || damp < 0.0) error->all(FLERR, "Illegal Hertz material normal model"); +} + +/* ---------------------------------------------------------------------- */ + +void GSMNormalHertzMaterial::mix_coeffs(double* icoeffs, double* jcoeffs) +{ + coeffs[0] = mix_stiffnessE(icoeffs[0], jcoeffs[0],icoeffs[2], jcoeffs[2]); + coeffs[1] = mix_geom(icoeffs[1], jcoeffs[1]); + coeffs[2] = mix_geom(icoeffs[2], jcoeffs[2]); + coeffs_to_local(); +} + +/* ---------------------------------------------------------------------- + DMT normal force +------------------------------------------------------------------------- */ + +GSMNormalDMT::GSMNormalDMT(GranularModel *gm, LAMMPS *lmp) : GSMNormal(gm, lmp) +{ + allow_limit_damping = 0; + material_properties = 1; + num_coeffs = 4; +} + +/* ---------------------------------------------------------------------- */ + +void GSMNormalDMT::coeffs_to_local() +{ + Emod = coeffs[0]; + damp = coeffs[1]; + poiss = coeffs[2]; + cohesion = coeffs[3]; + if (gm->contact_type == PAIR) { + k = FOURTHIRDS * mix_stiffnessE(Emod, Emod, poiss, poiss); + } else { + k = FOURTHIRDS * mix_stiffnessE_wall(Emod, poiss); + } + + if (Emod < 0.0 || damp < 0.0) error->all(FLERR, "Illegal DMT normal model"); +} + +/* ---------------------------------------------------------------------- */ + +void GSMNormalDMT::mix_coeffs(double* icoeffs, double* jcoeffs) +{ + coeffs[0] = mix_stiffnessE(icoeffs[0], jcoeffs[0],icoeffs[2], jcoeffs[2]); + coeffs[1] = mix_geom(icoeffs[1], jcoeffs[1]); + coeffs[2] = mix_geom(icoeffs[2], jcoeffs[2]); + coeffs[3] = mix_geom(icoeffs[3], jcoeffs[3]); + coeffs_to_local(); +} + +/* ---------------------------------------------------------------------- */ + +double GSMNormalDMT::calculate_forces() +{ + Fne = knfac * gm->delta; + F_pulloff = 4.0 * MathConst::MY_PI * cohesion * gm->Reff; + Fne -= F_pulloff; + return Fne; +} + +/* ---------------------------------------------------------------------- */ + +void GSMNormalDMT::set_knfac() +{ + knfac = k * gm->area; +} + +/* ---------------------------------------------------------------------- */ + +void GSMNormalDMT::set_fncrit() +{ + Fncrit = fabs(Fne + 2.0 * F_pulloff); +} + +/* ---------------------------------------------------------------------- + JKR normal force +------------------------------------------------------------------------- */ + +GSMNormalJKR::GSMNormalJKR(GranularModel *gm, LAMMPS *lmp) : GSMNormal(gm, lmp) +{ + allow_limit_damping = 0; + material_properties = 1; + beyond_contact = 1; + num_coeffs = 4; +} + +/* ---------------------------------------------------------------------- */ + +void GSMNormalJKR::coeffs_to_local() +{ + Emod = coeffs[0]; + damp = coeffs[1]; + poiss = coeffs[2]; + cohesion = coeffs[3]; + + if (gm->contact_type == PAIR) { + Emix = mix_stiffnessE(Emod, Emod, poiss, poiss); + } else { + Emix = mix_stiffnessE_wall(Emod, poiss); + } + + k = FOURTHIRDS * Emix; + + if (Emod < 0.0 || damp < 0.0) error->all(FLERR, "Illegal JKR normal model"); +} + +/* ---------------------------------------------------------------------- */ + +void GSMNormalJKR::mix_coeffs(double* icoeffs, double* jcoeffs) +{ + coeffs[0] = mix_stiffnessE(icoeffs[0], jcoeffs[0],icoeffs[2], jcoeffs[2]); + coeffs[1] = mix_geom(icoeffs[1], jcoeffs[1]); + coeffs[2] = mix_geom(icoeffs[2], jcoeffs[2]); + coeffs[3] = mix_geom(icoeffs[3], jcoeffs[3]); + coeffs_to_local(); +} + +/* ---------------------------------------------------------------------- */ + +bool GSMNormalJKR::touch() +{ + double area_at_pulloff, R2, delta_pulloff, dist_pulloff; + bool touchflag; + + if (gm->touch) { + R2 = gm->Reff * gm->Reff; + area_at_pulloff = cbrt(9.0 * MY_PI * cohesion * R2 / (4.0 * Emix)); + delta_pulloff = area_at_pulloff * area_at_pulloff / gm->Reff - 2.0 * sqrt(MY_PI * cohesion * area_at_pulloff / Emix); + dist_pulloff = gm->radsum - delta_pulloff; + touchflag = gm->rsq < (dist_pulloff * dist_pulloff); + } else { + touchflag = gm->rsq < (gm->radsum * gm->radsum); + } + + return touchflag; +} + +/* ---------------------------------------------------------------------- + called outside of compute(), do not assume geometry defined in contact +------------------------------------------------------------------------- */ + +double GSMNormalJKR::pulloff_distance(double radi, double radj) +{ + double area_at_pulloff, Reff_tmp; + + Reff_tmp = radi * radj / (radi + radj); // May not be defined + if (Reff_tmp <= 0) return 0; + + area_at_pulloff = cbrt(9.0 * MY_PI * cohesion * Reff_tmp * Reff_tmp / (4.0 * Emix)); + return area_at_pulloff * area_at_pulloff / Reff_tmp - 2.0 * sqrt(MY_PI * cohesion * area_at_pulloff / Emix); +} + +/* ---------------------------------------------------------------------- */ + +double GSMNormalJKR::calculate_area() +{ + double R2, dR2, t0, t1, t2, t3, t4, t5, t6; + double sqrt1, sqrt2, sqrt3; + + R2 = gm->Reff * gm->Reff; + dR2 = gm->dR * gm->dR; + t0 = cohesion * cohesion * R2 * R2 * Emix; + t1 = PI27SQ * t0; + t2 = 8.0 * gm->dR * dR2 * Emix * Emix * Emix; + t3 = 4.0 * dR2 * Emix; + + // in case sqrt(0) < 0 due to precision issues + sqrt1 = MAX(0, t0 * (t1 + 2.0 * t2)); + t4 = cbrt(t1 + t2 + THREEROOT3 * MY_PI * sqrt(sqrt1)); + t5 = t3 / t4 + t4 / Emix; + sqrt2 = MAX(0, 2.0 * gm->dR + t5); + t6 = sqrt(sqrt2); + sqrt3 = MAX(0, 4.0 * gm->dR - t5 + SIXROOT6 * cohesion * MY_PI * R2 / (Emix * t6)); + + return INVROOT6 * (t6 + sqrt(sqrt3)); +} + +/* ---------------------------------------------------------------------- */ + +double GSMNormalJKR::calculate_forces() +{ + double a2; + a2 = gm->area * gm->area; + Fne = knfac * a2 / gm->Reff - MY_2PI * a2 * sqrt(4.0 * cohesion * Emix / (MY_PI * gm->area)); + F_pulloff = 3.0 * MY_PI * cohesion * gm->Reff; + + return Fne; +} + +/* ---------------------------------------------------------------------- */ + +void GSMNormalJKR::set_knfac() +{ + knfac = k * gm->area; +} + +/* ---------------------------------------------------------------------- */ + +void GSMNormalJKR::set_fncrit() +{ + Fncrit = fabs(Fne + 2.0 * F_pulloff); +} diff --git a/src/GRANULAR/gsm_normal.h b/src/GRANULAR/gsm_normal.h new file mode 100644 index 0000000000..31587dfd03 --- /dev/null +++ b/src/GRANULAR/gsm_normal.h @@ -0,0 +1,118 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifndef GSM_NORMAL_H_ +#define GSM_NORMAL_H_ + +#include "gsm.h" + +namespace LAMMPS_NS { +namespace Granular_NS { + +class GSMNormal : public GSM { + public: + GSMNormal(class GranularModel *, class LAMMPS *); + ~GSMNormal() {}; + virtual void coeffs_to_local() {}; + virtual void init() {}; + virtual bool touch(); + virtual double pulloff_distance(double, double); + virtual double calculate_area(); + virtual void set_knfac() = 0; + virtual double calculate_forces() = 0; + virtual void set_fncrit(); + double damp; // Vestigial argument needed by damping + double Emod, poiss; + double Fncrit, Fne, knfac; + int material_properties; +}; + +/* ---------------------------------------------------------------------- */ + +class GSMNormalNone : public GSMNormal { + public: + GSMNormalNone(class GranularModel *, class LAMMPS *); + void set_knfac() {}; + double calculate_forces(); +}; + +/* ---------------------------------------------------------------------- */ + +class GSMNormalHooke : public GSMNormal { + public: + GSMNormalHooke(class GranularModel *, class LAMMPS *); + void coeffs_to_local() override; + void set_knfac(); + double calculate_forces(); + protected: + double k; +}; + +/* ---------------------------------------------------------------------- */ + +class GSMNormalHertz : public GSMNormal { + public: + GSMNormalHertz(class GranularModel *, class LAMMPS *); + void coeffs_to_local() override; + void set_knfac(); + double calculate_forces(); + protected: + double k; +}; + +/* ---------------------------------------------------------------------- */ + +class GSMNormalHertzMaterial : public GSMNormalHertz { + public: + GSMNormalHertzMaterial(class GranularModel *, class LAMMPS *); + void coeffs_to_local() override; + void mix_coeffs(double*, double*) override; +}; + +/* ---------------------------------------------------------------------- */ + +class GSMNormalDMT : public GSMNormal { + public: + GSMNormalDMT(class GranularModel *, class LAMMPS *); + void coeffs_to_local() override; + void mix_coeffs(double*, double*) override; + void set_knfac(); + double calculate_forces(); + void set_fncrit() override; + protected: + double k, cohesion; + double F_pulloff; +}; + +/* ---------------------------------------------------------------------- */ + +class GSMNormalJKR : public GSMNormal { + public: + GSMNormalJKR(class GranularModel *, class LAMMPS *); + void coeffs_to_local() override; + void mix_coeffs(double*, double*) override; + bool touch() override; + double pulloff_distance(double, double) override; + double calculate_area() override; + void set_knfac(); + double calculate_forces(); + void set_fncrit() override; + protected: + double k, cohesion; + double Emix, F_pulloff; +}; + +} // namespace Granular_NS +} // namespace LAMMPS_NS + +#endif /*GSM_NORMAL_H_ */ diff --git a/src/GRANULAR/gsm_rolling.cpp b/src/GRANULAR/gsm_rolling.cpp new file mode 100644 index 0000000000..efb0ea423b --- /dev/null +++ b/src/GRANULAR/gsm_rolling.cpp @@ -0,0 +1,121 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "gsm_normal.h" +#include "gsm_rolling.h" +#include "granular_model.h" +#include "error.h" +#include "math_const.h" +#include "math_extra.h" + +using namespace LAMMPS_NS; +using namespace Granular_NS; +using namespace MathConst; +using namespace MathExtra; + +/* ---------------------------------------------------------------------- + Default rolling friction model +------------------------------------------------------------------------- */ + +GSMRolling::GSMRolling(GranularModel *gm, LAMMPS *lmp) : GSM(gm, lmp) {} + +/* ---------------------------------------------------------------------- + No model +------------------------------------------------------------------------- */ + +GSMRollingNone::GSMRollingNone(GranularModel *gm, LAMMPS *lmp) : GSMRolling(gm, lmp) {} + +/* ---------------------------------------------------------------------- + SDS rolling friction model +------------------------------------------------------------------------- */ + +GSMRollingSDS::GSMRollingSDS(GranularModel *gm, LAMMPS *lmp) : GSMRolling(gm, lmp) +{ + num_coeffs = 3; + size_history = 3; +} + +/* ---------------------------------------------------------------------- */ + +void GSMRollingSDS::coeffs_to_local() +{ + k = coeffs[0]; + gamma = coeffs[1]; + mu = coeffs[2]; + + if (k < 0.0 || mu < 0.0 || gamma < 0.0) + error->all(FLERR, "Illegal SDS rolling model"); +} + +/* ---------------------------------------------------------------------- */ + +void GSMRollingSDS::calculate_forces() +{ + int rhist0, rhist1, rhist2, frameupdate; + double Frcrit, rolldotn, rollmag, prjmag, magfr, hist_temp[3], scalefac, temp_array[3]; + double k_inv, magfr_inv; + + rhist0 = history_index; + rhist1 = rhist0 + 1; + rhist2 = rhist1 + 1; + + Frcrit = mu * gm->normal_model->Fncrit; + + if (gm->history_update) { + hist_temp[0] = gm->history[rhist0]; + hist_temp[1] = gm->history[rhist1]; + hist_temp[2] = gm->history[rhist2]; + rolldotn = dot3(hist_temp, gm->nx); + + frameupdate = (fabs(rolldotn) * k) > (EPSILON * Frcrit); + if (frameupdate) { // rotate into tangential plane + rollmag = len3(hist_temp); + // projection + scale3(rolldotn, gm->nx, temp_array); + sub3(hist_temp, temp_array, hist_temp); + + // also rescale to preserve magnitude + prjmag = len3(hist_temp); + if (prjmag > 0) scalefac = rollmag / prjmag; + else scalefac = 0; + scale3(scalefac, hist_temp); + } + scale3(gm->dt, gm->vrl, temp_array); + add3(hist_temp, temp_array, hist_temp); + } + + scaleadd3(-k, hist_temp, -gamma, gm->vrl, gm->fr); + + // rescale frictional displacements and forces if needed + magfr = len3(gm->fr); + if (magfr > Frcrit) { + rollmag = len3(hist_temp); + if (rollmag != 0.0) { + k_inv = 1.0 / k; + magfr_inv = 1.0 / magfr; + scale3(-Frcrit * k_inv * magfr_inv, gm->fr, hist_temp); + scale3(-gamma * k_inv, gm->vrl, temp_array); + add3(hist_temp, temp_array, hist_temp); + + scale3(Frcrit * magfr_inv, gm->fr); + } else { + zero3(gm->fr); + } + } + + if (gm->history_update) { + gm->history[rhist0] = hist_temp[0]; + gm->history[rhist1] = hist_temp[1]; + gm->history[rhist2] = hist_temp[2]; + } +} diff --git a/src/GRANULAR/gsm_rolling.h b/src/GRANULAR/gsm_rolling.h new file mode 100644 index 0000000000..44f45b583d --- /dev/null +++ b/src/GRANULAR/gsm_rolling.h @@ -0,0 +1,53 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifndef GSM_ROLLING_H_ +#define GSM_ROLLING_H_ + +#include "gsm.h" + +namespace LAMMPS_NS { +namespace Granular_NS { + +class GSMRolling : public GSM { + public: + GSMRolling(class GranularModel *, class LAMMPS *); + ~GSMRolling() {}; + virtual void coeffs_to_local() {}; + virtual void init() {}; + virtual void calculate_forces() = 0; +}; + +/* ---------------------------------------------------------------------- */ + +class GSMRollingNone : public GSMRolling { + public: + GSMRollingNone(class GranularModel *, class LAMMPS *); + void calculate_forces() {}; +}; + +/* ---------------------------------------------------------------------- */ + +class GSMRollingSDS : public GSMRolling { + public: + GSMRollingSDS(class GranularModel *, class LAMMPS *); + void coeffs_to_local() override; + void calculate_forces(); + protected: + double k, mu, gamma; +}; + +} // namespace Granular_NS +} // namespace LAMMPS_NS + +#endif /*GSM_ROLLING_H_ */ diff --git a/src/GRANULAR/gsm_tangential.cpp b/src/GRANULAR/gsm_tangential.cpp new file mode 100644 index 0000000000..1f6213d708 --- /dev/null +++ b/src/GRANULAR/gsm_tangential.cpp @@ -0,0 +1,412 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "gsm_damping.h" +#include "gsm_normal.h" +#include "gsm_tangential.h" +#include "granular_model.h" +#include "error.h" +#include "math_const.h" +#include "math_extra.h" + +using namespace LAMMPS_NS; +using namespace Granular_NS; +using namespace MathConst; +using namespace MathExtra; + +/* ---------------------------------------------------------------------- + Default model +------------------------------------------------------------------------- */ + +GSMTangential::GSMTangential(GranularModel *gm, LAMMPS *lmp) : GSM(gm, lmp) {} + +/* ---------------------------------------------------------------------- + No model +------------------------------------------------------------------------- */ + +GSMTangentialNone::GSMTangentialNone(GranularModel *gm, LAMMPS *lmp) : GSMTangential(gm, lmp) {} + +/* ---------------------------------------------------------------------- + Linear model with no history +------------------------------------------------------------------------- */ + +GSMTangentialLinearNoHistory::GSMTangentialLinearNoHistory(GranularModel *gm, LAMMPS *lmp) : GSMTangential(gm, lmp) +{ + num_coeffs = 2; + size_history = 3; +} + +/* ---------------------------------------------------------------------- */ + +void GSMTangentialLinearNoHistory::coeffs_to_local() +{ + k = 0.0; // No tangential stiffness with no history + xt = coeffs[0]; + mu = coeffs[1]; + + if (k < 0.0 || xt < 0.0 || mu < 0.0) + error->all(FLERR, "Illegal linear no history tangential model"); +} + +/* ---------------------------------------------------------------------- */ + +void GSMTangentialLinearNoHistory::calculate_forces() +{ + // classic pair gran/hooke (no history) + damp = xt * gm->damping_model->damp_prefactor; + + double Fscrit = mu * gm->normal_model->Fncrit; + double fsmag = damp * gm->vrel; + + double Ft; + if (gm->vrel != 0.0) Ft = MIN(Fscrit, fsmag) / gm->vrel; + else Ft = 0.0; + + scale3(-Ft, gm->vtr, gm->fs); +} + +/* ---------------------------------------------------------------------- + Linear model with history +------------------------------------------------------------------------- */ + +GSMTangentialLinearHistory::GSMTangentialLinearHistory(GranularModel *gm, LAMMPS *lmp) : GSMTangential(gm, lmp) +{ + num_coeffs = 3; + size_history = 3; +} + +/* ---------------------------------------------------------------------- */ + +void GSMTangentialLinearHistory::coeffs_to_local() +{ + k = coeffs[0]; + xt = coeffs[1]; + mu = coeffs[2]; + + if (k < 0.0 || xt < 0.0 || mu < 0.0) + error->all(FLERR, "Illegal linear tangential model"); +} + +/* ---------------------------------------------------------------------- */ + +void GSMTangentialLinearHistory::calculate_forces() +{ + // Note: this is the same as the base Mindlin calculation except k isn't scaled by area + double magfs, magfs_inv, rsht, shrmag, prjmag, temp_dbl, temp_array[3]; + int frame_update = 0; + + damp = xt * gm->damping_model->damp_prefactor; + + double Fscrit = gm->normal_model->Fncrit * mu; + double *history = & gm->history[history_index]; + + // rotate and update displacements / force. + // see e.g. eq. 17 of Luding, Gran. Matter 2008, v10,p235 + if (gm->history_update) { + rsht = dot3(history, gm->nx); + frame_update = (fabs(rsht) * k) > (EPSILON * Fscrit); + + if (frame_update) { + shrmag = len3(history); + + // projection + scale3(rsht, gm->nx, temp_array); + sub3(history, temp_array, history); + + // also rescale to preserve magnitude + prjmag = len3(history); + if (prjmag > 0) temp_dbl = shrmag / prjmag; + else temp_dbl = 0; + scale3(temp_dbl, history); + } + + // update history, tangential force + // see e.g. eq. 18 of Thornton et al, Pow. Tech. 2013, v223,p30-46 + scale3(gm->dt, gm->vtr, temp_array); + add3(history, temp_array, history); + } + + + // tangential forces = history + tangential velocity damping + scale3(-k, history, gm->fs); + scale3(damp, gm->vtr, temp_array); + sub3(gm->fs, temp_array, gm->fs); + + // rescale frictional displacements and forces if needed + magfs = len3(gm->fs); + if (magfs > Fscrit) { + shrmag = len3(history); + if (shrmag != 0.0) { + magfs_inv = 1.0 / magfs; + scale3(Fscrit * magfs_inv, gm->fs, history); + scale3(damp, gm->vtr, temp_array); + add3(history, temp_array, history); + scale3(-1.0 / k, history); + scale3(Fscrit * magfs_inv, gm->fs); + } else { + zero3(gm->fs); + } + } +} + +/* ---------------------------------------------------------------------- + Linear model with history from pair gran/hooke/history +------------------------------------------------------------------------- */ + +GSMTangentialLinearHistoryClassic::GSMTangentialLinearHistoryClassic(GranularModel *gm, LAMMPS *lmp) : GSMTangentialLinearHistory(gm, lmp) +{ + scale_area = 0; // Sets gran/hooke/history behavior +} + +/* ---------------------------------------------------------------------- */ + +void GSMTangentialLinearHistoryClassic::calculate_forces() +{ + double k_scaled, magfs, magfs_inv, rsht, shrmag, prjmag, temp_dbl; + double temp_array[3]; + int frame_update = 0; + + k_scaled = k; + if (scale_area) k_scaled *= gm->area; + + damp = xt * gm->damping_model->damp_prefactor; + + double Fscrit = gm->normal_model->Fncrit * mu; + double *history = & gm->history[history_index]; + + // update history + if (gm->history_update) { + scale3(gm->dt, gm->vtr, temp_array); + add3(history, temp_array, history); + } + + shrmag = len3(history); + + // rotate shear displacements + if (gm->history_update) { + rsht = dot3(history, gm->nx); + scale3(rsht, gm->nx, temp_array); + sub3(history, temp_array, history); + } + + // tangential forces = history + tangential velocity damping + scale3(-k_scaled, history, gm->fs); + scale3(damp, gm->vtr, temp_array); + sub3(gm->fs, temp_array, gm->fs); + + // rescale frictional displacements and forces if needed + magfs = len3(gm->fs); + if (magfs > Fscrit) { + if (shrmag != 0.0) { + magfs_inv = 1.0 / magfs; + scale3(Fscrit * magfs_inv, gm->fs, history); + scale3(damp, gm->vtr, temp_array); + add3(history, temp_array, history); + temp_dbl = -1.0 / k_scaled; + if (scale_area) temp_dbl /= gm->area; + scale3(temp_dbl, history); + scale3(Fscrit * magfs_inv, gm->fs); + } else { + zero3(gm->fs); + } + } +} + +/* ---------------------------------------------------------------------- + Mindlin from pair gran/hertz/history +------------------------------------------------------------------------- */ + +GSMTangentialMindlinClassic::GSMTangentialMindlinClassic(GranularModel *gm, LAMMPS *lmp) : GSMTangentialLinearHistoryClassic(gm, lmp) +{ + scale_area = 1; // Sets gran/hertz/history behavior +} + +/* ---------------------------------------------------------------------- + Mindlin model +------------------------------------------------------------------------- */ + +GSMTangentialMindlin::GSMTangentialMindlin(GranularModel *gm, LAMMPS *lmp) : GSMTangential(gm, lmp) +{ + num_coeffs = 3; + size_history = 3; + mindlin_force = 0; + mindlin_rescale = 0; +} + +/* ---------------------------------------------------------------------- */ + +void GSMTangentialMindlin::coeffs_to_local() +{ + k = coeffs[0]; + xt = coeffs[1]; + mu = coeffs[2]; + + if (k == -1) { + if (!gm->normal_model->material_properties) + error->all(FLERR, "Must either specify tangential stiffness or material properties for normal model for the Mindlin tangential style"); + + double Emod = gm->normal_model->Emod; + double poiss = gm->normal_model->poiss; + + if (gm->contact_type == PAIR) { + k = 8.0 * mix_stiffnessG(Emod, Emod, poiss, poiss); + } else { + k = 8.0 * mix_stiffnessG_wall(Emod, poiss); + } + } + + if (k < 0.0 || xt < 0.0 || mu < 0.0) + error->all(FLERR, "Illegal Mindlin tangential model"); +} + +/* ---------------------------------------------------------------------- */ + +void GSMTangentialMindlin::mix_coeffs(double* icoeffs, double* jcoeffs) +{ + if (icoeffs[0] == -1 || jcoeffs[0] == -1) coeffs[0] = -1; + else coeffs[0] = mix_geom(icoeffs[0], jcoeffs[0]); + coeffs[1] = mix_geom(icoeffs[1], jcoeffs[1]); + coeffs[2] = mix_geom(icoeffs[2], jcoeffs[2]); + coeffs_to_local(); +} + +/* ---------------------------------------------------------------------- */ + +void GSMTangentialMindlin::calculate_forces() +{ + double k_scaled, magfs, magfs_inv, rsht, shrmag, prjmag, temp_dbl; + double temp_array[3]; + int frame_update = 0; + + damp = xt * gm->damping_model->damp_prefactor; + + double *history = & gm->history[history_index]; + double Fscrit = gm->normal_model->Fncrit * mu; + + k_scaled = k * gm->area; + + // on unloading, rescale the shear displacements/force + if (mindlin_rescale) + if (gm->area < history[3]) + scale3(gm->area / history[3], history); + + // rotate and update displacements / force. + // see e.g. eq. 17 of Luding, Gran. Matter 2008, v10,p235 + if (gm->history_update) { + rsht = dot3(history, gm->nx); + if (mindlin_force) { + frame_update = fabs(rsht) > (EPSILON * Fscrit); + } else { + frame_update = (fabs(rsht) * k_scaled) > (EPSILON * Fscrit); + } + + if (frame_update) { + shrmag = len3(history); + // projection + scale3(rsht, gm->nx, temp_array); + sub3(history, temp_array, history); + // also rescale to preserve magnitude + prjmag = len3(history); + if (prjmag > 0) temp_dbl = shrmag / prjmag; + else temp_dbl = 0; + scale3(temp_dbl, history); + } + + // update history + if (mindlin_force) { + // tangential force + // see e.g. eq. 18 of Thornton et al, Pow. Tech. 2013, v223,p30-46 + scale3(-k_scaled * gm->dt, gm->vtr, temp_array); + } else { + scale3(gm->dt, gm->vtr, temp_array); + } + add3(history, temp_array, history); + + if (mindlin_rescale) history[3] = gm->area; + } + + // tangential forces = history + tangential velocity damping + scale3(-damp, gm->vtr, gm->fs); + + if (!mindlin_force) { + scale3(k_scaled, history, temp_array); + sub3(gm->fs, temp_array, gm->fs); + } else { + add3(gm->fs, history, gm->fs); + } + + // rescale frictional displacements and forces if needed + magfs = len3(gm->fs); + if (magfs > Fscrit) { + shrmag = len3(history); + if (shrmag != 0.0) { + magfs_inv = 1.0 / magfs; + scale3(Fscrit * magfs_inv, gm->fs, history); + scale3(damp, gm->vtr, temp_array); + add3(history, temp_array, history); + + if (!mindlin_force) + scale3(-1.0 / k_scaled, history); + + scale3(Fscrit * magfs_inv, gm->fs); + } else { + zero3(gm->fs); + } + } +} + +/* ---------------------------------------------------------------------- + Mindlin force model +------------------------------------------------------------------------- */ + +GSMTangentialMindlinForce::GSMTangentialMindlinForce(GranularModel *gm, LAMMPS *lmp) : GSMTangentialMindlin(gm, lmp) +{ + num_coeffs = 3; + size_history = 3; + mindlin_force = 1; + mindlin_rescale = 0; +} + +/* ---------------------------------------------------------------------- + Mindlin rescale model +------------------------------------------------------------------------- */ + +GSMTangentialMindlinRescale::GSMTangentialMindlinRescale(GranularModel *gm, LAMMPS *lmp) : GSMTangentialMindlin(gm, lmp) +{ + num_coeffs = 3; + size_history = 4; + mindlin_force = 0; + mindlin_rescale = 1; + + nondefault_history_transfer = 1; + transfer_history_factor = new double[size_history]; + for (int i = 0; i < size_history; i++) transfer_history_factor[i] = -1.0; + transfer_history_factor[3] = +1; +} + +/* ---------------------------------------------------------------------- + Mindlin rescale force model +------------------------------------------------------------------------- */ + +GSMTangentialMindlinRescaleForce::GSMTangentialMindlinRescaleForce(GranularModel *gm, LAMMPS *lmp) : GSMTangentialMindlin(gm, lmp) +{ + num_coeffs = 3; + size_history = 4; + mindlin_force = 1; + mindlin_rescale = 1; + + nondefault_history_transfer = 1; + transfer_history_factor = new double[size_history]; + for (int i = 0; i < size_history; i++) transfer_history_factor[i] = -1.0; + transfer_history_factor[3] = +1; +} diff --git a/src/GRANULAR/gsm_tangential.h b/src/GRANULAR/gsm_tangential.h new file mode 100644 index 0000000000..8e1d644fea --- /dev/null +++ b/src/GRANULAR/gsm_tangential.h @@ -0,0 +1,113 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifndef GSM_TANGENTIAL_H_ +#define GSM_TANGENTIAL_H_ + +#include "gsm.h" + +namespace LAMMPS_NS { +namespace Granular_NS { + +class GSMTangential : public GSM { + public: + GSMTangential(class GranularModel *, class LAMMPS *); + virtual ~GSMTangential() {}; + virtual void coeffs_to_local() {}; + virtual void init() {}; + virtual void calculate_forces() = 0; + int rescale_flag; + double k, damp, mu; // Used by Marshall twisting model + protected: + double xt; +}; + +/* ---------------------------------------------------------------------- */ + +class GSMTangentialNone : public GSMTangential { + public: + GSMTangentialNone(class GranularModel *, class LAMMPS *); + void calculate_forces() {}; +}; + +/* ---------------------------------------------------------------------- */ + +class GSMTangentialLinearNoHistory : public GSMTangential { + public: + GSMTangentialLinearNoHistory(class GranularModel *, class LAMMPS *); + void coeffs_to_local() override; + void calculate_forces(); +}; + +/* ---------------------------------------------------------------------- */ + +class GSMTangentialLinearHistory : public GSMTangential { + public: + GSMTangentialLinearHistory(class GranularModel *, class LAMMPS *); + void coeffs_to_local() override; + void calculate_forces(); +}; + +/* ---------------------------------------------------------------------- */ + +class GSMTangentialLinearHistoryClassic : public GSMTangentialLinearHistory { + public: + GSMTangentialLinearHistoryClassic(class GranularModel *, class LAMMPS *); + void calculate_forces(); + int scale_area; +}; + +/* ---------------------------------------------------------------------- */ + +class GSMTangentialMindlinClassic : public GSMTangentialLinearHistoryClassic { + public: + GSMTangentialMindlinClassic(class GranularModel *, class LAMMPS *); +}; + +/* ---------------------------------------------------------------------- */ + +class GSMTangentialMindlin : public GSMTangential { + public: + GSMTangentialMindlin(class GranularModel *, class LAMMPS *); + void coeffs_to_local() override; + void mix_coeffs(double*, double*) override; + void calculate_forces(); + protected: + int mindlin_rescale, mindlin_force; +}; + +/* ---------------------------------------------------------------------- */ + +class GSMTangentialMindlinForce : public GSMTangentialMindlin { + public: + GSMTangentialMindlinForce(class GranularModel *, class LAMMPS *); +}; + +/* ---------------------------------------------------------------------- */ + +class GSMTangentialMindlinRescale : public GSMTangentialMindlin { + public: + GSMTangentialMindlinRescale(class GranularModel *, class LAMMPS *); +}; + +/* ---------------------------------------------------------------------- */ + +class GSMTangentialMindlinRescaleForce : public GSMTangentialMindlin { + public: + GSMTangentialMindlinRescaleForce(class GranularModel *, class LAMMPS *); +}; + +} // namespace Granular_NS +} // namespace LAMMPS_NS + +#endif /*GSM_TANGENTIAL_H_ */ diff --git a/src/GRANULAR/gsm_twisting.cpp b/src/GRANULAR/gsm_twisting.cpp new file mode 100644 index 0000000000..3704ac4ec8 --- /dev/null +++ b/src/GRANULAR/gsm_twisting.cpp @@ -0,0 +1,124 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "gsm_normal.h" +#include "gsm_tangential.h" +#include "gsm_twisting.h" +#include "granular_model.h" +#include "error.h" +#include "math_const.h" + +using namespace LAMMPS_NS; +using namespace Granular_NS; +using namespace MathConst; + +/* ---------------------------------------------------------------------- + Default twisting model +------------------------------------------------------------------------- */ + +GSMTwisting::GSMTwisting(GranularModel *gm, LAMMPS *lmp) : GSM(gm, lmp) {} + +/* ---------------------------------------------------------------------- + No model +------------------------------------------------------------------------- */ + +GSMTwistingNone::GSMTwistingNone(GranularModel *gm, LAMMPS *lmp) : GSMTwisting(gm, lmp) {} + +/* ---------------------------------------------------------------------- + Marshall twisting model +------------------------------------------------------------------------- */ + +GSMTwistingMarshall::GSMTwistingMarshall(GranularModel *gm, LAMMPS *lmp) : GSMTwisting(gm, lmp) +{ + num_coeffs = 0; + size_history = 3; +} + +/* ---------------------------------------------------------------------- */ + + +void GSMTwistingMarshall::init() +{ + k_tang = gm->tangential_model->k; + mu_tang = gm->tangential_model->mu; +} + +/* ---------------------------------------------------------------------- */ + +void GSMTwistingMarshall::calculate_forces() +{ + double signtwist, Mtcrit; + + // Calculate twist coefficients from tangential model & contact geometry + // eq 32 of Marshall paper + double k = 0.5 * k_tang * gm->area * gm->area; + double damp = 0.5 * gm->tangential_model->damp * gm->area * gm->area; + double mu = TWOTHIRDS * mu_tang * gm->area; + + if (gm->history_update) { + gm->history[history_index] += gm->magtwist * gm->dt; + } + + // M_t torque (eq 30) + gm->magtortwist = -k * gm->history[history_index] - damp * gm->magtwist; + signtwist = (gm->magtwist > 0) - (gm->magtwist < 0); + Mtcrit = mu * gm->normal_model->Fncrit; // critical torque (eq 44) + + if (fabs(gm->magtortwist) > Mtcrit) { + gm->history[history_index] = (Mtcrit * signtwist - damp * gm->magtwist) / k; + gm->magtortwist = -Mtcrit * signtwist; // eq 34 + } +} + +/* ---------------------------------------------------------------------- + SDS twisting model +------------------------------------------------------------------------- */ + +GSMTwistingSDS::GSMTwistingSDS(GranularModel *gm, LAMMPS *lmp) : GSMTwisting(gm, lmp) +{ + num_coeffs = 3; + size_history = 3; +} + +/* ---------------------------------------------------------------------- */ + +void GSMTwistingSDS::coeffs_to_local() +{ + k = coeffs[0]; + damp = coeffs[1]; + mu = coeffs[2]; + + if (k < 0.0 || mu < 0.0 || damp < 0.0) + error->all(FLERR, "Illegal SDS twisting model"); +} + +/* ---------------------------------------------------------------------- */ + +void GSMTwistingSDS::calculate_forces() +{ + double signtwist, Mtcrit; + + if (gm->history_update) { + gm->history[history_index] += gm->magtwist * gm->dt; + } + + // M_t torque (eq 30) + gm->magtortwist = -k * gm->history[history_index] - damp * gm->magtwist; + signtwist = (gm->magtwist > 0) - (gm->magtwist < 0); + Mtcrit = mu * gm->normal_model->Fncrit; // critical torque (eq 44) + + if (fabs(gm->magtortwist) > Mtcrit) { + gm->history[history_index] = (Mtcrit * signtwist - damp * gm->magtwist) / k; + gm->magtortwist = -Mtcrit * signtwist; // eq 34 + } +} diff --git a/src/GRANULAR/gsm_twisting.h b/src/GRANULAR/gsm_twisting.h new file mode 100644 index 0000000000..9fb859df08 --- /dev/null +++ b/src/GRANULAR/gsm_twisting.h @@ -0,0 +1,64 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifndef GSM_TWISTING_H_ +#define GSM_TWISTING_H_ + +#include "gsm.h" + +namespace LAMMPS_NS { +namespace Granular_NS { + +class GSMTwisting : public GSM { + public: + GSMTwisting(class GranularModel *, class LAMMPS *); + virtual ~GSMTwisting() {}; + virtual void coeffs_to_local() {}; + virtual void init() {}; + virtual void calculate_forces() = 0; +}; + +/* ---------------------------------------------------------------------- */ + +class GSMTwistingNone : public GSMTwisting { + public: + GSMTwistingNone(class GranularModel *, class LAMMPS *); + void calculate_forces() {}; +}; + +/* ---------------------------------------------------------------------- */ + +class GSMTwistingMarshall : public GSMTwisting { + public: + GSMTwistingMarshall(class GranularModel *, class LAMMPS *); + void calculate_forces(); + void init(); + protected: + double k_tang, mu_tang; +}; + +/* ---------------------------------------------------------------------- */ + +class GSMTwistingSDS : public GSMTwisting { + public: + GSMTwistingSDS(class GranularModel *, class LAMMPS *); + void coeffs_to_local() override; + void calculate_forces(); + protected: + double k, mu, damp; +}; + +} // namespace Granular_NS +} // namespace LAMMPS_NS + +#endif /*GSM_TWISTING_H_ */ diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index 63354a4eda..6264d8baeb 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -22,14 +22,8 @@ #include "atom.h" #include "comm.h" -#include "contact.h" -#include "contact_sub_models.h" -#include "contact_normal_models.h" -#include "contact_tangential_models.h" -#include "contact_damping_models.h" -#include "contact_rolling_models.h" -#include "contact_twisting_models.h" -#include "contact_heat_models.h" +#include "granular_model.h" +#include "gsm.h" #include "error.h" #include "fix.h" #include "fix_dummy.h" @@ -47,7 +41,7 @@ #include using namespace LAMMPS_NS; -using namespace Contact; +using namespace Granular_NS; using namespace MathExtra; /* ---------------------------------------------------------------------- */ @@ -250,7 +244,6 @@ void PairGranular::compute(int eflag, int vflag) models[itype][jtype]->Ti = temperature[i]; models[itype][jtype]->Tj = temperature[j]; } - models[itype][jtype]->prep_contact(); models[itype][jtype]->calculate_forces(); @@ -304,7 +297,7 @@ void PairGranular::allocate() memory->create(cutsq,n+1,n+1,"pair:cutsq"); memory->create(cutoff_type,n+1,n+1,"pair:cutoff_type"); - models.resize(n+1, std::vector (n+1, nullptr)); + models.resize(n+1, std::vector (n+1, nullptr)); onerad_dynamic = new double[n+1]; onerad_frozen = new double[n+1]; @@ -347,74 +340,37 @@ void PairGranular::coeff(int narg, char **arg) //Parse mandatory specification int iarg = 2; - vec_models.back().init_model(std::string(arg[iarg++]), NORMAL); - iarg = vec_models.back().normal_model->parse_coeffs(arg, iarg, narg); + iarg = vec_models.back().init_submodel(arg, iarg, narg, NORMAL); //Parse optional arguments while (iarg < narg) { if (strcmp(arg[iarg], "tangential") == 0) { - iarg++; - if (iarg >= narg) - error->all(FLERR,"Illegal pair_coeff command, must specify " - "tangential model after tangential keyword"); - vec_models.back().init_model(std::string(arg[iarg++]), TANGENTIAL); - iarg = vec_models.back().tangential_model->parse_coeffs(arg, iarg, narg); - + iarg = vec_models.back().init_submodel(arg, iarg + 1, narg, TANGENTIAL); } else if (strcmp(arg[iarg], "damping") == 0) { - iarg++; - if (iarg >= narg) - error->all(FLERR, "Illegal pair_coeff command, must specify " - "damping model after damping keyword"); - vec_models.back().init_model(std::string(arg[iarg++]), DAMPING); - iarg = vec_models.back().damping_model->parse_coeffs(arg, iarg, narg); - + iarg = vec_models.back().init_submodel(arg, iarg + 1, narg, DAMPING); } else if (strcmp(arg[iarg], "rolling") == 0) { - iarg++; - if (iarg >= narg) - error->all(FLERR, "Illegal pair_coeff command, must specify " - "rolling model after rolling keyword"); - vec_models.back().init_model(std::string(arg[iarg++]), ROLLING); - iarg = vec_models.back().rolling_model->parse_coeffs(arg, iarg, narg); - + iarg = vec_models.back().init_submodel(arg, iarg + 1, narg, ROLLING); } else if (strcmp(arg[iarg], "twisting") == 0) { - iarg++; - if (iarg >= narg) - error->all(FLERR, "Illegal pair_coeff command, must specify " - "twisting model after twisting keyword"); - vec_models.back().init_model(std::string(arg[iarg++]), TWISTING); - iarg = vec_models.back().twisting_model->parse_coeffs(arg, iarg, narg); - + iarg = vec_models.back().init_submodel(arg, iarg + 1, narg, TWISTING); } else if (strcmp(arg[iarg], "heat") == 0) { - iarg++; - if (iarg >= narg) - error->all(FLERR, "Illegal pair_coeff command, must specify " - "heat model after heat keyword"); - vec_models.back().init_model(std::string(arg[iarg++]), HEAT); - iarg = vec_models.back().heat_model->parse_coeffs(arg, iarg, narg); + iarg = vec_models.back().init_submodel(arg, iarg + 1, narg, HEAT); heat_flag = 1; - } else if (strcmp(arg[iarg], "cutoff") == 0) { if (iarg + 1 >= narg) error->all(FLERR, "Illegal pair_coeff command, not enough parameters for cutoff keyword"); - cutoff_one = utils::numeric(FLERR,arg[iarg+1],false,lmp); + cutoff_one = utils::numeric(FLERR,arg[iarg + 1],false,lmp); iarg += 2; - } else if (strcmp(arg[iarg], "limit_damping") == 0) { vec_models.back().limit_damping = 1; iarg += 1; - } else error->all(FLERR, "Illegal pair_coeff command {}", arg[iarg]); } // Define default damping model if unspecified, has no coeffs if (!vec_models.back().damping_model) - vec_models.back().init_model("viscoelastic", DAMPING); - - if (vec_models.back().limit_damping && !vec_models.back().normal_model->allow_limit_damping) - error->all(FLERR,"Illegal pair_coeff command, " - "Cannot limit damping with specified normal contact model"); + vec_models.back().construct_submodel("viscoelastic", DAMPING); int count = 0; for (int i = ilo; i <= ihi; i++) { @@ -568,7 +524,7 @@ double PairGranular::init_one(int i, int j) if (setflag[i][j] == 0) { - vec_models.push_back(ContactModel(lmp)); + vec_models.push_back(GranularModel(lmp)); models[i][j] = models[j][i] = & vec_models.back(); int error_code = vec_models.back().mix_coeffs(models[i][i], models[j][j]); @@ -680,7 +636,7 @@ void PairGranular::read_restart(FILE *fp) MPI_Bcast(&nmodels,1,MPI_INT,0,world); for (i = 0; i < nmodels; i++) { - vec_models.push_back(ContactModel(lmp)); + vec_models.push_back(GranularModel(lmp)); vec_models.back().read_restart(fp); vec_models.back().init(); } @@ -737,7 +693,6 @@ double PairGranular::single(int i, int j, int itype, int jtype, if ((i >= nall) || (j >= nall)) error->all(FLERR,"Not enough atoms for pair granular single function"); - int touchflag; double **x = atom->x; double *radius = atom->radius; @@ -776,20 +731,7 @@ double PairGranular::single(int i, int j, int itype, int jtype, if (mask[i] & freeze_group_bit) meff = mj; if (mask[j] & freeze_group_bit) meff = mi; - // Copy additional information and prepare force calculations - double **v = atom->v; - double **omega = atom->omega; - - models[itype][jtype]->meff = meff; - models[itype][jtype]->vi = v[i]; - models[itype][jtype]->vj = v[j]; - models[itype][jtype]->omegai = omega[i]; - models[itype][jtype]->omegaj = omega[j]; - models[itype][jtype]->history = history; - models[itype][jtype]->prep_contact(); - // if any history is needed - jnum = list->numneigh[i]; jlist = list->firstneigh[i]; @@ -805,6 +747,17 @@ double PairGranular::single(int i, int j, int itype, int jtype, history = &allhistory[size_history*neighprev]; } + // Copy additional information and calculate forces + double **v = atom->v; + double **omega = atom->omega; + + models[itype][jtype]->meff = meff; + models[itype][jtype]->vi = v[i]; + models[itype][jtype]->vj = v[j]; + models[itype][jtype]->omegai = omega[i]; + models[itype][jtype]->omegaj = omega[j]; + models[itype][jtype]->history = history; + double *forces, *torquesi, *torquesj; models[itype][jtype]->calculate_forces(); forces = models[itype][jtype]->forces; diff --git a/src/GRANULAR/pair_granular.h b/src/GRANULAR/pair_granular.h index ae85748488..be8b6402a5 100644 --- a/src/GRANULAR/pair_granular.h +++ b/src/GRANULAR/pair_granular.h @@ -20,7 +20,7 @@ PairStyle(granular,PairGranular); #ifndef LMP_PAIR_GRANULAR_H #define LMP_PAIR_GRANULAR_H -#include "contact.h" +#include "granular_model.h" #include "pair.h" #include @@ -71,9 +71,9 @@ class PairGranular : public Pair { int size_history; int heat_flag; - // contact models - std::vector vec_models; - std::vector > models; + // granular models + std::vector vec_models; + std::vector > models; // optional user-specified global cutoff, per-type user-specified cutoffs double **cutoff_type; diff --git a/src/GRANULAR/contact.cpp b/src/contact.cpp similarity index 100% rename from src/GRANULAR/contact.cpp rename to src/contact.cpp diff --git a/src/GRANULAR/contact.h b/src/contact.h similarity index 100% rename from src/GRANULAR/contact.h rename to src/contact.h diff --git a/src/GRANULAR/contact_damping_models.cpp b/src/contact_damping_models.cpp similarity index 100% rename from src/GRANULAR/contact_damping_models.cpp rename to src/contact_damping_models.cpp diff --git a/src/GRANULAR/contact_damping_models.h b/src/contact_damping_models.h similarity index 100% rename from src/GRANULAR/contact_damping_models.h rename to src/contact_damping_models.h diff --git a/src/GRANULAR/contact_heat_models.cpp b/src/contact_heat_models.cpp similarity index 100% rename from src/GRANULAR/contact_heat_models.cpp rename to src/contact_heat_models.cpp diff --git a/src/GRANULAR/contact_heat_models.h b/src/contact_heat_models.h similarity index 100% rename from src/GRANULAR/contact_heat_models.h rename to src/contact_heat_models.h diff --git a/src/GRANULAR/contact_normal_models.cpp b/src/contact_normal_models.cpp similarity index 100% rename from src/GRANULAR/contact_normal_models.cpp rename to src/contact_normal_models.cpp diff --git a/src/GRANULAR/contact_normal_models.h b/src/contact_normal_models.h similarity index 100% rename from src/GRANULAR/contact_normal_models.h rename to src/contact_normal_models.h diff --git a/src/GRANULAR/contact_rolling_models.cpp b/src/contact_rolling_models.cpp similarity index 100% rename from src/GRANULAR/contact_rolling_models.cpp rename to src/contact_rolling_models.cpp diff --git a/src/GRANULAR/contact_rolling_models.h b/src/contact_rolling_models.h similarity index 100% rename from src/GRANULAR/contact_rolling_models.h rename to src/contact_rolling_models.h diff --git a/src/GRANULAR/contact_sub_models.cpp b/src/contact_sub_models.cpp similarity index 100% rename from src/GRANULAR/contact_sub_models.cpp rename to src/contact_sub_models.cpp diff --git a/src/GRANULAR/contact_sub_models.h b/src/contact_sub_models.h similarity index 100% rename from src/GRANULAR/contact_sub_models.h rename to src/contact_sub_models.h diff --git a/src/GRANULAR/contact_tangential_models.cpp b/src/contact_tangential_models.cpp similarity index 100% rename from src/GRANULAR/contact_tangential_models.cpp rename to src/contact_tangential_models.cpp diff --git a/src/GRANULAR/contact_tangential_models.h b/src/contact_tangential_models.h similarity index 100% rename from src/GRANULAR/contact_tangential_models.h rename to src/contact_tangential_models.h diff --git a/src/GRANULAR/contact_twisting_models.cpp b/src/contact_twisting_models.cpp similarity index 100% rename from src/GRANULAR/contact_twisting_models.cpp rename to src/contact_twisting_models.cpp diff --git a/src/GRANULAR/contact_twisting_models.h b/src/contact_twisting_models.h similarity index 100% rename from src/GRANULAR/contact_twisting_models.h rename to src/contact_twisting_models.h From 1eb048ef935d9c784f0435168e3c9aa24056d8eb Mon Sep 17 00:00:00 2001 From: jtclemm Date: Fri, 28 Oct 2022 16:00:04 -0600 Subject: [PATCH 031/448] Adding granular sub model style creator --- src/GRANULAR/fix_wall_gran.cpp | 15 ++-- src/GRANULAR/granular_model.cpp | 145 ++++++++++++++++---------------- src/GRANULAR/granular_model.h | 11 ++- src/GRANULAR/gsm.cpp | 1 - src/GRANULAR/gsm_damping.h | 25 ++++++ src/GRANULAR/gsm_heat.h | 13 +++ src/GRANULAR/gsm_normal.h | 29 +++++++ src/GRANULAR/gsm_rolling.h | 13 +++ src/GRANULAR/gsm_tangential.cpp | 12 +-- src/GRANULAR/gsm_tangential.h | 41 +++++++++ src/GRANULAR/gsm_twisting.h | 17 ++++ src/GRANULAR/pair_granular.cpp | 12 +-- src/Make.sh | 1 + 13 files changed, 236 insertions(+), 99 deletions(-) diff --git a/src/GRANULAR/fix_wall_gran.cpp b/src/GRANULAR/fix_wall_gran.cpp index 31913c6061..e6bd894f1e 100644 --- a/src/GRANULAR/fix_wall_gran.cpp +++ b/src/GRANULAR/fix_wall_gran.cpp @@ -77,7 +77,7 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : int iarg; if (classic_flag) { - iarg = model->init_classic_model(arg, 3, narg); + iarg = model->define_classic_model(arg, 3, narg); if (iarg < narg) { if (strcmp(arg[iarg],"limit_damping") == 0) { @@ -88,19 +88,19 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : } else { iarg = 4; - iarg = model->init_submodel(arg, iarg, narg, NORMAL); + iarg = model->add_submodel(arg, iarg, narg, NORMAL); while (iarg < narg) { if (strcmp(arg[iarg], "damping") == 0) { - iarg = model->init_submodel(arg, iarg + 1, narg, DAMPING); + iarg = model->add_submodel(arg, iarg + 1, narg, DAMPING); } else if (strcmp(arg[iarg], "tangential") == 0) { - iarg = model->init_submodel(arg, iarg + 1, narg, TANGENTIAL); + iarg = model->add_submodel(arg, iarg + 1, narg, TANGENTIAL); } else if (strcmp(arg[iarg], "rolling") == 0) { - iarg = model->init_submodel(arg, iarg + 1, narg, ROLLING); + iarg = model->add_submodel(arg, iarg + 1, narg, ROLLING); } else if (strcmp(arg[iarg], "twisting") == 0) { - iarg = model->init_submodel(arg, iarg + 1, narg, TWISTING); + iarg = model->add_submodel(arg, iarg + 1, narg, TWISTING); } else if (strcmp(arg[iarg], "heat") == 0) { - iarg = model->init_submodel(arg, iarg + 1, narg, HEAT); + iarg = model->add_submodel(arg, iarg + 1, narg, HEAT); heat_flag = 1; } else if (strcmp(arg[iarg], "xplane") == 0 || strcmp(arg[iarg], "yplane") == 0 || @@ -120,7 +120,6 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : // Define default damping model if unspecified, takes no args if (!model->damping_model) model->construct_submodel("viscoelastic", DAMPING); - if (!model->tangential_model) error->all(FLERR, "No tangential model specified"); model->init(); diff --git a/src/GRANULAR/granular_model.cpp b/src/GRANULAR/granular_model.cpp index b5987d222b..a7aaa1ed83 100644 --- a/src/GRANULAR/granular_model.cpp +++ b/src/GRANULAR/granular_model.cpp @@ -40,6 +40,17 @@ using namespace LAMMPS_NS; using namespace Granular_NS; using namespace MathExtra; +/* ---------------------------------------------------------------------- + one instance per GSM style in style_gsm.h +------------------------------------------------------------------------- */ + +template static GSM *gsm_creator(GranularModel *gm, LAMMPS *lmp) +{ + return new T(gm, lmp); +} + +/* ---------------------------------------------------------------------- */ + GranularModel::GranularModel(LAMMPS *lmp) : Pointers(lmp) { limit_damping = 0; @@ -57,6 +68,31 @@ GranularModel::GranularModel(LAMMPS *lmp) : Pointers(lmp) for (int i = 0; i < NSUBMODELS; i++) sub_models[i] = nullptr; transfer_history_factor = nullptr; + + // extract info from GSM classes listed in style_gsm.h + + nclass = 0; + +#define GSM_CLASS +#define GSMStyle(key,Class,type) nclass++; +#include "style_gsm.h" // IWYU pragma: keep +#undef GSMStyle +#undef GSM_CLASS + + gsmclass = new GSMCreator[nclass]; + gsmnames = new char*[nclass]; + gsmtypes = new int[nclass]; + nclass = 0; + +#define GSM_CLASS +#define GSMStyle(key,Class,type) \ + gsmclass[nclass] = &gsm_creator; \ + gsmnames[nclass] = (char *) #key; \ + gsmtypes[nclass++] = type; +#include "style_gsm.h" // IWYU pragma: keep +#undef GSMStyle +#undef GSM_CLASS + } /* ---------------------------------------------------------------------- */ @@ -75,7 +111,7 @@ GranularModel::~GranularModel() /* ---------------------------------------------------------------------- */ -int GranularModel::init_submodel(char **arg, int iarg, int narg, SubmodelType model_type) +int GranularModel::add_submodel(char **arg, int iarg, int narg, SubmodelType model_type) { if (iarg >= narg) error->all(FLERR, "Must specify granular submodel name"); @@ -92,6 +128,7 @@ int GranularModel::init_submodel(char **arg, int iarg, int narg, SubmodelType mo if (strcmp(arg[iarg + i], "NULL") == 0) sub_models[model_type]->coeffs[i] = -1; else sub_models[model_type]->coeffs[i] = utils::numeric(FLERR,arg[iarg + i],false,lmp); } + sub_models[model_type]->coeffs_to_local(); return iarg + num_coeffs; @@ -101,80 +138,34 @@ int GranularModel::init_submodel(char **arg, int iarg, int narg, SubmodelType mo void GranularModel::construct_submodel(std::string model_name, SubmodelType model_type) { -if (model_type == NORMAL) { - delete normal_model; - if (model_name == "none") normal_model = new GSMNormalNone(this, lmp); - else if (model_name == "hooke") normal_model = new GSMNormalHooke(this, lmp); - else if (model_name == "hertz") normal_model = new GSMNormalHertz(this, lmp); - else if (model_name == "hertz/material") normal_model = new GSMNormalHertzMaterial(this, lmp); - else if (model_name == "dmt") normal_model = new GSMNormalDMT(this, lmp); - else if (model_name == "jkr") normal_model = new GSMNormalJKR(this, lmp); - else error->all(FLERR, "Normal model name {} not recognized", model_name); - sub_models[model_type] = normal_model; - - } else if (model_type == TANGENTIAL) { - delete tangential_model; - if (model_name == "none") tangential_model = new GSMTangentialNone(this, lmp); - else if (model_name == "linear_nohistory") tangential_model = new GSMTangentialLinearNoHistory(this, lmp); - else if (model_name == "linear_history") tangential_model = new GSMTangentialLinearHistory(this, lmp); - else if (model_name == "linear_history_classic") tangential_model = new GSMTangentialLinearHistoryClassic(this, lmp); - else if (model_name == "mindlin") tangential_model = new GSMTangentialMindlin(this, lmp); - else if (model_name == "mindlin/force") tangential_model = new GSMTangentialMindlinForce(this, lmp); - else if (model_name == "mindlin_rescale") tangential_model = new GSMTangentialMindlinRescale(this, lmp); - else if (model_name == "mindlin_rescale/force") tangential_model = new GSMTangentialMindlinRescaleForce(this, lmp); - else error->all(FLERR, "Tangential model name {} not recognized", model_name); - sub_models[model_type] = tangential_model; - - } else if (model_type == DAMPING) { - delete damping_model; - if (model_name == "none") damping_model = new GSMDampingNone(this, lmp); - else if (model_name == "velocity") damping_model = new GSMDampingVelocity(this, lmp); - else if (model_name == "mass_velocity") damping_model = new GSMDampingMassVelocity(this, lmp); - else if (model_name == "viscoelastic") damping_model = new GSMDampingViscoelastic(this, lmp); - else if (model_name == "tsuji") damping_model = new GSMDampingTsuji(this, lmp); - else error->all(FLERR, "Damping model name {} not recognized", model_name); - sub_models[model_type] = damping_model; - - } else if (model_type == ROLLING) { - delete rolling_model; - rolling_defined = 1; - if (model_name == "none") { - rolling_model = new GSMRollingNone(this, lmp); - rolling_defined = 0; - } else if (model_name == "sds") rolling_model = new GSMRollingSDS(this, lmp); - else error->all(FLERR, "Rolling model name {} not recognized", model_name); - sub_models[model_type] = rolling_model; - - } else if (model_type == TWISTING) { - delete twisting_model; - twisting_defined = 1; - if (model_name == "none") { - twisting_model = new GSMTwistingNone(this, lmp); - twisting_defined = 0; - } else if (model_name == "sds") twisting_model = new GSMTwistingSDS(this, lmp); - else if (model_name == "marshall") twisting_model = new GSMTwistingMarshall(this, lmp); - else error->all(FLERR, "Twisting model name {} not recognized", model_name); - sub_models[model_type] = twisting_model; - - } else if (model_type == HEAT) { - delete heat_model; - heat_defined = 1; - if (model_name == "none") { - heat_model = new GSMHeatNone(this, lmp); - heat_defined = 0; - } else if (model_name == "area") heat_model = new GSMHeatArea(this, lmp); - else error->all(FLERR, "Heat model name not {} recognized", model_name); - sub_models[model_type] = heat_model; - } else { - error->all(FLERR, "Illegal model type {}", model_type); + int i; + for (i = 0; i < nclass; i++) { + if (gsmtypes[i] == model_type) { + if (strcmp(gsmnames[i], model_name.c_str()) == 0) { + GSMCreator &gsm_creator = gsmclass[i]; + sub_models[model_type] = gsm_creator(this, lmp); + break; + } + } } + if (i == nclass) + error->all(FLERR, "Illegal model type {}", model_type); + sub_models[model_type]->name.assign(model_name); + sub_models[model_type]->allocate_coeffs(); + + if (model_type == NORMAL) normal_model = dynamic_cast (sub_models[NORMAL]); + if (model_type == DAMPING) damping_model = dynamic_cast (sub_models[DAMPING]); + if (model_type == TANGENTIAL) tangential_model = dynamic_cast (sub_models[TANGENTIAL]); + if (model_type == ROLLING) rolling_model = dynamic_cast (sub_models[ROLLING]); + if (model_type == TWISTING) twisting_model = dynamic_cast (sub_models[TWISTING]); + if (model_type == HEAT) heat_model = dynamic_cast (sub_models[HEAT]); } /* ---------------------------------------------------------------------- */ -int GranularModel::init_classic_model(char **arg, int iarg, int narg) +int GranularModel::define_classic_model(char **arg, int iarg, int narg) { double kn, kt, gamman, gammat, xmu; @@ -212,7 +203,7 @@ int GranularModel::init_classic_model(char **arg, int iarg, int narg) kn /= force->nktv2p; kt /= force->nktv2p; construct_submodel("hertz", NORMAL); - construct_submodel("mindlin", TANGENTIAL); + construct_submodel("mindlin_classic", TANGENTIAL); construct_submodel("viscoelastic", DAMPING); } else error->all(FLERR,"Invalid classic gran model"); @@ -240,8 +231,7 @@ int GranularModel::init_classic_model(char **arg, int iarg, int narg) void GranularModel::init() { - int i, j; - for (i = 0; i < NSUBMODELS; i++) + for (int i = 0; i < NSUBMODELS; i++) if (!sub_models[i]) construct_submodel("none", (SubmodelType) i); // Must have valid normal, damping, and tangential models @@ -249,9 +239,15 @@ void GranularModel::init() if (damping_model->name == "none") error->all(FLERR, "Must specify damping granular model"); if (tangential_model->name == "none") error->all(FLERR, "Must specify tangential granular model"); + // Twisting, rolling, and heat are optional + twisting_defined = rolling_defined = heat_defined = 1; + if (twisting_model->name == "none") twisting_defined = 0; + if (rolling_model->name == "none") rolling_defined = 0; + if (heat_model->name == "none") heat_defined = 0; + int size_cumulative; size_history = 0; - for (i = 0; i < NSUBMODELS; i++) { + for (int i = 0; i < NSUBMODELS; i++) { if (sub_models[i]->nondefault_history_transfer) nondefault_history_transfer = 1; if (sub_models[i]->beyond_contact) @@ -264,7 +260,8 @@ void GranularModel::init() if (nondefault_history_transfer) { transfer_history_factor = new double[size_history]; - for (i = 0; i < size_history; i++) { + int j; + for (int i = 0; i < size_history; i++) { // Find which model owns this history value size_cumulative = 0; for (j = 0; j < NSUBMODELS; j++) { @@ -282,7 +279,7 @@ void GranularModel::init() } } - for (i = 0; i < NSUBMODELS; i++) sub_models[i]->init(); + for (int i = 0; i < NSUBMODELS; i++) sub_models[i]->init(); } /* ---------------------------------------------------------------------- */ diff --git a/src/GRANULAR/granular_model.h b/src/GRANULAR/granular_model.h index cc94f49a1e..afc8f61ddc 100644 --- a/src/GRANULAR/granular_model.h +++ b/src/GRANULAR/granular_model.h @@ -55,8 +55,8 @@ class GranularModel : protected Pointers { void calculate_forces(); double pulloff_distance(double, double); - int init_submodel(char **, int, int, SubmodelType); - int init_classic_model(char **, int, int); + int add_submodel(char **, int, int, SubmodelType); + int define_classic_model(char **, int, int); void construct_submodel(std::string, SubmodelType); int mix_coeffs(GranularModel*, GranularModel*); @@ -99,6 +99,13 @@ class GranularModel : protected Pointers { protected: int rolling_defined, twisting_defined, heat_defined; // Used to quickly skip undefined submodels int classic_model; + + int nclass; + + typedef class GSM *(*GSMCreator)(class GranularModel *, class LAMMPS *); + GSMCreator *gsmclass; + char **gsmnames; + int *gsmtypes; }; } // namespace Granular_NS diff --git a/src/GRANULAR/gsm.cpp b/src/GRANULAR/gsm.cpp index 17b816ad21..6430fb7403 100644 --- a/src/GRANULAR/gsm.cpp +++ b/src/GRANULAR/gsm.cpp @@ -45,7 +45,6 @@ GSM::GSM(class GranularModel *gm, LAMMPS *lmp) : Pointers(lmp) nondefault_history_transfer = 0; transfer_history_factor = nullptr; - allocate_coeffs(); } /* ---------------------------------------------------------------------- */ diff --git a/src/GRANULAR/gsm_damping.h b/src/GRANULAR/gsm_damping.h index ab12cbc2d3..1904314cdc 100644 --- a/src/GRANULAR/gsm_damping.h +++ b/src/GRANULAR/gsm_damping.h @@ -11,6 +11,30 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +#ifdef GSM_CLASS +// clang-format off +GSMStyle(none, + GSMDampingNone, + DAMPING); + +GSMStyle(velocity, + GSMDampingVelocity, + DAMPING); + +GSMStyle(mass_velocity, + GSMDampingMassVelocity, + DAMPING); + +GSMStyle(viscoelastic, + GSMDampingViscoelastic, + DAMPING); + +GSMStyle(tsuji, + GSMDampingTsuji, + DAMPING); +// clang-format on +#else + #ifndef GSM_DAMPING_H_ #define GSM_DAMPING_H_ @@ -77,3 +101,4 @@ class GSMDampingTsuji : public GSMDamping { } // namespace LAMMPS_NS #endif /*GSM_DAMPING_H_ */ +#endif /*GSM_CLASS_H_ */ diff --git a/src/GRANULAR/gsm_heat.h b/src/GRANULAR/gsm_heat.h index f397d555b6..4b27979273 100644 --- a/src/GRANULAR/gsm_heat.h +++ b/src/GRANULAR/gsm_heat.h @@ -11,6 +11,18 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +#ifdef GSM_CLASS +// clang-format off +GSMStyle(none, + GSMHeatNone, + HEAT); + +GSMStyle(area, + GSMHeatArea, + HEAT); +// clang-format on +#else + #ifndef GSM_HEAT_H_ #define GSM_HEAT_H_ @@ -51,3 +63,4 @@ class GSMHeatArea : public GSMHeat { } // namespace LAMMPS_NS #endif /*GSM_HEAT_H_ */ +#endif /*GSM_CLASS_H_ */ diff --git a/src/GRANULAR/gsm_normal.h b/src/GRANULAR/gsm_normal.h index 31587dfd03..0c7ba30e41 100644 --- a/src/GRANULAR/gsm_normal.h +++ b/src/GRANULAR/gsm_normal.h @@ -11,6 +11,34 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +#ifdef GSM_CLASS +// clang-format off +GSMStyle(none, + GSMNormalNone, + NORMAL); + +GSMStyle(hooke, + GSMNormalHooke, + NORMAL); + +GSMStyle(hertz, + GSMNormalHertz, + NORMAL); + +GSMStyle(hertz/material, + GSMNormalHertzMaterial, + NORMAL); + +GSMStyle(dmt, + GSMNormalDMT, + NORMAL); + +GSMStyle(jkr, + GSMNormalJKR, + NORMAL); +// clang-format on +#else + #ifndef GSM_NORMAL_H_ #define GSM_NORMAL_H_ @@ -116,3 +144,4 @@ class GSMNormalJKR : public GSMNormal { } // namespace LAMMPS_NS #endif /*GSM_NORMAL_H_ */ +#endif /*GSM_CLASS_H_ */ diff --git a/src/GRANULAR/gsm_rolling.h b/src/GRANULAR/gsm_rolling.h index 44f45b583d..21e61ac4bc 100644 --- a/src/GRANULAR/gsm_rolling.h +++ b/src/GRANULAR/gsm_rolling.h @@ -11,6 +11,18 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +#ifdef GSM_CLASS +// clang-format off +GSMStyle(none, + GSMRollingNone, + ROLLING); + +GSMStyle(sds, + GSMRollingSDS, + ROLLING); +// clang-format on +#else + #ifndef GSM_ROLLING_H_ #define GSM_ROLLING_H_ @@ -51,3 +63,4 @@ class GSMRollingSDS : public GSMRolling { } // namespace LAMMPS_NS #endif /*GSM_ROLLING_H_ */ +#endif /*GSM_CLASS_H_ */ diff --git a/src/GRANULAR/gsm_tangential.cpp b/src/GRANULAR/gsm_tangential.cpp index 1f6213d708..b3e6266049 100644 --- a/src/GRANULAR/gsm_tangential.cpp +++ b/src/GRANULAR/gsm_tangential.cpp @@ -172,13 +172,10 @@ GSMTangentialLinearHistoryClassic::GSMTangentialLinearHistoryClassic(GranularMod void GSMTangentialLinearHistoryClassic::calculate_forces() { - double k_scaled, magfs, magfs_inv, rsht, shrmag, prjmag, temp_dbl; + double magfs, magfs_inv, rsht, shrmag, prjmag, temp_dbl; double temp_array[3]; int frame_update = 0; - k_scaled = k; - if (scale_area) k_scaled *= gm->area; - damp = xt * gm->damping_model->damp_prefactor; double Fscrit = gm->normal_model->Fncrit * mu; @@ -200,7 +197,8 @@ void GSMTangentialLinearHistoryClassic::calculate_forces() } // tangential forces = history + tangential velocity damping - scale3(-k_scaled, history, gm->fs); + if (scale_area) scale3(-k * gm->area, history, gm->fs); + else scale3(-k, history, gm->fs); scale3(damp, gm->vtr, temp_array); sub3(gm->fs, temp_array, gm->fs); @@ -212,9 +210,7 @@ void GSMTangentialLinearHistoryClassic::calculate_forces() scale3(Fscrit * magfs_inv, gm->fs, history); scale3(damp, gm->vtr, temp_array); add3(history, temp_array, history); - temp_dbl = -1.0 / k_scaled; - if (scale_area) temp_dbl /= gm->area; - scale3(temp_dbl, history); + scale3(-1.0 / k, history); scale3(Fscrit * magfs_inv, gm->fs); } else { zero3(gm->fs); diff --git a/src/GRANULAR/gsm_tangential.h b/src/GRANULAR/gsm_tangential.h index 8e1d644fea..a420c7d314 100644 --- a/src/GRANULAR/gsm_tangential.h +++ b/src/GRANULAR/gsm_tangential.h @@ -11,6 +11,46 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +#ifdef GSM_CLASS +// clang-format off +GSMStyle(none, + GSMTangentialNone, + TANGENTIAL); + +GSMStyle(linear_nohistory, + GSMTangentialLinearNoHistory, + TANGENTIAL); + +GSMStyle(linear_history, + GSMTangentialLinearHistory, + TANGENTIAL); + +GSMStyle(linear_history_classic, + GSMTangentialLinearHistoryClassic, + TANGENTIAL); + +GSMStyle(mindlin_classic, + GSMTangentialMindlinClassic, + TANGENTIAL); + +GSMStyle(mindlin, + GSMTangentialMindlin, + TANGENTIAL); + +GSMStyle(mindlin/force, + GSMTangentialMindlinForce, + TANGENTIAL); + +GSMStyle(mindlin_rescale, + GSMTangentialMindlinRescale, + TANGENTIAL); + +GSMStyle(mindlin_rescale/force, + GSMTangentialMindlinRescaleForce, + TANGENTIAL); +// clang-format on +#else + #ifndef GSM_TANGENTIAL_H_ #define GSM_TANGENTIAL_H_ @@ -111,3 +151,4 @@ class GSMTangentialMindlinRescaleForce : public GSMTangentialMindlin { } // namespace LAMMPS_NS #endif /*GSM_TANGENTIAL_H_ */ +#endif /*GSM_CLASS_H_ */ diff --git a/src/GRANULAR/gsm_twisting.h b/src/GRANULAR/gsm_twisting.h index 9fb859df08..84759acce7 100644 --- a/src/GRANULAR/gsm_twisting.h +++ b/src/GRANULAR/gsm_twisting.h @@ -11,6 +11,22 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +#ifdef GSM_CLASS +// clang-format off +GSMStyle(none, + GSMTwistingNone, + TWISTING); + +GSMStyle(marshall, + GSMTwistingMarshall, + TWISTING); + +GSMStyle(sds, + GSMTwistingSDS, + TWISTING); +// clang-format on +#else + #ifndef GSM_TWISTING_H_ #define GSM_TWISTING_H_ @@ -62,3 +78,4 @@ class GSMTwistingSDS : public GSMTwisting { } // namespace LAMMPS_NS #endif /*GSM_TWISTING_H_ */ +#endif /*GSM_CLASS_H_ */ diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index 6264d8baeb..a6fcde4589 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -340,22 +340,22 @@ void PairGranular::coeff(int narg, char **arg) //Parse mandatory specification int iarg = 2; - iarg = vec_models.back().init_submodel(arg, iarg, narg, NORMAL); + iarg = vec_models.back().add_submodel(arg, iarg, narg, NORMAL); //Parse optional arguments while (iarg < narg) { if (strcmp(arg[iarg], "tangential") == 0) { - iarg = vec_models.back().init_submodel(arg, iarg + 1, narg, TANGENTIAL); + iarg = vec_models.back().add_submodel(arg, iarg + 1, narg, TANGENTIAL); } else if (strcmp(arg[iarg], "damping") == 0) { - iarg = vec_models.back().init_submodel(arg, iarg + 1, narg, DAMPING); + iarg = vec_models.back().add_submodel(arg, iarg + 1, narg, DAMPING); } else if (strcmp(arg[iarg], "rolling") == 0) { - iarg = vec_models.back().init_submodel(arg, iarg + 1, narg, ROLLING); + iarg = vec_models.back().add_submodel(arg, iarg + 1, narg, ROLLING); } else if (strcmp(arg[iarg], "twisting") == 0) { - iarg = vec_models.back().init_submodel(arg, iarg + 1, narg, TWISTING); + iarg = vec_models.back().add_submodel(arg, iarg + 1, narg, TWISTING); } else if (strcmp(arg[iarg], "heat") == 0) { - iarg = vec_models.back().init_submodel(arg, iarg + 1, narg, HEAT); + iarg = vec_models.back().add_submodel(arg, iarg + 1, narg, HEAT); heat_flag = 1; } else if (strcmp(arg[iarg], "cutoff") == 0) { if (iarg + 1 >= narg) diff --git a/src/Make.sh b/src/Make.sh index 0fe39f0224..da034f8226 100755 --- a/src/Make.sh +++ b/src/Make.sh @@ -104,6 +104,7 @@ if (test $cmd = "style") || (test $cmd = "packages") then $cmd DIHEDRAL_CLASS dihedral_ dihedral force $cmd DUMP_CLASS dump_ dump output write_dump $cmd FIX_CLASS fix_ fix modify + $cmd GSM_CLASS gsm_ gsm granular_model $cmd IMPROPER_CLASS improper_ improper force $cmd INTEGRATE_CLASS "" integrate update $cmd KSPACE_CLASS "" kspace force From f66179f3364d2df1fc034aaf37f84e95d7b31712 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Fri, 28 Oct 2022 16:38:32 -0600 Subject: [PATCH 032/448] Removing old contact files, fixing capitalization in dump_custom.cpp --- src/contact.cpp | 479 ------------------------------ src/contact.h | 107 ------- src/contact_damping_models.cpp | 113 ------- src/contact_damping_models.h | 79 ----- src/contact_heat_models.cpp | 63 ---- src/contact_heat_models.h | 53 ---- src/contact_normal_models.cpp | 377 ----------------------- src/contact_normal_models.h | 118 -------- src/contact_rolling_models.cpp | 121 -------- src/contact_rolling_models.h | 53 ---- src/contact_sub_models.cpp | 140 --------- src/contact_sub_models.h | 62 ---- src/contact_tangential_models.cpp | 412 ------------------------- src/contact_tangential_models.h | 113 ------- src/contact_twisting_models.cpp | 124 -------- src/contact_twisting_models.h | 64 ---- src/dump_custom.cpp | 6 +- 17 files changed, 3 insertions(+), 2481 deletions(-) delete mode 100644 src/contact.cpp delete mode 100644 src/contact.h delete mode 100644 src/contact_damping_models.cpp delete mode 100644 src/contact_damping_models.h delete mode 100644 src/contact_heat_models.cpp delete mode 100644 src/contact_heat_models.h delete mode 100644 src/contact_normal_models.cpp delete mode 100644 src/contact_normal_models.h delete mode 100644 src/contact_rolling_models.cpp delete mode 100644 src/contact_rolling_models.h delete mode 100644 src/contact_sub_models.cpp delete mode 100644 src/contact_sub_models.h delete mode 100644 src/contact_tangential_models.cpp delete mode 100644 src/contact_tangential_models.h delete mode 100644 src/contact_twisting_models.cpp delete mode 100644 src/contact_twisting_models.h diff --git a/src/contact.cpp b/src/contact.cpp deleted file mode 100644 index ae294d7db9..0000000000 --- a/src/contact.cpp +++ /dev/null @@ -1,479 +0,0 @@ -// clang-format off -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -/* ---------------------------------------------------------------------- - This class contains a series of tools for DEM contacts - Multiple models can be defined and used to calculate forces - and torques based on contact geometry - - Contributing authors: - Dan Bolintineanu (SNL), Joel Clemmer (SNL) ------------------------------------------------------------------------ */ - -#include "contact.h" -#include "contact_sub_models.h" -#include "contact_normal_models.h" -#include "contact_tangential_models.h" -#include "contact_damping_models.h" -#include "contact_rolling_models.h" -#include "contact_twisting_models.h" -#include "contact_heat_models.h" -#include "comm.h" -#include "error.h" -#include "force.h" -#include "math_extra.h" - -#include - -using namespace LAMMPS_NS; -using namespace Contact; -using namespace MathExtra; - -ContactModel::ContactModel(LAMMPS *lmp) : Pointers(lmp) -{ - limit_damping = 0; - beyond_contact = 0; - nondefault_history_transfer = 0; - classic_model = 0; - contact_type = PAIR; - - normal_model = nullptr; - damping_model = nullptr; - tangential_model = nullptr; - rolling_model = nullptr; - twisting_model = nullptr; - heat_model = nullptr; - - for (int i = 0; i < NSUBMODELS; i++) sub_models[i] = nullptr; - transfer_history_factor = nullptr; -} - -/* ---------------------------------------------------------------------- */ - -ContactModel::~ContactModel() -{ - delete [] transfer_history_factor; - - delete normal_model; - delete damping_model; - delete tangential_model; - delete rolling_model; - delete twisting_model; - delete heat_model; -} - -/* ---------------------------------------------------------------------- */ - -void ContactModel::init_model(std::string model_name, ModelType model_type) -{ - if (model_type == NORMAL) { - delete normal_model; - if (model_name == "none") normal_model = new NormalNone(lmp); - else if (model_name == "hooke") normal_model = new NormalHooke(lmp); - else if (model_name == "hertz") normal_model = new NormalHertz(lmp); - else if (model_name == "hertz/material") normal_model = new NormalHertzMaterial(lmp); - else if (model_name == "dmt") normal_model = new NormalDMT(lmp); - else if (model_name == "jkr") normal_model = new NormalJKR(lmp); - else error->all(FLERR, "Normal model name {} not recognized", model_name); - sub_models[model_type] = normal_model; - - } else if (model_type == TANGENTIAL) { - delete tangential_model; - if (model_name == "none") tangential_model = new TangentialNone(lmp); - else if (model_name == "linear_nohistory") tangential_model = new TangentialLinearNoHistory(lmp); - else if (model_name == "linear_history") tangential_model = new TangentialLinearHistory(lmp); - else if (model_name == "linear_history_classic") tangential_model = new TangentialLinearHistoryClassic(lmp); - else if (model_name == "mindlin") tangential_model = new TangentialMindlin(lmp); - else if (model_name == "mindlin/force") tangential_model = new TangentialMindlinForce(lmp); - else if (model_name == "mindlin_rescale") tangential_model = new TangentialMindlinRescale(lmp); - else if (model_name == "mindlin_rescale/force") tangential_model = new TangentialMindlinRescaleForce(lmp); - else error->all(FLERR, "Tangential model name {} not recognized", model_name); - sub_models[model_type] = tangential_model; - - } else if (model_type == DAMPING) { - delete damping_model; - if (model_name == "none") damping_model = new DampingNone(lmp); - else if (model_name == "velocity") damping_model = new DampingVelocity(lmp); - else if (model_name == "mass_velocity") damping_model = new DampingMassVelocity(lmp); - else if (model_name == "viscoelastic") damping_model = new DampingViscoelastic(lmp); - else if (model_name == "tsuji") damping_model = new DampingTsuji(lmp); - else error->all(FLERR, "Damping model name {} not recognized", model_name); - sub_models[model_type] = damping_model; - - } else if (model_type == ROLLING) { - delete rolling_model; - rolling_defined = 1; - if (model_name == "none") { - rolling_model = new RollingNone(lmp); - rolling_defined = 0; - } else if (model_name == "sds") rolling_model = new RollingSDS(lmp); - else error->all(FLERR, "Rolling model name {} not recognized", model_name); - sub_models[model_type] = rolling_model; - - } else if (model_type == TWISTING) { - delete twisting_model; - twisting_defined = 1; - if (model_name == "none") { - twisting_model = new TwistingNone(lmp); - twisting_defined = 0; - } else if (model_name == "sds") twisting_model = new TwistingSDS(lmp); - else if (model_name == "marshall") twisting_model = new TwistingMarshall(lmp); - else error->all(FLERR, "Twisting model name {} not recognized", model_name); - sub_models[model_type] = twisting_model; - - } else if (model_type == HEAT) { - delete heat_model; - heat_defined = 1; - if (model_name == "none") { - heat_model = new HeatNone(lmp); - heat_defined = 0; - } else if (model_name == "area") heat_model = new HeatArea(lmp); - else error->all(FLERR, "Heat model name not {} recognized", model_name); - sub_models[model_type] = heat_model; - } else { - error->all(FLERR, "Illegal model type {}", model_type); - } - - sub_models[model_type]->name.assign(model_name); - sub_models[model_type]->contact = this; - sub_models[model_type]->allocate_coeffs(); -} - -/* ---------------------------------------------------------------------- */ - -int ContactModel::init_classic_model(char **arg, int iarg, int narg) -{ - double kn, kt, gamman, gammat, xmu; - - classic_model = 1; - - if (iarg + 6 >= narg) - error->all(FLERR,"Insufficient arguments provided for classic gran model command"); - - kn = utils::numeric(FLERR,arg[iarg + 1],false,lmp); - if (strcmp(arg[iarg + 2],"NULL") == 0) kt = kn * 2.0 / 7.0; - else kt = utils::numeric(FLERR,arg[iarg + 2],false,lmp); - - gamman = utils::numeric(FLERR,arg[iarg + 3],false,lmp); - if (strcmp(arg[iarg + 4],"NULL") == 0) gammat = 0.5 * gamman; - else gammat = utils::numeric(FLERR,arg[iarg + 4],false,lmp); - - xmu = utils::numeric(FLERR,arg[iarg + 5],false,lmp); - int dampflag = utils::inumeric(FLERR,arg[iarg + 6],false,lmp); - if (dampflag == 0) gammat = 0.0; - - if (kn < 0.0 || kt < 0.0 || gamman < 0.0 || gammat < 0.0 || - xmu < 0.0 || xmu > 10000.0 || dampflag < 0 || dampflag > 1) - error->all(FLERR,"Illegal classic gran model command"); - - if (strcmp(arg[iarg],"hooke") == 0) { - init_model("hooke", NORMAL); - init_model("linear_nohistory", TANGENTIAL); - init_model("mass_velocity", DAMPING); - } else if (strcmp(arg[iarg],"hooke/history") == 0) { - init_model("hooke", NORMAL); - init_model("linear_history_classic", TANGENTIAL); - init_model("mass_velocity", DAMPING); - } else if (strcmp(arg[iarg],"hertz/history") == 0) { - // convert Kn and Kt from pressure units to force/distance^2 if Hertzian - kn /= force->nktv2p; - kt /= force->nktv2p; - init_model("hertz", NORMAL); - init_model("mindlin", TANGENTIAL); - init_model("viscoelastic", DAMPING); - } else error->all(FLERR,"Invalid classic gran model"); - - // ensure additional models are undefined - init_model("none", ROLLING); - init_model("none", TWISTING); - init_model("none", HEAT); - - // manually parse coeffs - normal_model->coeffs[0] = kn; - normal_model->coeffs[1] = gamman; - tangential_model->coeffs[0] = kt; - tangential_model->coeffs[1] = gammat / gamman; - tangential_model->coeffs[2] = xmu; - - normal_model->coeffs_to_local(); - tangential_model->coeffs_to_local(); - damping_model->coeffs_to_local(); - - iarg += 7; - return iarg; -} - -/* ---------------------------------------------------------------------- */ - -void ContactModel::init() -{ - int i, j; - for (i = 0; i < NSUBMODELS; i++) - if (!sub_models[i]) init_model("none", (ModelType) i); - - // Must have valid normal, damping, and tangential models - if (normal_model->name == "none") error->all(FLERR, "Must specify normal contact model"); - if (damping_model->name == "none") error->all(FLERR, "Must specify damping contact model"); - if (tangential_model->name == "none") error->all(FLERR, "Must specify tangential contact model"); - - int size_cumulative; - size_history = 0; - for (i = 0; i < NSUBMODELS; i++) { - if (sub_models[i]->nondefault_history_transfer) - nondefault_history_transfer = 1; - if (sub_models[i]->beyond_contact) - beyond_contact = 1; - size_history += sub_models[i]->size_history; - } - - if (nondefault_history_transfer) { - transfer_history_factor = new double[size_history]; - - for (i = 0; i < size_history; i++) { - // Find which model owns this history value - size_cumulative = 0; - for (j = 0; j < NSUBMODELS; j++) { - if (size_cumulative + sub_models[j]->size_history > i) break; - size_cumulative += sub_models[j]->size_history; - } - - // Check if model has nondefault transfers, if so copy its array - transfer_history_factor[i] = -1; - if (j != NSUBMODELS) { - if (sub_models[j]->nondefault_history_transfer) { - transfer_history_factor[i] = sub_models[j]->transfer_history_factor[i - size_cumulative]; - } - } - } - } - - for (i = 0; i < NSUBMODELS; i++) sub_models[i]->init(); -} - -/* ---------------------------------------------------------------------- */ - -int ContactModel::mix_coeffs(ContactModel *c1, ContactModel *c2) -{ - int i; - for (i = 0; i < NSUBMODELS; i++) { - if (c1->sub_models[i]->name != c2->sub_models[i]->name) return i; - - init_model(c1->sub_models[i]->name, (ModelType) i); - sub_models[i]->mix_coeffs(c1->sub_models[i]->coeffs, c2->sub_models[i]->coeffs); - } - - limit_damping = MAX(c1->limit_damping, c2->limit_damping); - - return -1; -} - -/* ---------------------------------------------------------------------- */ - -void ContactModel::write_restart(FILE *fp) -{ - int num_char, num_coeffs; - - for (int i = 0; i < NSUBMODELS; i++) { - num_char = sub_models[i]->name.length(); - num_coeffs = sub_models[i]->num_coeffs; - fwrite(&num_char, sizeof(int), 1, fp); - fwrite(sub_models[i]->name.data(), sizeof(char), num_char, fp); - fwrite(&num_coeffs, sizeof(int), 1, fp); - fwrite(sub_models[i]->coeffs, sizeof(double), num_coeffs, fp); - } -} - -/* ---------------------------------------------------------------------- */ - -void ContactModel::read_restart(FILE *fp) -{ - int num_char, num_coeff; - - for (int i = 0; i < NSUBMODELS; i++) { - if (comm->me == 0) - utils::sfread(FLERR, &num_char, sizeof(int), 1, fp, nullptr, error); - MPI_Bcast(&num_char, 1, MPI_INT, 0, world); - - std::string model_name (num_char, ' '); - if (comm->me == 0) - utils::sfread(FLERR, const_cast(model_name.data()), sizeof(char),num_char, fp, nullptr, error); - MPI_Bcast(const_cast(model_name.data()), num_char, MPI_CHAR, 0, world); - - init_model(model_name, (ModelType) i); - - if (comm->me == 0) { - utils::sfread(FLERR, &num_coeff, sizeof(int), 1, fp, nullptr, error); - if (num_coeff != sub_models[i]->num_coeffs) - error->one(FLERR, "Invalid contact model written to restart file"); - } - MPI_Bcast(&num_coeff, 1, MPI_INT, 0, world); - - if (comm->me == 0) { - utils::sfread(FLERR, sub_models[i]->coeffs, sizeof(double), num_coeff, fp, nullptr, error); - } - MPI_Bcast(sub_models[i]->coeffs, num_coeff, MPI_DOUBLE, 0, world); - sub_models[i]->coeffs_to_local(); - } -} - -/* ---------------------------------------------------------------------- */ - -bool ContactModel::check_contact() -{ - if (contact_type == WALL) { - // Used by fix_wall_gran.cpp - // radj = radius of wall - // dx already provided - rsq = lensq3(dx); - radsum = radi; - if (radj == 0) Reff = radi; - else Reff = radi * radj / (radi + radj); - } else if (contact_type == WALLREGION) { - // Used by fix_wall_gran_region.cpp - // radj = radius of wall - // dx and r already provided - rsq = r * r; - radsum = radi; - if (radj == 0) Reff = radi; - else Reff = radi * radj / (radi + radj); - } else { - sub3(xi, xj, dx); - rsq = lensq3(dx); - radsum = radi + radj; - Reff = radi * radj / radsum; - } - - touch = normal_model->touch(); - return touch; -} - -/* ---------------------------------------------------------------------- */ - -void ContactModel::prep_contact() -{ - double temp[3]; - - // Standard geometric quantities - if (contact_type != WALLREGION) r = sqrt(rsq); - rinv = 1.0 / r; - delta = radsum - r; - dR = delta * Reff; - scale3(rinv, dx, nx); - - // relative translational velocity - sub3(vi, vj, vr); - - // normal component - vnnr = dot3(vr, nx); //v_R . n - scale3(vnnr, nx, vn); - - // tangential component - sub3(vr, vn, vt); - - // relative rotational velocity - scaleadd3(radi, omegai, radj, omegaj, wr); - - // relative tangential velocities - cross3(wr, nx, temp); - sub3(vt, temp, vtr); - vrel = len3(vtr); - - if (rolling_defined || twisting_defined) - sub3(omegai, omegaj, relrot); - - if (rolling_defined) { - // rolling velocity, see eq. 31 of Wang et al, Particuology v 23, p 49 (2015) - // this is different from the Marshall papers, which use the Bagi/Kuhn formulation - // for rolling velocity (see Wang et al for why the latter is wrong) - vrl[0] = Reff * (relrot[1] * nx[2] - relrot[2] * nx[1]); - vrl[1] = Reff * (relrot[2] * nx[0] - relrot[0] * nx[2]); - vrl[2] = Reff * (relrot[0] * nx[1] - relrot[1] * nx[0]); - } - - if (twisting_defined) { - // omega_T (eq 29 of Marshall) - magtwist = dot3(relrot, nx); - } -} - -/* ---------------------------------------------------------------------- */ - -void ContactModel::calculate_forces() -{ - // calculate forces/torques - - forces[0] = 0.0; - double Fne, Fdamp, dist_to_contact; - area = normal_model->calculate_area(); - normal_model->set_knfac(); - Fne = normal_model->calculate_forces(); - - Fdamp = damping_model->calculate_forces(); - Fntot = Fne + Fdamp; - if (limit_damping && Fntot < 0.0) Fntot = 0.0; - - normal_model->set_fncrit(); // Needed for tangential, rolling, twisting - tangential_model->calculate_forces(); - if (rolling_defined) rolling_model->calculate_forces(); - if (twisting_defined) twisting_model->calculate_forces(); - - // sum contributions - - scale3(Fntot, nx, forces); - add3(forces, fs, forces); - - //May need to rethink eventually tris.. - cross3(nx, fs, torquesi); - scale3(-1, torquesi); - if (contact_type == PAIR) copy3(torquesi, torquesj); - - if (!classic_model && contact_type == PAIR) { - dist_to_contact = radi - 0.5 * delta; - scale3(dist_to_contact, torquesi); - dist_to_contact = radj - 0.5 * delta; - scale3(dist_to_contact, torquesj); - } else { - dist_to_contact = radi; - scale3(dist_to_contact, torquesi); - } - - double torroll[3]; - if (rolling_defined) { - cross3(nx, fr, torroll); - scale3(Reff, torroll); - add3(torquesi, torroll, torquesi); - if (contact_type == PAIR) sub3(torquesj, torroll, torquesj); - } - - double tortwist[3]; - if (twisting_defined) { - scale3(magtortwist, nx, tortwist); - add3(torquesi, tortwist, torquesi); - if (contact_type == PAIR) sub3(torquesj, tortwist, torquesj); - } - - if (heat_defined) { - dq = heat_model->calculate_heat(); - } -} - -/* ---------------------------------------------------------------------- - compute pull-off distance (beyond contact) for a given radius and atom type - use temporary variables since this does not use a specific contact geometry -------------------------------------------------------------------------- */ - -double ContactModel::pulloff_distance(double radi, double radj) -{ - return normal_model->pulloff_distance(radi, radj); -} diff --git a/src/contact.h b/src/contact.h deleted file mode 100644 index d1a13c5eb1..0000000000 --- a/src/contact.h +++ /dev/null @@ -1,107 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifndef LMP_CONTACT_H -#define LMP_CONTACT_H - -#include "pointers.h" // IWYU pragma: export - -namespace LAMMPS_NS { -namespace Contact { - -#define EPSILON 1e-10 -#define NSUBMODELS 6 - -enum ModelType { - NORMAL = 0, - DAMPING = 1, - TANGENTIAL = 2, - ROLLING = 3, - TWISTING = 4, - HEAT = 5 -}; // Relative order matters since some derive coeffs from others - -enum ContactType { - PAIR = 0, - WALL = 1, - WALLREGION = 2 -}; - -// forward declaration -class NormalModel; -class DampingModel; -class TangentialModel; -class RollingModel; -class TwistingModel; -class HeatModel; -class SubModel; - -class ContactModel : protected Pointers { - public: - ContactModel(class LAMMPS *); - ~ContactModel(); - void init(); - bool check_contact(); - void prep_contact(); - void calculate_forces(); - double pulloff_distance(double, double); - - void init_model(std::string, ModelType); - int init_classic_model(char **, int, int); - int mix_coeffs(ContactModel*, ContactModel*); - - void write_restart(FILE *); - void read_restart(FILE *); - - // Sub models - NormalModel *normal_model; - DampingModel *damping_model; - TangentialModel *tangential_model; - RollingModel *rolling_model; - TwistingModel *twisting_model; - HeatModel *heat_model; - SubModel *sub_models[NSUBMODELS]; // Need to resize if we add more model flavors - - // Extra options - int beyond_contact, limit_damping, history_update; - ContactType contact_type; - - // History variables - int size_history, nondefault_history_transfer; - double *transfer_history_factor; - double *history; - - // Contact properties/output - double forces[3], torquesi[3], torquesj[3], dq; - - double radi, radj, meff, dt, Ti, Tj, area; - double Fntot, magtortwist; - - int i, j; - double *xi, *xj, *vi, *vj, *omegai, *omegaj; - double fs[3], fr[3], ft[3]; - - double dx[3], nx[3], r, rsq, rinv, Reff, radsum, delta, dR; - double vr[3], vn[3], vnnr, vt[3], wr[3], vtr[3], vrl[3], relrot[3], vrel; - double magtwist; - bool touch; - - protected: - int rolling_defined, twisting_defined, heat_defined; // Used to quickly skip undefined submodels - int classic_model; -}; - -} // namespace Contact -} // namespace LAMMPS_NS - -#endif diff --git a/src/contact_damping_models.cpp b/src/contact_damping_models.cpp deleted file mode 100644 index 07b6b88649..0000000000 --- a/src/contact_damping_models.cpp +++ /dev/null @@ -1,113 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#include "contact_damping_models.h" -#include "contact_normal_models.h" -#include "contact.h" -#include "math_special.h" - -using namespace LAMMPS_NS; -using namespace Contact; -using namespace MathSpecial; - -/* ---------------------------------------------------------------------- - Default damping model -------------------------------------------------------------------------- */ - -DampingModel::DampingModel(LAMMPS *lmp) : SubModel(lmp) {} - -/* ---------------------------------------------------------------------- */ - -void DampingModel::init() -{ - damp = contact->normal_model->damp; -} - -/* ---------------------------------------------------------------------- - No model -------------------------------------------------------------------------- */ - -DampingNone::DampingNone(LAMMPS *lmp) : DampingModel(lmp) {} - -/* ---------------------------------------------------------------------- */ - -double DampingNone::calculate_forces() -{ - return 0.0; -} - -/* ---------------------------------------------------------------------- - Velocity damping -------------------------------------------------------------------------- */ - -DampingVelocity::DampingVelocity(LAMMPS *lmp) : DampingModel(lmp) {} - -/* ---------------------------------------------------------------------- */ - -double DampingVelocity::calculate_forces() -{ - damp_prefactor = damp; - return -damp_prefactor * contact->vnnr; -} - -/* ---------------------------------------------------------------------- - Mass velocity damping -------------------------------------------------------------------------- */ - -DampingMassVelocity::DampingMassVelocity(LAMMPS *lmp) : DampingModel(lmp) {} - -/* ---------------------------------------------------------------------- */ - -double DampingMassVelocity::calculate_forces() -{ - damp_prefactor = damp * contact->meff; - return -damp_prefactor * contact->vnnr; -} - -/* ---------------------------------------------------------------------- - Default, viscoelastic damping -------------------------------------------------------------------------- */ - -DampingViscoelastic::DampingViscoelastic(LAMMPS *lmp) : DampingModel(lmp) {} - -/* ---------------------------------------------------------------------- */ - -double DampingViscoelastic::calculate_forces() -{ - damp_prefactor = damp * contact->meff * contact->area; - return -damp_prefactor * contact->vnnr; -} - -/* ---------------------------------------------------------------------- - Tsuji damping -------------------------------------------------------------------------- */ - -DampingTsuji::DampingTsuji(LAMMPS *lmp) : DampingModel(lmp) {} - -/* ---------------------------------------------------------------------- */ - -void DampingTsuji::init() -{ - double tmp = contact->normal_model->damp; - damp = 1.2728 - 4.2783 * tmp + 11.087 * square(tmp); - damp += -22.348 * cube(tmp)+ 27.467 * powint(tmp, 4); - damp += -18.022 * powint(tmp, 5) + 4.8218 * powint(tmp,6); -} - -/* ---------------------------------------------------------------------- */ - -double DampingTsuji::calculate_forces() -{ - damp_prefactor = damp * sqrt(contact->meff * contact->normal_model->knfac); - return -damp_prefactor * contact->vnnr; -} diff --git a/src/contact_damping_models.h b/src/contact_damping_models.h deleted file mode 100644 index 222e901160..0000000000 --- a/src/contact_damping_models.h +++ /dev/null @@ -1,79 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifndef CONTACT_DAMPING_MODELS_H_ -#define CONTACT_DAMPING_MODELS_H_ - -#include "contact_sub_models.h" -#include "pointers.h" - -namespace LAMMPS_NS { -namespace Contact { - -class DampingModel : public SubModel { - public: - DampingModel(class LAMMPS *); - ~DampingModel() {}; - virtual void coeffs_to_local() {}; - virtual void mix_coeffs(double*, double*) {}; - virtual void init(); - virtual double calculate_forces() = 0; - double damp, damp_prefactor; -}; - -/* ---------------------------------------------------------------------- */ - -class DampingNone : public DampingModel { - public: - DampingNone(class LAMMPS *); - void init() override {}; - double calculate_forces(); -}; - -/* ---------------------------------------------------------------------- */ - -class DampingVelocity : public DampingModel { - public: - DampingVelocity(class LAMMPS *); - double calculate_forces(); -}; - -/* ---------------------------------------------------------------------- */ - -class DampingMassVelocity : public DampingModel { - public: - DampingMassVelocity(class LAMMPS *); - double calculate_forces(); -}; - -/* ---------------------------------------------------------------------- */ - -class DampingViscoelastic : public DampingModel { - public: - DampingViscoelastic(class LAMMPS *); - double calculate_forces(); -}; - -/* ---------------------------------------------------------------------- */ - -class DampingTsuji : public DampingModel { - public: - DampingTsuji(class LAMMPS *); - void init() override; - double calculate_forces(); -}; - -} // namespace Contact -} // namespace LAMMPS_NS - -#endif /*CONTACT_DAMPING_MODELS_H_ */ diff --git a/src/contact_heat_models.cpp b/src/contact_heat_models.cpp deleted file mode 100644 index 1804ece9df..0000000000 --- a/src/contact_heat_models.cpp +++ /dev/null @@ -1,63 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#include "contact_heat_models.h" -#include "contact.h" -#include "error.h" - -using namespace LAMMPS_NS; -using namespace Contact; - -/* ---------------------------------------------------------------------- - Default heat conduction -------------------------------------------------------------------------- */ - -HeatModel::HeatModel(LAMMPS *lmp) : SubModel(lmp) {} - -/* ---------------------------------------------------------------------- - Area-based heat conduction -------------------------------------------------------------------------- */ - -HeatNone::HeatNone(LAMMPS *lmp) : HeatModel(lmp) {} - -/* ---------------------------------------------------------------------- */ - -double HeatNone::calculate_heat() -{ - return 0.0; -} - -/* ---------------------------------------------------------------------- - Area-based heat conduction -------------------------------------------------------------------------- */ - -HeatArea::HeatArea(LAMMPS *lmp) : HeatModel(lmp) -{ - num_coeffs = 1; -} - -/* ---------------------------------------------------------------------- */ - -void HeatArea::coeffs_to_local() -{ - conductivity = coeffs[0]; - - if (conductivity < 0.0) error->all(FLERR, "Illegal area heat model"); -} - -/* ---------------------------------------------------------------------- */ - -double HeatArea::calculate_heat() -{ - return conductivity * contact->area * (contact->Tj - contact->Ti); -} diff --git a/src/contact_heat_models.h b/src/contact_heat_models.h deleted file mode 100644 index 5a0d495810..0000000000 --- a/src/contact_heat_models.h +++ /dev/null @@ -1,53 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifndef CONTACT_HEAT_MODELS_H_ -#define CONTACT_HEAT_MODELS_H_ - -#include "contact_sub_models.h" - -namespace LAMMPS_NS { -namespace Contact { - -class HeatModel : public SubModel { - public: - HeatModel(class LAMMPS *); - ~HeatModel() {}; - virtual void coeffs_to_local() {}; - virtual void init() {}; - virtual double calculate_heat() = 0; -}; - -/* ---------------------------------------------------------------------- */ - -class HeatNone : public HeatModel { - public: - HeatNone(class LAMMPS *); - double calculate_heat(); -}; - -/* ---------------------------------------------------------------------- */ - -class HeatArea : public HeatModel { - public: - HeatArea(class LAMMPS *); - void coeffs_to_local() override; - double calculate_heat(); - protected: - double conductivity; -}; - -} // namespace Contact -} // namespace LAMMPS_NS - -#endif /*CONTACT_HEAT_MODELS_H_ */ diff --git a/src/contact_normal_models.cpp b/src/contact_normal_models.cpp deleted file mode 100644 index b377d5d027..0000000000 --- a/src/contact_normal_models.cpp +++ /dev/null @@ -1,377 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#include "contact_normal_models.h" -#include "contact.h" -#include "error.h" -#include "math_const.h" - -using namespace LAMMPS_NS; -using namespace Contact; -using namespace MathConst; - -#define PI27SQ 266.47931882941264802866 // 27*PI**2 -#define THREEROOT3 5.19615242270663202362 // 3*sqrt(3) -#define SIXROOT6 14.69693845669906728801 // 6*sqrt(6) -#define INVROOT6 0.40824829046386307274 // 1/sqrt(6) -#define FOURTHIRDS (4.0/3.0) // 4/3 -#define ONETHIRD (1.0/3.0) // 1/3 -#define THREEQUARTERS 0.75 // 3/4 - -/* ---------------------------------------------------------------------- - Default normal model -------------------------------------------------------------------------- */ - -NormalModel::NormalModel(LAMMPS *lmp) : SubModel(lmp) -{ - material_properties = 0; -} - -/* ---------------------------------------------------------------------- */ - -bool NormalModel::touch() -{ - bool touchflag = (contact->rsq < contact->radsum * contact->radsum); - return touchflag; -} - -/* ---------------------------------------------------------------------- */ - -double NormalModel::pulloff_distance(double radi, double radj) -{ - //called outside of compute(), do not assume correct geometry defined in contact - return radi + radj; -} - -/* ---------------------------------------------------------------------- */ - -double NormalModel::calculate_area() -{ - return sqrt(contact->dR); -} - -/* ---------------------------------------------------------------------- */ - -void NormalModel::set_fncrit() -{ - Fncrit = fabs(contact->Fntot); -} - -/* ---------------------------------------------------------------------- - No model -------------------------------------------------------------------------- */ - -NormalNone::NormalNone(LAMMPS *lmp) : NormalModel(lmp) {} - -/* ---------------------------------------------------------------------- */ - -double NormalNone::calculate_forces() -{ - return 0.0; -} - -/* ---------------------------------------------------------------------- - Hookean normal force -------------------------------------------------------------------------- */ - -NormalHooke::NormalHooke(LAMMPS *lmp) : NormalModel(lmp) -{ - num_coeffs = 2; -} - -/* ---------------------------------------------------------------------- */ - -void NormalHooke::coeffs_to_local() -{ - k = coeffs[0]; - damp = coeffs[1]; - - if (k < 0.0 || damp < 0.0) error->all(FLERR, "Illegal Hooke normal model"); -} - -/* ---------------------------------------------------------------------- */ - -double NormalHooke::calculate_forces() -{ - Fne = knfac * contact->delta; - return Fne; -} - -/* ---------------------------------------------------------------------- */ - -void NormalHooke::set_knfac() -{ - knfac = k; -} - -/* ---------------------------------------------------------------------- - Hertzian normal force -------------------------------------------------------------------------- */ - -NormalHertz::NormalHertz(LAMMPS *lmp) : NormalModel(lmp) -{ - num_coeffs = 2; -} - -/* ---------------------------------------------------------------------- */ - -void NormalHertz::coeffs_to_local() -{ - k = coeffs[0]; - damp = coeffs[1]; - - if (k < 0.0 || damp < 0.0) error->all(FLERR, "Illegal Hertz normal model"); -} - -/* ---------------------------------------------------------------------- */ - -double NormalHertz::calculate_forces() -{ - Fne = knfac * contact->delta; - return Fne; -} - -/* ---------------------------------------------------------------------- */ - -void NormalHertz::set_knfac() -{ - knfac = k * contact->area; -} - -/* ---------------------------------------------------------------------- - Hertzian normal force with material properties -------------------------------------------------------------------------- */ - -NormalHertzMaterial::NormalHertzMaterial(LAMMPS *lmp) : NormalHertz(lmp) -{ - material_properties = 1; - num_coeffs = 3; -} - -/* ---------------------------------------------------------------------- */ - -void NormalHertzMaterial::coeffs_to_local() -{ - Emod = coeffs[0]; - damp = coeffs[1]; - poiss = coeffs[2]; - if (contact->contact_type == PAIR) { - k = FOURTHIRDS * mix_stiffnessE(Emod, Emod, poiss, poiss); - } else { - k = FOURTHIRDS * mix_stiffnessE_wall(Emod, poiss); - } - - if (Emod < 0.0 || damp < 0.0) error->all(FLERR, "Illegal Hertz material normal model"); -} - -/* ---------------------------------------------------------------------- */ - -void NormalHertzMaterial::mix_coeffs(double* icoeffs, double* jcoeffs) -{ - coeffs[0] = mix_stiffnessE(icoeffs[0], jcoeffs[0],icoeffs[2], jcoeffs[2]); - coeffs[1] = mix_geom(icoeffs[1], jcoeffs[1]); - coeffs[2] = mix_geom(icoeffs[2], jcoeffs[2]); - coeffs_to_local(); -} - -/* ---------------------------------------------------------------------- - DMT normal force -------------------------------------------------------------------------- */ - -NormalDMT::NormalDMT(LAMMPS *lmp) : NormalModel(lmp) -{ - allow_limit_damping = 0; - material_properties = 1; - num_coeffs = 4; -} - -/* ---------------------------------------------------------------------- */ - -void NormalDMT::coeffs_to_local() -{ - Emod = coeffs[0]; - damp = coeffs[1]; - poiss = coeffs[2]; - cohesion = coeffs[3]; - if (contact->contact_type == PAIR) { - k = FOURTHIRDS * mix_stiffnessE(Emod, Emod, poiss, poiss); - } else { - k = FOURTHIRDS * mix_stiffnessE_wall(Emod, poiss); - } - - if (Emod < 0.0 || damp < 0.0) error->all(FLERR, "Illegal DMT normal model"); -} - -/* ---------------------------------------------------------------------- */ - -void NormalDMT::mix_coeffs(double* icoeffs, double* jcoeffs) -{ - coeffs[0] = mix_stiffnessE(icoeffs[0], jcoeffs[0],icoeffs[2], jcoeffs[2]); - coeffs[1] = mix_geom(icoeffs[1], jcoeffs[1]); - coeffs[2] = mix_geom(icoeffs[2], jcoeffs[2]); - coeffs[3] = mix_geom(icoeffs[3], jcoeffs[3]); - coeffs_to_local(); -} - -/* ---------------------------------------------------------------------- */ - -double NormalDMT::calculate_forces() -{ - Fne = knfac * contact->delta; - F_pulloff = 4.0 * MathConst::MY_PI * cohesion * contact->Reff; - Fne -= F_pulloff; - return Fne; -} - -/* ---------------------------------------------------------------------- */ - -void NormalDMT::set_knfac() -{ - knfac = k * contact->area; -} - -/* ---------------------------------------------------------------------- */ - -void NormalDMT::set_fncrit() -{ - Fncrit = fabs(Fne + 2.0 * F_pulloff); -} - -/* ---------------------------------------------------------------------- - JKR normal force -------------------------------------------------------------------------- */ - -NormalJKR::NormalJKR(LAMMPS *lmp) : NormalModel(lmp) -{ - allow_limit_damping = 0; - material_properties = 1; - beyond_contact = 1; - num_coeffs = 4; -} - -/* ---------------------------------------------------------------------- */ - -void NormalJKR::coeffs_to_local() -{ - Emod = coeffs[0]; - damp = coeffs[1]; - poiss = coeffs[2]; - cohesion = coeffs[3]; - - if (contact->contact_type == PAIR) { - Emix = mix_stiffnessE(Emod, Emod, poiss, poiss); - } else { - Emix = mix_stiffnessE_wall(Emod, poiss); - } - - k = FOURTHIRDS * Emix; - - if (Emod < 0.0 || damp < 0.0) error->all(FLERR, "Illegal JKR normal model"); -} - -/* ---------------------------------------------------------------------- */ - -void NormalJKR::mix_coeffs(double* icoeffs, double* jcoeffs) -{ - coeffs[0] = mix_stiffnessE(icoeffs[0], jcoeffs[0],icoeffs[2], jcoeffs[2]); - coeffs[1] = mix_geom(icoeffs[1], jcoeffs[1]); - coeffs[2] = mix_geom(icoeffs[2], jcoeffs[2]); - coeffs[3] = mix_geom(icoeffs[3], jcoeffs[3]); - coeffs_to_local(); -} - -/* ---------------------------------------------------------------------- */ - -bool NormalJKR::touch() -{ - double area_at_pulloff, R2, delta_pulloff, dist_pulloff; - bool touchflag; - - if (contact->touch) { - R2 = contact->Reff * contact->Reff; - area_at_pulloff = cbrt(9.0 * MY_PI * cohesion * R2 / (4.0 * Emix)); - delta_pulloff = area_at_pulloff * area_at_pulloff / contact->Reff - 2.0 * sqrt(MY_PI * cohesion * area_at_pulloff / Emix); - dist_pulloff = contact->radsum - delta_pulloff; - touchflag = contact->rsq < (dist_pulloff * dist_pulloff); - } else { - touchflag = contact->rsq < (contact->radsum * contact->radsum); - } - - return touchflag; -} - -/* ---------------------------------------------------------------------- - called outside of compute(), do not assume geometry defined in contact -------------------------------------------------------------------------- */ - -double NormalJKR::pulloff_distance(double radi, double radj) -{ - double area_at_pulloff, Reff_tmp; - - Reff_tmp = radi * radj / (radi + radj); // May not be defined - if (Reff_tmp <= 0) return 0; - - area_at_pulloff = cbrt(9.0 * MY_PI * cohesion * Reff_tmp * Reff_tmp / (4.0 * Emix)); - return area_at_pulloff * area_at_pulloff / Reff_tmp - 2.0 * sqrt(MY_PI * cohesion * area_at_pulloff / Emix); -} - -/* ---------------------------------------------------------------------- */ - -double NormalJKR::calculate_area() -{ - double R2, dR2, t0, t1, t2, t3, t4, t5, t6; - double sqrt1, sqrt2, sqrt3; - - R2 = contact->Reff * contact->Reff; - dR2 = contact->dR * contact->dR; - t0 = cohesion * cohesion * R2 * R2 * Emix; - t1 = PI27SQ * t0; - t2 = 8.0 * contact->dR * dR2 * Emix * Emix * Emix; - t3 = 4.0 * dR2 * Emix; - - // in case sqrt(0) < 0 due to precision issues - sqrt1 = MAX(0, t0 * (t1 + 2.0 * t2)); - t4 = cbrt(t1 + t2 + THREEROOT3 * MY_PI * sqrt(sqrt1)); - t5 = t3 / t4 + t4 / Emix; - sqrt2 = MAX(0, 2.0 * contact->dR + t5); - t6 = sqrt(sqrt2); - sqrt3 = MAX(0, 4.0 * contact->dR - t5 + SIXROOT6 * cohesion * MY_PI * R2 / (Emix * t6)); - - return INVROOT6 * (t6 + sqrt(sqrt3)); -} - -/* ---------------------------------------------------------------------- */ - -double NormalJKR::calculate_forces() -{ - double a2; - a2 = contact->area * contact->area; - Fne = knfac * a2 / contact->Reff - MY_2PI * a2 * sqrt(4.0 * cohesion * Emix / (MY_PI * contact->area)); - F_pulloff = 3.0 * MY_PI * cohesion * contact->Reff; - - return Fne; -} - -/* ---------------------------------------------------------------------- */ - -void NormalJKR::set_knfac() -{ - knfac = k * contact->area; -} - -/* ---------------------------------------------------------------------- */ - -void NormalJKR::set_fncrit() -{ - Fncrit = fabs(Fne + 2.0 * F_pulloff); -} diff --git a/src/contact_normal_models.h b/src/contact_normal_models.h deleted file mode 100644 index 8159a4c620..0000000000 --- a/src/contact_normal_models.h +++ /dev/null @@ -1,118 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifndef CONTACT_NORMAL_MODELS_H_ -#define CONTACT_NORMAL_MODELS_H_ - -#include "contact_sub_models.h" - -namespace LAMMPS_NS { -namespace Contact { - -class NormalModel : public SubModel { - public: - NormalModel(class LAMMPS *); - ~NormalModel() {}; - virtual void coeffs_to_local() {}; - virtual void init() {}; - virtual bool touch(); - virtual double pulloff_distance(double, double); - virtual double calculate_area(); - virtual void set_knfac() = 0; - virtual double calculate_forces() = 0; - virtual void set_fncrit(); - double damp; // Vestigial argument needed by damping - double Emod, poiss; - double Fncrit, Fne, knfac; - int material_properties; -}; - -/* ---------------------------------------------------------------------- */ - -class NormalNone : public NormalModel { - public: - NormalNone(class LAMMPS *); - void set_knfac() {}; - double calculate_forces(); -}; - -/* ---------------------------------------------------------------------- */ - -class NormalHooke : public NormalModel { - public: - NormalHooke(class LAMMPS *); - void coeffs_to_local() override; - void set_knfac(); - double calculate_forces(); - protected: - double k; -}; - -/* ---------------------------------------------------------------------- */ - -class NormalHertz : public NormalModel { - public: - NormalHertz(class LAMMPS *); - void coeffs_to_local() override; - void set_knfac(); - double calculate_forces(); - protected: - double k; -}; - -/* ---------------------------------------------------------------------- */ - -class NormalHertzMaterial : public NormalHertz { - public: - NormalHertzMaterial(class LAMMPS *); - void coeffs_to_local() override; - void mix_coeffs(double*, double*) override; -}; - -/* ---------------------------------------------------------------------- */ - -class NormalDMT : public NormalModel { - public: - NormalDMT(class LAMMPS *); - void coeffs_to_local() override; - void mix_coeffs(double*, double*) override; - void set_knfac(); - double calculate_forces(); - void set_fncrit() override; - protected: - double k, cohesion; - double F_pulloff; -}; - -/* ---------------------------------------------------------------------- */ - -class NormalJKR : public NormalModel { - public: - NormalJKR(class LAMMPS *); - void coeffs_to_local() override; - void mix_coeffs(double*, double*) override; - bool touch() override; - double pulloff_distance(double, double) override; - double calculate_area() override; - void set_knfac(); - double calculate_forces(); - void set_fncrit() override; - protected: - double k, cohesion; - double Emix, F_pulloff; -}; - -} // namespace Contact -} // namespace LAMMPS_NS - -#endif /*CONTACT_NORMAL_MODELS_H_ */ diff --git a/src/contact_rolling_models.cpp b/src/contact_rolling_models.cpp deleted file mode 100644 index 3ee80c0e48..0000000000 --- a/src/contact_rolling_models.cpp +++ /dev/null @@ -1,121 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#include "contact_normal_models.h" -#include "contact_rolling_models.h" -#include "contact.h" -#include "error.h" -#include "math_const.h" -#include "math_extra.h" - -using namespace LAMMPS_NS; -using namespace Contact; -using namespace MathConst; -using namespace MathExtra; - -/* ---------------------------------------------------------------------- - Default rolling friction model -------------------------------------------------------------------------- */ - -RollingModel::RollingModel(LAMMPS *lmp) : SubModel(lmp) {} - -/* ---------------------------------------------------------------------- - No model -------------------------------------------------------------------------- */ - -RollingNone::RollingNone(LAMMPS *lmp) : RollingModel(lmp) {} - -/* ---------------------------------------------------------------------- - SDS rolling friction model -------------------------------------------------------------------------- */ - -RollingSDS::RollingSDS(LAMMPS *lmp) : RollingModel(lmp) -{ - num_coeffs = 3; - size_history = 3; -} - -/* ---------------------------------------------------------------------- */ - -void RollingSDS::coeffs_to_local() -{ - k = coeffs[0]; - gamma = coeffs[1]; - mu = coeffs[2]; - - if (k < 0.0 || mu < 0.0 || gamma < 0.0) - error->all(FLERR, "Illegal SDS rolling model"); -} - -/* ---------------------------------------------------------------------- */ - -void RollingSDS::calculate_forces() -{ - int rhist0, rhist1, rhist2, frameupdate; - double Frcrit, rolldotn, rollmag, prjmag, magfr, hist_temp[3], scalefac, temp_array[3]; - double k_inv, magfr_inv; - - rhist0 = history_index; - rhist1 = rhist0 + 1; - rhist2 = rhist1 + 1; - - Frcrit = mu * contact->normal_model->Fncrit; - - if (contact->history_update) { - hist_temp[0] = contact->history[rhist0]; - hist_temp[1] = contact->history[rhist1]; - hist_temp[2] = contact->history[rhist2]; - rolldotn = dot3(hist_temp, contact->nx); - - frameupdate = (fabs(rolldotn) * k) > (EPSILON * Frcrit); - if (frameupdate) { // rotate into tangential plane - rollmag = len3(hist_temp); - // projection - scale3(rolldotn, contact->nx, temp_array); - sub3(hist_temp, temp_array, hist_temp); - - // also rescale to preserve magnitude - prjmag = len3(hist_temp); - if (prjmag > 0) scalefac = rollmag / prjmag; - else scalefac = 0; - scale3(scalefac, hist_temp); - } - scale3(contact->dt, contact->vrl, temp_array); - add3(hist_temp, temp_array, hist_temp); - } - - scaleadd3(-k, hist_temp, -gamma, contact->vrl, contact->fr); - - // rescale frictional displacements and forces if needed - magfr = len3(contact->fr); - if (magfr > Frcrit) { - rollmag = len3(hist_temp); - if (rollmag != 0.0) { - k_inv = 1.0 / k; - magfr_inv = 1.0 / magfr; - scale3(-Frcrit * k_inv * magfr_inv, contact->fr, hist_temp); - scale3(-gamma * k_inv, contact->vrl, temp_array); - add3(hist_temp, temp_array, hist_temp); - - scale3(Frcrit * magfr_inv, contact->fr); - } else { - zero3(contact->fr); - } - } - - if (contact->history_update) { - contact->history[rhist0] = hist_temp[0]; - contact->history[rhist1] = hist_temp[1]; - contact->history[rhist2] = hist_temp[2]; - } -} diff --git a/src/contact_rolling_models.h b/src/contact_rolling_models.h deleted file mode 100644 index f5af08c1b0..0000000000 --- a/src/contact_rolling_models.h +++ /dev/null @@ -1,53 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifndef CONTACT_ROLLING_MODELS_H_ -#define CONTACT_ROLLING_MODELS_H_ - -#include "contact_sub_models.h" - -namespace LAMMPS_NS { -namespace Contact { - -class RollingModel : public SubModel { - public: - RollingModel(class LAMMPS *); - ~RollingModel() {}; - virtual void coeffs_to_local() {}; - virtual void init() {}; - virtual void calculate_forces() = 0; -}; - -/* ---------------------------------------------------------------------- */ - -class RollingNone : public RollingModel { - public: - RollingNone(class LAMMPS *); - void calculate_forces() {}; -}; - -/* ---------------------------------------------------------------------- */ - -class RollingSDS : public RollingModel { - public: - RollingSDS(class LAMMPS *); - void coeffs_to_local() override; - void calculate_forces(); - protected: - double k, mu, gamma; -}; - -} // namespace Contact -} // namespace LAMMPS_NS - -#endif /*CONTACT_ROLLING_MODELS_H_ */ diff --git a/src/contact_sub_models.cpp b/src/contact_sub_models.cpp deleted file mode 100644 index 1c9fe6b4f5..0000000000 --- a/src/contact_sub_models.cpp +++ /dev/null @@ -1,140 +0,0 @@ -// clang-format off -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. --------------------------------------------------------------------------*/ - -/* ---------------------------------------------------------------------- - This class contains a framework for normal, damping, tangential, - rolling, twisting, and heat models used to calculate forces - and torques based on contact geometry - - Contributing authors: - Dan Bolintineanu (SNL), Joel Clemmer (SNL) ------------------------------------------------------------------------ */ - -#include "contact_sub_models.h" -#include "error.h" -#include "utils.h" - -using namespace LAMMPS_NS; -using namespace Contact; - -/* ---------------------------------------------------------------------- - Parent class for all types of contact forces -------------------------------------------------------------------------- */ - -SubModel::SubModel(LAMMPS *lmp) : Pointers(lmp) -{ - allocated = 0; - size_history = 0; - history_index = 0; - allow_limit_damping = 1; - beyond_contact = 0; - num_coeffs = 0; - - nondefault_history_transfer = 0; - transfer_history_factor = nullptr; -} - -/* ---------------------------------------------------------------------- */ - -SubModel::~SubModel() -{ - if (allocated) delete [] coeffs; - delete [] transfer_history_factor; -} - -/* ---------------------------------------------------------------------- */ - -void SubModel::allocate_coeffs() -{ - allocated = 1; - coeffs = new double[num_coeffs]; -} - -/* ---------------------------------------------------------------------- */ - -int SubModel::parse_coeffs(char **arg, int iarg, int narg) -{ - if (iarg + num_coeffs > narg) - error->all(FLERR, "Insufficient arguments provided for {} model", name); - for (int i = 0; i < num_coeffs; i++) { - // A few parameters (eg.g kt for tangential mindlin) allow null - if (strcmp(arg[iarg+i], "NULL") == 0) coeffs[i] = -1; - else coeffs[i] = utils::numeric(FLERR,arg[iarg+i],false,lmp); - } - coeffs_to_local(); - - return iarg + num_coeffs; -} - -/* ---------------------------------------------------------------------- */ - -void SubModel::mix_coeffs(double* icoeffs, double* jcoeffs) -{ - for (int i = 0; i < num_coeffs; i++) - coeffs[i] = mix_geom(icoeffs[i], jcoeffs[i]); - coeffs_to_local(); -} - -/* ---------------------------------------------------------------------- - mixing of Young's modulus (E) -------------------------------------------------------------------------- */ - -double SubModel::mix_stiffnessE(double E1, double E2, - double pois1, double pois2) -{ - double factor1 = (1 - pois1 * pois1) / E1; - double factor2 = (1 - pois2 * pois2) / E2; - return 1 / (factor1 + factor2); -} - -/* ---------------------------------------------------------------------- - mixing of shear modulus (G) ------------------------------------------------------------------------- */ - -double SubModel::mix_stiffnessG(double E1, double E2, - double pois1, double pois2) -{ - double factor1 = 2 * (2 - pois1) * (1 + pois1) / E1; - double factor2 = 2 * (2 - pois2) * (1 + pois2) / E2; - return 1 / (factor1 + factor2); -} - -/* ---------------------------------------------------------------------- - mixing of Young's modulus (E) for walls -------------------------------------------------------------------------- */ - -double SubModel::mix_stiffnessE_wall(double E, double pois) -{ - double factor = 2 * (1 - pois); - return E / factor; -} - -/* ---------------------------------------------------------------------- - mixing of shear modulus (G) for walls ------------------------------------------------------------------------- */ - -double SubModel::mix_stiffnessG_wall(double E, double pois) -{ - double factor = 32.0 * (2 - pois) * (1 + pois); - return E / factor; -} - -/* ---------------------------------------------------------------------- - mixing of everything else -------------------------------------------------------------------------- */ - -double SubModel::mix_geom(double val1, double val2) -{ - return sqrt(val1 * val2); -} diff --git a/src/contact_sub_models.h b/src/contact_sub_models.h deleted file mode 100644 index 0f577bf08e..0000000000 --- a/src/contact_sub_models.h +++ /dev/null @@ -1,62 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifndef CONTACT_SUB_MODEL_H_ -#define CONTACT_SUB_MODEL_H_ - -#include "contact.h" -#include "pointers.h" // IWYU pragma: export - -namespace LAMMPS_NS { -namespace Contact { - -class SubModel : protected Pointers { - public: - SubModel(class LAMMPS *); - virtual ~SubModel(); - - int num_coeffs; - double *coeffs; - void read_restart(); - int parse_coeffs(char **, int, int); - virtual void mix_coeffs(double*, double*); - virtual void coeffs_to_local() = 0; - virtual void init() = 0; // called after all other submodel coeffs defined - - void allocate_coeffs(); - std::string name; - - int size_history; - int nondefault_history_transfer; - double *transfer_history_factor; - - int history_index; - int beyond_contact; - int allow_limit_damping; - - ContactModel *contact; - - protected: - int allocated; - - double mix_stiffnessE(double, double, double, double); - double mix_stiffnessG(double, double, double, double); - double mix_stiffnessE_wall(double, double); - double mix_stiffnessG_wall(double, double); - double mix_geom(double, double); -}; - -} // namespace Contact -} // namespace LAMMPS_NS - -#endif /* CONTACT_SUB_MODEL_H_ */ diff --git a/src/contact_tangential_models.cpp b/src/contact_tangential_models.cpp deleted file mode 100644 index ca95d1d00b..0000000000 --- a/src/contact_tangential_models.cpp +++ /dev/null @@ -1,412 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#include "contact_damping_models.h" -#include "contact_normal_models.h" -#include "contact_tangential_models.h" -#include "contact.h" -#include "error.h" -#include "math_const.h" -#include "math_extra.h" - -using namespace LAMMPS_NS; -using namespace Contact; -using namespace MathConst; -using namespace MathExtra; - -/* ---------------------------------------------------------------------- - Default model -------------------------------------------------------------------------- */ - -TangentialModel::TangentialModel(LAMMPS *lmp) : SubModel(lmp) {} - -/* ---------------------------------------------------------------------- - No model -------------------------------------------------------------------------- */ - -TangentialNone::TangentialNone(LAMMPS *lmp) : TangentialModel(lmp) {} - -/* ---------------------------------------------------------------------- - Linear model with no history -------------------------------------------------------------------------- */ - -TangentialLinearNoHistory::TangentialLinearNoHistory(LAMMPS *lmp) : TangentialModel(lmp) -{ - num_coeffs = 2; - size_history = 3; -} - -/* ---------------------------------------------------------------------- */ - -void TangentialLinearNoHistory::coeffs_to_local() -{ - k = 0.0; // No tangential stiffness with no history - xt = coeffs[0]; - mu = coeffs[1]; - - if (k < 0.0 || xt < 0.0 || mu < 0.0) - error->all(FLERR, "Illegal linear no history tangential model"); -} - -/* ---------------------------------------------------------------------- */ - -void TangentialLinearNoHistory::calculate_forces() -{ - // classic pair gran/hooke (no history) - damp = xt * contact->damping_model->damp_prefactor; - - double Fscrit = mu * contact->normal_model->Fncrit; - double fsmag = damp * contact->vrel; - - double Ft; - if (contact->vrel != 0.0) Ft = MIN(Fscrit, fsmag) / contact->vrel; - else Ft = 0.0; - - scale3(-Ft, contact->vtr, contact->fs); -} - -/* ---------------------------------------------------------------------- - Linear model with history -------------------------------------------------------------------------- */ - -TangentialLinearHistory::TangentialLinearHistory(LAMMPS *lmp) : TangentialModel(lmp) -{ - num_coeffs = 3; - size_history = 3; -} - -/* ---------------------------------------------------------------------- */ - -void TangentialLinearHistory::coeffs_to_local() -{ - k = coeffs[0]; - xt = coeffs[1]; - mu = coeffs[2]; - - if (k < 0.0 || xt < 0.0 || mu < 0.0) - error->all(FLERR, "Illegal linear tangential model"); -} - -/* ---------------------------------------------------------------------- */ - -void TangentialLinearHistory::calculate_forces() -{ - // Note: this is the same as the base Mindlin calculation except k isn't scaled by area - double magfs, magfs_inv, rsht, shrmag, prjmag, temp_dbl, temp_array[3]; - int frame_update = 0; - - damp = xt * contact->damping_model->damp_prefactor; - - double Fscrit = contact->normal_model->Fncrit * mu; - double *history = & contact->history[history_index]; - - // rotate and update displacements / force. - // see e.g. eq. 17 of Luding, Gran. Matter 2008, v10,p235 - if (contact->history_update) { - rsht = dot3(history, contact->nx); - frame_update = (fabs(rsht) * k) > (EPSILON * Fscrit); - - if (frame_update) { - shrmag = len3(history); - - // projection - scale3(rsht, contact->nx, temp_array); - sub3(history, temp_array, history); - - // also rescale to preserve magnitude - prjmag = len3(history); - if (prjmag > 0) temp_dbl = shrmag / prjmag; - else temp_dbl = 0; - scale3(temp_dbl, history); - } - - // update history, tangential force - // see e.g. eq. 18 of Thornton et al, Pow. Tech. 2013, v223,p30-46 - scale3(contact->dt, contact->vtr, temp_array); - add3(history, temp_array, history); - } - - - // tangential forces = history + tangential velocity damping - scale3(-k, history, contact->fs); - scale3(damp, contact->vtr, temp_array); - sub3(contact->fs, temp_array, contact->fs); - - // rescale frictional displacements and forces if needed - magfs = len3(contact->fs); - if (magfs > Fscrit) { - shrmag = len3(history); - if (shrmag != 0.0) { - magfs_inv = 1.0 / magfs; - scale3(Fscrit * magfs_inv, contact->fs, history); - scale3(damp, contact->vtr, temp_array); - add3(history, temp_array, history); - scale3(-1.0 / k, history); - scale3(Fscrit * magfs_inv, contact->fs); - } else { - zero3(contact->fs); - } - } -} - -/* ---------------------------------------------------------------------- - Linear model with history from pair gran/hooke/history -------------------------------------------------------------------------- */ - -TangentialLinearHistoryClassic::TangentialLinearHistoryClassic(LAMMPS *lmp) : TangentialLinearHistory(lmp) -{ - scale_area = 0; // Sets gran/hooke/history behavior -} - -/* ---------------------------------------------------------------------- */ - -void TangentialLinearHistoryClassic::calculate_forces() -{ - double k_scaled, magfs, magfs_inv, rsht, shrmag, prjmag, temp_dbl; - double temp_array[3]; - int frame_update = 0; - - k_scaled = k; - if (scale_area) k_scaled *= contact->area; - - damp = xt * contact->damping_model->damp_prefactor; - - double Fscrit = contact->normal_model->Fncrit * mu; - double *history = & contact->history[history_index]; - - // update history - if (contact->history_update) { - scale3(contact->dt, contact->vtr, temp_array); - add3(history, temp_array, history); - } - - shrmag = len3(history); - - // rotate shear displacements - if (contact->history_update) { - rsht = dot3(history, contact->nx); - scale3(rsht, contact->nx, temp_array); - sub3(history, temp_array, history); - } - - // tangential forces = history + tangential velocity damping - scale3(-k_scaled, history, contact->fs); - scale3(damp, contact->vtr, temp_array); - sub3(contact->fs, temp_array, contact->fs); - - // rescale frictional displacements and forces if needed - magfs = len3(contact->fs); - if (magfs > Fscrit) { - if (shrmag != 0.0) { - magfs_inv = 1.0 / magfs; - scale3(Fscrit * magfs_inv, contact->fs, history); - scale3(damp, contact->vtr, temp_array); - add3(history, temp_array, history); - temp_dbl = -1.0 / k_scaled; - if (scale_area) temp_dbl /= contact->area; - scale3(temp_dbl, history); - scale3(Fscrit * magfs_inv, contact->fs); - } else { - zero3(contact->fs); - } - } -} - -/* ---------------------------------------------------------------------- - Mindlin from pair gran/hertz/history -------------------------------------------------------------------------- */ - -TangentialMindlinClassic::TangentialMindlinClassic(LAMMPS *lmp) : TangentialLinearHistoryClassic(lmp) -{ - scale_area = 1; // Sets gran/hertz/history behavior -} - -/* ---------------------------------------------------------------------- - Mindlin model -------------------------------------------------------------------------- */ - -TangentialMindlin::TangentialMindlin(LAMMPS *lmp) : TangentialModel(lmp) -{ - num_coeffs = 3; - size_history = 3; - mindlin_force = 0; - mindlin_rescale = 0; -} - -/* ---------------------------------------------------------------------- */ - -void TangentialMindlin::coeffs_to_local() -{ - k = coeffs[0]; - xt = coeffs[1]; - mu = coeffs[2]; - - if (k == -1) { - if (!contact->normal_model->material_properties) - error->all(FLERR, "Must either specify tangential stiffness or material properties for normal model for the Mindlin tangential style"); - - double Emod = contact->normal_model->Emod; - double poiss = contact->normal_model->poiss; - - if (contact->contact_type == PAIR) { - k = 8.0 * mix_stiffnessG(Emod, Emod, poiss, poiss); - } else { - k = 8.0 * mix_stiffnessG_wall(Emod, poiss); - } - } - - if (k < 0.0 || xt < 0.0 || mu < 0.0) - error->all(FLERR, "Illegal Mindlin tangential model"); -} - -/* ---------------------------------------------------------------------- */ - -void TangentialMindlin::mix_coeffs(double* icoeffs, double* jcoeffs) -{ - if (icoeffs[0] == -1 || jcoeffs[0] == -1) coeffs[0] = -1; - else coeffs[0] = mix_geom(icoeffs[0], jcoeffs[0]); - coeffs[1] = mix_geom(icoeffs[1], jcoeffs[1]); - coeffs[2] = mix_geom(icoeffs[2], jcoeffs[2]); - coeffs_to_local(); -} - -/* ---------------------------------------------------------------------- */ - -void TangentialMindlin::calculate_forces() -{ - double k_scaled, magfs, magfs_inv, rsht, shrmag, prjmag, temp_dbl; - double temp_array[3]; - int frame_update = 0; - - damp = xt * contact->damping_model->damp_prefactor; - - double *history = & contact->history[history_index]; - double Fscrit = contact->normal_model->Fncrit * mu; - - k_scaled = k * contact->area; - - // on unloading, rescale the shear displacements/force - if (mindlin_rescale) - if (contact->area < history[3]) - scale3(contact->area / history[3], history); - - // rotate and update displacements / force. - // see e.g. eq. 17 of Luding, Gran. Matter 2008, v10,p235 - if (contact->history_update) { - rsht = dot3(history, contact->nx); - if (mindlin_force) { - frame_update = fabs(rsht) > (EPSILON * Fscrit); - } else { - frame_update = (fabs(rsht) * k_scaled) > (EPSILON * Fscrit); - } - - if (frame_update) { - shrmag = len3(history); - // projection - scale3(rsht, contact->nx, temp_array); - sub3(history, temp_array, history); - // also rescale to preserve magnitude - prjmag = len3(history); - if (prjmag > 0) temp_dbl = shrmag / prjmag; - else temp_dbl = 0; - scale3(temp_dbl, history); - } - - // update history - if (mindlin_force) { - // tangential force - // see e.g. eq. 18 of Thornton et al, Pow. Tech. 2013, v223,p30-46 - scale3(-k_scaled * contact->dt, contact->vtr, temp_array); - } else { - scale3(contact->dt, contact->vtr, temp_array); - } - add3(history, temp_array, history); - - if (mindlin_rescale) history[3] = contact->area; - } - - // tangential forces = history + tangential velocity damping - scale3(-damp, contact->vtr, contact->fs); - - if (!mindlin_force) { - scale3(k_scaled, history, temp_array); - sub3(contact->fs, temp_array, contact->fs); - } else { - add3(contact->fs, history, contact->fs); - } - - // rescale frictional displacements and forces if needed - magfs = len3(contact->fs); - if (magfs > Fscrit) { - shrmag = len3(history); - if (shrmag != 0.0) { - magfs_inv = 1.0 / magfs; - scale3(Fscrit * magfs_inv, contact->fs, history); - scale3(damp, contact->vtr, temp_array); - add3(history, temp_array, history); - - if (!mindlin_force) - scale3(-1.0 / k_scaled, history); - - scale3(Fscrit * magfs_inv, contact->fs); - } else { - zero3(contact->fs); - } - } -} - -/* ---------------------------------------------------------------------- - Mindlin force model -------------------------------------------------------------------------- */ - -TangentialMindlinForce::TangentialMindlinForce(LAMMPS *lmp) : TangentialMindlin(lmp) -{ - num_coeffs = 3; - size_history = 3; - mindlin_force = 1; - mindlin_rescale = 0; -} - -/* ---------------------------------------------------------------------- - Mindlin rescale model -------------------------------------------------------------------------- */ - -TangentialMindlinRescale::TangentialMindlinRescale(LAMMPS *lmp) : TangentialMindlin(lmp) -{ - num_coeffs = 3; - size_history = 4; - mindlin_force = 0; - mindlin_rescale = 1; - - nondefault_history_transfer = 1; - transfer_history_factor = new double[size_history]; - for (int i = 0; i < size_history; i++) transfer_history_factor[i] = -1.0; - transfer_history_factor[3] = +1; -} - -/* ---------------------------------------------------------------------- - Mindlin rescale force model -------------------------------------------------------------------------- */ - -TangentialMindlinRescaleForce::TangentialMindlinRescaleForce(LAMMPS *lmp) : TangentialMindlin(lmp) -{ - num_coeffs = 3; - size_history = 4; - mindlin_force = 1; - mindlin_rescale = 1; - - nondefault_history_transfer = 1; - transfer_history_factor = new double[size_history]; - for (int i = 0; i < size_history; i++) transfer_history_factor[i] = -1.0; - transfer_history_factor[3] = +1; -} diff --git a/src/contact_tangential_models.h b/src/contact_tangential_models.h deleted file mode 100644 index a54d03c495..0000000000 --- a/src/contact_tangential_models.h +++ /dev/null @@ -1,113 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifndef CONTACT_TANGENTIAL_MODELS_H_ -#define CONTACT_TANGENTIAL_MODELS_H_ - -#include "contact_sub_models.h" - -namespace LAMMPS_NS { -namespace Contact { - -class TangentialModel : public SubModel { - public: - TangentialModel(class LAMMPS *); - virtual ~TangentialModel() {}; - virtual void coeffs_to_local() {}; - virtual void init() {}; - virtual void calculate_forces() = 0; - int rescale_flag; - double k, damp, mu; // Used by Marshall twisting model - protected: - double xt; -}; - -/* ---------------------------------------------------------------------- */ - -class TangentialNone : public TangentialModel { - public: - TangentialNone(class LAMMPS *); - void calculate_forces() {}; -}; - -/* ---------------------------------------------------------------------- */ - -class TangentialLinearNoHistory : public TangentialModel { - public: - TangentialLinearNoHistory(class LAMMPS *); - void coeffs_to_local() override; - void calculate_forces(); -}; - -/* ---------------------------------------------------------------------- */ - -class TangentialLinearHistory : public TangentialModel { - public: - TangentialLinearHistory(class LAMMPS *); - void coeffs_to_local() override; - void calculate_forces(); -}; - -/* ---------------------------------------------------------------------- */ - -class TangentialLinearHistoryClassic : public TangentialLinearHistory { - public: - TangentialLinearHistoryClassic(class LAMMPS *); - void calculate_forces(); - int scale_area; -}; - -/* ---------------------------------------------------------------------- */ - -class TangentialMindlinClassic : public TangentialLinearHistoryClassic { - public: - TangentialMindlinClassic(class LAMMPS *); -}; - -/* ---------------------------------------------------------------------- */ - -class TangentialMindlin : public TangentialModel { - public: - TangentialMindlin(class LAMMPS *); - void coeffs_to_local() override; - void mix_coeffs(double*, double*) override; - void calculate_forces(); - protected: - int mindlin_rescale, mindlin_force; -}; - -/* ---------------------------------------------------------------------- */ - -class TangentialMindlinForce : public TangentialMindlin { - public: - TangentialMindlinForce(class LAMMPS *); -}; - -/* ---------------------------------------------------------------------- */ - -class TangentialMindlinRescale : public TangentialMindlin { - public: - TangentialMindlinRescale(class LAMMPS *); -}; - -/* ---------------------------------------------------------------------- */ - -class TangentialMindlinRescaleForce : public TangentialMindlin { - public: - TangentialMindlinRescaleForce(class LAMMPS *); -}; - -} // namespace Contact -} // namespace LAMMPS_NS - -#endif /*CONTACT_TANGENTIAL_MODELS_H_ */ diff --git a/src/contact_twisting_models.cpp b/src/contact_twisting_models.cpp deleted file mode 100644 index 94a88161f3..0000000000 --- a/src/contact_twisting_models.cpp +++ /dev/null @@ -1,124 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#include "contact_normal_models.h" -#include "contact_tangential_models.h" -#include "contact_twisting_models.h" -#include "contact.h" -#include "error.h" -#include "math_const.h" - -using namespace LAMMPS_NS; -using namespace Contact; -using namespace MathConst; - -/* ---------------------------------------------------------------------- - Default twisting model -------------------------------------------------------------------------- */ - -TwistingModel::TwistingModel(LAMMPS *lmp) : SubModel(lmp) {} - -/* ---------------------------------------------------------------------- - No model -------------------------------------------------------------------------- */ - -TwistingNone::TwistingNone(LAMMPS *lmp) : TwistingModel(lmp) {} - -/* ---------------------------------------------------------------------- - Marshall twisting model -------------------------------------------------------------------------- */ - -TwistingMarshall::TwistingMarshall(LAMMPS *lmp) : TwistingModel(lmp) -{ - num_coeffs = 0; - size_history = 3; -} - -/* ---------------------------------------------------------------------- */ - - -void TwistingMarshall::init() -{ - k_tang = contact->tangential_model->k; - mu_tang = contact->tangential_model->mu; -} - -/* ---------------------------------------------------------------------- */ - -void TwistingMarshall::calculate_forces() -{ - double signtwist, Mtcrit; - - // Calculate twist coefficients from tangential model & contact geometry - // eq 32 of Marshall paper - double k = 0.5 * k_tang * contact->area * contact->area; - double damp = 0.5 * contact->tangential_model->damp * contact->area * contact->area; - double mu = TWOTHIRDS * mu_tang * contact->area; - - if (contact->history_update) { - contact->history[history_index] += contact->magtwist * contact->dt; - } - - // M_t torque (eq 30) - contact->magtortwist = -k * contact->history[history_index] - damp * contact->magtwist; - signtwist = (contact->magtwist > 0) - (contact->magtwist < 0); - Mtcrit = mu * contact->normal_model->Fncrit; // critical torque (eq 44) - - if (fabs(contact->magtortwist) > Mtcrit) { - contact->history[history_index] = (Mtcrit * signtwist - damp * contact->magtwist) / k; - contact->magtortwist = -Mtcrit * signtwist; // eq 34 - } -} - -/* ---------------------------------------------------------------------- - SDS twisting model -------------------------------------------------------------------------- */ - -TwistingSDS::TwistingSDS(LAMMPS *lmp) : TwistingModel(lmp) -{ - num_coeffs = 3; - size_history = 3; -} - -/* ---------------------------------------------------------------------- */ - -void TwistingSDS::coeffs_to_local() -{ - k = coeffs[0]; - damp = coeffs[1]; - mu = coeffs[2]; - - if (k < 0.0 || mu < 0.0 || damp < 0.0) - error->all(FLERR, "Illegal SDS twisting model"); -} - -/* ---------------------------------------------------------------------- */ - -void TwistingSDS::calculate_forces() -{ - double signtwist, Mtcrit; - - if (contact->history_update) { - contact->history[history_index] += contact->magtwist * contact->dt; - } - - // M_t torque (eq 30) - contact->magtortwist = -k * contact->history[history_index] - damp * contact->magtwist; - signtwist = (contact->magtwist > 0) - (contact->magtwist < 0); - Mtcrit = mu * contact->normal_model->Fncrit; // critical torque (eq 44) - - if (fabs(contact->magtortwist) > Mtcrit) { - contact->history[history_index] = (Mtcrit * signtwist - damp * contact->magtwist) / k; - contact->magtortwist = -Mtcrit * signtwist; // eq 34 - } -} diff --git a/src/contact_twisting_models.h b/src/contact_twisting_models.h deleted file mode 100644 index 1fa5aa2c6a..0000000000 --- a/src/contact_twisting_models.h +++ /dev/null @@ -1,64 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifndef CONTACT_TWISTING_MODELS_H_ -#define CONTACT_TWISTING_MODELS_H_ - -#include "contact_sub_models.h" - -namespace LAMMPS_NS { -namespace Contact { - -class TwistingModel : public SubModel { - public: - TwistingModel(class LAMMPS *); - virtual ~TwistingModel() {}; - virtual void coeffs_to_local() {}; - virtual void init() {}; - virtual void calculate_forces() = 0; -}; - -/* ---------------------------------------------------------------------- */ - -class TwistingNone : public TwistingModel { - public: - TwistingNone(class LAMMPS *); - void calculate_forces() {}; -}; - -/* ---------------------------------------------------------------------- */ - -class TwistingMarshall : public TwistingModel { - public: - TwistingMarshall(class LAMMPS *); - void calculate_forces(); - void init(); - protected: - double k_tang, mu_tang; -}; - -/* ---------------------------------------------------------------------- */ - -class TwistingSDS : public TwistingModel { - public: - TwistingSDS(class LAMMPS *); - void coeffs_to_local() override; - void calculate_forces(); - protected: - double k, mu, damp; -}; - -} // namespace Contact -} // namespace LAMMPS_NS - -#endif /*CONTACT_TWISTING_MODELS_H_ */ diff --git a/src/dump_custom.cpp b/src/dump_custom.cpp index cc4fdbe20b..f5b86b6069 100644 --- a/src/dump_custom.cpp +++ b/src/dump_custom.cpp @@ -41,7 +41,7 @@ enum{ID,MOL,PROC,PROCP1,TYPE,ELEMENT,MASS, XSU,YSU,ZSU,XSUTRI,YSUTRI,ZSUTRI, IX,IY,IZ, VX,VY,VZ,FX,FY,FZ, - Q,MUX,MUY,MUZ,MU,RADIUS,DIAMETER,heatflow,TEMPERATURE, + Q,MUX,MUY,MUZ,MU,RADIUS,DIAMETER,HEATFLOW,TEMPERATURE, OMEGAX,OMEGAY,OMEGAZ,ANGMOMX,ANGMOMY,ANGMOMZ, TQX,TQY,TQZ, COMPUTE,FIX,VARIABLE,IVEC,DVEC,IARRAY,DARRAY}; @@ -930,7 +930,7 @@ int DumpCustom::count() for (i = 0; i < nlocal; i++) dchoose[i] = 2.0*radius[i]; ptr = dchoose; nstride = 1; - } else if (thresh_array[ithresh] == heatflow) { + } else if (thresh_array[ithresh] == HEATFLOW) { if (!atom->heatflow_flag) error->all(FLERR, "Threshold for an atom property that isn't allocated"); @@ -1867,7 +1867,7 @@ int DumpCustom::modify_param(int narg, char **arg) else if (strcmp(arg[1],"radius") == 0) thresh_array[nthresh] = RADIUS; else if (strcmp(arg[1],"diameter") == 0) thresh_array[nthresh] = DIAMETER; - else if (strcmp(arg[1],"heatflow") == 0) thresh_array[nthresh] = heatflow; + else if (strcmp(arg[1],"heatflow") == 0) thresh_array[nthresh] = HEATFLOW; else if (strcmp(arg[1],"temperature") == 0) thresh_array[nthresh] = TEMPERATURE; else if (strcmp(arg[1],"omegax") == 0) thresh_array[nthresh] = OMEGAX; else if (strcmp(arg[1],"omegay") == 0) thresh_array[nthresh] = OMEGAY; From 5dcbbc084ba0c42f8ed2be3f0f07ac6b9f575cb6 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Tue, 1 Nov 2022 13:30:24 -0600 Subject: [PATCH 033/448] Adding developers documentation page --- doc/src/Howto_granular.rst | 11 +++ doc/src/Modify_gsm.rst | 183 +++++++++++++++++++++++++++++++++++++ 2 files changed, 194 insertions(+) create mode 100644 doc/src/Modify_gsm.rst diff --git a/doc/src/Howto_granular.rst b/doc/src/Howto_granular.rst index 9492e5755e..af52904204 100644 --- a/doc/src/Howto_granular.rst +++ b/doc/src/Howto_granular.rst @@ -43,6 +43,14 @@ The fix style *freeze* zeroes both the force and torque of frozen atoms, and should be used for granular system instead of the fix style *setforce*\ . +To model heat conduction, one must use the atom style: +* :doc:`atom_style sphere/temp ` +a temperature integration fix +* :doc:`fix temp/integrate ` +and a heat conduction option defined in both +* :doc:`pair_style granular ` +* :doc:`fix wall/gran ` + For computational efficiency, you can eliminate needless pairwise computations between frozen atoms by using this command: @@ -55,3 +63,6 @@ computations between frozen atoms by using this command: will be the same as in 3d. If you wish to model granular particles in 2d as 2d discs, see the note on this topic on the :doc:`Howto 2d ` doc page, where 2d simulations are discussed. + +To add custom granular contact models, see the +:doc:`modifying granular submodels page `. diff --git a/doc/src/Modify_gsm.rst b/doc/src/Modify_gsm.rst new file mode 100644 index 0000000000..06172b4dec --- /dev/null +++ b/doc/src/Modify_gsm.rst @@ -0,0 +1,183 @@ +Granular Submodel (GSM) styles +=========== + +In granular models, particles are spheres with a finite radius and rotational +degrees of freedom as further described in the +:doc:`Howto granular page `. Interactions between pair of +particles or particles and walls may therefore depend on many different modes +of motion as described in :doc:`pair granular ` and +:doc:`fix wall/gran `. In both cases, the exchange of forces, +torques, and heat flow between two types of bodies is defined using a +GranularModel class. The GranularModel class organizes the details of an +interaction using a series of granular submodels each of which describe a +particular interaction mode (e.g. normal forces or rolling friction). From a +parent GSM class, several types of submodel classes are derived: + +* GSMNormal: normal force submodel +* GSMDamping: normal damping submodel +* GSMTangential: tangential forces and sliding friction submodel +* GSMRolling: rolling friction submodel +* GSMTwisting: twisting friction submodel +* GSMHeat: heat conduction submodel + +For each type of submodel, more classes are further derived, each describing +a specific implementation. For instance, from the GSMNormal class the +GSMNormalHooke, GSMNormalHertz, and GSMNormalJKR classes are derived which +calculate Hookean, Hertzian, or JKR normal forces, respectively. This modular +structure simplifies the addition of new granualar contact models as as one only +needs to create a new GSM class without having to modify the more complex +PairGranular, FixGranWall, and GranularModel classes. Most GSM methods are also +already defined by the parent classes so new contact models typically only require +edits to a few relevant methods (e.g. methods that define coefficients and +calculate forces). + +Each GSM class has a pointer to both the LAMMPS class and the GranularModel +class which owns it, ``lmp`` and ``gm``, respectively. The GranularModel class +includes several public variables that describe the geometry/dynamics of the +contact such as + +.. list-table:: + + * - ``xi`` and ``xj`` + - Positions of the two contacting bodies + * - ``vi`` and ``vj`` + - Velocities of the two contacting bodies + * - ``omegai`` and ``omegaj`` + - Angular velocities of the two contacting bodies + * - ``dx`` and ``nx`` + - The displacement and normalized displacement vectors + * - ``r``, ``rsq``, and ``rinv`` + - The distance, distance squared, and inverse distance + * - ``radsum`` + - The sum of particle radii + * - ``vr``, ``vn``, and ``vt`` + - The relative velocity vector and its normal and tangential components + * - ``wr`` + - The relative rotational velocity + +These quantities, among others, are calculated in the ``GranularModel->check_contact()`` +and ``GranularModel->calculate_forces()`` methods which can be referred to for more +details. + +To create a new GSM class, it is recommended that one first looks at similar GSM +classes. All GSM classes share several general methods which may need to be defined + +.. list-table:: + + * - ``GSM->mix_coeff()`` + - Optional method to define how coefficients are mixed for different atom types. By default, coefficients are mixed using a geometric mean. + * - ``GSM->coeffs_to_local()`` + - Parses coefficients to define local variables, run once at model construction. + * - ``GSM->init()`` + - Optional method to define local variables after other GSM types were created. For instance, this method may be used by a tangential model that derives parameters from the normal stiffness. + +There are also several type-specific methods + +.. list-table:: + + * - ``GSMNormal->touch()`` + - Optional method to test when particles are in contact. By default, this is when particles overlap. + * - ``GSMNormal->pulloff_distance()`` + - Optional method to return the distance at which particles stop interacting. By default, this is when particles no longer overlap. + * - ``GSMNormal->calculate_area()`` + - Optional method to return the surface area of the contact. By default, this returns the geometric cross section. + * - ``GSMNormal->set_fncrit()`` + - Optional method that defines the critical force to break the contact used by some tangential, rolling, and twisting submodels. By default, this is the current total normal force, including damping. + * - ``GSMNormal->calculate_forces()`` + - Required method that returns the normal contact force + * - ``GSMDamping->calculate_forces()`` + - Required method that returns the normal damping force + * - ``GSMTangential->calculate_forces()`` + - Required method that calculates tangential forces/torques + * - ``GSMTwisting->calculate_forces()`` + - Required method that calculates twisting friction forces/torques + * - ``GSMRolling->calculate_forces()`` + - Required method that calculates rolling friction forces/torques + * - ``GSMHeat->calculate_heat()`` + - Required method that returns the rate of heat flow + +As an example, say one wanted to create a new normal force option that consisted +of a Hookean force with a piecewise stiffness. This could be done by adding a new +set of files ``gsm_custom.h``: + +.. code-block:: c++ + + #ifdef GSM_CLASS + // clang-format off + GSMStyle(hooke/piecewise, + GSMNormalHookePiecewise, + NORMAL); + // clang-format on + #else + + #ifndef GSM_CUSTOM_H_ + #define GSM_CUSTOM_H_ + + #include "gsm.h" + #include "gsm_normal.h" + + namespace LAMMPS_NS { + namespace Granular_NS { + + class GSMNormalHookePiecewise : public GSMNormal { + public: + GSMNormalHookePiecewise(class GranularModel *, class LAMMPS *); + void coeffs_to_local() override; + void set_knfac(); + double calculate_forces(); + protected: + double k1, k2, delta_switch; + }; + + } // namespace Granular_NS + } // namespace LAMMPS_NS + + #endif /*GSM_CUSTOM_H_ */ + #endif /*GSM_CLASS_H_ */ + + +and ``gsm_custom.cpp`` + +.. code-block:: c++ + + #include "gsm_custom.h" + #include "gsm_normal.h" + #include "granular_model.h" + + using namespace LAMMPS_NS; + using namespace Granular_NS; + + GSMNormalHookePiecewise::GSMNormalHookePiecewise(GranularModel *gm, LAMMPS *lmp) : GSMNormal(gm, lmp) + { + num_coeffs = 4; + } + + /* ---------------------------------------------------------------------- */ + + void GSMNormalHookePiecewise::coeffs_to_local() + { + k1 = coeffs[0]; + k2 = coeffs[1]; + damp = coeffs[2]; + delta_switch = coeffs[3]; + } + + /* ---------------------------------------------------------------------- */ + + double GSMNormalHookePiecewise::calculate_forces() + { + if (gm->delta >= delta_switch { + Fne = k1 * delta_switch + k2 * (gm->delta - delta_switch); + } else { + Fne = k1 * gm->delta; + } + return Fne; + } + + /* ---------------------------------------------------------------------- */ + + void GSMNormalHookePiecewise::set_knfac() + { + if (gm->delta < delta_switch) knfac = k1; + else knfac = k2; + } From dca901617eb6c177ed3ec362e4d9ac9ba7d0c72a Mon Sep 17 00:00:00 2001 From: jtclemm Date: Tue, 1 Nov 2022 13:30:57 -0600 Subject: [PATCH 034/448] Removing knfac, removing unnecessary global variables, updating dev ref text --- src/GRANULAR/atom_vec_sphere_temp.cpp | 4 +-- src/GRANULAR/atom_vec_sphere_temp.h | 2 +- src/GRANULAR/fix_temp_integrate.cpp | 4 +-- src/GRANULAR/fix_temp_integrate.h | 2 +- src/GRANULAR/granular_model.cpp | 25 +++++++-------- src/GRANULAR/granular_model.h | 4 +-- src/GRANULAR/gsm.cpp | 8 ++--- src/GRANULAR/gsm.h | 4 +-- src/GRANULAR/gsm_damping.cpp | 5 +-- src/GRANULAR/gsm_damping.h | 6 ++-- src/GRANULAR/gsm_heat.cpp | 3 +- src/GRANULAR/gsm_heat.h | 2 +- src/GRANULAR/gsm_normal.cpp | 46 ++++++--------------------- src/GRANULAR/gsm_normal.h | 18 ++++------- src/GRANULAR/gsm_rolling.cpp | 3 +- src/GRANULAR/gsm_rolling.h | 2 +- src/GRANULAR/gsm_tangential.cpp | 4 +-- src/GRANULAR/gsm_tangential.h | 12 ++++--- src/GRANULAR/gsm_twisting.cpp | 3 +- src/GRANULAR/gsm_twisting.h | 2 +- 20 files changed, 66 insertions(+), 93 deletions(-) diff --git a/src/GRANULAR/atom_vec_sphere_temp.cpp b/src/GRANULAR/atom_vec_sphere_temp.cpp index bc3dcb7a2d..283a55e2da 100644 --- a/src/GRANULAR/atom_vec_sphere_temp.cpp +++ b/src/GRANULAR/atom_vec_sphere_temp.cpp @@ -1,7 +1,7 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov + LAMMPS development team: developers@lammps.org Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains diff --git a/src/GRANULAR/atom_vec_sphere_temp.h b/src/GRANULAR/atom_vec_sphere_temp.h index c93b0ee4dd..de6d5266a5 100644 --- a/src/GRANULAR/atom_vec_sphere_temp.h +++ b/src/GRANULAR/atom_vec_sphere_temp.h @@ -1,7 +1,7 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov + LAMMPS development team: developers@lammps.org Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains diff --git a/src/GRANULAR/fix_temp_integrate.cpp b/src/GRANULAR/fix_temp_integrate.cpp index e5fbae63dc..ab9739e874 100644 --- a/src/GRANULAR/fix_temp_integrate.cpp +++ b/src/GRANULAR/fix_temp_integrate.cpp @@ -1,8 +1,8 @@ // clang-format off -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov + LAMMPS development team: developers@lammps.org Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains diff --git a/src/GRANULAR/fix_temp_integrate.h b/src/GRANULAR/fix_temp_integrate.h index 738cb28a6f..8356d00433 100644 --- a/src/GRANULAR/fix_temp_integrate.h +++ b/src/GRANULAR/fix_temp_integrate.h @@ -1,7 +1,7 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov + LAMMPS development team: developers@lammps.org Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains diff --git a/src/GRANULAR/granular_model.cpp b/src/GRANULAR/granular_model.cpp index a7aaa1ed83..3f500d0431 100644 --- a/src/GRANULAR/granular_model.cpp +++ b/src/GRANULAR/granular_model.cpp @@ -1,8 +1,8 @@ // clang-format off -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov + LAMMPS development team: developers@lammps.org Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains @@ -23,16 +23,11 @@ #include "granular_model.h" #include "gsm.h" -#include "gsm_normal.h" -#include "gsm_tangential.h" -#include "gsm_damping.h" -#include "gsm_rolling.h" -#include "gsm_twisting.h" -#include "gsm_heat.h" #include "comm.h" #include "error.h" #include "force.h" #include "math_extra.h" +#include "style_gsm.h" // IWYU pragma: keep #include @@ -253,10 +248,13 @@ void GranularModel::init() if (sub_models[i]->beyond_contact) beyond_contact = 1; size_history += sub_models[i]->size_history; - if (limit_damping && (!sub_models[i]->allow_limit_damping)) - error->all(FLERR,"Cannot limit damping with {} model", sub_models[i]->name); + if (!sub_models[i]->allow_cohesion && normal_model->cohesive_flag) + error->all(FLERR,"Cannot use {} model with a cohesive normal model, {}", sub_models[i]->name, normal_model->name); } + if (limit_damping && (normal_model->cohesive_flag)) + error->all(FLERR,"Cannot limit damping with a cohesive normal model, {}", normal_model->name); + if (nondefault_history_transfer) { transfer_history_factor = new double[size_history]; @@ -430,13 +428,12 @@ void GranularModel::calculate_forces() // calculate forces/torques forces[0] = 0.0; - double Fne, Fdamp, dist_to_contact; + double Fdamp, dist_to_contact; area = normal_model->calculate_area(); - normal_model->set_knfac(); - Fne = normal_model->calculate_forces(); + Fnormal = normal_model->calculate_forces(); Fdamp = damping_model->calculate_forces(); - Fntot = Fne + Fdamp; + Fntot = Fnormal + Fdamp; if (limit_damping && Fntot < 0.0) Fntot = 0.0; normal_model->set_fncrit(); // Needed for tangential, rolling, twisting diff --git a/src/GRANULAR/granular_model.h b/src/GRANULAR/granular_model.h index afc8f61ddc..b45c916580 100644 --- a/src/GRANULAR/granular_model.h +++ b/src/GRANULAR/granular_model.h @@ -1,7 +1,7 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov + LAMMPS development team: developers@lammps.org Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains @@ -82,7 +82,7 @@ class GranularModel : protected Pointers { double *history; // Contact properties/output - double forces[3], torquesi[3], torquesj[3], dq; + double Fnormal, forces[3], torquesi[3], torquesj[3], dq; double radi, radj, meff, dt, Ti, Tj, area; double Fntot, magtortwist; diff --git a/src/GRANULAR/gsm.cpp b/src/GRANULAR/gsm.cpp index 6430fb7403..fb0ae48615 100644 --- a/src/GRANULAR/gsm.cpp +++ b/src/GRANULAR/gsm.cpp @@ -1,8 +1,8 @@ // clang-format off -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov + LAMMPS development team: developers@lammps.org Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains @@ -10,7 +10,7 @@ the GNU General Public License. See the README file in the top-level LAMMPS directory. --------------------------------------------------------------------------*/ +------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- This class contains a framework for granular submodels (GSM) including: @@ -39,7 +39,7 @@ GSM::GSM(class GranularModel *gm, LAMMPS *lmp) : Pointers(lmp) allocated = 0; size_history = 0; history_index = 0; - allow_limit_damping = 1; + allow_cohesion = 1; beyond_contact = 0; num_coeffs = 0; diff --git a/src/GRANULAR/gsm.h b/src/GRANULAR/gsm.h index b2df6bef2b..4695749d64 100644 --- a/src/GRANULAR/gsm.h +++ b/src/GRANULAR/gsm.h @@ -1,7 +1,7 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov + LAMMPS development team: developers@lammps.org Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains @@ -41,7 +41,7 @@ class GSM : protected Pointers { int history_index; int beyond_contact; - int allow_limit_damping; + int allow_cohesion; GranularModel *gm; diff --git a/src/GRANULAR/gsm_damping.cpp b/src/GRANULAR/gsm_damping.cpp index 9b51651f30..0280f61771 100644 --- a/src/GRANULAR/gsm_damping.cpp +++ b/src/GRANULAR/gsm_damping.cpp @@ -1,7 +1,8 @@ +// clang-format off /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov + LAMMPS development team: developers@lammps.org Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains @@ -108,6 +109,6 @@ void GSMDampingTsuji::init() double GSMDampingTsuji::calculate_forces() { - damp_prefactor = damp * sqrt(gm->meff * gm->normal_model->knfac); + damp_prefactor = damp * sqrt(gm->meff * gm->Fnormal / gm->delta); return -damp_prefactor * gm->vnnr; } diff --git a/src/GRANULAR/gsm_damping.h b/src/GRANULAR/gsm_damping.h index 1904314cdc..75c0f96356 100644 --- a/src/GRANULAR/gsm_damping.h +++ b/src/GRANULAR/gsm_damping.h @@ -1,7 +1,7 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov + LAMMPS development team: developers@lammps.org Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains @@ -52,7 +52,9 @@ class GSMDamping : public GSM { virtual void mix_coeffs(double*, double*) {}; virtual void init(); virtual double calculate_forces() = 0; - double damp, damp_prefactor; + double damp_prefactor; // Used by tangential models + protected: + double damp; }; /* ---------------------------------------------------------------------- */ diff --git a/src/GRANULAR/gsm_heat.cpp b/src/GRANULAR/gsm_heat.cpp index 449df5520b..7512e372a0 100644 --- a/src/GRANULAR/gsm_heat.cpp +++ b/src/GRANULAR/gsm_heat.cpp @@ -1,7 +1,8 @@ +// clang-format off /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov + LAMMPS development team: developers@lammps.org Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains diff --git a/src/GRANULAR/gsm_heat.h b/src/GRANULAR/gsm_heat.h index 4b27979273..c913593f19 100644 --- a/src/GRANULAR/gsm_heat.h +++ b/src/GRANULAR/gsm_heat.h @@ -1,7 +1,7 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov + LAMMPS development team: developers@lammps.org Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains diff --git a/src/GRANULAR/gsm_normal.cpp b/src/GRANULAR/gsm_normal.cpp index 2b029ece6a..0ae288f6fd 100644 --- a/src/GRANULAR/gsm_normal.cpp +++ b/src/GRANULAR/gsm_normal.cpp @@ -1,7 +1,8 @@ +// clang-format off /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov + LAMMPS development team: developers@lammps.org Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains @@ -35,6 +36,7 @@ using namespace MathConst; GSMNormal::GSMNormal(GranularModel *gm, LAMMPS *lmp) : GSM(gm, lmp) { material_properties = 0; + cohesive_flag = 0; } /* ---------------------------------------------------------------------- */ @@ -103,15 +105,7 @@ void GSMNormalHooke::coeffs_to_local() double GSMNormalHooke::calculate_forces() { - Fne = knfac * gm->delta; - return Fne; -} - -/* ---------------------------------------------------------------------- */ - -void GSMNormalHooke::set_knfac() -{ - knfac = k; + return k * gm->delta; } /* ---------------------------------------------------------------------- @@ -137,15 +131,7 @@ void GSMNormalHertz::coeffs_to_local() double GSMNormalHertz::calculate_forces() { - Fne = knfac * gm->delta; - return Fne; -} - -/* ---------------------------------------------------------------------- */ - -void GSMNormalHertz::set_knfac() -{ - knfac = k * gm->area; + return k * gm->area * gm->delta; } /* ---------------------------------------------------------------------- @@ -190,8 +176,8 @@ void GSMNormalHertzMaterial::mix_coeffs(double* icoeffs, double* jcoeffs) GSMNormalDMT::GSMNormalDMT(GranularModel *gm, LAMMPS *lmp) : GSMNormal(gm, lmp) { - allow_limit_damping = 0; material_properties = 1; + cohesive_flag = 1; num_coeffs = 4; } @@ -227,7 +213,7 @@ void GSMNormalDMT::mix_coeffs(double* icoeffs, double* jcoeffs) double GSMNormalDMT::calculate_forces() { - Fne = knfac * gm->delta; + Fne = k * gm->area * gm->delta; F_pulloff = 4.0 * MathConst::MY_PI * cohesion * gm->Reff; Fne -= F_pulloff; return Fne; @@ -235,13 +221,6 @@ double GSMNormalDMT::calculate_forces() /* ---------------------------------------------------------------------- */ -void GSMNormalDMT::set_knfac() -{ - knfac = k * gm->area; -} - -/* ---------------------------------------------------------------------- */ - void GSMNormalDMT::set_fncrit() { Fncrit = fabs(Fne + 2.0 * F_pulloff); @@ -253,8 +232,8 @@ void GSMNormalDMT::set_fncrit() GSMNormalJKR::GSMNormalJKR(GranularModel *gm, LAMMPS *lmp) : GSMNormal(gm, lmp) { - allow_limit_damping = 0; material_properties = 1; + cohesive_flag = 1; beyond_contact = 1; num_coeffs = 4; } @@ -356,7 +335,7 @@ double GSMNormalJKR::calculate_forces() { double a2; a2 = gm->area * gm->area; - Fne = knfac * a2 / gm->Reff - MY_2PI * a2 * sqrt(4.0 * cohesion * Emix / (MY_PI * gm->area)); + Fne = k * gm->area * a2 / gm->Reff - MY_2PI * a2 * sqrt(4.0 * cohesion * Emix / (MY_PI * gm->area)); F_pulloff = 3.0 * MY_PI * cohesion * gm->Reff; return Fne; @@ -364,13 +343,6 @@ double GSMNormalJKR::calculate_forces() /* ---------------------------------------------------------------------- */ -void GSMNormalJKR::set_knfac() -{ - knfac = k * gm->area; -} - -/* ---------------------------------------------------------------------- */ - void GSMNormalJKR::set_fncrit() { Fncrit = fabs(Fne + 2.0 * F_pulloff); diff --git a/src/GRANULAR/gsm_normal.h b/src/GRANULAR/gsm_normal.h index 0c7ba30e41..2d7391f3c8 100644 --- a/src/GRANULAR/gsm_normal.h +++ b/src/GRANULAR/gsm_normal.h @@ -1,7 +1,7 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov + LAMMPS development team: developers@lammps.org Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains @@ -56,13 +56,12 @@ class GSMNormal : public GSM { virtual bool touch(); virtual double pulloff_distance(double, double); virtual double calculate_area(); - virtual void set_knfac() = 0; virtual double calculate_forces() = 0; virtual void set_fncrit(); - double damp; // Vestigial argument needed by damping + double damp; // argument historically needed by damping double Emod, poiss; - double Fncrit, Fne, knfac; - int material_properties; + double Fncrit, knfac; + int material_properties, cohesive_flag; }; /* ---------------------------------------------------------------------- */ @@ -70,7 +69,6 @@ class GSMNormal : public GSM { class GSMNormalNone : public GSMNormal { public: GSMNormalNone(class GranularModel *, class LAMMPS *); - void set_knfac() {}; double calculate_forces(); }; @@ -80,7 +78,6 @@ class GSMNormalHooke : public GSMNormal { public: GSMNormalHooke(class GranularModel *, class LAMMPS *); void coeffs_to_local() override; - void set_knfac(); double calculate_forces(); protected: double k; @@ -92,7 +89,6 @@ class GSMNormalHertz : public GSMNormal { public: GSMNormalHertz(class GranularModel *, class LAMMPS *); void coeffs_to_local() override; - void set_knfac(); double calculate_forces(); protected: double k; @@ -114,12 +110,11 @@ class GSMNormalDMT : public GSMNormal { GSMNormalDMT(class GranularModel *, class LAMMPS *); void coeffs_to_local() override; void mix_coeffs(double*, double*) override; - void set_knfac(); double calculate_forces(); void set_fncrit() override; protected: double k, cohesion; - double F_pulloff; + double F_pulloff, Fne; }; /* ---------------------------------------------------------------------- */ @@ -132,12 +127,11 @@ class GSMNormalJKR : public GSMNormal { bool touch() override; double pulloff_distance(double, double) override; double calculate_area() override; - void set_knfac(); double calculate_forces(); void set_fncrit() override; protected: double k, cohesion; - double Emix, F_pulloff; + double Emix, F_pulloff, Fne; }; } // namespace Granular_NS diff --git a/src/GRANULAR/gsm_rolling.cpp b/src/GRANULAR/gsm_rolling.cpp index efb0ea423b..ceda262853 100644 --- a/src/GRANULAR/gsm_rolling.cpp +++ b/src/GRANULAR/gsm_rolling.cpp @@ -1,7 +1,8 @@ +// clang-format off /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov + LAMMPS development team: developers@lammps.org Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains diff --git a/src/GRANULAR/gsm_rolling.h b/src/GRANULAR/gsm_rolling.h index 21e61ac4bc..054b22954f 100644 --- a/src/GRANULAR/gsm_rolling.h +++ b/src/GRANULAR/gsm_rolling.h @@ -1,7 +1,7 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov + LAMMPS development team: developers@lammps.org Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains diff --git a/src/GRANULAR/gsm_tangential.cpp b/src/GRANULAR/gsm_tangential.cpp index b3e6266049..b2e7ca8762 100644 --- a/src/GRANULAR/gsm_tangential.cpp +++ b/src/GRANULAR/gsm_tangential.cpp @@ -1,7 +1,8 @@ +// clang-format off /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov + LAMMPS development team: developers@lammps.org Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains @@ -136,7 +137,6 @@ void GSMTangentialLinearHistory::calculate_forces() add3(history, temp_array, history); } - // tangential forces = history + tangential velocity damping scale3(-k, history, gm->fs); scale3(damp, gm->vtr, temp_array); diff --git a/src/GRANULAR/gsm_tangential.h b/src/GRANULAR/gsm_tangential.h index a420c7d314..1d6dfa3d04 100644 --- a/src/GRANULAR/gsm_tangential.h +++ b/src/GRANULAR/gsm_tangential.h @@ -1,7 +1,7 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov + LAMMPS development team: developers@lammps.org Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains @@ -66,10 +66,7 @@ class GSMTangential : public GSM { virtual void coeffs_to_local() {}; virtual void init() {}; virtual void calculate_forces() = 0; - int rescale_flag; double k, damp, mu; // Used by Marshall twisting model - protected: - double xt; }; /* ---------------------------------------------------------------------- */ @@ -87,6 +84,8 @@ class GSMTangentialLinearNoHistory : public GSMTangential { GSMTangentialLinearNoHistory(class GranularModel *, class LAMMPS *); void coeffs_to_local() override; void calculate_forces(); + protected: + double xt; }; /* ---------------------------------------------------------------------- */ @@ -96,6 +95,8 @@ class GSMTangentialLinearHistory : public GSMTangential { GSMTangentialLinearHistory(class GranularModel *, class LAMMPS *); void coeffs_to_local() override; void calculate_forces(); + protected: + double xt; }; /* ---------------------------------------------------------------------- */ @@ -104,7 +105,9 @@ class GSMTangentialLinearHistoryClassic : public GSMTangentialLinearHistory { public: GSMTangentialLinearHistoryClassic(class GranularModel *, class LAMMPS *); void calculate_forces(); + protected: int scale_area; + double xt; }; /* ---------------------------------------------------------------------- */ @@ -124,6 +127,7 @@ class GSMTangentialMindlin : public GSMTangential { void calculate_forces(); protected: int mindlin_rescale, mindlin_force; + double xt; }; /* ---------------------------------------------------------------------- */ diff --git a/src/GRANULAR/gsm_twisting.cpp b/src/GRANULAR/gsm_twisting.cpp index 3704ac4ec8..73149b099b 100644 --- a/src/GRANULAR/gsm_twisting.cpp +++ b/src/GRANULAR/gsm_twisting.cpp @@ -1,7 +1,8 @@ +// clang-format off /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov + LAMMPS development team: developers@lammps.org Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains diff --git a/src/GRANULAR/gsm_twisting.h b/src/GRANULAR/gsm_twisting.h index 84759acce7..b9ab7826a6 100644 --- a/src/GRANULAR/gsm_twisting.h +++ b/src/GRANULAR/gsm_twisting.h @@ -1,7 +1,7 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov + LAMMPS development team: developers@lammps.org Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains From c8347df494efde32a2556d8b671eabfb568092ae Mon Sep 17 00:00:00 2001 From: jtclemm Date: Tue, 1 Nov 2022 13:34:07 -0600 Subject: [PATCH 035/448] Removing knfac from documentation --- doc/src/Modify_gsm.rst | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/doc/src/Modify_gsm.rst b/doc/src/Modify_gsm.rst index 06172b4dec..56b38fd573 100644 --- a/doc/src/Modify_gsm.rst +++ b/doc/src/Modify_gsm.rst @@ -82,7 +82,7 @@ There are also several type-specific methods * - ``GSMNormal->calculate_area()`` - Optional method to return the surface area of the contact. By default, this returns the geometric cross section. * - ``GSMNormal->set_fncrit()`` - - Optional method that defines the critical force to break the contact used by some tangential, rolling, and twisting submodels. By default, this is the current total normal force, including damping. + - Optional method that defines the critical force to break the contact used by some tangential, rolling, and twisting submodels. By default, this is the current total normal force including damping. * - ``GSMNormal->calculate_forces()`` - Required method that returns the normal contact force * - ``GSMDamping->calculate_forces()`` @@ -123,7 +123,6 @@ set of files ``gsm_custom.h``: public: GSMNormalHookePiecewise(class GranularModel *, class LAMMPS *); void coeffs_to_local() override; - void set_knfac(); double calculate_forces(); protected: double k1, k2, delta_switch; @@ -166,6 +165,7 @@ and ``gsm_custom.cpp`` double GSMNormalHookePiecewise::calculate_forces() { + double Fne; if (gm->delta >= delta_switch { Fne = k1 * delta_switch + k2 * (gm->delta - delta_switch); } else { @@ -174,10 +174,3 @@ and ``gsm_custom.cpp`` return Fne; } - /* ---------------------------------------------------------------------- */ - - void GSMNormalHookePiecewise::set_knfac() - { - if (gm->delta < delta_switch) knfac = k1; - else knfac = k2; - } From 88be5a37812186ce989f2ca55cc5ad2cceeed3bd Mon Sep 17 00:00:00 2001 From: jtclemm Date: Tue, 1 Nov 2022 14:01:07 -0600 Subject: [PATCH 036/448] Minor fixes to doc pages --- doc/src/Modify_gsm.rst | 6 +++--- doc/src/dump.rst | 2 +- doc/src/pair_granular.rst | 13 ++++++++----- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/doc/src/Modify_gsm.rst b/doc/src/Modify_gsm.rst index 56b38fd573..f549a9bb45 100644 --- a/doc/src/Modify_gsm.rst +++ b/doc/src/Modify_gsm.rst @@ -67,9 +67,9 @@ classes. All GSM classes share several general methods which may need to be defi * - ``GSM->mix_coeff()`` - Optional method to define how coefficients are mixed for different atom types. By default, coefficients are mixed using a geometric mean. * - ``GSM->coeffs_to_local()`` - - Parses coefficients to define local variables, run once at model construction. + - Parses coefficients to define local variables. Run once at model construction. * - ``GSM->init()`` - - Optional method to define local variables after other GSM types were created. For instance, this method may be used by a tangential model that derives parameters from the normal stiffness. + - Optional method to define local variables after other GSM types were created. For instance, this method may be used by a tangential model that derives parameters from the normal model. There are also several type-specific methods @@ -166,7 +166,7 @@ and ``gsm_custom.cpp`` double GSMNormalHookePiecewise::calculate_forces() { double Fne; - if (gm->delta >= delta_switch { + if (gm->delta >= delta_switch) { Fne = k1 * delta_switch + k2 * (gm->delta - delta_switch); } else { Fne = k1 * gm->delta; diff --git a/doc/src/dump.rst b/doc/src/dump.rst index c324c945ee..f5a121517a 100644 --- a/doc/src/dump.rst +++ b/doc/src/dump.rst @@ -108,7 +108,7 @@ Syntax omegax,omegay,omegaz = angular velocity of spherical particle angmomx,angmomy,angmomz = angular momentum of aspherical particle tqx,tqy,tqz = torque on finite-size particles - heatflow = flow of heat into particle + heatflow = rate of heat flow into particle temperature = temperature of particle c_ID = per-atom vector calculated by a compute with ID c_ID[I] = Ith column of per-atom array calculated by a compute with ID, I can include wildcard (see below) diff --git a/doc/src/pair_granular.rst b/doc/src/pair_granular.rst index bc365814cd..8109e6709a 100644 --- a/doc/src/pair_granular.rst +++ b/doc/src/pair_granular.rst @@ -226,16 +226,19 @@ for all models except *jkr*, for which it is given implicitly according to :math:`\delta = a^2/R - 2\sqrt{\pi \gamma a/E}`. For *damping viscoelastic*, :math:`\eta_{n0}` is in units of 1/(\ *time*\ \*\ *distance*\ ). -The *tsuji* model is based on the work of :ref:`(Tsuji et al) `. Here, the damping coefficient specified as part of -the normal model is interpreted as a restitution coefficient -:math:`e`. The damping constant :math:`\eta_n` is given by: +The *tsuji* model is based on the work of :ref:`(Tsuji et al) `. +Here, the damping coefficient specified as part of the normal model is interpreted +as a restitution coefficient :math:`e`. The damping constant :math:`\eta_n` is +given by: .. math:: \eta_n = \alpha (m_{eff}k_n)^{1/2} -For normal contact models based on material parameters, :math:`k_n = 4/3Ea`. The parameter :math:`\alpha` is related to the restitution -coefficient *e* according to: +For normal contact models based on material parameters, :math:`k_n = 4/3Ea`. This +damping model is not compatible with cohesive normal models such as *JKR* or *DMT*. +The parameter :math:`\alpha` is related to the restitution coefficient *e* +according to: .. math:: From 95a8d2cc25d7686e8d5f0319523ca0fba1fa743f Mon Sep 17 00:00:00 2001 From: jtclemm Date: Wed, 2 Nov 2022 15:38:12 -0600 Subject: [PATCH 037/448] Patching pair tracker --- src/MISC/pair_tracker.cpp | 2 +- src/MISC/pair_tracker.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/MISC/pair_tracker.cpp b/src/MISC/pair_tracker.cpp index c994b02df5..adbd832eae 100644 --- a/src/MISC/pair_tracker.cpp +++ b/src/MISC/pair_tracker.cpp @@ -514,7 +514,7 @@ double PairTracker::single(int /*i*/, int /*j*/, int /*itype*/, int /*jtype*/, d only needed if any history entries i-j are not just negative of j-i entries ------------------------------------------------------------------------- */ -void PairTracker::transfer_history(double *source, double *target) +void PairTracker::transfer_history(double *source, double *target, int itype, int jtype) { for (int i = 0; i < size_history; i++) target[i] = source[i]; } diff --git a/src/MISC/pair_tracker.h b/src/MISC/pair_tracker.h index 47128b8073..e072f51f21 100644 --- a/src/MISC/pair_tracker.h +++ b/src/MISC/pair_tracker.h @@ -40,7 +40,7 @@ class PairTracker : public Pair { double single(int, int, int, int, double, double, double, double &) override; double atom2cut(int) override; double radii2cut(double, double) override; - void transfer_history(double *, double *) override; + void transfer_history(double *, double *, int, int) override; protected: int sizeflag; From 74122040a392de78a4b04ca2cf2142c79fe32892 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 2 Nov 2022 20:20:06 -0400 Subject: [PATCH 038/448] add cmake support for generating gsm style header file --- cmake/Modules/StyleHeaderUtils.cmake | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cmake/Modules/StyleHeaderUtils.cmake b/cmake/Modules/StyleHeaderUtils.cmake index 7590d822eb..2bc84252d3 100644 --- a/cmake/Modules/StyleHeaderUtils.cmake +++ b/cmake/Modules/StyleHeaderUtils.cmake @@ -104,6 +104,7 @@ function(RegisterStyles search_path) FindStyleHeaders(${search_path} DIHEDRAL_CLASS dihedral_ DIHEDRAL ) # dihedral ) # force FindStyleHeaders(${search_path} DUMP_CLASS dump_ DUMP ) # dump ) # output write_dump FindStyleHeaders(${search_path} FIX_CLASS fix_ FIX ) # fix ) # modify + FindStyleHeaders(${search_path} GSM_CLASS gsm_ GSM ) # gsm ) # granular_model FindStyleHeaders(${search_path} IMPROPER_CLASS improper_ IMPROPER ) # improper ) # force FindStyleHeaders(${search_path} INTEGRATE_CLASS "[^.]" INTEGRATE ) # integrate ) # update FindStyleHeaders(${search_path} KSPACE_CLASS "[^.]" KSPACE ) # kspace ) # force @@ -127,6 +128,7 @@ function(RegisterStylesExt search_path extension sources) FindStyleHeadersExt(${search_path} DIHEDRAL_CLASS ${extension} DIHEDRAL ${sources}) FindStyleHeadersExt(${search_path} DUMP_CLASS ${extension} DUMP ${sources}) FindStyleHeadersExt(${search_path} FIX_CLASS ${extension} FIX ${sources}) + FindStyleHeadersExt(${search_path} GSM_CLASS ${extension} GSM ${sources}) FindStyleHeadersExt(${search_path} IMPROPER_CLASS ${extension} IMPROPER ${sources}) FindStyleHeadersExt(${search_path} INTEGRATE_CLASS ${extension} INTEGRATE ${sources}) FindStyleHeadersExt(${search_path} KSPACE_CLASS ${extension} KSPACE ${sources}) @@ -151,6 +153,7 @@ function(GenerateStyleHeaders output_path) GenerateStyleHeader(${output_path} DIHEDRAL dihedral ) # force GenerateStyleHeader(${output_path} DUMP dump ) # output write_dump GenerateStyleHeader(${output_path} FIX fix ) # modify + GenerateStyleHeader(${output_path} GSM gsm ) # granular_model GenerateStyleHeader(${output_path} IMPROPER improper ) # force GenerateStyleHeader(${output_path} INTEGRATE integrate ) # update GenerateStyleHeader(${output_path} KSPACE kspace ) # force From 3561bbe88724834718be98b11eef2dfc6f07fb03 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 2 Nov 2022 20:20:56 -0400 Subject: [PATCH 039/448] simplify --- src/GRANULAR/granular_model.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/GRANULAR/granular_model.h b/src/GRANULAR/granular_model.h index b45c916580..d3ce11b799 100644 --- a/src/GRANULAR/granular_model.h +++ b/src/GRANULAR/granular_model.h @@ -20,15 +20,15 @@ namespace LAMMPS_NS { namespace Granular_NS { #define EPSILON 1e-10 -#define NSUBMODELS 6 enum SubmodelType { NORMAL = 0, - DAMPING = 1, - TANGENTIAL = 2, - ROLLING = 3, - TWISTING = 4, - HEAT = 5 + DAMPING, + TANGENTIAL, + ROLLING, + TWISTING, + HEAT, + NSUBMODELS }; // Relative order matters since some derive coeffs from others enum ContactType { @@ -37,7 +37,7 @@ enum ContactType { WALLREGION = 2 }; -// forward declaration +// forward declarations class GSM; class GSMNormal; class GSMDamping; From b5d57531d930b328cca9e0a94b5bdae513c37fbd Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 2 Nov 2022 20:38:43 -0400 Subject: [PATCH 040/448] complete integration into the manual build process --- doc/src/Commands_fix.rst | 1 + doc/src/Modify.rst | 1 + doc/src/fix.rst | 1 + 3 files changed, 3 insertions(+) diff --git a/doc/src/Commands_fix.rst b/doc/src/Commands_fix.rst index c5c2fb7cba..ec8174a370 100644 --- a/doc/src/Commands_fix.rst +++ b/doc/src/Commands_fix.rst @@ -235,6 +235,7 @@ OPT. * :doc:`temp/berendsen ` * :doc:`temp/csld ` * :doc:`temp/csvr ` + * :doc:`temp/integrate ` * :doc:`temp/rescale ` * :doc:`temp/rescale/eff ` * :doc:`tfmc ` diff --git a/doc/src/Modify.rst b/doc/src/Modify.rst index e42da61387..39a1faeb87 100644 --- a/doc/src/Modify.rst +++ b/doc/src/Modify.rst @@ -34,5 +34,6 @@ style requirements and recommendations `. Modify_min Modify_region Modify_body + Modify_gsm Modify_thermo Modify_variable diff --git a/doc/src/fix.rst b/doc/src/fix.rst index 333e920bd9..461cfc1465 100644 --- a/doc/src/fix.rst +++ b/doc/src/fix.rst @@ -382,6 +382,7 @@ accelerated styles exist. * :doc:`temp/berendsen ` - temperature control by Berendsen thermostat * :doc:`temp/csld ` - canonical sampling thermostat with Langevin dynamics * :doc:`temp/csvr ` - canonical sampling thermostat with Hamiltonian dynamics +* :doc:`temp/integrate ` - plain time integration with per-atom temperature updates * :doc:`temp/rescale ` - temperature control by velocity rescaling * :doc:`temp/rescale/eff ` - temperature control by velocity rescaling in the electron force field model * :doc:`tfmc ` - perform force-bias Monte Carlo with time-stamped method From 871efda589c4c7119a1f1738e53a02e217439ffa Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 2 Nov 2022 20:39:10 -0400 Subject: [PATCH 041/448] a few formal changes and spelling updates --- doc/src/Modify_gsm.rst | 26 ++++++++-------- doc/src/fix_temp_integrate.rst | 6 ---- doc/src/pair_granular.rst | 33 +++++++++++---------- doc/utils/sphinx-config/false_positives.txt | 1 + 4 files changed, 32 insertions(+), 34 deletions(-) diff --git a/doc/src/Modify_gsm.rst b/doc/src/Modify_gsm.rst index f549a9bb45..515c776c6c 100644 --- a/doc/src/Modify_gsm.rst +++ b/doc/src/Modify_gsm.rst @@ -1,5 +1,5 @@ -Granular Submodel (GSM) styles -=========== +Granular Sub-model (GSM) styles +=============================== In granular models, particles are spheres with a finite radius and rotational degrees of freedom as further described in the @@ -9,22 +9,22 @@ of motion as described in :doc:`pair granular ` and :doc:`fix wall/gran `. In both cases, the exchange of forces, torques, and heat flow between two types of bodies is defined using a GranularModel class. The GranularModel class organizes the details of an -interaction using a series of granular submodels each of which describe a +interaction using a series of granular sub-models each of which describe a particular interaction mode (e.g. normal forces or rolling friction). From a -parent GSM class, several types of submodel classes are derived: +parent GSM class, several types of sub-model classes are derived: -* GSMNormal: normal force submodel -* GSMDamping: normal damping submodel -* GSMTangential: tangential forces and sliding friction submodel -* GSMRolling: rolling friction submodel -* GSMTwisting: twisting friction submodel -* GSMHeat: heat conduction submodel +* GSMNormal: normal force sub-model +* GSMDamping: normal damping sub-model +* GSMTangential: tangential forces and sliding friction sub-model +* GSMRolling: rolling friction sub-model +* GSMTwisting: twisting friction sub-model +* GSMHeat: heat conduction sub-model -For each type of submodel, more classes are further derived, each describing +For each type of sub-model, more classes are further derived, each describing a specific implementation. For instance, from the GSMNormal class the GSMNormalHooke, GSMNormalHertz, and GSMNormalJKR classes are derived which calculate Hookean, Hertzian, or JKR normal forces, respectively. This modular -structure simplifies the addition of new granualar contact models as as one only +structure simplifies the addition of new granular contact models as as one only needs to create a new GSM class without having to modify the more complex PairGranular, FixGranWall, and GranularModel classes. Most GSM methods are also already defined by the parent classes so new contact models typically only require @@ -82,7 +82,7 @@ There are also several type-specific methods * - ``GSMNormal->calculate_area()`` - Optional method to return the surface area of the contact. By default, this returns the geometric cross section. * - ``GSMNormal->set_fncrit()`` - - Optional method that defines the critical force to break the contact used by some tangential, rolling, and twisting submodels. By default, this is the current total normal force including damping. + - Optional method that defines the critical force to break the contact used by some tangential, rolling, and twisting sub-models. By default, this is the current total normal force including damping. * - ``GSMNormal->calculate_forces()`` - Required method that returns the normal contact force * - ``GSMDamping->calculate_forces()`` diff --git a/doc/src/fix_temp_integrate.rst b/doc/src/fix_temp_integrate.rst index 03fae7a872..efcf450d8f 100644 --- a/doc/src/fix_temp_integrate.rst +++ b/doc/src/fix_temp_integrate.rst @@ -41,12 +41,6 @@ the *constant* or *type* keywords. For style *constant*, the specific heat is a constant value *cp* for all atoms. For style *type*, *N* different values of the specific heat are defined, one for each of the *N* types of atoms. - - ----------- - -.. include:: accel_styles.rst - ---------- Restart, fix_modify, output, run start/stop, minimize info diff --git a/doc/src/pair_granular.rst b/doc/src/pair_granular.rst index a6533957df..cb044252da 100644 --- a/doc/src/pair_granular.rst +++ b/doc/src/pair_granular.rst @@ -766,26 +766,29 @@ These extra quantities can be accessed by the :doc:`compute pair/local ` page for more info. +This pair style is part of the GRANULAR package. It is +only enabled if LAMMPS was built with that package. +See the :doc:`Build package ` page for more info. -These pair styles require that atoms store torque and angular velocity -(omega) as defined by the :doc:`atom_style `. They also -require a per-particle radius is stored. The *sphere* atom style does -all of this. +This pair style requires that atoms store per-particle radius, +torque, and angular velocity (omega) as defined by the +:doc:`atom_style sphere `. -This pair style requires you to use the :doc:`comm_modify vel yes ` command so that velocities are stored by ghost -atoms. +This pair style requires you to use the :doc:`comm_modify vel yes ` +command so that velocities are stored by ghost atoms. -These pair styles will not restart exactly when using the -:doc:`read_restart ` command, though they should provide -statistically similar results. This is because the forces they -compute depend on atom velocities. See the -:doc:`read_restart ` command for more details. +This pair style will not restart exactly when using the +:doc:`read_restart ` command, though it should provide +statistically similar results. This is because the forces it +computes depend on atom velocities and the atom velocities have +been propagated half a timestep between the force computation and +when the restart is written, due to using Velocity Verlet time +integration. See the :doc:`read_restart ` command +for more details. -Accumulated values for individual contacts are saved to to restart +Accumulated values for individual contacts are saved to restart files but are not saved to data files. Therefore, forces may -differ significantly when a system is reloaded using A +differ significantly when a system is reloaded using the :doc:`read_data ` command. Related commands diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 61c1d45ba7..5aeb259ee6 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -1336,6 +1336,7 @@ hdnnp HDNNP Hearn heatconduction +heatflow Hebbeker Hebenstreit Hecht From bc74fef3f4f51f9691b1135e9420d638c1363cd2 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Wed, 2 Nov 2022 21:11:30 -0600 Subject: [PATCH 042/448] Fixing memory leaks, misc clean ups, adding cohesive flag to Tsuji --- src/GRANULAR/granular_model.cpp | 25 ++++++++++++------------- src/GRANULAR/granular_model.h | 2 +- src/GRANULAR/gsm.cpp | 1 + src/GRANULAR/gsm_damping.cpp | 5 ++++- 4 files changed, 18 insertions(+), 15 deletions(-) diff --git a/src/GRANULAR/granular_model.cpp b/src/GRANULAR/granular_model.cpp index 3f500d0431..10113cdf78 100644 --- a/src/GRANULAR/granular_model.cpp +++ b/src/GRANULAR/granular_model.cpp @@ -95,13 +95,11 @@ GranularModel::GranularModel(LAMMPS *lmp) : Pointers(lmp) GranularModel::~GranularModel() { delete [] transfer_history_factor; + delete [] gsmclass; + delete [] gsmnames; + delete [] gsmtypes; - delete normal_model; - delete damping_model; - delete tangential_model; - delete rolling_model; - delete twisting_model; - delete heat_model; + for (int i = 0; i < NSUBMODELS; i ++) delete sub_models[i]; } /* ---------------------------------------------------------------------- */ @@ -119,7 +117,7 @@ int GranularModel::add_submodel(char **arg, int iarg, int narg, SubmodelType mod error->all(FLERR, "Insufficient arguments provided for {} model", model_name); for (int i = 0; i < num_coeffs; i++) { - // A few parameters (eg.g kt for tangential mindlin) allow null + // A few parameters (e.g. kt for tangential mindlin) allow null if (strcmp(arg[iarg + i], "NULL") == 0) sub_models[model_type]->coeffs[i] = -1; else sub_models[model_type]->coeffs[i] = utils::numeric(FLERR,arg[iarg + i],false,lmp); } @@ -138,6 +136,7 @@ void GranularModel::construct_submodel(std::string model_name, SubmodelType mode if (gsmtypes[i] == model_type) { if (strcmp(gsmnames[i], model_name.c_str()) == 0) { GSMCreator &gsm_creator = gsmclass[i]; + delete sub_models[model_type]; sub_models[model_type] = gsm_creator(this, lmp); break; } @@ -145,7 +144,7 @@ void GranularModel::construct_submodel(std::string model_name, SubmodelType mode } if (i == nclass) - error->all(FLERR, "Illegal model type {}", model_type); + error->all(FLERR, "Illegal model type {}", model_name); sub_models[model_type]->name.assign(model_name); sub_models[model_type]->allocate_coeffs(); @@ -252,7 +251,7 @@ void GranularModel::init() error->all(FLERR,"Cannot use {} model with a cohesive normal model, {}", sub_models[i]->name, normal_model->name); } - if (limit_damping && (normal_model->cohesive_flag)) + if (limit_damping && normal_model->cohesive_flag) error->all(FLERR,"Cannot limit damping with a cohesive normal model, {}", normal_model->name); if (nondefault_history_transfer) { @@ -263,7 +262,7 @@ void GranularModel::init() // Find which model owns this history value size_cumulative = 0; for (j = 0; j < NSUBMODELS; j++) { - if (size_cumulative + sub_models[j]->size_history > i) break; + if ((size_cumulative + sub_models[j]->size_history) > i) break; size_cumulative += sub_models[j]->size_history; } @@ -451,7 +450,7 @@ void GranularModel::calculate_forces() scale3(-1, torquesi); if (contact_type == PAIR) copy3(torquesi, torquesj); - if (!classic_model && contact_type == PAIR) { + if (!classic_model && (contact_type == PAIR)) { dist_to_contact = radi - 0.5 * delta; scale3(dist_to_contact, torquesi); dist_to_contact = radj - 0.5 * delta; @@ -461,16 +460,16 @@ void GranularModel::calculate_forces() scale3(dist_to_contact, torquesi); } - double torroll[3]; if (rolling_defined) { + double torroll[3]; cross3(nx, fr, torroll); scale3(Reff, torroll); add3(torquesi, torroll, torquesi); if (contact_type == PAIR) sub3(torquesj, torroll, torquesj); } - double tortwist[3]; if (twisting_defined) { + double tortwist[3]; scale3(magtortwist, nx, tortwist); add3(torquesi, tortwist, torquesi); if (contact_type == PAIR) sub3(torquesj, tortwist, torquesj); diff --git a/src/GRANULAR/granular_model.h b/src/GRANULAR/granular_model.h index d3ce11b799..b5a4d9ef4b 100644 --- a/src/GRANULAR/granular_model.h +++ b/src/GRANULAR/granular_model.h @@ -29,7 +29,7 @@ enum SubmodelType { TWISTING, HEAT, NSUBMODELS -}; // Relative order matters since some derive coeffs from others +}; enum ContactType { PAIR = 0, diff --git a/src/GRANULAR/gsm.cpp b/src/GRANULAR/gsm.cpp index fb0ae48615..1848a1743a 100644 --- a/src/GRANULAR/gsm.cpp +++ b/src/GRANULAR/gsm.cpp @@ -45,6 +45,7 @@ GSM::GSM(class GranularModel *gm, LAMMPS *lmp) : Pointers(lmp) nondefault_history_transfer = 0; transfer_history_factor = nullptr; + coeffs = nullptr; } /* ---------------------------------------------------------------------- */ diff --git a/src/GRANULAR/gsm_damping.cpp b/src/GRANULAR/gsm_damping.cpp index 0280f61771..ed4bfd8ae1 100644 --- a/src/GRANULAR/gsm_damping.cpp +++ b/src/GRANULAR/gsm_damping.cpp @@ -93,7 +93,10 @@ double GSMDampingViscoelastic::calculate_forces() Tsuji damping ------------------------------------------------------------------------- */ -GSMDampingTsuji::GSMDampingTsuji(GranularModel *gm, LAMMPS *lmp) : GSMDamping(gm, lmp) {} +GSMDampingTsuji::GSMDampingTsuji(GranularModel *gm, LAMMPS *lmp) : GSMDamping(gm, lmp) +{ + allow_cohesion = 0; +} /* ---------------------------------------------------------------------- */ From cd658e67794ba9b102f3d690220f255f984d6f6f Mon Sep 17 00:00:00 2001 From: jtclemm Date: Mon, 7 Nov 2022 10:41:09 -0700 Subject: [PATCH 043/448] Fixing few bugs with histories, removing indices from granular model --- src/GRANULAR/fix_wall_gran.cpp | 1 - src/GRANULAR/fix_wall_gran_region.cpp | 1 - src/GRANULAR/granular_model.h | 1 - src/GRANULAR/gsm_tangential.cpp | 2 +- src/GRANULAR/pair_granular.cpp | 50 ++++++++++++++------------- 5 files changed, 27 insertions(+), 28 deletions(-) diff --git a/src/GRANULAR/fix_wall_gran.cpp b/src/GRANULAR/fix_wall_gran.cpp index e0bb941525..4956e9d900 100644 --- a/src/GRANULAR/fix_wall_gran.cpp +++ b/src/GRANULAR/fix_wall_gran.cpp @@ -492,7 +492,6 @@ void FixWallGran::post_force(int /*vflag*/) } // Reset model and copy initial geometric data - model->i = i; model->dx[0] = dx; model->dx[1] = dy; model->dx[2] = dz; diff --git a/src/GRANULAR/fix_wall_gran_region.cpp b/src/GRANULAR/fix_wall_gran_region.cpp index ad58d3e624..7ee794133c 100644 --- a/src/GRANULAR/fix_wall_gran_region.cpp +++ b/src/GRANULAR/fix_wall_gran_region.cpp @@ -229,7 +229,6 @@ void FixWallGranRegion::post_force(int /*vflag*/) for (int ic = 0; ic < nc; ic++) { // Reset model and copy initial geometric data - model->i = i; model->dx[0] = region->contact[ic].delx; model->dx[1] = region->contact[ic].dely; model->dx[2] = region->contact[ic].delz; diff --git a/src/GRANULAR/granular_model.h b/src/GRANULAR/granular_model.h index b5a4d9ef4b..dc404b332c 100644 --- a/src/GRANULAR/granular_model.h +++ b/src/GRANULAR/granular_model.h @@ -87,7 +87,6 @@ class GranularModel : protected Pointers { double radi, radj, meff, dt, Ti, Tj, area; double Fntot, magtortwist; - int i, j; double *xi, *xj, *vi, *vj, *omegai, *omegaj; double fs[3], fr[3], ft[3]; diff --git a/src/GRANULAR/gsm_tangential.cpp b/src/GRANULAR/gsm_tangential.cpp index b2e7ca8762..862159c386 100644 --- a/src/GRANULAR/gsm_tangential.cpp +++ b/src/GRANULAR/gsm_tangential.cpp @@ -44,7 +44,7 @@ GSMTangentialNone::GSMTangentialNone(GranularModel *gm, LAMMPS *lmp) : GSMTangen GSMTangentialLinearNoHistory::GSMTangentialLinearNoHistory(GranularModel *gm, LAMMPS *lmp) : GSMTangential(gm, lmp) { num_coeffs = 2; - size_history = 3; + size_history = 0; } /* ---------------------------------------------------------------------- */ diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index aa93dd7a0b..973daff5c9 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -122,6 +122,9 @@ void PairGranular::compute(int eflag, int vflag) bool touchflag = false; const bool history_update = update->setupflag == 0; + for (int i = 0; i < vec_models.size(); i++) + vec_models[i].history_update = history_update; + ev_init(eflag,vflag); // update rigid body info for owned & ghost atoms if using FixRigid masses @@ -190,13 +193,12 @@ void PairGranular::compute(int eflag, int vflag) jtype = type[j]; // Reset model and copy initial geometric data - models[itype][jtype]->i = i; - models[itype][jtype]->j = j; models[itype][jtype]->xi = x[i]; models[itype][jtype]->xj = x[j]; models[itype][jtype]->radi = radius[i]; models[itype][jtype]->radj = radius[j]; - models[itype][jtype]->touch = touch[jj]; + if (use_history || models[itype][jtype]->beyond_contact) + models[itype][jtype]->touch = touch[jj]; touchflag = models[itype][jtype]->check_contact(); @@ -234,12 +236,11 @@ void PairGranular::compute(int eflag, int vflag) models[itype][jtype]->vj = v[j]; models[itype][jtype]->omegai = omega[i]; models[itype][jtype]->omegaj = omega[j]; - models[itype][jtype]->history_update = history_update; if (use_history) { history = &allhistory[size_history*jj]; models[itype][jtype]->history = history; } -; + if (heat_flag) { models[itype][jtype]->Ti = temperature[i]; models[itype][jtype]->Tj = temperature[j]; @@ -411,7 +412,10 @@ void PairGranular::init_style() for (auto &model : vec_models) { model.init(); - if (model.beyond_contact) beyond_contact = 1; + if (model.beyond_contact) { + beyond_contact = 1; + use_history = 1; // Need to track if in contact + } if (model.size_history != 0) use_history = 1; for (i = 0; i < NSUBMODELS; i++) @@ -700,14 +704,28 @@ double PairGranular::single(int i, int j, int itype, int jtype, double *radius = atom->radius; // Reset model and copy initial geometric data - models[itype][jtype]->i = i; - models[itype][jtype]->j = j; models[itype][jtype]->xi = x[i]; models[itype][jtype]->xj = x[j]; models[itype][jtype]->radi = radius[i]; models[itype][jtype]->radj = radius[j]; models[i][j]->history_update = 0; // Don't update history + // If history is needed + jnum = list->numneigh[i]; + jlist = list->firstneigh[i]; + if (use_history) { + if ((fix_history == nullptr) || (fix_history->firstvalue == nullptr)) + error->one(FLERR,"Pair granular single computation needs history"); + allhistory = fix_history->firstvalue[i]; + for (int jj = 0; jj < jnum; jj++) { + neighprev++; + if (neighprev >= jnum) neighprev = 0; + if (jlist[neighprev] == j) break; + } + history = &allhistory[size_history*neighprev]; + models[itype][jtype]->touch = fix_history->firstflag[i][neighprev]; + } + touchflag = models[itype][jtype]->check_contact(); if (!touchflag) { @@ -733,22 +751,6 @@ double PairGranular::single(int i, int j, int itype, int jtype, if (mask[i] & freeze_group_bit) meff = mj; if (mask[j] & freeze_group_bit) meff = mi; - // if any history is needed - jnum = list->numneigh[i]; - jlist = list->firstneigh[i]; - - if (use_history) { - if ((fix_history == nullptr) || (fix_history->firstvalue == nullptr)) - error->one(FLERR,"Pair granular single computation needs history"); - allhistory = fix_history->firstvalue[i]; - for (int jj = 0; jj < jnum; jj++) { - neighprev++; - if (neighprev >= jnum) neighprev = 0; - if (jlist[neighprev] == j) break; - } - history = &allhistory[size_history*neighprev]; - } - // Copy additional information and calculate forces double **v = atom->v; double **omega = atom->omega; From a1db5fda70e04c8a1c925a677f7dc354ab9e62ec Mon Sep 17 00:00:00 2001 From: jtclemm Date: Mon, 7 Nov 2022 11:30:12 -0700 Subject: [PATCH 044/448] Simplifying variables and logic --- src/GRANULAR/granular_model.cpp | 56 +++++++------- src/GRANULAR/pair_granular.cpp | 128 ++++++++++++++++---------------- 2 files changed, 91 insertions(+), 93 deletions(-) diff --git a/src/GRANULAR/granular_model.cpp b/src/GRANULAR/granular_model.cpp index 10113cdf78..f8a53c5cf2 100644 --- a/src/GRANULAR/granular_model.cpp +++ b/src/GRANULAR/granular_model.cpp @@ -380,9 +380,8 @@ bool GranularModel::check_contact() void GranularModel::calculate_forces() { - double temp[3]; - // Standard geometric quantities + if (contact_type != WALLREGION) r = sqrt(rsq); rinv = 1.0 / r; delta = radsum - r; @@ -403,29 +402,12 @@ void GranularModel::calculate_forces() scaleadd3(radi, omegai, radj, omegaj, wr); // relative tangential velocities + double temp[3]; cross3(wr, nx, temp); sub3(vt, temp, vtr); vrel = len3(vtr); - if (rolling_defined || twisting_defined) - sub3(omegai, omegaj, relrot); - - if (rolling_defined) { - // rolling velocity, see eq. 31 of Wang et al, Particuology v 23, p 49 (2015) - // this is different from the Marshall papers, which use the Bagi/Kuhn formulation - // for rolling velocity (see Wang et al for why the latter is wrong) - vrl[0] = Reff * (relrot[1] * nx[2] - relrot[2] * nx[1]); - vrl[1] = Reff * (relrot[2] * nx[0] - relrot[0] * nx[2]); - vrl[2] = Reff * (relrot[0] * nx[1] - relrot[1] * nx[0]); - } - - if (twisting_defined) { - // omega_T (eq 29 of Marshall) - magtwist = dot3(relrot, nx); - } - // calculate forces/torques - forces[0] = 0.0; double Fdamp, dist_to_contact; area = normal_model->calculate_area(); @@ -437,30 +419,43 @@ void GranularModel::calculate_forces() normal_model->set_fncrit(); // Needed for tangential, rolling, twisting tangential_model->calculate_forces(); - if (rolling_defined) rolling_model->calculate_forces(); - if (twisting_defined) twisting_model->calculate_forces(); - // sum contributions + // sum normal + tangential contributions scale3(Fntot, nx, forces); add3(forces, fs, forces); - //May need to rethink eventually tris.. + // May need to eventually rethink tris.. cross3(nx, fs, torquesi); scale3(-1, torquesi); - if (contact_type == PAIR) copy3(torquesi, torquesj); - if (!classic_model && (contact_type == PAIR)) { + if (contact_type == PAIR) { + copy3(torquesi, torquesj); + + // Classic pair styles wouldn't scale, but classic option is only used by walls dist_to_contact = radi - 0.5 * delta; scale3(dist_to_contact, torquesi); dist_to_contact = radj - 0.5 * delta; scale3(dist_to_contact, torquesj); } else { - dist_to_contact = radi; - scale3(dist_to_contact, torquesi); + scale3(radi, torquesi); } + // Extra modes + + if (rolling_defined || twisting_defined) + sub3(omegai, omegaj, relrot); + if (rolling_defined) { + // rolling velocity, see eq. 31 of Wang et al, Particuology v 23, p 49 (2015) + // this is different from the Marshall papers, which use the Bagi/Kuhn formulation + // for rolling velocity (see Wang et al for why the latter is wrong) + vrl[0] = Reff * (relrot[1] * nx[2] - relrot[2] * nx[1]); + vrl[1] = Reff * (relrot[2] * nx[0] - relrot[0] * nx[2]); + vrl[2] = Reff * (relrot[0] * nx[1] - relrot[1] * nx[0]); + + rolling_model->calculate_forces(); + double torroll[3]; cross3(nx, fr, torroll); scale3(Reff, torroll); @@ -469,6 +464,11 @@ void GranularModel::calculate_forces() } if (twisting_defined) { + // omega_T (eq 29 of Marshall) + magtwist = dot3(relrot, nx); + + twisting_model->calculate_forces(); + double tortwist[3]; scale3(magtortwist, nx, tortwist); add3(torquesi, tortwist, torquesi); diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index 973daff5c9..9601b87382 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -112,7 +112,7 @@ PairGranular::~PairGranular() void PairGranular::compute(int eflag, int vflag) { int i,j,k,ii,jj,inum,jnum,itype,jtype; - double factor_lj,mi,mj,meff,delx,dely,delz; + double factor_lj,mi,mj,meff; double *forces, *torquesi, *torquesj, dq; int *ilist,*jlist,*numneigh,**firstneigh; @@ -122,6 +122,8 @@ void PairGranular::compute(int eflag, int vflag) bool touchflag = false; const bool history_update = update->setupflag == 0; + class GranularModel* model; + for (int i = 0; i < vec_models.size(); i++) vec_models[i].history_update = history_update; @@ -191,31 +193,29 @@ void PairGranular::compute(int eflag, int vflag) if (factor_lj == 0) continue; jtype = type[j]; + model = models[itype][jtype]; // Reset model and copy initial geometric data - models[itype][jtype]->xi = x[i]; - models[itype][jtype]->xj = x[j]; - models[itype][jtype]->radi = radius[i]; - models[itype][jtype]->radj = radius[j]; - if (use_history || models[itype][jtype]->beyond_contact) - models[itype][jtype]->touch = touch[jj]; + model->xi = x[i]; + model->xj = x[j]; + model->radi = radius[i]; + model->radj = radius[j]; + if (use_history) model->touch = touch[jj]; - touchflag = models[itype][jtype]->check_contact(); + touchflag = model->check_contact(); if (!touchflag) { // unset non-touching neighbors if (use_history) { touch[jj] = 0; - history = &allhistory[size_history*jj]; + history = &allhistory[size_history * jj]; for (k = 0; k < size_history; k++) history[k] = 0.0; } continue; } // if any history is needed - if (use_history || models[itype][jtype]->beyond_contact) { - touch[jj] = 1; - } + if (use_history) touch[jj] = 1; // meff = effective mass of pair of particles // if I or J part of rigid body, use body mass @@ -231,27 +231,26 @@ void PairGranular::compute(int eflag, int vflag) if (mask[j] & freeze_group_bit) meff = mi; // Copy additional information and prepare force calculations - models[itype][jtype]->meff = meff; - models[itype][jtype]->vi = v[i]; - models[itype][jtype]->vj = v[j]; - models[itype][jtype]->omegai = omega[i]; - models[itype][jtype]->omegaj = omega[j]; + model->meff = meff; + model->vi = v[i]; + model->vj = v[j]; + model->omegai = omega[i]; + model->omegaj = omega[j]; if (use_history) { - history = &allhistory[size_history*jj]; - models[itype][jtype]->history = history; + history = &allhistory[size_history * jj]; + model->history = history; } if (heat_flag) { - models[itype][jtype]->Ti = temperature[i]; - models[itype][jtype]->Tj = temperature[j]; + model->Ti = temperature[i]; + model->Tj = temperature[j]; } - models[itype][jtype]->calculate_forces(); + model->calculate_forces(); - forces = models[itype][jtype]->forces; - torquesi = models[itype][jtype]->torquesi; - torquesj = models[itype][jtype]->torquesj; - if (heat_flag) dq = models[itype][jtype]->dq; + forces = model->forces; + torquesi = model->torquesi; + torquesj = model->torquesj; // apply forces & torques scale3(factor_lj, forces); @@ -259,21 +258,22 @@ void PairGranular::compute(int eflag, int vflag) scale3(factor_lj, torquesi); add3(torque[i], torquesi, torque[i]); - if (heat_flag) heatflow[i] += dq; if (force->newton_pair || j < nlocal) { sub3(f[j], forces, f[j]); scale3(factor_lj, torquesj); add3(torque[j], torquesj, torque[j]); - if (heat_flag) heatflow[j] -= dq; + } + + if (heat_flag) { + dq = model->dq; + heatflow[i] += dq; + if (force->newton_pair || j < nlocal) heatflow[j] -= dq; } if (evflag) { - delx = x[i][0] - x[j][0]; - dely = x[i][1] - x[j][1]; - delz = x[i][2] - x[j][2]; ev_tally_xyz(i,j,nlocal,force->newton_pair, - 0.0,0.0,forces[0],forces[1],forces[2],delx,dely,delz); + 0.0,0.0,forces[0],forces[1],forces[2],model->dx[0],model->dx[1],model->dx[2]); } } } @@ -703,12 +703,14 @@ double PairGranular::single(int i, int j, int itype, int jtype, double **x = atom->x; double *radius = atom->radius; + class GranularModel* model = models[itype][jtype]; + // Reset model and copy initial geometric data - models[itype][jtype]->xi = x[i]; - models[itype][jtype]->xj = x[j]; - models[itype][jtype]->radi = radius[i]; - models[itype][jtype]->radj = radius[j]; - models[i][j]->history_update = 0; // Don't update history + model->xi = x[i]; + model->xj = x[j]; + model->radi = radius[i]; + model->radj = radius[j]; + model->history_update = 0; // Don't update history // If history is needed jnum = list->numneigh[i]; @@ -723,10 +725,10 @@ double PairGranular::single(int i, int j, int itype, int jtype, if (jlist[neighprev] == j) break; } history = &allhistory[size_history*neighprev]; - models[itype][jtype]->touch = fix_history->firstflag[i][neighprev]; + model->touch = fix_history->firstflag[i][neighprev]; } - touchflag = models[itype][jtype]->check_contact(); + touchflag = model->check_contact(); if (!touchflag) { fforce = 0.0; @@ -755,18 +757,18 @@ double PairGranular::single(int i, int j, int itype, int jtype, double **v = atom->v; double **omega = atom->omega; - models[itype][jtype]->meff = meff; - models[itype][jtype]->vi = v[i]; - models[itype][jtype]->vj = v[j]; - models[itype][jtype]->omegai = omega[i]; - models[itype][jtype]->omegaj = omega[j]; - models[itype][jtype]->history = history; + model->meff = meff; + model->vi = v[i]; + model->vj = v[j]; + model->omegai = omega[i]; + model->omegaj = omega[j]; + model->history = history; double *forces, *torquesi, *torquesj; - models[itype][jtype]->calculate_forces(); - forces = models[itype][jtype]->forces; - torquesi = models[itype][jtype]->torquesi; - torquesj = models[itype][jtype]->torquesj; + model->calculate_forces(); + forces = model->forces; + torquesi = model->torquesi; + torquesj = model->torquesj; // apply forces & torques @@ -774,22 +776,18 @@ double PairGranular::single(int i, int j, int itype, int jtype, // set single_extra quantities - double delx = x[i][0] - x[j][0]; - double dely = x[i][1] - x[j][1]; - double delz = x[i][2] - x[j][2]; - - svector[0] = models[itype][jtype]->fs[0]; - svector[1] = models[itype][jtype]->fs[1]; - svector[2] = models[itype][jtype]->fs[2]; - svector[3] = MathExtra::len3(models[itype][jtype]->fs); - svector[4] = models[itype][jtype]->fr[0]; - svector[5] = models[itype][jtype]->fr[1]; - svector[6] = models[itype][jtype]->fr[2]; - svector[7] = MathExtra::len3(models[itype][jtype]->fr); - svector[8] = models[itype][jtype]->magtortwist; - svector[9] = delx; - svector[10] = dely; - svector[11] = delz; + svector[0] = model->fs[0]; + svector[1] = model->fs[1]; + svector[2] = model->fs[2]; + svector[3] = MathExtra::len3(model->fs); + svector[4] = model->fr[0]; + svector[5] = model->fr[1]; + svector[6] = model->fr[2]; + svector[7] = MathExtra::len3(model->fr); + svector[8] = model->magtortwist; + svector[9] = model->dx[0]; + svector[10] = model->dx[1]; + svector[11] = model->dx[2]; return 0.0; } From 971b932387a841c3b4e283ebb1b6b79b24049fd1 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Mon, 7 Nov 2022 17:39:40 -0700 Subject: [PATCH 045/448] Adding area flag for submodels --- src/GRANULAR/granular_model.cpp | 6 ++++-- src/GRANULAR/granular_model.h | 1 + src/GRANULAR/gsm.cpp | 1 + src/GRANULAR/gsm.h | 5 +++-- src/GRANULAR/gsm_damping.cpp | 6 +++++- src/GRANULAR/gsm_heat.cpp | 1 + src/GRANULAR/gsm_normal.cpp | 4 ++++ src/GRANULAR/gsm_tangential.cpp | 13 ++++--------- src/GRANULAR/gsm_tangential.h | 1 - src/GRANULAR/gsm_twisting.cpp | 1 + 10 files changed, 24 insertions(+), 15 deletions(-) diff --git a/src/GRANULAR/granular_model.cpp b/src/GRANULAR/granular_model.cpp index f8a53c5cf2..66e34386ed 100644 --- a/src/GRANULAR/granular_model.cpp +++ b/src/GRANULAR/granular_model.cpp @@ -87,7 +87,6 @@ GranularModel::GranularModel(LAMMPS *lmp) : Pointers(lmp) #include "style_gsm.h" // IWYU pragma: keep #undef GSMStyle #undef GSM_CLASS - } /* ---------------------------------------------------------------------- */ @@ -241,6 +240,7 @@ void GranularModel::init() int size_cumulative; size_history = 0; + area_flag = 0; for (int i = 0; i < NSUBMODELS; i++) { if (sub_models[i]->nondefault_history_transfer) nondefault_history_transfer = 1; @@ -249,6 +249,7 @@ void GranularModel::init() size_history += sub_models[i]->size_history; if (!sub_models[i]->allow_cohesion && normal_model->cohesive_flag) error->all(FLERR,"Cannot use {} model with a cohesive normal model, {}", sub_models[i]->name, normal_model->name); + if (sub_models[i]->area_flag) area_flag = 1; } if (limit_damping && normal_model->cohesive_flag) @@ -410,7 +411,8 @@ void GranularModel::calculate_forces() // calculate forces/torques forces[0] = 0.0; double Fdamp, dist_to_contact; - area = normal_model->calculate_area(); + if (area_flag) + area = normal_model->calculate_area(); Fnormal = normal_model->calculate_forces(); Fdamp = damping_model->calculate_forces(); diff --git a/src/GRANULAR/granular_model.h b/src/GRANULAR/granular_model.h index dc404b332c..3ea3d9e4b3 100644 --- a/src/GRANULAR/granular_model.h +++ b/src/GRANULAR/granular_model.h @@ -98,6 +98,7 @@ class GranularModel : protected Pointers { protected: int rolling_defined, twisting_defined, heat_defined; // Used to quickly skip undefined submodels int classic_model; + int area_flag; int nclass; diff --git a/src/GRANULAR/gsm.cpp b/src/GRANULAR/gsm.cpp index 1848a1743a..4ac7473504 100644 --- a/src/GRANULAR/gsm.cpp +++ b/src/GRANULAR/gsm.cpp @@ -42,6 +42,7 @@ GSM::GSM(class GranularModel *gm, LAMMPS *lmp) : Pointers(lmp) allow_cohesion = 1; beyond_contact = 0; num_coeffs = 0; + area_flag = 0; nondefault_history_transfer = 0; transfer_history_factor = nullptr; diff --git a/src/GRANULAR/gsm.h b/src/GRANULAR/gsm.h index 4695749d64..3c19179d52 100644 --- a/src/GRANULAR/gsm.h +++ b/src/GRANULAR/gsm.h @@ -40,8 +40,9 @@ class GSM : protected Pointers { double *transfer_history_factor; int history_index; - int beyond_contact; - int allow_cohesion; + int beyond_contact; // If the submodel contact extends beyond overlap + int allow_cohesion; // If the submodel works with a cohesive normal force + int area_flag; // If the submodel requires area GranularModel *gm; diff --git a/src/GRANULAR/gsm_damping.cpp b/src/GRANULAR/gsm_damping.cpp index ed4bfd8ae1..db7f0f3371 100644 --- a/src/GRANULAR/gsm_damping.cpp +++ b/src/GRANULAR/gsm_damping.cpp @@ -44,6 +44,7 @@ GSMDampingNone::GSMDampingNone(GranularModel *gm, LAMMPS *lmp) : GSMDamping(gm, double GSMDampingNone::calculate_forces() { + damp_prefactor = 0.0; return 0.0; } @@ -79,7 +80,10 @@ double GSMDampingMassVelocity::calculate_forces() Default, viscoelastic damping ------------------------------------------------------------------------- */ -GSMDampingViscoelastic::GSMDampingViscoelastic(GranularModel *gm, LAMMPS *lmp) : GSMDamping(gm, lmp) {} +GSMDampingViscoelastic::GSMDampingViscoelastic(GranularModel *gm, LAMMPS *lmp) : GSMDamping(gm, lmp) +{ + area_flag = 1; +} /* ---------------------------------------------------------------------- */ diff --git a/src/GRANULAR/gsm_heat.cpp b/src/GRANULAR/gsm_heat.cpp index 7512e372a0..1a0cff5301 100644 --- a/src/GRANULAR/gsm_heat.cpp +++ b/src/GRANULAR/gsm_heat.cpp @@ -45,6 +45,7 @@ double GSMHeatNone::calculate_heat() GSMHeatArea::GSMHeatArea(GranularModel *gm, LAMMPS *lmp) : GSMHeat(gm, lmp) { num_coeffs = 1; + area_flag = 1; } /* ---------------------------------------------------------------------- */ diff --git a/src/GRANULAR/gsm_normal.cpp b/src/GRANULAR/gsm_normal.cpp index 0ae288f6fd..28e4d7af79 100644 --- a/src/GRANULAR/gsm_normal.cpp +++ b/src/GRANULAR/gsm_normal.cpp @@ -115,6 +115,7 @@ double GSMNormalHooke::calculate_forces() GSMNormalHertz::GSMNormalHertz(GranularModel *gm, LAMMPS *lmp) : GSMNormal(gm, lmp) { num_coeffs = 2; + area_flag = 1; } /* ---------------------------------------------------------------------- */ @@ -142,6 +143,7 @@ GSMNormalHertzMaterial::GSMNormalHertzMaterial(GranularModel *gm, LAMMPS *lmp) : { material_properties = 1; num_coeffs = 3; + area_flag = 1; } /* ---------------------------------------------------------------------- */ @@ -179,6 +181,7 @@ GSMNormalDMT::GSMNormalDMT(GranularModel *gm, LAMMPS *lmp) : GSMNormal(gm, lmp) material_properties = 1; cohesive_flag = 1; num_coeffs = 4; + area_flag = 1; } /* ---------------------------------------------------------------------- */ @@ -236,6 +239,7 @@ GSMNormalJKR::GSMNormalJKR(GranularModel *gm, LAMMPS *lmp) : GSMNormal(gm, lmp) cohesive_flag = 1; beyond_contact = 1; num_coeffs = 4; + area_flag = 1; } /* ---------------------------------------------------------------------- */ diff --git a/src/GRANULAR/gsm_tangential.cpp b/src/GRANULAR/gsm_tangential.cpp index 862159c386..a5dabde8fd 100644 --- a/src/GRANULAR/gsm_tangential.cpp +++ b/src/GRANULAR/gsm_tangential.cpp @@ -165,7 +165,7 @@ void GSMTangentialLinearHistory::calculate_forces() GSMTangentialLinearHistoryClassic::GSMTangentialLinearHistoryClassic(GranularModel *gm, LAMMPS *lmp) : GSMTangentialLinearHistory(gm, lmp) { - scale_area = 0; // Sets gran/hooke/history behavior + area_flag = 1; // Sets gran/hooke/history behavior } /* ---------------------------------------------------------------------- */ @@ -197,7 +197,7 @@ void GSMTangentialLinearHistoryClassic::calculate_forces() } // tangential forces = history + tangential velocity damping - if (scale_area) scale3(-k * gm->area, history, gm->fs); + if (area_flag) scale3(-k * gm->area, history, gm->fs); else scale3(-k, history, gm->fs); scale3(damp, gm->vtr, temp_array); sub3(gm->fs, temp_array, gm->fs); @@ -224,7 +224,7 @@ void GSMTangentialLinearHistoryClassic::calculate_forces() GSMTangentialMindlinClassic::GSMTangentialMindlinClassic(GranularModel *gm, LAMMPS *lmp) : GSMTangentialLinearHistoryClassic(gm, lmp) { - scale_area = 1; // Sets gran/hertz/history behavior + area_flag = 1; // Sets gran/hertz/history behavior } /* ---------------------------------------------------------------------- @@ -237,6 +237,7 @@ GSMTangentialMindlin::GSMTangentialMindlin(GranularModel *gm, LAMMPS *lmp) : GSM size_history = 3; mindlin_force = 0; mindlin_rescale = 0; + area_flag = 1; } /* ---------------------------------------------------------------------- */ @@ -367,10 +368,7 @@ void GSMTangentialMindlin::calculate_forces() GSMTangentialMindlinForce::GSMTangentialMindlinForce(GranularModel *gm, LAMMPS *lmp) : GSMTangentialMindlin(gm, lmp) { - num_coeffs = 3; - size_history = 3; mindlin_force = 1; - mindlin_rescale = 0; } /* ---------------------------------------------------------------------- @@ -379,9 +377,7 @@ GSMTangentialMindlinForce::GSMTangentialMindlinForce(GranularModel *gm, LAMMPS * GSMTangentialMindlinRescale::GSMTangentialMindlinRescale(GranularModel *gm, LAMMPS *lmp) : GSMTangentialMindlin(gm, lmp) { - num_coeffs = 3; size_history = 4; - mindlin_force = 0; mindlin_rescale = 1; nondefault_history_transfer = 1; @@ -396,7 +392,6 @@ GSMTangentialMindlinRescale::GSMTangentialMindlinRescale(GranularModel *gm, LAMM GSMTangentialMindlinRescaleForce::GSMTangentialMindlinRescaleForce(GranularModel *gm, LAMMPS *lmp) : GSMTangentialMindlin(gm, lmp) { - num_coeffs = 3; size_history = 4; mindlin_force = 1; mindlin_rescale = 1; diff --git a/src/GRANULAR/gsm_tangential.h b/src/GRANULAR/gsm_tangential.h index 1d6dfa3d04..e755f63304 100644 --- a/src/GRANULAR/gsm_tangential.h +++ b/src/GRANULAR/gsm_tangential.h @@ -106,7 +106,6 @@ class GSMTangentialLinearHistoryClassic : public GSMTangentialLinearHistory { GSMTangentialLinearHistoryClassic(class GranularModel *, class LAMMPS *); void calculate_forces(); protected: - int scale_area; double xt; }; diff --git a/src/GRANULAR/gsm_twisting.cpp b/src/GRANULAR/gsm_twisting.cpp index 73149b099b..42609bf632 100644 --- a/src/GRANULAR/gsm_twisting.cpp +++ b/src/GRANULAR/gsm_twisting.cpp @@ -43,6 +43,7 @@ GSMTwistingMarshall::GSMTwistingMarshall(GranularModel *gm, LAMMPS *lmp) : GSMTw { num_coeffs = 0; size_history = 3; + area_flag = 1; } /* ---------------------------------------------------------------------- */ From ea8ded470bf0b62a886c7b3a8d15b3e14a53b556 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Wed, 9 Nov 2022 10:17:07 -0700 Subject: [PATCH 046/448] Removing vectors to avoid resizing issues with coeff redefinitions --- src/GRANULAR/fix_wall_gran.cpp | 1 + src/GRANULAR/pair_granular.cpp | 212 ++++++++++++++++++++------------- src/GRANULAR/pair_granular.h | 7 +- 3 files changed, 131 insertions(+), 89 deletions(-) diff --git a/src/GRANULAR/fix_wall_gran.cpp b/src/GRANULAR/fix_wall_gran.cpp index 4956e9d900..583cbba62e 100644 --- a/src/GRANULAR/fix_wall_gran.cpp +++ b/src/GRANULAR/fix_wall_gran.cpp @@ -721,4 +721,5 @@ int FixWallGran::size_restart(int /*nlocal*/) void FixWallGran::reset_dt() { dt = update->dt; + model->dt = dt; } diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index 9601b87382..dcac8e32c3 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -57,7 +57,8 @@ PairGranular::PairGranular(LAMMPS *lmp) : Pair(lmp) svector = new double[single_extra]; neighprev = 0; - + nmodels = 0; + maxmodels = 0; nmax = 0; mass_rigid = nullptr; @@ -66,8 +67,6 @@ PairGranular::PairGranular(LAMMPS *lmp) : Pair(lmp) maxrad_dynamic = nullptr; maxrad_frozen = nullptr; - dt = update->dt; - // set comm size needed by this Pair if used with fix rigid comm_forward = 1; @@ -97,6 +96,9 @@ PairGranular::~PairGranular() memory->destroy(setflag); memory->destroy(cutsq); memory->destroy(cutoff_type); + memory->destroy(types_indices); + for (int i = 0; i < nmodels; i++) delete models_list[i]; + memory->sfree(models_list); delete [] onerad_dynamic; delete [] onerad_frozen; @@ -124,8 +126,8 @@ void PairGranular::compute(int eflag, int vflag) class GranularModel* model; - for (int i = 0; i < vec_models.size(); i++) - vec_models[i].history_update = history_update; + for (int i = 0; i < nmodels; i++) + models_list[i]->history_update = history_update; ev_init(eflag,vflag); @@ -193,7 +195,7 @@ void PairGranular::compute(int eflag, int vflag) if (factor_lj == 0) continue; jtype = type[j]; - model = models[itype][jtype]; + model = models_list[types_indices[itype][jtype]]; // Reset model and copy initial geometric data model->xi = x[i]; @@ -288,9 +290,6 @@ void PairGranular::allocate() allocated = 1; int n = atom->ntypes; - // Reserve enough memory for vector to avoid reallocation/changing pointers - vec_models.reserve(atom->ntypes * atom->ntypes); - memory->create(setflag,n+1,n+1,"pair:setflag"); for (int i = 1; i <= n; i++) for (int j = i; j <= n; j++) @@ -298,7 +297,11 @@ void PairGranular::allocate() memory->create(cutsq,n+1,n+1,"pair:cutsq"); memory->create(cutoff_type,n+1,n+1,"pair:cutoff_type"); - models.resize(n+1, std::vector (n+1, nullptr)); + memory->create(types_indices,n+1,n+1,"pair:types_indices"); + + maxmodels = n * n + 1; // should never need any more space + models_list = (GranularModel **) memory->smalloc(maxmodels * sizeof(GranularModel *), "pair:models_list"); + for (int i = 0; i < maxmodels; i++) models_list[i] = nullptr; onerad_dynamic = new double[n+1]; onerad_frozen = new double[n+1]; @@ -336,27 +339,29 @@ void PairGranular::coeff(int narg, char **arg) utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - // Construct new model within vector - vec_models.emplace_back(lmp); + + // Construct new model + models_list[nmodels] = new GranularModel(lmp); + class GranularModel* model = models_list[nmodels]; + nmodels += 1; //Parse mandatory specification int iarg = 2; - iarg = vec_models.back().add_submodel(arg, iarg, narg, NORMAL); + iarg = model->add_submodel(arg, iarg, narg, NORMAL); //Parse optional arguments - while (iarg < narg) { if (strcmp(arg[iarg], "tangential") == 0) { - iarg = vec_models.back().add_submodel(arg, iarg + 1, narg, TANGENTIAL); + iarg = model->add_submodel(arg, iarg + 1, narg, TANGENTIAL); } else if (strcmp(arg[iarg], "damping") == 0) { - iarg = vec_models.back().add_submodel(arg, iarg + 1, narg, DAMPING); + iarg = model->add_submodel(arg, iarg + 1, narg, DAMPING); } else if (strcmp(arg[iarg], "rolling") == 0) { - iarg = vec_models.back().add_submodel(arg, iarg + 1, narg, ROLLING); + iarg = model->add_submodel(arg, iarg + 1, narg, ROLLING); } else if (strcmp(arg[iarg], "twisting") == 0) { - iarg = vec_models.back().add_submodel(arg, iarg + 1, narg, TWISTING); + iarg = model->add_submodel(arg, iarg + 1, narg, TWISTING); } else if (strcmp(arg[iarg], "heat") == 0) { - iarg = vec_models.back().add_submodel(arg, iarg + 1, narg, HEAT); + iarg = model->add_submodel(arg, iarg + 1, narg, HEAT); heat_flag = 1; } else if (strcmp(arg[iarg], "cutoff") == 0) { if (iarg + 1 >= narg) @@ -364,25 +369,28 @@ void PairGranular::coeff(int narg, char **arg) cutoff_one = utils::numeric(FLERR,arg[iarg + 1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg], "limit_damping") == 0) { - vec_models.back().limit_damping = 1; + model->limit_damping = 1; iarg += 1; } else error->all(FLERR, "Illegal pair_coeff command {}", arg[iarg]); } // Define default damping model if unspecified, has no coeffs - if (!vec_models.back().damping_model) - vec_models.back().construct_submodel("viscoelastic", DAMPING); + if (!model->damping_model) + model->construct_submodel("viscoelastic", DAMPING); int count = 0; for (int i = ilo; i <= ihi; i++) { for (int j = MAX(jlo,i); j <= jhi; j++) { - models[i][j] = & vec_models.back(); + types_indices[i][j] = nmodels - 1; cutoff_type[i][j] = cutoff_type[j][i] = cutoff_one; setflag[i][j] = 1; count++; } } + // If there are > ntype^2 models, delete unused ones + if (nmodels == maxmodels) prune_models(); + if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); } @@ -392,7 +400,6 @@ void PairGranular::coeff(int narg, char **arg) void PairGranular::init_style() { - int i; // error and warning checks if (!atom->radius_flag || !atom->rmass_flag) @@ -408,30 +415,33 @@ void PairGranular::init_style() } // allocate history and initialize models + class GranularModel* model; int size_max[NSUBMODELS] = {0}; + for (int n = 0; n < nmodels; n++) { + model = models_list[n]; + model->init(); - for (auto &model : vec_models) { - model.init(); - if (model.beyond_contact) { + if (model->beyond_contact) { beyond_contact = 1; use_history = 1; // Need to track if in contact } - if (model.size_history != 0) use_history = 1; + if (model->size_history != 0) use_history = 1; - for (i = 0; i < NSUBMODELS; i++) - if (model.sub_models[i]->size_history > size_max[i]) - size_max[i] = model.sub_models[i]->size_history; + for (int i = 0; i < NSUBMODELS; i++) + if (model->sub_models[i]->size_history > size_max[i]) + size_max[i] = model->sub_models[i]->size_history; - if (model.nondefault_history_transfer) nondefault_history_transfer = 1; + if (model->nondefault_history_transfer) nondefault_history_transfer = 1; } size_history = 0; - for (i = 0; i < NSUBMODELS; i++) size_history += size_max[i]; + for (int i = 0; i < NSUBMODELS; i++) size_history += size_max[i]; - for (auto &model : vec_models) { + for (int n = 0; n < nmodels; n++) { + model = models_list[n]; int next_index = 0; - for (i = 0; i < NSUBMODELS; i++) { - model.sub_models[i]->history_index = next_index; + for (int i = 0; i < NSUBMODELS; i++) { + model->sub_models[i]->history_index = next_index; next_index += size_max[i]; } } @@ -439,8 +449,6 @@ void PairGranular::init_style() if (use_history) neighbor->add_request(this, NeighConst::REQ_SIZE|NeighConst::REQ_HISTORY); else neighbor->add_request(this, NeighConst::REQ_SIZE); - dt = update->dt; - // if history is stored and first init, create Fix to store history // it replaces FixDummy, created in the constructor // this is so its order in the fix list is preserved @@ -483,7 +491,7 @@ void PairGranular::init_style() // include future FixPour and FixDeposit particles as dynamic int itype; - for (i = 1; i <= atom->ntypes; i++) { + for (int i = 1; i <= atom->ntypes; i++) { onerad_dynamic[i] = onerad_frozen[i] = 0.0; for (auto &ipour : pours) { itype = i; @@ -502,7 +510,7 @@ void PairGranular::init_style() int *type = atom->type; int nlocal = atom->nlocal; - for (i = 0; i < nlocal; i++) { + for (int i = 0; i < nlocal; i++) { if (mask[i] & freeze_group_bit) onerad_frozen[type[i]] = MAX(onerad_frozen[type[i]], radius[i]); else @@ -527,32 +535,42 @@ void PairGranular::init_style() double PairGranular::init_one(int i, int j) { double cutoff = 0.0; + class GranularModel* model; if (setflag[i][j] == 0) { - vec_models.push_back(GranularModel(lmp)); - models[i][j] = models[j][i] = & vec_models.back(); + models_list[nmodels] = new GranularModel(lmp); + types_indices[i][j] = nmodels; + model = models_list[nmodels]; - int error_code = vec_models.back().mix_coeffs(models[i][i], models[j][j]); + nmodels += 1; + if (nmodels == maxmodels) prune_models(); + + class GranularModel* model1 = models_list[types_indices[i][i]]; + class GranularModel* model2 = models_list[types_indices[j][j]]; + + int error_code = model->mix_coeffs(model1, model2); if (error_code != -1) error->all(FLERR,"Granular pair style functional forms are different, " "cannot mix coefficients for types {} and {} \n" "with submodels {} and {}. \n" "This combination must be set explicitly via a " "pair_coeff command",i,j, - models[i][i]->sub_models[error_code]->name, - models[j][j]->sub_models[error_code]->name); + model1->sub_models[error_code]->name, + model2->sub_models[error_code]->name); - vec_models.back().init(); // Calculates cumulative properties of sub models + // Initialize new model, init_one() occurs after init_style + model->init(); for (int k = 0; k < NSUBMODELS; k++) - vec_models.back().sub_models[k]->history_index = models[i][i]->sub_models[k]->history_index; + model->sub_models[k]->history_index = model1->sub_models[k]->history_index; cutoff_type[i][j] = cutoff_type[j][i] = MAX(cutoff_type[i][i], cutoff_type[j][j]); } + model = models_list[types_indices[i][j]]; // Check if heat model is defined for all type combinations - if (heat_flag && !models[i][j]->heat_model) + if (heat_flag && !model->heat_model) error->all(FLERR, "Must specify a heat model for all pair types"); // It is possible that cut[i][j] at this point is still 0.0. @@ -571,14 +589,14 @@ double PairGranular::init_one(int i, int j) ((maxrad_frozen[i] > 0.0) && (maxrad_dynamic[j] > 0.0))) { cutoff = maxrad_dynamic[i] + maxrad_dynamic[j]; pulloff = 0.0; - if (models[i][j]->beyond_contact) { - pulloff = models[i][j]->pulloff_distance(maxrad_dynamic[i], maxrad_dynamic[j]); + if (model->beyond_contact) { + pulloff = model->pulloff_distance(maxrad_dynamic[i], maxrad_dynamic[j]); cutoff += pulloff; - pulloff = models[i][j]->pulloff_distance(maxrad_frozen[i], maxrad_dynamic[j]); + pulloff = model->pulloff_distance(maxrad_frozen[i], maxrad_dynamic[j]); cutoff = MAX(cutoff, maxrad_frozen[i] + maxrad_dynamic[j] + pulloff); - pulloff = models[i][j]->pulloff_distance(maxrad_dynamic[i], maxrad_frozen[j]); + pulloff = model->pulloff_distance(maxrad_dynamic[i], maxrad_frozen[j]); cutoff = MAX(cutoff,maxrad_dynamic[i] + maxrad_frozen[j] + pulloff); } } else { @@ -599,9 +617,8 @@ double PairGranular::init_one(int i, int j) cutoff = cutoff_global; } - // Copy global options - models[i][j]->dt = dt; - models[j][i] = models[i][j]; + model->dt = update->dt; + types_indices[j][i] = types_indices[i][j]; return cutoff; } @@ -611,18 +628,16 @@ double PairGranular::init_one(int i, int j) void PairGranular::write_restart(FILE *fp) { - int i,j,index; - int nmodels = vec_models.size(); + int i,j; fwrite(&nmodels,sizeof(int),1,fp); - for (auto &model : vec_models) model.write_restart(fp); + for (i = 0; i < nmodels; i++) models_list[i]->write_restart(fp); 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(&cutoff_type[i][j],sizeof(double),1,fp); - index = models[i][j] - &vec_models[0]; - fwrite(&index,sizeof(int),1,fp); // save index of model + fwrite(&types_indices[i][j],sizeof(int),1,fp); } } } @@ -635,16 +650,15 @@ void PairGranular::write_restart(FILE *fp) void PairGranular::read_restart(FILE *fp) { allocate(); - int i,j,index,nmodels; + int i,j; int me = comm->me; if (me == 0) utils::sfread(FLERR,&nmodels,sizeof(int),1,fp,nullptr,error); MPI_Bcast(&nmodels,1,MPI_INT,0,world); for (i = 0; i < nmodels; i++) { - vec_models.push_back(GranularModel(lmp)); - vec_models.back().read_restart(fp); - vec_models.back().init(); + models_list[i] = new GranularModel(lmp); + models_list[i]->read_restart(fp); } for (i = 1; i <= atom->ntypes; i++) { @@ -654,12 +668,10 @@ void PairGranular::read_restart(FILE *fp) if (setflag[i][j]) { if (me == 0) { utils::sfread(FLERR,&cutoff_type[i][j],sizeof(double),1,fp,nullptr,error); - utils::sfread(FLERR,&index,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR,&types_indices[i][j],sizeof(int),1,fp,nullptr,error); } MPI_Bcast(&cutoff_type[i][j],1,MPI_DOUBLE,0,world); - MPI_Bcast(&index,1,MPI_INT,0,world); - - models[i][j] = & vec_models[index]; + MPI_Bcast(&types_indices[i][j],1,MPI_INT,0,world); } } } @@ -669,13 +681,7 @@ void PairGranular::read_restart(FILE *fp) void PairGranular::reset_dt() { - dt = update->dt; - - for (int i = 1; i <= atom->ntypes; i++) { - for (int j = i; j <= atom->ntypes; j++) { - models[i][j]->dt = dt; - } - } + for (int i = 0; i < nmodels; i++) models_list[i]->dt = update->dt; } /* ---------------------------------------------------------------------- */ @@ -703,7 +709,7 @@ double PairGranular::single(int i, int j, int itype, int jtype, double **x = atom->x; double *radius = atom->radius; - class GranularModel* model = models[itype][jtype]; + class GranularModel* model = models_list[types_indices[itype][jtype]]; // Reset model and copy initial geometric data model->xi = x[i]; @@ -771,11 +777,9 @@ double PairGranular::single(int i, int j, int itype, int jtype, torquesj = model->torquesj; // apply forces & torques - fforce = MathExtra::len3(forces); // set single_extra quantities - svector[0] = model->fs[0]; svector[1] = model->fs[1]; svector[2] = model->fs[2]; @@ -836,9 +840,10 @@ double PairGranular::memory_usage() void PairGranular::transfer_history(double* source, double* target, int itype, int jtype) { - if (models[itype][jtype]->nondefault_history_transfer) { + class GranularModel* model = models_list[types_indices[itype][jtype]]; + if (model->nondefault_history_transfer) { for (int i = 0; i < size_history; i++) { - target[i] = models[itype][jtype]->transfer_history_factor[i] * source [i]; + target[i] = model->transfer_history_factor[i] * source [i]; } } else { for (int i = 0; i < size_history; i++) { @@ -858,8 +863,9 @@ double PairGranular::atom2cut(int i) cut = atom->radius[i] * 2; if (beyond_contact) { int itype = atom->type[i]; - if (models[itype][itype]->beyond_contact) { - cut += models[itype][itype]->pulloff_distance(cut, cut); + class GranularModel* model = models_list[types_indices[itype][itype]]; + if (model->beyond_contact) { + cut += model->pulloff_distance(cut, cut); } } @@ -879,10 +885,12 @@ double PairGranular::radii2cut(double r1, double r2) double temp; // Check all combinations of i and j to find theoretical maximum pull off distance - for (int i = 0; i < n; i++){ - for (int j = 0; j < n; j++){ - if (models[i][j]->beyond_contact) { - temp = models[i][j]->pulloff_distance(r1, r2); + class GranularModel* model; + for (int i = 1; i <= n; i++) { + for (int j = 1; j <= n; j++) { + model = models_list[types_indices[i][j]]; + if (model->beyond_contact) { + temp = model->pulloff_distance(r1, r2); if (temp > cut) cut = temp; } } @@ -893,3 +901,35 @@ double PairGranular::radii2cut(double r1, double r2) return cut; } + +/* ---------------------------------------------------------------------- + remove unused models +------------------------------------------------------------------------- */ + +void PairGranular::prune_models() +{ + int ntypes = atom->ntypes; + for (int n = nmodels-1; n >= 0; n--) { + + // Find and delete unused models + int in_use = 0; + for (int i = 1; i <= ntypes; i++) + for (int j = 1; j <= ntypes; j++) + if (types_indices[i][j] == n) in_use = 1; + + if (in_use) continue; + delete models_list[n]; + + // Shift models if needed + if (n != nmodels - 1) { + models_list[n] = models_list[nmodels-1]; + for (int i = 1; i <= ntypes; i++) + for (int j = 1; j <= ntypes; j++) + if (types_indices[i][j] == nmodels-1) + types_indices[i][j] = n; + } + + models_list[nmodels-1] = nullptr; + nmodels -= 1; + } +} diff --git a/src/GRANULAR/pair_granular.h b/src/GRANULAR/pair_granular.h index ae09e37f5e..9ae02a200a 100644 --- a/src/GRANULAR/pair_granular.h +++ b/src/GRANULAR/pair_granular.h @@ -46,7 +46,6 @@ class PairGranular : public Pair { double radii2cut(double, double) override; protected: - double dt; int freeze_group_bit; int use_history; @@ -66,14 +65,16 @@ class PairGranular : public Pair { void allocate(); void transfer_history(double *, double *, int, int) override; + void prune_models(); private: int size_history; int heat_flag; // granular models - std::vector vec_models; - std::vector > models; + int nmodels, maxmodels; + Granular_NS::GranularModel** models_list; + int **types_indices; // optional user-specified global cutoff, per-type user-specified cutoffs double **cutoff_type; From d1dd8d3c110c117ce49e8144df7a68deae789156 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Thu, 10 Nov 2022 16:06:36 -0700 Subject: [PATCH 047/448] Renaming files/classes, other small, misc updates --- cmake/Modules/StyleHeaderUtils.cmake | 42 +++---- doc/src/Modify.rst | 2 +- ...Modify_gsm.rst => Modify_gran_sub_mod.rst} | 103 +++++++++--------- ...rate.rst => fix_heat_flow_sphere_temp.rst} | 12 +- src/.gitignore | 32 +++--- ...rate.cpp => fix_heat_flow_sphere_temp.cpp} | 17 ++- ...ntegrate.h => fix_heat_flow_sphere_temp.h} | 10 +- src/GRANULAR/fix_wall_gran.cpp | 2 +- src/GRANULAR/fix_wall_gran.h | 6 +- src/GRANULAR/{gsm.cpp => gran_sub_mod.cpp} | 22 ++-- src/GRANULAR/{gsm.h => gran_sub_mod.h} | 12 +- ...m_damping.cpp => gran_sub_mod_damping.cpp} | 30 ++--- .../{gsm_damping.h => gran_sub_mod_damping.h} | 58 +++++----- .../{gsm_heat.cpp => gran_sub_mod_heat.cpp} | 14 +-- .../{gsm_heat.h => gran_sub_mod_heat.h} | 34 +++--- ...gsm_normal.cpp => gran_sub_mod_normal.cpp} | 60 +++++----- .../{gsm_normal.h => gran_sub_mod_normal.h} | 66 +++++------ ...m_rolling.cpp => gran_sub_mod_rolling.cpp} | 16 +-- .../{gsm_rolling.h => gran_sub_mod_rolling.h} | 34 +++--- ...ential.cpp => gran_sub_mod_tangential.cpp} | 44 ++++---- ...tangential.h => gran_sub_mod_tangential.h} | 90 +++++++-------- ...twisting.cpp => gran_sub_mod_twisting.cpp} | 22 ++-- ...gsm_twisting.h => gran_sub_mod_twisting.h} | 42 +++---- src/GRANULAR/granular_model.cpp | 68 ++++++------ src/GRANULAR/granular_model.h | 38 +++---- src/GRANULAR/pair_granular.cpp | 2 +- src/GRANULAR/pair_granular.h | 7 +- src/Make.sh | 42 +++---- 28 files changed, 468 insertions(+), 459 deletions(-) rename doc/src/{Modify_gsm.rst => Modify_gran_sub_mod.rst} (59%) rename doc/src/{fix_temp_integrate.rst => fix_heat_flow_sphere_temp.rst} (85%) rename src/GRANULAR/{fix_temp_integrate.cpp => fix_heat_flow_sphere_temp.cpp} (89%) rename src/GRANULAR/{fix_temp_integrate.h => fix_heat_flow_sphere_temp.h} (82%) rename src/GRANULAR/{gsm.cpp => gran_sub_mod.cpp} (85%) rename src/GRANULAR/{gsm.h => gran_sub_mod.h} (89%) rename src/GRANULAR/{gsm_damping.cpp => gran_sub_mod_damping.cpp} (74%) rename src/GRANULAR/{gsm_damping.h => gran_sub_mod_damping.h} (58%) rename src/GRANULAR/{gsm_heat.cpp => gran_sub_mod_heat.cpp} (79%) rename src/GRANULAR/{gsm_heat.h => gran_sub_mod_heat.h} (66%) rename src/GRANULAR/{gsm_normal.cpp => gran_sub_mod_normal.cpp} (82%) rename src/GRANULAR/{gsm_normal.h => gran_sub_mod_normal.h} (65%) rename src/GRANULAR/{gsm_rolling.cpp => gran_sub_mod_rolling.cpp} (87%) rename src/GRANULAR/{gsm_rolling.h => gran_sub_mod_rolling.h} (65%) rename src/GRANULAR/{gsm_tangential.cpp => gran_sub_mod_tangential.cpp} (84%) rename src/GRANULAR/{gsm_tangential.h => gran_sub_mod_tangential.h} (50%) rename src/GRANULAR/{gsm_twisting.cpp => gran_sub_mod_twisting.cpp} (82%) rename src/GRANULAR/{gsm_twisting.h => gran_sub_mod_twisting.h} (62%) diff --git a/cmake/Modules/StyleHeaderUtils.cmake b/cmake/Modules/StyleHeaderUtils.cmake index 2bc84252d3..d95e265c4a 100644 --- a/cmake/Modules/StyleHeaderUtils.cmake +++ b/cmake/Modules/StyleHeaderUtils.cmake @@ -95,27 +95,27 @@ function(RegisterIntegrateStyle path) endfunction(RegisterIntegrateStyle) function(RegisterStyles search_path) - FindStyleHeaders(${search_path} ANGLE_CLASS angle_ ANGLE ) # angle ) # force - FindStyleHeaders(${search_path} ATOM_CLASS atom_vec_ ATOM_VEC ) # atom ) # atom atom_vec_hybrid - FindStyleHeaders(${search_path} BODY_CLASS body_ BODY ) # body ) # atom_vec_body - FindStyleHeaders(${search_path} BOND_CLASS bond_ BOND ) # bond ) # force - FindStyleHeaders(${search_path} COMMAND_CLASS "[^.]" COMMAND ) # command ) # input - FindStyleHeaders(${search_path} COMPUTE_CLASS compute_ COMPUTE ) # compute ) # modify - FindStyleHeaders(${search_path} DIHEDRAL_CLASS dihedral_ DIHEDRAL ) # dihedral ) # force - FindStyleHeaders(${search_path} DUMP_CLASS dump_ DUMP ) # dump ) # output write_dump - FindStyleHeaders(${search_path} FIX_CLASS fix_ FIX ) # fix ) # modify - FindStyleHeaders(${search_path} GSM_CLASS gsm_ GSM ) # gsm ) # granular_model - FindStyleHeaders(${search_path} IMPROPER_CLASS improper_ IMPROPER ) # improper ) # force - FindStyleHeaders(${search_path} INTEGRATE_CLASS "[^.]" INTEGRATE ) # integrate ) # update - FindStyleHeaders(${search_path} KSPACE_CLASS "[^.]" KSPACE ) # kspace ) # force - FindStyleHeaders(${search_path} MINIMIZE_CLASS min_ MINIMIZE ) # minimize ) # update - FindStyleHeaders(${search_path} NBIN_CLASS nbin_ NBIN ) # nbin ) # neighbor - FindStyleHeaders(${search_path} NPAIR_CLASS npair_ NPAIR ) # npair ) # neighbor - FindStyleHeaders(${search_path} NSTENCIL_CLASS nstencil_ NSTENCIL ) # nstencil ) # neighbor - FindStyleHeaders(${search_path} NTOPO_CLASS ntopo_ NTOPO ) # ntopo ) # neighbor - FindStyleHeaders(${search_path} PAIR_CLASS pair_ PAIR ) # pair ) # force - FindStyleHeaders(${search_path} READER_CLASS reader_ READER ) # reader ) # read_dump - FindStyleHeaders(${search_path} REGION_CLASS region_ REGION ) # region ) # domain + FindStyleHeaders(${search_path} ANGLE_CLASS angle_ ANGLE ) # angle ) # force + FindStyleHeaders(${search_path} ATOM_CLASS atom_vec_ ATOM_VEC ) # atom ) # atom atom_vec_hybrid + FindStyleHeaders(${search_path} BODY_CLASS body_ BODY ) # body ) # atom_vec_body + FindStyleHeaders(${search_path} BOND_CLASS bond_ BOND ) # bond ) # force + FindStyleHeaders(${search_path} COMMAND_CLASS "[^.]" COMMAND ) # command ) # input + FindStyleHeaders(${search_path} COMPUTE_CLASS compute_ COMPUTE ) # compute ) # modify + FindStyleHeaders(${search_path} DIHEDRAL_CLASS dihedral_ DIHEDRAL ) # dihedral ) # force + FindStyleHeaders(${search_path} DUMP_CLASS dump_ DUMP ) # dump ) # output write_dump + FindStyleHeaders(${search_path} FIX_CLASS fix_ FIX ) # fix ) # modify + FindStyleHeaders(${search_path} GRAN_SUB_MOD_CLASS gran_sub_mod_ GRAN_SUB_MOD ) # gran_sub_mod ) # granular_model + FindStyleHeaders(${search_path} IMPROPER_CLASS improper_ IMPROPER ) # improper ) # force + FindStyleHeaders(${search_path} INTEGRATE_CLASS "[^.]" INTEGRATE ) # integrate ) # update + FindStyleHeaders(${search_path} KSPACE_CLASS "[^.]" KSPACE ) # kspace ) # force + FindStyleHeaders(${search_path} MINIMIZE_CLASS min_ MINIMIZE ) # minimize ) # update + FindStyleHeaders(${search_path} NBIN_CLASS nbin_ NBIN ) # nbin ) # neighbor + FindStyleHeaders(${search_path} NPAIR_CLASS npair_ NPAIR ) # npair ) # neighbor + FindStyleHeaders(${search_path} NSTENCIL_CLASS nstencil_ NSTENCIL ) # nstencil ) # neighbor + FindStyleHeaders(${search_path} NTOPO_CLASS ntopo_ NTOPO ) # ntopo ) # neighbor + FindStyleHeaders(${search_path} PAIR_CLASS pair_ PAIR ) # pair ) # force + FindStyleHeaders(${search_path} READER_CLASS reader_ READER ) # reader ) # read_dump + FindStyleHeaders(${search_path} REGION_CLASS region_ REGION ) # region ) # domain endfunction(RegisterStyles) function(RegisterStylesExt search_path extension sources) diff --git a/doc/src/Modify.rst b/doc/src/Modify.rst index 39a1faeb87..8ea7850fc5 100644 --- a/doc/src/Modify.rst +++ b/doc/src/Modify.rst @@ -34,6 +34,6 @@ style requirements and recommendations `. Modify_min Modify_region Modify_body - Modify_gsm + Modify_gran_sub_mod Modify_thermo Modify_variable diff --git a/doc/src/Modify_gsm.rst b/doc/src/Modify_gran_sub_mod.rst similarity index 59% rename from doc/src/Modify_gsm.rst rename to doc/src/Modify_gran_sub_mod.rst index 515c776c6c..fe8b0da275 100644 --- a/doc/src/Modify_gsm.rst +++ b/doc/src/Modify_gran_sub_mod.rst @@ -1,4 +1,4 @@ -Granular Sub-model (GSM) styles +Granular Sub-Model styles =============================== In granular models, particles are spheres with a finite radius and rotational @@ -11,27 +11,27 @@ torques, and heat flow between two types of bodies is defined using a GranularModel class. The GranularModel class organizes the details of an interaction using a series of granular sub-models each of which describe a particular interaction mode (e.g. normal forces or rolling friction). From a -parent GSM class, several types of sub-model classes are derived: +parent GranSubMod class, several types of sub-model classes are derived: -* GSMNormal: normal force sub-model -* GSMDamping: normal damping sub-model -* GSMTangential: tangential forces and sliding friction sub-model -* GSMRolling: rolling friction sub-model -* GSMTwisting: twisting friction sub-model -* GSMHeat: heat conduction sub-model +* GranSubModNormal: normal force sub-model +* GranSubModDamping: normal damping sub-model +* GranSubModTangential: tangential forces and sliding friction sub-model +* GranSubModRolling: rolling friction sub-model +* GranSubModTwisting: twisting friction sub-model +* GranSubModHeat: heat conduction sub-model For each type of sub-model, more classes are further derived, each describing -a specific implementation. For instance, from the GSMNormal class the -GSMNormalHooke, GSMNormalHertz, and GSMNormalJKR classes are derived which -calculate Hookean, Hertzian, or JKR normal forces, respectively. This modular -structure simplifies the addition of new granular contact models as as one only -needs to create a new GSM class without having to modify the more complex -PairGranular, FixGranWall, and GranularModel classes. Most GSM methods are also -already defined by the parent classes so new contact models typically only require -edits to a few relevant methods (e.g. methods that define coefficients and +a specific implementation. For instance, from the GranSubModNormal class the +GranSubModNormalHooke, GranSubModNormalHertz, and GranSubModNormalJKR classes +are derived which calculate Hookean, Hertzian, or JKR normal forces, respectively. +This modular structure simplifies the addition of new granular contact models as +as one onlyneeds to create a new GranSubMod class without having to modify the more +complex PairGranular, FixGranWall, and GranularModel classes. Most GranSubMod methods +are also already defined by the parent classes so new contact models typically only +require edits to a few relevant methods (e.g. methods that define coefficients and calculate forces). -Each GSM class has a pointer to both the LAMMPS class and the GranularModel +Each GranSubMod class has a pointer to both the LAMMPS class and the GranularModel class which owns it, ``lmp`` and ``gm``, respectively. The GranularModel class includes several public variables that describe the geometry/dynamics of the contact such as @@ -59,69 +59,70 @@ These quantities, among others, are calculated in the ``GranularModel->check_con and ``GranularModel->calculate_forces()`` methods which can be referred to for more details. -To create a new GSM class, it is recommended that one first looks at similar GSM -classes. All GSM classes share several general methods which may need to be defined +To create a new GranSubMod class, it is recommended that one first looks at similar +GranSubMod classes. All GranSubMod classes share several general methods which may +need to be defined .. list-table:: - * - ``GSM->mix_coeff()`` + * - ``GranSubMod->mix_coeff()`` - Optional method to define how coefficients are mixed for different atom types. By default, coefficients are mixed using a geometric mean. - * - ``GSM->coeffs_to_local()`` + * - ``GranSubMod->coeffs_to_local()`` - Parses coefficients to define local variables. Run once at model construction. - * - ``GSM->init()`` - - Optional method to define local variables after other GSM types were created. For instance, this method may be used by a tangential model that derives parameters from the normal model. + * - ``GranSubMod->init()`` + - Optional method to define local variables after other GranSubMod types were created. For instance, this method may be used by a tangential model that derives parameters from the normal model. There are also several type-specific methods .. list-table:: - * - ``GSMNormal->touch()`` + * - ``GranSubModNormal->touch()`` - Optional method to test when particles are in contact. By default, this is when particles overlap. - * - ``GSMNormal->pulloff_distance()`` + * - ``GranSubModNormal->pulloff_distance()`` - Optional method to return the distance at which particles stop interacting. By default, this is when particles no longer overlap. - * - ``GSMNormal->calculate_area()`` + * - ``GranSubModNormal->calculate_area()`` - Optional method to return the surface area of the contact. By default, this returns the geometric cross section. - * - ``GSMNormal->set_fncrit()`` + * - ``GranSubModNormal->set_fncrit()`` - Optional method that defines the critical force to break the contact used by some tangential, rolling, and twisting sub-models. By default, this is the current total normal force including damping. - * - ``GSMNormal->calculate_forces()`` + * - ``GranSubModNormal->calculate_forces()`` - Required method that returns the normal contact force - * - ``GSMDamping->calculate_forces()`` + * - ``GranSubModDamping->calculate_forces()`` - Required method that returns the normal damping force - * - ``GSMTangential->calculate_forces()`` + * - ``GranSubModTangential->calculate_forces()`` - Required method that calculates tangential forces/torques - * - ``GSMTwisting->calculate_forces()`` + * - ``GranSubModTwisting->calculate_forces()`` - Required method that calculates twisting friction forces/torques - * - ``GSMRolling->calculate_forces()`` + * - ``GranSubModRolling->calculate_forces()`` - Required method that calculates rolling friction forces/torques - * - ``GSMHeat->calculate_heat()`` + * - ``GranSubModHeat->calculate_heat()`` - Required method that returns the rate of heat flow As an example, say one wanted to create a new normal force option that consisted of a Hookean force with a piecewise stiffness. This could be done by adding a new -set of files ``gsm_custom.h``: +set of files ``gran_sub_mod_custom.h``: .. code-block:: c++ - #ifdef GSM_CLASS + #ifdef GranSubMod_CLASS // clang-format off - GSMStyle(hooke/piecewise, - GSMNormalHookePiecewise, + GranSubModStyle(hooke/piecewise, + GranSubModNormalHookePiecewise, NORMAL); // clang-format on #else - #ifndef GSM_CUSTOM_H_ - #define GSM_CUSTOM_H_ + #ifndef GRAN_SUB_MOD_CUSTOM_H_ + #define GRAN_SUB_MOD_CUSTOM_H_ - #include "gsm.h" - #include "gsm_normal.h" + #include "gran_sub_mod.h" + #include "gran_sub_mod_normal.h" namespace LAMMPS_NS { namespace Granular_NS { - class GSMNormalHookePiecewise : public GSMNormal { + class GranSubModNormalHookePiecewise : public GranSubModNormal { public: - GSMNormalHookePiecewise(class GranularModel *, class LAMMPS *); + GranSubModNormalHookePiecewise(class GranularModel *, class LAMMPS *); void coeffs_to_local() override; double calculate_forces(); protected: @@ -131,29 +132,29 @@ set of files ``gsm_custom.h``: } // namespace Granular_NS } // namespace LAMMPS_NS - #endif /*GSM_CUSTOM_H_ */ - #endif /*GSM_CLASS_H_ */ + #endif /*GRAN_SUB_MOD_CUSTOM_H_ */ + #endif /*GRAN_SUB_MOD_CLASS_H_ */ -and ``gsm_custom.cpp`` +and ``gran_sub_mod_custom.cpp`` .. code-block:: c++ - #include "gsm_custom.h" - #include "gsm_normal.h" + #include "gran_sub_mod_custom.h" + #include "gran_sub_mod_normal.h" #include "granular_model.h" using namespace LAMMPS_NS; using namespace Granular_NS; - GSMNormalHookePiecewise::GSMNormalHookePiecewise(GranularModel *gm, LAMMPS *lmp) : GSMNormal(gm, lmp) + GranSubModNormalHookePiecewise::GranSubModNormalHookePiecewise(GranularModel *gm, LAMMPS *lmp) : GranSubModNormal(gm, lmp) { num_coeffs = 4; } /* ---------------------------------------------------------------------- */ - void GSMNormalHookePiecewise::coeffs_to_local() + void GranSubModNormalHookePiecewise::coeffs_to_local() { k1 = coeffs[0]; k2 = coeffs[1]; @@ -163,7 +164,7 @@ and ``gsm_custom.cpp`` /* ---------------------------------------------------------------------- */ - double GSMNormalHookePiecewise::calculate_forces() + double GranSubModNormalHookePiecewise::calculate_forces() { double Fne; if (gm->delta >= delta_switch) { diff --git a/doc/src/fix_temp_integrate.rst b/doc/src/fix_heat_flow_sphere_temp.rst similarity index 85% rename from doc/src/fix_temp_integrate.rst rename to doc/src/fix_heat_flow_sphere_temp.rst index efcf450d8f..c604b041ad 100644 --- a/doc/src/fix_temp_integrate.rst +++ b/doc/src/fix_heat_flow_sphere_temp.rst @@ -1,6 +1,6 @@ -.. index:: fix temp/integrate +.. index:: fix heat/flow/sphere/temp -fix temp/integrate command +fix heat/flow/sphere/temp command ========================== Syntax @@ -8,10 +8,10 @@ Syntax .. parsed-literal:: - fix ID group-ID temp/integrate style values ... + fix ID group-ID heat/flow/sphere/temp style values ... * ID, group-ID are documented in :doc:`fix ` command -* temp/integrate = style name of this fix command +* heat/flow/sphere/temp = style name of this fix command * one style with corresponding value(s) needs to be listed .. parsed-literal:: @@ -29,8 +29,8 @@ Examples .. code-block:: LAMMPS - fix 1 all temp/integrate constant 1.0 - fix 1 all temp/integrate type 1.0 0.5 + fix 1 all heat/flow/sphere/temp constant 1.0 + fix 1 all heat/flow/sphere/temp type 1.0 0.5 Description """"""""""" diff --git a/src/.gitignore b/src/.gitignore index c03af484ee..f2f2d3c110 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -1533,8 +1533,8 @@ /fix_srp.h /fix_srp_react.cpp /fix_srp_react.h -/fix_temp_integrate.cpp -/fix_temp_integrate.h +/fix_heat_flow_sphere_temp.cpp +/fix_heat_flow_sphere_temp.h /fix_tfmc.cpp /fix_tfmc.h /fix_ttm.cpp @@ -1545,20 +1545,20 @@ /fix_ttm_mod.h /granular_model.cpp /granular_model.h -/gsm_normal.cpp -/gsm_normal.h -/gsm_damping.cpp -/gsm_damping.h -/gsm_tangential.cpp -/gsm_tangential.h -/gsm_twisting.cpp -/gsm_twisting.h -/gsm_rolling.cpp -/gsm_rolling.h -/gsm_heat.cpp -/gsm_heat.h -/gsm.cpp -/gsm.h +/gran_sub_mod_normal.cpp +/gran_sub_mod_normal.h +/gran_sub_mod_damping.cpp +/gran_sub_mod_damping.h +/gran_sub_mod_tangential.cpp +/gran_sub_mod_tangential.h +/gran_sub_mod_twisting.cpp +/gran_sub_mod_twisting.h +/gran_sub_mod_rolling.cpp +/gran_sub_mod_rolling.h +/gran_sub_mod_heat.cpp +/gran_sub_mod_heat.h +/gran_sub_mod.cpp +/gran_sub_mod.h /pair_born_coul_long_cs.cpp /pair_born_coul_long_cs.h /pair_born_coul_dsf_cs.cpp diff --git a/src/GRANULAR/fix_temp_integrate.cpp b/src/GRANULAR/fix_heat_flow_sphere_temp.cpp similarity index 89% rename from src/GRANULAR/fix_temp_integrate.cpp rename to src/GRANULAR/fix_heat_flow_sphere_temp.cpp index ab9739e874..fe7fc49324 100644 --- a/src/GRANULAR/fix_temp_integrate.cpp +++ b/src/GRANULAR/fix_heat_flow_sphere_temp.cpp @@ -12,7 +12,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "fix_temp_integrate.h" +#include "fix_heat_flow_sphere_temp.h" #include "atom.h" #include "error.h" @@ -28,7 +28,7 @@ enum {NONE, CONSTANT, TYPE}; /* ---------------------------------------------------------------------- */ -FixTempIntegrate::FixTempIntegrate(LAMMPS *lmp, int narg, char **arg) : +FixHeatFlowSphereTemp::FixHeatFlowSphereTemp(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { if (narg < 4) error->all(FLERR,"Illegal fix command"); @@ -56,12 +56,11 @@ FixTempIntegrate::FixTempIntegrate(LAMMPS *lmp, int narg, char **arg) : if (cp_style == NONE) error->all(FLERR, "Must specify specific heat in fix temp/integrate"); dynamic_group_allow = 1; - time_integrate = 1; } /* ---------------------------------------------------------------------- */ -int FixTempIntegrate::setmask() +int FixHeatFlowSphereTemp::setmask() { int mask = 0; mask |= FINAL_INTEGRATE; @@ -71,7 +70,7 @@ int FixTempIntegrate::setmask() /* ---------------------------------------------------------------------- */ -void FixTempIntegrate::init() +void FixHeatFlowSphereTemp::init() { dt = update->dt; @@ -83,7 +82,7 @@ void FixTempIntegrate::init() /* ---------------------------------------------------------------------- */ -void FixTempIntegrate::final_integrate() +void FixHeatFlowSphereTemp::final_integrate() { // update temperature of atoms in group @@ -111,7 +110,7 @@ void FixTempIntegrate::final_integrate() /* ---------------------------------------------------------------------- */ -void FixTempIntegrate::final_integrate_respa(int ilevel, int /*iloop*/) +void FixHeatFlowSphereTemp::final_integrate_respa(int ilevel, int /*iloop*/) { dt = update->dt; final_integrate(); @@ -119,14 +118,14 @@ void FixTempIntegrate::final_integrate_respa(int ilevel, int /*iloop*/) /* ---------------------------------------------------------------------- */ -void FixTempIntegrate::reset_dt() +void FixHeatFlowSphereTemp::reset_dt() { dt = update->dt; } /* ---------------------------------------------------------------------- */ -double FixTempIntegrate::calc_cp(int i) +double FixHeatFlowSphereTemp::calc_cp(int i) { if (cp_style == TYPE) { return cp_type[atom->type[i]]; diff --git a/src/GRANULAR/fix_temp_integrate.h b/src/GRANULAR/fix_heat_flow_sphere_temp.h similarity index 82% rename from src/GRANULAR/fix_temp_integrate.h rename to src/GRANULAR/fix_heat_flow_sphere_temp.h index 8356d00433..6bc2d50373 100644 --- a/src/GRANULAR/fix_temp_integrate.h +++ b/src/GRANULAR/fix_heat_flow_sphere_temp.h @@ -13,20 +13,20 @@ #ifdef FIX_CLASS // clang-format off -FixStyle(temp/integrate,FixTempIntegrate); +FixStyle(heat/flow/sphere/temp,FixHeatFlowSphereTemp); // clang-format on #else -#ifndef LMP_FIX_TEMP_INTEGRATE_H -#define LMP_FIX_TEMP_INTEGRATE_H +#ifndef LMP_FIX_HEAT_FLOW_SPHERE_TEMP_H +#define LMP_FIX_HEAT_FLOW_SPHERE_TEMP_H #include "fix.h" namespace LAMMPS_NS { -class FixTempIntegrate : public Fix { +class FixHeatFlowSphereTemp : public Fix { public: - FixTempIntegrate(class LAMMPS *, int, char **); + FixHeatFlowSphereTemp(class LAMMPS *, int, char **); int setmask() override; void init() override; diff --git a/src/GRANULAR/fix_wall_gran.cpp b/src/GRANULAR/fix_wall_gran.cpp index 583cbba62e..fe2286a0fa 100644 --- a/src/GRANULAR/fix_wall_gran.cpp +++ b/src/GRANULAR/fix_wall_gran.cpp @@ -21,7 +21,7 @@ #include "atom.h" #include "granular_model.h" -#include "gsm.h" +#include "gran_sub_mod.h" #include "domain.h" #include "error.h" #include "input.h" diff --git a/src/GRANULAR/fix_wall_gran.h b/src/GRANULAR/fix_wall_gran.h index a621a973e2..16a2fe5dc0 100644 --- a/src/GRANULAR/fix_wall_gran.h +++ b/src/GRANULAR/fix_wall_gran.h @@ -25,6 +25,10 @@ FixStyle(wall/gran,FixWallGran); namespace LAMMPS_NS { +namespace Granular_NS { + class GranularModel; +} + class FixWallGran : public Fix { public: FixWallGran(class LAMMPS *, int, char **); @@ -53,7 +57,7 @@ class FixWallGran : public Fix { bigint time_origin; // for granular model choices - Granular_NS::GranularModel *model; + class Granular_NS::GranularModel *model; double lo, hi, cylradius; double amplitude, period, omega, vshear; diff --git a/src/GRANULAR/gsm.cpp b/src/GRANULAR/gran_sub_mod.cpp similarity index 85% rename from src/GRANULAR/gsm.cpp rename to src/GRANULAR/gran_sub_mod.cpp index 4ac7473504..2d836151f8 100644 --- a/src/GRANULAR/gsm.cpp +++ b/src/GRANULAR/gran_sub_mod.cpp @@ -13,7 +13,7 @@ ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- - This class contains a framework for granular submodels (GSM) including: + This class contains a framework for granular submodels (GranSubMod): normal, damping, tangential, rolling, twisting, and heat These are used to calculate forces/torques/etc based on contact geometry @@ -21,7 +21,7 @@ Dan Bolintineanu (SNL), Joel Clemmer (SNL) ----------------------------------------------------------------------- */ -#include "gsm.h" +#include "gran_sub_mod.h" #include "error.h" #include "utils.h" @@ -32,7 +32,7 @@ using namespace Granular_NS; Parent class for all types of granular submodels ------------------------------------------------------------------------- */ -GSM::GSM(class GranularModel *gm, LAMMPS *lmp) : Pointers(lmp) +GranSubMod::GranSubMod(class GranularModel *gm, LAMMPS *lmp) : Pointers(lmp) { this->gm = gm; @@ -51,7 +51,7 @@ GSM::GSM(class GranularModel *gm, LAMMPS *lmp) : Pointers(lmp) /* ---------------------------------------------------------------------- */ -GSM::~GSM() +GranSubMod::~GranSubMod() { if (allocated) delete [] coeffs; delete [] transfer_history_factor; @@ -59,7 +59,7 @@ GSM::~GSM() /* ---------------------------------------------------------------------- */ -void GSM::allocate_coeffs() +void GranSubMod::allocate_coeffs() { allocated = 1; coeffs = new double[num_coeffs]; @@ -67,7 +67,7 @@ void GSM::allocate_coeffs() /* ---------------------------------------------------------------------- */ -void GSM::mix_coeffs(double* icoeffs, double* jcoeffs) +void GranSubMod::mix_coeffs(double* icoeffs, double* jcoeffs) { for (int i = 0; i < num_coeffs; i++) coeffs[i] = mix_geom(icoeffs[i], jcoeffs[i]); @@ -78,7 +78,7 @@ void GSM::mix_coeffs(double* icoeffs, double* jcoeffs) mixing of Young's modulus (E) ------------------------------------------------------------------------- */ -double GSM::mix_stiffnessE(double E1, double E2, +double GranSubMod::mix_stiffnessE(double E1, double E2, double pois1, double pois2) { double factor1 = (1 - pois1 * pois1) / E1; @@ -90,7 +90,7 @@ double GSM::mix_stiffnessE(double E1, double E2, mixing of shear modulus (G) ------------------------------------------------------------------------ */ -double GSM::mix_stiffnessG(double E1, double E2, +double GranSubMod::mix_stiffnessG(double E1, double E2, double pois1, double pois2) { double factor1 = 2 * (2 - pois1) * (1 + pois1) / E1; @@ -102,7 +102,7 @@ double GSM::mix_stiffnessG(double E1, double E2, mixing of Young's modulus (E) for walls ------------------------------------------------------------------------- */ -double GSM::mix_stiffnessE_wall(double E, double pois) +double GranSubMod::mix_stiffnessE_wall(double E, double pois) { double factor = 2 * (1 - pois); return E / factor; @@ -112,7 +112,7 @@ double GSM::mix_stiffnessE_wall(double E, double pois) mixing of shear modulus (G) for walls ------------------------------------------------------------------------ */ -double GSM::mix_stiffnessG_wall(double E, double pois) +double GranSubMod::mix_stiffnessG_wall(double E, double pois) { double factor = 32.0 * (2 - pois) * (1 + pois); return E / factor; @@ -122,7 +122,7 @@ double GSM::mix_stiffnessG_wall(double E, double pois) mixing of everything else ------------------------------------------------------------------------- */ -double GSM::mix_geom(double val1, double val2) +double GranSubMod::mix_geom(double val1, double val2) { return sqrt(val1 * val2); } diff --git a/src/GRANULAR/gsm.h b/src/GRANULAR/gran_sub_mod.h similarity index 89% rename from src/GRANULAR/gsm.h rename to src/GRANULAR/gran_sub_mod.h index 3c19179d52..78f4229b29 100644 --- a/src/GRANULAR/gsm.h +++ b/src/GRANULAR/gran_sub_mod.h @@ -11,8 +11,8 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#ifndef LMP_GSM_H_ -#define LMP_GSM_H_ +#ifndef LMP_GRAN_SUB_MOD_H_ +#define LMP_GRAN_SUB_MOD_H_ #include "granular_model.h" #include "pointers.h" // IWYU pragma: export @@ -20,10 +20,10 @@ namespace LAMMPS_NS { namespace Granular_NS { -class GSM : protected Pointers { +class GranSubMod : protected Pointers { public: - GSM(class GranularModel *, class LAMMPS *); - virtual ~GSM(); + GranSubMod(class GranularModel *, class LAMMPS *); + virtual ~GranSubMod(); int num_coeffs; double *coeffs; @@ -59,4 +59,4 @@ class GSM : protected Pointers { } // namespace GranularModel } // namespace LAMMPS_NS -#endif /* GSM_H_ */ +#endif /* GRAN_SUB_MOD_H_ */ diff --git a/src/GRANULAR/gsm_damping.cpp b/src/GRANULAR/gran_sub_mod_damping.cpp similarity index 74% rename from src/GRANULAR/gsm_damping.cpp rename to src/GRANULAR/gran_sub_mod_damping.cpp index db7f0f3371..e78233735a 100644 --- a/src/GRANULAR/gsm_damping.cpp +++ b/src/GRANULAR/gran_sub_mod_damping.cpp @@ -12,8 +12,8 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "gsm_damping.h" -#include "gsm_normal.h" +#include "gran_sub_mod_damping.h" +#include "gran_sub_mod_normal.h" #include "granular_model.h" #include "math_special.h" @@ -25,11 +25,11 @@ using namespace MathSpecial; Default damping model ------------------------------------------------------------------------- */ -GSMDamping::GSMDamping(GranularModel *gm, LAMMPS *lmp) : GSM(gm, lmp) {} +GranSubModDamping::GranSubModDamping(GranularModel *gm, LAMMPS *lmp) : GranSubMod(gm, lmp) {} /* ---------------------------------------------------------------------- */ -void GSMDamping::init() +void GranSubModDamping::init() { damp = gm->normal_model->damp; } @@ -38,11 +38,11 @@ void GSMDamping::init() No model ------------------------------------------------------------------------- */ -GSMDampingNone::GSMDampingNone(GranularModel *gm, LAMMPS *lmp) : GSMDamping(gm, lmp) {} +GranSubModDampingNone::GranSubModDampingNone(GranularModel *gm, LAMMPS *lmp) : GranSubModDamping(gm, lmp) {} /* ---------------------------------------------------------------------- */ -double GSMDampingNone::calculate_forces() +double GranSubModDampingNone::calculate_forces() { damp_prefactor = 0.0; return 0.0; @@ -52,11 +52,11 @@ double GSMDampingNone::calculate_forces() Velocity damping ------------------------------------------------------------------------- */ -GSMDampingVelocity::GSMDampingVelocity(GranularModel *gm, LAMMPS *lmp) : GSMDamping(gm, lmp) {} +GranSubModDampingVelocity::GranSubModDampingVelocity(GranularModel *gm, LAMMPS *lmp) : GranSubModDamping(gm, lmp) {} /* ---------------------------------------------------------------------- */ -double GSMDampingVelocity::calculate_forces() +double GranSubModDampingVelocity::calculate_forces() { damp_prefactor = damp; return -damp_prefactor * gm->vnnr; @@ -66,11 +66,11 @@ double GSMDampingVelocity::calculate_forces() Mass velocity damping ------------------------------------------------------------------------- */ -GSMDampingMassVelocity::GSMDampingMassVelocity(GranularModel *gm, LAMMPS *lmp) : GSMDamping(gm, lmp) {} +GranSubModDampingMassVelocity::GranSubModDampingMassVelocity(GranularModel *gm, LAMMPS *lmp) : GranSubModDamping(gm, lmp) {} /* ---------------------------------------------------------------------- */ -double GSMDampingMassVelocity::calculate_forces() +double GranSubModDampingMassVelocity::calculate_forces() { damp_prefactor = damp * gm->meff; return -damp_prefactor * gm->vnnr; @@ -80,14 +80,14 @@ double GSMDampingMassVelocity::calculate_forces() Default, viscoelastic damping ------------------------------------------------------------------------- */ -GSMDampingViscoelastic::GSMDampingViscoelastic(GranularModel *gm, LAMMPS *lmp) : GSMDamping(gm, lmp) +GranSubModDampingViscoelastic::GranSubModDampingViscoelastic(GranularModel *gm, LAMMPS *lmp) : GranSubModDamping(gm, lmp) { area_flag = 1; } /* ---------------------------------------------------------------------- */ -double GSMDampingViscoelastic::calculate_forces() +double GranSubModDampingViscoelastic::calculate_forces() { damp_prefactor = damp * gm->meff * gm->area; return -damp_prefactor * gm->vnnr; @@ -97,14 +97,14 @@ double GSMDampingViscoelastic::calculate_forces() Tsuji damping ------------------------------------------------------------------------- */ -GSMDampingTsuji::GSMDampingTsuji(GranularModel *gm, LAMMPS *lmp) : GSMDamping(gm, lmp) +GranSubModDampingTsuji::GranSubModDampingTsuji(GranularModel *gm, LAMMPS *lmp) : GranSubModDamping(gm, lmp) { allow_cohesion = 0; } /* ---------------------------------------------------------------------- */ -void GSMDampingTsuji::init() +void GranSubModDampingTsuji::init() { double tmp = gm->normal_model->damp; damp = 1.2728 - 4.2783 * tmp + 11.087 * square(tmp); @@ -114,7 +114,7 @@ void GSMDampingTsuji::init() /* ---------------------------------------------------------------------- */ -double GSMDampingTsuji::calculate_forces() +double GranSubModDampingTsuji::calculate_forces() { damp_prefactor = damp * sqrt(gm->meff * gm->Fnormal / gm->delta); return -damp_prefactor * gm->vnnr; diff --git a/src/GRANULAR/gsm_damping.h b/src/GRANULAR/gran_sub_mod_damping.h similarity index 58% rename from src/GRANULAR/gsm_damping.h rename to src/GRANULAR/gran_sub_mod_damping.h index 75c0f96356..04316a950d 100644 --- a/src/GRANULAR/gsm_damping.h +++ b/src/GRANULAR/gran_sub_mod_damping.h @@ -11,43 +11,43 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#ifdef GSM_CLASS +#ifdef GRAN_SUB_MOD_CLASS // clang-format off -GSMStyle(none, - GSMDampingNone, +GranSubModStyle(none, + GranSubModDampingNone, DAMPING); -GSMStyle(velocity, - GSMDampingVelocity, +GranSubModStyle(velocity, + GranSubModDampingVelocity, DAMPING); -GSMStyle(mass_velocity, - GSMDampingMassVelocity, +GranSubModStyle(mass_velocity, + GranSubModDampingMassVelocity, DAMPING); -GSMStyle(viscoelastic, - GSMDampingViscoelastic, +GranSubModStyle(viscoelastic, + GranSubModDampingViscoelastic, DAMPING); -GSMStyle(tsuji, - GSMDampingTsuji, +GranSubModStyle(tsuji, + GranSubModDampingTsuji, DAMPING); // clang-format on #else -#ifndef GSM_DAMPING_H_ -#define GSM_DAMPING_H_ +#ifndef GRAN_SUB_MOD_DAMPING_H_ +#define GRAN_SUB_MOD_DAMPING_H_ -#include "gsm.h" +#include "gran_sub_mod.h" #include "pointers.h" namespace LAMMPS_NS { namespace Granular_NS { -class GSMDamping : public GSM { +class GranSubModDamping : public GranSubMod { public: - GSMDamping(class GranularModel *, class LAMMPS *); - ~GSMDamping() {}; + GranSubModDamping(class GranularModel *, class LAMMPS *); + ~GranSubModDamping() {}; virtual void coeffs_to_local() {}; virtual void mix_coeffs(double*, double*) {}; virtual void init(); @@ -59,42 +59,42 @@ class GSMDamping : public GSM { /* ---------------------------------------------------------------------- */ -class GSMDampingNone : public GSMDamping { +class GranSubModDampingNone : public GranSubModDamping { public: - GSMDampingNone(class GranularModel *, class LAMMPS *); + GranSubModDampingNone(class GranularModel *, class LAMMPS *); void init() override {}; double calculate_forces(); }; /* ---------------------------------------------------------------------- */ -class GSMDampingVelocity : public GSMDamping { +class GranSubModDampingVelocity : public GranSubModDamping { public: - GSMDampingVelocity(class GranularModel *, class LAMMPS *); + GranSubModDampingVelocity(class GranularModel *, class LAMMPS *); double calculate_forces(); }; /* ---------------------------------------------------------------------- */ -class GSMDampingMassVelocity : public GSMDamping { +class GranSubModDampingMassVelocity : public GranSubModDamping { public: - GSMDampingMassVelocity(class GranularModel *, class LAMMPS *); + GranSubModDampingMassVelocity(class GranularModel *, class LAMMPS *); double calculate_forces(); }; /* ---------------------------------------------------------------------- */ -class GSMDampingViscoelastic : public GSMDamping { +class GranSubModDampingViscoelastic : public GranSubModDamping { public: - GSMDampingViscoelastic(class GranularModel *, class LAMMPS *); + GranSubModDampingViscoelastic(class GranularModel *, class LAMMPS *); double calculate_forces(); }; /* ---------------------------------------------------------------------- */ -class GSMDampingTsuji : public GSMDamping { +class GranSubModDampingTsuji : public GranSubModDamping { public: - GSMDampingTsuji(class GranularModel *, class LAMMPS *); + GranSubModDampingTsuji(class GranularModel *, class LAMMPS *); void init() override; double calculate_forces(); }; @@ -102,5 +102,5 @@ class GSMDampingTsuji : public GSMDamping { } // namespace Granular_NS } // namespace LAMMPS_NS -#endif /*GSM_DAMPING_H_ */ -#endif /*GSM_CLASS_H_ */ +#endif /*GRAN_SUB_MOD_DAMPING_H_ */ +#endif /*GRAN_SUB_MOD_CLASS_H_ */ diff --git a/src/GRANULAR/gsm_heat.cpp b/src/GRANULAR/gran_sub_mod_heat.cpp similarity index 79% rename from src/GRANULAR/gsm_heat.cpp rename to src/GRANULAR/gran_sub_mod_heat.cpp index 1a0cff5301..02a18117ff 100644 --- a/src/GRANULAR/gsm_heat.cpp +++ b/src/GRANULAR/gran_sub_mod_heat.cpp @@ -12,7 +12,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "gsm_heat.h" +#include "gran_sub_mod_heat.h" #include "granular_model.h" #include "error.h" @@ -23,17 +23,17 @@ using namespace Granular_NS; Default heat conduction ------------------------------------------------------------------------- */ -GSMHeat::GSMHeat(GranularModel *gm, LAMMPS *lmp) : GSM(gm, lmp) {} +GranSubModHeat::GranSubModHeat(GranularModel *gm, LAMMPS *lmp) : GranSubMod(gm, lmp) {} /* ---------------------------------------------------------------------- Area-based heat conduction ------------------------------------------------------------------------- */ -GSMHeatNone::GSMHeatNone(GranularModel *gm, LAMMPS *lmp) : GSMHeat(gm, lmp) {} +GranSubModHeatNone::GranSubModHeatNone(GranularModel *gm, LAMMPS *lmp) : GranSubModHeat(gm, lmp) {} /* ---------------------------------------------------------------------- */ -double GSMHeatNone::calculate_heat() +double GranSubModHeatNone::calculate_heat() { return 0.0; } @@ -42,7 +42,7 @@ double GSMHeatNone::calculate_heat() Area-based heat conduction ------------------------------------------------------------------------- */ -GSMHeatArea::GSMHeatArea(GranularModel *gm, LAMMPS *lmp) : GSMHeat(gm, lmp) +GranSubModHeatArea::GranSubModHeatArea(GranularModel *gm, LAMMPS *lmp) : GranSubModHeat(gm, lmp) { num_coeffs = 1; area_flag = 1; @@ -50,7 +50,7 @@ GSMHeatArea::GSMHeatArea(GranularModel *gm, LAMMPS *lmp) : GSMHeat(gm, lmp) /* ---------------------------------------------------------------------- */ -void GSMHeatArea::coeffs_to_local() +void GranSubModHeatArea::coeffs_to_local() { conductivity = coeffs[0]; @@ -59,7 +59,7 @@ void GSMHeatArea::coeffs_to_local() /* ---------------------------------------------------------------------- */ -double GSMHeatArea::calculate_heat() +double GranSubModHeatArea::calculate_heat() { return conductivity * gm->area * (gm->Tj - gm->Ti); } diff --git a/src/GRANULAR/gsm_heat.h b/src/GRANULAR/gran_sub_mod_heat.h similarity index 66% rename from src/GRANULAR/gsm_heat.h rename to src/GRANULAR/gran_sub_mod_heat.h index c913593f19..3520a41a06 100644 --- a/src/GRANULAR/gsm_heat.h +++ b/src/GRANULAR/gran_sub_mod_heat.h @@ -11,30 +11,30 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#ifdef GSM_CLASS +#ifdef GRAN_SUB_MOD_CLASS // clang-format off -GSMStyle(none, - GSMHeatNone, +GranSubModStyle(none, + GranSubModHeatNone, HEAT); -GSMStyle(area, - GSMHeatArea, +GranSubModStyle(area, + GranSubModHeatArea, HEAT); // clang-format on #else -#ifndef GSM_HEAT_H_ -#define GSM_HEAT_H_ +#ifndef GRAN_SUB_MOD_HEAT_H_ +#define GRAN_SUB_MOD_HEAT_H_ -#include "gsm.h" +#include "gran_sub_mod.h" namespace LAMMPS_NS { namespace Granular_NS { -class GSMHeat : public GSM { +class GranSubModHeat : public GranSubMod { public: - GSMHeat(class GranularModel *, class LAMMPS *); - ~GSMHeat() {}; + GranSubModHeat(class GranularModel *, class LAMMPS *); + ~GranSubModHeat() {}; virtual void coeffs_to_local() {}; virtual void init() {}; virtual double calculate_heat() = 0; @@ -42,17 +42,17 @@ class GSMHeat : public GSM { /* ---------------------------------------------------------------------- */ -class GSMHeatNone : public GSMHeat { +class GranSubModHeatNone : public GranSubModHeat { public: - GSMHeatNone(class GranularModel *, class LAMMPS *); + GranSubModHeatNone(class GranularModel *, class LAMMPS *); double calculate_heat(); }; /* ---------------------------------------------------------------------- */ -class GSMHeatArea : public GSMHeat { +class GranSubModHeatArea : public GranSubModHeat { public: - GSMHeatArea(class GranularModel *, class LAMMPS *); + GranSubModHeatArea(class GranularModel *, class LAMMPS *); void coeffs_to_local() override; double calculate_heat(); protected: @@ -62,5 +62,5 @@ class GSMHeatArea : public GSMHeat { } // namespace Granular_NS } // namespace LAMMPS_NS -#endif /*GSM_HEAT_H_ */ -#endif /*GSM_CLASS_H_ */ +#endif /*GRAN_SUB_MOD_HEAT_H_ */ +#endif /*GRAN_SUB_MOD_CLASS_H_ */ diff --git a/src/GRANULAR/gsm_normal.cpp b/src/GRANULAR/gran_sub_mod_normal.cpp similarity index 82% rename from src/GRANULAR/gsm_normal.cpp rename to src/GRANULAR/gran_sub_mod_normal.cpp index 28e4d7af79..d10c984a51 100644 --- a/src/GRANULAR/gsm_normal.cpp +++ b/src/GRANULAR/gran_sub_mod_normal.cpp @@ -12,7 +12,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "gsm_normal.h" +#include "gran_sub_mod_normal.h" #include "granular_model.h" #include "error.h" #include "math_const.h" @@ -33,7 +33,7 @@ using namespace MathConst; Default normal model ------------------------------------------------------------------------- */ -GSMNormal::GSMNormal(GranularModel *gm, LAMMPS *lmp) : GSM(gm, lmp) +GranSubModNormal::GranSubModNormal(GranularModel *gm, LAMMPS *lmp) : GranSubMod(gm, lmp) { material_properties = 0; cohesive_flag = 0; @@ -41,7 +41,7 @@ GSMNormal::GSMNormal(GranularModel *gm, LAMMPS *lmp) : GSM(gm, lmp) /* ---------------------------------------------------------------------- */ -bool GSMNormal::touch() +bool GranSubModNormal::touch() { bool touchflag = (gm->rsq < gm->radsum * gm->radsum); return touchflag; @@ -49,7 +49,7 @@ bool GSMNormal::touch() /* ---------------------------------------------------------------------- */ -double GSMNormal::pulloff_distance(double radi, double radj) +double GranSubModNormal::pulloff_distance(double radi, double radj) { //called outside of compute(), do not assume correct geometry defined in contact return radi + radj; @@ -57,14 +57,14 @@ double GSMNormal::pulloff_distance(double radi, double radj) /* ---------------------------------------------------------------------- */ -double GSMNormal::calculate_area() +double GranSubModNormal::calculate_area() { return sqrt(gm->dR); } /* ---------------------------------------------------------------------- */ -void GSMNormal::set_fncrit() +void GranSubModNormal::set_fncrit() { Fncrit = fabs(gm->Fntot); } @@ -73,11 +73,11 @@ void GSMNormal::set_fncrit() No model ------------------------------------------------------------------------- */ -GSMNormalNone::GSMNormalNone(GranularModel *gm, LAMMPS *lmp) : GSMNormal(gm, lmp) {} +GranSubModNormalNone::GranSubModNormalNone(GranularModel *gm, LAMMPS *lmp) : GranSubModNormal(gm, lmp) {} /* ---------------------------------------------------------------------- */ -double GSMNormalNone::calculate_forces() +double GranSubModNormalNone::calculate_forces() { return 0.0; } @@ -86,14 +86,14 @@ double GSMNormalNone::calculate_forces() Hookean normal force ------------------------------------------------------------------------- */ -GSMNormalHooke::GSMNormalHooke(GranularModel *gm, LAMMPS *lmp) : GSMNormal(gm, lmp) +GranSubModNormalHooke::GranSubModNormalHooke(GranularModel *gm, LAMMPS *lmp) : GranSubModNormal(gm, lmp) { num_coeffs = 2; } /* ---------------------------------------------------------------------- */ -void GSMNormalHooke::coeffs_to_local() +void GranSubModNormalHooke::coeffs_to_local() { k = coeffs[0]; damp = coeffs[1]; @@ -103,7 +103,7 @@ void GSMNormalHooke::coeffs_to_local() /* ---------------------------------------------------------------------- */ -double GSMNormalHooke::calculate_forces() +double GranSubModNormalHooke::calculate_forces() { return k * gm->delta; } @@ -112,7 +112,7 @@ double GSMNormalHooke::calculate_forces() Hertzian normal force ------------------------------------------------------------------------- */ -GSMNormalHertz::GSMNormalHertz(GranularModel *gm, LAMMPS *lmp) : GSMNormal(gm, lmp) +GranSubModNormalHertz::GranSubModNormalHertz(GranularModel *gm, LAMMPS *lmp) : GranSubModNormal(gm, lmp) { num_coeffs = 2; area_flag = 1; @@ -120,7 +120,7 @@ GSMNormalHertz::GSMNormalHertz(GranularModel *gm, LAMMPS *lmp) : GSMNormal(gm, l /* ---------------------------------------------------------------------- */ -void GSMNormalHertz::coeffs_to_local() +void GranSubModNormalHertz::coeffs_to_local() { k = coeffs[0]; damp = coeffs[1]; @@ -130,7 +130,7 @@ void GSMNormalHertz::coeffs_to_local() /* ---------------------------------------------------------------------- */ -double GSMNormalHertz::calculate_forces() +double GranSubModNormalHertz::calculate_forces() { return k * gm->area * gm->delta; } @@ -139,7 +139,7 @@ double GSMNormalHertz::calculate_forces() Hertzian normal force with material properties ------------------------------------------------------------------------- */ -GSMNormalHertzMaterial::GSMNormalHertzMaterial(GranularModel *gm, LAMMPS *lmp) : GSMNormalHertz(gm, lmp) +GranSubModNormalHertzMaterial::GranSubModNormalHertzMaterial(GranularModel *gm, LAMMPS *lmp) : GranSubModNormalHertz(gm, lmp) { material_properties = 1; num_coeffs = 3; @@ -148,7 +148,7 @@ GSMNormalHertzMaterial::GSMNormalHertzMaterial(GranularModel *gm, LAMMPS *lmp) : /* ---------------------------------------------------------------------- */ -void GSMNormalHertzMaterial::coeffs_to_local() +void GranSubModNormalHertzMaterial::coeffs_to_local() { Emod = coeffs[0]; damp = coeffs[1]; @@ -164,7 +164,7 @@ void GSMNormalHertzMaterial::coeffs_to_local() /* ---------------------------------------------------------------------- */ -void GSMNormalHertzMaterial::mix_coeffs(double* icoeffs, double* jcoeffs) +void GranSubModNormalHertzMaterial::mix_coeffs(double* icoeffs, double* jcoeffs) { coeffs[0] = mix_stiffnessE(icoeffs[0], jcoeffs[0],icoeffs[2], jcoeffs[2]); coeffs[1] = mix_geom(icoeffs[1], jcoeffs[1]); @@ -176,7 +176,7 @@ void GSMNormalHertzMaterial::mix_coeffs(double* icoeffs, double* jcoeffs) DMT normal force ------------------------------------------------------------------------- */ -GSMNormalDMT::GSMNormalDMT(GranularModel *gm, LAMMPS *lmp) : GSMNormal(gm, lmp) +GranSubModNormalDMT::GranSubModNormalDMT(GranularModel *gm, LAMMPS *lmp) : GranSubModNormal(gm, lmp) { material_properties = 1; cohesive_flag = 1; @@ -186,7 +186,7 @@ GSMNormalDMT::GSMNormalDMT(GranularModel *gm, LAMMPS *lmp) : GSMNormal(gm, lmp) /* ---------------------------------------------------------------------- */ -void GSMNormalDMT::coeffs_to_local() +void GranSubModNormalDMT::coeffs_to_local() { Emod = coeffs[0]; damp = coeffs[1]; @@ -203,7 +203,7 @@ void GSMNormalDMT::coeffs_to_local() /* ---------------------------------------------------------------------- */ -void GSMNormalDMT::mix_coeffs(double* icoeffs, double* jcoeffs) +void GranSubModNormalDMT::mix_coeffs(double* icoeffs, double* jcoeffs) { coeffs[0] = mix_stiffnessE(icoeffs[0], jcoeffs[0],icoeffs[2], jcoeffs[2]); coeffs[1] = mix_geom(icoeffs[1], jcoeffs[1]); @@ -214,7 +214,7 @@ void GSMNormalDMT::mix_coeffs(double* icoeffs, double* jcoeffs) /* ---------------------------------------------------------------------- */ -double GSMNormalDMT::calculate_forces() +double GranSubModNormalDMT::calculate_forces() { Fne = k * gm->area * gm->delta; F_pulloff = 4.0 * MathConst::MY_PI * cohesion * gm->Reff; @@ -224,7 +224,7 @@ double GSMNormalDMT::calculate_forces() /* ---------------------------------------------------------------------- */ -void GSMNormalDMT::set_fncrit() +void GranSubModNormalDMT::set_fncrit() { Fncrit = fabs(Fne + 2.0 * F_pulloff); } @@ -233,7 +233,7 @@ void GSMNormalDMT::set_fncrit() JKR normal force ------------------------------------------------------------------------- */ -GSMNormalJKR::GSMNormalJKR(GranularModel *gm, LAMMPS *lmp) : GSMNormal(gm, lmp) +GranSubModNormalJKR::GranSubModNormalJKR(GranularModel *gm, LAMMPS *lmp) : GranSubModNormal(gm, lmp) { material_properties = 1; cohesive_flag = 1; @@ -244,7 +244,7 @@ GSMNormalJKR::GSMNormalJKR(GranularModel *gm, LAMMPS *lmp) : GSMNormal(gm, lmp) /* ---------------------------------------------------------------------- */ -void GSMNormalJKR::coeffs_to_local() +void GranSubModNormalJKR::coeffs_to_local() { Emod = coeffs[0]; damp = coeffs[1]; @@ -264,7 +264,7 @@ void GSMNormalJKR::coeffs_to_local() /* ---------------------------------------------------------------------- */ -void GSMNormalJKR::mix_coeffs(double* icoeffs, double* jcoeffs) +void GranSubModNormalJKR::mix_coeffs(double* icoeffs, double* jcoeffs) { coeffs[0] = mix_stiffnessE(icoeffs[0], jcoeffs[0],icoeffs[2], jcoeffs[2]); coeffs[1] = mix_geom(icoeffs[1], jcoeffs[1]); @@ -275,7 +275,7 @@ void GSMNormalJKR::mix_coeffs(double* icoeffs, double* jcoeffs) /* ---------------------------------------------------------------------- */ -bool GSMNormalJKR::touch() +bool GranSubModNormalJKR::touch() { double area_at_pulloff, R2, delta_pulloff, dist_pulloff; bool touchflag; @@ -297,7 +297,7 @@ bool GSMNormalJKR::touch() called outside of compute(), do not assume geometry defined in contact ------------------------------------------------------------------------- */ -double GSMNormalJKR::pulloff_distance(double radi, double radj) +double GranSubModNormalJKR::pulloff_distance(double radi, double radj) { double area_at_pulloff, Reff_tmp; @@ -310,7 +310,7 @@ double GSMNormalJKR::pulloff_distance(double radi, double radj) /* ---------------------------------------------------------------------- */ -double GSMNormalJKR::calculate_area() +double GranSubModNormalJKR::calculate_area() { double R2, dR2, t0, t1, t2, t3, t4, t5, t6; double sqrt1, sqrt2, sqrt3; @@ -335,7 +335,7 @@ double GSMNormalJKR::calculate_area() /* ---------------------------------------------------------------------- */ -double GSMNormalJKR::calculate_forces() +double GranSubModNormalJKR::calculate_forces() { double a2; a2 = gm->area * gm->area; @@ -347,7 +347,7 @@ double GSMNormalJKR::calculate_forces() /* ---------------------------------------------------------------------- */ -void GSMNormalJKR::set_fncrit() +void GranSubModNormalJKR::set_fncrit() { Fncrit = fabs(Fne + 2.0 * F_pulloff); } diff --git a/src/GRANULAR/gsm_normal.h b/src/GRANULAR/gran_sub_mod_normal.h similarity index 65% rename from src/GRANULAR/gsm_normal.h rename to src/GRANULAR/gran_sub_mod_normal.h index 2d7391f3c8..8fb0c01d4b 100644 --- a/src/GRANULAR/gsm_normal.h +++ b/src/GRANULAR/gran_sub_mod_normal.h @@ -11,46 +11,46 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#ifdef GSM_CLASS +#ifdef GRAN_SUB_MOD_CLASS // clang-format off -GSMStyle(none, - GSMNormalNone, +GranSubModStyle(none, + GranSubModNormalNone, NORMAL); -GSMStyle(hooke, - GSMNormalHooke, +GranSubModStyle(hooke, + GranSubModNormalHooke, NORMAL); -GSMStyle(hertz, - GSMNormalHertz, +GranSubModStyle(hertz, + GranSubModNormalHertz, NORMAL); -GSMStyle(hertz/material, - GSMNormalHertzMaterial, +GranSubModStyle(hertz/material, + GranSubModNormalHertzMaterial, NORMAL); -GSMStyle(dmt, - GSMNormalDMT, +GranSubModStyle(dmt, + GranSubModNormalDMT, NORMAL); -GSMStyle(jkr, - GSMNormalJKR, +GranSubModStyle(jkr, + GranSubModNormalJKR, NORMAL); // clang-format on #else -#ifndef GSM_NORMAL_H_ -#define GSM_NORMAL_H_ +#ifndef GRAN_SUB_MOD_NORMAL_H_ +#define GRAN_SUB_MOD_NORMAL_H_ -#include "gsm.h" +#include "gran_sub_mod.h" namespace LAMMPS_NS { namespace Granular_NS { -class GSMNormal : public GSM { +class GranSubModNormal : public GranSubMod { public: - GSMNormal(class GranularModel *, class LAMMPS *); - ~GSMNormal() {}; + GranSubModNormal(class GranularModel *, class LAMMPS *); + ~GranSubModNormal() {}; virtual void coeffs_to_local() {}; virtual void init() {}; virtual bool touch(); @@ -66,17 +66,17 @@ class GSMNormal : public GSM { /* ---------------------------------------------------------------------- */ -class GSMNormalNone : public GSMNormal { +class GranSubModNormalNone : public GranSubModNormal { public: - GSMNormalNone(class GranularModel *, class LAMMPS *); + GranSubModNormalNone(class GranularModel *, class LAMMPS *); double calculate_forces(); }; /* ---------------------------------------------------------------------- */ -class GSMNormalHooke : public GSMNormal { +class GranSubModNormalHooke : public GranSubModNormal { public: - GSMNormalHooke(class GranularModel *, class LAMMPS *); + GranSubModNormalHooke(class GranularModel *, class LAMMPS *); void coeffs_to_local() override; double calculate_forces(); protected: @@ -85,9 +85,9 @@ class GSMNormalHooke : public GSMNormal { /* ---------------------------------------------------------------------- */ -class GSMNormalHertz : public GSMNormal { +class GranSubModNormalHertz : public GranSubModNormal { public: - GSMNormalHertz(class GranularModel *, class LAMMPS *); + GranSubModNormalHertz(class GranularModel *, class LAMMPS *); void coeffs_to_local() override; double calculate_forces(); protected: @@ -96,18 +96,18 @@ class GSMNormalHertz : public GSMNormal { /* ---------------------------------------------------------------------- */ -class GSMNormalHertzMaterial : public GSMNormalHertz { +class GranSubModNormalHertzMaterial : public GranSubModNormalHertz { public: - GSMNormalHertzMaterial(class GranularModel *, class LAMMPS *); + GranSubModNormalHertzMaterial(class GranularModel *, class LAMMPS *); void coeffs_to_local() override; void mix_coeffs(double*, double*) override; }; /* ---------------------------------------------------------------------- */ -class GSMNormalDMT : public GSMNormal { +class GranSubModNormalDMT : public GranSubModNormal { public: - GSMNormalDMT(class GranularModel *, class LAMMPS *); + GranSubModNormalDMT(class GranularModel *, class LAMMPS *); void coeffs_to_local() override; void mix_coeffs(double*, double*) override; double calculate_forces(); @@ -119,9 +119,9 @@ class GSMNormalDMT : public GSMNormal { /* ---------------------------------------------------------------------- */ -class GSMNormalJKR : public GSMNormal { +class GranSubModNormalJKR : public GranSubModNormal { public: - GSMNormalJKR(class GranularModel *, class LAMMPS *); + GranSubModNormalJKR(class GranularModel *, class LAMMPS *); void coeffs_to_local() override; void mix_coeffs(double*, double*) override; bool touch() override; @@ -137,5 +137,5 @@ class GSMNormalJKR : public GSMNormal { } // namespace Granular_NS } // namespace LAMMPS_NS -#endif /*GSM_NORMAL_H_ */ -#endif /*GSM_CLASS_H_ */ +#endif /*GRAN_SUB_MOD_NORMAL_H_ */ +#endif /*GRAN_SUB_MOD_CLASS_H_ */ diff --git a/src/GRANULAR/gsm_rolling.cpp b/src/GRANULAR/gran_sub_mod_rolling.cpp similarity index 87% rename from src/GRANULAR/gsm_rolling.cpp rename to src/GRANULAR/gran_sub_mod_rolling.cpp index ceda262853..c1dc53fcc8 100644 --- a/src/GRANULAR/gsm_rolling.cpp +++ b/src/GRANULAR/gran_sub_mod_rolling.cpp @@ -12,8 +12,8 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "gsm_normal.h" -#include "gsm_rolling.h" +#include "gran_sub_mod_normal.h" +#include "gran_sub_mod_rolling.h" #include "granular_model.h" #include "error.h" #include "math_const.h" @@ -24,23 +24,25 @@ using namespace Granular_NS; using namespace MathConst; using namespace MathExtra; +#define EPSILON 1e-10 + /* ---------------------------------------------------------------------- Default rolling friction model ------------------------------------------------------------------------- */ -GSMRolling::GSMRolling(GranularModel *gm, LAMMPS *lmp) : GSM(gm, lmp) {} +GranSubModRolling::GranSubModRolling(GranularModel *gm, LAMMPS *lmp) : GranSubMod(gm, lmp) {} /* ---------------------------------------------------------------------- No model ------------------------------------------------------------------------- */ -GSMRollingNone::GSMRollingNone(GranularModel *gm, LAMMPS *lmp) : GSMRolling(gm, lmp) {} +GranSubModRollingNone::GranSubModRollingNone(GranularModel *gm, LAMMPS *lmp) : GranSubModRolling(gm, lmp) {} /* ---------------------------------------------------------------------- SDS rolling friction model ------------------------------------------------------------------------- */ -GSMRollingSDS::GSMRollingSDS(GranularModel *gm, LAMMPS *lmp) : GSMRolling(gm, lmp) +GranSubModRollingSDS::GranSubModRollingSDS(GranularModel *gm, LAMMPS *lmp) : GranSubModRolling(gm, lmp) { num_coeffs = 3; size_history = 3; @@ -48,7 +50,7 @@ GSMRollingSDS::GSMRollingSDS(GranularModel *gm, LAMMPS *lmp) : GSMRolling(gm, lm /* ---------------------------------------------------------------------- */ -void GSMRollingSDS::coeffs_to_local() +void GranSubModRollingSDS::coeffs_to_local() { k = coeffs[0]; gamma = coeffs[1]; @@ -60,7 +62,7 @@ void GSMRollingSDS::coeffs_to_local() /* ---------------------------------------------------------------------- */ -void GSMRollingSDS::calculate_forces() +void GranSubModRollingSDS::calculate_forces() { int rhist0, rhist1, rhist2, frameupdate; double Frcrit, rolldotn, rollmag, prjmag, magfr, hist_temp[3], scalefac, temp_array[3]; diff --git a/src/GRANULAR/gsm_rolling.h b/src/GRANULAR/gran_sub_mod_rolling.h similarity index 65% rename from src/GRANULAR/gsm_rolling.h rename to src/GRANULAR/gran_sub_mod_rolling.h index 054b22954f..cb64c94219 100644 --- a/src/GRANULAR/gsm_rolling.h +++ b/src/GRANULAR/gran_sub_mod_rolling.h @@ -11,30 +11,30 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#ifdef GSM_CLASS +#ifdef GRAN_SUB_MOD_CLASS // clang-format off -GSMStyle(none, - GSMRollingNone, +GranSubModStyle(none, + GranSubModRollingNone, ROLLING); -GSMStyle(sds, - GSMRollingSDS, +GranSubModStyle(sds, + GranSubModRollingSDS, ROLLING); // clang-format on #else -#ifndef GSM_ROLLING_H_ -#define GSM_ROLLING_H_ +#ifndef GRAN_SUB_MOD_ROLLING_H_ +#define GRAN_SUB_MOD_ROLLING_H_ -#include "gsm.h" +#include "gran_sub_mod.h" namespace LAMMPS_NS { namespace Granular_NS { -class GSMRolling : public GSM { +class GranSubModRolling : public GranSubMod { public: - GSMRolling(class GranularModel *, class LAMMPS *); - ~GSMRolling() {}; + GranSubModRolling(class GranularModel *, class LAMMPS *); + ~GranSubModRolling() {}; virtual void coeffs_to_local() {}; virtual void init() {}; virtual void calculate_forces() = 0; @@ -42,17 +42,17 @@ class GSMRolling : public GSM { /* ---------------------------------------------------------------------- */ -class GSMRollingNone : public GSMRolling { +class GranSubModRollingNone : public GranSubModRolling { public: - GSMRollingNone(class GranularModel *, class LAMMPS *); + GranSubModRollingNone(class GranularModel *, class LAMMPS *); void calculate_forces() {}; }; /* ---------------------------------------------------------------------- */ -class GSMRollingSDS : public GSMRolling { +class GranSubModRollingSDS : public GranSubModRolling { public: - GSMRollingSDS(class GranularModel *, class LAMMPS *); + GranSubModRollingSDS(class GranularModel *, class LAMMPS *); void coeffs_to_local() override; void calculate_forces(); protected: @@ -62,5 +62,5 @@ class GSMRollingSDS : public GSMRolling { } // namespace Granular_NS } // namespace LAMMPS_NS -#endif /*GSM_ROLLING_H_ */ -#endif /*GSM_CLASS_H_ */ +#endif /*GRAN_SUB_MOD_ROLLING_H_ */ +#endif /*GRAN_SUB_MOD_CLASS_H_ */ diff --git a/src/GRANULAR/gsm_tangential.cpp b/src/GRANULAR/gran_sub_mod_tangential.cpp similarity index 84% rename from src/GRANULAR/gsm_tangential.cpp rename to src/GRANULAR/gran_sub_mod_tangential.cpp index a5dabde8fd..677ba4d363 100644 --- a/src/GRANULAR/gsm_tangential.cpp +++ b/src/GRANULAR/gran_sub_mod_tangential.cpp @@ -12,9 +12,9 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "gsm_damping.h" -#include "gsm_normal.h" -#include "gsm_tangential.h" +#include "gran_sub_mod_damping.h" +#include "gran_sub_mod_normal.h" +#include "gran_sub_mod_tangential.h" #include "granular_model.h" #include "error.h" #include "math_const.h" @@ -25,23 +25,25 @@ using namespace Granular_NS; using namespace MathConst; using namespace MathExtra; +#define EPSILON 1e-10 + /* ---------------------------------------------------------------------- Default model ------------------------------------------------------------------------- */ -GSMTangential::GSMTangential(GranularModel *gm, LAMMPS *lmp) : GSM(gm, lmp) {} +GranSubModTangential::GranSubModTangential(GranularModel *gm, LAMMPS *lmp) : GranSubMod(gm, lmp) {} /* ---------------------------------------------------------------------- No model ------------------------------------------------------------------------- */ -GSMTangentialNone::GSMTangentialNone(GranularModel *gm, LAMMPS *lmp) : GSMTangential(gm, lmp) {} +GranSubModTangentialNone::GranSubModTangentialNone(GranularModel *gm, LAMMPS *lmp) : GranSubModTangential(gm, lmp) {} /* ---------------------------------------------------------------------- Linear model with no history ------------------------------------------------------------------------- */ -GSMTangentialLinearNoHistory::GSMTangentialLinearNoHistory(GranularModel *gm, LAMMPS *lmp) : GSMTangential(gm, lmp) +GranSubModTangentialLinearNoHistory::GranSubModTangentialLinearNoHistory(GranularModel *gm, LAMMPS *lmp) : GranSubModTangential(gm, lmp) { num_coeffs = 2; size_history = 0; @@ -49,7 +51,7 @@ GSMTangentialLinearNoHistory::GSMTangentialLinearNoHistory(GranularModel *gm, LA /* ---------------------------------------------------------------------- */ -void GSMTangentialLinearNoHistory::coeffs_to_local() +void GranSubModTangentialLinearNoHistory::coeffs_to_local() { k = 0.0; // No tangential stiffness with no history xt = coeffs[0]; @@ -61,7 +63,7 @@ void GSMTangentialLinearNoHistory::coeffs_to_local() /* ---------------------------------------------------------------------- */ -void GSMTangentialLinearNoHistory::calculate_forces() +void GranSubModTangentialLinearNoHistory::calculate_forces() { // classic pair gran/hooke (no history) damp = xt * gm->damping_model->damp_prefactor; @@ -80,7 +82,7 @@ void GSMTangentialLinearNoHistory::calculate_forces() Linear model with history ------------------------------------------------------------------------- */ -GSMTangentialLinearHistory::GSMTangentialLinearHistory(GranularModel *gm, LAMMPS *lmp) : GSMTangential(gm, lmp) +GranSubModTangentialLinearHistory::GranSubModTangentialLinearHistory(GranularModel *gm, LAMMPS *lmp) : GranSubModTangential(gm, lmp) { num_coeffs = 3; size_history = 3; @@ -88,7 +90,7 @@ GSMTangentialLinearHistory::GSMTangentialLinearHistory(GranularModel *gm, LAMMPS /* ---------------------------------------------------------------------- */ -void GSMTangentialLinearHistory::coeffs_to_local() +void GranSubModTangentialLinearHistory::coeffs_to_local() { k = coeffs[0]; xt = coeffs[1]; @@ -100,7 +102,7 @@ void GSMTangentialLinearHistory::coeffs_to_local() /* ---------------------------------------------------------------------- */ -void GSMTangentialLinearHistory::calculate_forces() +void GranSubModTangentialLinearHistory::calculate_forces() { // Note: this is the same as the base Mindlin calculation except k isn't scaled by area double magfs, magfs_inv, rsht, shrmag, prjmag, temp_dbl, temp_array[3]; @@ -163,14 +165,14 @@ void GSMTangentialLinearHistory::calculate_forces() Linear model with history from pair gran/hooke/history ------------------------------------------------------------------------- */ -GSMTangentialLinearHistoryClassic::GSMTangentialLinearHistoryClassic(GranularModel *gm, LAMMPS *lmp) : GSMTangentialLinearHistory(gm, lmp) +GranSubModTangentialLinearHistoryClassic::GranSubModTangentialLinearHistoryClassic(GranularModel *gm, LAMMPS *lmp) : GranSubModTangentialLinearHistory(gm, lmp) { area_flag = 1; // Sets gran/hooke/history behavior } /* ---------------------------------------------------------------------- */ -void GSMTangentialLinearHistoryClassic::calculate_forces() +void GranSubModTangentialLinearHistoryClassic::calculate_forces() { double magfs, magfs_inv, rsht, shrmag, prjmag, temp_dbl; double temp_array[3]; @@ -222,7 +224,7 @@ void GSMTangentialLinearHistoryClassic::calculate_forces() Mindlin from pair gran/hertz/history ------------------------------------------------------------------------- */ -GSMTangentialMindlinClassic::GSMTangentialMindlinClassic(GranularModel *gm, LAMMPS *lmp) : GSMTangentialLinearHistoryClassic(gm, lmp) +GranSubModTangentialMindlinClassic::GranSubModTangentialMindlinClassic(GranularModel *gm, LAMMPS *lmp) : GranSubModTangentialLinearHistoryClassic(gm, lmp) { area_flag = 1; // Sets gran/hertz/history behavior } @@ -231,7 +233,7 @@ GSMTangentialMindlinClassic::GSMTangentialMindlinClassic(GranularModel *gm, LAMM Mindlin model ------------------------------------------------------------------------- */ -GSMTangentialMindlin::GSMTangentialMindlin(GranularModel *gm, LAMMPS *lmp) : GSMTangential(gm, lmp) +GranSubModTangentialMindlin::GranSubModTangentialMindlin(GranularModel *gm, LAMMPS *lmp) : GranSubModTangential(gm, lmp) { num_coeffs = 3; size_history = 3; @@ -242,7 +244,7 @@ GSMTangentialMindlin::GSMTangentialMindlin(GranularModel *gm, LAMMPS *lmp) : GSM /* ---------------------------------------------------------------------- */ -void GSMTangentialMindlin::coeffs_to_local() +void GranSubModTangentialMindlin::coeffs_to_local() { k = coeffs[0]; xt = coeffs[1]; @@ -268,7 +270,7 @@ void GSMTangentialMindlin::coeffs_to_local() /* ---------------------------------------------------------------------- */ -void GSMTangentialMindlin::mix_coeffs(double* icoeffs, double* jcoeffs) +void GranSubModTangentialMindlin::mix_coeffs(double* icoeffs, double* jcoeffs) { if (icoeffs[0] == -1 || jcoeffs[0] == -1) coeffs[0] = -1; else coeffs[0] = mix_geom(icoeffs[0], jcoeffs[0]); @@ -279,7 +281,7 @@ void GSMTangentialMindlin::mix_coeffs(double* icoeffs, double* jcoeffs) /* ---------------------------------------------------------------------- */ -void GSMTangentialMindlin::calculate_forces() +void GranSubModTangentialMindlin::calculate_forces() { double k_scaled, magfs, magfs_inv, rsht, shrmag, prjmag, temp_dbl; double temp_array[3]; @@ -366,7 +368,7 @@ void GSMTangentialMindlin::calculate_forces() Mindlin force model ------------------------------------------------------------------------- */ -GSMTangentialMindlinForce::GSMTangentialMindlinForce(GranularModel *gm, LAMMPS *lmp) : GSMTangentialMindlin(gm, lmp) +GranSubModTangentialMindlinForce::GranSubModTangentialMindlinForce(GranularModel *gm, LAMMPS *lmp) : GranSubModTangentialMindlin(gm, lmp) { mindlin_force = 1; } @@ -375,7 +377,7 @@ GSMTangentialMindlinForce::GSMTangentialMindlinForce(GranularModel *gm, LAMMPS * Mindlin rescale model ------------------------------------------------------------------------- */ -GSMTangentialMindlinRescale::GSMTangentialMindlinRescale(GranularModel *gm, LAMMPS *lmp) : GSMTangentialMindlin(gm, lmp) +GranSubModTangentialMindlinRescale::GranSubModTangentialMindlinRescale(GranularModel *gm, LAMMPS *lmp) : GranSubModTangentialMindlin(gm, lmp) { size_history = 4; mindlin_rescale = 1; @@ -390,7 +392,7 @@ GSMTangentialMindlinRescale::GSMTangentialMindlinRescale(GranularModel *gm, LAMM Mindlin rescale force model ------------------------------------------------------------------------- */ -GSMTangentialMindlinRescaleForce::GSMTangentialMindlinRescaleForce(GranularModel *gm, LAMMPS *lmp) : GSMTangentialMindlin(gm, lmp) +GranSubModTangentialMindlinRescaleForce::GranSubModTangentialMindlinRescaleForce(GranularModel *gm, LAMMPS *lmp) : GranSubModTangentialMindlin(gm, lmp) { size_history = 4; mindlin_force = 1; diff --git a/src/GRANULAR/gsm_tangential.h b/src/GRANULAR/gran_sub_mod_tangential.h similarity index 50% rename from src/GRANULAR/gsm_tangential.h rename to src/GRANULAR/gran_sub_mod_tangential.h index e755f63304..56d72f80d3 100644 --- a/src/GRANULAR/gsm_tangential.h +++ b/src/GRANULAR/gran_sub_mod_tangential.h @@ -11,58 +11,58 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#ifdef GSM_CLASS +#ifdef GRAN_SUB_MOD_CLASS // clang-format off -GSMStyle(none, - GSMTangentialNone, +GranSubModStyle(none, + GranSubModTangentialNone, TANGENTIAL); -GSMStyle(linear_nohistory, - GSMTangentialLinearNoHistory, +GranSubModStyle(linear_nohistory, + GranSubModTangentialLinearNoHistory, TANGENTIAL); -GSMStyle(linear_history, - GSMTangentialLinearHistory, +GranSubModStyle(linear_history, + GranSubModTangentialLinearHistory, TANGENTIAL); -GSMStyle(linear_history_classic, - GSMTangentialLinearHistoryClassic, +GranSubModStyle(linear_history_classic, + GranSubModTangentialLinearHistoryClassic, TANGENTIAL); -GSMStyle(mindlin_classic, - GSMTangentialMindlinClassic, +GranSubModStyle(mindlin_classic, + GranSubModTangentialMindlinClassic, TANGENTIAL); -GSMStyle(mindlin, - GSMTangentialMindlin, +GranSubModStyle(mindlin, + GranSubModTangentialMindlin, TANGENTIAL); -GSMStyle(mindlin/force, - GSMTangentialMindlinForce, +GranSubModStyle(mindlin/force, + GranSubModTangentialMindlinForce, TANGENTIAL); -GSMStyle(mindlin_rescale, - GSMTangentialMindlinRescale, +GranSubModStyle(mindlin_rescale, + GranSubModTangentialMindlinRescale, TANGENTIAL); -GSMStyle(mindlin_rescale/force, - GSMTangentialMindlinRescaleForce, +GranSubModStyle(mindlin_rescale/force, + GranSubModTangentialMindlinRescaleForce, TANGENTIAL); // clang-format on #else -#ifndef GSM_TANGENTIAL_H_ -#define GSM_TANGENTIAL_H_ +#ifndef GRAN_SUB_MOD_TANGENTIAL_H_ +#define GRAN_SUB_MOD_TANGENTIAL_H_ -#include "gsm.h" +#include "gran_sub_mod.h" namespace LAMMPS_NS { namespace Granular_NS { -class GSMTangential : public GSM { +class GranSubModTangential : public GranSubMod { public: - GSMTangential(class GranularModel *, class LAMMPS *); - virtual ~GSMTangential() {}; + GranSubModTangential(class GranularModel *, class LAMMPS *); + virtual ~GranSubModTangential() {}; virtual void coeffs_to_local() {}; virtual void init() {}; virtual void calculate_forces() = 0; @@ -71,17 +71,17 @@ class GSMTangential : public GSM { /* ---------------------------------------------------------------------- */ -class GSMTangentialNone : public GSMTangential { +class GranSubModTangentialNone : public GranSubModTangential { public: - GSMTangentialNone(class GranularModel *, class LAMMPS *); + GranSubModTangentialNone(class GranularModel *, class LAMMPS *); void calculate_forces() {}; }; /* ---------------------------------------------------------------------- */ -class GSMTangentialLinearNoHistory : public GSMTangential { +class GranSubModTangentialLinearNoHistory : public GranSubModTangential { public: - GSMTangentialLinearNoHistory(class GranularModel *, class LAMMPS *); + GranSubModTangentialLinearNoHistory(class GranularModel *, class LAMMPS *); void coeffs_to_local() override; void calculate_forces(); protected: @@ -90,9 +90,9 @@ class GSMTangentialLinearNoHistory : public GSMTangential { /* ---------------------------------------------------------------------- */ -class GSMTangentialLinearHistory : public GSMTangential { +class GranSubModTangentialLinearHistory : public GranSubModTangential { public: - GSMTangentialLinearHistory(class GranularModel *, class LAMMPS *); + GranSubModTangentialLinearHistory(class GranularModel *, class LAMMPS *); void coeffs_to_local() override; void calculate_forces(); protected: @@ -101,9 +101,9 @@ class GSMTangentialLinearHistory : public GSMTangential { /* ---------------------------------------------------------------------- */ -class GSMTangentialLinearHistoryClassic : public GSMTangentialLinearHistory { +class GranSubModTangentialLinearHistoryClassic : public GranSubModTangentialLinearHistory { public: - GSMTangentialLinearHistoryClassic(class GranularModel *, class LAMMPS *); + GranSubModTangentialLinearHistoryClassic(class GranularModel *, class LAMMPS *); void calculate_forces(); protected: double xt; @@ -111,16 +111,16 @@ class GSMTangentialLinearHistoryClassic : public GSMTangentialLinearHistory { /* ---------------------------------------------------------------------- */ -class GSMTangentialMindlinClassic : public GSMTangentialLinearHistoryClassic { +class GranSubModTangentialMindlinClassic : public GranSubModTangentialLinearHistoryClassic { public: - GSMTangentialMindlinClassic(class GranularModel *, class LAMMPS *); + GranSubModTangentialMindlinClassic(class GranularModel *, class LAMMPS *); }; /* ---------------------------------------------------------------------- */ -class GSMTangentialMindlin : public GSMTangential { +class GranSubModTangentialMindlin : public GranSubModTangential { public: - GSMTangentialMindlin(class GranularModel *, class LAMMPS *); + GranSubModTangentialMindlin(class GranularModel *, class LAMMPS *); void coeffs_to_local() override; void mix_coeffs(double*, double*) override; void calculate_forces(); @@ -131,27 +131,27 @@ class GSMTangentialMindlin : public GSMTangential { /* ---------------------------------------------------------------------- */ -class GSMTangentialMindlinForce : public GSMTangentialMindlin { +class GranSubModTangentialMindlinForce : public GranSubModTangentialMindlin { public: - GSMTangentialMindlinForce(class GranularModel *, class LAMMPS *); + GranSubModTangentialMindlinForce(class GranularModel *, class LAMMPS *); }; /* ---------------------------------------------------------------------- */ -class GSMTangentialMindlinRescale : public GSMTangentialMindlin { +class GranSubModTangentialMindlinRescale : public GranSubModTangentialMindlin { public: - GSMTangentialMindlinRescale(class GranularModel *, class LAMMPS *); + GranSubModTangentialMindlinRescale(class GranularModel *, class LAMMPS *); }; /* ---------------------------------------------------------------------- */ -class GSMTangentialMindlinRescaleForce : public GSMTangentialMindlin { +class GranSubModTangentialMindlinRescaleForce : public GranSubModTangentialMindlin { public: - GSMTangentialMindlinRescaleForce(class GranularModel *, class LAMMPS *); + GranSubModTangentialMindlinRescaleForce(class GranularModel *, class LAMMPS *); }; } // namespace Granular_NS } // namespace LAMMPS_NS -#endif /*GSM_TANGENTIAL_H_ */ -#endif /*GSM_CLASS_H_ */ +#endif /*GRAN_SUB_MOD_TANGENTIAL_H_ */ +#endif /*GRAN_SUB_MOD_CLASS_H_ */ diff --git a/src/GRANULAR/gsm_twisting.cpp b/src/GRANULAR/gran_sub_mod_twisting.cpp similarity index 82% rename from src/GRANULAR/gsm_twisting.cpp rename to src/GRANULAR/gran_sub_mod_twisting.cpp index 42609bf632..9cb6d69dc8 100644 --- a/src/GRANULAR/gsm_twisting.cpp +++ b/src/GRANULAR/gran_sub_mod_twisting.cpp @@ -12,9 +12,9 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "gsm_normal.h" -#include "gsm_tangential.h" -#include "gsm_twisting.h" +#include "gran_sub_mod_normal.h" +#include "gran_sub_mod_tangential.h" +#include "gran_sub_mod_twisting.h" #include "granular_model.h" #include "error.h" #include "math_const.h" @@ -27,19 +27,19 @@ using namespace MathConst; Default twisting model ------------------------------------------------------------------------- */ -GSMTwisting::GSMTwisting(GranularModel *gm, LAMMPS *lmp) : GSM(gm, lmp) {} +GranSubModTwisting::GranSubModTwisting(GranularModel *gm, LAMMPS *lmp) : GranSubMod(gm, lmp) {} /* ---------------------------------------------------------------------- No model ------------------------------------------------------------------------- */ -GSMTwistingNone::GSMTwistingNone(GranularModel *gm, LAMMPS *lmp) : GSMTwisting(gm, lmp) {} +GranSubModTwistingNone::GranSubModTwistingNone(GranularModel *gm, LAMMPS *lmp) : GranSubModTwisting(gm, lmp) {} /* ---------------------------------------------------------------------- Marshall twisting model ------------------------------------------------------------------------- */ -GSMTwistingMarshall::GSMTwistingMarshall(GranularModel *gm, LAMMPS *lmp) : GSMTwisting(gm, lmp) +GranSubModTwistingMarshall::GranSubModTwistingMarshall(GranularModel *gm, LAMMPS *lmp) : GranSubModTwisting(gm, lmp) { num_coeffs = 0; size_history = 3; @@ -49,7 +49,7 @@ GSMTwistingMarshall::GSMTwistingMarshall(GranularModel *gm, LAMMPS *lmp) : GSMTw /* ---------------------------------------------------------------------- */ -void GSMTwistingMarshall::init() +void GranSubModTwistingMarshall::init() { k_tang = gm->tangential_model->k; mu_tang = gm->tangential_model->mu; @@ -57,7 +57,7 @@ void GSMTwistingMarshall::init() /* ---------------------------------------------------------------------- */ -void GSMTwistingMarshall::calculate_forces() +void GranSubModTwistingMarshall::calculate_forces() { double signtwist, Mtcrit; @@ -86,7 +86,7 @@ void GSMTwistingMarshall::calculate_forces() SDS twisting model ------------------------------------------------------------------------- */ -GSMTwistingSDS::GSMTwistingSDS(GranularModel *gm, LAMMPS *lmp) : GSMTwisting(gm, lmp) +GranSubModTwistingSDS::GranSubModTwistingSDS(GranularModel *gm, LAMMPS *lmp) : GranSubModTwisting(gm, lmp) { num_coeffs = 3; size_history = 3; @@ -94,7 +94,7 @@ GSMTwistingSDS::GSMTwistingSDS(GranularModel *gm, LAMMPS *lmp) : GSMTwisting(gm, /* ---------------------------------------------------------------------- */ -void GSMTwistingSDS::coeffs_to_local() +void GranSubModTwistingSDS::coeffs_to_local() { k = coeffs[0]; damp = coeffs[1]; @@ -106,7 +106,7 @@ void GSMTwistingSDS::coeffs_to_local() /* ---------------------------------------------------------------------- */ -void GSMTwistingSDS::calculate_forces() +void GranSubModTwistingSDS::calculate_forces() { double signtwist, Mtcrit; diff --git a/src/GRANULAR/gsm_twisting.h b/src/GRANULAR/gran_sub_mod_twisting.h similarity index 62% rename from src/GRANULAR/gsm_twisting.h rename to src/GRANULAR/gran_sub_mod_twisting.h index b9ab7826a6..7f8addec97 100644 --- a/src/GRANULAR/gsm_twisting.h +++ b/src/GRANULAR/gran_sub_mod_twisting.h @@ -11,34 +11,34 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#ifdef GSM_CLASS +#ifdef GRAN_SUB_MOD_CLASS // clang-format off -GSMStyle(none, - GSMTwistingNone, +GranSubModStyle(none, + GranSubModTwistingNone, TWISTING); -GSMStyle(marshall, - GSMTwistingMarshall, +GranSubModStyle(marshall, + GranSubModTwistingMarshall, TWISTING); -GSMStyle(sds, - GSMTwistingSDS, +GranSubModStyle(sds, + GranSubModTwistingSDS, TWISTING); // clang-format on #else -#ifndef GSM_TWISTING_H_ -#define GSM_TWISTING_H_ +#ifndef GRAN_SUB_MOD_TWISTING_H_ +#define GRAN_SUB_MOD_TWISTING_H_ -#include "gsm.h" +#include "gran_sub_mod.h" namespace LAMMPS_NS { namespace Granular_NS { -class GSMTwisting : public GSM { +class GranSubModTwisting : public GranSubMod { public: - GSMTwisting(class GranularModel *, class LAMMPS *); - virtual ~GSMTwisting() {}; + GranSubModTwisting(class GranularModel *, class LAMMPS *); + virtual ~GranSubModTwisting() {}; virtual void coeffs_to_local() {}; virtual void init() {}; virtual void calculate_forces() = 0; @@ -46,17 +46,17 @@ class GSMTwisting : public GSM { /* ---------------------------------------------------------------------- */ -class GSMTwistingNone : public GSMTwisting { +class GranSubModTwistingNone : public GranSubModTwisting { public: - GSMTwistingNone(class GranularModel *, class LAMMPS *); + GranSubModTwistingNone(class GranularModel *, class LAMMPS *); void calculate_forces() {}; }; /* ---------------------------------------------------------------------- */ -class GSMTwistingMarshall : public GSMTwisting { +class GranSubModTwistingMarshall : public GranSubModTwisting { public: - GSMTwistingMarshall(class GranularModel *, class LAMMPS *); + GranSubModTwistingMarshall(class GranularModel *, class LAMMPS *); void calculate_forces(); void init(); protected: @@ -65,9 +65,9 @@ class GSMTwistingMarshall : public GSMTwisting { /* ---------------------------------------------------------------------- */ -class GSMTwistingSDS : public GSMTwisting { +class GranSubModTwistingSDS : public GranSubModTwisting { public: - GSMTwistingSDS(class GranularModel *, class LAMMPS *); + GranSubModTwistingSDS(class GranularModel *, class LAMMPS *); void coeffs_to_local() override; void calculate_forces(); protected: @@ -77,5 +77,5 @@ class GSMTwistingSDS : public GSMTwisting { } // namespace Granular_NS } // namespace LAMMPS_NS -#endif /*GSM_TWISTING_H_ */ -#endif /*GSM_CLASS_H_ */ +#endif /*GRAN_SUB_MOD_TWISTING_H_ */ +#endif /*GRAN_SUB_MOD_CLASS_H_ */ diff --git a/src/GRANULAR/granular_model.cpp b/src/GRANULAR/granular_model.cpp index 66e34386ed..872bfa6c8d 100644 --- a/src/GRANULAR/granular_model.cpp +++ b/src/GRANULAR/granular_model.cpp @@ -22,12 +22,12 @@ ----------------------------------------------------------------------- */ #include "granular_model.h" -#include "gsm.h" +#include "gran_sub_mod.h" #include "comm.h" #include "error.h" #include "force.h" #include "math_extra.h" -#include "style_gsm.h" // IWYU pragma: keep +#include "style_gran_sub_mod.h" // IWYU pragma: keep #include @@ -36,10 +36,10 @@ using namespace Granular_NS; using namespace MathExtra; /* ---------------------------------------------------------------------- - one instance per GSM style in style_gsm.h + one instance per GranSubMod style in style_gran_sub_mod.h ------------------------------------------------------------------------- */ -template static GSM *gsm_creator(GranularModel *gm, LAMMPS *lmp) +template static GranSubMod *gran_sub_mod_creator(GranularModel *gm, LAMMPS *lmp) { return new T(gm, lmp); } @@ -64,29 +64,29 @@ GranularModel::GranularModel(LAMMPS *lmp) : Pointers(lmp) for (int i = 0; i < NSUBMODELS; i++) sub_models[i] = nullptr; transfer_history_factor = nullptr; - // extract info from GSM classes listed in style_gsm.h + // extract info from GranSubMod classes listed in style_gran_sub_mod.h nclass = 0; -#define GSM_CLASS -#define GSMStyle(key,Class,type) nclass++; -#include "style_gsm.h" // IWYU pragma: keep -#undef GSMStyle -#undef GSM_CLASS +#define GRANSUBMOD_CLASS +#define GranSubModStyle(key,Class,type) nclass++; +#include "style_gran_sub_mod.h" // IWYU pragma: keep +#undef GranSubModStyle +#undef GRANSUBMOD_CLASS - gsmclass = new GSMCreator[nclass]; - gsmnames = new char*[nclass]; - gsmtypes = new int[nclass]; + gran_sub_mod_class = new GranSubModCreator[nclass]; + gran_sub_mod_names = new char*[nclass]; + gran_sub_mod_types = new int[nclass]; nclass = 0; -#define GSM_CLASS -#define GSMStyle(key,Class,type) \ - gsmclass[nclass] = &gsm_creator; \ - gsmnames[nclass] = (char *) #key; \ - gsmtypes[nclass++] = type; -#include "style_gsm.h" // IWYU pragma: keep -#undef GSMStyle -#undef GSM_CLASS +#define GRANSUBMOD_CLASS +#define GranSubModStyle(key,Class,type) \ + gran_sub_mod_class[nclass] = &gran_sub_mod_creator; \ + gran_sub_mod_names[nclass] = (char *) #key; \ + gran_sub_mod_types[nclass++] = type; +#include "style_gran_sub_mod.h" // IWYU pragma: keep +#undef GranSubModStyle +#undef GRANSUBMOD_CLASS } /* ---------------------------------------------------------------------- */ @@ -94,9 +94,9 @@ GranularModel::GranularModel(LAMMPS *lmp) : Pointers(lmp) GranularModel::~GranularModel() { delete [] transfer_history_factor; - delete [] gsmclass; - delete [] gsmnames; - delete [] gsmtypes; + delete [] gran_sub_mod_class; + delete [] gran_sub_mod_names; + delete [] gran_sub_mod_types; for (int i = 0; i < NSUBMODELS; i ++) delete sub_models[i]; } @@ -132,11 +132,11 @@ void GranularModel::construct_submodel(std::string model_name, SubmodelType mode { int i; for (i = 0; i < nclass; i++) { - if (gsmtypes[i] == model_type) { - if (strcmp(gsmnames[i], model_name.c_str()) == 0) { - GSMCreator &gsm_creator = gsmclass[i]; + if (gran_sub_mod_types[i] == model_type) { + if (strcmp(gran_sub_mod_names[i], model_name.c_str()) == 0) { + GranSubModCreator &gran_sub_mod_creator = gran_sub_mod_class[i]; delete sub_models[model_type]; - sub_models[model_type] = gsm_creator(this, lmp); + sub_models[model_type] = gran_sub_mod_creator(this, lmp); break; } } @@ -148,12 +148,12 @@ void GranularModel::construct_submodel(std::string model_name, SubmodelType mode sub_models[model_type]->name.assign(model_name); sub_models[model_type]->allocate_coeffs(); - if (model_type == NORMAL) normal_model = dynamic_cast (sub_models[NORMAL]); - if (model_type == DAMPING) damping_model = dynamic_cast (sub_models[DAMPING]); - if (model_type == TANGENTIAL) tangential_model = dynamic_cast (sub_models[TANGENTIAL]); - if (model_type == ROLLING) rolling_model = dynamic_cast (sub_models[ROLLING]); - if (model_type == TWISTING) twisting_model = dynamic_cast (sub_models[TWISTING]); - if (model_type == HEAT) heat_model = dynamic_cast (sub_models[HEAT]); + if (model_type == NORMAL) normal_model = dynamic_cast (sub_models[NORMAL]); + if (model_type == DAMPING) damping_model = dynamic_cast (sub_models[DAMPING]); + if (model_type == TANGENTIAL) tangential_model = dynamic_cast (sub_models[TANGENTIAL]); + if (model_type == ROLLING) rolling_model = dynamic_cast (sub_models[ROLLING]); + if (model_type == TWISTING) twisting_model = dynamic_cast (sub_models[TWISTING]); + if (model_type == HEAT) heat_model = dynamic_cast (sub_models[HEAT]); } /* ---------------------------------------------------------------------- */ diff --git a/src/GRANULAR/granular_model.h b/src/GRANULAR/granular_model.h index 3ea3d9e4b3..de4f82c01e 100644 --- a/src/GRANULAR/granular_model.h +++ b/src/GRANULAR/granular_model.h @@ -19,8 +19,6 @@ namespace LAMMPS_NS { namespace Granular_NS { -#define EPSILON 1e-10 - enum SubmodelType { NORMAL = 0, DAMPING, @@ -38,13 +36,13 @@ enum ContactType { }; // forward declarations -class GSM; -class GSMNormal; -class GSMDamping; -class GSMTangential; -class GSMRolling; -class GSMTwisting; -class GSMHeat; +class GranSubMod; +class GranSubModNormal; +class GranSubModDamping; +class GranSubModTangential; +class GranSubModRolling; +class GranSubModTwisting; +class GranSubModHeat; class GranularModel : protected Pointers { public: @@ -64,13 +62,13 @@ class GranularModel : protected Pointers { void read_restart(FILE *); // Sub models - GSMNormal *normal_model; - GSMDamping *damping_model; - GSMTangential *tangential_model; - GSMRolling *rolling_model; - GSMTwisting *twisting_model; - GSMHeat *heat_model; - GSM *sub_models[NSUBMODELS]; // Need to resize if we add more model flavors + GranSubModNormal *normal_model; + GranSubModDamping *damping_model; + GranSubModTangential *tangential_model; + GranSubModRolling *rolling_model; + GranSubModTwisting *twisting_model; + GranSubModHeat *heat_model; + GranSubMod *sub_models[NSUBMODELS]; // Need to resize if we add more model flavors // Extra options int beyond_contact, limit_damping, history_update; @@ -102,10 +100,10 @@ class GranularModel : protected Pointers { int nclass; - typedef class GSM *(*GSMCreator)(class GranularModel *, class LAMMPS *); - GSMCreator *gsmclass; - char **gsmnames; - int *gsmtypes; + typedef class GranSubMod *(*GranSubModCreator)(class GranularModel *, class LAMMPS *); + GranSubModCreator *gran_sub_mod_class; + char **gran_sub_mod_names; + int *gran_sub_mod_types; }; } // namespace Granular_NS diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index dcac8e32c3..b6c9bba705 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -23,7 +23,7 @@ #include "atom.h" #include "comm.h" #include "granular_model.h" -#include "gsm.h" +#include "gran_sub_mod.h" #include "error.h" #include "fix.h" #include "fix_dummy.h" diff --git a/src/GRANULAR/pair_granular.h b/src/GRANULAR/pair_granular.h index 9ae02a200a..956717d598 100644 --- a/src/GRANULAR/pair_granular.h +++ b/src/GRANULAR/pair_granular.h @@ -20,12 +20,15 @@ PairStyle(granular,PairGranular); #ifndef LMP_PAIR_GRANULAR_H #define LMP_PAIR_GRANULAR_H -#include "granular_model.h" #include "pair.h" #include namespace LAMMPS_NS { +namespace Granular_NS { + class GranularModel; +} + class PairGranular : public Pair { public: PairGranular(class LAMMPS *); @@ -73,7 +76,7 @@ class PairGranular : public Pair { // granular models int nmodels, maxmodels; - Granular_NS::GranularModel** models_list; + class Granular_NS::GranularModel** models_list; int **types_indices; // optional user-specified global cutoff, per-type user-specified cutoffs diff --git a/src/Make.sh b/src/Make.sh index da034f8226..8f63adea4a 100755 --- a/src/Make.sh +++ b/src/Make.sh @@ -95,27 +95,27 @@ cmd=$1 if (test $cmd = "style") || (test $cmd = "packages") then - $cmd ANGLE_CLASS angle_ angle force - $cmd ATOM_CLASS atom_vec_ atom atom atom_vec_hybrid - $cmd BODY_CLASS body_ body atom_vec_body - $cmd BOND_CLASS bond_ bond force - $cmd COMMAND_CLASS "" command input - $cmd COMPUTE_CLASS compute_ compute modify - $cmd DIHEDRAL_CLASS dihedral_ dihedral force - $cmd DUMP_CLASS dump_ dump output write_dump - $cmd FIX_CLASS fix_ fix modify - $cmd GSM_CLASS gsm_ gsm granular_model - $cmd IMPROPER_CLASS improper_ improper force - $cmd INTEGRATE_CLASS "" integrate update - $cmd KSPACE_CLASS "" kspace force - $cmd MINIMIZE_CLASS min_ minimize update - $cmd NBIN_CLASS nbin_ nbin neighbor - $cmd NPAIR_CLASS npair_ npair neighbor - $cmd NSTENCIL_CLASS nstencil_ nstencil neighbor - $cmd NTOPO_CLASS ntopo_ ntopo neighbor - $cmd PAIR_CLASS pair_ pair force - $cmd READER_CLASS reader_ reader read_dump - $cmd REGION_CLASS region_ region domain + $cmd ANGLE_CLASS angle_ angle force + $cmd ATOM_CLASS atom_vec_ atom atom atom_vec_hybrid + $cmd BODY_CLASS body_ body atom_vec_body + $cmd BOND_CLASS bond_ bond force + $cmd COMMAND_CLASS "" command input + $cmd COMPUTE_CLASS compute_ compute modify + $cmd DIHEDRAL_CLASS dihedral_ dihedral force + $cmd DUMP_CLASS dump_ dump output write_dump + $cmd FIX_CLASS fix_ fix modify + $cmd GRAN_SUB_MOD_CLASS gran_sub_mod_ gran_sub_mod granular_model + $cmd IMPROPER_CLASS improper_ improper force + $cmd INTEGRATE_CLASS "" integrate update + $cmd KSPACE_CLASS "" kspace force + $cmd MINIMIZE_CLASS min_ minimize update + $cmd NBIN_CLASS nbin_ nbin neighbor + $cmd NPAIR_CLASS npair_ npair neighbor + $cmd NSTENCIL_CLASS nstencil_ nstencil neighbor + $cmd NTOPO_CLASS ntopo_ ntopo neighbor + $cmd PAIR_CLASS pair_ pair force + $cmd READER_CLASS reader_ reader read_dump + $cmd REGION_CLASS region_ region domain # edit Makefile.lib, for creating non-shared lib # called by "make makelib" From d6b5878dce42aa9bf1aac6f82daa92ccd6035e2c Mon Sep 17 00:00:00 2001 From: jtclemm Date: Thu, 10 Nov 2022 16:25:34 -0700 Subject: [PATCH 048/448] Adding/removing underscores --- src/GRANULAR/gran_sub_mod.h | 6 +++--- src/GRANULAR/gran_sub_mod_damping.h | 8 ++++---- src/GRANULAR/gran_sub_mod_heat.h | 8 ++++---- src/GRANULAR/gran_sub_mod_normal.h | 8 ++++---- src/GRANULAR/gran_sub_mod_rolling.h | 8 ++++---- src/GRANULAR/gran_sub_mod_tangential.h | 8 ++++---- src/GRANULAR/gran_sub_mod_twisting.h | 8 ++++---- src/GRANULAR/granular_model.cpp | 8 ++++---- 8 files changed, 31 insertions(+), 31 deletions(-) diff --git a/src/GRANULAR/gran_sub_mod.h b/src/GRANULAR/gran_sub_mod.h index 78f4229b29..b2335e8cfb 100644 --- a/src/GRANULAR/gran_sub_mod.h +++ b/src/GRANULAR/gran_sub_mod.h @@ -11,8 +11,8 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#ifndef LMP_GRAN_SUB_MOD_H_ -#define LMP_GRAN_SUB_MOD_H_ +#ifndef LMP_GRAN_SUB_MOD_H +#define LMP_GRAN_SUB_MOD_H #include "granular_model.h" #include "pointers.h" // IWYU pragma: export @@ -59,4 +59,4 @@ class GranSubMod : protected Pointers { } // namespace GranularModel } // namespace LAMMPS_NS -#endif /* GRAN_SUB_MOD_H_ */ +#endif /* GRAN_SUB_MOD_H */ diff --git a/src/GRANULAR/gran_sub_mod_damping.h b/src/GRANULAR/gran_sub_mod_damping.h index 04316a950d..e5f4227ce8 100644 --- a/src/GRANULAR/gran_sub_mod_damping.h +++ b/src/GRANULAR/gran_sub_mod_damping.h @@ -35,8 +35,8 @@ GranSubModStyle(tsuji, // clang-format on #else -#ifndef GRAN_SUB_MOD_DAMPING_H_ -#define GRAN_SUB_MOD_DAMPING_H_ +#ifndef GRAN_SUB_MOD_DAMPING_H +#define GRAN_SUB_MOD_DAMPING_H #include "gran_sub_mod.h" #include "pointers.h" @@ -102,5 +102,5 @@ class GranSubModDampingTsuji : public GranSubModDamping { } // namespace Granular_NS } // namespace LAMMPS_NS -#endif /*GRAN_SUB_MOD_DAMPING_H_ */ -#endif /*GRAN_SUB_MOD_CLASS_H_ */ +#endif /*GRAN_SUB_MOD_DAMPING_H */ +#endif /*GRAN_SUB_MOD_CLASS_H */ diff --git a/src/GRANULAR/gran_sub_mod_heat.h b/src/GRANULAR/gran_sub_mod_heat.h index 3520a41a06..a5408a0fc2 100644 --- a/src/GRANULAR/gran_sub_mod_heat.h +++ b/src/GRANULAR/gran_sub_mod_heat.h @@ -23,8 +23,8 @@ GranSubModStyle(area, // clang-format on #else -#ifndef GRAN_SUB_MOD_HEAT_H_ -#define GRAN_SUB_MOD_HEAT_H_ +#ifndef GRAN_SUB_MOD_HEAT_H +#define GRAN_SUB_MOD_HEAT_H #include "gran_sub_mod.h" @@ -62,5 +62,5 @@ class GranSubModHeatArea : public GranSubModHeat { } // namespace Granular_NS } // namespace LAMMPS_NS -#endif /*GRAN_SUB_MOD_HEAT_H_ */ -#endif /*GRAN_SUB_MOD_CLASS_H_ */ +#endif /*GRAN_SUB_MOD_HEAT_H */ +#endif /*GRAN_SUB_MOD_CLASS_H */ diff --git a/src/GRANULAR/gran_sub_mod_normal.h b/src/GRANULAR/gran_sub_mod_normal.h index 8fb0c01d4b..49e7d012c4 100644 --- a/src/GRANULAR/gran_sub_mod_normal.h +++ b/src/GRANULAR/gran_sub_mod_normal.h @@ -39,8 +39,8 @@ GranSubModStyle(jkr, // clang-format on #else -#ifndef GRAN_SUB_MOD_NORMAL_H_ -#define GRAN_SUB_MOD_NORMAL_H_ +#ifndef GRAN_SUB_MOD_NORMAL_H +#define GRAN_SUB_MOD_NORMAL_H #include "gran_sub_mod.h" @@ -137,5 +137,5 @@ class GranSubModNormalJKR : public GranSubModNormal { } // namespace Granular_NS } // namespace LAMMPS_NS -#endif /*GRAN_SUB_MOD_NORMAL_H_ */ -#endif /*GRAN_SUB_MOD_CLASS_H_ */ +#endif /*GRAN_SUB_MOD_NORMAL_H */ +#endif /*GRAN_SUB_MOD_CLASS_H */ diff --git a/src/GRANULAR/gran_sub_mod_rolling.h b/src/GRANULAR/gran_sub_mod_rolling.h index cb64c94219..5739067f50 100644 --- a/src/GRANULAR/gran_sub_mod_rolling.h +++ b/src/GRANULAR/gran_sub_mod_rolling.h @@ -23,8 +23,8 @@ GranSubModStyle(sds, // clang-format on #else -#ifndef GRAN_SUB_MOD_ROLLING_H_ -#define GRAN_SUB_MOD_ROLLING_H_ +#ifndef GRAN_SUB_MOD_ROLLING_H +#define GRAN_SUB_MOD_ROLLING_H #include "gran_sub_mod.h" @@ -62,5 +62,5 @@ class GranSubModRollingSDS : public GranSubModRolling { } // namespace Granular_NS } // namespace LAMMPS_NS -#endif /*GRAN_SUB_MOD_ROLLING_H_ */ -#endif /*GRAN_SUB_MOD_CLASS_H_ */ +#endif /*GRAN_SUB_MOD_ROLLING_H */ +#endif /*GRAN_SUB_MOD_CLASS_H */ diff --git a/src/GRANULAR/gran_sub_mod_tangential.h b/src/GRANULAR/gran_sub_mod_tangential.h index 56d72f80d3..b5a195a1d6 100644 --- a/src/GRANULAR/gran_sub_mod_tangential.h +++ b/src/GRANULAR/gran_sub_mod_tangential.h @@ -51,8 +51,8 @@ GranSubModStyle(mindlin_rescale/force, // clang-format on #else -#ifndef GRAN_SUB_MOD_TANGENTIAL_H_ -#define GRAN_SUB_MOD_TANGENTIAL_H_ +#ifndef GRAN_SUB_MOD_TANGENTIAL_H +#define GRAN_SUB_MOD_TANGENTIAL_H #include "gran_sub_mod.h" @@ -153,5 +153,5 @@ class GranSubModTangentialMindlinRescaleForce : public GranSubModTangentialMindl } // namespace Granular_NS } // namespace LAMMPS_NS -#endif /*GRAN_SUB_MOD_TANGENTIAL_H_ */ -#endif /*GRAN_SUB_MOD_CLASS_H_ */ +#endif /*GRAN_SUB_MOD_TANGENTIAL_H */ +#endif /*GRAN_SUB_MOD_CLASS_H */ diff --git a/src/GRANULAR/gran_sub_mod_twisting.h b/src/GRANULAR/gran_sub_mod_twisting.h index 7f8addec97..c365cba331 100644 --- a/src/GRANULAR/gran_sub_mod_twisting.h +++ b/src/GRANULAR/gran_sub_mod_twisting.h @@ -27,8 +27,8 @@ GranSubModStyle(sds, // clang-format on #else -#ifndef GRAN_SUB_MOD_TWISTING_H_ -#define GRAN_SUB_MOD_TWISTING_H_ +#ifndef GRAN_SUB_MOD_TWISTING_H +#define GRAN_SUB_MOD_TWISTING_H #include "gran_sub_mod.h" @@ -77,5 +77,5 @@ class GranSubModTwistingSDS : public GranSubModTwisting { } // namespace Granular_NS } // namespace LAMMPS_NS -#endif /*GRAN_SUB_MOD_TWISTING_H_ */ -#endif /*GRAN_SUB_MOD_CLASS_H_ */ +#endif /*GRAN_SUB_MOD_TWISTING_H */ +#endif /*GRAN_SUB_MOD_CLASS_H */ diff --git a/src/GRANULAR/granular_model.cpp b/src/GRANULAR/granular_model.cpp index 872bfa6c8d..47d84b2495 100644 --- a/src/GRANULAR/granular_model.cpp +++ b/src/GRANULAR/granular_model.cpp @@ -68,25 +68,25 @@ GranularModel::GranularModel(LAMMPS *lmp) : Pointers(lmp) nclass = 0; -#define GRANSUBMOD_CLASS +#define GRAN_SUB_MOD_CLASS #define GranSubModStyle(key,Class,type) nclass++; #include "style_gran_sub_mod.h" // IWYU pragma: keep #undef GranSubModStyle -#undef GRANSUBMOD_CLASS +#undef GRAN_SUB_MOD_CLASS gran_sub_mod_class = new GranSubModCreator[nclass]; gran_sub_mod_names = new char*[nclass]; gran_sub_mod_types = new int[nclass]; nclass = 0; -#define GRANSUBMOD_CLASS +#define GRAN_SUB_MOD_CLASS #define GranSubModStyle(key,Class,type) \ gran_sub_mod_class[nclass] = &gran_sub_mod_creator; \ gran_sub_mod_names[nclass] = (char *) #key; \ gran_sub_mod_types[nclass++] = type; #include "style_gran_sub_mod.h" // IWYU pragma: keep #undef GranSubModStyle -#undef GRANSUBMOD_CLASS +#undef GRAN_SUB_MOD_CLASS } /* ---------------------------------------------------------------------- */ From b2c5c1fda41966987064d6f19543ba2c416f7e6a Mon Sep 17 00:00:00 2001 From: jtclemm Date: Thu, 10 Nov 2022 21:06:47 -0700 Subject: [PATCH 049/448] Fixing cmake style header --- cmake/Modules/StyleHeaderUtils.cmake | 84 ++++++++++++++-------------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/cmake/Modules/StyleHeaderUtils.cmake b/cmake/Modules/StyleHeaderUtils.cmake index d95e265c4a..2ce7c44d87 100644 --- a/cmake/Modules/StyleHeaderUtils.cmake +++ b/cmake/Modules/StyleHeaderUtils.cmake @@ -119,52 +119,52 @@ function(RegisterStyles search_path) endfunction(RegisterStyles) function(RegisterStylesExt search_path extension sources) - FindStyleHeadersExt(${search_path} ANGLE_CLASS ${extension} ANGLE ${sources}) - FindStyleHeadersExt(${search_path} ATOM_CLASS ${extension} ATOM_VEC ${sources}) - FindStyleHeadersExt(${search_path} BODY_CLASS ${extension} BODY ${sources}) - FindStyleHeadersExt(${search_path} BOND_CLASS ${extension} BOND ${sources}) - FindStyleHeadersExt(${search_path} COMMAND_CLASS ${extension} COMMAND ${sources}) - FindStyleHeadersExt(${search_path} COMPUTE_CLASS ${extension} COMPUTE ${sources}) - FindStyleHeadersExt(${search_path} DIHEDRAL_CLASS ${extension} DIHEDRAL ${sources}) - FindStyleHeadersExt(${search_path} DUMP_CLASS ${extension} DUMP ${sources}) - FindStyleHeadersExt(${search_path} FIX_CLASS ${extension} FIX ${sources}) - FindStyleHeadersExt(${search_path} GSM_CLASS ${extension} GSM ${sources}) - FindStyleHeadersExt(${search_path} IMPROPER_CLASS ${extension} IMPROPER ${sources}) - FindStyleHeadersExt(${search_path} INTEGRATE_CLASS ${extension} INTEGRATE ${sources}) - FindStyleHeadersExt(${search_path} KSPACE_CLASS ${extension} KSPACE ${sources}) - FindStyleHeadersExt(${search_path} MINIMIZE_CLASS ${extension} MINIMIZE ${sources}) - FindStyleHeadersExt(${search_path} NBIN_CLASS ${extension} NBIN ${sources}) - FindStyleHeadersExt(${search_path} NPAIR_CLASS ${extension} NPAIR ${sources}) - FindStyleHeadersExt(${search_path} NSTENCIL_CLASS ${extension} NSTENCIL ${sources}) - FindStyleHeadersExt(${search_path} NTOPO_CLASS ${extension} NTOPO ${sources}) - FindStyleHeadersExt(${search_path} PAIR_CLASS ${extension} PAIR ${sources}) - FindStyleHeadersExt(${search_path} READER_CLASS ${extension} READER ${sources}) - FindStyleHeadersExt(${search_path} REGION_CLASS ${extension} REGION ${sources}) + FindStyleHeadersExt(${search_path} ANGLE_CLASS ${extension} ANGLE ${sources}) + FindStyleHeadersExt(${search_path} ATOM_CLASS ${extension} ATOM_VEC ${sources}) + FindStyleHeadersExt(${search_path} BODY_CLASS ${extension} BODY ${sources}) + FindStyleHeadersExt(${search_path} BOND_CLASS ${extension} BOND ${sources}) + FindStyleHeadersExt(${search_path} COMMAND_CLASS ${extension} COMMAND ${sources}) + FindStyleHeadersExt(${search_path} COMPUTE_CLASS ${extension} COMPUTE ${sources}) + FindStyleHeadersExt(${search_path} DIHEDRAL_CLASS ${extension} DIHEDRAL ${sources}) + FindStyleHeadersExt(${search_path} DUMP_CLASS ${extension} DUMP ${sources}) + FindStyleHeadersExt(${search_path} FIX_CLASS ${extension} FIX ${sources}) + FindStyleHeadersExt(${search_path} GRAN_SUB_MOD_CLASS ${extension} GRAN_SUB_MOD ${sources}) + FindStyleHeadersExt(${search_path} IMPROPER_CLASS ${extension} IMPROPER ${sources}) + FindStyleHeadersExt(${search_path} INTEGRATE_CLASS ${extension} INTEGRATE ${sources}) + FindStyleHeadersExt(${search_path} KSPACE_CLASS ${extension} KSPACE ${sources}) + FindStyleHeadersExt(${search_path} MINIMIZE_CLASS ${extension} MINIMIZE ${sources}) + FindStyleHeadersExt(${search_path} NBIN_CLASS ${extension} NBIN ${sources}) + FindStyleHeadersExt(${search_path} NPAIR_CLASS ${extension} NPAIR ${sources}) + FindStyleHeadersExt(${search_path} NSTENCIL_CLASS ${extension} NSTENCIL ${sources}) + FindStyleHeadersExt(${search_path} NTOPO_CLASS ${extension} NTOPO ${sources}) + FindStyleHeadersExt(${search_path} PAIR_CLASS ${extension} PAIR ${sources}) + FindStyleHeadersExt(${search_path} READER_CLASS ${extension} READER ${sources}) + FindStyleHeadersExt(${search_path} REGION_CLASS ${extension} REGION ${sources}) endfunction(RegisterStylesExt) function(GenerateStyleHeaders output_path) message(STATUS "Generating style headers...") - GenerateStyleHeader(${output_path} ANGLE angle ) # force - GenerateStyleHeader(${output_path} ATOM_VEC atom ) # atom atom_vec_hybrid - GenerateStyleHeader(${output_path} BODY body ) # atom_vec_body - GenerateStyleHeader(${output_path} BOND bond ) # force - GenerateStyleHeader(${output_path} COMMAND command ) # input - GenerateStyleHeader(${output_path} COMPUTE compute ) # modify - GenerateStyleHeader(${output_path} DIHEDRAL dihedral ) # force - GenerateStyleHeader(${output_path} DUMP dump ) # output write_dump - GenerateStyleHeader(${output_path} FIX fix ) # modify - GenerateStyleHeader(${output_path} GSM gsm ) # granular_model - GenerateStyleHeader(${output_path} IMPROPER improper ) # force - GenerateStyleHeader(${output_path} INTEGRATE integrate ) # update - GenerateStyleHeader(${output_path} KSPACE kspace ) # force - GenerateStyleHeader(${output_path} MINIMIZE minimize ) # update - GenerateStyleHeader(${output_path} NBIN nbin ) # neighbor - GenerateStyleHeader(${output_path} NPAIR npair ) # neighbor - GenerateStyleHeader(${output_path} NSTENCIL nstencil ) # neighbor - GenerateStyleHeader(${output_path} NTOPO ntopo ) # neighbor - GenerateStyleHeader(${output_path} PAIR pair ) # force - GenerateStyleHeader(${output_path} READER reader ) # read_dump - GenerateStyleHeader(${output_path} REGION region ) # domain + GenerateStyleHeader(${output_path} ANGLE angle ) # force + GenerateStyleHeader(${output_path} ATOM_VEC atom ) # atom atom_vec_hybrid + GenerateStyleHeader(${output_path} BODY body ) # atom_vec_body + GenerateStyleHeader(${output_path} BOND bond ) # force + GenerateStyleHeader(${output_path} COMMAND command ) # input + GenerateStyleHeader(${output_path} COMPUTE compute ) # modify + GenerateStyleHeader(${output_path} DIHEDRAL dihedral ) # force + GenerateStyleHeader(${output_path} DUMP dump ) # output write_dump + GenerateStyleHeader(${output_path} FIX fix ) # modify + GenerateStyleHeader(${output_path} GRAN_SUB_MOD gran_sub_mod ) # granular_model + GenerateStyleHeader(${output_path} IMPROPER improper ) # force + GenerateStyleHeader(${output_path} INTEGRATE integrate ) # update + GenerateStyleHeader(${output_path} KSPACE kspace ) # force + GenerateStyleHeader(${output_path} MINIMIZE minimize ) # update + GenerateStyleHeader(${output_path} NBIN nbin ) # neighbor + GenerateStyleHeader(${output_path} NPAIR npair ) # neighbor + GenerateStyleHeader(${output_path} NSTENCIL nstencil ) # neighbor + GenerateStyleHeader(${output_path} NTOPO ntopo ) # neighbor + GenerateStyleHeader(${output_path} PAIR pair ) # force + GenerateStyleHeader(${output_path} READER reader ) # read_dump + GenerateStyleHeader(${output_path} REGION region ) # domain endfunction(GenerateStyleHeaders) function(DetectBuildSystemConflict lammps_src_dir) From 5f0fff58ac133135821103a8a6559fd17aac8cf1 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Mon, 14 Nov 2022 21:16:03 -0700 Subject: [PATCH 050/448] fixing broken doc references --- doc/src/Commands_fix.rst | 2 +- doc/src/Howto_granular.rst | 4 ++-- doc/src/fix.rst | 2 +- doc/src/pair_granular.rst | 5 +++-- src/GRANULAR/granular_model.cpp | 1 - 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/doc/src/Commands_fix.rst b/doc/src/Commands_fix.rst index ec8174a370..604280c73c 100644 --- a/doc/src/Commands_fix.rst +++ b/doc/src/Commands_fix.rst @@ -91,6 +91,7 @@ OPT. * :doc:`grem ` * :doc:`halt ` * :doc:`heat ` + * :doc:`heat/flow/sphere/temp ` * :doc:`hyper/global ` * :doc:`hyper/local ` * :doc:`imd ` @@ -235,7 +236,6 @@ OPT. * :doc:`temp/berendsen ` * :doc:`temp/csld ` * :doc:`temp/csvr ` - * :doc:`temp/integrate ` * :doc:`temp/rescale ` * :doc:`temp/rescale/eff ` * :doc:`tfmc ` diff --git a/doc/src/Howto_granular.rst b/doc/src/Howto_granular.rst index af52904204..6a2346746b 100644 --- a/doc/src/Howto_granular.rst +++ b/doc/src/Howto_granular.rst @@ -46,7 +46,7 @@ atoms, and should be used for granular system instead of the fix style To model heat conduction, one must use the atom style: * :doc:`atom_style sphere/temp ` a temperature integration fix -* :doc:`fix temp/integrate ` +* :doc:`fix heat/flow/sphere/temp ` and a heat conduction option defined in both * :doc:`pair_style granular ` * :doc:`fix wall/gran ` @@ -65,4 +65,4 @@ computations between frozen atoms by using this command: doc page, where 2d simulations are discussed. To add custom granular contact models, see the -:doc:`modifying granular submodels page `. +:doc:`modifying granular sub-models page `. diff --git a/doc/src/fix.rst b/doc/src/fix.rst index 461cfc1465..b87a151061 100644 --- a/doc/src/fix.rst +++ b/doc/src/fix.rst @@ -238,6 +238,7 @@ accelerated styles exist. * :doc:`grem ` - implements the generalized replica exchange method * :doc:`halt ` - terminate a dynamics run or minimization * :doc:`heat ` - add/subtract momentum-conserving heat +* :doc:`heat/flow/sphere/temp ` - plain time integration of heat flow with per-atom temperature updates * :doc:`hyper/global ` - global hyperdynamics * :doc:`hyper/local ` - local hyperdynamics * :doc:`imd ` - implements the "Interactive MD" (IMD) protocol @@ -382,7 +383,6 @@ accelerated styles exist. * :doc:`temp/berendsen ` - temperature control by Berendsen thermostat * :doc:`temp/csld ` - canonical sampling thermostat with Langevin dynamics * :doc:`temp/csvr ` - canonical sampling thermostat with Hamiltonian dynamics -* :doc:`temp/integrate ` - plain time integration with per-atom temperature updates * :doc:`temp/rescale ` - temperature control by velocity rescaling * :doc:`temp/rescale/eff ` - temperature control by velocity rescaling in the electron force field model * :doc:`tfmc ` - perform force-bias Monte Carlo with time-stamped method diff --git a/doc/src/pair_granular.rst b/doc/src/pair_granular.rst index cb044252da..491061b5fb 100644 --- a/doc/src/pair_granular.rst +++ b/doc/src/pair_granular.rst @@ -659,8 +659,9 @@ where :math:`\Delta T` is the difference in the two particles' temperature, :math:`a` is the area of the contact and depends on the normal force model. Note that the option *none* must either be used in all or none of of the -*pair_coeff* calls. See :doc:`fix temp/integrate ` for -more information on this option. +*pair_coeff* calls. See +:doc:`fix heat/flow/sphere/temp ` for more +information on this option. ---------- diff --git a/src/GRANULAR/granular_model.cpp b/src/GRANULAR/granular_model.cpp index 47d84b2495..5d89e22d03 100644 --- a/src/GRANULAR/granular_model.cpp +++ b/src/GRANULAR/granular_model.cpp @@ -409,7 +409,6 @@ void GranularModel::calculate_forces() vrel = len3(vtr); // calculate forces/torques - forces[0] = 0.0; double Fdamp, dist_to_contact; if (area_flag) area = normal_model->calculate_area(); From f51ab2c4401c9fe6e01e7b3cb72bf97bacb4b200 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Wed, 16 Nov 2022 16:36:22 -0700 Subject: [PATCH 051/448] Restarting limit_damping, other minor simplifications/cleanups --- examples/granular/in.pour.drum | 2 +- src/GRANULAR/fix_wall_gran.cpp | 32 ++++++++--------- src/GRANULAR/fix_wall_gran.h | 3 +- src/GRANULAR/fix_wall_gran_region.cpp | 2 +- src/GRANULAR/gran_sub_mod.h | 4 +-- src/GRANULAR/gran_sub_mod_damping.cpp | 2 +- src/GRANULAR/gran_sub_mod_damping.h | 2 -- src/GRANULAR/gran_sub_mod_heat.h | 2 -- src/GRANULAR/gran_sub_mod_normal.h | 4 +-- src/GRANULAR/gran_sub_mod_rolling.h | 2 -- src/GRANULAR/gran_sub_mod_tangential.h | 4 --- src/GRANULAR/gran_sub_mod_twisting.h | 4 +-- src/GRANULAR/granular_model.cpp | 44 ++++++++++++----------- src/GRANULAR/granular_model.h | 8 ++--- src/GRANULAR/pair_granular.cpp | 50 +++++++++++--------------- 15 files changed, 72 insertions(+), 93 deletions(-) diff --git a/examples/granular/in.pour.drum b/examples/granular/in.pour.drum index e0a0455f61..6c93b700d6 100644 --- a/examples/granular/in.pour.drum +++ b/examples/granular/in.pour.drum @@ -44,7 +44,7 @@ change_box all boundary p p f pair_style granular pair_coeff 1 * hertz/material 1e5 0.2 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji -pair_coeff 2 2 jkr 1e5 0.1 0.3 50 tangential mindlin NULL 1.0 0.5 rolling sds 1e3 1e3 0.1 twisting marshall damping tsuji +pair_coeff 2 2 jkr 1e5 0.1 0.3 50 tangential mindlin NULL 1.0 0.5 rolling sds 1e3 1e3 0.1 twisting marshall variable theta equal 0 diff --git a/src/GRANULAR/fix_wall_gran.cpp b/src/GRANULAR/fix_wall_gran.cpp index fe2286a0fa..3afb0dc60e 100644 --- a/src/GRANULAR/fix_wall_gran.cpp +++ b/src/GRANULAR/fix_wall_gran.cpp @@ -67,11 +67,9 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : model = new GranularModel(lmp); model->contact_type = WALL; - if (strcmp(arg[3],"granular") == 0) classic_flag = 0; - else classic_flag = 1; - limit_damping = 0; heat_flag = 0; - int Twall_defined = 0; + int classic_flag = 1; + if (strcmp(arg[3],"granular") == 0) classic_flag = 0; // wall/particle coefficients @@ -117,10 +115,9 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : } } - // Define default damping model if unspecified, takes no args + // Define default damping submodel if unspecified, takes no args if (!model->damping_model) model->construct_submodel("viscoelastic", DAMPING); - model->init(); size_history = model->size_history; @@ -177,6 +174,7 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : wiggle = 0; wshear = 0; peratom_flag = 0; + int Twall_defined = 0; while (iarg < narg) { if (strcmp(arg[iarg],"wiggle") == 0) { @@ -216,7 +214,7 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : } if (heat_flag != Twall_defined) - error->all(FLERR, "To model conduction, must define both heat model and wall temperature"); + error->all(FLERR, "Must define wall temperature with heat model"); if (wallstyle == NOSTYLE) error->all(FLERR,"No wall style defined"); @@ -376,6 +374,7 @@ void FixWallGran::post_force(int /*vflag*/) history_update = 1; if (update->setupflag) history_update = 0; + model->history_update = history_update; // if just reneighbored: // update rigid body masses for owned atoms if using FixRigid @@ -407,10 +406,10 @@ void FixWallGran::post_force(int /*vflag*/) if (wiggle) { double arg = omega * (update->ntimestep - time_origin) * dt; if (wallstyle == axis) { - wlo = lo + amplitude - amplitude*cos(arg); - whi = hi + amplitude - amplitude*cos(arg); + wlo = lo + amplitude - amplitude * cos(arg); + whi = hi + amplitude - amplitude * cos(arg); } - vwall[axis] = amplitude*omega*sin(arg); + vwall[axis] = amplitude * omega * sin(arg); } else if (wshear) vwall[axis] = vshear; // loop over all my atoms @@ -473,19 +472,19 @@ void FixWallGran::post_force(int /*vflag*/) if (del1 < del2) dz = del1; else dz = -del2; } else if (wallstyle == ZCYLINDER) { - delxy = sqrt(x[i][0]*x[i][0] + x[i][1]*x[i][1]); + delxy = sqrt(x[i][0] * x[i][0] + x[i][1] * x[i][1]); delr = cylradius - delxy; if (delr > radius[i]) { dz = cylradius; rwall = 0.0; } else { - dx = -delr/delxy * x[i][0]; - dy = -delr/delxy * x[i][1]; + dx = -delr / delxy * x[i][0]; + dy = -delr / delxy * x[i][1]; // rwall = -2r_c if inside cylinder, 2r_c outside - rwall = (delxy < cylradius) ? -2*cylradius : 2*cylradius; + rwall = (delxy < cylradius) ? -2 * cylradius : 2 * cylradius; if (wshear && axis != 2) { - vwall[0] += vshear * x[i][1]/delxy; - vwall[1] += -vshear * x[i][0]/delxy; + vwall[0] += vshear * x[i][1] / delxy; + vwall[1] += -vshear * x[i][0] / delxy; vwall[2] = 0.0; } } @@ -521,7 +520,6 @@ void FixWallGran::post_force(int /*vflag*/) model->meff = meff; model->vi = v[i]; model->omegai = omega[i]; - model->history_update = history_update; if (use_history) model->history = history_one[i]; if (heat_flag) model->Ti = temperature[i]; diff --git a/src/GRANULAR/fix_wall_gran.h b/src/GRANULAR/fix_wall_gran.h index 16a2fe5dc0..45e4e43844 100644 --- a/src/GRANULAR/fix_wall_gran.h +++ b/src/GRANULAR/fix_wall_gran.h @@ -53,7 +53,7 @@ class FixWallGran : public Fix { protected: int wallstyle, wiggle, wshear, axis; - int classic_flag, nlevels_respa; + int nlevels_respa; bigint time_origin; // for granular model choices @@ -69,7 +69,6 @@ class FixWallGran : public Fix { int history_update; // flag for whether shear history is updated int size_history; // # of shear history values per contact int heat_flag; - int limit_damping; int tvar; char *tstr; diff --git a/src/GRANULAR/fix_wall_gran_region.cpp b/src/GRANULAR/fix_wall_gran_region.cpp index 7ee794133c..f7b772cb7f 100644 --- a/src/GRANULAR/fix_wall_gran_region.cpp +++ b/src/GRANULAR/fix_wall_gran_region.cpp @@ -135,6 +135,7 @@ void FixWallGranRegion::post_force(int /*vflag*/) history_update = 1; if (update->setupflag) history_update = 0; + model->history_update = history_update; // if just reneighbored: // update rigid body masses for owned atoms if using FixRigid @@ -262,7 +263,6 @@ void FixWallGranRegion::post_force(int /*vflag*/) model->meff = meff; model->vi = v[i]; model->omegai = omega[i]; - model->history_update = history_update; if (use_history) model->history = history_many[i][c2r[ic]]; if (heat_flag) model->Ti = temperature[i]; diff --git a/src/GRANULAR/gran_sub_mod.h b/src/GRANULAR/gran_sub_mod.h index b2335e8cfb..22f1f4e85a 100644 --- a/src/GRANULAR/gran_sub_mod.h +++ b/src/GRANULAR/gran_sub_mod.h @@ -29,8 +29,8 @@ class GranSubMod : protected Pointers { double *coeffs; void read_restart(); virtual void mix_coeffs(double*, double*); - virtual void coeffs_to_local() = 0; - virtual void init() = 0; // called after all submodel coeffs defined + virtual void coeffs_to_local() {}; + virtual void init() {}; // called after all submodels + coeffs defined void allocate_coeffs(); std::string name; diff --git a/src/GRANULAR/gran_sub_mod_damping.cpp b/src/GRANULAR/gran_sub_mod_damping.cpp index e78233735a..820d552679 100644 --- a/src/GRANULAR/gran_sub_mod_damping.cpp +++ b/src/GRANULAR/gran_sub_mod_damping.cpp @@ -108,7 +108,7 @@ void GranSubModDampingTsuji::init() { double tmp = gm->normal_model->damp; damp = 1.2728 - 4.2783 * tmp + 11.087 * square(tmp); - damp += -22.348 * cube(tmp)+ 27.467 * powint(tmp, 4); + damp += -22.348 * cube(tmp) + 27.467 * powint(tmp, 4); damp += -18.022 * powint(tmp, 5) + 4.8218 * powint(tmp,6); } diff --git a/src/GRANULAR/gran_sub_mod_damping.h b/src/GRANULAR/gran_sub_mod_damping.h index e5f4227ce8..5d245c384d 100644 --- a/src/GRANULAR/gran_sub_mod_damping.h +++ b/src/GRANULAR/gran_sub_mod_damping.h @@ -48,8 +48,6 @@ class GranSubModDamping : public GranSubMod { public: GranSubModDamping(class GranularModel *, class LAMMPS *); ~GranSubModDamping() {}; - virtual void coeffs_to_local() {}; - virtual void mix_coeffs(double*, double*) {}; virtual void init(); virtual double calculate_forces() = 0; double damp_prefactor; // Used by tangential models diff --git a/src/GRANULAR/gran_sub_mod_heat.h b/src/GRANULAR/gran_sub_mod_heat.h index a5408a0fc2..ca7e82313a 100644 --- a/src/GRANULAR/gran_sub_mod_heat.h +++ b/src/GRANULAR/gran_sub_mod_heat.h @@ -35,8 +35,6 @@ class GranSubModHeat : public GranSubMod { public: GranSubModHeat(class GranularModel *, class LAMMPS *); ~GranSubModHeat() {}; - virtual void coeffs_to_local() {}; - virtual void init() {}; virtual double calculate_heat() = 0; }; diff --git a/src/GRANULAR/gran_sub_mod_normal.h b/src/GRANULAR/gran_sub_mod_normal.h index 49e7d012c4..7dd9f82349 100644 --- a/src/GRANULAR/gran_sub_mod_normal.h +++ b/src/GRANULAR/gran_sub_mod_normal.h @@ -51,8 +51,6 @@ class GranSubModNormal : public GranSubMod { public: GranSubModNormal(class GranularModel *, class LAMMPS *); ~GranSubModNormal() {}; - virtual void coeffs_to_local() {}; - virtual void init() {}; virtual bool touch(); virtual double pulloff_distance(double, double); virtual double calculate_area(); @@ -60,7 +58,7 @@ class GranSubModNormal : public GranSubMod { virtual void set_fncrit(); double damp; // argument historically needed by damping double Emod, poiss; - double Fncrit, knfac; + double Fncrit; int material_properties, cohesive_flag; }; diff --git a/src/GRANULAR/gran_sub_mod_rolling.h b/src/GRANULAR/gran_sub_mod_rolling.h index 5739067f50..980daeca89 100644 --- a/src/GRANULAR/gran_sub_mod_rolling.h +++ b/src/GRANULAR/gran_sub_mod_rolling.h @@ -35,8 +35,6 @@ class GranSubModRolling : public GranSubMod { public: GranSubModRolling(class GranularModel *, class LAMMPS *); ~GranSubModRolling() {}; - virtual void coeffs_to_local() {}; - virtual void init() {}; virtual void calculate_forces() = 0; }; diff --git a/src/GRANULAR/gran_sub_mod_tangential.h b/src/GRANULAR/gran_sub_mod_tangential.h index b5a195a1d6..27588d49ba 100644 --- a/src/GRANULAR/gran_sub_mod_tangential.h +++ b/src/GRANULAR/gran_sub_mod_tangential.h @@ -63,8 +63,6 @@ class GranSubModTangential : public GranSubMod { public: GranSubModTangential(class GranularModel *, class LAMMPS *); virtual ~GranSubModTangential() {}; - virtual void coeffs_to_local() {}; - virtual void init() {}; virtual void calculate_forces() = 0; double k, damp, mu; // Used by Marshall twisting model }; @@ -105,8 +103,6 @@ class GranSubModTangentialLinearHistoryClassic : public GranSubModTangentialLine public: GranSubModTangentialLinearHistoryClassic(class GranularModel *, class LAMMPS *); void calculate_forces(); - protected: - double xt; }; /* ---------------------------------------------------------------------- */ diff --git a/src/GRANULAR/gran_sub_mod_twisting.h b/src/GRANULAR/gran_sub_mod_twisting.h index c365cba331..46f56d37ce 100644 --- a/src/GRANULAR/gran_sub_mod_twisting.h +++ b/src/GRANULAR/gran_sub_mod_twisting.h @@ -39,8 +39,6 @@ class GranSubModTwisting : public GranSubMod { public: GranSubModTwisting(class GranularModel *, class LAMMPS *); virtual ~GranSubModTwisting() {}; - virtual void coeffs_to_local() {}; - virtual void init() {}; virtual void calculate_forces() = 0; }; @@ -57,8 +55,8 @@ class GranSubModTwistingNone : public GranSubModTwisting { class GranSubModTwistingMarshall : public GranSubModTwisting { public: GranSubModTwistingMarshall(class GranularModel *, class LAMMPS *); + void init() override; void calculate_forces(); - void init(); protected: double k_tang, mu_tang; }; diff --git a/src/GRANULAR/granular_model.cpp b/src/GRANULAR/granular_model.cpp index 5d89e22d03..afb3328d70 100644 --- a/src/GRANULAR/granular_model.cpp +++ b/src/GRANULAR/granular_model.cpp @@ -148,12 +148,13 @@ void GranularModel::construct_submodel(std::string model_name, SubmodelType mode sub_models[model_type]->name.assign(model_name); sub_models[model_type]->allocate_coeffs(); - if (model_type == NORMAL) normal_model = dynamic_cast (sub_models[NORMAL]); - if (model_type == DAMPING) damping_model = dynamic_cast (sub_models[DAMPING]); - if (model_type == TANGENTIAL) tangential_model = dynamic_cast (sub_models[TANGENTIAL]); - if (model_type == ROLLING) rolling_model = dynamic_cast (sub_models[ROLLING]); - if (model_type == TWISTING) twisting_model = dynamic_cast (sub_models[TWISTING]); - if (model_type == HEAT) heat_model = dynamic_cast (sub_models[HEAT]); + // Assign specific submodel pointer + if (model_type == NORMAL) normal_model = dynamic_cast (sub_models[model_type]); + if (model_type == DAMPING) damping_model = dynamic_cast (sub_models[model_type]); + if (model_type == TANGENTIAL) tangential_model = dynamic_cast (sub_models[model_type]); + if (model_type == ROLLING) rolling_model = dynamic_cast (sub_models[model_type]); + if (model_type == TWISTING) twisting_model = dynamic_cast (sub_models[model_type]); + if (model_type == HEAT) heat_model = dynamic_cast (sub_models[model_type]); } /* ---------------------------------------------------------------------- */ @@ -248,7 +249,8 @@ void GranularModel::init() beyond_contact = 1; size_history += sub_models[i]->size_history; if (!sub_models[i]->allow_cohesion && normal_model->cohesive_flag) - error->all(FLERR,"Cannot use {} model with a cohesive normal model, {}", sub_models[i]->name, normal_model->name); + error->all(FLERR,"Cannot use {} model with a cohesive normal model, {}", + sub_models[i]->name, normal_model->name); if (sub_models[i]->area_flag) area_flag = 1; } @@ -260,14 +262,14 @@ void GranularModel::init() int j; for (int i = 0; i < size_history; i++) { - // Find which model owns this history value + // Find which submodel owns this history value size_cumulative = 0; for (j = 0; j < NSUBMODELS; j++) { if ((size_cumulative + sub_models[j]->size_history) > i) break; size_cumulative += sub_models[j]->size_history; } - // Check if model has nondefault transfers, if so copy its array + // Check if submodel has nondefault transfers, if so copy its array transfer_history_factor[i] = -1; if (j != NSUBMODELS) { if (sub_models[j]->nondefault_history_transfer) { @@ -284,8 +286,7 @@ void GranularModel::init() int GranularModel::mix_coeffs(GranularModel *g1, GranularModel *g2) { - int i; - for (i = 0; i < NSUBMODELS; i++) { + for (int i = 0; i < NSUBMODELS; i++) { if (g1->sub_models[i]->name != g2->sub_models[i]->name) return i; construct_submodel(g1->sub_models[i]->name, (SubmodelType) i); @@ -311,6 +312,8 @@ void GranularModel::write_restart(FILE *fp) fwrite(&num_coeffs, sizeof(int), 1, fp); fwrite(sub_models[i]->coeffs, sizeof(double), num_coeffs, fp); } + + fwrite(&limit_damping, sizeof(int), 1, fp); } /* ---------------------------------------------------------------------- */ @@ -328,22 +331,23 @@ void GranularModel::read_restart(FILE *fp) if (comm->me == 0) utils::sfread(FLERR, const_cast(model_name.data()), sizeof(char),num_char, fp, nullptr, error); MPI_Bcast(const_cast(model_name.data()), num_char, MPI_CHAR, 0, world); - construct_submodel(model_name, (SubmodelType) i); - if (comm->me == 0) { + if (comm->me == 0) utils::sfread(FLERR, &num_coeff, sizeof(int), 1, fp, nullptr, error); - if (num_coeff != sub_models[i]->num_coeffs) - error->one(FLERR, "Invalid granular model written to restart file"); - } MPI_Bcast(&num_coeff, 1, MPI_INT, 0, world); + if (num_coeff != sub_models[i]->num_coeffs) + error->all(FLERR, "Invalid granular model written to restart file"); - if (comm->me == 0) { + if (comm->me == 0) utils::sfread(FLERR, sub_models[i]->coeffs, sizeof(double), num_coeff, fp, nullptr, error); - } MPI_Bcast(sub_models[i]->coeffs, num_coeff, MPI_DOUBLE, 0, world); sub_models[i]->coeffs_to_local(); } + + if (comm->me == 0) + utils::sfread(FLERR, &limit_damping, sizeof(int), 1, fp, nullptr, error); + MPI_Bcast(&limit_damping, 1, MPI_INT, 0, world); } /* ---------------------------------------------------------------------- */ @@ -393,7 +397,7 @@ void GranularModel::calculate_forces() sub3(vi, vj, vr); // normal component - vnnr = dot3(vr, nx); //v_R . n + vnnr = dot3(vr, nx); scale3(vnnr, nx, vn); // tangential component @@ -433,7 +437,7 @@ void GranularModel::calculate_forces() if (contact_type == PAIR) { copy3(torquesi, torquesj); - // Classic pair styles wouldn't scale, but classic option is only used by walls + // Classic pair styles don't scale, but classic option is currently only used by walls dist_to_contact = radi - 0.5 * delta; scale3(dist_to_contact, torquesi); dist_to_contact = radj - 0.5 * delta; diff --git a/src/GRANULAR/granular_model.h b/src/GRANULAR/granular_model.h index de4f82c01e..a047bc27e5 100644 --- a/src/GRANULAR/granular_model.h +++ b/src/GRANULAR/granular_model.h @@ -68,7 +68,7 @@ class GranularModel : protected Pointers { GranSubModRolling *rolling_model; GranSubModTwisting *twisting_model; GranSubModHeat *heat_model; - GranSubMod *sub_models[NSUBMODELS]; // Need to resize if we add more model flavors + GranSubMod *sub_models[NSUBMODELS]; // Extra options int beyond_contact, limit_damping, history_update; @@ -94,9 +94,9 @@ class GranularModel : protected Pointers { bool touch; protected: - int rolling_defined, twisting_defined, heat_defined; // Used to quickly skip undefined submodels - int classic_model; - int area_flag; + int rolling_defined, twisting_defined, heat_defined; // Flag optional submodels + int classic_model; // Flag original pair/gran calculations + int area_flag; // Flag whether area is needed int nclass; diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index b6c9bba705..47bfa89da0 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -57,8 +57,6 @@ PairGranular::PairGranular(LAMMPS *lmp) : Pair(lmp) svector = new double[single_extra]; neighprev = 0; - nmodels = 0; - maxmodels = 0; nmax = 0; mass_rigid = nullptr; @@ -302,6 +300,7 @@ void PairGranular::allocate() maxmodels = n * n + 1; // should never need any more space models_list = (GranularModel **) memory->smalloc(maxmodels * sizeof(GranularModel *), "pair:models_list"); for (int i = 0; i < maxmodels; i++) models_list[i] = nullptr; + nmodels = 0; onerad_dynamic = new double[n+1]; onerad_frozen = new double[n+1]; @@ -339,7 +338,6 @@ void PairGranular::coeff(int narg, char **arg) utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error); utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error); - // Construct new model models_list[nmodels] = new GranularModel(lmp); class GranularModel* model = models_list[nmodels]; @@ -374,9 +372,10 @@ void PairGranular::coeff(int narg, char **arg) } else error->all(FLERR, "Illegal pair_coeff command {}", arg[iarg]); } - // Define default damping model if unspecified, has no coeffs + // Define default damping submodel if unspecified, has no coeffs if (!model->damping_model) model->construct_submodel("viscoelastic", DAMPING); + model->init(); int count = 0; for (int i = ilo; i <= ihi; i++) { @@ -388,7 +387,7 @@ void PairGranular::coeff(int narg, char **arg) } } - // If there are > ntype^2 models, delete unused ones + // If there are > ntype^2 models, delete unused models if (nmodels == maxmodels) prune_models(); if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); @@ -419,7 +418,6 @@ void PairGranular::init_style() int size_max[NSUBMODELS] = {0}; for (int n = 0; n < nmodels; n++) { model = models_list[n]; - model->init(); if (model->beyond_contact) { beyond_contact = 1; @@ -559,7 +557,6 @@ double PairGranular::init_one(int i, int j) model1->sub_models[error_code]->name, model2->sub_models[error_code]->name); - // Initialize new model, init_one() occurs after init_style model->init(); for (int k = 0; k < NSUBMODELS; k++) @@ -657,8 +654,10 @@ void PairGranular::read_restart(FILE *fp) MPI_Bcast(&nmodels,1,MPI_INT,0,world); for (i = 0; i < nmodels; i++) { + delete models_list[i]; models_list[i] = new GranularModel(lmp); models_list[i]->read_restart(fp); + models_list[i]->init(); } for (i = 1; i <= atom->ntypes; i++) { @@ -690,28 +689,22 @@ double PairGranular::single(int i, int j, int itype, int jtype, double rsq, double /* factor_coul */, double factor_lj, double &fforce) { - if (factor_lj == 0) { fforce = 0.0; for (int m = 0; m < single_extra; m++) svector[m] = 0.0; return 0.0; } - int jnum; - int *jlist; - double *history,*allhistory; - int nall = atom->nlocal + atom->nghost; if ((i >= nall) || (j >= nall)) error->all(FLERR,"Not enough atoms for pair granular single function"); - int touchflag; - double **x = atom->x; - double *radius = atom->radius; - class GranularModel* model = models_list[types_indices[itype][jtype]]; // Reset model and copy initial geometric data + double **x = atom->x; + double *radius = atom->radius; + model->xi = x[i]; model->xj = x[j]; model->radi = radius[i]; @@ -719,8 +712,9 @@ double PairGranular::single(int i, int j, int itype, int jtype, model->history_update = 0; // Don't update history // If history is needed - jnum = list->numneigh[i]; - jlist = list->firstneigh[i]; + double *history,*allhistory; + int jnum = list->numneigh[i]; + int *jlist = list->firstneigh[i]; if (use_history) { if ((fix_history == nullptr) || (fix_history->firstvalue == nullptr)) error->one(FLERR,"Pair granular single computation needs history"); @@ -730,11 +724,11 @@ double PairGranular::single(int i, int j, int itype, int jtype, if (neighprev >= jnum) neighprev = 0; if (jlist[neighprev] == j) break; } - history = &allhistory[size_history*neighprev]; + history = &allhistory[size_history * neighprev]; model->touch = fix_history->firstflag[i][neighprev]; } - touchflag = model->check_contact(); + int touchflag = model->check_contact(); if (!touchflag) { fforce = 0.0; @@ -745,17 +739,16 @@ double PairGranular::single(int i, int j, int itype, int jtype, // meff = effective mass of pair of particles // if I or J part of rigid body, use body mass // if I or J is frozen, meff is other particle - double mi, mj, meff; double *rmass = atom->rmass; int *mask = atom->mask; - mi = rmass[i]; - mj = rmass[j]; + double mi = rmass[i]; + double mj = rmass[j]; if (fix_rigid) { if (mass_rigid[i] > 0.0) mi = mass_rigid[i]; if (mass_rigid[j] > 0.0) mj = mass_rigid[j]; } - meff = mi * mj / (mi + mj); + double meff = mi * mj / (mi + mj); if (mask[i] & freeze_group_bit) meff = mj; if (mask[j] & freeze_group_bit) meff = mi; @@ -770,11 +763,10 @@ double PairGranular::single(int i, int j, int itype, int jtype, model->omegaj = omega[j]; model->history = history; - double *forces, *torquesi, *torquesj; model->calculate_forces(); - forces = model->forces; - torquesi = model->torquesi; - torquesj = model->torquesj; + double *forces = model->forces; + double *torquesi = model->torquesi; + double *torquesj = model->torquesj; // apply forces & torques fforce = MathExtra::len3(forces); @@ -843,7 +835,7 @@ void PairGranular::transfer_history(double* source, double* target, int itype, i class GranularModel* model = models_list[types_indices[itype][jtype]]; if (model->nondefault_history_transfer) { for (int i = 0; i < size_history; i++) { - target[i] = model->transfer_history_factor[i] * source [i]; + target[i] = model->transfer_history_factor[i] * source[i]; } } else { for (int i = 0; i < size_history; i++) { From 1a467233fb1920f19d7caffcefa255d2d2e3688a Mon Sep 17 00:00:00 2001 From: jtclemm Date: Tue, 29 Nov 2022 12:24:43 -0700 Subject: [PATCH 052/448] adding examples, fixing wall algebra, updating labels --- src/GRANULAR/fix_wall_gran.cpp | 16 ++++++------ src/GRANULAR/gran_sub_mod.cpp | 24 +++++++++--------- src/GRANULAR/gran_sub_mod.h | 8 +++--- src/GRANULAR/granular_model.cpp | 44 ++++++++++++++++----------------- src/GRANULAR/granular_model.h | 8 +++--- src/GRANULAR/pair_granular.cpp | 22 ++++++++--------- 6 files changed, 61 insertions(+), 61 deletions(-) diff --git a/src/GRANULAR/fix_wall_gran.cpp b/src/GRANULAR/fix_wall_gran.cpp index 3afb0dc60e..7029074fe8 100644 --- a/src/GRANULAR/fix_wall_gran.cpp +++ b/src/GRANULAR/fix_wall_gran.cpp @@ -86,19 +86,19 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : } else { iarg = 4; - iarg = model->add_submodel(arg, iarg, narg, NORMAL); + iarg = model->add_sub_model(arg, iarg, narg, NORMAL); while (iarg < narg) { if (strcmp(arg[iarg], "damping") == 0) { - iarg = model->add_submodel(arg, iarg + 1, narg, DAMPING); + iarg = model->add_sub_model(arg, iarg + 1, narg, DAMPING); } else if (strcmp(arg[iarg], "tangential") == 0) { - iarg = model->add_submodel(arg, iarg + 1, narg, TANGENTIAL); + iarg = model->add_sub_model(arg, iarg + 1, narg, TANGENTIAL); } else if (strcmp(arg[iarg], "rolling") == 0) { - iarg = model->add_submodel(arg, iarg + 1, narg, ROLLING); + iarg = model->add_sub_model(arg, iarg + 1, narg, ROLLING); } else if (strcmp(arg[iarg], "twisting") == 0) { - iarg = model->add_submodel(arg, iarg + 1, narg, TWISTING); + iarg = model->add_sub_model(arg, iarg + 1, narg, TWISTING); } else if (strcmp(arg[iarg], "heat") == 0) { - iarg = model->add_submodel(arg, iarg + 1, narg, HEAT); + iarg = model->add_sub_model(arg, iarg + 1, narg, HEAT); heat_flag = 1; } else if (strcmp(arg[iarg], "xplane") == 0 || strcmp(arg[iarg], "yplane") == 0 || @@ -115,9 +115,9 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : } } - // Define default damping submodel if unspecified, takes no args + // Define default damping sub model if unspecified, takes no args if (!model->damping_model) - model->construct_submodel("viscoelastic", DAMPING); + model->construct_sub_model("viscoelastic", DAMPING); model->init(); size_history = model->size_history; diff --git a/src/GRANULAR/gran_sub_mod.cpp b/src/GRANULAR/gran_sub_mod.cpp index 2d836151f8..5650f4f45a 100644 --- a/src/GRANULAR/gran_sub_mod.cpp +++ b/src/GRANULAR/gran_sub_mod.cpp @@ -13,7 +13,7 @@ ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- - This class contains a framework for granular submodels (GranSubMod): + This class contains a framework for granular sub models (GranSubMod): normal, damping, tangential, rolling, twisting, and heat These are used to calculate forces/torques/etc based on contact geometry @@ -29,7 +29,7 @@ using namespace LAMMPS_NS; using namespace Granular_NS; /* ---------------------------------------------------------------------- - Parent class for all types of granular submodels + Parent class for all types of granular sub models ------------------------------------------------------------------------- */ GranSubMod::GranSubMod(class GranularModel *gm, LAMMPS *lmp) : Pointers(lmp) @@ -79,10 +79,10 @@ void GranSubMod::mix_coeffs(double* icoeffs, double* jcoeffs) ------------------------------------------------------------------------- */ double GranSubMod::mix_stiffnessE(double E1, double E2, - double pois1, double pois2) + double poiss1, double poiss2) { - double factor1 = (1 - pois1 * pois1) / E1; - double factor2 = (1 - pois2 * pois2) / E2; + double factor1 = (1 - poiss1 * poiss1) / E1; + double factor2 = (1 - poiss2 * poiss2) / E2; return 1 / (factor1 + factor2); } @@ -91,10 +91,10 @@ double GranSubMod::mix_stiffnessE(double E1, double E2, ------------------------------------------------------------------------ */ double GranSubMod::mix_stiffnessG(double E1, double E2, - double pois1, double pois2) + double poiss1, double poiss2) { - double factor1 = 2 * (2 - pois1) * (1 + pois1) / E1; - double factor2 = 2 * (2 - pois2) * (1 + pois2) / E2; + double factor1 = 2 * (2 - poiss1) * (1 + poiss1) / E1; + double factor2 = 2 * (2 - poiss2) * (1 + poiss2) / E2; return 1 / (factor1 + factor2); } @@ -102,9 +102,9 @@ double GranSubMod::mix_stiffnessG(double E1, double E2, mixing of Young's modulus (E) for walls ------------------------------------------------------------------------- */ -double GranSubMod::mix_stiffnessE_wall(double E, double pois) +double GranSubMod::mix_stiffnessE_wall(double E, double poiss) { - double factor = 2 * (1 - pois); + double factor = 2 * (1 - poiss * poiss); return E / factor; } @@ -112,9 +112,9 @@ double GranSubMod::mix_stiffnessE_wall(double E, double pois) mixing of shear modulus (G) for walls ------------------------------------------------------------------------ */ -double GranSubMod::mix_stiffnessG_wall(double E, double pois) +double GranSubMod::mix_stiffnessG_wall(double E, double poiss) { - double factor = 32.0 * (2 - pois) * (1 + pois); + double factor = 4.0 * (2 - poiss) * (1 + poiss); return E / factor; } diff --git a/src/GRANULAR/gran_sub_mod.h b/src/GRANULAR/gran_sub_mod.h index 22f1f4e85a..a8bc430857 100644 --- a/src/GRANULAR/gran_sub_mod.h +++ b/src/GRANULAR/gran_sub_mod.h @@ -30,7 +30,7 @@ class GranSubMod : protected Pointers { void read_restart(); virtual void mix_coeffs(double*, double*); virtual void coeffs_to_local() {}; - virtual void init() {}; // called after all submodels + coeffs defined + virtual void init() {}; // called after all sub models + coeffs defined void allocate_coeffs(); std::string name; @@ -40,9 +40,9 @@ class GranSubMod : protected Pointers { double *transfer_history_factor; int history_index; - int beyond_contact; // If the submodel contact extends beyond overlap - int allow_cohesion; // If the submodel works with a cohesive normal force - int area_flag; // If the submodel requires area + int beyond_contact; // If the sub model contact extends beyond overlap + int allow_cohesion; // If the sub model works with a cohesive normal force + int area_flag; // If the sub model requires area GranularModel *gm; diff --git a/src/GRANULAR/granular_model.cpp b/src/GRANULAR/granular_model.cpp index afb3328d70..6b5ba1bedf 100644 --- a/src/GRANULAR/granular_model.cpp +++ b/src/GRANULAR/granular_model.cpp @@ -103,13 +103,13 @@ GranularModel::~GranularModel() /* ---------------------------------------------------------------------- */ -int GranularModel::add_submodel(char **arg, int iarg, int narg, SubmodelType model_type) +int GranularModel::add_sub_model(char **arg, int iarg, int narg, SubModelType model_type) { if (iarg >= narg) - error->all(FLERR, "Must specify granular submodel name"); + error->all(FLERR, "Must specify granular sub model name"); std::string model_name = std::string(arg[iarg++]); - construct_submodel(model_name, model_type); + construct_sub_model(model_name, model_type); int num_coeffs = sub_models[model_type]->num_coeffs; if (iarg + num_coeffs > narg) @@ -128,7 +128,7 @@ int GranularModel::add_submodel(char **arg, int iarg, int narg, SubmodelType mod /* ---------------------------------------------------------------------- */ -void GranularModel::construct_submodel(std::string model_name, SubmodelType model_type) +void GranularModel::construct_sub_model(std::string model_name, SubModelType model_type) { int i; for (i = 0; i < nclass; i++) { @@ -148,7 +148,7 @@ void GranularModel::construct_submodel(std::string model_name, SubmodelType mode sub_models[model_type]->name.assign(model_name); sub_models[model_type]->allocate_coeffs(); - // Assign specific submodel pointer + // Assign specific sub model pointer if (model_type == NORMAL) normal_model = dynamic_cast (sub_models[model_type]); if (model_type == DAMPING) damping_model = dynamic_cast (sub_models[model_type]); if (model_type == TANGENTIAL) tangential_model = dynamic_cast (sub_models[model_type]); @@ -185,26 +185,26 @@ int GranularModel::define_classic_model(char **arg, int iarg, int narg) error->all(FLERR,"Illegal classic gran model command"); if (strcmp(arg[iarg],"hooke") == 0) { - construct_submodel("hooke", NORMAL); - construct_submodel("linear_nohistory", TANGENTIAL); - construct_submodel("mass_velocity", DAMPING); + construct_sub_model("hooke", NORMAL); + construct_sub_model("linear_nohistory", TANGENTIAL); + construct_sub_model("mass_velocity", DAMPING); } else if (strcmp(arg[iarg],"hooke/history") == 0) { - construct_submodel("hooke", NORMAL); - construct_submodel("linear_history_classic", TANGENTIAL); - construct_submodel("mass_velocity", DAMPING); + construct_sub_model("hooke", NORMAL); + construct_sub_model("linear_history_classic", TANGENTIAL); + construct_sub_model("mass_velocity", DAMPING); } else if (strcmp(arg[iarg],"hertz/history") == 0) { // convert Kn and Kt from pressure units to force/distance^2 if Hertzian kn /= force->nktv2p; kt /= force->nktv2p; - construct_submodel("hertz", NORMAL); - construct_submodel("mindlin_classic", TANGENTIAL); - construct_submodel("viscoelastic", DAMPING); + construct_sub_model("hertz", NORMAL); + construct_sub_model("mindlin_classic", TANGENTIAL); + construct_sub_model("viscoelastic", DAMPING); } else error->all(FLERR,"Invalid classic gran model"); // ensure additional models are undefined - construct_submodel("none", ROLLING); - construct_submodel("none", TWISTING); - construct_submodel("none", HEAT); + construct_sub_model("none", ROLLING); + construct_sub_model("none", TWISTING); + construct_sub_model("none", HEAT); // manually parse coeffs normal_model->coeffs[0] = kn; @@ -226,7 +226,7 @@ int GranularModel::define_classic_model(char **arg, int iarg, int narg) void GranularModel::init() { for (int i = 0; i < NSUBMODELS; i++) - if (!sub_models[i]) construct_submodel("none", (SubmodelType) i); + if (!sub_models[i]) construct_sub_model("none", (SubModelType) i); // Must have valid normal, damping, and tangential models if (normal_model->name == "none") error->all(FLERR, "Must specify normal granular model"); @@ -262,14 +262,14 @@ void GranularModel::init() int j; for (int i = 0; i < size_history; i++) { - // Find which submodel owns this history value + // Find which sub model owns this history value size_cumulative = 0; for (j = 0; j < NSUBMODELS; j++) { if ((size_cumulative + sub_models[j]->size_history) > i) break; size_cumulative += sub_models[j]->size_history; } - // Check if submodel has nondefault transfers, if so copy its array + // Check if sub model has nondefault transfers, if so copy its array transfer_history_factor[i] = -1; if (j != NSUBMODELS) { if (sub_models[j]->nondefault_history_transfer) { @@ -289,7 +289,7 @@ int GranularModel::mix_coeffs(GranularModel *g1, GranularModel *g2) for (int i = 0; i < NSUBMODELS; i++) { if (g1->sub_models[i]->name != g2->sub_models[i]->name) return i; - construct_submodel(g1->sub_models[i]->name, (SubmodelType) i); + construct_sub_model(g1->sub_models[i]->name, (SubModelType) i); sub_models[i]->mix_coeffs(g1->sub_models[i]->coeffs, g2->sub_models[i]->coeffs); } @@ -331,7 +331,7 @@ void GranularModel::read_restart(FILE *fp) if (comm->me == 0) utils::sfread(FLERR, const_cast(model_name.data()), sizeof(char),num_char, fp, nullptr, error); MPI_Bcast(const_cast(model_name.data()), num_char, MPI_CHAR, 0, world); - construct_submodel(model_name, (SubmodelType) i); + construct_sub_model(model_name, (SubModelType) i); if (comm->me == 0) utils::sfread(FLERR, &num_coeff, sizeof(int), 1, fp, nullptr, error); diff --git a/src/GRANULAR/granular_model.h b/src/GRANULAR/granular_model.h index a047bc27e5..62b3007b0e 100644 --- a/src/GRANULAR/granular_model.h +++ b/src/GRANULAR/granular_model.h @@ -19,7 +19,7 @@ namespace LAMMPS_NS { namespace Granular_NS { -enum SubmodelType { +enum SubModelType { NORMAL = 0, DAMPING, TANGENTIAL, @@ -53,9 +53,9 @@ class GranularModel : protected Pointers { void calculate_forces(); double pulloff_distance(double, double); - int add_submodel(char **, int, int, SubmodelType); + int add_sub_model(char **, int, int, SubModelType); int define_classic_model(char **, int, int); - void construct_submodel(std::string, SubmodelType); + void construct_sub_model(std::string, SubModelType); int mix_coeffs(GranularModel*, GranularModel*); void write_restart(FILE *); @@ -94,7 +94,7 @@ class GranularModel : protected Pointers { bool touch; protected: - int rolling_defined, twisting_defined, heat_defined; // Flag optional submodels + int rolling_defined, twisting_defined, heat_defined; // Flag optional sub models int classic_model; // Flag original pair/gran calculations int area_flag; // Flag whether area is needed diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index 47bfa89da0..21278d2891 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -345,21 +345,21 @@ void PairGranular::coeff(int narg, char **arg) //Parse mandatory specification int iarg = 2; - iarg = model->add_submodel(arg, iarg, narg, NORMAL); + iarg = model->add_sub_model(arg, iarg, narg, NORMAL); //Parse optional arguments while (iarg < narg) { if (strcmp(arg[iarg], "tangential") == 0) { - iarg = model->add_submodel(arg, iarg + 1, narg, TANGENTIAL); + iarg = model->add_sub_model(arg, iarg + 1, narg, TANGENTIAL); } else if (strcmp(arg[iarg], "damping") == 0) { - iarg = model->add_submodel(arg, iarg + 1, narg, DAMPING); + iarg = model->add_sub_model(arg, iarg + 1, narg, DAMPING); } else if (strcmp(arg[iarg], "rolling") == 0) { - iarg = model->add_submodel(arg, iarg + 1, narg, ROLLING); + iarg = model->add_sub_model(arg, iarg + 1, narg, ROLLING); } else if (strcmp(arg[iarg], "twisting") == 0) { - iarg = model->add_submodel(arg, iarg + 1, narg, TWISTING); + iarg = model->add_sub_model(arg, iarg + 1, narg, TWISTING); } else if (strcmp(arg[iarg], "heat") == 0) { - iarg = model->add_submodel(arg, iarg + 1, narg, HEAT); + iarg = model->add_sub_model(arg, iarg + 1, narg, HEAT); heat_flag = 1; } else if (strcmp(arg[iarg], "cutoff") == 0) { if (iarg + 1 >= narg) @@ -372,9 +372,9 @@ void PairGranular::coeff(int narg, char **arg) } else error->all(FLERR, "Illegal pair_coeff command {}", arg[iarg]); } - // Define default damping submodel if unspecified, has no coeffs + // Define default damping sub model if unspecified, has no coeffs if (!model->damping_model) - model->construct_submodel("viscoelastic", DAMPING); + model->construct_sub_model("viscoelastic", DAMPING); model->init(); int count = 0; @@ -551,7 +551,7 @@ double PairGranular::init_one(int i, int j) if (error_code != -1) error->all(FLERR,"Granular pair style functional forms are different, " "cannot mix coefficients for types {} and {} \n" - "with submodels {} and {}. \n" + "with sub models {} and {}. \n" "This combination must be set explicitly via a " "pair_coeff command",i,j, model1->sub_models[error_code]->name, @@ -834,11 +834,11 @@ void PairGranular::transfer_history(double* source, double* target, int itype, i { class GranularModel* model = models_list[types_indices[itype][jtype]]; if (model->nondefault_history_transfer) { - for (int i = 0; i < size_history; i++) { + for (int i = 0; i < model->size_history; i++) { target[i] = model->transfer_history_factor[i] * source[i]; } } else { - for (int i = 0; i < size_history; i++) { + for (int i = 0; i < model->size_history; i++) { target[i] = -source[i]; } } From e8c271cc1608d050088b01de3ae73df0da67db93 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 26 Nov 2022 15:29:32 -0500 Subject: [PATCH 053/448] update python to version to 3.11 and disable png/jpeg for now --- .github/workflows/compile-msvc.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/compile-msvc.yml b/.github/workflows/compile-msvc.yml index 3ec5fc4cb0..d756e9fa82 100644 --- a/.github/workflows/compile-msvc.yml +++ b/.github/workflows/compile-msvc.yml @@ -26,7 +26,7 @@ jobs: - name: Select Python version uses: actions/setup-python@v4 with: - python-version: '3.10' + python-version: '3.11' - name: Building LAMMPS via CMake shell: bash @@ -35,6 +35,8 @@ jobs: python3 -m pip install pyyaml cmake -C cmake/presets/windows.cmake \ -D PKG_PYTHON=on \ + -D WITH_PNG=off \ + -D WITH_JPEG=off \ -S cmake -B build \ -D BUILD_SHARED_LIBS=on \ -D LAMMPS_EXCEPTIONS=on \ From f2d866420a51e66e88dab9ceac688c22892428f5 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Wed, 7 Dec 2022 11:41:53 -0700 Subject: [PATCH 054/448] Updated examples --- .../log.15Sep22.granregion.box.g++.1 | 493 +++++++ .../log.15Sep22.granregion.box.g++.4 | 493 +++++++ .../log.15Sep22.granregion.funnel.g++.1 | 633 +++++++++ .../log.15Sep22.granregion.funnel.g++.4 | 633 +++++++++ .../log.15Sep22.granregion.mixer.g++.1 | 632 +++++++++ .../log.15Sep22.granregion.mixer.g++.4 | 632 +++++++++ .../log.27Nov18.granregion.box.g++.1 | 475 ------- .../log.27Nov18.granregion.box.g++.4 | 475 ------- .../log.27Nov18.granregion.funnel.g++.1 | 601 --------- .../log.27Nov18.granregion.funnel.g++.4 | 601 --------- .../log.27Nov18.granregion.mixer.g++.1 | 602 --------- .../log.27Nov18.granregion.mixer.g++.4 | 602 --------- examples/granular/in.pour.heat | 2 +- examples/granular/log.15Sep22.pour.drum.g++.1 | 272 ++++ examples/granular/log.15Sep22.pour.drum.g++.4 | 272 ++++ .../granular/log.15Sep22.pour.flatwall.g++.1 | 195 +++ .../granular/log.15Sep22.pour.flatwall.g++.4 | 195 +++ examples/granular/log.15Sep22.pour.heat.g++.1 | 1172 +++++++++++++++++ examples/granular/log.15Sep22.pour.heat.g++.4 | 1172 +++++++++++++++++ examples/granular/log.29Oct20.pour.drum.g++.1 | 271 ---- examples/granular/log.29Oct20.pour.drum.g++.4 | 271 ---- .../granular/log.29Oct20.pour.flatwall.g++.1 | 188 --- .../granular/log.29Oct20.pour.flatwall.g++.4 | 188 --- 23 files changed, 6795 insertions(+), 4275 deletions(-) create mode 100644 examples/granregion/log.15Sep22.granregion.box.g++.1 create mode 100644 examples/granregion/log.15Sep22.granregion.box.g++.4 create mode 100644 examples/granregion/log.15Sep22.granregion.funnel.g++.1 create mode 100644 examples/granregion/log.15Sep22.granregion.funnel.g++.4 create mode 100644 examples/granregion/log.15Sep22.granregion.mixer.g++.1 create mode 100644 examples/granregion/log.15Sep22.granregion.mixer.g++.4 delete mode 100644 examples/granregion/log.27Nov18.granregion.box.g++.1 delete mode 100644 examples/granregion/log.27Nov18.granregion.box.g++.4 delete mode 100644 examples/granregion/log.27Nov18.granregion.funnel.g++.1 delete mode 100644 examples/granregion/log.27Nov18.granregion.funnel.g++.4 delete mode 100644 examples/granregion/log.27Nov18.granregion.mixer.g++.1 delete mode 100644 examples/granregion/log.27Nov18.granregion.mixer.g++.4 create mode 100644 examples/granular/log.15Sep22.pour.drum.g++.1 create mode 100644 examples/granular/log.15Sep22.pour.drum.g++.4 create mode 100644 examples/granular/log.15Sep22.pour.flatwall.g++.1 create mode 100644 examples/granular/log.15Sep22.pour.flatwall.g++.4 create mode 100644 examples/granular/log.15Sep22.pour.heat.g++.1 create mode 100644 examples/granular/log.15Sep22.pour.heat.g++.4 delete mode 100644 examples/granular/log.29Oct20.pour.drum.g++.1 delete mode 100644 examples/granular/log.29Oct20.pour.drum.g++.4 delete mode 100644 examples/granular/log.29Oct20.pour.flatwall.g++.1 delete mode 100644 examples/granular/log.29Oct20.pour.flatwall.g++.4 diff --git a/examples/granregion/log.15Sep22.granregion.box.g++.1 b/examples/granregion/log.15Sep22.granregion.box.g++.1 new file mode 100644 index 0000000000..0df89d49ee --- /dev/null +++ b/examples/granregion/log.15Sep22.granregion.box.g++.1 @@ -0,0 +1,493 @@ +LAMMPS (15 Sep 2022) +# pouring spheres into container box + +units lj +atom_style sphere +boundary f f f +dimension 3 +comm_modify vel yes + +region box block -10 10 -10 10 -10 10 units box +create_box 2 box +Created orthogonal box = (-10 -10 -10) to (10 10 10) + 1 by 1 by 1 MPI processor grid + +pair_style hybrid gran/hooke 4000.0 NULL 100.0 NULL 0.5 1 +pair_coeff * * gran/hooke + +region container block -6 6 -6 6 -6 6 units box +fix container all wall/gran/region hooke/history 4000.0 NULL 100.0 NULL 0.5 1 region container + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 2 all nve/sphere +fix 3 all gravity 1.0 vector 0 0 -1 + +region slab block -2 2 -2 2 -2 2 units box +fix ins all pour 100 2 4767548 vol 0.4 10 diam one 1.0 region slab ignore +Particle insertion: 48 every 566 steps, 100 by step 1133 + +timestep 0.005 + +compute 1 all temp +compute_modify 1 dynamic/dof yes + +compute 2 all temp/sphere +compute_modify 2 dynamic/dof yes + +thermo 100 +thermo_style custom step atoms temp c_1 c_2 press +thermo_modify lost ignore +compute_modify thermo_temp dynamic/dof yes + +#dump 2 all image 100 image.*.jpg type type # zoom 1.4 adiam 1.0 box no 0.0 axes yes 0.9 0.03 +#dump_modify 2 pad 5 + +run 5000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.3 + ghost atom cutoff = 1.3 + binsize = 0.65, bins = 31 31 31 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair gran/hooke, perpetual + attributes: half, newton on, size + pair build: half/size/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 0.5861 | 0.5861 | 0.5861 Mbytes + Step Atoms Temp c_1 c_2 Press + 0 0 0 0 0 0 +WARNING: Less insertions than requested (../fix_pour.cpp:681) + 100 30 0.803783 0.803783 0.39507978 0.0029137134 + 200 30 1.1967995 1.1967995 0.5882574 0.0043383984 + 300 30 1.2814686 1.2814686 0.62987441 0.0046453238 + 400 30 0.82331082 0.82331082 0.41173176 0.0029845017 + 500 30 0.7708462 0.7708462 0.38777784 0.0043831147 +WARNING: Less insertions than requested (../fix_pour.cpp:681) + 600 64 0.51564897 0.51564897 0.26631577 0.0040059368 + 700 64 0.57239348 0.57239348 0.29566901 0.0045075987 + 800 64 0.61837087 0.61837087 0.32195387 0.0048123564 + 900 64 0.53061888 0.53061888 0.28564763 0.0055906552 + 1000 64 0.496299 0.496299 0.26801572 0.0061169128 + 1100 64 0.46068308 0.46068308 0.24699057 0.0055717699 +WARNING: Less insertions than requested (../fix_pour.cpp:681) + 1200 99 0.39206225 0.39206225 0.21356546 0.0066294211 + 1300 99 0.38624966 0.38624966 0.21345854 0.0049051051 + 1400 99 0.35615284 0.35615284 0.19785725 0.0046170772 + 1500 99 0.31486693 0.31486693 0.17429055 0.0064903432 + 1600 99 0.26369001 0.26369001 0.15095266 0.0045226847 + 1700 100 0.1925923 0.1925923 0.11308104 0.007362313 + 1800 100 0.13724978 0.13724978 0.083276845 0.0058136373 + 1900 100 0.077212636 0.077212636 0.053159386 0.0016509598 + 2000 100 0.065294031 0.065294031 0.04372752 0.0020346467 + 2100 100 0.057431398 0.057431398 0.037977068 0.0012681098 + 2200 100 0.059093045 0.059093045 0.037435193 0.00096610799 + 2300 100 0.03422338 0.03422338 0.025491304 0.00069886052 + 2400 100 0.020558284 0.020558284 0.016163009 0.0017260663 + 2500 100 0.015339709 0.015339709 0.012329236 0.00041308031 + 2600 100 0.012891354 0.012891354 0.009766054 0.00030356722 + 2700 100 0.0092634449 0.0092634449 0.0073580108 0.00077723051 + 2800 100 0.0073925841 0.0073925841 0.0059932218 0.00016466767 + 2900 100 0.0081228267 0.0081228267 0.006281761 0.00013828388 + 3000 100 0.0041833223 0.0041833223 0.0035147096 0.00013160599 + 3100 100 0.0035930775 0.0035930775 0.0030039922 0.00060639771 + 3200 100 0.0030824465 0.0030824465 0.0026541293 0.00047391014 + 3300 100 0.0035087522 0.0035087522 0.0027664508 0.00014080317 + 3400 100 0.0018537868 0.0018537868 0.0017099705 6.3326674e-05 + 3500 100 0.0015371228 0.0015371228 0.0014155433 0.00021612522 + 3600 100 0.001708556 0.001708556 0.0014369892 8.1034202e-05 + 3700 100 0.00095948652 0.00095948652 0.0009788528 3.4694023e-05 + 3800 100 0.00091875668 0.00091875668 0.00086805146 3.9373686e-05 + 3900 100 0.001557068 0.001557068 0.001159526 2.5178607e-05 + 4000 100 0.00062012451 0.00062012451 0.00066806922 5.6680551e-06 + 4100 100 0.00060940771 0.00060940771 0.00065614741 1.0137901e-05 + 4200 100 0.00059538437 0.00059538437 0.00064501521 7.3679744e-06 + 4300 100 0.00052946048 0.00052946048 0.00059353641 5.9225081e-06 + 4400 100 0.00051202281 0.00051202281 0.00057524772 3.6198435e-05 + 4500 100 0.00049986632 0.00049986632 0.00055754521 2.2275519e-05 + 4600 100 0.00048187334 0.00048187334 0.00053988815 2.2015243e-05 + 4700 100 0.00045261491 0.00045261491 0.00050298355 8.9681339e-05 + 4800 100 0.00034965427 0.00034965427 0.0004278781 1.0983535e-05 + 4900 100 0.00033555621 0.00033555621 0.00041435167 2.9266598e-05 + 5000 100 0.00031387148 0.00031387148 0.00039605781 2.5628425e-05 +Loop time of 0.078687 on 1 procs for 5000 steps with 100 atoms + +Performance: 27450544.413 tau/day, 63542.927 timesteps/s, 6.354 Matom-step/s +80.5% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0084151 | 0.0084151 | 0.0084151 | 0.0 | 10.69 +Neigh | 0.012728 | 0.012728 | 0.012728 | 0.0 | 16.18 +Comm | 0.0056143 | 0.0056143 | 0.0056143 | 0.0 | 7.14 +Output | 0.00051411 | 0.00051411 | 0.00051411 | 0.0 | 0.65 +Modify | 0.041412 | 0.041412 | 0.041412 | 0.0 | 52.63 +Other | | 0.01 | | | 12.71 + +Nlocal: 100 ave 100 max 100 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 164 ave 164 max 164 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 164 +Ave neighs/atom = 1.64 +Neighbor list builds = 281 +Dangerous builds = 0 + +region container delete +variable theta equal (step-5000)*(4.0*PI/5000) +region container block -6 6 -6 6 -6 6 units box rotate v_theta 0 0 0 0 0 1 +run 5000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.3 + ghost atom cutoff = 1.3 + binsize = 0.65, bins = 31 31 31 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair gran/hooke, perpetual + attributes: half, newton on, size + pair build: half/size/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.837 | 5.837 | 5.837 Mbytes + Step Atoms Temp c_1 c_2 Press + 5000 100 0.00031387148 0.00031387148 0.00039605781 2.6174978e-05 + 5100 100 0.54537023 0.54537023 0.30042175 0.0087427352 + 5200 100 0.57210852 0.57210852 0.3192468 0.0098134067 + 5300 100 0.7168108 0.7168108 0.38577893 0.011004584 + 5400 100 0.78895524 0.78895524 0.41889428 0.013555713 + 5500 100 0.87797874 0.87797874 0.45689223 0.01565356 + 5600 100 0.95424379 0.95424379 0.48830429 0.014707858 + 5700 100 1.0046012 1.0046012 0.51054927 0.01469179 + 5800 100 1.0371453 1.0371453 0.5262568 0.015576788 + 5900 100 1.0545743 1.0545743 0.5361173 0.01589889 + 6000 100 1.0932949 1.0932949 0.55402214 0.017484573 + 6100 100 1.1148364 1.1148364 0.56241126 0.01721788 + 6200 100 1.1315267 1.1315267 0.57050887 0.017961246 + 6300 100 1.1506124 1.1506124 0.58009471 0.017159062 + 6400 100 1.1663328 1.1663328 0.5876586 0.017935311 + 6500 100 1.1821086 1.1821086 0.59595162 0.018005316 + 6600 100 1.2039397 1.2039397 0.60567524 0.021604669 + 6700 100 1.2269911 1.2269911 0.61770224 0.018907995 + 6800 100 1.2447035 1.2447035 0.6257652 0.02053766 + 6900 100 1.2625323 1.2625323 0.63486698 0.020106134 + 7000 100 1.2617127 1.2617127 0.63318163 0.019670429 + 7100 100 1.260715 1.260715 0.63311254 0.019810631 + 7200 100 1.2790404 1.2790404 0.64079001 0.020218903 + 7300 100 1.2760228 1.2760228 0.6395331 0.021749906 + 7400 100 1.2799658 1.2799658 0.64139084 0.020472922 + 7500 100 1.2846473 1.2846473 0.64343085 0.020610025 + 7600 100 1.2883965 1.2883965 0.64491873 0.02074884 + 7700 100 1.2926891 1.2926891 0.64684545 0.020599654 + 7800 100 1.3032201 1.3032201 0.65119455 0.02183405 + 7900 100 1.3025628 1.3025628 0.65068661 0.021248589 + 8000 100 1.3052302 1.3052302 0.65208602 0.021399549 + 8100 100 1.3069867 1.3069867 0.65304849 0.021254794 + 8200 100 1.3092024 1.3092024 0.6543837 0.021220909 + 8300 100 1.3101468 1.3101468 0.65519741 0.021328361 + 8400 100 1.3116005 1.3116005 0.65545253 0.021493555 + 8500 100 1.3153616 1.3153616 0.65731542 0.021433279 + 8600 100 1.3164556 1.3164556 0.65791227 0.021531213 + 8700 100 1.3187245 1.3187245 0.65915974 0.02170181 + 8800 100 1.3215981 1.3215981 0.66036644 0.022358849 + 8900 100 1.3206845 1.3206845 0.65984651 0.021901337 + 9000 100 1.3213046 1.3213046 0.66020378 0.021876353 + 9100 100 1.3225084 1.3225084 0.66088847 0.021811098 + 9200 100 1.3240309 1.3240309 0.66180646 0.021768929 + 9300 100 1.325458 1.325458 0.66280401 0.02165852 + 9400 100 1.3322968 1.3322968 0.66615126 0.022139018 + 9500 100 1.3416035 1.3416035 0.67030794 0.022243129 + 9600 100 1.3353326 1.3353326 0.66692811 0.022622122 + 9700 100 1.336265 1.336265 0.66727395 0.022171165 + 9800 100 1.3344531 1.3344531 0.66634538 0.022025131 + 9900 100 1.3337098 1.3337098 0.66601721 0.022111706 + 10000 100 1.3335539 1.3335539 0.66597627 0.022133817 +Loop time of 0.235008 on 1 procs for 5000 steps with 100 atoms + +Performance: 9191156.994 tau/day, 21275.826 timesteps/s, 2.128 Matom-step/s +94.1% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.029846 | 0.029846 | 0.029846 | 0.0 | 12.70 +Neigh | 0.030211 | 0.030211 | 0.030211 | 0.0 | 12.86 +Comm | 0.005731 | 0.005731 | 0.005731 | 0.0 | 2.44 +Output | 0.00051873 | 0.00051873 | 0.00051873 | 0.0 | 0.22 +Modify | 0.1583 | 0.1583 | 0.1583 | 0.0 | 67.36 +Other | | 0.01041 | | | 4.43 + +Nlocal: 100 ave 100 max 100 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 186 ave 186 max 186 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 186 +Ave neighs/atom = 1.86 +Neighbor list builds = 626 +Dangerous builds = 0 + +region container delete +region container block -6 6 -6 6 -6 6 units box +run 5000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 5.837 | 5.837 | 5.837 Mbytes + Step Atoms Temp c_1 c_2 Press + 10000 100 1.3335539 1.3335539 0.66597627 0.022207076 + 10100 100 0.29976134 0.29976134 0.1752962 0.0091355801 + 10200 100 0.1548002 0.1548002 0.1005356 0.0062509071 + 10300 100 0.082468613 0.082468613 0.066729575 0.0017315098 + 10400 100 0.06731284 0.06731284 0.056685383 0.0011965765 + 10500 100 0.050167538 0.050167538 0.042388389 0.0010830279 + 10600 100 0.041091371 0.041091371 0.034743534 0.00092984522 + 10700 100 0.033199041 0.033199041 0.027954031 0.0018451338 + 10800 100 0.027880411 0.027880411 0.024437224 0.0013039536 + 10900 100 0.024634597 0.024634597 0.021815184 0.00030935286 + 11000 100 0.020741105 0.020741105 0.018754221 0.0006306901 + 11100 100 0.017210914 0.017210914 0.015842306 0.00075930229 + 11200 100 0.01254319 0.01254319 0.012145795 0.00047388541 + 11300 100 0.010032468 0.010032468 0.0095918697 0.0014677116 + 11400 100 0.0081538458 0.0081538458 0.0080985914 0.00032485316 + 11500 100 0.0072918155 0.0072918155 0.0070156789 0.00023642827 + 11600 100 0.0070136586 0.0070136586 0.0067263114 7.8490444e-05 + 11700 100 0.0061722946 0.0061722946 0.0058832419 0.00013450793 + 11800 100 0.0052444487 0.0052444487 0.0049294304 8.6973121e-05 + 11900 100 0.0048212279 0.0048212279 0.0045261412 0.00010458031 + 12000 100 0.0046782797 0.0046782797 0.0044011937 0.00018881094 + 12100 100 0.0042066617 0.0042066617 0.0040330976 0.00015507521 + 12200 100 0.0038529032 0.0038529032 0.003664712 1.1476621e-05 + 12300 100 0.0033203238 0.0033203238 0.0032404054 0.00027622191 + 12400 100 0.003113731 0.003113731 0.0030491123 3.8532421e-05 + 12500 100 0.0029925149 0.0029925149 0.0029415075 4.2673261e-05 + 12600 100 0.0028383323 0.0028383323 0.0027902992 9.328552e-05 + 12700 100 0.0026386104 0.0026386104 0.0026095714 7.7740986e-05 + 12800 100 0.0023509873 0.0023509873 0.0023518594 3.1944764e-05 + 12900 100 0.0022296104 0.0022296104 0.0022030693 4.5393502e-05 + 13000 100 0.0021991358 0.0021991358 0.0021560478 0.0001221212 + 13100 100 0.0021011001 0.0021011001 0.0020752855 2.4605107e-05 + 13200 100 0.002004495 0.002004495 0.0020040212 2.4805625e-05 + 13300 100 0.0018394135 0.0018394135 0.0018288384 6.2227066e-05 + 13400 100 0.0016314086 0.0016314086 0.0016058102 0.00010372886 + 13500 100 0.0015042857 0.0015042857 0.0014660263 0.00020805178 + 13600 100 0.0013584764 0.0013584764 0.0013177418 5.1603333e-05 + 13700 100 0.0012407449 0.0012407449 0.0011902637 8.87401e-05 + 13800 100 0.0011673364 0.0011673364 0.0011324247 2.3668551e-05 + 13900 100 0.0011429204 0.0011429204 0.0011072347 1.414364e-05 + 14000 100 0.001087543 0.001087543 0.0010616439 3.0874865e-05 + 14100 100 0.00098839393 0.00098839393 0.00096445684 6.5331515e-05 + 14200 100 0.00095139076 0.00095139076 0.00093658993 2.5649208e-05 + 14300 100 0.00089532494 0.00089532494 0.00082626435 2.6200482e-05 + 14400 100 0.00077973015 0.00077973015 0.00070733785 2.29298e-05 + 14500 100 0.00068559117 0.00068559117 0.00062297009 8.4841907e-06 + 14600 100 0.00059199698 0.00059199698 0.00052453148 1.2737231e-05 + 14700 100 0.00055052378 0.00055052378 0.00048459372 1.3028328e-05 + 14800 100 0.00049397913 0.00049397913 0.00044094284 6.1129918e-06 + 14900 100 0.00048082746 0.00048082746 0.00043128724 3.7301936e-06 + 15000 100 0.00046847825 0.00046847825 0.00041484245 5.7974184e-06 +Loop time of 0.0802044 on 1 procs for 5000 steps with 100 atoms + +Performance: 26931180.398 tau/day, 62340.695 timesteps/s, 6.234 Matom-step/s +82.1% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0080809 | 0.0080809 | 0.0080809 | 0.0 | 10.08 +Neigh | 0.0048815 | 0.0048815 | 0.0048815 | 0.0 | 6.09 +Comm | 0.0055605 | 0.0055605 | 0.0055605 | 0.0 | 6.93 +Output | 0.00050386 | 0.00050386 | 0.00050386 | 0.0 | 0.63 +Modify | 0.051104 | 0.051104 | 0.051104 | 0.0 | 63.72 +Other | | 0.01007 | | | 12.56 + +Nlocal: 100 ave 100 max 100 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 157 ave 157 max 157 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 157 +Ave neighs/atom = 1.57 +Neighbor list builds = 100 +Dangerous builds = 0 + +region container delete +variable theta equal (step-15000)*(4.0*PI/5000) +region container block -6 6 -6 6 -6 6 units box rotate v_theta 0 0 0 1 1 1 +run 5000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 5.837 | 5.837 | 5.837 Mbytes + Step Atoms Temp c_1 c_2 Press + 15000 100 0.00046847825 0.00046847825 0.00041484245 5.7974184e-06 + 15100 100 0.96677694 0.96677694 0.64420785 0.01431184 + 15200 100 1.0659255 1.0659255 0.69293741 0.013240486 + 15300 100 1.1647631 1.1647631 0.75191941 0.014622673 + 15400 100 1.3411593 1.3411593 0.85696383 0.02561549 + 15500 100 1.6033758 1.6033758 0.99094919 0.026221789 + 15600 100 1.7889645 1.7889645 1.075315 0.024116301 + 15700 100 1.8077023 1.8077023 1.0842652 0.031781756 + 15800 100 2.0252655 2.0252655 1.1517407 0.037201818 + 15900 100 2.1479427 2.1479427 1.2061238 0.027668435 + 16000 100 2.1788838 2.1788838 1.2205599 0.029114273 + 16100 100 2.3257431 2.3257431 1.2921157 0.035663063 + 16200 100 2.3885449 2.3885449 1.3282237 0.032255517 + 16300 100 2.3670966 2.3670966 1.3091694 0.029579008 + 16400 100 2.5097781 2.5097781 1.3712036 0.034579196 + 16500 100 2.6440883 2.6440883 1.4440043 0.03347813 + 16600 100 2.7230084 2.7230084 1.481565 0.036660339 + 16700 100 2.8246108 2.8246108 1.5298387 0.035623641 + 16800 100 3.0338694 3.0338694 1.6333504 0.038818594 + 16900 100 3.1219584 3.1219584 1.6790766 0.043444123 + 17000 100 3.4103817 3.4103817 1.8222668 0.044524654 + 17100 100 3.3869069 3.3869069 1.8170743 0.050670801 + 17200 100 3.4220314 3.4220314 1.8312364 0.045956123 + 17300 100 3.396894 3.396894 1.8158291 0.050420297 + 17400 100 3.4508224 3.4508224 1.8429996 0.049923733 + 17500 100 3.5039601 3.5039601 1.8822352 0.051047713 + 17600 100 3.3743905 3.3743905 1.8380347 0.047922214 + 17700 100 3.3729709 3.3729709 1.8224123 0.04758126 + 17800 100 3.3237798 3.3237798 1.7962316 0.045427975 + 17900 100 3.2441052 3.2441052 1.7782748 0.044651231 + 18000 100 3.1169205 3.1169205 1.704639 0.047440495 + 18100 100 3.1704608 3.1704608 1.7326375 0.045656546 + 18200 100 3.1113438 3.1113438 1.7002232 0.041619255 + 18300 100 3.2506111 3.2506111 1.7693075 0.048028527 + 18400 100 3.3840681 3.3840681 1.8370672 0.04443243 + 18500 100 3.4822823 3.4822823 1.9125273 0.043687118 + 18600 100 3.5214372 3.5214372 1.9364829 0.049798605 + 18700 100 3.5439229 3.5439229 1.9441301 0.046240266 + 18800 100 3.6046761 3.6046761 1.9791448 0.054369382 + 18900 100 3.8598403 3.8598403 2.0999449 0.049863074 + 19000 100 3.8606461 3.8606461 2.0885493 0.050269245 + 19100 100 4.076627 4.076627 2.2025766 0.058050893 + 19200 100 3.8280814 3.8280814 2.0749884 0.05730905 + 19300 100 3.8211633 3.8211633 2.0759453 0.05145071 + 19400 100 3.7726284 3.7726284 2.0466555 0.053566404 + 19500 100 3.7468403 3.7468403 2.03218 0.048422025 + 19600 100 3.6408955 3.6408955 1.9873843 0.046565134 + 19700 100 3.6454187 3.6454187 2.0042204 0.049299897 + 19800 100 3.5165071 3.5165071 1.937379 0.046319859 + 19900 100 3.4670702 3.4670702 1.9140316 0.045650114 + 20000 100 3.6114294 3.6114294 1.9798674 0.05431148 +Loop time of 0.203164 on 1 procs for 5000 steps with 100 atoms + +Performance: 10631806.993 tau/day, 24610.664 timesteps/s, 2.461 Matom-step/s +92.3% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.01242 | 0.01242 | 0.01242 | 0.0 | 6.11 +Neigh | 0.044478 | 0.044478 | 0.044478 | 0.0 | 21.89 +Comm | 0.0057766 | 0.0057766 | 0.0057766 | 0.0 | 2.84 +Output | 0.00051702 | 0.00051702 | 0.00051702 | 0.0 | 0.25 +Modify | 0.12923 | 0.12923 | 0.12923 | 0.0 | 63.61 +Other | | 0.01074 | | | 5.29 + +Nlocal: 100 ave 100 max 100 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 142 ave 142 max 142 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 142 +Ave neighs/atom = 1.42 +Neighbor list builds = 909 +Dangerous builds = 0 + +region container delete +region container block -6 6 -6 6 -6 6 units box +run 5000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 5.837 | 5.837 | 5.837 Mbytes + Step Atoms Temp c_1 c_2 Press + 20000 100 3.6114294 3.6114294 1.9798674 0.053887263 + 20100 100 1.0907336 1.0907336 0.69799767 0.013925984 + 20200 100 0.92304387 0.92304387 0.59520318 0.012377709 + 20300 100 0.84004201 0.84004201 0.55081472 0.012108246 + 20400 100 0.89491209 0.89491209 0.56269969 0.01221427 + 20500 100 0.92011482 0.92011482 0.56971815 0.011353588 + 20600 100 0.95722998 0.95722998 0.58038747 0.01185569 + 20700 100 0.92635786 0.92635786 0.55373959 0.011953734 + 20800 100 0.93088162 0.93088162 0.55094813 0.012887472 + 20900 100 0.97288373 0.97288373 0.56309599 0.013731021 + 21000 100 0.63378762 0.63378762 0.3779177 0.010114787 + 21100 100 0.34618473 0.34618473 0.21652381 0.0070717708 + 21200 100 0.18660008 0.18660008 0.1302051 0.006504227 + 21300 100 0.13917709 0.13917709 0.09667499 0.0032593765 + 21400 100 0.11627047 0.11627047 0.080272858 0.0028891045 + 21500 100 0.086269781 0.086269781 0.064184981 0.0019374959 + 21600 100 0.08052393 0.08052393 0.059561101 0.001214522 + 21700 100 0.036026032 0.036026032 0.030243348 0.001199233 + 21800 100 0.02392645 0.02392645 0.022284244 0.00060060634 + 21900 100 0.016991266 0.016991266 0.017366625 0.00065672411 + 22000 100 0.016974877 0.016974877 0.016399245 0.0005903103 + 22100 100 0.015491818 0.015491818 0.014806105 0.00051181051 + 22200 100 0.011908698 0.011908698 0.011206673 0.00099478656 + 22300 100 0.010002714 0.010002714 0.0093749794 0.00028214624 + 22400 100 0.0081652616 0.0081652616 0.0079594664 0.00026841276 + 22500 100 0.0067602843 0.0067602843 0.0067498831 0.00019472612 + 22600 100 0.0061024058 0.0061024058 0.0062958451 0.00016615781 + 22700 100 0.005331422 0.005331422 0.0056152366 0.00021543475 + 22800 100 0.0040796708 0.0040796708 0.004140932 0.00024397062 + 22900 100 0.0042042089 0.0042042089 0.0040406804 0.00015880055 + 23000 100 0.0056083872 0.0056083872 0.0046056699 0.00029203396 + 23100 100 0.0035006398 0.0035006398 0.003343101 0.00010571574 + 23200 100 0.0032402473 0.0032402473 0.003122476 0.00012784403 + 23300 100 0.0030100724 0.0030100724 0.0029649423 8.5613724e-05 + 23400 100 0.002746305 0.002746305 0.0027519317 9.6521844e-05 + 23500 100 0.0028543876 0.0028543876 0.002842845 0.00012566665 + 23600 100 0.0036979234 0.0036979234 0.0032448309 8.6321879e-05 + 23700 100 0.0030503565 0.0030503565 0.0027392305 5.9716835e-05 + 23800 100 0.0021564041 0.0021564041 0.0022097768 0.00028317769 + 23900 100 0.0018905956 0.0018905956 0.0020002233 4.5205733e-05 + 24000 100 0.0015705513 0.0015705513 0.0017262538 0.00026550225 + 24100 100 0.0013341334 0.0013341334 0.0015663921 4.8307183e-05 + 24200 100 0.0012426828 0.0012426828 0.0014960127 5.5195907e-05 + 24300 100 0.0011933799 0.0011933799 0.0014508697 5.2781568e-05 + 24400 100 0.0010126015 0.0010126015 0.0012821281 0.00011096457 + 24500 100 0.00094102576 0.00094102576 0.0012265703 3.3454252e-05 + 24600 100 0.00092243997 0.00092243997 0.0011970533 3.7288789e-05 + 24700 100 0.00080565605 0.00080565605 0.0010864406 0.00015797228 + 24800 100 0.00075303124 0.00075303124 0.0010103671 5.4727635e-05 + 24900 100 0.00074808599 0.00074808599 0.0010053951 8.6607732e-05 + 25000 100 0.00071720457 0.00071720457 0.00096622937 0.00015861964 +Loop time of 0.0845534 on 1 procs for 5000 steps with 100 atoms + +Performance: 25545994.179 tau/day, 59134.246 timesteps/s, 5.913 Matom-step/s +90.2% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0091411 | 0.0091411 | 0.0091411 | 0.0 | 10.81 +Neigh | 0.013557 | 0.013557 | 0.013557 | 0.0 | 16.03 +Comm | 0.0056205 | 0.0056205 | 0.0056205 | 0.0 | 6.65 +Output | 0.0005087 | 0.0005087 | 0.0005087 | 0.0 | 0.60 +Modify | 0.045578 | 0.045578 | 0.045578 | 0.0 | 53.90 +Other | | 0.01015 | | | 12.00 + +Nlocal: 100 ave 100 max 100 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 151 ave 151 max 151 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 151 +Ave neighs/atom = 1.51 +Neighbor list builds = 286 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/granregion/log.15Sep22.granregion.box.g++.4 b/examples/granregion/log.15Sep22.granregion.box.g++.4 new file mode 100644 index 0000000000..3e83d3bb04 --- /dev/null +++ b/examples/granregion/log.15Sep22.granregion.box.g++.4 @@ -0,0 +1,493 @@ +LAMMPS (15 Sep 2022) +# pouring spheres into container box + +units lj +atom_style sphere +boundary f f f +dimension 3 +comm_modify vel yes + +region box block -10 10 -10 10 -10 10 units box +create_box 2 box +Created orthogonal box = (-10 -10 -10) to (10 10 10) + 1 by 2 by 2 MPI processor grid + +pair_style hybrid gran/hooke 4000.0 NULL 100.0 NULL 0.5 1 +pair_coeff * * gran/hooke + +region container block -6 6 -6 6 -6 6 units box +fix container all wall/gran/region hooke/history 4000.0 NULL 100.0 NULL 0.5 1 region container + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 2 all nve/sphere +fix 3 all gravity 1.0 vector 0 0 -1 + +region slab block -2 2 -2 2 -2 2 units box +fix ins all pour 100 2 4767548 vol 0.4 10 diam one 1.0 region slab ignore +Particle insertion: 48 every 566 steps, 100 by step 1133 + +timestep 0.005 + +compute 1 all temp +compute_modify 1 dynamic/dof yes + +compute 2 all temp/sphere +compute_modify 2 dynamic/dof yes + +thermo 100 +thermo_style custom step atoms temp c_1 c_2 press +thermo_modify lost ignore +compute_modify thermo_temp dynamic/dof yes + +#dump 2 all image 100 image.*.jpg type type # zoom 1.4 adiam 1.0 box no 0.0 axes yes 0.9 0.03 +#dump_modify 2 pad 5 + +run 5000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.3 + ghost atom cutoff = 1.3 + binsize = 0.65, bins = 31 31 31 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair gran/hooke, perpetual + attributes: half, newton on, size + pair build: half/size/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 0.4843 | 0.4843 | 0.4843 Mbytes + Step Atoms Temp c_1 c_2 Press + 0 0 0 0 0 0 +WARNING: Less insertions than requested (../fix_pour.cpp:681) + 100 30 0.803783 0.803783 0.39507978 0.0029137134 + 200 30 1.1967995 1.1967995 0.5882574 0.0043383984 + 300 30 1.2814686 1.2814686 0.62987441 0.0046453238 + 400 30 0.82331082 0.82331082 0.41173176 0.0029845017 + 500 30 0.7708462 0.7708462 0.38777784 0.0043831147 +WARNING: Less insertions than requested (../fix_pour.cpp:681) + 600 64 0.51564897 0.51564897 0.26631577 0.0040059368 + 700 64 0.57239348 0.57239348 0.29566901 0.0045075987 + 800 64 0.61837087 0.61837087 0.32195387 0.0048123564 + 900 64 0.53061888 0.53061888 0.28564763 0.0055906552 + 1000 64 0.496299 0.496299 0.26801572 0.0061169128 + 1100 64 0.46068308 0.46068308 0.24699057 0.0055717699 +WARNING: Less insertions than requested (../fix_pour.cpp:681) + 1200 99 0.39206225 0.39206225 0.21356546 0.0066294211 + 1300 99 0.38624966 0.38624966 0.21345854 0.0049051051 + 1400 99 0.35615284 0.35615284 0.19785725 0.0046170774 + 1500 99 0.31486691 0.31486691 0.17429054 0.0064903404 + 1600 99 0.26369 0.26369 0.15095263 0.0045226821 + 1700 100 0.19259352 0.19259352 0.11308184 0.0073603886 + 1800 100 0.1372448 0.1372448 0.083273652 0.0058163062 + 1900 100 0.077253038 0.077253038 0.053166156 0.0017440856 + 2000 100 0.065472093 0.065472093 0.04375349 0.0018416047 + 2100 100 0.057213469 0.057213469 0.037773954 0.001226231 + 2200 100 0.058857437 0.058857437 0.0372655 0.00090812381 + 2300 100 0.035066108 0.035066108 0.025934054 0.00072114554 + 2400 100 0.021272125 0.021272125 0.016635107 0.0018506654 + 2500 100 0.015530432 0.015530432 0.012533546 0.0013883971 + 2600 100 0.012603946 0.012603946 0.0096981459 0.00038648118 + 2700 100 0.0097347475 0.0097347475 0.0076016624 0.00057313888 + 2800 100 0.0067081771 0.0067081771 0.0056944431 0.00085080075 + 2900 100 0.0089177981 0.0089177981 0.0065036822 0.00028986539 + 3000 100 0.0057840287 0.0057840287 0.0044989265 0.00016111737 + 3100 100 0.0038909621 0.0038909621 0.0031511938 0.0001708892 + 3200 100 0.0029043214 0.0029043214 0.0025807767 9.2473673e-05 + 3300 100 0.0022769336 0.0022769336 0.0021487157 0.00022312666 + 3400 100 0.0015571397 0.0015571397 0.0016669068 0.0003381372 + 3500 100 0.0015978184 0.0015978184 0.001707772 4.9930818e-05 + 3600 100 0.0023358916 0.0023358916 0.0020709426 9.7687609e-05 + 3700 100 0.0011186736 0.0011186736 0.0012146914 9.3338234e-05 + 3800 100 0.0011657036 0.0011657036 0.0012313764 3.1931251e-05 + 3900 100 0.0014998387 0.0014998387 0.0014015491 2.4226798e-05 + 4000 100 0.0010858335 0.0010858335 0.0010623286 1.6359241e-05 + 4100 100 0.0010464314 0.0010464314 0.0010123557 1.2949588e-05 + 4200 100 0.0010022428 0.0010022428 0.00097338971 1.2402332e-05 + 4300 100 0.00080622372 0.00080622372 0.00084329652 0.00033857037 + 4400 100 0.00073613921 0.00073613921 0.00078373608 1.0103949e-05 + 4500 100 0.00071402196 0.00071402196 0.00076658004 8.8360218e-06 + 4600 100 0.00064851765 0.00064851765 0.00071533461 1.0736438e-05 + 4700 100 0.00061146699 0.00061146699 0.00068274687 4.1341755e-06 + 4800 100 0.00059511472 0.00059511472 0.0006625527 7.3645447e-06 + 4900 100 0.00057700347 0.00057700347 0.0006468562 1.5411897e-05 + 5000 100 0.00056205001 0.00056205001 0.00063592505 7.8813845e-06 +Loop time of 0.0856033 on 4 procs for 5000 steps with 100 atoms + +Performance: 25232672.400 tau/day, 58408.964 timesteps/s, 5.841 Matom-step/s +88.4% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0034695 | 0.0050634 | 0.0068805 | 2.2 | 5.91 +Neigh | 0.0016916 | 0.0024175 | 0.0032212 | 1.5 | 2.82 +Comm | 0.020003 | 0.026482 | 0.033796 | 3.5 | 30.94 +Output | 0.0010864 | 0.001327 | 0.0014374 | 0.4 | 1.55 +Modify | 0.0067352 | 0.015857 | 0.025751 | 7.2 | 18.52 +Other | | 0.03446 | | | 40.25 + +Nlocal: 25 ave 53 max 0 min +Histogram: 2 0 0 0 0 0 0 0 1 1 +Nghost: 4 ave 8 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 40.5 ave 92 max 0 min +Histogram: 2 0 0 0 0 0 0 1 0 1 + +Total # of neighbors = 162 +Ave neighs/atom = 1.62 +Neighbor list builds = 288 +Dangerous builds = 0 + +region container delete +variable theta equal (step-5000)*(4.0*PI/5000) +region container block -6 6 -6 6 -6 6 units box rotate v_theta 0 0 0 0 0 1 +run 5000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.3 + ghost atom cutoff = 1.3 + binsize = 0.65, bins = 31 31 31 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair gran/hooke, perpetual + attributes: half, newton on, size + pair build: half/size/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.609 | 5.672 | 5.734 Mbytes + Step Atoms Temp c_1 c_2 Press + 5000 100 0.00056205001 0.00056205001 0.00063592505 7.871665e-06 + 5100 100 0.59585977 0.59585977 0.32464933 0.0141718 + 5200 100 0.67306764 0.67306764 0.35872096 0.013373672 + 5300 100 0.76065187 0.76065187 0.39925025 0.011460301 + 5400 100 0.87984446 0.87984446 0.45261417 0.013937042 + 5500 100 0.95548319 0.95548319 0.48706892 0.013601658 + 5600 100 0.9993278 0.9993278 0.50830306 0.015663766 + 5700 100 1.0449415 1.0449415 0.52967249 0.016797841 + 5800 100 1.0767598 1.0767598 0.54508699 0.016128855 + 5900 100 1.118688 1.118688 0.56530849 0.016830117 + 6000 100 1.1535698 1.1535698 0.58290663 0.01715335 + 6100 100 1.1753828 1.1753828 0.59419088 0.019273207 + 6200 100 1.1994171 1.1994171 0.60433264 0.018391566 + 6300 100 1.2244707 1.2244707 0.61626199 0.018842556 + 6400 100 1.2507994 1.2507994 0.62829386 0.019538413 + 6500 100 1.2684644 1.2684644 0.63747702 0.020794729 + 6600 100 1.2704726 1.2704726 0.63929889 0.020253985 + 6700 100 1.2737302 1.2737302 0.63970688 0.020858602 + 6800 100 1.287922 1.287922 0.64460894 0.021589773 + 6900 100 1.3028782 1.3028782 0.65197802 0.02135295 + 7000 100 1.306633 1.306633 0.65371741 0.021291182 + 7100 100 1.3161393 1.3161393 0.65785404 0.022554896 + 7200 100 1.3228158 1.3228158 0.6609031 0.021811977 + 7300 100 1.3245632 1.3245632 0.66161966 0.02206776 + 7400 100 1.3266822 1.3266822 0.662738 0.022070761 + 7500 100 1.3265138 1.3265138 0.6624472 0.021944768 + 7600 100 1.3286802 1.3286802 0.66338775 0.0219393 + 7700 100 1.332829 1.332829 0.66547051 0.022142398 + 7800 100 1.3323535 1.3323535 0.66534513 0.022787777 + 7900 100 1.3372424 1.3372424 0.66777556 0.02192759 + 8000 100 1.3396201 1.3396201 0.66910123 0.022439596 + 8100 100 1.3422271 1.3422271 0.67060566 0.023784952 + 8200 100 1.3468062 1.3468062 0.6728991 0.02243345 + 8300 100 1.3439408 1.3439408 0.6717529 0.022312339 + 8400 100 1.3484134 1.3484134 0.67346027 0.022770922 + 8500 100 1.3490032 1.3490032 0.67378177 0.022427863 + 8600 100 1.349789 1.349789 0.67398897 0.022494049 + 8700 100 1.3513512 1.3513512 0.67475613 0.022413559 + 8800 100 1.3535168 1.3535168 0.67589784 0.022356566 + 8900 100 1.3505765 1.3505765 0.67442168 0.022240615 + 9000 100 1.3499918 1.3499918 0.67419831 0.02226049 + 9100 100 1.3518103 1.3518103 0.67489482 0.022399038 + 9200 100 1.3526275 1.3526275 0.67529852 0.022395079 + 9300 100 1.353741 1.353741 0.67585205 0.022471008 + 9400 100 1.3538758 1.3538758 0.67589523 0.022461734 + 9500 100 1.3537199 1.3537199 0.67586527 0.022370169 + 9600 100 1.3539788 1.3539788 0.67602899 0.022400771 + 9700 100 1.3544874 1.3544874 0.67619552 0.022648464 + 9800 100 1.3555422 1.3555422 0.67666186 0.022367319 + 9900 100 1.3560106 1.3560106 0.6768751 0.02236585 + 10000 100 1.3563578 1.3563578 0.6770434 0.022359307 +Loop time of 0.139615 on 4 procs for 5000 steps with 100 atoms + +Performance: 15471121.710 tau/day, 35812.782 timesteps/s, 3.581 Matom-step/s +89.9% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0034672 | 0.011349 | 0.019511 | 7.2 | 8.13 +Neigh | 0.0032972 | 0.0053674 | 0.0074946 | 2.8 | 3.84 +Comm | 0.011049 | 0.018572 | 0.027876 | 5.6 | 13.30 +Output | 0.0010807 | 0.0015593 | 0.0018738 | 0.8 | 1.12 +Modify | 0.013556 | 0.040435 | 0.066715 | 13.0 | 28.96 +Other | | 0.06233 | | | 44.65 + +Nlocal: 25 ave 52 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 3 ave 6 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 48.25 ave 109 max 0 min +Histogram: 2 0 0 0 0 0 0 1 0 1 + +Total # of neighbors = 193 +Ave neighs/atom = 1.93 +Neighbor list builds = 626 +Dangerous builds = 0 + +region container delete +region container block -6 6 -6 6 -6 6 units box +run 5000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 5.609 | 5.672 | 5.735 Mbytes + Step Atoms Temp c_1 c_2 Press + 10000 100 1.3563578 1.3563578 0.6770434 0.022433108 + 10100 100 0.32881547 0.32881547 0.18968913 0.0063460187 + 10200 100 0.19880113 0.19880113 0.12812646 0.0074601538 + 10300 100 0.12614062 0.12614062 0.090121373 0.0028337336 + 10400 100 0.088358363 0.088358363 0.067236815 0.0020269846 + 10500 100 0.071199344 0.071199344 0.055567135 0.0016191769 + 10600 100 0.053909616 0.053909616 0.042301996 0.00098643468 + 10700 100 0.039560745 0.039560745 0.032482256 0.00089240864 + 10800 100 0.032130432 0.032130432 0.02705329 0.00058669881 + 10900 100 0.02462494 0.02462494 0.021121496 0.0017376127 + 11000 100 0.020941068 0.020941068 0.017866781 0.00031112553 + 11100 100 0.016775675 0.016775675 0.014620214 0.00026856842 + 11200 100 0.015005732 0.015005732 0.012803923 0.00067036626 + 11300 100 0.012099209 0.012099209 0.010308221 0.00032666902 + 11400 100 0.010559421 0.010559421 0.0090243729 0.00013645685 + 11500 100 0.0093738615 0.0093738615 0.0080176514 0.00098541099 + 11600 100 0.0081900702 0.0081900702 0.0070256953 0.00025935992 + 11700 100 0.0068100165 0.0068100165 0.0058703223 0.00014866816 + 11800 100 0.0060475708 0.0060475708 0.0052518105 0.00017895168 + 11900 100 0.0055607485 0.0055607485 0.0047184164 0.00011358846 + 12000 100 0.0053149064 0.0053149064 0.0045168418 0.00015222428 + 12100 100 0.0050909525 0.0050909525 0.0043196952 6.3000537e-05 + 12200 100 0.0041810842 0.0041810842 0.0036835522 4.6423956e-05 + 12300 100 0.0034305227 0.0034305227 0.0031222649 0.00020251115 + 12400 100 0.0031763077 0.0031763077 0.0028956456 0.00030307787 + 12500 100 0.0027440829 0.0027440829 0.0025087304 0.00010418607 + 12600 100 0.0024581964 0.0024581964 0.0022200229 3.042018e-05 + 12700 100 0.002259527 0.002259527 0.0020708869 4.192368e-05 + 12800 100 0.0019143448 0.0019143448 0.0018088032 4.6200439e-05 + 12900 100 0.0017935964 0.0017935964 0.0017028317 2.2195756e-05 + 13000 100 0.0017286429 0.0017286429 0.0016396753 2.3108871e-05 + 13100 100 0.0017055291 0.0017055291 0.0016122058 2.2444611e-05 + 13200 100 0.0016539275 0.0016539275 0.0015570166 2.0467353e-05 + 13300 100 0.0015777788 0.0015777788 0.0014852505 1.9525012e-05 + 13400 100 0.0015372199 0.0015372199 0.0014497102 2.3203566e-05 + 13500 100 0.0015066638 0.0015066638 0.0014097203 1.8644964e-05 + 13600 100 0.0012290618 0.0012290618 0.0012056216 1.3235643e-05 + 13700 100 0.0011781948 0.0011781948 0.0011685226 3.4312262e-05 + 13800 100 0.0011530136 0.0011530136 0.0011433171 2.8832126e-05 + 13900 100 0.0011085224 0.0011085224 0.0011052764 1.444139e-05 + 14000 100 0.0010656788 0.0010656788 0.0010702461 1.3187775e-05 + 14100 100 0.001029277 0.001029277 0.0010469537 1.2837267e-05 + 14200 100 0.0009750904 0.0009750904 0.0009915384 1.209089e-05 + 14300 100 0.00094893337 0.00094893337 0.00096909301 1.1743051e-05 + 14400 100 0.00087708427 0.00087708427 0.00087575318 1.9027338e-05 + 14500 100 0.00086229913 0.00086229913 0.0008643568 1.0670952e-05 + 14600 100 0.00084206808 0.00084206808 0.0008268172 3.2391722e-05 + 14700 100 0.00077682873 0.00077682873 0.00077186085 9.6132555e-06 + 14800 100 0.00074736908 0.00074736908 0.00074958372 9.2486924e-06 + 14900 100 0.00074456847 0.00074456847 0.00074779946 9.2140349e-06 + 15000 100 0.00073830282 0.00073830282 0.0007426924 9.1364974e-06 +Loop time of 0.0808149 on 4 procs for 5000 steps with 100 atoms + +Performance: 26727738.394 tau/day, 61869.765 timesteps/s, 6.187 Matom-step/s +86.6% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0034354 | 0.0050332 | 0.0069329 | 2.2 | 6.23 +Neigh | 0.00051999 | 0.00084906 | 0.0012075 | 0.0 | 1.05 +Comm | 0.0063631 | 0.014527 | 0.023754 | 6.8 | 17.98 +Output | 0.0010373 | 0.001342 | 0.001464 | 0.5 | 1.66 +Modify | 0.0051837 | 0.017338 | 0.031605 | 9.3 | 21.45 +Other | | 0.04173 | | | 51.63 + +Nlocal: 25 ave 53 max 0 min +Histogram: 2 0 0 0 0 0 0 0 1 1 +Nghost: 3.75 ave 8 max 0 min +Histogram: 2 0 0 0 0 0 0 0 1 1 +Neighs: 39.25 ave 82 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 157 +Ave neighs/atom = 1.57 +Neighbor list builds = 100 +Dangerous builds = 0 + +region container delete +variable theta equal (step-15000)*(4.0*PI/5000) +region container block -6 6 -6 6 -6 6 units box rotate v_theta 0 0 0 1 1 1 +run 5000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 5.609 | 5.672 | 5.735 Mbytes + Step Atoms Temp c_1 c_2 Press + 15000 100 0.00073830282 0.00073830282 0.0007426924 9.1364974e-06 + 15100 100 1.1048281 1.1048281 0.7023727 0.018379275 + 15200 100 1.2022249 1.2022249 0.77748962 0.015662439 + 15300 100 1.2561351 1.2561351 0.82563065 0.01835048 + 15400 100 1.4372446 1.4372446 0.92907923 0.02087065 + 15500 100 1.6414713 1.6414713 1.0284489 0.025654324 + 15600 100 1.7844655 1.7844655 1.0861866 0.025170346 + 15700 100 2.034248 2.034248 1.2017171 0.040341642 + 15800 100 2.1253699 2.1253699 1.2228657 0.029297194 + 15900 100 2.1940232 2.1940232 1.2470589 0.033866758 + 16000 100 2.2624419 2.2624419 1.2828225 0.030063645 + 16100 100 2.3208536 2.3208536 1.3118956 0.0323489 + 16200 100 2.3564971 2.3564971 1.3261173 0.032882494 + 16300 100 2.3956066 2.3956066 1.3260307 0.03292972 + 16400 100 2.5025831 2.5025831 1.3817693 0.031132988 + 16500 100 2.5947914 2.5947914 1.4152657 0.036126782 + 16600 100 2.7688769 2.7688769 1.4975686 0.037497127 + 16700 100 2.812503 2.812503 1.5216659 0.039316167 + 16800 100 2.8977424 2.8977424 1.5599254 0.039996029 + 16900 100 3.045802 3.045802 1.6332888 0.041406156 + 17000 100 3.2195366 3.2195366 1.7247171 0.040023634 + 17100 100 3.2597294 3.2597294 1.7527958 0.04828292 + 17200 100 3.293587 3.293587 1.7693254 0.044001441 + 17300 100 3.1861836 3.1861836 1.7142076 0.049158822 + 17400 100 3.4593561 3.4593561 1.8426619 0.053469673 + 17500 100 3.3813767 3.3813767 1.8079958 0.058776299 + 17600 100 3.5834203 3.5834203 1.9094759 0.053256842 + 17700 100 3.2243306 3.2243306 1.7425111 0.064354789 + 17800 100 3.358228 3.358228 1.8202932 0.046798524 + 17900 100 3.2257908 3.2257908 1.7678964 0.043655204 + 18000 100 3.237732 3.237732 1.7598181 0.050850672 + 18100 100 3.2042441 3.2042441 1.751979 0.045582006 + 18200 100 3.1562775 3.1562775 1.7336068 0.042210739 + 18300 100 3.2630507 3.2630507 1.7925333 0.046412778 + 18400 100 3.4150588 3.4150588 1.8668408 0.044386435 + 18500 100 3.4913198 3.4913198 1.9125495 0.043329829 + 18600 100 3.5290036 3.5290036 1.9184098 0.048302721 + 18700 100 3.4852698 3.4852698 1.8865833 0.059566124 + 18800 100 3.7157551 3.7157551 2.0082235 0.051356305 + 18900 100 3.9504619 3.9504619 2.1377018 0.051553987 + 19000 100 3.9711274 3.9711274 2.1549121 0.051555312 + 19100 100 3.90954 3.90954 2.1135174 0.0548311 + 19200 100 4.0672819 4.0672819 2.1837089 0.064431553 + 19300 100 3.998355 3.998355 2.1572884 0.056830399 + 19400 100 3.9172127 3.9172127 2.1130164 0.051264041 + 19500 100 3.9120291 3.9120291 2.1088399 0.052545115 + 19600 100 3.8613614 3.8613614 2.0752883 0.055466569 + 19700 100 3.8428824 3.8428824 2.0787804 0.05129261 + 19800 100 3.5686751 3.5686751 1.9356553 0.059177256 + 19900 100 3.5573788 3.5573788 1.9430183 0.054618794 + 20000 100 3.5453022 3.5453022 1.9413343 0.047640543 +Loop time of 0.13841 on 4 procs for 5000 steps with 100 atoms + +Performance: 15605800.739 tau/day, 36124.539 timesteps/s, 3.612 Matom-step/s +89.0% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0047469 | 0.0062771 | 0.0080644 | 1.5 | 4.54 +Neigh | 0.0062517 | 0.0079248 | 0.0094271 | 1.3 | 5.73 +Comm | 0.047109 | 0.048595 | 0.050543 | 0.6 | 35.11 +Output | 0.0011807 | 0.0013428 | 0.0015517 | 0.4 | 0.97 +Modify | 0.022766 | 0.033256 | 0.039993 | 3.5 | 24.03 +Other | | 0.04101 | | | 29.63 + +Nlocal: 25 ave 36 max 13 min +Histogram: 1 0 0 0 1 0 1 0 0 1 +Nghost: 5 ave 9 max 2 min +Histogram: 1 0 1 0 1 0 0 0 0 1 +Neighs: 37.5 ave 53 max 15 min +Histogram: 1 0 0 0 0 1 0 1 0 1 + +Total # of neighbors = 150 +Ave neighs/atom = 1.5 +Neighbor list builds = 913 +Dangerous builds = 0 + +region container delete +region container block -6 6 -6 6 -6 6 units box +run 5000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 5.734 | 5.735 | 5.735 Mbytes + Step Atoms Temp c_1 c_2 Press + 20000 100 3.5453022 3.5453022 1.9413343 0.047178052 + 20100 100 1.0878587 1.0878587 0.68666704 0.016139979 + 20200 100 1.0230655 1.0230655 0.63593494 0.014642345 + 20300 100 0.94958824 0.94958824 0.59306601 0.011745659 + 20400 100 0.93038108 0.93038108 0.57232527 0.01154829 + 20500 100 0.92183816 0.92183816 0.55466942 0.01212559 + 20600 100 1.0175846 1.0175846 0.59940035 0.013815361 + 20700 100 1.0564615 1.0564615 0.60726745 0.013073711 + 20800 100 0.99967869 0.99967869 0.57665019 0.012450813 + 20900 100 0.97051084 0.97051084 0.5574217 0.015686955 + 21000 100 0.639185 0.639185 0.37441942 0.017594616 + 21100 100 0.24979014 0.24979014 0.17121567 0.0084027295 + 21200 100 0.15147941 0.15147941 0.11124349 0.0030435746 + 21300 100 0.13117502 0.13117502 0.091432638 0.0029110318 + 21400 100 0.11158272 0.11158272 0.076264692 0.0021951204 + 21500 100 0.056660993 0.056660993 0.043503807 0.0010993096 + 21600 100 0.028640836 0.028640836 0.026000267 0.0010440792 + 21700 100 0.025816483 0.025816483 0.021922896 0.00081674646 + 21800 100 0.023929555 0.023929555 0.019936972 0.0010383614 + 21900 100 0.022271339 0.022271339 0.017947505 0.0014630387 + 22000 100 0.019277834 0.019277834 0.015483116 0.00058751407 + 22100 100 0.019997809 0.019997809 0.015919504 0.00064176101 + 22200 100 0.015870543 0.015870543 0.01244838 0.0004205505 + 22300 100 0.011797587 0.011797587 0.0096491363 0.00034907063 + 22400 100 0.010745212 0.010745212 0.008874218 0.00035427537 + 22500 100 0.0082372399 0.0082372399 0.0071217811 0.00028179943 + 22600 100 0.007942576 0.007942576 0.0067248822 0.001507115 + 22700 100 0.0061733667 0.0061733667 0.0053092324 0.00056018554 + 22800 100 0.0058287651 0.0058287651 0.004972189 0.00023807695 + 22900 100 0.0051352339 0.0051352339 0.004324157 0.00020849263 + 23000 100 0.0040107769 0.0040107769 0.0035769703 0.00022626101 + 23100 100 0.0040288854 0.0040288854 0.0034355474 0.00019107621 + 23200 100 0.003277858 0.003277858 0.0030013165 0.00016119888 + 23300 100 0.0033633749 0.0033633749 0.0030188927 0.00014459404 + 23400 100 0.003468042 0.003468042 0.0030079205 0.00013778427 + 23500 100 0.0027616702 0.0027616702 0.0024994596 0.00011834915 + 23600 100 0.0022531303 0.0022531303 0.0021182802 0.0002279623 + 23700 100 0.002067768 0.002067768 0.0019631752 0.00014341503 + 23800 100 0.0020069255 0.0020069255 0.0019209587 0.00010673435 + 23900 100 0.0019630617 0.0019630617 0.0018748221 0.00011856923 + 24000 100 0.0018800646 0.0018800646 0.0018190347 0.00010707562 + 24100 100 0.0018028137 0.0018028137 0.0017067233 0.00010884117 + 24200 100 0.0017278932 0.0017278932 0.0016251004 0.00013664683 + 24300 100 0.0016373288 0.0016373288 0.0015529481 0.00010025414 + 24400 100 0.0019876848 0.0019876848 0.0016912033 0.00011235942 + 24500 100 0.0013677345 0.0013677345 0.0012839488 7.8669645e-05 + 24600 100 0.0012852614 0.0012852614 0.0012065052 0.00010172361 + 24700 100 0.0011145002 0.0011145002 0.0010748344 7.5021689e-05 + 24800 100 0.0012860792 0.0012860792 0.0011429675 5.7939624e-05 + 24900 100 0.00097198499 0.00097198499 0.00096175911 5.443837e-05 + 25000 100 0.00096224466 0.00096224466 0.00095159089 5.4245409e-05 +Loop time of 0.0846408 on 4 procs for 5000 steps with 100 atoms + +Performance: 25519602.289 tau/day, 59073.153 timesteps/s, 5.907 Matom-step/s +82.3% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0035473 | 0.0055294 | 0.0082454 | 2.7 | 6.53 +Neigh | 0.0016391 | 0.0022521 | 0.0028115 | 1.1 | 2.66 +Comm | 0.014697 | 0.021565 | 0.029045 | 4.1 | 25.48 +Output | 0.0010785 | 0.00132 | 0.0014171 | 0.4 | 1.56 +Modify | 0.0059648 | 0.01618 | 0.027615 | 7.9 | 19.12 +Other | | 0.03779 | | | 44.65 + +Nlocal: 25 ave 56 max 0 min +Histogram: 2 0 0 0 0 0 0 1 0 1 +Nghost: 5.5 ave 12 max 0 min +Histogram: 2 0 0 0 0 0 0 0 1 1 +Neighs: 40 ave 101 max 0 min +Histogram: 2 0 0 0 0 1 0 0 0 1 + +Total # of neighbors = 160 +Ave neighs/atom = 1.6 +Neighbor list builds = 275 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/granregion/log.15Sep22.granregion.funnel.g++.1 b/examples/granregion/log.15Sep22.granregion.funnel.g++.1 new file mode 100644 index 0000000000..fc60ca4928 --- /dev/null +++ b/examples/granregion/log.15Sep22.granregion.funnel.g++.1 @@ -0,0 +1,633 @@ +LAMMPS (15 Sep 2022) +# pour particles into cone-shaped funnel, settle them, let them run out bottom + +variable name string funnel_pour + +thermo_modify flush yes +units si +variable PI equal 3.141592653589 +variable seed equal 14314 + +############################################### +# Geometry-related parameters +############################################### + +variable xlo equal 10 +variable xhi equal 40 +variable ylo equal 10 +variable yhi equal 40 +variable zlo equal -20 +variable zhi equal 50 + +variable xc equal 25 +variable yc equal 25 + +variable zconehi equal 50 +variable zconelo equal 10 +variable zcyllo equal 0 +variable radconelo equal 2 +variable radconehi equal 20 + +################################################ +# Particle sizes +################################################ + +variable rlo equal 0.25 +variable rhi equal 0.5 +variable dlo equal 2.0*${rlo} +variable dlo equal 2.0*0.25 +variable dhi equal 2.0*${rhi} +variable dhi equal 2.0*0.5 + +variable skin equal ${rhi} +variable skin equal 0.5 + +############################################### +# Granular contact parameters +############################################### + +variable coeffRes equal 0.1 +variable coeffFric equal 0.5 + +variable density equal 1.0 +variable EYoung equal 10^5 +variable Poisson equal 2.0/7.0 +variable GShear equal ${EYoung}/(2*(1+${Poisson})) +variable GShear equal 100000/(2*(1+${Poisson})) +variable GShear equal 100000/(2*(1+0.285714285714286)) + +variable gravity equal 1.0 + +variable reff equal 0.5*(${rhi}+${rlo}) +variable reff equal 0.5*(0.5+${rlo}) +variable reff equal 0.5*(0.5+0.25) +variable meff equal ${density}*4.0/3.0*${PI}*${reff}^3 +variable meff equal 1*4.0/3.0*${PI}*${reff}^3 +variable meff equal 1*4.0/3.0*3.141592653589*${reff}^3 +variable meff equal 1*4.0/3.0*3.141592653589*0.375^3 +variable min_mass equal ${density}*4.0/3.0*${PI}*${rlo}*${rlo}*${rlo} +variable min_mass equal 1*4.0/3.0*${PI}*${rlo}*${rlo}*${rlo} +variable min_mass equal 1*4.0/3.0*3.141592653589*${rlo}*${rlo}*${rlo} +variable min_mass equal 1*4.0/3.0*3.141592653589*0.25*${rlo}*${rlo} +variable min_mass equal 1*4.0/3.0*3.141592653589*0.25*0.25*${rlo} +variable min_mass equal 1*4.0/3.0*3.141592653589*0.25*0.25*0.25 +variable max_mass equal ${density}*4.0/3.0*${PI}*${rhi}*${rhi}*${rhi} +variable max_mass equal 1*4.0/3.0*${PI}*${rhi}*${rhi}*${rhi} +variable max_mass equal 1*4.0/3.0*3.141592653589*${rhi}*${rhi}*${rhi} +variable max_mass equal 1*4.0/3.0*3.141592653589*0.5*${rhi}*${rhi} +variable max_mass equal 1*4.0/3.0*3.141592653589*0.5*0.5*${rhi} +variable max_mass equal 1*4.0/3.0*3.141592653589*0.5*0.5*0.5 + +## Typical way to set kn, kt, etc.: +variable kn equal 4.0*${GShear}/(3*(1-${Poisson})) +variable kn equal 4.0*38888.8888888889/(3*(1-${Poisson})) +variable kn equal 4.0*38888.8888888889/(3*(1-0.285714285714286)) +variable kt equal 4.0*${GShear}/(2-${Poisson}) +variable kt equal 4.0*38888.8888888889/(2-${Poisson}) +variable kt equal 4.0*38888.8888888889/(2-0.285714285714286) + +variable a equal (-2.0*log(${coeffRes})/${PI})^2 +variable a equal (-2.0*log(0.1)/${PI})^2 +variable a equal (-2.0*log(0.1)/3.141592653589)^2 +variable gamma_n equal sqrt($a*2*${kn}/${min_mass}/(1+0.25*$a)) +variable gamma_n equal sqrt(0.405284734569556*2*${kn}/${min_mass}/(1+0.25*$a)) +variable gamma_n equal sqrt(0.405284734569556*2*72592.5925925926/${min_mass}/(1+0.25*$a)) +variable gamma_n equal sqrt(0.405284734569556*2*72592.5925925926/0.0654498469497708/(1+0.25*$a)) +variable gamma_n equal sqrt(0.405284734569556*2*72592.5925925926/0.0654498469497708/(1+0.25*0.405284734569556)) +variable gamma_t equal ${gamma_n}*0.5 +variable gamma_t equal 903.503751814138*0.5 + +variable tcol equal ${PI}/sqrt(2*${kn}/${min_mass}-${gamma_n}/4.0) +variable tcol equal 3.141592653589/sqrt(2*${kn}/${min_mass}-${gamma_n}/4.0) +variable tcol equal 3.141592653589/sqrt(2*72592.5925925926/${min_mass}-${gamma_n}/4.0) +variable tcol equal 3.141592653589/sqrt(2*72592.5925925926/0.0654498469497708-${gamma_n}/4.0) +variable tcol equal 3.141592653589/sqrt(2*72592.5925925926/0.0654498469497708-903.503751814138/4.0) + +variable dt equal ${tcol}*0.05 +variable dt equal 0.00210943016014969*0.05 +timestep ${dt} +timestep 0.000105471508007485 + +############################################### +variable dumpfreq equal 1000 +variable logfreq equal 1000 + +newton off +atom_style sphere + +boundary p p f + +region boxreg block ${xlo} ${xhi} ${ylo} ${yhi} ${zlo} ${zhi} +region boxreg block 10 ${xhi} ${ylo} ${yhi} ${zlo} ${zhi} +region boxreg block 10 40 ${ylo} ${yhi} ${zlo} ${zhi} +region boxreg block 10 40 10 ${yhi} ${zlo} ${zhi} +region boxreg block 10 40 10 40 ${zlo} ${zhi} +region boxreg block 10 40 10 40 -20 ${zhi} +region boxreg block 10 40 10 40 -20 50 +create_box 1 boxreg +Created orthogonal box = (10 10 -20) to (40 40 50) + 1 by 1 by 1 MPI processor grid + +pair_style gran/hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 +pair_style gran/hertz/history 72592.5925925926 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 +pair_style gran/hertz/history 72592.5925925926 90740.7407407408 ${gamma_n} ${gamma_t} ${coeffFric} 1 +pair_style gran/hertz/history 72592.5925925926 90740.7407407408 903.503751814138 ${gamma_t} ${coeffFric} 1 +pair_style gran/hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 ${coeffFric} 1 +pair_style gran/hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 0.5 1 +pair_coeff * * + +neighbor ${skin} multi +neighbor 0.5 multi +thermo ${logfreq} +thermo 1000 + +comm_style brick +comm_modify mode multi group all vel yes +balance 1.1 shift xyz 20 1.1 +Balancing ... +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 0 + ghost atom cutoff = 0 + binsize = 30, bins = 1 1 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair gran/hertz/history, perpetual + attributes: half, newton off, size, history + pair build: half/size/multi/newtoff + stencil: full/multi/3d + bin: multi +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +fix bal all balance 10000 1.1 shift xyz 20 1.01 + +####################### Options specific to pouring ######################### + +# insertion region for fix/pour + +region insreg cylinder z ${xc} ${yc} 10 30 50 side in units box +region insreg cylinder z 25 ${yc} 10 30 50 side in units box +region insreg cylinder z 25 25 10 30 50 side in units box + +# define cone and cylinder regions - see lammps doc on region command +# note new open options + +region cylreg cylinder z ${xc} ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 2 #Top is open +region cylreg cylinder z 25 ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 2 +region cylreg cylinder z 25 25 ${radconelo} ${zcyllo} ${zconelo} side in units box open 2 +region cylreg cylinder z 25 25 2 ${zcyllo} ${zconelo} side in units box open 2 +region cylreg cylinder z 25 25 2 0 ${zconelo} side in units box open 2 +region cylreg cylinder z 25 25 2 0 10 side in units box open 2 + +region conereg cone z ${xc} ${yc} ${radconelo} ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2 #Bottom and top are open +region conereg cone z 25 ${yc} ${radconelo} ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2 +region conereg cone z 25 25 ${radconelo} ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2 +region conereg cone z 25 25 2 ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2 +region conereg cone z 25 25 2 20 ${zconelo} ${zconehi} side in units box open 1 open 2 +region conereg cone z 25 25 2 20 10 ${zconehi} side in units box open 1 open 2 +region conereg cone z 25 25 2 20 10 50 side in units box open 1 open 2 + +region hopreg union 2 conereg cylreg + +fix grav all gravity ${gravity} vector 0 0 -1 +fix grav all gravity 1 vector 0 0 -1 +fix 1 all nve/sphere + + +fix hopper3 all wall/gran/region hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 ${gamma_t} ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 0.5 1 region hopreg + +fix ins all pour 2000 1 42424 region insreg diam range ${dlo} ${dhi} dens ${density} ${density} +fix ins all pour 2000 1 42424 region insreg diam range 0.5 ${dhi} dens ${density} ${density} +fix ins all pour 2000 1 42424 region insreg diam range 0.5 1 dens ${density} ${density} +fix ins all pour 2000 1 42424 region insreg diam range 0.5 1 dens 1 ${density} +fix ins all pour 2000 1 42424 region insreg diam range 0.5 1 dens 1 1 +Particle insertion: 3000 every 59965 steps, 2000 by step 1 + +#dump 1 all custom ${dumpfreq} ${name}.dump # id type mass diameter x y z + +#dump 2 all image 4000 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 zoom 3.0 # box no 0.0 axes no 0.0 0.0 +#dump_modify 2 pad 6 + +thermo_style custom step cpu atoms ke +WARNING: New thermo_style command, previous thermo_modify settings will be lost (../output.cpp:896) +thermo_modify flush yes lost warn + +# Initial run to fill up the cone + +run 20000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- neighbor multi command: doi:10.1016/j.cpc.2008.03.005, doi:10.1007/s40571-020-00361-2 + +@Article{Intveld08, + author = {in 't Veld, P. J. and S. J.~Plimpton and G. S. Grest}, + title = {Accurate and Efficient Methods for Modeling Colloidal + Mixtures in an Explicit Solvent using Molecular Dynamics}, + journal = {Comput.\ Phys.\ Commut.}, + year = 2008, + volume = 179, + pages = {320--329} +} + +@article{Shire2020, + author = {Shire, Tom and Hanley, Kevin J. and Stratford, Kevin}, + title = {{DEM} Simulations of Polydisperse Media: Efficient Contact + Detection Applied to Investigate the Quasi-Static Limit}, + journal = {Computational Particle Mechanics}, + year = {2020} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 6.648 | 6.648 | 6.648 Mbytes + Step CPU Atoms KinEng + 0 0 0 -0 + 1000 0.39961733 2000 -0 + 2000 0.61811961 2000 -0 + 3000 0.83512725 2000 -0 + 4000 1.0492881 2000 -0 + 5000 1.2650657 2000 -0 + 6000 1.479921 2000 -0 + 7000 1.6970993 2000 -0 + 8000 1.9107924 2000 -0 + 9000 2.1251713 2000 -0 + 10000 2.3403682 2000 -0 + 11000 2.549912 2000 -0 + 12000 2.7584788 2000 -0 + 13000 2.9712482 2000 -0 + 14000 3.1877015 2000 -0 + 15000 3.4017175 2000 -0 + 16000 3.6127477 2000 -0 + 17000 3.8250134 2000 -0 + 18000 4.0320643 2000 -0 + 19000 4.2371057 2000 -0 + 20000 4.4450882 2000 -0 +Loop time of 4.44512 on 1 procs for 20000 steps with 2000 atoms + +98.7% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.40438 | 0.40438 | 0.40438 | 0.0 | 9.10 +Neigh | 0.078634 | 0.078634 | 0.078634 | 0.0 | 1.77 +Comm | 0.01999 | 0.01999 | 0.01999 | 0.0 | 0.45 +Output | 0.00069031 | 0.00069031 | 0.00069031 | 0.0 | 0.02 +Modify | 3.795 | 3.795 | 3.795 | 0.0 | 85.38 +Other | | 0.1464 | | | 3.29 + +Nlocal: 2000 ave 2000 max 2000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 1607 ave 1607 max 1607 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 1607 +Ave neighs/atom = 0.8035 +Neighbor list builds = 71 +Dangerous builds = 0 +unfix ins +run 150000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 12.69 | 12.69 | 12.69 Mbytes + Step CPU Atoms KinEng + 20000 0 2000 6652.2957 + 21000 0.2135317 2000 6807.2201 + 22000 0.4235523 2000 6973.9359 + 23000 0.63502794 2000 7142.3648 + 24000 0.84593615 2000 7276.9717 + 25000 1.0580291 2000 7369.4191 + 26000 1.2719892 2000 7497.6526 + 27000 1.4843056 2000 7638.946 + 28000 1.9685336 2000 7780.0339 + 29000 2.1850097 2000 7881.8177 + 30000 2.4033006 2000 7967.2641 + 31000 2.6219694 2000 7994.9273 + 32000 2.8455468 2000 7937.0671 + 33000 3.0720066 2000 7774.0508 + 34000 3.3070513 2000 7591.1491 + 35000 3.5468777 2000 7357.5176 + 36000 3.7908265 2000 7147.2024 + 37000 4.0388657 2000 6979.1604 + 38000 4.2873223 2000 6813.2152 + 39000 4.5424244 2000 6660.2701 + 40000 4.8055367 2000 6502.8957 + 41000 5.0754561 2000 6324.3951 + 42000 5.3564118 2000 6132.7516 + 43000 5.6357256 2000 5913.1841 + 44000 5.9130645 2000 5732.2095 + 45000 6.1943539 2000 5508.8322 + 46000 6.4862302 2000 5306.8932 + 47000 6.7796417 2000 5152.0521 + 48000 7.0750069 2000 5028.2274 + 49000 7.3705252 2000 4896.102 + 50000 7.6693894 2000 4723.5189 + 51000 7.9685182 2000 4583.7526 + 52000 8.2774033 2000 4447.0187 + 53000 8.591482 2000 4303.2307 + 54000 8.9156439 2000 4168.5251 + 55000 9.2437364 2000 4036.9704 + 56000 9.5745684 2000 3901.1183 + 57000 9.9173689 2000 3716.7071 + 58000 10.270229 2000 3473.5422 + 59000 10.629101 2000 3245.1223 + 60000 10.989479 2000 3039.7845 + 61000 11.349843 2000 2780.0187 + 62000 11.716916 2000 2577.3345 + 63000 12.093666 2000 2346.2488 + 64000 12.474788 2000 2116.7298 + 65000 12.861438 2000 1903.7828 + 66000 13.25464 2000 1631.1676 + 67000 13.658382 2000 1431.0198 + 68000 14.067584 2000 1212.875 + 69000 14.480877 2000 995.45046 + 70000 14.894765 2000 811.54766 + 71000 15.309158 2000 624.08622 + 72000 15.732937 2000 471.00862 + 73000 16.158388 2000 358.33486 + 74000 16.583847 2000 284.39416 + 75000 17.008335 2000 234.26671 + 76000 17.429582 2000 185.61836 + 77000 17.852799 2000 152.95918 + 78000 18.276783 2000 122.49023 + 79000 18.697016 2000 102.29396 + 80000 19.12318 2000 86.284684 + 81000 19.54992 2000 73.984781 + 82000 19.986149 2000 63.042918 + 83000 20.430305 2000 53.338428 + 84000 20.876061 2000 45.89585 + 85000 21.32714 2000 40.412826 + 86000 21.781352 2000 34.183381 + 87000 22.238656 2000 29.671524 + 88000 22.698093 2000 26.90414 + 89000 23.160614 2000 24.362631 + 90000 23.630639 2000 21.887341 + 91000 24.095463 2000 19.985662 + 92000 24.570659 2000 18.728162 + 93000 25.047431 2000 16.99941 + 94000 25.549041 2000 15.71941 + 95000 26.03281 2000 14.744057 + 96000 26.513659 2000 14.214918 + 97000 26.998918 2000 13.450182 + 98000 27.486584 2000 12.79222 + 99000 27.986785 2000 12.10595 + 100000 28.48799 2000 11.281863 + 101000 28.986622 2000 10.025419 + 102000 29.491312 2000 9.9574468 + 103000 29.999421 2000 9.4078117 + 104000 30.507211 2000 8.9079161 + 105000 31.016484 2000 8.6269302 + 106000 31.527511 2000 8.5512649 + 107000 32.042612 2000 8.4703948 + 108000 32.555041 2000 8.2747542 + 109000 33.07064 2000 8.2895118 + 110000 33.593773 2000 8.1785613 + 111000 34.107129 2000 7.8443234 + 112000 34.619185 2000 7.7436124 + 113000 35.13418 2000 7.8118604 + 114000 35.653352 2000 7.3806177 + 115000 36.179577 2000 7.0857235 + 116000 36.69882 2000 7.1346752 + 117000 37.224612 2000 7.0653751 + 118000 37.756738 2000 6.6314104 + 119000 38.283151 2000 6.2169614 + 120000 38.808288 2000 5.8988829 + 121000 39.334913 2000 5.4197277 + 122000 39.862081 2000 4.6381303 + 123000 40.390252 2000 4.4949206 + 124000 40.920744 2000 4.4261118 + 125000 41.4469 2000 4.4223703 + 126000 41.977937 2000 4.4858898 + 127000 42.51483 2000 4.3312536 + 128000 43.046324 2000 3.7124973 + 129000 43.573687 2000 3.5467396 + 130000 44.103102 2000 3.5104139 + 131000 44.629869 2000 3.5725612 + 132000 45.156621 2000 3.669455 + 133000 45.69364 2000 3.6168912 + 134000 46.23133 2000 3.3598517 + 135000 46.765487 2000 3.3743407 + 136000 47.323693 2000 3.1109764 + 137000 47.881617 2000 3.0720146 + 138000 48.439179 2000 3.1303776 + 139000 49.001417 2000 3.2052806 + 140000 49.558061 2000 2.8958882 + 141000 50.097789 2000 2.9931572 + 142000 50.636089 2000 3.0967832 + 143000 51.175873 2000 3.0576365 + 144000 51.706799 2000 3.2016943 + 145000 52.239356 2000 3.3817709 + 146000 52.769944 2000 3.4527239 + 147000 53.30872 2000 3.5928733 + 148000 53.847762 2000 3.7784682 + 149000 54.387455 2000 3.6587944 + 150000 54.931594 2000 3.7945669 + 151000 55.470076 2000 3.5551557 + 152000 56.01448 2000 3.6248848 + 153000 56.552259 2000 3.7361463 + 154000 57.092655 2000 3.8534319 + 155000 57.635767 2000 4.0101408 + 156000 58.180249 2000 3.7670652 + 157000 58.724032 2000 3.1487676 + 158000 59.262015 2000 2.980076 + 159000 59.794312 2000 3.0350592 + 160000 60.331617 2000 3.125389 + 161000 60.861827 2000 2.7516115 + 162000 61.396691 2000 2.413911 + 163000 61.930145 2000 2.297713 + 164000 62.466983 2000 2.3190806 + 165000 63.00535 2000 2.2868879 + 166000 63.546881 2000 2.1658547 + 167000 64.091461 2000 1.7511071 + 168000 64.63141 2000 1.4112478 + 169000 65.17459 2000 1.3623558 + 170000 65.719571 2000 1.3701579 +Loop time of 65.7196 on 1 procs for 150000 steps with 2000 atoms + +98.9% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 32.424 | 32.424 | 32.424 | 0.0 | 49.34 +Neigh | 0.65326 | 0.65326 | 0.65326 | 0.0 | 0.99 +Comm | 0.14207 | 0.14207 | 0.14207 | 0.0 | 0.22 +Output | 0.26326 | 0.26326 | 0.26326 | 0.0 | 0.40 +Modify | 31.109 | 31.109 | 31.109 | 0.0 | 47.34 +Other | | 1.128 | | | 1.72 + +Nlocal: 2000 ave 2000 max 2000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 15308 ave 15308 max 15308 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 15308 +Ave neighs/atom = 7.654 +Neighbor list builds = 367 +Dangerous builds = 0 + +# remove "plug" - need to redefine cylinder region & union + +region cylreg delete +region hopreg delete +region cylreg cylinder z ${xc} ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 1 open 2 #Bottom & top are open +region cylreg cylinder z 25 ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 1 open 2 +region cylreg cylinder z 25 25 ${radconelo} ${zcyllo} ${zconelo} side in units box open 1 open 2 +region cylreg cylinder z 25 25 2 ${zcyllo} ${zconelo} side in units box open 1 open 2 +region cylreg cylinder z 25 25 2 0 ${zconelo} side in units box open 1 open 2 +region cylreg cylinder z 25 25 2 0 10 side in units box open 1 open 2 + +region hopreg union 2 cylreg conereg + +unfix hopper3 +fix hopper3 all wall/gran/region hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 ${gamma_t} ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 0.5 1 region hopreg + +run 100000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 12.69 | 12.69 | 12.69 Mbytes + Step CPU Atoms KinEng + 170000 0 2000 1.3701579 + 171000 0.54961146 2000 2.3724823 + 172000 1.0905775 2000 3.5881441 + 173000 1.6190656 2000 5.3771633 + 174000 2.1428619 2000 7.5896471 + 175000 2.6623327 2000 10.77251 + 176000 3.1738773 2000 14.806868 + 177000 3.6751053 2000 19.607624 + 178000 4.17465 2000 25.426227 + 179000 4.6736143 2000 32.23584 + 180000 5.1769137 2000 39.930468 + 181000 5.6766809 2000 47.686304 + 182000 6.1722504 2000 56.506806 + 183000 6.6603586 2000 66.514326 + 184000 7.1473381 2000 77.554644 + 185000 7.6343824 2000 89.224002 + 186000 8.1170225 2000 102.07846 + 187000 8.598305 2000 116.08141 + 188000 9.0708108 2000 130.97964 + 189000 9.5435695 2000 146.77806 + 190000 10.015069 2000 162.79858 + 191000 10.480992 2000 179.02052 + 192000 10.941896 2000 196.26683 + 193000 11.398748 2000 214.38928 + 194000 11.856098 2000 232.32068 + 195000 12.314324 2000 251.74644 + 196000 12.765746 2000 272.25231 + 197000 13.216453 2000 294.64075 + 198000 13.663698 2000 318.32895 + 199000 14.109901 2000 342.44005 + 200000 14.560399 2000 368.35469 + 201000 15.008158 2000 395.2465 + 202000 15.460487 2000 422.63599 + 203000 15.913115 2000 450.45248 + 204000 16.363656 2000 479.60812 + 205000 16.816929 2000 510.44155 + 206000 17.265488 2000 543.25751 + 207000 17.707782 2000 577.35928 + 208000 18.151051 2000 612.29718 + 209000 18.588363 2000 647.8951 + 210000 19.027167 2000 683.79409 + 211000 19.463213 2000 720.36556 + 212000 19.901783 2000 759.27331 + 213000 20.340436 2000 798.27302 + 214000 20.775782 2000 837.93849 + 215000 21.207465 2000 877.92945 + 216000 21.641572 2000 919.62532 + 217000 22.077351 2000 962.83509 + 218000 22.517089 2000 1008.5243 + 219000 22.948683 2000 1054.5769 + 220000 23.381029 2000 1103.1843 + 221000 23.809214 2000 1153.0349 + 222000 24.246127 2000 1204.5599 + 223000 24.677676 2000 1257.1367 + 224000 25.113989 2000 1308.6735 +WARNING: Lost atoms: original 2000 current 1999 (../thermo.cpp:486) + 225000 25.549621 1999 1360.1205 + 226000 25.977155 1998 1404.8405 + 227000 26.406475 1996 1448.4869 + 228000 26.832152 1992 1491.8112 + 229000 27.25327 1985 1518.7013 + 230000 27.672907 1971 1507.6699 + 231000 28.086761 1965 1533.5096 + 232000 28.500134 1948 1489.4128 + 233000 28.912212 1933 1477.4536 + 234000 29.320197 1915 1425.8398 + 235000 29.723669 1904 1410.1451 + 236000 30.124339 1892 1401.7595 + 237000 30.523539 1880 1368.893 + 238000 30.919483 1868 1341.8885 + 239000 31.313194 1850 1286.7968 + 240000 31.711659 1833 1219.5123 + 241000 32.106468 1820 1173.3608 + 242000 32.505486 1806 1106.0727 + 243000 32.905579 1788 1035.912 + 244000 33.303155 1779 1021.6147 + 245000 33.696614 1767 969.40032 + 246000 34.083545 1757 939.12022 + 247000 34.472486 1739 840.9396 + 248000 34.858907 1730 822.06575 + 249000 35.248061 1719 762.11057 + 250000 35.639608 1707 708.50308 + 251000 36.029812 1700 692.12647 + 252000 36.428881 1697 694.5812 + 253000 36.821304 1686 652.36951 + 254000 37.203008 1682 662.95256 + 255000 37.576678 1677 637.34619 + 256000 37.952398 1672 630.71277 + 257000 38.336834 1669 641.87365 + 258000 38.719421 1665 635.862 + 259000 39.104236 1664 658.5339 + 260000 39.484223 1662 669.95468 + 261000 39.861203 1660 676.93495 + 262000 40.240183 1657 681.72646 + 263000 40.614974 1655 687.4078 + 264000 40.99447 1651 681.61352 + 265000 41.368018 1647 673.20622 + 266000 41.740288 1644 677.30073 + 267000 42.111704 1641 671.05897 + 268000 42.479868 1639 689.55776 + 269000 42.851008 1637 711.98809 + 270000 43.22438 1633 705.29974 +Loop time of 43.2244 on 1 procs for 100000 steps with 1633 atoms + +99.2% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 22.312 | 22.312 | 22.312 | 0.0 | 51.62 +Neigh | 0.47451 | 0.47451 | 0.47451 | 0.0 | 1.10 +Comm | 0.093822 | 0.093822 | 0.093822 | 0.0 | 0.22 +Output | 0.0028326 | 0.0028326 | 0.0028326 | 0.0 | 0.01 +Modify | 19.626 | 19.626 | 19.626 | 0.0 | 45.40 +Other | | 0.7152 | | | 1.65 + +Nlocal: 1633 ave 1633 max 1633 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 11358 ave 11358 max 11358 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 11358 +Ave neighs/atom = 6.955297 +Neighbor list builds = 244 +Dangerous builds = 0 +Total wall time: 0:01:53 diff --git a/examples/granregion/log.15Sep22.granregion.funnel.g++.4 b/examples/granregion/log.15Sep22.granregion.funnel.g++.4 new file mode 100644 index 0000000000..3c18217deb --- /dev/null +++ b/examples/granregion/log.15Sep22.granregion.funnel.g++.4 @@ -0,0 +1,633 @@ +LAMMPS (15 Sep 2022) +# pour particles into cone-shaped funnel, settle them, let them run out bottom + +variable name string funnel_pour + +thermo_modify flush yes +units si +variable PI equal 3.141592653589 +variable seed equal 14314 + +############################################### +# Geometry-related parameters +############################################### + +variable xlo equal 10 +variable xhi equal 40 +variable ylo equal 10 +variable yhi equal 40 +variable zlo equal -20 +variable zhi equal 50 + +variable xc equal 25 +variable yc equal 25 + +variable zconehi equal 50 +variable zconelo equal 10 +variable zcyllo equal 0 +variable radconelo equal 2 +variable radconehi equal 20 + +################################################ +# Particle sizes +################################################ + +variable rlo equal 0.25 +variable rhi equal 0.5 +variable dlo equal 2.0*${rlo} +variable dlo equal 2.0*0.25 +variable dhi equal 2.0*${rhi} +variable dhi equal 2.0*0.5 + +variable skin equal ${rhi} +variable skin equal 0.5 + +############################################### +# Granular contact parameters +############################################### + +variable coeffRes equal 0.1 +variable coeffFric equal 0.5 + +variable density equal 1.0 +variable EYoung equal 10^5 +variable Poisson equal 2.0/7.0 +variable GShear equal ${EYoung}/(2*(1+${Poisson})) +variable GShear equal 100000/(2*(1+${Poisson})) +variable GShear equal 100000/(2*(1+0.285714285714286)) + +variable gravity equal 1.0 + +variable reff equal 0.5*(${rhi}+${rlo}) +variable reff equal 0.5*(0.5+${rlo}) +variable reff equal 0.5*(0.5+0.25) +variable meff equal ${density}*4.0/3.0*${PI}*${reff}^3 +variable meff equal 1*4.0/3.0*${PI}*${reff}^3 +variable meff equal 1*4.0/3.0*3.141592653589*${reff}^3 +variable meff equal 1*4.0/3.0*3.141592653589*0.375^3 +variable min_mass equal ${density}*4.0/3.0*${PI}*${rlo}*${rlo}*${rlo} +variable min_mass equal 1*4.0/3.0*${PI}*${rlo}*${rlo}*${rlo} +variable min_mass equal 1*4.0/3.0*3.141592653589*${rlo}*${rlo}*${rlo} +variable min_mass equal 1*4.0/3.0*3.141592653589*0.25*${rlo}*${rlo} +variable min_mass equal 1*4.0/3.0*3.141592653589*0.25*0.25*${rlo} +variable min_mass equal 1*4.0/3.0*3.141592653589*0.25*0.25*0.25 +variable max_mass equal ${density}*4.0/3.0*${PI}*${rhi}*${rhi}*${rhi} +variable max_mass equal 1*4.0/3.0*${PI}*${rhi}*${rhi}*${rhi} +variable max_mass equal 1*4.0/3.0*3.141592653589*${rhi}*${rhi}*${rhi} +variable max_mass equal 1*4.0/3.0*3.141592653589*0.5*${rhi}*${rhi} +variable max_mass equal 1*4.0/3.0*3.141592653589*0.5*0.5*${rhi} +variable max_mass equal 1*4.0/3.0*3.141592653589*0.5*0.5*0.5 + +## Typical way to set kn, kt, etc.: +variable kn equal 4.0*${GShear}/(3*(1-${Poisson})) +variable kn equal 4.0*38888.8888888889/(3*(1-${Poisson})) +variable kn equal 4.0*38888.8888888889/(3*(1-0.285714285714286)) +variable kt equal 4.0*${GShear}/(2-${Poisson}) +variable kt equal 4.0*38888.8888888889/(2-${Poisson}) +variable kt equal 4.0*38888.8888888889/(2-0.285714285714286) + +variable a equal (-2.0*log(${coeffRes})/${PI})^2 +variable a equal (-2.0*log(0.1)/${PI})^2 +variable a equal (-2.0*log(0.1)/3.141592653589)^2 +variable gamma_n equal sqrt($a*2*${kn}/${min_mass}/(1+0.25*$a)) +variable gamma_n equal sqrt(0.405284734569556*2*${kn}/${min_mass}/(1+0.25*$a)) +variable gamma_n equal sqrt(0.405284734569556*2*72592.5925925926/${min_mass}/(1+0.25*$a)) +variable gamma_n equal sqrt(0.405284734569556*2*72592.5925925926/0.0654498469497708/(1+0.25*$a)) +variable gamma_n equal sqrt(0.405284734569556*2*72592.5925925926/0.0654498469497708/(1+0.25*0.405284734569556)) +variable gamma_t equal ${gamma_n}*0.5 +variable gamma_t equal 903.503751814138*0.5 + +variable tcol equal ${PI}/sqrt(2*${kn}/${min_mass}-${gamma_n}/4.0) +variable tcol equal 3.141592653589/sqrt(2*${kn}/${min_mass}-${gamma_n}/4.0) +variable tcol equal 3.141592653589/sqrt(2*72592.5925925926/${min_mass}-${gamma_n}/4.0) +variable tcol equal 3.141592653589/sqrt(2*72592.5925925926/0.0654498469497708-${gamma_n}/4.0) +variable tcol equal 3.141592653589/sqrt(2*72592.5925925926/0.0654498469497708-903.503751814138/4.0) + +variable dt equal ${tcol}*0.05 +variable dt equal 0.00210943016014969*0.05 +timestep ${dt} +timestep 0.000105471508007485 + +############################################### +variable dumpfreq equal 1000 +variable logfreq equal 1000 + +newton off +atom_style sphere + +boundary p p f + +region boxreg block ${xlo} ${xhi} ${ylo} ${yhi} ${zlo} ${zhi} +region boxreg block 10 ${xhi} ${ylo} ${yhi} ${zlo} ${zhi} +region boxreg block 10 40 ${ylo} ${yhi} ${zlo} ${zhi} +region boxreg block 10 40 10 ${yhi} ${zlo} ${zhi} +region boxreg block 10 40 10 40 ${zlo} ${zhi} +region boxreg block 10 40 10 40 -20 ${zhi} +region boxreg block 10 40 10 40 -20 50 +create_box 1 boxreg +Created orthogonal box = (10 10 -20) to (40 40 50) + 1 by 1 by 4 MPI processor grid + +pair_style gran/hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 +pair_style gran/hertz/history 72592.5925925926 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 +pair_style gran/hertz/history 72592.5925925926 90740.7407407408 ${gamma_n} ${gamma_t} ${coeffFric} 1 +pair_style gran/hertz/history 72592.5925925926 90740.7407407408 903.503751814138 ${gamma_t} ${coeffFric} 1 +pair_style gran/hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 ${coeffFric} 1 +pair_style gran/hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 0.5 1 +pair_coeff * * + +neighbor ${skin} multi +neighbor 0.5 multi +thermo ${logfreq} +thermo 1000 + +comm_style brick +comm_modify mode multi group all vel yes +balance 1.1 shift xyz 20 1.1 +Balancing ... +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 0 + ghost atom cutoff = 0 + binsize = 30, bins = 1 1 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair gran/hertz/history, perpetual + attributes: half, newton off, size, history + pair build: half/size/multi/newtoff + stencil: full/multi/3d + bin: multi +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +fix bal all balance 10000 1.1 shift xyz 20 1.01 + +####################### Options specific to pouring ######################### + +# insertion region for fix/pour + +region insreg cylinder z ${xc} ${yc} 10 30 50 side in units box +region insreg cylinder z 25 ${yc} 10 30 50 side in units box +region insreg cylinder z 25 25 10 30 50 side in units box + +# define cone and cylinder regions - see lammps doc on region command +# note new open options + +region cylreg cylinder z ${xc} ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 2 #Top is open +region cylreg cylinder z 25 ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 2 +region cylreg cylinder z 25 25 ${radconelo} ${zcyllo} ${zconelo} side in units box open 2 +region cylreg cylinder z 25 25 2 ${zcyllo} ${zconelo} side in units box open 2 +region cylreg cylinder z 25 25 2 0 ${zconelo} side in units box open 2 +region cylreg cylinder z 25 25 2 0 10 side in units box open 2 + +region conereg cone z ${xc} ${yc} ${radconelo} ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2 #Bottom and top are open +region conereg cone z 25 ${yc} ${radconelo} ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2 +region conereg cone z 25 25 ${radconelo} ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2 +region conereg cone z 25 25 2 ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2 +region conereg cone z 25 25 2 20 ${zconelo} ${zconehi} side in units box open 1 open 2 +region conereg cone z 25 25 2 20 10 ${zconehi} side in units box open 1 open 2 +region conereg cone z 25 25 2 20 10 50 side in units box open 1 open 2 + +region hopreg union 2 conereg cylreg + +fix grav all gravity ${gravity} vector 0 0 -1 +fix grav all gravity 1 vector 0 0 -1 +fix 1 all nve/sphere + + +fix hopper3 all wall/gran/region hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 ${gamma_t} ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 0.5 1 region hopreg + +fix ins all pour 2000 1 42424 region insreg diam range ${dlo} ${dhi} dens ${density} ${density} +fix ins all pour 2000 1 42424 region insreg diam range 0.5 ${dhi} dens ${density} ${density} +fix ins all pour 2000 1 42424 region insreg diam range 0.5 1 dens ${density} ${density} +fix ins all pour 2000 1 42424 region insreg diam range 0.5 1 dens 1 ${density} +fix ins all pour 2000 1 42424 region insreg diam range 0.5 1 dens 1 1 +Particle insertion: 3000 every 59965 steps, 2000 by step 1 + +#dump 1 all custom ${dumpfreq} ${name}.dump # id type mass diameter x y z + +#dump 2 all image 4000 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 zoom 3.0 # box no 0.0 axes no 0.0 0.0 +#dump_modify 2 pad 6 + +thermo_style custom step cpu atoms ke +WARNING: New thermo_style command, previous thermo_modify settings will be lost (../output.cpp:896) +thermo_modify flush yes lost warn + +# Initial run to fill up the cone + +run 20000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- neighbor multi command: doi:10.1016/j.cpc.2008.03.005, doi:10.1007/s40571-020-00361-2 + +@Article{Intveld08, + author = {in 't Veld, P. J. and S. J.~Plimpton and G. S. Grest}, + title = {Accurate and Efficient Methods for Modeling Colloidal + Mixtures in an Explicit Solvent using Molecular Dynamics}, + journal = {Comput.\ Phys.\ Commut.}, + year = 2008, + volume = 179, + pages = {320--329} +} + +@article{Shire2020, + author = {Shire, Tom and Hanley, Kevin J. and Stratford, Kevin}, + title = {{DEM} Simulations of Polydisperse Media: Efficient Contact + Detection Applied to Investigate the Quasi-Static Limit}, + journal = {Computational Particle Mechanics}, + year = {2020} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 6.049 | 6.049 | 6.049 Mbytes + Step CPU Atoms KinEng + 0 0 0 -0 + 1000 0.4194951 2000 -0 + 2000 0.61516729 2000 -0 + 3000 0.80702516 2000 -0 + 4000 0.99253349 2000 -0 + 5000 1.172741 2000 -0 + 6000 1.3484682 2000 -0 + 7000 1.5206253 2000 -0 + 8000 1.6875025 2000 -0 + 9000 1.8503087 2000 -0 + 10000 2.0125622 2000 -0 + 11000 2.0890872 2000 -0 + 12000 2.1663582 2000 -0 + 13000 2.2430386 2000 -0 + 14000 2.320045 2000 -0 + 15000 2.3989769 2000 -0 + 16000 2.4824747 2000 -0 + 17000 2.5693391 2000 -0 + 18000 2.6595183 2000 -0 + 19000 2.752627 2000 -0 + 20000 2.8503071 2000 -0 +Loop time of 2.85034 on 4 procs for 20000 steps with 2000 atoms + +98.0% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.04057 | 0.088166 | 0.18377 | 18.9 | 3.09 +Neigh | 0.0072649 | 0.014273 | 0.025073 | 5.5 | 0.50 +Comm | 0.097843 | 0.19506 | 0.29871 | 19.9 | 6.84 +Output | 0.00099986 | 0.0018246 | 0.0023299 | 1.2 | 0.06 +Modify | 0.68567 | 1.1174 | 1.9527 | 46.8 | 39.20 +Other | | 1.434 | | | 50.30 + +Nlocal: 500 ave 510 max 493 min +Histogram: 1 1 0 0 0 1 0 0 0 1 +Nghost: 154 ave 227 max 79 min +Histogram: 1 0 0 0 1 0 1 0 0 1 +Neighs: 415.5 ave 610 max 258 min +Histogram: 1 1 0 0 0 0 1 0 0 1 + +Total # of neighbors = 1662 +Ave neighs/atom = 0.831 +Neighbor list builds = 71 +Dangerous builds = 0 +unfix ins +run 150000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 12.33 | 12.5 | 12.68 Mbytes + Step CPU Atoms KinEng + 20000 0 2000 6652.2957 + 21000 0.069761009 2000 6807.2201 + 22000 0.14277925 2000 6973.9359 + 23000 0.21755553 2000 7142.3648 + 24000 0.29656838 2000 7276.9717 + 25000 0.3791331 2000 7369.4191 + 26000 0.46663378 2000 7497.6526 + 27000 0.55670237 2000 7638.946 + 28000 0.65212555 2000 7780.0339 + 29000 0.75032507 2000 7881.8177 + 30000 0.85580942 2000 7967.2641 + 31000 0.93204785 2000 7994.9273 + 32000 1.0168325 2000 7937.0672 + 33000 1.1081585 2000 7774.0508 + 34000 1.2084122 2000 7591.1511 + 35000 1.3164174 2000 7357.5032 + 36000 1.4326847 2000 7147.3776 + 37000 1.5548919 2000 6980.0719 + 38000 1.6806183 2000 6813.0872 + 39000 1.8171138 2000 6657.0693 + 40000 1.9655069 2000 6505.1155 + 41000 2.0788398 2000 6330.2864 + 42000 2.1972941 2000 6147.8022 + 43000 2.3180177 2000 5932.9244 + 44000 2.4424194 2000 5755.296 + 45000 2.5679759 2000 5511.622 + 46000 2.7042099 2000 5332.3171 + 47000 2.8436403 2000 5162.4926 + 48000 2.983017 2000 5044.5764 + 49000 3.1228322 2000 4901.1141 + 50000 3.2614172 2000 4731.1949 + 51000 3.3835559 2000 4575.418 + 52000 3.5097034 2000 4428.9425 + 53000 3.6438561 2000 4291.7282 + 54000 3.7823058 2000 4154.1885 + 55000 3.9269393 2000 3994.9402 + 56000 4.0761939 2000 3855.5977 + 57000 4.2262191 2000 3672.9504 + 58000 4.3809045 2000 3435.3395 + 59000 4.5439971 2000 3200.7379 + 60000 4.7111867 2000 2986.5411 + 61000 4.8700167 2000 2747.3628 + 62000 5.030656 2000 2542.0805 + 63000 5.1932098 2000 2336.7687 + 64000 5.3585095 2000 2151.6388 + 65000 5.5278279 2000 1933.6773 + 66000 5.7032072 2000 1699.0747 + 67000 5.8804545 2000 1467.7209 + 68000 6.0598984 2000 1227.3577 + 69000 6.2471961 2000 1016.2766 + 70000 6.4413532 2000 812.90843 + 71000 6.615215 2000 632.88108 + 72000 6.7897335 2000 470.67731 + 73000 6.964705 2000 360.47748 + 74000 7.1361808 2000 286.10584 + 75000 7.3068097 2000 229.70386 + 76000 7.4771974 2000 179.62654 + 77000 7.6485358 2000 142.40417 + 78000 7.8200771 2000 113.55745 + 79000 7.9923688 2000 93.787669 + 80000 8.164219 2000 80.646319 + 81000 8.3372059 2000 70.944319 + 82000 8.5130035 2000 59.2275 + 83000 8.6877383 2000 49.633808 + 84000 8.8675712 2000 42.882698 + 85000 9.0509682 2000 36.841824 + 86000 9.2393665 2000 31.776681 + 87000 9.4296116 2000 28.25076 + 88000 9.622196 2000 25.228966 + 89000 9.8176023 2000 22.593627 + 90000 10.01325 2000 21.15796 + 91000 10.204474 2000 19.941629 + 92000 10.399553 2000 18.375654 + 93000 10.596683 2000 17.056701 + 94000 10.796988 2000 16.192511 + 95000 10.998545 2000 15.572922 + 96000 11.200614 2000 14.827788 + 97000 11.402484 2000 13.919613 + 98000 11.606219 2000 13.19525 + 99000 11.81042 2000 11.993376 + 100000 12.018294 2000 11.258787 + 101000 12.223702 2000 10.641688 + 102000 12.432026 2000 10.430435 + 103000 12.640962 2000 9.518069 + 104000 12.849109 2000 9.1332086 + 105000 13.05872 2000 9.2151611 + 106000 13.269956 2000 9.0035132 + 107000 13.481882 2000 8.7835861 + 108000 13.693895 2000 8.5124479 + 109000 13.906381 2000 8.2975453 + 110000 14.120217 2000 8.3483043 + 111000 14.332078 2000 8.4658572 + 112000 14.54349 2000 8.4771784 + 113000 14.755719 2000 7.8937975 + 114000 14.968619 2000 7.2472953 + 115000 15.180485 2000 6.5812074 + 116000 15.394405 2000 5.5651566 + 117000 15.607523 2000 5.3015807 + 118000 15.821873 2000 5.0133941 + 119000 16.035675 2000 4.8746036 + 120000 16.24964 2000 4.9133073 + 121000 16.462102 2000 4.3337392 + 122000 16.676371 2000 4.3374836 + 123000 16.890252 2000 4.3721818 + 124000 17.106594 2000 4.3894508 + 125000 17.321433 2000 4.1811774 + 126000 17.536692 2000 4.3011002 + 127000 17.748238 2000 4.442228 + 128000 17.962609 2000 4.6170394 + 129000 18.175315 2000 4.8184318 + 130000 18.389056 2000 4.8442096 + 131000 18.600872 2000 4.9668117 + 132000 18.81412 2000 4.8364562 + 133000 19.027514 2000 4.6658645 + 134000 19.23975 2000 4.5758487 + 135000 19.451085 2000 4.7251949 + 136000 19.663874 2000 4.5846492 + 137000 19.87624 2000 4.7565986 + 138000 20.088654 2000 4.8186623 + 139000 20.29935 2000 4.6571647 + 140000 20.510911 2000 4.0730143 + 141000 20.722072 2000 4.0605542 + 142000 20.933113 2000 4.1457179 + 143000 21.143916 2000 4.3418042 + 144000 21.353873 2000 4.0323813 + 145000 21.567015 2000 3.8064958 + 146000 21.781334 2000 3.1802044 + 147000 21.996799 2000 2.7947641 + 148000 22.209808 2000 2.7384164 + 149000 22.423177 2000 2.7428829 + 150000 22.638044 2000 2.7802186 + 151000 22.851676 2000 2.6703451 + 152000 23.065354 2000 2.3357647 + 153000 23.278882 2000 1.9855305 + 154000 23.494254 2000 1.9442713 + 155000 23.708192 2000 1.7348027 + 156000 23.923005 2000 1.5699942 + 157000 24.13827 2000 1.5224944 + 158000 24.352068 2000 1.4850914 + 159000 24.565616 2000 1.4461048 + 160000 24.779118 2000 1.3759525 + 161000 24.99111 2000 0.83754463 + 162000 25.205935 2000 0.7952922 + 163000 25.420817 2000 0.69670143 + 164000 25.632672 2000 0.66253723 + 165000 25.846901 2000 0.64602969 + 166000 26.060074 2000 0.60229858 + 167000 26.273714 2000 0.5757589 + 168000 26.484855 2000 0.5996023 + 169000 26.698151 2000 0.62130448 + 170000 26.911208 2000 0.63888277 +Loop time of 26.9112 on 4 procs for 150000 steps with 2000 atoms + +95.1% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 4.5517 | 8.6135 | 10.872 | 82.7 | 32.01 +Neigh | 0.092491 | 0.15402 | 0.19598 | 9.7 | 0.57 +Comm | 2.0054 | 3.8686 | 4.6494 | 55.0 | 14.38 +Output | 0.0047033 | 0.0096766 | 0.016452 | 4.6 | 0.04 +Modify | 5.6498 | 7.9588 | 9.4012 | 49.7 | 29.57 +Other | | 6.307 | | | 23.43 + +Nlocal: 500 ave 538 max 419 min +Histogram: 1 0 0 0 0 0 0 1 0 2 +Nghost: 445.5 ave 688 max 200 min +Histogram: 1 0 0 0 1 0 1 0 0 1 +Neighs: 4500.25 ave 5610 max 3443 min +Histogram: 1 0 1 0 0 0 1 0 0 1 + +Total # of neighbors = 18001 +Ave neighs/atom = 9.0005 +Neighbor list builds = 362 +Dangerous builds = 0 + +# remove "plug" - need to redefine cylinder region & union + +region cylreg delete +region hopreg delete +region cylreg cylinder z ${xc} ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 1 open 2 #Bottom & top are open +region cylreg cylinder z 25 ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 1 open 2 +region cylreg cylinder z 25 25 ${radconelo} ${zcyllo} ${zconelo} side in units box open 1 open 2 +region cylreg cylinder z 25 25 2 ${zcyllo} ${zconelo} side in units box open 1 open 2 +region cylreg cylinder z 25 25 2 0 ${zconelo} side in units box open 1 open 2 +region cylreg cylinder z 25 25 2 0 10 side in units box open 1 open 2 + +region hopreg union 2 cylreg conereg + +unfix hopper3 +fix hopper3 all wall/gran/region hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 ${gamma_t} ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 0.5 1 region hopreg + +run 100000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 12.34 | 12.53 | 12.68 Mbytes + Step CPU Atoms KinEng + 170000 0 2000 0.63888277 + 171000 0.21419748 2000 1.4139245 + 172000 0.42844271 2000 2.2400138 + 173000 0.64333145 2000 3.8034979 + 174000 0.85456696 2000 6.116727 + 175000 1.0672981 2000 8.9536458 + 176000 1.2790911 2000 12.74348 + 177000 1.491721 2000 17.410816 + 178000 1.7033452 2000 22.879174 + 179000 1.9168047 2000 28.966022 + 180000 2.1329071 2000 35.449239 + 181000 2.3490841 2000 42.694882 + 182000 2.565508 2000 50.913279 + 183000 2.780369 2000 60.098465 + 184000 2.9967771 2000 70.133474 + 185000 3.2116891 2000 80.950013 + 186000 3.4248923 2000 92.495525 + 187000 3.6394206 2000 104.83034 + 188000 3.8527533 2000 118.04659 + 189000 4.0650838 2000 132.7403 + 190000 4.2781031 2000 148.31955 + 191000 4.476226 2000 164.26321 + 192000 4.6750263 2000 180.6933 + 193000 4.8710737 2000 197.72012 + 194000 5.0677642 2000 215.43637 + 195000 5.2639974 2000 234.29738 + 196000 5.4599746 2000 254.03407 + 197000 5.6534894 2000 274.58626 + 198000 5.8462402 2000 296.88915 + 199000 6.0400194 2000 320.45001 + 200000 6.2329415 2000 344.75891 + 201000 6.4235068 2000 370.14016 + 202000 6.6142055 2000 395.72827 + 203000 6.8048206 2000 420.42026 + 204000 6.9987454 2000 446.08079 + 205000 7.1925778 2000 473.62963 + 206000 7.3846227 2000 501.05693 + 207000 7.5775122 2000 530.40427 + 208000 7.77052 2000 560.62015 + 209000 7.964984 2000 593.00113 + 210000 8.1601405 2000 626.36661 + 211000 8.3504978 2000 661.34861 + 212000 8.5425141 2000 697.41001 + 213000 8.736112 2000 735.12299 + 214000 8.9267615 2000 773.89126 + 215000 9.1154738 2000 813.83268 + 216000 9.3019826 2000 854.63669 + 217000 9.4878433 2000 896.59089 + 218000 9.6739682 2000 938.70251 + 219000 9.8566518 2000 982.10773 + 220000 10.042289 2000 1025.2953 + 221000 10.227275 2000 1069.8382 + 222000 10.412363 2000 1115.4449 + 223000 10.602757 2000 1161.6742 + 224000 10.789101 2000 1211.289 + 225000 10.974854 2000 1262.8074 + 226000 11.157089 2000 1316.6353 + 227000 11.337044 2000 1370.7434 +WARNING: Lost atoms: original 2000 current 1991 (../thermo.cpp:486) + 228000 11.518718 1991 1382.0924 + 229000 11.700488 1986 1407.1543 + 230000 11.883057 1975 1415.708 + 231000 12.063962 1968 1430.6498 + 232000 12.246917 1957 1421.0352 + 233000 12.429345 1939 1376.0322 + 234000 12.6113 1925 1350.1292 + 235000 12.791233 1912 1337.0529 + 236000 12.968444 1893 1273.2219 + 237000 13.146668 1879 1207.0473 + 238000 13.327542 1861 1132.0109 + 239000 13.50936 1846 1083.1042 + 240000 13.693504 1826 1004.3265 + 241000 13.863443 1819 989.36186 + 242000 14.03294 1812 983.26132 + 243000 14.20032 1805 985.79932 + 244000 14.366236 1794 936.34844 + 245000 14.532759 1784 889.17423 + 246000 14.703029 1770 846.65018 + 247000 14.873941 1753 751.16306 + 248000 15.045272 1740 709.23095 + 249000 15.217896 1732 687.61586 + 250000 15.388727 1721 638.82967 + 251000 15.558032 1714 618.71543 + 252000 15.725309 1709 611.25444 + 253000 15.888727 1705 606.6846 + 254000 16.050605 1702 601.7236 + 255000 16.212982 1697 575.97244 + 256000 16.378352 1695 577.1712 + 257000 16.547488 1691 576.93668 + 258000 16.718964 1688 586.63687 + 259000 16.892601 1686 581.52487 + 260000 17.066036 1682 566.49544 + 261000 17.22488 1681 586.18628 + 262000 17.379249 1678 582.11927 + 263000 17.534079 1675 589.96041 + 264000 17.690288 1672 577.55581 + 265000 17.847805 1669 570.45998 + 266000 18.006261 1666 574.0576 + 267000 18.1674 1662 578.07385 + 268000 18.326753 1660 587.65705 + 269000 18.488052 1657 584.43358 + 270000 18.647474 1654 591.22601 +Loop time of 18.6475 on 4 procs for 100000 steps with 1654 atoms + +94.4% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 2.7714 | 6.1879 | 8.8765 | 88.8 | 33.18 +Neigh | 0.094692 | 0.11244 | 0.13298 | 4.6 | 0.60 +Comm | 1.2471 | 2.918 | 3.5873 | 57.0 | 15.65 +Output | 0.0013438 | 0.0067176 | 0.014709 | 6.0 | 0.04 +Modify | 4.4355 | 5.0416 | 5.5692 | 21.9 | 27.04 +Other | | 4.381 | | | 23.49 + +Nlocal: 413.5 ave 429 max 408 min +Histogram: 3 0 0 0 0 0 0 0 0 1 +Nghost: 408.25 ave 653 max 182 min +Histogram: 1 0 0 1 0 1 0 0 0 1 +Neighs: 3486.25 ave 4367 max 2213 min +Histogram: 1 0 0 0 0 1 0 0 1 1 + +Total # of neighbors = 13945 +Ave neighs/atom = 8.4310762 +Neighbor list builds = 227 +Dangerous builds = 0 +Total wall time: 0:00:48 diff --git a/examples/granregion/log.15Sep22.granregion.mixer.g++.1 b/examples/granregion/log.15Sep22.granregion.mixer.g++.1 new file mode 100644 index 0000000000..2a3402c642 --- /dev/null +++ b/examples/granregion/log.15Sep22.granregion.mixer.g++.1 @@ -0,0 +1,632 @@ +LAMMPS (15 Sep 2022) +variable name string mixer + +thermo_modify flush yes +variable seed equal 14314 + +############################################### +# Particle parameters +################################################ + +variable rlo equal 0.3 +variable rhi equal 0.6 +variable dlo equal 2.0*${rlo} +variable dlo equal 2.0*0.3 +variable dhi equal 2.0*${rhi} +variable dhi equal 2.0*0.6 +variable skin equal ${rhi} +variable skin equal 0.6 + +variable coeffRes equal 0.1 +variable coeffFric equal 0.5 + +variable kn equal 10^5 +variable kt equal 0.2*${kn} +variable kt equal 0.2*100000 + +variable gravity equal 1.0 +variable density equal 1.0 + +variable min_mass equal ${density}*4.0/3.0*PI*${rlo}*${rlo}*${rlo} +variable min_mass equal 1*4.0/3.0*PI*${rlo}*${rlo}*${rlo} +variable min_mass equal 1*4.0/3.0*PI*0.3*${rlo}*${rlo} +variable min_mass equal 1*4.0/3.0*PI*0.3*0.3*${rlo} +variable min_mass equal 1*4.0/3.0*PI*0.3*0.3*0.3 +variable a equal (-2.0*log(${coeffRes})/PI)^2 +variable a equal (-2.0*log(0.1)/PI)^2 +variable gamma_n equal sqrt($a*2*${kn}/${min_mass}/(1+0.25*$a)) +variable gamma_n equal sqrt(0.405284734569351*2*${kn}/${min_mass}/(1+0.25*$a)) +variable gamma_n equal sqrt(0.405284734569351*2*100000/${min_mass}/(1+0.25*$a)) +variable gamma_n equal sqrt(0.405284734569351*2*100000/0.113097335529233/(1+0.25*$a)) +variable gamma_n equal sqrt(0.405284734569351*2*100000/0.113097335529233/(1+0.25*0.405284734569351)) +variable gamma_t equal ${gamma_n}*0.5 +variable gamma_t equal 806.699778405191*0.5 + +variable tcol equal PI/sqrt(2*${kn}/${min_mass}-${gamma_n}/4.0) +variable tcol equal PI/sqrt(2*100000/${min_mass}-${gamma_n}/4.0) +variable tcol equal PI/sqrt(2*100000/0.113097335529233-${gamma_n}/4.0) +variable tcol equal PI/sqrt(2*100000/0.113097335529233-806.699778405191/4.0) + +variable dt equal ${tcol}*0.02 +variable dt equal 0.00236257621510454*0.02 +timestep ${dt} +timestep 4.72515243020908e-05 + +############################################### + +variable dumpfreq equal 1000 +variable logfreq equal 1000 + +newton on +atom_style sphere + +boundary p p f + +region boxreg block 0 20 0 20 0 20 +create_box 1 boxreg +Created orthogonal box = (0 0 0) to (20 20 20) + 1 by 1 by 1 MPI processor grid + +pair_style gran/hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 +pair_style gran/hertz/history 100000 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 +pair_style gran/hertz/history 100000 20000 ${gamma_n} ${gamma_t} ${coeffFric} 1 +pair_style gran/hertz/history 100000 20000 806.699778405191 ${gamma_t} ${coeffFric} 1 +pair_style gran/hertz/history 100000 20000 806.699778405191 403.349889202595 ${coeffFric} 1 +pair_style gran/hertz/history 100000 20000 806.699778405191 403.349889202595 0.5 1 +pair_coeff * * + +neighbor ${skin} multi +neighbor 0.6 multi +thermo ${logfreq} +thermo 1000 + +comm_style brick +comm_modify mode multi group all vel yes +balance 1.1 shift xyz 20 1.1 +Balancing ... +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 0 + ghost atom cutoff = 0 + binsize = 20, bins = 1 1 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair gran/hertz/history, perpetual + attributes: half, newton on, size, history + pair build: half/size/multi/newton + stencil: half/multi/3d + bin: multi +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +fix bal all balance 10000 1.1 shift xyz 20 1.01 + +####################### Options specific to pouring ######################### + +region insreg cylinder z 10 10 8 10 18 side in units box +region cylreg cylinder z 10 10 10 0 20 side in units box + +variable theta equal (step/400000)*2*PI + +region b1 block 2 18 9 11 0 4 side out rotate v_theta 10 10 0 0 0 1 units box +region b2 block 9 11 2 18 0 3.99999 side out rotate v_theta 10 10 0 0 0 1 units box + +region mixer intersect 3 cylreg b1 b2 side in + +fix grav all gravity ${gravity} vector 0 0 -1 +fix grav all gravity 1 vector 0 0 -1 +fix 1 all nve/sphere + +fix mixwall all wall/gran/region hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region mixer +fix mixwall all wall/gran/region hertz/history 100000 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region mixer +fix mixwall all wall/gran/region hertz/history 100000 20000 ${gamma_n} ${gamma_t} ${coeffFric} 1 region mixer +fix mixwall all wall/gran/region hertz/history 100000 20000 806.699778405191 ${gamma_t} ${coeffFric} 1 region mixer +fix mixwall all wall/gran/region hertz/history 100000 20000 806.699778405191 403.349889202595 ${coeffFric} 1 region mixer +fix mixwall all wall/gran/region hertz/history 100000 20000 806.699778405191 403.349889202595 0.5 1 region mixer + +fix ins all pour 1000 1 42424 region insreg diam range ${dlo} ${dhi} dens ${density} ${density} +fix ins all pour 1000 1 42424 region insreg diam range 0.6 ${dhi} dens ${density} ${density} +fix ins all pour 1000 1 42424 region insreg diam range 0.6 1.2 dens ${density} ${density} +fix ins all pour 1000 1 42424 region insreg diam range 0.6 1.2 dens 1 ${density} +fix ins all pour 1000 1 42424 region insreg diam range 0.6 1.2 dens 1 1 +Particle insertion: 444 every 84653 steps, 1000 by step 169307 + +#dump 1 all custom ${dumpfreq} ${name}_pour.dump # id type mass diameter x y z + +#dump 2 all image 4000 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 zoom 1.5 # box no 0.0 axes no 0.0 0.0 +#dump_modify 2 pad 6 + +thermo_style custom step cpu atoms ke v_theta +WARNING: New thermo_style command, previous thermo_modify settings will be lost (../output.cpp:896) +thermo_modify flush yes lost warn + +run 200000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- neighbor multi command: doi:10.1016/j.cpc.2008.03.005, doi:10.1007/s40571-020-00361-2 + +@Article{Intveld08, + author = {in 't Veld, P. J. and S. J.~Plimpton and G. S. Grest}, + title = {Accurate and Efficient Methods for Modeling Colloidal + Mixtures in an Explicit Solvent using Molecular Dynamics}, + journal = {Comput.\ Phys.\ Commut.}, + year = 2008, + volume = 179, + pages = {320--329} +} + +@article{Shire2020, + author = {Shire, Tom and Hanley, Kevin J. and Stratford, Kevin}, + title = {{DEM} Simulations of Polydisperse Media: Efficient Contact + Detection Applied to Investigate the Quasi-Static Limit}, + journal = {Computational Particle Mechanics}, + year = {2020} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 5.861 | 5.861 | 5.861 Mbytes + Step CPU Atoms KinEng v_theta + 0 0 0 -0 0 + 1000 0.10672296 444 -0 0.015707963 + 2000 0.2090638 444 -0 0.031415927 + 3000 0.31029663 444 -0 0.04712389 + 4000 0.41047624 444 -0 0.062831853 + 5000 0.51132361 444 -0 0.078539816 + 6000 0.61279172 444 -0 0.09424778 + 7000 0.71396622 444 -0 0.10995574 + 8000 0.81644319 444 -0 0.12566371 + 9000 0.91730959 444 -0 0.14137167 + 10000 1.0181635 444 -0 0.15707963 + 11000 1.1182214 444 -0 0.1727876 + 12000 1.2190013 444 -0 0.18849556 + 13000 1.3196138 444 -0 0.20420352 + 14000 1.4183593 444 -0 0.21991149 + 15000 1.5178458 444 -0 0.23561945 + 16000 1.6169535 444 -0 0.25132741 + 17000 1.7219188 444 -0 0.26703538 + 18000 1.8266303 444 -0 0.28274334 + 19000 1.9331589 444 -0 0.2984513 + 20000 2.0392693 444 -0 0.31415927 + 21000 2.1457521 444 -0 0.32986723 + 22000 2.2507526 444 -0 0.34557519 + 23000 2.3548243 444 -0 0.36128316 + 24000 2.4606335 444 -0 0.37699112 + 25000 2.5657643 444 -0 0.39269908 + 26000 2.6698254 444 -0 0.40840704 + 27000 2.7732221 444 -0 0.42411501 + 28000 2.8766441 444 -0 0.43982297 + 29000 2.9801547 444 -0 0.45553093 + 30000 3.0839748 444 -0 0.4712389 + 31000 3.1880063 444 -0 0.48694686 + 32000 3.2923439 444 -0 0.50265482 + 33000 3.3969501 444 -0 0.51836279 + 34000 3.5012646 444 -0 0.53407075 + 35000 3.6057831 444 -0 0.54977871 + 36000 3.7098273 444 -0 0.56548668 + 37000 3.8146061 444 -0 0.58119464 + 38000 3.9215588 444 -0 0.5969026 + 39000 4.0474026 444 -0 0.61261057 + 40000 4.1544945 444 -0 0.62831853 + 41000 4.2605761 444 -0 0.64402649 + 42000 4.3665287 444 -0 0.65973446 + 43000 4.4728216 444 -0 0.67544242 + 44000 4.5782483 444 -0 0.69115038 + 45000 4.6833043 444 -0 0.70685835 + 46000 4.7902207 444 -0 0.72256631 + 47000 4.8968527 444 -0 0.73827427 + 48000 5.0035027 444 -0 0.75398224 + 49000 5.1117191 444 -0 0.7696902 + 50000 5.2186233 444 -0 0.78539816 + 51000 5.3244005 444 -0 0.80110613 + 52000 5.4316153 444 -0 0.81681409 + 53000 5.5381785 444 -0 0.83252205 + 54000 5.6458179 444 -0 0.84823002 + 55000 5.759203 444 -0 0.86393798 + 56000 5.8779849 444 -0 0.87964594 + 57000 5.9953108 444 -0 0.89535391 + 58000 6.1115532 444 -0 0.91106187 + 59000 6.2298342 444 -0 0.92676983 + 60000 6.3474382 444 -0 0.9424778 + 61000 6.4642217 444 -0 0.95818576 + 62000 6.5815141 444 -0 0.97389372 + 63000 6.6999766 444 -0 0.98960169 + 64000 6.8181369 444 -0 1.0053096 + 65000 6.9368124 444 -0 1.0210176 + 66000 7.0560733 444 -0 1.0367256 + 67000 7.1761749 444 -0 1.0524335 + 68000 7.2942246 444 -0 1.0681415 + 69000 7.4146786 444 -0 1.0838495 + 70000 7.5364025 444 -0 1.0995574 + 71000 7.6565177 444 -0 1.1152654 + 72000 7.7776652 444 -0 1.1309734 + 73000 7.8972494 444 -0 1.1466813 + 74000 8.0183599 444 -0 1.1623893 + 75000 8.1423045 444 -0 1.1780972 + 76000 8.2667013 444 -0 1.1938052 + 77000 8.3876604 444 -0 1.2095132 + 78000 8.5095993 444 -0 1.2252211 + 79000 8.6317663 444 -0 1.2409291 + 80000 8.7562108 444 -0 1.2566371 + 81000 8.8812625 444 -0 1.272345 + 82000 9.006825 444 -0 1.288053 + 83000 9.1310939 444 -0 1.303761 + 84000 9.2540049 444 -0 1.3194689 + 85000 9.4210019 888 -0 1.3351769 + 86000 9.6509014 888 -0 1.3508848 + 87000 9.8827304 888 -0 1.3665928 + 88000 10.113857 888 -0 1.3823008 + 89000 10.34324 888 -0 1.3980087 + 90000 10.574203 888 -0 1.4137167 + 91000 10.806069 888 -0 1.4294247 + 92000 11.037044 888 -0 1.4451326 + 93000 11.262596 888 -0 1.4608406 + 94000 11.490532 888 -0 1.4765485 + 95000 11.716452 888 -0 1.4922565 + 96000 11.943883 888 -0 1.5079645 + 97000 12.171353 888 -0 1.5236724 + 98000 12.396787 888 -0 1.5393804 + 99000 12.623788 888 -0 1.5550884 + 100000 12.849633 888 -0 1.5707963 + 101000 13.082904 888 -0 1.5865043 + 102000 13.316986 888 -0 1.6022123 + 103000 13.54777 888 -0 1.6179202 + 104000 13.77928 888 -0 1.6336282 + 105000 14.014818 888 -0 1.6493361 + 106000 14.250986 888 -0 1.6650441 + 107000 14.485754 888 -0 1.6807521 + 108000 14.720106 888 -0 1.69646 + 109000 14.970869 888 -0 1.712168 + 110000 15.219203 888 -0 1.727876 + 111000 15.469876 888 -0 1.7435839 + 112000 15.721351 888 -0 1.7592919 + 113000 15.972099 888 -0 1.7749998 + 114000 16.222357 888 -0 1.7907078 + 115000 16.474863 888 -0 1.8064158 + 116000 16.725352 888 -0 1.8221237 + 117000 16.979634 888 -0 1.8378317 + 118000 17.231379 888 -0 1.8535397 + 119000 17.483691 888 -0 1.8692476 + 120000 17.737897 888 -0 1.8849556 + 121000 17.991241 888 -0 1.9006636 + 122000 18.245626 888 -0 1.9163715 + 123000 18.499984 888 -0 1.9320795 + 124000 18.754367 888 -0 1.9477874 + 125000 19.006448 888 -0 1.9634954 + 126000 19.260545 888 -0 1.9792034 + 127000 19.513633 888 -0 1.9949113 + 128000 19.769389 888 -0 2.0106193 + 129000 20.025088 888 -0 2.0263273 + 130000 20.277534 888 -0 2.0420352 + 131000 20.529284 888 -0 2.0577432 + 132000 20.785132 888 -0 2.0734512 + 133000 21.038442 888 -0 2.0891591 + 134000 21.293932 888 -0 2.1048671 + 135000 21.545354 888 -0 2.120575 + 136000 21.799547 888 -0 2.136283 + 137000 22.053639 888 -0 2.151991 + 138000 22.310106 888 -0 2.1676989 + 139000 22.569362 888 -0 2.1834069 + 140000 22.829416 888 -0 2.1991149 + 141000 23.089132 888 -0 2.2148228 + 142000 23.345737 888 -0 2.2305308 + 143000 23.60621 888 -0 2.2462387 + 144000 23.867414 888 -0 2.2619467 + 145000 24.132954 888 -0 2.2776547 + 146000 24.39395 888 -0 2.2933626 + 147000 24.657881 888 -0 2.3090706 + 148000 24.918563 888 -0 2.3247786 + 149000 25.177446 888 -0 2.3404865 + 150000 25.446598 888 -0 2.3561945 + 151000 25.715494 888 -0 2.3719025 + 152000 25.985991 888 -0 2.3876104 + 153000 26.256676 888 -0 2.4033184 + 154000 26.525639 888 -0 2.4190263 + 155000 26.82656 888 -0 2.4347343 + 156000 27.157272 888 -0 2.4504423 + 157000 27.481755 888 -0 2.4661502 + 158000 27.80198 888 -0 2.4818582 + 159000 28.123258 888 -0 2.4975662 + 160000 28.437502 888 -0 2.5132741 + 161000 28.756496 888 -0 2.5289821 + 162000 29.080609 888 -0 2.54469 + 163000 29.399252 888 -0 2.560398 + 164000 29.718986 888 -0 2.576106 + 165000 30.045206 888 -0 2.5918139 + 166000 30.365168 888 -0 2.6075219 + 167000 30.684007 888 -0 2.6232299 + 168000 31.006154 888 -0 2.6389378 + 169000 31.330336 888 -0 2.6546458 + 170000 31.681761 1000 -0 2.6703538 + 171000 32.049778 1000 -0 2.6860617 + 172000 32.421067 1000 -0 2.7017697 + 173000 32.79935 1000 -0 2.7174776 + 174000 33.178002 1000 -0 2.7331856 + 175000 33.54236 1000 -0 2.7488936 + 176000 33.904734 1000 -0 2.7646015 + 177000 34.269671 1000 -0 2.7803095 + 178000 34.633106 1000 -0 2.7960175 + 179000 35.001441 1000 -0 2.8117254 + 180000 35.374769 1000 -0 2.8274334 + 181000 35.742362 1000 -0 2.8431414 + 182000 36.115908 1000 -0 2.8588493 + 183000 36.490149 1000 -0 2.8745573 + 184000 36.866289 1000 -0 2.8902652 + 185000 37.252911 1000 -0 2.9059732 + 186000 37.644586 1000 -0 2.9216812 + 187000 38.028002 1000 -0 2.9373891 + 188000 38.40724 1000 -0 2.9530971 + 189000 38.77431 1000 -0 2.9688051 + 190000 39.14138 1000 -0 2.984513 + 191000 39.519083 1000 -0 3.000221 + 192000 39.895243 1000 -0 3.0159289 + 193000 40.237532 1000 -0 3.0316369 + 194000 40.587663 1000 -0 3.0473449 + 195000 40.939032 1000 -0 3.0630528 + 196000 41.290257 1000 -0 3.0787608 + 197000 41.643778 1000 -0 3.0944688 + 198000 41.992818 1000 -0 3.1101767 + 199000 42.335934 1000 -0 3.1258847 + 200000 42.681071 1000 -0 3.1415927 +Loop time of 42.6811 on 1 procs for 200000 steps with 1000 atoms + +Performance: 19130.397 tau/day, 4685.915 timesteps/s, 4.686 Matom-step/s +98.5% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 2.6365 | 2.6365 | 2.6365 | 0.0 | 6.18 +Neigh | 0.051681 | 0.051681 | 0.051681 | 0.0 | 0.12 +Comm | 0.52007 | 0.52007 | 0.52007 | 0.0 | 1.22 +Output | 0.02209 | 0.02209 | 0.02209 | 0.0 | 0.05 +Modify | 38.71 | 38.71 | 38.71 | 0.0 | 90.70 +Other | | 0.7407 | | | 1.74 + +Nlocal: 1000 ave 1000 max 1000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 183 ave 183 max 183 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 3757 ave 3757 max 3757 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 3757 +Ave neighs/atom = 3.757 +Neighbor list builds = 200 +Dangerous builds = 0 +unfix ins +run 200000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 11.89 | 11.89 | 11.89 Mbytes + Step CPU Atoms KinEng v_theta + 200000 0 1000 1.0515941 3.1415927 + 201000 0.35477257 1000 1.0348185 3.1573006 + 202000 0.71436123 1000 1.0220859 3.1730086 + 203000 1.0642832 1000 1.0225785 3.1887165 + 204000 1.4165213 1000 1.0206121 3.2044245 + 205000 1.7728133 1000 1.009961 3.2201325 + 206000 2.1279101 1000 0.9993323 3.2358404 + 207000 2.480623 1000 0.99602628 3.2515484 + 208000 2.8321106 1000 0.98341818 3.2672564 + 209000 3.2138945 1000 0.96700718 3.2829643 + 210000 3.5921146 1000 0.95226699 3.2986723 + 211000 3.9643569 1000 0.93911691 3.3143802 + 212000 4.3368151 1000 0.92920029 3.3300882 + 213000 4.7130192 1000 0.91893472 3.3457962 + 214000 5.0881313 1000 0.90873324 3.3615041 + 215000 5.4660106 1000 0.88925817 3.3772121 + 216000 5.8455926 1000 0.89108236 3.3929201 + 217000 6.2204827 1000 0.90176711 3.408628 + 218000 6.6046736 1000 0.90149435 3.424336 + 219000 6.9931145 1000 0.89629307 3.440044 + 220000 7.3771565 1000 0.90390589 3.4557519 + 221000 7.7635603 1000 0.87858148 3.4714599 + 222000 8.1502771 1000 0.88862314 3.4871678 + 223000 8.5393557 1000 0.90394098 3.5028758 + 224000 8.9327212 1000 0.91005462 3.5185838 + 225000 9.315331 1000 0.91753865 3.5342917 + 226000 9.6930994 1000 0.91741233 3.5499997 + 227000 10.077148 1000 0.9041879 3.5657077 + 228000 10.463223 1000 0.9085712 3.5814156 + 229000 10.850271 1000 0.8937854 3.5971236 + 230000 11.230235 1000 0.88740571 3.6128316 + 231000 11.61003 1000 0.88350028 3.6285395 + 232000 11.988134 1000 0.88344474 3.6442475 + 233000 12.365856 1000 0.88003311 3.6599554 + 234000 12.745397 1000 0.87416727 3.6756634 + 235000 13.120344 1000 0.86154585 3.6913714 + 236000 13.489521 1000 0.85705071 3.7070793 + 237000 13.858736 1000 0.85297378 3.7227873 + 238000 14.230242 1000 0.84879486 3.7384953 + 239000 14.609692 1000 0.86978407 3.7542032 + 240000 14.998899 1000 0.86758733 3.7699112 + 241000 15.40773 1000 0.86123097 3.7856191 + 242000 15.81537 1000 0.86088136 3.8013271 + 243000 16.221448 1000 0.85270311 3.8170351 + 244000 16.619008 1000 0.8524395 3.832743 + 245000 17.003986 1000 0.84054009 3.848451 + 246000 17.380362 1000 0.82623612 3.864159 + 247000 17.756477 1000 0.82787746 3.8798669 + 248000 18.136456 1000 0.83027177 3.8955749 + 249000 18.521277 1000 0.83307565 3.9112829 + 250000 18.906407 1000 0.82612362 3.9269908 + 251000 19.28348 1000 0.8404639 3.9426988 + 252000 19.66549 1000 0.83550946 3.9584067 + 253000 20.053842 1000 0.81516472 3.9741147 + 254000 20.451357 1000 0.79127421 3.9898227 + 255000 20.844416 1000 0.78373024 4.0055306 + 256000 21.228637 1000 0.79885661 4.0212386 + 257000 21.613641 1000 0.80322118 4.0369466 + 258000 21.99162 1000 0.79861523 4.0526545 + 259000 22.367158 1000 0.79216962 4.0683625 + 260000 22.746158 1000 0.79543097 4.0840704 + 261000 23.125626 1000 0.79394211 4.0997784 + 262000 23.504282 1000 0.79269346 4.1154864 + 263000 23.883609 1000 0.80022854 4.1311943 + 264000 24.261864 1000 0.79885184 4.1469023 + 265000 24.639269 1000 0.79595018 4.1626103 + 266000 25.016335 1000 0.78191184 4.1783182 + 267000 25.389754 1000 0.76329279 4.1940262 + 268000 25.762053 1000 0.7342663 4.2097342 + 269000 26.133966 1000 0.72303366 4.2254421 + 270000 26.511157 1000 0.70016481 4.2411501 + 271000 26.888842 1000 0.68891731 4.256858 + 272000 27.26804 1000 0.68545775 4.272566 + 273000 27.644067 1000 0.68712156 4.288274 + 274000 28.024704 1000 0.69249813 4.3039819 + 275000 28.404842 1000 0.70187847 4.3196899 + 276000 28.785799 1000 0.70679419 4.3353979 + 277000 29.165857 1000 0.70955357 4.3511058 + 278000 29.545291 1000 0.70183408 4.3668138 + 279000 29.926113 1000 0.69979273 4.3825218 + 280000 30.302095 1000 0.70822139 4.3982297 + 281000 30.684406 1000 0.71629209 4.4139377 + 282000 31.065873 1000 0.73094905 4.4296456 + 283000 31.445972 1000 0.74554115 4.4453536 + 284000 31.828184 1000 0.74390104 4.4610616 + 285000 32.207807 1000 0.74675359 4.4767695 + 286000 32.58802 1000 0.75330713 4.4924775 + 287000 32.964457 1000 0.75525926 4.5081855 + 288000 33.343222 1000 0.75174884 4.5238934 + 289000 33.717663 1000 0.74062375 4.5396014 + 290000 34.094722 1000 0.72784613 4.5553093 + 291000 34.46982 1000 0.72151574 4.5710173 + 292000 34.843777 1000 0.71712409 4.5867253 + 293000 35.208307 1000 0.71803758 4.6024332 + 294000 35.576207 1000 0.71002715 4.6181412 + 295000 35.942972 1000 0.7070911 4.6338492 + 296000 36.3107 1000 0.71082175 4.6495571 + 297000 36.682044 1000 0.70438977 4.6652651 + 298000 37.054664 1000 0.70240345 4.6809731 + 299000 37.424717 1000 0.70525357 4.696681 + 300000 37.796148 1000 0.70636846 4.712389 + 301000 38.166828 1000 0.70443346 4.7280969 + 302000 38.538428 1000 0.71187973 4.7438049 + 303000 38.907221 1000 0.71047139 4.7595129 + 304000 39.280263 1000 0.71405925 4.7752208 + 305000 39.652902 1000 0.71277063 4.7909288 + 306000 40.02752 1000 0.72005331 4.8066368 + 307000 40.402955 1000 0.72466112 4.8223447 + 308000 40.784177 1000 0.72001329 4.8380527 + 309000 41.173226 1000 0.70611982 4.8537606 + 310000 41.559195 1000 0.70810918 4.8694686 + 311000 41.946697 1000 0.70377166 4.8851766 + 312000 42.337059 1000 0.70434458 4.9008845 + 313000 42.728304 1000 0.70707385 4.9165925 + 314000 43.120803 1000 0.71412995 4.9323005 + 315000 43.510705 1000 0.72228946 4.9480084 + 316000 43.901867 1000 0.72715835 4.9637164 + 317000 44.295667 1000 0.73833476 4.9794244 + 318000 44.687503 1000 0.75953014 4.9951323 + 319000 45.077121 1000 0.76413836 5.0108403 + 320000 45.465317 1000 0.76745045 5.0265482 + 321000 45.86931 1000 0.75813288 5.0422562 + 322000 46.277029 1000 0.75324661 5.0579642 + 323000 46.680799 1000 0.75004276 5.0736721 + 324000 47.082361 1000 0.74316264 5.0893801 + 325000 47.481252 1000 0.74087383 5.1050881 + 326000 47.87511 1000 0.73244882 5.120796 + 327000 48.274582 1000 0.73096631 5.136504 + 328000 48.671718 1000 0.72955403 5.152212 + 329000 49.066335 1000 0.73464916 5.1679199 + 330000 49.459765 1000 0.73130257 5.1836279 + 331000 49.850698 1000 0.73008711 5.1993358 + 332000 50.241012 1000 0.72561074 5.2150438 + 333000 50.643245 1000 0.7214495 5.2307518 + 334000 51.039153 1000 0.71274232 5.2464597 + 335000 51.430328 1000 0.71335777 5.2621677 + 336000 51.819148 1000 0.71317423 5.2778757 + 337000 52.202763 1000 0.70965743 5.2935836 + 338000 52.585061 1000 0.69648518 5.3092916 + 339000 52.967678 1000 0.68985842 5.3249995 + 340000 53.351472 1000 0.6846783 5.3407075 + 341000 53.737731 1000 0.69031602 5.3564155 + 342000 54.131413 1000 0.69035259 5.3721234 + 343000 54.526384 1000 0.69843983 5.3878314 + 344000 54.921609 1000 0.69566088 5.4035394 + 345000 55.314258 1000 0.68309182 5.4192473 + 346000 55.701119 1000 0.68360919 5.4349553 + 347000 56.088194 1000 0.68034628 5.4506633 + 348000 56.467878 1000 0.67155093 5.4663712 + 349000 56.857709 1000 0.66504603 5.4820792 + 350000 57.250758 1000 0.66533658 5.4977871 + 351000 57.643438 1000 0.67726804 5.5134951 + 352000 58.04256 1000 0.68880987 5.5292031 + 353000 58.437369 1000 0.71377276 5.544911 + 354000 58.832421 1000 0.71715625 5.560619 + 355000 59.222221 1000 0.71729576 5.576327 + 356000 59.621431 1000 0.71088872 5.5920349 + 357000 60.013262 1000 0.70564615 5.6077429 + 358000 60.406494 1000 0.69291739 5.6234508 + 359000 60.800632 1000 0.68237469 5.6391588 + 360000 61.195364 1000 0.69105856 5.6548668 + 361000 61.588291 1000 0.69563351 5.6705747 + 362000 61.984821 1000 0.69762747 5.6862827 + 363000 62.377158 1000 0.69717346 5.7019907 + 364000 62.77604 1000 0.69413964 5.7176986 + 365000 63.165863 1000 0.68584257 5.7334066 + 366000 63.5503 1000 0.67653762 5.7491146 + 367000 63.930717 1000 0.66880284 5.7648225 + 368000 64.313698 1000 0.66024732 5.7805305 + 369000 64.708193 1000 0.65451701 5.7962384 + 370000 65.10142 1000 0.64352268 5.8119464 + 371000 65.49169 1000 0.63715296 5.8276544 + 372000 65.879115 1000 0.63840106 5.8433623 + 373000 66.268258 1000 0.64537192 5.8590703 + 374000 66.661807 1000 0.64498753 5.8747783 + 375000 67.052521 1000 0.64666103 5.8904862 + 376000 67.443168 1000 0.65957055 5.9061942 + 377000 67.835892 1000 0.65964257 5.9219022 + 378000 68.229282 1000 0.65720396 5.9376101 + 379000 68.623557 1000 0.66304265 5.9533181 + 380000 69.015967 1000 0.67465814 5.969026 + 381000 69.408981 1000 0.68582945 5.984734 + 382000 69.796561 1000 0.69516677 6.000442 + 383000 70.186403 1000 0.69835516 6.0161499 + 384000 70.5765 1000 0.70403284 6.0318579 + 385000 70.966205 1000 0.6955862 6.0475659 + 386000 71.360054 1000 0.704932 6.0632738 + 387000 71.757912 1000 0.71954173 6.0789818 + 388000 72.147544 1000 0.72347529 6.0946897 + 389000 72.535029 1000 0.72738907 6.1103977 + 390000 72.925842 1000 0.74783091 6.1261057 + 391000 73.306871 1000 0.76739039 6.1418136 + 392000 73.692746 1000 0.77184224 6.1575216 + 393000 74.053385 1000 0.76813357 6.1732296 + 394000 74.416323 1000 0.75994091 6.1889375 + 395000 74.777021 1000 0.74970188 6.2046455 + 396000 75.139847 1000 0.7523174 6.2203535 + 397000 75.502888 1000 0.74652931 6.2360614 + 398000 75.865442 1000 0.74418096 6.2517694 + 399000 76.225245 1000 0.75110038 6.2674773 + 400000 76.590032 1000 0.7609274 6.2831853 +Loop time of 76.5901 on 1 procs for 200000 steps with 1000 atoms + +Performance: 10660.735 tau/day, 2611.305 timesteps/s, 2.611 Matom-step/s +99.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 8.693 | 8.693 | 8.693 | 0.0 | 11.35 +Neigh | 0.082655 | 0.082655 | 0.082655 | 0.0 | 0.11 +Comm | 1.1618 | 1.1618 | 1.1618 | 0.0 | 1.52 +Output | 0.0052644 | 0.0052644 | 0.0052644 | 0.0 | 0.01 +Modify | 65.713 | 65.713 | 65.713 | 0.0 | 85.80 +Other | | 0.934 | | | 1.22 + +Nlocal: 1000 ave 1000 max 1000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 268 ave 268 max 268 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 5015 ave 5015 max 5015 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 5015 +Ave neighs/atom = 5.015 +Neighbor list builds = 163 +Dangerous builds = 0 +Total wall time: 0:01:59 diff --git a/examples/granregion/log.15Sep22.granregion.mixer.g++.4 b/examples/granregion/log.15Sep22.granregion.mixer.g++.4 new file mode 100644 index 0000000000..57c517a063 --- /dev/null +++ b/examples/granregion/log.15Sep22.granregion.mixer.g++.4 @@ -0,0 +1,632 @@ +LAMMPS (15 Sep 2022) +variable name string mixer + +thermo_modify flush yes +variable seed equal 14314 + +############################################### +# Particle parameters +################################################ + +variable rlo equal 0.3 +variable rhi equal 0.6 +variable dlo equal 2.0*${rlo} +variable dlo equal 2.0*0.3 +variable dhi equal 2.0*${rhi} +variable dhi equal 2.0*0.6 +variable skin equal ${rhi} +variable skin equal 0.6 + +variable coeffRes equal 0.1 +variable coeffFric equal 0.5 + +variable kn equal 10^5 +variable kt equal 0.2*${kn} +variable kt equal 0.2*100000 + +variable gravity equal 1.0 +variable density equal 1.0 + +variable min_mass equal ${density}*4.0/3.0*PI*${rlo}*${rlo}*${rlo} +variable min_mass equal 1*4.0/3.0*PI*${rlo}*${rlo}*${rlo} +variable min_mass equal 1*4.0/3.0*PI*0.3*${rlo}*${rlo} +variable min_mass equal 1*4.0/3.0*PI*0.3*0.3*${rlo} +variable min_mass equal 1*4.0/3.0*PI*0.3*0.3*0.3 +variable a equal (-2.0*log(${coeffRes})/PI)^2 +variable a equal (-2.0*log(0.1)/PI)^2 +variable gamma_n equal sqrt($a*2*${kn}/${min_mass}/(1+0.25*$a)) +variable gamma_n equal sqrt(0.405284734569351*2*${kn}/${min_mass}/(1+0.25*$a)) +variable gamma_n equal sqrt(0.405284734569351*2*100000/${min_mass}/(1+0.25*$a)) +variable gamma_n equal sqrt(0.405284734569351*2*100000/0.113097335529233/(1+0.25*$a)) +variable gamma_n equal sqrt(0.405284734569351*2*100000/0.113097335529233/(1+0.25*0.405284734569351)) +variable gamma_t equal ${gamma_n}*0.5 +variable gamma_t equal 806.699778405191*0.5 + +variable tcol equal PI/sqrt(2*${kn}/${min_mass}-${gamma_n}/4.0) +variable tcol equal PI/sqrt(2*100000/${min_mass}-${gamma_n}/4.0) +variable tcol equal PI/sqrt(2*100000/0.113097335529233-${gamma_n}/4.0) +variable tcol equal PI/sqrt(2*100000/0.113097335529233-806.699778405191/4.0) + +variable dt equal ${tcol}*0.02 +variable dt equal 0.00236257621510454*0.02 +timestep ${dt} +timestep 4.72515243020908e-05 + +############################################### + +variable dumpfreq equal 1000 +variable logfreq equal 1000 + +newton on +atom_style sphere + +boundary p p f + +region boxreg block 0 20 0 20 0 20 +create_box 1 boxreg +Created orthogonal box = (0 0 0) to (20 20 20) + 1 by 2 by 2 MPI processor grid + +pair_style gran/hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 +pair_style gran/hertz/history 100000 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 +pair_style gran/hertz/history 100000 20000 ${gamma_n} ${gamma_t} ${coeffFric} 1 +pair_style gran/hertz/history 100000 20000 806.699778405191 ${gamma_t} ${coeffFric} 1 +pair_style gran/hertz/history 100000 20000 806.699778405191 403.349889202595 ${coeffFric} 1 +pair_style gran/hertz/history 100000 20000 806.699778405191 403.349889202595 0.5 1 +pair_coeff * * + +neighbor ${skin} multi +neighbor 0.6 multi +thermo ${logfreq} +thermo 1000 + +comm_style brick +comm_modify mode multi group all vel yes +balance 1.1 shift xyz 20 1.1 +Balancing ... +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 0 + ghost atom cutoff = 0 + binsize = 20, bins = 1 1 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair gran/hertz/history, perpetual + attributes: half, newton on, size, history + pair build: half/size/multi/newton + stencil: half/multi/3d + bin: multi +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +fix bal all balance 10000 1.1 shift xyz 20 1.01 + +####################### Options specific to pouring ######################### + +region insreg cylinder z 10 10 8 10 18 side in units box +region cylreg cylinder z 10 10 10 0 20 side in units box + +variable theta equal (step/400000)*2*PI + +region b1 block 2 18 9 11 0 4 side out rotate v_theta 10 10 0 0 0 1 units box +region b2 block 9 11 2 18 0 3.99999 side out rotate v_theta 10 10 0 0 0 1 units box + +region mixer intersect 3 cylreg b1 b2 side in + +fix grav all gravity ${gravity} vector 0 0 -1 +fix grav all gravity 1 vector 0 0 -1 +fix 1 all nve/sphere + +fix mixwall all wall/gran/region hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region mixer +fix mixwall all wall/gran/region hertz/history 100000 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region mixer +fix mixwall all wall/gran/region hertz/history 100000 20000 ${gamma_n} ${gamma_t} ${coeffFric} 1 region mixer +fix mixwall all wall/gran/region hertz/history 100000 20000 806.699778405191 ${gamma_t} ${coeffFric} 1 region mixer +fix mixwall all wall/gran/region hertz/history 100000 20000 806.699778405191 403.349889202595 ${coeffFric} 1 region mixer +fix mixwall all wall/gran/region hertz/history 100000 20000 806.699778405191 403.349889202595 0.5 1 region mixer + +fix ins all pour 1000 1 42424 region insreg diam range ${dlo} ${dhi} dens ${density} ${density} +fix ins all pour 1000 1 42424 region insreg diam range 0.6 ${dhi} dens ${density} ${density} +fix ins all pour 1000 1 42424 region insreg diam range 0.6 1.2 dens ${density} ${density} +fix ins all pour 1000 1 42424 region insreg diam range 0.6 1.2 dens 1 ${density} +fix ins all pour 1000 1 42424 region insreg diam range 0.6 1.2 dens 1 1 +Particle insertion: 444 every 84653 steps, 1000 by step 169307 + +#dump 1 all custom ${dumpfreq} ${name}_pour.dump # id type mass diameter x y z + +#dump 2 all image 4000 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 zoom 1.5 # box no 0.0 axes no 0.0 0.0 +#dump_modify 2 pad 6 + +thermo_style custom step cpu atoms ke v_theta +WARNING: New thermo_style command, previous thermo_modify settings will be lost (../output.cpp:896) +thermo_modify flush yes lost warn + +run 200000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- neighbor multi command: doi:10.1016/j.cpc.2008.03.005, doi:10.1007/s40571-020-00361-2 + +@Article{Intveld08, + author = {in 't Veld, P. J. and S. J.~Plimpton and G. S. Grest}, + title = {Accurate and Efficient Methods for Modeling Colloidal + Mixtures in an Explicit Solvent using Molecular Dynamics}, + journal = {Comput.\ Phys.\ Commut.}, + year = 2008, + volume = 179, + pages = {320--329} +} + +@article{Shire2020, + author = {Shire, Tom and Hanley, Kevin J. and Stratford, Kevin}, + title = {{DEM} Simulations of Polydisperse Media: Efficient Contact + Detection Applied to Investigate the Quasi-Static Limit}, + journal = {Computational Particle Mechanics}, + year = {2020} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 5.816 | 5.816 | 5.816 Mbytes + Step CPU Atoms KinEng v_theta + 0 0 0 -0 0 + 1000 0.089993907 444 -0 0.015707963 + 2000 0.14885989 444 -0 0.031415927 + 3000 0.20954563 444 -0 0.04712389 + 4000 0.27002257 444 -0 0.062831853 + 5000 0.33034347 444 -0 0.078539816 + 6000 0.39049526 444 -0 0.09424778 + 7000 0.45002664 444 -0 0.10995574 + 8000 0.50911338 444 -0 0.12566371 + 9000 0.56771745 444 -0 0.14137167 + 10000 0.62699472 444 -0 0.15707963 + 11000 0.67300351 444 -0 0.1727876 + 12000 0.71981356 444 -0 0.18849556 + 13000 0.76697682 444 -0 0.20420352 + 14000 0.81412229 444 -0 0.21991149 + 15000 0.86284749 444 -0 0.23561945 + 16000 0.91199522 444 -0 0.25132741 + 17000 0.96230663 444 -0 0.26703538 + 18000 1.0118327 444 -0 0.28274334 + 19000 1.0617397 444 -0 0.2984513 + 20000 1.111586 444 -0 0.31415927 + 21000 1.1556637 444 -0 0.32986723 + 22000 1.2005913 444 -0 0.34557519 + 23000 1.2455061 444 -0 0.36128316 + 24000 1.2910181 444 -0 0.37699112 + 25000 1.3370577 444 -0 0.39269908 + 26000 1.383595 444 -0 0.40840704 + 27000 1.430922 444 -0 0.42411501 + 28000 1.478627 444 -0 0.43982297 + 29000 1.5278607 444 -0 0.45553093 + 30000 1.576597 444 -0 0.4712389 + 31000 1.6202694 444 -0 0.48694686 + 32000 1.6646667 444 -0 0.50265482 + 33000 1.7092726 444 -0 0.51836279 + 34000 1.7535573 444 -0 0.53407075 + 35000 1.7985995 444 -0 0.54977871 + 36000 1.8440346 444 -0 0.56548668 + 37000 1.8900841 444 -0 0.58119464 + 38000 1.9368772 444 -0 0.5969026 + 39000 1.9842867 444 -0 0.61261057 + 40000 2.0318482 444 -0 0.62831853 + 41000 2.0753049 444 -0 0.64402649 + 42000 2.1196274 444 -0 0.65973446 + 43000 2.1647071 444 -0 0.67544242 + 44000 2.2101195 444 -0 0.69115038 + 45000 2.2564642 444 -0 0.70685835 + 46000 2.3033573 444 -0 0.72256631 + 47000 2.3500515 444 -0 0.73827427 + 48000 2.3972268 444 -0 0.75398224 + 49000 2.4444727 444 -0 0.7696902 + 50000 2.4921003 444 -0 0.78539816 + 51000 2.535088 444 -0 0.80110613 + 52000 2.5785564 444 -0 0.81681409 + 53000 2.6221392 444 -0 0.83252205 + 54000 2.6664169 444 -0 0.84823002 + 55000 2.7108951 444 -0 0.86393798 + 56000 2.7560522 444 -0 0.87964594 + 57000 2.8010254 444 -0 0.89535391 + 58000 2.8484456 444 -0 0.91106187 + 59000 2.8951674 444 -0 0.92676983 + 60000 2.9424205 444 -0 0.9424778 + 61000 2.9885999 444 -0 0.95818576 + 62000 3.0338676 444 -0 0.97389372 + 63000 3.0793674 444 -0 0.98960169 + 64000 3.1253557 444 -0 1.0053096 + 65000 3.1723823 444 -0 1.0210176 + 66000 3.2203846 444 -0 1.0367256 + 67000 3.2690443 444 -0 1.0524335 + 68000 3.317707 444 -0 1.0681415 + 69000 3.3670196 444 -0 1.0838495 + 70000 3.4160505 444 -0 1.0995574 + 71000 3.4621197 444 -0 1.1152654 + 72000 3.5086434 444 -0 1.1309734 + 73000 3.555691 444 -0 1.1466813 + 74000 3.6032072 444 -0 1.1623893 + 75000 3.6514849 444 -0 1.1780972 + 76000 3.7002713 444 -0 1.1938052 + 77000 3.7497321 444 -0 1.2095132 + 78000 3.7997711 444 -0 1.2252211 + 79000 3.8504338 444 -0 1.2409291 + 80000 3.9020416 444 -0 1.2566371 + 81000 3.9496762 444 -0 1.272345 + 82000 3.9968215 444 -0 1.288053 + 83000 4.04496 444 -0 1.303761 + 84000 4.0936477 444 -0 1.3194689 + 85000 4.1618384 888 -0 1.3351769 + 86000 4.2472086 888 -0 1.3508848 + 87000 4.3322855 888 -0 1.3665928 + 88000 4.4169835 888 -0 1.3823008 + 89000 4.5014588 888 -0 1.3980087 + 90000 4.5861842 888 -0 1.4137167 + 91000 4.653654 888 -0 1.4294247 + 92000 4.7217642 888 -0 1.4451326 + 93000 4.791842 888 -0 1.4608406 + 94000 4.8601789 888 -0 1.4765485 + 95000 4.92849 888 -0 1.4922565 + 96000 4.9976811 888 -0 1.5079645 + 97000 5.0687073 888 -0 1.5236724 + 98000 5.1387234 888 -0 1.5393804 + 99000 5.2086037 888 -0 1.5550884 + 100000 5.2786924 888 -0 1.5707963 + 101000 5.3466895 888 -0 1.5865043 + 102000 5.417132 888 -0 1.6022123 + 103000 5.4865633 888 -0 1.6179202 + 104000 5.5565911 888 -0 1.6336282 + 105000 5.6266394 888 -0 1.6493361 + 106000 5.6975394 888 -0 1.6650441 + 107000 5.7687753 888 -0 1.6807521 + 108000 5.8408498 888 -0 1.69646 + 109000 5.9132618 888 -0 1.712168 + 110000 5.9872629 888 -0 1.727876 + 111000 6.0588115 888 -0 1.7435839 + 112000 6.1308729 888 -0 1.7592919 + 113000 6.2047311 888 -0 1.7749998 + 114000 6.2780757 888 -0 1.7907078 + 115000 6.3528542 888 -0 1.8064158 + 116000 6.4277704 888 -0 1.8221237 + 117000 6.5034683 888 -0 1.8378317 + 118000 6.5795779 888 -0 1.8535397 + 119000 6.655928 888 -0 1.8692476 + 120000 6.7335119 888 -0 1.8849556 + 121000 6.806827 888 -0 1.9006636 + 122000 6.881052 888 -0 1.9163715 + 123000 6.9559647 888 -0 1.9320795 + 124000 7.0300829 888 -0 1.9477874 + 125000 7.1047925 888 -0 1.9634954 + 126000 7.1797025 888 -0 1.9792034 + 127000 7.2556934 888 -0 1.9949113 + 128000 7.3317803 888 -0 2.0106193 + 129000 7.4088096 888 -0 2.0263273 + 130000 7.4862461 888 -0 2.0420352 + 131000 7.5633585 888 -0 2.0577432 + 132000 7.641939 888 -0 2.0734512 + 133000 7.7192741 888 -0 2.0891591 + 134000 7.7970156 888 -0 2.1048671 + 135000 7.8760712 888 -0 2.120575 + 136000 7.9563099 888 -0 2.136283 + 137000 8.0381808 888 -0 2.151991 + 138000 8.1210957 888 -0 2.1676989 + 139000 8.20401 888 -0 2.1834069 + 140000 8.2871705 888 -0 2.1991149 + 141000 8.364321 888 -0 2.2148228 + 142000 8.4426744 888 -0 2.2305308 + 143000 8.5238377 888 -0 2.2462387 + 144000 8.6050517 888 -0 2.2619467 + 145000 8.6865872 888 -0 2.2776547 + 146000 8.767621 888 -0 2.2933626 + 147000 8.8496616 888 -0 2.3090706 + 148000 8.9329599 888 -0 2.3247786 + 149000 9.0165929 888 -0 2.3404865 + 150000 9.1015214 888 -0 2.3561945 + 151000 9.1847289 888 -0 2.3719025 + 152000 9.2689185 888 -0 2.3876104 + 153000 9.3518862 888 -0 2.4033184 + 154000 9.4367057 888 -0 2.4190263 + 155000 9.5227466 888 -0 2.4347343 + 156000 9.6087196 888 -0 2.4504423 + 157000 9.6955661 888 -0 2.4661502 + 158000 9.7838227 888 -0 2.4818582 + 159000 9.8731804 888 -0 2.4975662 + 160000 9.9626648 888 -0 2.5132741 + 161000 10.050473 888 -0 2.5289821 + 162000 10.137725 888 -0 2.54469 + 163000 10.227259 888 -0 2.560398 + 164000 10.318501 888 -0 2.576106 + 165000 10.409218 888 -0 2.5918139 + 166000 10.502055 888 -0 2.6075219 + 167000 10.593786 888 -0 2.6232299 + 168000 10.688536 888 -0 2.6389378 + 169000 10.786033 888 -0 2.6546458 + 170000 10.886377 1000 -0 2.6703538 + 171000 10.987493 1000 -0 2.6860617 + 172000 11.084584 1000 -0 2.7017697 + 173000 11.181502 1000 -0 2.7174776 + 174000 11.28434 1000 -0 2.7331856 + 175000 11.387838 1000 -0 2.7488936 + 176000 11.490915 1000 -0 2.7646015 + 177000 11.595473 1000 -0 2.7803095 + 178000 11.699823 1000 -0 2.7960175 + 179000 11.803927 1000 -0 2.8117254 + 180000 11.90548 1000 -0 2.8274334 + 181000 12.00857 1000 -0 2.8431414 + 182000 12.112787 1000 -0 2.8588493 + 183000 12.217943 1000 -0 2.8745573 + 184000 12.322668 1000 -0 2.8902652 + 185000 12.428332 1000 -0 2.9059732 + 186000 12.535414 1000 -0 2.9216812 + 187000 12.642404 1000 -0 2.9373891 + 188000 12.749332 1000 -0 2.9530971 + 189000 12.856872 1000 -0 2.9688051 + 190000 12.965335 1000 -0 2.984513 + 191000 13.073275 1000 -0 3.000221 + 192000 13.180122 1000 -0 3.0159289 + 193000 13.288112 1000 -0 3.0316369 + 194000 13.394688 1000 -0 3.0473449 + 195000 13.501251 1000 -0 3.0630528 + 196000 13.607472 1000 -0 3.0787608 + 197000 13.71396 1000 -0 3.0944688 + 198000 13.821133 1000 -0 3.1101767 + 199000 13.929192 1000 -0 3.1258847 + 200000 14.036724 1000 -0 3.1415927 +Loop time of 14.0368 on 4 procs for 200000 steps with 1000 atoms + +Performance: 58169.166 tau/day, 14248.307 timesteps/s, 14.248 Matom-step/s +95.5% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.47004 | 0.75698 | 1.1 | 33.1 | 5.39 +Neigh | 0.0078501 | 0.010659 | 0.013902 | 2.7 | 0.08 +Comm | 3.9589 | 4.4102 | 4.9322 | 21.6 | 31.42 +Output | 0.0031054 | 0.0046208 | 0.0069341 | 2.1 | 0.03 +Modify | 6.1829 | 6.8363 | 7.6135 | 24.8 | 48.70 +Other | | 2.018 | | | 14.38 + +Nlocal: 250 ave 260 max 242 min +Histogram: 1 0 1 0 0 1 0 0 0 1 +Nghost: 279.25 ave 325 max 232 min +Histogram: 1 1 0 0 0 0 0 0 1 1 +Neighs: 939.75 ave 1397 max 509 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 3759 +Ave neighs/atom = 3.759 +Neighbor list builds = 201 +Dangerous builds = 0 +unfix ins +run 200000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 11.87 | 11.88 | 11.89 Mbytes + Step CPU Atoms KinEng v_theta + 200000 0 1000 1.0071568 3.1415927 + 201000 0.099357585 1000 1.0036239 3.1573006 + 202000 0.19922889 1000 0.99846844 3.1730086 + 203000 0.29896537 1000 0.98236169 3.1887165 + 204000 0.39875771 1000 0.98625572 3.2044245 + 205000 0.49759454 1000 0.9893407 3.2201325 + 206000 0.59609243 1000 1.0012123 3.2358404 + 207000 0.69408206 1000 1.0231892 3.2515484 + 208000 0.79216806 1000 1.0265912 3.2672564 + 209000 0.8902274 1000 1.0190202 3.2829643 + 210000 0.98909509 1000 1.0267754 3.2986723 + 211000 1.0882901 1000 1.0186847 3.3143802 + 212000 1.1895753 1000 1.0159848 3.3300882 + 213000 1.2891277 1000 0.99326329 3.3457962 + 214000 1.387486 1000 0.97263135 3.3615041 + 215000 1.4850078 1000 0.97246409 3.3772121 + 216000 1.58405 1000 0.96000626 3.3929201 + 217000 1.6853829 1000 0.95730432 3.408628 + 218000 1.7911163 1000 0.95605591 3.424336 + 219000 1.8974141 1000 0.94983 3.440044 + 220000 2.0029829 1000 0.95291888 3.4557519 + 221000 2.108723 1000 0.93612997 3.4714599 + 222000 2.2151561 1000 0.93414081 3.4871678 + 223000 2.3220866 1000 0.93321246 3.5028758 + 224000 2.4285504 1000 0.93026943 3.5185838 + 225000 2.5356173 1000 0.930478 3.5342917 + 226000 2.6415516 1000 0.92909096 3.5499997 + 227000 2.747634 1000 0.92308495 3.5657077 + 228000 2.8524082 1000 0.91075986 3.5814156 + 229000 2.9570172 1000 0.9006662 3.5971236 + 230000 3.0627535 1000 0.88869212 3.6128316 + 231000 3.1683919 1000 0.8877611 3.6285395 + 232000 3.2749534 1000 0.89409636 3.6442475 + 233000 3.3824185 1000 0.90866091 3.6599554 + 234000 3.4917899 1000 0.90454601 3.6756634 + 235000 3.6009156 1000 0.89408327 3.6913714 + 236000 3.7111309 1000 0.8881044 3.7070793 + 237000 3.8197619 1000 0.89322168 3.7227873 + 238000 3.9302291 1000 0.89018045 3.7384953 + 239000 4.0407242 1000 0.88771268 3.7542032 + 240000 4.1521989 1000 0.88957717 3.7699112 + 241000 4.2639861 1000 0.89362036 3.7856191 + 242000 4.3782856 1000 0.90967472 3.8013271 + 243000 4.4925107 1000 0.91366381 3.8170351 + 244000 4.6057342 1000 0.9150959 3.832743 + 245000 4.7199383 1000 0.92725789 3.848451 + 246000 4.8346784 1000 0.93024722 3.864159 + 247000 4.9515438 1000 0.93297974 3.8798669 + 248000 5.0696512 1000 0.94755869 3.8955749 + 249000 5.1838845 1000 0.94761679 3.9112829 + 250000 5.297991 1000 0.92701064 3.9269908 + 251000 5.412562 1000 0.91365252 3.9426988 + 252000 5.5274859 1000 0.90918381 3.9584067 + 253000 5.6418647 1000 0.90612685 3.9741147 + 254000 5.7593721 1000 0.90352142 3.9898227 + 255000 5.8759086 1000 0.90421567 4.0055306 + 256000 5.993588 1000 0.90024688 4.0212386 + 257000 6.1142027 1000 0.88540341 4.0369466 + 258000 6.2318882 1000 0.87890423 4.0526545 + 259000 6.3502765 1000 0.86833748 4.0683625 + 260000 6.4677878 1000 0.85465694 4.0840704 + 261000 6.5875341 1000 0.83941242 4.0997784 + 262000 6.7063481 1000 0.81790404 4.1154864 + 263000 6.8249742 1000 0.82284562 4.1311943 + 264000 6.9421188 1000 0.80961447 4.1469023 + 265000 7.0588866 1000 0.80567073 4.1626103 + 266000 7.1763855 1000 0.79577448 4.1783182 + 267000 7.295632 1000 0.78489106 4.1940262 + 268000 7.4144463 1000 0.77348757 4.2097342 + 269000 7.5333839 1000 0.76606696 4.2254421 + 270000 7.6527119 1000 0.7649744 4.2411501 + 271000 7.7704222 1000 0.76050309 4.256858 + 272000 7.8903012 1000 0.75378759 4.272566 + 273000 8.0106197 1000 0.75633811 4.288274 + 274000 8.1309707 1000 0.75703106 4.3039819 + 275000 8.2522837 1000 0.75227453 4.3196899 + 276000 8.3730898 1000 0.76003902 4.3353979 + 277000 8.4955037 1000 0.76274661 4.3511058 + 278000 8.6153206 1000 0.75888482 4.3668138 + 279000 8.7339569 1000 0.75071875 4.3825218 + 280000 8.8515447 1000 0.75454927 4.3982297 + 281000 8.9685253 1000 0.75617824 4.4139377 + 282000 9.0856168 1000 0.75230835 4.4296456 + 283000 9.2018894 1000 0.75417571 4.4453536 + 284000 9.3179777 1000 0.74559345 4.4610616 + 285000 9.4341721 1000 0.73274661 4.4767695 + 286000 9.5498722 1000 0.72385193 4.4924775 + 287000 9.6651326 1000 0.72398899 4.5081855 + 288000 9.7810274 1000 0.72009027 4.5238934 + 289000 9.8959471 1000 0.72026686 4.5396014 + 290000 10.010007 1000 0.72330145 4.5553093 + 291000 10.123304 1000 0.71630656 4.5710173 + 292000 10.238277 1000 0.71089192 4.5867253 + 293000 10.351465 1000 0.70584923 4.6024332 + 294000 10.464794 1000 0.71350398 4.6181412 + 295000 10.57818 1000 0.72781836 4.6338492 + 296000 10.692249 1000 0.72285512 4.6495571 + 297000 10.80741 1000 0.71649517 4.6652651 + 298000 10.923694 1000 0.71132209 4.6809731 + 299000 11.039173 1000 0.73602072 4.696681 + 300000 11.157002 1000 0.74400837 4.712389 + 301000 11.272462 1000 0.76618562 4.7280969 + 302000 11.386581 1000 0.77476041 4.7438049 + 303000 11.499191 1000 0.77124283 4.7595129 + 304000 11.611585 1000 0.7625748 4.7752208 + 305000 11.725012 1000 0.74979361 4.7909288 + 306000 11.838032 1000 0.74515733 4.8066368 + 307000 11.949194 1000 0.74302741 4.8223447 + 308000 12.060586 1000 0.73732959 4.8380527 + 309000 12.171445 1000 0.73368237 4.8537606 + 310000 12.283518 1000 0.72374292 4.8694686 + 311000 12.393447 1000 0.72107784 4.8851766 + 312000 12.505136 1000 0.72944426 4.9008845 + 313000 12.616959 1000 0.73958637 4.9165925 + 314000 12.730312 1000 0.75160847 4.9323005 + 315000 12.846163 1000 0.74419683 4.9480084 + 316000 12.960328 1000 0.74652593 4.9637164 + 317000 13.073994 1000 0.74933482 4.9794244 + 318000 13.186549 1000 0.74200509 4.9951323 + 319000 13.296925 1000 0.7346024 5.0108403 + 320000 13.406825 1000 0.72806145 5.0265482 + 321000 13.51703 1000 0.72147888 5.0422562 + 322000 13.628261 1000 0.71460041 5.0579642 + 323000 13.74063 1000 0.70255075 5.0736721 + 324000 13.853826 1000 0.70640327 5.0893801 + 325000 13.968533 1000 0.70643428 5.1050881 + 326000 14.081456 1000 0.69751794 5.120796 + 327000 14.195505 1000 0.69035108 5.136504 + 328000 14.310048 1000 0.68068243 5.152212 + 329000 14.426048 1000 0.69123492 5.1679199 + 330000 14.543349 1000 0.70326515 5.1836279 + 331000 14.662021 1000 0.70551726 5.1993358 + 332000 14.782194 1000 0.70514444 5.2150438 + 333000 14.901573 1000 0.71102045 5.2307518 + 334000 15.020642 1000 0.71336747 5.2464597 + 335000 15.136739 1000 0.70816388 5.2621677 + 336000 15.252554 1000 0.69502472 5.2778757 + 337000 15.368496 1000 0.69314289 5.2935836 + 338000 15.483744 1000 0.68565794 5.3092916 + 339000 15.599584 1000 0.67268053 5.3249995 + 340000 15.717342 1000 0.68313196 5.3407075 + 341000 15.835594 1000 0.68782815 5.3564155 + 342000 15.954546 1000 0.6989326 5.3721234 + 343000 16.074184 1000 0.694926 5.3878314 + 344000 16.193902 1000 0.7006474 5.4035394 + 345000 16.314878 1000 0.70783177 5.4192473 + 346000 16.434704 1000 0.71334276 5.4349553 + 347000 16.554708 1000 0.72917419 5.4506633 + 348000 16.673034 1000 0.74315705 5.4663712 + 349000 16.791269 1000 0.76731311 5.4820792 + 350000 16.912554 1000 0.79761434 5.4977871 + 351000 17.03323 1000 0.80447724 5.5134951 + 352000 17.155644 1000 0.80118728 5.5292031 + 353000 17.281134 1000 0.77990459 5.544911 + 354000 17.406672 1000 0.76453299 5.560619 + 355000 17.532346 1000 0.76538392 5.576327 + 356000 17.657256 1000 0.76310698 5.5920349 + 357000 17.782477 1000 0.75897095 5.6077429 + 358000 17.909642 1000 0.75071115 5.6234508 + 359000 18.035032 1000 0.74034801 5.6391588 + 360000 18.160696 1000 0.72671924 5.6548668 + 361000 18.285089 1000 0.72111017 5.6705747 + 362000 18.408849 1000 0.71875181 5.6862827 + 363000 18.533901 1000 0.71469706 5.7019907 + 364000 18.659326 1000 0.70470493 5.7176986 + 365000 18.784109 1000 0.70863047 5.7334066 + 366000 18.911344 1000 0.70850561 5.7491146 + 367000 19.039756 1000 0.71413452 5.7648225 + 368000 19.169907 1000 0.71314184 5.7805305 + 369000 19.299066 1000 0.71309549 5.7962384 + 370000 19.428116 1000 0.71132937 5.8119464 + 371000 19.553027 1000 0.70788039 5.8276544 + 372000 19.678121 1000 0.71780071 5.8433623 + 373000 19.804465 1000 0.72352571 5.8590703 + 374000 19.92949 1000 0.71723739 5.8747783 + 375000 20.053554 1000 0.71556941 5.8904862 + 376000 20.177991 1000 0.70935312 5.9061942 + 377000 20.301972 1000 0.71551157 5.9219022 + 378000 20.427612 1000 0.7235163 5.9376101 + 379000 20.554742 1000 0.73896421 5.9533181 + 380000 20.680899 1000 0.74906169 5.969026 + 381000 20.805515 1000 0.75303336 5.984734 + 382000 20.931483 1000 0.75359492 6.000442 + 383000 21.05731 1000 0.75579354 6.0161499 + 384000 21.184712 1000 0.75178368 6.0318579 + 385000 21.310667 1000 0.74412159 6.0475659 + 386000 21.433509 1000 0.7360955 6.0632738 + 387000 21.554251 1000 0.73461103 6.0789818 + 388000 21.674477 1000 0.72496617 6.0946897 + 389000 21.794698 1000 0.7219047 6.1103977 + 390000 21.914083 1000 0.71837013 6.1261057 + 391000 22.033188 1000 0.71495923 6.1418136 + 392000 22.152689 1000 0.71436707 6.1575216 + 393000 22.271183 1000 0.71447834 6.1732296 + 394000 22.389775 1000 0.71334298 6.1889375 + 395000 22.509106 1000 0.71510229 6.2046455 + 396000 22.628068 1000 0.7121714 6.2203535 + 397000 22.746926 1000 0.70818894 6.2360614 + 398000 22.865086 1000 0.70059455 6.2517694 + 399000 22.982394 1000 0.69960089 6.2674773 + 400000 23.100381 1000 0.70261998 6.2831853 +Loop time of 23.1004 on 4 procs for 200000 steps with 1000 atoms + +Performance: 35345.963 tau/day, 8657.854 timesteps/s, 8.658 Matom-step/s +92.9% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.263 | 2.1388 | 3.0295 | 58.6 | 9.26 +Neigh | 0.012633 | 0.017793 | 0.023147 | 3.7 | 0.08 +Comm | 7.8521 | 9.0474 | 10.284 | 39.6 | 39.17 +Output | 0.0029549 | 0.004916 | 0.0068506 | 2.0 | 0.02 +Modify | 8.3635 | 9.8066 | 11.142 | 41.0 | 42.45 +Other | | 2.085 | | | 9.03 + +Nlocal: 250 ave 258 max 241 min +Histogram: 1 0 0 0 1 0 0 1 0 1 +Nghost: 412 ave 492 max 332 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 1258.5 ave 1588 max 953 min +Histogram: 2 0 0 0 0 0 0 0 1 1 + +Total # of neighbors = 5034 +Ave neighs/atom = 5.034 +Neighbor list builds = 159 +Dangerous builds = 0 +Total wall time: 0:00:37 diff --git a/examples/granregion/log.27Nov18.granregion.box.g++.1 b/examples/granregion/log.27Nov18.granregion.box.g++.1 deleted file mode 100644 index ef004b7398..0000000000 --- a/examples/granregion/log.27Nov18.granregion.box.g++.1 +++ /dev/null @@ -1,475 +0,0 @@ -LAMMPS (27 Nov 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task -# pouring spheres into container box - -units lj -atom_style sphere -boundary f f f -dimension 3 -comm_modify vel yes - -region box block -10 10 -10 10 -10 10 units box -create_box 2 box -Created orthogonal box = (-10 -10 -10) to (10 10 10) - 1 by 1 by 1 MPI processor grid - -pair_style hybrid gran/hooke 4000.0 NULL 100.0 NULL 0.5 1 -pair_coeff * * gran/hooke - -region container block -6 6 -6 6 -6 6 units box -fix container all wall/gran/region hooke/history 4000.0 NULL 100.0 NULL 0.5 1 region container - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -fix 2 all nve/sphere -fix 3 all gravity 1.0 vector 0 0 -1 - -region slab block -2 2 -2 2 -2 2 units box -fix ins all pour 100 2 4767548 vol 0.4 10 diam one 1.0 region slab ignore -Particle insertion: 48 every 566 steps, 100 by step 1133 - -timestep 0.005 - -compute 1 all temp -compute_modify 1 dynamic/dof yes - -compute 2 all temp/sphere -compute_modify 2 dynamic/dof yes - -thermo 100 -thermo_style custom step atoms temp c_1 c_2 press -thermo_modify lost ignore -compute_modify thermo_temp dynamic/dof yes - -#dump 2 all image 100 image.*.jpg type type # zoom 1.4 adiam 1.0 box no 0.0 axes yes 0.9 0.03 -#dump_modify 2 pad 5 - -run 5000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.3 - ghost atom cutoff = 1.3 - binsize = 0.65, bins = 31 31 31 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair gran/hooke, perpetual - attributes: half, newton on, size - pair build: half/size/bin/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 0.5855 | 0.5855 | 0.5855 Mbytes -Step Atoms Temp c_1 c_2 Press - 0 0 0 0 0 0 - 100 21 0.54270729 0.54270729 0.26473526 0.0013567682 - 200 21 0.87606961 0.87606961 0.42735103 0.002190174 - 300 21 1.1428374 1.1428374 0.55748167 0.0028570936 - 400 21 1.3543103 1.3543103 0.66829516 0.0033857758 - 500 21 1.0677786 1.0677786 0.53582407 0.0045048164 - 600 56 0.6744286 0.6744286 0.3502938 0.0047464584 - 700 56 0.75569283 0.75569283 0.39779462 0.0051953882 - 800 56 0.61597505 0.61597505 0.32943642 0.0086022783 - 900 56 0.65260802 0.65260802 0.34474044 0.0059298996 - 1000 56 0.51624952 0.51624952 0.28326898 0.0067827337 - 1100 56 0.46050076 0.46050076 0.25656319 0.0061891094 - 1200 81 0.39112346 0.39112346 0.21690172 0.0086559316 - 1300 81 0.33302617 0.33302617 0.19109398 0.0033381104 - 1400 81 0.3933533 0.3933533 0.21221692 0.004135078 - 1500 81 0.35495297 0.35495297 0.19925984 0.0037374946 - 1600 81 0.34150606 0.34150606 0.19025811 0.0053492835 - 1700 100 0.2561647 0.2561647 0.14186278 0.0090767057 - 1800 100 0.21124278 0.21124278 0.12154878 0.0028545759 - 1900 100 0.21793955 0.21793955 0.12173867 0.0029049155 - 2000 100 0.25530858 0.25530858 0.13892272 0.0035528009 - 2100 100 0.24671808 0.24671808 0.13687783 0.0076812435 - 2200 100 0.22465216 0.22465216 0.12513603 0.0042528715 - 2300 100 0.19362854 0.19362854 0.10914305 0.0061173739 - 2400 100 0.061627608 0.061627608 0.045907717 0.0010422721 - 2500 100 0.052700901 0.052700901 0.038883014 0.0019341647 - 2600 100 0.037332018 0.037332018 0.028357146 0.0028364476 - 2700 100 0.033526602 0.033526602 0.024609055 0.00044524562 - 2800 100 0.0194148 0.0194148 0.014491377 0.00056526591 - 2900 100 0.012346108 0.012346108 0.009857017 0.00081855699 - 3000 100 0.0107344 0.0107344 0.008669364 0.00040371396 - 3100 100 0.0092678291 0.0092678291 0.0073003108 0.00033287397 - 3200 100 0.0085847001 0.0085847001 0.0064045591 0.00023253547 - 3300 100 0.0049475182 0.0049475182 0.0041173627 0.00019876269 - 3400 100 0.0030471097 0.0030471097 0.0026940466 0.00013462604 - 3500 100 0.0031188371 0.0031188371 0.002612223 0.00026148578 - 3600 100 0.0017616584 0.0017616584 0.0017464137 0.00019049724 - 3700 100 0.0015475923 0.0015475923 0.0015560356 0.00025062814 - 3800 100 0.0012547887 0.0012547887 0.0012622678 0.00014132236 - 3900 100 0.0010047282 0.0010047282 0.0010379262 9.7665594e-05 - 4000 100 0.00080895307 0.00080895307 0.00088263027 8.1278842e-05 - 4100 100 0.00079078739 0.00079078739 0.00085810727 8.1271694e-05 - 4200 100 0.00075192318 0.00075192318 0.00083085046 8.9352453e-05 - 4300 100 0.00063546457 0.00063546457 0.00073222177 8.9264255e-05 - 4400 100 0.00062398391 0.00062398391 0.00071312118 8.4200615e-05 - 4500 100 0.00056464934 0.00056464934 0.00066087801 9.2097641e-05 - 4600 100 0.00066951894 0.00066951894 0.00071633313 8.2457941e-05 - 4700 100 0.001128837 0.001128837 0.00095293877 0.00011716361 - 4800 100 0.00049580391 0.00049580391 0.00056710488 0.00010718794 - 4900 100 0.00054374371 0.00054374371 0.00058671699 5.6580257e-05 - 5000 100 0.00043016232 0.00043016232 0.00050264172 2.8640786e-05 -Loop time of 0.0807264 on 1 procs for 5000 steps with 100 atoms - -Performance: 26757050.955 tau/day, 61937.618 timesteps/s -97.4% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0089066 | 0.0089066 | 0.0089066 | 0.0 | 11.03 -Neigh | 0.017107 | 0.017107 | 0.017107 | 0.0 | 21.19 -Comm | 0.00091505 | 0.00091505 | 0.00091505 | 0.0 | 1.13 -Output | 0.00051451 | 0.00051451 | 0.00051451 | 0.0 | 0.64 -Modify | 0.047671 | 0.047671 | 0.047671 | 0.0 | 59.05 -Other | | 0.005612 | | | 6.95 - -Nlocal: 100 ave 100 max 100 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 158 ave 158 max 158 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 158 -Ave neighs/atom = 1.58 -Neighbor list builds = 310 -Dangerous builds = 0 - -region container delete -variable theta equal (step-5000)*(4.0*PI/5000) -region container block -6 6 -6 6 -6 6 units box rotate v_theta 0 0 0 0 0 1 -run 5000 -Per MPI rank memory allocation (min/avg/max) = 5.836 | 5.836 | 5.836 Mbytes -Step Atoms Temp c_1 c_2 Press - 5000 100 0.00043016232 0.00043016232 0.00050264172 2.8677624e-05 - 5100 100 0.56489668 0.56489668 0.31137762 0.011848041 - 5200 100 0.66068288 0.66068288 0.35915482 0.010199755 - 5300 100 0.74068022 0.74068022 0.39643217 0.010806409 - 5400 100 0.80913562 0.80913562 0.42748505 0.01190892 - 5500 100 0.89409135 0.89409135 0.46135116 0.013093474 - 5600 100 0.97585093 0.97585093 0.50021126 0.013588886 - 5700 100 1.0151954 1.0151954 0.5174624 0.01601347 - 5800 100 1.0452728 1.0452728 0.53122496 0.01879329 - 5900 100 1.0881689 1.0881689 0.55152229 0.017120714 - 6000 100 1.1133186 1.1133186 0.5638022 0.017284617 - 6100 100 1.1532099 1.1532099 0.58310076 0.017031384 - 6200 100 1.1798849 1.1798849 0.5959516 0.017971323 - 6300 100 1.19387 1.19387 0.60173877 0.020140984 - 6400 100 1.2126705 1.2126705 0.61086899 0.018426638 - 6500 100 1.2137646 1.2137646 0.61284198 0.019127381 - 6600 100 1.2339012 1.2339012 0.62199324 0.019378799 - 6700 100 1.2439326 1.2439326 0.62488425 0.021049447 - 6800 100 1.2489549 1.2489549 0.6278167 0.019552409 - 6900 100 1.2733303 1.2733303 0.63898149 0.020237284 - 7000 100 1.2835029 1.2835029 0.6440245 0.020798586 - 7100 100 1.2866111 1.2866111 0.64522896 0.020355019 - 7200 100 1.2886381 1.2886381 0.6467497 0.02062322 - 7300 100 1.2885085 1.2885085 0.64617988 0.020350755 - 7400 100 1.2912349 1.2912349 0.64691898 0.020197503 - 7500 100 1.2963062 1.2963062 0.64926335 0.020349791 - 7600 100 1.3016488 1.3016488 0.65150178 0.021001457 - 7700 100 1.3009311 1.3009311 0.65106234 0.021546471 - 7800 100 1.3016987 1.3016987 0.65143099 0.020994967 - 7900 100 1.3028811 1.3028811 0.65164558 0.022200425 - 8000 100 1.3087855 1.3087855 0.65439023 0.021310808 - 8100 100 1.3102001 1.3102001 0.65514941 0.021177764 - 8200 100 1.3133931 1.3133931 0.65681861 0.021591267 - 8300 100 1.3148898 1.3148898 0.65775353 0.021335384 - 8400 100 1.3160355 1.3160355 0.65845913 0.021238095 - 8500 100 1.3171797 1.3171797 0.65934185 0.021172983 - 8600 100 1.3176785 1.3176785 0.65964311 0.020747457 - 8700 100 1.3180425 1.3180425 0.66019624 0.021275913 - 8800 100 1.3287501 1.3287501 0.66444242 0.021832635 - 8900 100 1.3249847 1.3249847 0.6625848 0.021337451 - 9000 100 1.326216 1.326216 0.66297827 0.021470663 - 9100 100 1.3261662 1.3261662 0.66303852 0.021423573 - 9200 100 1.3312132 1.3312132 0.6653609 0.021385943 - 9300 100 1.3300976 1.3300976 0.66504574 0.021489888 - 9400 100 1.3377335 1.3377335 0.66820989 0.021565001 - 9500 100 1.3421956 1.3421956 0.67027168 0.022402346 - 9600 100 1.3464217 1.3464217 0.67228206 0.021991922 - 9700 100 1.3470623 1.3470623 0.67258349 0.022035729 - 9800 100 1.3446725 1.3446725 0.67135725 0.022295251 - 9900 100 1.343146 1.343146 0.67066672 0.022049041 - 10000 100 1.3435397 1.3435397 0.67093067 0.022451365 -Loop time of 0.247549 on 1 procs for 5000 steps with 100 atoms - -Performance: 8725560.044 tau/day, 20198.056 timesteps/s -99.4% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.031783 | 0.031783 | 0.031783 | 0.0 | 12.84 -Neigh | 0.038383 | 0.038383 | 0.038383 | 0.0 | 15.51 -Comm | 0.0012343 | 0.0012343 | 0.0012343 | 0.0 | 0.50 -Output | 0.00056028 | 0.00056028 | 0.00056028 | 0.0 | 0.23 -Modify | 0.1687 | 0.1687 | 0.1687 | 0.0 | 68.15 -Other | | 0.00689 | | | 2.78 - -Nlocal: 100 ave 100 max 100 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 199 ave 199 max 199 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 199 -Ave neighs/atom = 1.99 -Neighbor list builds = 621 -Dangerous builds = 0 - -region container delete -region container block -6 6 -6 6 -6 6 units box -run 5000 -Per MPI rank memory allocation (min/avg/max) = 5.836 | 5.836 | 5.836 Mbytes -Step Atoms Temp c_1 c_2 Press - 10000 100 1.3435397 1.3435397 0.67093067 0.022411116 - 10100 100 0.31352763 0.31352763 0.18877908 0.01321582 - 10200 100 0.13367611 0.13367611 0.090010637 0.0074171016 - 10300 100 0.068195658 0.068195658 0.052632714 0.0019696287 - 10400 100 0.053814936 0.053814936 0.043037586 0.0017121584 - 10500 100 0.04032072 0.04032072 0.032944572 0.0011809154 - 10600 100 0.029178161 0.029178161 0.023951873 0.0007804529 - 10700 100 0.025978206 0.025978206 0.021045025 0.00099531465 - 10800 100 0.023205036 0.023205036 0.01898502 0.00040036401 - 10900 100 0.019994638 0.019994638 0.016451227 0.00027385559 - 11000 100 0.017838131 0.017838131 0.014730762 0.00040399762 - 11100 100 0.014863196 0.014863196 0.012314308 0.00019097464 - 11200 100 0.012131256 0.012131256 0.010102122 0.00018514926 - 11300 100 0.010881385 0.010881385 0.0090013541 0.00016579157 - 11400 100 0.0076519814 0.0076519814 0.0064604568 0.00035399997 - 11500 100 0.0067507315 0.0067507315 0.0057378868 0.00049116726 - 11600 100 0.0053146649 0.0053146649 0.0047005938 0.00019625233 - 11700 100 0.0044162463 0.0044162463 0.0039534657 0.00012548039 - 11800 100 0.0037025387 0.0037025387 0.0033604103 6.2969827e-05 - 11900 100 0.0032632211 0.0032632211 0.0030406641 8.1600622e-05 - 12000 100 0.0028944057 0.0028944057 0.0026875858 6.6435833e-05 - 12100 100 0.0027644728 0.0027644728 0.0025859762 5.5899271e-05 - 12200 100 0.002480367 0.002480367 0.0023685117 6.0201418e-05 - 12300 100 0.0024136475 0.0024136475 0.0023107986 4.4386874e-05 - 12400 100 0.0021911567 0.0021911567 0.0021413262 5.0213175e-05 - 12500 100 0.0019775905 0.0019775905 0.0019927698 0.00035250097 - 12600 100 0.0017410363 0.0017410363 0.001830428 5.7885177e-05 - 12700 100 0.0015749276 0.0015749276 0.0016816771 4.5530192e-05 - 12800 100 0.0015187705 0.0015187705 0.0016218625 4.0589413e-05 - 12900 100 0.0014778376 0.0014778376 0.001580232 4.0085455e-05 - 13000 100 0.0014693491 0.0014693491 0.0015681809 4.0407656e-05 - 13100 100 0.0014434495 0.0014434495 0.0015356278 5.7849212e-05 - 13200 100 0.0014121959 0.0014121959 0.0015058758 3.2720737e-05 - 13300 100 0.0012876041 0.0012876041 0.0013838998 3.7725702e-05 - 13400 100 0.0012304951 0.0012304951 0.0013373457 3.6784546e-05 - 13500 100 0.0011954303 0.0011954303 0.0012877627 3.6584963e-05 - 13600 100 0.0011028947 0.0011028947 0.0011955404 2.3767582e-05 - 13700 100 0.0010611762 0.0010611762 0.0011504675 3.485879e-05 - 13800 100 0.0010080835 0.0010080835 0.0010997919 3.7905404e-05 - 13900 100 0.00096495712 0.00096495712 0.0010530767 3.5273885e-05 - 14000 100 0.00094945029 0.00094945029 0.0010409175 3.3718395e-05 - 14100 100 0.00092386757 0.00092386757 0.0010217415 3.3313256e-05 - 14200 100 0.00088928389 0.00088928389 0.000983023 3.290941e-05 - 14300 100 0.00082696485 0.00082696485 0.00092690771 3.1651431e-05 - 14400 100 0.00081086188 0.00081086188 0.00091681096 3.1845632e-05 - 14500 100 0.00077732305 0.00077732305 0.00087592983 4.8087361e-05 - 14600 100 0.00073386005 0.00073386005 0.00082546873 3.0892065e-05 - 14700 100 0.00068701098 0.00068701098 0.00075953521 0.00010208859 - 14800 100 0.00065860451 0.00065860451 0.00073738846 2.9272912e-05 - 14900 100 0.00064706564 0.00064706564 0.00072748391 2.9817955e-05 - 15000 100 0.00064227996 0.00064227996 0.00070964586 3.2547768e-05 -Loop time of 0.0840213 on 1 procs for 5000 steps with 100 atoms - -Performance: 25707757.817 tau/day, 59508.699 timesteps/s -98.2% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.01004 | 0.01004 | 0.01004 | 0.0 | 11.95 -Neigh | 0.0057366 | 0.0057366 | 0.0057366 | 0.0 | 6.83 -Comm | 0.00086808 | 0.00086808 | 0.00086808 | 0.0 | 1.03 -Output | 0.00049472 | 0.00049472 | 0.00049472 | 0.0 | 0.59 -Modify | 0.060893 | 0.060893 | 0.060893 | 0.0 | 72.47 -Other | | 0.005989 | | | 7.13 - -Nlocal: 100 ave 100 max 100 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 151 ave 151 max 151 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 151 -Ave neighs/atom = 1.51 -Neighbor list builds = 92 -Dangerous builds = 0 - -region container delete -variable theta equal (step-15000)*(4.0*PI/5000) -region container block -6 6 -6 6 -6 6 units box rotate v_theta 0 0 0 1 1 1 -run 5000 -Per MPI rank memory allocation (min/avg/max) = 5.836 | 5.836 | 5.836 Mbytes -Step Atoms Temp c_1 c_2 Press - 15000 100 0.00064227996 0.00064227996 0.00070964586 3.2291286e-05 - 15100 100 0.81230775 0.81230775 0.53266834 0.010948517 - 15200 100 0.87957637 0.87957637 0.57559572 0.012401402 - 15300 100 1.0262431 1.0262431 0.66535656 0.015239294 - 15400 100 1.2863564 1.2863564 0.82026439 0.020115365 - 15500 100 1.4721549 1.4721549 0.92138954 0.022400442 - 15600 100 1.7140429 1.7140429 1.0103822 0.02558084 - 15700 100 1.8963287 1.8963287 1.0916756 0.032032318 - 15800 100 2.0741177 2.0741177 1.1706233 0.034251942 - 15900 100 2.1434733 2.1434733 1.2054242 0.030132271 - 16000 100 2.1409892 2.1409892 1.2019761 0.030914205 - 16100 100 2.2496058 2.2496058 1.2476438 0.030939743 - 16200 100 2.233356 2.233356 1.2499888 0.030097445 - 16300 100 2.2673491 2.2673491 1.272321 0.030968524 - 16400 100 2.3735648 2.3735648 1.3126117 0.034532377 - 16500 100 2.4510087 2.4510087 1.3588349 0.036685351 - 16600 100 2.497406 2.497406 1.3811443 0.032019982 - 16700 100 2.6800518 2.6800518 1.4661941 0.037455527 - 16800 100 2.8673997 2.8673997 1.5558303 0.03606532 - 16900 100 3.1229488 3.1229488 1.6918439 0.039753213 - 17000 100 3.117815 3.117815 1.6996841 0.046210837 - 17100 100 3.3336225 3.3336225 1.7834517 0.047865361 - 17200 100 3.1773164 3.1773164 1.7113961 0.047778334 - 17300 100 3.4336759 3.4336759 1.8343073 0.049673718 - 17400 100 3.3142326 3.3142326 1.7796613 0.055329946 - 17500 100 3.3205493 3.3205493 1.7853946 0.043558145 - 17600 100 3.2764553 3.2764553 1.7640702 0.051463316 - 17700 100 3.1909643 3.1909643 1.7407995 0.043248948 - 17800 100 3.1958324 3.1958324 1.735056 0.050123145 - 17900 100 3.2431806 3.2431806 1.7380638 0.050838878 - 18000 100 3.2967417 3.2967417 1.7705821 0.042176084 - 18100 100 3.4270672 3.4270672 1.8459819 0.043589925 - 18200 100 3.3638494 3.3638494 1.8159436 0.048949648 - 18300 100 3.3192279 3.3192279 1.8122198 0.043629595 - 18400 100 3.2627211 3.2627211 1.796316 0.045504529 - 18500 100 3.5669172 3.5669172 1.9257062 0.048460393 - 18600 100 3.5546411 3.5546411 1.9154318 0.046890968 - 18700 100 3.7288485 3.7288485 2.011106 0.046906531 - 18800 100 3.6800347 3.6800347 1.9936406 0.049985172 - 18900 100 3.7151898 3.7151898 2.007659 0.050394561 - 19000 100 3.9693368 3.9693368 2.1311549 0.053710204 - 19100 100 3.6907732 3.6907732 1.9939387 0.05480136 - 19200 100 3.8808777 3.8808777 2.0790125 0.055093552 - 19300 100 3.8422142 3.8422142 2.0756951 0.058090774 - 19400 100 3.7836875 3.7836875 2.0399805 0.06965907 - 19500 100 4.0480195 4.0480195 2.169214 0.053420651 - 19600 100 3.965917 3.965917 2.1245227 0.059077084 - 19700 100 3.8980869 3.8980869 2.0956306 0.050857062 - 19800 100 4.008079 4.008079 2.1501421 0.054938689 - 19900 100 3.7244506 3.7244506 2.0080877 0.055481507 - 20000 100 3.8146094 3.8146094 2.0541416 0.053187111 -Loop time of 0.210396 on 1 procs for 5000 steps with 100 atoms - -Performance: 10266363.999 tau/day, 23764.731 timesteps/s -98.3% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.013991 | 0.013991 | 0.013991 | 0.0 | 6.65 -Neigh | 0.056947 | 0.056947 | 0.056947 | 0.0 | 27.07 -Comm | 0.0013928 | 0.0013928 | 0.0013928 | 0.0 | 0.66 -Output | 0.00054646 | 0.00054646 | 0.00054646 | 0.0 | 0.26 -Modify | 0.13027 | 0.13027 | 0.13027 | 0.0 | 61.92 -Other | | 0.007249 | | | 3.45 - -Nlocal: 100 ave 100 max 100 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 144 ave 144 max 144 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 144 -Ave neighs/atom = 1.44 -Neighbor list builds = 910 -Dangerous builds = 0 - -region container delete -region container block -6 6 -6 6 -6 6 units box -run 5000 -Per MPI rank memory allocation (min/avg/max) = 5.836 | 5.836 | 5.836 Mbytes -Step Atoms Temp c_1 c_2 Press - 20000 100 3.8146094 3.8146094 2.0541416 0.052956687 - 20100 100 1.3848453 1.3848453 0.82244153 0.017544632 - 20200 100 0.89469578 0.89469578 0.55929611 0.0111604 - 20300 100 0.83962013 0.83962013 0.52665461 0.010396174 - 20400 100 0.77264252 0.77264252 0.48961142 0.0095493901 - 20500 100 0.78613208 0.78613208 0.48683715 0.012166835 - 20600 100 0.88411633 0.88411633 0.52854942 0.011725323 - 20700 100 0.89833225 0.89833225 0.52549693 0.012193413 - 20800 100 0.90216089 0.90216089 0.51167019 0.014289685 - 20900 100 0.98665057 0.98665057 0.5468893 0.013794318 - 21000 100 0.7576342 0.7576342 0.42758791 0.011720156 - 21100 100 0.3821563 0.3821563 0.23426423 0.005324458 - 21200 100 0.17486973 0.17486973 0.12876582 0.0029726352 - 21300 100 0.17940562 0.17940562 0.12400155 0.0026179917 - 21400 100 0.15526876 0.15526876 0.10526802 0.002341177 - 21500 100 0.079493361 0.079493361 0.062289324 0.0017379534 - 21600 100 0.057299519 0.057299519 0.047939171 0.0020095941 - 21700 100 0.056900097 0.056900097 0.045799124 0.0017782068 - 21800 100 0.039847861 0.039847861 0.035138066 0.0018265057 - 21900 100 0.03919167 0.03919167 0.031815619 0.0012160098 - 22000 100 0.025499317 0.025499317 0.022126202 0.0010056809 - 22100 100 0.018956113 0.018956113 0.017843095 0.0016109368 - 22200 100 0.017337018 0.017337018 0.016063068 0.00042537508 - 22300 100 0.014785686 0.014785686 0.013007571 0.00049466367 - 22400 100 0.011754087 0.011754087 0.010399793 0.00042349151 - 22500 100 0.010362474 0.010362474 0.009077435 0.00025198478 - 22600 100 0.0089484896 0.0089484896 0.0079474121 0.00035239475 - 22700 100 0.0089936432 0.0089936432 0.0077908763 0.00018548371 - 22800 100 0.0068663718 0.0068663718 0.0064061667 0.00025641972 - 22900 100 0.0050272392 0.0050272392 0.0046676214 0.00040466013 - 23000 100 0.0049250142 0.0049250142 0.0044849467 0.00035704909 - 23100 100 0.0050508148 0.0050508148 0.0043117775 0.00030051828 - 23200 100 0.0037293467 0.0037293467 0.0033592517 0.00038108923 - 23300 100 0.0032823722 0.0032823722 0.0030511575 0.00040421775 - 23400 100 0.0026913866 0.0026913866 0.0025493429 9.2813733e-05 - 23500 100 0.0025590632 0.0025590632 0.0024466447 8.4695125e-05 - 23600 100 0.0025270441 0.0025270441 0.0024236554 8.4237376e-05 - 23700 100 0.0026406527 0.0026406527 0.0024501963 0.00015009901 - 23800 100 0.0024633391 0.0024633391 0.0023470594 3.8990761e-05 - 23900 100 0.0029505606 0.0029505606 0.0025122613 4.9810757e-05 - 24000 100 0.0019535519 0.0019535519 0.0019112421 3.5804751e-05 - 24100 100 0.0017505151 0.0017505151 0.001726233 2.380737e-05 - 24200 100 0.0015864857 0.0015864857 0.0015479949 1.963276e-05 - 24300 100 0.0014535898 0.0014535898 0.0014221262 3.6607862e-05 - 24400 100 0.0013744934 0.0013744934 0.0013523293 1.4522467e-05 - 24500 100 0.0013286378 0.0013286378 0.0013097089 3.2389792e-05 - 24600 100 0.0012093624 0.0012093624 0.0011617482 4.848694e-05 - 24700 100 0.0011817062 0.0011817062 0.0011409092 3.8898899e-05 - 24800 100 0.0011142524 0.0011142524 0.0010877723 1.4560662e-05 - 24900 100 0.0010941199 0.0010941199 0.0010614415 7.0209336e-05 - 25000 100 0.0010773559 0.0010773559 0.0010389783 1.3332279e-05 -Loop time of 0.0912137 on 1 procs for 5000 steps with 100 atoms - -Performance: 23680652.416 tau/day, 54816.325 timesteps/s -99.3% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.010053 | 0.010053 | 0.010053 | 0.0 | 11.02 -Neigh | 0.017597 | 0.017597 | 0.017597 | 0.0 | 19.29 -Comm | 0.00092912 | 0.00092912 | 0.00092912 | 0.0 | 1.02 -Output | 0.00049806 | 0.00049806 | 0.00049806 | 0.0 | 0.55 -Modify | 0.056085 | 0.056085 | 0.056085 | 0.0 | 61.49 -Other | | 0.006052 | | | 6.63 - -Nlocal: 100 ave 100 max 100 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 143 ave 143 max 143 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 143 -Ave neighs/atom = 1.43 -Neighbor list builds = 289 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/granregion/log.27Nov18.granregion.box.g++.4 b/examples/granregion/log.27Nov18.granregion.box.g++.4 deleted file mode 100644 index 170c8be867..0000000000 --- a/examples/granregion/log.27Nov18.granregion.box.g++.4 +++ /dev/null @@ -1,475 +0,0 @@ -LAMMPS (27 Nov 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task -# pouring spheres into container box - -units lj -atom_style sphere -boundary f f f -dimension 3 -comm_modify vel yes - -region box block -10 10 -10 10 -10 10 units box -create_box 2 box -Created orthogonal box = (-10 -10 -10) to (10 10 10) - 1 by 2 by 2 MPI processor grid - -pair_style hybrid gran/hooke 4000.0 NULL 100.0 NULL 0.5 1 -pair_coeff * * gran/hooke - -region container block -6 6 -6 6 -6 6 units box -fix container all wall/gran/region hooke/history 4000.0 NULL 100.0 NULL 0.5 1 region container - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -fix 2 all nve/sphere -fix 3 all gravity 1.0 vector 0 0 -1 - -region slab block -2 2 -2 2 -2 2 units box -fix ins all pour 100 2 4767548 vol 0.4 10 diam one 1.0 region slab ignore -Particle insertion: 48 every 566 steps, 100 by step 1133 - -timestep 0.005 - -compute 1 all temp -compute_modify 1 dynamic/dof yes - -compute 2 all temp/sphere -compute_modify 2 dynamic/dof yes - -thermo 100 -thermo_style custom step atoms temp c_1 c_2 press -thermo_modify lost ignore -compute_modify thermo_temp dynamic/dof yes - -#dump 2 all image 100 image.*.jpg type type # zoom 1.4 adiam 1.0 box no 0.0 axes yes 0.9 0.03 -#dump_modify 2 pad 5 - -run 5000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.3 - ghost atom cutoff = 1.3 - binsize = 0.65, bins = 31 31 31 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair gran/hooke, perpetual - attributes: half, newton on, size - pair build: half/size/bin/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 0.4834 | 0.4834 | 0.4834 Mbytes -Step Atoms Temp c_1 c_2 Press - 0 0 0 0 0 0 - 100 21 0.54270729 0.54270729 0.26473526 0.0013567682 - 200 21 0.87606961 0.87606961 0.42735103 0.002190174 - 300 21 1.1428374 1.1428374 0.55748167 0.0028570936 - 400 21 1.3543103 1.3543103 0.66829516 0.0033857758 - 500 21 1.0677786 1.0677786 0.53582407 0.0045048164 - 600 56 0.6744286 0.6744286 0.3502938 0.0047464584 - 700 56 0.75569283 0.75569283 0.39779462 0.0051953882 - 800 56 0.61597505 0.61597505 0.32943642 0.0086022783 - 900 56 0.65260802 0.65260802 0.34474044 0.0059298996 - 1000 56 0.51624952 0.51624952 0.28326898 0.0067827337 - 1100 56 0.46050076 0.46050076 0.25656319 0.0061891094 - 1200 81 0.39112346 0.39112346 0.21690172 0.0086559316 - 1300 81 0.33302617 0.33302617 0.19109398 0.0033381104 - 1400 81 0.3933533 0.3933533 0.21221692 0.004135078 - 1500 81 0.35495297 0.35495297 0.19925984 0.0037374946 - 1600 81 0.34150606 0.34150606 0.19025811 0.0053492835 - 1700 100 0.2561647 0.2561647 0.14186278 0.0090767057 - 1800 100 0.21124278 0.21124278 0.12154878 0.002854576 - 1900 100 0.21793955 0.21793955 0.12173867 0.0029049175 - 2000 100 0.25530858 0.25530858 0.13892272 0.0035528022 - 2100 100 0.24671805 0.24671805 0.13687782 0.0076812357 - 2200 100 0.22465212 0.22465212 0.12513612 0.0042526344 - 2300 100 0.19362805 0.19362805 0.10914275 0.0061175383 - 2400 100 0.061626039 0.061626039 0.045905953 0.0010393593 - 2500 100 0.052690575 0.052690575 0.038879745 0.0018543933 - 2600 100 0.037256691 0.037256691 0.02833916 0.0027683815 - 2700 100 0.033416362 0.033416362 0.024551243 0.00046725913 - 2800 100 0.019617758 0.019617758 0.014619416 0.00064550316 - 2900 100 0.012313874 0.012313874 0.0098188153 0.00033470181 - 3000 100 0.010948455 0.010948455 0.0087981878 0.00034401243 - 3100 100 0.009359431 0.009359431 0.0073642412 0.00045497356 - 3200 100 0.008129885 0.008129885 0.0061460516 0.00029944201 - 3300 100 0.0050682533 0.0050682533 0.0042692811 0.00026543293 - 3400 100 0.0031539312 0.0031539312 0.0027256511 0.00012475748 - 3500 100 0.0023621311 0.0023621311 0.0021691817 0.0001186392 - 3600 100 0.0018305354 0.0018305354 0.0018004128 0.00015926282 - 3700 100 0.0016522492 0.0016522492 0.0017231072 0.0002193159 - 3800 100 0.0011715102 0.0011715102 0.0012739973 0.0001747857 - 3900 100 0.0010607606 0.0010607606 0.0010974725 0.00012476088 - 4000 100 0.00087570802 0.00087570802 0.00095828935 6.5544103e-05 - 4100 100 0.00078598203 0.00078598203 0.00088068743 9.4560761e-05 - 4200 100 0.00088317454 0.00088317454 0.00092784605 8.1108122e-05 - 4300 100 0.0015013254 0.0015013254 0.0012069505 8.8289686e-05 - 4400 100 0.00070054041 0.00070054041 0.00079451193 5.195712e-05 - 4500 100 0.00096259073 0.00096259073 0.00091232511 3.4895669e-05 - 4600 100 0.00056641848 0.00056641848 0.00069083146 3.9657253e-05 - 4700 100 0.0005455099 0.0005455099 0.00064816699 2.8131762e-05 - 4800 100 0.00048254366 0.00048254366 0.00057192255 4.7914432e-05 - 4900 100 0.00037108125 0.00037108125 0.00048035333 6.4711817e-05 - 5000 100 0.00031290399 0.00031290399 0.00042398478 4.6025975e-05 -Loop time of 0.075416 on 4 procs for 5000 steps with 100 atoms - -Performance: 28641126.336 tau/day, 66298.904 timesteps/s -93.7% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0022948 | 0.0041364 | 0.0061705 | 2.8 | 5.48 -Neigh | 0.0043123 | 0.0057145 | 0.0070784 | 1.8 | 7.58 -Comm | 0.014259 | 0.018658 | 0.024313 | 3.3 | 24.74 -Output | 0.0011525 | 0.001404 | 0.0015383 | 0.4 | 1.86 -Modify | 0.0030508 | 0.014543 | 0.026602 | 9.5 | 19.28 -Other | | 0.03096 | | | 41.05 - -Nlocal: 25 ave 51 max 0 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Nghost: 5.5 ave 12 max 0 min -Histogram: 2 0 0 0 0 0 0 0 1 1 -Neighs: 39.75 ave 84 max 0 min -Histogram: 2 0 0 0 0 0 0 0 1 1 - -Total # of neighbors = 159 -Ave neighs/atom = 1.59 -Neighbor list builds = 310 -Dangerous builds = 0 - -region container delete -variable theta equal (step-5000)*(4.0*PI/5000) -region container block -6 6 -6 6 -6 6 units box rotate v_theta 0 0 0 0 0 1 -run 5000 -Per MPI rank memory allocation (min/avg/max) = 5.733 | 5.733 | 5.734 Mbytes -Step Atoms Temp c_1 c_2 Press - 5000 100 0.00031290399 0.00031290399 0.00042398478 4.4282259e-05 - 5100 100 0.62661084 0.62661084 0.33840611 0.012020153 - 5200 100 0.67371678 0.67371678 0.36218522 0.0093514044 - 5300 100 0.75892331 0.75892331 0.4000747 0.010693252 - 5400 100 0.86207426 0.86207426 0.44630388 0.013540097 - 5500 100 0.96205334 0.96205334 0.49432848 0.017375079 - 5600 100 1.0261194 1.0261194 0.52203912 0.016045333 - 5700 100 1.0584366 1.0584366 0.53794336 0.018621676 - 5800 100 1.0881674 1.0881674 0.55300469 0.01930602 - 5900 100 1.1214233 1.1214233 0.56613492 0.021141141 - 6000 100 1.1666836 1.1666836 0.58759377 0.017655361 - 6100 100 1.1785775 1.1785775 0.59365148 0.01829443 - 6200 100 1.2092305 1.2092305 0.60798809 0.018752443 - 6300 100 1.2331787 1.2331787 0.62003386 0.020291021 - 6400 100 1.2561616 1.2561616 0.63143643 0.019899235 - 6500 100 1.284432 1.284432 0.6460504 0.02083284 - 6600 100 1.2678801 1.2678801 0.63882384 0.019456553 - 6700 100 1.2662641 1.2662641 0.63676836 0.020235578 - 6800 100 1.2785484 1.2785484 0.64129093 0.020335162 - 6900 100 1.2916608 1.2916608 0.64764298 0.020154225 - 7000 100 1.2907774 1.2907774 0.64724849 0.020550885 - 7100 100 1.3074473 1.3074473 0.65460147 0.020847362 - 7200 100 1.3124592 1.3124592 0.65641332 0.020897348 - 7300 100 1.3206191 1.3206191 0.66011491 0.021444077 - 7400 100 1.3273988 1.3273988 0.66350669 0.02129418 - 7500 100 1.3343911 1.3343911 0.66707269 0.021337376 - 7600 100 1.3368998 1.3368998 0.66869327 0.021415901 - 7700 100 1.330658 1.330658 0.66535295 0.021500761 - 7800 100 1.330801 1.330801 0.66555123 0.022806058 - 7900 100 1.3392828 1.3392828 0.66926796 0.02194009 - 8000 100 1.3432728 1.3432728 0.67142337 0.022393719 - 8100 100 1.3411612 1.3411612 0.66989302 0.022366895 - 8200 100 1.3427451 1.3427451 0.67054285 0.021966329 - 8300 100 1.3418147 1.3418147 0.67023132 0.022513459 - 8400 100 1.346493 1.346493 0.67247837 0.022705366 - 8500 100 1.3513958 1.3513958 0.6749092 0.022834077 - 8600 100 1.3520297 1.3520297 0.67506261 0.023227676 - 8700 100 1.3517157 1.3517157 0.67485073 0.023043414 - 8800 100 1.3530071 1.3530071 0.67547212 0.022933766 - 8900 100 1.3550454 1.3550454 0.67657277 0.022744182 - 9000 100 1.3554069 1.3554069 0.67673505 0.022802134 - 9100 100 1.3556675 1.3556675 0.67698335 0.022868449 - 9200 100 1.3534709 1.3534709 0.67600677 0.022537792 - 9300 100 1.3525103 1.3525103 0.67569499 0.022687849 - 9400 100 1.3612673 1.3612673 0.67967213 0.022703588 - 9500 100 1.3649439 1.3649439 0.68147385 0.023498539 - 9600 100 1.3629376 1.3629376 0.68063814 0.023515579 - 9700 100 1.3648924 1.3648924 0.68137104 0.023641856 - 9800 100 1.3662063 1.3662063 0.68196538 0.023576884 - 9900 100 1.3689695 1.3689695 0.68326751 0.023572622 - 10000 100 1.3701139 1.3701139 0.68383343 0.023720885 -Loop time of 0.174251 on 4 procs for 5000 steps with 100 atoms - -Performance: 12395939.906 tau/day, 28694.305 timesteps/s -96.5% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0024631 | 0.010709 | 0.020461 | 8.0 | 6.15 -Neigh | 0.0078361 | 0.012368 | 0.016955 | 4.0 | 7.10 -Comm | 0.0059071 | 0.013641 | 0.023547 | 6.6 | 7.83 -Output | 0.0011749 | 0.0021775 | 0.0030091 | 1.4 | 1.25 -Modify | 0.015055 | 0.055709 | 0.097013 | 17.2 | 31.97 -Other | | 0.07965 | | | 45.71 - -Nlocal: 25 ave 51 max 0 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Nghost: 4.5 ave 10 max 0 min -Histogram: 2 0 0 0 0 0 0 0 1 1 -Neighs: 49.25 ave 101 max 0 min -Histogram: 2 0 0 0 0 0 0 0 0 2 - -Total # of neighbors = 197 -Ave neighs/atom = 1.97 -Neighbor list builds = 627 -Dangerous builds = 0 - -region container delete -region container block -6 6 -6 6 -6 6 units box -run 5000 -Per MPI rank memory allocation (min/avg/max) = 5.733 | 5.733 | 5.734 Mbytes -Step Atoms Temp c_1 c_2 Press - 10000 100 1.3701139 1.3701139 0.68383343 0.023895921 - 10100 100 0.25960098 0.25960098 0.15183967 0.0049554084 - 10200 100 0.15017576 0.15017576 0.10081112 0.0045433238 - 10300 100 0.10129671 0.10129671 0.078049099 0.0014012658 - 10400 100 0.06742425 0.06742425 0.055603816 0.0010184792 - 10500 100 0.053446366 0.053446366 0.045338293 0.00089291689 - 10600 100 0.041898231 0.041898231 0.036081995 0.00060703885 - 10700 100 0.03580041 0.03580041 0.031118724 0.00067731964 - 10800 100 0.030933755 0.030933755 0.026372348 0.00039362325 - 10900 100 0.027278004 0.027278004 0.022868898 0.0003680788 - 11000 100 0.021566952 0.021566952 0.017994879 0.0013056062 - 11100 100 0.019143625 0.019143625 0.015833865 0.00050998112 - 11200 100 0.015659868 0.015659868 0.013119379 0.00012755696 - 11300 100 0.013554605 0.013554605 0.01147808 0.00027393437 - 11400 100 0.01204033 0.01204033 0.010273026 0.00033430792 - 11500 100 0.010958991 0.010958991 0.0093924566 0.00049023273 - 11600 100 0.01012553 0.01012553 0.0084556996 0.00021457333 - 11700 100 0.0083584131 0.0083584131 0.0071118766 7.7149089e-05 - 11800 100 0.007044883 0.007044883 0.0058675523 0.00036165381 - 11900 100 0.0059875106 0.0059875106 0.0050610372 7.4095443e-05 - 12000 100 0.0045180275 0.0045180275 0.0039006565 0.00014607704 - 12100 100 0.0036631356 0.0036631356 0.0031154279 7.031064e-05 - 12200 100 0.0034443424 0.0034443424 0.0029190637 0.00020974475 - 12300 100 0.0030853504 0.0030853504 0.0026315266 3.4873541e-05 - 12400 100 0.0025451749 0.0025451749 0.0022290833 0.00041551536 - 12500 100 0.0021624857 0.0021624857 0.0019127734 2.6760761e-05 - 12600 100 0.0020637862 0.0020637862 0.0018186641 4.9446655e-05 - 12700 100 0.0019889538 0.0019889538 0.0017604689 3.326943e-05 - 12800 100 0.0018706349 0.0018706349 0.0016669237 2.3327318e-05 - 12900 100 0.0017472824 0.0017472824 0.001579469 8.816765e-05 - 13000 100 0.0016034824 0.0016034824 0.0014549852 3.5407524e-05 - 13100 100 0.00151798 0.00151798 0.0013826659 1.8754149e-05 - 13200 100 0.0013049781 0.0013049781 0.0012137907 0.00015263775 - 13300 100 0.0012270536 0.0012270536 0.0011590841 4.77636e-06 - 13400 100 0.0011395128 0.0011395128 0.0010860297 2.5606328e-05 - 13500 100 0.0010858414 0.0010858414 0.0010486713 5.8563931e-05 - 13600 100 0.0010474389 0.0010474389 0.001015904 1.4319658e-05 - 13700 100 0.00099241549 0.00099241549 0.00097825038 1.2281142e-05 - 13800 100 0.00084449252 0.00084449252 0.00084141963 1.0451215e-05 - 13900 100 0.00084004792 0.00084004792 0.00083755495 3.7174162e-05 - 14000 100 0.00082183505 0.00082183505 0.00082027058 1.0170209e-05 - 14100 100 0.00082377076 0.00082377076 0.00080489795 1.181976e-05 - 14200 100 0.00076903208 0.00076903208 0.00076216608 4.4590341e-05 - 14300 100 0.00075173269 0.00075173269 0.00074828209 2.2134371e-05 - 14400 100 0.00074379148 0.00074379148 0.00074072001 1.5746014e-05 - 14500 100 0.00072454029 0.00072454029 0.0007174429 8.9830398e-06 - 14600 100 0.00072372648 0.00072372648 0.00071678769 9.1111512e-06 - 14700 100 0.00071541587 0.00071541587 0.00070893868 7.8446375e-05 - 14800 100 0.0006820307 0.0006820307 0.00066675502 8.4401299e-06 - 14900 100 0.00067050627 0.00067050627 0.00065751846 0.0001228548 - 15000 100 0.00064977132 0.00064977132 0.00062305247 7.8887775e-06 -Loop time of 0.0746691 on 4 procs for 5000 steps with 100 atoms - -Performance: 28927619.905 tau/day, 66962.083 timesteps/s -96.6% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0021737 | 0.0042608 | 0.0063519 | 3.2 | 5.71 -Neigh | 0.0012126 | 0.0019009 | 0.0026193 | 1.6 | 2.55 -Comm | 0.0023425 | 0.0092477 | 0.016876 | 7.2 | 12.38 -Output | 0.0010619 | 0.0017995 | 0.0030522 | 1.8 | 2.41 -Modify | 0.00097013 | 0.017151 | 0.03415 | 12.3 | 22.97 -Other | | 0.04031 | | | 53.98 - -Nlocal: 25 ave 55 max 0 min -Histogram: 2 0 0 0 0 0 0 0 1 1 -Nghost: 3.75 ave 9 max 0 min -Histogram: 2 0 0 0 0 0 1 0 0 1 -Neighs: 42.5 ave 88 max 0 min -Histogram: 2 0 0 0 0 0 0 0 0 2 - -Total # of neighbors = 170 -Ave neighs/atom = 1.7 -Neighbor list builds = 97 -Dangerous builds = 0 - -region container delete -variable theta equal (step-15000)*(4.0*PI/5000) -region container block -6 6 -6 6 -6 6 units box rotate v_theta 0 0 0 1 1 1 -run 5000 -Per MPI rank memory allocation (min/avg/max) = 5.733 | 5.733 | 5.734 Mbytes -Step Atoms Temp c_1 c_2 Press - 15000 100 0.00064977132 0.00064977132 0.00062305247 7.9405607e-06 - 15100 100 1.0123899 1.0123899 0.66185504 0.014587215 - 15200 100 1.0332828 1.0332828 0.67443308 0.014002815 - 15300 100 1.0804076 1.0804076 0.72450056 0.016985272 - 15400 100 1.2868163 1.2868163 0.8708132 0.022190597 - 15500 100 1.5180471 1.5180471 0.99613124 0.026761866 - 15600 100 1.5422016 1.5422016 1.0021746 0.024490139 - 15700 100 1.7142241 1.7142241 1.0611146 0.0301368 - 15800 100 1.8747057 1.8747057 1.1207858 0.027612699 - 15900 100 1.9294819 1.9294819 1.1289025 0.027270228 - 16000 100 1.953275 1.953275 1.1264475 0.031568811 - 16100 100 2.0434228 2.0434228 1.1665365 0.026358952 - 16200 100 2.2129393 2.2129393 1.2448327 0.029613382 - 16300 100 2.2558224 2.2558224 1.2373264 0.028306021 - 16400 100 2.367398 2.367398 1.293448 0.029659303 - 16500 100 2.4221549 2.4221549 1.3198966 0.032541712 - 16600 100 2.510283 2.510283 1.3618001 0.034740544 - 16700 100 2.6776293 2.6776293 1.4508262 0.034556341 - 16800 100 2.8095841 2.8095841 1.5190571 0.035183782 - 16900 100 2.8485646 2.8485646 1.5344387 0.037153336 - 17000 100 3.0298285 3.0298285 1.6321623 0.040745906 - 17100 100 3.0218054 3.0218054 1.6187189 0.042082135 - 17200 100 3.1981705 3.1981705 1.7090597 0.041770208 - 17300 100 3.3178559 3.3178559 1.7723201 0.044604756 - 17400 100 3.3940903 3.3940903 1.8229846 0.049231759 - 17500 100 3.3274817 3.3274817 1.7870996 0.051649102 - 17600 100 3.3204358 3.3204358 1.791527 0.043875639 - 17700 100 3.2185649 3.2185649 1.7480866 0.049941218 - 17800 100 3.2507826 3.2507826 1.7727758 0.048622479 - 17900 100 3.2432767 3.2432767 1.7796296 0.044343902 - 18000 100 3.0841272 3.0841272 1.6978832 0.045344433 - 18100 100 3.0953909 3.0953909 1.699898 0.040070963 - 18200 100 3.1405704 3.1405704 1.7316463 0.042528194 - 18300 100 3.1904871 3.1904871 1.7555188 0.041141165 - 18400 100 3.3256779 3.3256779 1.8243767 0.043908318 - 18500 100 3.5161823 3.5161823 1.9150861 0.045165166 - 18600 100 3.5668273 3.5668273 1.9217975 0.048127705 - 18700 100 3.6648305 3.6648305 1.9685241 0.051205352 - 18800 100 3.9000502 3.9000502 2.0886668 0.05262835 - 18900 100 4.0217758 4.0217758 2.1465498 0.054502839 - 19000 100 3.8431174 3.8431174 2.0581611 0.054852333 - 19100 100 4.1721454 4.1721454 2.2221193 0.053831555 - 19200 100 3.9061181 3.9061181 2.096323 0.058077678 - 19300 100 4.0191085 4.0191085 2.1408069 0.05475437 - 19400 100 3.8840871 3.8840871 2.0887677 0.061905092 - 19500 100 3.8388062 3.8388062 2.0567095 0.051076414 - 19600 100 3.6331742 3.6331742 1.9574769 0.04748008 - 19700 100 3.6996954 3.6996954 1.9887285 0.053305043 - 19800 100 3.8649872 3.8649872 2.0827424 0.060484008 - 19900 100 3.8305733 3.8305733 2.0700281 0.052926584 - 20000 100 3.7948463 3.7948463 2.0657301 0.048516953 -Loop time of 0.156359 on 4 procs for 5000 steps with 100 atoms - -Performance: 13814330.011 tau/day, 31977.616 timesteps/s -94.9% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0040646 | 0.0058124 | 0.0074518 | 1.6 | 3.72 -Neigh | 0.014813 | 0.018389 | 0.020829 | 1.6 | 11.76 -Comm | 0.031892 | 0.034103 | 0.036658 | 1.0 | 21.81 -Output | 0.0013497 | 0.0019822 | 0.003484 | 2.0 | 1.27 -Modify | 0.031006 | 0.046878 | 0.056364 | 4.5 | 29.98 -Other | | 0.0492 | | | 31.46 - -Nlocal: 25 ave 37 max 10 min -Histogram: 1 0 0 0 0 1 0 1 0 1 -Nghost: 3.75 ave 6 max 2 min -Histogram: 1 0 1 0 0 1 0 0 0 1 -Neighs: 36.25 ave 57 max 9 min -Histogram: 1 0 0 0 0 0 2 0 0 1 - -Total # of neighbors = 145 -Ave neighs/atom = 1.45 -Neighbor list builds = 921 -Dangerous builds = 0 - -region container delete -region container block -6 6 -6 6 -6 6 units box -run 5000 -Per MPI rank memory allocation (min/avg/max) = 5.733 | 5.734 | 5.734 Mbytes -Step Atoms Temp c_1 c_2 Press - 20000 100 3.7948463 3.7948463 2.0657301 0.048381317 - 20100 100 1.1359931 1.1359931 0.70170151 0.015300556 - 20200 100 0.87354617 0.87354617 0.55969299 0.012181983 - 20300 100 0.84424484 0.84424484 0.52849351 0.017724782 - 20400 100 0.82422562 0.82422562 0.50175766 0.0098154181 - 20500 100 0.83731289 0.83731289 0.49814627 0.010465327 - 20600 100 0.93125924 0.93125924 0.53803834 0.011624902 - 20700 100 1.0810919 1.0810919 0.60974741 0.01425935 - 20800 100 1.0646343 1.0646343 0.60037545 0.013418132 - 20900 100 1.0608055 1.0608055 0.58353908 0.015119612 - 21000 100 0.68173094 0.68173094 0.3941588 0.0099947535 - 21100 100 0.35407592 0.35407592 0.21306735 0.0043859494 - 21200 100 0.19247432 0.19247432 0.12989264 0.0031808422 - 21300 100 0.13493768 0.13493768 0.093987634 0.0025990872 - 21400 100 0.085735857 0.085735857 0.062091707 0.001434207 - 21500 100 0.074307566 0.074307566 0.05224051 0.0022163094 - 21600 100 0.069932382 0.069932382 0.045388838 0.0020296572 - 21700 100 0.041749712 0.041749712 0.031422931 0.001211155 - 21800 100 0.03378055 0.03378055 0.026248846 0.0020596463 - 21900 100 0.030608528 0.030608528 0.022868294 0.0016282878 - 22000 100 0.025632448 0.025632448 0.019606402 0.0011659657 - 22100 100 0.013785062 0.013785062 0.011561769 0.00069006322 - 22200 100 0.013139066 0.013139066 0.010559726 0.00038424576 - 22300 100 0.01455318 0.01455318 0.011094558 0.00054735929 - 22400 100 0.0096885414 0.0096885414 0.008012617 0.00055875777 - 22500 100 0.0081193116 0.0081193116 0.006802973 0.00052914932 - 22600 100 0.0057159621 0.0057159621 0.0048680253 0.00054864875 - 22700 100 0.0052344376 0.0052344376 0.0045511708 0.00026333033 - 22800 100 0.0054554177 0.0054554177 0.0045005479 0.0002085972 - 22900 100 0.0039455776 0.0039455776 0.0035287888 0.00022514017 - 23000 100 0.0042620461 0.0042620461 0.0035747729 0.00020030999 - 23100 100 0.0035303095 0.0035303095 0.0031995108 0.00016007298 - 23200 100 0.0029747457 0.0029747457 0.0027095904 0.00029775807 - 23300 100 0.0032404433 0.0032404433 0.002769389 0.00019627995 - 23400 100 0.0024965262 0.0024965262 0.0022343473 0.00018870133 - 23500 100 0.00251617 0.00251617 0.0022533604 0.0002661237 - 23600 100 0.0025923653 0.0025923653 0.0022887204 0.00018475201 - 23700 100 0.0023016545 0.0023016545 0.0019829032 0.00014888334 - 23800 100 0.0028358441 0.0028358441 0.0021790504 0.00064613131 - 23900 100 0.0016682403 0.0016682403 0.0014930521 8.8407075e-05 - 24000 100 0.0016341577 0.0016341577 0.0014597606 0.00011262081 - 24100 100 0.0015433636 0.0015433636 0.0013981581 8.364568e-05 - 24200 100 0.0015033978 0.0015033978 0.0013582013 8.4539006e-05 - 24300 100 0.0014513098 0.0014513098 0.0012943981 0.00010546194 - 24400 100 0.0013293352 0.0013293352 0.001206366 8.4967509e-05 - 24500 100 0.0013732518 0.0013732518 0.001202532 0.00014787559 - 24600 100 0.00091890041 0.00091890041 0.00084499923 0.00010080638 - 24700 100 0.00083467915 0.00083467915 0.00077071316 5.3934025e-05 - 24800 100 0.00080701934 0.00080701934 0.0007477161 5.3982095e-05 - 24900 100 0.00080620771 0.00080620771 0.0007471026 5.3581294e-05 - 25000 100 0.00080568604 0.00080568604 0.00074625735 5.3574637e-05 -Loop time of 0.0792506 on 4 procs for 5000 steps with 100 atoms - -Performance: 27255302.560 tau/day, 63090.978 timesteps/s -95.0% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0023611 | 0.0047854 | 0.0077851 | 3.4 | 6.04 -Neigh | 0.0042653 | 0.005571 | 0.0067258 | 1.5 | 7.03 -Comm | 0.0077977 | 0.013373 | 0.019515 | 4.4 | 16.87 -Output | 0.0010924 | 0.0017727 | 0.0030222 | 1.8 | 2.24 -Modify | 0.0023608 | 0.015964 | 0.030545 | 10.5 | 20.14 -Other | | 0.03778 | | | 47.68 - -Nlocal: 25 ave 50 max 0 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Nghost: 5 ave 10 max 0 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Neighs: 35.75 ave 78 max 0 min -Histogram: 2 0 0 0 0 0 0 0 1 1 - -Total # of neighbors = 143 -Ave neighs/atom = 1.43 -Neighbor list builds = 287 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/granregion/log.27Nov18.granregion.funnel.g++.1 b/examples/granregion/log.27Nov18.granregion.funnel.g++.1 deleted file mode 100644 index 0268ed000a..0000000000 --- a/examples/granregion/log.27Nov18.granregion.funnel.g++.1 +++ /dev/null @@ -1,601 +0,0 @@ -LAMMPS (27 Nov 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task -# pour particles into cone-shaped funnel, settle them, let them run out bottom - -variable name string funnel_pour - -thermo_modify flush yes -units si -variable PI equal 3.141592653589 -variable seed equal 14314 - -############################################### -# Geometry-related parameters -############################################### - -variable xlo equal 10 -variable xhi equal 40 -variable ylo equal 10 -variable yhi equal 40 -variable zlo equal -20 -variable zhi equal 50 - -variable xc equal 25 -variable yc equal 25 - -variable zconehi equal 50 -variable zconelo equal 10 -variable zcyllo equal 0 -variable radconelo equal 2 -variable radconehi equal 20 - -################################################ -# Particle sizes -################################################ - -variable rlo equal 0.25 -variable rhi equal 0.5 -variable dlo equal 2.0*${rlo} -variable dlo equal 2.0*0.25 -variable dhi equal 2.0*${rhi} -variable dhi equal 2.0*0.5 - -variable skin equal ${rhi} -variable skin equal 0.5 - -############################################### -# Granular contact parameters -############################################### - -variable coeffRes equal 0.1 -variable coeffFric equal 0.5 - -variable density equal 1.0 -variable EYoung equal 10^5 -variable Poisson equal 2.0/7.0 -variable GShear equal ${EYoung}/(2*(1+${Poisson})) -variable GShear equal 100000/(2*(1+${Poisson})) -variable GShear equal 100000/(2*(1+0.285714285714286)) - -variable gravity equal 1.0 - -variable reff equal 0.5*(${rhi}+${rlo}) -variable reff equal 0.5*(0.5+${rlo}) -variable reff equal 0.5*(0.5+0.25) -variable meff equal ${density}*4.0/3.0*${PI}*${reff}^3 -variable meff equal 1*4.0/3.0*${PI}*${reff}^3 -variable meff equal 1*4.0/3.0*3.141592653589*${reff}^3 -variable meff equal 1*4.0/3.0*3.141592653589*0.375^3 -variable min_mass equal ${density}*4.0/3.0*${PI}*${rlo}*${rlo}*${rlo} -variable min_mass equal 1*4.0/3.0*${PI}*${rlo}*${rlo}*${rlo} -variable min_mass equal 1*4.0/3.0*3.141592653589*${rlo}*${rlo}*${rlo} -variable min_mass equal 1*4.0/3.0*3.141592653589*0.25*${rlo}*${rlo} -variable min_mass equal 1*4.0/3.0*3.141592653589*0.25*0.25*${rlo} -variable min_mass equal 1*4.0/3.0*3.141592653589*0.25*0.25*0.25 -variable max_mass equal ${density}*4.0/3.0*${PI}*${rhi}*${rhi}*${rhi} -variable max_mass equal 1*4.0/3.0*${PI}*${rhi}*${rhi}*${rhi} -variable max_mass equal 1*4.0/3.0*3.141592653589*${rhi}*${rhi}*${rhi} -variable max_mass equal 1*4.0/3.0*3.141592653589*0.5*${rhi}*${rhi} -variable max_mass equal 1*4.0/3.0*3.141592653589*0.5*0.5*${rhi} -variable max_mass equal 1*4.0/3.0*3.141592653589*0.5*0.5*0.5 - -## Typical way to set kn, kt, etc.: -variable kn equal 4.0*${GShear}/(3*(1-${Poisson})) -variable kn equal 4.0*38888.8888888889/(3*(1-${Poisson})) -variable kn equal 4.0*38888.8888888889/(3*(1-0.285714285714286)) -variable kt equal 4.0*${GShear}/(2-${Poisson}) -variable kt equal 4.0*38888.8888888889/(2-${Poisson}) -variable kt equal 4.0*38888.8888888889/(2-0.285714285714286) - -variable a equal (-2.0*log(${coeffRes})/${PI})^2 -variable a equal (-2.0*log(0.1)/${PI})^2 -variable a equal (-2.0*log(0.1)/3.141592653589)^2 -variable gamma_n equal sqrt($a*2*${kn}/${min_mass}/(1+0.25*$a)) -variable gamma_n equal sqrt(0.405284734569556*2*${kn}/${min_mass}/(1+0.25*$a)) -variable gamma_n equal sqrt(0.405284734569556*2*72592.5925925926/${min_mass}/(1+0.25*$a)) -variable gamma_n equal sqrt(0.405284734569556*2*72592.5925925926/0.0654498469497708/(1+0.25*$a)) -variable gamma_n equal sqrt(0.405284734569556*2*72592.5925925926/0.0654498469497708/(1+0.25*0.405284734569556)) -variable gamma_t equal ${gamma_n}*0.5 -variable gamma_t equal 903.503751814138*0.5 - -variable tcol equal ${PI}/sqrt(2*${kn}/${min_mass}-${gamma_n}/4.0) -variable tcol equal 3.141592653589/sqrt(2*${kn}/${min_mass}-${gamma_n}/4.0) -variable tcol equal 3.141592653589/sqrt(2*72592.5925925926/${min_mass}-${gamma_n}/4.0) -variable tcol equal 3.141592653589/sqrt(2*72592.5925925926/0.0654498469497708-${gamma_n}/4.0) -variable tcol equal 3.141592653589/sqrt(2*72592.5925925926/0.0654498469497708-903.503751814138/4.0) - -variable dt equal ${tcol}*0.05 -variable dt equal 0.00210943016014969*0.05 -timestep ${dt} -timestep 0.000105471508007485 - -############################################### -variable dumpfreq equal 1000 -variable logfreq equal 1000 - -newton off -atom_style sphere - -boundary p p f - -region boxreg block ${xlo} ${xhi} ${ylo} ${yhi} ${zlo} ${zhi} -region boxreg block 10 ${xhi} ${ylo} ${yhi} ${zlo} ${zhi} -region boxreg block 10 40 ${ylo} ${yhi} ${zlo} ${zhi} -region boxreg block 10 40 10 ${yhi} ${zlo} ${zhi} -region boxreg block 10 40 10 40 ${zlo} ${zhi} -region boxreg block 10 40 10 40 -20 ${zhi} -region boxreg block 10 40 10 40 -20 50 -create_box 1 boxreg -Created orthogonal box = (10 10 -20) to (40 40 50) - 1 by 1 by 1 MPI processor grid - -pair_style gran/hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 -pair_style gran/hertz/history 72592.5925925926 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 -pair_style gran/hertz/history 72592.5925925926 90740.7407407408 ${gamma_n} ${gamma_t} ${coeffFric} 1 -pair_style gran/hertz/history 72592.5925925926 90740.7407407408 903.503751814138 ${gamma_t} ${coeffFric} 1 -pair_style gran/hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 ${coeffFric} 1 -pair_style gran/hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 0.5 1 -pair_coeff * * - -neighbor ${skin} bin -neighbor 0.5 bin -thermo ${logfreq} -thermo 1000 - -comm_style brick -comm_modify mode multi group all vel yes -balance 1.1 shift xyz 20 1.1 -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 0 - ghost atom cutoff = 0 - binsize = 30, bins = 1 1 3 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair gran/hertz/history, perpetual - attributes: half, newton off, size, history - pair build: half/size/bin/newtoff - stencil: half/bin/3d/newtoff - bin: standard -fix bal all balance 10000 1.1 shift xyz 20 1.01 - -####################### Options specific to pouring ######################### - -# insertion region for fix/pour - -region insreg cylinder z ${xc} ${yc} 10 30 50 side in units box -region insreg cylinder z 25 ${yc} 10 30 50 side in units box -region insreg cylinder z 25 25 10 30 50 side in units box - -# define cone and cylinder regions - see lammps doc on region command -# note new open options - -region cylreg cylinder z ${xc} ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 2 #Top is open -region cylreg cylinder z 25 ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 2 -region cylreg cylinder z 25 25 ${radconelo} ${zcyllo} ${zconelo} side in units box open 2 -region cylreg cylinder z 25 25 2 ${zcyllo} ${zconelo} side in units box open 2 -region cylreg cylinder z 25 25 2 0 ${zconelo} side in units box open 2 -region cylreg cylinder z 25 25 2 0 10 side in units box open 2 - -region conereg cone z ${xc} ${yc} ${radconelo} ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2 #Bottom and top are open -region conereg cone z 25 ${yc} ${radconelo} ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2 -region conereg cone z 25 25 ${radconelo} ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2 -region conereg cone z 25 25 2 ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2 -region conereg cone z 25 25 2 20 ${zconelo} ${zconehi} side in units box open 1 open 2 -region conereg cone z 25 25 2 20 10 ${zconehi} side in units box open 1 open 2 -region conereg cone z 25 25 2 20 10 50 side in units box open 1 open 2 - -region hopreg union 2 conereg cylreg - -fix grav all gravity ${gravity} vector 0 0 -1 -fix grav all gravity 1 vector 0 0 -1 -fix 1 all nve/sphere - - -fix hopper3 all wall/gran/region hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 ${gamma_t} ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 0.5 1 region hopreg - -fix ins all pour 2000 1 42424 region insreg diam range ${dlo} ${dhi} dens ${density} ${density} -fix ins all pour 2000 1 42424 region insreg diam range 0.5 ${dhi} dens ${density} ${density} -fix ins all pour 2000 1 42424 region insreg diam range 0.5 1 dens ${density} ${density} -fix ins all pour 2000 1 42424 region insreg diam range 0.5 1 dens 1 ${density} -fix ins all pour 2000 1 42424 region insreg diam range 0.5 1 dens 1 1 -Particle insertion: 3000 every 59965 steps, 2000 by step 1 - -#dump 1 all custom ${dumpfreq} ${name}.dump # id type mass diameter x y z - -#dump 2 all image 4000 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 zoom 3.0 # box no 0.0 axes no 0.0 0.0 -#dump_modify 2 pad 6 - -thermo_style custom step cpu atoms ke -WARNING: New thermo_style command, previous thermo_modify settings will be lost (src/output.cpp:705) -thermo_modify flush yes lost warn - -# Initial run to fill up the cone - -run 20000 -Per MPI rank memory allocation (min/avg/max) = 6.649 | 6.649 | 6.649 Mbytes -Step CPU Atoms KinEng - 0 0 0 -0 - 1000 0.63593698 2000 -0 - 2000 1.0282419 2000 -0 - 3000 1.4184453 2000 -0 - 4000 1.8055785 2000 -0 - 5000 2.1941335 2000 -0 - 6000 2.5804653 2000 -0 - 7000 2.9660621 2000 -0 - 8000 3.3506265 2000 -0 - 9000 3.7344413 2000 -0 - 10000 4.1212304 2000 -0 - 11000 4.5044594 2000 -0 - 12000 4.8875456 2000 -0 - 13000 5.2698007 2000 -0 - 14000 5.6527214 2000 -0 - 15000 6.0349295 2000 -0 - 16000 6.4172938 2000 -0 - 17000 6.8001184 2000 -0 - 18000 7.1826644 2000 -0 - 19000 7.5654378 2000 -0 - 20000 7.9511659 2000 -0 -Loop time of 7.95118 on 1 procs for 20000 steps with 2000 atoms - -99.8% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.6189 | 0.6189 | 0.6189 | 0.0 | 7.78 -Neigh | 0.09361 | 0.09361 | 0.09361 | 0.0 | 1.18 -Comm | 0.016098 | 0.016098 | 0.016098 | 0.0 | 0.20 -Output | 0.00048828 | 0.00048828 | 0.00048828 | 0.0 | 0.01 -Modify | 6.9973 | 6.9973 | 6.9973 | 0.0 | 88.00 -Other | | 0.2248 | | | 2.83 - -Nlocal: 2000 ave 2000 max 2000 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 1537 ave 1537 max 1537 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 1537 -Ave neighs/atom = 0.7685 -Neighbor list builds = 69 -Dangerous builds = 0 -unfix ins -run 150000 -Per MPI rank memory allocation (min/avg/max) = 12.77 | 12.77 | 12.77 Mbytes -Step CPU Atoms KinEng - 20000 0 2000 6443.7665 - 21000 0.3826313 2000 6572.3531 - 22000 0.76688981 2000 6723.8376 - 23000 1.1534231 2000 6853.1812 - 24000 1.5391715 2000 6976.0209 - 25000 1.9263508 2000 7096.9955 - 26000 2.3168406 2000 7215.5795 - 27000 2.7065961 2000 7349.2382 - 28000 3.096664 2000 7471.8719 - 29000 3.4905531 2000 7574.8228 - 30000 3.8877606 2000 7659.3836 - 31000 4.2839894 2000 7703.6856 - 32000 4.6859732 2000 7644.279 - 33000 5.0932801 2000 7526.6944 - 34000 5.5045564 2000 7370.0821 - 35000 5.9206297 2000 7193.0457 - 36000 6.343729 2000 6990.9899 - 37000 6.7719142 2000 6849.2841 - 38000 7.2016783 2000 6701.7433 - 39000 7.6354482 2000 6538.9557 - 40000 8.078445 2000 6381.9346 - 41000 8.5191586 2000 6217.5253 - 42000 8.9630713 2000 6093.5344 - 43000 9.4097741 2000 5943.0479 - 44000 9.8652256 2000 5841.0782 - 45000 10.331057 2000 5652.8319 - 46000 10.803253 2000 5476.1466 - 47000 11.278766 2000 5267.7855 - 48000 11.759121 2000 5131.4036 - 49000 12.248896 2000 4972.7696 - 50000 12.747719 2000 4867.0868 - 51000 13.246704 2000 4681.897 - 52000 13.757842 2000 4506.8185 - 53000 14.276078 2000 4346.8045 - 54000 14.795933 2000 4193.8194 - 55000 15.311241 2000 4058.2049 - 56000 15.828737 2000 3879.0325 - 57000 16.359453 2000 3696.3154 - 58000 16.905406 2000 3504.0399 - 59000 17.460454 2000 3284.6522 - 60000 18.027276 2000 3061.0727 - 61000 18.586931 2000 2874.2926 - 62000 19.158563 2000 2653.0722 - 63000 19.738442 2000 2437.4941 - 64000 20.331411 2000 2124.1876 - 65000 20.936204 2000 1864.5661 - 66000 21.547443 2000 1610.2335 - 67000 22.166888 2000 1390.0428 - 68000 22.789106 2000 1163.7679 - 69000 23.416016 2000 933.0928 - 70000 24.038879 2000 745.66667 - 71000 24.663115 2000 605.58458 - 72000 25.294193 2000 444.31183 - 73000 25.932019 2000 357.19162 - 74000 26.568184 2000 291.16762 - 75000 27.203393 2000 230.58362 - 76000 27.836079 2000 197.59502 - 77000 28.467344 2000 166.55702 - 78000 29.099997 2000 139.89052 - 79000 29.741694 2000 117.1145 - 80000 30.388097 2000 100.12353 - 81000 31.036193 2000 85.233155 - 82000 31.688463 2000 71.145302 - 83000 32.343411 2000 61.545348 - 84000 32.999346 2000 54.099358 - 85000 33.652976 2000 46.922028 - 86000 34.306931 2000 41.606645 - 87000 34.967787 2000 37.462793 - 88000 35.633721 2000 33.698298 - 89000 36.310035 2000 29.340455 - 90000 36.995441 2000 26.072122 - 91000 37.67904 2000 23.20848 - 92000 38.367699 2000 21.015862 - 93000 39.058641 2000 20.134175 - 94000 39.749342 2000 19.196075 - 95000 40.442651 2000 18.285127 - 96000 41.140177 2000 17.476411 - 97000 41.840761 2000 16.55882 - 98000 42.543845 2000 15.444541 - 99000 43.256415 2000 14.41642 - 100000 43.97382 2000 13.818738 - 101000 44.684596 2000 12.878373 - 102000 45.401082 2000 12.11804 - 103000 46.120936 2000 11.016885 - 104000 46.83935 2000 10.531044 - 105000 47.559419 2000 10.46735 - 106000 48.286016 2000 10.246007 - 107000 49.012266 2000 9.6423041 - 108000 49.74013 2000 9.3948808 - 109000 50.471961 2000 9.5178141 - 110000 51.206152 2000 9.4143884 - 111000 51.939123 2000 9.5058226 - 112000 52.673443 2000 9.6911516 - 113000 53.410485 2000 9.7756849 - 114000 54.152537 2000 9.3876232 - 115000 54.891784 2000 8.6725333 - 116000 55.631474 2000 8.6691065 - 117000 56.371762 2000 8.0156055 - 118000 57.110131 2000 7.9150786 - 119000 57.8533 2000 7.5310892 - 120000 58.599064 2000 7.2940498 - 121000 59.340753 2000 6.8347898 - 122000 60.084676 2000 6.696484 - 123000 60.826952 2000 6.7799146 - 124000 61.569413 2000 6.7901567 - 125000 62.316334 2000 6.7532108 - 126000 63.061374 2000 6.762162 - 127000 63.806385 2000 6.6317366 - 128000 64.555969 2000 6.8246399 - 129000 65.308131 2000 6.9130358 - 130000 66.060967 2000 7.1750566 - 131000 66.809725 2000 6.9507379 - 132000 67.559796 2000 6.7987445 - 133000 68.314249 2000 6.8535775 - 134000 69.065513 2000 7.0255144 - 135000 69.817604 2000 6.7381064 - 136000 70.572079 2000 6.5567748 - 137000 71.324444 2000 6.2655395 - 138000 72.079147 2000 6.1923013 - 139000 72.831323 2000 6.0958081 - 140000 73.59117 2000 5.9185709 - 141000 74.343753 2000 5.9151241 - 142000 75.096509 2000 5.4743035 - 143000 75.852151 2000 5.438642 - 144000 76.605005 2000 4.6646664 - 145000 77.357571 2000 4.6899837 - 146000 78.113125 2000 4.5357917 - 147000 78.867751 2000 4.5993842 - 148000 79.625344 2000 4.7076884 - 149000 80.37992 2000 4.8306642 - 150000 81.143175 2000 4.8282147 - 151000 81.899326 2000 4.546308 - 152000 82.658645 2000 4.6700755 - 153000 83.41837 2000 4.7557633 - 154000 84.17509 2000 4.9004538 - 155000 84.934161 2000 5.0552949 - 156000 85.695466 2000 4.0672495 - 157000 86.453115 2000 3.5819543 - 158000 87.212663 2000 3.3533477 - 159000 87.967768 2000 3.3281001 - 160000 88.729631 2000 3.0831743 - 161000 89.498983 2000 3.0519269 - 162000 90.259424 2000 3.0951675 - 163000 91.019656 2000 2.9868352 - 164000 91.776359 2000 2.9195788 - 165000 92.536374 2000 2.5637813 - 166000 93.296332 2000 2.5553272 - 167000 94.05653 2000 2.0752912 - 168000 94.814559 2000 1.9689845 - 169000 95.576005 2000 1.9117916 - 170000 96.337863 2000 1.8568914 -Loop time of 96.3379 on 1 procs for 150000 steps with 2000 atoms - -99.8% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 37.121 | 37.121 | 37.121 | 0.0 | 38.53 -Neigh | 0.8454 | 0.8454 | 0.8454 | 0.0 | 0.88 -Comm | 0.11506 | 0.11506 | 0.11506 | 0.0 | 0.12 -Output | 0.004431 | 0.004431 | 0.004431 | 0.0 | 0.00 -Modify | 56.517 | 56.517 | 56.517 | 0.0 | 58.67 -Other | | 1.735 | | | 1.80 - -Nlocal: 2000 ave 2000 max 2000 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 15524 ave 15524 max 15524 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 15524 -Ave neighs/atom = 7.762 -Neighbor list builds = 388 -Dangerous builds = 0 - -# remove "plug" - need to redefine cylinder region & union - -region cylreg delete -region hopreg delete -region cylreg cylinder z ${xc} ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 1 open 2 #Bottom & top are open -region cylreg cylinder z 25 ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 1 open 2 -region cylreg cylinder z 25 25 ${radconelo} ${zcyllo} ${zconelo} side in units box open 1 open 2 -region cylreg cylinder z 25 25 2 ${zcyllo} ${zconelo} side in units box open 1 open 2 -region cylreg cylinder z 25 25 2 0 ${zconelo} side in units box open 1 open 2 -region cylreg cylinder z 25 25 2 0 10 side in units box open 1 open 2 - -region hopreg union 2 cylreg conereg - -unfix hopper3 -fix hopper3 all wall/gran/region hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 ${gamma_t} ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 0.5 1 region hopreg - -run 100000 -Per MPI rank memory allocation (min/avg/max) = 18.64 | 18.64 | 18.64 Mbytes -Step CPU Atoms KinEng - 170000 0 2000 1.8568914 - 171000 0.75704765 2000 2.4011583 - 172000 1.5101345 2000 3.176628 - 173000 2.2556529 2000 4.5364486 - 174000 2.9946566 2000 6.5494125 - 175000 3.7253478 2000 9.1934319 - 176000 4.4570525 2000 12.25765 - 177000 5.1876664 2000 15.799657 - 178000 5.9178619 2000 19.982558 - 179000 6.6439464 2000 24.927165 - 180000 7.3749168 2000 30.428362 - 181000 8.1011977 2000 36.74232 - 182000 8.8207343 2000 43.820448 - 183000 9.5397925 2000 50.903222 - 184000 10.253098 2000 59.425781 - 185000 10.965505 2000 69.143119 - 186000 11.673319 2000 79.210705 - 187000 12.373966 2000 90.411346 - 188000 13.075475 2000 102.35389 - 189000 13.770632 2000 114.93888 - 190000 14.469445 2000 128.63341 - 191000 15.158381 2000 143.44526 - 192000 15.846267 2000 159.04574 - 193000 16.527754 2000 174.3114 - 194000 17.204808 2000 190.42123 - 195000 17.881059 2000 207.70459 - 196000 18.556555 2000 224.90931 - 197000 19.229818 2000 242.64914 - 198000 19.905086 2000 261.48312 - 199000 20.578518 2000 281.28308 - 200000 21.25632 2000 302.95108 - 201000 21.921347 2000 325.95534 - 202000 22.583873 2000 350.6874 - 203000 23.244724 2000 376.31773 - 204000 23.904842 2000 404.21947 - 205000 24.562788 2000 432.96116 - 206000 25.217762 2000 462.4113 - 207000 25.875814 2000 491.91207 - 208000 26.531285 2000 522.15395 - 209000 27.184766 2000 553.1024 - 210000 27.842961 2000 585.7133 - 211000 28.489339 2000 619.96357 - 212000 29.139612 2000 653.96189 - 213000 29.783866 2000 689.8027 - 214000 30.426881 2000 727.28401 - 215000 31.06706 2000 766.40354 - 216000 31.706399 2000 805.65433 - 217000 32.343033 2000 845.40981 - 218000 32.989384 2000 884.24637 - 219000 33.633664 2000 923.5998 - 220000 34.285172 2000 965.01779 - 221000 34.931959 2000 1009.1763 - 222000 35.571624 2000 1054.7789 - 223000 36.207868 2000 1101.9922 - 224000 36.836062 2000 1151.1205 - 225000 37.464514 2000 1201.3979 - 226000 38.09746 2000 1252.4054 - 227000 38.732507 1999 1296.6784 - 228000 39.371367 1997 1342.3466 - 229000 40.012553 1992 1368.8559 - 230000 40.652111 1977 1360.2259 - 231000 41.275478 1965 1340.3793 - 232000 41.892734 1953 1318.8318 - 233000 42.50588 1938 1295.5667 - 234000 43.121427 1924 1270.0641 - 235000 43.740727 1914 1258.296 - 236000 44.359241 1902 1224.3945 - 237000 44.979463 1899 1248.3905 - 238000 45.597358 1885 1206.9229 - 239000 46.210114 1875 1195.5429 - 240000 46.818148 1861 1142.6591 - 241000 47.411079 1851 1131.5523 - 242000 48.002522 1841 1116.8741 - 243000 48.594254 1830 1099.9978 - 244000 49.191798 1822 1078.6068 - 245000 49.791332 1814 1072.1498 - 246000 50.389728 1803 1020.7842 - 247000 50.984212 1794 1000.1936 - 248000 51.571047 1781 942.02462 - 249000 52.149428 1772 916.83697 - 250000 52.726202 1758 825.10751 - 251000 53.29913 1748 789.06351 - 252000 53.871912 1739 753.92258 - 253000 54.441009 1729 697.83686 - 254000 55.010203 1718 648.98541 - 255000 55.573602 1710 620.38129 - 256000 56.134709 1705 622.43466 - 257000 56.701827 1700 595.79102 - 258000 57.264463 1698 608.49223 - 259000 57.827817 1695 614.0119 - 260000 58.398994 1690 601.50438 - 261000 58.964611 1687 608.5892 - 262000 59.526765 1683 597.07884 - 263000 60.082729 1682 618.65041 - 264000 60.640105 1678 615.47784 - 265000 61.195717 1675 605.27658 - 266000 61.751087 1671 583.69853 - 267000 62.305546 1669 600.11043 - 268000 62.86105 1666 598.79807 - 269000 63.417551 1663 588.40338 - 270000 63.974486 1660 579.59387 -Loop time of 63.9745 on 1 procs for 100000 steps with 1660 atoms - -99.8% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 26.514 | 26.514 | 26.514 | 0.0 | 41.44 -Neigh | 0.60324 | 0.60324 | 0.60324 | 0.0 | 0.94 -Comm | 0.075881 | 0.075881 | 0.075881 | 0.0 | 0.12 -Output | 0.0029137 | 0.0029137 | 0.0029137 | 0.0 | 0.00 -Modify | 35.686 | 35.686 | 35.686 | 0.0 | 55.78 -Other | | 1.092 | | | 1.71 - -Nlocal: 1660 ave 1660 max 1660 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 11681 ave 11681 max 11681 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 11681 -Ave neighs/atom = 7.03675 -Neighbor list builds = 249 -Dangerous builds = 0 -Total wall time: 0:02:48 diff --git a/examples/granregion/log.27Nov18.granregion.funnel.g++.4 b/examples/granregion/log.27Nov18.granregion.funnel.g++.4 deleted file mode 100644 index 67c307d212..0000000000 --- a/examples/granregion/log.27Nov18.granregion.funnel.g++.4 +++ /dev/null @@ -1,601 +0,0 @@ -LAMMPS (27 Nov 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task -# pour particles into cone-shaped funnel, settle them, let them run out bottom - -variable name string funnel_pour - -thermo_modify flush yes -units si -variable PI equal 3.141592653589 -variable seed equal 14314 - -############################################### -# Geometry-related parameters -############################################### - -variable xlo equal 10 -variable xhi equal 40 -variable ylo equal 10 -variable yhi equal 40 -variable zlo equal -20 -variable zhi equal 50 - -variable xc equal 25 -variable yc equal 25 - -variable zconehi equal 50 -variable zconelo equal 10 -variable zcyllo equal 0 -variable radconelo equal 2 -variable radconehi equal 20 - -################################################ -# Particle sizes -################################################ - -variable rlo equal 0.25 -variable rhi equal 0.5 -variable dlo equal 2.0*${rlo} -variable dlo equal 2.0*0.25 -variable dhi equal 2.0*${rhi} -variable dhi equal 2.0*0.5 - -variable skin equal ${rhi} -variable skin equal 0.5 - -############################################### -# Granular contact parameters -############################################### - -variable coeffRes equal 0.1 -variable coeffFric equal 0.5 - -variable density equal 1.0 -variable EYoung equal 10^5 -variable Poisson equal 2.0/7.0 -variable GShear equal ${EYoung}/(2*(1+${Poisson})) -variable GShear equal 100000/(2*(1+${Poisson})) -variable GShear equal 100000/(2*(1+0.285714285714286)) - -variable gravity equal 1.0 - -variable reff equal 0.5*(${rhi}+${rlo}) -variable reff equal 0.5*(0.5+${rlo}) -variable reff equal 0.5*(0.5+0.25) -variable meff equal ${density}*4.0/3.0*${PI}*${reff}^3 -variable meff equal 1*4.0/3.0*${PI}*${reff}^3 -variable meff equal 1*4.0/3.0*3.141592653589*${reff}^3 -variable meff equal 1*4.0/3.0*3.141592653589*0.375^3 -variable min_mass equal ${density}*4.0/3.0*${PI}*${rlo}*${rlo}*${rlo} -variable min_mass equal 1*4.0/3.0*${PI}*${rlo}*${rlo}*${rlo} -variable min_mass equal 1*4.0/3.0*3.141592653589*${rlo}*${rlo}*${rlo} -variable min_mass equal 1*4.0/3.0*3.141592653589*0.25*${rlo}*${rlo} -variable min_mass equal 1*4.0/3.0*3.141592653589*0.25*0.25*${rlo} -variable min_mass equal 1*4.0/3.0*3.141592653589*0.25*0.25*0.25 -variable max_mass equal ${density}*4.0/3.0*${PI}*${rhi}*${rhi}*${rhi} -variable max_mass equal 1*4.0/3.0*${PI}*${rhi}*${rhi}*${rhi} -variable max_mass equal 1*4.0/3.0*3.141592653589*${rhi}*${rhi}*${rhi} -variable max_mass equal 1*4.0/3.0*3.141592653589*0.5*${rhi}*${rhi} -variable max_mass equal 1*4.0/3.0*3.141592653589*0.5*0.5*${rhi} -variable max_mass equal 1*4.0/3.0*3.141592653589*0.5*0.5*0.5 - -## Typical way to set kn, kt, etc.: -variable kn equal 4.0*${GShear}/(3*(1-${Poisson})) -variable kn equal 4.0*38888.8888888889/(3*(1-${Poisson})) -variable kn equal 4.0*38888.8888888889/(3*(1-0.285714285714286)) -variable kt equal 4.0*${GShear}/(2-${Poisson}) -variable kt equal 4.0*38888.8888888889/(2-${Poisson}) -variable kt equal 4.0*38888.8888888889/(2-0.285714285714286) - -variable a equal (-2.0*log(${coeffRes})/${PI})^2 -variable a equal (-2.0*log(0.1)/${PI})^2 -variable a equal (-2.0*log(0.1)/3.141592653589)^2 -variable gamma_n equal sqrt($a*2*${kn}/${min_mass}/(1+0.25*$a)) -variable gamma_n equal sqrt(0.405284734569556*2*${kn}/${min_mass}/(1+0.25*$a)) -variable gamma_n equal sqrt(0.405284734569556*2*72592.5925925926/${min_mass}/(1+0.25*$a)) -variable gamma_n equal sqrt(0.405284734569556*2*72592.5925925926/0.0654498469497708/(1+0.25*$a)) -variable gamma_n equal sqrt(0.405284734569556*2*72592.5925925926/0.0654498469497708/(1+0.25*0.405284734569556)) -variable gamma_t equal ${gamma_n}*0.5 -variable gamma_t equal 903.503751814138*0.5 - -variable tcol equal ${PI}/sqrt(2*${kn}/${min_mass}-${gamma_n}/4.0) -variable tcol equal 3.141592653589/sqrt(2*${kn}/${min_mass}-${gamma_n}/4.0) -variable tcol equal 3.141592653589/sqrt(2*72592.5925925926/${min_mass}-${gamma_n}/4.0) -variable tcol equal 3.141592653589/sqrt(2*72592.5925925926/0.0654498469497708-${gamma_n}/4.0) -variable tcol equal 3.141592653589/sqrt(2*72592.5925925926/0.0654498469497708-903.503751814138/4.0) - -variable dt equal ${tcol}*0.05 -variable dt equal 0.00210943016014969*0.05 -timestep ${dt} -timestep 0.000105471508007485 - -############################################### -variable dumpfreq equal 1000 -variable logfreq equal 1000 - -newton off -atom_style sphere - -boundary p p f - -region boxreg block ${xlo} ${xhi} ${ylo} ${yhi} ${zlo} ${zhi} -region boxreg block 10 ${xhi} ${ylo} ${yhi} ${zlo} ${zhi} -region boxreg block 10 40 ${ylo} ${yhi} ${zlo} ${zhi} -region boxreg block 10 40 10 ${yhi} ${zlo} ${zhi} -region boxreg block 10 40 10 40 ${zlo} ${zhi} -region boxreg block 10 40 10 40 -20 ${zhi} -region boxreg block 10 40 10 40 -20 50 -create_box 1 boxreg -Created orthogonal box = (10 10 -20) to (40 40 50) - 1 by 1 by 4 MPI processor grid - -pair_style gran/hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 -pair_style gran/hertz/history 72592.5925925926 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 -pair_style gran/hertz/history 72592.5925925926 90740.7407407408 ${gamma_n} ${gamma_t} ${coeffFric} 1 -pair_style gran/hertz/history 72592.5925925926 90740.7407407408 903.503751814138 ${gamma_t} ${coeffFric} 1 -pair_style gran/hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 ${coeffFric} 1 -pair_style gran/hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 0.5 1 -pair_coeff * * - -neighbor ${skin} bin -neighbor 0.5 bin -thermo ${logfreq} -thermo 1000 - -comm_style brick -comm_modify mode multi group all vel yes -balance 1.1 shift xyz 20 1.1 -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 0 - ghost atom cutoff = 0 - binsize = 30, bins = 1 1 3 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair gran/hertz/history, perpetual - attributes: half, newton off, size, history - pair build: half/size/bin/newtoff - stencil: half/bin/3d/newtoff - bin: standard -fix bal all balance 10000 1.1 shift xyz 20 1.01 - -####################### Options specific to pouring ######################### - -# insertion region for fix/pour - -region insreg cylinder z ${xc} ${yc} 10 30 50 side in units box -region insreg cylinder z 25 ${yc} 10 30 50 side in units box -region insreg cylinder z 25 25 10 30 50 side in units box - -# define cone and cylinder regions - see lammps doc on region command -# note new open options - -region cylreg cylinder z ${xc} ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 2 #Top is open -region cylreg cylinder z 25 ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 2 -region cylreg cylinder z 25 25 ${radconelo} ${zcyllo} ${zconelo} side in units box open 2 -region cylreg cylinder z 25 25 2 ${zcyllo} ${zconelo} side in units box open 2 -region cylreg cylinder z 25 25 2 0 ${zconelo} side in units box open 2 -region cylreg cylinder z 25 25 2 0 10 side in units box open 2 - -region conereg cone z ${xc} ${yc} ${radconelo} ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2 #Bottom and top are open -region conereg cone z 25 ${yc} ${radconelo} ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2 -region conereg cone z 25 25 ${radconelo} ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2 -region conereg cone z 25 25 2 ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2 -region conereg cone z 25 25 2 20 ${zconelo} ${zconehi} side in units box open 1 open 2 -region conereg cone z 25 25 2 20 10 ${zconehi} side in units box open 1 open 2 -region conereg cone z 25 25 2 20 10 50 side in units box open 1 open 2 - -region hopreg union 2 conereg cylreg - -fix grav all gravity ${gravity} vector 0 0 -1 -fix grav all gravity 1 vector 0 0 -1 -fix 1 all nve/sphere - - -fix hopper3 all wall/gran/region hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 ${gamma_t} ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 0.5 1 region hopreg - -fix ins all pour 2000 1 42424 region insreg diam range ${dlo} ${dhi} dens ${density} ${density} -fix ins all pour 2000 1 42424 region insreg diam range 0.5 ${dhi} dens ${density} ${density} -fix ins all pour 2000 1 42424 region insreg diam range 0.5 1 dens ${density} ${density} -fix ins all pour 2000 1 42424 region insreg diam range 0.5 1 dens 1 ${density} -fix ins all pour 2000 1 42424 region insreg diam range 0.5 1 dens 1 1 -Particle insertion: 3000 every 59965 steps, 2000 by step 1 - -#dump 1 all custom ${dumpfreq} ${name}.dump # id type mass diameter x y z - -#dump 2 all image 4000 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 zoom 3.0 # box no 0.0 axes no 0.0 0.0 -#dump_modify 2 pad 6 - -thermo_style custom step cpu atoms ke -WARNING: New thermo_style command, previous thermo_modify settings will be lost (src/output.cpp:705) -thermo_modify flush yes lost warn - -# Initial run to fill up the cone - -run 20000 -Per MPI rank memory allocation (min/avg/max) = 6.05 | 6.05 | 6.05 Mbytes -Step CPU Atoms KinEng - 0 0 0 -0 - 1000 0.63366675 2000 -0 - 2000 1.0221362 2000 -0 - 3000 1.3905275 2000 -0 - 4000 1.7514329 2000 -0 - 5000 2.1040537 2000 -0 - 6000 2.4468088 2000 -0 - 7000 2.7853072 2000 -0 - 8000 3.1109948 2000 -0 - 9000 3.4281557 2000 -0 - 10000 3.7435207 2000 -0 - 11000 3.8612552 2000 -0 - 12000 3.9786677 2000 -0 - 13000 4.0988154 2000 -0 - 14000 4.2249811 2000 -0 - 15000 4.3562138 2000 -0 - 16000 4.4940333 2000 -0 - 17000 4.6394637 2000 -0 - 18000 4.7909062 2000 -0 - 19000 4.9482198 2000 -0 - 20000 5.1116607 2000 -0 -Loop time of 5.11176 on 4 procs for 20000 steps with 2000 atoms - -97.4% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.050997 | 0.14884 | 0.36048 | 32.0 | 2.91 -Neigh | 0.01374 | 0.025199 | 0.043743 | 7.0 | 0.49 -Comm | 0.063387 | 0.1781 | 0.29748 | 22.6 | 3.48 -Output | 0.0016627 | 0.0060938 | 0.015082 | 6.8 | 0.12 -Modify | 1.1198 | 1.987 | 3.7195 | 72.6 | 38.87 -Other | | 2.767 | | | 54.12 - -Nlocal: 500 ave 505 max 493 min -Histogram: 1 0 0 0 0 1 0 1 0 1 -Nghost: 159.25 ave 254 max 71 min -Histogram: 1 0 0 1 0 1 0 0 0 1 -Neighs: 397.5 ave 616 max 214 min -Histogram: 1 0 1 0 0 0 1 0 0 1 - -Total # of neighbors = 1590 -Ave neighs/atom = 0.795 -Neighbor list builds = 69 -Dangerous builds = 0 -unfix ins -run 150000 -Per MPI rank memory allocation (min/avg/max) = 12.37 | 12.51 | 12.7 Mbytes -Step CPU Atoms KinEng - 20000 0 2000 6443.7665 - 21000 0.11261106 2000 6572.3531 - 22000 0.23091817 2000 6723.8376 - 23000 0.35577631 2000 6853.1812 - 24000 0.48790455 2000 6976.0209 - 25000 0.63509274 2000 7096.9955 - 26000 0.78251743 2000 7215.5795 - 27000 0.93707466 2000 7349.2382 - 28000 1.1032445 2000 7471.8719 - 29000 1.2721858 2000 7574.8228 - 30000 1.449265 2000 7659.3836 - 31000 1.5742557 2000 7703.6856 - 32000 1.7076068 2000 7644.279 - 33000 1.8527873 2000 7526.6944 - 34000 2.009855 2000 7370.0821 - 35000 2.1766446 2000 7193.0459 - 36000 2.3557482 2000 6990.9912 - 37000 2.5468907 2000 6849.286 - 38000 2.7480681 2000 6701.7548 - 39000 2.9574037 2000 6538.6915 - 40000 3.1807711 2000 6382.3209 - 41000 3.3486595 2000 6216.424 - 42000 3.5162592 2000 6091.29 - 43000 3.687057 2000 5945.3256 - 44000 3.8662596 2000 5840.875 - 45000 4.0557241 2000 5649.763 - 46000 4.2541051 2000 5476.2837 - 47000 4.4571214 2000 5277.0701 - 48000 4.6628008 2000 5123.9796 - 49000 4.8686502 2000 4968.3344 - 50000 5.0788848 2000 4869.5754 - 51000 5.2552598 2000 4704.8517 - 52000 5.4428713 2000 4522.8978 - 53000 5.6520596 2000 4393.8047 - 54000 5.8613031 2000 4235.438 - 55000 6.0776098 2000 4082.3073 - 56000 6.2998042 2000 3901.0483 - 57000 6.5321434 2000 3718.0882 - 58000 6.7745438 2000 3504.621 - 59000 7.0237701 2000 3285.7484 - 60000 7.2791855 2000 3047.3386 - 61000 7.489058 2000 2875.4032 - 62000 7.7044094 2000 2647.83 - 63000 7.9194827 2000 2396.5343 - 64000 8.1429474 2000 2107.2113 - 65000 8.3745618 2000 1858.1977 - 66000 8.610673 2000 1615.8096 - 67000 8.8505244 2000 1416.5065 - 68000 9.0955915 2000 1206.8534 - 69000 9.3609676 2000 953.93974 - 70000 9.6382594 2000 766.9148 - 71000 9.8719468 2000 611.45063 - 72000 10.095534 2000 464.94805 - 73000 10.317962 2000 364.31415 - 74000 10.547287 2000 298.77524 - 75000 10.764052 2000 245.73022 - 76000 10.978769 2000 207.8035 - 77000 11.199921 2000 179.1305 - 78000 11.410296 2000 151.21032 - 79000 11.624499 2000 124.49675 - 80000 11.849562 2000 106.71504 - 81000 12.077449 2000 93.299034 - 82000 12.306904 2000 81.220408 - 83000 12.539016 2000 67.383955 - 84000 12.773108 2000 57.287165 - 85000 13.009487 2000 49.255887 - 86000 13.252544 2000 44.082536 - 87000 13.502564 2000 40.193574 - 88000 13.747198 2000 36.903867 - 89000 13.993028 2000 33.55332 - 90000 14.240036 2000 30.730912 - 91000 14.472719 2000 28.650574 - 92000 14.708542 2000 26.377609 - 93000 14.948106 2000 24.433165 - 94000 15.186653 2000 22.933076 - 95000 15.428022 2000 22.31788 - 96000 15.676323 2000 20.829124 - 97000 15.916326 2000 19.401354 - 98000 16.160197 2000 18.943699 - 99000 16.404796 2000 17.690599 - 100000 16.659731 2000 17.215943 - 101000 16.904498 2000 15.948087 - 102000 17.150993 2000 15.140324 - 103000 17.39584 2000 14.885674 - 104000 17.643707 2000 14.414752 - 105000 17.889343 2000 14.270676 - 106000 18.136159 2000 13.943799 - 107000 18.383653 2000 13.840145 - 108000 18.630952 2000 12.826341 - 109000 18.878218 2000 12.209012 - 110000 19.125558 2000 11.916194 - 111000 19.3726 2000 11.970849 - 112000 19.621494 2000 11.56909 - 113000 19.869978 2000 11.390562 - 114000 20.123402 2000 11.276545 - 115000 20.370963 2000 11.171298 - 116000 20.619975 2000 11.686225 - 117000 20.869585 2000 11.379805 - 118000 21.118875 2000 10.539511 - 119000 21.36837 2000 10.064595 - 120000 21.629511 2000 10.003722 - 121000 21.877867 2000 9.6974586 - 122000 22.127922 2000 9.7156209 - 123000 22.378215 2000 9.615256 - 124000 22.630463 2000 8.8979008 - 125000 22.882154 2000 8.2220003 - 126000 23.135763 2000 8.3153866 - 127000 23.392389 2000 8.0945497 - 128000 23.645521 2000 7.8942467 - 129000 23.89965 2000 7.4794776 - 130000 24.153195 2000 7.3635341 - 131000 24.406239 2000 7.5757743 - 132000 24.66016 2000 7.7047492 - 133000 24.914093 2000 8.0142133 - 134000 25.173429 2000 8.1716714 - 135000 25.433318 2000 7.7803343 - 136000 25.692997 2000 6.3545482 - 137000 25.947787 2000 6.313769 - 138000 26.200427 2000 6.4948596 - 139000 26.452514 2000 6.6183259 - 140000 26.714963 2000 6.7922281 - 141000 26.968235 2000 7.0752448 - 142000 27.220962 2000 7.2328717 - 143000 27.474819 2000 7.626453 - 144000 27.728029 2000 7.4576787 - 145000 27.981958 2000 7.124435 - 146000 28.236591 2000 7.2581589 - 147000 28.489842 2000 7.0622049 - 148000 28.744432 2000 7.1672801 - 149000 28.998739 2000 7.3248363 - 150000 29.253511 2000 7.0092266 - 151000 29.50567 2000 6.8124438 - 152000 29.759836 2000 6.9808705 - 153000 30.015359 2000 7.1516731 - 154000 30.275488 2000 6.6245443 - 155000 30.533407 2000 5.5867165 - 156000 30.788683 2000 5.318949 - 157000 31.043126 2000 5.1195805 - 158000 31.297011 2000 5.2045485 - 159000 31.551327 2000 5.24992 - 160000 31.807728 2000 5.3270577 - 161000 32.061371 2000 4.995281 - 162000 32.315467 2000 5.0755874 - 163000 32.57628 2000 5.0788135 - 164000 32.83119 2000 4.5917317 - 165000 33.085634 2000 4.6255452 - 166000 33.344148 2000 4.2563299 - 167000 33.599342 2000 3.3808566 - 168000 33.853488 2000 3.218931 - 169000 34.121464 2000 3.0839289 - 170000 34.378727 2000 3.0358838 -Loop time of 34.3788 on 4 procs for 150000 steps with 2000 atoms - -98.5% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 6.5861 | 10.058 | 12.152 | 68.4 | 29.26 -Neigh | 0.17612 | 0.25274 | 0.30005 | 9.2 | 0.74 -Comm | 1.5024 | 2.6626 | 3.4174 | 44.9 | 7.74 -Output | 0.006542 | 0.019532 | 0.046425 | 11.5 | 0.06 -Modify | 11.945 | 14.674 | 16.29 | 42.7 | 42.68 -Other | | 6.711 | | | 19.52 - -Nlocal: 500 ave 508 max 489 min -Histogram: 1 0 0 1 0 0 0 0 0 2 -Nghost: 446.75 ave 708 max 191 min -Histogram: 1 0 0 1 0 1 0 0 0 1 -Neighs: 4498 ave 5441 max 3786 min -Histogram: 1 1 0 0 0 0 1 0 0 1 - -Total # of neighbors = 17992 -Ave neighs/atom = 8.996 -Neighbor list builds = 403 -Dangerous builds = 0 - -# remove "plug" - need to redefine cylinder region & union - -region cylreg delete -region hopreg delete -region cylreg cylinder z ${xc} ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 1 open 2 #Bottom & top are open -region cylreg cylinder z 25 ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 1 open 2 -region cylreg cylinder z 25 25 ${radconelo} ${zcyllo} ${zconelo} side in units box open 1 open 2 -region cylreg cylinder z 25 25 2 ${zcyllo} ${zconelo} side in units box open 1 open 2 -region cylreg cylinder z 25 25 2 0 ${zconelo} side in units box open 1 open 2 -region cylreg cylinder z 25 25 2 0 10 side in units box open 1 open 2 - -region hopreg union 2 cylreg conereg - -unfix hopper3 -fix hopper3 all wall/gran/region hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 ${gamma_t} ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 0.5 1 region hopreg - -run 100000 -Per MPI rank memory allocation (min/avg/max) = 13.68 | 15.35 | 16.59 Mbytes -Step CPU Atoms KinEng - 170000 0 2000 3.0358838 - 171000 0.25455499 2000 3.7725185 - 172000 0.50768304 2000 4.727285 - 173000 0.76122355 2000 5.9840449 - 174000 1.0141416 2000 8.0335022 - 175000 1.2750733 2000 10.177259 - 176000 1.5277736 2000 13.655163 - 177000 1.7810826 2000 17.987975 - 178000 2.0348532 2000 23.266471 - 179000 2.2915859 2000 29.266364 - 180000 2.547174 2000 35.84089 - 181000 2.8009758 2000 43.130989 - 182000 3.0531759 2000 51.177142 - 183000 3.3130636 2000 60.031831 - 184000 3.5651338 2000 69.52374 - 185000 3.8185399 2000 79.941907 - 186000 4.070199 2000 91.195382 - 187000 4.3204038 2000 102.1696 - 188000 4.5699775 2000 112.73657 - 189000 4.8184452 2000 123.57252 - 190000 5.0653601 2000 135.59942 - 191000 5.3119307 2000 147.37757 - 192000 5.5574484 2000 159.12931 - 193000 5.8029084 2000 170.90271 - 194000 6.0463562 2000 185.71189 - 195000 6.2883332 2000 201.83733 - 196000 6.5281694 2000 218.30785 - 197000 6.7682493 2000 236.05694 - 198000 7.0084231 2000 255.23099 - 199000 7.2519951 2000 273.94566 - 200000 7.5010133 2000 293.91107 - 201000 7.7396591 2000 316.52142 - 202000 7.9784184 2000 340.91391 - 203000 8.224021 2000 364.81801 - 204000 8.4597676 2000 390.06478 - 205000 8.6934731 2000 415.90918 - 206000 8.9342225 2000 441.0995 - 207000 9.1714027 2000 467.40314 - 208000 9.4081488 2000 494.93631 - 209000 9.6457636 2000 524.70539 - 210000 9.8831718 2000 556.52058 - 211000 10.118018 2000 589.36821 - 212000 10.3541 2000 622.6887 - 213000 10.587226 2000 657.05888 - 214000 10.820744 2000 691.14292 - 215000 11.055785 2000 726.94959 - 216000 11.298702 2000 762.92802 - 217000 11.534793 2000 801.23648 - 218000 11.769849 2000 841.1559 - 219000 12.000917 2000 882.4342 - 220000 12.232812 2000 924.8466 - 221000 12.461166 2000 968.86229 - 222000 12.698451 2000 1013.1381 - 223000 12.930287 2000 1058.2988 - 224000 13.172862 2000 1105.2911 - 225000 13.405001 2000 1152.8617 - 226000 13.633187 1999 1197.6777 - 227000 13.857126 1998 1243.1211 - 228000 14.079622 1992 1262.1402 - 229000 14.303362 1987 1281.9162 - 230000 14.530392 1973 1264.0674 - 231000 14.756486 1964 1277.8347 - 232000 14.984495 1953 1266.7926 - 233000 15.213102 1940 1244.0038 - 234000 15.441666 1925 1206.4472 - 235000 15.667547 1914 1193.33 - 236000 15.895047 1901 1160.4096 - 237000 16.120833 1890 1141.6816 - 238000 16.346628 1883 1149.1584 - 239000 16.573303 1877 1141.7514 - 240000 16.801035 1871 1146.8662 - 241000 17.024775 1866 1152.561 - 242000 17.248651 1858 1148.2529 - 243000 17.47241 1847 1114.7239 - 244000 17.70222 1832 1070.9996 - 245000 17.926477 1824 1066.7549 - 246000 18.157588 1813 1027.1865 - 247000 18.378868 1804 1011.5024 - 248000 18.599988 1797 993.10451 - 249000 18.819007 1787 951.89778 - 250000 19.044634 1777 926.30475 - 251000 19.254408 1764 875.07091 - 252000 19.465788 1755 824.89358 - 253000 19.676327 1742 742.51957 - 254000 19.887648 1731 708.30958 - 255000 20.094912 1722 690.09761 - 256000 20.299963 1713 638.00218 - 257000 20.506153 1705 596.86839 - 258000 20.713994 1701 583.71937 - 259000 20.919755 1691 549.0049 - 260000 21.123122 1688 549.4278 - 261000 21.332215 1684 535.35719 - 262000 21.533673 1682 546.74031 - 263000 21.737042 1678 532.69324 - 264000 21.941306 1676 537.89254 - 265000 22.15135 1676 559.50898 - 266000 22.358371 1670 540.21452 - 267000 22.563236 1668 557.19857 - 268000 22.764648 1665 569.52869 - 269000 22.96391 1658 543.77057 - 270000 23.172415 1656 550.23716 -Loop time of 23.1725 on 4 procs for 100000 steps with 1656 atoms - -98.5% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 3.3849 | 7.3002 | 10.192 | 91.3 | 31.50 -Neigh | 0.14271 | 0.16781 | 0.19054 | 4.5 | 0.72 -Comm | 1.086 | 1.9721 | 2.6157 | 42.7 | 8.51 -Output | 0.0018437 | 0.013918 | 0.041359 | 13.5 | 0.06 -Modify | 8.6598 | 9.3198 | 9.8874 | 16.6 | 40.22 -Other | | 4.399 | | | 18.98 - -Nlocal: 414 ave 454 max 385 min -Histogram: 2 0 0 0 0 0 1 0 0 1 -Nghost: 395.25 ave 645 max 157 min -Histogram: 1 0 0 1 0 1 0 0 0 1 -Neighs: 3498.5 ave 4524 max 2034 min -Histogram: 1 0 0 0 1 0 0 0 0 2 - -Total # of neighbors = 13994 -Ave neighs/atom = 8.45048 -Neighbor list builds = 240 -Dangerous builds = 0 -Total wall time: 0:01:02 diff --git a/examples/granregion/log.27Nov18.granregion.mixer.g++.1 b/examples/granregion/log.27Nov18.granregion.mixer.g++.1 deleted file mode 100644 index f2ba9d7122..0000000000 --- a/examples/granregion/log.27Nov18.granregion.mixer.g++.1 +++ /dev/null @@ -1,602 +0,0 @@ -LAMMPS (27 Nov 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task -variable name string mixer - -thermo_modify flush yes -variable seed equal 14314 - -############################################### -# Particle parameters -################################################ - -variable rlo equal 0.3 -variable rhi equal 0.6 -variable dlo equal 2.0*${rlo} -variable dlo equal 2.0*0.3 -variable dhi equal 2.0*${rhi} -variable dhi equal 2.0*0.6 -variable skin equal ${rhi} -variable skin equal 0.6 - -variable coeffRes equal 0.1 -variable coeffFric equal 0.5 - -variable kn equal 10^5 -variable kt equal 0.2*${kn} -variable kt equal 0.2*100000 - -variable gravity equal 1.0 -variable density equal 1.0 - -variable min_mass equal ${density}*4.0/3.0*PI*${rlo}*${rlo}*${rlo} -variable min_mass equal 1*4.0/3.0*PI*${rlo}*${rlo}*${rlo} -variable min_mass equal 1*4.0/3.0*PI*0.3*${rlo}*${rlo} -variable min_mass equal 1*4.0/3.0*PI*0.3*0.3*${rlo} -variable min_mass equal 1*4.0/3.0*PI*0.3*0.3*0.3 -variable a equal (-2.0*log(${coeffRes})/PI)^2 -variable a equal (-2.0*log(0.1)/PI)^2 -variable gamma_n equal sqrt($a*2*${kn}/${min_mass}/(1+0.25*$a)) -variable gamma_n equal sqrt(0.405284734569351*2*${kn}/${min_mass}/(1+0.25*$a)) -variable gamma_n equal sqrt(0.405284734569351*2*100000/${min_mass}/(1+0.25*$a)) -variable gamma_n equal sqrt(0.405284734569351*2*100000/0.113097335529233/(1+0.25*$a)) -variable gamma_n equal sqrt(0.405284734569351*2*100000/0.113097335529233/(1+0.25*0.405284734569351)) -variable gamma_t equal ${gamma_n}*0.5 -variable gamma_t equal 806.699778405191*0.5 - -variable tcol equal PI/sqrt(2*${kn}/${min_mass}-${gamma_n}/4.0) -variable tcol equal PI/sqrt(2*100000/${min_mass}-${gamma_n}/4.0) -variable tcol equal PI/sqrt(2*100000/0.113097335529233-${gamma_n}/4.0) -variable tcol equal PI/sqrt(2*100000/0.113097335529233-806.699778405191/4.0) - -variable dt equal ${tcol}*0.02 -variable dt equal 0.00236257621510454*0.02 -timestep ${dt} -timestep 4.72515243020908e-05 - -############################################### - -variable dumpfreq equal 1000 -variable logfreq equal 1000 - -newton on -atom_style sphere - -boundary p p f - -region boxreg block 0 20 0 20 0 20 -create_box 1 boxreg -Created orthogonal box = (0 0 0) to (20 20 20) - 1 by 1 by 1 MPI processor grid - -pair_style gran/hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 -pair_style gran/hertz/history 100000 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 -pair_style gran/hertz/history 100000 20000 ${gamma_n} ${gamma_t} ${coeffFric} 1 -pair_style gran/hertz/history 100000 20000 806.699778405191 ${gamma_t} ${coeffFric} 1 -pair_style gran/hertz/history 100000 20000 806.699778405191 403.349889202595 ${coeffFric} 1 -pair_style gran/hertz/history 100000 20000 806.699778405191 403.349889202595 0.5 1 -pair_coeff * * - -neighbor ${skin} bin -neighbor 0.6 bin -thermo ${logfreq} -thermo 1000 - -comm_style brick -comm_modify mode multi group all vel yes -balance 1.1 shift xyz 20 1.1 -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 0 - ghost atom cutoff = 0 - binsize = 20, bins = 1 1 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair gran/hertz/history, perpetual - attributes: half, newton on, size, history - pair build: half/size/bin/newton - stencil: half/bin/3d/newton - bin: standard -fix bal all balance 10000 1.1 shift xyz 20 1.01 - -####################### Options specific to pouring ######################### - -region insreg cylinder z 10 10 8 10 18 side in units box -region cylreg cylinder z 10 10 10 0 20 side in units box - -variable theta equal (step/400000)*2*PI - -region b1 block 2 18 9 11 0 4 side out rotate v_theta 10 10 0 0 0 1 units box -region b2 block 9 11 2 18 0 3.99999 side out rotate v_theta 10 10 0 0 0 1 units box - -region mixer intersect 3 cylreg b1 b2 side in - -fix grav all gravity ${gravity} vector 0 0 -1 -fix grav all gravity 1 vector 0 0 -1 -fix 1 all nve/sphere - -fix mixwall all wall/gran/region hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region mixer -fix mixwall all wall/gran/region hertz/history 100000 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region mixer -fix mixwall all wall/gran/region hertz/history 100000 20000 ${gamma_n} ${gamma_t} ${coeffFric} 1 region mixer -fix mixwall all wall/gran/region hertz/history 100000 20000 806.699778405191 ${gamma_t} ${coeffFric} 1 region mixer -fix mixwall all wall/gran/region hertz/history 100000 20000 806.699778405191 403.349889202595 ${coeffFric} 1 region mixer -fix mixwall all wall/gran/region hertz/history 100000 20000 806.699778405191 403.349889202595 0.5 1 region mixer - -fix ins all pour 1000 1 42424 region insreg diam range ${dlo} ${dhi} dens ${density} ${density} -fix ins all pour 1000 1 42424 region insreg diam range 0.6 ${dhi} dens ${density} ${density} -fix ins all pour 1000 1 42424 region insreg diam range 0.6 1.2 dens ${density} ${density} -fix ins all pour 1000 1 42424 region insreg diam range 0.6 1.2 dens 1 ${density} -fix ins all pour 1000 1 42424 region insreg diam range 0.6 1.2 dens 1 1 -Particle insertion: 444 every 84653 steps, 1000 by step 169307 - -#dump 1 all custom ${dumpfreq} ${name}_pour.dump # id type mass diameter x y z - -#dump 2 all image 4000 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 zoom 1.5 # box no 0.0 axes no 0.0 0.0 -#dump_modify 2 pad 6 - -thermo_style custom step cpu atoms ke v_theta -WARNING: New thermo_style command, previous thermo_modify settings will be lost (src/output.cpp:705) -thermo_modify flush yes lost warn - -run 200000 -Per MPI rank memory allocation (min/avg/max) = 5.862 | 5.862 | 5.862 Mbytes -Step CPU Atoms KinEng v_theta - 0 0 0 -0 0 - 1000 0.15327144 444 -0 0.015707963 - 2000 0.30070925 444 -0 0.031415927 - 3000 0.44653535 444 -0 0.04712389 - 4000 0.59226131 444 -0 0.062831853 - 5000 0.73794818 444 -0 0.078539816 - 6000 0.88327622 444 -0 0.09424778 - 7000 1.0286083 444 -0 0.10995574 - 8000 1.1740625 444 -0 0.12566371 - 9000 1.3224797 444 -0 0.14137167 - 10000 1.4717772 444 -0 0.15707963 - 11000 1.6204555 444 -0 0.1727876 - 12000 1.7690799 444 -0 0.18849556 - 13000 1.918304 444 -0 0.20420352 - 14000 2.0670426 444 -0 0.21991149 - 15000 2.2157068 444 -0 0.23561945 - 16000 2.3642888 444 -0 0.25132741 - 17000 2.5129776 444 -0 0.26703538 - 18000 2.6614521 444 -0 0.28274334 - 19000 2.8100598 444 -0 0.2984513 - 20000 2.9591351 444 -0 0.31415927 - 21000 3.1073661 444 -0 0.32986723 - 22000 3.2557554 444 -0 0.34557519 - 23000 3.4041324 444 -0 0.36128316 - 24000 3.5526814 444 -0 0.37699112 - 25000 3.700824 444 -0 0.39269908 - 26000 3.8496137 444 -0 0.40840704 - 27000 3.9986103 444 -0 0.42411501 - 28000 4.1475384 444 -0 0.43982297 - 29000 4.2963772 444 -0 0.45553093 - 30000 4.4454341 444 -0 0.4712389 - 31000 4.5942066 444 -0 0.48694686 - 32000 4.7434044 444 -0 0.50265482 - 33000 4.893549 444 -0 0.51836279 - 34000 5.0427935 444 -0 0.53407075 - 35000 5.1920972 444 -0 0.54977871 - 36000 5.3411844 444 -0 0.56548668 - 37000 5.4904606 444 -0 0.58119464 - 38000 5.6397707 444 -0 0.5969026 - 39000 5.7900345 444 -0 0.61261057 - 40000 5.9405882 444 -0 0.62831853 - 41000 6.089345 444 -0 0.64402649 - 42000 6.2388933 444 -0 0.65973446 - 43000 6.3888056 444 -0 0.67544242 - 44000 6.5379841 444 -0 0.69115038 - 45000 6.6875141 444 -0 0.70685835 - 46000 6.8370855 444 -0 0.72256631 - 47000 6.9866009 444 -0 0.73827427 - 48000 7.1364653 444 -0 0.75398224 - 49000 7.2859883 444 -0 0.7696902 - 50000 7.4368248 444 -0 0.78539816 - 51000 7.5870779 444 -0 0.80110613 - 52000 7.7370813 444 -0 0.81681409 - 53000 7.8879561 444 -0 0.83252205 - 54000 8.0383027 444 -0 0.84823002 - 55000 8.1916294 444 -0 0.86393798 - 56000 8.3458471 444 -0 0.87964594 - 57000 8.5010631 444 -0 0.89535391 - 58000 8.6560545 444 -0 0.91106187 - 59000 8.8110209 444 -0 0.92676983 - 60000 8.9674675 444 -0 0.9424778 - 61000 9.1231239 444 -0 0.95818576 - 62000 9.2785382 444 -0 0.97389372 - 63000 9.4343674 444 -0 0.98960169 - 64000 9.5911541 444 -0 1.0053096 - 65000 9.7477772 444 -0 1.0210176 - 66000 9.9050307 444 -0 1.0367256 - 67000 10.063978 444 -0 1.0524335 - 68000 10.221835 444 -0 1.0681415 - 69000 10.37944 444 -0 1.0838495 - 70000 10.537409 444 -0 1.0995574 - 71000 10.695649 444 -0 1.1152654 - 72000 10.85453 444 -0 1.1309734 - 73000 11.013438 444 -0 1.1466813 - 74000 11.172689 444 -0 1.1623893 - 75000 11.332172 444 -0 1.1780972 - 76000 11.492824 444 -0 1.1938052 - 77000 11.653915 444 -0 1.2095132 - 78000 11.815798 444 -0 1.2252211 - 79000 11.97868 444 -0 1.2409291 - 80000 12.141392 444 -0 1.2566371 - 81000 12.30536 444 -0 1.272345 - 82000 12.468797 444 -0 1.288053 - 83000 12.633028 444 -0 1.303761 - 84000 12.797936 444 -0 1.3194689 - 85000 13.019726 888 -0 1.3351769 - 86000 13.333436 888 -0 1.3508848 - 87000 13.648179 888 -0 1.3665928 - 88000 13.962435 888 -0 1.3823008 - 89000 14.276158 888 -0 1.3980087 - 90000 14.590669 888 -0 1.4137167 - 91000 14.904268 888 -0 1.4294247 - 92000 15.216788 888 -0 1.4451326 - 93000 15.529868 888 -0 1.4608406 - 94000 15.843157 888 -0 1.4765485 - 95000 16.156564 888 -0 1.4922565 - 96000 16.469569 888 -0 1.5079645 - 97000 16.784048 888 -0 1.5236724 - 98000 17.100451 888 -0 1.5393804 - 99000 17.416338 888 -0 1.5550884 - 100000 17.733482 888 -0 1.5707963 - 101000 18.052522 888 -0 1.5865043 - 102000 18.371428 888 -0 1.6022123 - 103000 18.690222 888 -0 1.6179202 - 104000 19.009665 888 -0 1.6336282 - 105000 19.328189 888 -0 1.6493361 - 106000 19.647804 888 -0 1.6650441 - 107000 19.96805 888 -0 1.6807521 - 108000 20.286857 888 -0 1.69646 - 109000 20.607965 888 -0 1.712168 - 110000 20.931749 888 -0 1.727876 - 111000 21.251903 888 -0 1.7435839 - 112000 21.572158 888 -0 1.7592919 - 113000 21.892612 888 -0 1.7749998 - 114000 22.214408 888 -0 1.7907078 - 115000 22.535498 888 -0 1.8064158 - 116000 22.856752 888 -0 1.8221237 - 117000 23.178885 888 -0 1.8378317 - 118000 23.501127 888 -0 1.8535397 - 119000 23.8241 888 -0 1.8692476 - 120000 24.147258 888 -0 1.8849556 - 121000 24.472969 888 -0 1.9006636 - 122000 24.799108 888 -0 1.9163715 - 123000 25.125275 888 -0 1.9320795 - 124000 25.453866 888 -0 1.9477874 - 125000 25.784766 888 -0 1.9634954 - 126000 26.117013 888 -0 1.9792034 - 127000 26.448734 888 -0 1.9949113 - 128000 26.780032 888 -0 2.0106193 - 129000 27.113678 888 -0 2.0263273 - 130000 27.450001 888 -0 2.0420352 - 131000 27.782047 888 -0 2.0577432 - 132000 28.114287 888 -0 2.0734512 - 133000 28.446648 888 -0 2.0891591 - 134000 28.780438 888 -0 2.1048671 - 135000 29.116443 888 -0 2.120575 - 136000 29.451848 888 -0 2.136283 - 137000 29.787778 888 -0 2.151991 - 138000 30.12804 888 -0 2.1676989 - 139000 30.46814 888 -0 2.1834069 - 140000 30.808946 888 -0 2.1991149 - 141000 31.147584 888 -0 2.2148228 - 142000 31.486475 888 -0 2.2305308 - 143000 31.826754 888 -0 2.2462387 - 144000 32.165796 888 -0 2.2619467 - 145000 32.506074 888 -0 2.2776547 - 146000 32.847604 888 -0 2.2933626 - 147000 33.188988 888 -0 2.3090706 - 148000 33.532869 888 -0 2.3247786 - 149000 33.876629 888 -0 2.3404865 - 150000 34.221172 888 -0 2.3561945 - 151000 34.562559 888 -0 2.3719025 - 152000 34.904679 888 -0 2.3876104 - 153000 35.247727 888 -0 2.4033184 - 154000 35.591228 888 -0 2.4190263 - 155000 35.949192 888 -0 2.4347343 - 156000 36.320157 888 -0 2.4504423 - 157000 36.693571 888 -0 2.4661502 - 158000 37.069463 888 -0 2.4818582 - 159000 37.44221 888 -0 2.4975662 - 160000 37.81863 888 -0 2.5132741 - 161000 38.195121 888 -0 2.5289821 - 162000 38.573424 888 -0 2.54469 - 163000 38.950044 888 -0 2.560398 - 164000 39.331977 888 -0 2.576106 - 165000 39.714367 888 -0 2.5918139 - 166000 40.097099 888 -0 2.6075219 - 167000 40.477443 888 -0 2.6232299 - 168000 40.860404 888 -0 2.6389378 - 169000 41.244357 888 -0 2.6546458 - 170000 41.658126 1000 -0 2.6703538 - 171000 42.082517 1000 -0 2.6860617 - 172000 42.507502 1000 -0 2.7017697 - 173000 42.93363 1000 -0 2.7174776 - 174000 43.361133 1000 -0 2.7331856 - 175000 43.792381 1000 -0 2.7488936 - 176000 44.223827 1000 -0 2.7646015 - 177000 44.656581 1000 -0 2.7803095 - 178000 45.087615 1000 -0 2.7960175 - 179000 45.521129 1000 -0 2.8117254 - 180000 45.957808 1000 -0 2.8274334 - 181000 46.391451 1000 -0 2.8431414 - 182000 46.825486 1000 -0 2.8588493 - 183000 47.26091 1000 -0 2.8745573 - 184000 47.694263 1000 -0 2.8902652 - 185000 48.123312 1000 -0 2.9059732 - 186000 48.554081 1000 -0 2.9216812 - 187000 48.982617 1000 -0 2.9373891 - 188000 49.414355 1000 -0 2.9530971 - 189000 49.84753 1000 -0 2.9688051 - 190000 50.284462 1000 -0 2.984513 - 191000 50.71899 1000 -0 3.000221 - 192000 51.157278 1000 -0 3.0159289 - 193000 51.586171 1000 -0 3.0316369 - 194000 52.011691 1000 -0 3.0473449 - 195000 52.437732 1000 -0 3.0630528 - 196000 52.863703 1000 -0 3.0787608 - 197000 53.290403 1000 -0 3.0944688 - 198000 53.7191 1000 -0 3.1101767 - 199000 54.147195 1000 -0 3.1258847 - 200000 54.575967 1000 -0 3.1415927 -Loop time of 54.576 on 1 procs for 200000 steps with 1000 atoms - -Performance: 14960.907 tau/day, 3664.615 timesteps/s -98.9% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 3.7989 | 3.7989 | 3.7989 | 0.0 | 6.96 -Neigh | 0.067629 | 0.067629 | 0.067629 | 0.0 | 0.12 -Comm | 0.63734 | 0.63734 | 0.63734 | 0.0 | 1.17 -Output | 0.0049303 | 0.0049303 | 0.0049303 | 0.0 | 0.01 -Modify | 49.1 | 49.1 | 49.1 | 0.0 | 89.97 -Other | | 0.9668 | | | 1.77 - -Nlocal: 1000 ave 1000 max 1000 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 196 ave 196 max 196 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 3910 ave 3910 max 3910 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 3910 -Ave neighs/atom = 3.91 -Neighbor list builds = 219 -Dangerous builds = 0 -unfix ins -run 200000 -Per MPI rank memory allocation (min/avg/max) = 12.65 | 12.65 | 12.65 Mbytes -Step CPU Atoms KinEng v_theta - 200000 0 1000 0.93873133 3.1415927 - 201000 0.4261198 1000 0.93239566 3.1573006 - 202000 0.84928846 1000 0.90333835 3.1730086 - 203000 1.2720087 1000 0.89351493 3.1887165 - 204000 1.6929317 1000 0.87648478 3.2044245 - 205000 2.114043 1000 0.86818482 3.2201325 - 206000 2.5357664 1000 0.86033251 3.2358404 - 207000 2.9579847 1000 0.85442625 3.2515484 - 208000 3.3812878 1000 0.8517451 3.2672564 - 209000 3.8124611 1000 0.84406987 3.2829643 - 210000 4.2440236 1000 0.83964642 3.2986723 - 211000 4.6781921 1000 0.82994066 3.3143802 - 212000 5.1116509 1000 0.82908369 3.3300882 - 213000 5.5468135 1000 0.83115482 3.3457962 - 214000 5.9802556 1000 0.82680518 3.3615041 - 215000 6.4107294 1000 0.8223909 3.3772121 - 216000 6.8419023 1000 0.81872537 3.3929201 - 217000 7.2763367 1000 0.82446065 3.408628 - 218000 7.7160695 1000 0.82278874 3.424336 - 219000 8.1540956 1000 0.83017397 3.440044 - 220000 8.5917952 1000 0.82232305 3.4557519 - 221000 9.0296218 1000 0.82584132 3.4714599 - 222000 9.4719794 1000 0.82143909 3.4871678 - 223000 9.9180939 1000 0.82925587 3.5028758 - 224000 10.361852 1000 0.84546265 3.5185838 - 225000 10.803539 1000 0.84436452 3.5342917 - 226000 11.248456 1000 0.84849375 3.5499997 - 227000 11.695092 1000 0.8409057 3.5657077 - 228000 12.136044 1000 0.83139305 3.5814156 - 229000 12.579807 1000 0.83098473 3.5971236 - 230000 13.02219 1000 0.81335147 3.6128316 - 231000 13.463863 1000 0.78946649 3.6285395 - 232000 13.906293 1000 0.78807613 3.6442475 - 233000 14.348807 1000 0.79086655 3.6599554 - 234000 14.793175 1000 0.79358862 3.6756634 - 235000 15.238316 1000 0.79444252 3.6913714 - 236000 15.683342 1000 0.79392156 3.7070793 - 237000 16.12611 1000 0.80416034 3.7227873 - 238000 16.5711 1000 0.80365093 3.7384953 - 239000 17.014355 1000 0.80860323 3.7542032 - 240000 17.454467 1000 0.80245788 3.7699112 - 241000 17.89162 1000 0.79602568 3.7856191 - 242000 18.330859 1000 0.79023692 3.8013271 - 243000 18.769301 1000 0.79066782 3.8170351 - 244000 19.211293 1000 0.77671368 3.832743 - 245000 19.651443 1000 0.77121874 3.848451 - 246000 20.092102 1000 0.74658977 3.864159 - 247000 20.532732 1000 0.73825017 3.8798669 - 248000 20.975646 1000 0.7187986 3.8955749 - 249000 21.418807 1000 0.71707058 3.9112829 - 250000 21.862497 1000 0.72983635 3.9269908 - 251000 22.311832 1000 0.7355358 3.9426988 - 252000 22.75883 1000 0.74427811 3.9584067 - 253000 23.203455 1000 0.74968093 3.9741147 - 254000 23.651472 1000 0.75350303 3.9898227 - 255000 24.102152 1000 0.75617916 4.0055306 - 256000 24.554236 1000 0.74949839 4.0212386 - 257000 25.008718 1000 0.73534118 4.0369466 - 258000 25.461913 1000 0.73761942 4.0526545 - 259000 25.916674 1000 0.75485851 4.0683625 - 260000 26.373941 1000 0.77147511 4.0840704 - 261000 26.832072 1000 0.76658917 4.0997784 - 262000 27.28741 1000 0.76441563 4.1154864 - 263000 27.742157 1000 0.74449444 4.1311943 - 264000 28.192718 1000 0.7403314 4.1469023 - 265000 28.642541 1000 0.74262656 4.1626103 - 266000 29.09406 1000 0.74117022 4.1783182 - 267000 29.547747 1000 0.73877643 4.1940262 - 268000 29.998243 1000 0.75062626 4.2097342 - 269000 30.449751 1000 0.74649396 4.2254421 - 270000 30.901232 1000 0.75371324 4.2411501 - 271000 31.354755 1000 0.75254842 4.256858 - 272000 31.810717 1000 0.74245946 4.272566 - 273000 32.265754 1000 0.73056023 4.288274 - 274000 32.719719 1000 0.72004393 4.3039819 - 275000 33.173929 1000 0.70665742 4.3196899 - 276000 33.628581 1000 0.69417262 4.3353979 - 277000 34.080936 1000 0.67343474 4.3511058 - 278000 34.532053 1000 0.66922758 4.3668138 - 279000 34.985569 1000 0.66239909 4.3825218 - 280000 35.443496 1000 0.66406486 4.3982297 - 281000 35.901536 1000 0.67123654 4.4139377 - 282000 36.357765 1000 0.67660885 4.4296456 - 283000 36.811956 1000 0.6809288 4.4453536 - 284000 37.266937 1000 0.69561154 4.4610616 - 285000 37.720866 1000 0.70874512 4.4767695 - 286000 38.177032 1000 0.72957833 4.4924775 - 287000 38.633109 1000 0.72891066 4.5081855 - 288000 39.086933 1000 0.72673285 4.5238934 - 289000 39.538699 1000 0.72583062 4.5396014 - 290000 39.991294 1000 0.7209406 4.5553093 - 291000 40.437987 1000 0.70642559 4.5710173 - 292000 40.885753 1000 0.69074151 4.5867253 - 293000 41.326601 1000 0.68041469 4.6024332 - 294000 41.763719 1000 0.6712034 4.6181412 - 295000 42.198532 1000 0.66140336 4.6338492 - 296000 42.635139 1000 0.65458145 4.6495571 - 297000 43.071132 1000 0.63884999 4.6652651 - 298000 43.507309 1000 0.63182296 4.6809731 - 299000 43.943936 1000 0.6324286 4.696681 - 300000 44.383148 1000 0.62640427 4.712389 - 301000 44.819379 1000 0.62138494 4.7280969 - 302000 45.260834 1000 0.62902694 4.7438049 - 303000 45.705719 1000 0.63308052 4.7595129 - 304000 46.14622 1000 0.63266845 4.7752208 - 305000 46.586693 1000 0.63464534 4.7909288 - 306000 47.028768 1000 0.62941378 4.8066368 - 307000 47.470183 1000 0.62801025 4.8223447 - 308000 47.914518 1000 0.62291875 4.8380527 - 309000 48.365654 1000 0.62529494 4.8537606 - 310000 48.817185 1000 0.62504442 4.8694686 - 311000 49.269423 1000 0.63074915 4.8851766 - 312000 49.722869 1000 0.64292914 4.9008845 - 313000 50.175859 1000 0.65319818 4.9165925 - 314000 50.630132 1000 0.66755513 4.9323005 - 315000 51.084836 1000 0.67585436 4.9480084 - 316000 51.539391 1000 0.67676226 4.9637164 - 317000 51.995233 1000 0.67394312 4.9794244 - 318000 52.453581 1000 0.67299959 4.9951323 - 319000 52.906322 1000 0.68074615 5.0108403 - 320000 53.362206 1000 0.67696004 5.0265482 - 321000 53.813824 1000 0.67899008 5.0422562 - 322000 54.264433 1000 0.67901671 5.0579642 - 323000 54.715627 1000 0.67620354 5.0736721 - 324000 55.168 1000 0.67165541 5.0893801 - 325000 55.620891 1000 0.67820953 5.1050881 - 326000 56.073685 1000 0.67490808 5.120796 - 327000 56.526012 1000 0.67238149 5.136504 - 328000 56.977525 1000 0.66885914 5.152212 - 329000 57.431088 1000 0.66876389 5.1679199 - 330000 57.886694 1000 0.66879597 5.1836279 - 331000 58.338381 1000 0.66577546 5.1993358 - 332000 58.791084 1000 0.6602875 5.2150438 - 333000 59.242965 1000 0.65879422 5.2307518 - 334000 59.698559 1000 0.6581474 5.2464597 - 335000 60.153261 1000 0.6521249 5.2621677 - 336000 60.605605 1000 0.63371979 5.2778757 - 337000 61.059824 1000 0.62373279 5.2935836 - 338000 61.510606 1000 0.6212013 5.3092916 - 339000 61.962049 1000 0.62303395 5.3249995 - 340000 62.413564 1000 0.63183785 5.3407075 - 341000 62.86366 1000 0.64387158 5.3564155 - 342000 63.317623 1000 0.65045982 5.3721234 - 343000 63.772034 1000 0.65401192 5.3878314 - 344000 64.225206 1000 0.65181077 5.4035394 - 345000 64.681317 1000 0.64098248 5.4192473 - 346000 65.136483 1000 0.63163559 5.4349553 - 347000 65.588996 1000 0.64182161 5.4506633 - 348000 66.042215 1000 0.65528889 5.4663712 - 349000 66.501687 1000 0.66603277 5.4820792 - 350000 66.960896 1000 0.67362185 5.4977871 - 351000 67.417316 1000 0.68867905 5.5134951 - 352000 67.876742 1000 0.6907547 5.5292031 - 353000 68.336836 1000 0.69043981 5.544911 - 354000 68.797396 1000 0.68676964 5.560619 - 355000 69.255062 1000 0.68019369 5.576327 - 356000 69.711663 1000 0.66189875 5.5920349 - 357000 70.172728 1000 0.65275709 5.6077429 - 358000 70.632655 1000 0.64560617 5.6234508 - 359000 71.091165 1000 0.63865266 5.6391588 - 360000 71.548341 1000 0.6366388 5.6548668 - 361000 72.006137 1000 0.63619567 5.6705747 - 362000 72.466621 1000 0.63986167 5.6862827 - 363000 72.928505 1000 0.656198 5.7019907 - 364000 73.391876 1000 0.66522563 5.7176986 - 365000 73.852366 1000 0.67330205 5.7334066 - 366000 74.317924 1000 0.67997811 5.7491146 - 367000 74.781431 1000 0.67734915 5.7648225 - 368000 75.24363 1000 0.66811078 5.7805305 - 369000 75.704319 1000 0.67232161 5.7962384 - 370000 76.165294 1000 0.67262944 5.8119464 - 371000 76.624971 1000 0.68614241 5.8276544 - 372000 77.085918 1000 0.70293842 5.8433623 - 373000 77.544679 1000 0.71889856 5.8590703 - 374000 78.007103 1000 0.7170296 5.8747783 - 375000 78.468913 1000 0.71258031 5.8904862 - 376000 78.93354 1000 0.70758873 5.9061942 - 377000 79.39396 1000 0.69486822 5.9219022 - 378000 79.850685 1000 0.68311194 5.9376101 - 379000 80.307228 1000 0.67317549 5.9533181 - 380000 80.767418 1000 0.67691049 5.969026 - 381000 81.227579 1000 0.69231691 5.984734 - 382000 81.686924 1000 0.69998609 6.000442 - 383000 82.145783 1000 0.69328258 6.0161499 - 384000 82.604827 1000 0.69903908 6.0318579 - 385000 83.056443 1000 0.69455744 6.0475659 - 386000 83.507131 1000 0.68865933 6.0632738 - 387000 83.95695 1000 0.68630439 6.0789818 - 388000 84.404079 1000 0.6800564 6.0946897 - 389000 84.851053 1000 0.66747339 6.1103977 - 390000 85.298614 1000 0.65695883 6.1261057 - 391000 85.744507 1000 0.65659359 6.1418136 - 392000 86.191348 1000 0.65933663 6.1575216 - 393000 86.632782 1000 0.65170236 6.1732296 - 394000 87.074105 1000 0.65631817 6.1889375 - 395000 87.5177 1000 0.66205838 6.2046455 - 396000 87.963111 1000 0.65512694 6.2203535 - 397000 88.408348 1000 0.65266011 6.2360614 - 398000 88.854042 1000 0.64593806 6.2517694 - 399000 89.298754 1000 0.64940473 6.2674773 - 400000 89.745445 1000 0.66033435 6.2831853 -Loop time of 89.7455 on 1 procs for 200000 steps with 1000 atoms - -Performance: 9098.023 tau/day, 2228.525 timesteps/s -98.9% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 10.924 | 10.924 | 10.924 | 0.0 | 12.17 -Neigh | 0.10266 | 0.10266 | 0.10266 | 0.0 | 0.11 -Comm | 1.9424 | 1.9424 | 1.9424 | 0.0 | 2.16 -Output | 0.0056458 | 0.0056458 | 0.0056458 | 0.0 | 0.01 -Modify | 75.442 | 75.442 | 75.442 | 0.0 | 84.06 -Other | | 1.329 | | | 1.48 - -Nlocal: 1000 ave 1000 max 1000 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 272 ave 272 max 272 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 4933 ave 4933 max 4933 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 4933 -Ave neighs/atom = 4.933 -Neighbor list builds = 171 -Dangerous builds = 0 -Total wall time: 0:02:24 diff --git a/examples/granregion/log.27Nov18.granregion.mixer.g++.4 b/examples/granregion/log.27Nov18.granregion.mixer.g++.4 deleted file mode 100644 index be690a7df5..0000000000 --- a/examples/granregion/log.27Nov18.granregion.mixer.g++.4 +++ /dev/null @@ -1,602 +0,0 @@ -LAMMPS (27 Nov 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task -variable name string mixer - -thermo_modify flush yes -variable seed equal 14314 - -############################################### -# Particle parameters -################################################ - -variable rlo equal 0.3 -variable rhi equal 0.6 -variable dlo equal 2.0*${rlo} -variable dlo equal 2.0*0.3 -variable dhi equal 2.0*${rhi} -variable dhi equal 2.0*0.6 -variable skin equal ${rhi} -variable skin equal 0.6 - -variable coeffRes equal 0.1 -variable coeffFric equal 0.5 - -variable kn equal 10^5 -variable kt equal 0.2*${kn} -variable kt equal 0.2*100000 - -variable gravity equal 1.0 -variable density equal 1.0 - -variable min_mass equal ${density}*4.0/3.0*PI*${rlo}*${rlo}*${rlo} -variable min_mass equal 1*4.0/3.0*PI*${rlo}*${rlo}*${rlo} -variable min_mass equal 1*4.0/3.0*PI*0.3*${rlo}*${rlo} -variable min_mass equal 1*4.0/3.0*PI*0.3*0.3*${rlo} -variable min_mass equal 1*4.0/3.0*PI*0.3*0.3*0.3 -variable a equal (-2.0*log(${coeffRes})/PI)^2 -variable a equal (-2.0*log(0.1)/PI)^2 -variable gamma_n equal sqrt($a*2*${kn}/${min_mass}/(1+0.25*$a)) -variable gamma_n equal sqrt(0.405284734569351*2*${kn}/${min_mass}/(1+0.25*$a)) -variable gamma_n equal sqrt(0.405284734569351*2*100000/${min_mass}/(1+0.25*$a)) -variable gamma_n equal sqrt(0.405284734569351*2*100000/0.113097335529233/(1+0.25*$a)) -variable gamma_n equal sqrt(0.405284734569351*2*100000/0.113097335529233/(1+0.25*0.405284734569351)) -variable gamma_t equal ${gamma_n}*0.5 -variable gamma_t equal 806.699778405191*0.5 - -variable tcol equal PI/sqrt(2*${kn}/${min_mass}-${gamma_n}/4.0) -variable tcol equal PI/sqrt(2*100000/${min_mass}-${gamma_n}/4.0) -variable tcol equal PI/sqrt(2*100000/0.113097335529233-${gamma_n}/4.0) -variable tcol equal PI/sqrt(2*100000/0.113097335529233-806.699778405191/4.0) - -variable dt equal ${tcol}*0.02 -variable dt equal 0.00236257621510454*0.02 -timestep ${dt} -timestep 4.72515243020908e-05 - -############################################### - -variable dumpfreq equal 1000 -variable logfreq equal 1000 - -newton on -atom_style sphere - -boundary p p f - -region boxreg block 0 20 0 20 0 20 -create_box 1 boxreg -Created orthogonal box = (0 0 0) to (20 20 20) - 1 by 2 by 2 MPI processor grid - -pair_style gran/hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 -pair_style gran/hertz/history 100000 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 -pair_style gran/hertz/history 100000 20000 ${gamma_n} ${gamma_t} ${coeffFric} 1 -pair_style gran/hertz/history 100000 20000 806.699778405191 ${gamma_t} ${coeffFric} 1 -pair_style gran/hertz/history 100000 20000 806.699778405191 403.349889202595 ${coeffFric} 1 -pair_style gran/hertz/history 100000 20000 806.699778405191 403.349889202595 0.5 1 -pair_coeff * * - -neighbor ${skin} bin -neighbor 0.6 bin -thermo ${logfreq} -thermo 1000 - -comm_style brick -comm_modify mode multi group all vel yes -balance 1.1 shift xyz 20 1.1 -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 0 - ghost atom cutoff = 0 - binsize = 20, bins = 1 1 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair gran/hertz/history, perpetual - attributes: half, newton on, size, history - pair build: half/size/bin/newton - stencil: half/bin/3d/newton - bin: standard -fix bal all balance 10000 1.1 shift xyz 20 1.01 - -####################### Options specific to pouring ######################### - -region insreg cylinder z 10 10 8 10 18 side in units box -region cylreg cylinder z 10 10 10 0 20 side in units box - -variable theta equal (step/400000)*2*PI - -region b1 block 2 18 9 11 0 4 side out rotate v_theta 10 10 0 0 0 1 units box -region b2 block 9 11 2 18 0 3.99999 side out rotate v_theta 10 10 0 0 0 1 units box - -region mixer intersect 3 cylreg b1 b2 side in - -fix grav all gravity ${gravity} vector 0 0 -1 -fix grav all gravity 1 vector 0 0 -1 -fix 1 all nve/sphere - -fix mixwall all wall/gran/region hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region mixer -fix mixwall all wall/gran/region hertz/history 100000 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region mixer -fix mixwall all wall/gran/region hertz/history 100000 20000 ${gamma_n} ${gamma_t} ${coeffFric} 1 region mixer -fix mixwall all wall/gran/region hertz/history 100000 20000 806.699778405191 ${gamma_t} ${coeffFric} 1 region mixer -fix mixwall all wall/gran/region hertz/history 100000 20000 806.699778405191 403.349889202595 ${coeffFric} 1 region mixer -fix mixwall all wall/gran/region hertz/history 100000 20000 806.699778405191 403.349889202595 0.5 1 region mixer - -fix ins all pour 1000 1 42424 region insreg diam range ${dlo} ${dhi} dens ${density} ${density} -fix ins all pour 1000 1 42424 region insreg diam range 0.6 ${dhi} dens ${density} ${density} -fix ins all pour 1000 1 42424 region insreg diam range 0.6 1.2 dens ${density} ${density} -fix ins all pour 1000 1 42424 region insreg diam range 0.6 1.2 dens 1 ${density} -fix ins all pour 1000 1 42424 region insreg diam range 0.6 1.2 dens 1 1 -Particle insertion: 444 every 84653 steps, 1000 by step 169307 - -#dump 1 all custom ${dumpfreq} ${name}_pour.dump # id type mass diameter x y z - -#dump 2 all image 4000 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 zoom 1.5 # box no 0.0 axes no 0.0 0.0 -#dump_modify 2 pad 6 - -thermo_style custom step cpu atoms ke v_theta -WARNING: New thermo_style command, previous thermo_modify settings will be lost (src/output.cpp:705) -thermo_modify flush yes lost warn - -run 200000 -Per MPI rank memory allocation (min/avg/max) = 5.817 | 5.817 | 5.817 Mbytes -Step CPU Atoms KinEng v_theta - 0 0 0 -0 0 - 1000 0.096722603 444 -0 0.015707963 - 2000 0.18796778 444 -0 0.031415927 - 3000 0.27916241 444 -0 0.04712389 - 4000 0.37111688 444 -0 0.062831853 - 5000 0.46224833 444 -0 0.078539816 - 6000 0.55190682 444 -0 0.09424778 - 7000 0.64120579 444 -0 0.10995574 - 8000 0.73025131 444 -0 0.12566371 - 9000 0.82121348 444 -0 0.14137167 - 10000 0.91006637 444 -0 0.15707963 - 11000 0.97034311 444 -0 0.1727876 - 12000 1.030247 444 -0 0.18849556 - 13000 1.0894752 444 -0 0.20420352 - 14000 1.1483686 444 -0 0.21991149 - 15000 1.2138393 444 -0 0.23561945 - 16000 1.2744856 444 -0 0.25132741 - 17000 1.3361425 444 -0 0.26703538 - 18000 1.3998857 444 -0 0.28274334 - 19000 1.4625463 444 -0 0.2984513 - 20000 1.5255082 444 -0 0.31415927 - 21000 1.5845048 444 -0 0.32986723 - 22000 1.6437175 444 -0 0.34557519 - 23000 1.7022173 444 -0 0.36128316 - 24000 1.7614172 444 -0 0.37699112 - 25000 1.8209105 444 -0 0.39269908 - 26000 1.8818901 444 -0 0.40840704 - 27000 1.9439991 444 -0 0.42411501 - 28000 2.0067189 444 -0 0.43982297 - 29000 2.0697014 444 -0 0.45553093 - 30000 2.1327429 444 -0 0.4712389 - 31000 2.1904151 444 -0 0.48694686 - 32000 2.2478669 444 -0 0.50265482 - 33000 2.3062997 444 -0 0.51836279 - 34000 2.3723967 444 -0 0.53407075 - 35000 2.4331915 444 -0 0.54977871 - 36000 2.4937904 444 -0 0.56548668 - 37000 2.5550685 444 -0 0.58119464 - 38000 2.6170652 444 -0 0.5969026 - 39000 2.6789875 444 -0 0.61261057 - 40000 2.7414019 444 -0 0.62831853 - 41000 2.799027 444 -0 0.64402649 - 42000 2.8570235 444 -0 0.65973446 - 43000 2.9140713 444 -0 0.67544242 - 44000 2.9702985 444 -0 0.69115038 - 45000 3.0274565 444 -0 0.70685835 - 46000 3.0860338 444 -0 0.72256631 - 47000 3.1450455 444 -0 0.73827427 - 48000 3.2057948 444 -0 0.75398224 - 49000 3.267339 444 -0 0.7696902 - 50000 3.3300545 444 -0 0.78539816 - 51000 3.3942592 444 -0 0.80110613 - 52000 3.4522727 444 -0 0.81681409 - 53000 3.5117693 444 -0 0.83252205 - 54000 3.5717957 444 -0 0.84823002 - 55000 3.6338761 444 -0 0.86393798 - 56000 3.7006576 444 -0 0.87964594 - 57000 3.7648654 444 -0 0.89535391 - 58000 3.829128 444 -0 0.91106187 - 59000 3.8930187 444 -0 0.92676983 - 60000 3.9581499 444 -0 0.9424778 - 61000 4.0213017 444 -0 0.95818576 - 62000 4.0822632 444 -0 0.97389372 - 63000 4.1443422 444 -0 0.98960169 - 64000 4.2072315 444 -0 1.0053096 - 65000 4.2711387 444 -0 1.0210176 - 66000 4.3361402 444 -0 1.0367256 - 67000 4.4031398 444 -0 1.0524335 - 68000 4.4698064 444 -0 1.0681415 - 69000 4.5374978 444 -0 1.0838495 - 70000 4.6051283 444 -0 1.0995574 - 71000 4.6694169 444 -0 1.1152654 - 72000 4.7335079 444 -0 1.1309734 - 73000 4.7967482 444 -0 1.1466813 - 74000 4.8603547 444 -0 1.1623893 - 75000 4.9250085 444 -0 1.1780972 - 76000 4.9909372 444 -0 1.1938052 - 77000 5.0578024 444 -0 1.2095132 - 78000 5.1250138 444 -0 1.2252211 - 79000 5.1929755 444 -0 1.2409291 - 80000 5.2627637 444 -0 1.2566371 - 81000 5.3280981 444 -0 1.272345 - 82000 5.3957336 444 -0 1.288053 - 83000 5.4648135 444 -0 1.303761 - 84000 5.5368683 444 -0 1.3194689 - 85000 5.6352935 888 -0 1.3351769 - 86000 5.7708502 888 -0 1.3508848 - 87000 5.9051492 888 -0 1.3665928 - 88000 6.0384896 888 -0 1.3823008 - 89000 6.1714747 888 -0 1.3980087 - 90000 6.3042989 888 -0 1.4137167 - 91000 6.4114611 888 -0 1.4294247 - 92000 6.5164247 888 -0 1.4451326 - 93000 6.6219602 888 -0 1.4608406 - 94000 6.728405 888 -0 1.4765485 - 95000 6.8411646 888 -0 1.4922565 - 96000 6.9479821 888 -0 1.5079645 - 97000 7.0569239 888 -0 1.5236724 - 98000 7.1673372 888 -0 1.5393804 - 99000 7.2778809 888 -0 1.5550884 - 100000 7.398834 888 -0 1.5707963 - 101000 7.5066864 888 -0 1.5865043 - 102000 7.6158357 888 -0 1.6022123 - 103000 7.725111 888 -0 1.6179202 - 104000 7.8344197 888 -0 1.6336282 - 105000 7.9532022 888 -0 1.6493361 - 106000 8.0643187 888 -0 1.6650441 - 107000 8.1765473 888 -0 1.6807521 - 108000 8.2890661 888 -0 1.69646 - 109000 8.4048562 888 -0 1.712168 - 110000 8.5208168 888 -0 1.727876 - 111000 8.6303153 888 -0 1.7435839 - 112000 8.7401052 888 -0 1.7592919 - 113000 8.8518219 888 -0 1.7749998 - 114000 8.9638157 888 -0 1.7907078 - 115000 9.0766122 888 -0 1.8064158 - 116000 9.1908746 888 -0 1.8221237 - 117000 9.306145 888 -0 1.8378317 - 118000 9.4229569 888 -0 1.8535397 - 119000 9.5407412 888 -0 1.8692476 - 120000 9.6574531 888 -0 1.8849556 - 121000 9.7683234 888 -0 1.9006636 - 122000 9.8812008 888 -0 1.9163715 - 123000 9.9952521 888 -0 1.9320795 - 124000 10.111879 888 -0 1.9477874 - 125000 10.228812 888 -0 1.9634954 - 126000 10.347842 888 -0 1.9792034 - 127000 10.47052 888 -0 1.9949113 - 128000 10.593136 888 -0 2.0106193 - 129000 10.718124 888 -0 2.0263273 - 130000 10.844211 888 -0 2.0420352 - 131000 10.959177 888 -0 2.0577432 - 132000 11.075781 888 -0 2.0734512 - 133000 11.191418 888 -0 2.0891591 - 134000 11.313376 888 -0 2.1048671 - 135000 11.432321 888 -0 2.120575 - 136000 11.551893 888 -0 2.136283 - 137000 11.672695 888 -0 2.151991 - 138000 11.793487 888 -0 2.1676989 - 139000 11.914089 888 -0 2.1834069 - 140000 12.037441 888 -0 2.1991149 - 141000 12.161974 888 -0 2.2148228 - 142000 12.286641 888 -0 2.2305308 - 143000 12.414012 888 -0 2.2462387 - 144000 12.540939 888 -0 2.2619467 - 145000 12.66985 888 -0 2.2776547 - 146000 12.79975 888 -0 2.2933626 - 147000 12.932702 888 -0 2.3090706 - 148000 13.066088 888 -0 2.3247786 - 149000 13.200814 888 -0 2.3404865 - 150000 13.33565 888 -0 2.3561945 - 151000 13.465995 888 -0 2.3719025 - 152000 13.586622 888 -0 2.3876104 - 153000 13.711423 888 -0 2.4033184 - 154000 13.835058 888 -0 2.4190263 - 155000 13.967661 888 -0 2.4347343 - 156000 14.100609 888 -0 2.4504423 - 157000 14.234485 888 -0 2.4661502 - 158000 14.373325 888 -0 2.4818582 - 159000 14.510608 888 -0 2.4975662 - 160000 14.651416 888 -0 2.5132741 - 161000 14.785767 888 -0 2.5289821 - 162000 14.921569 888 -0 2.54469 - 163000 15.058895 888 -0 2.560398 - 164000 15.198786 888 -0 2.576106 - 165000 15.341662 888 -0 2.5918139 - 166000 15.487128 888 -0 2.6075219 - 167000 15.649383 888 -0 2.6232299 - 168000 15.795388 888 -0 2.6389378 - 169000 15.942671 888 -0 2.6546458 - 170000 16.091824 1000 -0 2.6703538 - 171000 16.239863 1000 -0 2.6860617 - 172000 16.391118 1000 -0 2.7017697 - 173000 16.5417 1000 -0 2.7174776 - 174000 16.69479 1000 -0 2.7331856 - 175000 16.847412 1000 -0 2.7488936 - 176000 17.000374 1000 -0 2.7646015 - 177000 17.15471 1000 -0 2.7803095 - 178000 17.31284 1000 -0 2.7960175 - 179000 17.46991 1000 -0 2.8117254 - 180000 17.629018 1000 -0 2.8274334 - 181000 17.787736 1000 -0 2.8431414 - 182000 17.946197 1000 -0 2.8588493 - 183000 18.105271 1000 -0 2.8745573 - 184000 18.263731 1000 -0 2.8902652 - 185000 18.433277 1000 -0 2.9059732 - 186000 18.594456 1000 -0 2.9216812 - 187000 18.755532 1000 -0 2.9373891 - 188000 18.918447 1000 -0 2.9530971 - 189000 19.080359 1000 -0 2.9688051 - 190000 19.243927 1000 -0 2.984513 - 191000 19.395044 1000 -0 3.000221 - 192000 19.546837 1000 -0 3.0159289 - 193000 19.695827 1000 -0 3.0316369 - 194000 19.843856 1000 -0 3.0473449 - 195000 19.993821 1000 -0 3.0630528 - 196000 20.145787 1000 -0 3.0787608 - 197000 20.298114 1000 -0 3.0944688 - 198000 20.45074 1000 -0 3.1101767 - 199000 20.607595 1000 -0 3.1258847 - 200000 20.760979 1000 -0 3.1415927 -Loop time of 20.7611 on 4 procs for 200000 steps with 1000 atoms - -Performance: 39328.699 tau/day, 9633.409 timesteps/s -98.0% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.57172 | 0.93292 | 1.2995 | 37.1 | 4.49 -Neigh | 0.015648 | 0.018747 | 0.02175 | 2.1 | 0.09 -Comm | 3.17 | 3.6151 | 4.0856 | 23.0 | 17.41 -Output | 0.0051017 | 0.012686 | 0.033359 | 10.6 | 0.06 -Modify | 12.36 | 13.269 | 14.095 | 21.8 | 63.91 -Other | | 2.912 | | | 14.03 - -Nlocal: 250 ave 270 max 230 min -Histogram: 1 0 0 0 1 0 1 0 0 1 -Nghost: 297 ave 337 max 234 min -Histogram: 1 0 0 0 0 1 0 0 0 2 -Neighs: 982.5 ave 1580 max 496 min -Histogram: 2 0 0 0 0 0 0 1 0 1 - -Total # of neighbors = 3930 -Ave neighs/atom = 3.93 -Neighbor list builds = 218 -Dangerous builds = 0 -unfix ins -run 200000 -Per MPI rank memory allocation (min/avg/max) = 12 | 12.19 | 12.35 Mbytes -Step CPU Atoms KinEng v_theta - 200000 0 1000 0.89289812 3.1415927 - 201000 0.15554476 1000 0.90162438 3.1573006 - 202000 0.31118774 1000 0.89175077 3.1730086 - 203000 0.47266722 1000 0.88068523 3.1887165 - 204000 0.64758801 1000 0.88775074 3.2044245 - 205000 0.85137105 1000 0.89009449 3.2201325 - 206000 1.0712745 1000 0.89031724 3.2358404 - 207000 1.3620427 1000 0.90901476 3.2515484 - 208000 1.6051998 1000 0.91977358 3.2672564 - 209000 1.7975032 1000 0.92044257 3.2829643 - 210000 1.9654117 1000 0.90550844 3.2986723 - 211000 2.1186137 1000 0.90179135 3.3143802 - 212000 2.2714169 1000 0.90474936 3.3300882 - 213000 2.4236252 1000 0.9011002 3.3457962 - 214000 2.5737655 1000 0.89619815 3.3615041 - 215000 2.7326233 1000 0.89129064 3.3772121 - 216000 2.8794787 1000 0.88785486 3.3929201 - 217000 3.0264313 1000 0.89448821 3.408628 - 218000 3.1743443 1000 0.89323746 3.424336 - 219000 3.3225086 1000 0.88176869 3.440044 - 220000 3.4717121 1000 0.86989815 3.4557519 - 221000 3.6229391 1000 0.85900389 3.4714599 - 222000 3.7768724 1000 0.85440461 3.4871678 - 223000 3.9287963 1000 0.8604449 3.5028758 - 224000 4.082505 1000 0.84537374 3.5185838 - 225000 4.234731 1000 0.84526488 3.5342917 - 226000 4.3872988 1000 0.85877362 3.5499997 - 227000 4.5396216 1000 0.86762074 3.5657077 - 228000 4.7092509 1000 0.86460359 3.5814156 - 229000 4.8631954 1000 0.85409682 3.5971236 - 230000 5.0194352 1000 0.83902718 3.6128316 - 231000 5.1765387 1000 0.83908755 3.6285395 - 232000 5.3335299 1000 0.83178808 3.6442475 - 233000 5.4917257 1000 0.83369584 3.6599554 - 234000 5.654233 1000 0.8530074 3.6756634 - 235000 5.8163757 1000 0.86385009 3.6913714 - 236000 5.9791231 1000 0.86453337 3.7070793 - 237000 6.1401029 1000 0.86137572 3.7227873 - 238000 6.300632 1000 0.8656285 3.7384953 - 239000 6.4597898 1000 0.85993724 3.7542032 - 240000 6.6216707 1000 0.8484153 3.7699112 - 241000 6.7793672 1000 0.84624799 3.7856191 - 242000 6.939244 1000 0.83739227 3.8013271 - 243000 7.1013088 1000 0.83026469 3.8170351 - 244000 7.267416 1000 0.81060567 3.832743 - 245000 7.4318523 1000 0.81081038 3.848451 - 246000 7.6077905 1000 0.80857771 3.864159 - 247000 7.7763391 1000 0.80353315 3.8798669 - 248000 7.9485247 1000 0.80191903 3.8955749 - 249000 8.1208956 1000 0.79865102 3.9112829 - 250000 8.2921841 1000 0.79407385 3.9269908 - 251000 8.4614651 1000 0.7880275 3.9426988 - 252000 8.6266186 1000 0.79212521 3.9584067 - 253000 8.7913449 1000 0.78976714 3.9741147 - 254000 8.9596558 1000 0.79720779 3.9898227 - 255000 9.1278918 1000 0.79329363 4.0055306 - 256000 9.3016815 1000 0.80851295 4.0212386 - 257000 9.4701304 1000 0.82322071 4.0369466 - 258000 9.6399531 1000 0.83042211 4.0526545 - 259000 9.8090186 1000 0.82773068 4.0683625 - 260000 9.9798045 1000 0.8246773 4.0840704 - 261000 10.148952 1000 0.81374287 4.0997784 - 262000 10.318855 1000 0.79936963 4.1154864 - 263000 10.496092 1000 0.78124408 4.1311943 - 264000 10.671031 1000 0.77790646 4.1469023 - 265000 10.843052 1000 0.77212005 4.1626103 - 266000 11.01867 1000 0.77977752 4.1783182 - 267000 11.192151 1000 0.79237542 4.1940262 - 268000 11.362491 1000 0.80631398 4.2097342 - 269000 11.53223 1000 0.82380407 4.2254421 - 270000 11.7123 1000 0.82477127 4.2411501 - 271000 11.883593 1000 0.81655074 4.256858 - 272000 12.052348 1000 0.80678676 4.272566 - 273000 12.220196 1000 0.79162789 4.288274 - 274000 12.395164 1000 0.78896081 4.3039819 - 275000 12.569757 1000 0.77904648 4.3196899 - 276000 12.748754 1000 0.78252999 4.3353979 - 277000 12.91648 1000 0.78293295 4.3511058 - 278000 13.086087 1000 0.78311337 4.3668138 - 279000 13.260159 1000 0.77657634 4.3825218 - 280000 13.428503 1000 0.76835711 4.3982297 - 281000 13.596094 1000 0.75586438 4.4139377 - 282000 13.763325 1000 0.74600306 4.4296456 - 283000 13.932867 1000 0.73228762 4.4453536 - 284000 14.098865 1000 0.72344939 4.4610616 - 285000 14.269317 1000 0.72160289 4.4767695 - 286000 14.441196 1000 0.71321619 4.4924775 - 287000 14.614458 1000 0.72631772 4.5081855 - 288000 14.783358 1000 0.74390396 4.5238934 - 289000 14.953564 1000 0.77320352 4.5396014 - 290000 15.12428 1000 0.77249469 4.5553093 - 291000 15.283974 1000 0.7583723 4.5710173 - 292000 15.449553 1000 0.74568347 4.5867253 - 293000 15.611965 1000 0.74108034 4.6024332 - 294000 15.770807 1000 0.72706174 4.6181412 - 295000 15.927151 1000 0.71122597 4.6338492 - 296000 16.086734 1000 0.70272297 4.6495571 - 297000 16.245418 1000 0.6945394 4.6652651 - 298000 16.406617 1000 0.69541258 4.6809731 - 299000 16.568989 1000 0.71696092 4.696681 - 300000 16.754911 1000 0.72939561 4.712389 - 301000 16.919453 1000 0.73621801 4.7280969 - 302000 17.07794 1000 0.72052605 4.7438049 - 303000 17.234397 1000 0.71057318 4.7595129 - 304000 17.39014 1000 0.70014814 4.7752208 - 305000 17.550789 1000 0.68855925 4.7909288 - 306000 17.718802 1000 0.68665019 4.8066368 - 307000 17.874036 1000 0.6831349 4.8223447 - 308000 18.029367 1000 0.67929468 4.8380527 - 309000 18.188065 1000 0.67833006 4.8537606 - 310000 18.348243 1000 0.67764037 4.8694686 - 311000 18.512475 1000 0.68271978 4.8851766 - 312000 18.676519 1000 0.69021026 4.9008845 - 313000 18.836426 1000 0.68795473 4.9165925 - 314000 18.997681 1000 0.68308892 4.9323005 - 315000 19.158794 1000 0.68086977 4.9480084 - 316000 19.318186 1000 0.67879169 4.9637164 - 317000 19.479364 1000 0.68128526 4.9794244 - 318000 19.645085 1000 0.68718719 4.9951323 - 319000 19.806831 1000 0.68419901 5.0108403 - 320000 19.97005 1000 0.68045269 5.0265482 - 321000 20.130643 1000 0.68430036 5.0422562 - 322000 20.291637 1000 0.68195368 5.0579642 - 323000 20.457605 1000 0.67964011 5.0736721 - 324000 20.621699 1000 0.67681293 5.0893801 - 325000 20.78525 1000 0.67601868 5.1050881 - 326000 20.950321 1000 0.67600265 5.120796 - 327000 21.11346 1000 0.68484094 5.136504 - 328000 21.276964 1000 0.68526189 5.152212 - 329000 21.440971 1000 0.67602072 5.1679199 - 330000 21.609791 1000 0.68222852 5.1836279 - 331000 21.773574 1000 0.68825647 5.1993358 - 332000 21.93854 1000 0.68168415 5.2150438 - 333000 22.102281 1000 0.67460357 5.2307518 - 334000 22.265741 1000 0.67747925 5.2464597 - 335000 22.436954 1000 0.681763 5.2621677 - 336000 22.614367 1000 0.67611867 5.2778757 - 337000 22.779064 1000 0.66903217 5.2935836 - 338000 22.945739 1000 0.6684293 5.3092916 - 339000 23.111375 1000 0.66465194 5.3249995 - 340000 23.278674 1000 0.66226848 5.3407075 - 341000 23.444642 1000 0.66407188 5.3564155 - 342000 23.614615 1000 0.65762812 5.3721234 - 343000 23.785007 1000 0.66936507 5.3878314 - 344000 23.956265 1000 0.67424224 5.4035394 - 345000 24.129057 1000 0.684271 5.4192473 - 346000 24.303073 1000 0.68294352 5.4349553 - 347000 24.475812 1000 0.69795697 5.4506633 - 348000 24.652771 1000 0.69818863 5.4663712 - 349000 24.830973 1000 0.69578798 5.4820792 - 350000 25.00923 1000 0.69377251 5.4977871 - 351000 25.185421 1000 0.69638202 5.5134951 - 352000 25.363647 1000 0.70115823 5.5292031 - 353000 25.540517 1000 0.70891635 5.544911 - 354000 25.718709 1000 0.70876639 5.560619 - 355000 25.893633 1000 0.71130235 5.576327 - 356000 26.068423 1000 0.69380913 5.5920349 - 357000 26.243801 1000 0.67934899 5.6077429 - 358000 26.418883 1000 0.67024516 5.6234508 - 359000 26.594722 1000 0.66145645 5.6391588 - 360000 26.770322 1000 0.65335546 5.6548668 - 361000 26.946396 1000 0.65495192 5.6705747 - 362000 27.12296 1000 0.64973833 5.6862827 - 363000 27.298461 1000 0.64532381 5.7019907 - 364000 27.473586 1000 0.64282855 5.7176986 - 365000 27.653872 1000 0.64451862 5.7334066 - 366000 27.830317 1000 0.64366439 5.7491146 - 367000 28.007037 1000 0.64395479 5.7648225 - 368000 28.184079 1000 0.65827587 5.7805305 - 369000 28.376009 1000 0.66311341 5.7962384 - 370000 28.557287 1000 0.66165026 5.8119464 - 371000 28.736569 1000 0.66878374 5.8276544 - 372000 28.91063 1000 0.66944548 5.8433623 - 373000 29.084648 1000 0.66061945 5.8590703 - 374000 29.258649 1000 0.65320954 5.8747783 - 375000 29.433156 1000 0.64641195 5.8904862 - 376000 29.611781 1000 0.64631388 5.9061942 - 377000 29.78531 1000 0.64232398 5.9219022 - 378000 29.955917 1000 0.63805257 5.9376101 - 379000 30.126378 1000 0.63666047 5.9533181 - 380000 30.297285 1000 0.63651856 5.969026 - 381000 30.471635 1000 0.6377374 5.984734 - 382000 30.644813 1000 0.64750107 6.000442 - 383000 30.816208 1000 0.65655138 6.0161499 - 384000 30.986444 1000 0.65408935 6.0318579 - 385000 31.156501 1000 0.64437236 6.0475659 - 386000 31.327665 1000 0.63862174 6.0632738 - 387000 31.49731 1000 0.64133807 6.0789818 - 388000 31.682031 1000 0.64174374 6.0946897 - 389000 31.85148 1000 0.64480071 6.1103977 - 390000 32.020336 1000 0.64982943 6.1261057 - 391000 32.187634 1000 0.6461109 6.1418136 - 392000 32.357282 1000 0.64044412 6.1575216 - 393000 32.527796 1000 0.64662995 6.1732296 - 394000 32.704323 1000 0.65330527 6.1889375 - 395000 32.880643 1000 0.66026265 6.2046455 - 396000 33.048614 1000 0.6718969 6.2203535 - 397000 33.222059 1000 0.66481385 6.2360614 - 398000 33.391738 1000 0.66685494 6.2517694 - 399000 33.560431 1000 0.6612594 6.2674773 - 400000 33.729715 1000 0.65289572 6.2831853 -Loop time of 33.7298 on 4 procs for 200000 steps with 1000 atoms - -Performance: 24207.249 tau/day, 5929.470 timesteps/s -97.9% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 1.6748 | 2.6848 | 3.6646 | 58.4 | 7.96 -Neigh | 0.021206 | 0.026438 | 0.03191 | 3.1 | 0.08 -Comm | 6.133 | 7.3745 | 8.6652 | 45.0 | 21.86 -Output | 0.0053763 | 0.016101 | 0.044719 | 13.0 | 0.05 -Modify | 18.26 | 20.115 | 22.413 | 39.2 | 59.64 -Other | | 3.513 | | | 10.42 - -Nlocal: 250 ave 266 max 230 min -Histogram: 1 0 0 0 0 1 1 0 0 1 -Nghost: 401.5 ave 476 max 325 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Neighs: 1264 ave 1634 max 895 min -Histogram: 1 0 1 0 0 0 0 1 0 1 - -Total # of neighbors = 5056 -Ave neighs/atom = 5.056 -Neighbor list builds = 160 -Dangerous builds = 0 -Total wall time: 0:00:54 diff --git a/examples/granular/in.pour.heat b/examples/granular/in.pour.heat index 495a80454a..69590389b5 100644 --- a/examples/granular/in.pour.heat +++ b/examples/granular/in.pour.heat @@ -51,7 +51,7 @@ region insreg cylinder z ${xc} ${yc} ${cyl_rad_inner} ${drum_height} ${ fix 0 all balance 100 1.0 shift xy 5 1.1 fix 1 all nve/sphere -fix 2 all temp/integrate constant 1.0 +fix 2 all heat/flow/sphere/temp constant 1.0 fix grav all gravity 10 vector 0 0 -1 fix ins1 all pour 1000 1 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens} fix ins2 all pour 1000 2 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens} diff --git a/examples/granular/log.15Sep22.pour.drum.g++.1 b/examples/granular/log.15Sep22.pour.drum.g++.1 new file mode 100644 index 0000000000..75cc115dd1 --- /dev/null +++ b/examples/granular/log.15Sep22.pour.drum.g++.1 @@ -0,0 +1,272 @@ +LAMMPS (15 Sep 2022) +# pour two types of particles (cohesive and non-cohesive) into cylinder +# 'turn' cylinder by changing direction of gravity, then rotate it. +# This simulates a rotating drum powder characterization experiment. + +variable name string rotating_drum_two_types + +atom_style sphere +units lj + +############################################### +# Geometry-related parameters +############################################### + +variable boxx equal 30 +variable boxy equal 30 +variable boxz equal 50 + +variable drum_rad equal ${boxx}*0.5 +variable drum_rad equal 30*0.5 +variable drum_height equal 20 + +variable xc equal 0.5*${boxx} +variable xc equal 0.5*30 +variable yc equal 0.5*${boxx} +variable yc equal 0.5*30 +variable zc equal 0.5*${boxz} +variable zc equal 0.5*50 + +############################################### +# Particle-related parameters +############################################### +variable rlo equal 0.25 +variable rhi equal 0.5 +variable dlo equal 2.0*${rlo} +variable dlo equal 2.0*0.25 +variable dhi equal 2.0*${rhi} +variable dhi equal 2.0*0.5 + +variable cyl_rad_inner equal ${drum_rad}-1.1*${rhi} +variable cyl_rad_inner equal 15-1.1*${rhi} +variable cyl_rad_inner equal 15-1.1*0.5 + +variable dens equal 1.0 + +variable skin equal 0.4*${rhi} +variable skin equal 0.4*0.5 + +############# +processors * * 1 +region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz} +region boxreg block 0 30 0 ${boxy} 0 ${boxz} +region boxreg block 0 30 0 30 0 ${boxz} +region boxreg block 0 30 0 30 0 50 +create_box 2 boxreg +Created orthogonal box = (0 0 0) to (30 30 50) + 1 by 1 by 1 MPI processor grid +change_box all boundary p p f +Changing box ... + +pair_style granular +pair_coeff 1 * hertz/material 1e5 0.2 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji +pair_coeff 2 2 jkr 1e5 0.1 0.3 50 tangential mindlin NULL 1.0 0.5 rolling sds 1e3 1e3 0.1 twisting marshall + +variable theta equal 0 + +region curved_wall cylinder z ${xc} ${yc} ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region curved_wall cylinder z 15 ${yc} ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region curved_wall cylinder z 15 15 ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region curved_wall cylinder z 15 15 15 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta 15 ${yc} 0 0 0 1 +region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta 15 15 0 0 0 1 +region bottom_wall plane ${xc} ${yc} 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region bottom_wall plane 15 ${yc} 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta 15 ${yc} 0 0 0 1 +region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta 15 15 0 0 0 1 + +region insreg cylinder z ${xc} ${yc} ${cyl_rad_inner} ${drum_height} ${boxz} +region insreg cylinder z 15 ${yc} ${cyl_rad_inner} ${drum_height} ${boxz} +region insreg cylinder z 15 15 ${cyl_rad_inner} ${drum_height} ${boxz} +region insreg cylinder z 15 15 14.45 ${drum_height} ${boxz} +region insreg cylinder z 15 15 14.45 20 ${boxz} +region insreg cylinder z 15 15 14.45 20 50 + +fix 0 all balance 100 1.0 shift xy 5 1.1 +fix 1 all nve/sphere +fix grav all gravity 10 vector 0 0 -1 +fix ins1 all pour 2000 1 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens} +fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 ${dhi} dens ${dens} ${dens} +fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens ${dens} ${dens} +fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens 1 ${dens} +fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens 1 1 +Particle insertion: 9396 every 490 steps, 2000 by step 1 +fix ins2 all pour 2000 2 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens} +fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 ${dhi} dens ${dens} ${dens} +fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens ${dens} ${dens} +fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens 1 ${dens} +fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens 1 1 +Particle insertion: 9396 every 490 steps, 2000 by step 1 + +comm_modify vel yes + +neighbor ${skin} bin +neighbor 0.2 bin +neigh_modify delay 0 every 1 check yes + +fix 3 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region curved_wall +fix 4 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region bottom_wall + +thermo_style custom step atoms ke v_theta +thermo_modify lost warn +thermo 100 + +timestep 0.001 + +#dump 1 all custom 100 ${name}.dump id type radius mass x y z + +#For removal later +compute 1 all property/atom radius +variable zmax atom z+c_1>0.5*${drum_height} +variable zmax atom z+c_1>0.5*20 +group delgroup dynamic all var zmax every 10000 +dynamic group delgroup defined + +run 2000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.2 + ghost atom cutoff = 1.2 + binsize = 0.6, bins = 50 50 84 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair granular, perpetual + attributes: half, newton on, size, history + pair build: half/size/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 16.08 | 16.08 | 16.08 Mbytes + Step Atoms KinEng v_theta + 0 0 -0 0 + 100 4000 -0 0 + 200 4000 -0 0 + 300 4000 -0 0 + 400 4000 -0 0 + 500 4000 -0 0 + 600 4000 -0 0 + 700 4000 -0 0 + 800 4000 -0 0 + 900 4000 -0 0 + 1000 4000 -0 0 + 1100 4000 -0 0 + 1200 4000 -0 0 + 1300 4000 -0 0 + 1400 4000 -0 0 + 1500 4000 -0 0 + 1600 4000 -0 0 + 1700 4000 -0 0 + 1800 4000 -0 0 + 1900 4000 -0 0 + 2000 4000 -0 0 +Loop time of 2.81549 on 1 procs for 2000 steps with 4000 atoms + +Performance: 61374.657 tau/day, 710.355 timesteps/s, 2.841 Matom-step/s +98.4% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.35362 | 0.35362 | 0.35362 | 0.0 | 12.56 +Neigh | 1.0852 | 1.0852 | 1.0852 | 0.0 | 38.54 +Comm | 0.041891 | 0.041891 | 0.041891 | 0.0 | 1.49 +Output | 0.00059151 | 0.00059151 | 0.00059151 | 0.0 | 0.02 +Modify | 1.2814 | 1.2814 | 1.2814 | 0.0 | 45.51 +Other | | 0.0528 | | | 1.88 + +Nlocal: 4000 ave 4000 max 4000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 179 ave 179 max 179 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 7019 ave 7019 max 7019 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 7019 +Ave neighs/atom = 1.75475 +Neighbor list builds = 1000 +Dangerous builds = 0 + +#Remove any particles that are above z > 0.5*drum_height +delete_atoms group delgroup +Deleted 0 atoms, new total = 4000 + +#Add top lid +region top_wall plane ${xc} ${yc} ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region top_wall plane 15 ${yc} ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region top_wall plane 15 15 ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta 15 ${yc} 0 0 0 1 +region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta 15 15 0 0 0 1 +fix 5 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region top_wall + +# 'Turn' drum by switching the direction of gravity +unfix grav +unfix ins1 +unfix ins2 +fix grav all gravity 10 vector 0 -1 0 + +variable theta equal 2*PI*elapsed/20000.0 +run 3000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 22.42 | 22.42 | 22.42 Mbytes + Step Atoms KinEng v_theta + 2000 4000 59.969827 0 + 2100 4000 47.251389 0.031415927 + 2200 4000 33.726755 0.062831853 + 2300 4000 24.212479 0.09424778 + 2400 4000 17.366268 0.12566371 + 2500 4000 18.502318 0.15707963 + 2600 4000 17.44981 0.18849556 + 2700 4000 16.068315 0.21991149 + 2800 4000 14.252644 0.25132741 + 2900 4000 11.544019 0.28274334 + 3000 4000 9.0353662 0.31415927 + 3100 4000 6.9955912 0.34557519 + 3200 4000 5.955137 0.37699112 + 3300 4000 5.8947849 0.40840704 + 3400 4000 6.0544729 0.43982297 + 3500 4000 6.5326359 0.4712389 + 3600 4000 6.6047764 0.50265482 + 3700 4000 6.7073614 0.53407075 + 3800 4000 6.7367804 0.56548668 + 3900 4000 6.6178006 0.5969026 + 4000 4000 6.3834858 0.62831853 + 4100 4000 5.8660652 0.65973446 + 4200 4000 5.308513 0.69115038 + 4300 4000 4.7270842 0.72256631 + 4400 4000 4.1920733 0.75398224 + 4500 4000 3.7068814 0.78539816 + 4600 4000 3.3259615 0.81681409 + 4700 4000 2.9339231 0.84823002 + 4800 4000 2.670752 0.87964594 + 4900 4000 2.4509115 0.91106187 + 5000 4000 2.2609335 0.9424778 +Loop time of 9.82178 on 1 procs for 3000 steps with 4000 atoms + +Performance: 26390.330 tau/day, 305.444 timesteps/s, 1.222 Matom-step/s +99.4% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 3.2932 | 3.2932 | 3.2932 | 0.0 | 33.53 +Neigh | 2.2872 | 2.2872 | 2.2872 | 0.0 | 23.29 +Comm | 0.067117 | 0.067117 | 0.067117 | 0.0 | 0.68 +Output | 0.00093425 | 0.00093425 | 0.00093425 | 0.0 | 0.01 +Modify | 4.0986 | 4.0986 | 4.0986 | 0.0 | 41.73 +Other | | 0.07476 | | | 0.76 + +Nlocal: 4000 ave 4000 max 4000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 363 ave 363 max 363 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 13089 ave 13089 max 13089 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 13089 +Ave neighs/atom = 3.27225 +Neighbor list builds = 1247 +Dangerous builds = 130 +Total wall time: 0:00:12 diff --git a/examples/granular/log.15Sep22.pour.drum.g++.4 b/examples/granular/log.15Sep22.pour.drum.g++.4 new file mode 100644 index 0000000000..4ab6f92b8b --- /dev/null +++ b/examples/granular/log.15Sep22.pour.drum.g++.4 @@ -0,0 +1,272 @@ +LAMMPS (15 Sep 2022) +# pour two types of particles (cohesive and non-cohesive) into cylinder +# 'turn' cylinder by changing direction of gravity, then rotate it. +# This simulates a rotating drum powder characterization experiment. + +variable name string rotating_drum_two_types + +atom_style sphere +units lj + +############################################### +# Geometry-related parameters +############################################### + +variable boxx equal 30 +variable boxy equal 30 +variable boxz equal 50 + +variable drum_rad equal ${boxx}*0.5 +variable drum_rad equal 30*0.5 +variable drum_height equal 20 + +variable xc equal 0.5*${boxx} +variable xc equal 0.5*30 +variable yc equal 0.5*${boxx} +variable yc equal 0.5*30 +variable zc equal 0.5*${boxz} +variable zc equal 0.5*50 + +############################################### +# Particle-related parameters +############################################### +variable rlo equal 0.25 +variable rhi equal 0.5 +variable dlo equal 2.0*${rlo} +variable dlo equal 2.0*0.25 +variable dhi equal 2.0*${rhi} +variable dhi equal 2.0*0.5 + +variable cyl_rad_inner equal ${drum_rad}-1.1*${rhi} +variable cyl_rad_inner equal 15-1.1*${rhi} +variable cyl_rad_inner equal 15-1.1*0.5 + +variable dens equal 1.0 + +variable skin equal 0.4*${rhi} +variable skin equal 0.4*0.5 + +############# +processors * * 1 +region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz} +region boxreg block 0 30 0 ${boxy} 0 ${boxz} +region boxreg block 0 30 0 30 0 ${boxz} +region boxreg block 0 30 0 30 0 50 +create_box 2 boxreg +Created orthogonal box = (0 0 0) to (30 30 50) + 2 by 2 by 1 MPI processor grid +change_box all boundary p p f +Changing box ... + +pair_style granular +pair_coeff 1 * hertz/material 1e5 0.2 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji +pair_coeff 2 2 jkr 1e5 0.1 0.3 50 tangential mindlin NULL 1.0 0.5 rolling sds 1e3 1e3 0.1 twisting marshall + +variable theta equal 0 + +region curved_wall cylinder z ${xc} ${yc} ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region curved_wall cylinder z 15 ${yc} ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region curved_wall cylinder z 15 15 ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region curved_wall cylinder z 15 15 15 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta 15 ${yc} 0 0 0 1 +region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta 15 15 0 0 0 1 +region bottom_wall plane ${xc} ${yc} 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region bottom_wall plane 15 ${yc} 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta 15 ${yc} 0 0 0 1 +region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta 15 15 0 0 0 1 + +region insreg cylinder z ${xc} ${yc} ${cyl_rad_inner} ${drum_height} ${boxz} +region insreg cylinder z 15 ${yc} ${cyl_rad_inner} ${drum_height} ${boxz} +region insreg cylinder z 15 15 ${cyl_rad_inner} ${drum_height} ${boxz} +region insreg cylinder z 15 15 14.45 ${drum_height} ${boxz} +region insreg cylinder z 15 15 14.45 20 ${boxz} +region insreg cylinder z 15 15 14.45 20 50 + +fix 0 all balance 100 1.0 shift xy 5 1.1 +fix 1 all nve/sphere +fix grav all gravity 10 vector 0 0 -1 +fix ins1 all pour 2000 1 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens} +fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 ${dhi} dens ${dens} ${dens} +fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens ${dens} ${dens} +fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens 1 ${dens} +fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens 1 1 +Particle insertion: 9396 every 490 steps, 2000 by step 1 +fix ins2 all pour 2000 2 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens} +fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 ${dhi} dens ${dens} ${dens} +fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens ${dens} ${dens} +fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens 1 ${dens} +fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens 1 1 +Particle insertion: 9396 every 490 steps, 2000 by step 1 + +comm_modify vel yes + +neighbor ${skin} bin +neighbor 0.2 bin +neigh_modify delay 0 every 1 check yes + +fix 3 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region curved_wall +fix 4 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region bottom_wall + +thermo_style custom step atoms ke v_theta +thermo_modify lost warn +thermo 100 + +timestep 0.001 + +#dump 1 all custom 100 ${name}.dump id type radius mass x y z + +#For removal later +compute 1 all property/atom radius +variable zmax atom z+c_1>0.5*${drum_height} +variable zmax atom z+c_1>0.5*20 +group delgroup dynamic all var zmax every 10000 +dynamic group delgroup defined + +run 2000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.2 + ghost atom cutoff = 1.2 + binsize = 0.6, bins = 50 50 84 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair granular, perpetual + attributes: half, newton on, size, history + pair build: half/size/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 15.3 | 15.3 | 15.3 Mbytes + Step Atoms KinEng v_theta + 0 0 -0 0 + 100 4000 -0 0 + 200 4000 -0 0 + 300 4000 -0 0 + 400 4000 -0 0 + 500 4000 -0 0 + 600 4000 -0 0 + 700 4000 -0 0 + 800 4000 -0 0 + 900 4000 -0 0 + 1000 4000 -0 0 + 1100 4000 -0 0 + 1200 4000 -0 0 + 1300 4000 -0 0 + 1400 4000 -0 0 + 1500 4000 -0 0 + 1600 4000 -0 0 + 1700 4000 -0 0 + 1800 4000 -0 0 + 1900 4000 -0 0 + 2000 4000 -0 0 +Loop time of 0.744926 on 4 procs for 2000 steps with 4000 atoms + +Performance: 231969.322 tau/day, 2684.830 timesteps/s, 10.739 Matom-step/s +98.1% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.064917 | 0.069813 | 0.074844 | 1.7 | 9.37 +Neigh | 0.15075 | 0.15915 | 0.1692 | 1.9 | 21.36 +Comm | 0.11223 | 0.11821 | 0.12247 | 1.1 | 15.87 +Output | 0.00030739 | 0.00036898 | 0.00046777 | 0.0 | 0.05 +Modify | 0.36068 | 0.36657 | 0.37031 | 0.7 | 49.21 +Other | | 0.03082 | | | 4.14 + +Nlocal: 1000 ave 1010 max 990 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 285 ave 287 max 283 min +Histogram: 1 0 1 0 0 0 0 1 0 1 +Neighs: 1714.25 ave 1764 max 1651 min +Histogram: 1 0 1 0 0 0 0 0 0 2 + +Total # of neighbors = 6857 +Ave neighs/atom = 1.71425 +Neighbor list builds = 1000 +Dangerous builds = 0 + +#Remove any particles that are above z > 0.5*drum_height +delete_atoms group delgroup +Deleted 0 atoms, new total = 4000 + +#Add top lid +region top_wall plane ${xc} ${yc} ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region top_wall plane 15 ${yc} ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region top_wall plane 15 15 ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta 15 ${yc} 0 0 0 1 +region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta 15 15 0 0 0 1 +fix 5 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region top_wall + +# 'Turn' drum by switching the direction of gravity +unfix grav +unfix ins1 +unfix ins2 +fix grav all gravity 10 vector 0 -1 0 + +variable theta equal 2*PI*elapsed/20000.0 +run 3000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 21.6 | 21.6 | 21.6 Mbytes + Step Atoms KinEng v_theta + 2000 4000 60.10546 0 + 2100 4000 47.274123 0.031415927 + 2200 4000 33.475582 0.062831853 + 2300 4000 24.083669 0.09424778 + 2400 4000 17.36351 0.12566371 + 2500 4000 18.576501 0.15707963 + 2600 4000 17.39 0.18849556 + 2700 4000 15.789254 0.21991149 + 2800 4000 14.08156 0.25132741 + 2900 4000 11.636681 0.28274334 + 3000 4000 8.9897685 0.31415927 + 3100 4000 7.0703519 0.34557519 + 3200 4000 6.0741809 0.37699112 + 3300 4000 5.8286097 0.40840704 + 3400 4000 6.059001 0.43982297 + 3500 4000 6.4310861 0.4712389 + 3600 4000 6.3957528 0.50265482 + 3700 4000 6.4858292 0.53407075 + 3800 4000 6.4685962 0.56548668 + 3900 4000 6.3469676 0.5969026 + 4000 4000 6.2808022 0.62831853 + 4100 4000 5.957048 0.65973446 + 4200 4000 5.5378951 0.69115038 + 4300 4000 4.8523264 0.72256631 + 4400 4000 4.2485239 0.75398224 + 4500 4000 3.7587486 0.78539816 + 4600 4000 3.327008 0.81681409 + 4700 4000 2.9421013 0.84823002 + 4800 4000 2.75247 0.87964594 + 4900 4000 2.5306332 0.91106187 + 5000 4000 2.352504 0.9424778 +Loop time of 2.48704 on 4 procs for 3000 steps with 4000 atoms + +Performance: 104220.238 tau/day, 1206.253 timesteps/s, 4.825 Matom-step/s +98.6% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.51605 | 0.70407 | 0.86299 | 14.7 | 28.31 +Neigh | 0.3522 | 0.42808 | 0.50041 | 8.0 | 17.21 +Comm | 0.17318 | 0.42324 | 0.7046 | 29.0 | 17.02 +Output | 0.00079725 | 0.0013956 | 0.002092 | 1.3 | 0.06 +Modify | 0.68507 | 0.79676 | 0.90954 | 8.9 | 32.04 +Other | | 0.1335 | | | 5.37 + +Nlocal: 1000 ave 1330 max 670 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 525.5 ave 781 max 417 min +Histogram: 2 1 0 0 0 0 0 0 0 1 +Neighs: 3243.75 ave 4460 max 2012 min +Histogram: 1 1 0 0 0 0 0 0 1 1 + +Total # of neighbors = 12975 +Ave neighs/atom = 3.24375 +Neighbor list builds = 1299 +Dangerous builds = 129 +Total wall time: 0:00:03 diff --git a/examples/granular/log.15Sep22.pour.flatwall.g++.1 b/examples/granular/log.15Sep22.pour.flatwall.g++.1 new file mode 100644 index 0000000000..f863993b46 --- /dev/null +++ b/examples/granular/log.15Sep22.pour.flatwall.g++.1 @@ -0,0 +1,195 @@ +LAMMPS (15 Sep 2022) +# pour two types of particles (cohesive and non-cohesive) on flat wall + +variable name string pour_two_types + +atom_style sphere +units lj + +############################################### +# Geometry-related parameters +############################################### + +variable boxx equal 20 +variable boxy equal 20 +variable boxz equal 30 + +variable xc1 equal 0.3*${boxx} +variable xc1 equal 0.3*20 +variable xc2 equal 0.7*${boxx} +variable xc2 equal 0.7*20 +variable yc equal 0.5*${boxy} +variable yc equal 0.5*20 + +############################################### +# Particle-related parameters +############################################### +variable rlo equal 0.25 +variable rhi equal 0.5 +variable dlo equal 2.0*${rlo} +variable dlo equal 2.0*0.25 +variable dhi equal 2.0*${rhi} +variable dhi equal 2.0*0.5 + +variable dens equal 1.0 + +variable skin equal 0.3*${rhi} +variable skin equal 0.3*0.5 + +############# +processors * * 1 +region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz} +region boxreg block 0 20 0 ${boxy} 0 ${boxz} +region boxreg block 0 20 0 20 0 ${boxz} +region boxreg block 0 20 0 20 0 30 +create_box 2 boxreg +Created orthogonal box = (0 0 0) to (20 20 30) + 1 by 1 by 1 MPI processor grid +change_box all boundary p p f +Changing box ... + +pair_style granular +pair_coeff 1 * jkr 1000.0 50.0 0.3 10 tangential mindlin 800.0 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall +pair_coeff 2 2 hertz 200.0 20.0 tangential linear_history 300.0 1.0 0.1 rolling sds 200.0 100.0 0.1 twisting marshall + +comm_modify vel yes + +region insreg1 cylinder z ${xc1} ${yc} 5 15 ${boxz} +region insreg1 cylinder z 6 ${yc} 5 15 ${boxz} +region insreg1 cylinder z 6 10 5 15 ${boxz} +region insreg1 cylinder z 6 10 5 15 30 +region insreg2 cylinder z ${xc2} ${yc} 5 15 ${boxz} +region insreg2 cylinder z 14 ${yc} 5 15 ${boxz} +region insreg2 cylinder z 14 10 5 15 ${boxz} +region insreg2 cylinder z 14 10 5 15 30 + +fix 1 all nve/sphere +fix grav all gravity 10.0 vector 0 0 -1 +fix ins1 all pour 1500 1 3123 region insreg1 diam range ${dlo} ${dhi} dens ${dens} ${dens} +fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 ${dhi} dens ${dens} ${dens} +fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens ${dens} ${dens} +fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens 1 ${dens} +fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens 1 1 +Particle insertion: 562 every 346 steps, 1500 by step 693 +fix ins2 all pour 1500 2 3123 region insreg2 diam range ${dlo} ${dhi} dens ${dens} ${dens} +fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 ${dhi} dens ${dens} ${dens} +fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens ${dens} ${dens} +fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens 1 ${dens} +fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens 1 1 +Particle insertion: 562 every 346 steps, 1500 by step 693 + +neighbor ${skin} bin +neighbor 0.15 bin +neigh_modify delay 0 every 1 check yes + +fix 3 all wall/gran granular hertz/material 1e5 1e3 0.3 tangential mindlin NULL 1.0 0.5 zplane 0 NULL + +thermo_style custom step atoms ke +thermo_modify lost warn +thermo 100 + +timestep 0.001 + +#dump 1 all custom 100 ${name}.dump id type radius mass x y z + +run 5000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.15 + ghost atom cutoff = 1.15 + binsize = 0.575, bins = 35 35 53 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair granular, perpetual + attributes: half, newton on, size, history + pair build: half/size/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 15.27 | 15.27 | 15.27 Mbytes + Step Atoms KinEng + 0 0 -0 +WARNING: Less insertions than requested (../fix_pour.cpp:681) +WARNING: Less insertions than requested (../fix_pour.cpp:681) + 100 926 -0 + 200 926 -0 + 300 926 -0 +WARNING: Less insertions than requested (../fix_pour.cpp:681) +WARNING: Less insertions than requested (../fix_pour.cpp:681) + 400 1498 -0 + 500 1498 -0 + 600 1498 -0 +WARNING: Less insertions than requested (../fix_pour.cpp:681) +WARNING: Less insertions than requested (../fix_pour.cpp:681) + 700 2275 -0 + 800 2275 -0 + 900 2275 -0 + 1000 2275 -0 +WARNING: Less insertions than requested (../fix_pour.cpp:681) + 1100 2954 -0 + 1200 2954 -0 + 1300 2954 -0 + 1400 3000 -0 + 1500 3000 -0 + 1600 3000 -0 + 1700 3000 -0 + 1800 3000 -0 + 1900 3000 -0 + 2000 3000 -0 + 2100 3000 -0 + 2200 3000 -0 + 2300 3000 -0 + 2400 3000 -0 + 2500 3000 -0 + 2600 3000 -0 + 2700 3000 -0 + 2800 3000 -0 + 2900 3000 -0 + 3000 3000 -0 + 3100 3000 -0 + 3200 3000 -0 + 3300 3000 -0 + 3400 3000 -0 + 3500 3000 -0 + 3600 3000 -0 + 3700 3000 -0 + 3800 3000 -0 + 3900 3000 -0 + 4000 3000 -0 + 4100 3000 -0 + 4200 3000 -0 + 4300 3000 -0 + 4400 3000 -0 + 4500 3000 -0 + 4600 3000 -0 + 4700 3000 -0 + 4800 3000 -0 + 4900 3000 -0 + 5000 3000 -0 +Loop time of 10.7721 on 1 procs for 5000 steps with 3000 atoms + +Performance: 40103.467 tau/day, 464.160 timesteps/s, 1.392 Matom-step/s +99.5% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 8.1117 | 8.1117 | 8.1117 | 0.0 | 75.30 +Neigh | 1.2885 | 1.2885 | 1.2885 | 0.0 | 11.96 +Comm | 0.059888 | 0.059888 | 0.059888 | 0.0 | 0.56 +Output | 0.0011158 | 0.0011158 | 0.0011158 | 0.0 | 0.01 +Modify | 1.2436 | 1.2436 | 1.2436 | 0.0 | 11.54 +Other | | 0.06727 | | | 0.62 + +Nlocal: 3000 ave 3000 max 3000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 471 ave 471 max 471 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 16713 ave 16713 max 16713 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 16713 +Ave neighs/atom = 5.571 +Neighbor list builds = 1102 +Dangerous builds = 0 +Total wall time: 0:00:10 diff --git a/examples/granular/log.15Sep22.pour.flatwall.g++.4 b/examples/granular/log.15Sep22.pour.flatwall.g++.4 new file mode 100644 index 0000000000..5fb99ea042 --- /dev/null +++ b/examples/granular/log.15Sep22.pour.flatwall.g++.4 @@ -0,0 +1,195 @@ +LAMMPS (15 Sep 2022) +# pour two types of particles (cohesive and non-cohesive) on flat wall + +variable name string pour_two_types + +atom_style sphere +units lj + +############################################### +# Geometry-related parameters +############################################### + +variable boxx equal 20 +variable boxy equal 20 +variable boxz equal 30 + +variable xc1 equal 0.3*${boxx} +variable xc1 equal 0.3*20 +variable xc2 equal 0.7*${boxx} +variable xc2 equal 0.7*20 +variable yc equal 0.5*${boxy} +variable yc equal 0.5*20 + +############################################### +# Particle-related parameters +############################################### +variable rlo equal 0.25 +variable rhi equal 0.5 +variable dlo equal 2.0*${rlo} +variable dlo equal 2.0*0.25 +variable dhi equal 2.0*${rhi} +variable dhi equal 2.0*0.5 + +variable dens equal 1.0 + +variable skin equal 0.3*${rhi} +variable skin equal 0.3*0.5 + +############# +processors * * 1 +region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz} +region boxreg block 0 20 0 ${boxy} 0 ${boxz} +region boxreg block 0 20 0 20 0 ${boxz} +region boxreg block 0 20 0 20 0 30 +create_box 2 boxreg +Created orthogonal box = (0 0 0) to (20 20 30) + 2 by 2 by 1 MPI processor grid +change_box all boundary p p f +Changing box ... + +pair_style granular +pair_coeff 1 * jkr 1000.0 50.0 0.3 10 tangential mindlin 800.0 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall +pair_coeff 2 2 hertz 200.0 20.0 tangential linear_history 300.0 1.0 0.1 rolling sds 200.0 100.0 0.1 twisting marshall + +comm_modify vel yes + +region insreg1 cylinder z ${xc1} ${yc} 5 15 ${boxz} +region insreg1 cylinder z 6 ${yc} 5 15 ${boxz} +region insreg1 cylinder z 6 10 5 15 ${boxz} +region insreg1 cylinder z 6 10 5 15 30 +region insreg2 cylinder z ${xc2} ${yc} 5 15 ${boxz} +region insreg2 cylinder z 14 ${yc} 5 15 ${boxz} +region insreg2 cylinder z 14 10 5 15 ${boxz} +region insreg2 cylinder z 14 10 5 15 30 + +fix 1 all nve/sphere +fix grav all gravity 10.0 vector 0 0 -1 +fix ins1 all pour 1500 1 3123 region insreg1 diam range ${dlo} ${dhi} dens ${dens} ${dens} +fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 ${dhi} dens ${dens} ${dens} +fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens ${dens} ${dens} +fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens 1 ${dens} +fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens 1 1 +Particle insertion: 562 every 346 steps, 1500 by step 693 +fix ins2 all pour 1500 2 3123 region insreg2 diam range ${dlo} ${dhi} dens ${dens} ${dens} +fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 ${dhi} dens ${dens} ${dens} +fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens ${dens} ${dens} +fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens 1 ${dens} +fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens 1 1 +Particle insertion: 562 every 346 steps, 1500 by step 693 + +neighbor ${skin} bin +neighbor 0.15 bin +neigh_modify delay 0 every 1 check yes + +fix 3 all wall/gran granular hertz/material 1e5 1e3 0.3 tangential mindlin NULL 1.0 0.5 zplane 0 NULL + +thermo_style custom step atoms ke +thermo_modify lost warn +thermo 100 + +timestep 0.001 + +#dump 1 all custom 100 ${name}.dump id type radius mass x y z + +run 5000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.15 + ghost atom cutoff = 1.15 + binsize = 0.575, bins = 35 35 53 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair granular, perpetual + attributes: half, newton on, size, history + pair build: half/size/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 15.04 | 15.04 | 15.04 Mbytes + Step Atoms KinEng + 0 0 -0 +WARNING: Less insertions than requested (../fix_pour.cpp:681) +WARNING: Less insertions than requested (../fix_pour.cpp:681) + 100 926 -0 + 200 926 -0 + 300 926 -0 +WARNING: Less insertions than requested (../fix_pour.cpp:681) +WARNING: Less insertions than requested (../fix_pour.cpp:681) + 400 1498 -0 + 500 1498 -0 + 600 1498 -0 +WARNING: Less insertions than requested (../fix_pour.cpp:681) +WARNING: Less insertions than requested (../fix_pour.cpp:681) + 700 2275 -0 + 800 2275 -0 + 900 2275 -0 + 1000 2275 -0 +WARNING: Less insertions than requested (../fix_pour.cpp:681) + 1100 2954 -0 + 1200 2954 -0 + 1300 2954 -0 + 1400 3000 -0 + 1500 3000 -0 + 1600 3000 -0 + 1700 3000 -0 + 1800 3000 -0 + 1900 3000 -0 + 2000 3000 -0 + 2100 3000 -0 + 2200 3000 -0 + 2300 3000 -0 + 2400 3000 -0 + 2500 3000 -0 + 2600 3000 -0 + 2700 3000 -0 + 2800 3000 -0 + 2900 3000 -0 + 3000 3000 -0 + 3100 3000 -0 + 3200 3000 -0 + 3300 3000 -0 + 3400 3000 -0 + 3500 3000 -0 + 3600 3000 -0 + 3700 3000 -0 + 3800 3000 -0 + 3900 3000 -0 + 4000 3000 -0 + 4100 3000 -0 + 4200 3000 -0 + 4300 3000 -0 + 4400 3000 -0 + 4500 3000 -0 + 4600 3000 -0 + 4700 3000 -0 + 4800 3000 -0 + 4900 3000 -0 + 5000 3000 -0 +Loop time of 4.06277 on 4 procs for 5000 steps with 3000 atoms + +Performance: 106331.276 tau/day, 1230.686 timesteps/s, 3.692 Matom-step/s +98.7% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.85426 | 1.7801 | 2.7631 | 64.4 | 43.82 +Neigh | 0.18775 | 0.25657 | 0.3279 | 11.5 | 6.32 +Comm | 0.23605 | 1.3334 | 2.3703 | 81.6 | 32.82 +Output | 0.00059456 | 0.0008165 | 0.0012002 | 0.0 | 0.02 +Modify | 0.59336 | 0.64066 | 0.6864 | 4.3 | 15.77 +Other | | 0.05122 | | | 1.26 + +Nlocal: 750 ave 1032 max 463 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 426.5 ave 482 max 375 min +Histogram: 1 1 0 0 0 0 0 1 0 1 +Neighs: 4164.25 ave 6310 max 1941 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 16657 +Ave neighs/atom = 5.5523333 +Neighbor list builds = 1114 +Dangerous builds = 0 +Total wall time: 0:00:04 diff --git a/examples/granular/log.15Sep22.pour.heat.g++.1 b/examples/granular/log.15Sep22.pour.heat.g++.1 new file mode 100644 index 0000000000..d232752c74 --- /dev/null +++ b/examples/granular/log.15Sep22.pour.heat.g++.1 @@ -0,0 +1,1172 @@ +LAMMPS (15 Sep 2022) +# pour one types of particles into cylinder and oscillate +# temperature of the bottom plate + +variable name string heat_plate + +atom_style sphere/temp +units lj + +############################################### +# Geometry-related parameters +############################################### + +variable boxx equal 10 +variable boxy equal 10 +variable boxz equal 50 + +variable drum_rad equal ${boxx}*0.5 +variable drum_rad equal 10*0.5 +variable drum_height equal 30 + +variable xc equal 0.5*${boxx} +variable xc equal 0.5*10 +variable yc equal 0.5*${boxx} +variable yc equal 0.5*10 +variable zc equal 0.5*${boxz} +variable zc equal 0.5*50 + +############################################### +# Particle-related parameters +############################################### +variable rlo equal 0.25 +variable rhi equal 0.5 +variable dlo equal 2.0*${rlo} +variable dlo equal 2.0*0.25 +variable dhi equal 2.0*${rhi} +variable dhi equal 2.0*0.5 + +variable cyl_rad_inner equal ${drum_rad}-1.1*${rhi} +variable cyl_rad_inner equal 5-1.1*${rhi} +variable cyl_rad_inner equal 5-1.1*0.5 + +variable dens equal 1.0 + +variable skin equal 0.4*${rhi} +variable skin equal 0.4*0.5 + +############# +processors * * 1 +region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz} +region boxreg block 0 10 0 ${boxy} 0 ${boxz} +region boxreg block 0 10 0 10 0 ${boxz} +region boxreg block 0 10 0 10 0 50 +create_box 2 boxreg +Created orthogonal box = (0 0 0) to (10 10 50) + 1 by 1 by 1 MPI processor grid +change_box all boundary p p f +Changing box ... + +pair_style granular +pair_coeff * * hertz/material 1e5 0.2 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji heat area 5.0 + +region curved_wall cylinder z ${xc} ${yc} ${drum_rad} 0 ${drum_height} side in +region curved_wall cylinder z 5 ${yc} ${drum_rad} 0 ${drum_height} side in +region curved_wall cylinder z 5 5 ${drum_rad} 0 ${drum_height} side in +region curved_wall cylinder z 5 5 5 0 ${drum_height} side in +region curved_wall cylinder z 5 5 5 0 30 side in +region bottom_wall plane ${xc} ${yc} 0 0 0 1 side in +region bottom_wall plane 5 ${yc} 0 0 0 1 side in +region bottom_wall plane 5 5 0 0 0 1 side in + +region insreg cylinder z ${xc} ${yc} ${cyl_rad_inner} ${drum_height} ${boxz} +region insreg cylinder z 5 ${yc} ${cyl_rad_inner} ${drum_height} ${boxz} +region insreg cylinder z 5 5 ${cyl_rad_inner} ${drum_height} ${boxz} +region insreg cylinder z 5 5 4.45 ${drum_height} ${boxz} +region insreg cylinder z 5 5 4.45 30 ${boxz} +region insreg cylinder z 5 5 4.45 30 50 + +fix 0 all balance 100 1.0 shift xy 5 1.1 +fix 1 all nve/sphere +fix 2 all heat/flow/sphere/temp constant 1.0 +fix grav all gravity 10 vector 0 0 -1 +fix ins1 all pour 1000 1 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens} +fix ins1 all pour 1000 1 1234 region insreg diam range 0.5 ${dhi} dens ${dens} ${dens} +fix ins1 all pour 1000 1 1234 region insreg diam range 0.5 1 dens ${dens} ${dens} +fix ins1 all pour 1000 1 1234 region insreg diam range 0.5 1 dens 1 ${dens} +fix ins1 all pour 1000 1 1234 region insreg diam range 0.5 1 dens 1 1 +Particle insertion: 594 every 400 steps, 1000 by step 401 +fix ins2 all pour 1000 2 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens} +fix ins2 all pour 1000 2 1234 region insreg diam range 0.5 ${dhi} dens ${dens} ${dens} +fix ins2 all pour 1000 2 1234 region insreg diam range 0.5 1 dens ${dens} ${dens} +fix ins2 all pour 1000 2 1234 region insreg diam range 0.5 1 dens 1 ${dens} +fix ins2 all pour 1000 2 1234 region insreg diam range 0.5 1 dens 1 1 +Particle insertion: 594 every 400 steps, 1000 by step 401 + +comm_modify vel yes + +neighbor ${skin} bin +neighbor 0.2 bin +neigh_modify delay 0 every 1 check yes + +variable oscillate equal 1.0*sin(step*0.0001) + +fix 3 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region curved_wall +fix 4 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji heat area 5.0 region bottom_wall temperature v_oscillate + +thermo_style custom step atoms ke pxx pyy pzz +thermo_modify lost warn +thermo 100 + +timestep 0.001 + +#dump 1 all custom 1000 ${name}.dump id type radius mass x y z temperature heatflow + +#For removal later +compute 1 all property/atom radius +variable zmax atom z+c_1>0.5*${drum_height} +variable zmax atom z+c_1>0.5*30 +group delgroup dynamic all var zmax every 10000 +dynamic group delgroup defined + +run 100000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.2 + ghost atom cutoff = 1.2 + binsize = 0.6, bins = 17 17 84 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair granular, perpetual + attributes: half, newton on, size, history + pair build: half/size/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.944 | 5.944 | 5.944 Mbytes + Step Atoms KinEng Pxx Pyy Pzz + 0 0 -0 0 0 0 +WARNING: Less insertions than requested (../fix_pour.cpp:681) +WARNING: Less insertions than requested (../fix_pour.cpp:681) + 100 536 -0 0 0 7.4220499 + 200 536 -0 0 0 10.753096 + 300 536 -0 0 0 13.500241 + 400 536 -0 0 0 18.036636 +WARNING: Less insertions than requested (../fix_pour.cpp:681) +WARNING: Less insertions than requested (../fix_pour.cpp:681) + 500 903 -0 0 0 25.955524 + 600 903 -0 0 0 32.116907 + 700 903 -0 0.03620165 0.033499977 32.179357 + 800 903 -0 0.2106713 0.26431108 36.206318 +WARNING: Less insertions than requested (../fix_pour.cpp:681) + 900 1265 -0 0.2667335 0.20266671 44.177757 + 1000 1265 -0 0.51829264 0.67739216 49.904079 + 1100 1265 -0 0.87526847 0.66040207 53.13465 + 1200 1265 -0 0.7989492 0.81976513 54.277194 +WARNING: Less insertions than requested (../fix_pour.cpp:681) + 1300 1618 -0 1.0736038 1.2317728 60.921948 + 1400 1618 -0 3.6835952 3.1929764 60.725834 + 1500 1618 -0 2.756994 2.611876 61.575807 + 1600 1618 -0 3.3981246 3.253067 61.920098 + 1700 2000 -0 3.8273855 3.6731016 68.643557 + 1800 2000 -0 4.7528855 4.4495018 69.914035 + 1900 2000 -0 5.1197897 5.3612522 76.341875 + 2000 2000 -0 7.4609619 7.3959134 76.619654 + 2100 2000 -0 6.8808532 7.6237902 73.684129 + 2200 2000 -0 10.034925 9.4881564 72.897703 + 2300 2000 -0 10.110575 10.379096 70.330499 + 2400 2000 -0 12.458237 12.285825 68.726515 + 2500 2000 -0 11.081771 11.120864 59.216898 + 2600 2000 -0 11.441977 11.532286 57.698842 + 2700 2000 -0 12.285359 11.905254 56.086117 + 2800 2000 -0 13.392058 13.168532 54.678918 + 2900 2000 -0 12.439277 12.212282 49.214122 + 3000 2000 -0 11.12664 11.09865 43.35763 + 3100 2000 -0 12.899283 12.735645 45.72121 + 3200 2000 -0 13.397802 12.892421 40.82795 + 3300 2000 -0 11.935141 11.858897 33.412627 + 3400 2000 -0 12.005889 11.539848 29.290034 + 3500 2000 -0 13.311405 13.11741 27.54997 + 3600 2000 -0 11.985219 11.954031 21.79518 + 3700 2000 -0 10.728636 9.800667 14.497682 + 3800 2000 -0 10.082744 9.6420894 12.241554 + 3900 2000 -0 9.6227604 9.1331298 10.31104 + 4000 2000 -0 8.9197423 8.5118438 7.6564098 + 4100 2000 -0 8.224539 7.765121 6.4246439 + 4200 2000 -0 7.8352874 7.3855212 5.9657978 + 4300 2000 -0 7.84891 7.3973377 6.2217099 + 4400 2000 -0 7.9743441 7.5242803 6.7082653 + 4500 2000 -0 7.9906412 7.5831386 6.7093176 + 4600 2000 -0 7.9382395 7.4929459 6.4150432 + 4700 2000 -0 7.9318996 7.4971722 6.4746841 + 4800 2000 -0 7.9685751 7.5471868 6.6574514 + 4900 2000 -0 7.9524289 7.516294 6.5660525 + 5000 2000 -0 7.9378811 7.5115542 6.5001617 + 5100 2000 -0 7.9266301 7.5073503 6.5253548 + 5200 2000 -0 7.9434374 7.5177496 6.5845847 + 5300 2000 -0 7.9305032 7.5191693 6.5372085 + 5400 2000 -0 7.9402877 7.5254309 6.5520449 + 5500 2000 -0 7.9427052 7.5280949 6.5557961 + 5600 2000 -0 7.9391493 7.5233972 6.5331874 + 5700 2000 -0 7.9399937 7.5202519 6.543535 + 5800 2000 -0 7.9398529 7.5228566 6.54443 + 5900 2000 -0 7.9410688 7.5260002 6.5435973 + 6000 2000 -0 7.941019 7.5216292 6.5431831 + 6100 2000 -0 7.9390808 7.5219254 6.5415317 + 6200 2000 -0 7.9481596 7.5395611 6.5622388 + 6300 2000 -0 7.9490652 7.5315638 6.5562056 + 6400 2000 -0 7.9427506 7.5243388 6.5431344 + 6500 2000 -0 7.9452629 7.5265503 6.5495796 + 6600 2000 -0 7.9458414 7.5249099 6.5533876 + 6700 2000 -0 7.94418 7.525769 6.5394106 + 6800 2000 -0 7.943729 7.5287032 6.5405826 + 6900 2000 -0 7.947609 7.5300725 6.5559575 + 7000 2000 -0 7.9443102 7.5257838 6.5463817 + 7100 2000 -0 7.9441301 7.5276861 6.5381619 + 7200 2000 -0 7.9454486 7.5282359 6.5456825 + 7300 2000 -0 7.945263 7.5286763 6.5512798 + 7400 2000 -0 7.9420874 7.527752 6.5445142 + 7500 2000 -0 7.9441062 7.5272938 6.5441649 + 7600 2000 -0 7.9457317 7.528108 6.5503985 + 7700 2000 -0 7.9440802 7.5278111 6.5470895 + 7800 2000 -0 7.9431937 7.5265385 6.541355 + 7900 2000 -0 7.9443162 7.5279484 6.5500105 + 8000 2000 -0 7.9494361 7.5285053 6.5534428 + 8100 2000 -0 7.946984 7.5263991 6.5455634 + 8200 2000 -0 7.9484464 7.5274982 6.5494966 + 8300 2000 -0 7.9481535 7.5274655 6.5501241 + 8400 2000 -0 7.9479539 7.5273074 6.5488317 + 8500 2000 -0 7.9485734 7.5277795 6.5512236 + 8600 2000 -0 7.9479221 7.528244 6.5500855 + 8700 2000 -0 7.9478183 7.5276603 6.5489063 + 8800 2000 -0 7.948203 7.5284835 6.5517141 + 8900 2000 -0 7.9485476 7.5282914 6.5523536 + 9000 2000 -0 7.9480852 7.527842 6.5485105 + 9100 2000 -0 7.9503303 7.5292996 6.5521516 + 9200 2000 -0 7.9484069 7.5284723 6.5532887 + 9300 2000 -0 7.9477781 7.5273643 6.5479285 + 9400 2000 -0 7.9480058 7.5281007 6.5494258 + 9500 2000 -0 7.9502363 7.5292831 6.5551525 + 9600 2000 -0 7.9491036 7.5284568 6.5495709 + 9700 2000 -0 7.9486046 7.5277883 6.5479749 + 9800 2000 -0 7.949523 7.5288246 6.5522055 + 9900 2000 -0 7.9494267 7.5284447 6.5514459 + 10000 2000 -0 7.9488016 7.5280346 6.5482727 + 10100 2000 -0 7.9490863 7.5283793 6.5508377 + 10200 2000 -0 7.9494738 7.5286559 6.5521934 + 10300 2000 -0 7.94897 7.5280769 6.5494088 + 10400 2000 -0 7.9491066 7.52825 6.5501939 + 10500 2000 -0 7.9493209 7.5285384 6.5519118 + 10600 2000 -0 7.9491644 7.5282301 6.5502712 + 10700 2000 -0 7.9491801 7.5281441 6.5499963 + 10800 2000 -0 7.9493282 7.5284381 6.5515091 + 10900 2000 -0 7.9492367 7.5283402 6.5507061 + 11000 2000 -0 7.9491668 7.5282029 6.5500415 + 11100 2000 -0 7.9493582 7.5283461 6.5510357 + 11200 2000 -0 7.949305 7.5283898 6.55098 + 11300 2000 -0 7.9491619 7.5282773 6.5501609 + 11400 2000 -0 7.9492854 7.5283288 6.5506804 + 11500 2000 -0 7.9493516 7.5283815 6.5509932 + 11600 2000 -0 7.9492185 7.5283196 6.5504137 + 11700 2000 -0 7.9492341 7.5283288 6.5505111 + 11800 2000 -0 7.9493062 7.5283673 6.5508542 + 11900 2000 -0 7.9492738 7.5283272 6.5506104 + 12000 2000 -0 7.9492546 7.5283062 6.5505492 + 12100 2000 -0 7.9492631 7.5283416 6.5507445 + 12200 2000 -0 7.9492627 7.5283173 6.5506804 + 12300 2000 -0 7.9492692 7.5282802 6.5506371 + 12400 2000 -0 7.9492646 7.5282953 6.550753 + 12500 2000 -0 7.9492316 7.5282905 6.5507057 + 12600 2000 -0 7.9492342 7.5282624 6.5506826 + 12700 2000 -0 7.9492517 7.5282775 6.5507828 + 12800 2000 -0 7.9492092 7.5282666 6.5507381 + 12900 2000 -0 7.9491704 7.528266 6.550672 + 13000 2000 -0 7.9491743 7.5282771 6.550743 + 13100 2000 -0 7.9491605 7.5282824 6.5507079 + 13200 2000 -0 7.9491217 7.5282926 6.5506177 + 13300 2000 -0 7.9491063 7.5283202 6.5506443 + 13400 2000 -0 7.949103 7.5283325 6.5506231 + 13500 2000 -0 7.9490907 7.5283364 6.5505438 + 13600 2000 -0 7.9490835 7.5283584 6.5505599 + 13700 2000 -0 7.9490777 7.5283759 6.5505599 + 13800 2000 -0 7.9490712 7.5283756 6.5504932 + 13900 2000 -0 7.9490785 7.5283817 6.5505065 + 14000 2000 -0 7.9490815 7.5283933 6.5505387 + 14100 2000 -0 7.9490684 7.528393 6.5504862 + 14200 2000 -0 7.9490688 7.5283905 6.5504794 + 14300 2000 -0 7.9490814 7.5283907 6.5505315 + 14400 2000 -0 7.9490755 7.5283879 6.5505125 + 14500 2000 -0 7.949065 7.5283808 6.5504867 + 14600 2000 -0 7.9490721 7.5283768 6.5505326 + 14700 2000 -0 7.9490774 7.5283658 6.5505527 + 14800 2000 -0 7.9490719 7.5283503 6.5505371 + 14900 2000 -0 7.9490734 7.5283397 6.5505695 + 15000 2000 -0 7.9490832 7.5283255 6.5506123 + 15100 2000 -0 7.9490922 7.5283034 6.5506235 + 15200 2000 -0 7.9491032 7.5282854 6.550654 + 15300 2000 -0 7.9491184 7.5282713 6.5507005 + 15400 2000 -0 7.9491364 7.5282536 6.5507233 + 15500 2000 -0 7.9491577 7.5282382 6.5507454 + 15600 2000 -0 7.949183 7.5282317 6.550776 + 15700 2000 -0 7.9491951 7.5282268 6.5507835 + 15800 2000 -0 7.9492105 7.5282249 6.5507815 + 15900 2000 -0 7.9492261 7.5282273 6.5507862 + 16000 2000 -0 7.949236 7.5282329 6.5507802 + 16100 2000 -0 7.9492433 7.5282403 6.5507646 + 16200 2000 -0 7.9492443 7.5282461 6.5507548 + 16300 2000 -0 7.9492487 7.528255 6.5507491 + 16400 2000 -0 7.9492492 7.5282612 6.5507372 + 16500 2000 -0 7.9492486 7.5282664 6.5507287 + 16600 2000 -0 7.9492482 7.5282702 6.5507259 + 16700 2000 -0 7.9492484 7.528271 6.550724 + 16800 2000 -0 7.949248 7.5282702 6.550724 + 16900 2000 -0 7.9492465 7.5282682 6.5507268 + 17000 2000 -0 7.9492458 7.5282638 6.550732 + 17100 2000 -0 7.9492503 7.5282577 6.5507415 + 17200 2000 -0 7.949245 7.528249 6.5507522 + 17300 2000 -0 7.949242 7.5282399 6.5507633 + 17400 2000 -0 7.9492423 7.5282314 6.5507781 + 17500 2000 -0 7.9492337 7.5282196 6.5507929 + 17600 2000 -0 7.9492257 7.5282097 6.5508056 + 17700 2000 -0 7.9492144 7.528202 6.5508153 + 17800 2000 -0 7.9492005 7.5281972 6.5508223 + 17900 2000 -0 7.9491836 7.5281958 6.5508215 + 18000 2000 -0 7.949164 7.5281986 6.550812 + 18100 2000 -0 7.949143 7.5282062 6.5507959 + 18200 2000 -0 7.9491222 7.5282177 6.550773 + 18300 2000 -0 7.9491032 7.5282315 6.5507447 + 18400 2000 -0 7.9490869 7.5282471 6.5507157 + 18500 2000 -0 7.9490738 7.5282631 6.5506876 + 18600 2000 -0 7.9490639 7.5282782 6.5506612 + 18700 2000 -0 7.9490575 7.5282917 6.5506397 + 18800 2000 -0 7.9490536 7.5283031 6.5506231 + 18900 2000 -0 7.9490511 7.5283122 6.5506095 + 19000 2000 -0 7.9490498 7.528319 6.5505999 + 19100 2000 -0 7.9490494 7.5283236 6.5505947 + 19200 2000 -0 7.9490504 7.5283266 6.5505913 + 19300 2000 -0 7.9490487 7.5283271 6.5505908 + 19400 2000 -0 7.9490481 7.5283251 6.5505927 + 19500 2000 -0 7.9490469 7.5283215 6.550597 + 19600 2000 -0 7.949046 7.5283161 6.5506036 + 19700 2000 -0 7.9490455 7.5283086 6.5506131 + 19800 2000 -0 7.9490454 7.5282989 6.5506262 + 19900 2000 -0 7.9490466 7.528287 6.550643 + 20000 2000 -0 7.9490497 7.5282729 6.5506641 + 20100 2000 -0 7.9490553 7.5282568 6.5506893 + 20200 2000 -0 7.949064 7.5282394 6.5507187 + 20300 2000 -0 7.9490762 7.5282213 6.5507507 + 20400 2000 -0 7.949092 7.5282037 6.5507836 + 20500 2000 -0 7.94911 7.5281878 6.5508144 + 20600 2000 -0 7.9491297 7.5281748 6.5508407 + 20700 2000 -0 7.9491494 7.5281658 6.5508604 + 20800 2000 -0 7.9491678 7.528161 6.5508721 + 20900 2000 -0 7.9491837 7.5281604 6.5508761 + 21000 2000 -0 7.9491965 7.5281634 6.5508735 + 21100 2000 -0 7.949206 7.5281691 6.5508664 + 21200 2000 -0 7.9492125 7.5281763 6.5508566 + 21300 2000 -0 7.9492165 7.5281841 6.5508459 + 21400 2000 -0 7.9492186 7.5281916 6.5508355 + 21500 2000 -0 7.9492193 7.5281981 6.5508266 + 21600 2000 -0 7.9492209 7.5282042 6.5508206 + 21700 2000 -0 7.9492183 7.5282068 6.5508151 + 21800 2000 -0 7.9492181 7.5282082 6.550813 + 21900 2000 -0 7.9492172 7.5282078 6.5508133 + 22000 2000 -0 7.9492165 7.5282053 6.5508164 + 22100 2000 -0 7.949216 7.5282009 6.5508221 + 22200 2000 -0 7.9492152 7.5281947 6.5508303 + 22300 2000 -0 7.9492139 7.5281868 6.5508407 + 22400 2000 -0 7.9492119 7.5281776 6.5508533 + 22500 2000 -0 7.9492085 7.5281675 6.5508672 + 22600 2000 -0 7.9492032 7.5281571 6.5508813 + 22700 2000 -0 7.9491954 7.5281475 6.5508947 + 22800 2000 -0 7.9491847 7.5281397 6.5509055 + 22900 2000 -0 7.9491707 7.5281345 6.5509114 + 23000 2000 -0 7.9491537 7.5281331 6.5509109 + 23100 2000 -0 7.9491342 7.528136 6.5509027 + 23200 2000 -0 7.9491134 7.5281433 6.5508866 + 23300 2000 -0 7.9490926 7.5281544 6.5508637 + 23400 2000 -0 7.9490734 7.5281684 6.5508363 + 23500 2000 -0 7.9490569 7.528184 6.550807 + 23600 2000 -0 7.9490436 7.5281999 6.5507785 + 23700 2000 -0 7.9490338 7.5282151 6.5507528 + 23800 2000 -0 7.9490271 7.5282287 6.550731 + 23900 2000 -0 7.9490229 7.5282402 6.5507135 + 24000 2000 -0 7.949022 7.5282475 6.5507052 + 24100 2000 -0 7.9490192 7.5282571 6.5506903 + 24200 2000 -0 7.9490187 7.5282612 6.5506857 + 24300 2000 -0 7.9490182 7.5282637 6.5506814 + 24400 2000 -0 7.9490176 7.5282644 6.5506802 + 24500 2000 -0 7.9490169 7.5282632 6.5506827 + 24600 2000 -0 7.9490162 7.52826 6.5506869 + 24700 2000 -0 7.949015 7.5282547 6.5506925 + 24800 2000 -0 7.9490143 7.5282475 6.5507019 + 24900 2000 -0 7.9490142 7.5282382 6.5507152 + 25000 2000 -0 7.949015 7.5282266 6.5507309 + 25100 2000 -0 7.9490178 7.5282127 6.5507512 + 25200 2000 -0 7.9490231 7.5281971 6.5507767 + 25300 2000 -0 7.9490313 7.5281798 6.5508053 + 25400 2000 -0 7.949043 7.5281617 6.5508367 + 25500 2000 -0 7.9490581 7.5281441 6.5508697 + 25600 2000 -0 7.949076 7.5281281 6.5509009 + 25700 2000 -0 7.9490959 7.528112 6.550928 + 25800 2000 -0 7.9491161 7.5281041 6.5509477 + 25900 2000 -0 7.9491345 7.5280996 6.5509612 + 26000 2000 -0 7.9491506 7.5280986 6.5509657 + 26100 2000 -0 7.9491638 7.5281011 6.5509636 + 26200 2000 -0 7.949174 7.5281064 6.5509573 + 26300 2000 -0 7.949181 7.5281134 6.5509475 + 26400 2000 -0 7.9491854 7.5281211 6.5509367 + 26500 2000 -0 7.9491879 7.5281286 6.5509264 + 26600 2000 -0 7.9491889 7.5281353 6.5509172 + 26700 2000 -0 7.9491886 7.5281409 6.5509104 + 26800 2000 -0 7.9491886 7.5281441 6.5509048 + 26900 2000 -0 7.9491879 7.5281458 6.5509024 + 27000 2000 -0 7.9491875 7.5281457 6.5509025 + 27100 2000 -0 7.949187 7.5281435 6.5509052 + 27200 2000 -0 7.9491866 7.5281393 6.5509102 + 27300 2000 -0 7.9491861 7.5281333 6.5509181 + 27400 2000 -0 7.9491851 7.5281257 6.5509283 + 27500 2000 -0 7.9491834 7.5281166 6.5509402 + 27600 2000 -0 7.9491805 7.5281065 6.550954 + 27700 2000 -0 7.9491758 7.5280961 6.5509683 + 27800 2000 -0 7.9491687 7.5280862 6.5509818 + 27900 2000 -0 7.9491588 7.5280779 6.5509931 + 28000 2000 -0 7.9491457 7.5280721 6.5510002 + 28100 2000 -0 7.9491294 7.5280699 6.551001 + 28200 2000 -0 7.9491105 7.5280718 6.5509942 + 28300 2000 -0 7.9490901 7.5280782 6.5509797 + 28400 2000 -0 7.9490695 7.5280885 6.550958 + 28500 2000 -0 7.9490501 7.5281019 6.5509312 + 28600 2000 -0 7.9490332 7.5281172 6.5509022 + 28700 2000 -0 7.9490195 7.5281331 6.5508735 + 28800 2000 -0 7.9490075 7.528149 6.5508475 + 28900 2000 -0 7.9490015 7.528163 6.5508246 + 29000 2000 -0 7.9489976 7.5281742 6.5508062 + 29100 2000 -0 7.9489952 7.5281837 6.5507921 + 29200 2000 -0 7.948994 7.5281911 6.550782 + 29300 2000 -0 7.9489934 7.5281962 6.5507753 + 29400 2000 -0 7.9489932 7.5281992 6.5507715 + 29500 2000 -0 7.9489929 7.5282002 6.5507702 + 29600 2000 -0 7.9489925 7.5281992 6.5507714 + 29700 2000 -0 7.9489918 7.5281964 6.5507748 + 29800 2000 -0 7.948991 7.5281916 6.5507805 + 29900 2000 -0 7.9489903 7.5281848 6.5507891 + 30000 2000 -0 7.9489901 7.5281759 6.5508007 + 30100 2000 -0 7.9489909 7.5281648 6.5508159 + 30200 2000 -0 7.9489933 7.5281515 6.5508353 + 30300 2000 -0 7.948998 7.5281362 6.550859 + 30400 2000 -0 7.9490056 7.5281192 6.5508868 + 30500 2000 -0 7.9490165 7.5281012 6.5509178 + 30600 2000 -0 7.9490309 7.5280833 6.5509503 + 30700 2000 -0 7.9490483 7.5280667 6.5509821 + 30800 2000 -0 7.9490676 7.5280525 6.5510103 + 30900 2000 -0 7.9490876 7.5280418 6.5510325 + 31000 2000 -0 7.9491067 7.5280353 6.5510472 + 31100 2000 -0 7.9491237 7.5280331 6.551054 + 31200 2000 -0 7.9491378 7.5280348 6.5510539 + 31300 2000 -0 7.9491487 7.5280394 6.5510483 + 31400 2000 -0 7.9491564 7.5280461 6.5510392 + 31500 2000 -0 7.9491615 7.5280537 6.5510287 + 31600 2000 -0 7.9491644 7.5280614 6.551018 + 31700 2000 -0 7.9491657 7.5280683 6.5510084 + 31800 2000 -0 7.949166 7.528074 6.5510005 + 31900 2000 -0 7.9491658 7.5280781 6.5509948 + 32000 2000 -0 7.9491652 7.5280804 6.5509914 + 32100 2000 -0 7.949165 7.5280809 6.5509907 + 32200 2000 -0 7.9491641 7.5280793 6.5509925 + 32300 2000 -0 7.9491637 7.5280757 6.5509969 + 32400 2000 -0 7.9491632 7.5280703 6.5510038 + 32500 2000 -0 7.9491625 7.5280632 6.5510132 + 32600 2000 -0 7.9491611 7.5280545 6.5510247 + 32700 2000 -0 7.9491587 7.5280447 6.5510379 + 32800 2000 -0 7.9491546 7.5280344 6.551052 + 32900 2000 -0 7.9491484 7.5280242 6.5510659 + 33000 2000 -0 7.9491395 7.5280153 6.5510781 + 33100 2000 -0 7.9491275 7.5280085 6.5510867 + 33200 2000 -0 7.9491123 7.528005 6.5510898 + 33300 2000 -0 7.9490942 7.5280055 6.5510857 + 33400 2000 -0 7.9490743 7.5280104 6.5510737 + 33500 2000 -0 7.9490536 7.5280195 6.5510543 + 33600 2000 -0 7.9490337 7.5280319 6.5510291 + 33700 2000 -0 7.9490159 7.5280467 6.5510006 + 33800 2000 -0 7.9490011 7.5280624 6.5509715 + 33900 2000 -0 7.9489897 7.528078 6.5509442 + 34000 2000 -0 7.9489816 7.5280924 6.5509203 + 34100 2000 -0 7.9489763 7.528105 6.5509004 + 34200 2000 -0 7.9489732 7.5281155 6.5508849 + 34300 2000 -0 7.9489717 7.5281236 6.5508735 + 34400 2000 -0 7.948971 7.5281295 6.5508656 + 34500 2000 -0 7.9489707 7.5281332 6.5508608 + 34600 2000 -0 7.9489705 7.5281349 6.5508586 + 34700 2000 -0 7.9489701 7.5281347 6.5508588 + 34800 2000 -0 7.9489695 7.5281326 6.5508613 + 34900 2000 -0 7.9489672 7.5281294 6.5508657 + 35000 2000 -0 7.9489679 7.5281227 6.5508731 + 35100 2000 -0 7.9489674 7.5281145 6.5508833 + 35200 2000 -0 7.9489677 7.5281044 6.5508973 + 35300 2000 -0 7.9489695 7.5280919 6.550915 + 35400 2000 -0 7.948973 7.5280774 6.5509365 + 35500 2000 -0 7.9489794 7.5280611 6.5509628 + 35600 2000 -0 7.9489889 7.5280435 6.5509926 + 35700 2000 -0 7.9490018 7.5280255 6.5510245 + 35800 2000 -0 7.949018 7.5280082 6.5510567 + 35900 2000 -0 7.9490366 7.5279929 6.5510867 + 36000 2000 -0 7.9490564 7.5279807 6.5511115 + 36100 2000 -0 7.949076 7.5279725 6.5511293 + 36200 2000 -0 7.949094 7.5279685 6.5511394 + 36300 2000 -0 7.9491093 7.5279687 6.5511419 + 36400 2000 -0 7.9491215 7.5279722 6.5511382 + 36500 2000 -0 7.9491305 7.5279782 6.5511304 + 36600 2000 -0 7.9491366 7.5279855 6.5511203 + 36700 2000 -0 7.9491403 7.5279933 6.5511095 + 36800 2000 -0 7.9491422 7.5280006 6.5510994 + 36900 2000 -0 7.9491429 7.5280069 6.5510907 + 37000 2000 -0 7.9491428 7.5280118 6.551084 + 37100 2000 -0 7.9491423 7.5280149 6.5510796 + 37200 2000 -0 7.9491417 7.5280162 6.5510777 + 37300 2000 -0 7.9491412 7.5280155 6.5510784 + 37400 2000 -0 7.9491407 7.5280129 6.5510816 + 37500 2000 -0 7.9491403 7.5280083 6.5510874 + 37600 2000 -0 7.9491397 7.528002 6.5510957 + 37700 2000 -0 7.9491387 7.527994 6.5511062 + 37800 2000 -0 7.9491368 7.5279847 6.5511187 + 37900 2000 -0 7.9491337 7.5279745 6.5511324 + 38000 2000 -0 7.9491286 7.5279642 6.5511466 + 38100 2000 -0 7.9491211 7.5279546 6.5511598 + 38200 2000 -0 7.9491106 7.5279467 6.5511704 + 38300 2000 -0 7.9490969 7.5279415 6.5511764 + 38400 2000 -0 7.9490802 7.52794 6.5511759 + 38500 2000 -0 7.9490611 7.5279428 6.5511678 + 38600 2000 -0 7.9490407 7.5279499 6.5511519 + 38700 2000 -0 7.9490203 7.5279608 6.5511293 + 38800 2000 -0 7.9490014 7.5279745 6.5511022 + 38900 2000 -0 7.9489851 7.5279899 6.5510732 + 39000 2000 -0 7.9489721 7.5280057 6.5510448 + 39100 2000 -0 7.9489624 7.5280208 6.5510192 + 39200 2000 -0 7.9489558 7.5280344 6.5509973 + 39300 2000 -0 7.9489516 7.528046 6.5509797 + 39400 2000 -0 7.9489493 7.5280554 6.5509663 + 39500 2000 -0 7.9489481 7.5280625 6.5509567 + 39600 2000 -0 7.9489476 7.5280674 6.5509503 + 39700 2000 -0 7.9489475 7.5280702 6.5509463 + 39800 2000 -0 7.9489472 7.5280711 6.5509448 + 39900 2000 -0 7.9489468 7.5280701 6.5509455 + 40000 2000 -0 7.9489461 7.5280673 6.5509484 + 40100 2000 -0 7.9489453 7.5280625 6.5509538 + 40200 2000 -0 7.9489445 7.5280556 6.5509619 + 40300 2000 -0 7.9489443 7.5280466 6.550973 + 40400 2000 -0 7.948945 7.5280353 6.5509879 + 40500 2000 -0 7.9489474 7.5280219 6.5510068 + 40600 2000 -0 7.9489521 7.5280065 6.5510299 + 40700 2000 -0 7.9489597 7.5279895 6.5510571 + 40800 2000 -0 7.9489706 7.5279716 6.5510876 + 40900 2000 -0 7.9489848 7.5279537 6.5511196 + 41000 2000 -0 7.9490019 7.5279372 6.5511508 + 41100 2000 -0 7.949021 7.5279231 6.5511783 + 41200 2000 -0 7.9490405 7.5279137 6.5512001 + 41300 2000 -0 7.9490593 7.5279062 6.551214 + 41400 2000 -0 7.9490759 7.527904 6.5512202 + 41500 2000 -0 7.9490897 7.5279058 6.5512195 + 41600 2000 -0 7.9491004 7.5279105 6.5512136 + 41700 2000 -0 7.9491078 7.5279171 6.5512042 + 41800 2000 -0 7.9491126 7.5279247 6.5511933 + 41900 2000 -0 7.9491153 7.5279324 6.5511823 + 42000 2000 -0 7.9491164 7.5279393 6.5511724 + 42100 2000 -0 7.9491165 7.527945 6.5511641 + 42200 2000 -0 7.949116 7.5279491 6.5511581 + 42300 2000 -0 7.9491153 7.5279515 6.5511543 + 42400 2000 -0 7.9491145 7.5279519 6.5511532 + 42500 2000 -0 7.9491138 7.5279504 6.5511545 + 42600 2000 -0 7.9491132 7.527947 6.5511584 + 42700 2000 -0 7.9491125 7.5279417 6.5511649 + 42800 2000 -0 7.9491115 7.5279347 6.5511737 + 42900 2000 -0 7.9491099 7.5279262 6.5511847 + 43000 2000 -0 7.9491074 7.5279165 6.5511975 + 43100 2000 -0 7.9491033 7.5279061 6.5512112 + 43200 2000 -0 7.9490971 7.5278959 6.5512249 + 43300 2000 -0 7.9490883 7.5278868 6.5512371 + 43400 2000 -0 7.9490764 7.5278798 6.5512459 + 43500 2000 -0 7.9490614 7.5278759 6.5512494 + 43600 2000 -0 7.9490435 7.5278759 6.5512459 + 43700 2000 -0 7.9490235 7.5278802 6.5512346 + 43800 2000 -0 7.9490027 7.5278887 6.5512158 + 43900 2000 -0 7.9489825 7.5279007 6.551191 + 44000 2000 -0 7.9489642 7.5279152 6.5511627 + 44100 2000 -0 7.9489489 7.5279308 6.5511334 + 44200 2000 -0 7.9489368 7.5279464 6.5511056 + 44300 2000 -0 7.9489281 7.5279609 6.5510809 + 44400 2000 -0 7.9489222 7.5279737 6.5510603 + 44500 2000 -0 7.9489186 7.5279844 6.551044 + 44600 2000 -0 7.9489166 7.5279929 6.5510317 + 44700 2000 -0 7.9489156 7.527999 6.551023 + 44800 2000 -0 7.948915 7.5280031 6.5510175 + 44900 2000 -0 7.9489146 7.5280051 6.5510146 + 45000 2000 -0 7.948914 7.5280052 6.5510141 + 45100 2000 -0 7.9489131 7.5280035 6.5510158 + 45200 2000 -0 7.948912 7.5279999 6.5510197 + 45300 2000 -0 7.9489109 7.5279944 6.5510261 + 45400 2000 -0 7.94891 7.5279869 6.5510353 + 45500 2000 -0 7.9489098 7.5279772 6.5510478 + 45600 2000 -0 7.9489107 7.5279654 6.551064 + 45700 2000 -0 7.9489134 7.5279514 6.5510843 + 45800 2000 -0 7.9489186 7.5279356 6.5511089 + 45900 2000 -0 7.9489269 7.5279183 6.5511373 + 46000 2000 -0 7.9489386 7.5279003 6.5511685 + 46100 2000 -0 7.9489535 7.5278828 6.5512004 + 46200 2000 -0 7.9489712 7.5278669 6.5512307 + 46300 2000 -0 7.9489904 7.5278538 6.5512567 + 46400 2000 -0 7.9490097 7.5278445 6.5512762 + 46500 2000 -0 7.9490278 7.5278394 6.551288 + 46600 2000 -0 7.9490435 7.5278384 6.5512921 + 46700 2000 -0 7.9490563 7.5278411 6.5512897 + 46800 2000 -0 7.9490658 7.5278464 6.5512826 + 46900 2000 -0 7.9490723 7.5278535 6.5512727 + 47000 2000 -0 7.9490763 7.5278612 6.5512617 + 47100 2000 -0 7.9490784 7.5278687 6.5512509 + 47200 2000 -0 7.949079 7.5278753 6.5512414 + 47300 2000 -0 7.9490788 7.5278807 6.5512337 + 47400 2000 -0 7.9490781 7.5278843 6.5512283 + 47500 2000 -0 7.9490772 7.5278862 6.5512252 + 47600 2000 -0 7.9490763 7.5278863 6.5512251 + 47700 2000 -0 7.9490756 7.5278844 6.5512274 + 47800 2000 -0 7.9490749 7.5278805 6.5512317 + 47900 2000 -0 7.9490741 7.5278748 6.5512387 + 48000 2000 -0 7.949073 7.5278674 6.5512483 + 48100 2000 -0 7.9490713 7.5278586 6.5512597 + 48200 2000 -0 7.9490684 7.5278487 6.5512726 + 48300 2000 -0 7.949064 7.5278383 6.5512866 + 48400 2000 -0 7.9490573 7.5278282 6.5513001 + 48500 2000 -0 7.9490478 7.5278194 6.5513115 + 48600 2000 -0 7.9490353 7.5278129 6.5513193 + 48700 2000 -0 7.9490196 7.5278097 6.5513215 + 48800 2000 -0 7.9490012 7.5278105 6.5513163 + 48900 2000 -0 7.948981 7.5278157 6.5513034 + 49000 2000 -0 7.9489603 7.527825 6.5512834 + 49100 2000 -0 7.9489405 7.5278375 6.5512576 + 49200 2000 -0 7.9489228 7.5278522 6.5512289 + 49300 2000 -0 7.9489081 7.5278678 6.5512 + 49400 2000 -0 7.9488969 7.5278831 6.5511728 + 49500 2000 -0 7.9488888 7.5278972 6.551149 + 49600 2000 -0 7.9488835 7.5279095 6.5511293 + 49700 2000 -0 7.9488803 7.5279197 6.5511139 + 49800 2000 -0 7.9488785 7.5279275 6.5511024 + 49900 2000 -0 7.9488776 7.5279332 6.5510945 + 50000 2000 -0 7.9488771 7.5279368 6.5510895 + 50100 2000 -0 7.9488767 7.5279384 6.5510871 + 50200 2000 -0 7.948876 7.5279381 6.551087 + 50300 2000 -0 7.9488752 7.5279359 6.5510891 + 50400 2000 -0 7.9488741 7.527932 6.5510934 + 50500 2000 -0 7.948873 7.5279261 6.5511002 + 50600 2000 -0 7.9488722 7.5279182 6.5511099 + 50700 2000 -0 7.9488721 7.5279081 6.5511229 + 50800 2000 -0 7.9488732 7.5278959 6.5511396 + 50900 2000 -0 7.9488763 7.5278816 6.5511605 + 51000 2000 -0 7.9488819 7.5278655 6.5511857 + 51100 2000 -0 7.9488907 7.527848 6.5512145 + 51200 2000 -0 7.9489028 7.52783 6.5512458 + 51300 2000 -0 7.9489182 7.5278126 6.5512776 + 51400 2000 -0 7.9489361 7.527797 6.5513073 + 51500 2000 -0 7.9489553 7.5277844 6.5513324 + 51600 2000 -0 7.9489746 7.5277755 6.5513508 + 51700 2000 -0 7.9489924 7.527771 6.5513615 + 51800 2000 -0 7.9490076 7.5277705 6.5513647 + 51900 2000 -0 7.9490195 7.5277737 6.5513615 + 52000 2000 -0 7.9490283 7.5277794 6.5513539 + 52100 2000 -0 7.949034 7.5277866 6.5513439 + 52200 2000 -0 7.949037 7.5277943 6.551333 + 52300 2000 -0 7.9490382 7.5278017 6.5513225 + 52400 2000 -0 7.9490381 7.5278081 6.5513134 + 52500 2000 -0 7.9490372 7.5278132 6.5513061 + 52600 2000 -0 7.9490358 7.5278167 6.5513011 + 52700 2000 -0 7.9490343 7.5278183 6.5512985 + 52800 2000 -0 7.9490329 7.5278181 6.5512989 + 52900 2000 -0 7.9490315 7.527816 6.5513015 + 53000 2000 -0 7.9490302 7.5278118 6.5513062 + 53100 2000 -0 7.9490288 7.5278059 6.5513136 + 53200 2000 -0 7.9490279 7.5277975 6.5513237 + 53300 2000 -0 7.9490241 7.5277891 6.5513356 + 53400 2000 -0 7.9490211 7.5277793 6.5513482 + 53500 2000 -0 7.949016 7.527769 6.5513626 + 53600 2000 -0 7.9490084 7.527759 6.5513764 + 53700 2000 -0 7.948998 7.5277502 6.5513874 + 53800 2000 -0 7.9489846 7.5277439 6.5513952 + 53900 2000 -0 7.9489681 7.527741 6.5513973 + 54000 2000 -0 7.9489489 7.5277421 6.5513917 + 54100 2000 -0 7.9489279 7.5277475 6.5513784 + 54200 2000 -0 7.9489066 7.527757 6.5513584 + 54300 2000 -0 7.9488862 7.5277697 6.5513326 + 54400 2000 -0 7.948868 7.5277844 6.5513039 + 54500 2000 -0 7.9488529 7.5278 6.5512754 + 54600 2000 -0 7.9488411 7.5278152 6.5512487 + 54700 2000 -0 7.9488325 7.5278292 6.5512253 + 54800 2000 -0 7.9488266 7.5278414 6.5512062 + 54900 2000 -0 7.9488228 7.5278514 6.5511912 + 55000 2000 -0 7.9488204 7.5278592 6.5511801 + 55100 2000 -0 7.9488188 7.5278647 6.5511725 + 55200 2000 -0 7.9488176 7.5278682 6.5511679 + 55300 2000 -0 7.9488165 7.5278697 6.5511657 + 55400 2000 -0 7.9488151 7.5278693 6.5511659 + 55500 2000 -0 7.9488136 7.5278672 6.5511683 + 55600 2000 -0 7.9488118 7.5278632 6.5511728 + 55700 2000 -0 7.94881 7.5278573 6.5511798 + 55800 2000 -0 7.9488085 7.5278494 6.5511897 + 55900 2000 -0 7.9488076 7.5278393 6.5512028 + 56000 2000 -0 7.9488081 7.5278272 6.5512196 + 56100 2000 -0 7.9488104 7.5278129 6.5512407 + 56200 2000 -0 7.9488153 7.5277968 6.5512659 + 56300 2000 -0 7.9488233 7.5277793 6.5512948 + 56400 2000 -0 7.9488347 7.5277613 6.5513262 + 56500 2000 -0 7.9488493 7.527744 6.5513581 + 56600 2000 -0 7.9488664 7.5277283 6.5513879 + 56700 2000 -0 7.9488849 7.5277157 6.5514132 + 56800 2000 -0 7.9489034 7.5277068 6.5514318 + 56900 2000 -0 7.9489205 7.5277022 6.5514428 + 57000 2000 -0 7.9489351 7.5277016 6.5514462 + 57100 2000 -0 7.9489467 7.5277046 6.5514434 + 57200 2000 -0 7.9489551 7.5277101 6.5514361 + 57300 2000 -0 7.9489606 7.5277172 6.5514261 + 57400 2000 -0 7.9489636 7.5277248 6.5514153 + 57500 2000 -0 7.9489647 7.5277322 6.5514049 + 57600 2000 -0 7.9489645 7.5277387 6.5513957 + 57700 2000 -0 7.9489634 7.5277438 6.5513885 + 57800 2000 -0 7.9489619 7.5277473 6.5513834 + 57900 2000 -0 7.9489603 7.527749 6.5513807 + 58000 2000 -0 7.9489587 7.5277489 6.551381 + 58100 2000 -0 7.9489572 7.5277469 6.5513835 + 58200 2000 -0 7.9489558 7.5277428 6.5513881 + 58300 2000 -0 7.9489543 7.527737 6.5513954 + 58400 2000 -0 7.9489526 7.5277295 6.5514052 + 58500 2000 -0 7.9489538 7.5277215 6.551417 + 58600 2000 -0 7.948947 7.5277103 6.5514298 + 58700 2000 -0 7.9489424 7.5276998 6.551444 + 58800 2000 -0 7.9489357 7.5276895 6.5514576 + 58900 2000 -0 7.9489261 7.5276803 6.5514692 + 59000 2000 -0 7.9489135 7.5276736 6.5514773 + 59100 2000 -0 7.9488978 7.5276701 6.5514798 + 59200 2000 -0 7.9488794 7.5276706 6.551475 + 59300 2000 -0 7.9488592 7.5276754 6.5514625 + 59400 2000 -0 7.9488384 7.5276843 6.5514429 + 59500 2000 -0 7.9488184 7.5276965 6.5514176 + 59600 2000 -0 7.9488006 7.5277108 6.5513894 + 59700 2000 -0 7.9487858 7.5277262 6.5513607 + 59800 2000 -0 7.9487742 7.5277411 6.5513338 + 59900 2000 -0 7.9487658 7.527755 6.5513102 + 60000 2000 -0 7.9487603 7.5277672 6.5512907 + 60100 2000 -0 7.9487569 7.5277771 6.5512753 + 60200 2000 -0 7.9487549 7.5277849 6.5512639 + 60300 2000 -0 7.9487538 7.5277905 6.551256 + 60400 2000 -0 7.9487531 7.5277939 6.551251 + 60500 2000 -0 7.9487525 7.5277954 6.5512486 + 60600 2000 -0 7.9487517 7.5277951 6.5512485 + 60700 2000 -0 7.9487507 7.5277929 6.5512505 + 60800 2000 -0 7.9487495 7.527789 6.5512547 + 60900 2000 -0 7.9487482 7.5277831 6.5512613 + 61000 2000 -0 7.9487471 7.5277753 6.5512707 + 61100 2000 -0 7.9487466 7.5277654 6.5512832 + 61200 2000 -0 7.9487474 7.5277534 6.5512994 + 61300 2000 -0 7.9487499 7.5277392 6.5513196 + 61400 2000 -0 7.9487549 7.5277231 6.551344 + 61500 2000 -0 7.9487629 7.5277057 6.5513722 + 61600 2000 -0 7.9487743 7.5276875 6.5514032 + 61700 2000 -0 7.9487889 7.5276698 6.5514349 + 61800 2000 -0 7.9488062 7.5276536 6.5514651 + 61900 2000 -0 7.9488251 7.5276402 6.5514912 + 62000 2000 -0 7.9488442 7.5276305 6.5515108 + 62100 2000 -0 7.9488621 7.5276249 6.5515229 + 62200 2000 -0 7.9488777 7.5276235 6.5515275 + 62300 2000 -0 7.9488903 7.5276257 6.5515255 + 62400 2000 -0 7.9488998 7.5276306 6.5515188 + 62500 2000 -0 7.9489063 7.5276373 6.5515091 + 62600 2000 -0 7.9489103 7.5276446 6.5514983 + 62700 2000 -0 7.9489123 7.5276519 6.5514876 + 62800 2000 -0 7.9489128 7.5276583 6.5514781 + 62900 2000 -0 7.9489125 7.5276635 6.5514704 + 63000 2000 -0 7.9489117 7.5276671 6.5514648 + 63100 2000 -0 7.9489107 7.5276689 6.5514616 + 63200 2000 -0 7.9489097 7.527669 6.5514611 + 63300 2000 -0 7.9489089 7.5276672 6.5514631 + 63400 2000 -0 7.9489086 7.5276637 6.5514673 + 63500 2000 -0 7.9489073 7.5276575 6.5514739 + 63600 2000 -0 7.9489063 7.5276501 6.551483 + 63700 2000 -0 7.9489046 7.5276413 6.5514942 + 63800 2000 -0 7.948902 7.5276313 6.5515069 + 63900 2000 -0 7.9488979 7.5276207 6.5515208 + 64000 2000 -0 7.9488918 7.5276102 6.5515346 + 64100 2000 -0 7.9488831 7.5276008 6.5515467 + 64200 2000 -0 7.9488713 7.5275934 6.5515557 + 64300 2000 -0 7.9488564 7.5275891 6.5515596 + 64400 2000 -0 7.9488387 7.5275886 6.5515566 + 64500 2000 -0 7.948819 7.5275923 6.551546 + 64600 2000 -0 7.9487983 7.5276002 6.551528 + 64700 2000 -0 7.9487782 7.5276117 6.5515039 + 64800 2000 -0 7.9487598 7.5276255 6.5514762 + 64900 2000 -0 7.9487443 7.5276407 6.5514474 + 65000 2000 -0 7.9487321 7.5276559 6.5514199 + 65100 2000 -0 7.9487231 7.5276701 6.5513954 + 65200 2000 -0 7.948717 7.5276826 6.5513748 + 65300 2000 -0 7.9487132 7.5276931 6.5513585 + 65400 2000 -0 7.948711 7.5277014 6.5513461 + 65500 2000 -0 7.9487098 7.5277075 6.5513372 + 65600 2000 -0 7.9487092 7.5277115 6.5513315 + 65700 2000 -0 7.9487086 7.5277135 6.5513284 + 65800 2000 -0 7.948708 7.5277137 6.5513277 + 65900 2000 -0 7.9487071 7.527712 6.5513291 + 66000 2000 -0 7.948706 7.5277085 6.5513326 + 66100 2000 -0 7.9487047 7.5277032 6.5513384 + 66200 2000 -0 7.9487036 7.527696 6.5513467 + 66300 2000 -0 7.9487029 7.5276867 6.5513582 + 66400 2000 -0 7.9487033 7.5276753 6.5513731 + 66500 2000 -0 7.9487052 7.5276618 6.551392 + 66600 2000 -0 7.9487093 7.5276463 6.5514151 + 66700 2000 -0 7.9487163 7.5276292 6.5514421 + 66800 2000 -0 7.9487266 7.5276112 6.5514722 + 66900 2000 -0 7.9487402 7.5275932 6.5515039 + 67000 2000 -0 7.9487567 7.5275765 6.5515348 + 67100 2000 -0 7.9487752 7.5275621 6.5515623 + 67200 2000 -0 7.9487943 7.5275511 6.5515841 + 67300 2000 -0 7.9488127 7.5275442 6.5515986 + 67400 2000 -0 7.9488291 7.5275415 6.5516055 + 67500 2000 -0 7.9488435 7.5275438 6.5516054 + 67600 2000 -0 7.9488528 7.5275468 6.5515999 + 67700 2000 -0 7.9488606 7.5275528 6.5515912 + 67800 2000 -0 7.9488653 7.52756 6.5515805 + 67900 2000 -0 7.9488678 7.5275674 6.5515696 + 68000 2000 -0 7.9488689 7.5275741 6.5515598 + 68100 2000 -0 7.9488688 7.5275798 6.5515513 + 68200 2000 -0 7.9488681 7.5275839 6.5515449 + 68300 2000 -0 7.9488671 7.5275863 6.5515409 + 68400 2000 -0 7.9488661 7.527587 6.5515394 + 68500 2000 -0 7.9488652 7.5275857 6.5515407 + 68600 2000 -0 7.9488645 7.5275825 6.551544 + 68700 2000 -0 7.9488637 7.5275774 6.5515497 + 68800 2000 -0 7.9488629 7.5275707 6.5515579 + 68900 2000 -0 7.9488616 7.5275623 6.5515684 + 69000 2000 -0 7.9488595 7.5275526 6.5515805 + 69100 2000 -0 7.9488561 7.5275422 6.551594 + 69200 2000 -0 7.9488509 7.5275315 6.5516081 + 69300 2000 -0 7.9488433 7.5275215 6.551621 + 69400 2000 -0 7.9488328 7.5275132 6.5516314 + 69500 2000 -0 7.9488192 7.5275075 6.5516376 + 69600 2000 -0 7.9488027 7.5275054 6.5516375 + 69700 2000 -0 7.9487837 7.5275074 6.5516299 + 69800 2000 -0 7.9487633 7.5275136 6.5516148 + 69900 2000 -0 7.9487429 7.5275237 6.551593 + 70000 2000 -0 7.9487238 7.5275367 6.5515664 + 70100 2000 -0 7.9487071 7.5275514 6.5515379 + 70200 2000 -0 7.9486936 7.5275666 6.5515098 + 70300 2000 -0 7.9486834 7.5275813 6.551484 + 70400 2000 -0 7.9486763 7.5275945 6.5514618 + 70500 2000 -0 7.9486716 7.5276059 6.5514438 + 70600 2000 -0 7.9486689 7.5276151 6.5514298 + 70700 2000 -0 7.9486674 7.527622 6.5514196 + 70800 2000 -0 7.9486667 7.5276269 6.5514127 + 70900 2000 -0 7.9486661 7.5276297 6.5514086 + 71000 2000 -0 7.9486656 7.5276306 6.5514069 + 71100 2000 -0 7.9486648 7.5276297 6.5514073 + 71200 2000 -0 7.9486638 7.527627 6.5514099 + 71300 2000 -0 7.9486626 7.5276226 6.5514146 + 71400 2000 -0 7.9486614 7.5276163 6.5514217 + 71500 2000 -0 7.9486605 7.527608 6.5514317 + 71600 2000 -0 7.9486603 7.5275976 6.5514449 + 71700 2000 -0 7.9486614 7.5275851 6.5514619 + 71800 2000 -0 7.9486644 7.5275705 6.5514829 + 71900 2000 -0 7.94867 7.5275542 6.5515081 + 72000 2000 -0 7.9486787 7.5275366 6.5515368 + 72100 2000 -0 7.9486908 7.5275189 6.551568 + 72200 2000 -0 7.9487059 7.5275011 6.5515994 + 72300 2000 -0 7.9487235 7.5274855 6.5516286 + 72400 2000 -0 7.9487426 7.5274729 6.5516533 + 72500 2000 -0 7.9487614 7.527464 6.5516713 + 72600 2000 -0 7.9487788 7.5274593 6.5516817 + 72700 2000 -0 7.9487938 7.5274587 6.5516848 + 72800 2000 -0 7.9488058 7.5274616 6.5516817 + 72900 2000 -0 7.9488146 7.5274669 6.5516742 + 73000 2000 -0 7.9488205 7.5274738 6.5516642 + 73100 2000 -0 7.9488269 7.5274812 6.5516534 + 73200 2000 -0 7.9488257 7.5274883 6.5516429 + 73300 2000 -0 7.9488261 7.5274945 6.5516336 + 73400 2000 -0 7.9488256 7.5274994 6.5516262 + 73500 2000 -0 7.9488248 7.5275027 6.551621 + 73600 2000 -0 7.9488238 7.5275043 6.5516181 + 73700 2000 -0 7.9488228 7.5275041 6.551618 + 73800 2000 -0 7.948822 7.527502 6.5516204 + 73900 2000 -0 7.9488212 7.5274979 6.5516247 + 74000 2000 -0 7.9488205 7.527492 6.5516315 + 74100 2000 -0 7.9488195 7.5274845 6.551641 + 74200 2000 -0 7.9488179 7.5274755 6.5516522 + 74300 2000 -0 7.9488153 7.5274655 6.551665 + 74400 2000 -0 7.9488112 7.5274549 6.5516789 + 74500 2000 -0 7.9488049 7.5274445 6.5516926 + 74600 2000 -0 7.9487961 7.5274352 6.5517045 + 74700 2000 -0 7.9487842 7.527428 6.5517132 + 74800 2000 -0 7.9487693 7.5274239 6.5517167 + 74900 2000 -0 7.9487516 7.5274236 6.5517132 + 75000 2000 -0 7.9487319 7.5274276 6.5517022 + 75100 2000 -0 7.9487114 7.5274356 6.551684 + 75200 2000 -0 7.9486914 7.5274472 6.5516598 + 75300 2000 -0 7.9486734 7.5274611 6.5516321 + 75400 2000 -0 7.9486581 7.5274761 6.5516036 + 75500 2000 -0 7.9486462 7.5274912 6.5515764 + 75600 2000 -0 7.9486374 7.5275053 6.5515521 + 75700 2000 -0 7.9486315 7.5275177 6.5515319 + 75800 2000 -0 7.9486278 7.5275281 6.5515157 + 75900 2000 -0 7.9486258 7.5275363 6.5515035 + 76000 2000 -0 7.9486247 7.5275423 6.5514948 + 76100 2000 -0 7.9486241 7.5275463 6.5514892 + 76200 2000 -0 7.9486236 7.5275483 6.5514861 + 76300 2000 -0 7.948623 7.5275484 6.5514853 + 76400 2000 -0 7.9486222 7.5275468 6.5514867 + 76500 2000 -0 7.9486211 7.5275435 6.5514901 + 76600 2000 -0 7.9486198 7.5275383 6.5514957 + 76700 2000 -0 7.9486187 7.5275312 6.5515039 + 76800 2000 -0 7.948618 7.5275222 6.551515 + 76900 2000 -0 7.9486182 7.527511 6.5515295 + 77000 2000 -0 7.9486199 7.5274977 6.551548 + 77100 2000 -0 7.9486238 7.5274825 6.5515706 + 77200 2000 -0 7.9486305 7.5274656 6.5515971 + 77300 2000 -0 7.9486405 7.5274478 6.5516268 + 77400 2000 -0 7.9486537 7.5274299 6.5516582 + 77500 2000 -0 7.9486699 7.527413 6.551689 + 77600 2000 -0 7.9486881 7.5273985 6.5517168 + 77700 2000 -0 7.9487072 7.5273872 6.5517391 + 77800 2000 -0 7.9487256 7.5273799 6.5517543 + 77900 2000 -0 7.9487421 7.5273768 6.5517619 + 78000 2000 -0 7.948756 7.5273776 6.5517625 + 78100 2000 -0 7.9487668 7.5273814 6.5517576 + 78200 2000 -0 7.9487745 7.5273874 6.551749 + 78300 2000 -0 7.9487795 7.5273946 6.5517385 + 78400 2000 -0 7.9487822 7.527402 6.5517276 + 78500 2000 -0 7.9487834 7.5274089 6.5517175 + 78600 2000 -0 7.9487834 7.5274147 6.5517089 + 78700 2000 -0 7.9487828 7.5274191 6.5517022 + 78800 2000 -0 7.9487818 7.5274218 6.5516978 + 78900 2000 -0 7.9487808 7.5274228 6.5516958 + 79000 2000 -0 7.9487799 7.5274219 6.5516967 + 79100 2000 -0 7.9487792 7.5274192 6.5516996 + 79200 2000 -0 7.9487784 7.5274145 6.5517047 + 79300 2000 -0 7.9487776 7.5274081 6.5517124 + 79400 2000 -0 7.9487765 7.5274002 6.5517225 + 79500 2000 -0 7.9487747 7.5273908 6.5517341 + 79600 2000 -0 7.9487717 7.5273805 6.5517474 + 79700 2000 -0 7.948767 7.52737 6.5517614 + 79800 2000 -0 7.9487601 7.5273598 6.5517746 + 79900 2000 -0 7.9487504 7.527351 6.5517858 + 80000 2000 -0 7.9487377 7.5273446 6.5517931 + 80100 2000 -0 7.9487219 7.5273416 6.5517947 + 80200 2000 -0 7.9487036 7.5273426 6.551789 + 80300 2000 -0 7.9486836 7.5273478 6.5517759 + 80400 2000 -0 7.9486632 7.5273569 6.5517558 + 80500 2000 -0 7.9486437 7.5273692 6.5517304 + 80600 2000 -0 7.9486265 7.5273836 6.5517023 + 80700 2000 -0 7.9486122 7.5273987 6.5516741 + 80800 2000 -0 7.9486012 7.5274136 6.5516477 + 80900 2000 -0 7.9485934 7.5274272 6.5516246 + 81000 2000 -0 7.9485882 7.5274391 6.5516056 + 81100 2000 -0 7.9485859 7.5274494 6.5515908 + 81200 2000 -0 7.9485834 7.5274563 6.5515794 + 81300 2000 -0 7.9485825 7.5274618 6.5515718 + 81400 2000 -0 7.948582 7.5274652 6.5515669 + 81500 2000 -0 7.9485815 7.5274667 6.5515644 + 81600 2000 -0 7.9485809 7.5274664 6.5515643 + 81700 2000 -0 7.94858 7.5274644 6.5515662 + 81800 2000 -0 7.9485788 7.5274606 6.55157 + 81900 2000 -0 7.9485776 7.527455 6.5515762 + 82000 2000 -0 7.9485765 7.5274475 6.5515851 + 82100 2000 -0 7.9485759 7.527438 6.5515969 + 82200 2000 -0 7.9485764 7.5274264 6.5516123 + 82300 2000 -0 7.9485786 7.5274127 6.5516316 + 82400 2000 -0 7.9485831 7.5273971 6.551655 + 82500 2000 -0 7.9485904 7.52738 6.5516822 + 82600 2000 -0 7.948601 7.5273621 6.5517124 + 82700 2000 -0 7.9486149 7.5273443 6.5517438 + 82800 2000 -0 7.9486316 7.5273279 6.5517741 + 82900 2000 -0 7.9486501 7.527314 6.5518008 + 83000 2000 -0 7.948669 7.5273036 6.5518216 + 83100 2000 -0 7.9486871 7.5272973 6.5518351 + 83200 2000 -0 7.9487031 7.527295 6.5518411 + 83300 2000 -0 7.9487163 7.5272965 6.5518404 + 83400 2000 -0 7.9487263 7.5273009 6.5518346 + 83500 2000 -0 7.9487334 7.5273073 6.5518255 + 83600 2000 -0 7.9487379 7.5273145 6.5518149 + 83700 2000 -0 7.9487402 7.5273219 6.5518041 + 83800 2000 -0 7.9487411 7.5273286 6.5517942 + 83900 2000 -0 7.948741 7.5273342 6.551786 + 84000 2000 -0 7.9487402 7.5273383 6.5517797 + 84100 2000 -0 7.9487392 7.5273407 6.5517757 + 84200 2000 -0 7.9487383 7.5273413 6.5517743 + 84300 2000 -0 7.9487374 7.5273402 6.5517756 + 84400 2000 -0 7.9487366 7.5273371 6.5517789 + 84500 2000 -0 7.9487359 7.5273321 6.5517843 + 84600 2000 -0 7.9487351 7.5273255 6.5517925 + 84700 2000 -0 7.948734 7.5273173 6.5518029 + 84800 2000 -0 7.948732 7.5273078 6.5518148 + 84900 2000 -0 7.9487288 7.5272974 6.5518282 + 85000 2000 -0 7.9487239 7.5272869 6.5518422 + 85100 2000 -0 7.9487166 7.5272769 6.5518552 + 85200 2000 -0 7.9487066 7.5272684 6.5518659 + 85300 2000 -0 7.9486935 7.5272625 6.5518726 + 85400 2000 -0 7.9486774 7.52726 6.5518732 + 85500 2000 -0 7.9486588 7.5272615 6.5518665 + 85600 2000 -0 7.9486387 7.5272673 6.5518525 + 85700 2000 -0 7.9486184 7.5272769 6.5518316 + 85800 2000 -0 7.9485993 7.5272895 6.5518058 + 85900 2000 -0 7.9485825 7.527304 6.5517777 + 86000 2000 -0 7.9485687 7.5273192 6.5517496 + 86100 2000 -0 7.9485582 7.5273338 6.5517237 + 86200 2000 -0 7.9485508 7.5273473 6.5517012 + 86300 2000 -0 7.9485459 7.5273589 6.5516828 + 86400 2000 -0 7.948543 7.5273683 6.5516683 + 86500 2000 -0 7.9485415 7.5273756 6.5516577 + 86600 2000 -0 7.9485407 7.5273808 6.5516504 + 86700 2000 -0 7.9485402 7.527384 6.5516458 + 86800 2000 -0 7.9485398 7.5273853 6.5516437 + 86900 2000 -0 7.9485391 7.5273848 6.5516437 + 87000 2000 -0 7.9485382 7.5273826 6.5516457 + 87100 2000 -0 7.948537 7.5273787 6.5516498 + 87200 2000 -0 7.9485358 7.527373 6.5516562 + 87300 2000 -0 7.9485347 7.5273654 6.5516652 + 87400 2000 -0 7.9485342 7.5273557 6.5516772 + 87500 2000 -0 7.9485348 7.527344 6.5516928 + 87600 2000 -0 7.9485371 7.5273302 6.5517124 + 87700 2000 -0 7.9485417 7.5273145 6.551736 + 87800 2000 -0 7.9485492 7.5272974 6.5517634 + 87900 2000 -0 7.9485605 7.5272797 6.5517928 + 88000 2000 -0 7.9485752 7.5272622 6.5518233 + 88100 2000 -0 7.9485926 7.5272462 6.5518526 + 88200 2000 -0 7.9486117 7.5272327 6.5518779 + 88300 2000 -0 7.9486313 7.5272227 6.5518973 + 88400 2000 -0 7.9486498 7.5272169 6.5519096 + 88500 2000 -0 7.9486663 7.5272151 6.5519142 + 88600 2000 -0 7.9486799 7.5272169 6.5519123 + 88700 2000 -0 7.9486904 7.5272216 6.5519055 + 88800 2000 -0 7.9486979 7.5272282 6.5518954 + 88900 2000 -0 7.9487028 7.5272357 6.5518839 + 89000 2000 -0 7.9487057 7.5272433 6.5518724 + 89100 2000 -0 7.9487072 7.5272501 6.5518617 + 89200 2000 -0 7.9487076 7.5272558 6.5518526 + 89300 2000 -0 7.9487074 7.5272601 6.5518456 + 89400 2000 -0 7.9487071 7.5272626 6.5518409 + 89500 2000 -0 7.9487067 7.5272635 6.5518386 + 89600 2000 -0 7.9487065 7.5272625 6.5518391 + 89700 2000 -0 7.9487063 7.5272596 6.5518416 + 89800 2000 -0 7.9487063 7.5272548 6.5518462 + 89900 2000 -0 7.9487061 7.5272484 6.5518535 + 90000 2000 -0 7.9487056 7.5272404 6.551863 + 90100 2000 -0 7.9487043 7.5272311 6.551874 + 90200 2000 -0 7.9487018 7.527221 6.5518866 + 90300 2000 -0 7.9486975 7.5272106 6.5518997 + 90400 2000 -0 7.948691 7.5272008 6.5519118 + 90500 2000 -0 7.9486816 7.5271925 6.5519217 + 90600 2000 -0 7.9486692 7.5271867 6.5519276 + 90700 2000 -0 7.9486538 7.5271843 6.5519275 + 90800 2000 -0 7.948636 7.527186 6.5519202 + 90900 2000 -0 7.9486166 7.5271918 6.5519055 + 91000 2000 -0 7.948597 7.5272016 6.551884 + 91100 2000 -0 7.9485784 7.5272143 6.5518575 + 91200 2000 -0 7.9485622 7.5272289 6.5518287 + 91300 2000 -0 7.948549 7.5272442 6.5517999 + 91400 2000 -0 7.9485391 7.5272591 6.5517731 + 91500 2000 -0 7.9485322 7.5272727 6.5517498 + 91600 2000 -0 7.9485279 7.5272845 6.5517305 + 91700 2000 -0 7.9485256 7.5272942 6.5517151 + 91800 2000 -0 7.9485247 7.5273018 6.5517036 + 91900 2000 -0 7.9485245 7.5273072 6.5516953 + 92000 2000 -0 7.9485247 7.5273107 6.5516898 + 92100 2000 -0 7.9485248 7.5273122 6.5516867 + 92200 2000 -0 7.9485251 7.5273121 6.5516858 + 92300 2000 -0 7.9485248 7.5273103 6.5516869 + 92400 2000 -0 7.948524 7.5273066 6.5516899 + 92500 2000 -0 7.9485234 7.5273012 6.5516952 + 92600 2000 -0 7.9485229 7.527294 6.5517031 + 92700 2000 -0 7.9485229 7.5272848 6.5517139 + 92800 2000 -0 7.948524 7.5272735 6.5517283 + 92900 2000 -0 7.9485267 7.5272601 6.5517465 + 93000 2000 -0 7.9485317 7.5272448 6.5517688 + 93100 2000 -0 7.9485395 7.527228 6.5517949 + 93200 2000 -0 7.9485506 7.5272104 6.5518239 + 93300 2000 -0 7.9485649 7.527193 6.5518542 + 93400 2000 -0 7.9485821 7.5271768 6.5518835 + 93500 2000 -0 7.948601 7.527163 6.5519093 + 93600 2000 -0 7.9486206 7.5271527 6.5519294 + 93700 2000 -0 7.9486392 7.5271464 6.5519423 + 93800 2000 -0 7.9486559 7.5271442 6.5519477 + 93900 2000 -0 7.9486698 7.5271457 6.5519465 + 94000 2000 -0 7.9486807 7.5271502 6.55194 + 94100 2000 -0 7.9486885 7.5271566 6.5519303 + 94200 2000 -0 7.9486937 7.527164 6.5519188 + 94300 2000 -0 7.9486968 7.5271716 6.5519072 + 94400 2000 -0 7.9486984 7.5271785 6.5518964 + 94500 2000 -0 7.948699 7.5271843 6.5518871 + 94600 2000 -0 7.948699 7.5271887 6.5518798 + 94700 2000 -0 7.9486987 7.5271915 6.5518747 + 94800 2000 -0 7.9486984 7.5271925 6.5518721 + 94900 2000 -0 7.9486982 7.5271918 6.5518722 + 95000 2000 -0 7.9486982 7.5271891 6.5518743 + 95100 2000 -0 7.9486982 7.5271846 6.5518785 + 95200 2000 -0 7.948698 7.5271783 6.5518855 + 95300 2000 -0 7.9486978 7.5271706 6.5518946 + 95400 2000 -0 7.9486968 7.5271614 6.5519053 + 95500 2000 -0 7.9486946 7.5271514 6.5519176 + 95600 2000 -0 7.9486908 7.527141 6.5519306 + 95700 2000 -0 7.9486848 7.527131 6.551943 + 95800 2000 -0 7.948676 7.5271224 6.5519533 + 95900 2000 -0 7.9486643 7.5271161 6.55196 + 96000 2000 -0 7.9486496 7.527113 6.5519611 + 96100 2000 -0 7.9486322 7.5271138 6.5519551 + 96200 2000 -0 7.9486132 7.5271189 6.5519417 + 96300 2000 -0 7.9485937 7.5271279 6.5519214 + 96400 2000 -0 7.948575 7.5271401 6.5518957 + 96500 2000 -0 7.9485584 7.5271543 6.5518672 + 96600 2000 -0 7.9485447 7.5271695 6.5518384 + 96700 2000 -0 7.9485343 7.5271845 6.5518111 + 96800 2000 -0 7.948527 7.5271983 6.5517871 + 96900 2000 -0 7.9485224 7.5272105 6.5517671 + 97000 2000 -0 7.9485199 7.5272206 6.551751 + 97100 2000 -0 7.9485188 7.5272285 6.5517387 + 97200 2000 -0 7.9485186 7.5272343 6.5517298 + 97300 2000 -0 7.9485188 7.5272381 6.5517238 + 97400 2000 -0 7.9485191 7.52724 6.5517202 + 97500 2000 -0 7.9485192 7.5272402 6.5517188 + 97600 2000 -0 7.9485191 7.5272387 6.5517194 + 97700 2000 -0 7.9485187 7.5272354 6.551722 + 97800 2000 -0 7.9485181 7.5272305 6.5517267 + 97900 2000 -0 7.9485176 7.5272237 6.5517339 + 98000 2000 -0 7.9485176 7.5272149 6.5517439 + 98100 2000 -0 7.9485184 7.5272041 6.5517572 + 98200 2000 -0 7.9485207 7.5271913 6.5517744 + 98300 2000 -0 7.9485251 7.5271764 6.5517956 + 98400 2000 -0 7.9485322 7.52716 6.5518207 + 98500 2000 -0 7.9485424 7.5271426 6.5518489 + 98600 2000 -0 7.948556 7.527125 6.5518789 + 98700 2000 -0 7.9485724 7.5271084 6.5519086 + 98800 2000 -0 7.948591 7.5270939 6.5519354 + 98900 2000 -0 7.9486105 7.5270826 6.551957 + 99000 2000 -0 7.9486296 7.5270752 6.5519718 + 99100 2000 -0 7.9486469 7.5270719 6.5519792 + 99200 2000 -0 7.9486615 7.5270725 6.5519795 + 99300 2000 -0 7.9486732 7.5270763 6.5519743 + 99400 2000 -0 7.9486818 7.5270822 6.5519652 + 99500 2000 -0 7.9486877 7.5270895 6.551954 + 99600 2000 -0 7.9486913 7.527097 6.5519424 + 99700 2000 -0 7.9486933 7.5271042 6.5519313 + 99800 2000 -0 7.9486941 7.5271104 6.5519215 + 99900 2000 -0 7.9486942 7.5271152 6.5519136 + 100000 2000 -0 7.9486939 7.5271185 6.5519079 +Loop time of 87.7116 on 1 procs for 100000 steps with 2000 atoms + +Performance: 98504.589 tau/day, 1140.099 timesteps/s, 2.280 Matom-step/s +99.5% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 66.081 | 66.081 | 66.081 | 0.0 | 75.34 +Neigh | 2.7411 | 2.7411 | 2.7411 | 0.0 | 3.13 +Comm | 1.3393 | 1.3393 | 1.3393 | 0.0 | 1.53 +Output | 0.029473 | 0.029473 | 0.029473 | 0.0 | 0.03 +Modify | 16.598 | 16.598 | 16.598 | 0.0 | 18.92 +Other | | 0.9233 | | | 1.05 + +Nlocal: 2000 ave 2000 max 2000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 494 ave 494 max 494 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 9635 ave 9635 max 9635 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 9635 +Ave neighs/atom = 4.8175 +Neighbor list builds = 3285 +Dangerous builds = 0 + +Total wall time: 0:01:27 diff --git a/examples/granular/log.15Sep22.pour.heat.g++.4 b/examples/granular/log.15Sep22.pour.heat.g++.4 new file mode 100644 index 0000000000..f159302d65 --- /dev/null +++ b/examples/granular/log.15Sep22.pour.heat.g++.4 @@ -0,0 +1,1172 @@ +LAMMPS (15 Sep 2022) +# pour one types of particles into cylinder and oscillate +# temperature of the bottom plate + +variable name string heat_plate + +atom_style sphere/temp +units lj + +############################################### +# Geometry-related parameters +############################################### + +variable boxx equal 10 +variable boxy equal 10 +variable boxz equal 50 + +variable drum_rad equal ${boxx}*0.5 +variable drum_rad equal 10*0.5 +variable drum_height equal 30 + +variable xc equal 0.5*${boxx} +variable xc equal 0.5*10 +variable yc equal 0.5*${boxx} +variable yc equal 0.5*10 +variable zc equal 0.5*${boxz} +variable zc equal 0.5*50 + +############################################### +# Particle-related parameters +############################################### +variable rlo equal 0.25 +variable rhi equal 0.5 +variable dlo equal 2.0*${rlo} +variable dlo equal 2.0*0.25 +variable dhi equal 2.0*${rhi} +variable dhi equal 2.0*0.5 + +variable cyl_rad_inner equal ${drum_rad}-1.1*${rhi} +variable cyl_rad_inner equal 5-1.1*${rhi} +variable cyl_rad_inner equal 5-1.1*0.5 + +variable dens equal 1.0 + +variable skin equal 0.4*${rhi} +variable skin equal 0.4*0.5 + +############# +processors * * 1 +region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz} +region boxreg block 0 10 0 ${boxy} 0 ${boxz} +region boxreg block 0 10 0 10 0 ${boxz} +region boxreg block 0 10 0 10 0 50 +create_box 2 boxreg +Created orthogonal box = (0 0 0) to (10 10 50) + 2 by 2 by 1 MPI processor grid +change_box all boundary p p f +Changing box ... + +pair_style granular +pair_coeff * * hertz/material 1e5 0.2 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji heat area 5.0 + +region curved_wall cylinder z ${xc} ${yc} ${drum_rad} 0 ${drum_height} side in +region curved_wall cylinder z 5 ${yc} ${drum_rad} 0 ${drum_height} side in +region curved_wall cylinder z 5 5 ${drum_rad} 0 ${drum_height} side in +region curved_wall cylinder z 5 5 5 0 ${drum_height} side in +region curved_wall cylinder z 5 5 5 0 30 side in +region bottom_wall plane ${xc} ${yc} 0 0 0 1 side in +region bottom_wall plane 5 ${yc} 0 0 0 1 side in +region bottom_wall plane 5 5 0 0 0 1 side in + +region insreg cylinder z ${xc} ${yc} ${cyl_rad_inner} ${drum_height} ${boxz} +region insreg cylinder z 5 ${yc} ${cyl_rad_inner} ${drum_height} ${boxz} +region insreg cylinder z 5 5 ${cyl_rad_inner} ${drum_height} ${boxz} +region insreg cylinder z 5 5 4.45 ${drum_height} ${boxz} +region insreg cylinder z 5 5 4.45 30 ${boxz} +region insreg cylinder z 5 5 4.45 30 50 + +fix 0 all balance 100 1.0 shift xy 5 1.1 +fix 1 all nve/sphere +fix 2 all heat/flow/sphere/temp constant 1.0 +fix grav all gravity 10 vector 0 0 -1 +fix ins1 all pour 1000 1 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens} +fix ins1 all pour 1000 1 1234 region insreg diam range 0.5 ${dhi} dens ${dens} ${dens} +fix ins1 all pour 1000 1 1234 region insreg diam range 0.5 1 dens ${dens} ${dens} +fix ins1 all pour 1000 1 1234 region insreg diam range 0.5 1 dens 1 ${dens} +fix ins1 all pour 1000 1 1234 region insreg diam range 0.5 1 dens 1 1 +Particle insertion: 594 every 400 steps, 1000 by step 401 +fix ins2 all pour 1000 2 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens} +fix ins2 all pour 1000 2 1234 region insreg diam range 0.5 ${dhi} dens ${dens} ${dens} +fix ins2 all pour 1000 2 1234 region insreg diam range 0.5 1 dens ${dens} ${dens} +fix ins2 all pour 1000 2 1234 region insreg diam range 0.5 1 dens 1 ${dens} +fix ins2 all pour 1000 2 1234 region insreg diam range 0.5 1 dens 1 1 +Particle insertion: 594 every 400 steps, 1000 by step 401 + +comm_modify vel yes + +neighbor ${skin} bin +neighbor 0.2 bin +neigh_modify delay 0 every 1 check yes + +variable oscillate equal 1.0*sin(step*0.0001) + +fix 3 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region curved_wall +fix 4 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji heat area 5.0 region bottom_wall temperature v_oscillate + +thermo_style custom step atoms ke pxx pyy pzz +thermo_modify lost warn +thermo 100 + +timestep 0.001 + +#dump 1 all custom 1000 ${name}.dump id type radius mass x y z temperature heatflow + +#For removal later +compute 1 all property/atom radius +variable zmax atom z+c_1>0.5*${drum_height} +variable zmax atom z+c_1>0.5*30 +group delgroup dynamic all var zmax every 10000 +dynamic group delgroup defined + +run 100000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.2 + ghost atom cutoff = 1.2 + binsize = 0.6, bins = 17 17 84 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair granular, perpetual + attributes: half, newton on, size, history + pair build: half/size/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.847 | 5.847 | 5.847 Mbytes + Step Atoms KinEng Pxx Pyy Pzz + 0 0 -0 0 0 0 +WARNING: Less insertions than requested (../fix_pour.cpp:681) +WARNING: Less insertions than requested (../fix_pour.cpp:681) + 100 536 -0 0 0 7.4220499 + 200 536 -0 0 0 10.753096 + 300 536 -0 0 0 13.500241 + 400 536 -0 0 0 18.036636 +WARNING: Less insertions than requested (../fix_pour.cpp:681) +WARNING: Less insertions than requested (../fix_pour.cpp:681) + 500 903 -0 0 0 25.955524 + 600 903 -0 0 0 32.116907 + 700 903 -0 0.03620165 0.033499977 32.179357 + 800 903 -0 0.2106713 0.26431108 36.206318 +WARNING: Less insertions than requested (../fix_pour.cpp:681) + 900 1265 -0 0.2667335 0.20266671 44.177757 + 1000 1265 -0 0.51829265 0.67739212 49.904079 + 1100 1265 -0 0.87525564 0.6604066 53.13465 + 1200 1265 -0 0.8016023 0.82120199 54.27487 +WARNING: Less insertions than requested (../fix_pour.cpp:681) + 1300 1618 -0 1.0922969 1.2299526 61.033455 + 1400 1618 -0 3.4739827 3.2058732 60.989867 + 1500 1618 -0 2.952107 2.7920855 61.208615 + 1600 1618 -0 3.4540208 3.5863396 62.262722 + 1700 2000 -0 3.8875418 4.0835421 69.087737 + 1800 2000 -0 4.1780246 5.0584026 70.734293 + 1900 2000 -0 4.5873576 4.7767119 76.481264 + 2000 2000 -0 7.1355414 6.9027373 76.136305 + 2100 2000 -0 7.3292721 6.9457021 74.022659 + 2200 2000 -0 9.1771132 9.0399042 72.911506 + 2300 2000 -0 9.5743887 10.359952 70.996904 + 2400 2000 -0 12.1002 12.023765 68.246157 + 2500 2000 -0 10.68678 11.126488 59.337387 + 2600 2000 -0 10.444117 10.845713 57.115639 + 2700 2000 -0 12.012219 11.766618 56.397063 + 2800 2000 -0 12.987283 13.30882 55.411279 + 2900 2000 -0 11.55722 12.213726 48.690822 + 3000 2000 -0 11.124576 11.369397 43.425073 + 3100 2000 -0 12.54896 12.507632 45.15522 + 3200 2000 -0 13.119307 13.345554 41.469993 + 3300 2000 -0 12.07449 11.769699 32.849662 + 3400 2000 -0 11.409224 11.606583 28.228622 + 3500 2000 -0 13.30178 13.057278 28.120788 + 3600 2000 -0 12.362318 12.451842 22.030785 + 3700 2000 -0 10.065639 10.350313 14.404919 + 3800 2000 -0 9.2215449 9.4216178 10.78298 + 3900 2000 -0 9.1484555 9.2548793 9.4609704 + 4000 2000 -0 8.7679202 8.7720055 7.9592505 + 4100 2000 -0 7.9639161 8.0843783 6.2748484 + 4200 2000 -0 7.4475613 7.662972 5.7240274 + 4300 2000 -0 7.3834943 7.5643205 5.8884721 + 4400 2000 -0 7.5767328 7.7567295 6.4335134 + 4500 2000 -0 7.6350768 7.7802709 6.5220595 + 4600 2000 -0 7.5680597 7.7360764 6.2252142 + 4700 2000 -0 7.5455586 7.7200666 6.1870466 + 4800 2000 -0 7.5889323 7.7502568 6.3364001 + 4900 2000 -0 7.5976185 7.7506557 6.3511631 + 5000 2000 -0 7.5729575 7.7396108 6.226979 + 5100 2000 -0 7.5828423 7.7333361 6.2543182 + 5200 2000 -0 7.5997211 7.7682298 6.3300795 + 5300 2000 -0 7.5951405 7.7598744 6.3224087 + 5400 2000 -0 7.5703525 7.7452048 6.2321318 + 5500 2000 -0 7.5893936 7.7516359 6.2777047 + 5600 2000 -0 7.596363 7.7645306 6.3388976 + 5700 2000 -0 7.5889409 7.7570078 6.2848334 + 5800 2000 -0 7.5820271 7.7456337 6.2569579 + 5900 2000 -0 7.5946475 7.7646155 6.3117599 + 6000 2000 -0 7.5979789 7.7656429 6.3160667 + 6100 2000 -0 7.586255 7.7584393 6.2682341 + 6200 2000 -0 7.5860817 7.7574904 6.2792591 + 6300 2000 -0 7.5952765 7.7646058 6.3189922 + 6400 2000 -0 7.5996199 7.7770424 6.2986723 + 6500 2000 -0 7.5902888 7.7688566 6.2761571 + 6600 2000 -0 7.5950388 7.76863 6.2895943 + 6700 2000 -0 7.5966236 7.7691368 6.302048 + 6800 2000 -0 7.5939532 7.7641262 6.2726096 + 6900 2000 -0 7.5951993 7.7682327 6.2895245 + 7000 2000 -0 7.6023185 7.7697092 6.3080702 + 7100 2000 -0 7.5960578 7.7674031 6.2848334 + 7200 2000 -0 7.5982345 7.7654466 6.2788045 + 7300 2000 -0 7.6023187 7.7710769 6.3041624 + 7400 2000 -0 7.5974296 7.7673886 6.283173 + 7500 2000 -0 7.5973168 7.7670675 6.2788593 + 7600 2000 -0 7.5996473 7.7703847 6.2996016 + 7700 2000 -0 7.5973523 7.7680426 6.2917276 + 7800 2000 -0 7.5955633 7.7663282 6.2774422 + 7900 2000 -0 7.596774 7.7680408 6.2913039 + 8000 2000 -0 7.5990211 7.7682504 6.2971218 + 8100 2000 -0 7.5969667 7.7674553 6.2827596 + 8200 2000 -0 7.5968217 7.768405 6.2864438 + 8300 2000 -0 7.6003301 7.7675972 6.2968783 + 8400 2000 -0 7.5968968 7.7675447 6.2851363 + 8500 2000 -0 7.5964945 7.7664669 6.2821348 + 8600 2000 -0 7.59847 7.7686981 6.2935599 + 8700 2000 -0 7.5973531 7.7680237 6.2892401 + 8800 2000 -0 7.5962388 7.7660642 6.2824211 + 8900 2000 -0 7.5974758 7.7679467 6.2894374 + 9000 2000 -0 7.5980837 7.7680794 6.2922818 + 9100 2000 -0 7.5964734 7.766756 6.2837584 + 9200 2000 -0 7.5970307 7.7673294 6.2867417 + 9300 2000 -0 7.5979654 7.7680887 6.2924025 + 9400 2000 -0 7.5968814 7.7671306 6.2861078 + 9500 2000 -0 7.5967607 7.7670542 6.2853516 + 9600 2000 -0 7.5978051 7.7679583 6.2911802 + 9700 2000 -0 7.597238 7.767496 6.2880951 + 9800 2000 -0 7.596697 7.7670074 6.2853135 + 9900 2000 -0 7.5974854 7.7676519 6.2894109 + 10000 2000 -0 7.5974415 7.7676866 6.2894089 + 10100 2000 -0 7.5968332 7.7671611 6.2858705 + 10200 2000 -0 7.5971895 7.7673771 6.2881001 + 10300 2000 -0 7.5974344 7.7675998 6.2897713 + 10400 2000 -0 7.5969756 7.767279 6.2867879 + 10500 2000 -0 7.5970506 7.7672894 6.2872789 + 10600 2000 -0 7.5973817 7.7675529 6.2895398 + 10700 2000 -0 7.597085 7.7673281 6.2876393 + 10800 2000 -0 7.5969757 7.7672429 6.2869852 + 10900 2000 -0 7.5973016 7.7675261 6.2890364 + 11000 2000 -0 7.5971776 7.7674059 6.2882417 + 11100 2000 -0 7.596955 7.7672303 6.2870489 + 11200 2000 -0 7.5971842 7.7674346 6.288507 + 11300 2000 -0 7.5972149 7.7674441 6.2885796 + 11400 2000 -0 7.5969922 7.7672746 6.2872884 + 11500 2000 -0 7.5970948 7.7673717 6.2880589 + 11600 2000 -0 7.5971991 7.7674426 6.2886788 + 11700 2000 -0 7.5970217 7.7673051 6.2876396 + 11800 2000 -0 7.5970385 7.767356 6.2877736 + 11900 2000 -0 7.5971592 7.7674896 6.2885954 + 12000 2000 -0 7.5970437 7.7673831 6.2879896 + 12100 2000 -0 7.5969799 7.7673414 6.2876892 + 12200 2000 -0 7.597104 7.7674691 6.2883867 + 12300 2000 -0 7.5970688 7.7674421 6.2882073 + 12400 2000 -0 7.5969667 7.7673544 6.2877266 + 12500 2000 -0 7.5970342 7.7674299 6.2881961 + 12600 2000 -0 7.5970575 7.7674563 6.2883162 + 12700 2000 -0 7.5969702 7.7673919 6.2878499 + 12800 2000 -0 7.5969875 7.7674105 6.2880279 + 12900 2000 -0 7.5970261 7.7674542 6.2883236 + 13000 2000 -0 7.5969638 7.7674093 6.2880003 + 13100 2000 -0 7.5969523 7.7674055 6.2879583 + 13200 2000 -0 7.5969948 7.7674543 6.2882605 + 13300 2000 -0 7.5969671 7.7674324 6.2881167 + 13400 2000 -0 7.5969481 7.7674096 6.2879707 + 13500 2000 -0 7.5969704 7.7674472 6.2881927 + 13600 2000 -0 7.5969604 7.7674502 6.2881801 + 13700 2000 -0 7.5969111 7.7674226 6.2880031 + 13800 2000 -0 7.5969206 7.7674314 6.288133 + 13900 2000 -0 7.5969259 7.7674429 6.2882037 + 14000 2000 -0 7.5968972 7.7674314 6.2880579 + 14100 2000 -0 7.5968963 7.7674369 6.2880968 + 14200 2000 -0 7.5969042 7.7674469 6.2882024 + 14300 2000 -0 7.5968803 7.7674344 6.2881112 + 14400 2000 -0 7.59687 7.7674353 6.2880896 + 14500 2000 -0 7.5968808 7.7674514 6.2881879 + 14600 2000 -0 7.5968666 7.7674452 6.28815 + 14700 2000 -0 7.5968485 7.7674368 6.2880988 + 14800 2000 -0 7.5968535 7.767448 6.2881738 + 14900 2000 -0 7.5968474 7.7674514 6.2881775 + 15000 2000 -0 7.5968308 7.7674448 6.2881173 + 15100 2000 -0 7.5968288 7.7674504 6.2881599 + 15200 2000 -0 7.5968259 7.7674545 6.2881943 + 15300 2000 -0 7.5968096 7.7674493 6.2881446 + 15400 2000 -0 7.5968036 7.7674548 6.2881534 + 15500 2000 -0 7.5968025 7.7674625 6.2881974 + 15600 2000 -0 7.5967877 7.7674575 6.2881698 + 15700 2000 -0 7.5967763 7.7674574 6.2881574 + 15800 2000 -0 7.5967748 7.7674674 6.2881956 + 15900 2000 -0 7.5967648 7.7674695 6.2881883 + 16000 2000 -0 7.5967506 7.7674666 6.2881665 + 16100 2000 -0 7.5967447 7.7674721 6.2881929 + 16200 2000 -0 7.596737 7.7674775 6.2882018 + 16300 2000 -0 7.596724 7.7674779 6.2881798 + 16400 2000 -0 7.5967156 7.7674817 6.2881911 + 16500 2000 -0 7.5967078 7.7674863 6.2882086 + 16600 2000 -0 7.5966952 7.7674871 6.288195 + 16700 2000 -0 7.5966855 7.7674905 6.288195 + 16800 2000 -0 7.5966849 7.7675018 6.2882111 + 16900 2000 -0 7.5966659 7.767499 6.2882084 + 17000 2000 -0 7.5966553 7.7674989 6.288203 + 17100 2000 -0 7.5966481 7.7675039 6.288216 + 17200 2000 -0 7.5966391 7.7675079 6.2882174 + 17300 2000 -0 7.5966284 7.7675095 6.2882114 + 17400 2000 -0 7.5966197 7.7675124 6.2882207 + 17500 2000 -0 7.5966116 7.7675184 6.2882274 + 17600 2000 -0 7.5966015 7.7675179 6.2882213 + 17700 2000 -0 7.596598 7.7675217 6.2882271 + 17800 2000 -0 7.5965839 7.7675249 6.2882319 + 17900 2000 -0 7.5965764 7.7675277 6.2882321 + 18000 2000 -0 7.5965694 7.7675324 6.2882345 + 18100 2000 -0 7.5965606 7.7675381 6.288242 + 18200 2000 -0 7.5965529 7.7675402 6.2882446 + 18300 2000 -0 7.5965448 7.7675416 6.2882447 + 18400 2000 -0 7.5965376 7.7675437 6.2882479 + 18500 2000 -0 7.5965312 7.7675449 6.2882502 + 18600 2000 -0 7.5965234 7.7675465 6.2882488 + 18700 2000 -0 7.5965164 7.7675489 6.2882532 + 18800 2000 -0 7.5965092 7.7675524 6.2882585 + 18900 2000 -0 7.5965015 7.7675553 6.2882605 + 19000 2000 -0 7.5964943 7.7675579 6.288263 + 19100 2000 -0 7.5964874 7.7675604 6.2882669 + 19200 2000 -0 7.59648 7.7675614 6.2882681 + 19300 2000 -0 7.5964723 7.7675626 6.2882686 + 19400 2000 -0 7.596465 7.7675656 6.2882725 + 19500 2000 -0 7.5964572 7.7675691 6.2882763 + 19600 2000 -0 7.5964488 7.767572 6.2882784 + 19700 2000 -0 7.5964406 7.7675747 6.2882815 + 19800 2000 -0 7.5964328 7.7675771 6.2882844 + 19900 2000 -0 7.5964247 7.7675792 6.288285 + 20000 2000 -0 7.5964164 7.7675815 6.2882866 + 20100 2000 -0 7.5964079 7.7675846 6.28829 + 20200 2000 -0 7.596399 7.7675881 6.2882925 + 20300 2000 -0 7.5963909 7.7675919 6.2882955 + 20400 2000 -0 7.5963809 7.7675953 6.2882972 + 20500 2000 -0 7.5963752 7.7676011 6.2883018 + 20600 2000 -0 7.5963619 7.7676092 6.2883037 + 20700 2000 -0 7.5963522 7.767611 6.2883069 + 20800 2000 -0 7.5963411 7.7676172 6.28831 + 20900 2000 -0 7.5963304 7.7676213 6.2883118 + 21000 2000 -0 7.5963203 7.767625 6.2883148 + 21100 2000 -0 7.5963105 7.7676285 6.2883181 + 21200 2000 -0 7.5963007 7.7676317 6.2883195 + 21300 2000 -0 7.5962911 7.7676349 6.2883215 + 21400 2000 -0 7.5962816 7.7676382 6.2883246 + 21500 2000 -0 7.5962731 7.7676543 6.288331 + 21600 2000 -0 7.5962632 7.7676583 6.2883332 + 21700 2000 -0 7.5962548 7.767661 6.2883366 + 21800 2000 -0 7.5962459 7.7676634 6.2883395 + 21900 2000 -0 7.5962373 7.7676655 6.2883415 + 22000 2000 -0 7.5962319 7.7676679 6.2883449 + 22100 2000 -0 7.5962209 7.7676703 6.2883465 + 22200 2000 -0 7.5962128 7.7676725 6.2883506 + 22300 2000 -0 7.5962054 7.7676747 6.2883528 + 22400 2000 -0 7.5961978 7.7676768 6.2883553 + 22500 2000 -0 7.5961903 7.7676789 6.288359 + 22600 2000 -0 7.596183 7.7676807 6.2883613 + 22700 2000 -0 7.5961756 7.7676824 6.288363 + 22800 2000 -0 7.5961685 7.7676843 6.2883669 + 22900 2000 -0 7.5961616 7.7676859 6.2883701 + 23000 2000 -0 7.5961555 7.7676881 6.2883726 + 23100 2000 -0 7.5961478 7.7676894 6.2883761 + 23200 2000 -0 7.5961408 7.7676905 6.2883794 + 23300 2000 -0 7.5961337 7.7676917 6.2883816 + 23400 2000 -0 7.5961266 7.7676931 6.2883848 + 23500 2000 -0 7.5961196 7.7676947 6.2883884 + 23600 2000 -0 7.5961122 7.7676962 6.2883911 + 23700 2000 -0 7.5961047 7.7676979 6.2883942 + 23800 2000 -0 7.5960972 7.7676997 6.2883977 + 23900 2000 -0 7.5960894 7.7677015 6.2884004 + 24000 2000 -0 7.5960814 7.7677033 6.288403 + 24100 2000 -0 7.5960734 7.7677054 6.2884061 + 24200 2000 -0 7.5960651 7.7677076 6.2884089 + 24300 2000 -0 7.5960576 7.76771 6.2884124 + 24400 2000 -0 7.5960487 7.7677127 6.288415 + 24500 2000 -0 7.596039 7.7677152 6.2884169 + 24600 2000 -0 7.59603 7.7677178 6.2884192 + 24700 2000 -0 7.5960208 7.7677205 6.2884216 + 24800 2000 -0 7.5960115 7.7677234 6.2884242 + 24900 2000 -0 7.5960021 7.7677264 6.2884266 + 25000 2000 -0 7.5959926 7.7677293 6.288429 + 25100 2000 -0 7.595983 7.7677323 6.2884316 + 25200 2000 -0 7.5959735 7.7677352 6.2884341 + 25300 2000 -0 7.5959639 7.7677381 6.2884365 + 25400 2000 -0 7.5959544 7.7677409 6.2884391 + 25500 2000 -0 7.5959449 7.7677437 6.2884418 + 25600 2000 -0 7.5959355 7.7677464 6.2884444 + 25700 2000 -0 7.5959262 7.7677491 6.2884471 + 25800 2000 -0 7.5959171 7.7677518 6.2884498 + 25900 2000 -0 7.5959081 7.7677543 6.2884525 + 26000 2000 -0 7.5958993 7.7677567 6.2884551 + 26100 2000 -0 7.5958907 7.7677591 6.2884578 + 26200 2000 -0 7.595883 7.7677616 6.2884607 + 26300 2000 -0 7.5958752 7.7677633 6.2884628 + 26400 2000 -0 7.5958661 7.7677658 6.288466 + 26500 2000 -0 7.5958577 7.7677683 6.2884697 + 26600 2000 -0 7.5958499 7.7677701 6.2884712 + 26700 2000 -0 7.5958424 7.767772 6.2884735 + 26800 2000 -0 7.5958352 7.7677742 6.2884777 + 26900 2000 -0 7.5958278 7.767776 6.2884798 + 27000 2000 -0 7.5958205 7.7677777 6.2884817 + 27100 2000 -0 7.5958171 7.7677861 6.2884867 + 27200 2000 -0 7.5958058 7.767782 6.2884877 + 27300 2000 -0 7.5957995 7.767783 6.2884897 + 27400 2000 -0 7.5957928 7.7677845 6.2884941 + 27500 2000 -0 7.5957858 7.7677862 6.2884971 + 27600 2000 -0 7.5957786 7.7677876 6.2884991 + 27700 2000 -0 7.5957716 7.7677894 6.2885028 + 27800 2000 -0 7.5957644 7.7677911 6.2885058 + 27900 2000 -0 7.595757 7.7677927 6.2885082 + 28000 2000 -0 7.5957496 7.7677945 6.2885114 + 28100 2000 -0 7.5957421 7.7677965 6.2885146 + 28200 2000 -0 7.5957342 7.7677984 6.288517 + 28300 2000 -0 7.5957263 7.7678006 6.2885197 + 28400 2000 -0 7.5957182 7.7678029 6.2885227 + 28500 2000 -0 7.5957098 7.7678053 6.2885251 + 28600 2000 -0 7.595701 7.7678109 6.2885275 + 28700 2000 -0 7.5956927 7.7678104 6.2885301 + 28800 2000 -0 7.5956839 7.7678133 6.2885325 + 28900 2000 -0 7.5956749 7.7678161 6.2885345 + 29000 2000 -0 7.5956658 7.7678191 6.2885369 + 29100 2000 -0 7.5956566 7.7678222 6.2885392 + 29200 2000 -0 7.5956473 7.7678253 6.2885412 + 29300 2000 -0 7.5956379 7.7678284 6.2885434 + 29400 2000 -0 7.5956285 7.7678315 6.2885458 + 29500 2000 -0 7.595619 7.7678346 6.288548 + 29600 2000 -0 7.5956096 7.7678376 6.2885502 + 29700 2000 -0 7.5956004 7.7678407 6.2885528 + 29800 2000 -0 7.5955908 7.7678436 6.2885551 + 29900 2000 -0 7.5955816 7.7678465 6.2885573 + 30000 2000 -0 7.5955725 7.7678494 6.2885598 + 30100 2000 -0 7.5955635 7.7678522 6.2885623 + 30200 2000 -0 7.5955547 7.7678548 6.2885646 + 30300 2000 -0 7.5955461 7.7678575 6.2885671 + 30400 2000 -0 7.5955377 7.7678601 6.2885696 + 30500 2000 -0 7.5955317 7.7678632 6.288572 + 30600 2000 -0 7.5955209 7.7678646 6.2885732 + 30700 2000 -0 7.5955138 7.7678673 6.2885773 + 30800 2000 -0 7.5955057 7.7678698 6.2885802 + 30900 2000 -0 7.5954978 7.7678719 6.2885813 + 31000 2000 -0 7.5954905 7.7678739 6.2885838 + 31100 2000 -0 7.5954836 7.7678764 6.2885876 + 31200 2000 -0 7.5954763 7.7678782 6.2885891 + 31300 2000 -0 7.5954742 7.7678842 6.2885893 + 31400 2000 -0 7.5954635 7.7678813 6.2885963 + 31500 2000 -0 7.5954662 7.7678813 6.2885978 + 31600 2000 -0 7.5954651 7.767881 6.2885992 + 31700 2000 -0 7.5954652 7.7678813 6.2886059 + 31800 2000 -0 7.5954642 7.7678815 6.2886093 + 31900 2000 -0 7.5954627 7.7678812 6.2886098 + 32000 2000 -0 7.5954619 7.7678816 6.2886155 + 32100 2000 -0 7.5954608 7.767882 6.2886199 + 32200 2000 -0 7.595459 7.7678819 6.2886212 + 32300 2000 -0 7.5954574 7.7678824 6.2886253 + 32400 2000 -0 7.5954559 7.7678831 6.2886303 + 32500 2000 -0 7.5954537 7.7678834 6.2886323 + 32600 2000 -0 7.5954513 7.7678841 6.2886353 + 32700 2000 -0 7.5954491 7.767885 6.2886401 + 32800 2000 -0 7.5954463 7.7678859 6.2886428 + 32900 2000 -0 7.5954433 7.7678868 6.2886452 + 33000 2000 -0 7.5954404 7.7678881 6.2886494 + 33100 2000 -0 7.5954372 7.7678894 6.2886525 + 33200 2000 -0 7.5954345 7.76789 6.2886545 + 33300 2000 -0 7.5954319 7.7678907 6.2886578 + 33400 2000 -0 7.5954292 7.7678914 6.2886612 + 33500 2000 -0 7.5954262 7.767892 6.2886633 + 33600 2000 -0 7.5954232 7.7678927 6.2886662 + 33700 2000 -0 7.5954203 7.7678934 6.2886697 + 33800 2000 -0 7.5954172 7.767894 6.2886722 + 33900 2000 -0 7.5954142 7.7678945 6.288675 + 34000 2000 -0 7.5954113 7.7678952 6.2886785 + 34100 2000 -0 7.5954084 7.7678956 6.2886814 + 34200 2000 -0 7.5954056 7.767896 6.2886841 + 34300 2000 -0 7.595403 7.7678964 6.2886876 + 34400 2000 -0 7.5954005 7.7678968 6.2886908 + 34500 2000 -0 7.5953981 7.7678969 6.2886936 + 34600 2000 -0 7.5953959 7.7678971 6.2886968 + 34700 2000 -0 7.595394 7.7678972 6.2887001 + 34800 2000 -0 7.5953953 7.7678972 6.288703 + 34900 2000 -0 7.5953889 7.767897 6.2887047 + 35000 2000 -0 7.5953908 7.7678971 6.2887098 + 35100 2000 -0 7.5953877 7.7678973 6.2887122 + 35200 2000 -0 7.5953867 7.767897 6.2887144 + 35300 2000 -0 7.5953863 7.7678962 6.2887182 + 35400 2000 -0 7.5953856 7.7678962 6.288722 + 35500 2000 -0 7.5953849 7.7678956 6.2887237 + 35600 2000 -0 7.5953846 7.7678951 6.2887271 + 35700 2000 -0 7.5953844 7.7678947 6.2887309 + 35800 2000 -0 7.595384 7.767894 6.2887334 + 35900 2000 -0 7.5953838 7.7678933 6.2887362 + 36000 2000 -0 7.5953837 7.7678927 6.2887403 + 36100 2000 -0 7.5953834 7.767892 6.2887432 + 36200 2000 -0 7.595383 7.7678913 6.2887459 + 36300 2000 -0 7.5953827 7.7678907 6.2887498 + 36400 2000 -0 7.5953821 7.7678901 6.2887531 + 36500 2000 -0 7.5953814 7.7678895 6.2887558 + 36600 2000 -0 7.5953807 7.7678891 6.2887593 + 36700 2000 -0 7.5953797 7.7678887 6.2887627 + 36800 2000 -0 7.5953785 7.7678884 6.2887654 + 36900 2000 -0 7.5953772 7.7678883 6.2887685 + 37000 2000 -0 7.5953757 7.7678884 6.2887717 + 37100 2000 -0 7.595374 7.7678885 6.2887744 + 37200 2000 -0 7.5953721 7.7678888 6.2887771 + 37300 2000 -0 7.59537 7.7678892 6.2887801 + 37400 2000 -0 7.5953678 7.7678897 6.2887827 + 37500 2000 -0 7.5953654 7.7678903 6.2887851 + 37600 2000 -0 7.5953628 7.767891 6.2887879 + 37700 2000 -0 7.5953602 7.7678918 6.2887906 + 37800 2000 -0 7.5953571 7.7678929 6.288793 + 37900 2000 -0 7.5953545 7.7678935 6.2887957 + 38000 2000 -0 7.5953517 7.7678941 6.2887985 + 38100 2000 -0 7.5953488 7.7678949 6.2888011 + 38200 2000 -0 7.5953459 7.7678956 6.2888037 + 38300 2000 -0 7.5953431 7.7678962 6.2888066 + 38400 2000 -0 7.5953404 7.7678969 6.2888094 + 38500 2000 -0 7.5953377 7.7678974 6.2888122 + 38600 2000 -0 7.5953352 7.7678979 6.2888151 + 38700 2000 -0 7.5953328 7.7678983 6.288818 + 38800 2000 -0 7.5953306 7.7678987 6.2888209 + 38900 2000 -0 7.5953285 7.7678991 6.2888238 + 39000 2000 -0 7.5953266 7.7678994 6.2888267 + 39100 2000 -0 7.5953284 7.7678993 6.2888299 + 39200 2000 -0 7.5953221 7.7679002 6.2888311 + 39300 2000 -0 7.5953225 7.7678998 6.2888359 + 39400 2000 -0 7.5953215 7.7678999 6.2888384 + 39500 2000 -0 7.5953234 7.7678996 6.2888401 + 39600 2000 -0 7.5953197 7.7678996 6.2888437 + 39700 2000 -0 7.5953193 7.7678996 6.2888471 + 39800 2000 -0 7.5953187 7.7678992 6.2888486 + 39900 2000 -0 7.5953185 7.7678989 6.2888519 + 40000 2000 -0 7.5953185 7.7678987 6.2888555 + 40100 2000 -0 7.5953171 7.7678976 6.2888576 + 40200 2000 -0 7.595318 7.7678977 6.2888603 + 40300 2000 -0 7.5953181 7.7678973 6.2888642 + 40400 2000 -0 7.5953178 7.7678967 6.2888668 + 40500 2000 -0 7.5953175 7.7678962 6.2888695 + 40600 2000 -0 7.5953174 7.7678958 6.2888733 + 40700 2000 -0 7.5953169 7.7678954 6.2888761 + 40800 2000 -0 7.5953162 7.767895 6.2888787 + 40900 2000 -0 7.5953155 7.7678947 6.288882 + 41000 2000 -0 7.5953147 7.7678946 6.2888851 + 41100 2000 -0 7.5953136 7.7678944 6.2888876 + 41200 2000 -0 7.5953123 7.7678945 6.2888905 + 41300 2000 -0 7.5953109 7.7678948 6.2888936 + 41400 2000 -0 7.5953091 7.7678948 6.2888961 + 41500 2000 -0 7.595307 7.7678943 6.2888989 + 41600 2000 -0 7.5953046 7.7678939 6.2889022 + 41700 2000 -0 7.5953019 7.7678935 6.2889051 + 41800 2000 -0 7.595299 7.7678933 6.2889079 + 41900 2000 -0 7.5952973 7.7678931 6.2889112 + 42000 2000 -0 7.595293 7.7678931 6.2889142 + 42100 2000 -0 7.5952897 7.7678929 6.2889165 + 42200 2000 -0 7.5952864 7.7678928 6.2889198 + 42300 2000 -0 7.5952831 7.7678928 6.288923 + 42400 2000 -0 7.5952797 7.7678926 6.2889256 + 42500 2000 -0 7.5952764 7.7678925 6.2889289 + 42600 2000 -0 7.595274 7.7678914 6.2889322 + 42700 2000 -0 7.5952704 7.7678916 6.2889354 + 42800 2000 -0 7.595267 7.7678911 6.2889384 + 42900 2000 -0 7.5952656 7.7678941 6.2889425 + 43000 2000 -0 7.5952627 7.7678921 6.2889451 + 43100 2000 -0 7.5952594 7.7678889 6.2889481 + 43200 2000 -0 7.5952565 7.7678879 6.2889509 + 43300 2000 -0 7.5952547 7.7678871 6.2889548 + 43400 2000 -0 7.5952557 7.767886 6.2889583 + 43500 2000 -0 7.5952503 7.7678854 6.2889594 + 43600 2000 -0 7.5952493 7.7678839 6.288965 + 43700 2000 -0 7.5952482 7.7678827 6.2889677 + 43800 2000 -0 7.5952467 7.7678813 6.2889694 + 43900 2000 -0 7.5952458 7.7678801 6.2889739 + 44000 2000 -0 7.5952454 7.7678787 6.2889774 + 44100 2000 -0 7.5952449 7.7678768 6.2889786 + 44200 2000 -0 7.5952449 7.7678753 6.2889822 + 44300 2000 -0 7.595245 7.7678737 6.288986 + 44400 2000 -0 7.5952448 7.7678718 6.2889879 + 44500 2000 -0 7.5952448 7.7678699 6.2889908 + 44600 2000 -0 7.595245 7.7678683 6.2889949 + 44700 2000 -0 7.5952448 7.7678663 6.2889974 + 44800 2000 -0 7.5952446 7.7678644 6.289 + 44900 2000 -0 7.595245 7.7678622 6.2890034 + 45000 2000 -0 7.5952444 7.767861 6.2890073 + 45100 2000 -0 7.5952437 7.7678593 6.2890094 + 45200 2000 -0 7.595243 7.7678577 6.2890129 + 45300 2000 -0 7.5952422 7.7678563 6.289016 + 45400 2000 -0 7.5952411 7.7678549 6.2890185 + 45500 2000 -0 7.5952399 7.7678537 6.2890214 + 45600 2000 -0 7.5952386 7.7678526 6.2890245 + 45700 2000 -0 7.595237 7.7678516 6.2890269 + 45800 2000 -0 7.5952352 7.7678508 6.2890295 + 45900 2000 -0 7.5952333 7.7678501 6.2890323 + 46000 2000 -0 7.5952312 7.7678495 6.2890348 + 46100 2000 -0 7.5952289 7.767849 6.289037 + 46200 2000 -0 7.5952265 7.7678486 6.2890397 + 46300 2000 -0 7.595224 7.7678482 6.2890422 + 46400 2000 -0 7.5952213 7.7678478 6.2890445 + 46500 2000 -0 7.5952186 7.7678474 6.2890471 + 46600 2000 -0 7.5952159 7.767847 6.2890498 + 46700 2000 -0 7.5952132 7.7678466 6.2890522 + 46800 2000 -0 7.5952105 7.7678462 6.2890548 + 46900 2000 -0 7.5952078 7.7678457 6.2890576 + 47000 2000 -0 7.5952052 7.767848 6.2890603 + 47100 2000 -0 7.5952028 7.7678445 6.2890629 + 47200 2000 -0 7.5952004 7.7678438 6.2890658 + 47300 2000 -0 7.5951983 7.767843 6.2890684 + 47400 2000 -0 7.5951963 7.7678421 6.289071 + 47500 2000 -0 7.5951945 7.7678412 6.2890739 + 47600 2000 -0 7.5951928 7.7678403 6.2890766 + 47700 2000 -0 7.5951936 7.7678391 6.2890792 + 47800 2000 -0 7.5951902 7.7678383 6.2890813 + 47900 2000 -0 7.5951889 7.7678373 6.2890856 + 48000 2000 -0 7.5951881 7.7678358 6.2890872 + 48100 2000 -0 7.5951873 7.7678344 6.2890892 + 48200 2000 -0 7.595187 7.7678333 6.2890933 + 48300 2000 -0 7.5951866 7.7678318 6.2890956 + 48400 2000 -0 7.5951861 7.7678302 6.2890972 + 48500 2000 -0 7.5951861 7.7678288 6.289101 + 48600 2000 -0 7.5951861 7.7678272 6.289104 + 48700 2000 -0 7.5951858 7.7678254 6.2891058 + 48800 2000 -0 7.5951858 7.7678255 6.2891126 + 48900 2000 -0 7.5951857 7.767822 6.2891123 + 49000 2000 -0 7.5951856 7.7678203 6.2891153 + 49100 2000 -0 7.5951853 7.7678184 6.2891183 + 49200 2000 -0 7.595185 7.7678166 6.289121 + 49300 2000 -0 7.5951845 7.7678149 6.2891242 + 49400 2000 -0 7.595184 7.7678133 6.2891272 + 49500 2000 -0 7.5951831 7.7678116 6.2891298 + 49600 2000 -0 7.5951822 7.7678102 6.2891328 + 49700 2000 -0 7.5951811 7.7678089 6.2891358 + 49800 2000 -0 7.5951797 7.7678076 6.2891384 + 49900 2000 -0 7.5951782 7.7678065 6.2891412 + 50000 2000 -0 7.5951765 7.7678056 6.289144 + 50100 2000 -0 7.5951746 7.7678048 6.2891464 + 50200 2000 -0 7.5951725 7.7678041 6.2891489 + 50300 2000 -0 7.5951703 7.7678035 6.2891515 + 50400 2000 -0 7.5951679 7.767803 6.2891539 + 50500 2000 -0 7.5951653 7.7678025 6.2891563 + 50600 2000 -0 7.5951627 7.7678021 6.2891588 + 50700 2000 -0 7.59516 7.7678018 6.2891612 + 50800 2000 -0 7.5951572 7.7678014 6.2891637 + 50900 2000 -0 7.5951543 7.767801 6.2891662 + 51000 2000 -0 7.5951515 7.7678035 6.2891689 + 51100 2000 -0 7.5951486 7.7678002 6.2891713 + 51200 2000 -0 7.5951459 7.7677995 6.2891739 + 51300 2000 -0 7.5951433 7.7677989 6.2891766 + 51400 2000 -0 7.5951407 7.7677982 6.2891793 + 51500 2000 -0 7.5951383 7.7677975 6.289182 + 51600 2000 -0 7.595136 7.7677966 6.2891847 + 51700 2000 -0 7.5951339 7.7677957 6.2891875 + 51800 2000 -0 7.595132 7.7677948 6.2891902 + 51900 2000 -0 7.5951305 7.7677938 6.289193 + 52000 2000 -0 7.5951299 7.7677923 6.289195 + 52100 2000 -0 7.5951278 7.7677914 6.2891981 + 52200 2000 -0 7.5951262 7.7677905 6.2892017 + 52300 2000 -0 7.5951252 7.767789 6.2892033 + 52400 2000 -0 7.5951244 7.7677876 6.2892055 + 52500 2000 -0 7.595124 7.7677865 6.2892095 + 52600 2000 -0 7.5951234 7.7677849 6.2892116 + 52700 2000 -0 7.5951229 7.7677832 6.2892135 + 52800 2000 -0 7.5951229 7.7677818 6.2892173 + 52900 2000 -0 7.5951227 7.7677801 6.28922 + 53000 2000 -0 7.5951223 7.7677783 6.289222 + 53100 2000 -0 7.5951223 7.7677766 6.2892254 + 53200 2000 -0 7.5951221 7.7677749 6.2892286 + 53300 2000 -0 7.5951218 7.7677731 6.2892308 + 53400 2000 -0 7.5951215 7.7677713 6.289234 + 53500 2000 -0 7.5951213 7.7677724 6.2892375 + 53600 2000 -0 7.5951205 7.7677678 6.2892398 + 53700 2000 -0 7.5951197 7.7677663 6.2892426 + 53800 2000 -0 7.5951189 7.7677649 6.2892459 + 53900 2000 -0 7.5951178 7.7677635 6.2892486 + 54000 2000 -0 7.5951165 7.7677622 6.289251 + 54100 2000 -0 7.5951151 7.7677611 6.289254 + 54200 2000 -0 7.5951135 7.7677602 6.2892567 + 54300 2000 -0 7.5951116 7.7677592 6.2892589 + 54400 2000 -0 7.5951095 7.7677585 6.2892615 + 54500 2000 -0 7.5951073 7.7677579 6.2892641 + 54600 2000 -0 7.5951059 7.7677573 6.2892662 + 54700 2000 -0 7.5951022 7.7677569 6.2892686 + 54800 2000 -0 7.5950995 7.7677565 6.2892711 + 54900 2000 -0 7.5950966 7.7677562 6.2892734 + 55000 2000 -0 7.5950936 7.7677558 6.2892757 + 55100 2000 -0 7.5950906 7.7677555 6.2892782 + 55200 2000 -0 7.5950876 7.7677552 6.2892806 + 55300 2000 -0 7.5950846 7.7677547 6.289283 + 55400 2000 -0 7.5950816 7.7677543 6.2892856 + 55500 2000 -0 7.5950787 7.7677538 6.2892882 + 55600 2000 -0 7.5950758 7.7677532 6.2892907 + 55700 2000 -0 7.5950731 7.7677526 6.2892934 + 55800 2000 -0 7.5950705 7.7677519 6.2892961 + 55900 2000 -0 7.5950681 7.7677511 6.2892987 + 56000 2000 -0 7.5950658 7.7677503 6.2893013 + 56100 2000 -0 7.5950637 7.7677494 6.289304 + 56200 2000 -0 7.5950636 7.7677489 6.2893069 + 56300 2000 -0 7.5950599 7.7677469 6.2893081 + 56400 2000 -0 7.5950591 7.7677461 6.2893121 + 56500 2000 -0 7.5950575 7.7677452 6.2893152 + 56600 2000 -0 7.595056 7.7677438 6.2893165 + 56700 2000 -0 7.5950551 7.7677425 6.2893191 + 56800 2000 -0 7.5950546 7.7677414 6.289323 + 56900 2000 -0 7.5950537 7.7677398 6.2893246 + 57000 2000 -0 7.5950531 7.7677383 6.2893268 + 57100 2000 -0 7.5950528 7.7677369 6.2893306 + 57200 2000 -0 7.5950524 7.7677352 6.289333 + 57300 2000 -0 7.5950519 7.7677334 6.289335 + 57400 2000 -0 7.5950517 7.7677318 6.2893386 + 57500 2000 -0 7.5950513 7.7677302 6.2893415 + 57600 2000 -0 7.5950507 7.7677283 6.2893436 + 57700 2000 -0 7.5950502 7.7677267 6.2893469 + 57800 2000 -0 7.5950496 7.7677251 6.2893501 + 57900 2000 -0 7.5950486 7.7677235 6.2893525 + 58000 2000 -0 7.5950476 7.767722 6.2893554 + 58100 2000 -0 7.5950465 7.7677207 6.2893585 + 58200 2000 -0 7.5950451 7.7677194 6.289361 + 58300 2000 -0 7.5950436 7.7677183 6.2893635 + 58400 2000 -0 7.5950421 7.7677174 6.2893664 + 58500 2000 -0 7.5950402 7.7677166 6.2893688 + 58600 2000 -0 7.5950381 7.7677158 6.289371 + 58700 2000 -0 7.595036 7.7677153 6.2893736 + 58800 2000 -0 7.5950336 7.7677148 6.289376 + 58900 2000 -0 7.595031 7.7677144 6.2893781 + 59000 2000 -0 7.5950283 7.7677141 6.2893804 + 59100 2000 -0 7.5950254 7.7677139 6.2893828 + 59200 2000 -0 7.5950225 7.7677137 6.2893849 + 59300 2000 -0 7.5950194 7.7677135 6.2893872 + 59400 2000 -0 7.5950163 7.7677134 6.2893896 + 59500 2000 -0 7.5950132 7.7677131 6.2893919 + 59600 2000 -0 7.5950101 7.7677129 6.2893942 + 59700 2000 -0 7.595007 7.7677126 6.2893968 + 59800 2000 -0 7.5950047 7.7677123 6.2893992 + 59900 2000 -0 7.5950011 7.7677118 6.2894016 + 60000 2000 -0 7.5949983 7.7677113 6.2894042 + 60100 2000 -0 7.5949956 7.7677107 6.2894068 + 60200 2000 -0 7.5949931 7.7677101 6.2894093 + 60300 2000 -0 7.5949908 7.7677094 6.2894119 + 60400 2000 -0 7.5949886 7.7677087 6.2894145 + 60500 2000 -0 7.5949893 7.7677082 6.2894169 + 60600 2000 -0 7.5949834 7.7677067 6.2894183 + 60700 2000 -0 7.5949837 7.7677058 6.2894226 + 60800 2000 -0 7.5949821 7.767705 6.2894252 + 60900 2000 -0 7.5949805 7.7677038 6.2894264 + 61000 2000 -0 7.5949795 7.7677026 6.2894293 + 61100 2000 -0 7.5949789 7.7677016 6.2894329 + 61200 2000 -0 7.5949779 7.7677001 6.2894343 + 61300 2000 -0 7.5949772 7.7676987 6.2894368 + 61400 2000 -0 7.5949768 7.7676974 6.2894404 + 61500 2000 -0 7.5949762 7.7676959 6.2894425 + 61600 2000 -0 7.5949757 7.7676942 6.2894446 + 61700 2000 -0 7.5949753 7.7676928 6.2894483 + 61800 2000 -0 7.5949748 7.7676912 6.2894509 + 61900 2000 -0 7.5949741 7.7676895 6.289453 + 62000 2000 -0 7.5949735 7.767688 6.2894564 + 62100 2000 -0 7.5949727 7.7676865 6.2894593 + 62200 2000 -0 7.5949717 7.767685 6.2894616 + 62300 2000 -0 7.5949706 7.7676836 6.2894646 + 62400 2000 -0 7.5949694 7.7676824 6.2894676 + 62500 2000 -0 7.5949679 7.7676812 6.2894699 + 62600 2000 -0 7.5949663 7.7676801 6.2894725 + 62700 2000 -0 7.5949645 7.7676792 6.2894754 + 62800 2000 -0 7.5949624 7.7676785 6.2894777 + 62900 2000 -0 7.5949602 7.7676778 6.2894799 + 63000 2000 -0 7.5949578 7.7676773 6.2894825 + 63100 2000 -0 7.5949553 7.7676769 6.2894848 + 63200 2000 -0 7.5949525 7.7676765 6.2894868 + 63300 2000 -0 7.5949496 7.7676763 6.2894892 + 63400 2000 -0 7.5949466 7.7676761 6.2894915 + 63500 2000 -0 7.5949435 7.7676759 6.2894935 + 63600 2000 -0 7.5949404 7.7676757 6.2894957 + 63700 2000 -0 7.5949373 7.7676755 6.2894981 + 63800 2000 -0 7.5949341 7.7676752 6.2895003 + 63900 2000 -0 7.594931 7.7676749 6.2895025 + 64000 2000 -0 7.5949281 7.7676746 6.289505 + 64100 2000 -0 7.5949249 7.7676742 6.2895073 + 64200 2000 -0 7.5949219 7.7676737 6.2895097 + 64300 2000 -0 7.5949191 7.7676731 6.2895122 + 64400 2000 -0 7.5949165 7.7676725 6.2895147 + 64500 2000 -0 7.594914 7.7676718 6.2895171 + 64600 2000 -0 7.5949116 7.7676711 6.2895196 + 64700 2000 -0 7.5949095 7.7676702 6.2895221 + 64800 2000 -0 7.5949105 7.7676688 6.2895247 + 64900 2000 -0 7.5949039 7.767668 6.2895261 + 65000 2000 -0 7.5949041 7.7676665 6.2895306 + 65100 2000 -0 7.5949026 7.7676653 6.2895328 + 65200 2000 -0 7.5949005 7.7676632 6.2895342 + 65300 2000 -0 7.5948956 7.7676549 6.2895391 + 65400 2000 -0 7.5948925 7.7676486 6.2895389 + 65500 2000 -0 7.5948924 7.7676487 6.2895397 + 65600 2000 -0 7.5948923 7.767647 6.289549 + 65700 2000 -0 7.5948909 7.7676452 6.2895471 + 65800 2000 -0 7.5948899 7.7676429 6.289548 + 65900 2000 -0 7.5948899 7.7676418 6.2895556 + 66000 2000 -0 7.5948891 7.7676399 6.2895571 + 66100 2000 -0 7.5948876 7.7676375 6.2895567 + 66200 2000 -0 7.5948874 7.7676361 6.2895627 + 66300 2000 -0 7.5948866 7.7676344 6.2895663 + 66400 2000 -0 7.5948851 7.7676323 6.2895661 + 66500 2000 -0 7.5948842 7.7676308 6.2895704 + 66600 2000 -0 7.5948833 7.7676295 6.2895749 + 66700 2000 -0 7.5948815 7.7676277 6.2895755 + 66800 2000 -0 7.5948799 7.7676263 6.2895782 + 66900 2000 -0 7.5948784 7.7676253 6.2895826 + 67000 2000 -0 7.5948762 7.7676241 6.2895841 + 67100 2000 -0 7.5948739 7.767623 6.2895858 + 67200 2000 -0 7.5948718 7.7676223 6.2895898 + 67300 2000 -0 7.5948692 7.7676216 6.289592 + 67400 2000 -0 7.5948662 7.7676208 6.2895932 + 67500 2000 -0 7.5948635 7.7676203 6.2895964 + 67600 2000 -0 7.5948605 7.7676199 6.2895991 + 67700 2000 -0 7.5948572 7.7676193 6.2896004 + 67800 2000 -0 7.594854 7.767619 6.289603 + 67900 2000 -0 7.5948508 7.7676187 6.2896061 + 68000 2000 -0 7.5948473 7.7676182 6.2896078 + 68100 2000 -0 7.5948438 7.7676178 6.28961 + 68200 2000 -0 7.5948406 7.7676174 6.2896131 + 68300 2000 -0 7.5948372 7.7676168 6.2896153 + 68400 2000 -0 7.5948339 7.7676161 6.2896175 + 68500 2000 -0 7.5948308 7.7676156 6.2896206 + 68600 2000 -0 7.5948278 7.7676148 6.2896232 + 68700 2000 -0 7.5948248 7.767614 6.2896254 + 68800 2000 -0 7.5948221 7.7676131 6.2896283 + 68900 2000 -0 7.5948196 7.7676122 6.2896311 + 69000 2000 -0 7.5948172 7.7676111 6.2896334 + 69100 2000 -0 7.5948182 7.7676099 6.2896363 + 69200 2000 -0 7.5948122 7.7676096 6.2896377 + 69300 2000 -0 7.594811 7.7676081 6.2896421 + 69400 2000 -0 7.5948092 7.767607 6.2896441 + 69500 2000 -0 7.5948073 7.7676059 6.2896459 + 69600 2000 -0 7.5948058 7.7676043 6.2896498 + 69700 2000 -0 7.5948044 7.7676026 6.2896529 + 69800 2000 -0 7.5948029 7.7676005 6.2896547 + 69900 2000 -0 7.5948018 7.7675987 6.2896584 + 70000 2000 -0 7.5948007 7.7675967 6.2896619 + 70100 2000 -0 7.5947995 7.7675945 6.2896642 + 70200 2000 -0 7.5947984 7.7675924 6.2896674 + 70300 2000 -0 7.5947974 7.7675903 6.2896713 + 70400 2000 -0 7.5947962 7.7675881 6.2896739 + 70500 2000 -0 7.594795 7.7675859 6.289677 + 70600 2000 -0 7.5947937 7.7675838 6.2896808 + 70700 2000 -0 7.5947922 7.7675817 6.2896838 + 70800 2000 -0 7.5947906 7.7675796 6.2896868 + 70900 2000 -0 7.5947889 7.7675777 6.2896903 + 71000 2000 -0 7.594787 7.7675758 6.2896935 + 71100 2000 -0 7.5947848 7.7675741 6.2896963 + 71200 2000 -0 7.5947826 7.7675725 6.2896995 + 71300 2000 -0 7.5947801 7.767571 6.2897026 + 71400 2000 -0 7.5947774 7.7675697 6.2897053 + 71500 2000 -0 7.5947745 7.7675684 6.2897081 + 71600 2000 -0 7.5947715 7.7675673 6.2897111 + 71700 2000 -0 7.5947683 7.7675663 6.2897137 + 71800 2000 -0 7.5947648 7.7675654 6.2897162 + 71900 2000 -0 7.5947613 7.7675645 6.2897191 + 72000 2000 -0 7.5947575 7.7675638 6.2897217 + 72100 2000 -0 7.5947535 7.7675631 6.2897242 + 72200 2000 -0 7.5947494 7.7675625 6.289727 + 72300 2000 -0 7.5947453 7.7675618 6.2897298 + 72400 2000 -0 7.594741 7.7675611 6.2897324 + 72500 2000 -0 7.5947368 7.7675604 6.2897352 + 72600 2000 -0 7.5947325 7.7675597 6.2897381 + 72700 2000 -0 7.5947283 7.7675588 6.2897408 + 72800 2000 -0 7.5947242 7.7675578 6.2897437 + 72900 2000 -0 7.5947201 7.7675568 6.2897466 + 73000 2000 -0 7.5947162 7.7675557 6.2897494 + 73100 2000 -0 7.5947122 7.7675546 6.2897523 + 73200 2000 -0 7.5947083 7.7675536 6.2897553 + 73300 2000 -0 7.5947045 7.7675525 6.2897583 + 73400 2000 -0 7.5947035 7.7675515 6.2897613 + 73500 2000 -0 7.5946973 7.767551 6.2897633 + 73600 2000 -0 7.5946939 7.7675499 6.2897681 + 73700 2000 -0 7.5946909 7.7675487 6.2897703 + 73800 2000 -0 7.5946877 7.7675475 6.2897725 + 73900 2000 -0 7.5946849 7.7675465 6.2897768 + 74000 2000 -0 7.5946821 7.7675453 6.2897798 + 74100 2000 -0 7.5946792 7.7675439 6.2897817 + 74200 2000 -0 7.5946768 7.7675427 6.2897857 + 74300 2000 -0 7.5946742 7.7675414 6.2897892 + 74400 2000 -0 7.5946714 7.7675399 6.2897916 + 74500 2000 -0 7.5946688 7.7675385 6.2897951 + 74600 2000 -0 7.5946662 7.7675371 6.2897992 + 74700 2000 -0 7.5946634 7.7675355 6.2898019 + 74800 2000 -0 7.5946605 7.7675341 6.2898052 + 74900 2000 -0 7.5946577 7.7675328 6.2898092 + 75000 2000 -0 7.5946545 7.7675314 6.2898123 + 75100 2000 -0 7.5946512 7.76753 6.2898154 + 75200 2000 -0 7.5946478 7.7675289 6.2898193 + 75300 2000 -0 7.5946442 7.7675278 6.2898225 + 75400 2000 -0 7.5946403 7.7675268 6.2898255 + 75500 2000 -0 7.5946363 7.767526 6.2898289 + 75600 2000 -0 7.5946321 7.7675253 6.2898322 + 75700 2000 -0 7.5946277 7.7675247 6.2898349 + 75800 2000 -0 7.594623 7.7675243 6.2898379 + 75900 2000 -0 7.5946182 7.767524 6.289841 + 76000 2000 -0 7.5946184 7.7675222 6.2898477 + 76100 2000 -0 7.5946168 7.7675198 6.2898534 + 76200 2000 -0 7.5946059 7.7675208 6.2898537 + 76300 2000 -0 7.5945934 7.7675229 6.2898545 + 76400 2000 -0 7.5945858 7.7675222 6.2898578 + 76500 2000 -0 7.594578 7.7675215 6.2898604 + 76600 2000 -0 7.5945704 7.767521 6.289865 + 76700 2000 -0 7.5945627 7.7675205 6.2898692 + 76800 2000 -0 7.5945548 7.7675198 6.2898721 + 76900 2000 -0 7.5945472 7.7675191 6.2898763 + 77000 2000 -0 7.5945397 7.7675184 6.2898809 + 77100 2000 -0 7.5945321 7.7675175 6.2898842 + 77200 2000 -0 7.5945247 7.7675166 6.289888 + 77300 2000 -0 7.5945177 7.7675156 6.2898926 + 77400 2000 -0 7.5945106 7.7675145 6.2898964 + 77500 2000 -0 7.5945037 7.7675133 6.2899 + 77600 2000 -0 7.5944972 7.7675122 6.2899045 + 77700 2000 -0 7.5944924 7.7675106 6.2899081 + 77800 2000 -0 7.5944847 7.7675094 6.2899116 + 77900 2000 -0 7.5944783 7.7675083 6.2899171 + 78000 2000 -0 7.5944725 7.7675065 6.2899202 + 78100 2000 -0 7.5944668 7.7675048 6.2899232 + 78200 2000 -0 7.5944616 7.7675034 6.2899286 + 78300 2000 -0 7.5944563 7.7675016 6.2899324 + 78400 2000 -0 7.5944509 7.7674996 6.2899353 + 78500 2000 -0 7.594446 7.7674978 6.2899402 + 78600 2000 -0 7.5944411 7.7674959 6.2899446 + 78700 2000 -0 7.594436 7.7674938 6.2899477 + 78800 2000 -0 7.5944312 7.7674918 6.2899523 + 78900 2000 -0 7.5944263 7.7674898 6.2899571 + 79000 2000 -0 7.5944211 7.7674876 6.2899606 + 79100 2000 -0 7.594416 7.7674855 6.2899649 + 79200 2000 -0 7.5944109 7.7674835 6.2899697 + 79300 2000 -0 7.5944055 7.7674815 6.2899736 + 79400 2000 -0 7.5944 7.7674795 6.2899776 + 79500 2000 -0 7.5943944 7.7674777 6.2899823 + 79600 2000 -0 7.5943887 7.767476 6.2899864 + 79700 2000 -0 7.5943826 7.7674743 6.2899902 + 79800 2000 -0 7.5943766 7.7674728 6.2899944 + 79900 2000 -0 7.5943703 7.7674715 6.2899985 + 80000 2000 -0 7.5943639 7.7674702 6.2900021 + 80100 2000 -0 7.5943573 7.7674691 6.290006 + 80200 2000 -0 7.5943506 7.7674681 6.2900099 + 80300 2000 -0 7.5943437 7.7674671 6.2900134 + 80400 2000 -0 7.5943367 7.7674662 6.2900171 + 80500 2000 -0 7.5943296 7.7674655 6.2900209 + 80600 2000 -0 7.5943224 7.7674647 6.2900245 + 80700 2000 -0 7.5943151 7.7674639 6.2900281 + 80800 2000 -0 7.5943077 7.7674632 6.290032 + 80900 2000 -0 7.5943001 7.7674623 6.290036 + 81000 2000 -0 7.5942925 7.7674614 6.2900398 + 81100 2000 -0 7.594285 7.7674604 6.2900439 + 81200 2000 -0 7.5942776 7.7674594 6.290048 + 81300 2000 -0 7.5942702 7.7674582 6.290052 + 81400 2000 -0 7.594263 7.767457 6.2900562 + 81500 2000 -0 7.594256 7.7674558 6.2900604 + 81600 2000 -0 7.5942491 7.7674544 6.2900645 + 81700 2000 -0 7.5942424 7.767453 6.2900686 + 81800 2000 -0 7.5942359 7.7674515 6.2900729 + 81900 2000 -0 7.5942312 7.7674504 6.2900799 + 82000 2000 -0 7.5942237 7.7674478 6.29008 + 82100 2000 -0 7.5942182 7.7674465 6.2900859 + 82200 2000 -0 7.5942121 7.767445 6.2900901 + 82300 2000 -0 7.5942063 7.7674429 6.2900926 + 82400 2000 -0 7.5942013 7.7674409 6.2900972 + 82500 2000 -0 7.5941965 7.7674392 6.2901025 + 82600 2000 -0 7.5941914 7.7674369 6.2901052 + 82700 2000 -0 7.5941866 7.7674347 6.2901091 + 82800 2000 -0 7.5941822 7.7674326 6.2901146 + 82900 2000 -0 7.5941776 7.7674302 6.2901181 + 83000 2000 -0 7.5941729 7.7674277 6.2901216 + 83100 2000 -0 7.5941686 7.7674254 6.2901269 + 83200 2000 -0 7.5941641 7.767423 6.2901311 + 83300 2000 -0 7.5941594 7.7674205 6.2901346 + 83400 2000 -0 7.5941549 7.7674181 6.2901396 + 83500 2000 -0 7.5941502 7.7674158 6.2901442 + 83600 2000 -0 7.5941452 7.7674133 6.2901479 + 83700 2000 -0 7.5941402 7.7674111 6.2901524 + 83800 2000 -0 7.5941351 7.7674089 6.2901572 + 83900 2000 -0 7.5941297 7.7674068 6.290161 + 84000 2000 -0 7.5941242 7.7674048 6.290165 + 84100 2000 -0 7.5941186 7.767403 6.2901696 + 84200 2000 -0 7.5941126 7.7674013 6.2901734 + 84300 2000 -0 7.5941065 7.7673997 6.2901771 + 84400 2000 -0 7.5941003 7.7673983 6.2901814 + 84500 2000 -0 7.5940939 7.767397 6.2901852 + 84600 2000 -0 7.5940872 7.7673957 6.2901888 + 84700 2000 -0 7.5940805 7.7673944 6.2901928 + 84800 2000 -0 7.5940737 7.7673931 6.2901967 + 84900 2000 -0 7.5940667 7.7673918 6.2902004 + 85000 2000 -0 7.5940597 7.7673906 6.2902042 + 85100 2000 -0 7.5940526 7.7673893 6.2902083 + 85200 2000 -0 7.5940454 7.767388 6.2902121 + 85300 2000 -0 7.5940382 7.7673867 6.290216 + 85400 2000 -0 7.5940312 7.7673853 6.2902202 + 85500 2000 -0 7.5940241 7.7673839 6.2902243 + 85600 2000 -0 7.5940172 7.7673823 6.2902282 + 85700 2000 -0 7.5940104 7.7673808 6.2902325 + 85800 2000 -0 7.5940037 7.7673791 6.2902367 + 85900 2000 -0 7.5939971 7.7673773 6.2902409 + 86000 2000 -0 7.5939906 7.7673755 6.2902452 + 86100 2000 -0 7.5939844 7.7673736 6.2902496 + 86200 2000 -0 7.5939805 7.7673722 6.2902539 + 86300 2000 -0 7.5939717 7.7673693 6.2902569 + 86400 2000 -0 7.5939672 7.7673674 6.2902627 + 86500 2000 -0 7.5939615 7.7673655 6.2902672 + 86600 2000 -0 7.5939558 7.7673632 6.2902702 + 86700 2000 -0 7.5939508 7.7673608 6.2902746 + 86800 2000 -0 7.5939461 7.7673587 6.2902801 + 86900 2000 -0 7.5939411 7.7673561 6.2902832 + 87000 2000 -0 7.5939363 7.7673536 6.2902873 + 87100 2000 -0 7.5939319 7.7673513 6.2902927 + 87200 2000 -0 7.5939273 7.7673486 6.2902967 + 87300 2000 -0 7.5939223 7.7673461 6.2903004 + 87400 2000 -0 7.5939183 7.7673434 6.2903057 + 87500 2000 -0 7.5939138 7.7673407 6.2903103 + 87600 2000 -0 7.5939091 7.7673378 6.2903141 + 87700 2000 -0 7.5939045 7.7673352 6.2903191 + 87800 2000 -0 7.5938997 7.7673326 6.290324 + 87900 2000 -0 7.5938947 7.76733 6.2903281 + 88000 2000 -0 7.5938896 7.7673275 6.2903326 + 88100 2000 -0 7.5938843 7.7673252 6.2903375 + 88200 2000 -0 7.5938785 7.767323 6.2903417 + 88300 2000 -0 7.5938726 7.767321 6.2903459 + 88400 2000 -0 7.5938666 7.7673191 6.2903505 + 88500 2000 -0 7.5938603 7.7673174 6.2903546 + 88600 2000 -0 7.5938538 7.7673157 6.2903585 + 88700 2000 -0 7.5938471 7.7673142 6.2903628 + 88800 2000 -0 7.5938403 7.7673128 6.290367 + 88900 2000 -0 7.5938333 7.7673115 6.2903707 + 89000 2000 -0 7.5938261 7.7673103 6.2903748 + 89100 2000 -0 7.5938189 7.7673091 6.2903789 + 89200 2000 -0 7.5938115 7.7673079 6.2903827 + 89300 2000 -0 7.593804 7.7673068 6.2903867 + 89400 2000 -0 7.5937967 7.7673056 6.2903909 + 89500 2000 -0 7.5937891 7.7673045 6.290395 + 89600 2000 -0 7.5937814 7.7673033 6.2903989 + 89700 2000 -0 7.593774 7.7673021 6.2904033 + 89800 2000 -0 7.5937665 7.7673008 6.2904075 + 89900 2000 -0 7.5937592 7.7672994 6.2904116 + 90000 2000 -0 7.593752 7.7672979 6.2904159 + 90100 2000 -0 7.5937449 7.7672964 6.2904203 + 90200 2000 -0 7.593738 7.7672948 6.2904245 + 90300 2000 -0 7.5937313 7.7672931 6.2904288 + 90400 2000 -0 7.5937247 7.7672914 6.2904332 + 90500 2000 -0 7.5937212 7.7672898 6.2904372 + 90600 2000 -0 7.5937109 7.7672874 6.2904407 + 90700 2000 -0 7.5937069 7.7672852 6.2904466 + 90800 2000 -0 7.5937012 7.7672832 6.2904508 + 90900 2000 -0 7.5936954 7.7672808 6.2904539 + 91000 2000 -0 7.5936902 7.7672783 6.2904586 + 91100 2000 -0 7.5936853 7.7672761 6.2904639 + 91200 2000 -0 7.5936801 7.7672734 6.290467 + 91300 2000 -0 7.5936753 7.7672708 6.2904714 + 91400 2000 -0 7.5936707 7.7672683 6.2904767 + 91500 2000 -0 7.5936659 7.7672655 6.2904805 + 91600 2000 -0 7.5936611 7.7672627 6.2904845 + 91700 2000 -0 7.5936566 7.76726 6.2904899 + 91800 2000 -0 7.5936518 7.7672571 6.2904943 + 91900 2000 -0 7.5936469 7.7672543 6.2904983 + 92000 2000 -0 7.5936421 7.7672515 6.2905034 + 92100 2000 -0 7.5936371 7.7672488 6.2905081 + 92200 2000 -0 7.5936318 7.7672461 6.2905122 + 92300 2000 -0 7.5936265 7.7672435 6.290517 + 92400 2000 -0 7.5936211 7.767241 6.2905217 + 92500 2000 -0 7.5936154 7.7672386 6.2905258 + 92600 2000 -0 7.5936095 7.7672363 6.2905302 + 92700 2000 -0 7.5936035 7.7672343 6.2905348 + 92800 2000 -0 7.5935971 7.7672324 6.2905388 + 92900 2000 -0 7.5935906 7.7672307 6.2905428 + 93000 2000 -0 7.5935838 7.7672293 6.2905471 + 93100 2000 -0 7.5935769 7.7672279 6.2905511 + 93200 2000 -0 7.5935698 7.7672265 6.2905549 + 93300 2000 -0 7.5935625 7.7672254 6.290559 + 93400 2000 -0 7.5935551 7.7672242 6.290563 + 93500 2000 -0 7.5935476 7.7672231 6.2905668 + 93600 2000 -0 7.5935401 7.7672219 6.2905708 + 93700 2000 -0 7.5935325 7.7672208 6.290575 + 93800 2000 -0 7.5935248 7.7672196 6.2905789 + 93900 2000 -0 7.5935172 7.7672184 6.290583 + 94000 2000 -0 7.5935097 7.767217 6.2905873 + 94100 2000 -0 7.5935023 7.7672156 6.2905915 + 94200 2000 -0 7.593495 7.767214 6.2905957 + 94300 2000 -0 7.5934878 7.7672123 6.2906 + 94400 2000 -0 7.5934808 7.7672106 6.2906044 + 94500 2000 -0 7.593474 7.7672087 6.2906086 + 94600 2000 -0 7.5934675 7.7672069 6.290613 + 94700 2000 -0 7.5934609 7.7672048 6.2906173 + 94800 2000 -0 7.5934577 7.7672024 6.2906217 + 94900 2000 -0 7.5934471 7.767201 6.2906246 + 95000 2000 -0 7.5934428 7.7671984 6.2906309 + 95100 2000 -0 7.5934372 7.7671962 6.2906347 + 95200 2000 -0 7.5934313 7.7671938 6.2906378 + 95300 2000 -0 7.5934261 7.7671914 6.290643 + 95400 2000 -0 7.5934211 7.7671891 6.2906478 + 95500 2000 -0 7.5934157 7.7671863 6.2906508 + 95600 2000 -0 7.5934109 7.7671838 6.2906556 + 95700 2000 -0 7.5934061 7.7671813 6.2906607 + 95800 2000 -0 7.5934012 7.7671785 6.2906643 + 95900 2000 -0 7.5933963 7.7671757 6.2906686 + 96000 2000 -0 7.5933917 7.767173 6.2906739 + 96100 2000 -0 7.5933867 7.7671702 6.290678 + 96200 2000 -0 7.5933817 7.7671673 6.2906822 + 96300 2000 -0 7.5933768 7.7671646 6.2906873 + 96400 2000 -0 7.5933716 7.7671619 6.2906918 + 96500 2000 -0 7.5933663 7.7671592 6.2906959 + 96600 2000 -0 7.5933609 7.7671567 6.2907008 + 96700 2000 -0 7.5933553 7.7671542 6.2907054 + 96800 2000 -0 7.5933494 7.7671518 6.2907095 + 96900 2000 -0 7.5933434 7.7671496 6.2907139 + 97000 2000 -0 7.5933372 7.7671476 6.2907184 + 97100 2000 -0 7.5933308 7.7671456 6.2907224 + 97200 2000 -0 7.5933242 7.7671437 6.2907265 + 97300 2000 -0 7.5933174 7.7671421 6.2907308 + 97400 2000 -0 7.5933105 7.7671404 6.2907348 + 97500 2000 -0 7.5933033 7.7671389 6.2907386 + 97600 2000 -0 7.5932961 7.7671375 6.2907428 + 97700 2000 -0 7.5932888 7.7671359 6.2907468 + 97800 2000 -0 7.5932813 7.7671343 6.2907507 + 97900 2000 -0 7.5932739 7.7671327 6.2907548 + 98000 2000 -0 7.5932664 7.7671312 6.290759 + 98100 2000 -0 7.5932588 7.7671296 6.290763 + 98200 2000 -0 7.5932513 7.7671279 6.2907672 + 98300 2000 -0 7.5932438 7.7671262 6.2907715 + 98400 2000 -0 7.5932364 7.7671245 6.2907757 + 98500 2000 -0 7.5932291 7.7671226 6.2907799 + 98600 2000 -0 7.5932219 7.7671208 6.2907843 + 98700 2000 -0 7.5932149 7.7671188 6.2907886 + 98800 2000 -0 7.593208 7.7671167 6.2907928 + 98900 2000 -0 7.5932013 7.7671147 6.2907972 + 99000 2000 -0 7.5931948 7.7671125 6.2908015 + 99100 2000 -0 7.5931916 7.7671102 6.2908061 + 99200 2000 -0 7.5931818 7.7671085 6.2908089 + 99300 2000 -0 7.5931764 7.7671057 6.2908152 + 99400 2000 -0 7.5931708 7.7671032 6.2908188 + 99500 2000 -0 7.593165 7.7671007 6.290822 + 99600 2000 -0 7.5931598 7.7670982 6.2908274 + 99700 2000 -0 7.5931546 7.7670957 6.2908319 + 99800 2000 -0 7.5931492 7.7670928 6.2908349 + 99900 2000 -0 7.5931443 7.7670902 6.29084 + 100000 2000 -0 7.5931395 7.7670875 6.2908449 +Loop time of 28.4684 on 4 procs for 100000 steps with 2000 atoms + +Performance: 303494.659 tau/day, 3512.670 timesteps/s, 7.025 Matom-step/s +96.7% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 14.471 | 15.426 | 16.874 | 24.3 | 54.19 +Neigh | 0.50185 | 0.52867 | 0.55379 | 3.1 | 1.86 +Comm | 5.277 | 6.8933 | 7.8956 | 40.4 | 24.21 +Output | 0.019683 | 0.022775 | 0.031664 | 3.4 | 0.08 +Modify | 4.7145 | 4.8537 | 5.0111 | 6.1 | 17.05 +Other | | 0.7439 | | | 2.61 + +Nlocal: 500 ave 504 max 496 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 545.75 ave 553 max 538 min +Histogram: 1 0 0 0 1 0 1 0 0 1 +Neighs: 2409.75 ave 2523 max 2343 min +Histogram: 1 1 0 1 0 0 0 0 0 1 + +Total # of neighbors = 9639 +Ave neighs/atom = 4.8195 +Neighbor list builds = 3151 +Dangerous builds = 0 + +Total wall time: 0:00:28 diff --git a/examples/granular/log.29Oct20.pour.drum.g++.1 b/examples/granular/log.29Oct20.pour.drum.g++.1 deleted file mode 100644 index 8c4b828488..0000000000 --- a/examples/granular/log.29Oct20.pour.drum.g++.1 +++ /dev/null @@ -1,271 +0,0 @@ -LAMMPS (29 Oct 2020) - using 1 OpenMP thread(s) per MPI task -# pour two types of particles (cohesive and non-cohesive) into cylinder -# 'turn' cylinder by changing direction of gravity, then rotate it. -# This simulates a rotating drum powder characterization experiment. - -variable name string rotating_drum_two_types - -atom_style sphere -units lj - -############################################### -# Geometry-related parameters -############################################### - -variable boxx equal 30 -variable boxy equal 30 -variable boxz equal 50 - -variable drum_rad equal ${boxx}*0.5 -variable drum_rad equal 30*0.5 -variable drum_height equal 20 - -variable xc equal 0.5*${boxx} -variable xc equal 0.5*30 -variable yc equal 0.5*${boxx} -variable yc equal 0.5*30 -variable zc equal 0.5*${boxz} -variable zc equal 0.5*50 - -############################################### -# Particle-related parameters -############################################### -variable rlo equal 0.25 -variable rhi equal 0.5 -variable dlo equal 2.0*${rlo} -variable dlo equal 2.0*0.25 -variable dhi equal 2.0*${rhi} -variable dhi equal 2.0*0.5 - -variable cyl_rad_inner equal ${drum_rad}-1.1*${rhi} -variable cyl_rad_inner equal 15-1.1*${rhi} -variable cyl_rad_inner equal 15-1.1*0.5 - -variable dens equal 1.0 - -variable skin equal 0.4*${rhi} -variable skin equal 0.4*0.5 - -############# -processors * * 1 -region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz} -region boxreg block 0 30 0 ${boxy} 0 ${boxz} -region boxreg block 0 30 0 30 0 ${boxz} -region boxreg block 0 30 0 30 0 50 -create_box 2 boxreg -Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (30.000000 30.000000 50.000000) - 1 by 1 by 1 MPI processor grid -change_box all boundary p p f -Changing box ... - -pair_style granular -pair_coeff 1 * hertz/material 1e5 0.2 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji -pair_coeff 2 2 jkr 1e5 0.1 0.3 50 tangential mindlin NULL 1.0 0.5 rolling sds 1e3 1e3 0.1 twisting marshall damping tsuji - -variable theta equal 0 - -region curved_wall cylinder z ${xc} ${yc} ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1 -region curved_wall cylinder z 15 ${yc} ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1 -region curved_wall cylinder z 15 15 ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1 -region curved_wall cylinder z 15 15 15 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1 -region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta ${xc} ${yc} 0 0 0 1 -region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta 15 ${yc} 0 0 0 1 -region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta 15 15 0 0 0 1 -region bottom_wall plane ${xc} ${yc} 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 -region bottom_wall plane 15 ${yc} 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 -region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 -region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta 15 ${yc} 0 0 0 1 -region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta 15 15 0 0 0 1 - -region insreg cylinder z ${xc} ${yc} ${cyl_rad_inner} ${drum_height} ${boxz} -region insreg cylinder z 15 ${yc} ${cyl_rad_inner} ${drum_height} ${boxz} -region insreg cylinder z 15 15 ${cyl_rad_inner} ${drum_height} ${boxz} -region insreg cylinder z 15 15 14.45 ${drum_height} ${boxz} -region insreg cylinder z 15 15 14.45 20 ${boxz} -region insreg cylinder z 15 15 14.45 20 50 - -fix 0 all balance 100 1.0 shift xy 5 1.1 -fix 1 all nve/sphere -fix grav all gravity 10 vector 0 0 -1 -fix ins1 all pour 2000 1 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens} -fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 ${dhi} dens ${dens} ${dens} -fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens ${dens} ${dens} -fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens 1 ${dens} -fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens 1 1 -Particle insertion: 9396 every 490 steps, 2000 by step 1 -fix ins2 all pour 2000 2 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens} -fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 ${dhi} dens ${dens} ${dens} -fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens ${dens} ${dens} -fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens 1 ${dens} -fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens 1 1 -Particle insertion: 9396 every 490 steps, 2000 by step 1 - -comm_modify vel yes - -neighbor ${skin} bin -neighbor 0.2 bin -neigh_modify delay 0 every 1 check yes - -fix 3 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region curved_wall -fix 4 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region bottom_wall - -thermo_style custom step atoms ke v_theta -thermo_modify lost warn -thermo 100 - -timestep 0.001 - -#dump 1 all custom 100 ${name}.dump id type radius mass x y z - -#For removal later -compute 1 all property/atom radius -variable zmax atom z+c_1>0.5*${drum_height} -variable zmax atom z+c_1>0.5*20 -group delgroup dynamic all var zmax every 10000 -dynamic group delgroup defined - -run 2000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.2 - ghost atom cutoff = 1.2 - binsize = 0.6, bins = 50 50 84 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair granular, perpetual - attributes: half, newton on, size, history - pair build: half/size/bin/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 13.03 | 13.03 | 13.03 Mbytes -Step Atoms KinEng v_theta - 0 0 -0 0 - 100 4000 -0 0 - 200 4000 -0 0 - 300 4000 -0 0 - 400 4000 -0 0 - 500 4000 -0 0 - 600 4000 -0 0 - 700 4000 -0 0 - 800 4000 -0 0 - 900 4000 -0 0 - 1000 4000 -0 0 - 1100 4000 -0 0 - 1200 4000 -0 0 - 1300 4000 -0 0 - 1400 4000 -0 0 - 1500 4000 -0 0 - 1600 4000 -0 0 - 1700 4000 -0 0 - 1800 4000 -0 0 - 1900 4000 -0 0 - 2000 4000 -0 0 -Loop time of 10.5178 on 1 procs for 2000 steps with 4000 atoms - -Performance: 16429.309 tau/day, 190.154 timesteps/s -99.8% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 1.0701 | 1.0701 | 1.0701 | 0.0 | 10.17 -Neigh | 4.2135 | 4.2135 | 4.2135 | 0.0 | 40.06 -Comm | 0.38276 | 0.38276 | 0.38276 | 0.0 | 3.64 -Output | 0.0013647 | 0.0013647 | 0.0013647 | 0.0 | 0.01 -Modify | 4.7076 | 4.7076 | 4.7076 | 0.0 | 44.76 -Other | | 0.1424 | | | 1.35 - -Nlocal: 4000.00 ave 4000 max 4000 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 171.000 ave 171 max 171 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 8093.00 ave 8093 max 8093 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 8093 -Ave neighs/atom = 2.0232500 -Neighbor list builds = 1004 -Dangerous builds = 4 - -#Remove any particles that are above z > 0.5*drum_height -delete_atoms group delgroup -Deleted 0 atoms, new total = 4000 - -#Add top lid -region top_wall plane ${xc} ${yc} ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 -region top_wall plane 15 ${yc} ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 -region top_wall plane 15 15 ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 -region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 -region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta 15 ${yc} 0 0 0 1 -region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta 15 15 0 0 0 1 -fix 5 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region top_wall - -# 'Turn' drum by switching the direction of gravity -unfix grav -unfix ins1 -unfix ins2 -fix grav all gravity 10 vector 0 -1 0 - -variable theta equal 2*PI*elapsed/20000.0 -run 3000 -Per MPI rank memory allocation (min/avg/max) = 19.37 | 19.37 | 19.37 Mbytes -Step Atoms KinEng v_theta - 2000 4000 65.647582 0 - 2100 4000 105.60001 0.031415927 - 2200 4000 112.27573 0.062831853 - 2300 4000 92.758671 0.09424778 - 2400 4000 88.925835 0.12566371 - 2500 4000 81.369163 0.15707963 - 2600 4000 32.046943 0.18849556 - 2700 4000 4.1926368 0.21991149 - 2800 4000 3.9933453 0.25132741 - 2900 4000 4.5062193 0.28274334 - 3000 4000 5.3409521 0.31415927 - 3100 4000 6.0165991 0.34557519 - 3200 4000 6.606767 0.37699112 - 3300 4000 7.3997751 0.40840704 - 3400 4000 8.1098807 0.43982297 - 3500 4000 8.6552424 0.4712389 - 3600 4000 9.8445204 0.50265482 - 3700 4000 10.098753 0.53407075 - 3800 4000 10.039489 0.56548668 - 3900 4000 9.6376278 0.5969026 - 4000 4000 9.2598836 0.62831853 - 4100 4000 8.7116037 0.65973446 - 4200 4000 8.1274117 0.69115038 - 4300 4000 7.1487627 0.72256631 - 4400 4000 6.2253778 0.75398224 - 4500 4000 5.3061398 0.78539816 - 4600 4000 4.4319316 0.81681409 - 4700 4000 4.205607 0.84823002 - 4800 4000 3.2112987 0.87964594 - 4900 4000 2.6449777 0.91106187 - 5000 4000 2.3475497 0.9424778 -Loop time of 32.4926 on 1 procs for 3000 steps with 4000 atoms - -Performance: 7977.205 tau/day, 92.329 timesteps/s -99.9% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 8.0124 | 8.0124 | 8.0124 | 0.0 | 24.66 -Neigh | 10.993 | 10.993 | 10.993 | 0.0 | 33.83 -Comm | 0.86697 | 0.86697 | 0.86697 | 0.0 | 2.67 -Output | 0.0021827 | 0.0021827 | 0.0021827 | 0.0 | 0.01 -Modify | 12.367 | 12.367 | 12.367 | 0.0 | 38.06 -Other | | 0.2515 | | | 0.77 - -Nlocal: 4000.00 ave 4000 max 4000 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 318.000 ave 318 max 318 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 14807.0 ave 14807 max 14807 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 14807 -Ave neighs/atom = 3.7017500 -Neighbor list builds = 2189 -Dangerous builds = 1536 -Total wall time: 0:00:43 diff --git a/examples/granular/log.29Oct20.pour.drum.g++.4 b/examples/granular/log.29Oct20.pour.drum.g++.4 deleted file mode 100644 index e53da50b9b..0000000000 --- a/examples/granular/log.29Oct20.pour.drum.g++.4 +++ /dev/null @@ -1,271 +0,0 @@ -LAMMPS (29 Oct 2020) - using 1 OpenMP thread(s) per MPI task -# pour two types of particles (cohesive and non-cohesive) into cylinder -# 'turn' cylinder by changing direction of gravity, then rotate it. -# This simulates a rotating drum powder characterization experiment. - -variable name string rotating_drum_two_types - -atom_style sphere -units lj - -############################################### -# Geometry-related parameters -############################################### - -variable boxx equal 30 -variable boxy equal 30 -variable boxz equal 50 - -variable drum_rad equal ${boxx}*0.5 -variable drum_rad equal 30*0.5 -variable drum_height equal 20 - -variable xc equal 0.5*${boxx} -variable xc equal 0.5*30 -variable yc equal 0.5*${boxx} -variable yc equal 0.5*30 -variable zc equal 0.5*${boxz} -variable zc equal 0.5*50 - -############################################### -# Particle-related parameters -############################################### -variable rlo equal 0.25 -variable rhi equal 0.5 -variable dlo equal 2.0*${rlo} -variable dlo equal 2.0*0.25 -variable dhi equal 2.0*${rhi} -variable dhi equal 2.0*0.5 - -variable cyl_rad_inner equal ${drum_rad}-1.1*${rhi} -variable cyl_rad_inner equal 15-1.1*${rhi} -variable cyl_rad_inner equal 15-1.1*0.5 - -variable dens equal 1.0 - -variable skin equal 0.4*${rhi} -variable skin equal 0.4*0.5 - -############# -processors * * 1 -region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz} -region boxreg block 0 30 0 ${boxy} 0 ${boxz} -region boxreg block 0 30 0 30 0 ${boxz} -region boxreg block 0 30 0 30 0 50 -create_box 2 boxreg -Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (30.000000 30.000000 50.000000) - 2 by 2 by 1 MPI processor grid -change_box all boundary p p f -Changing box ... - -pair_style granular -pair_coeff 1 * hertz/material 1e5 0.2 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji -pair_coeff 2 2 jkr 1e5 0.1 0.3 50 tangential mindlin NULL 1.0 0.5 rolling sds 1e3 1e3 0.1 twisting marshall damping tsuji - -variable theta equal 0 - -region curved_wall cylinder z ${xc} ${yc} ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1 -region curved_wall cylinder z 15 ${yc} ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1 -region curved_wall cylinder z 15 15 ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1 -region curved_wall cylinder z 15 15 15 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1 -region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta ${xc} ${yc} 0 0 0 1 -region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta 15 ${yc} 0 0 0 1 -region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta 15 15 0 0 0 1 -region bottom_wall plane ${xc} ${yc} 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 -region bottom_wall plane 15 ${yc} 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 -region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 -region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta 15 ${yc} 0 0 0 1 -region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta 15 15 0 0 0 1 - -region insreg cylinder z ${xc} ${yc} ${cyl_rad_inner} ${drum_height} ${boxz} -region insreg cylinder z 15 ${yc} ${cyl_rad_inner} ${drum_height} ${boxz} -region insreg cylinder z 15 15 ${cyl_rad_inner} ${drum_height} ${boxz} -region insreg cylinder z 15 15 14.45 ${drum_height} ${boxz} -region insreg cylinder z 15 15 14.45 20 ${boxz} -region insreg cylinder z 15 15 14.45 20 50 - -fix 0 all balance 100 1.0 shift xy 5 1.1 -fix 1 all nve/sphere -fix grav all gravity 10 vector 0 0 -1 -fix ins1 all pour 2000 1 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens} -fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 ${dhi} dens ${dens} ${dens} -fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens ${dens} ${dens} -fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens 1 ${dens} -fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens 1 1 -Particle insertion: 9396 every 490 steps, 2000 by step 1 -fix ins2 all pour 2000 2 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens} -fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 ${dhi} dens ${dens} ${dens} -fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens ${dens} ${dens} -fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens 1 ${dens} -fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens 1 1 -Particle insertion: 9396 every 490 steps, 2000 by step 1 - -comm_modify vel yes - -neighbor ${skin} bin -neighbor 0.2 bin -neigh_modify delay 0 every 1 check yes - -fix 3 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region curved_wall -fix 4 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region bottom_wall - -thermo_style custom step atoms ke v_theta -thermo_modify lost warn -thermo 100 - -timestep 0.001 - -#dump 1 all custom 100 ${name}.dump id type radius mass x y z - -#For removal later -compute 1 all property/atom radius -variable zmax atom z+c_1>0.5*${drum_height} -variable zmax atom z+c_1>0.5*20 -group delgroup dynamic all var zmax every 10000 -dynamic group delgroup defined - -run 2000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.2 - ghost atom cutoff = 1.2 - binsize = 0.6, bins = 50 50 84 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair granular, perpetual - attributes: half, newton on, size, history - pair build: half/size/bin/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 12.25 | 12.25 | 12.25 Mbytes -Step Atoms KinEng v_theta - 0 0 -0 0 - 100 4000 -0 0 - 200 4000 -0 0 - 300 4000 -0 0 - 400 4000 -0 0 - 500 4000 -0 0 - 600 4000 -0 0 - 700 4000 -0 0 - 800 4000 -0 0 - 900 4000 -0 0 - 1000 4000 -0 0 - 1100 4000 -0 0 - 1200 4000 -0 0 - 1300 4000 -0 0 - 1400 4000 -0 0 - 1500 4000 -0 0 - 1600 4000 -0 0 - 1700 4000 -0 0 - 1800 4000 -0 0 - 1900 4000 -0 0 - 2000 4000 -0 0 -Loop time of 3.86825 on 4 procs for 2000 steps with 4000 atoms - -Performance: 44671.398 tau/day, 517.030 timesteps/s -96.7% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.26114 | 0.27918 | 0.28728 | 2.0 | 7.22 -Neigh | 1.2044 | 1.2414 | 1.3105 | 3.7 | 32.09 -Comm | 0.38592 | 0.47065 | 0.51052 | 7.4 | 12.17 -Output | 0.0007236 | 0.0013456 | 0.0024846 | 1.8 | 0.03 -Modify | 1.6217 | 1.6723 | 1.7801 | 5.0 | 43.23 -Other | | 0.2034 | | | 5.26 - -Nlocal: 1000.00 ave 1012 max 988 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Nghost: 269.250 ave 278 max 256 min -Histogram: 1 0 0 0 0 0 1 1 0 1 -Neighs: 2060.50 ave 2156 max 1921 min -Histogram: 1 0 0 1 0 0 0 0 0 2 - -Total # of neighbors = 8242 -Ave neighs/atom = 2.0605000 -Neighbor list builds = 1004 -Dangerous builds = 4 - -#Remove any particles that are above z > 0.5*drum_height -delete_atoms group delgroup -Deleted 0 atoms, new total = 4000 - -#Add top lid -region top_wall plane ${xc} ${yc} ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 -region top_wall plane 15 ${yc} ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 -region top_wall plane 15 15 ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 -region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 -region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta 15 ${yc} 0 0 0 1 -region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta 15 15 0 0 0 1 -fix 5 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region top_wall - -# 'Turn' drum by switching the direction of gravity -unfix grav -unfix ins1 -unfix ins2 -fix grav all gravity 10 vector 0 -1 0 - -variable theta equal 2*PI*elapsed/20000.0 -run 3000 -Per MPI rank memory allocation (min/avg/max) = 18.55 | 18.55 | 18.55 Mbytes -Step Atoms KinEng v_theta - 2000 4000 65.819213 0 - 2100 4000 105.02389 0.031415927 - 2200 4000 112.02469 0.062831853 - 2300 4000 92.271262 0.09424778 - 2400 4000 89.369506 0.12566371 - 2500 4000 80.910925 0.15707963 - 2600 4000 31.620722 0.18849556 - 2700 4000 4.3019937 0.21991149 - 2800 4000 3.9913967 0.25132741 - 2900 4000 4.5203726 0.28274334 - 3000 4000 5.484886 0.31415927 - 3100 4000 6.1085958 0.34557519 - 3200 4000 6.7085635 0.37699112 - 3300 4000 7.4787777 0.40840704 - 3400 4000 8.2116413 0.43982297 - 3500 4000 8.7979302 0.4712389 - 3600 4000 9.871649 0.50265482 - 3700 4000 10.012426 0.53407075 - 3800 4000 9.9067754 0.56548668 - 3900 4000 9.725458 0.5969026 - 4000 4000 9.3350056 0.62831853 - 4100 4000 8.8337295 0.65973446 - 4200 4000 8.2712493 0.69115038 - 4300 4000 6.9609934 0.72256631 - 4400 4000 6.0120294 0.75398224 - 4500 4000 5.0490036 0.78539816 - 4600 4000 4.2796544 0.81681409 - 4700 4000 4.1736483 0.84823002 - 4800 4000 3.0860106 0.87964594 - 4900 4000 2.6670909 0.91106187 - 5000 4000 2.2901814 0.9424778 -Loop time of 10.7627 on 4 procs for 3000 steps with 4000 atoms - -Performance: 24083.252 tau/day, 278.741 timesteps/s -97.9% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 1.6731 | 2.0701 | 2.3327 | 18.9 | 19.23 -Neigh | 2.7389 | 3.1706 | 3.5146 | 15.7 | 29.46 -Comm | 0.93507 | 1.5441 | 2.1182 | 39.1 | 14.35 -Output | 0.0021682 | 0.0044412 | 0.006026 | 2.2 | 0.04 -Modify | 3.0031 | 3.4223 | 3.9262 | 18.3 | 31.80 -Other | | 0.5511 | | | 5.12 - -Nlocal: 1000.00 ave 1277 max 723 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Nghost: 569.750 ave 809 max 454 min -Histogram: 1 2 0 0 0 0 0 0 0 1 -Neighs: 3690.50 ave 4937 max 2426 min -Histogram: 1 1 0 0 0 0 0 0 0 2 - -Total # of neighbors = 14762 -Ave neighs/atom = 3.6905000 -Neighbor list builds = 2187 -Dangerous builds = 1610 -Total wall time: 0:00:14 diff --git a/examples/granular/log.29Oct20.pour.flatwall.g++.1 b/examples/granular/log.29Oct20.pour.flatwall.g++.1 deleted file mode 100644 index 00fc8e31a1..0000000000 --- a/examples/granular/log.29Oct20.pour.flatwall.g++.1 +++ /dev/null @@ -1,188 +0,0 @@ -LAMMPS (29 Oct 2020) - using 1 OpenMP thread(s) per MPI task -# pour two types of particles (cohesive and non-cohesive) on flat wall - -variable name string pour_two_types - -atom_style sphere -units lj - -############################################### -# Geometry-related parameters -############################################### - -variable boxx equal 20 -variable boxy equal 20 -variable boxz equal 30 - -variable xc1 equal 0.3*${boxx} -variable xc1 equal 0.3*20 -variable xc2 equal 0.7*${boxx} -variable xc2 equal 0.7*20 -variable yc equal 0.5*${boxy} -variable yc equal 0.5*20 - -############################################### -# Particle-related parameters -############################################### -variable rlo equal 0.25 -variable rhi equal 0.5 -variable dlo equal 2.0*${rlo} -variable dlo equal 2.0*0.25 -variable dhi equal 2.0*${rhi} -variable dhi equal 2.0*0.5 - -variable dens equal 1.0 - -variable skin equal 0.3*${rhi} -variable skin equal 0.3*0.5 - -############# -processors * * 1 -region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz} -region boxreg block 0 20 0 ${boxy} 0 ${boxz} -region boxreg block 0 20 0 20 0 ${boxz} -region boxreg block 0 20 0 20 0 30 -create_box 2 boxreg -Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (20.000000 20.000000 30.000000) - 1 by 1 by 1 MPI processor grid -change_box all boundary p p f -Changing box ... - -pair_style granular -pair_coeff 1 * jkr 1000.0 50.0 0.3 10 tangential mindlin 800.0 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall -pair_coeff 2 2 hertz 200.0 20.0 tangential linear_history 300.0 1.0 0.1 rolling sds 200.0 100.0 0.1 twisting marshall - -comm_modify vel yes - -region insreg1 cylinder z ${xc1} ${yc} 5 15 ${boxz} -region insreg1 cylinder z 6 ${yc} 5 15 ${boxz} -region insreg1 cylinder z 6 10 5 15 ${boxz} -region insreg1 cylinder z 6 10 5 15 30 -region insreg2 cylinder z ${xc2} ${yc} 5 15 ${boxz} -region insreg2 cylinder z 14 ${yc} 5 15 ${boxz} -region insreg2 cylinder z 14 10 5 15 ${boxz} -region insreg2 cylinder z 14 10 5 15 30 - -fix 1 all nve/sphere -fix grav all gravity 10.0 vector 0 0 -1 -fix ins1 all pour 1500 1 3123 region insreg1 diam range ${dlo} ${dhi} dens ${dens} ${dens} -fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 ${dhi} dens ${dens} ${dens} -fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens ${dens} ${dens} -fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens 1 ${dens} -fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens 1 1 -Particle insertion: 562 every 346 steps, 1500 by step 693 -fix ins2 all pour 1500 2 3123 region insreg2 diam range ${dlo} ${dhi} dens ${dens} ${dens} -fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 ${dhi} dens ${dens} ${dens} -fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens ${dens} ${dens} -fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens 1 ${dens} -fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens 1 1 -Particle insertion: 562 every 346 steps, 1500 by step 693 - -neighbor ${skin} bin -neighbor 0.15 bin -neigh_modify delay 0 every 1 check yes - -fix 3 all wall/gran granular hertz/material 1e5 1e3 0.3 tangential mindlin NULL 1.0 0.5 zplane 0 NULL - -thermo_style custom step atoms ke -thermo_modify lost warn -thermo 100 - -timestep 0.001 - -#dump 1 all custom 100 ${name}.dump id type radius mass x y z - -run 5000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.15 - ghost atom cutoff = 1.15 - binsize = 0.575, bins = 35 35 53 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair granular, perpetual - attributes: half, newton on, size, history - pair build: half/size/bin/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 12.22 | 12.22 | 12.22 Mbytes -Step Atoms KinEng - 0 0 -0 - 100 926 -0 - 200 926 -0 - 300 926 -0 - 400 1498 -0 - 500 1498 -0 - 600 1498 -0 - 700 2275 -0 - 800 2275 -0 - 900 2275 -0 - 1000 2275 -0 - 1100 2954 -0 - 1200 2954 -0 - 1300 2954 -0 - 1400 3000 -0 - 1500 3000 -0 - 1600 3000 -0 - 1700 3000 -0 - 1800 3000 -0 - 1900 3000 -0 - 2000 3000 -0 - 2100 3000 -0 - 2200 3000 -0 - 2300 3000 -0 - 2400 3000 -0 - 2500 3000 -0 - 2600 3000 -0 - 2700 3000 -0 - 2800 3000 -0 - 2900 3000 -0 - 3000 3000 -0 - 3100 3000 -0 - 3200 3000 -0 - 3300 3000 -0 - 3400 3000 -0 - 3500 3000 -0 - 3600 3000 -0 - 3700 3000 -0 - 3800 3000 -0 - 3900 3000 -0 - 4000 3000 -0 - 4100 3000 -0 - 4200 3000 -0 - 4300 3000 -0 - 4400 3000 -0 - 4500 3000 -0 - 4600 3000 -0 - 4700 3000 -0 - 4800 3000 -0 - 4900 3000 -0 - 5000 3000 -0 -Loop time of 24.3889 on 1 procs for 5000 steps with 3000 atoms - -Performance: 17713.003 tau/day, 205.012 timesteps/s -99.9% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 14.362 | 14.362 | 14.362 | 0.0 | 58.89 -Neigh | 3.3483 | 3.3483 | 3.3483 | 0.0 | 13.73 -Comm | 0.42893 | 0.42893 | 0.42893 | 0.0 | 1.76 -Output | 0.0025065 | 0.0025065 | 0.0025065 | 0.0 | 0.01 -Modify | 6.059 | 6.059 | 6.059 | 0.0 | 24.84 -Other | | 0.1876 | | | 0.77 - -Nlocal: 3000.00 ave 3000 max 3000 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 462.000 ave 462 max 462 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 17694.0 ave 17694 max 17694 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 17694 -Ave neighs/atom = 5.8980000 -Neighbor list builds = 1133 -Dangerous builds = 0 -Total wall time: 0:00:24 diff --git a/examples/granular/log.29Oct20.pour.flatwall.g++.4 b/examples/granular/log.29Oct20.pour.flatwall.g++.4 deleted file mode 100644 index 1688e52b43..0000000000 --- a/examples/granular/log.29Oct20.pour.flatwall.g++.4 +++ /dev/null @@ -1,188 +0,0 @@ -LAMMPS (29 Oct 2020) - using 1 OpenMP thread(s) per MPI task -# pour two types of particles (cohesive and non-cohesive) on flat wall - -variable name string pour_two_types - -atom_style sphere -units lj - -############################################### -# Geometry-related parameters -############################################### - -variable boxx equal 20 -variable boxy equal 20 -variable boxz equal 30 - -variable xc1 equal 0.3*${boxx} -variable xc1 equal 0.3*20 -variable xc2 equal 0.7*${boxx} -variable xc2 equal 0.7*20 -variable yc equal 0.5*${boxy} -variable yc equal 0.5*20 - -############################################### -# Particle-related parameters -############################################### -variable rlo equal 0.25 -variable rhi equal 0.5 -variable dlo equal 2.0*${rlo} -variable dlo equal 2.0*0.25 -variable dhi equal 2.0*${rhi} -variable dhi equal 2.0*0.5 - -variable dens equal 1.0 - -variable skin equal 0.3*${rhi} -variable skin equal 0.3*0.5 - -############# -processors * * 1 -region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz} -region boxreg block 0 20 0 ${boxy} 0 ${boxz} -region boxreg block 0 20 0 20 0 ${boxz} -region boxreg block 0 20 0 20 0 30 -create_box 2 boxreg -Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (20.000000 20.000000 30.000000) - 2 by 2 by 1 MPI processor grid -change_box all boundary p p f -Changing box ... - -pair_style granular -pair_coeff 1 * jkr 1000.0 50.0 0.3 10 tangential mindlin 800.0 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall -pair_coeff 2 2 hertz 200.0 20.0 tangential linear_history 300.0 1.0 0.1 rolling sds 200.0 100.0 0.1 twisting marshall - -comm_modify vel yes - -region insreg1 cylinder z ${xc1} ${yc} 5 15 ${boxz} -region insreg1 cylinder z 6 ${yc} 5 15 ${boxz} -region insreg1 cylinder z 6 10 5 15 ${boxz} -region insreg1 cylinder z 6 10 5 15 30 -region insreg2 cylinder z ${xc2} ${yc} 5 15 ${boxz} -region insreg2 cylinder z 14 ${yc} 5 15 ${boxz} -region insreg2 cylinder z 14 10 5 15 ${boxz} -region insreg2 cylinder z 14 10 5 15 30 - -fix 1 all nve/sphere -fix grav all gravity 10.0 vector 0 0 -1 -fix ins1 all pour 1500 1 3123 region insreg1 diam range ${dlo} ${dhi} dens ${dens} ${dens} -fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 ${dhi} dens ${dens} ${dens} -fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens ${dens} ${dens} -fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens 1 ${dens} -fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens 1 1 -Particle insertion: 562 every 346 steps, 1500 by step 693 -fix ins2 all pour 1500 2 3123 region insreg2 diam range ${dlo} ${dhi} dens ${dens} ${dens} -fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 ${dhi} dens ${dens} ${dens} -fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens ${dens} ${dens} -fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens 1 ${dens} -fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens 1 1 -Particle insertion: 562 every 346 steps, 1500 by step 693 - -neighbor ${skin} bin -neighbor 0.15 bin -neigh_modify delay 0 every 1 check yes - -fix 3 all wall/gran granular hertz/material 1e5 1e3 0.3 tangential mindlin NULL 1.0 0.5 zplane 0 NULL - -thermo_style custom step atoms ke -thermo_modify lost warn -thermo 100 - -timestep 0.001 - -#dump 1 all custom 100 ${name}.dump id type radius mass x y z - -run 5000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.15 - ghost atom cutoff = 1.15 - binsize = 0.575, bins = 35 35 53 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair granular, perpetual - attributes: half, newton on, size, history - pair build: half/size/bin/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 11.98 | 11.98 | 11.98 Mbytes -Step Atoms KinEng - 0 0 -0 - 100 926 -0 - 200 926 -0 - 300 926 -0 - 400 1498 -0 - 500 1498 -0 - 600 1498 -0 - 700 2275 -0 - 800 2275 -0 - 900 2275 -0 - 1000 2275 -0 - 1100 2954 -0 - 1200 2954 -0 - 1300 2954 -0 - 1400 3000 -0 - 1500 3000 -0 - 1600 3000 -0 - 1700 3000 -0 - 1800 3000 -0 - 1900 3000 -0 - 2000 3000 -0 - 2100 3000 -0 - 2200 3000 -0 - 2300 3000 -0 - 2400 3000 -0 - 2500 3000 -0 - 2600 3000 -0 - 2700 3000 -0 - 2800 3000 -0 - 2900 3000 -0 - 3000 3000 -0 - 3100 3000 -0 - 3200 3000 -0 - 3300 3000 -0 - 3400 3000 -0 - 3500 3000 -0 - 3600 3000 -0 - 3700 3000 -0 - 3800 3000 -0 - 3900 3000 -0 - 4000 3000 -0 - 4100 3000 -0 - 4200 3000 -0 - 4300 3000 -0 - 4400 3000 -0 - 4500 3000 -0 - 4600 3000 -0 - 4700 3000 -0 - 4800 3000 -0 - 4900 3000 -0 - 5000 3000 -0 -Loop time of 12.1982 on 4 procs for 5000 steps with 3000 atoms - -Performance: 35414.923 tau/day, 409.895 timesteps/s -97.0% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 1.7141 | 3.8131 | 6.2143 | 107.3 | 31.26 -Neigh | 0.77648 | 0.96585 | 1.1892 | 18.3 | 7.92 -Comm | 0.7427 | 3.5566 | 5.9731 | 128.4 | 29.16 -Output | 0.0067544 | 0.0086352 | 0.011408 | 1.8 | 0.07 -Modify | 3.3476 | 3.5826 | 3.8235 | 11.5 | 29.37 -Other | | 0.2715 | | | 2.23 - -Nlocal: 750.000 ave 1033 max 463 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Nghost: 435.000 ave 492 max 378 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Neighs: 4434.50 ave 7028 max 1967 min -Histogram: 2 0 0 0 0 0 0 0 0 2 - -Total # of neighbors = 17738 -Ave neighs/atom = 5.9126667 -Neighbor list builds = 1139 -Dangerous builds = 0 -Total wall time: 0:00:12 From 249773e08cd2d3241d070a03f83193c0196509da Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 21 Dec 2022 10:11:20 -0700 Subject: [PATCH 055/448] adding fix mdi/qmmm command --- src/MDI/fix_mdi_qmmm.cpp | 621 +++++++++++++++++++++++++++++++++++++++ src/MDI/fix_mdi_qmmm.h | 82 ++++++ 2 files changed, 703 insertions(+) create mode 100644 src/MDI/fix_mdi_qmmm.cpp create mode 100644 src/MDI/fix_mdi_qmmm.h diff --git a/src/MDI/fix_mdi_qmmm.cpp b/src/MDI/fix_mdi_qmmm.cpp new file mode 100644 index 0000000000..a85f27be5c --- /dev/null +++ b/src/MDI/fix_mdi_qmmm.cpp @@ -0,0 +1,621 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/ Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "fix_mdi_qmmm.h" +#include "atom.h" +#include "comm.h" +#include "domain.h" +#include "error.h" +#include "force.h" +#include "memory.h" +#include "update.h" + +using namespace LAMMPS_NS; +using namespace FixConst; + +enum { NATIVE, REAL, METAL }; // LAMMPS units which MDI supports + +#define MAXELEMENT 103 // used elsewhere in MDI package + +/* ---------------------------------------------------------------------- */ + +FixMDIQMMM::FixMDIQMMM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) +{ + // check requirements for LAMMPS to work with MDI as an engine + + if (atom->tag_enable == 0) error->all(FLERR, "Cannot use MDI engine without atom IDs"); + if (atom->natoms && atom->tag_consecutive() == 0) + error->all(FLERR, "MDI engine requires consecutive atom IDs"); + + // confirm LAMMPS is being run as a driver + + int role; + MDI_Get_role(&role); + if (role != MDI_DRIVER) + error->all(FLERR, "Must invoke LAMMPS as an MDI driver to use fix mdi/qmmm"); + + // optional args + + virialflag = 0; + connectflag = 1; + elements = nullptr; + + int iarg = 3; + while (iarg < narg) { + if (strcmp(arg[iarg], "virial") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal fix mdi/qmmm command"); + if (strcmp(arg[iarg + 1], "yes") == 0) + virialflag = 1; + else if (strcmp(arg[iarg + 1], "no") == 0) + virialflag = 0; + else + error->all(FLERR, "Illegal fix mdi/qmmm command"); + iarg += 2; + } else if (strcmp(arg[iarg], "connect") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal fix mdi/qmmm command"); + if (strcmp(arg[iarg + 1], "yes") == 0) + connectflag = 1; + else if (strcmp(arg[iarg + 1], "no") == 0) + connectflag = 0; + else + error->all(FLERR, "Illegal fix mdi/qmmm command"); + iarg += 2; + } else if (strcmp(arg[iarg], "elements") == 0) { + int ntypes = atom->ntypes; + if (iarg + ntypes + 1 > narg) error->all(FLERR, "Illegal fix mdi/qmmm command"); + delete[] elements; + elements = new int[ntypes + 1]; + for (int i = 1; i <= ntypes; i++) { + elements[i] = utils::inumeric(FLERR, arg[iarg + i], false, lmp); + if (elements[i] < 1 || elements[i] > MAXELEMENT) + error->all(FLERR, "Illegal fix mdi/qmmm command"); + } + iarg += ntypes + 1; + } else + error->all(FLERR, "Illegal fix mdi/qmmm command"); + } + + // fix output settings are based on optional keywords + + scalar_flag = 1; + global_freq = every; + extscalar = 1; + + peratom_flag = 1; + size_peratom_cols = 3; + peratom_freq = every; + extvector = 0; + + if (virialflag) { + vector_flag = 1; + size_vector = 6; + } + + if (addflag) { + energy_global_flag = 1; + virial_global_flag = 1; + thermo_energy = thermo_virial = 1; + } + + // mdicomm will be initialized in init() + // cannot do here for a plugin library, b/c mdi plugin command comes later + + mdicomm = MDI_COMM_NULL; + + // peratom storage, both for nlocal and global natoms + + fqm = nullptr; + maxlocal = 0; + + ibuf1 = ibuf1all = nullptr; + buf3 = buf3all = nullptr; + maxbuf = 0; + + // set unit conversion factors + + if (strcmp(update->unit_style, "real") == 0) + lmpunits = REAL; + else if (strcmp(update->unit_style, "metal") == 0) + lmpunits = METAL; + else + lmpunits = NATIVE; + + unit_conversions(); + + nprocs = comm->nprocs; + + // initialize outputs + + qm_energy = 0.0; + if (virialflag) { + for (int i = 0; i < 6; i++) { + qm_virial[i] = 0.0; + virial[i] = 0.0; + } + sumflag = 0; + } +} + +/* ---------------------------------------------------------------------- */ + +FixMDIQMMM::~FixMDIQMMM() +{ + // send exit command to stand-alone engine code + // for connnectflag = 0, this is done via "mdi exit" command + // for plugin, this is done in MDIPlugin::plugin_wrapper() + + if (mdicomm != MDI_COMM_NULL && connectflag && !plugin) { + int ierr = MDI_Send_command("EXIT", mdicomm); + if (ierr) error->all(FLERR, "MDI: EXIT command"); + } + + // clean up + + delete[] elements; + + memory->destroy(fqm); + + memory->destroy(ibuf1); + memory->destroy(ibuf1all); + memory->destroy(buf3); + memory->destroy(buf3all); +} + +/* ---------------------------------------------------------------------- */ + +int FixMDIQMMM::setmask() +{ + int mask = 0; + mask |= PRE_REVERSE; + mask |= POST_FORCE; + mask |= MIN_POST_FORCE; + return mask; +} + +/* ---------------------------------------------------------------------- */ + +void FixMDIQMMM::init() +{ + // set local mdicomm one-time only + // also set plugin = 0/1 for engine = stand-alone code vs plugin library + + if (mdicomm == MDI_COMM_NULL) { + + // this fix makes one-time connection to engine + + if (connectflag) { + + // if MDI's mdicomm not set, need to Accept_comm() with stand-alone engine + // othewise are already connected to plugin engine + + MDI_Get_communicator(&mdicomm, 0); + + if (mdicomm == MDI_COMM_NULL) { + plugin = 0; + MDI_Accept_communicator(&mdicomm); + if (mdicomm == MDI_COMM_NULL) + error->all(FLERR, "MDI unable to connect to stand-alone engine"); + + } else { + plugin = 1; + int method; + MDI_Get_method(&method, mdicomm); + if (method != MDI_PLUGIN) error->all(FLERR, "MDI internal error for plugin engine"); + } + + // connection should have been already made by "mdi connect" command + // only works for stand-alone engines + + } else { + plugin = 0; + + if (lmp->mdicomm == nullptr) + error->all(FLERR, "Fix mdi/qmmm is not connected to engine via mdi connect"); + + int nbytes = sizeof(MDI_Comm); + char *ptrcomm = (char *) lmp->mdicomm; + memcpy(&mdicomm, ptrcomm, nbytes); + } + } + + // send natoms, atom types or elements, and simulation box to engine + // confirm engine count of NATOMS is correct + // this will trigger setup of a new system + // subsequent calls in post_force() will be for same system until new init() + + reallocate(); + + int natoms_exists; + int ierr = MDI_Check_command_exists("@DEFAULT", ">NATOMS", mdicomm, &natoms_exists); + if (ierr) error->all(FLERR, "MDI: >NATOMS command check"); + MPI_Bcast(&natoms_exists, 1, MPI_INT, 0, world); + + if (natoms_exists) { + ierr = MDI_Send_command(">NATOMS", mdicomm); + if (ierr) error->all(FLERR, "MDI: >NATOMS command"); + int n = static_cast(atom->natoms); + ierr = MDI_Send(&n, 1, MDI_INT, mdicomm); + if (ierr) error->all(FLERR, "MDI: >NATOMS data"); + + } else { + ierr = MDI_Send_command("all(FLERR, "MDI: all(FLERR, "MDI: natoms) + error->all(FLERR, "MDI: Engine has wrong atom count and does not support >NATOMS command"); + } + + int elements_exists; + int types_exists; + ierr = MDI_Check_command_exists("@DEFAULT", ">ELEMENTS", mdicomm, &elements_exists); + if (ierr) error->all(FLERR, "MDI: >ELEMENTS command check"); + MPI_Bcast(&elements_exists, 1, MPI_INT, 0, world); + + ierr = MDI_Check_command_exists("@DEFAULT", ">TYPES", mdicomm, &types_exists); + if (ierr) error->all(FLERR, "MDI: >TYPES command check"); + MPI_Bcast(&types_exists, 1, MPI_INT, 0, world); + + if (elements && elements_exists) + send_elements(); + else if (types_exists) + send_types(); + send_box(); +} + +/* ---------------------------------------------------------------------- */ + +void FixMDIQMMM::setup(int vflag) +{ + post_force(vflag); +} + +/* ---------------------------------------------------------------------- */ + +void FixMDIQMMM::post_force(int /*vflag*/) +{ + int index, ierr; + + // skip if timestep is not a multiple of every + + if (update->ntimestep % every) return; + + // reallocate peratom storage if necessary, both natoms and nlocal + + reallocate(); + + // if simulation box dynamically changes, send current box to MDI engine + + if (domain->box_change_size || domain->box_change_shape) send_box(); + + // gather all coords, ordered by atomID + + memset(buf3, 0, 3 * atom->natoms * sizeof(double)); + + double **x = atom->x; + tagint *tag = atom->tag; + int nlocal = atom->nlocal; + + for (int i = 0; i < nlocal; i++) { + index = static_cast(tag[i]) - 1; + buf3[3 * index + 0] = x[i][0] * lmp2mdi_length; + buf3[3 * index + 1] = x[i][1] * lmp2mdi_length; + buf3[3 * index + 2] = x[i][2] * lmp2mdi_length; + } + + int n = static_cast(atom->natoms); + MPI_Reduce(buf3, buf3all, 3 * n, MPI_DOUBLE, MPI_SUM, 0, world); + + // send current coords to MDI engine + + ierr = MDI_Send_command(">COORDS", mdicomm); + if (ierr) error->all(FLERR, "MDI: >COORDS command"); + ierr = MDI_Send(buf3all, 3 * atom->natoms, MDI_DOUBLE, mdicomm); + if (ierr) error->all(FLERR, "MDI: >COORDS data"); + + // request potential energy from MDI engine + // this triggers engine to perform QM calculation + // qm_energy = fix output for global QM energy + + ierr = MDI_Send_command("all(FLERR, "MDI: all(FLERR, "MDI: all(FLERR, "MDI: natoms, MDI_DOUBLE, mdicomm); + if (ierr) error->all(FLERR, "MDI: (tag[i]) - 1; + fqm[i][0] = buf3[3 * index + 0] * mdi2lmp_force; + fqm[i][1] = buf3[3 * index + 1] * mdi2lmp_force; + fqm[i][2] = buf3[3 * index + 2] * mdi2lmp_force; + } + + // optionally add forces to owned atoms + // use atomID of local atoms to index into ordered buf3 + + if (addflag) { + double **f = atom->f; + for (int i = 0; i < nlocal; i++) { + index = static_cast(tag[i]) - 1; + f[i][0] += buf3[3 * index + 0] * mdi2lmp_force; + f[i][1] += buf3[3 * index + 1] * mdi2lmp_force; + f[i][2] += buf3[3 * index + 2] * mdi2lmp_force; + } + } + + // optionally request stress tensor from MDI engine, convert to 6-value virial + // MDI defines virial tensor as intensive (divided by volume), LAMMPS does not + // qm_virial = fix output for global QM virial + + if (virialflag) { + ierr = MDI_Send_command("all(FLERR, "MDI: all(FLERR, "MDI: virial + // multiply by volume to make it extensive + // divide by nprocs so each proc stores a portion + // this is b/c ComputePressure expects that as input from a fix + // it will do an MPI_Allreduce and divide by volume + + if (virialflag && addflag) { + double volume; + if (domain->dimension == 2) + volume = domain->xprd * domain->yprd; + else if (domain->dimension == 3) + volume = domain->xprd * domain->yprd * domain->zprd; + for (int i = 0; i < 6; i++) virial[i] = qm_virial_symmetric[i] * volume / nprocs; + } +} + +/* ---------------------------------------------------------------------- */ + +void FixMDIQMMM::min_post_force(int vflag) +{ + post_force(vflag); +} + +/* ---------------------------------------------------------------------- + energy from MDI engine +------------------------------------------------------------------------- */ + +double FixMDIQMMM::compute_scalar() +{ + return qm_energy; +} + +/* ---------------------------------------------------------------------- + virial from MDI engine +------------------------------------------------------------------------- */ + +double FixMDIQMMM::compute_vector(int n) +{ + return qm_virial_symmetric[n]; +} + +/* ---------------------------------------------------------------------- + reallocate storage for local and global and atoms if needed +------------------------------------------------------------------------- */ + +void FixMDIQMMM::reallocate() +{ + if (atom->nlocal > maxlocal) { + maxlocal = atom->nmax; + memory->destroy(fqm); + memory->create(fqm, maxlocal, 3, "mdi:fqm"); + array_atom = fqm; + } + + if (atom->natoms > maxbuf) { + bigint nsize = atom->natoms * 3; + if (nsize > MAXSMALLINT) error->all(FLERR, "Natoms too large to use with fix mdi/qmmm"); + + maxbuf = static_cast(atom->natoms); + memory->destroy(ibuf1); + memory->destroy(buf3); + memory->destroy(buf3all); + memory->create(ibuf1, maxbuf, "mdi:ibuf1"); + memory->create(ibuf1all, maxbuf, "mdi:ibuf1all"); + memory->create(buf3, 3 * maxbuf, "mdi:buf3"); + memory->create(buf3all, 3 * maxbuf, "mdi:buf3all"); + } +} + +/* ---------------------------------------------------------------------- + send LAMMPS atom types to MDI engine +------------------------------------------------------------------------- */ + +void FixMDIQMMM::send_types() +{ + int n = static_cast(atom->natoms); + memset(ibuf1, 0, n * sizeof(int)); + + // use local atomID to index into ordered ibuf1 + + tagint *tag = atom->tag; + int *type = atom->type; + int nlocal = atom->nlocal; + + int index; + for (int i = 0; i < nlocal; i++) { + index = static_cast(tag[i]) - 1; + ibuf1[index] = type[i]; + } + + MPI_Reduce(ibuf1, ibuf1all, n, MPI_INT, MPI_SUM, 0, world); + + int ierr = MDI_Send_command(">TYPES", mdicomm); + if (ierr) error->all(FLERR, "MDI: >TYPES command"); + ierr = MDI_Send(ibuf1all, n, MDI_INT, mdicomm); + if (ierr) error->all(FLERR, "MDI: >TYPES data"); +} + +/* ---------------------------------------------------------------------- + send elements to MDI engine = atomic numbers for each type +------------------------------------------------------------------------- */ + +void FixMDIQMMM::send_elements() +{ + int n = static_cast(atom->natoms); + memset(ibuf1, 0, n * sizeof(int)); + + // use local atomID to index into ordered ibuf1 + + tagint *tag = atom->tag; + int *type = atom->type; + int nlocal = atom->nlocal; + + int index; + for (int i = 0; i < nlocal; i++) { + index = static_cast(tag[i]) - 1; + ibuf1[index] = elements[type[i]]; + } + + MPI_Reduce(ibuf1, ibuf1all, n, MPI_INT, MPI_SUM, 0, world); + + int ierr = MDI_Send_command(">ELEMENTS", mdicomm); + if (ierr) error->all(FLERR, "MDI: >ELEMENTS command"); + ierr = MDI_Send(ibuf1all, n, MDI_INT, mdicomm); + if (ierr) error->all(FLERR, "MDI: >ELEMETNS data"); +} + +/* ---------------------------------------------------------------------- + send simulation box size and shape to MDI engine +------------------------------------------------------------------------- */ + +void FixMDIQMMM::send_box() +{ + double cell[9]; + + int celldispl_exists; + int ierr = MDI_Check_command_exists("@DEFAULT", ">NATOMS", mdicomm, &celldispl_exists); + if (ierr) error->all(FLERR, "MDI: >CELL_DISPL command check"); + MPI_Bcast(&celldispl_exists, 1, MPI_INT, 0, world); + + if (celldispl_exists) { + ierr = MDI_Send_command(">CELL_DISPL", mdicomm); + if (ierr) error->all(FLERR, "MDI: >CELL_DISPL command"); + cell[0] = domain->boxlo[0] * lmp2mdi_length; + cell[1] = domain->boxlo[1] * lmp2mdi_length; + cell[2] = domain->boxlo[2] * lmp2mdi_length; + ierr = MDI_Send(cell, 3, MDI_DOUBLE, mdicomm); + if (ierr) error->all(FLERR, "MDI: >CELL_DISPL data"); + } + + ierr = MDI_Send_command(">CELL", mdicomm); + if (ierr) error->all(FLERR, "MDI: >CELL command"); + cell[0] = domain->boxhi[0] - domain->boxlo[0]; + cell[1] = 0.0; + cell[2] = 0.0; + cell[3] = domain->xy; + cell[4] = domain->boxhi[1] - domain->boxlo[1]; + cell[5] = 0.0; + cell[6] = domain->xz; + cell[7] = domain->yz; + cell[8] = domain->boxhi[2] - domain->boxlo[2]; + + // convert the cell units to bohr + for (int icell = 0; icell < 9; icell++) cell[icell] *= lmp2mdi_length; + + ierr = MDI_Send(cell, 9, MDI_DOUBLE, mdicomm); + if (ierr) error->all(FLERR, "MDI: >CELL data"); +} + +/* ---------------------------------------------------------------------- + MDI to/from LAMMPS conversion factors +------------------------------------------------------------------------- */ + +void FixMDIQMMM::unit_conversions() +{ + double angstrom_to_bohr, kelvin_to_hartree, ev_to_hartree, second_to_aut; + + MDI_Conversion_factor("angstrom", "bohr", &angstrom_to_bohr); + MDI_Conversion_factor("kelvin_energy", "hartree", &kelvin_to_hartree); + MDI_Conversion_factor("electron_volt", "hartree", &ev_to_hartree); + MDI_Conversion_Factor("second", "atomic_unit_of_time", &second_to_aut); + + // length units + + mdi2lmp_length = 1.0; + lmp2mdi_length = 1.0; + + if (lmpunits == REAL || lmpunits == METAL) { + lmp2mdi_length = angstrom_to_bohr; + mdi2lmp_length = 1.0 / angstrom_to_bohr; + } + + // energy units + + mdi2lmp_energy = 1.0; + lmp2mdi_energy = 1.0; + + if (lmpunits == REAL) { + lmp2mdi_energy = kelvin_to_hartree / force->boltz; + mdi2lmp_energy = force->boltz / kelvin_to_hartree; + } else if (lmpunits == METAL) { + lmp2mdi_energy = ev_to_hartree; + mdi2lmp_energy = 1.0 / ev_to_hartree; + } + + // force units = energy/length + + mdi2lmp_force = 1.0; + lmp2mdi_force = 1.0; + + if (lmpunits == REAL) { + lmp2mdi_force = (kelvin_to_hartree / force->boltz) / angstrom_to_bohr; + mdi2lmp_force = 1.0 / lmp2mdi_force; + } else if (lmpunits == METAL) { + lmp2mdi_force = ev_to_hartree / angstrom_to_bohr; + mdi2lmp_force = angstrom_to_bohr / ev_to_hartree; + } + + // stress units = force/area = energy/volume + + mdi2lmp_pressure = 1.0; + lmp2mdi_pressure = 1.0; + + if (lmpunits == REAL) { + lmp2mdi_pressure = (kelvin_to_hartree / force->boltz) / + (angstrom_to_bohr * angstrom_to_bohr * angstrom_to_bohr); + mdi2lmp_pressure = 1.0 / lmp2mdi_pressure; + } else if (lmpunits == METAL) { + lmp2mdi_pressure = ev_to_hartree / (angstrom_to_bohr * angstrom_to_bohr * angstrom_to_bohr); + mdi2lmp_pressure = 1.0 / lmp2mdi_pressure; + } +} diff --git a/src/MDI/fix_mdi_qmmm.h b/src/MDI/fix_mdi_qmmm.h new file mode 100644 index 0000000000..f1388038d9 --- /dev/null +++ b/src/MDI/fix_mdi_qmmm.h @@ -0,0 +1,82 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/ Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef FIX_CLASS +// clang-format off +FixStyle(mdi/qmmm,FixMDIQMMM); +// clang-format on +#else + +#ifndef LMP_FIX_MDI_QMMM_H +#define LMP_FIX_MDI_QMMM_H + +#include "fix.h" +#include + +namespace LAMMPS_NS { + +class FixMDIQMMM : public Fix { + public: + FixMDIQMMM(class LAMMPS *, int, char **); + ~FixMDIQMMM(); + int setmask(); + + void init(); + void setup(int); + void post_force(int); + void min_post_force(int); + double compute_scalar(); + double compute_vector(int); + + private: + int nprocs; + int every, virialflag, addflag, connectflag; + int plugin; + int maxlocal; + int sumflag; + int *elements; + + double qm_energy; + int lmpunits; + double qm_virial[9], qm_virial_symmetric[6]; + double **fqm; + + MDI_Comm mdicomm; + + // unit conversion factors + + double lmp2mdi_length, mdi2lmp_length; + double lmp2mdi_energy, mdi2lmp_energy; + double lmp2mdi_force, mdi2lmp_force; + double lmp2mdi_pressure, mdi2lmp_pressure; + double lmp2mdi_velocity, mdi2lmp_velocity; + + // buffers for MDI comm + + int maxbuf; + int *ibuf1, *ibuf1all; + double *buf3, *buf3all; + + // methods + + void reallocate(); + void send_types(); + void send_elements(); + void send_box(); + void unit_conversions(); +}; + +} // namespace LAMMPS_NS + +#endif +#endif From 1234f7d16d74dd27e5436a18c42fd80a2db77643 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 21 Dec 2022 11:50:58 -0700 Subject: [PATCH 056/448] more work on fix mdi/qmmm --- src/MDI/README | 2 +- src/MDI/fix_mdi_qm.cpp | 1 - src/MDI/fix_mdi_qmmm.cpp | 735 +++++++++++++++++++++++++++++++++++++-- src/MDI/fix_mdi_qmmm.h | 63 +++- 4 files changed, 754 insertions(+), 47 deletions(-) diff --git a/src/MDI/README b/src/MDI/README index 7669b94780..2034a69170 100644 --- a/src/MDI/README +++ b/src/MDI/README @@ -16,7 +16,7 @@ The MDI Library is required in order to use this package, and can be built using the Install.py file in lib/mdi as explained in lib/mdi/README. For example: -python Install.py -m +python Install.py -m mpi When using CMake to build LAMMPS the CMake configuration can use either a preinstalled MDI library or download and compile a diff --git a/src/MDI/fix_mdi_qm.cpp b/src/MDI/fix_mdi_qm.cpp index fc4ae832da..dbfc3f3ae9 100644 --- a/src/MDI/fix_mdi_qm.cpp +++ b/src/MDI/fix_mdi_qm.cpp @@ -192,7 +192,6 @@ FixMDIQM::~FixMDIQM() int FixMDIQM::setmask() { int mask = 0; - mask |= PRE_REVERSE; mask |= POST_FORCE; mask |= MIN_POST_FORCE; return mask; diff --git a/src/MDI/fix_mdi_qmmm.cpp b/src/MDI/fix_mdi_qmmm.cpp index a85f27be5c..537ecfcebd 100644 --- a/src/MDI/fix_mdi_qmmm.cpp +++ b/src/MDI/fix_mdi_qmmm.cpp @@ -17,7 +17,12 @@ #include "domain.h" #include "error.h" #include "force.h" +#include "group.h" +#include "integrate.h" +#include "kspace.h" #include "memory.h" +#include "min.h" +#include "pair.h" #include "update.h" using namespace LAMMPS_NS; @@ -27,15 +32,27 @@ enum { NATIVE, REAL, METAL }; // LAMMPS units which MDI supports #define MAXELEMENT 103 // used elsewhere in MDI package +// prototype for non-class compare function for sorting QM IDs + +static int compare_IDs(const int, const int, void *); + /* ---------------------------------------------------------------------- */ FixMDIQMMM::FixMDIQMMM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { - // check requirements for LAMMPS to work with MDI as an engine + // check requirements for LAMMPS to work with MDI for a QMMM engine - if (atom->tag_enable == 0) error->all(FLERR, "Cannot use MDI engine without atom IDs"); - if (atom->natoms && atom->tag_consecutive() == 0) - error->all(FLERR, "MDI engine requires consecutive atom IDs"); + if (domain->dimension == 2) + error->all(FLERR,"Fix mdi/qmmm requires 3d simulation"); + + if (!atom->tag_enable) + error->all(FLERR,"Fix mdi/qmmm requires atom IDs be defined"); + + if (!atom->tag_consecutive()) + error->all(FLERR,"Fix mdi/qmmm requires atom IDs be consecutive"); + + if (atom->map_style == Atom::MAP_NONE) + error->all(FLERR,"Fix mdi/qmmm requires an atom map be defined"); // confirm LAMMPS is being run as a driver @@ -88,40 +105,129 @@ FixMDIQMMM::FixMDIQMMM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) // fix output settings are based on optional keywords scalar_flag = 1; - global_freq = every; + global_freq = 1; extscalar = 1; - peratom_flag = 1; - size_peratom_cols = 3; - peratom_freq = every; - extvector = 0; - if (virialflag) { vector_flag = 1; size_vector = 6; } - if (addflag) { - energy_global_flag = 1; - virial_global_flag = 1; - thermo_energy = thermo_virial = 1; + energy_global_flag = 1; + thermo_energy = thermo_virial = 1; + comm_forward = 1; + comm_reverse = 1; + + // qflag = 1 if system stores per-atom charge, else 0 + + qflag = atom->q_flag; + + // nqm = size of fix group = total # of QM atoms + // if all atoms are QM, mode = AIMD + // if only some atoms are QM, mode = QMMM + // require 3*nqm be a small INT, so can MPI_Allreduce xqm + + bigint ngroup = group->count(igroup); + if (ngroup == 0) error->all(FLERR,"Fix mdi/qmmm has no atoms in quantum group"); + if (3*ngroup > MAXSMALLINT) + error->all(FLERR,"Fix mdi/qmmm quantum group has too many atoms"); + nqm = ngroup; + + // QM atom memory + + memory->create(qmIDs,nqm,"mdi/qmmm:qmIDs"); + memory->create(xqm,nqm,3,"mdi/qmmm:xqm"); + memory->create(fqm,nqm,3,"mdi/qmmm:fqm"); + memory->create(qqm,nqm,"mdi/qmmm:qqm"); + memory->create(tqm,nqm,"mdi/qmmm:tqm"); + memory->create(qpotential,nqm,"mdi/qmmm:qpotential"); + memory->create(xqm_mine,nqm,3,"mdi/qmmm:xqm_mine"); + memory->create(qqm_mine,nqm,"mdi/qmmm:qqm_mine"); + memory->create(tqm_mine,nqm,"mdi/qmmm:tqm_mine"); + memory->create(qpotential_mine,nqm,"mdi/qmmm:qpotential_mine"); + memory->create(qm2owned,nqm,"mdi/qmmm:qm2owned"); + + // for QMMM, set qmIDs = IDs of QM atoms in ascending order + + tagint *tag = atom->tag; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + // qmIDs_mine = list of nqm_mine QM atom IDs I own + + int nqm_mine = 0; + for (int i = 0; i < nlocal; i++) + if (mask[i] & groupbit) nqm_mine++; + + tagint *qmIDs_mine; + memory->create(qmIDs_mine,nqm_mine,"nwchem:qmIDs_mine"); + + nqm_mine = 0; + for (int i = 0; i < nlocal; i++) + if (mask[i] & groupbit) qmIDs_mine[nqm_mine++] = tag[i]; + + // allgather of qmIDs_mine into qmIDs + + int nprocs = comm->nprocs; + + int *recvcounts,*displs,*listall; + memory->create(recvcounts,nprocs,"nwchem:recvcounts"); + memory->create(displs,nprocs,"nwchem:displs"); + + MPI_Allgather(&nqm_mine,1,MPI_INT,recvcounts,1,MPI_INT,world); + + displs[0] = 0; + for (int iproc = 1; iproc < nprocs; iproc++) + displs[iproc] = displs[iproc-1] + recvcounts[iproc-1]; + + MPI_Allgatherv(qmIDs_mine,nqm_mine,MPI_LMP_TAGINT,qmIDs,recvcounts,displs, + MPI_LMP_TAGINT,world); + + memory->destroy(qmIDs_mine); + memory->destroy(recvcounts); + memory->destroy(displs); + + // sort qmIDs via merge sort + + int *order; + tagint *qmIDs_sort; + + memory->create(order,nqm,"nwchem:order"); + memory->create(qmIDs_sort,nqm,"nwchem:qmIDs_sort"); + + for (int i = 0; i < nqm; i++) { + qmIDs_sort[i] = qmIDs[i]; + order[i] = i; } + utils::merge_sort(order,nqm,(void *) qmIDs_sort,compare_IDs); + + int j; + for (int i = 0; i < nqm; i++) { + j = order[i]; + qmIDs_sort[i] = qmIDs[j]; + } + + memcpy(qmIDs,qmIDs_sort,nqm*sizeof(tagint)); + + memory->destroy(order); + memory->destroy(qmIDs_sort); + + // flag for one-time init of QM code and qqm + + qm_init = 0; + + // peratom Coulombic energy + + ecoul = nullptr; + ncoulmax = 0; + // mdicomm will be initialized in init() // cannot do here for a plugin library, b/c mdi plugin command comes later mdicomm = MDI_COMM_NULL; - // peratom storage, both for nlocal and global natoms - - fqm = nullptr; - maxlocal = 0; - - ibuf1 = ibuf1all = nullptr; - buf3 = buf3all = nullptr; - maxbuf = 0; - - // set unit conversion factors + // set MDI unit conversion factors if (strcmp(update->unit_style, "real") == 0) lmpunits = REAL; @@ -161,14 +267,20 @@ FixMDIQMMM::~FixMDIQMMM() // clean up - delete[] elements; + delete [] elements; + memory->destroy(qmIDs); + memory->destroy(xqm); memory->destroy(fqm); - - memory->destroy(ibuf1); - memory->destroy(ibuf1all); - memory->destroy(buf3); - memory->destroy(buf3all); + memory->destroy(qqm); + memory->destroy(tqm); + memory->destroy(qpotential); + memory->destroy(xqm_mine); + memory->destroy(qqm_mine); + memory->destroy(tqm_mine); + memory->destroy(qpotential_mine); + memory->destroy(qm2owned); + memory->destroy(ecoul); } /* ---------------------------------------------------------------------- */ @@ -176,7 +288,10 @@ FixMDIQMMM::~FixMDIQMMM() int FixMDIQMMM::setmask() { int mask = 0; - mask |= PRE_REVERSE; + mask |= POST_NEIGHBOR; + mask |= MIN_POST_NEIGHBOR; + mask |= PRE_FORCE; + mask |= MIN_PRE_FORCE; mask |= POST_FORCE; mask |= MIN_POST_FORCE; return mask; @@ -228,6 +343,54 @@ void FixMDIQMMM::init() } } + // QMMM requires long-range Coulombics for Coulomb potential input to NWChem + + if (!qflag) + error->all(FLERR,"Fix nwchem QMMM mode requires per-atom charge"); + + if (!force->pair) + error->all(FLERR,"Fix nwchem QMMM mode requires a pair style"); + + // must be a pair style that calculates only Coulombic interactions + // can be in conjunction with KSpace solver as well + + pair_coul = force->pair_match("coul/cut",1,0); + if (!pair_coul) pair_coul = force->pair_match("coul/long",1,0); + if (!pair_coul) pair_coul = force->pair_match("coul/msm",1,0); + if (!pair_coul) + error->all(FLERR, + "Fix nwchem QMMM mode requires Coulomb-only pair sub-style"); + + // one-time initialization of QM code with its input file + // also one-time setup of qqm = atom charges for all QM atoms + // later calls to QM change charges for QM atoms + // setup of xqm needed for nwchem_initialize(); + + if (!qm_init) { + qm_init = 1; + set_qm2owned(); + set_qqm(); + set_tqm(); + set_xqm(); + //if (comm->me == 0) qm_file(); + + if (comm->me == 0) + utils::logmesg(lmp, "Calling pspw_input() in NWChem ...\n"); + + MPI_Barrier(world); + double tstart = platform::walltime(); + + //c_lammps_pspw_input_filename(world,nw_input,nw_output); + //dummy_pspw_input(world,filename); + + MPI_Barrier(world); + if (comm->me == 0) + utils::logmesg(lmp, " time = {:.3f} seconds\n", + platform::walltime() - tstart); + } + + + // send natoms, atom types or elements, and simulation box to engine // confirm engine count of NATOMS is correct // this will trigger setup of a new system @@ -285,13 +448,324 @@ void FixMDIQMMM::setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixMDIQMMM::post_force(int /*vflag*/) +void FixMDIQMMM::setup_post_neighbor() +{ + post_neighbor(); +} + +/* ---------------------------------------------------------------------- */ + +void FixMDIQMMM::setup_pre_force(int vflag) +{ + pre_force(vflag); +} + +/* ---------------------------------------------------------------------- */ + +void FixMDIQMMM::post_neighbor() +{ + set_qm2owned(); +} + +/* ---------------------------------------------------------------------- */ + +void FixMDIQMMM::pre_force(int vflag) +{ + int ilocal,jlocal; + double rsq; + double delta[3]; + + // invoke pair hybrid sub-style pair coulomb and Kspace directly + // set eflag = 2 so they calculate per-atom energy + + pair_coul->compute(2,0); + double *eatom_pair = pair_coul->eatom; + + double *eatom_kspace = nullptr; + if (force->kspace) { + force->kspace->compute(2,0); + eatom_kspace = force->kspace->eatom; + } + + // allocate ecoul for owned + ghost atoms + // ghost atoms values only used if newton_pair is set + + if (atom->nmax > ncoulmax) { + memory->destroy(ecoul); + ncoulmax = atom->nmax; + memory->create(ecoul,ncoulmax,"nwchem:ecoul"); + } + + // ecoul = per-atom energy for my owned atoms + // if newton_pair, also do reverse_comm for ghost atom contribution + + int nlocal = atom->nlocal; + int ntotal = nlocal; + if (force->newton_pair) ntotal += atom->nghost; + + for (int i = 0; i < ntotal; i++) + ecoul[i] = eatom_pair[i]; + + if (force->newton_pair) comm->reverse_comm(this); + + if (force->kspace) { + for (int i = 0; i < nlocal; i++) + ecoul[i] += eatom_kspace[i]; + } + + // setup 2 QM inputs: xqm and qpotential + // xqm = atom coords, mapped into periodic box + // qpotential[i] = Coulomb potential for each atom + // 2 * (eatom[i] from pair_coul + kspace) / Qi + // factor of 2 comes from need to double count energy for each atom + // set for owned atoms, then MPI_Allreduce + // subtract Qj/Rij energy for QM I interacting with all other QM J atoms + // use xqm_mine and qqm_mine for all QM atoms + + set_xqm(); + + for (int i = 0; i < nqm; i++) qpotential_mine[i] = 0.0; + + double *q = atom->q; + double qqrd2e = force->qqrd2e; + + for (int i = 0; i < nqm; i++) { + ilocal = qm2owned[i]; + if (ilocal >= 0) { + if (q[ilocal] == 0.0) qpotential_mine[i] = 0.0; + else qpotential_mine[i] = 2.0 * ecoul[ilocal] / q[ilocal]; + } + } + + for (int i = 0; i < nqm; i++) { + ilocal = qm2owned[i]; + if (ilocal >= 0) { + for (int j = 0; j < nqm; j++) { + if (j == i) continue; + delta[0] = xqm[i][0] - xqm[j][0]; + delta[1] = xqm[i][1] - xqm[j][1]; + delta[2] = xqm[i][2] - xqm[j][2]; + domain->minimum_image_once(delta); + rsq = delta[0]*delta[0] + delta[1]*delta[1] + delta[2]*delta[2]; + qpotential_mine[i] -= qqrd2e * qqm[j] / sqrt(rsq); + } + } + } + + MPI_Allreduce(qpotential_mine,qpotential,nqm,MPI_DOUBLE,MPI_SUM,world); + + // unit conversion from LAMMPS to MDI + + for (int i = 0; i < nqm; i++) { + xqm[i][0] *= lmp2mdi_length; + xqm[i][1] *= lmp2mdi_length; + xqm[i][2] *= lmp2mdi_length; + qpotential[i] *= lmp2mdi_energy; + } + + // call to MDI engine with QM atom info + // QM atoms must be in order of ascending atom ID + // inputs: + // xqm = atom coords + // qpotential = vector of zeroes for AIMD + // outputs: + // fqm,qqm = forces & charges + // qm_energy = QM energy of entire system + + if (comm->me == 0) utils::logmesg(lmp, "Calling QM code ...\n"); + + MPI_Barrier(world); + double tstart = platform::walltime(); + + // MDI calls + + // send current coords of QM atoms to MDI engine + + int ierr = MDI_Send_command(">COORDS", mdicomm); + if (ierr) error->all(FLERR, "MDI: >COORDS command"); + ierr = MDI_Send(&xqm[0][0], 3 * nqm, MDI_DOUBLE, mdicomm); + if (ierr) error->all(FLERR, "MDI: >COORDS data"); + + // send Coulomb potential of QM atoms to MDI engine + + ierr = MDI_Send_command(">QPOT", mdicomm); + if (ierr) error->all(FLERR, "MDI: >QPOT command"); + ierr = MDI_Send(qpotential, nqm, MDI_DOUBLE, mdicomm); + if (ierr) error->all(FLERR, "MDI: >QPOT data"); + + // request QM potential energy from MDI engine + // this triggers engine to perform QM calculation + // qm_energy = fix output for global QM energy + + ierr = MDI_Send_command("all(FLERR, "MDI: all(FLERR, "MDI: all(FLERR, "MDI: all(FLERR, "MDI: all(FLERR, "MDI: all(FLERR, "MDI: me == 0) + utils::logmesg(lmp, " time = {:.3f} seconds\n", + platform::walltime() - tstart); + + // unit conversion from MDI to LAMMPS + + qm_energy *= mdi2lmp_energy; + + for (int i = 0; i < nqm; i++) { + fqm[i][0] *= mdi2lmp_force; + fqm[i][1] *= mdi2lmp_force; + fqm[i][2] *= mdi2lmp_force; + } + + // reset owned charges to QM values + // communicate changes to ghost atoms + + for (int i = 0; i < nqm; i++) { + ilocal = qm2owned[i]; + if (ilocal >= 0) q[ilocal] = qqm[i]; + } + + comm->forward_comm(this); + + // reset LAMMPS forces to zero + // NOTE: what about check in force_clear() for external_force_clear = OPENMP ? + // NOTE: what will whichflag be for single snapshot compute of QM forces? + + if (update->whichflag == 1) + update->integrate->force_clear(); + else if (update->whichflag == 2) + update->minimize->force_clear(); +} + +/* ---------------------------------------------------------------------- */ + +void FixMDIQMMM::post_force(int vflag) +{ + // int ilocal,jlocal; + // double rsq,r2inv,rinv,fpair; + // double delta[3]; + + // subtract pairwise QM energy and forces from energy and forces + // LAMMPS just computed for all atoms + // double loop over all QM pairs, 2nd loop starts at i+1 to include pair once + // if I own either or both atoms in pair, compute pairwise Coulomb term + // subtract force only from owned atoms + // subtract half or all energy from qmenergy + // this effectively subtract energy from total = pair + kspace + fix + // use xqm & qqm set/computed in pre_force_qmmm() for all QM atoms + + // NOTE: no longer needed + // NWChem now subtracts QM/QM contributions from its returned energy and forces + + /* + double **x = atom->x; + double **f = atom->f; + double *q = atom->q; + int nlocal = atom->nlocal; + double qqrd2e = force->qqrd2e; + + double eqm_mine = 0.0; + + for (int i = 0; i < nqm; i++) { + ilocal = qm2owned[i]; + for (int j = i+1; j < nqm; j++) { + jlocal = qm2owned[j]; + + // skip if neither atom is owned + + if (ilocal < 0 && jlocal < 0) continue; + + delta[0] = xqm[i][0] - xqm[j][0]; + delta[1] = xqm[i][1] - xqm[j][1]; + delta[2] = xqm[i][2] - xqm[j][2]; + domain->minimum_image_once(delta); + rsq = delta[0]*delta[0] + delta[1]*delta[1] + delta[2]*delta[2]; + r2inv = 1.0/rsq; + rinv = sqrt(r2inv); + fpair = qqrd2e * qqm[i]*qqm[j]*rinv*r2inv; + + // adjust forces on ilocal and/or jlocal only if they are owned atoms + + if (ilocal >= 0) { + f[ilocal][0] -= delta[0]*fpair; + f[ilocal][1] -= delta[1]*fpair; + f[ilocal][2] -= delta[2]*fpair; + } + if (jlocal >= 0) { + f[jlocal][0] += delta[0]*fpair; + f[jlocal][1] += delta[1]*fpair; + f[jlocal][2] += delta[2]*fpair; + } + + // adjust energy using efactor + // efactor = 1.0 if both are owned atoms, 0.5 if only one is owned + + double efactor = 0.5; + if (ilocal >= 0 && jlocal >= 0.0) efactor = 1.0; + eqm_mine += efactor * qqrd2e * qqm[i]*qqm[j]*rinv; + } + } + + // sum eqm_mine across procs, use it to adjust qmenergy + + double eqm; + MPI_Allreduce(&eqm_mine,&eqm,1,MPI_DOUBLE,MPI_SUM,world); + + qmenergy -= eqm; + */ + + // add NWChem QM forces to owned QM atoms + // do this now, after LAMMPS forces have been re-computed with new QM charges + + double **f = atom->f; + + int ilocal; + + for (int i = 0; i < nqm; i++) { + ilocal = qm2owned[i]; + if (ilocal >= 0) { + f[ilocal][0] += fqm[i][0]; + f[ilocal][1] += fqm[i][1]; + f[ilocal][2] += fqm[i][2]; + } + } + + // trigger per-atom energy computation on next step by pair/kspace + // NOTE: is this needed ? + // only if needed for this fix to calc per-atom forces + // or needed for this fix to output global (or per-atom) energy + + //c_pe->addstep(update->ntimestep+1); +} + +/* ---------------------------------------------------------------------- */ + +void FixMDIQMMM::post_force_aimd(int vflag) { int index, ierr; // skip if timestep is not a multiple of every - if (update->ntimestep % every) return; + //if (update->ntimestep % every) return; // reallocate peratom storage if necessary, both natoms and nlocal @@ -358,6 +832,7 @@ void FixMDIQMMM::post_force(int /*vflag*/) // optionally add forces to owned atoms // use atomID of local atoms to index into ordered buf3 + /* if (addflag) { double **f = atom->f; for (int i = 0; i < nlocal; i++) { @@ -367,7 +842,8 @@ void FixMDIQMMM::post_force(int /*vflag*/) f[i][2] += buf3[3 * index + 2] * mdi2lmp_force; } } - + */ + // optionally request stress tensor from MDI engine, convert to 6-value virial // MDI defines virial tensor as intensive (divided by volume), LAMMPS does not // qm_virial = fix output for global QM virial @@ -393,6 +869,7 @@ void FixMDIQMMM::post_force(int /*vflag*/) // this is b/c ComputePressure expects that as input from a fix // it will do an MPI_Allreduce and divide by volume + /* if (virialflag && addflag) { double volume; if (domain->dimension == 2) @@ -401,6 +878,28 @@ void FixMDIQMMM::post_force(int /*vflag*/) volume = domain->xprd * domain->yprd * domain->zprd; for (int i = 0; i < 6; i++) virial[i] = qm_virial_symmetric[i] * volume / nprocs; } + */ +} + +/* ---------------------------------------------------------------------- */ + +void FixMDIQMMM::min_setup(int vflag) +{ + post_force(vflag); +} + +/* ---------------------------------------------------------------------- */ + +void FixMDIQMMM::min_post_neighbor() +{ + post_neighbor(); +} + +/* ---------------------------------------------------------------------- */ + +void FixMDIQMMM::min_pre_force(int vflag) +{ + pre_force(vflag); } /* ---------------------------------------------------------------------- */ @@ -410,6 +909,62 @@ void FixMDIQMMM::min_post_force(int vflag) post_force(vflag); } +/* ---------------------------------------------------------------------- */ + +int FixMDIQMMM::pack_forward_comm(int n, int *list, double *buf, + int /*pbc_flag*/, int * /*pbc*/) +{ + int i,j,m; + + double *q = atom->q; + + m = 0; + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = q[j]; + } + return m; +} + +/* ---------------------------------------------------------------------- */ + +void FixMDIQMMM::unpack_forward_comm(int n, int first, double *buf) +{ + int i,m,last; + + m = 0; + last = first + n; + + double *q = atom->q; + + for (i = first; i < last; i++) q[i] = buf[m++]; +} + +/* ---------------------------------------------------------------------- */ + +int FixMDIQMMM::pack_reverse_comm(int n, int first, double *buf) +{ + int i,m,last; + + m = 0; + last = first + n; + for (i = first; i < last; i++) buf[m++] = ecoul[i]; + return m; +} + +/* ---------------------------------------------------------------------- */ + +void FixMDIQMMM::unpack_reverse_comm(int n, int *list, double *buf) +{ + int i,j,m; + + m = 0; + for (i = 0; i < n; i++) { + j = list[i]; + ecoul[j] += buf[m++]; + } +} + /* ---------------------------------------------------------------------- energy from MDI engine ------------------------------------------------------------------------- */ @@ -428,6 +983,24 @@ double FixMDIQMMM::compute_vector(int n) return qm_virial_symmetric[n]; } +/* ---------------------------------------------------------------------- + memory usage +------------------------------------------------------------------------- */ + +double FixMDIQMMM::memory_usage() +{ + double bytes = 0.0; + bytes += (double)ncoulmax * sizeof(double); + bytes += (double)(3*3 + 4) * nqm * sizeof(double); // fpoint QM arrays/vecs + bytes += nqm * sizeof(tagint); // qmIDs + bytes += nqm * sizeof(int); // qm2owned + return bytes; +} + +// ---------------------------------------------------------------------- +// private methods for this fix +// ---------------------------------------------------------------------- + /* ---------------------------------------------------------------------- reallocate storage for local and global and atoms if needed ------------------------------------------------------------------------- */ @@ -456,6 +1029,87 @@ void FixMDIQMMM::reallocate() } } +/* ---------------------------------------------------------------------- */ + +void FixMDIQMMM::set_qm2owned() +{ + // qm2owned[i] = index of local atom for each of nqm QM atoms + // for QMMM, IDs of QM atoms stored in qmIDs + // index = -1 if this proc does not own the atom + + int nlocal = atom->nlocal; + int index; + + for (int i = 0; i < nqm; i++) { + index = atom->map(qmIDs[i]); + if (index >= nlocal) qm2owned[i] = -1; + else qm2owned[i] = index; + } +} + +/* ---------------------------------------------------------------------- */ + +void FixMDIQMMM::set_qqm() +{ + for (int i = 0; i < nqm; i++) qqm_mine[i] = 0.0; + + if (qflag) { + double *q = atom->q; + int ilocal; + + for (int i = 0; i < nqm; i++) { + ilocal = qm2owned[i]; + if (ilocal >= 0) qqm_mine[i] = q[ilocal]; + } + } + + MPI_Allreduce(qqm_mine,qqm,nqm,MPI_DOUBLE,MPI_SUM,world); +} + +/* ---------------------------------------------------------------------- */ + +void FixMDIQMMM::set_tqm() +{ + for (int i = 0; i < nqm; i++) tqm_mine[i] = 0; + + int*type = atom->type; + int ilocal; + + for (int i = 0; i < nqm; i++) { + ilocal = qm2owned[i]; + if (ilocal >= 0) tqm_mine[i] = type[ilocal]; + } + + MPI_Allreduce(tqm_mine,tqm,nqm,MPI_INT,MPI_SUM,world); +} + +/* ---------------------------------------------------------------------- */ + +void FixMDIQMMM::set_xqm() +{ + for (int i = 0; i < nqm; i++) { + xqm_mine[i][0] = 0.0; + xqm_mine[i][1] = 0.0; + xqm_mine[i][2] = 0.0; + } + + double **x = atom->x; + int ilocal; + + for (int i = 0; i < nqm; i++) { + ilocal = qm2owned[i]; + if (ilocal >= 0) { + xqm_mine[i][0] = x[ilocal][0]; + xqm_mine[i][1] = x[ilocal][1]; + xqm_mine[i][2] = x[ilocal][2]; + + domain->remap(xqm_mine[i]); + } + } + + MPI_Allreduce(&xqm_mine[0][0],&xqm[0][0],3*nqm,MPI_DOUBLE,MPI_SUM,world); +} + /* ---------------------------------------------------------------------- send LAMMPS atom types to MDI engine ------------------------------------------------------------------------- */ @@ -619,3 +1273,16 @@ void FixMDIQMMM::unit_conversions() mdi2lmp_pressure = 1.0 / lmp2mdi_pressure; } } + +/* ---------------------------------------------------------------------- + comparison function invoked by merge_sort() + void pointer contains list of atom IDs +------------------------------------------------------------------------- */ + +int compare_IDs(const int i, const int j, void *ptr) +{ + tagint *ids = (int *) ptr; + if (ids[i] < ids[j]) return -1; + if (ids[i] > ids[j]) return 1; + return 0; +} diff --git a/src/MDI/fix_mdi_qmmm.h b/src/MDI/fix_mdi_qmmm.h index f1388038d9..f1c447a9d0 100644 --- a/src/MDI/fix_mdi_qmmm.h +++ b/src/MDI/fix_mdi_qmmm.h @@ -28,38 +28,72 @@ namespace LAMMPS_NS { class FixMDIQMMM : public Fix { public: FixMDIQMMM(class LAMMPS *, int, char **); - ~FixMDIQMMM(); - int setmask(); + virtual ~FixMDIQMMM(); + int setmask() override; - void init(); - void setup(int); - void post_force(int); - void min_post_force(int); - double compute_scalar(); - double compute_vector(int); + void init() override; + void setup(int) override; + void setup_post_neighbor() override; + void setup_pre_force(int) override; + void post_neighbor() override; + void pre_force(int) override; + void post_force(int) override; + void min_setup(int) override; + void min_post_neighbor() override; + void min_pre_force(int) override; + void min_post_force(int) override; + int pack_forward_comm(int, int *, double *, int, int *) override; + void unpack_forward_comm(int, int, double *) override; + int pack_reverse_comm(int, int, double *) override; + void unpack_reverse_comm(int, int *, double *) override; + double compute_scalar() override; + double compute_vector(int) override; + double memory_usage() override; + private: int nprocs; - int every, virialflag, addflag, connectflag; + int virialflag, connectflag; int plugin; int maxlocal; int sumflag; int *elements; + int qflag; // 1 if per-atom charge defined, 0 if not + int qm_init; // 1 if QM code and qqm are initialized, 0 if not + double qm_energy; int lmpunits; double qm_virial[9], qm_virial_symmetric[6]; - double **fqm; MDI_Comm mdicomm; + class Pair *pair_coul; // ptr to instance of pair coul variant + + // data for QMMM + + int nqm; // # of QM atoms + tagint *qmIDs; // IDs of QM atoms in ascending order + double **xqm,**fqm; // QM coords and forces + double *qqm; // QM charges + int *tqm; // QM atom types + double *qpotential; // Coulomb potential + double **xqm_mine; // same values for QM atoms I own + double *qqm_mine; + int *tqm_mine; + double *qpotential_mine; + int *qm2owned; // index of local atom for each QM atom + // index = -1 if this proc does not own + + double *ecoul; // peratom Coulombic energy from LAMMPS + int ncoulmax; // length of ecoul + // unit conversion factors double lmp2mdi_length, mdi2lmp_length; double lmp2mdi_energy, mdi2lmp_energy; double lmp2mdi_force, mdi2lmp_force; double lmp2mdi_pressure, mdi2lmp_pressure; - double lmp2mdi_velocity, mdi2lmp_velocity; // buffers for MDI comm @@ -69,11 +103,18 @@ class FixMDIQMMM : public Fix { // methods + void set_qm2owned(); + void set_qqm(); + void set_tqm(); + void set_xqm(); + void reallocate(); void send_types(); void send_elements(); void send_box(); void unit_conversions(); + + void post_force_aimd(int); }; } // namespace LAMMPS_NS From 4d7a5fb225bb7298da8de23335e98b05dab1087c Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 18 Jan 2023 16:19:19 -0700 Subject: [PATCH 057/448] support two modes of QMMM coupling --- doc/src/fix_mdi_qm.rst | 5 +- doc/src/fix_mdi_qmmm.rst | 252 +++++++++++++++++++++++++++++++++++++++ src/MDI/fix_mdi_qmmm.cpp | 110 +++++++++++++++-- src/MDI/fix_mdi_qmmm.h | 2 + 4 files changed, 359 insertions(+), 10 deletions(-) create mode 100644 doc/src/fix_mdi_qmmm.rst diff --git a/doc/src/fix_mdi_qm.rst b/doc/src/fix_mdi_qm.rst index 667dea710a..46671ceee6 100644 --- a/doc/src/fix_mdi_qm.rst +++ b/doc/src/fix_mdi_qm.rst @@ -8,7 +8,7 @@ Syntax .. parsed-literal:: - fix ID group-ID mdi/qm keyword + fix ID group-ID mdi/qm keyword value(s) keyword value(s) ... * ID, group-ID are documented in :doc:`fix ` command * mdi/qm = style name of this fix command @@ -270,7 +270,8 @@ supports, e.g. *lj*, but then no unit conversion is performed. Related commands """""""""""""""" -:doc:`mdi plugin `, :doc:`mdi engine ` +:doc:`mdi plugin `, :doc:`mdi engine `, :doc:`fix mdi/qmmm + ` Default """"""" diff --git a/doc/src/fix_mdi_qmmm.rst b/doc/src/fix_mdi_qmmm.rst new file mode 100644 index 0000000000..46a20362fc --- /dev/null +++ b/doc/src/fix_mdi_qmmm.rst @@ -0,0 +1,252 @@ +.. index:: fix mdi/qm + +fix mdi/qm command +====================== + +Syntax +"""""" + +.. parsed-literal:: + + fix ID group-ID mdi/qmmm mode keyword value(s) keyword value(s) ... + +* ID, group-ID are documented in :doc:`fix ` command +* mdi/qm = style name of this fix command +* mode = *direct* or *potential* +* zero or more keyword/value pairs may be appended +* keyword = *virial* or *add* or *every* or *connect* or *elements* + + .. parsed-literal:: + + *virial* args = *yes* or *no* + yes = request virial tensor from server code + no = do not request virial tensor from server code + *connect* args = *yes* or *no* + yes = perform a one-time connection to the MDI engine code + no = do not perform the connection operation + *elements* args = N_1 N_2 ... N_ntypes + N_1,N_2,...N_ntypes = atomic number for each of ntypes LAMMPS atom types + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix 1 all mdi/qmmm direct + fix 1 all mdi/qmmm potential virial yes + fix 1 all mdi/qmmm potential virial yes elements 13 29 + +Description +""""""""""" + +This command enables LAMMPS to act as a client with another server +code to perform a couple QMMM (quantum-mechanics molecular-mechanics) +simulation. LAMMPS will perform classical MD (molecular-mechnanics) +for the (typically larger) MM portion of the system. A quantum +mechanics code will calculate quantum effects for the QM portion of +the system. The QM server code must support use of the `MDI Library +`_ as +explained below. + +The code coupling performed by this command is done via the `MDI +Library `_. +LAMMPS runs as an MDI driver (client), and sends MDI commands to an +external MDI engine code (server), in this case a QM code which has +support for MDI. See the :doc:`Howto mdi ` page for more +information about how LAMMPS can operate as either an MDI driver or +engine. + + + +Q: provide an example where LAMMPS is also the QM code ? + similar to fix mdi/qm ? + +The examples/mdi directory contains input scripts using this fix in +the various use cases discussed below. In each case, two instances of +LAMMPS are used, once as an MDI driver, once as an MDI engine +(surrogate for a QM code). The examples/mdi/README file explains how +to launch two codes so that they communicate via the MDI library using +either MPI or sockets. Any QM code that supports MDI could be used in +place of LAMMPS acting as a QM surrogate. See the :doc:`Howto mdi +` page for a current list (March 2022) of such QM codes. + +Note that an engine code can support MDI in either or both of two +modes. It can be used as a stand-alone code, launched at the same +time as LAMMPS. Or it can be used as a plugin library, which LAMMPS +loads. See the :doc:`mdi plugin ` command for how to trigger +LAMMPS to load a plugin library. The examples/mdi/README file +explains how to launch the two codes in either mode. + +---------- + +The *virial* keyword setting of yes or no determines whether +LAMMPS will request the QM code to also compute and return +a 6-element symmetric virial tensor for the system. + +The *connect* keyword determines whether this fix performs a one-time +connection to the QM code. The default is *yes*. The only time a +*no* is needed is if this command is used multiple times in an input +script. E.g. if it used inside a loop which also uses the :doc:`clear +` command to destroy the system (including any defined fixes). +See the examples/mdi/in.series.driver script as an example of this, +where LAMMPS is using the QM code to compute energy and forces for a +series of system configurations. In this use case *connect no* +is used along with the :doc:`mdi connect and exit ` command +to one-time initiate/terminate the connection outside the loop. + +The *elements* keyword allows specification of what element each +LAMMPS atom type corresponds to. This is specified by the atomic +number of the element, e.g. 13 for Al. An atomic number must be +specified for each of the ntypes LAMMPS atom types. Ntypes is +typically specified via the create_box command or in the data file +read by the read_data command. + +If this keyword is specified, then this fix will send the MDI +">ELEMENTS" command to the engine, to insure the two codes are +consistent in their definition of atomic species. If this keyword is +not specified, then this fix will send the MDI >TYPES command to the +engine. This is fine if both the LAMMPS driver and the MDI engine are +initialized so that the atom type values are consistent in both codes. + +---------- + +The following 3 example use cases are illustrated in the examples/mdi +directory. See its README file for more details. + +(1) To run an ab initio MD (AIMD) dynamics simulation, or an energy +minimization with QM forces, or a multi-replica NEB calculation, use +*add yes* and *every 1* (the defaults). This is so that every time +LAMMPS needs energy and forces, the QM code will be invoked. + +Both LAMMPS and the QM code should define the same system (simulation +box, atoms and their types) in their respective input scripts. Note +that on this scenario, it may not be necessary for LAMMPS to define a +pair style or use a neighbor list. + +LAMMPS will then perform the timestepping or minimization iterations +for the simulation. At the point in each timestep or iteration when +LAMMPS needs the force on each atom, it communicates with the engine +code. It sends the current simulation box size and shape (if they +change dynamically, e.g. during an NPT simulation), and the current +atom coordinates. The engine code computes quantum forces on each +atom and the total energy of the system and returns them to LAMMPS. + +Note that if the AIMD simulation is an NPT or NPH model, or the energy +minimization includes :doc:`fix box relax ` to +equilibrate the box size/shape, then LAMMPS computes a pressure. This +means the *virial* keyword should be set to *yes* so that the QM +contribution to the pressure can be included. + +(2) To run dynamics with a LAMMPS interatomic potential, and evaluate +the QM energy and forces once every 1000 steps, use *add no* and +*every 1000*. This could be useful for using an MD run to generate +randomized configurations which are then passed to the QM code to +produce training data for a machine learning potential. A :doc:`dump +custom ` command could be invoked every 1000 steps to dump the +atom coordinates and QM forces to a file. Likewise the QM energy and +virial could be output with the :doc:`thermo_style custom +` command. + +(3) To do a QM evaluation of energy and forces for a series of *N* +independent systems (simulation box and atoms), use *add no* and +*every 1*. Write a LAMMPS input script which loops over the *N* +systems. See the :doc:`Howto multiple ` doc page for +details on looping and removing old systems. The series of systems +could be initialized by reading them from data files with +:doc:`read_data ` commands. Or, for example, by using the +:doc:`lattice ` , :doc:`create_atoms `, +:doc:`delete_atoms `, and/or :doc:`displace_atoms +random ` commands to generate a series of different +systems. At the end of the loop perform :doc:`run 0 ` and +:doc:`write_dump ` commands to invoke the QM code and +output the QM energy and forces. As in (2) this be useful to produce +QM data for training a machine learning potential. + +---------- + +Restart, fix_modify, output, run start/stop, minimize info +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +No information about this fix is written to :doc:`binary restart files +`. + +The :doc:`fix_modify ` *energy* option is supported by +this fix to add the potential energy computed by the QM code to the +global potential energy of the system as part of :doc:`thermodynamic +output `. The default setting for this fix is +:doc:`fix_modify energy yes `, unless the *add* keyword is +set to *no*, in which case the default setting is *no*. + +The :doc:`fix_modify ` *virial* option is supported by +this fix to add the contribution computed by the QM code to the global +pressure of the system as part of :doc:`thermodynamic output +`. The default setting for this fix is :doc:`fix_modify +virial yes `, unless the *add* keyword is set to *no*, in +which case the default setting is *no*. + +This fix computes a global scalar which can be accessed by various +:doc:`output commands `. The scalar is the energy +returned by the QM code. The scalar value calculated by this fix is +"extensive". + +This fix also computes a global vector with of length 6 which contains +the symmetric virial tensor values returned by the QM code. It can +likewise be accessed by various :doc:`output commands `. + +The ordering of values in the symmetric virial tensor is as follows: +vxx, vyy, vzz, vxy, vxz, vyz. The values will be in pressure +:doc:`units `. + +This fix also computes a peratom array with 3 columns which contains +the peratom forces returned by the QM code. It can likewise be +accessed by various :doc:`output commands `. + +No parameter of this fix can be used with the *start/stop* keywords of +the :doc:`run ` command. + +Assuming the *add* keyword is set to *yes* (the default), the forces +computed by the QM code are used during an energy minimization, +invoked by the :doc:`minimize ` command. + +.. note:: + + If you want the potential energy associated with the QM forces to + be included in the total potential energy of the system (the + quantity being minimized), you MUST not disable the + :doc:`fix_modify ` *energy* option for this fix, which + means the *add* keyword should also be set to *yes* (the default). + + +Restrictions +"""""""""""" + +This command is part of the MDI package. It is only enabled if +LAMMPS was built with that package. See the :doc:`Build package +` page for more info. + +The QM code does not currently compute and return per-atom energy or +per-atom virial contributions. So they will not show up as part of +the calculations performed by the :doc:`compute pe/atom +` or :doc:`compute stress/atom ` +commands. + +To use LAMMPS as an MDI driver in conjunction with other MDI-enabled +codes (MD or QM codes), the :doc:`units ` command should be +used to specify *real* or *metal* units. This will ensure the correct +unit conversions between LAMMPS and MDI units. The other code will +also perform similar unit conversions into its preferred units. + +LAMMPS can also be used as an MDI driver in other unit choices it +supports, e.g. *lj*, but then no unit conversion is performed. + +Related commands +"""""""""""""""" + +:doc:`mdi plugin `, :doc:`mdi engine `, :doc:`fix mdi/qm + ` + +Default +""""""" + +The default for the optional keywords are virial = no and connect = +yes. diff --git a/src/MDI/fix_mdi_qmmm.cpp b/src/MDI/fix_mdi_qmmm.cpp index 537ecfcebd..431991429e 100644 --- a/src/MDI/fix_mdi_qmmm.cpp +++ b/src/MDI/fix_mdi_qmmm.cpp @@ -29,6 +29,7 @@ using namespace LAMMPS_NS; using namespace FixConst; enum { NATIVE, REAL, METAL }; // LAMMPS units which MDI supports +enum { DIRECT, POTENTIAL }; // mode of QMMM coupling #define MAXELEMENT 103 // used elsewhere in MDI package @@ -61,13 +62,19 @@ FixMDIQMMM::FixMDIQMMM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) if (role != MDI_DRIVER) error->all(FLERR, "Must invoke LAMMPS as an MDI driver to use fix mdi/qmmm"); + // mode arg + + if (strcmp(arg[3]),"direct" == 0) mode = DIRECT; + else if (strcmp(arg[3],"potential") == 0) mode = POTENTIAL; + error->all(FLERR,"Illegal fix mdi/qmmm command"); + // optional args virialflag = 0; connectflag = 1; elements = nullptr; - int iarg = 3; + int iarg = 4; while (iarg < narg) { if (strcmp(arg[iarg], "virial") == 0) { if (iarg + 2 > narg) error->all(FLERR, "Illegal fix mdi/qmmm command"); @@ -290,8 +297,10 @@ int FixMDIQMMM::setmask() int mask = 0; mask |= POST_NEIGHBOR; mask |= MIN_POST_NEIGHBOR; - mask |= PRE_FORCE; - mask |= MIN_PRE_FORCE; + if (mode == POTENTIAL) { + mask |= PRE_FORCE; + mask |= MIN_PRE_FORCE; + } mask |= POST_FORCE; mask |= MIN_POST_FORCE; return mask; @@ -389,13 +398,14 @@ void FixMDIQMMM::init() platform::walltime() - tstart); } - + // initial one-time MDI communication with engine // send natoms, atom types or elements, and simulation box to engine // confirm engine count of NATOMS is correct // this will trigger setup of a new system // subsequent calls in post_force() will be for same system until new init() + // NOTE: why is this done here reallocate(); int natoms_exists; @@ -422,6 +432,13 @@ void FixMDIQMMM::init() error->all(FLERR, "MDI: Engine has wrong atom count and does not support >NATOMS command"); } + if (mode == DIRECT) { + ierr = MDI_Send_command(">NLATTICE", mdicomm); + if (ierr) error->all(FLERR, "MDI: >NLATTICE command"); + ierr = MDI_Send(&nmm, 1, MDI_INT, mdicomm); + if (ierr) error->all(FLERR, "MDI: >NLATTICE data"); + } + int elements_exists; int types_exists; ierr = MDI_Check_command_exists("@DEFAULT", ">ELEMENTS", mdicomm, &elements_exists); @@ -467,11 +484,15 @@ void FixMDIQMMM::post_neighbor() set_qm2owned(); } -/* ---------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + only invoked in POTENTIAL mode + calculates Coulomb potential for each QM atom + invokes the QM code +---------------------------------------------------------------------- */ void FixMDIQMMM::pre_force(int vflag) { - int ilocal,jlocal; + int ilocal,jlocal; double rsq; double delta[3]; @@ -656,9 +677,79 @@ void FixMDIQMMM::pre_force(int vflag) update->minimize->force_clear(); } -/* ---------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + different methods invoked for DIRECT vs POTENTIAL mode +---------------------------------------------------------------------- */ void FixMDIQMMM::post_force(int vflag) +{ + if (mode == DIRECT) post_force_direct(vflag); + else if (mode = POTENTIAL post_force_potential(vflag); +} + +/* ---------------------------------------------------------------------- */ + +void FixMDIQMMM::post_force_direct(int vflag) +{ + if (comm->me == 0) utils::logmesg(lmp, "Calling QM code ...\n"); + + MPI_Barrier(world); + double tstart = platform::walltime(); + + // MDI calls + + // send current coords of QM atoms to MDI engine + + int ierr = MDI_Send_command(">COORDS", mdicomm); + if (ierr) error->all(FLERR, "MDI: >COORDS command"); + ierr = MDI_Send(&xqm[0][0], 3 * nqm, MDI_DOUBLE, mdicomm); + if (ierr) error->all(FLERR, "MDI: >COORDS data"); + + // send current coords of MM atoms to MDI engine + + int ierr = MDI_Send_command(">CLATTICE", mdicomm); + if (ierr) error->all(FLERR, "MDI: >CLATTICE command"); + ierr = MDI_Send(&xmm[0][0], 3 * nmm, MDI_DOUBLE, mdicomm); + if (ierr) error->all(FLERR, "MDI: >CLATTICE data"); + + // send charges on MM atoms to MDI engine + + int ierr = MDI_Send_command(">LATTICE", mdicomm); + if (ierr) error->all(FLERR, "MDI: >LATTICE command"); + ierr = MDI_Send(&qmm[0][0], nmm, MDI_DOUBLE, mdicomm); + if (ierr) error->all(FLERR, "MDI: >LATTICE data"); + + // request QM potential energy from MDI engine + // this triggers engine to perform QM calculation + // qm_energy = fix output for global QM energy + + ierr = MDI_Send_command("all(FLERR, "MDI: all(FLERR, "MDI: all(FLERR, "MDI: all(FLERR, "MDI: me == 0) + utils::logmesg(lmp, " time = {:.3f} seconds\n", + platform::walltime() - tstart); + +} + +/* ---------------------------------------------------------------------- */ + +void FixMDIQMMM::post_force_potential(int vflag) { // int ilocal,jlocal; // double rsq,r2inv,rinv,fpair; @@ -757,7 +848,10 @@ void FixMDIQMMM::post_force(int vflag) //c_pe->addstep(update->ntimestep+1); } -/* ---------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + NOTE: remove this method, do it via fix mdi/qm ? + or is it here for debugging ? +---------------------------------------------------------------------- */ void FixMDIQMMM::post_force_aimd(int vflag) { diff --git a/src/MDI/fix_mdi_qmmm.h b/src/MDI/fix_mdi_qmmm.h index f1c447a9d0..f3902f121b 100644 --- a/src/MDI/fix_mdi_qmmm.h +++ b/src/MDI/fix_mdi_qmmm.h @@ -114,6 +114,8 @@ class FixMDIQMMM : public Fix { void send_box(); void unit_conversions(); + void post_force_direct(int); + void post_force_potential(int); void post_force_aimd(int); }; From 2695ecbc079eb7daa53ef8d54795b2fa4b68e2ba Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 20 Jan 2023 14:22:20 -0700 Subject: [PATCH 058/448] updates to fix mdi/qmmm --- src/MDI/fix_mdi_qmmm.cpp | 72 ++++++++++++++++++++++++++++++++++------ src/MDI/fix_mdi_qmmm.h | 11 ++++-- 2 files changed, 71 insertions(+), 12 deletions(-) diff --git a/src/MDI/fix_mdi_qmmm.cpp b/src/MDI/fix_mdi_qmmm.cpp index 431991429e..ffce0f2f28 100644 --- a/src/MDI/fix_mdi_qmmm.cpp +++ b/src/MDI/fix_mdi_qmmm.cpp @@ -11,6 +11,53 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + +QMMM with LAMMPS as MDI driver for MM and a quantum code as MDI engine for QM +specified group = QM atoms, remaining atoms are MM atoms +two modes for QMMM coupling: DIRECT and POTENTIAL + +-- DIRECT mode: + +charge on all QM atoms must be zero +QM atoms have no bonds between them + +post_force: + MDI send QM coords via >COORDS + MDI send MM coords, MM charges via >CLATTICE, >LATTICE + invoke the QM code + MDI recv QM energy via COORDS, >POTENTIAL_AT_NUCLEI + invoke the QM code + MDI recv QM energy, forces, charges via all(FLERR,"Illegal fix mdi/qmmm command"); @@ -432,13 +479,16 @@ void FixMDIQMMM::init() error->all(FLERR, "MDI: Engine has wrong atom count and does not support >NATOMS command"); } + /* if (mode == DIRECT) { ierr = MDI_Send_command(">NLATTICE", mdicomm); if (ierr) error->all(FLERR, "MDI: >NLATTICE command"); ierr = MDI_Send(&nmm, 1, MDI_INT, mdicomm); if (ierr) error->all(FLERR, "MDI: >NLATTICE data"); } - + */ + + /* int elements_exists; int types_exists; ierr = MDI_Check_command_exists("@DEFAULT", ">ELEMENTS", mdicomm, &elements_exists); @@ -454,6 +504,7 @@ void FixMDIQMMM::init() else if (types_exists) send_types(); send_box(); + */ } /* ---------------------------------------------------------------------- */ @@ -609,11 +660,12 @@ void FixMDIQMMM::pre_force(int vflag) // send Coulomb potential of QM atoms to MDI engine - ierr = MDI_Send_command(">QPOT", mdicomm); - if (ierr) error->all(FLERR, "MDI: >QPOT command"); + ierr = MDI_Send_command(">POTENTIAL_AT_NUCLEI", mdicomm); + if (ierr) error->all(FLERR, "MDI: >POTENTIAL_AT_NUCLEI command"); ierr = MDI_Send(qpotential, nqm, MDI_DOUBLE, mdicomm); - if (ierr) error->all(FLERR, "MDI: >QPOT data"); + if (ierr) error->all(FLERR, "MDI: >POTENTIAL_AT_NUCLEI data"); + /* // request QM potential energy from MDI engine // this triggers engine to perform QM calculation // qm_energy = fix output for global QM energy @@ -631,7 +683,7 @@ void FixMDIQMMM::pre_force(int vflag) ierr = MDI_Recv(&fqm[0][0], 3 * nqm, MDI_DOUBLE, mdicomm); if (ierr) error->all(FLERR, "MDI: CLATTICE", mdicomm); + ierr = MDI_Send_command(">CLATTICE", mdicomm); if (ierr) error->all(FLERR, "MDI: >CLATTICE command"); ierr = MDI_Send(&xmm[0][0], 3 * nmm, MDI_DOUBLE, mdicomm); if (ierr) error->all(FLERR, "MDI: >CLATTICE data"); // send charges on MM atoms to MDI engine - int ierr = MDI_Send_command(">LATTICE", mdicomm); + ierr = MDI_Send_command(">LATTICE", mdicomm); if (ierr) error->all(FLERR, "MDI: >LATTICE command"); - ierr = MDI_Send(&qmm[0][0], nmm, MDI_DOUBLE, mdicomm); + ierr = MDI_Send(qmm, nmm, MDI_DOUBLE, mdicomm); if (ierr) error->all(FLERR, "MDI: >LATTICE data"); // request QM potential energy from MDI engine diff --git a/src/MDI/fix_mdi_qmmm.h b/src/MDI/fix_mdi_qmmm.h index f3902f121b..d75352474e 100644 --- a/src/MDI/fix_mdi_qmmm.h +++ b/src/MDI/fix_mdi_qmmm.h @@ -58,6 +58,7 @@ class FixMDIQMMM : public Fix { int maxlocal; int sumflag; int *elements; + int mode; // DIRECT or POTENTIAL int qflag; // 1 if per-atom charge defined, 0 if not int qm_init; // 1 if QM code and qqm are initialized, 0 if not @@ -69,8 +70,8 @@ class FixMDIQMMM : public Fix { MDI_Comm mdicomm; class Pair *pair_coul; // ptr to instance of pair coul variant - - // data for QMMM + + // data for QM portion int nqm; // # of QM atoms tagint *qmIDs; // IDs of QM atoms in ascending order @@ -88,6 +89,12 @@ class FixMDIQMMM : public Fix { double *ecoul; // peratom Coulombic energy from LAMMPS int ncoulmax; // length of ecoul + // data for MM portion + + int nmm; // # of MM atoms + double **xmm; // MM coords + double *qmm; // MM charges + // unit conversion factors double lmp2mdi_length, mdi2lmp_length; From 07c17d4e635354affe25a249d75102ed62e9ce62 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 20 Jan 2023 15:49:29 -0700 Subject: [PATCH 059/448] debugging on coupled mode --- src/MDI/fix_mdi_qmmm.cpp | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/MDI/fix_mdi_qmmm.cpp b/src/MDI/fix_mdi_qmmm.cpp index ffce0f2f28..24b1bfb3d4 100644 --- a/src/MDI/fix_mdi_qmmm.cpp +++ b/src/MDI/fix_mdi_qmmm.cpp @@ -113,7 +113,7 @@ FixMDIQMMM::FixMDIQMMM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) if (strcmp(arg[3],"direct") == 0) mode = DIRECT; else if (strcmp(arg[3],"potential") == 0) mode = POTENTIAL; - error->all(FLERR,"Illegal fix mdi/qmmm command"); + else error->all(FLERR,"Illegal fix mdi/qmmm command"); // optional args @@ -452,7 +452,7 @@ void FixMDIQMMM::init() // this will trigger setup of a new system // subsequent calls in post_force() will be for same system until new init() - // NOTE: why is this done here + // NOTE: why is reallocate done here reallocate(); int natoms_exists; @@ -463,8 +463,7 @@ void FixMDIQMMM::init() if (natoms_exists) { ierr = MDI_Send_command(">NATOMS", mdicomm); if (ierr) error->all(FLERR, "MDI: >NATOMS command"); - int n = static_cast(atom->natoms); - ierr = MDI_Send(&n, 1, MDI_INT, mdicomm); + ierr = MDI_Send(&nqm, 1, MDI_INT, mdicomm); if (ierr) error->all(FLERR, "MDI: >NATOMS data"); } else { @@ -475,7 +474,7 @@ void FixMDIQMMM::init() if (ierr) error->all(FLERR, "MDI: natoms) + if (n != nqm) error->all(FLERR, "MDI: Engine has wrong atom count and does not support >NATOMS command"); } @@ -650,14 +649,18 @@ void FixMDIQMMM::pre_force(int vflag) double tstart = platform::walltime(); // MDI calls + + int ierr; // send current coords of QM atoms to MDI engine - int ierr = MDI_Send_command(">COORDS", mdicomm); + /* + ierr = MDI_Send_command(">COORDS", mdicomm); if (ierr) error->all(FLERR, "MDI: >COORDS command"); ierr = MDI_Send(&xqm[0][0], 3 * nqm, MDI_DOUBLE, mdicomm); if (ierr) error->all(FLERR, "MDI: >COORDS data"); - + */ + // send Coulomb potential of QM atoms to MDI engine ierr = MDI_Send_command(">POTENTIAL_AT_NUCLEI", mdicomm); From bc567ac4068be964e7a6884b9ad9fa87e1bc8566 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 25 Jan 2023 16:23:17 -0700 Subject: [PATCH 060/448] added more MM suppport for direct method --- src/MDI/fix_mdi_qmmm.cpp | 809 +++++++++++++++++++-------------------- src/MDI/fix_mdi_qmmm.h | 63 +-- src/MDI/mdi_engine.cpp | 2 +- 3 files changed, 431 insertions(+), 443 deletions(-) diff --git a/src/MDI/fix_mdi_qmmm.cpp b/src/MDI/fix_mdi_qmmm.cpp index 24b1bfb3d4..9739d657bc 100644 --- a/src/MDI/fix_mdi_qmmm.cpp +++ b/src/MDI/fix_mdi_qmmm.cpp @@ -172,105 +172,52 @@ FixMDIQMMM::FixMDIQMMM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) comm_forward = 1; comm_reverse = 1; - // qflag = 1 if system stores per-atom charge, else 0 - - qflag = atom->q_flag; - // nqm = size of fix group = total # of QM atoms - // if all atoms are QM, mode = AIMD - // if only some atoms are QM, mode = QMMM - // require 3*nqm be a small INT, so can MPI_Allreduce xqm + // error if nqm == natoms, should use fix mdi/qm instead + // require 3*nqm be a small INT, so can MPI_Allreduce xqm + // nmm = total # of MM atoms = all non-QM atoms + nprocs = comm->nprocs; bigint ngroup = group->count(igroup); + if (ngroup == 0) error->all(FLERR,"Fix mdi/qmmm has no atoms in quantum group"); + if (ngroup == atom->natoms) error->all(FLERR,"Fix mdi/qmmm has all atoms in quantum group"); if (3*ngroup > MAXSMALLINT) error->all(FLERR,"Fix mdi/qmmm quantum group has too many atoms"); nqm = ngroup; - + nmm = atom->natoms = nqm; + // QM atom memory memory->create(qmIDs,nqm,"mdi/qmmm:qmIDs"); memory->create(xqm,nqm,3,"mdi/qmmm:xqm"); memory->create(fqm,nqm,3,"mdi/qmmm:fqm"); memory->create(qqm,nqm,"mdi/qmmm:qqm"); - memory->create(tqm,nqm,"mdi/qmmm:tqm"); + memory->create(eqm,nqm,"mdi/qmmm:eqm"); memory->create(qpotential,nqm,"mdi/qmmm:qpotential"); memory->create(xqm_mine,nqm,3,"mdi/qmmm:xqm_mine"); memory->create(qqm_mine,nqm,"mdi/qmmm:qqm_mine"); - memory->create(tqm_mine,nqm,"mdi/qmmm:tqm_mine"); + memory->create(eqm_mine,nqm,"mdi/qmmm:eqm_mine"); memory->create(qpotential_mine,nqm,"mdi/qmmm:qpotential_mine"); memory->create(qm2owned,nqm,"mdi/qmmm:qm2owned"); - // for QMMM, set qmIDs = IDs of QM atoms in ascending order + // MM atom memory - tagint *tag = atom->tag; - int *mask = atom->mask; - int nlocal = atom->nlocal; - - // qmIDs_mine = list of nqm_mine QM atom IDs I own - - int nqm_mine = 0; - for (int i = 0; i < nlocal; i++) - if (mask[i] & groupbit) nqm_mine++; + memory->create(mmIDs,nmm,"mdi/qmmm:mmIDs"); + memory->create(xmm,nmm,3,"mdi/qmmm:xmm"); + memory->create(fmm,nmm,3,"mdi/qmmm:fmm"); + memory->create(qmm,nmm,"mdi/qmmm:qmm"); + memory->create(emm,nmm,"mdi/qmmm:emm"); + memory->create(xmm_mine,nmm,3,"mdi/qmmm:xmm_mine"); + memory->create(qmm_mine,nmm,"mdi/qmmm:qmm_mine"); + memory->create(emm_mine,nmm,"mdi/qmmm:emm_mine"); + memory->create(mm2owned,nmm,"mdi/qmmm:mm2owned"); - tagint *qmIDs_mine; - memory->create(qmIDs_mine,nqm_mine,"nwchem:qmIDs_mine"); + // create ordered list of QM and MM atoms IDs + + create_qm_list(); + create_mm_list(); - nqm_mine = 0; - for (int i = 0; i < nlocal; i++) - if (mask[i] & groupbit) qmIDs_mine[nqm_mine++] = tag[i]; - - // allgather of qmIDs_mine into qmIDs - - int nprocs = comm->nprocs; - - int *recvcounts,*displs,*listall; - memory->create(recvcounts,nprocs,"nwchem:recvcounts"); - memory->create(displs,nprocs,"nwchem:displs"); - - MPI_Allgather(&nqm_mine,1,MPI_INT,recvcounts,1,MPI_INT,world); - - displs[0] = 0; - for (int iproc = 1; iproc < nprocs; iproc++) - displs[iproc] = displs[iproc-1] + recvcounts[iproc-1]; - - MPI_Allgatherv(qmIDs_mine,nqm_mine,MPI_LMP_TAGINT,qmIDs,recvcounts,displs, - MPI_LMP_TAGINT,world); - - memory->destroy(qmIDs_mine); - memory->destroy(recvcounts); - memory->destroy(displs); - - // sort qmIDs via merge sort - - int *order; - tagint *qmIDs_sort; - - memory->create(order,nqm,"nwchem:order"); - memory->create(qmIDs_sort,nqm,"nwchem:qmIDs_sort"); - - for (int i = 0; i < nqm; i++) { - qmIDs_sort[i] = qmIDs[i]; - order[i] = i; - } - - utils::merge_sort(order,nqm,(void *) qmIDs_sort,compare_IDs); - - int j; - for (int i = 0; i < nqm; i++) { - j = order[i]; - qmIDs_sort[i] = qmIDs[j]; - } - - memcpy(qmIDs,qmIDs_sort,nqm*sizeof(tagint)); - - memory->destroy(order); - memory->destroy(qmIDs_sort); - - // flag for one-time init of QM code and qqm - - qm_init = 0; - // peratom Coulombic energy ecoul = nullptr; @@ -280,6 +227,7 @@ FixMDIQMMM::FixMDIQMMM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) // cannot do here for a plugin library, b/c mdi plugin command comes later mdicomm = MDI_COMM_NULL; + first_send = 1; // set MDI unit conversion factors @@ -292,8 +240,6 @@ FixMDIQMMM::FixMDIQMMM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) unit_conversions(); - nprocs = comm->nprocs; - // initialize outputs qm_energy = 0.0; @@ -327,13 +273,24 @@ FixMDIQMMM::~FixMDIQMMM() memory->destroy(xqm); memory->destroy(fqm); memory->destroy(qqm); - memory->destroy(tqm); + memory->destroy(eqm); memory->destroy(qpotential); memory->destroy(xqm_mine); memory->destroy(qqm_mine); - memory->destroy(tqm_mine); + memory->destroy(eqm_mine); memory->destroy(qpotential_mine); memory->destroy(qm2owned); + + memory->destroy(mmIDs); + memory->destroy(xmm); + memory->destroy(fmm); + memory->destroy(qmm); + memory->destroy(emm); + memory->destroy(xmm_mine); + memory->destroy(qmm_mine); + memory->destroy(emm_mine); + memory->destroy(mm2owned); + memory->destroy(ecoul); } @@ -399,111 +356,67 @@ void FixMDIQMMM::init() } } - // QMMM requires long-range Coulombics for Coulomb potential input to NWChem + // require per-atom charge for mode = either DIRECT or POTENTIAL + // POTENTIAL mode requires a pair style that calculates only Coulombic interactions + // can also be in conjunction with KSpace solver - if (!qflag) - error->all(FLERR,"Fix nwchem QMMM mode requires per-atom charge"); - - if (!force->pair) - error->all(FLERR,"Fix nwchem QMMM mode requires a pair style"); + if (!atom->q_flag) error->all(FLERR,"Fix mdi/qmmm requires per-atom charge"); - // must be a pair style that calculates only Coulombic interactions - // can be in conjunction with KSpace solver as well - - pair_coul = force->pair_match("coul/cut",1,0); - if (!pair_coul) pair_coul = force->pair_match("coul/long",1,0); - if (!pair_coul) pair_coul = force->pair_match("coul/msm",1,0); - if (!pair_coul) - error->all(FLERR, - "Fix nwchem QMMM mode requires Coulomb-only pair sub-style"); - - // one-time initialization of QM code with its input file - // also one-time setup of qqm = atom charges for all QM atoms - // later calls to QM change charges for QM atoms - // setup of xqm needed for nwchem_initialize(); - - if (!qm_init) { - qm_init = 1; - set_qm2owned(); - set_qqm(); - set_tqm(); - set_xqm(); - //if (comm->me == 0) qm_file(); - - if (comm->me == 0) - utils::logmesg(lmp, "Calling pspw_input() in NWChem ...\n"); - - MPI_Barrier(world); - double tstart = platform::walltime(); - - //c_lammps_pspw_input_filename(world,nw_input,nw_output); - //dummy_pspw_input(world,filename); - - MPI_Barrier(world); - if (comm->me == 0) - utils::logmesg(lmp, " time = {:.3f} seconds\n", - platform::walltime() - tstart); + if (mode == POTENTIAL) { + if (!force->pair) error->all(FLERR,"Fix mdi/qmmm potential requires a pair style"); + pair_coul = force->pair_match("coul/cut",1,0); + if (!pair_coul) pair_coul = force->pair_match("coul/long",1,0); + if (!pair_coul) pair_coul = force->pair_match("coul/msm",1,0); + if (!pair_coul) error->all(FLERR,"Fix mdi/qmmm potential requires Coulomb-only pair sub-style"); } - // initial one-time MDI communication with engine + // send info to QM code which is (possibly) only needed once + // box size (can be resent) + // DIRECT and POTENTIAL: number of QM atoms, QM elements + // DIRECT only: number of MM atoms, MM elements, MM charges + // NOTE: test if QM code alreads has NATOMS, which implies it set up itself ? - // send natoms, atom types or elements, and simulation box to engine - // confirm engine count of NATOMS is correct - // this will trigger setup of a new system - // subsequent calls in post_force() will be for same system until new init() + if (first_send) { + first_send = 0; - // NOTE: why is reallocate done here - reallocate(); + send_box(); - int natoms_exists; - int ierr = MDI_Check_command_exists("@DEFAULT", ">NATOMS", mdicomm, &natoms_exists); - if (ierr) error->all(FLERR, "MDI: >NATOMS command check"); - MPI_Bcast(&natoms_exists, 1, MPI_INT, 0, world); + int ierr; - if (natoms_exists) { ierr = MDI_Send_command(">NATOMS", mdicomm); if (ierr) error->all(FLERR, "MDI: >NATOMS command"); ierr = MDI_Send(&nqm, 1, MDI_INT, mdicomm); if (ierr) error->all(FLERR, "MDI: >NATOMS data"); - } else { - ierr = MDI_Send_command("all(FLERR, "MDI: all(FLERR, "MDI: ELEMENTS", mdicomm); + if (ierr) error->all(FLERR, "MDI: >ELEMENTS command"); + ierr = MDI_Send(eqm, nqm, MDI_INT, mdicomm); + if (ierr) error->all(FLERR, "MDI: >ELEMENTS data"); - if (n != nqm) - error->all(FLERR, "MDI: Engine has wrong atom count and does not support >NATOMS command"); + if (mode == DIRECT) { + ierr = MDI_Send_command(">NLATTICE", mdicomm); + if (ierr) error->all(FLERR, "MDI: >NLATTICE command"); + ierr = MDI_Send(&nmm, 1, MDI_DOUBLE, mdicomm); + if (ierr) error->all(FLERR, "MDI: >NLATTICE data"); + + set_mm2owned(); + set_emm(); + + ierr = MDI_Send_command(">LATTICE_ELEMENTS", mdicomm); + if (ierr) error->all(FLERR, "MDI: >LATTICE_ELEMENTS command"); + ierr = MDI_Send(&emm, nmm, MDI_INT, mdicomm); + if (ierr) error->all(FLERR, "MDI: >LATTICE_ELEMENTS data"); + + set_qmm(); + ierr = MDI_Send_command(">LATTICE", mdicomm); + if (ierr) error->all(FLERR, "MDI: >LATTICE command"); + ierr = MDI_Send(&qmm, nmm, MDI_DOUBLE, mdicomm); + if (ierr) error->all(FLERR, "MDI: >LATTICE data"); + } } - - /* - if (mode == DIRECT) { - ierr = MDI_Send_command(">NLATTICE", mdicomm); - if (ierr) error->all(FLERR, "MDI: >NLATTICE command"); - ierr = MDI_Send(&nmm, 1, MDI_INT, mdicomm); - if (ierr) error->all(FLERR, "MDI: >NLATTICE data"); - } - */ - - /* - int elements_exists; - int types_exists; - ierr = MDI_Check_command_exists("@DEFAULT", ">ELEMENTS", mdicomm, &elements_exists); - if (ierr) error->all(FLERR, "MDI: >ELEMENTS command check"); - MPI_Bcast(&elements_exists, 1, MPI_INT, 0, world); - - ierr = MDI_Check_command_exists("@DEFAULT", ">TYPES", mdicomm, &types_exists); - if (ierr) error->all(FLERR, "MDI: >TYPES command check"); - MPI_Bcast(&types_exists, 1, MPI_INT, 0, world); - - if (elements && elements_exists) - send_elements(); - else if (types_exists) - send_types(); - send_box(); - */ } /* ---------------------------------------------------------------------- */ @@ -532,12 +445,15 @@ void FixMDIQMMM::setup_pre_force(int vflag) void FixMDIQMMM::post_neighbor() { set_qm2owned(); + set_mm2owned(); } /* ---------------------------------------------------------------------- - only invoked in POTENTIAL mode - calculates Coulomb potential for each QM atom - invokes the QM code + only called in POTENTIAL mode + (1) calculate Coulomb potential for each QM atom + (2) send info on QM atoms to QM code + (3) invoke the QM solver + (4) receive results from QM code ---------------------------------------------------------------------- */ void FixMDIQMMM::pre_force(int vflag) @@ -564,7 +480,7 @@ void FixMDIQMMM::pre_force(int vflag) if (atom->nmax > ncoulmax) { memory->destroy(ecoul); ncoulmax = atom->nmax; - memory->create(ecoul,ncoulmax,"nwchem:ecoul"); + memory->create(ecoul,ncoulmax,"mdi/qmmm:ecoul"); } // ecoul = per-atom energy for my owned atoms @@ -584,7 +500,7 @@ void FixMDIQMMM::pre_force(int vflag) ecoul[i] += eatom_kspace[i]; } - // setup 2 QM inputs: xqm and qpotential + // setup QM inputs: xqm and qpotential // xqm = atom coords, mapped into periodic box // qpotential[i] = Coulomb potential for each atom // 2 * (eatom[i] from pair_coul + kspace) / Qi @@ -634,32 +550,30 @@ void FixMDIQMMM::pre_force(int vflag) qpotential[i] *= lmp2mdi_energy; } - // call to MDI engine with QM atom info + // send info to MDI engine with QM atom info + // first request for results triggers QM calculation // QM atoms must be in order of ascending atom ID // inputs: // xqm = atom coords // qpotential = vector of zeroes for AIMD // outputs: - // fqm,qqm = forces & charges - // qm_energy = QM energy of entire system - - if (comm->me == 0) utils::logmesg(lmp, "Calling QM code ...\n"); + // fqm = forces on QM atoms + // qqm = new charges on QM atoms + // qm_energy = QM contribution to energy of entire system + + if (comm->me == 0) utils::logmesg(lmp, "Invoking QM code ...\n"); MPI_Barrier(world); double tstart = platform::walltime(); - // MDI calls - int ierr; // send current coords of QM atoms to MDI engine - /* ierr = MDI_Send_command(">COORDS", mdicomm); if (ierr) error->all(FLERR, "MDI: >COORDS command"); ierr = MDI_Send(&xqm[0][0], 3 * nqm, MDI_DOUBLE, mdicomm); if (ierr) error->all(FLERR, "MDI: >COORDS data"); - */ // send Coulomb potential of QM atoms to MDI engine @@ -668,7 +582,6 @@ void FixMDIQMMM::pre_force(int vflag) ierr = MDI_Send(qpotential, nqm, MDI_DOUBLE, mdicomm); if (ierr) error->all(FLERR, "MDI: >POTENTIAL_AT_NUCLEI data"); - /* // request QM potential energy from MDI engine // this triggers engine to perform QM calculation // qm_energy = fix output for global QM energy @@ -686,7 +599,7 @@ void FixMDIQMMM::pre_force(int vflag) ierr = MDI_Recv(&fqm[0][0], 3 * nqm, MDI_DOUBLE, mdicomm); if (ierr) error->all(FLERR, "MDI: whichflag == 1) update->integrate->force_clear(); @@ -733,7 +646,7 @@ void FixMDIQMMM::pre_force(int vflag) } /* ---------------------------------------------------------------------- - different methods invoked for DIRECT vs POTENTIAL mode + different methods needed for DIRECT vs POTENTIAL mode ---------------------------------------------------------------------- */ void FixMDIQMMM::post_force(int vflag) @@ -742,20 +655,50 @@ void FixMDIQMMM::post_force(int vflag) else if (mode == POTENTIAL) post_force_potential(vflag); } -/* ---------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + only called in DIRECT mode + (1) send info on QM atoms to QM code + (2) invoke the QM solver + (3) receive results from QM code +---------------------------------------------------------------------- */ void FixMDIQMMM::post_force_direct(int vflag) { - if (comm->me == 0) utils::logmesg(lmp, "Calling QM code ...\n"); + // setup QM inputs: + // xqm = atom coords + // setup MM inputs: + // xmm = atom coords + // qmm = charges on MM atoms + + set_xqm(); + set_xmm(); + set_qmm(); + + // send info to MDI engine with QM and MM atom info + // first request for results triggers QM calculation + // QM and MM atoms must be in order of ascending atom ID + // inputs: + // xqm = QM atom coords, mapped into periodic box + // xmm = MM atom coords, mapped into periodic box + // qmm = MM atom charges + // outputs: + // qm_energy = QM contribution to energy of entire system + // fqm = forces on QM atoms + // fmm = forces on MM atoms + + if (comm->me == 0) utils::logmesg(lmp, "Invoking QM code ...\n"); MPI_Barrier(world); double tstart = platform::walltime(); // MDI calls + // NOTE: add send_box() call when needed for NPT + + int ierr; // send current coords of QM atoms to MDI engine - int ierr = MDI_Send_command(">COORDS", mdicomm); + ierr = MDI_Send_command(">COORDS", mdicomm); if (ierr) error->all(FLERR, "MDI: >COORDS command"); ierr = MDI_Send(&xqm[0][0], 3 * nqm, MDI_DOUBLE, mdicomm); if (ierr) error->all(FLERR, "MDI: >COORDS data"); @@ -767,13 +710,6 @@ void FixMDIQMMM::post_force_direct(int vflag) ierr = MDI_Send(&xmm[0][0], 3 * nmm, MDI_DOUBLE, mdicomm); if (ierr) error->all(FLERR, "MDI: >CLATTICE data"); - // send charges on MM atoms to MDI engine - - ierr = MDI_Send_command(">LATTICE", mdicomm); - if (ierr) error->all(FLERR, "MDI: >LATTICE command"); - ierr = MDI_Send(qmm, nmm, MDI_DOUBLE, mdicomm); - if (ierr) error->all(FLERR, "MDI: >LATTICE data"); - // request QM potential energy from MDI engine // this triggers engine to perform QM calculation // qm_energy = fix output for global QM energy @@ -785,7 +721,6 @@ void FixMDIQMMM::post_force_direct(int vflag) MPI_Bcast(&qm_energy, 1, MPI_DOUBLE, 0, world); // request forces on QM atoms from MDI engine - // NOTE: will this be forces on all atoms in DIRECT mode ? ierr = MDI_Send_command("all(FLERR, "MDI: all(FLERR, "MDI: all(FLERR, "MDI: all(FLERR, "MDI: f; + int ilocal; + + for (int i = 0; i < nqm; i++) { + ilocal = qm2owned[i]; + if (ilocal >= 0) { + f[ilocal][0] += fqm[i][0]; + f[ilocal][1] += fqm[i][1]; + f[ilocal][2] += fqm[i][2]; + } + } + + for (int i = 0; i < nmm; i++) { + ilocal = mm2owned[i]; + if (ilocal >= 0) { + f[ilocal][0] += fmm[i][0]; + f[ilocal][1] += fmm[i][1]; + f[ilocal][2] += fmm[i][2]; + } + } } -/* ---------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + only called in POTENTIAL mode + add QM forces to QM atoms + called after LAMMPS re-computes all MM forces with new QM charges +---------------------------------------------------------------------- */ void FixMDIQMMM::post_force_potential(int vflag) { @@ -817,11 +802,10 @@ void FixMDIQMMM::post_force_potential(int vflag) // subtract force only from owned atoms // subtract half or all energy from qmenergy // this effectively subtract energy from total = pair + kspace + fix - // use xqm & qqm set/computed in pre_force_qmmm() for all QM atoms - - // NOTE: no longer needed - // NWChem now subtracts QM/QM contributions from its returned energy and forces + // NOTE: some codes like NWChem may perform this operation themselves + // need to have a fix mdi/qmmm option for this, or different mode ? + /* double **x = atom->x; double **f = atom->f; @@ -879,7 +863,7 @@ void FixMDIQMMM::post_force_potential(int vflag) qmenergy -= eqm; */ - // add NWChem QM forces to owned QM atoms + // add previously requested QM forces to owned QM atoms // do this now, after LAMMPS forces have been re-computed with new QM charges double **f = atom->f; @@ -900,134 +884,7 @@ void FixMDIQMMM::post_force_potential(int vflag) // only if needed for this fix to calc per-atom forces // or needed for this fix to output global (or per-atom) energy - //c_pe->addstep(update->ntimestep+1); -} - -/* ---------------------------------------------------------------------- - NOTE: remove this method, do it via fix mdi/qm ? - or is it here for debugging ? ----------------------------------------------------------------------- */ - -void FixMDIQMMM::post_force_aimd(int vflag) -{ - int index, ierr; - - // skip if timestep is not a multiple of every - - //if (update->ntimestep % every) return; - - // reallocate peratom storage if necessary, both natoms and nlocal - - reallocate(); - - // if simulation box dynamically changes, send current box to MDI engine - - if (domain->box_change_size || domain->box_change_shape) send_box(); - - // gather all coords, ordered by atomID - - memset(buf3, 0, 3 * atom->natoms * sizeof(double)); - - double **x = atom->x; - tagint *tag = atom->tag; - int nlocal = atom->nlocal; - - for (int i = 0; i < nlocal; i++) { - index = static_cast(tag[i]) - 1; - buf3[3 * index + 0] = x[i][0] * lmp2mdi_length; - buf3[3 * index + 1] = x[i][1] * lmp2mdi_length; - buf3[3 * index + 2] = x[i][2] * lmp2mdi_length; - } - - int n = static_cast(atom->natoms); - MPI_Reduce(buf3, buf3all, 3 * n, MPI_DOUBLE, MPI_SUM, 0, world); - - // send current coords to MDI engine - - ierr = MDI_Send_command(">COORDS", mdicomm); - if (ierr) error->all(FLERR, "MDI: >COORDS command"); - ierr = MDI_Send(buf3all, 3 * atom->natoms, MDI_DOUBLE, mdicomm); - if (ierr) error->all(FLERR, "MDI: >COORDS data"); - - // request potential energy from MDI engine - // this triggers engine to perform QM calculation - // qm_energy = fix output for global QM energy - - ierr = MDI_Send_command("all(FLERR, "MDI: all(FLERR, "MDI: all(FLERR, "MDI: natoms, MDI_DOUBLE, mdicomm); - if (ierr) error->all(FLERR, "MDI: (tag[i]) - 1; - fqm[i][0] = buf3[3 * index + 0] * mdi2lmp_force; - fqm[i][1] = buf3[3 * index + 1] * mdi2lmp_force; - fqm[i][2] = buf3[3 * index + 2] * mdi2lmp_force; - } - - // optionally add forces to owned atoms - // use atomID of local atoms to index into ordered buf3 - - /* - if (addflag) { - double **f = atom->f; - for (int i = 0; i < nlocal; i++) { - index = static_cast(tag[i]) - 1; - f[i][0] += buf3[3 * index + 0] * mdi2lmp_force; - f[i][1] += buf3[3 * index + 1] * mdi2lmp_force; - f[i][2] += buf3[3 * index + 2] * mdi2lmp_force; - } - } - */ - - // optionally request stress tensor from MDI engine, convert to 6-value virial - // MDI defines virial tensor as intensive (divided by volume), LAMMPS does not - // qm_virial = fix output for global QM virial - - if (virialflag) { - ierr = MDI_Send_command("all(FLERR, "MDI: all(FLERR, "MDI: virial - // multiply by volume to make it extensive - // divide by nprocs so each proc stores a portion - // this is b/c ComputePressure expects that as input from a fix - // it will do an MPI_Allreduce and divide by volume - - /* - if (virialflag && addflag) { - double volume; - if (domain->dimension == 2) - volume = domain->xprd * domain->yprd; - else if (domain->dimension == 3) - volume = domain->xprd * domain->yprd * domain->zprd; - for (int i = 0; i < 6; i++) virial[i] = qm_virial_symmetric[i] * volume / nprocs; - } - */ + // c_pe->addstep(update->ntimestep+1); } /* ---------------------------------------------------------------------- */ @@ -1150,32 +1007,136 @@ double FixMDIQMMM::memory_usage() // private methods for this fix // ---------------------------------------------------------------------- -/* ---------------------------------------------------------------------- - reallocate storage for local and global and atoms if needed -------------------------------------------------------------------------- */ - -void FixMDIQMMM::reallocate() +void FixMDIQMMM::create_qm_list() { - if (atom->nlocal > maxlocal) { - maxlocal = atom->nmax; - memory->destroy(fqm); - memory->create(fqm, maxlocal, 3, "mdi:fqm"); - array_atom = fqm; + // qmIDs_mine = list of nqm_mine QM atom IDs I own + // qmIDs = IDs of all QM atoms in ascending order + // qmIDs created by allgather of qmIDs_mine + + tagint *tag = atom->tag; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + int nqm_mine = 0; + for (int i = 0; i < nlocal; i++) + if (mask[i] & groupbit) nqm_mine++; + + tagint *qmIDs_mine; + memory->create(qmIDs_mine,nqm_mine,"mdi/qmmm:qmIDs_mine"); + + nqm_mine = 0; + for (int i = 0; i < nlocal; i++) + if (mask[i] & groupbit) qmIDs_mine[nqm_mine++] = tag[i]; + + int *recvcounts,*displs,*listall; + memory->create(recvcounts,nprocs,"mdi/qmmm:recvcounts"); + memory->create(displs,nprocs,"mdi/qmmm:displs"); + + MPI_Allgather(&nqm_mine,1,MPI_INT,recvcounts,1,MPI_INT,world); + + displs[0] = 0; + for (int iproc = 1; iproc < nprocs; iproc++) + displs[iproc] = displs[iproc-1] + recvcounts[iproc-1]; + + MPI_Allgatherv(qmIDs_mine,nqm_mine,MPI_LMP_TAGINT,qmIDs,recvcounts,displs, + MPI_LMP_TAGINT,world); + + memory->destroy(qmIDs_mine); + memory->destroy(recvcounts); + memory->destroy(displs); + + // sort qmIDs via merge sort + + int *order; + tagint *qmIDs_sort; + + memory->create(order,nqm,"mdi/qmmm:order"); + memory->create(qmIDs_sort,nqm,"mdi/qmmm:qmIDs_sort"); + + for (int i = 0; i < nqm; i++) { + qmIDs_sort[i] = qmIDs[i]; + order[i] = i; } - if (atom->natoms > maxbuf) { - bigint nsize = atom->natoms * 3; - if (nsize > MAXSMALLINT) error->all(FLERR, "Natoms too large to use with fix mdi/qmmm"); + utils::merge_sort(order,nqm,(void *) qmIDs_sort,compare_IDs); - maxbuf = static_cast(atom->natoms); - memory->destroy(ibuf1); - memory->destroy(buf3); - memory->destroy(buf3all); - memory->create(ibuf1, maxbuf, "mdi:ibuf1"); - memory->create(ibuf1all, maxbuf, "mdi:ibuf1all"); - memory->create(buf3, 3 * maxbuf, "mdi:buf3"); - memory->create(buf3all, 3 * maxbuf, "mdi:buf3all"); + int j; + for (int i = 0; i < nqm; i++) { + j = order[i]; + qmIDs_sort[i] = qmIDs[j]; } + + memcpy(qmIDs,qmIDs_sort,nqm*sizeof(tagint)); + + memory->destroy(order); + memory->destroy(qmIDs_sort); +} + +/* ---------------------------------------------------------------------- */ + +void FixMDIQMMM::create_mm_list() +{ + // mmIDs_mine = list of nmm_mine MM atom IDs I own + // mmIDs = IDs of all MM atoms in ascending order + // mmIDs created by allgather of mmIDs_mine + + tagint *tag = atom->tag; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + int nmm_mine = 0; + for (int i = 0; i < nlocal; i++) + if (!(mask[i] & groupbit)) nmm_mine++; + + tagint *mmIDs_mine; + memory->create(mmIDs_mine,nmm_mine,"mdi/qmmm:mmIDs_mine"); + + nmm_mine = 0; + for (int i = 0; i < nlocal; i++) + if (!(mask[i] & groupbit)) mmIDs_mine[nmm_mine++] = tag[i]; + + int *recvcounts,*displs,*listall; + memory->create(recvcounts,nprocs,"mdi/qmmm:recvcounts"); + memory->create(displs,nprocs,"mdi/qmmm:displs"); + + MPI_Allgather(&nmm_mine,1,MPI_INT,recvcounts,1,MPI_INT,world); + + displs[0] = 0; + for (int iproc = 1; iproc < nprocs; iproc++) + displs[iproc] = displs[iproc-1] + recvcounts[iproc-1]; + + MPI_Allgatherv(mmIDs_mine,nmm_mine,MPI_LMP_TAGINT,mmIDs,recvcounts,displs, + MPI_LMP_TAGINT,world); + + memory->destroy(mmIDs_mine); + memory->destroy(recvcounts); + memory->destroy(displs); + + // sort mmIDs via merge sort + + int *order; + tagint *mmIDs_sort; + + memory->create(order,nmm,"mdi/qmmm:order"); + memory->create(mmIDs_sort,nmm,"mdi/qmmm:mmIDs_sort"); + + for (int i = 0; i < nmm; i++) { + mmIDs_sort[i] = mmIDs[i]; + order[i] = i; + } + + utils::merge_sort(order,nmm,(void *) mmIDs_sort,compare_IDs); + + int j; + for (int i = 0; i < nmm; i++) { + j = order[i]; + mmIDs_sort[i] = mmIDs[j]; + } + + memcpy(mmIDs,mmIDs_sort,nmm*sizeof(tagint)); + + memory->destroy(order); + memory->destroy(mmIDs_sort); } /* ---------------------------------------------------------------------- */ @@ -1183,7 +1144,7 @@ void FixMDIQMMM::reallocate() void FixMDIQMMM::set_qm2owned() { // qm2owned[i] = index of local atom for each of nqm QM atoms - // for QMMM, IDs of QM atoms stored in qmIDs + // IDs of QM atoms are stored in qmIDs // index = -1 if this proc does not own the atom int nlocal = atom->nlocal; @@ -1198,18 +1159,34 @@ void FixMDIQMMM::set_qm2owned() /* ---------------------------------------------------------------------- */ +void FixMDIQMMM::set_mm2owned() +{ + // mm2owned[i] = index of local atom for each of nmm MM atoms + // IDs of MM atoms are stored in mmIDs + // index = -1 if this proc does not own the atom + + int nlocal = atom->nlocal; + int index; + + for (int i = 0; i < nmm; i++) { + index = atom->map(mmIDs[i]); + if (index >= nlocal) mm2owned[i] = -1; + else mm2owned[i] = index; + } +} + +/* ---------------------------------------------------------------------- */ + void FixMDIQMMM::set_qqm() { for (int i = 0; i < nqm; i++) qqm_mine[i] = 0.0; - if (qflag) { - double *q = atom->q; - int ilocal; + double *q = atom->q; + int ilocal; - for (int i = 0; i < nqm; i++) { - ilocal = qm2owned[i]; - if (ilocal >= 0) qqm_mine[i] = q[ilocal]; - } + for (int i = 0; i < nqm; i++) { + ilocal = qm2owned[i]; + if (ilocal >= 0) qqm_mine[i] = q[ilocal]; } MPI_Allreduce(qqm_mine,qqm,nqm,MPI_DOUBLE,MPI_SUM,world); @@ -1217,19 +1194,19 @@ void FixMDIQMMM::set_qqm() /* ---------------------------------------------------------------------- */ -void FixMDIQMMM::set_tqm() +void FixMDIQMMM::set_eqm() { - for (int i = 0; i < nqm; i++) tqm_mine[i] = 0; + for (int i = 0; i < nqm; i++) eqm_mine[i] = 0; - int*type = atom->type; + int *type = atom->type; int ilocal; for (int i = 0; i < nqm; i++) { ilocal = qm2owned[i]; - if (ilocal >= 0) tqm_mine[i] = type[ilocal]; + if (ilocal >= 0) eqm_mine[i] = elements[type[ilocal]]; } - MPI_Allreduce(tqm_mine,tqm,nqm,MPI_INT,MPI_SUM,world); + MPI_Allreduce(eqm_mine,eqm,nqm,MPI_INT,MPI_SUM,world); } /* ---------------------------------------------------------------------- */ @@ -1259,62 +1236,65 @@ void FixMDIQMMM::set_xqm() MPI_Allreduce(&xqm_mine[0][0],&xqm[0][0],3*nqm,MPI_DOUBLE,MPI_SUM,world); } -/* ---------------------------------------------------------------------- - send LAMMPS atom types to MDI engine -------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- */ -void FixMDIQMMM::send_types() +void FixMDIQMMM::set_emm() { - int n = static_cast(atom->natoms); - memset(ibuf1, 0, n * sizeof(int)); + for (int i = 0; i < nmm; i++) emm_mine[i] = 0; - // use local atomID to index into ordered ibuf1 - - tagint *tag = atom->tag; int *type = atom->type; - int nlocal = atom->nlocal; - - int index; - for (int i = 0; i < nlocal; i++) { - index = static_cast(tag[i]) - 1; - ibuf1[index] = type[i]; + int ilocal; + + for (int i = 0; i < nmm; i++) { + ilocal = mm2owned[i]; + if (ilocal >= 0) emm_mine[i] = elements[type[ilocal]]; } - - MPI_Reduce(ibuf1, ibuf1all, n, MPI_INT, MPI_SUM, 0, world); - - int ierr = MDI_Send_command(">TYPES", mdicomm); - if (ierr) error->all(FLERR, "MDI: >TYPES command"); - ierr = MDI_Send(ibuf1all, n, MDI_INT, mdicomm); - if (ierr) error->all(FLERR, "MDI: >TYPES data"); + + MPI_Allreduce(emm_mine,emm,nmm,MPI_INT,MPI_SUM,world); } -/* ---------------------------------------------------------------------- - send elements to MDI engine = atomic numbers for each type -------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- */ -void FixMDIQMMM::send_elements() +void FixMDIQMMM::set_qmm() { - int n = static_cast(atom->natoms); - memset(ibuf1, 0, n * sizeof(int)); + for (int i = 0; i < nmm; i++) qmm_mine[i] = 0.0; - // use local atomID to index into ordered ibuf1 + double *q = atom->q; + int ilocal; - tagint *tag = atom->tag; - int *type = atom->type; - int nlocal = atom->nlocal; + for (int i = 0; i < nmm; i++) { + ilocal = qm2owned[i]; + if (ilocal >= 0) qmm_mine[i] = q[ilocal]; + } + + MPI_Allreduce(qmm_mine,qmm,nmm,MPI_DOUBLE,MPI_SUM,world); +} - int index; - for (int i = 0; i < nlocal; i++) { - index = static_cast(tag[i]) - 1; - ibuf1[index] = elements[type[i]]; +/* ---------------------------------------------------------------------- */ + +void FixMDIQMMM::set_xmm() +{ + for (int i = 0; i < nmm; i++) { + xmm_mine[i][0] = 0.0; + xmm_mine[i][1] = 0.0; + xmm_mine[i][2] = 0.0; } - MPI_Reduce(ibuf1, ibuf1all, n, MPI_INT, MPI_SUM, 0, world); + double **x = atom->x; + int ilocal; - int ierr = MDI_Send_command(">ELEMENTS", mdicomm); - if (ierr) error->all(FLERR, "MDI: >ELEMENTS command"); - ierr = MDI_Send(ibuf1all, n, MDI_INT, mdicomm); - if (ierr) error->all(FLERR, "MDI: >ELEMETNS data"); + for (int i = 0; i < nmm; i++) { + ilocal = mm2owned[i]; + if (ilocal >= 0) { + xmm_mine[i][0] = x[ilocal][0]; + xmm_mine[i][1] = x[ilocal][1]; + xmm_mine[i][2] = x[ilocal][2]; + + domain->remap(xmm_mine[i]); + } + } + + MPI_Allreduce(&xmm_mine[0][0],&xmm[0][0],3*nmm,MPI_DOUBLE,MPI_SUM,world); } /* ---------------------------------------------------------------------- @@ -1325,12 +1305,12 @@ void FixMDIQMMM::send_box() { double cell[9]; - int celldispl_exists; - int ierr = MDI_Check_command_exists("@DEFAULT", ">NATOMS", mdicomm, &celldispl_exists); + int cell_displ_exists; + int ierr = MDI_Check_command_exists("@DEFAULT", ">CELL_DISPL", mdicomm, &cell_displ_exists); if (ierr) error->all(FLERR, "MDI: >CELL_DISPL command check"); - MPI_Bcast(&celldispl_exists, 1, MPI_INT, 0, world); + MPI_Bcast(&cell_displ_exists, 1, MPI_INT, 0, world); - if (celldispl_exists) { + if (cell_displ_exists) { ierr = MDI_Send_command(">CELL_DISPL", mdicomm); if (ierr) error->all(FLERR, "MDI: >CELL_DISPL command"); cell[0] = domain->boxlo[0] * lmp2mdi_length; @@ -1352,7 +1332,8 @@ void FixMDIQMMM::send_box() cell[7] = domain->yz; cell[8] = domain->boxhi[2] - domain->boxlo[2]; - // convert the cell units to bohr + // convert from LAMMPS to MDI units + for (int icell = 0; icell < 9; icell++) cell[icell] *= lmp2mdi_length; ierr = MDI_Send(cell, 9, MDI_DOUBLE, mdicomm); diff --git a/src/MDI/fix_mdi_qmmm.h b/src/MDI/fix_mdi_qmmm.h index d75352474e..69acbf842d 100644 --- a/src/MDI/fix_mdi_qmmm.h +++ b/src/MDI/fix_mdi_qmmm.h @@ -58,13 +58,12 @@ class FixMDIQMMM : public Fix { int maxlocal; int sumflag; int *elements; - int mode; // DIRECT or POTENTIAL - - int qflag; // 1 if per-atom charge defined, 0 if not - int qm_init; // 1 if QM code and qqm are initialized, 0 if not + int mode; // QMMM method = DIRECT or POTENTIAL + int lmpunits; // REAL, METAL, or NATIVE + int first_send; // 1 until initial info passed to MDI engine + double qm_energy; - int lmpunits; double qm_virial[9], qm_virial_symmetric[6]; MDI_Comm mdicomm; @@ -77,12 +76,12 @@ class FixMDIQMMM : public Fix { tagint *qmIDs; // IDs of QM atoms in ascending order double **xqm,**fqm; // QM coords and forces double *qqm; // QM charges - int *tqm; // QM atom types + int *eqm; // QM atom atomic numbers double *qpotential; // Coulomb potential double **xqm_mine; // same values for QM atoms I own double *qqm_mine; - int *tqm_mine; double *qpotential_mine; + int *eqm_mine; int *qm2owned; // index of local atom for each QM atom // index = -1 if this proc does not own @@ -91,9 +90,16 @@ class FixMDIQMMM : public Fix { // data for MM portion - int nmm; // # of MM atoms - double **xmm; // MM coords - double *qmm; // MM charges + int nmm; // # of MM atoms + tagint *mmIDs; // IDs of MM atoms in ascending order + double **xmm,**fmm; // MM coords and forces + double *qmm; // MM charges + int *emm; // MM atom atomic numbers + double **xmm_mine; // same values for MM atoms I own + double *qmm_mine; + int *emm_mine; + int *mm2owned; // index of local atom for each MM atom + // index = -1 if this proc does not own // unit conversion factors @@ -102,28 +108,29 @@ class FixMDIQMMM : public Fix { double lmp2mdi_force, mdi2lmp_force; double lmp2mdi_pressure, mdi2lmp_pressure; - // buffers for MDI comm - - int maxbuf; - int *ibuf1, *ibuf1all; - double *buf3, *buf3all; - // methods - void set_qm2owned(); - void set_qqm(); - void set_tqm(); - void set_xqm(); - - void reallocate(); - void send_types(); - void send_elements(); - void send_box(); - void unit_conversions(); - void post_force_direct(int); void post_force_potential(int); - void post_force_aimd(int); + + void create_qm_list(); + void create_mm_list(); + + void set_qm2owned(); + void set_mm2owned(); + + void set_eqm(); + void set_tqm(); + void set_qqm(); + void set_xqm(); + + void set_emm(); + void set_qmm(); + void set_xmm(); + + void send_box(); + void unit_conversions(); + }; } // namespace LAMMPS_NS diff --git a/src/MDI/mdi_engine.cpp b/src/MDI/mdi_engine.cpp index d866c0fea9..357bf50655 100644 --- a/src/MDI/mdi_engine.cpp +++ b/src/MDI/mdi_engine.cpp @@ -1233,7 +1233,7 @@ void MDIEngine::receive_elements() MPI_Bcast(sys_types, sys_natoms, MPI_INT, 0, world); // convert from element atomic numbers to LAMMPS atom types - // use maping provided by mdi engine command + // use mapping provided by mdi engine command int ntypes = atom->ntypes; int itype; From 8bc8f3eb4c631af41f77f1ec73685a5a971d805c Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 27 Jan 2023 12:20:30 -0700 Subject: [PATCH 061/448] debugging --- src/MDI/fix_mdi_qmmm.cpp | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/src/MDI/fix_mdi_qmmm.cpp b/src/MDI/fix_mdi_qmmm.cpp index 9739d657bc..25c8f2f254 100644 --- a/src/MDI/fix_mdi_qmmm.cpp +++ b/src/MDI/fix_mdi_qmmm.cpp @@ -399,7 +399,7 @@ void FixMDIQMMM::init() if (mode == DIRECT) { ierr = MDI_Send_command(">NLATTICE", mdicomm); if (ierr) error->all(FLERR, "MDI: >NLATTICE command"); - ierr = MDI_Send(&nmm, 1, MDI_DOUBLE, mdicomm); + ierr = MDI_Send(&nmm, 1, MDI_INT, mdicomm); if (ierr) error->all(FLERR, "MDI: >NLATTICE data"); set_mm2owned(); @@ -407,13 +407,14 @@ void FixMDIQMMM::init() ierr = MDI_Send_command(">LATTICE_ELEMENTS", mdicomm); if (ierr) error->all(FLERR, "MDI: >LATTICE_ELEMENTS command"); - ierr = MDI_Send(&emm, nmm, MDI_INT, mdicomm); + ierr = MDI_Send(emm, nmm, MDI_INT, mdicomm); if (ierr) error->all(FLERR, "MDI: >LATTICE_ELEMENTS data"); set_qmm(); ierr = MDI_Send_command(">LATTICE", mdicomm); if (ierr) error->all(FLERR, "MDI: >LATTICE command"); - ierr = MDI_Send(&qmm, nmm, MDI_DOUBLE, mdicomm); + printf("SEND LATTICE nmm %d qmm %g %g %g\n",nmm,qmm[0],qmm[1],qmm[2]); + ierr = MDI_Send(qmm, nmm, MDI_DOUBLE, mdicomm); if (ierr) error->all(FLERR, "MDI: >LATTICE data"); } } @@ -674,6 +675,20 @@ void FixMDIQMMM::post_force_direct(int vflag) set_xmm(); set_qmm(); + // unit conversion from LAMMPS to MDI + + for (int i = 0; i < nqm; i++) { + xqm[i][0] *= lmp2mdi_length; + xqm[i][1] *= lmp2mdi_length; + xqm[i][2] *= lmp2mdi_length; + } + + for (int i = 0; i < nmm; i++) { + xmm[i][0] *= lmp2mdi_length; + xmm[i][1] *= lmp2mdi_length; + xmm[i][2] *= lmp2mdi_length; + } + // send info to MDI engine with QM and MM atom info // first request for results triggers QM calculation // QM and MM atoms must be in order of ascending atom ID @@ -1263,7 +1278,7 @@ void FixMDIQMMM::set_qmm() int ilocal; for (int i = 0; i < nmm; i++) { - ilocal = qm2owned[i]; + ilocal = mm2owned[i]; if (ilocal >= 0) qmm_mine[i] = q[ilocal]; } From 243fcbf47dff22d0c849f83abe8dc8364e2917fe Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 30 Jan 2023 14:08:18 -0700 Subject: [PATCH 062/448] more debugging --- src/MDI/fix_mdi_qmmm.cpp | 51 ++-------------------------------------- 1 file changed, 2 insertions(+), 49 deletions(-) diff --git a/src/MDI/fix_mdi_qmmm.cpp b/src/MDI/fix_mdi_qmmm.cpp index 25c8f2f254..5a1b35c6d5 100644 --- a/src/MDI/fix_mdi_qmmm.cpp +++ b/src/MDI/fix_mdi_qmmm.cpp @@ -11,53 +11,6 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -/* ---------------------------------------------------------------------- - -QMMM with LAMMPS as MDI driver for MM and a quantum code as MDI engine for QM -specified group = QM atoms, remaining atoms are MM atoms -two modes for QMMM coupling: DIRECT and POTENTIAL - --- DIRECT mode: - -charge on all QM atoms must be zero -QM atoms have no bonds between them - -post_force: - MDI send QM coords via >COORDS - MDI send MM coords, MM charges via >CLATTICE, >LATTICE - invoke the QM code - MDI recv QM energy via COORDS, >POTENTIAL_AT_NUCLEI - invoke the QM code - MDI recv QM energy, forces, charges via MAXSMALLINT) error->all(FLERR,"Fix mdi/qmmm quantum group has too many atoms"); nqm = ngroup; - nmm = atom->natoms = nqm; + nmm = atom->natoms - nqm; // QM atom memory @@ -413,7 +366,6 @@ void FixMDIQMMM::init() set_qmm(); ierr = MDI_Send_command(">LATTICE", mdicomm); if (ierr) error->all(FLERR, "MDI: >LATTICE command"); - printf("SEND LATTICE nmm %d qmm %g %g %g\n",nmm,qmm[0],qmm[1],qmm[2]); ierr = MDI_Send(qmm, nmm, MDI_DOUBLE, mdicomm); if (ierr) error->all(FLERR, "MDI: >LATTICE data"); } @@ -511,6 +463,7 @@ void FixMDIQMMM::pre_force(int vflag) // use xqm_mine and qqm_mine for all QM atoms set_xqm(); + set_qqm(); for (int i = 0; i < nqm; i++) qpotential_mine[i] = 0.0; From 092a67ab9366e78cf9e5366875b18aae94ec5533 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 30 Jan 2023 15:41:25 -0700 Subject: [PATCH 063/448] debug --- src/MDI/fix_mdi_qmmm.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/MDI/fix_mdi_qmmm.cpp b/src/MDI/fix_mdi_qmmm.cpp index 5a1b35c6d5..d2a16e47a7 100644 --- a/src/MDI/fix_mdi_qmmm.cpp +++ b/src/MDI/fix_mdi_qmmm.cpp @@ -698,10 +698,10 @@ void FixMDIQMMM::post_force_direct(int vflag) // request forces on MM atoms from MDI engine - ierr = MDI_Send_command("all(FLERR, "MDI: all(FLERR, "MDI: all(FLERR, "MDI: all(FLERR, "MDI: Date: Mon, 30 Jan 2023 15:45:07 -0700 Subject: [PATCH 064/448] add PySCF to renamed examples/QUANTUM dir --- examples/{QM => QUANTUM}/LATTE/2uo2.lmp | 0 examples/{QM => QUANTUM}/LATTE/3uo2.lmp | 0 examples/{QM => QUANTUM}/LATTE/4uo2.lmp | 0 examples/{QM => QUANTUM}/LATTE/README | 0 examples/{QM => QUANTUM}/LATTE/bondints.table | 0 .../LATTE/dump.8Sep22.aimd.mpi.1 | 0 .../LATTE/dump.8Sep22.aimd.mpi.2 | 0 .../LATTE/dump.8Sep22.aimd.plugin | 0 .../LATTE/dump.8Sep22.series.mpi.1.2uo2 | 0 .../LATTE/dump.8Sep22.series.mpi.1.3uo2 | 0 .../LATTE/dump.8Sep22.series.mpi.1.4uo2 | 0 .../LATTE/dump.8Sep22.series.mpi.2.2uo2 | 0 .../LATTE/dump.8Sep22.series.mpi.2.3uo2 | 0 .../LATTE/dump.8Sep22.series.mpi.2.4uo2 | 0 .../LATTE/dump.8Sep22.series.plugin.2uo2 | 0 .../LATTE/dump.8Sep22.series.plugin.3uo2 | 0 .../LATTE/dump.8Sep22.series.plugin.4uo2 | 0 examples/{QM => QUANTUM}/LATTE/electrons.dat | 0 examples/{QM => QUANTUM}/LATTE/in.aimd | 0 examples/{QM => QUANTUM}/LATTE/in.aimd.plugin | 0 examples/{QM => QUANTUM}/LATTE/in.series | 0 .../{QM => QUANTUM}/LATTE/in.series.plugin | 0 examples/{QM => QUANTUM}/LATTE/latte.in | 0 .../LATTE/log.8Sep22.aimd.lammps.mpi.1 | 0 .../LATTE/log.8Sep22.aimd.lammps.mpi.2 | 0 .../LATTE/log.8Sep22.aimd.lammps.plugin | 0 .../LATTE/log.8Sep22.aimd.latte.1 | 0 .../LATTE/log.8Sep22.aimd.latte.2 | 0 .../LATTE/log.8Sep22.aimd.latte.plugin | 0 .../LATTE/log.8Sep22.series.lammps.mpi.1 | 0 .../LATTE/log.8Sep22.series.lammps.mpi.2 | 0 .../LATTE/log.8Sep22.series.lammps.plugin | 0 .../LATTE/log.8Sep22.series.latte.1 | 0 .../LATTE/log.8Sep22.series.latte.2 | 0 examples/{QM => QUANTUM}/LATTE/ppots.dftb | 0 examples/QUANTUM/PySCF/README | 103 +++ examples/QUANTUM/PySCF/data.water.pyscf | 51 ++ examples/QUANTUM/PySCF/in.water.pyscf.qmmm | 46 ++ .../QUANTUM/PySCF/in.water.pyscf.qmmm.plugin | 49 ++ examples/QUANTUM/PySCF/pyscf_mdi.py | 657 ++++++++++++++++++ examples/{QM => QUANTUM}/README | 14 +- 41 files changed, 916 insertions(+), 4 deletions(-) rename examples/{QM => QUANTUM}/LATTE/2uo2.lmp (100%) rename examples/{QM => QUANTUM}/LATTE/3uo2.lmp (100%) rename examples/{QM => QUANTUM}/LATTE/4uo2.lmp (100%) rename examples/{QM => QUANTUM}/LATTE/README (100%) rename examples/{QM => QUANTUM}/LATTE/bondints.table (100%) rename examples/{QM => QUANTUM}/LATTE/dump.8Sep22.aimd.mpi.1 (100%) rename examples/{QM => QUANTUM}/LATTE/dump.8Sep22.aimd.mpi.2 (100%) rename examples/{QM => QUANTUM}/LATTE/dump.8Sep22.aimd.plugin (100%) rename examples/{QM => QUANTUM}/LATTE/dump.8Sep22.series.mpi.1.2uo2 (100%) rename examples/{QM => QUANTUM}/LATTE/dump.8Sep22.series.mpi.1.3uo2 (100%) rename examples/{QM => QUANTUM}/LATTE/dump.8Sep22.series.mpi.1.4uo2 (100%) rename examples/{QM => QUANTUM}/LATTE/dump.8Sep22.series.mpi.2.2uo2 (100%) rename examples/{QM => QUANTUM}/LATTE/dump.8Sep22.series.mpi.2.3uo2 (100%) rename examples/{QM => QUANTUM}/LATTE/dump.8Sep22.series.mpi.2.4uo2 (100%) rename examples/{QM => QUANTUM}/LATTE/dump.8Sep22.series.plugin.2uo2 (100%) rename examples/{QM => QUANTUM}/LATTE/dump.8Sep22.series.plugin.3uo2 (100%) rename examples/{QM => QUANTUM}/LATTE/dump.8Sep22.series.plugin.4uo2 (100%) rename examples/{QM => QUANTUM}/LATTE/electrons.dat (100%) rename examples/{QM => QUANTUM}/LATTE/in.aimd (100%) rename examples/{QM => QUANTUM}/LATTE/in.aimd.plugin (100%) rename examples/{QM => QUANTUM}/LATTE/in.series (100%) rename examples/{QM => QUANTUM}/LATTE/in.series.plugin (100%) rename examples/{QM => QUANTUM}/LATTE/latte.in (100%) rename examples/{QM => QUANTUM}/LATTE/log.8Sep22.aimd.lammps.mpi.1 (100%) rename examples/{QM => QUANTUM}/LATTE/log.8Sep22.aimd.lammps.mpi.2 (100%) rename examples/{QM => QUANTUM}/LATTE/log.8Sep22.aimd.lammps.plugin (100%) rename examples/{QM => QUANTUM}/LATTE/log.8Sep22.aimd.latte.1 (100%) rename examples/{QM => QUANTUM}/LATTE/log.8Sep22.aimd.latte.2 (100%) rename examples/{QM => QUANTUM}/LATTE/log.8Sep22.aimd.latte.plugin (100%) rename examples/{QM => QUANTUM}/LATTE/log.8Sep22.series.lammps.mpi.1 (100%) rename examples/{QM => QUANTUM}/LATTE/log.8Sep22.series.lammps.mpi.2 (100%) rename examples/{QM => QUANTUM}/LATTE/log.8Sep22.series.lammps.plugin (100%) rename examples/{QM => QUANTUM}/LATTE/log.8Sep22.series.latte.1 (100%) rename examples/{QM => QUANTUM}/LATTE/log.8Sep22.series.latte.2 (100%) rename examples/{QM => QUANTUM}/LATTE/ppots.dftb (100%) create mode 100644 examples/QUANTUM/PySCF/README create mode 100644 examples/QUANTUM/PySCF/data.water.pyscf create mode 100644 examples/QUANTUM/PySCF/in.water.pyscf.qmmm create mode 100644 examples/QUANTUM/PySCF/in.water.pyscf.qmmm.plugin create mode 100644 examples/QUANTUM/PySCF/pyscf_mdi.py rename examples/{QM => QUANTUM}/README (76%) diff --git a/examples/QM/LATTE/2uo2.lmp b/examples/QUANTUM/LATTE/2uo2.lmp similarity index 100% rename from examples/QM/LATTE/2uo2.lmp rename to examples/QUANTUM/LATTE/2uo2.lmp diff --git a/examples/QM/LATTE/3uo2.lmp b/examples/QUANTUM/LATTE/3uo2.lmp similarity index 100% rename from examples/QM/LATTE/3uo2.lmp rename to examples/QUANTUM/LATTE/3uo2.lmp diff --git a/examples/QM/LATTE/4uo2.lmp b/examples/QUANTUM/LATTE/4uo2.lmp similarity index 100% rename from examples/QM/LATTE/4uo2.lmp rename to examples/QUANTUM/LATTE/4uo2.lmp diff --git a/examples/QM/LATTE/README b/examples/QUANTUM/LATTE/README similarity index 100% rename from examples/QM/LATTE/README rename to examples/QUANTUM/LATTE/README diff --git a/examples/QM/LATTE/bondints.table b/examples/QUANTUM/LATTE/bondints.table similarity index 100% rename from examples/QM/LATTE/bondints.table rename to examples/QUANTUM/LATTE/bondints.table diff --git a/examples/QM/LATTE/dump.8Sep22.aimd.mpi.1 b/examples/QUANTUM/LATTE/dump.8Sep22.aimd.mpi.1 similarity index 100% rename from examples/QM/LATTE/dump.8Sep22.aimd.mpi.1 rename to examples/QUANTUM/LATTE/dump.8Sep22.aimd.mpi.1 diff --git a/examples/QM/LATTE/dump.8Sep22.aimd.mpi.2 b/examples/QUANTUM/LATTE/dump.8Sep22.aimd.mpi.2 similarity index 100% rename from examples/QM/LATTE/dump.8Sep22.aimd.mpi.2 rename to examples/QUANTUM/LATTE/dump.8Sep22.aimd.mpi.2 diff --git a/examples/QM/LATTE/dump.8Sep22.aimd.plugin b/examples/QUANTUM/LATTE/dump.8Sep22.aimd.plugin similarity index 100% rename from examples/QM/LATTE/dump.8Sep22.aimd.plugin rename to examples/QUANTUM/LATTE/dump.8Sep22.aimd.plugin diff --git a/examples/QM/LATTE/dump.8Sep22.series.mpi.1.2uo2 b/examples/QUANTUM/LATTE/dump.8Sep22.series.mpi.1.2uo2 similarity index 100% rename from examples/QM/LATTE/dump.8Sep22.series.mpi.1.2uo2 rename to examples/QUANTUM/LATTE/dump.8Sep22.series.mpi.1.2uo2 diff --git a/examples/QM/LATTE/dump.8Sep22.series.mpi.1.3uo2 b/examples/QUANTUM/LATTE/dump.8Sep22.series.mpi.1.3uo2 similarity index 100% rename from examples/QM/LATTE/dump.8Sep22.series.mpi.1.3uo2 rename to examples/QUANTUM/LATTE/dump.8Sep22.series.mpi.1.3uo2 diff --git a/examples/QM/LATTE/dump.8Sep22.series.mpi.1.4uo2 b/examples/QUANTUM/LATTE/dump.8Sep22.series.mpi.1.4uo2 similarity index 100% rename from examples/QM/LATTE/dump.8Sep22.series.mpi.1.4uo2 rename to examples/QUANTUM/LATTE/dump.8Sep22.series.mpi.1.4uo2 diff --git a/examples/QM/LATTE/dump.8Sep22.series.mpi.2.2uo2 b/examples/QUANTUM/LATTE/dump.8Sep22.series.mpi.2.2uo2 similarity index 100% rename from examples/QM/LATTE/dump.8Sep22.series.mpi.2.2uo2 rename to examples/QUANTUM/LATTE/dump.8Sep22.series.mpi.2.2uo2 diff --git a/examples/QM/LATTE/dump.8Sep22.series.mpi.2.3uo2 b/examples/QUANTUM/LATTE/dump.8Sep22.series.mpi.2.3uo2 similarity index 100% rename from examples/QM/LATTE/dump.8Sep22.series.mpi.2.3uo2 rename to examples/QUANTUM/LATTE/dump.8Sep22.series.mpi.2.3uo2 diff --git a/examples/QM/LATTE/dump.8Sep22.series.mpi.2.4uo2 b/examples/QUANTUM/LATTE/dump.8Sep22.series.mpi.2.4uo2 similarity index 100% rename from examples/QM/LATTE/dump.8Sep22.series.mpi.2.4uo2 rename to examples/QUANTUM/LATTE/dump.8Sep22.series.mpi.2.4uo2 diff --git a/examples/QM/LATTE/dump.8Sep22.series.plugin.2uo2 b/examples/QUANTUM/LATTE/dump.8Sep22.series.plugin.2uo2 similarity index 100% rename from examples/QM/LATTE/dump.8Sep22.series.plugin.2uo2 rename to examples/QUANTUM/LATTE/dump.8Sep22.series.plugin.2uo2 diff --git a/examples/QM/LATTE/dump.8Sep22.series.plugin.3uo2 b/examples/QUANTUM/LATTE/dump.8Sep22.series.plugin.3uo2 similarity index 100% rename from examples/QM/LATTE/dump.8Sep22.series.plugin.3uo2 rename to examples/QUANTUM/LATTE/dump.8Sep22.series.plugin.3uo2 diff --git a/examples/QM/LATTE/dump.8Sep22.series.plugin.4uo2 b/examples/QUANTUM/LATTE/dump.8Sep22.series.plugin.4uo2 similarity index 100% rename from examples/QM/LATTE/dump.8Sep22.series.plugin.4uo2 rename to examples/QUANTUM/LATTE/dump.8Sep22.series.plugin.4uo2 diff --git a/examples/QM/LATTE/electrons.dat b/examples/QUANTUM/LATTE/electrons.dat similarity index 100% rename from examples/QM/LATTE/electrons.dat rename to examples/QUANTUM/LATTE/electrons.dat diff --git a/examples/QM/LATTE/in.aimd b/examples/QUANTUM/LATTE/in.aimd similarity index 100% rename from examples/QM/LATTE/in.aimd rename to examples/QUANTUM/LATTE/in.aimd diff --git a/examples/QM/LATTE/in.aimd.plugin b/examples/QUANTUM/LATTE/in.aimd.plugin similarity index 100% rename from examples/QM/LATTE/in.aimd.plugin rename to examples/QUANTUM/LATTE/in.aimd.plugin diff --git a/examples/QM/LATTE/in.series b/examples/QUANTUM/LATTE/in.series similarity index 100% rename from examples/QM/LATTE/in.series rename to examples/QUANTUM/LATTE/in.series diff --git a/examples/QM/LATTE/in.series.plugin b/examples/QUANTUM/LATTE/in.series.plugin similarity index 100% rename from examples/QM/LATTE/in.series.plugin rename to examples/QUANTUM/LATTE/in.series.plugin diff --git a/examples/QM/LATTE/latte.in b/examples/QUANTUM/LATTE/latte.in similarity index 100% rename from examples/QM/LATTE/latte.in rename to examples/QUANTUM/LATTE/latte.in diff --git a/examples/QM/LATTE/log.8Sep22.aimd.lammps.mpi.1 b/examples/QUANTUM/LATTE/log.8Sep22.aimd.lammps.mpi.1 similarity index 100% rename from examples/QM/LATTE/log.8Sep22.aimd.lammps.mpi.1 rename to examples/QUANTUM/LATTE/log.8Sep22.aimd.lammps.mpi.1 diff --git a/examples/QM/LATTE/log.8Sep22.aimd.lammps.mpi.2 b/examples/QUANTUM/LATTE/log.8Sep22.aimd.lammps.mpi.2 similarity index 100% rename from examples/QM/LATTE/log.8Sep22.aimd.lammps.mpi.2 rename to examples/QUANTUM/LATTE/log.8Sep22.aimd.lammps.mpi.2 diff --git a/examples/QM/LATTE/log.8Sep22.aimd.lammps.plugin b/examples/QUANTUM/LATTE/log.8Sep22.aimd.lammps.plugin similarity index 100% rename from examples/QM/LATTE/log.8Sep22.aimd.lammps.plugin rename to examples/QUANTUM/LATTE/log.8Sep22.aimd.lammps.plugin diff --git a/examples/QM/LATTE/log.8Sep22.aimd.latte.1 b/examples/QUANTUM/LATTE/log.8Sep22.aimd.latte.1 similarity index 100% rename from examples/QM/LATTE/log.8Sep22.aimd.latte.1 rename to examples/QUANTUM/LATTE/log.8Sep22.aimd.latte.1 diff --git a/examples/QM/LATTE/log.8Sep22.aimd.latte.2 b/examples/QUANTUM/LATTE/log.8Sep22.aimd.latte.2 similarity index 100% rename from examples/QM/LATTE/log.8Sep22.aimd.latte.2 rename to examples/QUANTUM/LATTE/log.8Sep22.aimd.latte.2 diff --git a/examples/QM/LATTE/log.8Sep22.aimd.latte.plugin b/examples/QUANTUM/LATTE/log.8Sep22.aimd.latte.plugin similarity index 100% rename from examples/QM/LATTE/log.8Sep22.aimd.latte.plugin rename to examples/QUANTUM/LATTE/log.8Sep22.aimd.latte.plugin diff --git a/examples/QM/LATTE/log.8Sep22.series.lammps.mpi.1 b/examples/QUANTUM/LATTE/log.8Sep22.series.lammps.mpi.1 similarity index 100% rename from examples/QM/LATTE/log.8Sep22.series.lammps.mpi.1 rename to examples/QUANTUM/LATTE/log.8Sep22.series.lammps.mpi.1 diff --git a/examples/QM/LATTE/log.8Sep22.series.lammps.mpi.2 b/examples/QUANTUM/LATTE/log.8Sep22.series.lammps.mpi.2 similarity index 100% rename from examples/QM/LATTE/log.8Sep22.series.lammps.mpi.2 rename to examples/QUANTUM/LATTE/log.8Sep22.series.lammps.mpi.2 diff --git a/examples/QM/LATTE/log.8Sep22.series.lammps.plugin b/examples/QUANTUM/LATTE/log.8Sep22.series.lammps.plugin similarity index 100% rename from examples/QM/LATTE/log.8Sep22.series.lammps.plugin rename to examples/QUANTUM/LATTE/log.8Sep22.series.lammps.plugin diff --git a/examples/QM/LATTE/log.8Sep22.series.latte.1 b/examples/QUANTUM/LATTE/log.8Sep22.series.latte.1 similarity index 100% rename from examples/QM/LATTE/log.8Sep22.series.latte.1 rename to examples/QUANTUM/LATTE/log.8Sep22.series.latte.1 diff --git a/examples/QM/LATTE/log.8Sep22.series.latte.2 b/examples/QUANTUM/LATTE/log.8Sep22.series.latte.2 similarity index 100% rename from examples/QM/LATTE/log.8Sep22.series.latte.2 rename to examples/QUANTUM/LATTE/log.8Sep22.series.latte.2 diff --git a/examples/QM/LATTE/ppots.dftb b/examples/QUANTUM/LATTE/ppots.dftb similarity index 100% rename from examples/QM/LATTE/ppots.dftb rename to examples/QUANTUM/LATTE/ppots.dftb diff --git a/examples/QUANTUM/PySCF/README b/examples/QUANTUM/PySCF/README new file mode 100644 index 0000000000..775ceb8015 --- /dev/null +++ b/examples/QUANTUM/PySCF/README @@ -0,0 +1,103 @@ +# Test runs of QMMM with LAMMPS and PySCF + +Step 1: build LAMMPS +Step 2: download/build the MDI code coupling package +Step 3: download/build or install PySCF +Step 4: run 2-water QMMM problem for a few steps + +--------------------------------- +--------------------------------- + +Step 1: build LAMMPS + +Traditional make: + +% cd ~/lammps/src +% make yes-mdi yes-molecule yes-kspace +% make -j mpi +% cp lmp_mpi ~/lammps/examples/QUANTUM/PySCF + +CMake: + +% cd ~/lammps +% mkdir build_test; cd build_test +% cmake ../cmake -D PKG_MDI=yes -D PKG_MOLECULE=yes -D PKG_KSPACE=yes +% make -j +% cp lmp_mpi ~/lammps/examples/QUANTUM/PySCF + +Note: the molecule and kspace packages are needed for the water test +problem. + +--------------------------------- +--------------------------------- + +Step 2: download/build the MDI code coupling package + +(a) grab the MDI Git repo + +% mkdir git; cd mdi +% git clone git@github.com:MolSSI-MDI/MDI_Library.git git + +(b) build MDI + +% cd mdi/git +% mkdir build; cd build +% cmake .. # include support for all langauges +% make -j + +(c) install mdi.py into your Python: + +% cd mdi/git +% pip3 install . + +--------------------------------- +--------------------------------- + +Step 3: download/build or install PySCF + +(a) install PySCF on your box + +NOTE: add instructions here + +(b) Add something similar to the following to your .bashrc or .cshrc +file so that Python can find PySCF: + +For bash: + +% export PYTHONPATH="$PYTHONPATH:/home/sjplimp/pyscf/git" +% hash -r + +For (t)csh: + +% setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/pyscf/git +% rehash + +(c) Check that you can import the 4 Python modules which the script +that wraps PySCF will need: + +% python +>>> import numpy as np +>>> from mpi4py import MPI +>>> import MDI_Library as mdi +>>> import pyscf + +--------------------------------- +--------------------------------- + +Step 4: run 2-water QMMM problem for a few steps + +% cd ~/lammps/examples/QUANTUM/PySCF + +# Run with TCP: 1 proc each + +% lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.water.pyscf.qmmm.tcp.1 -in in.water.pyscf.qmmm & + +% python pyscf_mdi.py -mdi "-name PYSCF -role ENGINE -method TCP -port 8021 -hostname localhost" + +# Run with MPI: 1 proc each + +% mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.water.pyscf.qmmm.mpi.1 -in in.water.pyscf.qmmm : -np 1 python pyscf_mdi.py -mdi "-name PYSCF -role ENGINE -method MPI" -pbc yes + +# Run in plugin mode: 1 proc + +% lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/work_qm" -log log.water.pyscf.qmmm.plugin.1 -in in.water.pyscf.qmmm.plugin diff --git a/examples/QUANTUM/PySCF/data.water.pyscf b/examples/QUANTUM/PySCF/data.water.pyscf new file mode 100644 index 0000000000..01b2df64e6 --- /dev/null +++ b/examples/QUANTUM/PySCF/data.water.pyscf @@ -0,0 +1,51 @@ +LAMMPS data file via write_data, version 29 Sep 2021, timestep = 100000 + +6 atoms +2 atom types +4 bonds +1 bond types +2 angles +1 angle types + +0 31.35187685 xlo xhi +0 31.35187685 ylo yhi +0 31.35187685 zlo zhi + +Masses + +1 16 +2 1.008 + +Pair Coeffs # lj/cut/coul/long + +1 0.155425 3.16549 +2 0 0 + +Bond Coeffs # harmonic + +1 529.581 1.012 + +Angle Coeffs # harmonic + +1 37.95 113.24 + +Atoms + +1 1 1 -0.82 1.5026689324077283 5.863928543354579 3.792611836941212 +2 1 2 0.41 0.949608563235617 6.67792878850468 4.024506527262098 +3 1 2 0.41 2.542061320328983 6.034841727577386 3.822920239902413 +4 2 1 -0.82 7.984023446667837 11.359952374736203 6.435736949920884 +5 2 2 0.41 8.817227182546942 11.213723954966298 5.880386471510548 +6 2 2 0.41 7.933347339276622 12.376737335657605 6.56734173868257 + +Bonds + +1 1 1 2 +2 1 1 3 +3 1 4 5 +4 1 4 6 + +Angles + +1 1 2 1 3 +2 1 5 4 6 diff --git a/examples/QUANTUM/PySCF/in.water.pyscf.qmmm b/examples/QUANTUM/PySCF/in.water.pyscf.qmmm new file mode 100644 index 0000000000..68a2c010e7 --- /dev/null +++ b/examples/QUANTUM/PySCF/in.water.pyscf.qmmm @@ -0,0 +1,46 @@ +# QMMM with PySCF - two water example + +units real +atom_style full + +pair_style lj/cut/coul/long 12 +pair_modify mix arithmetic + +bond_style harmonic +angle_style harmonic +dihedral_style none +improper_style none + +kspace_style pppm 1e-5 + +read_data data.water.pyscf + +# QM atoms are 1st water +# MM atoms are 2nd water + +group qm molecule 1 +group mm molecule 2 + +# remove bonds/angles between QM atoms +# set charges to zero on QM atoms + +delete_bonds qm multi remove special +set group qm charge 0.0 + +neighbor 2.0 bin +neigh_modify delay 0 every 1 check yes + +# QMMM dynamics + +timestep 2.0 + +fix 1 all nve + +fix 2 qm mdi/qmmm direct elements 8 1 +fix_modify 2 energy yes + +thermo_style custom step cpu temp ke evdwl ecoul epair emol elong & + f_2 pe etotal press + +thermo 1 +run 2 diff --git a/examples/QUANTUM/PySCF/in.water.pyscf.qmmm.plugin b/examples/QUANTUM/PySCF/in.water.pyscf.qmmm.plugin new file mode 100644 index 0000000000..4c9261d67b --- /dev/null +++ b/examples/QUANTUM/PySCF/in.water.pyscf.qmmm.plugin @@ -0,0 +1,49 @@ +# QMMM with PySCF +# adapted from pyscf_water/lmp.in for 2 water QMMM example + +units real +atom_style full + +pair_style lj/cut/coul/long 12 +pair_modify mix arithmetic + +bond_style harmonic +angle_style harmonic +dihedral_style none +improper_style none + +kspace_style pppm 1e-5 + +read_data data.water.pyscf + +# QM atoms are 1st water +# MM atoms are 2nd water + +group qm molecule 1 +group mm molecule 2 + +# remove bonds/angles between QM atoms +# set charges to zero on QM atoms + +delete_bonds qm multi remove special +set group qm charge 0.0 + +neighbor 2.0 bin +neigh_modify delay 0 every 1 check yes + +# QMMM dynamics + +timestep 2.0 + +fix 1 all nve + +fix 2 qm mdi/qmmm direct elements 8 1 +fix_modify 2 energy yes + +thermo_style custom step cpu temp ke evdwl ecoul epair emol elong & + f_2 pe etotal press + +thermo 1 + +mdi plugin pyscf_mdi mdi "-role ENGINE -name PySCF -method LINK" & + extra "-pbc yes" command "run 2" diff --git a/examples/QUANTUM/PySCF/pyscf_mdi.py b/examples/QUANTUM/PySCF/pyscf_mdi.py new file mode 100644 index 0000000000..459dc0d419 --- /dev/null +++ b/examples/QUANTUM/PySCF/pyscf_mdi.py @@ -0,0 +1,657 @@ +# MDI wrapper on PySCF quantum code + +# NOTE: Qs or issues to still address +# mm_radii is input to PySCF in Angstroms? +# add list of radii for all elements +# allow for changes in box size, e.g. every step for NPT +# PySCF can do DIRECT mode (LATTICE commands) for QMMM +# can it also do POTENTIAL mode (Coulomb potential at QM atoms) +# if so, add PySCF logic in evaluate() +# if not, remove support for MDI POTENTIAL_AT_NUCLEI command +# can PySCF return stress +# any other PySCF settings for users to set +# are the 3 below good default values +# is wiping out dm_previous sufficient to make it a new system +# should max_memory=10000 depend on # of MM or QM atoms +# doc what "mf" is in evaluate() +# add PySCF code for AIMD (no MM atoms) +# how to specify box for mixed BC, i.e. cell.dimension = 2 or 1 +# also need command-line options for those cases ? +# redirect PySCF output to a file ? + +import sys,time + +import numpy as np +from mpi4py import MPI +import MDI_Library as mdi + +from pyscf.gto import Mole +from pyscf.pbc.gto import Cell +from pyscf import qmmm +from pyscf.dft import RKS + +# -------------------------------------------- + +# atomic_number_to_radius converts atomic number to radius (Angstroms) +# Chemistry - A European Journal, (2009), 186-197, 15(1) + +atomic_number_to_radius = {1: 0.32, 6: 0.75, 7: 0.71, 8: 0.63, 17: 0.99} + +# ELEMENTS is from pyscf/pyscf/data/elements.py + +ELEMENTS = [ + 'H' , 'He', 'Li', 'Be', 'B' , 'C' , 'N' , 'O' , 'F' , 'Ne', + 'Na', 'Mg', 'Al', 'Si', 'P' , 'S' , 'Cl', 'Ar', 'K' , 'Ca', + 'Sc', 'Ti', 'V' , 'Cr', 'Mn', 'Fe', 'Co', 'Ni', 'Cu', 'Zn', + 'Ga', 'Ge', 'As', 'Se', 'Br', 'Kr', 'Rb', 'Sr', 'Y' , 'Zr', + 'Nb', 'Mo', 'Tc', 'Ru', 'Rh', 'Pd', 'Ag', 'Cd', 'In', 'Sn', + 'Sb', 'Te', 'I' , 'Xe', 'Cs', 'Ba', 'La', 'Ce', 'Pr', 'Nd', + 'Pm', 'Sm', 'Eu', 'Gd', 'Tb', 'Dy', 'Ho', 'Er', 'Tm', 'Yb', + 'Lu', 'Hf', 'Ta', 'W' , 'Re', 'Os', 'Ir', 'Pt', 'Au', 'Hg', + 'Tl', 'Pb', 'Bi', 'Po', 'At', 'Rn', 'Fr', 'Ra', 'Ac', 'Th', + 'Pa', 'U' , 'Np', 'Pu', 'Am', 'Cm', 'Bk', 'Cf', 'Es', 'Fm', + 'Md', 'No', 'Lr', 'Rf', 'Db', 'Sg', 'Bh', 'Hs', 'Mt', 'Ds', + 'Rg', 'Cn', 'Nh', 'Fl', 'Mc', 'Lv', 'Ts', 'Og', +] + +# atomic_number_to_symbol converts atomic number to element symbol + +atomic_number_to_symbol = {} +for i,symbol in enumerate(ELEMENTS): + atomic_number_to_symbol[i+1] = symbol + +# -------------------------------------------- +# PySCF settings +# these are default values +# options() may override them +# -------------------------------------------- + +periodic = 1 +xcstr = "wb97x" +basis = "6-31+G**" + +# -------------------------------------------- +# persistent data +# -------------------------------------------- + +world = 0 +me = nprocs = 0 +exitflag = False + +AIMD = 0 +QMMM = 1 +mode = AIMD + +# QM inputs + +flag_qm_natoms = flag_mm_natoms = 0 +flag_box = flag_box_displ = 0 +flag_qm_elements = 0 +flag_qm_coords = flag_qm_potential = 0 +flag_mm_elements = 0 +flag_mm_coords = flag_mm_charges = 0 + +box = np.empty(9) +box_displ = np.empty(3) + +qm_natoms = 0 +qm_elements = None +qm_coords = None +qm_potential = None + +mm_natoms = 0 +mm_coords = None +mm_charges = None +mm_elements = None +mm_radii = None + +# QM outputs + +qm_pe = 0.0 +qm_stress = np.empty(9) +qm_forces = None +qm_charges = None + +mm_forces = None + +# PySCF internal data + +dm_previous_exists = 0 +dm_previous = None + +# -------------------------------------------- +# print error message and halt +# -------------------------------------------- + +def error(txt): + if me == 0: print("ERROR:",txt) + world.Abort() + +# -------------------------------------------- +# process non-MDI options to PySCF +# if this script is executed independently: +# args = command-line args +# if this script is invoked as a plugin library: +# args = passed via MDI +# -------------------------------------------- + +def options(args): + global periodic,xcstr,basis + + narg = len(args) + iarg = 0 + while iarg < narg: + if args[iarg] == "-pbc": + if iarg+1 > narg: error("Invalid PySCF command line args") + if args[iarg+1] == "yes": periodic = 1 + elif args[iarg+1] == "no": periodic = 0 + else: error("Invalid PySCF command line args") + iarg += 2 + elif args[iarg] == "-xcstr": + if iarg+1 > narg: error("Invalid PySCF command line args") + xcstr = args[iarg+1] + iarg += 2 + elif args[iarg] == "-basis": + if iarg+1 > narg: error("Invalid PySCF command line args") + basis = args[iarg+1] + iarg += 2 + else: error("Invalid PySCF command line args") + +# -------------------------------------------- +# operate as an engine +# -------------------------------------------- + +def mdi_engine(other_options): + global world + + # get the MPI intra-communicator for this engine + + world = mdi.MDI_MPI_get_world_comm() + me = world.Get_rank() + nprocs = world.Get_size() + + # process non-MDI command line args + + options(other_options) + + # confirm PySCF is being run as an engine + + role = mdi.MDI_Get_Role() + if not role == mdi.MDI_ENGINE: + error("Must run PySCF as an MDI engine") + + # supported MDI commands + + mdi.MDI_Register_Node("@DEFAULT") + mdi.MDI_Register_Command("@DEFAULT","EXIT") + + # driver --> engine + + mdi.MDI_Register_Command("@DEFAULT",">NATOMS") + mdi.MDI_Register_Command("@DEFAULT",">CELL") + mdi.MDI_Register_Command("@DEFAULT",">CELL_DISPL") + mdi.MDI_Register_Command("@DEFAULT",">ELEMENTS") + mdi.MDI_Register_Command("@DEFAULT",">COORDS") + mdi.MDI_Register_Command("@DEFAULT",">POTENTIAL_AT_NUCLEI") + mdi.MDI_Register_Command("@DEFAULT",">NLATTICE") + mdi.MDI_Register_Command("@DEFAULT",">LATTICE_ELEMENTS") + mdi.MDI_Register_Command("@DEFAULT",">CLATTICE") + mdi.MDI_Register_Command("@DEFAULT",">LATTICE") + + # engine --> driver + + mdi.MDI_Register_Command("@DEFAULT","LATTICE_FORCES") + mdi.MDI_Register_Command("@DEFAULT","NATOMS": + receive_qm_natoms(mdicomm) + + elif command == ">CELL": + receive_box(mdicomm) + + elif command == ">CELL_DISPL": + receive_box_displ(mdicomm) + + elif command == ">ELEMENTS": + receive_qm_elements(mdicomm) + + elif command == ">COORDS": + receive_qm_coords(mdicomm) + + elif command == ">POTENTIAL_AT_NUCLEI": + receive_qm_potential(mdicomm) + + elif command == ">NLATTICE": + receive_mm_natoms(mdicomm) + + elif command == ">LATTICE_ELEMENTS": + receive_mm_elements(mdicomm) + + elif command == ">CLATTICE": + receive_mm_coords(mdicomm) + + elif command == ">LATTICE": + receive_mm_charges(mdicomm) + + # MDI commands which retreive quantum results + # each may also trigger the quantum calculation + + elif command == "CELL data") + world.Bcast(box,root=0) + +# -------------------------------------------- +# receive simulation box displacement vector from driver +# -------------------------------------------- + +def receive_box_displ(mdicomm): + global flag_box_displ + flag_box_displ = 1 + + ierr = mdi.MDI_Recv(3,mdi.MDI_DOUBLE,mdicomm,buf=box_displ) + if ierr: error("MDI: >CELL_DISPL data") + world.Bcast(box_displ,root=0) + +# -------------------------------------------- +# receive QM atom coords from driver +# -------------------------------------------- + +def receive_qm_coords(mdicomm): + global flag_qm_coords + flag_qm_coords = 1 + + if not qm_natoms: error("Cannot MDI >COORDS if # of QM atoms = 0") + + ierr = mdi.MDI_Recv(3*qm_natoms,mdi.MDI_DOUBLE,mdicomm,buf=qm_coords) + if ierr: error("MDI: >COORDS data") + world.Bcast(qm_coords,root=0) + +# -------------------------------------------- +# receive Coulomb potential at QM nuclei from driver +# -------------------------------------------- + +def receive_qm_potential(mdicomm): + global flag_qm_potential + flag_qm_potential = 1 + + if not qm_natoms: error("Cannot MDI >POTENTIAL_AT_NUCLEI if # of QM atoms = 0") + + ierr = mdi.MDI_Recv(qm_natoms,mdi.MDI_DOUBLE,mdicomm,buf=qm_potential) + if ierr: error("MDI: >POTENTIAL_AT_NUCLEI data") + world.Bcast(qm_potential,root=0) + +# -------------------------------------------- +# receive QM atomic numbers from driver +# -------------------------------------------- + +def receive_qm_elements(mdicomm): + global flag_qm_elements + flag_qm_elements = 1 + + if not qm_natoms: error("Cannot MDI >ELEMENTS if # of QM atoms = 0") + + ierr = mdi.MDI_Recv(qm_natoms,mdi.MDI_INT,mdicomm,buf=qm_elements) + if ierr: error("MDI: >ELEMENTS data") + world.Bcast(qm_elements,root=0) + +# -------------------------------------------- +# receive count of MM atoms from driver +# -------------------------------------------- + +def receive_mm_natoms(mdicomm): + global flag_mm_natoms,mm_natoms + flag_mm_natoms = 1 + + mm_natoms = mdi.MDI_Recv(1,mdi.MDI_INT,mdicomm) + mm_natoms = world.bcast(mm_natoms,root=0) + allocate("mm") + +# -------------------------------------------- +# receive MM atomic numbers from driver +# -------------------------------------------- + +def receive_mm_elements(mdicomm): + global flag_mm_elements + flag_mm_elements = 1 + + if not mm_natoms: error("Cannot MDI >LATTICE_ELEMENTS if # of MM atoms = 0") + + ierr = mdi.MDI_Recv(mm_natoms,mdi.MDI_INT,mdicomm,buf=mm_elements) + if ierr: error("MDI: >LATTICE_ELEMENTS data") + world.Bcast(mm_elements,root=0) + +# -------------------------------------------- +# receive MM atom coords from driver +# -------------------------------------------- + +def receive_mm_coords(mdicomm): + global flag_mm_coords + flag_mm_coords = 1 + + if not mm_natoms: error("Cannot MDI >CLATTICE if # of MM atoms = 0") + + ierr = mdi.MDI_Recv(3*mm_natoms,mdi.MDI_DOUBLE,mdicomm,buf=mm_coords) + if ierr: error("MDI: >CLATTICE data") + world.Bcast(mm_coords,root=0) + +# -------------------------------------------- +# receive charge on MM atoms from driver +# -------------------------------------------- + +def receive_mm_charges(mdicomm): + global flag_mm_charges + flag_mm_charges = 1 + + if not mm_natoms: error("Cannot MDI >LATTICE if # of MM atoms = 0") + + ierr = mdi.MDI_Recv(mm_natoms,mdi.MDI_DOUBLE,mdicomm,buf=mm_charges) + if ierr: error("MDI: >LATTICE data") + world.Bcast(mm_charges,root=0) + +# -------------------------------------------- +# allocate persistent data for QM or MM atoms +# called when qm_natoms or mm_natoms is reset by MDI driver +# -------------------------------------------- + +def allocate(which): + global qm_elements,qm_coords,qm_potential,qm_forces,qm_charges + global mm_elements,mm_coords,mm_charges,mm_forces + + if which == "qm": + n = qm_natoms + qm_elements = np.empty(n,dtype=np.int32) + qm_coords = np.empty((n,3)) + qm_potential = np.empty(n) + qm_forces = np.empty((n,3)) + qm_charges = np.empty(n) + + if which == "mm": + n = mm_natoms + mm_elements = np.empty(n,dtype=np.int32) + mm_coords = np.empty((n,3)) + mm_charges = np.empty(n) + mm_forces = np.empty((n,3)) + +# -------------------------------------------- +# perform a quantum calculation via PySCF +# -------------------------------------------- + +def evaluate(): + global mode; + global flag_qm_natoms,flag_mm_natoms + global flag_box,flag_box_displ + global flag_qm_elements,flag_qm_coords,flag_qm_potential + global flag_mm_elements,flag_mm_coords,flag_mm_charges + global qm_pe,qm_stress,qm_forces,qm_charges + global mm_forces + global dm_previous_exists,dm_previous + + # just return if the QM system was already evaluated + # happens when multiple results are requested by driver + + any_flag = flag_qm_natoms + flag_mm_natoms + flag_box + flag_box_displ + \ + flag_qm_elements + flag_qm_coords + flag_qm_potential + \ + flag_mm_elements + flag_mm_coords + flag_mm_charges + if not any_flag: return + + # if any of these MDI commands received from LAMMPS, + # treat it as a brand new system + + new_system = 0 + if flag_qm_natoms or flag_mm_natoms: new_system = 1 + if flag_qm_elements or flag_mm_elements: new_system = 1 + if new_system: + if flag_mm_natoms or flag_qm_potential: mode = QMMM + else: mode = AIMD + dm_previous_exists = 0 + + # if new system, error check that all needed MDI calls have been made + + if new_system: + if periodic and not flag_box: + error("Simulation box not specified for periodic system") + if not flag_qm_natoms: error("QM atom count not specified") + if not flag_qm_elements or not flag_qm_coords: + error("QM atom properties not fully specified") + if flag_mm_natoms: + if not flag_mm_elements or not flag_mm_coords or not flag_mm_charges: + error("MM atom properties not fully specified") + + # PySCF inputs for QM and MM atoms + # box, qm_coords, mm_coords must be converted to Angstroms + + bohr_to_angstrom = mdi.MDI_Conversion_factor("bohr","angstrom") + + box_A = box * bohr_to_angstrom + qm_coords_A = qm_coords * bohr_to_angstrom + mm_coords_A = mm_coords * bohr_to_angstrom + + qm_symbols = [atomic_number_to_symbol[anum] for anum in qm_elements] + mm_radii = [atomic_number_to_radius[anum] for anum in mm_elements] + + #pos2str = lambda pos: " ".join([str(x) for x in qm_coords_A]) + #atom_str = [f"{a} {pos2str(pos)}\n" for a,pos in zip(qm_symbols,qm_coords_A)] + + clines = ["%s %20.16g %20.16g %20.16g" % (symbol,xyz[0],xyz[1],xyz[2]) + for symbol,xyz in zip(qm_symbols,qm_coords_A)] + atom_str = "\n".join(clines) + + if periodic: + edge_vec = "%20.16g %20.16g %20.16g" + box_str = "%s\n%s\n%s" % (edge_vec,edge_vec,edge_vec) + box_str = box_str % \ + (box_A[0],box_A[1],box_A[2],box_A[3],box_A[4],box_A[5],box_A[6],box_A[7],box_A[8]) + + print("ATOM STR:",atom_str) + print("BOX STR:",box_str) + print("MM COORDS:",mm_coords) + print("MM CHARGES:",mm_charges) + print("MM RADII:",mm_radii) + + # build PySCF system + # use Cell for periodic, Mole for non-periodic + + if periodic: + cell = Cell() + cell.atom = atom_str + cell.a = box_str + cell.max_memory = 10000 + cell.basis = basis + cell.build() + else: + mol = Mole() + mol.atom = atom_str + mol.max_memory = 10000 + mol.basis = basis + mol.build() + + # QMMM with QM and MM atoms + # mf = ??? + # qm_pe = QM energy + QM/MM energy + # QM energy = QM_nuclear/QM_nuclear + electron/QM_nuclear + electron/electron + # QM/MM energy = QM_nuclear/MM_charges + electron/MM_charges + # qm_forces = QM forces = same 3 terms + # mm_forces = QM/MM forces = same 2 terms + # dm = molecular orbitals (wave functions) for system + + if mode == QMMM: + if periodic: mf = RKS(cell,xc=xcstr) + else: mf = RKS(mol,xc=xcstr) + mf = qmmm.mm_charge(mf,mm_coords,mm_charges,mm_radii) + + if dm_previous_exists: + qm_pe = mf.kernel(dm0=dm_previous) + else: + qm_pe = mf.kernel() + + mf_grad = mf.nuc_grad_method() + qm_forces = -mf_grad.kernel() + dm = mf.make_rdm1() + mm_forces = -(mf_grad.grad_nuc_mm() + mf_grad.contract_hcore_mm(dm)) + + dm_previous_exists = 1 + dm_previous = dm + + # AIMD with only QM atoms + + elif mode == AIMD: + pass + + # clear flags for all MDI commands for next QM evaluation + + flag_qm_natoms = flag_mm_natoms = 0 + flag_box = flag_box_displ = 0 + flag_qm_elements = 0 + flag_qm_coords = flag_qm_potential = 0 + flag_mm_elements = 0 + flag_mm_coords = flag_mm_charges = 0 + +# -------------------------------------------- +# function called by MDI driver +# only when it invokes pyscf_mdi.py as a plugin +# -------------------------------------------- + +def MDI_Plugin_init_pyscf_mdi(plugin_state): + + # other_options = all non-MDI args + # -mdi arg is processed and stripped internally by MDI + + print("PLUGIN entry") + + other_options = [] + + mdi.MDI_Set_plugin_state(plugin_state) + narg = mdi.MDI_Plugin_get_argc() + + for iarg in range(narg): + arg = mdi.MDI_Plugin_get_arg(iarg) + other_options.append(arg) + + # start running as an MDI engine + + mdi_engine(other_options) + +# -------------------------------------------- +# main program +# invoked when MDI driver and pyscf_mdi.py +# are run as independent executables +# -------------------------------------------- + +if __name__== "__main__": + + # mdi_option = single arg in quotes that follows -mdi + # other_options = all non-MDI args + + mdi_option = "" + other_options = [] + + narg = len(sys.argv) + args = sys.argv + + iarg = 1 + while iarg < narg: + arg = args[iarg] + if arg == "-mdi" or arg == "--mdi": + if narg > iarg+1: mdi_option = sys.argv[iarg+1] + else: error("PySCF -mdi argument not provided") + iarg += 1 + else: other_options.append(arg) + iarg += 1 + + if not mdi_option: error("PySCF -mdi option not provided") + + # call MDI_Init with just -mdi option + + mdi.MDI_Init(mdi_option) + + # start running as an MDI engine + + mdi_engine(other_options) diff --git a/examples/QM/README b/examples/QUANTUM/README similarity index 76% rename from examples/QM/README rename to examples/QUANTUM/README index 6028d2be8d..009ae3ffc1 100644 --- a/examples/QM/README +++ b/examples/QUANTUM/README @@ -5,7 +5,16 @@ LATTE = semi-empirical tight-binding code from LANL https://www.osti.gov/biblio/1526907-los-alamos-transferable-tight-binding-energetics-latte-version https://github.com/lanl/LATTE -To be added later (as of Aug 2022): +PySCF = ??? from Caltech + add link + +----------------------------------------------------- + +To be added later (as of Jan 2023): + +NWChem = computational chemistry code from PNNL + focus here is on DFT portion of NWChem = PWDFT + https://www.nwchem-sw.org Quantum Espresso (QE) = DFT code for materials modeling https://www.quantum-espresso.org/ @@ -16,6 +25,3 @@ DFT-FE = real-space DFT code from U Michigan INQ = DFT code from LLNL https://github.com/LLNL/inq -NWChem = computational chemistry code from PNNL - focus here is on DFT portion of NWChem - https://www.nwchem-sw.org From e7bcdc63e5c8ad4f1a0d21f9d08f61d1c89cb6be Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 31 Jan 2023 07:43:20 -0700 Subject: [PATCH 065/448] add instructions for running 2-water QMMM PySCF problem --- examples/QUANTUM/PySCF/README | 37 +++++++++++++++++++++++------------ examples/README | 2 +- lib/mdi/Install.py | 2 +- 3 files changed, 26 insertions(+), 15 deletions(-) diff --git a/examples/QUANTUM/PySCF/README b/examples/QUANTUM/PySCF/README index 775ceb8015..a2e66aecea 100644 --- a/examples/QUANTUM/PySCF/README +++ b/examples/QUANTUM/PySCF/README @@ -10,8 +10,14 @@ Step 4: run 2-water QMMM problem for a few steps Step 1: build LAMMPS +The molecule and kspace packages are needed for the 2-water test +problem. Copy the final LAMMPS executable into the +examples/QUANTUM/PySCF directory. + Traditional make: +% cd ~/lammps/lib/mdi +% python Install.py -m mpi % cd ~/lammps/src % make yes-mdi yes-molecule yes-kspace % make -j mpi @@ -21,17 +27,14 @@ CMake: % cd ~/lammps % mkdir build_test; cd build_test -% cmake ../cmake -D PKG_MDI=yes -D PKG_MOLECULE=yes -D PKG_KSPACE=yes +% cmake -D PKG_MDI=yes -D PKG_MOLECULE=yes -D PKG_KSPACE=yes ../cmake % make -j -% cp lmp_mpi ~/lammps/examples/QUANTUM/PySCF +% cp lmp ~/lammps/examples/QUANTUM/PySCF/lmp_mpi -Note: the molecule and kspace packages are needed for the water test -problem. - --------------------------------- --------------------------------- -Step 2: download/build the MDI code coupling package +Step 2: install the MDI code coupling package (a) grab the MDI Git repo @@ -42,20 +45,28 @@ Step 2: download/build the MDI code coupling package % cd mdi/git % mkdir build; cd build -% cmake .. # include support for all langauges +% cmake .. % make -j -(c) install mdi.py into your Python: +(c) Add something similar to the following to your .bashrc or .cshrc +file so that Python can find MDI: -% cd mdi/git -% pip3 install . +For bash: + +% export PYTHONPATH="$PYTHONPATH:/home/sjplimp/mdi/git" +% hash -r + +For (t)csh: + +% setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/mdi/git +% rehash --------------------------------- --------------------------------- -Step 3: download/build or install PySCF +Step 3: install PySCF -(a) install PySCF on your box +(a) download/build or install PySCF on your box NOTE: add instructions here @@ -84,7 +95,7 @@ that wraps PySCF will need: --------------------------------- --------------------------------- -Step 4: run 2-water QMMM problem for a few steps +Step 4: run the 2-water QMMM problem for a few steps % cd ~/lammps/examples/QUANTUM/PySCF diff --git a/examples/README b/examples/README index c1c1c7dcd5..8a12d3fae4 100644 --- a/examples/README +++ b/examples/README @@ -190,7 +190,7 @@ corresponding doc page in the manual for more info. See the https://docs.lammps.org/Build_package.html page for more info about installing and building packages. -The QM directory has examples of how to use LAMMPS in tandem with +The QUANTUM directory has examples of how to use LAMMPS in tandem with several quantum codes. The TIP4P directory has an example for testing forces computed on a diff --git a/lib/mdi/Install.py b/lib/mdi/Install.py index 59d218b1f9..7dd20459b6 100644 --- a/lib/mdi/Install.py +++ b/lib/mdi/Install.py @@ -32,7 +32,7 @@ make lib-mdi args="-m mpi" # build MDI lib with same settings as in the mpi Make # settings -version = "1.4.12" +version = "1.4.14" url = "https://github.com/MolSSI-MDI/MDI_Library/archive/v%s.tar.gz" % version # known checksums for different MDI versions. used to validate the download. From be2225676545cb9d78ac20001a9183fe0514e560 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 31 Jan 2023 07:44:23 -0700 Subject: [PATCH 066/448] edits --- examples/QUANTUM/PySCF/README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/QUANTUM/PySCF/README b/examples/QUANTUM/PySCF/README index a2e66aecea..899a08f30e 100644 --- a/examples/QUANTUM/PySCF/README +++ b/examples/QUANTUM/PySCF/README @@ -26,7 +26,7 @@ Traditional make: CMake: % cd ~/lammps -% mkdir build_test; cd build_test +% mkdir build; cd build % cmake -D PKG_MDI=yes -D PKG_MOLECULE=yes -D PKG_KSPACE=yes ../cmake % make -j % cp lmp ~/lammps/examples/QUANTUM/PySCF/lmp_mpi From dc5980ab7e08a10bb4dae144a494ad9ff5718683 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 31 Jan 2023 08:04:25 -0700 Subject: [PATCH 067/448] coments --- examples/QUANTUM/PySCF/pyscf_mdi.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/QUANTUM/PySCF/pyscf_mdi.py b/examples/QUANTUM/PySCF/pyscf_mdi.py index 459dc0d419..fc2e448620 100644 --- a/examples/QUANTUM/PySCF/pyscf_mdi.py +++ b/examples/QUANTUM/PySCF/pyscf_mdi.py @@ -71,7 +71,7 @@ xcstr = "wb97x" basis = "6-31+G**" # -------------------------------------------- -# persistent data +# global data # -------------------------------------------- world = 0 @@ -114,7 +114,7 @@ qm_charges = None mm_forces = None -# PySCF internal data +# PySCF internal data to persist state from one step to next dm_previous_exists = 0 dm_previous = None From b4ac95b22543fa1c796d32b9f98c6cd53a8bde90 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 31 Jan 2023 12:40:54 -0700 Subject: [PATCH 068/448] add support for NWChem in examples/QUANTUM --- examples/QUANTUM/NWChem/README | 119 ++++ examples/QUANTUM/NWChem/data.water.nwchem | 48 ++ examples/QUANTUM/NWChem/in.water.nwchem.qmmm | 70 ++ .../NWChem/in.water.nwchem.qmmm.plugin | 72 ++ examples/QUANTUM/NWChem/nwchem_mdi.py | 662 ++++++++++++++++++ examples/QUANTUM/NWChem/template.water.nw | 17 + examples/QUANTUM/README | 12 +- 7 files changed, 994 insertions(+), 6 deletions(-) create mode 100644 examples/QUANTUM/NWChem/README create mode 100644 examples/QUANTUM/NWChem/data.water.nwchem create mode 100644 examples/QUANTUM/NWChem/in.water.nwchem.qmmm create mode 100644 examples/QUANTUM/NWChem/in.water.nwchem.qmmm.plugin create mode 100644 examples/QUANTUM/NWChem/nwchem_mdi.py create mode 100644 examples/QUANTUM/NWChem/template.water.nw diff --git a/examples/QUANTUM/NWChem/README b/examples/QUANTUM/NWChem/README new file mode 100644 index 0000000000..3d570cb609 --- /dev/null +++ b/examples/QUANTUM/NWChem/README @@ -0,0 +1,119 @@ +# Test runs of QMMM with LAMMPS and NWChem + +Step 1: build LAMMPS +Step 2: download/build the MDI code coupling package +Step 3: download/build NWChem PWDFT +Step 4: run 2-water QMMM problem for a few steps + +--------------------------------- +--------------------------------- + +Step 1: build LAMMPS + +The molecule package is needed for the 2-water test +problem. Copy the final LAMMPS executable into the +examples/QUANTUM/NWChem directory. + +Traditional make: + +% cd ~/lammps/lib/mdi +% python Install.py -m mpi +% cd ~/lammps/src +% make yes-mdi yes-molecule +% make -j mpi +% cp lmp_mpi ~/lammps/examples/QUANTUM/NWChem + +CMake: + +% cd ~/lammps +% mkdir build; cd build +% cmake -D PKG_MDI=yes -D PKG_MOLECULE=yes ../cmake +% make -j +% cp lmp ~/lammps/examples/QUANTUM/NWChem/lmp_mpi + +--------------------------------- +--------------------------------- + +Step 2: install the MDI code coupling package + +(a) grab the MDI Git repo + +% mkdir mdi; cd mdi +% git clone git@github.com:MolSSI-MDI/MDI_Library.git git + +(b) build MDI + +% cd mdi/git +% mkdir build; cd build +% cmake .. +% make -j + +(c) Add something similar to the following to your .bashrc or .cshrc +file so that Python can find MDI: + +For bash: + +% export PYTHONPATH="$PYTHONPATH:/home/sjplimp/mdi/git" +% hash -r + +For (t)csh: + +% setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/mdi/git +% rehash + +(d) Check that you can import the 3 Python modules which the script +that wraps PySCF will need: + +% python +>>> import numpy as np +>>> from mpi4py import MPI +>>> import MDI_Library as mdi + +--------------------------------- +--------------------------------- + +Step 3: download/build NWChem PWDFT + +(a) grab the PWDFT Git repo + +% mkdir nwchem; cd nwchem +% git clone git@github.com:ebylaska/PWDFT.git PWDFT + +(b) build PWDFT + +% cd nwchem/PWDFT +% cd build_library; rm -r * +% cmake ../Nwpw -DMAKE_LIBRARY=true -DCMAKE_POSITION_INDEPENDENT_CODE=ON +% make -j # should produce libpwdft.so in build_library + +(c) Add something similar to the following to your .bashrc or .cshrc +file so that the Python wrapper script can find libpwdft.so: + +For bash: + +% export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/home/sjplimp/nwchem/PWDFT/build_library" +% hash -r + +For (t)csh: + +% setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/home/sjplimp/nwchem/PWDFT/build_library +% rehash + +--------------------------------- +--------------------------------- + +Step 4: run the 2-water QMMM problem for a few steps + +% cd ~/lammps/examples/QUANTUM/NWChem + +lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.water.nwchem.qmmm.tcp.1 -in in.water.nwchem.qmmm & + +python nwchem_mdi.py -mdi "-name NWChem -role ENGINE -method TCP -port 8021 -hostname localhost" template.water.nw water.dimer.nw log.water.pwdft.qmmm.tcp.1 + +# Run with MPI: 1 proc each + +mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.water.nwchem.qmmm.mpi.1 -in in.water.nwchem.qmmm : -np 1 python nwchem_mdi.py -mdi "-name NWChem -role ENGINE -method MPI" template.water.nw water.dimer.nw log.water.pwdft.qmmm.mpi.1 + +# Run in plugin mode: 1 proc + +lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/work_qm" -log log.water.nwchem.qmmm.plugin.1 -in in.water.nwchem.qmmm.plugin diff --git a/examples/QUANTUM/NWChem/data.water.nwchem b/examples/QUANTUM/NWChem/data.water.nwchem new file mode 100644 index 0000000000..cd21c69f52 --- /dev/null +++ b/examples/QUANTUM/NWChem/data.water.nwchem @@ -0,0 +1,48 @@ +LAMMPS data file for water dimer in large box - for QMMM with different types + +6 atoms +4 atom types +4 bonds +1 bond types +2 angles +1 angle types + +-6.879301 6.879301 xlo xhi +-6.879301 6.879301 ylo yhi +-6.879301 6.879301 zlo zhi + +Masses + +1 15.99491 +2 1.008 +3 15.99491 +4 1.008 + +Bond Coeffs + +1 554.25 1.0 + +Angle Coeffs + +1 47.744 109.4 + +Atoms + +1 1 1 -0.8476 0.161560 -0.052912 0.033173 +2 1 2 0.4238 0.803054 0.369132 -0.511660 +3 1 2 0.4238 -0.325571 -0.669574 -0.488560 +4 2 3 -0.8476 0.021259 0.506771 2.831278 +5 2 4 0.4238 -0.721039 1.083100 2.758378 +6 2 4 0.4238 0.158220 0.181883 1.945696 + +Bonds + +1 1 1 2 +2 1 1 3 +3 1 4 5 +4 1 4 6 + +Angles + +1 1 2 1 3 +2 1 5 4 6 diff --git a/examples/QUANTUM/NWChem/in.water.nwchem.qmmm b/examples/QUANTUM/NWChem/in.water.nwchem.qmmm new file mode 100644 index 0000000000..4b44002f58 --- /dev/null +++ b/examples/QUANTUM/NWChem/in.water.nwchem.qmmm @@ -0,0 +1,70 @@ +# QMMM with NWChem + +units real +atom_style full + +bond_style harmonic +angle_style harmonic + +read_data data.water.nwchem + +# QM atoms are 1st water +# MM atoms are 2nd water + +group qm molecule 1 +group mm molecule 2 + +# remove bonds/angles between QM atoms + +delete_bonds qm multi remove special + +# pair style must define stand-alone short-range Coulombics +# must specify mixing explicitly b/c hybrid/overlay +# QM O,H = types 1,2 +# MM O,H = types 3,4 +# QM O,H atoms do not LJ interact with each other +# only MM O atoms LJ interact with other b/c MM H is zero +# MM/QM O do LJ interact with each other, same as pair of MM O atoms +# MM O and QM H do LJ interact with each other with non-zero H epsilon = 0.044 +# geometric mixing for epsilon, arithmetic for sigma +# this is to provide stability for QM H atoms + +# mixing only for MM-O/QM-O and MM-O/QM-H + +pair_style hybrid/overlay lj/cut 6.0 coul/cut 6.0 +pair_coeff 1 1 lj/cut 0.0 3.165558 +pair_coeff 2 2 lj/cut 0.0 0.7 +pair_coeff 3 3 lj/cut 0.155394 3.165558 +pair_coeff 4 4 lj/cut 0.0 0.7 +pair_coeff 1 3 lj/cut 0.155394 3.165558 +pair_coeff 2 3 lj/cut 0.08268818537130924 1.932779 +pair_coeff * * coul/cut + +neighbor 1.0 bin +neigh_modify delay 0 every 1 check yes + +# QMMM dynamics + +timestep 0.1 + +fix 1 all nve + +fix 2 qm mdi/qmmm potential elements 8 1 8 1 +#fix 2 qm nwchem template.water.nw water.dimer2.nw & +# log.pwdft.water.dimer O H O H +fix_modify 2 energy yes + +thermo_style custom step cpu temp ke evdwl ecoul epair emol elong & + f_2 pe etotal press + +# convert dump file forces to Hartree/Bohr for comparison to NWChem + +variable fx atom fx/1185.8 +variable fy atom fy/1185.8 +variable fz atom fz/1185.8 + +dump 1 all custom 1 dump.water.nwchem.qmmm id x y z q v_fx v_fy v_fz +dump_modify 1 sort id format float "%20.16g" + +thermo 1 +run 2 diff --git a/examples/QUANTUM/NWChem/in.water.nwchem.qmmm.plugin b/examples/QUANTUM/NWChem/in.water.nwchem.qmmm.plugin new file mode 100644 index 0000000000..4460a04dc8 --- /dev/null +++ b/examples/QUANTUM/NWChem/in.water.nwchem.qmmm.plugin @@ -0,0 +1,72 @@ +# QMMM with NWChem + +units real +atom_style full + +bond_style harmonic +angle_style harmonic + +read_data data.water.nwchem + +# QM atoms are 1st water +# MM atoms are 2nd water + +group qm molecule 1 +group mm molecule 2 + +# remove bonds/angles between QM atoms + +delete_bonds qm multi remove special + +# pair style must define stand-alone short-range Coulombics +# must specify mixing explicitly b/c hybrid/overlay +# QM O,H = types 1,2 +# MM O,H = types 3,4 +# QM O,H atoms do not LJ interact with each other +# only MM O atoms LJ interact with other b/c MM H is zero +# MM/QM O do LJ interact with each other, same as pair of MM O atoms +# MM O and QM H do LJ interact with each other with non-zero H epsilon = 0.044 +# geometric mixing for epsilon, arithmetic for sigma +# this is to provide stability for QM H atoms + +# mixing only for MM-O/QM-O and MM-O/QM-H + +pair_style hybrid/overlay lj/cut 6.0 coul/cut 6.0 +pair_coeff 1 1 lj/cut 0.0 3.165558 +pair_coeff 2 2 lj/cut 0.0 0.7 +pair_coeff 3 3 lj/cut 0.155394 3.165558 +pair_coeff 4 4 lj/cut 0.0 0.7 +pair_coeff 1 3 lj/cut 0.155394 3.165558 +pair_coeff 2 3 lj/cut 0.08268818537130924 1.932779 +pair_coeff * * coul/cut + +neighbor 1.0 bin +neigh_modify delay 0 every 1 check yes + +# QMMM dynamics + +timestep 0.1 + +fix 1 all nve + +fix 2 qm mdi/qmmm potential elements 8 1 8 1 +fix_modify 2 energy yes + +thermo_style custom step cpu temp ke evdwl ecoul epair emol elong & + f_2 pe etotal press + +# convert dump file forces to Hartree/Bohr for comparison to NWChem + +variable fx atom fx/1185.8 +variable fy atom fy/1185.8 +variable fz atom fz/1185.8 + +dump 1 all custom 1 dump.water.dimer.qmmm.plugin & + id x y z q v_fx v_fy v_fz +dump_modify 1 sort id format float "%20.16g" + +thermo 1 + +mdi plugin nwchem_mdi mdi "-role ENGINE -name NWChem -method LINK" & + extra "template.water.nw water.dimer.nw log.water.pwdft.qmmm.plugin.1" & + command "run 2" diff --git a/examples/QUANTUM/NWChem/nwchem_mdi.py b/examples/QUANTUM/NWChem/nwchem_mdi.py new file mode 100644 index 0000000000..0208a269a4 --- /dev/null +++ b/examples/QUANTUM/NWChem/nwchem_mdi.py @@ -0,0 +1,662 @@ +# MDI wrapper on NWChem PWDFT code + +# NOTE: Qs or issues to still address +# test if works for both AIMD and QMMM +# can series of problem be run via lib interface input_filename() ? +# how does PBC vs non-PBC work, just box size in NWC input file +# or maybe other settings in that file? +# can NWChem return stress? +# can NWChem do DIRECT mode? +# any options for 2d or 1d periodic? +# allow for box size changes, e.g. every step for NPT +# check NWC func call error returns ? + +import sys,time +from ctypes import * + +import numpy as np +from mpi4py import MPI +import MDI_Library as mdi + +# -------------------------------------------- + +ELEMENTS = [ + 'H' , 'He', 'Li', 'Be', 'B' , 'C' , 'N' , 'O' , 'F' , 'Ne', + 'Na', 'Mg', 'Al', 'Si', 'P' , 'S' , 'Cl', 'Ar', 'K' , 'Ca', + 'Sc', 'Ti', 'V' , 'Cr', 'Mn', 'Fe', 'Co', 'Ni', 'Cu', 'Zn', + 'Ga', 'Ge', 'As', 'Se', 'Br', 'Kr', 'Rb', 'Sr', 'Y' , 'Zr', + 'Nb', 'Mo', 'Tc', 'Ru', 'Rh', 'Pd', 'Ag', 'Cd', 'In', 'Sn', + 'Sb', 'Te', 'I' , 'Xe', 'Cs', 'Ba', 'La', 'Ce', 'Pr', 'Nd', + 'Pm', 'Sm', 'Eu', 'Gd', 'Tb', 'Dy', 'Ho', 'Er', 'Tm', 'Yb', + 'Lu', 'Hf', 'Ta', 'W' , 'Re', 'Os', 'Ir', 'Pt', 'Au', 'Hg', + 'Tl', 'Pb', 'Bi', 'Po', 'At', 'Rn', 'Fr', 'Ra', 'Ac', 'Th', + 'Pa', 'U' , 'Np', 'Pu', 'Am', 'Cm', 'Bk', 'Cf', 'Es', 'Fm', + 'Md', 'No', 'Lr', 'Rf', 'Db', 'Sg', 'Bh', 'Hs', 'Mt', 'Ds', + 'Rg', 'Cn', 'Nh', 'Fl', 'Mc', 'Lv', 'Ts', 'Og', +] + +# atomic_number_to_symbol converts atomic number to element symbol + +atomic_number_to_symbol = {} +for i,symbol in enumerate(ELEMENTS): + atomic_number_to_symbol[i+1] = symbol + +# -------------------------------------------- +# global data +# -------------------------------------------- + +world = 0 +me = nprocs = 0 + +if MPI._sizeof(MPI.Comm) == sizeof(c_int): + MPI_Comm = c_int +else: + MPI_Comm = c_void_p + +exitflag = False + +AIMD = 0 +QMMM = 1 +mode = AIMD + +# NWChem PWDFT library + +libname = "libpwdft.so" +libpwdft = None + +# QM inputs + +nw_template = "" +nw_infile = "" +nw_outfile = "" + +flag_qm_natoms = flag_mm_natoms = 0 +flag_box = flag_box_displs = 0 +flag_qm_elements = 0 +flag_qm_coords = flag_qm_potential = 0 +flag_mm_elements = 0 +flag_mm_coords = flag_mm_charges = 0 + +box = np.empty(9) +box_displ = np.empty(3) + +qm_natoms = 0 +qm_elements = None +qm_coords = None +qm_potential = None + +mm_natoms = 0 +mm_coords = None +mm_charges = None +mm_elements = None + +# QM outputs + +qm_pe = 0.0 +qm_stress = np.empty(9) +qm_forces = None +qm_charges = None + +mm_forces = None + +# -------------------------------------------- +# print error message and halt +# -------------------------------------------- + +def error(txt): + if me == 0: print("ERROR:",txt) + world.Abort() + +# -------------------------------------------- +# process non-MDI options to PWDFT +# if this script is executed independently: +# args = command-line args +# if this script is invoked as a plugin library: +# args = passed via MDI +# -------------------------------------------- + +def options(other_options): + global nw_template,nw_infile,nw_outfile + if len(other_options) != 3: + error("Invalid args to NWChem wrapper: template_file infile outfile") + nw_template = other_options[0] + nw_infile = other_options[1] + nw_outfile = other_options[2] + +# -------------------------------------------- +# operate as an engine +# -------------------------------------------- + +def mdi_engine(other_options): + global world,MPI_Comm,libpwdft + + # get the MPI intra-communicator for this engine + + world = mdi.MDI_MPI_get_world_comm() + me = world.Get_rank() + nprocs = world.Get_size() + + # process non-MDI command line args + + options(other_options) + + # confirm PWDFT is being run as an engine + + role = mdi.MDI_Get_Role() + if not role == mdi.MDI_ENGINE: + error("Must run NWChem as an MDI engine") + + # supported MDI commands + + mdi.MDI_Register_Node("@DEFAULT") + mdi.MDI_Register_Command("@DEFAULT","EXIT") + + # driver --> engine + + mdi.MDI_Register_Command("@DEFAULT",">NATOMS") + mdi.MDI_Register_Command("@DEFAULT",">CELL") + mdi.MDI_Register_Command("@DEFAULT",">CELL_DISPLS") + mdi.MDI_Register_Command("@DEFAULT",">ELEMENTS") + mdi.MDI_Register_Command("@DEFAULT",">COORDS") + mdi.MDI_Register_Command("@DEFAULT",">POTENTIAL_AT_NUCLEI") + mdi.MDI_Register_Command("@DEFAULT",">NLATTICE") + mdi.MDI_Register_Command("@DEFAULT",">LATTICE_ELEMENTS") + mdi.MDI_Register_Command("@DEFAULT",">CLATTICE") + mdi.MDI_Register_Command("@DEFAULT",">LATTICE") + + # engine --> driver + + mdi.MDI_Register_Command("@DEFAULT","LATTICE_FORCES") + mdi.MDI_Register_Command("@DEFAULT","NATOMS": + receive_qm_natoms(mdicomm) + + elif command == ">CELL": + receive_box(mdicomm) + + elif command == ">CELL_DISPL": + receive_box_displ(mdicomm) + + elif command == ">ELEMENTS": + receive_qm_elements(mdicomm) + + elif command == ">COORDS": + receive_qm_coords(mdicomm) + + elif command == ">POTENTIAL_AT_NUCLEI": + receive_qm_potential(mdicomm) + + elif command == ">NLATTICE": + receive_mm_natoms(mdicomm) + + elif command == ">LATTICE_ELEMENTS": + receive_mm_elements(mdicomm) + + elif command == ">CLATTICE": + receive_mm_coords(mdicomm) + + elif command == ">LATTICE": + receive_mm_charges(mdicomm) + + # MDI commands which retreive quantum results + # each may also trigger the quantum calculation + + elif command == "CELL data") + world.Bcast(box,root=0) + +# -------------------------------------------- +# receive simulation box displacement vector from driver +# -------------------------------------------- + +def receive_box_displ(mdicomm): + global flag_box_displ + flag_box_displ = 1 + + ierr = mdi.MDI_Recv(3,mdi.MDI_DOUBLE,mdicomm,buf=box_displ) + if ierr: error("MDI: >CELL_DISPL data") + world.Bcast(box_displ,root=0) + +# -------------------------------------------- +# receive QM atom coords from driver +# -------------------------------------------- + +def receive_qm_coords(mdicomm): + global flag_qm_coords + flag_qm_coords = 1 + + if not qm_natoms: error("Cannot MDI >COORDS if # of QM atoms = 0") + + ierr = mdi.MDI_Recv(3*qm_natoms,mdi.MDI_DOUBLE,mdicomm,buf=qm_coords) + if ierr: error("MDI: >COORDS data") + world.Bcast(qm_coords,root=0) + +# -------------------------------------------- +# receive Coulomb potential at QM nuclei from driver +# -------------------------------------------- + +def receive_qm_potential(mdicomm): + global flag_qm_potential + flag_qm_potential = 1 + + if not qm_natoms: error("Cannot MDI >POTENTIAL_AT_NUCLEI if # of QM atoms = 0") + + ierr = mdi.MDI_Recv(qm_natoms,mdi.MDI_DOUBLE,mdicomm,buf=qm_potential) + if ierr: error("MDI: >POTENTIAL_AT_NUCLEI data") + world.Bcast(qm_potential,root=0) + +# -------------------------------------------- +# receive QM atomic numbers from driver +# -------------------------------------------- + +def receive_qm_elements(mdicomm): + global flag_qm_elements + flag_qm_elements = 1 + + if not qm_natoms: error("Cannot MDI >ELEMENTS if # of QM atoms = 0") + + ierr = mdi.MDI_Recv(qm_natoms,mdi.MDI_INT,mdicomm,buf=qm_elements) + if ierr: error("MDI: >ELEMENTS data") + world.Bcast(qm_elements,root=0) + +# -------------------------------------------- +# receive count of MM atoms from driver +# -------------------------------------------- + +def receive_mm_natoms(mdicomm): + global flag_mm_natoms,mm_natoms + flag_mm_natoms = 1 + + mm_natoms = mdi.MDI_Recv(1,mdi.MDI_INT,mdicomm) + mm_natoms = world.bcast(mm_natoms,root=0) + allocate("mm") + +# -------------------------------------------- +# receive MM atomic numbers from driver +# -------------------------------------------- + +def receive_mm_elements(mdicomm): + global flag_mm_elements + flag_mm_elements = 1 + + if not mm_natoms: error("Cannot MDI >LATTICE_ELEMENTS if # of MM atoms = 0") + + ierr = mdi.MDI_Recv(mm_natoms,mdi.MDI_INT,mdicomm,buf=mm_elements) + if ierr: error("MDI: >LATTICE_ELEMENTS data") + world.Bcast(mm_elements,root=0) + +# -------------------------------------------- +# receive MM atom coords from driver +# -------------------------------------------- + +def receive_mm_coords(mdicomm): + global flag_mm_coords + flag_mm_coords = 1 + + if not mm_natoms: error("Cannot MDI >CLATTICE if # of MM atoms = 0") + + ierr = mdi.MDI_Recv(3*mm_natoms,mdi.MDI_DOUBLE,mdicomm,buf=mm_coords) + if ierr: error("MDI: >CLATTICE data") + world.Bcast(mm_coords,root=0) + +# -------------------------------------------- +# receive charge on MM atoms from driver +# -------------------------------------------- + +def receive_mm_charges(mdicomm): + global flag_mm_charges + flag_mm_charges = 1 + + if not mm_natoms: error("Cannot MDI >LATTICE if # of MM atoms = 0") + + ierr = mdi.MDI_Recv(mm_natoms,mdi.MDI_DOUBLE,mdicomm,buf=mm_charges) + if ierr: error("MDI: >LATTICE data") + world.Bcast(mm_charges,root=0) + +# -------------------------------------------- +# allocate persistent data for QM or MM atoms +# called when qm_natoms or mm_natoms is reset by MDI driver +# -------------------------------------------- + +def allocate(which): + global qm_elements,qm_coords,qm_potential,qm_forces,qm_charges + global mm_elements,mm_coords,mm_charges,mm_forces + + if which == "qm": + n = qm_natoms + qm_elements = np.empty(n,dtype=np.int32) + qm_coords = np.empty((n,3)) + qm_potential = np.empty(n) + qm_forces = np.empty((n,3)) + qm_charges = np.empty(n) + + if which == "mm": + n = mm_natoms + mm_elements = np.empty(n,dtype=np.int32) + mm_coords = np.empty((n,3)) + mm_charges = np.empty(n) + mm_forces = np.empty((n,3)) + +# -------------------------------------------- +# perform a quantum calculation via NWChem PWDFT +# -------------------------------------------- + +def evaluate(): + global mode + global flag_qm_natoms,flag_mm_natoms + global flag_box,flag_box_displs + global flag_qm_elements,flag_qm_coords,flag_qm_potential + global flag_mm_elements,flag_mm_coords,flag_mm_charges + global qm_pe,qm_stress,qm_forces,qm_charges + global mm_forces + global dm_previous + + # just return if the QM system was already evaluated + # happens when multiple results are requested by driver + + any_flag = flag_qm_natoms + flag_mm_natoms + flag_box + flag_box_displs + \ + flag_qm_elements + flag_qm_coords + flag_qm_potential + \ + flag_mm_elements + flag_mm_coords + flag_mm_charges + if not any_flag: return + + # if any of these MDI commands received from LAMMPS, + # treat it as a brand new system + + new_system = 0 + if flag_qm_natoms or flag_mm_natoms: new_system = 1 + if flag_qm_elements or flag_mm_elements: new_system = 1 + if new_system: + if flag_mm_natoms or flag_qm_potential: mode = QMMM + else: mode = AIMD + + # if new system, error check that all needed MDI calls have been made + + if new_system: + if not flag_qm_natoms: error("QM atom count not specified") + if not flag_qm_elements or not flag_qm_coords or not flag_qm_potential: + error("QM atom properties not fully specified") + + # setup new system within PWDFT + + if new_system: pwdft_initialize() + + # QMMM with QM and MM atoms + + world_ptr = MPI._addressof(world) + c_world = MPI_Comm.from_address(world_ptr) + c_qm_pe = c_double(qm_pe) + c_nw_outfile = nw_outfile.encode() + + if mode == QMMM: + print("QMMM minimizer") + time1 = time.time() + nwerr = libpwdft.\ + c_lammps_pspw_qmmm_minimizer_filename(c_world,qm_coords,qm_potential, + qm_forces,qm_charges,byref(c_qm_pe), + False,True,c_nw_outfile) + # NOTE: check nwerr return? + qm_pe = c_qm_pe.value + time2 = time.time() + print("DONE QMMM minimizer",nwerr,time2-time1) + print("PE",qm_pe) + print("FORCE",qm_forces) + print("CHARGES",qm_charges) + + # AIMD with only QM atoms + + elif mode == AIMD: + print("AIMD minimizer") + time1 = time.time() + nwerr = libpwdft.\ + c_lammps_pspw_aimd_minimizer_filename(c_world,qm_coords,qm_forces, + byref(c_qm_pe),c_nw_outfile) + # NOTE: check nwerr return? + qm_pe = c_qm_pe.value + time2 = time.time() + print("DONE AIMD minimizer",nwerr,time2-time1) + + # clear flags for all MDI commands for next QM evaluation + + flag_qm_natoms = flag_mm_natoms = 0 + flag_box = flag_box_displs = 0 + flag_qm_elements = 0 + flag_qm_coords = flag_qm_potential = 0 + flag_mm_elements = 0 + flag_mm_coords = flag_mm_charges = 0 + +# -------------------------------------------- +# load PWDFT lib and set ctypes signatures for function calls +# set ctypes signatures for 3 function calls to PWDFT lib +# -------------------------------------------- + +def pwdft_load(): + global libpwdft + + libpwdft = CDLL(libname,RTLD_GLOBAL) + + libpwdft.c_lammps_pspw_input_filename.restype = None + libpwdft.c_lammps_pspw_input_filename.argtypes = \ + [MPI_Comm, c_char_p, c_char_p] + + nparray = np.ctypeslib.ndpointer(dtype=np.float64,ndim=2,flags="C_CONTIGUOUS") + npvector = np.ctypeslib.ndpointer(dtype=np.float64,ndim=1,flags="C_CONTIGUOUS") + + libpwdft.c_lammps_pspw_qmmm_minimizer_filename.restype = c_int + libpwdft.c_lammps_pspw_qmmm_minimizer_filename.argtypes = \ + [MPI_Comm, nparray, npvector, nparray, npvector, POINTER(c_double), + c_bool, c_bool, c_char_p] + + libpwdft.c_lammps_pspw_aimd_minimizer_filename.restype = c_int + libpwdft.c_lammps_pspw_aimd_minimizer_filename.argtypes = \ + [MPI_Comm, nparray, nparray, POINTER(c_double), c_char_p] + +# -------------------------------------------- +# create PWDFT input file with box and list of atoms +# invoke PWDFT function to read it +# -------------------------------------------- + +def pwdft_initialize(): + + # box, qm_coords, mm_coords must be converted to Angstroms + + angstrom_to_bohr = mdi.MDI_Conversion_factor("angstrom","bohr") + bohr_to_angstrom = 1.0 / angstrom_to_bohr + + box_A = box * bohr_to_angstrom + qm_coords_A = qm_coords * bohr_to_angstrom + + # proc 0 reads template file, writes PWDFT input file + + if me == 0: + lines = open(nw_template,'r').readlines() + + fp = open(nw_infile,'w') + + for line in lines: + word = line.strip() + if word == "GEOMINSERT": + print("geometry noautosym noautoz nocenter",file=fp); + print("system crystal cartesian",file=fp) + print("lattice_vectors",file=fp) + print("%20.16g %20.16g %20.16g" % (box_A[0],box_A[1],box_A[2]),file=fp) + print("%20.16g %20.16g %20.16g" % (box_A[3],box_A[4],box_A[5]),file=fp) + print("%20.16g %20.16g %20.16g" % (box_A[6],box_A[7],box_A[8]),file=fp) + print("end\n",file=fp) + + for i in range(qm_natoms): + symbol = atomic_number_to_symbol[qm_elements[i]] + print("%s %20.16g %20.16g %20.16g" % + (symbol,qm_coords_A[i][0],qm_coords_A[i][1],qm_coords_A[i][2]), + file=fp) + print("end\n",file=fp) + + else: print(line,file=fp,end="") + + fp.close() + + # all procs call pspw_input_filename() which processes input file + # performs initial QM calculation within PWDFT + + world_ptr = MPI._addressof(world) + c_world = MPI_Comm.from_address(world_ptr) + infile = nw_infile.encode() + outfile = nw_outfile.encode() + + print("INPUT filename") + time1 = time.time() + nwerr = libpwdft.c_lammps_pspw_input_filename(c_world,infile,outfile) + time2 = time.time() + print("DONE INPUT filename",nwerr,time2-time1) + +# -------------------------------------------- +# function called by MDI driver +# only when it invokes pyscf_mdi.py as a plugin +# -------------------------------------------- + +def MDI_Plugin_init_nwchem_mdi(plugin_state): + + # other_options = all non-MDI args + # -mdi arg is processed and stripped internally by MDI + + other_options = [] + + mdi.MDI_Set_plugin_state(plugin_state) + narg = mdi.MDI_Plugin_get_argc() + + for iarg in range(narg): + arg = mdi.MDI_Plugin_get_arg(iarg) + other_options.append(arg) + + # start running as an MDI engine + + mdi_engine(other_options) + +# -------------------------------------------- +# main program +# invoked when MDI driver and pyscf_mdi.py +# are run as independent executables +# -------------------------------------------- + +if __name__== "__main__": + + # mdi_option = single arg in quotes that follows -mdi + # other_options = all non-MDI args + + mdi_option = "" + other_options = [] + + narg = len(sys.argv) + args = sys.argv + + iarg = 1 + while iarg < narg: + arg = args[iarg] + if arg == "-mdi" or arg == "--mdi": + if narg > iarg+1: mdi_option = sys.argv[iarg+1] + else: error("NWChem -mdi argument not provided") + iarg += 1 + else: other_options.append(arg) + iarg += 1 + + if not mdi_option: error("NWChem -mdi option not provided") + + # call MDI_Init with just -mdi option + + mdi.MDI_Init(mdi_option) + + # start running as an MDI engine + + mdi_engine(other_options) diff --git a/examples/QUANTUM/NWChem/template.water.nw b/examples/QUANTUM/NWChem/template.water.nw new file mode 100644 index 0000000000..5cd863593b --- /dev/null +++ b/examples/QUANTUM/NWChem/template.water.nw @@ -0,0 +1,17 @@ +Title "LAMMPS wrapping of PWDFT" + +memory 1900 mb + +echo + +GEOMINSERT + +nwpw + xc pbe + cutoff 30.0 + 2d-hcurve + tolerances 1.0e-9 1.0-9 + apc on +end + +task pspw gradient diff --git a/examples/QUANTUM/README b/examples/QUANTUM/README index 009ae3ffc1..19925b30ac 100644 --- a/examples/QUANTUM/README +++ b/examples/QUANTUM/README @@ -1,5 +1,5 @@ -Each of the directories shows how to use LAMMPS in tandem with a -specific quantum code +Each directory shows how to use LAMMPS in tandem with a specific +quantum code: LATTE = semi-empirical tight-binding code from LANL https://www.osti.gov/biblio/1526907-los-alamos-transferable-tight-binding-energetics-latte-version @@ -8,14 +8,14 @@ LATTE = semi-empirical tight-binding code from LANL PySCF = ??? from Caltech add link +NWChem = computational chemistry code from PNNL + focus here is on DFT portion of NWChem = PWDFT library + https://www.nwchem-sw.org + ----------------------------------------------------- To be added later (as of Jan 2023): -NWChem = computational chemistry code from PNNL - focus here is on DFT portion of NWChem = PWDFT - https://www.nwchem-sw.org - Quantum Espresso (QE) = DFT code for materials modeling https://www.quantum-espresso.org/ From 7c9068c34acb7ad6f07ca0c437bb7d54bce26542 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 31 Jan 2023 13:31:42 -0700 Subject: [PATCH 069/448] correct nonPBC vs PBC calls to PySCF --- examples/QUANTUM/PySCF/README | 4 ++-- .../QUANTUM/PySCF/in.water.pyscf.qmmm.plugin | 2 +- examples/QUANTUM/PySCF/pyscf_mdi.py | 23 +++++++++---------- 3 files changed, 14 insertions(+), 15 deletions(-) diff --git a/examples/QUANTUM/PySCF/README b/examples/QUANTUM/PySCF/README index 899a08f30e..43a922846b 100644 --- a/examples/QUANTUM/PySCF/README +++ b/examples/QUANTUM/PySCF/README @@ -107,8 +107,8 @@ Step 4: run the 2-water QMMM problem for a few steps # Run with MPI: 1 proc each -% mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.water.pyscf.qmmm.mpi.1 -in in.water.pyscf.qmmm : -np 1 python pyscf_mdi.py -mdi "-name PYSCF -role ENGINE -method MPI" -pbc yes +% mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.water.pyscf.qmmm.mpi.1 -in in.water.pyscf.qmmm : -np 1 python pyscf_mdi.py -mdi "-name PYSCF -role ENGINE -method MPI" -pbc no # Run in plugin mode: 1 proc -% lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/work_qm" -log log.water.pyscf.qmmm.plugin.1 -in in.water.pyscf.qmmm.plugin +% lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/PySCF" -log log.water.pyscf.qmmm.plugin.1 -in in.water.pyscf.qmmm.plugin diff --git a/examples/QUANTUM/PySCF/in.water.pyscf.qmmm.plugin b/examples/QUANTUM/PySCF/in.water.pyscf.qmmm.plugin index 4c9261d67b..b80a2a9795 100644 --- a/examples/QUANTUM/PySCF/in.water.pyscf.qmmm.plugin +++ b/examples/QUANTUM/PySCF/in.water.pyscf.qmmm.plugin @@ -46,4 +46,4 @@ thermo_style custom step cpu temp ke evdwl ecoul epair emol elong & thermo 1 mdi plugin pyscf_mdi mdi "-role ENGINE -name PySCF -method LINK" & - extra "-pbc yes" command "run 2" + extra "-pbc no" command "run 2" diff --git a/examples/QUANTUM/PySCF/pyscf_mdi.py b/examples/QUANTUM/PySCF/pyscf_mdi.py index fc2e448620..8bae16d8f0 100644 --- a/examples/QUANTUM/PySCF/pyscf_mdi.py +++ b/examples/QUANTUM/PySCF/pyscf_mdi.py @@ -1,9 +1,11 @@ # MDI wrapper on PySCF quantum code -# NOTE: Qs or issues to still address -# mm_radii is input to PySCF in Angstroms? +# Todo: +# allow for changes in box size on driver side, e.g. NPT +# should just work for PySCF + +# NOTE: Qs or issues to still address for PySCF support # add list of radii for all elements -# allow for changes in box size, e.g. every step for NPT # PySCF can do DIRECT mode (LATTICE commands) for QMMM # can it also do POTENTIAL mode (Coulomb potential at QM atoms) # if so, add PySCF logic in evaluate() @@ -12,8 +14,6 @@ # any other PySCF settings for users to set # are the 3 below good default values # is wiping out dm_previous sufficient to make it a new system -# should max_memory=10000 depend on # of MM or QM atoms -# doc what "mf" is in evaluate() # add PySCF code for AIMD (no MM atoms) # how to specify box for mixed BC, i.e. cell.dimension = 2 or 1 # also need command-line options for those cases ? @@ -28,7 +28,8 @@ import MDI_Library as mdi from pyscf.gto import Mole from pyscf.pbc.gto import Cell from pyscf import qmmm -from pyscf.dft import RKS +from pyscf.dft import RKS as RKS_nonpbc +from pyscf.pbc.dft import RKS as RKS_pbc # -------------------------------------------- @@ -529,9 +530,9 @@ def evaluate(): box_str = "%s\n%s\n%s" % (edge_vec,edge_vec,edge_vec) box_str = box_str % \ (box_A[0],box_A[1],box_A[2],box_A[3],box_A[4],box_A[5],box_A[6],box_A[7],box_A[8]) + print("BOX STR:",box_str) print("ATOM STR:",atom_str) - print("BOX STR:",box_str) print("MM COORDS:",mm_coords) print("MM CHARGES:",mm_charges) print("MM RADII:",mm_radii) @@ -543,18 +544,16 @@ def evaluate(): cell = Cell() cell.atom = atom_str cell.a = box_str - cell.max_memory = 10000 cell.basis = basis cell.build() else: mol = Mole() mol.atom = atom_str - mol.max_memory = 10000 mol.basis = basis mol.build() # QMMM with QM and MM atoms - # mf = ??? + # mf = mean-field object # qm_pe = QM energy + QM/MM energy # QM energy = QM_nuclear/QM_nuclear + electron/QM_nuclear + electron/electron # QM/MM energy = QM_nuclear/MM_charges + electron/MM_charges @@ -563,8 +562,8 @@ def evaluate(): # dm = molecular orbitals (wave functions) for system if mode == QMMM: - if periodic: mf = RKS(cell,xc=xcstr) - else: mf = RKS(mol,xc=xcstr) + if periodic: mf = RKS_pbc(cell,xc=xcstr) + else: mf = RKS_nonpbc(mol,xc=xcstr) mf = qmmm.mm_charge(mf,mm_coords,mm_charges,mm_radii) if dm_previous_exists: From 018a8153983f725fc7ba7b403490aee1816c359d Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 31 Jan 2023 16:02:55 -0700 Subject: [PATCH 070/448] start work on LATTE wrapper --- examples/QUANTUM/LATTE/README.new | 114 ++++ examples/QUANTUM/LATTE/data.water | 41 ++ examples/QUANTUM/LATTE/in.water.latte.aimd | 41 ++ examples/QUANTUM/LATTE/latte.in.water | 32 ++ examples/QUANTUM/LATTE/latte_mdi.py | 583 +++++++++++++++++++++ examples/QUANTUM/NWChem/nwchem_mdi.py | 16 +- 6 files changed, 820 insertions(+), 7 deletions(-) create mode 100644 examples/QUANTUM/LATTE/README.new create mode 100644 examples/QUANTUM/LATTE/data.water create mode 100644 examples/QUANTUM/LATTE/in.water.latte.aimd create mode 100755 examples/QUANTUM/LATTE/latte.in.water create mode 100644 examples/QUANTUM/LATTE/latte_mdi.py diff --git a/examples/QUANTUM/LATTE/README.new b/examples/QUANTUM/LATTE/README.new new file mode 100644 index 0000000000..c5b36dc718 --- /dev/null +++ b/examples/QUANTUM/LATTE/README.new @@ -0,0 +1,114 @@ +# Test runs of AIMD with LAMMPS and LATTE + +Step 1: build LAMMPS +Step 2: download/build the MDI code coupling package +Step 3: download/build or install LATTE +Step 4: run the water AIMD problem for a few steps + +--------------------------------- +--------------------------------- + +Step 1: build LAMMPS + +The molecule and kspace packages are needed for the 2-water test +problem. Copy the final LAMMPS executable into the +examples/QUANTUM/PySCF directory. + +Traditional make: + +% cd ~/lammps/lib/mdi +% python Install.py -m mpi +% cd ~/lammps/src +% make yes-mdi yes-molecule yes-kspace +% make -j mpi +% cp lmp_mpi ~/lammps/examples/QUANTUM/PySCF + +CMake: + +% cd ~/lammps +% mkdir build; cd build +% cmake -D PKG_MDI=yes -D PKG_MOLECULE=yes -D PKG_KSPACE=yes ../cmake +% make -j +% cp lmp ~/lammps/examples/QUANTUM/PySCF/lmp_mpi + +--------------------------------- +--------------------------------- + +Step 2: install the MDI code coupling package + +(a) grab the MDI Git repo + +% mkdir git; cd mdi +% git clone git@github.com:MolSSI-MDI/MDI_Library.git git + +(b) build MDI + +% cd mdi/git +% mkdir build; cd build +% cmake .. +% make -j + +(c) Add something similar to the following to your .bashrc or .cshrc +file so that Python can find MDI: + +For bash: + +% export PYTHONPATH="$PYTHONPATH:/home/sjplimp/mdi/git" +% hash -r + +For (t)csh: + +% setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/mdi/git +% rehash + +--------------------------------- +--------------------------------- + +Step 3: install PySCF + +(a) download/build or install PySCF on your box + +NOTE: add instructions here + +(b) Add something similar to the following to your .bashrc or .cshrc +file so that Python can find PySCF: + +For bash: + +% export PYTHONPATH="$PYTHONPATH:/home/sjplimp/pyscf/git" +% hash -r + +For (t)csh: + +% setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/pyscf/git +% rehash + +(c) Check that you can import the 4 Python modules which the script +that wraps PySCF will need: + +% python +>>> import numpy as np +>>> from mpi4py import MPI +>>> import MDI_Library as mdi +>>> import pyscf + +--------------------------------- +--------------------------------- + +Step 4: run the water AIMD problem for a few steps + +% cd ~/lammps/examples/QUANTUM/LATTE + +# Run with TCP: 1 proc each + +% lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.water.latte.aimd.tcp.1 -in in.water.latte.aimd & + +% python latte_mdi.py -mdi "-name LATTE -role ENGINE -method TCP -port 8021 -hostname localhost" + +# Run with MPI: 1 proc each + +% mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.water.latte.aimd.mpi.1 -in in.water.latte.aimd : -np 1 python latte_mdi.py -mdi "-name LATTE -role ENGINE -method MPI" + +# Run in plugin mode: 1 proc + +% lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/LATTE" -log log.water.latte.aimd.plugin.1 -in in.water.latte.aimd.plugin diff --git a/examples/QUANTUM/LATTE/data.water b/examples/QUANTUM/LATTE/data.water new file mode 100644 index 0000000000..1a1e4d9e0b --- /dev/null +++ b/examples/QUANTUM/LATTE/data.water @@ -0,0 +1,41 @@ + LAMMPS Description + + 24 atoms + + 2 atom types + + 0.0000000000000000 6.2670000000000003 xlo xhi + 0.0000000000000000 6.2670000000000003 ylo yhi + 0.0000000000000000 6.2670000000000003 zlo zhi + + Masses + + 1 15.994915008544922 + 2 1.0078250169754028 + + Atoms + + 1 1 1 0.0 3.08800 3.70000 3.12400 + 2 1 2 0.0 4.05800 3.70000 3.12400 + 3 1 2 0.0 2.76400 3.13200 3.84100 + 4 1 1 0.0 2.47000 0.39000 1.36000 + 5 1 2 0.0 1.54000 0.37000 1.73000 + 6 1 2 0.0 2.48000 0.00000 0.44000 + 7 1 1 0.0 1.99300 0.41700 5.25000 + 8 1 2 0.0 2.39300 1.32700 5.16000 + 9 1 2 0.0 0.99300 0.49700 5.31000 + 10 1 1 0.0 2.05300 6.09700 3.48000 + 11 1 2 0.0 2.12300 5.20700 3.02000 + 12 1 2 0.0 1.11300 0.17000 3.40000 + 13 1 1 0.0 4.90000 5.37700 2.14000 + 14 1 2 0.0 5.51000 6.17700 2.18000 + 15 1 2 0.0 3.95000 5.68700 2.21000 + 16 1 1 0.0 0.92000 3.82700 0.56000 + 17 1 2 0.0 0.00000 3.54700 0.27000 + 18 1 2 0.0 1.23000 4.59700 0.00000 + 19 1 1 0.0 0.89000 2.03700 3.41000 + 20 1 2 0.0 0.72000 2.86700 2.87000 + 21 1 2 0.0 1.79000 1.66700 3.19000 + 22 1 1 0.0 4.45000 4.61700 5.43000 + 23 1 2 0.0 4.75000 3.89700 4.81000 + 24 1 2 0.0 4.06000 4.21700 6.26000 diff --git a/examples/QUANTUM/LATTE/in.water.latte.aimd b/examples/QUANTUM/LATTE/in.water.latte.aimd new file mode 100644 index 0000000000..dd5a17d6c8 --- /dev/null +++ b/examples/QUANTUM/LATTE/in.water.latte.aimd @@ -0,0 +1,41 @@ +# simple water model with LATTE + +units metal +atom_style full +atom_modify sort 0 0.0 # turn off sorting of the coordinates + +read_data data.water + +# replicate system if requested + +variable x index 1 +variable y index 1 +variable z index 1 + +variable nrep equal v_x*v_y*v_z +if "${nrep} > 1" then "replicate $x $y $z" + +# initialize system + +velocity all create 0.0 87287 loop geom + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.00025 + +fix 1 all nve + +fix 2 all mdi/qm elements 8 1 +#fix 2 all latte +fix_modify 2 energy yes + +thermo_style custom step temp pe etotal press + +# dynamics + +thermo 10 +run 100 diff --git a/examples/QUANTUM/LATTE/latte.in.water b/examples/QUANTUM/LATTE/latte.in.water new file mode 100755 index 0000000000..f927313457 --- /dev/null +++ b/examples/QUANTUM/LATTE/latte.in.water @@ -0,0 +1,32 @@ +LATTE INPUT FILE +================ +#This input file resumes the content of MDcontroller and TBparam/control.in +#The parser will only read it is present inside the running folder. +#In case this file is not present Latte will read the two files as original. +#The order of the keywords is not important in this file. +#To get a full description of these keywords please see: +## https://github.com/lanl/LATTE/blob/master/Manual/LATTE_manual.pdf + +#General controls +CONTROL{ + XCONTROL= 1 + BASISTYPE= NONORTHO + PARAMPATH= "./TBparam" + KBT= 0.0 + ENTROPYKIND= 1 + PPOTON= 1 + SPINON= 0 SPINTOL= 1.0e-4 + ELECTRO= 1 ELECMETH= 0 ELEC_QTOL= 1.0e-8 + MAXSCF= 450 + BREAKTOL= 1.0E-6 MINSP2ITER= 22 SP2CONV= REL + FULLQCONV= 1 QITER= 3 + QMIX= 0.25 SPINMIX= 0.25 MDMIX= 0.25 + SPARSEON= 0 THRESHOLDON= 1 NUMTHRESH= 1.0e-6 FILLINSTOP= 100 BLKSZ= 4 + MSPARSE= 1500 + SKIN= 1.0 + CHARGE= 0 + XBO= 1 + XBODISON= 1 + XBODISORDER= 5 + KON= 0 +} diff --git a/examples/QUANTUM/LATTE/latte_mdi.py b/examples/QUANTUM/LATTE/latte_mdi.py new file mode 100644 index 0000000000..cff2e484c9 --- /dev/null +++ b/examples/QUANTUM/LATTE/latte_mdi.py @@ -0,0 +1,583 @@ +# MDI wrapper on LATTE code + +import sys,time +from ctypes import * + +import numpy as np +from mpi4py import MPI +import MDI_Library as mdi + +# conversions of atomic number to element symbol + +atomic_number_to_symbol = {1: 'H', 6: 'C', 7: 'N', 8: 'O', 17: 'Cl'} + +# -------------------------------------------- +# global data +# -------------------------------------------- + +world = 0 +me = nprocs = 0 + +exitflag = False + +AIMD = 0 +QMMM = 1 +mode = AIMD + +# LATTE library + +libname = "liblatte.so" +liblatte = None + +# QM inputs + +flag_qm_natoms = flag_mm_natoms = 0 +flag_box = flag_box_displ = 0 +flag_qm_elements = flag_qm_types = 0 +flag_qm_coords = flag_qm_potential = 0 +flag_mm_elements = 0 +flag_mm_coords = flag_mm_charges = 0 + +box = np.empty(9) +box_displ = np.empty(3) + +qm_natoms = 0 +qm_elements = None +qm_coords = None +qm_potential = None + +mm_natoms = 0 +mm_coords = None +mm_charges = None +mm_elements = None + +# QM outputs + +qm_pe = 0.0 +qm_stress = np.empty(9) +qm_forces = None +qm_charges = None + +mm_forces = None + +# -------------------------------------------- +# print error message and halt +# -------------------------------------------- + +def error(txt): + if me == 0: print("ERROR:",txt) + world.Abort() + +# -------------------------------------------- +# process non-MDI command-line options to LATTE +# -------------------------------------------- + +def options(other_options): + if len(other_options) != 0: + error("No args currently used by LATTE wrapper") + +# -------------------------------------------- +# operate as an engine +# -------------------------------------------- + +def mdi_engine(other_options): + global world + + # get the MPI intra-communicator for this engine + + world = mdi.MDI_MPI_get_world_comm() + me = world.Get_rank() + nprocs = world.Get_size() + + # process non-MDI command line args + + options(other_options) + + # confirm LATTE is being run as an engine + + role = mdi.MDI_Get_Role() + if not role == mdi.MDI_ENGINE: + error("Must run LATTE as an MDI engine") + + # supported MDI commands + + mdi.MDI_Register_Node("@DEFAULT") + mdi.MDI_Register_Command("@DEFAULT","EXIT") + + # driver --> engine + + mdi.MDI_Register_Command("@DEFAULT",">NATOMS") + mdi.MDI_Register_Command("@DEFAULT",">CELL") + mdi.MDI_Register_Command("@DEFAULT",">CELL_DISPL") + mdi.MDI_Register_Command("@DEFAULT",">ELEMENTS") + mdi.MDI_Register_Command("@DEFAULT",">TYPES") + mdi.MDI_Register_Command("@DEFAULT",">COORDS") + mdi.MDI_Register_Command("@DEFAULT",">POTENTIAL_AT_NUCLEI") + mdi.MDI_Register_Command("@DEFAULT",">NLATTICE") + mdi.MDI_Register_Command("@DEFAULT",">LATTICE_ELEMENTS") + mdi.MDI_Register_Command("@DEFAULT",">CLATTICE") + mdi.MDI_Register_Command("@DEFAULT",">LATTICE") + + # engine --> driver + + mdi.MDI_Register_Command("@DEFAULT","LATTICE_FORCES") + mdi.MDI_Register_Command("@DEFAULT","TYPES + + elif command == ">NATOMS": + receive_qm_natoms(mdicomm) + + elif command == ">CELL": + receive_box(mdicomm) + + elif command == ">CELL_DISPL": + receive_box_displ(mdicomm) + + elif command == ">ELEMENTS": + receive_qm_elements(mdicomm) + + elif command == ">COORDS": + receive_qm_coords(mdicomm) + + elif command == ">POTENTIAL_AT_NUCLEI": + receive_qm_potential(mdicomm) + + elif command == ">NLATTICE": + receive_mm_natoms(mdicomm) + + elif command == ">LATTICE_ELEMENTS": + receive_mm_elements(mdicomm) + + elif command == ">CLATTICE": + receive_mm_coords(mdicomm) + + elif command == ">LATTICE": + receive_mm_charges(mdicomm) + + # MDI commands which retreive quantum results + # each may also trigger the quantum calculation + + elif command == "CELL data") + world.Bcast(box,root=0) + +# -------------------------------------------- +# receive simulation box displacement vector from driver +# -------------------------------------------- + +def receive_box_displ(mdicomm): + global flag_box_displ + flag_box_displ = 1 + + ierr = mdi.MDI_Recv(3,mdi.MDI_DOUBLE,mdicomm,buf=box_displ) + if ierr: error("MDI: >CELL_DISPL data") + world.Bcast(box_displ,root=0) + +# -------------------------------------------- +# receive QM atom coords from driver +# -------------------------------------------- + +def receive_qm_coords(mdicomm): + global flag_qm_coords + flag_qm_coords = 1 + + if not qm_natoms: error("Cannot MDI >COORDS if # of QM atoms = 0") + + ierr = mdi.MDI_Recv(3*qm_natoms,mdi.MDI_DOUBLE,mdicomm,buf=qm_coords) + if ierr: error("MDI: >COORDS data") + world.Bcast(qm_coords,root=0) + +# -------------------------------------------- +# receive Coulomb potential at QM nuclei from driver +# -------------------------------------------- + +def receive_qm_potential(mdicomm): + global flag_qm_potential + flag_qm_potential = 1 + + if not qm_natoms: error("Cannot MDI >POTENTIAL_AT_NUCLEI if # of QM atoms = 0") + + ierr = mdi.MDI_Recv(qm_natoms,mdi.MDI_DOUBLE,mdicomm,buf=qm_potential) + if ierr: error("MDI: >POTENTIAL_AT_NUCLEI data") + world.Bcast(qm_potential,root=0) + +# -------------------------------------------- +# receive QM atomic numbers from driver +# -------------------------------------------- + +def receive_qm_elements(mdicomm): + global flag_qm_elements + flag_qm_elements = 1 + + if not qm_natoms: error("Cannot MDI >ELEMENTS if # of QM atoms = 0") + + ierr = mdi.MDI_Recv(qm_natoms,mdi.MDI_INT,mdicomm,buf=qm_elements) + if ierr: error("MDI: >ELEMENTS data") + world.Bcast(qm_elements,root=0) + +# -------------------------------------------- +# receive QM atom types from driver +# -------------------------------------------- + +def receive_types(mdicomm): + global flag_qm_types + flag_qm_types = 1 + + if not qm_natoms: error("Cannot MDI >TYPES if # of QM atoms = 0") + + ierr = mdi.MDI_Recv(qm_natoms,mdi.MDI_INT,mdicomm,buf=qm_types) + if ierr: error("MDI: >TYPES data") + world.Bcast(qm_types,root=0) + +# -------------------------------------------- +# receive count of MM atoms from driver +# -------------------------------------------- + +def receive_mm_natoms(mdicomm): + global flag_mm_natoms,mm_natoms + flag_mm_natoms = 1 + + mm_natoms = mdi.MDI_Recv(1,mdi.MDI_INT,mdicomm) + mm_natoms = world.bcast(mm_natoms,root=0) + allocate("mm") + +# -------------------------------------------- +# receive MM atomic numbers from driver +# -------------------------------------------- + +def receive_mm_elements(mdicomm): + global flag_mm_elements + flag_mm_elements = 1 + + if not mm_natoms: error("Cannot MDI >LATTICE_ELEMENTS if # of MM atoms = 0") + + ierr = mdi.MDI_Recv(mm_natoms,mdi.MDI_INT,mdicomm,buf=mm_elements) + if ierr: error("MDI: >LATTICE_ELEMENTS data") + world.Bcast(mm_elements,root=0) + +# -------------------------------------------- +# receive MM atom coords from driver +# -------------------------------------------- + +def receive_mm_coords(mdicomm): + global flag_mm_coords + flag_mm_coords = 1 + + if not mm_natoms: error("Cannot MDI >CLATTICE if # of MM atoms = 0") + + ierr = mdi.MDI_Recv(3*mm_natoms,mdi.MDI_DOUBLE,mdicomm,buf=mm_coords) + if ierr: error("MDI: >CLATTICE data") + world.Bcast(mm_coords,root=0) + +# -------------------------------------------- +# receive charge on MM atoms from driver +# -------------------------------------------- + +def receive_mm_charges(mdicomm): + global flag_mm_charges + flag_mm_charges = 1 + + if not mm_natoms: error("Cannot MDI >LATTICE if # of MM atoms = 0") + + ierr = mdi.MDI_Recv(mm_natoms,mdi.MDI_DOUBLE,mdicomm,buf=mm_charges) + if ierr: error("MDI: >LATTICE data") + world.Bcast(mm_charges,root=0) + +# -------------------------------------------- +# allocate persistent data for QM or MM atoms +# called when qm_natoms or mm_natoms is reset by MDI driver +# -------------------------------------------- + +def allocate(which): + global qm_types,qm_elements,qm_coords,qm_potential,qm_forces,qm_charges + global mm_coords,mm_charges,mm_forces + + if which == "qm": + n = qm_natoms + qm_types = np.empty(n,dtype=np.int32) + qm_elements = np.empty(n,dtype=np.int32) + qm_coords = np.empty((n,3)) + qm_potential = np.empty(n) + qm_forces = np.empty((n,3)) + qm_charges = np.empty(n) + + if which == "mm": + n = mm_natoms + mm_elements = np.empty(n,dtype=np.int32) + mm_coords = np.empty((n,3)) + mm_charges = np.empty(n) + mm_forces = np.empty((n,3)) + +# -------------------------------------------- +# perform a quantum calculation via LATTE +# NOTE: ignore change of box size each step for now, e.g. MD NPT dynamics +# NOTE: assume periodic for now, worry about non-periodic later +# -------------------------------------------- + +def evaluate(): + global mode + global flag_qm_natoms,flag_mm_natoms + global flag_box,flag_box_displ + global flag_qm_elements,flag_qm_types,flag_qm_coords,flag_qm_potential + global flag_mm_elements,flag_mm_coords,flag_mm_charges + global qm_pe,qm_stress,qm_forces,qm_charges + global mm_forces + global dm_previous + + # just return if the QM system was already evaluated + # happens when multiple results are requested by driver + + any_flag = flag_qm_natoms + flag_mm_natoms + flag_box + flag_box_displ + \ + flag_qm_elements + flag_qm_coords + flag_qm_potential + \ + flag_mm_elements + flag_mm_coords + flag_mm_charges + if not any_flag: return + + # if any of these MDI commands received from LAMMPS, + # treat it as a brand new system + + new_system = 0 + if flag_qm_natoms or flag_mm_natoms: new_system = 1 + if flag_qm_elements or flag_mm_elements: new_system = 1 + if new_system: + if flag_mm_natoms or flag_qm_potential: mode = QMMM + else: mode = AIMD + + # if new system, error check that all needed MDI calls have been made + + if new_system: + if not flag_qm_natoms: error("QM atom count not specified") + if not flag_qm_elements or not flag_qm_coords: + error("QM atom properties not fully specified") + if mode == QMMM and not flag_qm_potential: + error("QM atom properties not fully specified") + + # hardwire these unsupported flags for now + + coulombflag = 0 + neighflag = 0 + pbcflag = 1 # NOTE: pass this in as latte_mdi.py command-line arg + thermo_virial = 1 + eflag_atom = 1 + vflag_global = 1 + vflag_atom = 0 + + flags_latte = 7*[0] + flags_latte[0] = pbcflag; # 1 for fully periodic, 0 for fully non-periodic + flags_latte[1] = coulombflag; # 1 for LAMMPS computes Coulombics, 0 for LATTE + flags_latte[2] = eflag_atom; # 1 to return per-atom energies, 0 for no + flags_latte[3] = vflag_global and thermo_virial; # 1 to return global/per-atom + flags_latte[4] = vflag_atom and thermo_virial; # virial, 0 for no + flags_latte[5] = neighflag; # 1 to pass neighbor list to LATTE, 0 for no + + boxlo = [0.0,0.0,0.0] # NOTE: does this matter for LATTE ? + boxhi = [box[0],box[4],box[8]] + xy = box[3] + xz = box[6] + yz = box[7] + maxiter = -1 + + # QMMM with QM and MM atoms + # NOTE: need qm_velocity and timestep and mass and types ? + # all of these are addresses of scalars for Fortran ? + + if mode == QMMM: + error("QMMM not yet supported with LATTE") + + # AIMD with only QM atoms + + elif mode == AIMD: + latte_error = 0 + liblatte.\ + latte(flags_latte,byref(qm_natoms),qm_coords, + qm_types,byref(qm_ntypes),qm_mass, + boxlo,boxhi,byref(xy),byref(xz),byref(yz),forces, + byref(maxiter),byref(qm_energy), + qm_velocity,byref(timestep),qm_stress, + byref(new_system),byref(latte_error)) + # NOTE: check latte_error return? + + # clear flags for all MDI commands for next QM evaluation + + flag_qm_natoms = flag_mm_natoms = 0 + flag_box = flag_box_displ = 0 + flag_qm_elements = 0 + flag_qm_coords = flag_qm_potential = 0 + flag_mm_elements = 0 + flag_mm_coords = flag_mm_charges = 0 + +# -------------------------------------------- +# load LATTE library +# set ctypes signatures for single function calls to LATTE lib +# -------------------------------------------- + +def latte_load(): + global liblatte + + liblatte = CDLL(libname,RTLD_GLOBAL) + + nparray = np.ctypeslib.ndpointer(dtype=np.float64,ndim=2,flags="C_CONTIGUOUS") + npvector_double = np.ctypeslib.ndpointer(dtype=np.float64,ndim=1,flags="C_CONTIGUOUS") + npvector_int = np.ctypeslib.ndpointer(dtype=np.int8,ndim=1,flags="C_CONTIGUOUS") + + liblatte.latte_abiversion.restype = None + liblatte.latte_abiversion.argtypes = None + + liblatte.latte.restype = None + liblatte.latte.argtypes = \ + [POINTER(c_int), POINTER(c_int), nparray, npvector_int, POINTER(c_int), + POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), + nparray, POINTER(c_int), POINTER(c_double), nparray, + POINTER(c_double), npvector_double, POINTER(c_int), POINTER(c_bool)] + +# -------------------------------------------- +# function called by MDI driver +# only when it invokes pyscf_mdi.py as a plugin +# -------------------------------------------- + +def MDI_Plugin_init_nwchem_mdi(plugin_state): + + # other_options = all non-MDI args + # -mdi arg is processed and stripped internally by MDI + + other_options = [] + + mdi.MDI_Set_plugin_state(plugin_state) + narg = mdi.MDI_Plugin_get_argc() + + for iarg in range(narg): + arg = mdi.MDI_Plugin_get_arg(iarg) + other_options.append(arg) + + # start running as an MDI engine + + mdi_engine(other_options) + +# -------------------------------------------- +# main program +# invoked when MDI driver and pyscf_mdi.py +# are run as independent executables +# -------------------------------------------- + +if __name__== "__main__": + + # mdi_option = single arg in quotes that follows -mdi + # other_options = all non-MDI args + + mdi_option = "" + other_options = [] + + narg = len(sys.argv) + args = sys.argv + + iarg = 1 + while iarg < narg: + arg = args[iarg] + if arg == "-mdi" or arg == "--mdi": + if narg > iarg+1: mdi_option = sys.argv[iarg+1] + else: error("LATTE -mdi argument not provided") + iarg += 1 + else: other_options.append(arg) + iarg += 1 + + if not mdi_option: error("LATTE -mdi option not provided") + + # call MDI_Init with just -mdi option + + mdi.MDI_Init(mdi_option) + + # start running as an MDI engine + + mdi_engine(other_options) diff --git a/examples/QUANTUM/NWChem/nwchem_mdi.py b/examples/QUANTUM/NWChem/nwchem_mdi.py index 0208a269a4..bbc4a8d242 100644 --- a/examples/QUANTUM/NWChem/nwchem_mdi.py +++ b/examples/QUANTUM/NWChem/nwchem_mdi.py @@ -71,7 +71,7 @@ nw_infile = "" nw_outfile = "" flag_qm_natoms = flag_mm_natoms = 0 -flag_box = flag_box_displs = 0 +flag_box = flag_box_displ = 0 flag_qm_elements = 0 flag_qm_coords = flag_qm_potential = 0 flag_mm_elements = 0 @@ -155,7 +155,7 @@ def mdi_engine(other_options): mdi.MDI_Register_Command("@DEFAULT",">NATOMS") mdi.MDI_Register_Command("@DEFAULT",">CELL") - mdi.MDI_Register_Command("@DEFAULT",">CELL_DISPLS") + mdi.MDI_Register_Command("@DEFAULT",">CELL_DISPL") mdi.MDI_Register_Command("@DEFAULT",">ELEMENTS") mdi.MDI_Register_Command("@DEFAULT",">COORDS") mdi.MDI_Register_Command("@DEFAULT",">POTENTIAL_AT_NUCLEI") @@ -437,7 +437,7 @@ def allocate(which): def evaluate(): global mode global flag_qm_natoms,flag_mm_natoms - global flag_box,flag_box_displs + global flag_box,flag_box_displ global flag_qm_elements,flag_qm_coords,flag_qm_potential global flag_mm_elements,flag_mm_coords,flag_mm_charges global qm_pe,qm_stress,qm_forces,qm_charges @@ -447,7 +447,7 @@ def evaluate(): # just return if the QM system was already evaluated # happens when multiple results are requested by driver - any_flag = flag_qm_natoms + flag_mm_natoms + flag_box + flag_box_displs + \ + any_flag = flag_qm_natoms + flag_mm_natoms + flag_box + flag_box_displ + \ flag_qm_elements + flag_qm_coords + flag_qm_potential + \ flag_mm_elements + flag_mm_coords + flag_mm_charges if not any_flag: return @@ -466,7 +466,9 @@ def evaluate(): if new_system: if not flag_qm_natoms: error("QM atom count not specified") - if not flag_qm_elements or not flag_qm_coords or not flag_qm_potential: + if not flag_qm_elements or not flag_qm_coords: + error("QM atom properties not fully specified") + if mode == QMMM and not flag_qm_potential: error("QM atom properties not fully specified") # setup new system within PWDFT @@ -511,14 +513,14 @@ def evaluate(): # clear flags for all MDI commands for next QM evaluation flag_qm_natoms = flag_mm_natoms = 0 - flag_box = flag_box_displs = 0 + flag_box = flag_box_displ = 0 flag_qm_elements = 0 flag_qm_coords = flag_qm_potential = 0 flag_mm_elements = 0 flag_mm_coords = flag_mm_charges = 0 # -------------------------------------------- -# load PWDFT lib and set ctypes signatures for function calls +# load PWDFT library # set ctypes signatures for 3 function calls to PWDFT lib # -------------------------------------------- From 2b5ef8d93e8bc351f054b0e696fae2532e5060ee Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 31 Jan 2023 16:04:59 -0700 Subject: [PATCH 071/448] add plugin input script --- .../QUANTUM/LATTE/in.water.latte.aimd.plugin | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 examples/QUANTUM/LATTE/in.water.latte.aimd.plugin diff --git a/examples/QUANTUM/LATTE/in.water.latte.aimd.plugin b/examples/QUANTUM/LATTE/in.water.latte.aimd.plugin new file mode 100644 index 0000000000..5a1282c278 --- /dev/null +++ b/examples/QUANTUM/LATTE/in.water.latte.aimd.plugin @@ -0,0 +1,42 @@ +# simple water model with LATTE + +units metal +atom_style full +atom_modify sort 0 0.0 # turn off sorting of the coordinates + +read_data data.water.latte.aimd + +# replicate system if requested + +variable x index 1 +variable y index 1 +variable z index 1 + +variable nrep equal v_x*v_y*v_z +if "${nrep} > 1" then "replicate $x $y $z" + +# initialize system + +velocity all create 0.0 87287 loop geom + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.00025 + +fix 1 all nve + +fix 2 qm mdi/qm elements 8 1 +fix_modify 2 energy yes + +thermo_style custom step temp pe etotal press + +# dynamics + +thermo 10 + +mdi plugin latte_mdi mdi "-role ENGINE -name LATTE -method LINK" & + command "run 100" From a81e6693cdc4b42e7fa81f68149a265a98f5341f Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 1 Feb 2023 10:53:08 -0700 Subject: [PATCH 072/448] more work on LATTE interface --- .../QUANTUM/LATTE/TBparam/bondints.nonortho | 36 + examples/QUANTUM/LATTE/TBparam/electrons.dat | 7 + examples/QUANTUM/LATTE/TBparam/ppots.nonortho | 12 + .../{data.water => data.water.latte.aimd} | 0 examples/QUANTUM/LATTE/in.latte.water.md | 40 + examples/QUANTUM/LATTE/in.water.latte.aimd | 2 +- .../QUANTUM/LATTE/in.water.latte.aimd.plugin | 2 +- examples/QUANTUM/LATTE/latte_mdi.py | 78 +- .../LATTE/log.8Sep22.aimd.lammps.mpi.1 | 102 - .../LATTE/log.8Sep22.aimd.lammps.mpi.2 | 102 - .../LATTE/log.8Sep22.aimd.lammps.plugin | 103 - .../QUANTUM/LATTE/log.8Sep22.aimd.latte.1 | 12604 ---------------- .../QUANTUM/LATTE/log.8Sep22.aimd.latte.2 | 12604 ---------------- .../LATTE/log.8Sep22.aimd.latte.plugin | 12604 ---------------- .../LATTE/log.8Sep22.series.lammps.mpi.1 | 263 - .../LATTE/log.8Sep22.series.lammps.mpi.2 | 263 - .../LATTE/log.8Sep22.series.lammps.plugin | 256 - .../QUANTUM/LATTE/log.8Sep22.series.latte.1 | 3209 ---- .../QUANTUM/LATTE/log.8Sep22.series.latte.2 | 3209 ---- 19 files changed, 164 insertions(+), 45332 deletions(-) create mode 100644 examples/QUANTUM/LATTE/TBparam/bondints.nonortho create mode 100644 examples/QUANTUM/LATTE/TBparam/electrons.dat create mode 100644 examples/QUANTUM/LATTE/TBparam/ppots.nonortho rename examples/QUANTUM/LATTE/{data.water => data.water.latte.aimd} (100%) create mode 100644 examples/QUANTUM/LATTE/in.latte.water.md delete mode 100644 examples/QUANTUM/LATTE/log.8Sep22.aimd.lammps.mpi.1 delete mode 100644 examples/QUANTUM/LATTE/log.8Sep22.aimd.lammps.mpi.2 delete mode 100644 examples/QUANTUM/LATTE/log.8Sep22.aimd.lammps.plugin delete mode 100644 examples/QUANTUM/LATTE/log.8Sep22.aimd.latte.1 delete mode 100644 examples/QUANTUM/LATTE/log.8Sep22.aimd.latte.2 delete mode 100644 examples/QUANTUM/LATTE/log.8Sep22.aimd.latte.plugin delete mode 100644 examples/QUANTUM/LATTE/log.8Sep22.series.lammps.mpi.1 delete mode 100644 examples/QUANTUM/LATTE/log.8Sep22.series.lammps.mpi.2 delete mode 100644 examples/QUANTUM/LATTE/log.8Sep22.series.lammps.plugin delete mode 100644 examples/QUANTUM/LATTE/log.8Sep22.series.latte.1 delete mode 100644 examples/QUANTUM/LATTE/log.8Sep22.series.latte.2 diff --git a/examples/QUANTUM/LATTE/TBparam/bondints.nonortho b/examples/QUANTUM/LATTE/TBparam/bondints.nonortho new file mode 100644 index 0000000000..8c1eee76b5 --- /dev/null +++ b/examples/QUANTUM/LATTE/TBparam/bondints.nonortho @@ -0,0 +1,36 @@ +Noints= 34 +Element1 Element2 Kind H0 B1 B2 B3 B4 B5 R1 Rcut H0 B1 B2 B3 B4 B5 R1 Rcut +N O sss -11.430028 -2.257346 -1.152844 0.000000 0.000000 1.200000 3.500000 4.000000 0.340064 -1.703613 -0.622348 0.036738 -0.040158 1.200000 3.500000 4.000000 +N O sps 11.597479 -1.382001 -0.765170 0.000000 0.000000 1.200000 3.500000 4.000000 -0.370946 -1.040947 -0.931097 0.252441 -0.115450 1.200000 3.500000 4.000000 +O N sps 12.143744 -0.822913 -0.676127 0.000000 0.000000 1.200000 3.500000 4.000000 -0.420014 -1.107918 -0.905594 0.188424 -0.088365 1.200000 3.500000 4.000000 +N O pps 9.465191 -1.082032 -0.769214 0.000000 0.000000 1.200000 3.500000 4.000000 -0.314073 0.499050 -2.914288 2.067657 -0.738439 1.200000 3.500000 4.000000 +N O ppp -4.676789 -2.171480 -0.288002 0.000000 0.000000 1.200000 3.500000 4.000000 0.223937 -1.991867 -0.537630 -0.081270 -0.004130 1.200000 3.500000 4.000000 +C O sss -14.369472 -2.077439 -0.875471 0.000000 0.000000 1.200000 3.500000 4.000000 0.375339 -1.547372 -0.642492 0.020614 -0.026699 1.200000 3.500000 4.000000 +C O sps 9.576296 -1.156217 -0.494803 0.000000 0.000000 1.200000 3.500000 4.000000 -0.373027 -0.776043 -1.019920 0.257539 -0.102838 1.200000 3.500000 4.000000 +O C sps 14.037374 -1.192632 -0.654572 0.000000 0.000000 1.200000 3.500000 4.000000 -0.458068 -1.035067 -0.937868 0.190562 -0.077841 1.200000 3.500000 4.000000 +C O pps 9.331152 -0.718120 -0.822100 0.000000 0.000000 1.200000 3.500000 4.000000 -0.322293 0.795473 -3.476601 2.589965 -0.897800 1.200000 3.500000 4.000000 +C O ppp -5.334367 -2.263939 -0.204910 0.000000 0.000000 1.200000 3.500000 4.000000 0.244570 -1.922717 -0.573671 -0.057280 -0.004108 1.200000 3.500000 4.000000 +C N sss -7.010061 -1.730597 -0.575559 0.000000 0.000000 1.500000 3.500000 4.000000 0.263438 -1.754525 -0.584215 -0.007801 -0.021729 1.500000 3.500000 4.000000 +C N sps 7.543283 -1.293768 -0.624363 0.000000 0.000000 1.500000 3.500000 4.000000 -0.326609 -1.197485 -0.807786 0.134891 -0.084373 1.500000 3.500000 4.000000 +N C sps 9.090970 -1.494255 -0.616711 0.000000 0.000000 1.500000 3.500000 4.000000 -0.337943 -1.335442 -0.769693 0.119373 -0.079493 1.500000 3.500000 4.000000 +C N pps 6.892240 -0.931920 -0.769164 0.000000 0.000000 1.500000 3.500000 4.000000 -0.350240 -0.467439 -1.849316 1.854403 -0.988471 1.500000 3.500000 4.000000 +C N ppp -2.903346 -2.149349 -0.253006 0.000000 0.000000 1.500000 3.500000 4.000000 0.158424 -2.114409 -0.582346 -0.051076 -0.006183 1.500000 3.500000 4.000000 +C C sss -9.404207 -1.363297 -0.507128 0.000000 0.000000 1.400000 3.500000 4.000000 0.346977 -1.519820 -0.570812 -0.013518 -0.015829 1.400000 3.500000 4.000000 +C C sps 8.662429 -1.047410 -0.661999 0.000000 0.000000 1.400000 3.500000 4.000000 -0.400467 -0.984048 -0.853949 0.157178 -0.073381 1.400000 3.500000 4.000000 +C C pps 6.811512 -0.552299 -0.776890 0.000000 0.000000 1.400000 3.500000 4.000000 -0.382417 0.102889 -2.786680 2.646356 -1.134320 1.400000 3.500000 4.000000 +C C ppp -3.550127 -1.925572 -0.132715 0.000000 0.000000 1.400000 3.500000 4.000000 0.214357 -1.948923 -0.578323 -0.034356 -0.007257 1.400000 3.500000 4.000000 +H C sss -9.072577 -1.393093 -0.430611 0.000000 0.000000 1.100000 3.500000 4.000000 0.416003 -1.459596 -0.654874 0.009140 -0.012658 1.100000 3.500000 4.000000 +H C sps 8.176008 -0.985177 -0.427403 0.000000 0.000000 1.100000 3.500000 4.000000 -0.495695 -0.901626 -1.007214 0.189808 -0.057087 1.100000 3.500000 4.000000 +H H sss -9.340000 -1.145903 -0.391777 0.000000 0.000000 0.750000 3.500000 4.000000 0.575007 -1.391261 -0.778831 0.080209 -0.017759 0.750000 3.500000 4.000000 +O O sss -12.737687 -1.851608 -0.666621 0.000000 0.000000 1.200000 3.500000 4.000000 0.296445 -1.911896 -0.663451 0.038054 -0.046608 1.200000 3.500000 4.000000 +O O sps 13.683050 -1.684554 -0.468349 0.000000 0.000000 1.200000 3.500000 4.000000 -0.362143 -1.285274 -0.939591 0.204641 -0.106438 1.200000 3.500000 4.000000 +O O pps 9.460772 -1.211748 -0.581016 0.000000 0.000000 1.200000 3.500000 4.000000 -0.312044 0.121814 -2.519352 1.681266 -0.644566 1.200000 3.500000 4.000000 +O O ppp -4.494595 -2.709223 -0.284124 0.000000 0.000000 1.200000 3.500000 4.000000 0.193010 -2.168462 -0.580629 -0.105104 0.004891 1.200000 3.500000 4.000000 +H O sss -12.230931 -1.808632 -0.421164 0.000000 0.000000 1.000000 3.500000 4.000000 0.404725 -1.702546 -0.707938 0.074904 -0.039922 1.000000 3.500000 4.000000 +H O sps 9.466088 -1.321262 -0.386336 0.000000 0.000000 1.000000 3.500000 4.000000 -0.447660 -0.952979 -1.163537 0.400616 -0.156965 1.000000 3.500000 4.000000 +N N sss -7.710330 -2.365312 -0.525527 0.000000 0.000000 1.500000 3.500000 4.000000 0.231654 -1.879002 -0.572765 -0.004579 -0.031106 1.500000 3.500000 4.000000 +N N sps 8.222314 -1.612118 -0.690081 0.000000 0.000000 1.500000 3.500000 4.000000 -0.305271 -1.385158 -0.751032 0.114531 -0.090839 1.500000 3.500000 4.000000 +N N pps 7.178570 -1.176467 -0.571049 0.000000 0.000000 1.500000 3.500000 4.000000 -0.324668 -0.547805 -1.638658 1.495168 -0.827868 1.500000 3.500000 4.000000 +N N ppp -2.829344 -2.408049 -0.387709 0.000000 0.000000 1.500000 3.500000 4.000000 0.142909 -2.162036 -0.571942 -0.071640 -0.004682 1.500000 3.500000 4.000000 +H N sss -12.095890 -1.519057 -0.277247 0.000000 0.000000 1.000000 3.500000 4.000000 0.446693 -1.500463 -0.657448 0.065741 -0.037004 1.000000 3.500000 4.000000 +H N sps 9.851338 -1.231616 -0.370836 0.000000 0.000000 1.000000 3.500000 4.000000 -0.501530 -0.785734 -1.123232 0.394878 -0.148501 1.000000 3.500000 4.000000 diff --git a/examples/QUANTUM/LATTE/TBparam/electrons.dat b/examples/QUANTUM/LATTE/TBparam/electrons.dat new file mode 100644 index 0000000000..c38fd23ce2 --- /dev/null +++ b/examples/QUANTUM/LATTE/TBparam/electrons.dat @@ -0,0 +1,7 @@ +Noelem= 5 +Element basis Numel Es Ep Ed Ef Mass HubbardU Wss Wpp Wdd Wff +N sp 5.0 -18.58 -7.09 0.0 0.0 14.0067 15.93 0.0 -0.6950 0.0 0.0 +O sp 6.0 -23.96 -9.02 0.0 0.0 15.9994 12.15 0.0 -0.7577 0.0 0.0 +H s 1.0 -6.35 0.0 0.0 0.0 1.0079 12.85 -1.7937 0.0 0.0 0.0 +C sp 4.0 -13.75 -5.28 0.0 0.0 12.01 10.0 0.0 -0.621 0.0 0.0 +Ti sd 4.0 -5.5 0.0 -3.0 0.0 47.867 10.0 0.0 0.0 0.0 0.0 \ No newline at end of file diff --git a/examples/QUANTUM/LATTE/TBparam/ppots.nonortho b/examples/QUANTUM/LATTE/TBparam/ppots.nonortho new file mode 100644 index 0000000000..1b9b66c0a1 --- /dev/null +++ b/examples/QUANTUM/LATTE/TBparam/ppots.nonortho @@ -0,0 +1,12 @@ +Nopps= 10 +Ele1 Ele2 A0 A1 A2 A3 A4 A5 A6 C R1 Rcut +N O 13.182426 20.050322 -46.806321 38.206953 -12.319656 0.000000 0.000000 0.000000 1.600000 1.700000 +C N 88.953762 10.294988 -27.706877 22.101434 -6.836438 0.000000 0.000000 0.000000 1.600000 1.700000 +C O 0.944093 30.116337 -59.608215 45.107654 -13.178839 0.000000 0.000000 0.000000 1.600000 1.700000 +C H 104.889589 3.971095 -23.823043 26.408093 -11.317522 0.000000 0.000000 0.000000 1.200000 1.300000 +C C 3.962931 24.467772 -51.156024 39.031644 -11.342979 0.000000 0.000000 0.000000 1.600000 1.700000 +H H 38.512100 3.887860 -37.769100 57.083500 -34.512200 0.000000 0.000000 0.000000 0.900000 1.000000 +N N 43.228899 15.004605 -36.621777 29.234888 -8.912743 0.000000 0.000000 0.000000 1.600000 1.700000 +N H 0.625470 28.081241 -63.414297 53.286361 -17.352234 0.000000 0.000000 0.000000 1.300000 1.400000 +O O 10.999870 19.303033 -45.747853 37.946431 -11.935755 0.000000 0.000000 0.000000 1.500000 1.600000 +O H 0.481176 33.175383 -81.158683 74.935408 -26.792315 0.000000 0.000000 0.000000 1.200000 1.300000 diff --git a/examples/QUANTUM/LATTE/data.water b/examples/QUANTUM/LATTE/data.water.latte.aimd similarity index 100% rename from examples/QUANTUM/LATTE/data.water rename to examples/QUANTUM/LATTE/data.water.latte.aimd diff --git a/examples/QUANTUM/LATTE/in.latte.water.md b/examples/QUANTUM/LATTE/in.latte.water.md new file mode 100644 index 0000000000..7940b7f992 --- /dev/null +++ b/examples/QUANTUM/LATTE/in.latte.water.md @@ -0,0 +1,40 @@ +# simple water model with LATTE + +units metal +atom_style full +atom_modify sort 0 0.0 # turn off sorting of the coordinates + +read_data data.water + +# replicate system if requested + +variable x index 1 +variable y index 1 +variable z index 1 + +variable nrep equal v_x*v_y*v_z +if "${nrep} > 1" then "replicate $x $y $z" + +# initialize system + +velocity all create 0.0 87287 loop geom + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.00025 + +fix 1 all nve + +fix 2 all latte +fix_modify 2 energy yes + +thermo_style custom step temp pe etotal press + +# dynamics + +thermo 10 +run 100 diff --git a/examples/QUANTUM/LATTE/in.water.latte.aimd b/examples/QUANTUM/LATTE/in.water.latte.aimd index dd5a17d6c8..c29d2e3069 100644 --- a/examples/QUANTUM/LATTE/in.water.latte.aimd +++ b/examples/QUANTUM/LATTE/in.water.latte.aimd @@ -4,7 +4,7 @@ units metal atom_style full atom_modify sort 0 0.0 # turn off sorting of the coordinates -read_data data.water +read_data data.water.latte.aimd # replicate system if requested diff --git a/examples/QUANTUM/LATTE/in.water.latte.aimd.plugin b/examples/QUANTUM/LATTE/in.water.latte.aimd.plugin index 5a1282c278..27a1c1c916 100644 --- a/examples/QUANTUM/LATTE/in.water.latte.aimd.plugin +++ b/examples/QUANTUM/LATTE/in.water.latte.aimd.plugin @@ -29,7 +29,7 @@ timestep 0.00025 fix 1 all nve -fix 2 qm mdi/qm elements 8 1 +fix 2 all mdi/qm elements 8 1 fix_modify 2 energy yes thermo_style custom step temp pe etotal press diff --git a/examples/QUANTUM/LATTE/latte_mdi.py b/examples/QUANTUM/LATTE/latte_mdi.py index cff2e484c9..d6dc7dea89 100644 --- a/examples/QUANTUM/LATTE/latte_mdi.py +++ b/examples/QUANTUM/LATTE/latte_mdi.py @@ -454,7 +454,7 @@ def evaluate(): vflag_global = 1 vflag_atom = 0 - flags_latte = 7*[0] + flags_latte = 6*[0] flags_latte[0] = pbcflag; # 1 for fully periodic, 0 for fully non-periodic flags_latte[1] = coulombflag; # 1 for LAMMPS computes Coulombics, 0 for LATTE flags_latte[2] = eflag_atom; # 1 to return per-atom energies, 0 for no @@ -479,15 +479,70 @@ def evaluate(): # AIMD with only QM atoms elif mode == AIMD: + + c_flags_latte = (c_int*6)(*flags_latte) + c_qm_natoms = c_int(qm_natoms) + qm_ntypes = 2 + c_qm_ntypes = c_int(qm_ntypes) + c_xy = c_double(xy) + c_xz = c_double(xz) + c_yz = c_double(yz) + c_maxiter = c_int(maxiter) + c_qm_pe = c_double(qm_pe) + c_new_system = c_int(new_system) + + qm_types = np.empty(qm_natoms,dtype=np.int32) + for i in range(0,qm_natoms,3): qm_types[i] = 1 + for i in range(1,qm_natoms,3): qm_types[i] = 2 + for i in range(2,qm_natoms,3): qm_types[i] = 2 + qm_mass = [15.995, 1.008] + c_qm_mass = (c_double*qm_ntypes)(*qm_mass) + + c_boxlo = (c_double*3)(*boxlo) + c_boxhi = (c_double*3)(*boxhi) + + qm_velocity = np.empty((qm_natoms,3)) + qm_velocity.fill(0.0) + + timestep = 0.00025 + c_timestep = c_double(timestep) + latte_error = 0 + c_latte_error = c_bool(latte_error) + + print("Calling LATTE ...") + time1 = time.time() + + print("flags_latte",c_flags_latte[0:6]) + print("qm_natoms",c_qm_natoms.value) + print("qm_coords",qm_coords) + print("qm_types",qm_types) + print("qm_ntypes",c_qm_ntypes.value) + print("qm_mass",c_qm_mass[0:2]) + print("boxlo",c_boxlo[0:3]) + print("boxhi",c_boxhi[0:3]) + print("xy",c_xy.value) + print("xz",c_xz.value) + print("yz",c_yz.value) + print("maxiter",c_maxiter.value) + print("timestep",c_timestep.value) + print("new_system",c_new_system.value) + liblatte.\ - latte(flags_latte,byref(qm_natoms),qm_coords, - qm_types,byref(qm_ntypes),qm_mass, - boxlo,boxhi,byref(xy),byref(xz),byref(yz),forces, - byref(maxiter),byref(qm_energy), - qm_velocity,byref(timestep),qm_stress, - byref(new_system),byref(latte_error)) + latte(c_flags_latte,byref(c_qm_natoms),qm_coords, + qm_types,byref(c_qm_ntypes),c_qm_mass, + c_boxlo,c_boxhi,byref(c_xy),byref(c_xz),byref(c_yz),qm_forces, + byref(c_maxiter),byref(c_qm_pe), + qm_velocity,byref(c_timestep),qm_stress, + byref(c_new_system),byref(c_latte_error)) # NOTE: check latte_error return? + latte_error = c_latte_error.value + qm_pe = c_qm_pe.value + + time2 = time.time() + print("DONE LATTE",latte_error,time2-time1) + print("PE",qm_pe) + print("FORCE",qm_forces) # clear flags for all MDI commands for next QM evaluation @@ -510,15 +565,16 @@ def latte_load(): nparray = np.ctypeslib.ndpointer(dtype=np.float64,ndim=2,flags="C_CONTIGUOUS") npvector_double = np.ctypeslib.ndpointer(dtype=np.float64,ndim=1,flags="C_CONTIGUOUS") - npvector_int = np.ctypeslib.ndpointer(dtype=np.int8,ndim=1,flags="C_CONTIGUOUS") + npvector_int = np.ctypeslib.ndpointer(dtype=np.int32,ndim=1,flags="C_CONTIGUOUS") liblatte.latte_abiversion.restype = None liblatte.latte_abiversion.argtypes = None liblatte.latte.restype = None liblatte.latte.argtypes = \ - [POINTER(c_int), POINTER(c_int), nparray, npvector_int, POINTER(c_int), - POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), + [POINTER(c_int), POINTER(c_int), nparray, npvector_int, POINTER(c_int), POINTER(c_double), + POINTER(c_double), POINTER(c_double), POINTER(c_double), + POINTER(c_double), POINTER(c_double), nparray, POINTER(c_int), POINTER(c_double), nparray, POINTER(c_double), npvector_double, POINTER(c_int), POINTER(c_bool)] @@ -527,7 +583,7 @@ def latte_load(): # only when it invokes pyscf_mdi.py as a plugin # -------------------------------------------- -def MDI_Plugin_init_nwchem_mdi(plugin_state): +def MDI_Plugin_init_latte_mdi(plugin_state): # other_options = all non-MDI args # -mdi arg is processed and stripped internally by MDI diff --git a/examples/QUANTUM/LATTE/log.8Sep22.aimd.lammps.mpi.1 b/examples/QUANTUM/LATTE/log.8Sep22.aimd.lammps.mpi.1 deleted file mode 100644 index 89ae638ae3..0000000000 --- a/examples/QUANTUM/LATTE/log.8Sep22.aimd.lammps.mpi.1 +++ /dev/null @@ -1,102 +0,0 @@ -LAMMPS (23 Jun 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# AIMD test of two UO2 molecules with LATTE in MDI stand-alone mode - -units metal -atom_style full -atom_modify sort 0 0.0 - -read_data 2uo2.lmp -Reading data file ... - triclinic box = (0 0 0) to (10.8 5.4 5.4) with tilt (3.3065464e-16 3.3065464e-16 3.3065464e-16) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 6 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.003 seconds - -velocity all create 300.0 87287 loop geom - -neighbor 1.0 bin -neigh_modify every 1 delay 0 check yes - -timestep 0.00025 - -fix 1 all nve - -fix 2 all mdi/qm virial yes elements 92 8 - -thermo_style custom step temp pe etotal press -thermo 1 - -dump 1 all custom 1 dump.aimd.mpi id type x y z vx vy vz fx fy fz - -run 20 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 0 - ghost atom cutoff = 0 - binsize = 10.8, bins = 1 1 1 - 0 neighbor lists, perpetual/occasional/extra = 0 0 0 -WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:210) -Per MPI rank memory allocation (min/avg/max) = 6.489 | 6.489 | 6.489 Mbytes - Step Temp PotEng TotEng Press - 0 300 -50.539035 -50.345145 -120197.6 - 1 307.57345 -50.544722 -50.345937 -120123.27 - 2 316.3757 -50.551342 -50.346868 -120035.12 - 3 326.39203 -50.558885 -50.347938 -119933.11 - 4 337.60559 -50.567341 -50.349146 -119817.17 - 5 349.99734 -50.576697 -50.350493 -119687.24 - 6 363.54606 -50.586939 -50.351979 -119543.23 - 7 378.22834 -50.598054 -50.353605 -119385.07 - 8 394.0186 -50.610024 -50.355369 -119212.67 - 9 410.88903 -50.622831 -50.357273 -119025.94 - 10 428.80963 -50.636457 -50.359317 -118824.77 - 11 447.74819 -50.65088 -50.3615 -118609.06 - 12 467.67027 -50.666079 -50.363823 -118378.7 - 13 488.53922 -50.68203 -50.366287 -118133.58 - 14 510.31617 -50.698708 -50.36889 -117873.58 - 15 532.96002 -50.716086 -50.371633 -117598.57 - 16 556.42747 -50.734137 -50.374517 -117308.44 - 17 580.67298 -50.75283 -50.377541 -117003.05 - 18 605.64879 -50.772136 -50.380705 -116682.27 - 19 631.30497 -50.792023 -50.38401 -116345.95 - 20 657.58937 -50.812455 -50.387454 -115993.97 -Loop time of 3.40001 on 1 procs for 20 steps with 6 atoms - -Performance: 0.127 ns/day, 188.889 hours/ns, 5.882 timesteps/s -100.0% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0 | 0 | 0 | 0.0 | 0.00 -Bond | 1.2223e-05 | 1.2223e-05 | 1.2223e-05 | 0.0 | 0.00 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 6.0971e-05 | 6.0971e-05 | 6.0971e-05 | 0.0 | 0.00 -Output | 0.0009257 | 0.0009257 | 0.0009257 | 0.0 | 0.03 -Modify | 3.3989 | 3.3989 | 3.3989 | 0.0 | 99.97 -Other | | 6.824e-05 | | | 0.00 - -Nlocal: 6 ave 6 max 6 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 2 ave 2 max 2 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 0 -Neighbor list builds = 0 -Dangerous builds = 0 -Total wall time: 0:00:03 diff --git a/examples/QUANTUM/LATTE/log.8Sep22.aimd.lammps.mpi.2 b/examples/QUANTUM/LATTE/log.8Sep22.aimd.lammps.mpi.2 deleted file mode 100644 index 63baf71ec5..0000000000 --- a/examples/QUANTUM/LATTE/log.8Sep22.aimd.lammps.mpi.2 +++ /dev/null @@ -1,102 +0,0 @@ -LAMMPS (23 Jun 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# AIMD test of two UO2 molecules with LATTE in MDI stand-alone mode - -units metal -atom_style full -atom_modify sort 0 0.0 - -read_data 2uo2.lmp -Reading data file ... - triclinic box = (0 0 0) to (10.8 5.4 5.4) with tilt (3.3065464e-16 3.3065464e-16 3.3065464e-16) - 2 by 1 by 1 MPI processor grid - reading atoms ... - 6 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.005 seconds - -velocity all create 300.0 87287 loop geom - -neighbor 1.0 bin -neigh_modify every 1 delay 0 check yes - -timestep 0.00025 - -fix 1 all nve - -fix 2 all mdi/qm virial yes elements 92 8 - -thermo_style custom step temp pe etotal press -thermo 1 - -dump 1 all custom 1 dump.aimd.mpi id type x y z vx vy vz fx fy fz - -run 20 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 0 - ghost atom cutoff = 0 - binsize = 10.8, bins = 1 1 1 - 0 neighbor lists, perpetual/occasional/extra = 0 0 0 -WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:210) -Per MPI rank memory allocation (min/avg/max) = 5.485 | 5.987 | 6.489 Mbytes - Step Temp PotEng TotEng Press - 0 300 -50.539035 -50.345145 -120197.6 - 1 307.57345 -50.544722 -50.345937 -120123.27 - 2 316.3757 -50.551342 -50.346868 -120035.12 - 3 326.39203 -50.558885 -50.347938 -119933.11 - 4 337.60559 -50.567341 -50.349146 -119817.17 - 5 349.99734 -50.576697 -50.350493 -119687.24 - 6 363.54606 -50.586939 -50.351979 -119543.23 - 7 378.22834 -50.598054 -50.353605 -119385.07 - 8 394.0186 -50.610024 -50.355369 -119212.67 - 9 410.88903 -50.622831 -50.357273 -119025.94 - 10 428.80963 -50.636457 -50.359317 -118824.77 - 11 447.74819 -50.65088 -50.3615 -118609.06 - 12 467.67027 -50.666079 -50.363823 -118378.7 - 13 488.53922 -50.68203 -50.366287 -118133.58 - 14 510.31617 -50.698708 -50.36889 -117873.58 - 15 532.96002 -50.716086 -50.371633 -117598.57 - 16 556.42747 -50.734137 -50.374517 -117308.44 - 17 580.67298 -50.75283 -50.377541 -117003.05 - 18 605.64879 -50.772136 -50.380705 -116682.27 - 19 631.30497 -50.792023 -50.38401 -116345.95 - 20 657.58937 -50.812455 -50.387454 -115993.97 -Loop time of 25.2055 on 2 procs for 20 steps with 6 atoms - -Performance: 0.017 ns/day, 1400.306 hours/ns, 0.793 timesteps/s -99.9% CPU use with 2 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0 | 0 | 0 | 0.0 | 0.00 -Bond | 1.746e-05 | 2.5213e-05 | 3.2966e-05 | 0.0 | 0.00 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 4.3862e-05 | 5.4267e-05 | 6.4671e-05 | 0.0 | 0.00 -Output | 0.001642 | 0.0018189 | 0.0019957 | 0.4 | 0.01 -Modify | 25.203 | 25.203 | 25.203 | 0.0 | 99.99 -Other | | 0.000307 | | | 0.00 - -Nlocal: 3 ave 6 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Nghost: 1 ave 2 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 2 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 0 -Neighbor list builds = 0 -Dangerous builds = 0 -Total wall time: 0:00:26 diff --git a/examples/QUANTUM/LATTE/log.8Sep22.aimd.lammps.plugin b/examples/QUANTUM/LATTE/log.8Sep22.aimd.lammps.plugin deleted file mode 100644 index 9f987d7311..0000000000 --- a/examples/QUANTUM/LATTE/log.8Sep22.aimd.lammps.plugin +++ /dev/null @@ -1,103 +0,0 @@ -LAMMPS (23 Jun 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# AIMD test of two UO2 molecules with LATTE in MDI plugin mode - -units metal -atom_style full -atom_modify sort 0 0.0 - -read_data 2uo2.lmp -Reading data file ... - triclinic box = (0 0 0) to (10.8 5.4 5.4) with tilt (3.3065464e-16 3.3065464e-16 3.3065464e-16) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 6 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.004 seconds - -velocity all create 300.0 87287 loop geom - -neighbor 1.0 bin -neigh_modify every 1 delay 0 check yes - -timestep 0.00025 - -fix 1 all nve - -fix 2 all mdi/qm virial yes elements 92 8 - -thermo_style custom step temp pe etotal press -thermo 1 - -dump 1 all custom 1 dump.aimd.plugin id type x y z vx vy vz fx fy fz - -mdi plugin latte_mdi mdi "-role ENGINE -name LATTE -method LINK" command "run 20" -run 20 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 0 - ghost atom cutoff = 0 - binsize = 10.8, bins = 1 1 1 - 0 neighbor lists, perpetual/occasional/extra = 0 0 0 -WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:210) -Per MPI rank memory allocation (min/avg/max) = 6.489 | 6.489 | 6.489 Mbytes - Step Temp PotEng TotEng Press - 0 300 -50.539035 -50.345145 -120197.6 - 1 307.57345 -50.544722 -50.345937 -120123.27 - 2 316.3757 -50.551342 -50.346868 -120035.12 - 3 326.39203 -50.558885 -50.347938 -119933.11 - 4 337.60559 -50.567341 -50.349146 -119817.17 - 5 349.99734 -50.576697 -50.350493 -119687.24 - 6 363.54606 -50.586939 -50.351979 -119543.23 - 7 378.22834 -50.598054 -50.353605 -119385.07 - 8 394.0186 -50.610024 -50.355369 -119212.67 - 9 410.88903 -50.622831 -50.357273 -119025.94 - 10 428.80963 -50.636457 -50.359317 -118824.77 - 11 447.74819 -50.65088 -50.3615 -118609.06 - 12 467.67027 -50.666079 -50.363823 -118378.7 - 13 488.53922 -50.68203 -50.366287 -118133.58 - 14 510.31617 -50.698708 -50.36889 -117873.58 - 15 532.96002 -50.716086 -50.371633 -117598.57 - 16 556.42747 -50.734137 -50.374517 -117308.44 - 17 580.67298 -50.75283 -50.377541 -117003.05 - 18 605.64879 -50.772136 -50.380705 -116682.27 - 19 631.30497 -50.792023 -50.38401 -116345.95 - 20 657.58937 -50.812455 -50.387454 -115993.97 -Loop time of 2.74435 on 1 procs for 20 steps with 6 atoms - -Performance: 0.157 ns/day, 152.464 hours/ns, 7.288 timesteps/s -99.8% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0 | 0 | 0 | 0.0 | 0.00 -Bond | 1.299e-05 | 1.299e-05 | 1.299e-05 | 0.0 | 0.00 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 7.9198e-05 | 7.9198e-05 | 7.9198e-05 | 0.0 | 0.00 -Output | 0.001118 | 0.001118 | 0.001118 | 0.0 | 0.04 -Modify | 2.743 | 2.743 | 2.743 | 0.0 | 99.95 -Other | | 0.0001456 | | | 0.01 - -Nlocal: 6 ave 6 max 6 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 2 ave 2 max 2 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 0 -Neighbor list builds = 0 -Dangerous builds = 0 -Total wall time: 0:00:03 diff --git a/examples/QUANTUM/LATTE/log.8Sep22.aimd.latte.1 b/examples/QUANTUM/LATTE/log.8Sep22.aimd.latte.1 deleted file mode 100644 index 4ff1e29aeb..0000000000 --- a/examples/QUANTUM/LATTE/log.8Sep22.aimd.latte.1 +++ /dev/null @@ -1,12604 +0,0 @@ - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 1 - KON = 0 ... - Time get H 18.000000000000000 - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.1179006122534787E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2447467007814534E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0816438347235344E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3541892482555884E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.9509785697172717E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0217877225321459E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1283384995294270E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8857903898993342E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0564428112801458E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4925999542780843E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1018006857121954E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.2562356612081444E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.2673819033465250E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8097138121816485E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7242763888167829E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9047346227661919E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2786206882452475E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7955823320647823E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4199482018417697E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1259699044030569E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.9473541806661672E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.1213525421054413E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.6749876171657831E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5266252177711408E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6132141087996672E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8856776106422899E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3055792151005505E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8426685193251302E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4730467321477647E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1777771564691619E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.4182061727288158E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.5321245240900225E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0242121402431792E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8184609591217509E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8542122204887619E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0830280817184530E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4662119013640904E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9728393274576206E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5781907292122810E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2625025691548331E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0099708624977666E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.0795737655847688E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.4635387486688956E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.1707575776660519E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1365630032430545E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3092266038536877E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6473669700877167E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1178875764249483E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6943083824827454E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3554480871036390E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0843613340583147E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.6749301075883523E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.9399905822109531E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5520219532922965E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4416550437631486E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5533602726900426E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8427258325081084E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2876731620158353E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8449095584571751E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4879797394229399E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2002083771278649E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.6816576977687419E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.8105422129937097E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.3016569740170780E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.0846737931209418E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1030223663085508E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3112024233616921E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6724211732442882E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1570967234652016E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7412216113399381E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4056844577226002E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1348233464048008E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.1638918675585046E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.3998918104223321E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.9749205583159437E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8257398077566904E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8987146844249310E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1509794773398880E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5465074493524753E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0575208203865714E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6626144905274032E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3443024471371245E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0871969990944308E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.7865270614884139E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.1010974878049637E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.7389648588923592E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.6419534882602420E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7562175592142921E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0372371284670407E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4591439995447217E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9827472996780671E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6064927166326015E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3059553438665716E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0523804050421859E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.5276230521458274E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 142.00000000000000 - Doing XBO ... - RESIDUE= 3.8005815116873233E-004 - Getting forces ... - Time for GETMDF-GETFORCE 16.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 176.00000000000000 - Time for GETMDF = 176.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.005048920306102 2.0935268126760067 18.062222038862252 5.5709977791022096 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8578873450050475 LUMO= -4.0018256631440954 - EGAP= 1.8560616818609521 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 2 - KON = 0 ... - Time get H 13.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2354266265797200E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3405462810540687E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1593385865170678E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4169822202652060E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.4572542919246771E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.4292955084366277E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4559609230998554E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1489679231122558E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2677255553027464E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6621470221589441E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2378126028145253E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.3470694668473797E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.1420826205814691E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5110026863980366E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2864668555742114E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3553730673041571E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6398126919069398E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0850622499013483E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6519403979620151E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3118814429891046E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0437127472950891E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.3151132903580560E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6315202884581481E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2930499754300087E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2272985543156949E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3776910515204150E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6997799731365291E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1584966094501112E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7260801552509974E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3804986547238940E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1042323504462104E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.8332865599838328E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.0666313689571325E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.6535855996742157E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5232618228752131E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6190273378089444E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8956188358186807E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3168514662330608E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8537901946835689E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4832944450482444E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1868548233096021E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.4966544628150018E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.5988152437034273E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0802738843790394E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8652144757355131E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8929816037480691E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1150418688952186E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4925664199315634E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9944845552899437E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5959376709062667E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2770324131494704E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0218557111585369E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.1766842185970745E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.5428460427341406E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2354922619457511E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1893655211566738E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3522802311836131E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6824724663754296E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1464927613124019E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7176182698364073E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3744312354901922E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0998120192340366E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.8007934273548472E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.0424044373851302E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.6354143573855708E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5094483702712296E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6085534560470478E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9045665872473592E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3448964991956700E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8932266865334668E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5286127919011960E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2342682431665253E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.9666053188229853E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.0485174080990873E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.4998117998982252E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2506776704319691E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2399528332737191E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4244385105353103E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7668534130498301E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2354118556222602E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8055001937966608E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4592549391068133E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1793566123685650E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.5305985325921938E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.7040596124788863E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.2210236961846022E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.0289772346445716E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0616399132886727E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2857050413781508E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6596502777920250E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1501689317915407E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7308376953906190E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4063195052926858E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1362022434013852E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.1693319603791679E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 131.00000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 16.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 160.00000000000000 - Time for GETMDF = 160.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.032690592773982 2.1046338692736910 18.052915274706507 5.5703897640696782 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8560004927566895 LUMO= -4.0001322257540428 - EGAP= 1.8558682670026467 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 3 - KON = 0 ... - Time get H 13.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0101272192330146E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.4685324517925746E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1985585638035783E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7679393803179408E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8567781548657347E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2690948087989984E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.8443040460295386E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.2842267395946116E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5490749567389521E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3502136362728585E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5055701399567809E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8990421547360192E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4556326212944448E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1261646950599946E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.7784275739632989E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.8838942954618787E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.4237691996306125E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2891040054504614E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4014882348776254E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7034791358904187E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1523147536228748E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7157125040467847E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3690087716344834E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0931733372077090E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.7340393566393004E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.9811245755335705E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5818071258428859E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4640536902562644E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5707823269337524E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8566515408723347E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2855798200716038E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8288146368394820E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4634194396290212E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1710825831290350E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.3717587446029427E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.5000822641335674E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0023270953557528E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8037459721150810E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8445515437857125E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0769152137288813E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4625709715841992E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9709009069224237E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5774047579242279E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2624773826352964E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0104292225143752E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.0870456109494171E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.4725489190564645E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.1803889400403591E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1462057343011338E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3184917258566315E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6560239119177709E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1258119042855128E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7014486264343986E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3618042693508414E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0899625424443116E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.7238873902606429E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.9824901416382090E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5887185990144417E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4731631732020105E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5803104925236084E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8656710338026414E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2936939014783775E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8358783382410593E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4694474526066870E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1761660534403973E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.4142293960430834E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.5352324380162372E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0314442329456597E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8277581932154590E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8642200550498274E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0930435990228489E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4971325007783207E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0164547809287114E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6283152604046336E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3149870081718973E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0620626600399419E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.5778273373193770E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.9287575676924007E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5972448897989580E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5214831878581663E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6522784796488850E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9510616172956361E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3838375717843974E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9266033213227729E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5569878719645658E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2580825270447349E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0168310637936884E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.2183149174852588E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6394667541658237E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.3695936585995696E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3461900745001003E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5116354268893701E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8351765379852623E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2929436127583358E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8532952950067738E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5030199307375369E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2111422975635833E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.7744035087998782E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 135.00000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 16.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 164.00000000000000 - Time for GETMDF = 164.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.064518404473738 2.1175174146051221 18.042229576574641 5.5696743037874175 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8538274394796037 LUMO= -3.9981883568235874 - EGAP= 1.8556390826560163 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 4 - KON = 0 ... - Time get H 13.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4205850064413328E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.1311928160184852E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.9522408197791865E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.9428529829172998E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6586674600170834E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8270936755555578E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2803393166451738E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.1464709270550060E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6547561242424891E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.9237470867069533E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6975529295601994E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8124484311309317E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1622590544367881E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6770542346056239E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3099688839779411E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0290018460912265E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.1187193573528660E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.4276057006873444E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.1022495743513474E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0584271249644033E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2331752457759322E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5787858653147921E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0586960165491774E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6446197725450418E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3145074711173876E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0510662877161181E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.4066917389602480E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.7253777156217609E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.3812236093797594E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3062603833909918E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4463623168612401E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7583719566237619E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2078438264294675E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7672654502032259E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4146495117550728E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1324169502113790E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.0650859707608333E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.2567770703635404E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.8092575794255197E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.6505196671375870E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7229368454738676E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9803867951372354E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3859539366455351E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9100892689749571E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5291399901862235E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2241726876638381E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.8003131832058443E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.8458306740358807E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.2811583712019115E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.0285432262597851E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0257448485903069E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2229406254913329E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5802394221230429E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0657101584831139E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6537912816971811E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3240182950013946E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0600070821098484E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.4864497651437887E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.7943068948750351E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.4395832282949641E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3550114625645620E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4866889375706478E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7915214584339765E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2349617712080772E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7893846404604119E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4326386743590547E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1470187022410983E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.1834984061733849E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.3528605426531612E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.8870130992261238E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7134274261395603E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7737946101401576E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0216629198775991E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4193047565290726E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9430212994109297E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5693091270918558E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2674128413436847E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0237422021219800E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.2698292658278660E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6810112997472970E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.3967941227028859E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3602788046825935E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5235592221738443E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8469782087370277E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3006041516282494E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8598900197730472E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5025758415276869E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2151724071429726E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.8202557197168971E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.9338757785762937E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.4155347700989296E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.1888493501905941E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1985304122249545E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3988367675874542E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7440272276635369E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2177815139912127E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7906787164179150E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4507284262776921E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1702860902573775E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.5368157815300947E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 138.00000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 17.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 168.00000000000000 - Time for GETMDF = 168.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.100522140146253 2.1321825101923064 18.030171510908211 5.5688493352269139 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8513680577887568 LUMO= -3.9959938633429508 - EGAP= 1.8553741944458060 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 5 - KON = 0 ... - Time get H 13.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7201774728291541E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1101899992363107E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.2703223110561765E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8406611876397054E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2820673766214004E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2684494787374998E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5987696272783403E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1484845127147647E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.3995327286423560E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.2438808122222689E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7082868433423464E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5939286842912033E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7713223346026439E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1547756222095593E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6865596832604801E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3270371827589500E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0484548120470727E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.3100026911475666E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6026695836551852E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2560035373794278E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1900168479269695E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3438791184225991E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6708253866525311E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1345831122454584E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7068160400368626E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3652617055992522E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0923514510707832E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.7417271239509375E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.9967871603182630E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.6008018973763285E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4837308681433541E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5896934407197989E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8740660038550914E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3011899352720633E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8425558725443381E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4753615129592390E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1813638782776081E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.4596439259575504E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.5747898931055602E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0655508127283042E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8570563659922072E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8893663711903059E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1144906786906290E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4940060749933934E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9971474141122769E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5992810054044071E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2806824312150411E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0255576565754154E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.2125991118786601E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.5766271095668571E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2665688476949413E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2174925773963423E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3774042895728940E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7046664685670407E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1659401827633928E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7345285874270644E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3890539385386091E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1123944654300999E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.9084097876224178E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.1341785812251146E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.7133546782495159E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5755170763328579E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6642944234444030E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9345772478706067E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3501904866662926E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8821799674384465E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5073799985998448E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2072183253053481E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.6684060757468160E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.7432504852481543E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.2015370616563814E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.9667336909919868E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.9779135541095911E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1858737870038567E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5516544432946375E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0436474734708554E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6367773802983265E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3109224816787446E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0550793572150496E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.5238371916318556E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.8865246838356597E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5630722251009956E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4956038891541539E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6332048480858248E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9357849484767939E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3728907727615933E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9178991728097117E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5502266137445986E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2529866033617054E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0126122163001128E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.1898932080548548E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6204819404447335E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.3541615585572799E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3288705953159479E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4996450182234184E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8318458689113868E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2879476091475226E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8529622280993863E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5036860645523120E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2135847882177586E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.7799546239230040E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 140.00000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 16.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 169.00000000000000 - Time for GETMDF = 169.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.140689981285114 2.1486346827288996 18.016748565196199 5.5679125467245383 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8486222229616214 LUMO= -3.9935485430286315 - EGAP= 1.8550736799329899 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 6 - KON = 0 ... - Time get H 13.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8824744042301944E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2205422699403057E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.0347495153409998E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.3804050979397999E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6704052233582640E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5528729214123747E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8104964446925553E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3083702062053337E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.6218192322439222E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.1879117334083809E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.4435385226847544E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1704373993467492E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2257732329354916E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5145053464248335E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9722314394421403E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5544613259810269E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2298518985409679E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.7589456344193692E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.7613066297832489E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.1832648429627213E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.9325683758150163E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.9387919029465479E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1476198355973040E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5168104502704125E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0132917057491539E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6110336032104655E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2894639597860191E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0322719518951473E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.2649354362640537E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6180533133675112E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2997488038108997E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2443004928394146E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3991981949199612E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7224610774645441E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1805106538153041E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7464795423194346E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3988644689266749E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1204519061447371E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.9746023856918100E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.1885434760332600E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.7579745926794601E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.6121280883326676E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6943284498214268E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9591842887199959E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3703405727104609E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8986795868869422E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5208792736309817E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2182599928856064E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.7585969749403034E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.8169423600726873E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.2616497320533426E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.0158299735869605E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0179004789919759E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2185319298605464E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5782136203744699E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0652970444956509E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6544298153675641E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3253085295872324E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0616666878959791E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.5047497933032901E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.8130001640298588E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.4577991015491989E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3721959386289200E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5025424782730852E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8058901868632802E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2478188199670512E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8007648705520296E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4426246863763481E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1557204082635053E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.2588381406244480E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.4175154907152319E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.9424021259246729E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7608805786580888E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8142755620640401E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0557223418270496E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4481550120469819E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9613000112883583E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5714873846661703E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2590750664287498E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0086353974259055E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.0820017345217821E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.4757532669545981E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2034709874249074E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2045145143276841E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3979707936282466E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7466029450806673E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2199908578102168E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7947532349182893E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4506396084357220E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1724066162344116E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.4716456899845980E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.6552097993953794E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.1951554997108360E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.0069948187569935E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0549785751409217E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2820413053968878E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6489921367556235E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1408430583846894E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7345014313718821E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4017675908917226E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1283196599265466E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 102 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.1737728524776685E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 142.00000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 16.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 171.00000000000000 - Time for GETMDF = 171.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.185008458301187 2.1668798968981102 18.001969159635813 5.5668613809083443 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8455898162715929 LUMO= -3.9908521874271989 - EGAP= 1.8547376288443940 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 7 - KON = 0 ... - Time get H 12.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8939869375197871E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2348265129210834E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.1796093418031735E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5147970583337980E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7891682211974587E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6547652568864599E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8962536690965148E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3796179705063416E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0208445622330586E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.6678458410861516E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.8343887245504433E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4876803315063718E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4826428578638158E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7221163107382651E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1398051344090341E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6895834577823621E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3387249255147893E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0635678166703855E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.4670165469535874E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.7511254836061241E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.3893901860613269E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3062148503247855E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4430935748730462E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7543953978304003E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2043110139424726E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7646021533757050E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4129166143739269E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1315096641872913E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.0626272639671157E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.2592315196740032E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.8151080306600988E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.6585204960258864E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7321208450347143E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9900377669367373E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3955643566608842E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9193179097154456E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5377729667420681E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2320902724738403E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.8718138108466746E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.9096061411654262E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.3374684855510566E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.0778455484845608E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0686062074968277E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2599748522876837E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6120719032185491E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0929473243391783E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6770024369172631E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3437281798367451E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0766917579729807E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.6272765376094185E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.9128704316412382E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5391814468563894E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4384895758753373E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5565359102207594E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8498496895679182E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2835967117273981E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8298659920645832E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4662975500456810E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1749725414844647E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.4153298491050919E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.5447881275891859E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0459073303320565E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8448260958622313E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8823777526175718E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1111551113127689E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4931539055472740E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9979142784620763E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6010641701313943E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2830501106009251E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0282243945169967E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.2401374612572909E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6035266144126581E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2920290372071577E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2410697176364920E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3988811765084392E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7239543953783141E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1830670604572333E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7496226689672767E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4022250027778682E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1236944708059582E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.0061069712987774E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.2183148347448878E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.7859939062154808E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.6365800088210563E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7167824373796066E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9788616018322500E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3876012278378766E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9181212174146367E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5507817252569112E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2534195903413092E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0125900118396203E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.1905593418696299E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6238126095186090E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.3547166700695925E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3337555766242986E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5016434196677437E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8309576904916867E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2932766796657233E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8535173396116988E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5006884623858241E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2186918141310343E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 102 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.8543395665728895E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 148.00000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 16.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 176.00000000000000 - Time for GETMDF = 176.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.233462397626681 2.1869245251667304 17.985842659813542 5.5656930380440146 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8422707287066258 LUMO= -3.9879045853794040 - EGAP= 1.8543661433272218 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 8 - KON = 0 ... - Time get H 13.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7538191296780914E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1517290873994668E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.6908405806839220E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2304625537944460E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6263749074008089E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5637603441257539E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8472664530098104E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3549058906421330E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0098909173874571E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.6340257908880105E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.8402760762499284E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5126394746275444E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5151206122230327E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7558781598369109E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1716919774483756E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7181815887967744E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3635832091085653E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0847416984405278E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.6449153380074861E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.8991703319420949E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5117550745054089E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4068571882105445E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5255712605319900E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8218063525820014E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2592974316504311E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8093862761414670E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4493493905254340E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1611221494289836E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.3031503753948641E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.4544862096459497E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.9735448156850168E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7870360599944206E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8363351795300815E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0745250134689428E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4640441385059830E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9748127717544861E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5827376165233886E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2685174148874268E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0166880095585640E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.1485850400575544E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.5309983576788966E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 5.2345524004238086E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1954831053736541E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3626895801219803E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6952178022732198E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1602462552117174E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7314698430581643E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3878065008299245E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1123597776219185E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.9158760596674824E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.1463646111880053E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.7280773013701491E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5912943003045825E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6801364844407658E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9498199216604348E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3644470159567277E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8952510227876473E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5191709445971924E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2177236996535612E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.7610155513905283E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.8242570200615091E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.2718379378878808E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.0274722163123897E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0300225379041876E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2304912078728876E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5896007560533008E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0758832430800567E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6640679945112424E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3339660487332594E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0693577134901489E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.5725759824129000E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.8720407142564000E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5091398110107548E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4164871759733160E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5405611775729540E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8383806416343305E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2754309547678986E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8242318766681365E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4625256561373590E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1724976545224308E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.3993257621605153E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.5357275974852200E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0419669267730569E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8437920341370955E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8842262739535727E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1137759037846990E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4967583556190220E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0020873847670373E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6043610884253212E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2871037569084365E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0328626842692756E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.2773787823953171E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6298078138515848E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.3232973584727006E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2906789232688425E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4712233087930144E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8074209623696333E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2762902673889585E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8338663920758336E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4847012508312218E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2009282457370318E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 102 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.7211128036178707E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 142.00000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 16.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 171.00000000000000 - Time for GETMDF = 171.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.286034863894670 2.2087753139930353 17.968379390330966 5.5644044798292827 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8386648650799913 LUMO= -3.9847055268491474 - EGAP= 1.8539593382308439 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 9 - KON = 0 ... - Time get H 12.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4741268363969606E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.7833792210610948E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6091395307876777E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5502478017422909E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1944090647053613E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2861843014021499E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6664151039131880E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2352061928491143E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.2928165855843403E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.0810968413548281E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.4537861556847034E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2374217326690555E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3156498551911717E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6089489572456159E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0618999523280834E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6351190091468126E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3000861627188165E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0357848881770160E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.2648394754913923E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6024736231851122E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2791441849331378E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2238761513546663E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3812576439640196E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7077630366800776E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1690391606599135E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7378710955640031E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3926368015892976E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1161197842612935E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.9458835474953702E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.1707624105243895E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.7481717941065824E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.6079842581647767E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6940690584241764E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 2.9614800216570814E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3742156307626772E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9034323741617953E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5260174397457860E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2234478314887554E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.8087737709917633E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.8640607537039386E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.3049493781441868E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.0549719454728859E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0528279487972441E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2493749024808949E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6052156476552568E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0887656337897909E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6747035691544454E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3427291478684822E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0765671487611428E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.6316979341916067E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.9207585440267394E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5489854933199467E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4491379913580431E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5673096032695639E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8602776147579334E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2933924093138103E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8388705447236475E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4744384824183498E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1822364864855217E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.4795171712291904E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.6009920579878099E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0947713542702786E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8870483215779359E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 3.9186864864149129E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1422282553705827E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5196269515248559E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0204080630747967E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6201116004310734E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2991292486219663E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0417651186145349E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.3536733086475579E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6988481428609248E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.3718740566921497E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3078096645388086E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4545744043157356E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7702129479223458E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2215340678144457E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7815393604792007E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4287349081598677E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1457435000750138E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.1881613428768105E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.3694161883963716E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.9104499072759609E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7397197278087333E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8003600266733883E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0483171542527998E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 2.4445334645406547E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9613644042237866E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5735857061827119E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2606138355408802E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0109912906841600E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.1177287114542196E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.5130123516610183E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2193804833677859E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1902037395402658E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3502089991088724E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6960655929997301E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1571633368466792E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7303936061807690E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3944401189291966E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1204370764517080E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 102 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.9839247152667667E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 141.00000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 16.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 169.00000000000000 - Time for GETMDF = 169.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.342707097538767 2.2324393466062808 17.949590649200296 5.5629924336733385 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8347721485502806 LUMO= -3.9812548071252101 - EGAP= 1.8535173414250705 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 10 - KON = 0 ... - Time get H 12.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0790271097165238E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.2950453553326522E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.0263012033358034E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5311780064590792E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5289273241348997E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8445121560959343E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3680027722346999E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0297237432597139E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.8501603059732972E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0487062280212278E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7015116120574518E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6801381741513595E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8967545554481333E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2901172432643335E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8166812873565696E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4448988313797706E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1515122609795370E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.1910613253309847E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.3446190348880336E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.8743116249759808E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7014871378037171E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7647217734804173E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0157535469310659E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4164801556869620E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9367080037246964E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5524417000145618E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2445695376950283E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.9784385645396156E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.0008421114996509E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.4155091148432319E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.1445022837270926E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1254214346864160E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3082853181376493E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6530475754071858E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1276143631343558E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7062606623152732E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3683637811734428E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0973896467092459E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.8008131537975487E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.0580884470317073E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.6604836196072483E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5396460923718962E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6407628445367379E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9198776840821949E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3417406613823744E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8780833088705151E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5062351921280026E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2080159805805124E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.6884543721031946E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.7703106171611580E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.2319541749289442E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.9981837335622004E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0086894470547918E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2151020734616509E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5786308865960450E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0681693246871191E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6587663465017499E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3304146673220885E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0670657024647312E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.5584925813009249E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.8644465667233590E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5057627346144500E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4160273215965162E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 3.5419966959437943E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8409810060026075E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2787107756272462E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8277455104964702E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4660377356534582E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1759120344123630E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.4320840027251052E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.5655082198977652E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0685279024141892E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8677128994256691E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.9045300326279175E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 3.1319435933596651E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5122792735032817E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0152213231483529E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6165735416961979E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2967182883016903E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0401945971239002E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.3442364129382440E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6942229537403364E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.3695492496785846E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3070436106518173E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4548586214100396E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7725599593964034E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2229773577464584E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7834622667578515E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4321210883849744E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1479706074624119E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.2130747475493990E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.3865358274360915E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.9310334421525113E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7544190806547704E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8211656061548638E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0635494141506570E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4609203563841220E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9693136010801027E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5742962489184720E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2618794897889529E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0149658891123181E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 102 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.1135098639606440E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 140.00000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 15.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 167.00000000000000 - Time for GETMDF = 167.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.403458447068978 2.2579240023078606 17.929488723261116 5.5614533974188864 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8305925254899469 LUMO= -3.9775522313753617 - EGAP= 1.8530402941145852 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 11 - KON = 0 ... - Time get H 13.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0244023134472524E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2650637906618272E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0769206863119347E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2592941704819847E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6856318884768129E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2753381066807901E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.7646914333582302E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.5507362349624962E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.8860079308153956E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.6180372826865046E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6417651271625218E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8833781997184005E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2900105638723467E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8231017981817921E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4540518993211293E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1613320634484836E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.2852876740101564E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.4299417841539039E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.9489658529088274E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7653933324065534E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8186337832035733E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0607786924985447E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4538175665833606E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9675134181884602E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5777643225023397E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2653289147568358E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0148281065269771E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.1395883915202916E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.5287218486975718E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2367978187195519E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2006112885850655E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3695048713422437E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7028690137154143E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1681436230824858E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7392193853993376E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3951577650939129E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1191658311204833E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.9777479739261423E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.2018151420216725E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.7772075101603093E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.6344188731062275E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7176955824946845E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9823155101027510E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3924039793676855E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9191838118715054E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5395712726906652E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2350490985468809E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.9076297610523056E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.9479762105094665E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.3759446389255459E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.1148591140304234E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1032151454345467E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2916683601058594E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6406378861310031E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1183764520316117E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6994126772473805E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3633150164338304E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0936910488368312E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.7739373544337695E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.0387513595449036E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.6467579501173759E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5300476703147297E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6341991638266791E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9155160508054223E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3389801206974425E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8764410025795542E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5053793767094703E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2077097100160472E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.6889896106233664E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.7730555325672412E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.2360228092472880E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.0030468656814264E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0138137258338702E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2201397104358875E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5834689942882960E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0727619620686255E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6629786436794802E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3341328042315581E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0703415931345717E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.5884632738952860E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.8896666149953489E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5281335065160420E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4345194183392778E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5586644742124918E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8553825970334401E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2919000031151882E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8375745369780816E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4743539722417154E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1830314505800743E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.4872998346318127E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.6194606180024493E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0997873418955351E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8987480738560407E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.9390712913700554E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1552538359846949E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5321966745650570E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0317081350640365E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6344703368531555E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3049561431444090E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0540457395791236E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.3888451740676828E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 140.00000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 16.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 169.00000000000000 - Time for GETMDF = 169.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.468266296797687 2.2852369122191525 17.908086904279639 5.5597836445870916 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8261259707631750 LUMO= -3.9735976195725402 - EGAP= 1.8525283511906347 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 12 - KON = 0 ... - Time get H 13.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6101827632020189E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6170403096543726E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9294762716841607E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4443472120317935E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0956219536546463E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.4050124189150033E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 6.5084142790139410E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.0783267753939931E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.9867833076612236E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1450831826895786E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4905653945972439E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9781355887582563E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5747692383882850E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2558932485173813E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0029647244591544E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.0647831566693640E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.4838450617887844E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2099907784430854E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1847101543091014E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3601804137806113E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6975037056731210E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1651540053957419E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7376470597740834E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3944225413231592E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1189166343905654E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.9779953065249885E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.2035259039981980E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.7796197980852781E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.6370842816667590E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7203569671628856E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9848316394076591E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3947043810146340E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9212403725710203E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5413804790309626E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2366215340620101E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.9211688420197675E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.9595436219825899E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.3857645771214777E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.1231505038273895E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1101798342602081E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2974943131591772E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6454938906184111E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1224083890380996E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7027486776122203E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3660655717728787E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0959528906617777E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.7924818981122144E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.0539169394479018E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.6591147767903749E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5401024051372474E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6423530413998151E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9221163488912794E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3442929375505628E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8807259305475554E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5088216009928601E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2104569790949427E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.7109016383711833E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.7905584205950618E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.2499512232250254E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.0139905560797615E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0224330533078501E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2269442673538151E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5887803012381028E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0768127217962729E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6660790524980484E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3365881734728191E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0722482901570629E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.6017704070684431E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.9005845482195127E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5357052275439855E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4408721144861829E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5624836414172023E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8579028032993392E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2926616161100810E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8391443923349016E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4752910004744990E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1835310509411556E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.4943608530684287E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.6166850604408864E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.1095573045122364E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.9008797020633210E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.9313441391186643E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1535662969872646E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5296875705294042E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0305312986579338E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6286305637436271E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3055334591172141E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0467182676165976E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.4010576273385595E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.7339467335614245E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.4078963529491375E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3391956694449618E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4812153160146408E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7964297544258443E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2446489111871415E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8003376567321538E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4395151737289780E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1635137298071641E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.2792440398170584E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 136.00000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 16.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 165.00000000000000 - Time for GETMDF = 165.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.537105990300592 2.3143859114247722 17.885399505578739 5.5579792301810338 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8213724934158764 LUMO= -3.9693908117964840 - EGAP= 1.8519816816193924 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 13 - KON = 0 ... - Time get H 12.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.9380658018798336E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4534066900638880E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8950121011903640E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9096509381832938E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2804414621876425E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.7389532735038244E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0758550223405372E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3040060246735123E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1047781157944598E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2782047521685556E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6977485263702796E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2825306380626067E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.8023583692041782E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.5655294825338615E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.8862389608949073E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.6095717437077965E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6286115361106042E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8681836639510294E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2744528179519108E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8081864376240375E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4403307733834581E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1490596796726038E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.2357541103815777E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.4216409906568970E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.9606237803322415E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7852920053159664E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8405667499574747E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0816682270451423E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4723218479127951E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9832208271175489E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5907342174603656E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2758351815023161E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0232202893867282E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.2059059924866062E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.5806754556696490E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2771999747847076E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2318239334981911E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3934677778901801E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7211518482950225E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1820019324714224E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7496491766522126E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4078980692389109E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1386345288855182E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.2085606251401941E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.4472972455552622E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0229562781621837E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8711184641447858E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.9396614304187949E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1864218930088839E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5772973200055560E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0847042980776109E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6863402785283199E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3641694440735819E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1036083491511306E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.9286668059074259E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.2241074233758695E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.8453214490938876E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7299937300238071E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8277154779109424E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0977604925652713E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5071801301734808E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0293324798359436E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6426674465108704E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3297685175217566E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0765468516638066E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.7160656470075537E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.0572947485914028E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.7145554954729505E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.6277526255522616E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7477632108817716E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0354441182822711E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4586344071764188E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9915613602705662E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6133350211333664E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3070178273011379E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0590306409596906E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.5802920324340448E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.9527716917150428E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.6343485432819307E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5655257352450462E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7013170306465781E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0000446571420980E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4318880242901741E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9716339672015692E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5980661238756966E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2960299500264227E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0509260128799269E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.5209617139980764E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.8968164512739349E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 5.6017412930486898E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5383696800627149E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6861624863604447E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9920510513647969E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4277246879478298E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9714230248268905E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6037171590710386E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2961853812498703E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0582645870726992E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.4909856923331972E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 139.00000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 16.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 167.00000000000000 - Time for GETMDF = 167.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.609950749620715 2.3453789870091533 17.861441879155276 5.5560359970604951 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8163321427609969 LUMO= -3.9649316739067570 - EGAP= 1.8514004688542398 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 14 - KON = 0 ... - Time get H 13.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.7526362801672040E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.9767182338175129E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6687462576698859E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2567261495776147E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3917972545074431E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.6116279022796505E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.3498059585010971E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4636238048368906E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5576726717113640E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8986151009092733E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4170302955052172E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0634610614324025E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.0258254788634353E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0909234998240969E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.6481028350586762E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5662889261600661E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7506282271883009E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1322022606296009E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6607195903683980E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2993120048987450E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0208198917394107E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.0513341306209796E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.3728366497262101E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.0606776766937145E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0305495709880290E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2186531707667498E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5764414138818026E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0667717044453582E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6610758182267205E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3372679333878423E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0781902061163251E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.7045154828491178E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.0355537340471841E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.6924076119457823E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.6098213335454830E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7577613265504795E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0750689650194118E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5150615712288271E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0561040414701637E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6802492475154196E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3726492542609492E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1210475336920211E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.1534617885358216E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.4723847443003422E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0990056782728175E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.9773261401320212E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0614447693876343E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3137564470209213E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7034818605997657E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2054409742899850E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7990450018601223E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4674644388534830E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1969506941156283E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.7627189665772107E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.9626032434276794E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.4942892175068323E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2966561137068879E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3198373766983877E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5231518813461093E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8733909696043725E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3480003497056146E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9201074064056911E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5701566713488546E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2839536100983651E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0498962810245871E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.5849749531519137E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.0196037871284034E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.7396509767215775E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.6929737873568911E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8370795429898408E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1371161224313937E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5648583257265045E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0969659342284785E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7144197173024622E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4015466565098222E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1457768067657526E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.3664520584013644E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.6573414276026597E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.2599925243489452E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.1164517067547877E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1825987118215835E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4188873954121846E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7944424552117653E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2846058378434009E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8671508783540958E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5259016272750614E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2473688748571021E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0197065414274675E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.3317797106019498E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.8121064344950355E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5707660706616480E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5488057764941914E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7182479317721118E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0366820169547282E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4843460622037128E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0297097336197112E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6564527527407336E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3533618670180658E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1097789354153065E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.0327745283502736E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 139.00000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 16.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 168.00000000000000 - Time for GETMDF = 168.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.686771590638671 2.3782242186242653 17.836230433088293 5.5539495829127059 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8110050148531647 LUMO= -3.9602201035765905 - EGAP= 1.8507849112765742 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 15 - KON = 0 ... - Time get H 13.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2734690781073255E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.8820079613111105E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.9075432715786071E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0786100816153628E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9494916898641357E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2487815414905512E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.1103345149391437E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.3525762971062818E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5970220595671343E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6807133716222342E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0460855021220414E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5702035178832841E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2113700147453610E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.3927950384320447E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.3181389851240120E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.7275795451561251E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5016695222166447E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5519751366952512E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8126782173898413E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2345257697398146E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7804558731238096E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4224235972193355E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1390883491668724E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.1412140434954381E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.3496151227203654E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.9189536018022793E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7737456844165749E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8550561003436457E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1166677958438527E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5221893267257656E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0428583229481490E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6558640651975765E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3430595088292918E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0899673289488376E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.8500858852480491E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.1890173725108752E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.8419187798364192E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7488070531453985E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8613437580714560E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1405207312484862E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5548216153747916E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0787563026480882E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6916892786600357E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3769017670473005E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1208388805972191E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.1250432210365773E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.4297244245791205E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0499483978126989E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.9268334523233648E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0125251121736483E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2681222728037085E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6619940363126204E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1684130824262127E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7664479434742475E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4390706293276878E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1724234139087741E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.5522748599918827E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.7830231148823259E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.3417215923067261E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.1675469459055989E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2109262743394993E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4315131847151292E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7964727200568973E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2790347387058318E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8573966809043441E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5138225117894422E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2338325916516624E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0056740995523228E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.1971851528805928E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6817740229652145E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.4466198218250383E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4400227938723447E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6194591768179407E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9506808107981897E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4054824798724894E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9611112733741720E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5989376489500273E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3036161039536864E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0628775637400167E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.6663010101517557E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.0660921558385326E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.7623461557909650E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.6981307733062749E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8315572936653552E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1244784537420855E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5479618415147343E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0775492437508092E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6945223002551302E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3818834965206861E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1271539257506902E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.1882057517977955E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.4977801745035322E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.1121108174688743E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.9840132021472527E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0749625895841746E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3170133306725802E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7113866707395573E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2044588376957108E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7975620991705910E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4660495040175192E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1954881529163686E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 102 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.7144514654701197E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 142.00000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 16.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 171.00000000000000 - Time for GETMDF = 171.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.767537235066232 2.4129297210731311 17.809782649035924 5.5517154278530780 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8053912593467443 LUMO= -3.9552560366809097 - EGAP= 1.8501352226658345 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 16 - KON = 0 ... - Time get H 13.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5333805648860777E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.6241752464352182E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0970372584363552E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.9066106711702631E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5372342830056738E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6739946099912917E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1241995219881673E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.6965694793873496E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.3764649065235481E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8324642069631487E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7856423413274989E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1130768888599771E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6427182030409604E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2827536661175198E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0058505624899183E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.9178061904716657E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.2549778739096062E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.9575222736408797E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.9408762926407270E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1411324045160782E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5097326694534239E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0095850516876901E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6122079693148272E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2956208536585301E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0427780202104664E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.4039988783590758E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.7809611663527392E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.4770419258831637E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4278781693440905E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5825447012305389E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9006226878180996E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3499412888927651E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9048293363743696E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5447552905722972E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2532647389873475E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0171468379782667E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.2577788740323399E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.7060248387651455E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.4472228894208996E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4256888431792873E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5964308531255540E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9230647446976121E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3761459622129166E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9318300747972472E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5707965195232987E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2773827962053730E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0388862936583365E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.4500054287062198E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.8736079161801911E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5917604657729214E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5493140476970950E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7014766696152890E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0118531890721556E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4508753804219907E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9945060159010097E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6232128752236008E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3211157168235843E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0753001600249945E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.7527045611324183E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.1248862365536070E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.8001065061930035E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7218765564238652E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8442887762002442E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1299586256139378E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5484787613549997E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0751226292858860E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6897659937953335E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3760379502514297E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1206039429723091E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.1263308021893863E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.4329153942898074E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0539151469640728E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.9310311389660910E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0165692993809898E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2719005282899616E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6653435014623028E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1713597586625610E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7689738562864932E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4412404603092455E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1742762318078803E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.5671137678721152E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.7952977406425816E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.3529514982008095E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.1764370567752849E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2176484527089997E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4384162184153411E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8014479624971500E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2832735702138507E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8615331498494925E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5171863765317539E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2363332579923281E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0078049506034858E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.2134299361769081E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6924243924404436E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.4606319466188324E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4467762805311395E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6266545322405364E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9558577807620168E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4146240562572530E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9767520953450912E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6070478281449141E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 102 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3108403251749223E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 103 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0668133043623129E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 104 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.7041485130612273E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 144.00000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 16.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 173.00000000000000 - Time for GETMDF = 173.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.852214018356442 2.4495035839482422 17.782117099998853 5.5493287827011564 - Writing trajectory into trajectory.xyz ... - HOMO= -5.7994910867822735 LUMO= -3.9500394540839707 - EGAP= 1.8494516326983028 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 17 - KON = 0 ... - Time get H 13.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6526505443531292E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0472521076578811E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.7115334838678820E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3594199407641643E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8761631258169551E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9312222529166423E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3217631317439249E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.2292470317145714E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.5753580630834030E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7765519258446965E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5330535267874552E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6558701705470256E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0246349438535205E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5617370546117115E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 1.2163993233871295E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.5483987999855913E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.5416252574678211E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.9853803468845612E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 4.7679777638309773E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8090184197869803E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0495174303757366E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4454469682355651E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9634414512248455E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5778869386640082E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2689087828254841E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0209514381021023E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.2175570241815876E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6160797973502383E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.3493642238056083E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3290042103238946E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5054153431079982E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8400399887384964E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3020502081250171E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8667489288803907E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5143155626118343E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2288180049058184E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.9743187609302453E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.0982160055587116E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.5764833434567294E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.3417773437924865E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3396671167705847E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5261251885021494E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8655165618118872E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3289819395255762E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8931380740827564E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5390299101802896E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2512862490599019E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0174377584881711E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.2736648088221898E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.7285951144135936E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.4724955900198324E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4512193597689986E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6207925435682853E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9454944150408835E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3963019013528708E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9496319003664553E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5863192981413476E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2907880209134248E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0503761416202906E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.5478956135531803E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.9566300497925226E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.6619061661322689E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.6084004390323230E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7511227457542873E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0534839101648004E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4857230718211554E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0236395892325731E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6475396602544379E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3414056532212726E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0922125426304774E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.8936136233286334E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.2422268182492644E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.8977367434209782E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8031245647450760E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.9117298289426117E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1860070137668117E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5950697146726043E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1137747108213034E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7218615422365247E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4027012884554324E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1427092605487132E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.3096752529220339E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.5851880332322708E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.1809668494561265E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.0356940839435538E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1031178454886685E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3440028524012178E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7256086276850056E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2205570715527756E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8097634502112214E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4756418309502806E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2023715356690445E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.7961638800825313E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.9865003499435261E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.5124572401487058E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.3137494404609242E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3223202794706594E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5279557053513599E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8745894553594553E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3435697826812429E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9083623570281816E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 102 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5561996136170819E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 103 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2803091919977305E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 104 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0386136395368339E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 105 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.4277029799295633E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 144.00000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 16.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 173.00000000000000 - Time for GETMDF = 173.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.940765794365934 2.4879538048801799 17.753253468006957 5.5467847179593992 - Writing trajectory into trajectory.xyz ... - HOMO= -5.7933047762763641 LUMO= -3.9445703887990522 - EGAP= 1.8487343874773119 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 18 - KON = 0 ... - Time get H 13.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6220076416131990E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0359992809599206E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.7017460645424354E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4002593676741864E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9384517457204939E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9991506103538281E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3872231323923678E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.8216879489854136E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.0922085952918046E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2170845908428021E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.9027646915790193E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9628567317208088E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2776357820575299E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7691329286928514E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3857547699180905E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0927433725149704E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.6622368644428960E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.8946130323821464E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5048755110975733E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4057483945314502E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5324425015303973E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8360912648794923E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2793299610857076E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8332596424031067E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4753191383887199E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1877628629530790E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.5655047829268369E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.7052232005936361E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.2077713143260382E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.0019601733897190E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0307404058914642E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2483245204772970E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6179222623046172E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1099478701991359E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7005946730819232E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3706974975047359E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1048226791210425E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.9053862950549956E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.1783004695902264E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.7908037509601940E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7046542162032523E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8228174725762898E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1067077121971209E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5250674595689304E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0525646216018600E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6686607828830802E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3566986101221090E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1031633806446450E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.9708806605415248E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.2956984564775951E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.9338076674464446E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8265103136380105E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.9261309203730832E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1939427214133786E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5984774554288492E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1141694173110182E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7202394952953171E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3997966341605661E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1391168452945521E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.2703859033704816E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.5449000380700681E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.1409314300320261E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.9985130479157647E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0688591385062978E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3122905529481272E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6965569777104292E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1953990847478622E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7874924873595432E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4554435434632751E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1851494230441517E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.6510677227712449E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.8595963071137476E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.4010063915986848E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2133475314519728E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2463033089745750E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4588032438165328E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8174818034187865E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2953128286928859E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8698798065486244E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5233969641315070E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2412049166243833E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0113676562895080E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.2405526846685007E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.7158167915692957E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.4722226749959191E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4610648508580653E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6349367960042400E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9624747099887827E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4141355581264179E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9682588892067088E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6041945549716274E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3078871319294194E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0667133842900967E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.6958218403765386E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.0858874323675991E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.7848170698093782E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7059023344786510E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8409275759931916E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1292746172084662E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5588420271560608E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0818902157770935E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 102 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6979750938617144E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 103 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3901102491331585E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 104 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1295409052536343E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 105 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.2292840037089263E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 144.00000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 17.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 174.00000000000000 - Time for GETMDF = 174.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -30.033153837121802 2.5282882188005411 17.723212561532240 5.5440781335168730 - Writing trajectory into trajectory.xyz ... - HOMO= -5.7868326836069377 LUMO= -3.9388489335163421 - EGAP= 1.8479837500905956 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 19 - KON = 0 ... - Time get H 14.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4452306164462136E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 9.3028051595749339E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0722843244838121E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0277989734323061E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7200052979032829E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8726573259049140E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3153445381703932E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.4249150174108287E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.8833316176908355E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.1162013369743242E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8625610177267511E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9555541567827248E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2871237282817702E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7862342465302383E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4053833079064049E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1122028101140380E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.8419374772330528E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.0539715707029771E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.6426691488198344E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5229304526994696E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6309725763628009E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9182845435071769E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3475100939363003E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8895866805257455E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5217163635616870E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2258977509338465E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.8784377395855216E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.9617032071599425E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.4177890204408783E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.1738105864007622E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1712819325301354E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3632105156389258E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7118024037431354E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1866400485848203E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7632298399128388E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4218409196686821E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1465745997085719E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.2461755052397621E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.4564156826717465E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0132069679141864E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8494259252684913E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.9109552818494819E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1541618183972275E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5438647921482982E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0516977228268729E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6547878534112215E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3392848963178494E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0891866719653365E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.8587085556035561E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.2056839495182601E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.8615852061016938E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7685756010551472E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8796691081977031E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1566910307923024E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5686212490327875E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0902470865280520E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7010787889404355E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3844571045140697E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1268392552388207E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.1721759076790477E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.4663762950066825E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0781883970406625E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.9484035757885181E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0288561375945164E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2803735283692959E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6711083345176689E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1751325185448422E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7713506217376107E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4426124739230772E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1749403672212111E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.5700058988512637E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.7953066224267786E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.3500205094157991E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.1729842631687006E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2143255551962966E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4336200549489604E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7976876371127446E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2795987320023414E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8575452287450389E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5137302522560958E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2335665822149622E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0053990973091231E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.1944118157650792E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6800565079461194E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.4443782815383202E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4377279628804445E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6178282591947664E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9505620169345548E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4045987423448878E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9610646440071378E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5984213952435766E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3039125335012614E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0624945367965211E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.6690654654830723E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.0711214661400845E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.7618354531996374E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7054582452688010E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8368197508020785E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1332714200971168E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5520696667058473E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0842216841288064E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 102 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6948664693927640E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 103 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3872236692691331E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 104 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1330936189324348E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 105 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.2359453418566773E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 142.00000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 17.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 173.00000000000000 - Time for GETMDF = 173.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -30.129336740080504 2.5705144232148416 17.692016332465844 5.5412037691306244 - Writing trajectory into trajectory.xyz ... - HOMO= -5.7800752497006238 LUMO= -3.9328752484988860 - EGAP= 1.8472000012017378 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 20 - KON = 0 ... - Time get H 12.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1387614565108395E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.3988203278099185E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8812195788485724E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2763204154802050E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2408954968884398E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5633437176996168E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1126974720780947E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.0749151223957760E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.9673200422705186E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4824535678578137E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4153236394840469E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6337566802991930E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0513186982418219E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6105593461035461E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2725935514845688E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0105835647000738E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.0562923287619270E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.4415141086238137E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.1620616199121727E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1438321286557667E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3307434443852202E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6797854630888907E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1576067794404352E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7381118831982789E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4007352641343118E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1291776556676680E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.1046423134066856E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.3423170234843127E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.9218143697581382E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7765524289200556E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8530333297259745E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1082255298464645E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5074883713838148E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0229194128695838E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6320338933617506E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3167071912789652E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0623258830388949E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.5710559005747200E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.9154220816436407E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5797001974333682E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5020565808684410E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6326137564657301E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9311359250883129E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3651651925860051E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9085174307598152E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5400693231804041E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2427800322178939E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0029018282509128E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.0934395185749963E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.5315854724801170E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2712704423640844E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2542541489609675E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4601156273517120E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8159811926720124E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2919243503061182E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8655272326917327E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5185640189763205E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2362139090171809E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0064296618317314E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.1941093910131713E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6718813807042920E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.4327867760051163E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4240952012941648E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6029206285093096E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9343439900131330E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3899804357796484E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9467173428822093E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5857674062758065E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2918230929415131E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0524278115653374E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.5744289446409994E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.9862970963896487E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.6925808511465448E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.6387971242012327E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7802383445750820E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0807989492842580E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5108781720462048E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0465473760111763E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6681378500749133E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3598089321220641E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1085510287500711E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.0375817940469005E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.3680062051550976E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0075056040886921E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8983594957974219E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.9939607177075231E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2569946739613442E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6561863819551945E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1664114946418067E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7664980589415791E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4414691662523182E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1755041384731157E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.5889962636874770E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.8207440523669902E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.3860028376439004E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2050586063501214E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2466030691912238E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4657832159723512E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8368418725222000E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3094859358252506E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8796075806903900E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 102 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5413226250871048E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 103 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2572165530855273E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 104 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0201839373280563E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 105 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.2966966630237948E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 145.00000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 16.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 173.00000000000000 - Time for GETMDF = 173.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -30.229270313268373 2.6146396994579257 17.659687892461083 5.5381562157147517 - Writing trajectory into trajectory.xyz ... - HOMO= -5.7730330095148288 LUMO= -3.9266495698409383 - EGAP= 1.8463834396738905 diff --git a/examples/QUANTUM/LATTE/log.8Sep22.aimd.latte.2 b/examples/QUANTUM/LATTE/log.8Sep22.aimd.latte.2 deleted file mode 100644 index 443e6f3617..0000000000 --- a/examples/QUANTUM/LATTE/log.8Sep22.aimd.latte.2 +++ /dev/null @@ -1,12604 +0,0 @@ - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 1 - KON = 0 ... - Time get H 12.000000000000000 - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.1179006122534787E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.2447467007814534E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.0816438347235344E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3541892482555884E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.9509785697172717E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.0217877225321459E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.1283384995294270E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.8857903898993342E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.0564428112801458E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4925999542780843E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1018006857121954E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.2562356612081444E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.2673819033465250E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.8097138121816485E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.7242763888167829E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.9047346227661919E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.2786206882452475E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.7955823320647823E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4199482018417697E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1259699044030569E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.9473541806661672E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.1213525421054413E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.6749876171657831E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.5266252177711408E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.6132141087996672E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.8856776106422899E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.3055792151005505E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8426685193251302E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4730467321477647E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1777771564691619E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.4182061727288158E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.5321245240900225E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.0242121402431792E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.8184609591217509E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.8542122204887619E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.0830280817184530E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.4662119013640904E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.9728393274576206E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5781907292122810E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.2625025691548331E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0099708624977666E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.0795737655847688E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.4635387486688956E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.1707575776660519E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.1365630032430545E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.3092266038536877E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.6473669700877167E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.1178875764249483E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.6943083824827454E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3554480871036390E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0843613340583147E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.6749301075883523E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.9399905822109531E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.5520219532922965E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.4416550437631486E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.5533602726900426E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.8427258325081084E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.2876731620158353E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.8449095584571751E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4879797394229399E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2002083771278649E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.6816576977687419E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.8105422129937097E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.3016569740170780E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 5.0846737931209418E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1030223663085508E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3112024233616921E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6724211732442882E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1570967234652016E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7412216113399381E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4056844577226002E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1348233464048008E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.1638918675585046E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.3998918104223321E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.9749205583159437E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.8257398077566904E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.8987146844249310E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.1509794773398880E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.5465074493524753E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.0575208203865714E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.6626144905274032E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3443024471371245E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0871969990944308E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.7865270614884139E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.1010974878049637E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.7389648588923592E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.6419534882602420E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.7562175592142921E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.0372371284670407E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.4591439995447217E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.9827472996780671E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.6064927166326015E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.3059553438665716E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0523804050421859E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.5276230521458274E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 1092.0000000000000 - Doing XBO ... - RESIDUE= 3.8005815116873233E-004 - Getting forces ... - Time for GETMDF-GETFORCE 11.000000000000000 - Time getdeltaq 4.0000000000000000 - Time for GETMDF 1119.0000000000000 - Time for GETMDF = 1119.0000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.005048920306102 2.0935268126760067 18.062222038862252 5.5709977791022096 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8578873450050475 LUMO= -4.0018256631440954 - EGAP= 1.8560616818609521 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 2 - KON = 0 ... - Time get H 10.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.2354266265797200E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.3405462810540687E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.1593385865170678E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4169822202652060E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.4572542919246771E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.4292955084366277E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.4559609230998554E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.1489679231122558E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.2677255553027464E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.6621470221589441E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2378126028145253E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.3470694668473797E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.1420826205814691E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.5110026863980366E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.2864668555742114E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.3553730673041571E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.6398126919069398E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.0850622499013483E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.6519403979620151E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3118814429891046E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0437127472950891E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.3151132903580560E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.6315202884581481E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 5.2930499754300087E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.2272985543156949E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.3776910515204150E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.6997799731365291E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.1584966094501112E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 1.7260801552509974E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3804986547238940E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1042323504462104E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.8332865599838328E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.0666313689571325E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.6535855996742157E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.5232618228752131E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.6190273378089444E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.8956188358186807E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.3168514662330608E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.8537901946835689E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4832944450482444E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1868548233096021E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.4966544628150018E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.5988152437034273E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.0802738843790394E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.8652144757355131E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.8929816037480691E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.1150418688952186E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.4925664199315634E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.9944845552899437E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.5959376709062667E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2770324131494704E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0218557111585369E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.1766842185970745E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.5428460427341406E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.2354922619457511E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.1893655211566738E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.3522802311836131E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.6824724663754296E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.1464927613124019E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.7176182698364073E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.3744312354901922E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0998120192340366E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.8007934273548472E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.0424044373851302E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.6354143573855708E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.5094483702712296E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.6085534560470478E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.9045665872473592E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.3448964991956700E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.8932266865334668E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5286127919011960E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.2342682431665253E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.9666053188229853E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.0485174080990873E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.4998117998982252E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.2506776704319691E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.2399528332737191E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.4244385105353103E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.7668534130498301E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2354118556222602E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8055001937966608E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4592549391068133E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1793566123685650E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.5305985325921938E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.7040596124788863E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.2210236961846022E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.0289772346445716E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.0616399132886727E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.2857050413781508E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.6596502777920250E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.1501689317915407E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.7308376953906190E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4063195052926858E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1362022434013852E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.1693319603791679E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 1107.0000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 12.000000000000000 - Time getdeltaq 4.0000000000000000 - Time for GETMDF 1133.0000000000000 - Time for GETMDF = 1133.0000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.032690592773982 2.1046338692736910 18.052915274706507 5.5703897640696782 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8560004927566895 LUMO= -4.0001322257540428 - EGAP= 1.8558682670026467 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 3 - KON = 0 ... - Time get H 11.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0101272192330146E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.4685324517925746E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.1985585638035783E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.7679393803179408E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 5.0000000000000000 - SCF error (MAXDQ) = 1.8567781548657347E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2690948087989984E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.8443040460295386E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.2842267395946116E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.5490749567389521E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.3502136362728585E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.5055701399567809E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8990421547360192E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.4556326212944448E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1261646950599946E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.7784275739632989E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.8838942954618787E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.4237691996306125E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.2891040054504614E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.4014882348776254E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.7034791358904187E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.1523147536228748E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.7157125040467847E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3690087716344834E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0931733372077090E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.7340393566393004E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.9811245755335705E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.5818071258428859E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.4640536902562644E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.5707823269337524E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.8566515408723347E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.2855798200716038E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8288146368394820E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4634194396290212E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1710825831290350E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.3717587446029427E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.5000822641335674E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.0023270953557528E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.8037459721150810E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.8445515437857125E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.0769152137288813E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.4625709715841992E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.9709009069224237E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5774047579242279E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2624773826352964E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0104292225143752E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.0870456109494171E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.4725489190564645E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.1803889400403591E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.1462057343011338E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.3184917258566315E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.6560239119177709E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.1258119042855128E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.7014486264343986E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3618042693508414E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0899625424443116E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.7238873902606429E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.9824901416382090E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.5887185990144417E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.4731631732020105E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.5803104925236084E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.8656710338026414E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.2936939014783775E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.8358783382410593E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4694474526066870E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1761660534403973E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.4142293960430834E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.5352324380162372E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.0314442329456597E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.8277581932154590E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.8642200550498274E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.0930435990228489E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.4971325007783207E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.0164547809287114E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.6283152604046336E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3149870081718973E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0620626600399419E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.5778273373193770E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.9287575676924007E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.5972448897989580E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.5214831878581663E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.6522784796488850E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.9510616172956361E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.3838375717843974E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.9266033213227729E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5569878719645658E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.2580825270447349E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0168310637936884E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.2183149174852588E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.6394667541658237E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.3695936585995696E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.3461900745001003E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.5116354268893701E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.8351765379852623E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.2929436127583358E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8532952950067738E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5030199307375369E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.2111422975635833E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.7744035087998782E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 1205.0000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 11.000000000000000 - Time getdeltaq 4.0000000000000000 - Time for GETMDF 1231.0000000000000 - Time for GETMDF = 1231.0000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.064518404473738 2.1175174146051221 18.042229576574641 5.5696743037874175 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8538274394796037 LUMO= -3.9981883568235874 - EGAP= 1.8556390826560163 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 4 - KON = 0 ... - Time get H 10.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.4205850064413328E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.1311928160184852E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.9522408197791865E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.9428529829172998E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.6586674600170834E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8270936755555578E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2803393166451738E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.1464709270550060E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.6547561242424891E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.9237470867069533E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.6975529295601994E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.8124484311309317E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.1622590544367881E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.6770542346056239E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.3099688839779411E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0290018460912265E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.1187193573528660E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.4276057006873444E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 5.1022495743513474E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.0584271249644033E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.2331752457759322E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.5787858653147921E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.0586960165491774E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.6446197725450418E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.3145074711173876E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0510662877161181E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.4066917389602480E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.7253777156217609E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 5.3812236093797594E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.3062603833909918E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.4463623168612401E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.7583719566237619E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.2078438264294675E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.7672654502032259E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4146495117550728E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1324169502113790E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.0650859707608333E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.2567770703635404E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.8092575794255197E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.6505196671375870E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.7229368454738676E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.9803867951372354E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.3859539366455351E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.9100892689749571E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5291399901862235E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.2241726876638381E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.8003131832058443E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.8458306740358807E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.2811583712019115E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.0285432262597851E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.0257448485903069E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.2229406254913329E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.5802394221230429E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.0657101584831139E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.6537912816971811E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3240182950013946E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0600070821098484E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.4864497651437887E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.7943068948750351E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.4395832282949641E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.3550114625645620E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.4866889375706478E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.7915214584339765E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.2349617712080772E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.7893846404604119E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.4326386743590547E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1470187022410983E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.1834984061733849E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 4.0000000000000000 - SCF error (MAXDQ) = 7.3528605426531612E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.8870130992261238E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 5.0000000000000000 - SCF error (MAXDQ) = 4.7134274261395603E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.7737946101401576E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.0216629198775991E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.4193047565290726E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.9430212994109297E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5693091270918558E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2674128413436847E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0237422021219800E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.2698292658278660E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.6810112997472970E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.3967941227028859E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.3602788046825935E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.5235592221738443E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.8469782087370277E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.3006041516282494E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8598900197730472E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.5025758415276869E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2151724071429726E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.8202557197168971E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.9338757785762937E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.4155347700989296E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.1888493501905941E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.1985304122249545E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.3988367675874542E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.7440272276635369E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.2177815139912127E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.7906787164179150E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 5.0000000000000000 - SCF error (MAXDQ) = 1.4507284262776921E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1702860902573775E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 9.5368157815300947E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 1224.0000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 11.000000000000000 - Time getdeltaq 4.0000000000000000 - Time for GETMDF 1249.0000000000000 - Time for GETMDF = 1249.0000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.100522140146253 2.1321825101923064 18.030171510908211 5.5688493352269139 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8513680577887568 LUMO= -3.9959938633429508 - EGAP= 1.8553741944458060 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 5 - KON = 0 ... - Time get H 11.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.7201774728291541E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1101899992363107E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.2703223110561765E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.8406611876397054E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.2820673766214004E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.2684494787374998E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5987696272783403E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1484845127147647E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.3995327286423560E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.2438808122222689E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.7082868433423464E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.5939286842912033E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.7713223346026439E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.1547756222095593E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.6865596832604801E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3270371827589500E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0484548120470727E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.3100026911475666E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.6026695836551852E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.2560035373794278E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.1900168479269695E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.3438791184225991E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.6708253866525311E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.1345831122454584E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.7068160400368626E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3652617055992522E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0923514510707832E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.7417271239509375E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.9967871603182630E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.6008018973763285E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.4837308681433541E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.5896934407197989E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.8740660038550914E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.3011899352720633E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8425558725443381E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4753615129592390E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1813638782776081E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.4596439259575504E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.5747898931055602E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.0655508127283042E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.8570563659922072E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.8893663711903059E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.1144906786906290E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.4940060749933934E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.9971474141122769E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.5992810054044071E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2806824312150411E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0255576565754154E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.2125991118786601E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.5766271095668571E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.2665688476949413E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.2174925773963423E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.3774042895728940E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.7046664685670407E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.1659401827633928E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.7345285874270644E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3890539385386091E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1123944654300999E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.9084097876224178E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.1341785812251146E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.7133546782495159E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.5755170763328579E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.6642944234444030E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.9345772478706067E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.3501904866662926E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8821799674384465E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5073799985998448E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2072183253053481E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.6684060757468160E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.7432504852481543E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.2015370616563814E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.9667336909919868E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 6.0000000000000000 - SCF error (MAXDQ) = 3.9779135541095911E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.1858737870038567E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.5516544432946375E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.0436474734708554E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.6367773802983265E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3109224816787446E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0550793572150496E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.5238371916318556E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.8865246838356597E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.5630722251009956E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.4956038891541539E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.6332048480858248E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.9357849484767939E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.3728907727615933E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.9178991728097117E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5502266137445986E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2529866033617054E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0126122163001128E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.1898932080548548E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.6204819404447335E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.3541615585572799E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.3288705953159479E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.4996450182234184E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.8318458689113868E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.2879476091475226E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.8529622280993863E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5036860645523120E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.2135847882177586E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.7799546239230040E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 1157.0000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 10.000000000000000 - Time getdeltaq 4.0000000000000000 - Time for GETMDF 1183.0000000000000 - Time for GETMDF = 1183.0000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.140689981285114 2.1486346827288996 18.016748565196199 5.5679125467245383 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8486222229616214 LUMO= -3.9935485430286315 - EGAP= 1.8550736799329899 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 6 - KON = 0 ... - Time get H 10.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8824744042301944E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.2205422699403057E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.0347495153409998E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.3804050979397999E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.6704052233582640E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.5528729214123747E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.8104964446925553E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3083702062053337E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.6218192322439222E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.1879117334083809E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.4435385226847544E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.1704373993467492E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.2257732329354916E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.5145053464248335E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.9722314394421403E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5544613259810269E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.2298518985409679E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.7589456344193692E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.7613066297832489E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.1832648429627213E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.9325683758150163E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.9387919029465479E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.1476198355973040E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.5168104502704125E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.0132917057491539E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.6110336032104655E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.2894639597860191E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0322719518951473E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.2649354362640537E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.6180533133675112E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.2997488038108997E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.2443004928394146E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.3991981949199612E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.7224610774645441E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.1805106538153041E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.7464795423194346E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3988644689266749E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1204519061447371E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.9746023856918100E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.1885434760332600E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.7579745926794601E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.6121280883326676E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.6943284498214268E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.9591842887199959E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.3703405727104609E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8986795868869422E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.5208792736309817E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.2182599928856064E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.7585969749403034E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.8169423600726873E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.2616497320533426E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.0158299735869605E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.0179004789919759E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.2185319298605464E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.5782136203744699E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.0652970444956509E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.6544298153675641E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3253085295872324E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0616666878959791E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.5047497933032901E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.8130001640298588E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.4577991015491989E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.3721959386289200E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.5025424782730852E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.8058901868632802E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.2478188199670512E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 5.0000000000000000 - SCF error (MAXDQ) = 1.8007648705520296E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4426246863763481E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1557204082635053E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.2588381406244480E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.4175154907152319E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.9424021259246729E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.7608805786580888E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.8142755620640401E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.0557223418270496E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.4481550120469819E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.9613000112883583E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.5714873846661703E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2590750664287498E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0086353974259055E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.0820017345217821E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.4757532669545981E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.2034709874249074E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.2045145143276841E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.3979707936282466E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.7466029450806673E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.2199908578102168E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.7947532349182893E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4506396084357220E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1724066162344116E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.4716456899845980E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.6552097993953794E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.1951554997108360E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.0069948187569935E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.0549785751409217E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.2820413053968878E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.6489921367556235E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.1408430583846894E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.7345014313718821E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4017675908917226E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1283196599265466E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 102 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.1737728524776685E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 1251.0000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 12.000000000000000 - Time getdeltaq 4.0000000000000000 - Time for GETMDF 1277.0000000000000 - Time for GETMDF = 1277.0000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.185008458301187 2.1668798968981102 18.001969159635813 5.5668613809083443 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8455898162715929 LUMO= -3.9908521874271989 - EGAP= 1.8547376288443940 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 7 - KON = 0 ... - Time get H 10.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8939869375197871E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2348265129210834E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.1796093418031735E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.5147970583337980E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.7891682211974587E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.6547652568864599E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8962536690965148E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.3796179705063416E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0208445622330586E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.6678458410861516E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.8343887245504433E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.4876803315063718E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.4826428578638158E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.7221163107382651E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.1398051344090341E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.6895834577823621E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.3387249255147893E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0635678166703855E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.4670165469535874E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.7511254836061241E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.3893901860613269E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.3062148503247855E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.4430935748730462E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.7543953978304003E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.2043110139424726E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.7646021533757050E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4129166143739269E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1315096641872913E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.0626272639671157E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.2592315196740032E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.8151080306600988E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.6585204960258864E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.7321208450347143E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.9900377669367373E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.3955643566608842E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.9193179097154456E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.5377729667420681E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2320902724738403E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.8718138108466746E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.9096061411654262E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.3374684855510566E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.0778455484845608E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.0686062074968277E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.2599748522876837E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.6120719032185491E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.0929473243391783E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.6770024369172631E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3437281798367451E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0766917579729807E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.6272765376094185E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.9128704316412382E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.5391814468563894E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.4384895758753373E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.5565359102207594E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.8498496895679182E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.2835967117273981E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8298659920645832E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4662975500456810E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1749725414844647E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.4153298491050919E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.5447881275891859E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.0459073303320565E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.8448260958622313E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.8823777526175718E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.1111551113127689E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.4931539055472740E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.9979142784620763E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.6010641701313943E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2830501106009251E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0282243945169967E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.2401374612572909E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.6035266144126581E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.2920290372071577E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.2410697176364920E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.3988811765084392E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.7239543953783141E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.1830670604572333E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.7496226689672767E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4022250027778682E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1236944708059582E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.0061069712987774E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.2183148347448878E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.7859939062154808E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.6365800088210563E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.7167824373796066E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.9788616018322500E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.3876012278378766E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.9181212174146367E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5507817252569112E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.2534195903413092E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0125900118396203E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.1905593418696299E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.6238126095186090E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.3547166700695925E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.3337555766242986E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.5016434196677437E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.8309576904916867E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.2932766796657233E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8535173396116988E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.5006884623858241E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2186918141310343E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 102 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.8543395665728895E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 1252.0000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 11.000000000000000 - Time getdeltaq 4.0000000000000000 - Time for GETMDF 1277.0000000000000 - Time for GETMDF = 1277.0000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.233462397626681 2.1869245251667304 17.985842659813542 5.5656930380440146 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8422707287066258 LUMO= -3.9879045853794040 - EGAP= 1.8543661433272218 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 8 - KON = 0 ... - Time get H 11.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.7538191296780914E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1517290873994668E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.6908405806839220E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.2304625537944460E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.6263749074008089E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.5637603441257539E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.8472664530098104E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3549058906421330E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0098909173874571E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.6340257908880105E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.8402760762499284E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.5126394746275444E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.5151206122230327E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.7558781598369109E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.1716919774483756E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.7181815887967744E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3635832091085653E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0847416984405278E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.6449153380074861E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.8991703319420949E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.5117550745054089E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.4068571882105445E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.5255712605319900E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.8218063525820014E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.2592974316504311E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8093862761414670E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.4493493905254340E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1611221494289836E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.3031503753948641E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.4544862096459497E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.9735448156850168E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.7870360599944206E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.8363351795300815E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.0745250134689428E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.4640441385059830E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.9748127717544861E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.5827376165233886E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2685174148874268E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0166880095585640E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.1485850400575544E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.5309983576788966E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.2345524004238086E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.1954831053736541E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.3626895801219803E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.6952178022732198E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.1602462552117174E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.7314698430581643E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3878065008299245E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1123597776219185E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.9158760596674824E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 5.0000000000000000 - SCF error (MAXDQ) = 7.1463646111880053E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.7280773013701491E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.5912943003045825E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.6801364844407658E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.9498199216604348E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.3644470159567277E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8952510227876473E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5191709445971924E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.2177236996535612E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.7610155513905283E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.8242570200615091E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.2718379378878808E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.0274722163123897E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.0300225379041876E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.2304912078728876E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.5896007560533008E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.0758832430800567E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.6640679945112424E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3339660487332594E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0693577134901489E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.5725759824129000E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.8720407142564000E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.5091398110107548E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.4164871759733160E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.5405611775729540E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.8383806416343305E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.2754309547678986E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8242318766681365E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4625256561373590E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1724976545224308E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.3993257621605153E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.5357275974852200E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.0419669267730569E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.8437920341370955E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.8842262739535727E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.1137759037846990E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.4967583556190220E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.0020873847670373E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.6043610884253212E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2871037569084365E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0328626842692756E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.2773787823953171E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.6298078138515848E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.3232973584727006E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.2906789232688425E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.4712233087930144E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.8074209623696333E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.2762902673889585E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8338663920758336E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4847012508312218E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2009282457370318E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 102 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.7211128036178707E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 1252.0000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 12.000000000000000 - Time getdeltaq 4.0000000000000000 - Time for GETMDF 1279.0000000000000 - Time for GETMDF = 1279.0000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.286034863894670 2.2087753139930353 17.968379390330966 5.5644044798292827 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8386648650799913 LUMO= -3.9847055268491474 - EGAP= 1.8539593382308439 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 9 - KON = 0 ... - Time get H 11.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4741268363969606E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.7833792210610948E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.6091395307876777E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.5502478017422909E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.1944090647053613E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.2861843014021499E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.6664151039131880E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2352061928491143E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.2928165855843403E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.0810968413548281E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.4537861556847034E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.2374217326690555E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.3156498551911717E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.6089489572456159E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.0618999523280834E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.6351190091468126E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.3000861627188165E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 1.0357848881770160E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.2648394754913923E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.6024736231851122E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.2791441849331378E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.2238761513546663E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.3812576439640196E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.7077630366800776E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.1690391606599135E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.7378710955640031E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.3926368015892976E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1161197842612935E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.9458835474953702E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.1707624105243895E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.7481717941065824E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.6079842581647767E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.6940690584241764E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.9614800216570814E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.3742156307626772E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.9034323741617953E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.5260174397457860E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2234478314887554E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.8087737709917633E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.8640607537039386E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.3049493781441868E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.0549719454728859E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.0528279487972441E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.2493749024808949E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.6052156476552568E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.0887656337897909E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.6747035691544454E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3427291478684822E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0765671487611428E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.6316979341916067E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.9207585440267394E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.5489854933199467E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.4491379913580431E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.5673096032695639E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.8602776147579334E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.2933924093138103E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8388705447236475E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.4744384824183498E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1822364864855217E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.4795171712291904E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.6009920579878099E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.0947713542702786E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.8870483215779359E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.9186864864149129E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.1422282553705827E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.5196269515248559E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.0204080630747967E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.6201116004310734E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.2991292486219663E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0417651186145349E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.3536733086475579E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.6988481428609248E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.3718740566921497E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.3078096645388086E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.4545744043157356E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.7702129479223458E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.2215340678144457E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.7815393604792007E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4287349081598677E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1457435000750138E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.1881613428768105E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.3694161883963716E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.9104499072759609E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.7397197278087333E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 4.0000000000000000 - SCF error (MAXDQ) = 3.8003600266733883E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.0483171542527998E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.4445334645406547E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.9613644042237866E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5735857061827119E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.2606138355408802E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0109912906841600E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.1177287114542196E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.5130123516610183E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.2193804833677859E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.1902037395402658E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.3502089991088724E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.6960655929997301E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.1571633368466792E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.7303936061807690E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.3944401189291966E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1204370764517080E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 102 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.9839247152667667E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 1244.0000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 11.000000000000000 - Time getdeltaq 4.0000000000000000 - Time for GETMDF 1270.0000000000000 - Time for GETMDF = 1270.0000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.342707097538767 2.2324393466062808 17.949590649200296 5.5629924336733385 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8347721485502806 LUMO= -3.9812548071252101 - EGAP= 1.8535173414250705 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 10 - KON = 0 ... - Time get H 10.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0790271097165238E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.2950453553326522E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.0263012033358034E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.5311780064590792E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.5289273241348997E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8445121560959343E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.3680027722346999E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0297237432597139E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.8501603059732972E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.0487062280212278E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.7015116120574518E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.6801381741513595E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.8967545554481333E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.2901172432643335E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8166812873565696E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4448988313797706E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1515122609795370E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.1910613253309847E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.3446190348880336E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.8743116249759808E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.7014871378037171E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.7647217734804173E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.0157535469310659E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.4164801556869620E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.9367080037246964E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5524417000145618E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2445695376950283E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.9784385645396156E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.0008421114996509E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.4155091148432319E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.1445022837270926E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.1254214346864160E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.3082853181376493E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.6530475754071858E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.1276143631343558E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.7062606623152732E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3683637811734428E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 5.0000000000000000 - SCF error (MAXDQ) = 1.0973896467092459E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.8008131537975487E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.0580884470317073E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.6604836196072483E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.5396460923718962E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.6407628445367379E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.9198776840821949E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.3417406613823744E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.8780833088705151E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5062351921280026E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2080159805805124E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.6884543721031946E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.7703106171611580E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.2319541749289442E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.9981837335622004E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.0086894470547918E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.2151020734616509E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.5786308865960450E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.0681693246871191E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.6587663465017499E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 1.3304146673220885E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0670657024647312E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.5584925813009249E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.8644465667233590E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 4.0000000000000000 - SCF error (MAXDQ) = 5.5057627346144500E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.4160273215965162E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 4.0000000000000000 - SCF error (MAXDQ) = 3.5419966959437943E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.8409810060026075E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.2787107756272462E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8277455104964702E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4660377356534582E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1759120344123630E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.4320840027251052E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.5655082198977652E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.0685279024141892E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.8677128994256691E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.9045300326279175E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.1319435933596651E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.5122792735032817E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.0152213231483529E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.6165735416961979E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2967182883016903E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0401945971239002E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.3442364129382440E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 6.6942229537403364E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.3695492496785846E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.3070436106518173E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.4548586214100396E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.7725599593964034E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.2229773577464584E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.7834622667578515E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4321210883849744E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1479706074624119E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.2130747475493990E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.3865358274360915E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.9310334421525113E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.7544190806547704E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 3.8211656061548638E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.0635494141506570E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.4609203563841220E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.9693136010801027E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5742962489184720E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2618794897889529E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0149658891123181E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 102 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.1135098639606440E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 1246.0000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 12.000000000000000 - Time getdeltaq 2.0000000000000000 - Time for GETMDF 1270.0000000000000 - Time for GETMDF = 1270.0000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.403458447068978 2.2579240023078606 17.929488723261116 5.5614533974188864 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8305925254899469 LUMO= -3.9775522313753617 - EGAP= 1.8530402941145852 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 11 - KON = 0 ... - Time get H 11.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.0244023134472524E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.2650637906618272E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.0769206863119347E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.2592941704819847E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.6856318884768129E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.2753381066807901E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.7646914333582302E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.5507362349624962E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.8860079308153956E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.6180372826865046E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.6417651271625218E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.8833781997184005E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.2900105638723467E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.8231017981817921E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4540518993211293E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1613320634484836E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.2852876740101564E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.4299417841539039E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.9489658529088274E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.7653933324065534E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.8186337832035733E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.0607786924985447E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.4538175665833606E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.9675134181884602E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5777643225023397E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2653289147568358E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0148281065269771E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.1395883915202916E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.5287218486975718E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.2367978187195519E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.2006112885850655E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.3695048713422437E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.7028690137154143E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.1681436230824858E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.7392193853993376E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.3951577650939129E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1191658311204833E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.9777479739261423E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.2018151420216725E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.7772075101603093E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.6344188731062275E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.7176955824946845E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.9823155101027510E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.3924039793676855E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.9191838118715054E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5395712726906652E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.2350490985468809E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.9076297610523056E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.9479762105094665E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.3759446389255459E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.1148591140304234E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.1032151454345467E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.2916683601058594E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.6406378861310031E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.1183764520316117E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.6994126772473805E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3633150164338304E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0936910488368312E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.7739373544337695E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.0387513595449036E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.6467579501173759E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.5300476703147297E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.6341991638266791E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.9155160508054223E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.3389801206974425E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8764410025795542E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.5053793767094703E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2077097100160472E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.6889896106233664E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.7730555325672412E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.2360228092472880E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.0030468656814264E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.0138137258338702E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.2201397104358875E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.5834689942882960E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.0727619620686255E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.6629786436794802E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.3341328042315581E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0703415931345717E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.5884632738952860E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.8896666149953489E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.5281335065160420E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.4345194183392778E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.5586644742124918E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.8553825970334401E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.2919000031151882E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8375745369780816E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.4743539722417154E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1830314505800743E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.4872998346318127E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.6194606180024493E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.0997873418955351E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.8987480738560407E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.9390712913700554E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.1552538359846949E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.5321966745650570E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.0317081350640365E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.6344703368531555E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.3049561431444090E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0540457395791236E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.3888451740676828E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 1237.0000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 12.000000000000000 - Time getdeltaq 4.0000000000000000 - Time for GETMDF 1264.0000000000000 - Time for GETMDF = 1264.0000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.468266296797687 2.2852369122191525 17.908086904279639 5.5597836445870916 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8261259707631750 LUMO= -3.9735976195725402 - EGAP= 1.8525283511906347 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 12 - KON = 0 ... - Time get H 10.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.6101827632020189E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.6170403096543726E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 1.9294762716841607E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4443472120317935E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0956219536546463E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.4050124189150033E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.5084142790139410E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.0783267753939931E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.9867833076612236E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.1450831826895786E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.4905653945972439E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.9781355887582563E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.5747692383882850E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2558932485173813E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0029647244591544E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.0647831566693640E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.4838450617887844E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.2099907784430854E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.1847101543091014E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.3601804137806113E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.6975037056731210E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.1651540053957419E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.7376470597740834E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3944225413231592E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1189166343905654E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.9779953065249885E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.2035259039981980E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.7796197980852781E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.6370842816667590E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.7203569671628856E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.9848316394076591E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.3947043810146340E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.9212403725710203E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.5413804790309626E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2366215340620101E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.9211688420197675E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 4.0000000000000000 - SCF error (MAXDQ) = 7.9595436219825899E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.3857645771214777E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.1231505038273895E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.1101798342602081E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.2974943131591772E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.6454938906184111E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.1224083890380996E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.7027486776122203E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3660655717728787E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0959528906617777E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.7924818981122144E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.0539169394479018E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.6591147767903749E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.5401024051372474E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.6423530413998151E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.9221163488912794E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.3442929375505628E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8807259305475554E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.5088216009928601E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2104569790949427E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.7109016383711833E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.7905584205950618E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.2499512232250254E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.0139905560797615E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 4.0224330533078501E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.2269442673538151E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.5887803012381028E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.0768127217962729E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.6660790524980484E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3365881734728191E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0722482901570629E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.6017704070684431E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.9005845482195127E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.5357052275439855E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.4408721144861829E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.5624836414172023E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.8579028032993392E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.2926616161100810E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8391443923349016E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.4752910004744990E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1835310509411556E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.4943608530684287E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.6166850604408864E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.1095573045122364E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.9008797020633210E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.9313441391186643E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.1535662969872646E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.5296875705294042E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.0305312986579338E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.6286305637436271E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.3055334591172141E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0467182676165976E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.4010576273385595E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.7339467335614245E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.4078963529491375E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.3391956694449618E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.4812153160146408E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.7964297544258443E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.2446489111871415E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.8003376567321538E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4395151737289780E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1635137298071641E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.2792440398170584E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 1213.0000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 11.000000000000000 - Time getdeltaq 5.0000000000000000 - Time for GETMDF 1239.0000000000000 - Time for GETMDF = 1239.0000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.537105990300592 2.3143859114247722 17.885399505578739 5.5579792301810338 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8213724934158764 LUMO= -3.9693908117964840 - EGAP= 1.8519816816193924 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 13 - KON = 0 ... - Time get H 10.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.9380658018798336E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.4534066900638880E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.8950121011903640E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.9096509381832938E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2804414621876425E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.7389532735038244E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.0758550223405372E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.3040060246735123E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.1047781157944598E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.2782047521685556E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.6977485263702796E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2825306380626067E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.8023583692041782E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.5655294825338615E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.8862389608949073E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.6095717437077965E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.6286115361106042E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.8681836639510294E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.2744528179519108E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8081864376240375E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4403307733834581E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1490596796726038E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.2357541103815777E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.4216409906568970E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.9606237803322415E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.7852920053159664E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.8405667499574747E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.0816682270451423E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.4723218479127951E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.9832208271175489E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5907342174603656E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2758351815023161E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0232202893867282E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.2059059924866062E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.5806754556696490E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.2771999747847076E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.2318239334981911E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.3934677778901801E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.7211518482950225E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.1820019324714224E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.7496491766522126E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.4078980692389109E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1386345288855182E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.2085606251401941E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.4472972455552622E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.0229562781621837E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.8711184641447858E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.9396614304187949E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.1864218930088839E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.5772973200055560E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 4.0000000000000000 - SCF error (MAXDQ) = 2.0847042980776109E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.6863402785283199E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.3641694440735819E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1036083491511306E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.9286668059074259E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.2241074233758695E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.8453214490938876E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.7299937300238071E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.8277154779109424E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.0977604925652713E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.5071801301734808E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.0293324798359436E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.6426674465108704E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3297685175217566E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0765468516638066E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.7160656470075537E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.0572947485914028E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.7145554954729505E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.6277526255522616E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 5.0000000000000000 - SCF error (MAXDQ) = 3.7477632108817716E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.0354441182822711E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.4586344071764188E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.9915613602705662E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.6133350211333664E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3070178273011379E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 5.0000000000000000 - SCF error (MAXDQ) = 1.0590306409596906E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.5802920324340448E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.9527716917150428E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.6343485432819307E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.5655257352450462E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.7013170306465781E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.0000446571420980E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.4318880242901741E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.9716339672015692E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5980661238756966E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2960299500264227E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0509260128799269E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.5209617139980764E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.8968164512739349E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.6017412930486898E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.5383696800627149E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.6861624863604447E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.9920510513647969E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.4277246879478298E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.9714230248268905E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.6037171590710386E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2961853812498703E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0582645870726992E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.4909856923331972E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 1221.0000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 11.000000000000000 - Time getdeltaq 4.0000000000000000 - Time for GETMDF 1246.0000000000000 - Time for GETMDF = 1246.0000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.609950749620715 2.3453789870091533 17.861441879155276 5.5560359970604951 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8163321427609969 LUMO= -3.9649316739067570 - EGAP= 1.8514004688542398 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 14 - KON = 0 ... - Time get H 11.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.7526362801672040E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.9767182338175129E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.6687462576698859E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.2567261495776147E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.3917972545074431E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.6116279022796505E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.3498059585010971E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.4636238048368906E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.5576726717113640E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 5.0000000000000000 - SCF error (MAXDQ) = 1.8986151009092733E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.4170302955052172E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0634610614324025E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.0258254788634353E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.0909234998240969E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.6481028350586762E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.5662889261600661E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.7506282271883009E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.1322022606296009E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.6607195903683980E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2993120048987450E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0208198917394107E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.0513341306209796E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.3728366497262101E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.0606776766937145E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.0305495709880290E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.2186531707667498E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.5764414138818026E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.0667717044453582E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.6610758182267205E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.3372679333878423E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0781902061163251E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.7045154828491178E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.0355537340471841E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.6924076119457823E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.6098213335454830E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.7577613265504795E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.0750689650194118E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.5150615712288271E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 2.0561040414701637E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.6802492475154196E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.3726492542609492E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1210475336920211E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.1534617885358216E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.4723847443003422E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.0990056782728175E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.9773261401320212E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.0614447693876343E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.3137564470209213E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.7034818605997657E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.2054409742899850E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.7990450018601223E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.4674644388534830E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1969506941156283E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 5.0000000000000000 - SCF error (MAXDQ) = 9.7627189665772107E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.9626032434276794E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.4942892175068323E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.2966561137068879E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.3198373766983877E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.5231518813461093E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.8733909696043725E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.3480003497056146E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.9201074064056911E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.5701566713488546E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.2839536100983651E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0498962810245871E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.5849749531519137E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.0196037871284034E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.7396509767215775E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.6929737873568911E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.8370795429898408E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.1371161224313937E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.5648583257265045E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.0969659342284785E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.7144197173024622E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4015466565098222E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1457768067657526E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.3664520584013644E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.6573414276026597E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.2599925243489452E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.1164517067547877E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.1825987118215835E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.4188873954121846E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.7944424552117653E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.2846058378434009E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8671508783540958E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5259016272750614E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2473688748571021E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0197065414274675E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.3317797106019498E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.8121064344950355E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.5707660706616480E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.5488057764941914E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.7182479317721118E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.0366820169547282E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.4843460622037128E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.0297097336197112E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.6564527527407336E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3533618670180658E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1097789354153065E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.0327745283502736E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 1224.0000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 11.000000000000000 - Time getdeltaq 5.0000000000000000 - Time for GETMDF 1251.0000000000000 - Time for GETMDF = 1251.0000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.686771590638671 2.3782242186242653 17.836230433088293 5.5539495829127059 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8110050148531647 LUMO= -3.9602201035765905 - EGAP= 1.8507849112765742 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 15 - KON = 0 ... - Time get H 11.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2734690781073255E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.8820079613111105E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.9075432715786071E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.0786100816153628E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.9494916898641357E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2487815414905512E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.1103345149391437E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.3525762971062818E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.5970220595671343E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.6807133716222342E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.0460855021220414E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.5702035178832841E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.2113700147453610E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.3927950384320447E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.3181389851240120E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.7275795451561251E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.5016695222166447E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.5519751366952512E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.8126782173898413E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.2345257697398146E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.7804558731238096E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.4224235972193355E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1390883491668724E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.1412140434954381E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.3496151227203654E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.9189536018022793E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.7737456844165749E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.8550561003436457E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.1166677958438527E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.5221893267257656E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.0428583229481490E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.6558640651975765E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3430595088292918E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0899673289488376E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.8500858852480491E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.1890173725108752E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.8419187798364192E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.7488070531453985E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.8613437580714560E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.1405207312484862E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.5548216153747916E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.0787563026480882E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.6916892786600357E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3769017670473005E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1208388805972191E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.1250432210365773E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.4297244245791205E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.0499483978126989E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.9268334523233648E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.0125251121736483E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.2681222728037085E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.6619940363126204E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.1684130824262127E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.7664479434742475E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4390706293276878E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1724234139087741E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.5522748599918827E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.7830231148823259E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.3417215923067261E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.1675469459055989E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.2109262743394993E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.4315131847151292E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.7964727200568973E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.2790347387058318E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8573966809043441E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.5138225117894422E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2338325916516624E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0056740995523228E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.1971851528805928E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.6817740229652145E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.4466198218250383E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.4400227938723447E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.6194591768179407E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.9506808107981897E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.4054824798724894E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.9611112733741720E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5989376489500273E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.3036161039536864E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0628775637400167E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.6663010101517557E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.0660921558385326E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.7623461557909650E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.6981307733062749E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.8315572936653552E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.1244784537420855E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.5479618415147343E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.0775492437508092E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.6945223002551302E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3818834965206861E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1271539257506902E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.1882057517977955E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.4977801745035322E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.1121108174688743E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.9840132021472527E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.0749625895841746E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.3170133306725802E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.7113866707395573E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.2044588376957108E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.7975620991705910E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4660495040175192E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1954881529163686E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 102 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.7144514654701197E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 1255.0000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 11.000000000000000 - Time getdeltaq 4.0000000000000000 - Time for GETMDF 1281.0000000000000 - Time for GETMDF = 1281.0000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.767537235066232 2.4129297210731311 17.809782649035924 5.5517154278530780 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8053912593467443 LUMO= -3.9552560366809097 - EGAP= 1.8501352226658345 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 16 - KON = 0 ... - Time get H 10.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.5333805648860777E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.6241752464352182E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.0970372584363552E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.9066106711702631E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.5372342830056738E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.6739946099912917E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1241995219881673E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.6965694793873496E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.3764649065235481E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.8324642069631487E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.7856423413274989E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.1130768888599771E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.6427182030409604E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2827536661175198E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0058505624899183E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.9178061904716657E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.2549778739096062E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.9575222736408797E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.9408762926407270E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.1411324045160782E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.5097326694534239E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.0095850516876901E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.6122079693148272E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2956208536585301E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0427780202104664E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.4039988783590758E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.7809611663527392E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.4770419258831637E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.4278781693440905E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.5825447012305389E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.9006226878180996E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.3499412888927651E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.9048293363743696E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5447552905722972E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2532647389873475E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0171468379782667E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.2577788740323399E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.7060248387651455E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.4472228894208996E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 5.0000000000000000 - SCF error (MAXDQ) = 4.4256888431792873E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.5964308531255540E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.9230647446976121E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.3761459622129166E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.9318300747972472E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5707965195232987E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2773827962053730E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0388862936583365E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.4500054287062198E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.8736079161801911E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.5917604657729214E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.5493140476970950E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.7014766696152890E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.0118531890721556E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.4508753804219907E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.9945060159010097E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.6232128752236008E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3211157168235843E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0753001600249945E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.7527045611324183E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.1248862365536070E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.8001065061930035E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.7218765564238652E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.8442887762002442E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.1299586256139378E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.5484787613549997E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.0751226292858860E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.6897659937953335E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3760379502514297E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1206039429723091E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.1263308021893863E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.4329153942898074E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.0539151469640728E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.9310311389660910E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.0165692993809898E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.2719005282899616E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.6653435014623028E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.1713597586625610E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.7689738562864932E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4412404603092455E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1742762318078803E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.5671137678721152E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.7952977406425816E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.3529514982008095E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.1764370567752849E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.2176484527089997E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.4384162184153411E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.8014479624971500E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.2832735702138507E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8615331498494925E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5171863765317539E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2363332579923281E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0078049506034858E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.2134299361769081E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.6924243924404436E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.4606319466188324E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.4467762805311395E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.6266545322405364E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.9558577807620168E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.4146240562572530E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.9767520953450912E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.6070478281449141E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 102 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.3108403251749223E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 103 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0668133043623129E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 104 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.7041485130612273E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 1278.0000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 12.000000000000000 - Time getdeltaq 4.0000000000000000 - Time for GETMDF 1304.0000000000000 - Time for GETMDF = 1304.0000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.852214018356442 2.4495035839482422 17.782117099998853 5.5493287827011564 - Writing trajectory into trajectory.xyz ... - HOMO= -5.7994910867822735 LUMO= -3.9500394540839707 - EGAP= 1.8494516326983028 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 17 - KON = 0 ... - Time get H 10.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.6526505443531292E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0472521076578811E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.7115334838678820E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.3594199407641643E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.8761631258169551E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.9312222529166423E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.3217631317439249E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.2292470317145714E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.5753580630834030E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.7765519258446965E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.5330535267874552E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.6558701705470256E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.0246349438535205E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5617370546117115E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2163993233871295E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.5483987999855913E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.5416252574678211E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.9853803468845612E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.7679777638309773E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.8090184197869803E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.0495174303757366E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.4454469682355651E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.9634414512248455E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5778869386640082E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2689087828254841E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0209514381021023E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.2175570241815876E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.6160797973502383E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.3493642238056083E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.3290042103238946E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.5054153431079982E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.8400399887384964E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.3020502081250171E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8667489288803907E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5143155626118343E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2288180049058184E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.9743187609302453E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.0982160055587116E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.5764833434567294E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.3417773437924865E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.3396671167705847E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.5261251885021494E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.8655165618118872E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.3289819395255762E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8931380740827564E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5390299101802896E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.2512862490599019E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0174377584881711E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.2736648088221898E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.7285951144135936E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.4724955900198324E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.4512193597689986E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.6207925435682853E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.9454944150408835E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.3963019013528708E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.9496319003664553E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5863192981413476E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2907880209134248E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0503761416202906E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.5478956135531803E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.9566300497925226E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.6619061661322689E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.6084004390323230E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.7511227457542873E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.0534839101648004E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.4857230718211554E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.0236395892325731E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.6475396602544379E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3414056532212726E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0922125426304774E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.8936136233286334E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.2422268182492644E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.8977367434209782E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.8031245647450760E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.9117298289426117E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.1860070137668117E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.5950697146726043E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.1137747108213034E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.7218615422365247E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4027012884554324E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 1.1427092605487132E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.3096752529220339E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.5851880332322708E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.1809668494561265E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.0356940839435538E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.1031178454886685E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.3440028524012178E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.7256086276850056E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.2205570715527756E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8097634502112214E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.4756418309502806E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2023715356690445E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.7961638800825313E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.9865003499435261E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.5124572401487058E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.3137494404609242E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.3223202794706594E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.5279557053513599E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.8745894553594553E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.3435697826812429E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.9083623570281816E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 102 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5561996136170819E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 103 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2803091919977305E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 104 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0386136395368339E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 105 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.4277029799295633E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 1279.0000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 10.000000000000000 - Time getdeltaq 4.0000000000000000 - Time for GETMDF 1303.0000000000000 - Time for GETMDF = 1303.0000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.940765794365934 2.4879538048801799 17.753253468006957 5.5467847179593992 - Writing trajectory into trajectory.xyz ... - HOMO= -5.7933047762763641 LUMO= -3.9445703887990522 - EGAP= 1.8487343874773119 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 18 - KON = 0 ... - Time get H 11.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.6220076416131990E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0359992809599206E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.7017460645424354E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.4002593676741864E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.9384517457204939E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 5.0000000000000000 - SCF error (MAXDQ) = 1.9991506103538281E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3872231323923678E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.8216879489854136E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.0922085952918046E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.2170845908428021E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.9027646915790193E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.9628567317208088E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.2776357820575299E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.7691329286928514E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3857547699180905E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0927433725149704E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.6622368644428960E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.8946130323821464E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.5048755110975733E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.4057483945314502E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.5324425015303973E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.8360912648794923E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.2793299610857076E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8332596424031067E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.4753191383887199E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1877628629530790E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 4.0000000000000000 - SCF error (MAXDQ) = 9.5655047829268369E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.7052232005936361E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.2077713143260382E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.0019601733897190E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.0307404058914642E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.2483245204772970E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.6179222623046172E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.1099478701991359E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.7005946730819232E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3706974975047359E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1048226791210425E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.9053862950549956E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.1783004695902264E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.7908037509601940E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.7046542162032523E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.8228174725762898E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.1067077121971209E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.5250674595689304E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.0525646216018600E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.6686607828830802E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.3566986101221090E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1031633806446450E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.9708806605415248E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.2956984564775951E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.9338076674464446E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.8265103136380105E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.9261309203730832E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.1939427214133786E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.5984774554288492E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.1141694173110182E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.7202394952953171E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.3997966341605661E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1391168452945521E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.2703859033704816E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.5449000380700681E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.1409314300320261E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.9985130479157647E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.0688591385062978E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.3122905529481272E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.6965569777104292E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.1953990847478622E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.7874924873595432E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4554435434632751E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 4.0000000000000000 - SCF error (MAXDQ) = 1.1851494230441517E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.6510677227712449E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.8595963071137476E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.4010063915986848E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.2133475314519728E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.2463033089745750E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.4588032438165328E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.8174818034187865E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.2953128286928859E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8698798065486244E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5233969641315070E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2412049166243833E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0113676562895080E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.2405526846685007E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.7158167915692957E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.4722226749959191E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.4610648508580653E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.6349367960042400E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 2.9624747099887827E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.4141355581264179E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.9682588892067088E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.6041945549716274E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.3078871319294194E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0667133842900967E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.6958218403765386E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.0858874323675991E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.7848170698093782E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.7059023344786510E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.8409275759931916E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.1292746172084662E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.5588420271560608E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.0818902157770935E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 102 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.6979750938617144E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 103 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3901102491331585E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 104 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1295409052536343E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 105 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.2292840037089263E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 1289.0000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 13.000000000000000 - Time getdeltaq 3.0000000000000000 - Time for GETMDF 1316.0000000000000 - Time for GETMDF = 1316.0000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -30.033153837121802 2.5282882188005411 17.723212561532240 5.5440781335168730 - Writing trajectory into trajectory.xyz ... - HOMO= -5.7868326836069377 LUMO= -3.9388489335163421 - EGAP= 1.8479837500905956 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 19 - KON = 0 ... - Time get H 10.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.4452306164462136E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.3028051595749339E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.0722843244838121E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.0277989734323061E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.7200052979032829E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8726573259049140E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 4.0000000000000000 - SCF error (MAXDQ) = 1.3153445381703932E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.4249150174108287E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.8833316176908355E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.1162013369743242E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.8625610177267511E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.9555541567827248E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.2871237282817702E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.7862342465302383E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4053833079064049E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1122028101140380E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.8419374772330528E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.0539715707029771E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.6426691488198344E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.5229304526994696E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.6309725763628009E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.9182845435071769E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.3475100939363003E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8895866805257455E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5217163635616870E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.2258977509338465E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.8784377395855216E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.9617032071599425E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.4177890204408783E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.1738105864007622E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.1712819325301354E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.3632105156389258E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.7118024037431354E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.1866400485848203E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.7632298399128388E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4218409196686821E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1465745997085719E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.2461755052397621E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.4564156826717465E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.0132069679141864E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.8494259252684913E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.9109552818494819E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.1541618183972275E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.5438647921482982E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.0516977228268729E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.6547878534112215E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3392848963178494E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0891866719653365E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.8587085556035561E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.2056839495182601E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.8615852061016938E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.7685756010551472E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.8796691081977031E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 5.0000000000000000 - SCF error (MAXDQ) = 3.1566910307923024E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.5686212490327875E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.0902470865280520E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.7010787889404355E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3844571045140697E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1268392552388207E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.1721759076790477E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.4663762950066825E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.0781883970406625E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.9484035757885181E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.0288561375945164E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.2803735283692959E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.6711083345176689E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.1751325185448422E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.7713506217376107E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4426124739230772E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1749403672212111E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.5700058988512637E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.7953066224267786E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.3500205094157991E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.1729842631687006E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.2143255551962966E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.4336200549489604E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.7976876371127446E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.2795987320023414E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8575452287450389E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5137302522560958E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2335665822149622E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0053990973091231E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.1944118157650792E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.6800565079461194E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.4443782815383202E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.4377279628804445E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.6178282591947664E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.9505620169345548E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.4045987423448878E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.9610646440071378E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5984213952435766E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.3039125335012614E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0624945367965211E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.6690654654830723E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.0711214661400845E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.7618354531996374E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.7054582452688010E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.8368197508020785E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.1332714200971168E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.5520696667058473E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.0842216841288064E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 102 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.6948664693927640E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 103 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3872236692691331E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 104 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1330936189324348E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 105 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.2359453418566773E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 1295.0000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 11.000000000000000 - Time getdeltaq 4.0000000000000000 - Time for GETMDF 1320.0000000000000 - Time for GETMDF = 1320.0000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -30.129336740080504 2.5705144232148416 17.692016332465844 5.5412037691306244 - Writing trajectory into trajectory.xyz ... - HOMO= -5.7800752497006238 LUMO= -3.9328752484988860 - EGAP= 1.8472000012017378 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 20 - KON = 0 ... - Time get H 10.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1387614565108395E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.3988203278099185E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.8812195788485724E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.2763204154802050E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.2408954968884398E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5633437176996168E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1126974720780947E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.0749151223957760E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.9673200422705186E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.4824535678578137E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.4153236394840469E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.6337566802991930E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.0513186982418219E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.6105593461035461E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2725935514845688E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0105835647000738E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.0562923287619270E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.4415141086238137E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.1620616199121727E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.1438321286557667E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.3307434443852202E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.6797854630888907E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.1576067794404352E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.7381118831982789E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.4007352641343118E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1291776556676680E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.1046423134066856E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.3423170234843127E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.9218143697581382E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.7765524289200556E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.8530333297259745E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.1082255298464645E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.5074883713838148E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.0229194128695838E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.6320338933617506E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.3167071912789652E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.0623258830388949E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.5710559005747200E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.9154220816436407E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.5797001974333682E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.5020565808684410E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.6326137564657301E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.9311359250883129E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.3651651925860051E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.9085174307598152E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5400693231804041E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.2427800322178939E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0029018282509128E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.0934395185749963E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.5315854724801170E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.2712704423640844E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.2542541489609675E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.4601156273517120E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.8159811926720124E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.2919243503061182E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.8655272326917327E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5185640189763205E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2362139090171809E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0064296618317314E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.1941093910131713E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.6718813807042920E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.4327867760051163E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 4.0000000000000000 - SCF error (MAXDQ) = 4.4240952012941648E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.6029206285093096E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.9343439900131330E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.3899804357796484E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.9467173428822093E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5857674062758065E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2918230929415131E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 5.0000000000000000 - SCF error (MAXDQ) = 1.0524278115653374E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.5744289446409994E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.9862970963896487E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.6925808511465448E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.6387971242012327E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.7802383445750820E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.0807989492842580E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.5108781720462048E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.0465473760111763E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.6681378500749133E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.3598089321220641E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1085510287500711E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.0375817940469005E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.3680062051550976E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.0075056040886921E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.8983594957974219E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.9939607177075231E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.2569946739613442E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.6561863819551945E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.1664114946418067E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.7664980589415791E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4414691662523182E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1755041384731157E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 9.5889962636874770E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.8207440523669902E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.3860028376439004E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.2050586063501214E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.2466030691912238E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.4657832159723512E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.8368418725222000E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.3094859358252506E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.8796075806903900E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 102 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.5413226250871048E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 103 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2572165530855273E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 104 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0201839373280563E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 105 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.2966966630237948E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 1288.0000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 11.000000000000000 - Time getdeltaq 4.0000000000000000 - Time for GETMDF 1313.0000000000000 - Time for GETMDF = 1313.0000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -30.229270313268373 2.6146396994579257 17.659687892461083 5.5381562157147517 - Writing trajectory into trajectory.xyz ... - HOMO= -5.7730330095148288 LUMO= -3.9266495698409383 - EGAP= 1.8463834396738905 diff --git a/examples/QUANTUM/LATTE/log.8Sep22.aimd.latte.plugin b/examples/QUANTUM/LATTE/log.8Sep22.aimd.latte.plugin deleted file mode 100644 index 5d2f590449..0000000000 --- a/examples/QUANTUM/LATTE/log.8Sep22.aimd.latte.plugin +++ /dev/null @@ -1,12604 +0,0 @@ - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 1 - KON = 0 ... - Time get H 21.000000000000000 - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.1179006122534787E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2447467007814534E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0816438347235344E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3541892482555884E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.9509785697172717E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0217877225321459E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 4.1283384995294270E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8857903898993342E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0564428112801458E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4925999542780843E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1018006857121954E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.2562356612081444E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.2673819033465250E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8097138121816485E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7242763888167829E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9047346227661919E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2786206882452475E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7955823320647823E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4199482018417697E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1259699044030569E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.9473541806661672E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.1213525421054413E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.6749876171657831E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5266252177711408E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6132141087996672E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8856776106422899E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3055792151005505E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8426685193251302E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4730467321477647E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1777771564691619E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 9.4182061727288158E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.5321245240900225E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0242121402431792E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8184609591217509E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8542122204887619E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0830280817184530E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4662119013640904E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9728393274576206E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5781907292122810E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2625025691548331E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0099708624977666E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.0795737655847688E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.4635387486688956E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.1707575776660519E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1365630032430545E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3092266038536877E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6473669700877167E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1178875764249483E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6943083824827454E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3554480871036390E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0843613340583147E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.6749301075883523E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.9399905822109531E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5520219532922965E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4416550437631486E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5533602726900426E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8427258325081084E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2876731620158353E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8449095584571751E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4879797394229399E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2002083771278649E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.6816576977687419E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.8105422129937097E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.3016569740170780E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.0846737931209418E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1030223663085508E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3112024233616921E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6724211732442882E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1570967234652016E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7412216113399381E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4056844577226002E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1348233464048008E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.1638918675585046E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.3998918104223321E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.9749205583159437E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8257398077566904E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8987146844249310E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1509794773398880E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5465074493524753E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0575208203865714E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6626144905274032E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3443024471371245E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0871969990944308E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.7865270614884139E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.1010974878049637E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.7389648588923592E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.6419534882602420E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7562175592142921E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0372371284670407E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4591439995447217E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9827472996780671E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6064927166326015E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3059553438665716E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0523804050421859E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.5276230521458274E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 111.00000000000000 - Doing XBO ... - RESIDUE= 3.8005815116873233E-004 - Getting forces ... - Time for GETMDF-GETFORCE 28.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 160.00000000000000 - Time for GETMDF = 160.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.005048920306102 2.0935268126760067 18.062222038862252 5.5709977791022096 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8578873450050475 LUMO= -4.0018256631440954 - EGAP= 1.8560616818609521 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 2 - KON = 0 ... - Time get H 22.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2354266265797200E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3405462810540687E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1593385865170678E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4169822202652060E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.4572542919246771E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.4292955084366277E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4559609230998554E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1489679231122558E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2677255553027464E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6621470221589441E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2378126028145253E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.3470694668473797E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.1420826205814691E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5110026863980366E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2864668555742114E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3553730673041571E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6398126919069398E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0850622499013483E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6519403979620151E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3118814429891046E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0437127472950891E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.3151132903580560E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6315202884581481E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2930499754300087E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2272985543156949E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3776910515204150E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6997799731365291E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1584966094501112E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7260801552509974E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3804986547238940E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1042323504462104E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.8332865599838328E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 7.0666313689571325E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.6535855996742157E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5232618228752131E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6190273378089444E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8956188358186807E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3168514662330608E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8537901946835689E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4832944450482444E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1868548233096021E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.4966544628150018E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.5988152437034273E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0802738843790394E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8652144757355131E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8929816037480691E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1150418688952186E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4925664199315634E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9944845552899437E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5959376709062667E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2770324131494704E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0218557111585369E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.1766842185970745E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.5428460427341406E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2354922619457511E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1893655211566738E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3522802311836131E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6824724663754296E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1464927613124019E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7176182698364073E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3744312354901922E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0998120192340366E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.8007934273548472E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.0424044373851302E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.6354143573855708E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5094483702712296E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6085534560470478E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9045665872473592E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3448964991956700E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8932266865334668E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5286127919011960E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2342682431665253E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.9666053188229853E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.0485174080990873E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.4998117998982252E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2506776704319691E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2399528332737191E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4244385105353103E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7668534130498301E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2354118556222602E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8055001937966608E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4592549391068133E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1793566123685650E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.5305985325921938E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.7040596124788863E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.2210236961846022E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.0289772346445716E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0616399132886727E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2857050413781508E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6596502777920250E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1501689317915407E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7308376953906190E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4063195052926858E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1362022434013852E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.1693319603791679E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 111.00000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 28.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 161.00000000000000 - Time for GETMDF = 161.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.032690592773982 2.1046338692736910 18.052915274706507 5.5703897640696782 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8560004927566895 LUMO= -4.0001322257540428 - EGAP= 1.8558682670026467 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 3 - KON = 0 ... - Time get H 22.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0101272192330146E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.4685324517925746E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1985585638035783E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7679393803179408E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8567781548657347E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2690948087989984E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.8443040460295386E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.2842267395946116E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5490749567389521E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3502136362728585E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5055701399567809E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8990421547360192E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4556326212944448E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1261646950599946E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.7784275739632989E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.8838942954618787E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.4237691996306125E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2891040054504614E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4014882348776254E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7034791358904187E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1523147536228748E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7157125040467847E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3690087716344834E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0931733372077090E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.7340393566393004E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.9811245755335705E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5818071258428859E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4640536902562644E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5707823269337524E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8566515408723347E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2855798200716038E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8288146368394820E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4634194396290212E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1710825831290350E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.3717587446029427E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.5000822641335674E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0023270953557528E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8037459721150810E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8445515437857125E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0769152137288813E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4625709715841992E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9709009069224237E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5774047579242279E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2624773826352964E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0104292225143752E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.0870456109494171E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.4725489190564645E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.1803889400403591E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1462057343011338E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3184917258566315E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6560239119177709E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1258119042855128E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7014486264343986E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3618042693508414E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0899625424443116E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.7238873902606429E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.9824901416382090E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5887185990144417E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4731631732020105E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5803104925236084E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8656710338026414E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2936939014783775E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8358783382410593E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4694474526066870E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1761660534403973E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.4142293960430834E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.5352324380162372E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0314442329456597E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8277581932154590E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8642200550498274E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0930435990228489E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4971325007783207E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0164547809287114E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6283152604046336E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3149870081718973E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0620626600399419E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.5778273373193770E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.9287575676924007E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5972448897989580E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5214831878581663E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6522784796488850E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9510616172956361E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3838375717843974E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9266033213227729E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5569878719645658E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2580825270447349E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 1.0168310637936884E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.2183149174852588E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6394667541658237E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.3695936585995696E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3461900745001003E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5116354268893701E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8351765379852623E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2929436127583358E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8532952950067738E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5030199307375369E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2111422975635833E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.7744035087998782E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 107.00000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 22.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 151.00000000000000 - Time for GETMDF = 151.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.064518404473738 2.1175174146051221 18.042229576574641 5.5696743037874175 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8538274394796037 LUMO= -3.9981883568235874 - EGAP= 1.8556390826560163 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 4 - KON = 0 ... - Time get H 15.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 1.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4205850064413328E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.1311928160184852E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.9522408197791865E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.9428529829172998E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6586674600170834E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8270936755555578E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2803393166451738E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.1464709270550060E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6547561242424891E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.9237470867069533E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6975529295601994E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8124484311309317E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 2.1622590544367881E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6770542346056239E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3099688839779411E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0290018460912265E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.1187193573528660E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.4276057006873444E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.1022495743513474E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0584271249644033E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2331752457759322E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5787858653147921E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0586960165491774E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6446197725450418E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3145074711173876E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0510662877161181E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.4066917389602480E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.7253777156217609E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.3812236093797594E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3062603833909918E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4463623168612401E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7583719566237619E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2078438264294675E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7672654502032259E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4146495117550728E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1324169502113790E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.0650859707608333E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.2567770703635404E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.8092575794255197E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.6505196671375870E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7229368454738676E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9803867951372354E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3859539366455351E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9100892689749571E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5291399901862235E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2241726876638381E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.8003131832058443E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.8458306740358807E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.2811583712019115E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.0285432262597851E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0257448485903069E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2229406254913329E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5802394221230429E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0657101584831139E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6537912816971811E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3240182950013946E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0600070821098484E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.4864497651437887E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.7943068948750351E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.4395832282949641E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3550114625645620E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4866889375706478E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7915214584339765E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2349617712080772E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7893846404604119E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4326386743590547E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1470187022410983E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.1834984061733849E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.3528605426531612E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.8870130992261238E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7134274261395603E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7737946101401576E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0216629198775991E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4193047565290726E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9430212994109297E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5693091270918558E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2674128413436847E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0237422021219800E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.2698292658278660E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6810112997472970E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.3967941227028859E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3602788046825935E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5235592221738443E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8469782087370277E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3006041516282494E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8598900197730472E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5025758415276869E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2151724071429726E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.8202557197168971E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.9338757785762937E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.4155347700989296E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.1888493501905941E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1985304122249545E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3988367675874542E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7440272276635369E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2177815139912127E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7906787164179150E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4507284262776921E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1702860902573775E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.5368157815300947E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 80.000000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 19.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 115.00000000000000 - Time for GETMDF = 115.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.100522140146253 2.1321825101923064 18.030171510908211 5.5688493352269139 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8513680577887568 LUMO= -3.9959938633429508 - EGAP= 1.8553741944458060 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 5 - KON = 0 ... - Time get H 15.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7201774728291541E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1101899992363107E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.2703223110561765E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8406611876397054E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2820673766214004E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2684494787374998E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5987696272783403E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1484845127147647E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.3995327286423560E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.2438808122222689E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7082868433423464E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5939286842912033E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7713223346026439E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1547756222095593E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6865596832604801E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3270371827589500E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0484548120470727E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.3100026911475666E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6026695836551852E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2560035373794278E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1900168479269695E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3438791184225991E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6708253866525311E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1345831122454584E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7068160400368626E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3652617055992522E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0923514510707832E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.7417271239509375E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.9967871603182630E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.6008018973763285E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4837308681433541E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5896934407197989E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8740660038550914E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3011899352720633E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8425558725443381E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4753615129592390E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1813638782776081E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.4596439259575504E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.5747898931055602E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0655508127283042E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8570563659922072E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8893663711903059E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1144906786906290E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4940060749933934E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9971474141122769E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5992810054044071E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2806824312150411E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0255576565754154E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.2125991118786601E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.5766271095668571E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2665688476949413E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2174925773963423E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3774042895728940E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7046664685670407E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1659401827633928E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7345285874270644E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3890539385386091E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1123944654300999E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.9084097876224178E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.1341785812251146E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.7133546782495159E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5755170763328579E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6642944234444030E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9345772478706067E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3501904866662926E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8821799674384465E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5073799985998448E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2072183253053481E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.6684060757468160E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.7432504852481543E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.2015370616563814E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.9667336909919868E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.9779135541095911E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1858737870038567E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5516544432946375E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0436474734708554E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6367773802983265E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3109224816787446E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0550793572150496E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.5238371916318556E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.8865246838356597E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5630722251009956E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4956038891541539E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6332048480858248E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9357849484767939E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3728907727615933E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9178991728097117E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5502266137445986E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2529866033617054E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0126122163001128E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.1898932080548548E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6204819404447335E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.3541615585572799E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3288705953159479E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4996450182234184E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8318458689113868E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2879476091475226E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8529622280993863E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5036860645523120E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2135847882177586E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.7799546239230040E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 81.000000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 19.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 115.00000000000000 - Time for GETMDF = 115.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.140689981285114 2.1486346827288996 18.016748565196199 5.5679125467245383 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8486222229616214 LUMO= -3.9935485430286315 - EGAP= 1.8550736799329899 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 6 - KON = 0 ... - Time get H 15.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8824744042301944E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2205422699403057E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.0347495153409998E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.3804050979397999E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6704052233582640E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5528729214123747E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8104964446925553E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3083702062053337E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.6218192322439222E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.1879117334083809E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.4435385226847544E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1704373993467492E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2257732329354916E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5145053464248335E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9722314394421403E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5544613259810269E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2298518985409679E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.7589456344193692E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.7613066297832489E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.1832648429627213E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.9325683758150163E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.9387919029465479E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1476198355973040E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5168104502704125E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0132917057491539E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6110336032104655E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2894639597860191E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0322719518951473E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.2649354362640537E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6180533133675112E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2997488038108997E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2443004928394146E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3991981949199612E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7224610774645441E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1805106538153041E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7464795423194346E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3988644689266749E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1204519061447371E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.9746023856918100E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.1885434760332600E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.7579745926794601E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.6121280883326676E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6943284498214268E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9591842887199959E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3703405727104609E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8986795868869422E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5208792736309817E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2182599928856064E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.7585969749403034E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.8169423600726873E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.2616497320533426E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.0158299735869605E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0179004789919759E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2185319298605464E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5782136203744699E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0652970444956509E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6544298153675641E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3253085295872324E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0616666878959791E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.5047497933032901E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.8130001640298588E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.4577991015491989E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3721959386289200E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5025424782730852E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8058901868632802E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2478188199670512E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8007648705520296E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4426246863763481E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1557204082635053E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.2588381406244480E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.4175154907152319E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.9424021259246729E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7608805786580888E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8142755620640401E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0557223418270496E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4481550120469819E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9613000112883583E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5714873846661703E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2590750664287498E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0086353974259055E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.0820017345217821E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.4757532669545981E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2034709874249074E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2045145143276841E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3979707936282466E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7466029450806673E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2199908578102168E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7947532349182893E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4506396084357220E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1724066162344116E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.4716456899845980E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.6552097993953794E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.1951554997108360E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.0069948187569935E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0549785751409217E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2820413053968878E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 2.6489921367556235E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1408430583846894E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7345014313718821E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4017675908917226E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1283196599265466E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 102 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.1737728524776685E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 81.000000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 19.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 115.00000000000000 - Time for GETMDF = 115.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.185008458301187 2.1668798968981102 18.001969159635813 5.5668613809083443 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8455898162715929 LUMO= -3.9908521874271989 - EGAP= 1.8547376288443940 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 7 - KON = 0 ... - Time get H 14.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8939869375197871E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2348265129210834E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.1796093418031735E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5147970583337980E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7891682211974587E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6547652568864599E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8962536690965148E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3796179705063416E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0208445622330586E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.6678458410861516E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.8343887245504433E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4876803315063718E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4826428578638158E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7221163107382651E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1398051344090341E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6895834577823621E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3387249255147893E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0635678166703855E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.4670165469535874E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.7511254836061241E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.3893901860613269E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3062148503247855E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4430935748730462E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7543953978304003E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2043110139424726E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7646021533757050E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4129166143739269E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1315096641872913E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.0626272639671157E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.2592315196740032E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.8151080306600988E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.6585204960258864E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7321208450347143E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9900377669367373E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3955643566608842E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9193179097154456E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5377729667420681E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2320902724738403E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.8718138108466746E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.9096061411654262E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.3374684855510566E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.0778455484845608E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0686062074968277E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2599748522876837E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6120719032185491E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0929473243391783E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6770024369172631E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3437281798367451E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0766917579729807E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.6272765376094185E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.9128704316412382E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5391814468563894E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4384895758753373E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5565359102207594E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8498496895679182E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2835967117273981E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8298659920645832E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4662975500456810E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1749725414844647E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.4153298491050919E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.5447881275891859E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0459073303320565E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8448260958622313E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8823777526175718E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1111551113127689E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4931539055472740E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9979142784620763E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6010641701313943E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2830501106009251E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0282243945169967E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.2401374612572909E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6035266144126581E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2920290372071577E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2410697176364920E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 3.3988811765084392E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7239543953783141E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1830670604572333E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7496226689672767E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4022250027778682E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1236944708059582E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.0061069712987774E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.2183148347448878E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.7859939062154808E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 4.6365800088210563E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7167824373796066E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9788616018322500E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3876012278378766E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9181212174146367E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5507817252569112E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2534195903413092E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0125900118396203E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.1905593418696299E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6238126095186090E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.3547166700695925E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3337555766242986E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5016434196677437E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8309576904916867E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2932766796657233E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8535173396116988E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5006884623858241E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2186918141310343E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 102 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.8543395665728895E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 133.00000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 29.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 176.00000000000000 - Time for GETMDF = 176.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.233462397626681 2.1869245251667304 17.985842659813542 5.5656930380440146 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8422707287066258 LUMO= -3.9879045853794040 - EGAP= 1.8543661433272218 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 8 - KON = 0 ... - Time get H 21.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 1.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7538191296780914E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1517290873994668E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.6908405806839220E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2304625537944460E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6263749074008089E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5637603441257539E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8472664530098104E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3549058906421330E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0098909173874571E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.6340257908880105E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.8402760762499284E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5126394746275444E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5151206122230327E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7558781598369109E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1716919774483756E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7181815887967744E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3635832091085653E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0847416984405278E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.6449153380074861E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.8991703319420949E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5117550745054089E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4068571882105445E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5255712605319900E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8218063525820014E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2592974316504311E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8093862761414670E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4493493905254340E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1611221494289836E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.3031503753948641E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.4544862096459497E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.9735448156850168E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7870360599944206E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8363351795300815E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0745250134689428E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4640441385059830E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9748127717544861E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5827376165233886E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2685174148874268E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0166880095585640E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.1485850400575544E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.5309983576788966E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2345524004238086E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 4.1954831053736541E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3626895801219803E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6952178022732198E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1602462552117174E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7314698430581643E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3878065008299245E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1123597776219185E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.9158760596674824E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.1463646111880053E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.7280773013701491E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5912943003045825E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6801364844407658E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9498199216604348E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3644470159567277E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8952510227876473E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5191709445971924E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2177236996535612E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.7610155513905283E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.8242570200615091E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.2718379378878808E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.0274722163123897E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0300225379041876E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2304912078728876E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5896007560533008E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0758832430800567E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6640679945112424E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3339660487332594E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0693577134901489E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.5725759824129000E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.8720407142564000E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5091398110107548E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4164871759733160E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5405611775729540E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8383806416343305E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2754309547678986E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8242318766681365E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4625256561373590E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1724976545224308E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.3993257621605153E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.5357275974852200E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0419669267730569E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8437920341370955E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8842262739535727E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1137759037846990E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4967583556190220E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0020873847670373E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6043610884253212E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2871037569084365E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0328626842692756E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.2773787823953171E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6298078138515848E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.3232973584727006E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2906789232688425E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4712233087930144E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8074209623696333E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2762902673889585E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8338663920758336E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4847012508312218E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2009282457370318E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 102 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.7211128036178707E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 120.00000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 28.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 170.00000000000000 - Time for GETMDF = 170.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.286034863894670 2.2087753139930353 17.968379390330966 5.5644044798292827 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8386648650799913 LUMO= -3.9847055268491474 - EGAP= 1.8539593382308439 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 9 - KON = 0 ... - Time get H 21.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4741268363969606E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.7833792210610948E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6091395307876777E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5502478017422909E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1944090647053613E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2861843014021499E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6664151039131880E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2352061928491143E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.2928165855843403E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.0810968413548281E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.4537861556847034E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2374217326690555E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3156498551911717E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6089489572456159E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0618999523280834E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6351190091468126E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3000861627188165E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0357848881770160E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.2648394754913923E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6024736231851122E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2791441849331378E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2238761513546663E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3812576439640196E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7077630366800776E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1690391606599135E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7378710955640031E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3926368015892976E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1161197842612935E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 8.9458835474953702E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.1707624105243895E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.7481717941065824E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.6079842581647767E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6940690584241764E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9614800216570814E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3742156307626772E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9034323741617953E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5260174397457860E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2234478314887554E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.8087737709917633E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.8640607537039386E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.3049493781441868E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.0549719454728859E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0528279487972441E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2493749024808949E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6052156476552568E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0887656337897909E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6747035691544454E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3427291478684822E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0765671487611428E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.6316979341916067E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.9207585440267394E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5489854933199467E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4491379913580431E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5673096032695639E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8602776147579334E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2933924093138103E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8388705447236475E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4744384824183498E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1822364864855217E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.4795171712291904E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.6009920579878099E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0947713542702786E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8870483215779359E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.9186864864149129E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1422282553705827E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5196269515248559E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0204080630747967E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6201116004310734E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2991292486219663E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0417651186145349E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.3536733086475579E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6988481428609248E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.3718740566921497E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3078096645388086E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4545744043157356E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7702129479223458E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2215340678144457E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7815393604792007E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4287349081598677E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1457435000750138E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.1881613428768105E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.3694161883963716E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.9104499072759609E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7397197278087333E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8003600266733883E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0483171542527998E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4445334645406547E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9613644042237866E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5735857061827119E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2606138355408802E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0109912906841600E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.1177287114542196E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.5130123516610183E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2193804833677859E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1902037395402658E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3502089991088724E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6960655929997301E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1571633368466792E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7303936061807690E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3944401189291966E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1204370764517080E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 102 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.9839247152667667E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 121.00000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 28.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 170.00000000000000 - Time for GETMDF = 170.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.342707097538767 2.2324393466062808 17.949590649200296 5.5629924336733385 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8347721485502806 LUMO= -3.9812548071252101 - EGAP= 1.8535173414250705 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 10 - KON = 0 ... - Time get H 22.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0790271097165238E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.2950453553326522E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.0263012033358034E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5311780064590792E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5289273241348997E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8445121560959343E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3680027722346999E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0297237432597139E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.8501603059732972E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0487062280212278E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7015116120574518E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6801381741513595E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8967545554481333E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2901172432643335E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8166812873565696E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4448988313797706E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1515122609795370E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.1910613253309847E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.3446190348880336E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.8743116249759808E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7014871378037171E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7647217734804173E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0157535469310659E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4164801556869620E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9367080037246964E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5524417000145618E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2445695376950283E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.9784385645396156E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.0008421114996509E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.4155091148432319E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.1445022837270926E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1254214346864160E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3082853181376493E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6530475754071858E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1276143631343558E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7062606623152732E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3683637811734428E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0973896467092459E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.8008131537975487E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.0580884470317073E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.6604836196072483E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5396460923718962E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6407628445367379E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9198776840821949E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3417406613823744E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8780833088705151E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5062351921280026E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2080159805805124E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.6884543721031946E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.7703106171611580E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.2319541749289442E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.9981837335622004E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0086894470547918E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2151020734616509E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5786308865960450E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0681693246871191E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6587663465017499E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3304146673220885E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0670657024647312E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.5584925813009249E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.8644465667233590E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5057627346144500E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4160273215965162E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5419966959437943E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8409810060026075E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2787107756272462E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8277455104964702E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4660377356534582E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1759120344123630E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.4320840027251052E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.5655082198977652E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0685279024141892E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8677128994256691E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.9045300326279175E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1319435933596651E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5122792735032817E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0152213231483529E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6165735416961979E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2967182883016903E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0401945971239002E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.3442364129382440E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6942229537403364E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.3695492496785846E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3070436106518173E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4548586214100396E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7725599593964034E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2229773577464584E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7834622667578515E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4321210883849744E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1479706074624119E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.2130747475493990E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.3865358274360915E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.9310334421525113E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7544190806547704E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8211656061548638E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0635494141506570E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4609203563841220E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9693136010801027E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5742962489184720E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2618794897889529E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0149658891123181E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 102 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.1135098639606440E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 121.00000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 28.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 171.00000000000000 - Time for GETMDF = 171.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.403458447068978 2.2579240023078606 17.929488723261116 5.5614533974188864 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8305925254899469 LUMO= -3.9775522313753617 - EGAP= 1.8530402941145852 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 11 - KON = 0 ... - Time get H 22.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0244023134472524E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2650637906618272E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0769206863119347E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2592941704819847E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6856318884768129E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2753381066807901E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.7646914333582302E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.5507362349624962E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.8860079308153956E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.6180372826865046E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6417651271625218E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8833781997184005E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2900105638723467E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8231017981817921E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4540518993211293E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1613320634484836E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.2852876740101564E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.4299417841539039E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.9489658529088274E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7653933324065534E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8186337832035733E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0607786924985447E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4538175665833606E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9675134181884602E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5777643225023397E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2653289147568358E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0148281065269771E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.1395883915202916E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.5287218486975718E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2367978187195519E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2006112885850655E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3695048713422437E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7028690137154143E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1681436230824858E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7392193853993376E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3951577650939129E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1191658311204833E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.9777479739261423E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.2018151420216725E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.7772075101603093E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.6344188731062275E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7176955824946845E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9823155101027510E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3924039793676855E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9191838118715054E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5395712726906652E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2350490985468809E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.9076297610523056E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.9479762105094665E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.3759446389255459E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.1148591140304234E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1032151454345467E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2916683601058594E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6406378861310031E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1183764520316117E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6994126772473805E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3633150164338304E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0936910488368312E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.7739373544337695E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.0387513595449036E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.6467579501173759E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5300476703147297E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6341991638266791E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9155160508054223E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3389801206974425E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8764410025795542E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5053793767094703E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2077097100160472E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.6889896106233664E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.7730555325672412E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.2360228092472880E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.0030468656814264E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0138137258338702E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2201397104358875E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5834689942882960E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0727619620686255E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6629786436794802E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3341328042315581E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0703415931345717E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.5884632738952860E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.8896666149953489E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5281335065160420E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4345194183392778E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5586644742124918E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8553825970334401E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2919000031151882E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8375745369780816E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4743539722417154E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1830314505800743E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.4872998346318127E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.6194606180024493E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0997873418955351E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8987480738560407E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.9390712913700554E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1552538359846949E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5321966745650570E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0317081350640365E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6344703368531555E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3049561431444090E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0540457395791236E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.3888451740676828E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 99.000000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 20.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 141.00000000000000 - Time for GETMDF = 141.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.468266296797687 2.2852369122191525 17.908086904279639 5.5597836445870916 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8261259707631750 LUMO= -3.9735976195725402 - EGAP= 1.8525283511906347 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 12 - KON = 0 ... - Time get H 16.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6101827632020189E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6170403096543726E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9294762716841607E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4443472120317935E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0956219536546463E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.4050124189150033E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.5084142790139410E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.0783267753939931E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.9867833076612236E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1450831826895786E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4905653945972439E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9781355887582563E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5747692383882850E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2558932485173813E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0029647244591544E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.0647831566693640E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.4838450617887844E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2099907784430854E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1847101543091014E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3601804137806113E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6975037056731210E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1651540053957419E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7376470597740834E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3944225413231592E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1189166343905654E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.9779953065249885E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.2035259039981980E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.7796197980852781E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.6370842816667590E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7203569671628856E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9848316394076591E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3947043810146340E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9212403725710203E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5413804790309626E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2366215340620101E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.9211688420197675E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.9595436219825899E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.3857645771214777E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.1231505038273895E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1101798342602081E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2974943131591772E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6454938906184111E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1224083890380996E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7027486776122203E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3660655717728787E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0959528906617777E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.7924818981122144E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.0539169394479018E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.6591147767903749E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5401024051372474E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6423530413998151E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9221163488912794E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3442929375505628E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8807259305475554E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5088216009928601E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2104569790949427E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.7109016383711833E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.7905584205950618E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.2499512232250254E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.0139905560797615E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0224330533078501E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2269442673538151E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5887803012381028E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0768127217962729E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6660790524980484E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3365881734728191E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0722482901570629E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.6017704070684431E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.9005845482195127E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5357052275439855E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4408721144861829E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5624836414172023E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8579028032993392E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2926616161100810E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8391443923349016E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4752910004744990E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1835310509411556E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.4943608530684287E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.6166850604408864E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.1095573045122364E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.9008797020633210E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.9313441391186643E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1535662969872646E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5296875705294042E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0305312986579338E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6286305637436271E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3055334591172141E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0467182676165976E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.4010576273385595E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.7339467335614245E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.4078963529491375E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3391956694449618E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4812153160146408E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7964297544258443E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2446489111871415E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8003376567321538E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4395151737289780E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1635137298071641E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.2792440398170584E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 84.000000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 20.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 120.00000000000000 - Time for GETMDF = 120.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.537105990300592 2.3143859114247722 17.885399505578739 5.5579792301810338 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8213724934158764 LUMO= -3.9693908117964840 - EGAP= 1.8519816816193924 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 13 - KON = 0 ... - Time get H 15.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.9380658018798336E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4534066900638880E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8950121011903640E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9096509381832938E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2804414621876425E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.7389532735038244E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0758550223405372E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3040060246735123E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1047781157944598E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2782047521685556E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6977485263702796E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2825306380626067E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.8023583692041782E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.5655294825338615E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.8862389608949073E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.6095717437077965E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6286115361106042E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8681836639510294E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2744528179519108E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8081864376240375E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4403307733834581E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1490596796726038E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.2357541103815777E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.4216409906568970E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.9606237803322415E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7852920053159664E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8405667499574747E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0816682270451423E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4723218479127951E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9832208271175489E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5907342174603656E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2758351815023161E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0232202893867282E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.2059059924866062E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.5806754556696490E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2771999747847076E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2318239334981911E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3934677778901801E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7211518482950225E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1820019324714224E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7496491766522126E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4078980692389109E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1386345288855182E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.2085606251401941E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.4472972455552622E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0229562781621837E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8711184641447858E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.9396614304187949E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1864218930088839E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5772973200055560E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0847042980776109E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6863402785283199E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3641694440735819E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1036083491511306E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.9286668059074259E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.2241074233758695E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.8453214490938876E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7299937300238071E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8277154779109424E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0977604925652713E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5071801301734808E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0293324798359436E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6426674465108704E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3297685175217566E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0765468516638066E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.7160656470075537E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.0572947485914028E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.7145554954729505E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.6277526255522616E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7477632108817716E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0354441182822711E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4586344071764188E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9915613602705662E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6133350211333664E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3070178273011379E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0590306409596906E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.5802920324340448E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.9527716917150428E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.6343485432819307E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5655257352450462E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7013170306465781E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0000446571420980E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4318880242901741E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9716339672015692E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5980661238756966E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2960299500264227E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0509260128799269E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.5209617139980764E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.8968164512739349E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.6017412930486898E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5383696800627149E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6861624863604447E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9920510513647969E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4277246879478298E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9714230248268905E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6037171590710386E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2961853812498703E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0582645870726992E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.4909856923331972E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 85.000000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 20.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 120.00000000000000 - Time for GETMDF = 120.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.609950749620715 2.3453789870091533 17.861441879155276 5.5560359970604951 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8163321427609969 LUMO= -3.9649316739067570 - EGAP= 1.8514004688542398 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 14 - KON = 0 ... - Time get H 15.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.7526362801672040E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.9767182338175129E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6687462576698859E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2567261495776147E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3917972545074431E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.6116279022796505E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.3498059585010971E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4636238048368906E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5576726717113640E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8986151009092733E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4170302955052172E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0634610614324025E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.0258254788634353E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0909234998240969E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.6481028350586762E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5662889261600661E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7506282271883009E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1322022606296009E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6607195903683980E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2993120048987450E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0208198917394107E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.0513341306209796E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.3728366497262101E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.0606776766937145E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0305495709880290E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2186531707667498E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5764414138818026E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0667717044453582E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6610758182267205E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3372679333878423E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0781902061163251E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.7045154828491178E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.0355537340471841E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.6924076119457823E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.6098213335454830E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7577613265504795E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0750689650194118E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5150615712288271E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0561040414701637E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6802492475154196E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3726492542609492E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1210475336920211E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.1534617885358216E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.4723847443003422E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0990056782728175E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 4.9773261401320212E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0614447693876343E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3137564470209213E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7034818605997657E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2054409742899850E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7990450018601223E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4674644388534830E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1969506941156283E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.7627189665772107E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.9626032434276794E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.4942892175068323E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2966561137068879E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3198373766983877E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5231518813461093E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8733909696043725E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3480003497056146E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9201074064056911E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5701566713488546E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2839536100983651E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0498962810245871E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.5849749531519137E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.0196037871284034E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.7396509767215775E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.6929737873568911E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8370795429898408E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1371161224313937E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5648583257265045E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0969659342284785E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7144197173024622E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4015466565098222E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1457768067657526E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.3664520584013644E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.6573414276026597E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.2599925243489452E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.1164517067547877E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1825987118215835E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4188873954121846E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7944424552117653E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2846058378434009E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8671508783540958E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5259016272750614E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2473688748571021E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0197065414274675E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.3317797106019498E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.8121064344950355E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5707660706616480E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5488057764941914E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7182479317721118E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0366820169547282E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4843460622037128E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0297097336197112E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6564527527407336E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3533618670180658E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1097789354153065E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.0327745283502736E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 82.000000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 21.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 118.00000000000000 - Time for GETMDF = 118.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.686771590638671 2.3782242186242653 17.836230433088293 5.5539495829127059 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8110050148531647 LUMO= -3.9602201035765905 - EGAP= 1.8507849112765742 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 15 - KON = 0 ... - Time get H 16.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2734690781073255E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.8820079613111105E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 4.9075432715786071E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0786100816153628E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9494916898641357E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2487815414905512E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.1103345149391437E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.3525762971062818E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5970220595671343E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6807133716222342E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0460855021220414E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5702035178832841E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2113700147453610E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 9.3927950384320447E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.3181389851240120E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.7275795451561251E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5016695222166447E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5519751366952512E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8126782173898413E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2345257697398146E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7804558731238096E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4224235972193355E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1390883491668724E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.1412140434954381E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.3496151227203654E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.9189536018022793E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7737456844165749E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8550561003436457E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1166677958438527E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5221893267257656E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0428583229481490E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6558640651975765E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3430595088292918E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0899673289488376E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.8500858852480491E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.1890173725108752E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.8419187798364192E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7488070531453985E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8613437580714560E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1405207312484862E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5548216153747916E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0787563026480882E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6916892786600357E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3769017670473005E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1208388805972191E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.1250432210365773E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.4297244245791205E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0499483978126989E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.9268334523233648E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0125251121736483E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2681222728037085E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6619940363126204E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1684130824262127E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7664479434742475E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4390706293276878E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1724234139087741E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.5522748599918827E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.7830231148823259E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.3417215923067261E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.1675469459055989E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2109262743394993E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4315131847151292E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7964727200568973E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2790347387058318E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8573966809043441E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5138225117894422E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2338325916516624E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0056740995523228E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.1971851528805928E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6817740229652145E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.4466198218250383E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4400227938723447E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6194591768179407E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9506808107981897E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4054824798724894E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9611112733741720E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5989376489500273E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3036161039536864E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0628775637400167E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.6663010101517557E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.0660921558385326E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.7623461557909650E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.6981307733062749E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8315572936653552E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1244784537420855E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5479618415147343E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0775492437508092E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6945223002551302E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3818834965206861E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1271539257506902E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.1882057517977955E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.4977801745035322E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.1121108174688743E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.9840132021472527E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 4.0749625895841746E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3170133306725802E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7113866707395573E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2044588376957108E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7975620991705910E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4660495040175192E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1954881529163686E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 102 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.7144514654701197E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 87.000000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 20.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 123.00000000000000 - Time for GETMDF = 123.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.767537235066232 2.4129297210731311 17.809782649035924 5.5517154278530780 - Writing trajectory into trajectory.xyz ... - HOMO= -5.8053912593467443 LUMO= -3.9552560366809097 - EGAP= 1.8501352226658345 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 16 - KON = 0 ... - Time get H 16.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5333805648860777E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.6241752464352182E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0970372584363552E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.9066106711702631E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5372342830056738E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6739946099912917E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1241995219881673E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.6965694793873496E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.3764649065235481E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8324642069631487E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7856423413274989E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1130768888599771E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6427182030409604E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2827536661175198E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0058505624899183E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.9178061904716657E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.2549778739096062E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.9575222736408797E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.9408762926407270E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1411324045160782E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5097326694534239E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0095850516876901E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6122079693148272E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2956208536585301E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0427780202104664E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.4039988783590758E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.7809611663527392E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.4770419258831637E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4278781693440905E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5825447012305389E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9006226878180996E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3499412888927651E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9048293363743696E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5447552905722972E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2532647389873475E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0171468379782667E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.2577788740323399E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.7060248387651455E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.4472228894208996E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4256888431792873E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5964308531255540E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9230647446976121E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3761459622129166E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9318300747972472E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5707965195232987E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2773827962053730E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0388862936583365E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.4500054287062198E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.8736079161801911E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5917604657729214E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5493140476970950E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7014766696152890E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0118531890721556E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4508753804219907E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9945060159010097E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6232128752236008E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3211157168235843E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0753001600249945E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.7527045611324183E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.1248862365536070E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.8001065061930035E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7218765564238652E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8442887762002442E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1299586256139378E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5484787613549997E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0751226292858860E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6897659937953335E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3760379502514297E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1206039429723091E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.1263308021893863E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.4329153942898074E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0539151469640728E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.9310311389660910E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0165692993809898E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2719005282899616E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6653435014623028E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1713597586625610E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7689738562864932E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4412404603092455E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1742762318078803E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.5671137678721152E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.7952977406425816E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.3529514982008095E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.1764370567752849E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2176484527089997E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4384162184153411E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8014479624971500E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2832735702138507E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8615331498494925E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5171863765317539E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2363332579923281E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0078049506034858E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.2134299361769081E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6924243924404436E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.4606319466188324E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4467762805311395E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6266545322405364E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9558577807620168E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4146240562572530E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9767520953450912E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6070478281449141E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 102 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3108403251749223E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 103 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0668133043623129E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 104 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.7041485130612273E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 88.000000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 19.000000000000000 - Time getdeltaq 1.0000000000000000 - Time for GETMDF 124.00000000000000 - Time for GETMDF = 124.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.852214018356442 2.4495035839482422 17.782117099998853 5.5493287827011564 - Writing trajectory into trajectory.xyz ... - HOMO= -5.7994910867822735 LUMO= -3.9500394540839707 - EGAP= 1.8494516326983028 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 17 - KON = 0 ... - Time get H 15.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6526505443531292E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0472521076578811E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.7115334838678820E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3594199407641643E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8761631258169551E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9312222529166423E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3217631317439249E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.2292470317145714E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.5753580630834030E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7765519258446965E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5330535267874552E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6558701705470256E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0246349438535205E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5617370546117115E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2163993233871295E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.5483987999855913E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.5416252574678211E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.9853803468845612E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7679777638309773E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8090184197869803E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0495174303757366E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4454469682355651E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9634414512248455E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5778869386640082E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2689087828254841E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0209514381021023E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.2175570241815876E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6160797973502383E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.3493642238056083E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3290042103238946E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5054153431079982E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8400399887384964E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3020502081250171E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8667489288803907E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5143155626118343E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2288180049058184E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.9743187609302453E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.0982160055587116E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.5764833434567294E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.3417773437924865E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3396671167705847E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5261251885021494E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8655165618118872E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3289819395255762E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8931380740827564E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5390299101802896E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2512862490599019E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0174377584881711E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.2736648088221898E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.7285951144135936E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.4724955900198324E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4512193597689986E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6207925435682853E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9454944150408835E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3963019013528708E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9496319003664553E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5863192981413476E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2907880209134248E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0503761416202906E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.5478956135531803E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.9566300497925226E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.6619061661322689E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.6084004390323230E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7511227457542873E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0534839101648004E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4857230718211554E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0236395892325731E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6475396602544379E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3414056532212726E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0922125426304774E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.8936136233286334E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.2422268182492644E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.8977367434209782E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8031245647450760E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.9117298289426117E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1860070137668117E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5950697146726043E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1137747108213034E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7218615422365247E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4027012884554324E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1427092605487132E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.3096752529220339E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.5851880332322708E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.1809668494561265E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.0356940839435538E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1031178454886685E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3440028524012178E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7256086276850056E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2205570715527756E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8097634502112214E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4756418309502806E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2023715356690445E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.7961638800825313E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.9865003499435261E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.5124572401487058E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.3137494404609242E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3223202794706594E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5279557053513599E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8745894553594553E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3435697826812429E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9083623570281816E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 102 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5561996136170819E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 103 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2803091919977305E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 104 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0386136395368339E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 105 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.4277029799295633E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 90.000000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 20.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 125.00000000000000 - Time for GETMDF = 126.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -29.940765794365934 2.4879538048801799 17.753253468006957 5.5467847179593992 - Writing trajectory into trajectory.xyz ... - HOMO= -5.7933047762763641 LUMO= -3.9445703887990522 - EGAP= 1.8487343874773119 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 18 - KON = 0 ... - Time get H 15.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6220076416131990E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0359992809599206E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.7017460645424354E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4002593676741864E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9384517457204939E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9991506103538281E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3872231323923678E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.8216879489854136E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.0922085952918046E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2170845908428021E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.9027646915790193E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9628567317208088E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2776357820575299E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7691329286928514E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3857547699180905E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0927433725149704E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.6622368644428960E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.8946130323821464E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5048755110975733E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4057483945314502E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5324425015303973E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8360912648794923E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2793299610857076E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8332596424031067E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4753191383887199E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1877628629530790E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.5655047829268369E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.7052232005936361E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.2077713143260382E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.0019601733897190E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0307404058914642E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2483245204772970E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6179222623046172E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1099478701991359E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7005946730819232E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3706974975047359E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1048226791210425E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.9053862950549956E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.1783004695902264E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.7908037509601940E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7046542162032523E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8228174725762898E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1067077121971209E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5250674595689304E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0525646216018600E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6686607828830802E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3566986101221090E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1031633806446450E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.9708806605415248E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.2956984564775951E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.9338076674464446E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8265103136380105E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.9261309203730832E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1939427214133786E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5984774554288492E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1141694173110182E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7202394952953171E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3997966341605661E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1391168452945521E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.2703859033704816E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.5449000380700681E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.1409314300320261E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.9985130479157647E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0688591385062978E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3122905529481272E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6965569777104292E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1953990847478622E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7874924873595432E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 1.4554435434632751E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1851494230441517E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.6510677227712449E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.8595963071137476E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.4010063915986848E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2133475314519728E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2463033089745750E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4588032438165328E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8174818034187865E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2953128286928859E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8698798065486244E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5233969641315070E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2412049166243833E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0113676562895080E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.2405526846685007E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.7158167915692957E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.4722226749959191E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4610648508580653E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6349367960042400E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9624747099887827E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4141355581264179E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9682588892067088E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6041945549716274E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3078871319294194E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0667133842900967E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.6958218403765386E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.0858874323675991E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.7848170698093782E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7059023344786510E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8409275759931916E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1292746172084662E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5588420271560608E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0818902157770935E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 102 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6979750938617144E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 103 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3901102491331585E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 104 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1295409052536343E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 105 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.2292840037089263E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 88.000000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 19.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 122.00000000000000 - Time for GETMDF = 122.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -30.033153837121802 2.5282882188005411 17.723212561532240 5.5440781335168730 - Writing trajectory into trajectory.xyz ... - HOMO= -5.7868326836069377 LUMO= -3.9388489335163421 - EGAP= 1.8479837500905956 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 19 - KON = 0 ... - Time get H 15.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4452306164462136E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.3028051595749339E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0722843244838121E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0277989734323061E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7200052979032829E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 1.8726573259049140E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3153445381703932E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.4249150174108287E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.8833316176908355E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.1162013369743242E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8625610177267511E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9555541567827248E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2871237282817702E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7862342465302383E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4053833079064049E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1122028101140380E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.8419374772330528E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.0539715707029771E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.6426691488198344E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5229304526994696E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6309725763628009E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9182845435071769E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3475100939363003E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8895866805257455E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5217163635616870E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2258977509338465E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.8784377395855216E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.9617032071599425E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.4177890204408783E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.1738105864007622E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1712819325301354E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3632105156389258E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7118024037431354E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1866400485848203E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7632298399128388E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4218409196686821E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1465745997085719E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.2461755052397621E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.4564156826717465E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0132069679141864E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8494259252684913E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.9109552818494819E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1541618183972275E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5438647921482982E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0516977228268729E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6547878534112215E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3392848963178494E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0891866719653365E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.8587085556035561E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.2056839495182601E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.8615852061016938E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7685756010551472E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8796691081977031E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1566910307923024E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5686212490327875E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0902470865280520E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7010787889404355E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3844571045140697E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1268392552388207E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.1721759076790477E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.4663762950066825E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0781883970406625E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.9484035757885181E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0288561375945164E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2803735283692959E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6711083345176689E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1751325185448422E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7713506217376107E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4426124739230772E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1749403672212111E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.5700058988512637E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.7953066224267786E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.3500205094157991E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.1729842631687006E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2143255551962966E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4336200549489604E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7976876371127446E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2795987320023414E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8575452287450389E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5137302522560958E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2335665822149622E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0053990973091231E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.1944118157650792E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6800565079461194E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.4443782815383202E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4377279628804445E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6178282591947664E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9505620169345548E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4045987423448878E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9610646440071378E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5984213952435766E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3039125335012614E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0624945367965211E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.6690654654830723E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.0711214661400845E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.7618354531996374E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7054582452688010E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8368197508020785E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1332714200971168E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5520696667058473E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0842216841288064E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 102 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6948664693927640E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 103 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3872236692691331E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 104 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1330936189324348E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 105 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.2359453418566773E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 86.000000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 21.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 122.00000000000000 - Time for GETMDF = 122.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -30.129336740080504 2.5705144232148416 17.692016332465844 5.5412037691306244 - Writing trajectory into trajectory.xyz ... - HOMO= -5.7800752497006238 LUMO= -3.9328752484988860 - EGAP= 1.8472000012017378 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - Inside MDON= 1 and RELAXME= 0 ... - LIBCALLS 20 - KON = 0 ... - Time get H 15.000000000000000 - XBOON .GT. 0 .AND. CURRITER .GT. 1 .AND. SWITCH .NE. 0 ... - Doing XBO ... - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1387614565108395E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.3988203278099185E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8812195788485724E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2763204154802050E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2408954968884398E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5633437176996168E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1126974720780947E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.0749151223957760E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.9673200422705186E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4824535678578137E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4153236394840469E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6337566802991930E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0513186982418219E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6105593461035461E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2725935514845688E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0105835647000738E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.0562923287619270E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.4415141086238137E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.1620616199121727E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1438321286557667E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3307434443852202E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6797854630888907E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1576067794404352E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7381118831982789E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4007352641343118E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1291776556676680E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.1046423134066856E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.3423170234843127E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.9218143697581382E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7765524289200556E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8530333297259745E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1082255298464645E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5074883713838148E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0229194128695838E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6320338933617506E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3167071912789652E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0623258830388949E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.5710559005747200E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.9154220816436407E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5797001974333682E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5020565808684410E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6326137564657301E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9311359250883129E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3651651925860051E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9085174307598152E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5400693231804041E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2427800322178939E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0029018282509128E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.0934395185749963E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.5315854724801170E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2712704423640844E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2542541489609675E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4601156273517120E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8159811926720124E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2919243503061182E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8655272326917327E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5185640189763205E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2362139090171809E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0064296618317314E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.1941093910131713E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6718813807042920E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.4327867760051163E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4240952012941648E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6029206285093096E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9343439900131330E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3899804357796484E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9467173428822093E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5857674062758065E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2918230929415131E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0524278115653374E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.5744289446409994E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.9862970963896487E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.6925808511465448E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.6387971242012327E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7802383445750820E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0807989492842580E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5108781720462048E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0465473760111763E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6681378500749133E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3598089321220641E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1085510287500711E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.0375817940469005E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.3680062051550976E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0075056040886921E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8983594957974219E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.9939607177075231E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2569946739613442E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6561863819551945E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1664114946418067E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7664980589415791E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4414691662523182E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1755041384731157E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.5889962636874770E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.8207440523669902E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.3860028376439004E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2050586063501214E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2466030691912238E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4657832159723512E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8368418725222000E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3094859358252506E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8796075806903900E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 102 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5413226250871048E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 103 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 0.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 0.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2572165530855273E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 104 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0201839373280563E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 105 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.2966966630237948E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 87.000000000000000 - Getting forces ... - Time for GETMDF-GETFORCE 20.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 122.00000000000000 - Time for GETMDF = 122.00000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -30.229270313268373 2.6146396994579257 17.659687892461083 5.5381562157147517 - Writing trajectory into trajectory.xyz ... - HOMO= -5.7730330095148288 LUMO= -3.9266495698409383 - EGAP= 1.8463834396738905 diff --git a/examples/QUANTUM/LATTE/log.8Sep22.series.lammps.mpi.1 b/examples/QUANTUM/LATTE/log.8Sep22.series.lammps.mpi.1 deleted file mode 100644 index f1f72289e3..0000000000 --- a/examples/QUANTUM/LATTE/log.8Sep22.series.lammps.mpi.1 +++ /dev/null @@ -1,263 +0,0 @@ -LAMMPS (23 Jun 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Series of single-point calcs of 2,3,4 UO2 molecules -# with LATTE in MDI stand-alone mode - -variable files index 2uo2 3uo2 4uo2 - -mdi connect - -label LOOP - - units metal - atom_style full - atom_modify sort 0 0.0 - - read_data ${files}.lmp - read_data 2uo2.lmp -Reading data file ... - triclinic box = (0 0 0) to (10.8 5.4 5.4) with tilt (3.3065464e-16 3.3065464e-16 3.3065464e-16) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 6 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.003 seconds - - neighbor 0.3 bin - neigh_modify every 1 delay 0 check yes - - timestep 0.001 - - fix 1 all mdi/qm virial yes elements 92 8 connect no - - thermo_style custom step temp pe etotal press - thermo 1 - - run 0 -WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 0 - ghost atom cutoff = 0 - binsize = 10.8, bins = 1 1 1 - 0 neighbor lists, perpetual/occasional/extra = 0 0 0 -WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:210) -Per MPI rank memory allocation (min/avg/max) = 5.238 | 5.238 | 5.238 Mbytes - Step Temp PotEng TotEng Press - 0 0 -50.539035 -50.539035 -120855.2 -Loop time of 1.397e-06 on 1 procs for 0 steps with 6 atoms - -71.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0 | 0 | 0 | 0.0 | 0.00 -Bond | 0 | 0 | 0 | 0.0 | 0.00 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0 | 0 | 0 | 0.0 | 0.00 -Output | 0 | 0 | 0 | 0.0 | 0.00 -Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 1.397e-06 | | |100.00 - -Nlocal: 6 ave 6 max 6 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 2 ave 2 max 2 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 0 -Neighbor list builds = 0 -Dangerous builds = 0 - - write_dump all custom dump.series.mpi.${files} id type x y z fx fy fz modify sort id - write_dump all custom dump.series.mpi.2uo2 id type x y z fx fy fz modify sort id - - clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task - -next files - -jump SELF LOOP - - units metal - atom_style full - atom_modify sort 0 0.0 - - read_data ${files}.lmp - read_data 3uo2.lmp -Reading data file ... - triclinic box = (0 0 0) to (16.2 5.4 5.4) with tilt (3.3065464e-16 3.3065464e-16 3.3065464e-16) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 9 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.002 seconds - - neighbor 0.3 bin - neigh_modify every 1 delay 0 check yes - - timestep 0.001 - - fix 1 all mdi/qm virial yes elements 92 8 connect no - - thermo_style custom step temp pe etotal press - thermo 1 - - run 0 -WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 0 - ghost atom cutoff = 0 - binsize = 16.2, bins = 1 1 1 - 0 neighbor lists, perpetual/occasional/extra = 0 0 0 -WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:210) -Per MPI rank memory allocation (min/avg/max) = 5.238 | 5.238 | 5.238 Mbytes - Step Temp PotEng TotEng Press - 0 0 -78.155679 -78.155679 -99931.431 -Loop time of 1.117e-06 on 1 procs for 0 steps with 9 atoms - -89.5% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0 | 0 | 0 | 0.0 | 0.00 -Bond | 0 | 0 | 0 | 0.0 | 0.00 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0 | 0 | 0 | 0.0 | 0.00 -Output | 0 | 0 | 0 | 0.0 | 0.00 -Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 1.117e-06 | | |100.00 - -Nlocal: 9 ave 9 max 9 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 3 ave 3 max 3 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 0 -Neighbor list builds = 0 -Dangerous builds = 0 - - write_dump all custom dump.series.mpi.${files} id type x y z fx fy fz modify sort id - write_dump all custom dump.series.mpi.3uo2 id type x y z fx fy fz modify sort id - - clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task - -next files - -jump SELF LOOP - - units metal - atom_style full - atom_modify sort 0 0.0 - - read_data ${files}.lmp - read_data 4uo2.lmp -Reading data file ... - triclinic box = (0 0 0) to (10.8 10.8 5.4) with tilt (6.6130927e-16 3.3065464e-16 3.3065464e-16) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 12 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.001 seconds - - neighbor 0.3 bin - neigh_modify every 1 delay 0 check yes - - timestep 0.001 - - fix 1 all mdi/qm virial yes elements 92 8 connect no - - thermo_style custom step temp pe etotal press - thermo 1 - - run 0 -WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 0 - ghost atom cutoff = 0 - binsize = 10.8, bins = 1 1 1 - 0 neighbor lists, perpetual/occasional/extra = 0 0 0 -WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:210) -Per MPI rank memory allocation (min/avg/max) = 5.238 | 5.238 | 5.238 Mbytes - Step Temp PotEng TotEng Press - 0 0 -102.35713 -102.35713 -31036.168 -Loop time of 1.466e-06 on 1 procs for 0 steps with 12 atoms - -136.4% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0 | 0 | 0 | 0.0 | 0.00 -Bond | 0 | 0 | 0 | 0.0 | 0.00 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0 | 0 | 0 | 0.0 | 0.00 -Output | 0 | 0 | 0 | 0.0 | 0.00 -Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 1.466e-06 | | |100.00 - -Nlocal: 12 ave 12 max 12 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 5 ave 5 max 5 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 0 -Neighbor list builds = 0 -Dangerous builds = 0 - - write_dump all custom dump.series.mpi.${files} id type x y z fx fy fz modify sort id - write_dump all custom dump.series.mpi.4uo2 id type x y z fx fy fz modify sort id - - clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task - -next files - -jump SELF LOOP - -mdi exit -Total wall time: 0:00:02 diff --git a/examples/QUANTUM/LATTE/log.8Sep22.series.lammps.mpi.2 b/examples/QUANTUM/LATTE/log.8Sep22.series.lammps.mpi.2 deleted file mode 100644 index 590fa8e18a..0000000000 --- a/examples/QUANTUM/LATTE/log.8Sep22.series.lammps.mpi.2 +++ /dev/null @@ -1,263 +0,0 @@ -LAMMPS (23 Jun 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Series of single-point calcs of 2,3,4 UO2 molecules -# with LATTE in MDI stand-alone mode - -variable files index 2uo2 3uo2 4uo2 - -mdi connect - -label LOOP - - units metal - atom_style full - atom_modify sort 0 0.0 - - read_data ${files}.lmp - read_data 2uo2.lmp -Reading data file ... - triclinic box = (0 0 0) to (10.8 5.4 5.4) with tilt (3.3065464e-16 3.3065464e-16 3.3065464e-16) - 2 by 1 by 1 MPI processor grid - reading atoms ... - 6 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.004 seconds - - neighbor 0.3 bin - neigh_modify every 1 delay 0 check yes - - timestep 0.001 - - fix 1 all mdi/qm virial yes elements 92 8 connect no - - thermo_style custom step temp pe etotal press - thermo 1 - - run 0 -WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 0 - ghost atom cutoff = 0 - binsize = 10.8, bins = 1 1 1 - 0 neighbor lists, perpetual/occasional/extra = 0 0 0 -WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:210) -Per MPI rank memory allocation (min/avg/max) = 5.234 | 5.236 | 5.238 Mbytes - Step Temp PotEng TotEng Press - 0 0 -50.539035 -50.539035 -120855.2 -Loop time of 1.956e-06 on 2 procs for 0 steps with 6 atoms - -127.8% CPU use with 2 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0 | 0 | 0 | 0.0 | 0.00 -Bond | 0 | 0 | 0 | 0.0 | 0.00 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0 | 0 | 0 | 0.0 | 0.00 -Output | 0 | 0 | 0 | 0.0 | 0.00 -Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 1.956e-06 | | |100.00 - -Nlocal: 3 ave 6 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Nghost: 1 ave 2 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 2 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 0 -Neighbor list builds = 0 -Dangerous builds = 0 - - write_dump all custom dump.series.mpi.${files} id type x y z fx fy fz modify sort id - write_dump all custom dump.series.mpi.2uo2 id type x y z fx fy fz modify sort id - - clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task - -next files - -jump SELF LOOP - - units metal - atom_style full - atom_modify sort 0 0.0 - - read_data ${files}.lmp - read_data 3uo2.lmp -Reading data file ... - triclinic box = (0 0 0) to (16.2 5.4 5.4) with tilt (3.3065464e-16 3.3065464e-16 3.3065464e-16) - 2 by 1 by 1 MPI processor grid - reading atoms ... - 9 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.001 seconds - - neighbor 0.3 bin - neigh_modify every 1 delay 0 check yes - - timestep 0.001 - - fix 1 all mdi/qm virial yes elements 92 8 connect no - - thermo_style custom step temp pe etotal press - thermo 1 - - run 0 -WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 0 - ghost atom cutoff = 0 - binsize = 16.2, bins = 1 1 1 - 0 neighbor lists, perpetual/occasional/extra = 0 0 0 -WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:210) -Per MPI rank memory allocation (min/avg/max) = 5.234 | 5.236 | 5.238 Mbytes - Step Temp PotEng TotEng Press - 0 0 -78.155679 -78.155679 -99931.431 -Loop time of 2.375e-06 on 2 procs for 0 steps with 9 atoms - -147.4% CPU use with 2 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0 | 0 | 0 | 0.0 | 0.00 -Bond | 0 | 0 | 0 | 0.0 | 0.00 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0 | 0 | 0 | 0.0 | 0.00 -Output | 0 | 0 | 0 | 0.0 | 0.00 -Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 2.375e-06 | | |100.00 - -Nlocal: 4.5 ave 9 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Nghost: 1.5 ave 3 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 2 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 0 -Neighbor list builds = 0 -Dangerous builds = 0 - - write_dump all custom dump.series.mpi.${files} id type x y z fx fy fz modify sort id - write_dump all custom dump.series.mpi.3uo2 id type x y z fx fy fz modify sort id - - clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task - -next files - -jump SELF LOOP - - units metal - atom_style full - atom_modify sort 0 0.0 - - read_data ${files}.lmp - read_data 4uo2.lmp -Reading data file ... - triclinic box = (0 0 0) to (10.8 10.8 5.4) with tilt (6.6130927e-16 3.3065464e-16 3.3065464e-16) - 1 by 2 by 1 MPI processor grid - reading atoms ... - 12 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.002 seconds - - neighbor 0.3 bin - neigh_modify every 1 delay 0 check yes - - timestep 0.001 - - fix 1 all mdi/qm virial yes elements 92 8 connect no - - thermo_style custom step temp pe etotal press - thermo 1 - - run 0 -WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 0 - ghost atom cutoff = 0 - binsize = 10.8, bins = 1 1 1 - 0 neighbor lists, perpetual/occasional/extra = 0 0 0 -WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:210) -Per MPI rank memory allocation (min/avg/max) = 5.238 | 5.238 | 5.238 Mbytes - Step Temp PotEng TotEng Press - 0 0 -102.35713 -102.35713 -31036.168 -Loop time of 2.4445e-06 on 2 procs for 0 steps with 12 atoms - -122.7% CPU use with 2 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0 | 0 | 0 | 0.0 | 0.00 -Bond | 0 | 0 | 0 | 0.0 | 0.00 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0 | 0 | 0 | 0.0 | 0.00 -Output | 0 | 0 | 0 | 0.0 | 0.00 -Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 2.444e-06 | | |100.00 - -Nlocal: 6 ave 6 max 6 min -Histogram: 2 0 0 0 0 0 0 0 0 0 -Nghost: 2.5 ave 4 max 1 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 2 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 0 -Neighbor list builds = 0 -Dangerous builds = 0 - - write_dump all custom dump.series.mpi.${files} id type x y z fx fy fz modify sort id - write_dump all custom dump.series.mpi.4uo2 id type x y z fx fy fz modify sort id - - clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task - -next files - -jump SELF LOOP - -mdi exit -Total wall time: 0:00:08 diff --git a/examples/QUANTUM/LATTE/log.8Sep22.series.lammps.plugin b/examples/QUANTUM/LATTE/log.8Sep22.series.lammps.plugin deleted file mode 100644 index 374518d018..0000000000 --- a/examples/QUANTUM/LATTE/log.8Sep22.series.lammps.plugin +++ /dev/null @@ -1,256 +0,0 @@ -LAMMPS (23 Jun 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Series of single-point calcs of 2,3,4 UO2 molecules -# with LATTE in MDI plugin mode - -variable files index 2uo2 3uo2 4uo2 - -label LOOP - - units metal - atom_style full - atom_modify sort 0 0.0 - - read_data ${files}.lmp - read_data 2uo2.lmp -Reading data file ... - triclinic box = (0 0 0) to (10.8 5.4 5.4) with tilt (3.3065464e-16 3.3065464e-16 3.3065464e-16) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 6 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.004 seconds - - neighbor 0.3 bin - neigh_modify every 1 delay 0 check yes - - fix 1 all mdi/qm virial yes elements 92 8 - - thermo_style custom step temp pe etotal press - thermo 1 - - mdi plugin latte_mdi mdi "-role ENGINE -name LATTE -method LINK" command "run 0" -run 0 -WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 0 - ghost atom cutoff = 0 - binsize = 10.8, bins = 1 1 1 - 0 neighbor lists, perpetual/occasional/extra = 0 0 0 -WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:210) -Per MPI rank memory allocation (min/avg/max) = 5.238 | 5.238 | 5.238 Mbytes - Step Temp PotEng TotEng Press - 0 0 -50.539035 -50.539035 -120855.2 -Loop time of 1.396e-06 on 1 procs for 0 steps with 6 atoms - -143.3% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0 | 0 | 0 | 0.0 | 0.00 -Bond | 0 | 0 | 0 | 0.0 | 0.00 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0 | 0 | 0 | 0.0 | 0.00 -Output | 0 | 0 | 0 | 0.0 | 0.00 -Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 1.396e-06 | | |100.00 - -Nlocal: 6 ave 6 max 6 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 2 ave 2 max 2 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 0 -Neighbor list builds = 0 -Dangerous builds = 0 - - write_dump all custom dump.series.plugin.${files} id type x y z fx fy fz modify sort id - write_dump all custom dump.series.plugin.2uo2 id type x y z fx fy fz modify sort id - - clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task - -next files - -jump SELF LOOP - - units metal - atom_style full - atom_modify sort 0 0.0 - - read_data ${files}.lmp - read_data 3uo2.lmp -Reading data file ... - triclinic box = (0 0 0) to (16.2 5.4 5.4) with tilt (3.3065464e-16 3.3065464e-16 3.3065464e-16) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 9 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.002 seconds - - neighbor 0.3 bin - neigh_modify every 1 delay 0 check yes - - fix 1 all mdi/qm virial yes elements 92 8 - - thermo_style custom step temp pe etotal press - thermo 1 - - mdi plugin latte_mdi mdi "-role ENGINE -name LATTE -method LINK" command "run 0" -run 0 -WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 0 - ghost atom cutoff = 0 - binsize = 16.2, bins = 1 1 1 - 0 neighbor lists, perpetual/occasional/extra = 0 0 0 -WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:210) -Per MPI rank memory allocation (min/avg/max) = 5.238 | 5.238 | 5.238 Mbytes - Step Temp PotEng TotEng Press - 0 0 -78.155679 -78.155679 -99931.431 -Loop time of 1.117e-06 on 1 procs for 0 steps with 9 atoms - -89.5% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0 | 0 | 0 | 0.0 | 0.00 -Bond | 0 | 0 | 0 | 0.0 | 0.00 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0 | 0 | 0 | 0.0 | 0.00 -Output | 0 | 0 | 0 | 0.0 | 0.00 -Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 1.117e-06 | | |100.00 - -Nlocal: 9 ave 9 max 9 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 3 ave 3 max 3 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 0 -Neighbor list builds = 0 -Dangerous builds = 0 - - write_dump all custom dump.series.plugin.${files} id type x y z fx fy fz modify sort id - write_dump all custom dump.series.plugin.3uo2 id type x y z fx fy fz modify sort id - - clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task - -next files - -jump SELF LOOP - - units metal - atom_style full - atom_modify sort 0 0.0 - - read_data ${files}.lmp - read_data 4uo2.lmp -Reading data file ... - triclinic box = (0 0 0) to (10.8 10.8 5.4) with tilt (6.6130927e-16 3.3065464e-16 3.3065464e-16) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 12 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.001 seconds - - neighbor 0.3 bin - neigh_modify every 1 delay 0 check yes - - fix 1 all mdi/qm virial yes elements 92 8 - - thermo_style custom step temp pe etotal press - thermo 1 - - mdi plugin latte_mdi mdi "-role ENGINE -name LATTE -method LINK" command "run 0" -run 0 -WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 0 - ghost atom cutoff = 0 - binsize = 10.8, bins = 1 1 1 - 0 neighbor lists, perpetual/occasional/extra = 0 0 0 -WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:210) -Per MPI rank memory allocation (min/avg/max) = 5.238 | 5.238 | 5.238 Mbytes - Step Temp PotEng TotEng Press - 0 0 -102.35713 -102.35713 -31036.168 -Loop time of 1.048e-06 on 1 procs for 0 steps with 12 atoms - -190.8% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0 | 0 | 0 | 0.0 | 0.00 -Bond | 0 | 0 | 0 | 0.0 | 0.00 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0 | 0 | 0 | 0.0 | 0.00 -Output | 0 | 0 | 0 | 0.0 | 0.00 -Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 1.048e-06 | | |100.00 - -Nlocal: 12 ave 12 max 12 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 5 ave 5 max 5 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 0 -Neighbor list builds = 0 -Dangerous builds = 0 - - write_dump all custom dump.series.plugin.${files} id type x y z fx fy fz modify sort id - write_dump all custom dump.series.plugin.4uo2 id type x y z fx fy fz modify sort id - - clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task - -next files - -jump SELF LOOP -Total wall time: 0:00:01 diff --git a/examples/QUANTUM/LATTE/log.8Sep22.series.latte.1 b/examples/QUANTUM/LATTE/log.8Sep22.series.latte.1 deleted file mode 100644 index a8bf62acb9..0000000000 --- a/examples/QUANTUM/LATTE/log.8Sep22.series.latte.1 +++ /dev/null @@ -1,3209 +0,0 @@ - - # WARNING: variable JOBNAME= is missing. I will use a default value instead ... - # WARNING: variable COORDSFILE= is missing. I will use a default value instead ... - # WARNING: variable OUTFILE= is missing. I will use a default value instead ... - # WARNING: variable VERBOSE= is missing. I will use a default value instead ... - # WARNING: variable MIXER= is missing. I will use a default value instead ... - # WARNING: variable RESTARTLIB= is missing. I will use a default value instead ... - # WARNING: variable FREEZE= is missing. I will use a default value instead ... - # WARNING: variable xControl= is missing. I will use a default value instead ... - # WARNING: variable KERNELSCHEME= is missing. I will use a default value instead ... - # WARNING: variable PLUSDON= is missing. I will use a default value instead ... - # WARNING: variable GRAPHON= is missing. I will use a default value instead ... - # WARNING: variable GRAPH_NPARTS= is missing. I will use a default value instead ... - # WARNING: variable KERNELTOL= is missing. I will use a default value instead ... - # WARNING: variable S_DFTB_U= is missing. I will use a default value instead ... - # WARNING: variable P_DFTB_U= is missing. I will use a default value instead ... - # WARNING: variable D_DFTB_U= is missing. I will use a default value instead ... - # WARNING: variable F_DFTB_U= is missing. I will use a default value instead ... - # WARNING: variable MAGNETIC= is missing. I will use a default value instead ... - # WARNING: variable LIBINIT= is missing. I will use a default value instead ... - # WARNING: variable STOPATMAXSCF= is missing. I will use a default value instead ... - # WARNING: variable DOKERNEL= is missing. I will use a default value instead ... - # WARNING: variable DFTBU= is missing. I will use a default value instead ... - # WARNING: variable FAILSAFE= is missing. I will use a default value instead ... - # WARNING: variable READKERNEL= is missing. I will use a default value instead ... - # WARNING: variable SAVEKERNEL= is missing. I will use a default value instead ... - - - ############### PARAMETERS USED FOR THIS RUN ################ - # CONTROL{ - # XCONTROL= 1 - # DEBUGON= 0 - # FERMIM= 6 - # CGORLIB= 1 - # NORECS= 5 - # ENTROPYKIND= 1 - # PPOTON= 2 - # VDWON= 0 - # SPINON= 0 - # ELECTRO= 1 - # ELECMETH= 0 - # MAXSCF= 250 - # MINSP2ITER= 22 - # FULLQCONV= 1 - # QITER= 0 - # ORDERNMOL= 0 - # SPARSEON= 0 - # THRESHOLDON= 1 - # FILLINSTOP= 100 - # BLKSZ= 4 - # MSPARSE= 3000 - # LCNON= 0 - # LCNITER= 4 - # RELAX= 0 - # MAXITER= 100 - # MDON= 1 - # PBCON= 1 - # RESTART= 0 - # CHARGE= 0 - # XBO= 1 - # XBODISON= 1 - # XBODISORDER= 5 - # NGPU= 2 - # KON= 0 - # COMPFORCE= 1 - # DOSFIT= 0 - # INTS2FIT= 1 - # NFITSTEP= 5000 - # QFIT= 0 - # PPFITON= 0 - # ALLFITON= 0 - # PPSTEP= 500 - # BISTEP= 500 - # PP2FIT= 2 - # BINT2FIT= 6 - # PPNMOL= 10 - # PPNGEOM= 200 - # PARREP= 0 - # VERBOSE= 1 - # MIXER= 0 - # RESTARTLIB= 0 - # FREEZE= 0 - # xControl= -1 - # KERNELSCHEME= 0 - # PLUSDON= 0 - # GRAPHON= 0 - # GRAPH_NPARTS= 4 - # CGTOL= 9.9999999999999995E-007 - # KBT= 1.0000000000000000 - # SPINTOL= 1.0000000000000000E-004 - # ELEC_ETOL= 1.0000000000000000E-003 - # ELEC_QTOL= 9.9999999999999998E-013 - # COULACC= 9.9999999999999995E-007 - # COULCUT= -500.00000000000000 - # COULR1= 500.00000000000000 - # BREAKTOL= 9.9999999999999998E-013 - # QMIX= 5.0000000000000003E-002 - # SPINMIX= 0.25000000000000000 - # MDMIX= 0.25000000000000000 - # NUMTHRESH= 9.9999999999999995E-007 - # CHTOL= 1.0000000000000000E-002 - # SKIN= 1.0000000000000000 - # RLXFTOL= 1.0000000000000000E-003 - # BETA= 1000.0000000000000 - # MCSIGMA= 0.20000000000000001 - # PPBETA= 1000.0000000000000 - # PPSIGMA= 1.0000000000000000E-002 - # ER= 1.0000000000000000 - # KERNELTOL= 0.10000000149011612 - # S_DFTB_U= 0.0000000000000000 - # P_DFTB_U= 0.0000000000000000 - # D_DFTB_U= 0.0000000000000000 - # F_DFTB_U= 0.0000000000000000 - # MAGNETIC= 0.0000000000000000 - # JOBNAME=MyJob - # BASISTYPE=NONORTHO - # SP2CONV=REL - # RELAXTYPE=SD - # PARAMPATH=./ - # COORDSFILE=./bl/inputblock.dat - # SCLTYPE=TABLE - # OUTFILE=log.latte - # LIBINIT= F - # STOPATMAXSCF= F - # DOKERNEL= F - # DFTBU= F - # FAILSAFE= F - # READKERNEL= F - # SAVEKERNEL= F - # } - - # The log file for latte_lib - - # LATTE started at : 11:18 on 9/ 8/2022 - Lattice vectors: - a= 16.199993550640635 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - 238.05078000000000 - 15.994915000000001 - 15.994915000000001 - 238.05078000000000 - 15.994915000000001 - 15.994915000000001 - 238.05078000000000 - 15.994915000000001 - 15.994915000000001 - #FYI: d or f orbitals detected so we're using the - #slower, general SK expansions - COORDINATE LATTE JUST BEFORE ATOM 4 2.6999989251067720 1.6532725206666514E-016 2.6999989251067724 - Reading ppots from file (if PPOTON >= 1) ... - Getting rho0 ... - - Number of orbitals 63.0000000 - Number of occupied orbitals 27.000000000000000 - Number of electrons 54.000000000000000 - - End of INITIALIZATION - Inside MDON= 1 and RELAXME= 0 ... - Allocating nonorthogonal arrays ... - Allocating XLBO arrays ... - Allocating COULOMB arrays ... - Starting timers ... - Setting up TBMD ... - - # WARNING: variable RSLEVEL= is missing. I will use a default value instead ... - # WARNING: variable DUMMY= is missing. I will use a default value instead ... - - - ############### PARAMETERS USED FOR THIS RUN ################ - # MDCONTROL{ - # MAXITER= 2000 - # UDNEIGH= 1 - # DUMPFREQ= 250 - # RSFREQ= 500 - # WRTFREQ= 1 - # TOINITTEMP5= 1 - # THERMPER= 500 - # THERMRUN= 50000 - # NVTON= 0 - # NPTON= 0 - # AVEPER= 1000 - # SEED= 54 - # SHOCKON= 0 - # SHOCKSTART= 100000 - # SHOCKDIR= 1 - # MDADAPT= 0 - # GETHUG= 0 - # RSLEVEL= 0 - # DT= 0.50000000000000000 - # TEMPERATURE= 1.0000000000000000E-010 - # FRICTION= 1000.0000000000000 - # PTARGET= 0.0000000000000000 - # UPARTICLE= 500.00000000000000 - # USHOCK= -4590.0000000000000 - # C0= 1300.0000000000000 - # E0= -795.72500000000002 - # V0= 896.98486400000002 - # P0= 8.3149000000000001E-002 - # RNDIST=GAUSSIAN - # SEEDINIT=UNIFORM - # NPTTYPE=ISO - # DUMMY= F - # } - - Getting MD forces ... - KON = 0 ... -#WARNING! Eigenvalue of S < 0! - Time get H 38.000000000000000 - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - Time to getrho 1.0000000000000000 - In GETDELTAQ ... - Time getdeltaq 0.0000000000000000 - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 12.453881198982037 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.4449478387232384 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4257439629866226 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4373812631088310 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7765075426718644 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2135002498358158 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7695632875921583 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4236823197329458 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1530472733118919 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 0.93951071024846100 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 0.76953176167774306 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 0.63311642948136249 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 0.52284739800170921 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 0.43315879508242006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 0.35982183942259538 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 0.29958409661603325 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 0.24991543258704518 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 0.20882725332514673 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 0.17474223254625487 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 0.14639914162015466 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 0.12278237774130440 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 0.10306909864181946 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.6589077354675359E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.2793868884668989E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.1232881392002225E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.1534629503836360E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3391921798902278E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6550067072261605E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0797419920219449E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5957755574853136E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1884086959373272E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8453627331180167E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5563669024492688E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3128199207496083E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1075111783004576E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.3439038141400754E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.8837674441853967E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6520058725159092E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.6127157508907288E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7356892742838053E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.9954979193990159E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3707267286970932E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8433336251592056E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3981127627077381E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0222445851365567E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7049182606900803E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4370146066988720E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2108396318577519E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0199004776085818E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.5871690898708941E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.2266263674780618E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0783169033507001E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.1092584302381283E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2915973794488416E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6018090626210864E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 3.0200232060972887E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5294550392174209E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1159253019442659E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7674551994395493E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4739245151207392E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2267830042955730E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0188067155136871E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.4389221305380957E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.1864648566742915E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.0350922078809006E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.8505654880323128E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.6408992216392413E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.6004236545190729E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.5173758591673412E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.3919682990419844E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.2335201138362670E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.0497743291486614E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.8471474335973781E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6309402729003430E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.4055161715814712E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.1744513658590350E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.9406619724367005E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.7065111610299368E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.4738995423297965E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2443413870562061E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.0190288682583351E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7988861694769902E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5846150389827756E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3767331123212294E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1756061272546496E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.9814749858813059E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7944784643362262E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6146722369401196E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4420448191463393E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2765308852544806E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1180223822091513E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9663777979638262E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8214298581019648E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6829919045456840E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5508631784743052E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4248331661702593E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3046851650665445E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1901992012129945E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0811543907650609E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9773308422177394E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8785111875585514E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 102 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7844817764123277E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 103 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6950336192755877E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 104 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6099631001131876E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 105 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5290725066230415E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 106 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4521704201131413E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 107 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3790719611606050E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 108 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3095989551459297E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 109 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2435799994325869E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 110 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1808504679855503E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 111 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1212524671178059E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 112 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0646347353704400E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 113 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0108525288043957E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 114 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.5976746039561078E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 115 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.1124733352376808E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 116 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.6516594898222721E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 117 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.2140291980392632E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 118 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.7984345839832159E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 119 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.4037817379135618E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 120 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.0290286166008187E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 121 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6731829896360395E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 122 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.3353003633137561E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 123 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0144819616914091E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 124 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.7098727314075504E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 125 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.4206594511940764E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 126 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.1460687672255645E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 127 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8853654465164098E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 128 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.6378506133315511E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 129 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4028599934797796E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 130 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1797623373529547E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 131 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.9679578174300900E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 132 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7668765738851917E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 133 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5759771708221422E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 134 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3947453328408983E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 135 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2226925265055328E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 136 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0593547594159887E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 137 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9042913608501308E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 138 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7570838003754261E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 139 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6173346360236494E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 140 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4846664407052188E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 141 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3587208402009452E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 142 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2391574816538196E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 143 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1256532632962788E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 144 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0179013390242417E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 145 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9156103753248388E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 146 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8185038088702754E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 147 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7263189949767721E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 148 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6388066271799673E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 149 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5557299506419042E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 150 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4768642350171390E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 151 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4019961275257842E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 152 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3309230428859564E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 153 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2634526579402561E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 154 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1994023928485475E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 155 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1385989487910919E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 156 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0808777419768489E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 157 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0260825514807337E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 158 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.7406508969832828E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 159 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.2468456103222962E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 160 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.7780729718378581E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 161 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.3330642075551964E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 162 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.9106147543583916E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 163 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.5095811469250151E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 164 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.1288776493094730E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 165 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.7674739367973302E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 166 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.4243913533434949E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 167 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0987014560698327E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 168 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.7895223459780709E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 169 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.4960172912732475E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 170 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2173915310316232E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 171 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.9528907819507140E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 172 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7017990023601186E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 173 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4634365237161688E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 174 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2371579933586645E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 175 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0223507935532865E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 176 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8184333783775060E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 177 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6248538182181989E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 178 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4410878779755905E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 179 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2666381821755408E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 180 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1010322965041581E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 181 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9438219384392283E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 182 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7945815606056357E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 183 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6529070784597764E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 184 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5184149354817720E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 185 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3907409607559771E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 186 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2695396351135599E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 187 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1544826900310454E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 188 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0452587201624794E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 189 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9415719376691953E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 190 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8431416404229850E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 191 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7497014515033271E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 192 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6609983333193412E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 193 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5767919991915846E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 194 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4968546990790088E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 195 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4209698906419987E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 196 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3489321404325239E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 197 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2805463478482437E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 198 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2156276019137380E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 199 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1539998878706825E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 200 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0954965357079516E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 201 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0399591099385930E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 202 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.8723707098180569E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 203 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.3718799054620661E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 204 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.8967609390699920E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 205 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.4457291715800409E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 206 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.0175632355405924E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 207 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.6111021596325656E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 208 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.2252496874369854E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 209 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.8589557367104703E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 210 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.5112337632733386E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 211 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.1811386342647268E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 212 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.8677784076088813E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 213 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5703039625321082E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 214 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2879112533155137E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 215 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.0198340928453433E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 216 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7653476387132798E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 217 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5237626200567149E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 218 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2944259925903339E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 219 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0767141329389744E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 220 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8700400772917476E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 221 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6738445174933076E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 222 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4875948906609722E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 223 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3107863339765231E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 224 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1429420510598050E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 225 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9836066506305770E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 226 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8323490552928376E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 227 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6887606474623738E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 228 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5524506064300567E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 229 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4230507822409209E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 230 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3002108662240062E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 231 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1835990016150220E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 232 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0728991190210877E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 233 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9678121243593694E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 234 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8680518576452698E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 235 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7733473467451688E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 236 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6834458160808197E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 237 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5981018175459383E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 238 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5170839251510415E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 239 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4401729808710684E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 240 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3671631493572534E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 241 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2978526031659499E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 242 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2320562681189529E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 243 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1695958312962773E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 244 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1103007402368803E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 245 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0540132322489626E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 246 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0005781758692933E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 247 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.4985328491503651E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 248 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.0169961497466034E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 249 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.5598722554536266E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 250 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.1259224904428606E-009 SCF Tol = 9.9999999999999998E-013 - # WARNING - the SCF procedure has not converged - # to the tolerances defined in TBparam/control.in - # Continuing anyway, but be very careful... - Time for GETMDF-QNEUTRAL QCONSISTENCY 683.00000000000000 - Doing XBO ... - RESIDUE= 0.98244053480015747 - Getting forces ... - Time for GETMDF-GETFORCE 40.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 761.00000000000000 - LIBCALLS 0 - Time for GETMDF = 0.0000000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -47.023784222402710 4.6131731895515546 26.932297894541616 8.8128005003688745 - Writing trajectory into trajectory.xyz ... - HOMO= -7.4093576649023412 LUMO= -5.8071188897935277 - EGAP= 1.6022387751088134 - - # WARNING: variable JOBNAME= is missing. I will use a default value instead ... - # WARNING: variable COORDSFILE= is missing. I will use a default value instead ... - # WARNING: variable OUTFILE= is missing. I will use a default value instead ... - # WARNING: variable VERBOSE= is missing. I will use a default value instead ... - # WARNING: variable MIXER= is missing. I will use a default value instead ... - # WARNING: variable RESTARTLIB= is missing. I will use a default value instead ... - # WARNING: variable FREEZE= is missing. I will use a default value instead ... - # WARNING: variable xControl= is missing. I will use a default value instead ... - # WARNING: variable KERNELSCHEME= is missing. I will use a default value instead ... - # WARNING: variable PLUSDON= is missing. I will use a default value instead ... - # WARNING: variable GRAPHON= is missing. I will use a default value instead ... - # WARNING: variable GRAPH_NPARTS= is missing. I will use a default value instead ... - # WARNING: variable KERNELTOL= is missing. I will use a default value instead ... - # WARNING: variable S_DFTB_U= is missing. I will use a default value instead ... - # WARNING: variable P_DFTB_U= is missing. I will use a default value instead ... - # WARNING: variable D_DFTB_U= is missing. I will use a default value instead ... - # WARNING: variable F_DFTB_U= is missing. I will use a default value instead ... - # WARNING: variable MAGNETIC= is missing. I will use a default value instead ... - # WARNING: variable LIBINIT= is missing. I will use a default value instead ... - # WARNING: variable STOPATMAXSCF= is missing. I will use a default value instead ... - # WARNING: variable DOKERNEL= is missing. I will use a default value instead ... - # WARNING: variable DFTBU= is missing. I will use a default value instead ... - # WARNING: variable FAILSAFE= is missing. I will use a default value instead ... - # WARNING: variable READKERNEL= is missing. I will use a default value instead ... - # WARNING: variable SAVEKERNEL= is missing. I will use a default value instead ... - - - ############### PARAMETERS USED FOR THIS RUN ################ - # CONTROL{ - # XCONTROL= 1 - # DEBUGON= 0 - # FERMIM= 6 - # CGORLIB= 1 - # NORECS= 5 - # ENTROPYKIND= 1 - # PPOTON= 2 - # VDWON= 0 - # SPINON= 0 - # ELECTRO= 1 - # ELECMETH= 0 - # MAXSCF= 250 - # MINSP2ITER= 22 - # FULLQCONV= 1 - # QITER= 0 - # ORDERNMOL= 0 - # SPARSEON= 0 - # THRESHOLDON= 1 - # FILLINSTOP= 100 - # BLKSZ= 4 - # MSPARSE= 3000 - # LCNON= 0 - # LCNITER= 4 - # RELAX= 0 - # MAXITER= 100 - # MDON= 1 - # PBCON= 1 - # RESTART= 0 - # CHARGE= 0 - # XBO= 1 - # XBODISON= 1 - # XBODISORDER= 5 - # NGPU= 2 - # KON= 0 - # COMPFORCE= 1 - # DOSFIT= 0 - # INTS2FIT= 1 - # NFITSTEP= 5000 - # QFIT= 0 - # PPFITON= 0 - # ALLFITON= 0 - # PPSTEP= 500 - # BISTEP= 500 - # PP2FIT= 2 - # BINT2FIT= 6 - # PPNMOL= 10 - # PPNGEOM= 200 - # PARREP= 0 - # VERBOSE= 1 - # MIXER= 0 - # RESTARTLIB= 0 - # FREEZE= 0 - # xControl= -1 - # KERNELSCHEME= 0 - # PLUSDON= 0 - # GRAPHON= 0 - # GRAPH_NPARTS= 4 - # CGTOL= 9.9999999999999995E-007 - # KBT= 1.0000000000000000 - # SPINTOL= 1.0000000000000000E-004 - # ELEC_ETOL= 1.0000000000000000E-003 - # ELEC_QTOL= 9.9999999999999998E-013 - # COULACC= 9.9999999999999995E-007 - # COULCUT= -500.00000000000000 - # COULR1= 500.00000000000000 - # BREAKTOL= 9.9999999999999998E-013 - # QMIX= 5.0000000000000003E-002 - # SPINMIX= 0.25000000000000000 - # MDMIX= 0.25000000000000000 - # NUMTHRESH= 9.9999999999999995E-007 - # CHTOL= 1.0000000000000000E-002 - # SKIN= 1.0000000000000000 - # RLXFTOL= 1.0000000000000000E-003 - # BETA= 1000.0000000000000 - # MCSIGMA= 0.20000000000000001 - # PPBETA= 1000.0000000000000 - # PPSIGMA= 1.0000000000000000E-002 - # ER= 1.0000000000000000 - # KERNELTOL= 0.10000000149011612 - # S_DFTB_U= 0.0000000000000000 - # P_DFTB_U= 0.0000000000000000 - # D_DFTB_U= 0.0000000000000000 - # F_DFTB_U= 0.0000000000000000 - # MAGNETIC= 0.0000000000000000 - # JOBNAME=MyJob - # BASISTYPE=NONORTHO - # SP2CONV=REL - # RELAXTYPE=SD - # PARAMPATH=./ - # COORDSFILE=./bl/inputblock.dat - # SCLTYPE=TABLE - # OUTFILE=log.latte - # LIBINIT= F - # STOPATMAXSCF= F - # DOKERNEL= F - # DFTBU= F - # FAILSAFE= F - # READKERNEL= F - # SAVEKERNEL= F - # } - - # The log file for latte_lib - - # LATTE started at : 11:18 on 9/ 8/2022 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 6.6130900826666056E-016 10.799995700427090 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - 238.05078000000000 - 15.994915000000001 - 15.994915000000001 - 238.05078000000000 - 15.994915000000001 - 15.994915000000001 - 238.05078000000000 - 15.994915000000001 - 15.994915000000001 - 238.05078000000000 - 15.994915000000001 - 15.994915000000001 - #FYI: d or f orbitals detected so we're using the - #slower, general SK expansions - COORDINATE LATTE JUST BEFORE ATOM 4 5.3999978502135448 8.0999967753203173 2.6999989251067724 - Reading ppots from file (if PPOTON >= 1) ... - Getting rho0 ... - - Number of orbitals 84.0000000 - Number of occupied orbitals 36.000000000000000 - Number of electrons 72.000000000000000 - - End of INITIALIZATION - Inside MDON= 1 and RELAXME= 0 ... - Allocating nonorthogonal arrays ... - Allocating XLBO arrays ... - Allocating COULOMB arrays ... - Starting timers ... - Setting up TBMD ... - - # WARNING: variable RSLEVEL= is missing. I will use a default value instead ... - # WARNING: variable DUMMY= is missing. I will use a default value instead ... - - - ############### PARAMETERS USED FOR THIS RUN ################ - # MDCONTROL{ - # MAXITER= 2000 - # UDNEIGH= 1 - # DUMPFREQ= 250 - # RSFREQ= 500 - # WRTFREQ= 1 - # TOINITTEMP5= 1 - # THERMPER= 500 - # THERMRUN= 50000 - # NVTON= 0 - # NPTON= 0 - # AVEPER= 1000 - # SEED= 54 - # SHOCKON= 0 - # SHOCKSTART= 100000 - # SHOCKDIR= 1 - # MDADAPT= 0 - # GETHUG= 0 - # RSLEVEL= 0 - # DT= 0.50000000000000000 - # TEMPERATURE= 1.0000000000000000E-010 - # FRICTION= 1000.0000000000000 - # PTARGET= 0.0000000000000000 - # UPARTICLE= 500.00000000000000 - # USHOCK= -4590.0000000000000 - # C0= 1300.0000000000000 - # E0= -795.72500000000002 - # V0= 896.98486400000002 - # P0= 8.3149000000000001E-002 - # RNDIST=GAUSSIAN - # SEEDINIT=UNIFORM - # NPTTYPE=ISO - # DUMMY= F - # } - - Getting MD forces ... - KON = 0 ... - Time get H 23.000000000000000 - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - Time to getrho 2.0000000000000000 - In GETDELTAQ ... - Time getdeltaq 0.0000000000000000 - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 20.368074248021362 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 12.513350295972904 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 10.446431652343842 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 7.0531779884965102 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7113220799851714 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1078300025722663 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1809136393264730 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6101480403557502 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2300058161158001 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 0.96258548749112216 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 0.76702173986956379 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 0.61981015851032528 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 0.50647404547650132 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 0.41762944842406458 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 0.34694824562792315 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 0.29002491276008402 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 0.24370981790484136 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 0.20569943356355758 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 0.17427544040246135 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 0.14813369058330217 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 0.12626921781571987 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 0.10789718037454321 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.2397397367701917E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.9274709433721169E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.8130161850120219E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.8742889275676502E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.1183741853561004E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4606018727666563E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8880082294190821E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3893964086581962E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9550828341010527E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5766827833547667E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2469285823723983E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9595149940235035E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7089673624502089E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4905288677610207E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3000638873840509E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1339749800873600E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.8913143016911009E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.6280763230683899E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.5262987750734922E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.5653033022439189E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.7270717570879759E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.9959007305420133E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3581017934027910E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8017411872934836E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3164136130040545E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8930455295375079E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5237240238078495E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2015478595177607E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9204977807620871E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6753235439396219E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4614454929123832E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2748687848287421E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1121086256262736E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.7012509113580947E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.4626629687323263E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 7.3821884115299330E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.4396458689619518E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.6174296783184641E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.9001811123172700E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2745015999889890E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7287025676435714E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2525872150501733E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8372601477955062E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4749613042451823E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1589210748662602E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8832339102448081E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6427480550507134E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4329693523285059E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2499773205354447E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0903519399951822E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.5110977991419432E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.2964827574860678E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.2369711728748065E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.3127583971644974E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5065682569410690E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8033303020944551E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1898982384713790E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6548042899875455E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1880449186671989E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7808938961149110E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4257392252868826E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1159408903126398E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8457067485266876E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6099842856442947E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4043661740736901E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2250078947895204E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0685558674450313E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.3208477045525484E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.1304285560745981E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.0920423840270530E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.1862729447970111E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.3961835450033746E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7070004557392409E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1058366455626327E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5814508868581285E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1240375857333191E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7250433852765710E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3770073387385793E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0734213104223187E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 102 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8086083592994129E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 103 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5776165548375687E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 104 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3761263927269951E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 105 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2003700474716439E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 106 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 1.0470608747814580E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 107 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.1333200435972373E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 108 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.9668270080990311E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 109 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.9493159904343571E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 110 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.0617596675527352E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 111 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.2875602696289548E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 112 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.6122403618564789E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 113 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.0231710707328006E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 114 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.5093368178085171E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 115 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.0611286272463900E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 116 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6701650213123429E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 117 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.3291346618048436E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 118 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.0316602500347614E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 119 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7721788403424199E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 120 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5458381164012991E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 121 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3484053706935839E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 122 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1761884821659407E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 123 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0259668725698390E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 124 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.9493138677454454E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 125 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.8063170816378147E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 126 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.8093008454006565E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 127 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.9396246365750471E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 128 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.1810210122127387E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 129 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.5193062181425603E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 130 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.9421046205134758E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 131 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.4386231306804405E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 132 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9994448702552745E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 133 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.6163590960415206E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 134 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2821997514022030E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 135 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9907196446844466E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 136 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7364669702146784E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 137 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5146865095516659E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 138 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3212321681166372E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 139 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1524862508771605E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 140 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0052910059954456E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 141 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.7689577821237208E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 142 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.6490002109963484E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 143 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.6720790004026753E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 144 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.8199263186509143E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 145 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.0765983639067258E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 146 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.4282324473954304E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 147 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.8626543075181985E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 148 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3693247081245659E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 149 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.9390010425345281E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 150 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5636329725742257E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 151 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.2362030005496081E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 152 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9505990156432063E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 153 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.7014676334525802E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 154 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4841657902664451E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 155 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2945998717484031E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 156 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1292552448693982E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 157 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.8503338819000419E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 158 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.5921980641501250E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 159 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.4948902639704329E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 160 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.5375982405413424E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 161 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.7026061650589099E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 162 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.9742210350700589E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 163 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.3389569714946674E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 164 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7848002509832668E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 165 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.3014357914140646E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 166 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8798219364745137E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 167 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.5119384350347218E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 168 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1911117364936672E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 169 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.9113988170005314E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 170 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6671919400579327E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 171 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4542644866111232E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 172 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2685552608360240E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 173 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.1064349436651355E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 174 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.6519792158744622E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 175 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.4199314187571872E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 176 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.3441697168163955E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 177 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.4054317405748407E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 178 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.5880633453853079E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 179 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.8743564740050260E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 180 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2514769482693282E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 181 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.7089553650559992E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 182 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.2347680090083486E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 183 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.8216762260058204E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 184 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4616531035803746E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 185 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1473489653089928E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 186 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8736234785876604E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 187 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6336487718149328E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 188 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.4248602298039259E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 189 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2432166407450040E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 190 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0841216813162191E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 191 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.4526608762635078E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 192 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 8.2481799168476755E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 193 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 7.2006844931138403E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 194 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 6.2793104049774229E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 195 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 5.4767301804758972E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 196 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.7786219425915988E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 197 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.1682213236526877E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 198 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.6374236955794004E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 199 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 3.1654678878112463E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 200 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.7633451082920146E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 201 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.4089619188316647E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 202 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 2.1042056985720592E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 203 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.8341994589832211E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 204 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.5977219547380628E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 205 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.3996581671449349E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 206 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.2221335055073723E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 207 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0589307208874743E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 208 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 9.2870156009894345E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 1029.0000000000000 - Doing XBO ... - RESIDUE= 0.86889154817299519 - Getting forces ... - Time for GETMDF-GETFORCE 28.000000000000000 - Time getdeltaq 0.0000000000000000 - Time for GETMDF 1080.0000000000000 - LIBCALLS 0 - Time for GETMDF = 0.0000000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -57.413349003576705 3.9229873180935666 38.788288976830600 10.078517633103100 - Writing trajectory into trajectory.xyz ... - HOMO= -3.3677358953713488 LUMO= -3.3573446794907826 - EGAP= 1.0391215880566129E-002 diff --git a/examples/QUANTUM/LATTE/log.8Sep22.series.latte.2 b/examples/QUANTUM/LATTE/log.8Sep22.series.latte.2 deleted file mode 100644 index cc981d54e1..0000000000 --- a/examples/QUANTUM/LATTE/log.8Sep22.series.latte.2 +++ /dev/null @@ -1,3209 +0,0 @@ - - # WARNING: variable JOBNAME= is missing. I will use a default value instead ... - # WARNING: variable COORDSFILE= is missing. I will use a default value instead ... - # WARNING: variable OUTFILE= is missing. I will use a default value instead ... - # WARNING: variable VERBOSE= is missing. I will use a default value instead ... - # WARNING: variable MIXER= is missing. I will use a default value instead ... - # WARNING: variable RESTARTLIB= is missing. I will use a default value instead ... - # WARNING: variable FREEZE= is missing. I will use a default value instead ... - # WARNING: variable xControl= is missing. I will use a default value instead ... - # WARNING: variable KERNELSCHEME= is missing. I will use a default value instead ... - # WARNING: variable PLUSDON= is missing. I will use a default value instead ... - # WARNING: variable GRAPHON= is missing. I will use a default value instead ... - # WARNING: variable GRAPH_NPARTS= is missing. I will use a default value instead ... - # WARNING: variable KERNELTOL= is missing. I will use a default value instead ... - # WARNING: variable S_DFTB_U= is missing. I will use a default value instead ... - # WARNING: variable P_DFTB_U= is missing. I will use a default value instead ... - # WARNING: variable D_DFTB_U= is missing. I will use a default value instead ... - # WARNING: variable F_DFTB_U= is missing. I will use a default value instead ... - # WARNING: variable MAGNETIC= is missing. I will use a default value instead ... - # WARNING: variable LIBINIT= is missing. I will use a default value instead ... - # WARNING: variable STOPATMAXSCF= is missing. I will use a default value instead ... - # WARNING: variable DOKERNEL= is missing. I will use a default value instead ... - # WARNING: variable DFTBU= is missing. I will use a default value instead ... - # WARNING: variable FAILSAFE= is missing. I will use a default value instead ... - # WARNING: variable READKERNEL= is missing. I will use a default value instead ... - # WARNING: variable SAVEKERNEL= is missing. I will use a default value instead ... - - - ############### PARAMETERS USED FOR THIS RUN ################ - # CONTROL{ - # XCONTROL= 1 - # DEBUGON= 0 - # FERMIM= 6 - # CGORLIB= 1 - # NORECS= 5 - # ENTROPYKIND= 1 - # PPOTON= 2 - # VDWON= 0 - # SPINON= 0 - # ELECTRO= 1 - # ELECMETH= 0 - # MAXSCF= 250 - # MINSP2ITER= 22 - # FULLQCONV= 1 - # QITER= 0 - # ORDERNMOL= 0 - # SPARSEON= 0 - # THRESHOLDON= 1 - # FILLINSTOP= 100 - # BLKSZ= 4 - # MSPARSE= 3000 - # LCNON= 0 - # LCNITER= 4 - # RELAX= 0 - # MAXITER= 100 - # MDON= 1 - # PBCON= 1 - # RESTART= 0 - # CHARGE= 0 - # XBO= 1 - # XBODISON= 1 - # XBODISORDER= 5 - # NGPU= 2 - # KON= 0 - # COMPFORCE= 1 - # DOSFIT= 0 - # INTS2FIT= 1 - # NFITSTEP= 5000 - # QFIT= 0 - # PPFITON= 0 - # ALLFITON= 0 - # PPSTEP= 500 - # BISTEP= 500 - # PP2FIT= 2 - # BINT2FIT= 6 - # PPNMOL= 10 - # PPNGEOM= 200 - # PARREP= 0 - # VERBOSE= 1 - # MIXER= 0 - # RESTARTLIB= 0 - # FREEZE= 0 - # xControl= -1 - # KERNELSCHEME= 0 - # PLUSDON= 0 - # GRAPHON= 0 - # GRAPH_NPARTS= 4 - # CGTOL= 9.9999999999999995E-007 - # KBT= 1.0000000000000000 - # SPINTOL= 1.0000000000000000E-004 - # ELEC_ETOL= 1.0000000000000000E-003 - # ELEC_QTOL= 9.9999999999999998E-013 - # COULACC= 9.9999999999999995E-007 - # COULCUT= -500.00000000000000 - # COULR1= 500.00000000000000 - # BREAKTOL= 9.9999999999999998E-013 - # QMIX= 5.0000000000000003E-002 - # SPINMIX= 0.25000000000000000 - # MDMIX= 0.25000000000000000 - # NUMTHRESH= 9.9999999999999995E-007 - # CHTOL= 1.0000000000000000E-002 - # SKIN= 1.0000000000000000 - # RLXFTOL= 1.0000000000000000E-003 - # BETA= 1000.0000000000000 - # MCSIGMA= 0.20000000000000001 - # PPBETA= 1000.0000000000000 - # PPSIGMA= 1.0000000000000000E-002 - # ER= 1.0000000000000000 - # KERNELTOL= 0.10000000149011612 - # S_DFTB_U= 0.0000000000000000 - # P_DFTB_U= 0.0000000000000000 - # D_DFTB_U= 0.0000000000000000 - # F_DFTB_U= 0.0000000000000000 - # MAGNETIC= 0.0000000000000000 - # JOBNAME=MyJob - # BASISTYPE=NONORTHO - # SP2CONV=REL - # RELAXTYPE=SD - # PARAMPATH=./ - # COORDSFILE=./bl/inputblock.dat - # SCLTYPE=TABLE - # OUTFILE=log.latte - # LIBINIT= F - # STOPATMAXSCF= F - # DOKERNEL= F - # DFTBU= F - # FAILSAFE= F - # READKERNEL= F - # SAVEKERNEL= F - # } - - # The log file for latte_lib - - # LATTE started at : 11:20 on 9/ 8/2022 - Lattice vectors: - a= 16.199993550640635 0.0000000000000000 0.0000000000000000 - b= 3.3065450413333028E-016 5.3999978502135448 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - 238.05078000000000 - 15.994915000000001 - 15.994915000000001 - 238.05078000000000 - 15.994915000000001 - 15.994915000000001 - 238.05078000000000 - 15.994915000000001 - 15.994915000000001 - #FYI: d or f orbitals detected so we're using the - #slower, general SK expansions - COORDINATE LATTE JUST BEFORE ATOM 4 2.6999989251067720 1.6532725206666514E-016 2.6999989251067724 - Reading ppots from file (if PPOTON >= 1) ... - Getting rho0 ... - - Number of orbitals 63.0000000 - Number of occupied orbitals 27.000000000000000 - Number of electrons 54.000000000000000 - - End of INITIALIZATION - Inside MDON= 1 and RELAXME= 0 ... - Allocating nonorthogonal arrays ... - Allocating XLBO arrays ... - Allocating COULOMB arrays ... - Starting timers ... - Setting up TBMD ... - - # WARNING: variable RSLEVEL= is missing. I will use a default value instead ... - # WARNING: variable DUMMY= is missing. I will use a default value instead ... - - - ############### PARAMETERS USED FOR THIS RUN ################ - # MDCONTROL{ - # MAXITER= 2000 - # UDNEIGH= 1 - # DUMPFREQ= 250 - # RSFREQ= 500 - # WRTFREQ= 1 - # TOINITTEMP5= 1 - # THERMPER= 500 - # THERMRUN= 50000 - # NVTON= 0 - # NPTON= 0 - # AVEPER= 1000 - # SEED= 54 - # SHOCKON= 0 - # SHOCKSTART= 100000 - # SHOCKDIR= 1 - # MDADAPT= 0 - # GETHUG= 0 - # RSLEVEL= 0 - # DT= 0.50000000000000000 - # TEMPERATURE= 1.0000000000000000E-010 - # FRICTION= 1000.0000000000000 - # PTARGET= 0.0000000000000000 - # UPARTICLE= 500.00000000000000 - # USHOCK= -4590.0000000000000 - # C0= 1300.0000000000000 - # E0= -795.72500000000002 - # V0= 896.98486400000002 - # P0= 8.3149000000000001E-002 - # RNDIST=GAUSSIAN - # SEEDINIT=UNIFORM - # NPTTYPE=ISO - # DUMMY= F - # } - - Getting MD forces ... - KON = 0 ... -#WARNING! Eigenvalue of S < 0! - Time get H 17.000000000000000 - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - Time to getrho 1.0000000000000000 - In GETDELTAQ ... - Time getdeltaq 2.0000000000000000 - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 12.453881198982037 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.4449478387232384 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.4257439629866226 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.4373812631088310 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.7765075426718644 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.2135002498358158 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.7695632875921583 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.4236823197329458 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1530472733118919 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 0.93951071024846100 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 0.76953176167774306 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 0.63311642948136249 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 0.52284739800170921 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 0.43315879508242006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 0.35982183942259538 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 0.29958409661603325 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 0.24991543258704518 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 0.20882725332514673 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 0.17474223254625487 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 0.14639914162015466 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 0.12278237774130440 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 0.10306909864181946 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.6589077354675359E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.2793868884668989E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.1232881392002225E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.1534629503836360E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.3391921798902278E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.6550067072261605E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.0797419920219449E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.5957755574853136E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.1884086959373272E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.8453627331180167E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.5563669024492688E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.3128199207496083E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1075111783004576E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.3439038141400754E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.8837674441853967E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.6520058725159092E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.6127157508907288E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.7356892742838053E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.9954979193990159E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.3707267286970932E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.8433336251592056E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.3981127627077381E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.0222445851365567E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.7049182606900803E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.4370146066988720E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.2108396318577519E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0199004776085818E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.5871690898708941E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.2266263674780618E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.0783169033507001E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.1092584302381283E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.2915973794488416E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.6018090626210864E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.0200232060972887E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.5294550392174209E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.1159253019442659E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.7674551994395493E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4739245151207392E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2267830042955730E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0188067155136871E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.4389221305380957E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.1864648566742915E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.0350922078809006E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.8505654880323128E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.6408992216392413E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.6004236545190729E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.5173758591673412E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.3919682990419844E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.2335201138362670E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.0497743291486614E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.8471474335973781E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.6309402729003430E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.4055161715814712E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.1744513658590350E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.9406619724367005E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.7065111610299368E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.4738995423297965E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 4.0000000000000000 - SCF error (MAXDQ) = 5.2443413870562061E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.0190288682583351E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.7988861694769902E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.5846150389827756E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.3767331123212294E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.1756061272546496E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.9814749858813059E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.7944784643362262E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.6146722369401196E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.4420448191463393E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.2765308852544806E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.1180223822091513E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.9663777979638262E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.8214298581019648E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.6829919045456840E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.5508631784743052E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.4248331661702593E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.3046851650665445E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.1901992012129945E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.0811543907650609E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.9773308422177394E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.8785111875585514E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 102 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.7844817764123277E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 103 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.6950336192755877E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 104 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.6099631001131876E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 105 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.5290725066230415E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 106 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.4521704201131413E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 107 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.3790719611606050E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 108 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.3095989551459297E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 109 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.2435799994325869E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 110 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1808504679855503E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 111 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1212524671178059E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 112 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0646347353704400E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 113 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0108525288043957E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 114 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.5976746039561078E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 115 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.1124733352376808E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 116 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.6516594898222721E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 117 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.2140291980392632E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 118 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.7984345839832159E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 119 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.4037817379135618E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 120 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.0290286166008187E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 121 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.6731829896360395E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 122 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.3353003633137561E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 123 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.0144819616914091E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 124 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.7098727314075504E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 125 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.4206594511940764E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 126 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.1460687672255645E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 127 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.8853654465164098E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 128 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.6378506133315511E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 129 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.4028599934797796E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 130 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.1797623373529547E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 131 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.9679578174300900E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 132 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.7668765738851917E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 133 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.5759771708221422E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 134 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.3947453328408983E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 135 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.2226925265055328E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 136 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.0593547594159887E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 137 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.9042913608501308E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 138 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.7570838003754261E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 139 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.6173346360236494E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 140 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.4846664407052188E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 141 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.3587208402009452E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 142 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.2391574816538196E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 143 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.1256532632962788E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 144 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.0179013390242417E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 145 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.9156103753248388E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 146 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8185038088702754E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 147 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.7263189949767721E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 148 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.6388066271799673E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 149 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.5557299506419042E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 150 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.4768642350171390E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 151 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.4019961275257842E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 152 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.3309230428859564E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 153 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 1.2634526579402561E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 154 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1994023928485475E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 155 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1385989487910919E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 156 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0808777419768489E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 157 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0260825514807337E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 158 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 9.7406508969832828E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 159 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.2468456103222962E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 160 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.7780729718378581E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 161 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.3330642075551964E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 162 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.9106147543583916E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 163 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.5095811469250151E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 164 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.1288776493094730E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 165 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.7674739367973302E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 166 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.4243913533434949E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 167 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.0987014560698327E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 168 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.7895223459780709E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 169 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.4960172912732475E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 170 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.2173915310316232E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 171 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.9528907819507140E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 172 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.7017990023601186E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 173 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.4634365237161688E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 174 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 4.2371579933586645E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 175 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.0223507935532865E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 176 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.8184333783775060E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 177 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.6248538182181989E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 178 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.4410878779755905E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 179 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.2666381821755408E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 180 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.1010322965041581E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 181 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.9438219384392283E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 182 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.7945815606056357E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 183 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.6529070784597764E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 184 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.5184149354817720E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 185 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.3907409607559771E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 186 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.2695396351135599E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 187 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.1544826900310454E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 188 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.0452587201624794E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 189 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.9415719376691953E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 190 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.8431416404229850E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 191 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.7497014515033271E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 192 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.6609983333193412E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 193 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 1.5767919991915846E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 194 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.4968546990790088E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 195 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.4209698906419987E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 196 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.3489321404325239E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 197 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.2805463478482437E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 198 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.2156276019137380E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 199 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1539998878706825E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 200 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0954965357079516E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 201 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0399591099385930E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 202 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.8723707098180569E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 203 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.3718799054620661E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 204 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.8967609390699920E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 205 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.4457291715800409E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 206 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.0175632355405924E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 207 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.6111021596325656E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 208 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.2252496874369854E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 209 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.8589557367104703E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 210 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.5112337632733386E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 211 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.1811386342647268E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 212 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.8677784076088813E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 213 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.5703039625321082E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 214 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.2879112533155137E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 215 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.0198340928453433E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 216 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.7653476387132798E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 217 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.5237626200567149E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 218 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.2944259925903339E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 219 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.0767141329389744E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 220 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.8700400772917476E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 221 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.6738445174933076E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 222 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.4875948906609722E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 223 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.3107863339765231E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 224 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.1429420510598050E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 225 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.9836066506305770E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 226 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.8323490552928376E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 227 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.6887606474623738E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 228 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.5524506064300567E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 229 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 2.4230507822409209E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 230 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.3002108662240062E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 231 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.1835990016150220E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 232 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.0728991190210877E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 233 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.9678121243593694E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 234 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.8680518576452698E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 235 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.7733473467451688E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 236 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.6834458160808197E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 237 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.5981018175459383E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 238 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.5170839251510415E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 239 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.4401729808710684E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 240 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.3671631493572534E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 241 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.2978526031659499E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 242 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.2320562681189529E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 243 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1695958312962773E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 244 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.1103007402368803E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 245 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0540132322489626E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 246 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 0.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0005781758692933E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 247 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.4985328491503651E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 248 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 1.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 1.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.0169961497466034E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 249 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.5598722554536266E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 250 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.1259224904428606E-009 SCF Tol = 9.9999999999999998E-013 - # WARNING - the SCF procedure has not converged - # to the tolerances defined in TBparam/control.in - # Continuing anyway, but be very careful... - Time for GETMDF-QNEUTRAL QCONSISTENCY 3264.0000000000000 - Doing XBO ... - RESIDUE= 0.98244053480015747 - Getting forces ... - Time for GETMDF-GETFORCE 24.000000000000000 - Time getdeltaq 4.0000000000000000 - Time for GETMDF 3309.0000000000000 - LIBCALLS 0 - Time for GETMDF = 0.0000000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -47.023784222402710 4.6131731895515546 26.932297894541616 8.8128005003688745 - Writing trajectory into trajectory.xyz ... - HOMO= -7.4093576649023412 LUMO= -5.8071188897935277 - EGAP= 1.6022387751088134 - - # WARNING: variable JOBNAME= is missing. I will use a default value instead ... - # WARNING: variable COORDSFILE= is missing. I will use a default value instead ... - # WARNING: variable OUTFILE= is missing. I will use a default value instead ... - # WARNING: variable VERBOSE= is missing. I will use a default value instead ... - # WARNING: variable MIXER= is missing. I will use a default value instead ... - # WARNING: variable RESTARTLIB= is missing. I will use a default value instead ... - # WARNING: variable FREEZE= is missing. I will use a default value instead ... - # WARNING: variable xControl= is missing. I will use a default value instead ... - # WARNING: variable KERNELSCHEME= is missing. I will use a default value instead ... - # WARNING: variable PLUSDON= is missing. I will use a default value instead ... - # WARNING: variable GRAPHON= is missing. I will use a default value instead ... - # WARNING: variable GRAPH_NPARTS= is missing. I will use a default value instead ... - # WARNING: variable KERNELTOL= is missing. I will use a default value instead ... - # WARNING: variable S_DFTB_U= is missing. I will use a default value instead ... - # WARNING: variable P_DFTB_U= is missing. I will use a default value instead ... - # WARNING: variable D_DFTB_U= is missing. I will use a default value instead ... - # WARNING: variable F_DFTB_U= is missing. I will use a default value instead ... - # WARNING: variable MAGNETIC= is missing. I will use a default value instead ... - # WARNING: variable LIBINIT= is missing. I will use a default value instead ... - # WARNING: variable STOPATMAXSCF= is missing. I will use a default value instead ... - # WARNING: variable DOKERNEL= is missing. I will use a default value instead ... - # WARNING: variable DFTBU= is missing. I will use a default value instead ... - # WARNING: variable FAILSAFE= is missing. I will use a default value instead ... - # WARNING: variable READKERNEL= is missing. I will use a default value instead ... - # WARNING: variable SAVEKERNEL= is missing. I will use a default value instead ... - - - ############### PARAMETERS USED FOR THIS RUN ################ - # CONTROL{ - # XCONTROL= 1 - # DEBUGON= 0 - # FERMIM= 6 - # CGORLIB= 1 - # NORECS= 5 - # ENTROPYKIND= 1 - # PPOTON= 2 - # VDWON= 0 - # SPINON= 0 - # ELECTRO= 1 - # ELECMETH= 0 - # MAXSCF= 250 - # MINSP2ITER= 22 - # FULLQCONV= 1 - # QITER= 0 - # ORDERNMOL= 0 - # SPARSEON= 0 - # THRESHOLDON= 1 - # FILLINSTOP= 100 - # BLKSZ= 4 - # MSPARSE= 3000 - # LCNON= 0 - # LCNITER= 4 - # RELAX= 0 - # MAXITER= 100 - # MDON= 1 - # PBCON= 1 - # RESTART= 0 - # CHARGE= 0 - # XBO= 1 - # XBODISON= 1 - # XBODISORDER= 5 - # NGPU= 2 - # KON= 0 - # COMPFORCE= 1 - # DOSFIT= 0 - # INTS2FIT= 1 - # NFITSTEP= 5000 - # QFIT= 0 - # PPFITON= 0 - # ALLFITON= 0 - # PPSTEP= 500 - # BISTEP= 500 - # PP2FIT= 2 - # BINT2FIT= 6 - # PPNMOL= 10 - # PPNGEOM= 200 - # PARREP= 0 - # VERBOSE= 1 - # MIXER= 0 - # RESTARTLIB= 0 - # FREEZE= 0 - # xControl= -1 - # KERNELSCHEME= 0 - # PLUSDON= 0 - # GRAPHON= 0 - # GRAPH_NPARTS= 4 - # CGTOL= 9.9999999999999995E-007 - # KBT= 1.0000000000000000 - # SPINTOL= 1.0000000000000000E-004 - # ELEC_ETOL= 1.0000000000000000E-003 - # ELEC_QTOL= 9.9999999999999998E-013 - # COULACC= 9.9999999999999995E-007 - # COULCUT= -500.00000000000000 - # COULR1= 500.00000000000000 - # BREAKTOL= 9.9999999999999998E-013 - # QMIX= 5.0000000000000003E-002 - # SPINMIX= 0.25000000000000000 - # MDMIX= 0.25000000000000000 - # NUMTHRESH= 9.9999999999999995E-007 - # CHTOL= 1.0000000000000000E-002 - # SKIN= 1.0000000000000000 - # RLXFTOL= 1.0000000000000000E-003 - # BETA= 1000.0000000000000 - # MCSIGMA= 0.20000000000000001 - # PPBETA= 1000.0000000000000 - # PPSIGMA= 1.0000000000000000E-002 - # ER= 1.0000000000000000 - # KERNELTOL= 0.10000000149011612 - # S_DFTB_U= 0.0000000000000000 - # P_DFTB_U= 0.0000000000000000 - # D_DFTB_U= 0.0000000000000000 - # F_DFTB_U= 0.0000000000000000 - # MAGNETIC= 0.0000000000000000 - # JOBNAME=MyJob - # BASISTYPE=NONORTHO - # SP2CONV=REL - # RELAXTYPE=SD - # PARAMPATH=./ - # COORDSFILE=./bl/inputblock.dat - # SCLTYPE=TABLE - # OUTFILE=log.latte - # LIBINIT= F - # STOPATMAXSCF= F - # DOKERNEL= F - # DFTBU= F - # FAILSAFE= F - # READKERNEL= F - # SAVEKERNEL= F - # } - - # The log file for latte_lib - - # LATTE started at : 11:20 on 9/ 8/2022 - Lattice vectors: - a= 10.799995700427090 0.0000000000000000 0.0000000000000000 - b= 6.6130900826666056E-016 10.799995700427090 0.0000000000000000 - c= 3.3065450413333028E-016 3.3065450413333028E-016 5.3999978502135448 - - 238.05078000000000 - 15.994915000000001 - 15.994915000000001 - 238.05078000000000 - 15.994915000000001 - 15.994915000000001 - 238.05078000000000 - 15.994915000000001 - 15.994915000000001 - 238.05078000000000 - 15.994915000000001 - 15.994915000000001 - #FYI: d or f orbitals detected so we're using the - #slower, general SK expansions - COORDINATE LATTE JUST BEFORE ATOM 4 5.3999978502135448 8.0999967753203173 2.6999989251067724 - Reading ppots from file (if PPOTON >= 1) ... - Getting rho0 ... - - Number of orbitals 84.0000000 - Number of occupied orbitals 36.000000000000000 - Number of electrons 72.000000000000000 - - End of INITIALIZATION - Inside MDON= 1 and RELAXME= 0 ... - Allocating nonorthogonal arrays ... - Allocating XLBO arrays ... - Allocating COULOMB arrays ... - Starting timers ... - Setting up TBMD ... - - # WARNING: variable RSLEVEL= is missing. I will use a default value instead ... - # WARNING: variable DUMMY= is missing. I will use a default value instead ... - - - ############### PARAMETERS USED FOR THIS RUN ################ - # MDCONTROL{ - # MAXITER= 2000 - # UDNEIGH= 1 - # DUMPFREQ= 250 - # RSFREQ= 500 - # WRTFREQ= 1 - # TOINITTEMP5= 1 - # THERMPER= 500 - # THERMRUN= 50000 - # NVTON= 0 - # NPTON= 0 - # AVEPER= 1000 - # SEED= 54 - # SHOCKON= 0 - # SHOCKSTART= 100000 - # SHOCKDIR= 1 - # MDADAPT= 0 - # GETHUG= 0 - # RSLEVEL= 0 - # DT= 0.50000000000000000 - # TEMPERATURE= 1.0000000000000000E-010 - # FRICTION= 1000.0000000000000 - # PTARGET= 0.0000000000000000 - # UPARTICLE= 500.00000000000000 - # USHOCK= -4590.0000000000000 - # C0= 1300.0000000000000 - # E0= -795.72500000000002 - # V0= 896.98486400000002 - # P0= 8.3149000000000001E-002 - # RNDIST=GAUSSIAN - # SEEDINIT=UNIFORM - # NPTTYPE=ISO - # DUMMY= F - # } - - Getting MD forces ... - KON = 0 ... - Time get H 14.000000000000000 - Time for GETMDF-PROPCHEMPOT XBO GETDELTASPIN 0.0000000000000000 - Doing QCONSISTENCY ... - Time to getrho 3.0000000000000000 - In GETDELTAQ ... - Time getdeltaq 2.0000000000000000 - SCF ITER = 1 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 20.368074248021362 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 2 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 12.513350295972904 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 3 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 10.446431652343842 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 4 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.0531779884965102 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 5 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.7113220799851714 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 6 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.1078300025722663 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 7 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.1809136393264730 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 8 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.6101480403557502 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 9 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.2300058161158001 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 10 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 0.96258548749112216 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 11 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 0.76702173986956379 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 12 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 0.61981015851032528 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 13 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 4.0000000000000000 - SCF error (MAXDQ) = 0.50647404547650132 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 14 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 0.41762944842406458 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 15 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 0.34694824562792315 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 16 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 0.29002491276008402 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 17 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 0.24370981790484136 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 18 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 0.20569943356355758 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 19 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 0.17427544040246135 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 20 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 0.14813369058330217 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 21 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 0.12626921781571987 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 22 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 0.10789718037454321 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 23 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.2397397367701917E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 24 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.9274709433721169E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 25 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.8130161850120219E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 26 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.8742889275676502E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 27 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.1183741853561004E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 28 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.4606018727666563E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 29 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.8880082294190821E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 30 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.3893964086581962E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 31 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.9550828341010527E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 32 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.5766827833547667E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 33 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.2469285823723983E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 34 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.9595149940235035E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 35 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 4.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.7089673624502089E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 36 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.4905288677610207E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 37 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.3000638873840509E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 38 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1339749800873600E-002 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 39 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.8913143016911009E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 40 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.6280763230683899E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 41 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.5262987750734922E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 42 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.5653033022439189E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 43 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 5.7270717570879759E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 44 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.9959007305420133E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 45 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.3581017934027910E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 46 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 4.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 4.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.8017411872934836E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 47 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 4.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 4.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.3164136130040545E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 48 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.8930455295375079E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 49 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.5237240238078495E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 50 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.2015478595177607E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 51 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.9204977807620871E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 52 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.6753235439396219E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 53 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.4614454929123832E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 54 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 4.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 4.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.2748687848287421E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 55 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 4.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 4.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1121086256262736E-003 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 56 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.7012509113580947E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 57 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 8.4626629687323263E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 58 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.3821884115299330E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 59 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.4396458689619518E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 60 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.6174296783184641E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 61 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.9001811123172700E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 62 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.2745015999889890E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 63 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.7287025676435714E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 64 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.2525872150501733E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 65 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.8372601477955062E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 66 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.4749613042451823E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 67 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.1589210748662602E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 68 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.8832339102448081E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 69 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.6427480550507134E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 70 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.4329693523285059E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 71 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.2499773205354447E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 72 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0903519399951822E-004 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 73 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.5110977991419432E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 74 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.2964827574860678E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 75 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 7.2369711728748065E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 76 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.3127583971644974E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 77 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.5065682569410690E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 78 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.8033303020944551E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 79 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.1898982384713790E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 80 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.6548042899875455E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 81 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.1880449186671989E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 82 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.7808938961149110E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 83 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.4257392252868826E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 84 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.1159408903126398E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 85 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 1.8457067485266876E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 86 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.6099842856442947E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 87 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.4043661740736901E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 88 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.2250078947895204E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 89 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0685558674450313E-005 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 90 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.3208477045525484E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 91 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.1304285560745981E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 92 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.0920423840270530E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 93 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.1862729447970111E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 94 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.3961835450033746E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 95 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.7070004557392409E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 96 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.1058366455626327E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 97 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.5814508868581285E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 98 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 3.1240375857333191E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 99 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.7250433852765710E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 100 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.3770073387385793E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 101 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.0734213104223187E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 102 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.8086083592994129E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 103 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.5776165548375687E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 104 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.3761263927269951E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 105 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 2.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 2.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.2003700474716439E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 106 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0470608747814580E-006 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 107 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.1333200435972373E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 108 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.9668270080990311E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 109 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.9493159904343571E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 110 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.0617596675527352E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 111 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.2875602696289548E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 112 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.6122403618564789E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 113 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.0231710707328006E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 114 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.5093368178085171E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 115 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.0611286272463900E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 116 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.6701650213123429E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 117 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.3291346618048436E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 118 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.0316602500347614E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 119 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.7721788403424199E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 120 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.5458381164012991E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 121 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.3484053706935839E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 122 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1761884821659407E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 123 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0259668725698390E-007 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 124 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.9493138677454454E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 125 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.8063170816378147E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 126 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.8093008454006565E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 127 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.9396246365750471E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 128 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.1810210122127387E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 129 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.5193062181425603E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 130 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.9421046205134758E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 131 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.4386231306804405E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 132 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.9994448702552745E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 133 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.6163590960415206E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 134 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.2821997514022030E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 135 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.9907196446844466E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 136 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.7364669702146784E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 137 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.5146865095516659E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 138 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.3212321681166372E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 139 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1524862508771605E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 140 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0052910059954456E-008 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 141 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.7689577821237208E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 142 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 4.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 4.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.6490002109963484E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 143 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.6720790004026753E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 144 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.8199263186509143E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 145 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.0765983639067258E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 146 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.4282324473954304E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 147 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.8626543075181985E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 148 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.3693247081245659E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 149 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.9390010425345281E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 150 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.5636329725742257E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 151 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.2362030005496081E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 152 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.9505990156432063E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 153 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.7014676334525802E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 154 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.4841657902664451E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 155 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.2945998717484031E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 156 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1292552448693982E-009 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 157 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.8503338819000419E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 158 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.5921980641501250E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 159 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.4948902639704329E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 160 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.5375982405413424E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 161 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.7026061650589099E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 162 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.9742210350700589E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 163 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 4.3389569714946674E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 164 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.7848002509832668E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 165 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.3014357914140646E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 166 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.8798219364745137E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 167 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.5119384350347218E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 168 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.1911117364936672E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 169 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.9113988170005314E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 170 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.6671919400579327E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 171 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.4542644866111232E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 172 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.2685552608360240E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 173 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.1064349436651355E-010 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 174 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.6519792158744622E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 175 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.4199314187571872E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 176 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.3441697168163955E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 177 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 3.0000000000000000 - SCF error (MAXDQ) = 6.4054317405748407E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 178 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.5880633453853079E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 179 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.8743564740050260E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 180 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.2514769482693282E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 181 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.7089553650559992E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 182 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.2347680090083486E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 183 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.8216762260058204E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 184 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.4616531035803746E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 185 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.1473489653089928E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 186 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.8736234785876604E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 187 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.6336487718149328E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 188 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.4248602298039259E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 189 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.2432166407450040E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 190 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.0841216813162191E-011 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 191 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.4526608762635078E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 192 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 8.2481799168476755E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 193 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 7.2006844931138403E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 194 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 6.2793104049774229E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 195 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 5.4767301804758972E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 196 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.7786219425915988E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 197 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 4.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 4.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 4.1682213236526877E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 198 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.6374236955794004E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 199 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 3.1654678878112463E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 200 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.7633451082920146E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 201 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.4089619188316647E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 202 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 4.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 4.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 2.1042056985720592E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 203 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.8341994589832211E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 204 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 1.0000000000000000 - SCF error (MAXDQ) = 1.5977219547380628E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 205 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.3996581671449349E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 206 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 2.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 1.2221335055073723E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 207 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 0.0000000000000000 - SCF error (MAXDQ) = 1.0589307208874743E-012 SCF Tol = 9.9999999999999998E-013 - SCF ITER = 208 - Time for GETMDF-QCONSISTENCY-ORTHOMYH 1.0000000000000000 - Time to getrho 3.0000000000000000 - Time for GETMDF-QCONSISTENCY-BUILDRHO 3.0000000000000000 - Time getdeltaq 2.0000000000000000 - SCF error (MAXDQ) = 9.2870156009894345E-013 SCF Tol = 9.9999999999999998E-013 - Time for GETMDF-QNEUTRAL QCONSISTENCY 3248.0000000000000 - Doing XBO ... - RESIDUE= 0.86889154817299519 - Getting forces ... - Time for GETMDF-GETFORCE 11.000000000000000 - Time getdeltaq 4.0000000000000000 - Time for GETMDF 3277.0000000000000 - LIBCALLS 0 - Time for GETMDF = 0.0000000000000000 - Energy Components (TRRHOH, EREP, ENTE, ECOUL) -57.413349003576705 3.9229873180935666 38.788288976830600 10.078517633103100 - Writing trajectory into trajectory.xyz ... - HOMO= -3.3677358953713488 LUMO= -3.3573446794907826 - EGAP= 1.0391215880566129E-002 From 090e61f0ecbe7370e830111975786ed22b967729 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 1 Feb 2023 11:31:15 -0700 Subject: [PATCH 073/448] more debugging --- examples/QUANTUM/LATTE/in.latte.water.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/QUANTUM/LATTE/in.latte.water.md b/examples/QUANTUM/LATTE/in.latte.water.md index 7940b7f992..1d2ea7eecb 100644 --- a/examples/QUANTUM/LATTE/in.latte.water.md +++ b/examples/QUANTUM/LATTE/in.latte.water.md @@ -4,7 +4,7 @@ units metal atom_style full atom_modify sort 0 0.0 # turn off sorting of the coordinates -read_data data.water +read_data data.water.latte.aimd # replicate system if requested From c53ea66f394e17d552a9c1ea61fe9970b04dcce9 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 1 Feb 2023 14:20:27 -0700 Subject: [PATCH 074/448] debgging for LATTE --- examples/QUANTUM/LATTE/in.latte.water.md | 4 +- .../QUANTUM/LATTE/in.water.latte.aimd.plugin | 4 +- examples/QUANTUM/LATTE/latte.in | 71 +++++-------------- examples/QUANTUM/LATTE/latte.in.other | 67 +++++++++++++++++ examples/QUANTUM/LATTE/latte_mdi.py | 28 ++++---- 5 files changed, 103 insertions(+), 71 deletions(-) create mode 100755 examples/QUANTUM/LATTE/latte.in.other diff --git a/examples/QUANTUM/LATTE/in.latte.water.md b/examples/QUANTUM/LATTE/in.latte.water.md index 1d2ea7eecb..223964e639 100644 --- a/examples/QUANTUM/LATTE/in.latte.water.md +++ b/examples/QUANTUM/LATTE/in.latte.water.md @@ -36,5 +36,5 @@ thermo_style custom step temp pe etotal press # dynamics -thermo 10 -run 100 +thermo 1 +run 10 diff --git a/examples/QUANTUM/LATTE/in.water.latte.aimd.plugin b/examples/QUANTUM/LATTE/in.water.latte.aimd.plugin index 27a1c1c916..88d66ccff7 100644 --- a/examples/QUANTUM/LATTE/in.water.latte.aimd.plugin +++ b/examples/QUANTUM/LATTE/in.water.latte.aimd.plugin @@ -36,7 +36,7 @@ thermo_style custom step temp pe etotal press # dynamics -thermo 10 +thermo 1 mdi plugin latte_mdi mdi "-role ENGINE -name LATTE -method LINK" & - command "run 100" + command "run 10" diff --git a/examples/QUANTUM/LATTE/latte.in b/examples/QUANTUM/LATTE/latte.in index 5786bb6588..f927313457 100755 --- a/examples/QUANTUM/LATTE/latte.in +++ b/examples/QUANTUM/LATTE/latte.in @@ -1,67 +1,32 @@ +LATTE INPUT FILE +================ +#This input file resumes the content of MDcontroller and TBparam/control.in +#The parser will only read it is present inside the running folder. +#In case this file is not present Latte will read the two files as original. +#The order of the keywords is not important in this file. +#To get a full description of these keywords please see: +## https://github.com/lanl/LATTE/blob/master/Manual/LATTE_manual.pdf + #General controls CONTROL{ XCONTROL= 1 BASISTYPE= NONORTHO - PARAMPATH= './' - SCLTYPE= TABLE - DEBUGON= 0 - FERMIM= 6 - CGORLIB= 1 CGTOL= 1.0e-6 - KBT= 1.0 - NORECS= 5 + PARAMPATH= "./TBparam" + KBT= 0.0 ENTROPYKIND= 1 - PPOTON= 2 VDWON= 0 + PPOTON= 1 SPINON= 0 SPINTOL= 1.0e-4 - ELECTRO= 1 ELECMETH= 0 ELEC_ETOL= 0.001 ELEC_QTOL= 1.0e-12 - COULACC= 1.0e-6 COULCUT= -500.0 COULR1= 500.0 - MAXSCF= 250 - BREAKTOL= 1.0E-12 MINSP2ITER= 22 SP2CONV= REL - FULLQCONV= 1 QITER= 0 - QMIX= 0.05 SPINMIX= 0.05 MDMIX= 0.05 - #QMIX= 0.25 SPINMIX= 0.25 MDMIX= 0.25 - ORDERNMOL= 0 + ELECTRO= 1 ELECMETH= 0 ELEC_QTOL= 1.0e-8 + MAXSCF= 450 + BREAKTOL= 1.0E-6 MINSP2ITER= 22 SP2CONV= REL + FULLQCONV= 1 QITER= 3 + QMIX= 0.25 SPINMIX= 0.25 MDMIX= 0.25 SPARSEON= 0 THRESHOLDON= 1 NUMTHRESH= 1.0e-6 FILLINSTOP= 100 BLKSZ= 4 - MSPARSE= 3000 - LCNON= 0 LCNITER= 4 CHTOL= 0.01 + MSPARSE= 1500 SKIN= 1.0 - RELAX= 0 RELAXTYPE= SD MAXITER= 100 RLXFTOL= 0.001 - MDON= 1 - PBCON= 1 - RESTART= 0 CHARGE= 0 XBO= 1 XBODISON= 1 XBODISORDER= 5 - NGPU= 2 KON= 0 - COMPFORCE= 1 - DOSFIT= 0 INTS2FIT= 1 BETA= 1000.0 NFITSTEP= 5000 QFIT= 0 MCSIGMA= 0.2 - PPFITON= 0 - ALLFITON= 0 - PPSTEP= 500 BISTEP= 500 PP2FIT= 2 BINT2FIT= 6 - PPBETA= 1000.0 PPSIGMA= 0.01 PPNMOL= 10 PPNGEOM= 200 - PARREP= 0 - ER= 1.0 - #DOKERNEL= T -} - -MDCONTROL{ -MAXITER= 2000 -UDNEIGH= 1 -DT= 0.5 -TEMPERATURE= 1.0e-10 RNDIST= GAUSSIAN SEEDINIT= UNIFORM -DUMPFREQ= 250 -RSFREQ= 500 -WRTFREQ= 1 -TOINITTEMP5= 1 -THERMPER= 500 -THERMRUN= 50000 -NVTON= 0 NPTON= 0 AVEPER= 1000 FRICTION= 1000.0 SEED= 54 -PTARGET= 0.0 NPTTYPE= ISO -SHOCKON= 0 -SHOCKSTART= 100000 -SHOCKDIR= 1 -UPARTICLE= 500.0 USHOCK= -4590.0 C0= 1300.0 -MDADAPT= 0 -GETHUG= 0 E0= -795.725 V0= 896.984864 P0= 0.083149 } diff --git a/examples/QUANTUM/LATTE/latte.in.other b/examples/QUANTUM/LATTE/latte.in.other new file mode 100755 index 0000000000..5786bb6588 --- /dev/null +++ b/examples/QUANTUM/LATTE/latte.in.other @@ -0,0 +1,67 @@ +#General controls +CONTROL{ + XCONTROL= 1 + BASISTYPE= NONORTHO + PARAMPATH= './' + SCLTYPE= TABLE + DEBUGON= 0 + FERMIM= 6 + CGORLIB= 1 CGTOL= 1.0e-6 + KBT= 1.0 + NORECS= 5 + ENTROPYKIND= 1 + PPOTON= 2 VDWON= 0 + SPINON= 0 SPINTOL= 1.0e-4 + ELECTRO= 1 ELECMETH= 0 ELEC_ETOL= 0.001 ELEC_QTOL= 1.0e-12 + COULACC= 1.0e-6 COULCUT= -500.0 COULR1= 500.0 + MAXSCF= 250 + BREAKTOL= 1.0E-12 MINSP2ITER= 22 SP2CONV= REL + FULLQCONV= 1 QITER= 0 + QMIX= 0.05 SPINMIX= 0.05 MDMIX= 0.05 + #QMIX= 0.25 SPINMIX= 0.25 MDMIX= 0.25 + ORDERNMOL= 0 + SPARSEON= 0 THRESHOLDON= 1 NUMTHRESH= 1.0e-6 FILLINSTOP= 100 BLKSZ= 4 + MSPARSE= 3000 + LCNON= 0 LCNITER= 4 CHTOL= 0.01 + SKIN= 1.0 + RELAX= 0 RELAXTYPE= SD MAXITER= 100 RLXFTOL= 0.001 + MDON= 1 + PBCON= 1 + RESTART= 0 + CHARGE= 0 + XBO= 1 + XBODISON= 1 + XBODISORDER= 5 + NGPU= 2 + KON= 0 + COMPFORCE= 1 + DOSFIT= 0 INTS2FIT= 1 BETA= 1000.0 NFITSTEP= 5000 QFIT= 0 MCSIGMA= 0.2 + PPFITON= 0 + ALLFITON= 0 + PPSTEP= 500 BISTEP= 500 PP2FIT= 2 BINT2FIT= 6 + PPBETA= 1000.0 PPSIGMA= 0.01 PPNMOL= 10 PPNGEOM= 200 + PARREP= 0 + ER= 1.0 + #DOKERNEL= T +} + +MDCONTROL{ +MAXITER= 2000 +UDNEIGH= 1 +DT= 0.5 +TEMPERATURE= 1.0e-10 RNDIST= GAUSSIAN SEEDINIT= UNIFORM +DUMPFREQ= 250 +RSFREQ= 500 +WRTFREQ= 1 +TOINITTEMP5= 1 +THERMPER= 500 +THERMRUN= 50000 +NVTON= 0 NPTON= 0 AVEPER= 1000 FRICTION= 1000.0 SEED= 54 +PTARGET= 0.0 NPTTYPE= ISO +SHOCKON= 0 +SHOCKSTART= 100000 +SHOCKDIR= 1 +UPARTICLE= 500.0 USHOCK= -4590.0 C0= 1300.0 +MDADAPT= 0 +GETHUG= 0 E0= -795.725 V0= 896.984864 P0= 0.083149 +} diff --git a/examples/QUANTUM/LATTE/latte_mdi.py b/examples/QUANTUM/LATTE/latte_mdi.py index d6dc7dea89..7a7fa1b9e3 100644 --- a/examples/QUANTUM/LATTE/latte_mdi.py +++ b/examples/QUANTUM/LATTE/latte_mdi.py @@ -513,20 +513,20 @@ def evaluate(): print("Calling LATTE ...") time1 = time.time() - print("flags_latte",c_flags_latte[0:6]) - print("qm_natoms",c_qm_natoms.value) + #print("flags_latte",c_flags_latte[0:6]) + #print("qm_natoms",c_qm_natoms.value) print("qm_coords",qm_coords) - print("qm_types",qm_types) - print("qm_ntypes",c_qm_ntypes.value) - print("qm_mass",c_qm_mass[0:2]) - print("boxlo",c_boxlo[0:3]) - print("boxhi",c_boxhi[0:3]) - print("xy",c_xy.value) - print("xz",c_xz.value) - print("yz",c_yz.value) - print("maxiter",c_maxiter.value) - print("timestep",c_timestep.value) - print("new_system",c_new_system.value) + #print("qm_types",qm_types) + #print("qm_ntypes",c_qm_ntypes.value) + #print("qm_mass",c_qm_mass[0:2]) + #print("boxlo",c_boxlo[0:3]) + #print("boxhi",c_boxhi[0:3]) + #print("xy",c_xy.value) + #print("xz",c_xz.value) + #print("yz",c_yz.value) + #print("maxiter",c_maxiter.value) + #print("timestep",c_timestep.value) + #print("new_system",c_new_system.value) liblatte.\ latte(c_flags_latte,byref(c_qm_natoms),qm_coords, @@ -542,7 +542,7 @@ def evaluate(): time2 = time.time() print("DONE LATTE",latte_error,time2-time1) print("PE",qm_pe) - print("FORCE",qm_forces) + #print("FORCE",qm_forces) # clear flags for all MDI commands for next QM evaluation From b3262684af773ed7850c54ab69057ddb7432d670 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 1 Feb 2023 17:15:25 -0700 Subject: [PATCH 075/448] more LATTE debugging --- .../LATTE/{ => TBparam_uo2}/bondints.table | 0 .../LATTE/{ => TBparam_uo2}/electrons.dat | 0 .../LATTE/{ => TBparam_uo2}/ppots.dftb | 0 .../bondints.nonortho | 0 .../{TBparam => TBparam_water}/electrons.dat | 0 .../{TBparam => TBparam_water}/ppots.nonortho | 0 examples/QUANTUM/LATTE/in.latte.water.md | 4 +- examples/QUANTUM/LATTE/in.water.latte.aimd | 6 +- .../QUANTUM/LATTE/in.water.latte.aimd.plugin | 6 +- examples/QUANTUM/LATTE/latte.in | 2 +- .../LATTE/{latte.in.other => latte.in.uo2} | 2 +- examples/QUANTUM/LATTE/latte.in.water | 2 +- examples/QUANTUM/LATTE/latte_mdi.py | 171 ++++++++++++------ examples/QUANTUM/NWChem/nwchem_mdi.py | 6 +- 14 files changed, 126 insertions(+), 73 deletions(-) rename examples/QUANTUM/LATTE/{ => TBparam_uo2}/bondints.table (100%) rename examples/QUANTUM/LATTE/{ => TBparam_uo2}/electrons.dat (100%) rename examples/QUANTUM/LATTE/{ => TBparam_uo2}/ppots.dftb (100%) rename examples/QUANTUM/LATTE/{TBparam => TBparam_water}/bondints.nonortho (100%) rename examples/QUANTUM/LATTE/{TBparam => TBparam_water}/electrons.dat (100%) rename examples/QUANTUM/LATTE/{TBparam => TBparam_water}/ppots.nonortho (100%) rename examples/QUANTUM/LATTE/{latte.in.other => latte.in.uo2} (98%) diff --git a/examples/QUANTUM/LATTE/bondints.table b/examples/QUANTUM/LATTE/TBparam_uo2/bondints.table similarity index 100% rename from examples/QUANTUM/LATTE/bondints.table rename to examples/QUANTUM/LATTE/TBparam_uo2/bondints.table diff --git a/examples/QUANTUM/LATTE/electrons.dat b/examples/QUANTUM/LATTE/TBparam_uo2/electrons.dat similarity index 100% rename from examples/QUANTUM/LATTE/electrons.dat rename to examples/QUANTUM/LATTE/TBparam_uo2/electrons.dat diff --git a/examples/QUANTUM/LATTE/ppots.dftb b/examples/QUANTUM/LATTE/TBparam_uo2/ppots.dftb similarity index 100% rename from examples/QUANTUM/LATTE/ppots.dftb rename to examples/QUANTUM/LATTE/TBparam_uo2/ppots.dftb diff --git a/examples/QUANTUM/LATTE/TBparam/bondints.nonortho b/examples/QUANTUM/LATTE/TBparam_water/bondints.nonortho similarity index 100% rename from examples/QUANTUM/LATTE/TBparam/bondints.nonortho rename to examples/QUANTUM/LATTE/TBparam_water/bondints.nonortho diff --git a/examples/QUANTUM/LATTE/TBparam/electrons.dat b/examples/QUANTUM/LATTE/TBparam_water/electrons.dat similarity index 100% rename from examples/QUANTUM/LATTE/TBparam/electrons.dat rename to examples/QUANTUM/LATTE/TBparam_water/electrons.dat diff --git a/examples/QUANTUM/LATTE/TBparam/ppots.nonortho b/examples/QUANTUM/LATTE/TBparam_water/ppots.nonortho similarity index 100% rename from examples/QUANTUM/LATTE/TBparam/ppots.nonortho rename to examples/QUANTUM/LATTE/TBparam_water/ppots.nonortho diff --git a/examples/QUANTUM/LATTE/in.latte.water.md b/examples/QUANTUM/LATTE/in.latte.water.md index 223964e639..1d2ea7eecb 100644 --- a/examples/QUANTUM/LATTE/in.latte.water.md +++ b/examples/QUANTUM/LATTE/in.latte.water.md @@ -36,5 +36,5 @@ thermo_style custom step temp pe etotal press # dynamics -thermo 1 -run 10 +thermo 10 +run 100 diff --git a/examples/QUANTUM/LATTE/in.water.latte.aimd b/examples/QUANTUM/LATTE/in.water.latte.aimd index c29d2e3069..79fd72d497 100644 --- a/examples/QUANTUM/LATTE/in.water.latte.aimd +++ b/examples/QUANTUM/LATTE/in.water.latte.aimd @@ -29,7 +29,7 @@ timestep 0.00025 fix 1 all nve -fix 2 all mdi/qm elements 8 1 +fix 2 all mdi/qm virial yes elements 8 1 #fix 2 all latte fix_modify 2 energy yes @@ -37,5 +37,5 @@ thermo_style custom step temp pe etotal press # dynamics -thermo 10 -run 100 +thermo 1 +run 10 diff --git a/examples/QUANTUM/LATTE/in.water.latte.aimd.plugin b/examples/QUANTUM/LATTE/in.water.latte.aimd.plugin index 88d66ccff7..f5cddd89e3 100644 --- a/examples/QUANTUM/LATTE/in.water.latte.aimd.plugin +++ b/examples/QUANTUM/LATTE/in.water.latte.aimd.plugin @@ -29,14 +29,14 @@ timestep 0.00025 fix 1 all nve -fix 2 all mdi/qm elements 8 1 +fix 2 all mdi/qm virial yes elements 8 1 fix_modify 2 energy yes thermo_style custom step temp pe etotal press # dynamics -thermo 1 +thermo 10 mdi plugin latte_mdi mdi "-role ENGINE -name LATTE -method LINK" & - command "run 10" + command "run 100" diff --git a/examples/QUANTUM/LATTE/latte.in b/examples/QUANTUM/LATTE/latte.in index f927313457..80280c3762 100755 --- a/examples/QUANTUM/LATTE/latte.in +++ b/examples/QUANTUM/LATTE/latte.in @@ -11,7 +11,7 @@ LATTE INPUT FILE CONTROL{ XCONTROL= 1 BASISTYPE= NONORTHO - PARAMPATH= "./TBparam" + PARAMPATH= "./TBparam_water" KBT= 0.0 ENTROPYKIND= 1 PPOTON= 1 diff --git a/examples/QUANTUM/LATTE/latte.in.other b/examples/QUANTUM/LATTE/latte.in.uo2 similarity index 98% rename from examples/QUANTUM/LATTE/latte.in.other rename to examples/QUANTUM/LATTE/latte.in.uo2 index 5786bb6588..0d0725f3ed 100755 --- a/examples/QUANTUM/LATTE/latte.in.other +++ b/examples/QUANTUM/LATTE/latte.in.uo2 @@ -2,7 +2,7 @@ CONTROL{ XCONTROL= 1 BASISTYPE= NONORTHO - PARAMPATH= './' + PARAMPATH= "./TBparam_uo2" SCLTYPE= TABLE DEBUGON= 0 FERMIM= 6 diff --git a/examples/QUANTUM/LATTE/latte.in.water b/examples/QUANTUM/LATTE/latte.in.water index f927313457..80280c3762 100755 --- a/examples/QUANTUM/LATTE/latte.in.water +++ b/examples/QUANTUM/LATTE/latte.in.water @@ -11,7 +11,7 @@ LATTE INPUT FILE CONTROL{ XCONTROL= 1 BASISTYPE= NONORTHO - PARAMPATH= "./TBparam" + PARAMPATH= "./TBparam_water" KBT= 0.0 ENTROPYKIND= 1 PPOTON= 1 diff --git a/examples/QUANTUM/LATTE/latte_mdi.py b/examples/QUANTUM/LATTE/latte_mdi.py index 7a7fa1b9e3..7b646144c6 100644 --- a/examples/QUANTUM/LATTE/latte_mdi.py +++ b/examples/QUANTUM/LATTE/latte_mdi.py @@ -216,7 +216,7 @@ def execute_command(command,mdicomm,object_ptr): elif command == " Date: Thu, 2 Feb 2023 18:16:45 -0700 Subject: [PATCH 076/448] more LATTE refactoring and debugging --- examples/QUANTUM/LATTE/README.new | 46 ++++- examples/QUANTUM/LATTE/in.uo2.latte.aimd | 26 +++ .../QUANTUM/LATTE/in.uo2.latte.aimd.plugin | 27 +++ examples/QUANTUM/LATTE/in.uo2.latte.series | 37 ++++ .../QUANTUM/LATTE/in.uo2.latte.series.plugin | 32 +++ examples/QUANTUM/LATTE/in.water.latte.aimd | 6 +- .../QUANTUM/LATTE/in.water.latte.aimd.plugin | 4 +- examples/QUANTUM/LATTE/latte_mdi.py | 186 ++++++++++++------ examples/QUANTUM/PySCF/pyscf_mdi.py | 2 - src/MDI/fix_mdi_qm.cpp | 35 +++- src/MDI/fix_mdi_qmmm.cpp | 31 ++- src/MDI/mdi_engine.cpp | 26 ++- 12 files changed, 367 insertions(+), 91 deletions(-) create mode 100644 examples/QUANTUM/LATTE/in.uo2.latte.aimd create mode 100644 examples/QUANTUM/LATTE/in.uo2.latte.aimd.plugin create mode 100644 examples/QUANTUM/LATTE/in.uo2.latte.series create mode 100644 examples/QUANTUM/LATTE/in.uo2.latte.series.plugin diff --git a/examples/QUANTUM/LATTE/README.new b/examples/QUANTUM/LATTE/README.new index c5b36dc718..1fae90633d 100644 --- a/examples/QUANTUM/LATTE/README.new +++ b/examples/QUANTUM/LATTE/README.new @@ -103,12 +103,54 @@ Step 4: run the water AIMD problem for a few steps % lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.water.latte.aimd.tcp.1 -in in.water.latte.aimd & -% python latte_mdi.py -mdi "-name LATTE -role ENGINE -method TCP -port 8021 -hostname localhost" +% python latte_mdi.py -mdi "-name LATTE -role ENGINE -method TCP -port 8021 -hostname localhost" latte.in.water # Run with MPI: 1 proc each -% mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.water.latte.aimd.mpi.1 -in in.water.latte.aimd : -np 1 python latte_mdi.py -mdi "-name LATTE -role ENGINE -method MPI" +% mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.water.latte.aimd.mpi.1 -in in.water.latte.aimd : -np 1 python latte_mdi.py -mdi "-name LATTE -role ENGINE -method MPI" latte.in.water # Run in plugin mode: 1 proc % lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/LATTE" -log log.water.latte.aimd.plugin.1 -in in.water.latte.aimd.plugin + +--------------------------------- +--------------------------------- + +Step 5: run the UO2 AIMD problem for a few steps + +% cd ~/lammps/examples/QUANTUM/LATTE + +# Run with TCP: 1 proc each + +% lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.uo2.latte.aimd.tcp.1 -in in.uo2.latte.aimd & + +% python latte_mdi.py -mdi "-name LATTE -role ENGINE -method TCP -port 8021 -hostname localhost" latte.in.uo2 + +# Run with MPI: 1 proc each + +% mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.uo2.latte.aimd.mpi.1 -in in.uo2.latte.aimd : -np 1 python latte_mdi.py -mdi "-name LATTE -role ENGINE -method MPI" latte.in.uo2 + +# Run in plugin mode: 1 proc + +% lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/LATTE" -log log.uo2.latte.aimd.plugin.1 -in in.uo2.latte.aimd.plugin + +--------------------------------- +--------------------------------- + +Step 6: run the UO2 series problem + +% cd ~/lammps/examples/QUANTUM/LATTE + +# Run with TCP: 1 proc each + +% lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.uo2.latte.series.tcp.1 -in in.uo2.latte.series & + +% python latte_mdi.py -mdi "-name LATTE -role ENGINE -method TCP -port 8021 -hostname localhost" latte.in.uo2 + +# Run with MPI: 1 proc each + +% mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.uo2.latte.series.mpi.1 -in in.uo2.latte.series : -np 1 python latte_mdi.py -mdi "-name LATTE -role ENGINE -method MPI" latte.in.uo2 + +# Run in plugin mode: 1 proc + +% lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/LATTE" -log log.uo2.latte.series.plugin.1 -in in.uo2.latte.series.plugin diff --git a/examples/QUANTUM/LATTE/in.uo2.latte.aimd b/examples/QUANTUM/LATTE/in.uo2.latte.aimd new file mode 100644 index 0000000000..86dde9c3e0 --- /dev/null +++ b/examples/QUANTUM/LATTE/in.uo2.latte.aimd @@ -0,0 +1,26 @@ +# AIMD test of two UO2 molecules with LATTE in MDI stand-alone mode + +units metal +atom_style full +atom_modify sort 0 0.0 + +read_data 2uo2.lmp + +velocity all create 300.0 87287 loop geom + +neighbor 1.0 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.00025 + +fix 1 all nve + +fix 2 all mdi/qm virial yes elements U O + +thermo_style custom step temp pe etotal press +thermo 1 + +#dump 1 all custom 1 dump.aimd.mpi & +# id type x y z vx vy vz fx fy fz + +run 20 diff --git a/examples/QUANTUM/LATTE/in.uo2.latte.aimd.plugin b/examples/QUANTUM/LATTE/in.uo2.latte.aimd.plugin new file mode 100644 index 0000000000..e17b34c1d3 --- /dev/null +++ b/examples/QUANTUM/LATTE/in.uo2.latte.aimd.plugin @@ -0,0 +1,27 @@ +# AIMD test of two UO2 molecules with LATTE in MDI plugin mode + +units metal +atom_style full +atom_modify sort 0 0.0 + +read_data 2uo2.lmp + +velocity all create 300.0 87287 loop geom + +neighbor 1.0 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.00025 + +fix 1 all nve + +fix 2 all mdi/qm virial yes elements U O + +thermo_style custom step temp pe etotal press +thermo 1 + +#dump 1 all custom 1 dump.aimd.plugin & +# id type x y z vx vy vz fx fy fz + +mdi plugin latte_mdi mdi "-role ENGINE -name LATTE -method LINK" & + extra latte.in.uo2 command "run 20" diff --git a/examples/QUANTUM/LATTE/in.uo2.latte.series b/examples/QUANTUM/LATTE/in.uo2.latte.series new file mode 100644 index 0000000000..578ee62282 --- /dev/null +++ b/examples/QUANTUM/LATTE/in.uo2.latte.series @@ -0,0 +1,37 @@ +# Series of single-point calcs of 2,3,4 UO2 molecules +# with LATTE in MDI stand-alone mode + +variable files index 2uo2 3uo2 4uo2 + +mdi connect + +label LOOP + + units metal + atom_style full + atom_modify sort 0 0.0 + + read_data ${files}.lmp + + neighbor 0.3 bin + neigh_modify every 1 delay 0 check yes + + timestep 0.001 + + fix 1 all mdi/qm virial yes elements U O connect no + + thermo_style custom step temp pe etotal press + thermo 1 + + run 0 + + write_dump all custom dump.series.mpi.${files} & + id type x y z fx fy fz modify sort id + + clear + +next files + +jump SELF LOOP + +mdi exit diff --git a/examples/QUANTUM/LATTE/in.uo2.latte.series.plugin b/examples/QUANTUM/LATTE/in.uo2.latte.series.plugin new file mode 100644 index 0000000000..0654c9c12e --- /dev/null +++ b/examples/QUANTUM/LATTE/in.uo2.latte.series.plugin @@ -0,0 +1,32 @@ +# Series of single-point calcs of 2,3,4 UO2 molecules +# with LATTE in MDI plugin mode + +variable files index 2uo2 3uo2 4uo2 + +label LOOP + + units metal + atom_style full + atom_modify sort 0 0.0 + + read_data ${files}.lmp + + neighbor 0.3 bin + neigh_modify every 1 delay 0 check yes + + fix 1 all mdi/qm virial yes elements U O + + thermo_style custom step temp pe etotal press + thermo 1 + + mdi plugin latte_mdi mdi "-role ENGINE -name LATTE -method LINK" & + extra latte.in.uo2 command "run 0" + + write_dump all custom dump.series.plugin.${files} & + id type x y z fx fy fz modify sort id + + clear + +next files + +jump SELF LOOP diff --git a/examples/QUANTUM/LATTE/in.water.latte.aimd b/examples/QUANTUM/LATTE/in.water.latte.aimd index 79fd72d497..56f3f78692 100644 --- a/examples/QUANTUM/LATTE/in.water.latte.aimd +++ b/examples/QUANTUM/LATTE/in.water.latte.aimd @@ -29,7 +29,7 @@ timestep 0.00025 fix 1 all nve -fix 2 all mdi/qm virial yes elements 8 1 +fix 2 all mdi/qm virial yes elements O H #fix 2 all latte fix_modify 2 energy yes @@ -37,5 +37,5 @@ thermo_style custom step temp pe etotal press # dynamics -thermo 1 -run 10 +thermo 10 +run 100 diff --git a/examples/QUANTUM/LATTE/in.water.latte.aimd.plugin b/examples/QUANTUM/LATTE/in.water.latte.aimd.plugin index f5cddd89e3..310ccc9512 100644 --- a/examples/QUANTUM/LATTE/in.water.latte.aimd.plugin +++ b/examples/QUANTUM/LATTE/in.water.latte.aimd.plugin @@ -29,7 +29,7 @@ timestep 0.00025 fix 1 all nve -fix 2 all mdi/qm virial yes elements 8 1 +fix 2 all mdi/qm virial yes elements O H fix_modify 2 energy yes thermo_style custom step temp pe etotal press @@ -39,4 +39,4 @@ thermo_style custom step temp pe etotal press thermo 10 mdi plugin latte_mdi mdi "-role ENGINE -name LATTE -method LINK" & - command "run 100" + extra latte.in.water command "run 100" diff --git a/examples/QUANTUM/LATTE/latte_mdi.py b/examples/QUANTUM/LATTE/latte_mdi.py index 7b646144c6..aceb19d199 100644 --- a/examples/QUANTUM/LATTE/latte_mdi.py +++ b/examples/QUANTUM/LATTE/latte_mdi.py @@ -1,15 +1,30 @@ # MDI wrapper on LATTE code -import sys,time +# native LATTE units are Angstroms and eV + +import sys,os,time from ctypes import * import numpy as np from mpi4py import MPI import MDI_Library as mdi -# conversions of atomic number to element symbol +# -------------------------------------------- -atomic_number_to_symbol = {1: 'H', 6: 'C', 7: 'N', 8: 'O', 17: 'Cl'} +ELEMENTS = [ + 'H' , 'He', 'Li', 'Be', 'B' , 'C' , 'N' , 'O' , 'F' , 'Ne', + 'Na', 'Mg', 'Al', 'Si', 'P' , 'S' , 'Cl', 'Ar', 'K' , 'Ca', + 'Sc', 'Ti', 'V' , 'Cr', 'Mn', 'Fe', 'Co', 'Ni', 'Cu', 'Zn', + 'Ga', 'Ge', 'As', 'Se', 'Br', 'Kr', 'Rb', 'Sr', 'Y' , 'Zr', + 'Nb', 'Mo', 'Tc', 'Ru', 'Rh', 'Pd', 'Ag', 'Cd', 'In', 'Sn', + 'Sb', 'Te', 'I' , 'Xe', 'Cs', 'Ba', 'La', 'Ce', 'Pr', 'Nd', + 'Pm', 'Sm', 'Eu', 'Gd', 'Tb', 'Dy', 'Ho', 'Er', 'Tm', 'Yb', + 'Lu', 'Hf', 'Ta', 'W' , 'Re', 'Os', 'Ir', 'Pt', 'Au', 'Hg', + 'Tl', 'Pb', 'Bi', 'Po', 'At', 'Rn', 'Fr', 'Ra', 'Ac', 'Th', + 'Pa', 'U' , 'Np', 'Pu', 'Am', 'Cm', 'Bk', 'Cf', 'Es', 'Fm', + 'Md', 'No', 'Lr', 'Rf', 'Db', 'Sg', 'Bh', 'Hs', 'Mt', 'Ds', + 'Rg', 'Cn', 'Nh', 'Fl', 'Mc', 'Lv', 'Ts', 'Og', +] # -------------------------------------------- # global data @@ -28,6 +43,7 @@ mode = AIMD libname = "liblatte.so" liblatte = None +infile = None # QM inputs @@ -45,6 +61,10 @@ qm_natoms = 0 qm_elements = None qm_coords = None qm_potential = None +qm_velocity = None +qm_ntypes = 0 +qm_types = None +qm_mass = None mm_natoms = 0 mm_coords = None @@ -73,9 +93,16 @@ def error(txt): # -------------------------------------------- def options(other_options): - if len(other_options) != 0: - error("No args currently used by LATTE wrapper") + global infile + + if len(other_options) != 1: + error("No filename provided to LATTE wrapper") + infile = other_options[0] + # copy infile to latte.in as required by LATTE + + os.system("cp %s latte.in" % infile) + # -------------------------------------------- # operate as an engine # -------------------------------------------- @@ -382,17 +409,21 @@ def receive_mm_charges(mdicomm): # -------------------------------------------- def allocate(which): - global qm_types,qm_elements,qm_coords,qm_potential,qm_forces,qm_charges + global qm_elements,qm_coords,qm_potential,qm_forces,qm_charges + global qm_types,qm_mass,qm_velocity global mm_coords,mm_charges,mm_forces if which == "qm": n = qm_natoms - qm_types = np.empty(n,dtype=np.int32) qm_elements = np.empty(n,dtype=np.int32) qm_coords = np.empty((n,3)) qm_potential = np.empty(n) qm_forces = np.empty((n,3)) qm_charges = np.empty(n) + + qm_types = np.empty(n,dtype=np.int32) + qm_velocity = np.empty((n,3)) + qm_velocity.fill(0.0) if which == "mm": n = mm_natoms @@ -443,6 +474,7 @@ def evaluate(): error("QM atom properties not fully specified") if mode == QMMM and not flag_qm_potential: error("QM atom properties not fully specified") + set_types_masses() # LATTE inputs # box, qm_coords must be converted to Angstroms @@ -471,27 +503,14 @@ def evaluate(): #flags_latte[4] = vflag_atom and thermo_virial; # virial, 0 for no #flags_latte[5] = neighflag; # 1 to pass neighbor list to LATTE, 0 for no - # hard-wired values for 8-water problem - - qm_types = np.empty(qm_natoms,dtype=np.int32) - for i in range(0,qm_natoms,3): qm_types[i] = 1 - for i in range(1,qm_natoms,3): qm_types[i] = 2 - for i in range(2,qm_natoms,3): qm_types[i] = 2 - - qm_mass = [15.995, 1.008] - # setup ctypes args for liblatte.latte() function flags_latte = 6*[0] c_flags_latte = (c_int*6)(*flags_latte) c_qm_natoms = c_int(qm_natoms) - - qm_ntypes = 2 c_qm_ntypes = c_int(qm_ntypes) - c_qm_mass = (c_double*qm_ntypes)(*qm_mass) - boxlo = [0.0,0.0,0.0] boxhi = [box_A[0],box_A[4],box_A[8]] xy = box_A[3] @@ -509,10 +528,7 @@ def evaluate(): c_qm_pe = c_double(qm_pe) - qm_velocity = np.empty((qm_natoms,3)) - qm_velocity.fill(0.0) - - timestep = 0.00025 + timestep = 0.0 c_timestep = c_double(timestep) latte_stress = np.empty(6) @@ -520,11 +536,8 @@ def evaluate(): latte_error = 0 c_latte_error = c_bool(latte_error) - # QMMM with QM and MM atoms - # NOTE: need qm_velocity and timestep and mass and types ? - # all of these are addresses of scalars for Fortran ? if mode == QMMM: error("QMMM not yet supported with LATTE") @@ -535,53 +548,51 @@ def evaluate(): #print("Calling LATTE ...") time1 = time.time() - #print("flags_latte",c_flags_latte[0:6]) - #print("qm_natoms",c_qm_natoms.value) - #print("qm_coords",qm_coords_A) - #print("qm_types",qm_types) - #print("qm_ntypes",c_qm_ntypes.value) - #print("qm_mass",c_qm_mass[0:2]) - #print("boxlo",c_boxlo[0:3]) - #print("boxhi",c_boxhi[0:3]) - #print("xy",c_xy.value) - #print("xz",c_xz.value) - #print("yz",c_yz.value) - #print("maxiter",c_maxiter.value) - #print("timestep",c_timestep.value) - #print("new_system",c_new_system.value) - + #print("A",c_qm_natoms.value) + #print("B",qm_coords_A) + #print("C",qm_types) + #print("D",c_qm_ntypes.value) + #print("E",qm_mass) + #print("F",c_boxlo[0],c_boxlo[1],c_boxlo[2]) + #print("G",c_boxhi[0],c_boxhi[1],c_boxhi[2]) + #print("H",c_xy.value,c_xz.value,c_yz.value) + #print("I",c_maxiter.value) + #print("J",qm_velocity) + #print("K",c_timestep.value) + #print("L",c_new_system.value) + liblatte.\ latte(c_flags_latte,byref(c_qm_natoms),qm_coords_A, - qm_types,byref(c_qm_ntypes),c_qm_mass, + qm_types,byref(c_qm_ntypes),qm_mass, c_boxlo,c_boxhi,byref(c_xy),byref(c_xz),byref(c_yz), qm_forces,byref(c_maxiter),byref(c_qm_pe), qm_velocity,byref(c_timestep),latte_stress, byref(c_new_system),byref(c_latte_error)) - # NOTE: check latte_error return? + latte_error = c_latte_error.value + time2 = time.time() + #print("LATTE time:",time2-time1,latte_error) + + # LATTE computes extensive stress values + # MDI stress values are intensive + # so divide latte_stress by box volume in Angstroms + # more generally could use volume = (a x b) dot c for (a,b,c) edge vectors + qm_pe = c_qm_pe.value latte_stress /= box_A[0]*box_A[4]*box_A[8] - #print("LATTE STRESS:",latte_stress) - - time2 = time.time() - #print("DONE LATTE",latte_error,time2-time1) - - # conversion of LATTE outputs + # conversion of LATTE outputs to MDI units # qm_pe from eV to Hartrees # qm_forces from eV/A to Hartrees/Bohr # latte_stress from eV/A^3 to Hartrees/Bohr^3 - # also need to divide stress by box volume to make it intensive - # NOTE: why box volume in Angs ? b/c that is what LATTE did ? - # did this above - ev_to_hartree = mdi.MDI_Conversion_factor("electron_volt","hartree") angstrom_to_bohr = mdi.MDI_Conversion_factor("angstrom","bohr") qm_pe *= ev_to_hartree qm_forces *= ev_to_hartree / angstrom_to_bohr - latte_stress *= ev_to_hartree / (angstrom_to_bohr*angstrom_to_bohr*angstrom_to_bohr) + latte_stress *= ev_to_hartree / \ + (angstrom_to_bohr*angstrom_to_bohr*angstrom_to_bohr) qm_stress[0] = latte_stress[0] qm_stress[4] = latte_stress[1] @@ -590,13 +601,6 @@ def evaluate(): qm_stress[2] = qm_stress[6] = latte_stress[4] qm_stress[5] = qm_stress[7] = latte_stress[5] - #print("CONVERT:",ev_to_hartree / (angstrom_to_bohr*angstrom_to_bohr*angstrom_to_bohr)) - #print("QM STRESS:",qm_stress) - - #print("PE",qm_pe) - #print("FORCE",qm_forces) - #print("STRESS",qm_stress) - # clear flags for all MDI commands for next QM evaluation flag_qm_natoms = flag_mm_natoms = 0 @@ -625,12 +629,68 @@ def latte_load(): liblatte.latte.restype = None liblatte.latte.argtypes = \ - [POINTER(c_int), POINTER(c_int), nparray, npvector_int, POINTER(c_int), POINTER(c_double), + [POINTER(c_int), POINTER(c_int), nparray, npvector_int, POINTER(c_int), npvector_double, POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), POINTER(c_double), nparray, POINTER(c_int), POINTER(c_double), nparray, POINTER(c_double), npvector_double, POINTER(c_int), POINTER(c_bool)] +# -------------------------------------------- +# set ntypes, qm_types, qm_mass from qm_elements and electrons.dat file +# required inputs for LATTE latte() function +# -------------------------------------------- + +def set_types_masses(): + global qm_ntypes,qm_types,qm_mass + + # read latte.in file for PARAMPATH to electrons.dat file + + lines = open(infile,'r').readlines() + for line in lines: + if "PARAMPATH=" not in line: continue + words = line.split() + parampath = words[1][1:-1] + + if parampath[-1] == '/': efile = parampath + "electrons.dat" + else: efile = parampath + "/electrons.dat" + + # extract symbol/mass pairings from electrons.dat file + # symbol2mass = dict for mass of each chemical symbol + + lines = open(efile,'r').readlines() + + symbol2mass = {} + for line in lines[2:]: + line = line.strip() + if not line: continue + words = line.split() + if words[0] in symbol2mass: continue + else: symbol2mass[words[0]] = float(words[7]) + + # symbol_list = list of unique chemical symbols + # qm_ntypes = # of unique symbols + + symbol_list = [] + for i in range(qm_natoms): + symbol = ELEMENTS[qm_elements[i]-1] + if symbol not in symbol2mass: + error("Atom element symbol not in LATTE electrons.dat file") + if symbol in symbol_list: continue + symbol_list.append(symbol) + + qm_ntypes = len(symbol_list) + + # qm_types = chemcial type of each atom (1 to qm_types) + # qm_mass = mass of each atom type + + qm_mass = np.empty(qm_ntypes) + + for i in range(qm_natoms): + symbol = ELEMENTS[qm_elements[i]-1] + itype = symbol_list.index(symbol) + qm_types[i] = itype + 1 + qm_mass[itype] = symbol2mass[symbol] + # -------------------------------------------- # function called by MDI driver # only when it invokes pyscf_mdi.py as a plugin diff --git a/examples/QUANTUM/PySCF/pyscf_mdi.py b/examples/QUANTUM/PySCF/pyscf_mdi.py index 8bae16d8f0..3e9067e402 100644 --- a/examples/QUANTUM/PySCF/pyscf_mdi.py +++ b/examples/QUANTUM/PySCF/pyscf_mdi.py @@ -38,8 +38,6 @@ from pyscf.pbc.dft import RKS as RKS_pbc atomic_number_to_radius = {1: 0.32, 6: 0.75, 7: 0.71, 8: 0.63, 17: 0.99} -# ELEMENTS is from pyscf/pyscf/data/elements.py - ELEMENTS = [ 'H' , 'He', 'Li', 'Be', 'B' , 'C' , 'N' , 'O' , 'F' , 'Ne', 'Na', 'Mg', 'Al', 'Si', 'P' , 'S' , 'Cl', 'Ar', 'K' , 'Ca', diff --git a/src/MDI/fix_mdi_qm.cpp b/src/MDI/fix_mdi_qm.cpp index dbfc3f3ae9..9567f4d514 100644 --- a/src/MDI/fix_mdi_qm.cpp +++ b/src/MDI/fix_mdi_qm.cpp @@ -25,7 +25,7 @@ using namespace FixConst; enum { NATIVE, REAL, METAL }; // LAMMPS units which MDI supports -#define MAXELEMENT 103 // used elsewhere in MDI package +#define MAXELEMENT 118 /* ---------------------------------------------------------------------- */ @@ -87,14 +87,32 @@ FixMDIQM::FixMDIQM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) error->all(FLERR, "Illegal fix mdi/qm command"); iarg += 2; } else if (strcmp(arg[iarg], "elements") == 0) { + const char *symbols[] = { + "H" , "He", "Li", "Be", "B" , "C" , "N" , "O" , "F" , "Ne", + "Na", "Mg", "Al", "Si", "P" , "S" , "Cl", "Ar", "K" , "Ca", + "Sc", "Ti", "V" , "Cr", "Mn", "Fe", "Co", "Ni", "Cu", "Zn", + "Ga", "Ge", "As", "Se", "Br", "Kr", "Rb", "Sr", "Y" , "Zr", + "Nb", "Mo", "Tc", "Ru", "Rh", "Pd", "Ag", "Cd", "In", "Sn", + "Sb", "Te", "I" , "Xe", "Cs", "Ba", "La", "Ce", "Pr", "Nd", + "Pm", "Sm", "Eu", "Gd", "Tb", "Dy", "Ho", "Er", "Tm", "Yb", + "Lu", "Hf", "Ta", "W" , "Re", "Os", "Ir", "Pt", "Au", "Hg", + "Tl", "Pb", "Bi", "Po", "At", "Rn", "Fr", "Ra", "Ac", "Th", + "Pa", "U" , "Np", "Pu", "Am", "Cm", "Bk", "Cf", "Es", "Fm", + "Md", "No", "Lr", "Rf", "Db", "Sg", "Bh", "Hs", "Mt", "Ds", + "Rg", "Cn", "Nh", "Fl", "Mc", "Lv", "Ts", "Og", + }; + int ntypes = atom->ntypes; if (iarg + ntypes + 1 > narg) error->all(FLERR, "Illegal fix mdi/qm command"); delete[] elements; elements = new int[ntypes + 1]; for (int i = 1; i <= ntypes; i++) { - elements[i] = utils::inumeric(FLERR, arg[iarg + i], false, lmp); - if (elements[i] < 1 || elements[i] > MAXELEMENT) - error->all(FLERR, "Illegal fix mdi/qm command"); + int anum; + for (anum = 0; anum < MAXELEMENT; anum++) + if (strcmp(arg[iarg + i],symbols[anum]) == 0) break; + if (anum == MAXELEMENT) + error->all(FLERR,"Invalid chemical element in fix mdi/qm command"); + elements[i] = anum + 1; } iarg += ntypes + 1; } else @@ -274,8 +292,8 @@ void FixMDIQM::init() error->all(FLERR, "MDI: Engine has wrong atom count and does not support >NATOMS command"); } - int elements_exists; - int types_exists; + int elements_exists,types_exists; + ierr = MDI_Check_command_exists("@DEFAULT", ">ELEMENTS", mdicomm, &elements_exists); if (ierr) error->all(FLERR, "MDI: >ELEMENTS command check"); MPI_Bcast(&elements_exists, 1, MPI_INT, 0, world); @@ -288,6 +306,7 @@ void FixMDIQM::init() send_elements(); else if (types_exists) send_types(); + send_box(); } @@ -531,6 +550,7 @@ void FixMDIQM::send_elements() /* ---------------------------------------------------------------------- send simulation box size and shape to MDI engine + only send CELL_DISPL if engine supports it ------------------------------------------------------------------------- */ void FixMDIQM::send_box() @@ -564,7 +584,8 @@ void FixMDIQM::send_box() cell[7] = domain->yz; cell[8] = domain->boxhi[2] - domain->boxlo[2]; - // convert the cell units to bohr + // convert cell units to bohr + for (int icell = 0; icell < 9; icell++) cell[icell] *= lmp2mdi_length; ierr = MDI_Send(cell, 9, MDI_DOUBLE, mdicomm); diff --git a/src/MDI/fix_mdi_qmmm.cpp b/src/MDI/fix_mdi_qmmm.cpp index d2a16e47a7..7a8658e27a 100644 --- a/src/MDI/fix_mdi_qmmm.cpp +++ b/src/MDI/fix_mdi_qmmm.cpp @@ -31,7 +31,7 @@ using namespace FixConst; enum { NATIVE, REAL, METAL }; // LAMMPS units which MDI supports enum { DIRECT, POTENTIAL }; // mode of QMMM coupling -#define MAXELEMENT 103 // used elsewhere in MDI package +#define MAXELEMENT 118 // prototype for non-class compare function for sorting QM IDs @@ -43,9 +43,6 @@ FixMDIQMMM::FixMDIQMMM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { // check requirements for LAMMPS to work with MDI for a QMMM engine - if (domain->dimension == 2) - error->all(FLERR,"Fix mdi/qmmm requires 3d simulation"); - if (!atom->tag_enable) error->all(FLERR,"Fix mdi/qmmm requires atom IDs be defined"); @@ -95,14 +92,32 @@ FixMDIQMMM::FixMDIQMMM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) error->all(FLERR, "Illegal fix mdi/qmmm command"); iarg += 2; } else if (strcmp(arg[iarg], "elements") == 0) { + const char *symbols[] = { + "H" , "He", "Li", "Be", "B" , "C" , "N" , "O" , "F" , "Ne", + "Na", "Mg", "Al", "Si", "P" , "S" , "Cl", "Ar", "K" , "Ca", + "Sc", "Ti", "V" , "Cr", "Mn", "Fe", "Co", "Ni", "Cu", "Zn", + "Ga", "Ge", "As", "Se", "Br", "Kr", "Rb", "Sr", "Y" , "Zr", + "Nb", "Mo", "Tc", "Ru", "Rh", "Pd", "Ag", "Cd", "In", "Sn", + "Sb", "Te", "I" , "Xe", "Cs", "Ba", "La", "Ce", "Pr", "Nd", + "Pm", "Sm", "Eu", "Gd", "Tb", "Dy", "Ho", "Er", "Tm", "Yb", + "Lu", "Hf", "Ta", "W" , "Re", "Os", "Ir", "Pt", "Au", "Hg", + "Tl", "Pb", "Bi", "Po", "At", "Rn", "Fr", "Ra", "Ac", "Th", + "Pa", "U" , "Np", "Pu", "Am", "Cm", "Bk", "Cf", "Es", "Fm", + "Md", "No", "Lr", "Rf", "Db", "Sg", "Bh", "Hs", "Mt", "Ds", + "Rg", "Cn", "Nh", "Fl", "Mc", "Lv", "Ts", "Og", + }; + int ntypes = atom->ntypes; if (iarg + ntypes + 1 > narg) error->all(FLERR, "Illegal fix mdi/qmmm command"); delete[] elements; elements = new int[ntypes + 1]; - for (int i = 1; i <= ntypes; i++) { - elements[i] = utils::inumeric(FLERR, arg[iarg + i], false, lmp); - if (elements[i] < 1 || elements[i] > MAXELEMENT) - error->all(FLERR, "Illegal fix mdi/qmmm command"); + for (int i = 1; i <= ntypes; i++) { + int anum; + for (anum = 0; anum < MAXELEMENT; anum++) + if (strcmp(arg[iarg + 1],symbols[anum]) == 0) break; + if (anum == MAXELEMENT) + error->all(FLERR,"Invalid chemical element in fix mdi/qmmm command"); + elements[i] = anum + 1; } iarg += ntypes + 1; } else diff --git a/src/MDI/mdi_engine.cpp b/src/MDI/mdi_engine.cpp index a5b9c78afa..09d858017f 100644 --- a/src/MDI/mdi_engine.cpp +++ b/src/MDI/mdi_engine.cpp @@ -54,7 +54,7 @@ enum { DEFAULT, MD, OPT }; // top-level MDI engine modes enum { TYPE, CHARGE, MASS, COORD, VELOCITY, FORCE, ADDFORCE }; -#define MAXELEMENT 103 // used elsewhere in MDI package +#define MAXELEMENT 118 /* ---------------------------------------------------------------------- trigger LAMMPS to start acting as an MDI engine @@ -81,14 +81,32 @@ MDIEngine::MDIEngine(LAMMPS *_lmp, int narg, char **arg) : Pointers(_lmp) int iarg = 0; while (iarg < narg) { if (strcmp(arg[iarg], "elements") == 0) { + const char *symbols[] = { + "H" , "He", "Li", "Be", "B" , "C" , "N" , "O" , "F" , "Ne", + "Na", "Mg", "Al", "Si", "P" , "S" , "Cl", "Ar", "K" , "Ca", + "Sc", "Ti", "V" , "Cr", "Mn", "Fe", "Co", "Ni", "Cu", "Zn", + "Ga", "Ge", "As", "Se", "Br", "Kr", "Rb", "Sr", "Y" , "Zr", + "Nb", "Mo", "Tc", "Ru", "Rh", "Pd", "Ag", "Cd", "In", "Sn", + "Sb", "Te", "I" , "Xe", "Cs", "Ba", "La", "Ce", "Pr", "Nd", + "Pm", "Sm", "Eu", "Gd", "Tb", "Dy", "Ho", "Er", "Tm", "Yb", + "Lu", "Hf", "Ta", "W" , "Re", "Os", "Ir", "Pt", "Au", "Hg", + "Tl", "Pb", "Bi", "Po", "At", "Rn", "Fr", "Ra", "Ac", "Th", + "Pa", "U" , "Np", "Pu", "Am", "Cm", "Bk", "Cf", "Es", "Fm", + "Md", "No", "Lr", "Rf", "Db", "Sg", "Bh", "Hs", "Mt", "Ds", + "Rg", "Cn", "Nh", "Fl", "Mc", "Lv", "Ts", "Og", + }; + int ntypes = atom->ntypes; delete[] elements; elements = new int[ntypes + 1]; if (iarg + ntypes + 1 > narg) error->all(FLERR, "Illegal mdi engine command"); for (int i = 1; i <= ntypes; i++) { - elements[i] = utils::inumeric(FLERR, arg[iarg + i], false, lmp); - if (elements[i] < 0 || elements[i] > MAXELEMENT) - error->all(FLERR, "Illegal mdi engine command"); + int anum; + for (anum = 0; anum < MAXELEMENT; anum++) + if (strcmp(arg[iarg + 1],symbols[anum]) == 0) break; + if (anum == MAXELEMENT) + error->all(FLERR,"Invalid chemical element in mdi engine command"); + elements[i] = anum + 1; } iarg += ntypes + 1; } else From fd1823a89090962fa1acbf369d70d0e5a370decc Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 3 Feb 2023 08:00:58 -0700 Subject: [PATCH 077/448] more debugging --- examples/QUANTUM/LATTE/in.aimd | 7 +++--- examples/QUANTUM/LATTE/in.aimd.plugin | 3 ++- examples/QUANTUM/LATTE/latte.in | 32 --------------------------- 3 files changed, 6 insertions(+), 36 deletions(-) delete mode 100755 examples/QUANTUM/LATTE/latte.in diff --git a/examples/QUANTUM/LATTE/in.aimd b/examples/QUANTUM/LATTE/in.aimd index 8039f692b7..2897b9bbb7 100644 --- a/examples/QUANTUM/LATTE/in.aimd +++ b/examples/QUANTUM/LATTE/in.aimd @@ -15,12 +15,13 @@ timestep 0.00025 fix 1 all nve -fix 2 all mdi/qm virial yes elements 92 8 +#fix 2 all mdi/qm virial yes elements 92 8 +fix 2 all mdi/qm virial yes elements U O thermo_style custom step temp pe etotal press thermo 1 -dump 1 all custom 1 dump.aimd.mpi & - id type x y z vx vy vz fx fy fz +#dump 1 all custom 1 dump.aimd.mpi & +# id type x y z vx vy vz fx fy fz run 20 diff --git a/examples/QUANTUM/LATTE/in.aimd.plugin b/examples/QUANTUM/LATTE/in.aimd.plugin index a485cb671a..85268345bd 100644 --- a/examples/QUANTUM/LATTE/in.aimd.plugin +++ b/examples/QUANTUM/LATTE/in.aimd.plugin @@ -15,7 +15,8 @@ timestep 0.00025 fix 1 all nve -fix 2 all mdi/qm virial yes elements 92 8 +#fix 2 all mdi/qm virial yes elements 92 8 +fix 2 all mdi/qm virial yes elements U O thermo_style custom step temp pe etotal press thermo 1 diff --git a/examples/QUANTUM/LATTE/latte.in b/examples/QUANTUM/LATTE/latte.in deleted file mode 100755 index 80280c3762..0000000000 --- a/examples/QUANTUM/LATTE/latte.in +++ /dev/null @@ -1,32 +0,0 @@ -LATTE INPUT FILE -================ -#This input file resumes the content of MDcontroller and TBparam/control.in -#The parser will only read it is present inside the running folder. -#In case this file is not present Latte will read the two files as original. -#The order of the keywords is not important in this file. -#To get a full description of these keywords please see: -## https://github.com/lanl/LATTE/blob/master/Manual/LATTE_manual.pdf - -#General controls -CONTROL{ - XCONTROL= 1 - BASISTYPE= NONORTHO - PARAMPATH= "./TBparam_water" - KBT= 0.0 - ENTROPYKIND= 1 - PPOTON= 1 - SPINON= 0 SPINTOL= 1.0e-4 - ELECTRO= 1 ELECMETH= 0 ELEC_QTOL= 1.0e-8 - MAXSCF= 450 - BREAKTOL= 1.0E-6 MINSP2ITER= 22 SP2CONV= REL - FULLQCONV= 1 QITER= 3 - QMIX= 0.25 SPINMIX= 0.25 MDMIX= 0.25 - SPARSEON= 0 THRESHOLDON= 1 NUMTHRESH= 1.0e-6 FILLINSTOP= 100 BLKSZ= 4 - MSPARSE= 1500 - SKIN= 1.0 - CHARGE= 0 - XBO= 1 - XBODISON= 1 - XBODISORDER= 5 - KON= 0 -} From c45b9a53012c2e2e0a7df5d46c1647c8a9932489 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 3 Feb 2023 15:20:18 -0700 Subject: [PATCH 078/448] more debugging --- examples/QUANTUM/LATTE/in.aimd | 3 +- examples/QUANTUM/LATTE/in.aimd.plugin | 3 +- examples/QUANTUM/PySCF/README | 21 + examples/QUANTUM/PySCF/data.mixture | 9308 +++++++++++++++++ .../PySCF/{data.water.pyscf => data.water} | 0 examples/QUANTUM/PySCF/in.mixture.lammps | 43 + examples/QUANTUM/PySCF/in.mixture.pyscf.qmmm | 46 + .../PySCF/in.mixture.pyscf.qmmm.plugin | 48 + examples/QUANTUM/PySCF/in.water.pyscf.qmmm | 4 +- .../QUANTUM/PySCF/in.water.pyscf.qmmm.plugin | 4 +- examples/QUANTUM/PySCF/pyscf_mdi.py | 16 +- src/MDI/fix_mdi_qmmm.cpp | 2 +- src/MDI/mdi_engine.cpp | 2 +- 13 files changed, 9483 insertions(+), 17 deletions(-) create mode 100644 examples/QUANTUM/PySCF/data.mixture rename examples/QUANTUM/PySCF/{data.water.pyscf => data.water} (100%) create mode 100644 examples/QUANTUM/PySCF/in.mixture.lammps create mode 100644 examples/QUANTUM/PySCF/in.mixture.pyscf.qmmm create mode 100644 examples/QUANTUM/PySCF/in.mixture.pyscf.qmmm.plugin diff --git a/examples/QUANTUM/LATTE/in.aimd b/examples/QUANTUM/LATTE/in.aimd index 2897b9bbb7..3c713dfdc6 100644 --- a/examples/QUANTUM/LATTE/in.aimd +++ b/examples/QUANTUM/LATTE/in.aimd @@ -15,8 +15,7 @@ timestep 0.00025 fix 1 all nve -#fix 2 all mdi/qm virial yes elements 92 8 -fix 2 all mdi/qm virial yes elements U O +fix 2 all mdi/qm virial yes elements 92 8 thermo_style custom step temp pe etotal press thermo 1 diff --git a/examples/QUANTUM/LATTE/in.aimd.plugin b/examples/QUANTUM/LATTE/in.aimd.plugin index 85268345bd..a485cb671a 100644 --- a/examples/QUANTUM/LATTE/in.aimd.plugin +++ b/examples/QUANTUM/LATTE/in.aimd.plugin @@ -15,8 +15,7 @@ timestep 0.00025 fix 1 all nve -#fix 2 all mdi/qm virial yes elements 92 8 -fix 2 all mdi/qm virial yes elements U O +fix 2 all mdi/qm virial yes elements 92 8 thermo_style custom step temp pe etotal press thermo 1 diff --git a/examples/QUANTUM/PySCF/README b/examples/QUANTUM/PySCF/README index 43a922846b..245a7053aa 100644 --- a/examples/QUANTUM/PySCF/README +++ b/examples/QUANTUM/PySCF/README @@ -112,3 +112,24 @@ Step 4: run the 2-water QMMM problem for a few steps # Run in plugin mode: 1 proc % lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/PySCF" -log log.water.pyscf.qmmm.plugin.1 -in in.water.pyscf.qmmm.plugin + +--------------------------------- +--------------------------------- + +Step 5: run the mixture QMMM problem for a few steps + +% cd ~/lammps/examples/QUANTUM/PySCF + +# Run with TCP: 1 proc each + +% lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.mixture.pyscf.qmmm.tcp.1 -in in.mixture.pyscf.qmmm & + +% python pyscf_mdi.py -mdi "-name PYSCF -role ENGINE -method TCP -port 8021 -hostname localhost" + +# Run with MPI: 1 proc each + +% mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.mixture.pyscf.qmmm.mpi.1 -in in.mixture.pyscf.qmmm : -np 1 python pyscf_mdi.py -mdi "-name PYSCF -role ENGINE -method MPI" -pbc no + +# Run in plugin mode: 1 proc + +% lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/PySCF" -log log.mixture.pyscf.qmmm.plugin.1 -in in.mixture.pyscf.qmmm.plugin diff --git a/examples/QUANTUM/PySCF/data.mixture b/examples/QUANTUM/PySCF/data.mixture new file mode 100644 index 0000000000..31172933b8 --- /dev/null +++ b/examples/QUANTUM/PySCF/data.mixture @@ -0,0 +1,9308 @@ +LAMMPS data file via write_data, version 29 Sep 2021, timestep = 100 + +3081 atoms +7 atom types +2055 bonds +4 bond types +1033 angles +4 angle types + +0 31.35187685 xlo xhi +0 31.35187685 ylo yhi +0 31.35187685 zlo zhi + +Masses + +1 14.007 +2 1.008 +3 12.011 +4 1.008 +5 35.45 +6 15.999 +7 1.008 + +Pair Coeffs # lj/cut/coul/long + +1 0.07 3.52796 +2 0.012 1.55016 +3 0.078 3.65268 +4 0.024 2.38761 +5 0.343 3.40323 +6 0.155425 3.16549 +7 0 0 + +Bond Coeffs # harmonic + +1 529.581 1.012 +2 500 1.04 +3 500 1.11 +4 500 1.78 + +Angle Coeffs # harmonic + +1 37.95 113.24 +2 40 108.31 +3 40 109.45 +4 40 109.45 + +Atoms # full + +11 1 7 0.41 30.415798350937745 5.779843377185297 3.84715817930759 0 0 0 +339 110 7 0.41 6.886671978651172 8.273407810742167 30.83074761707868 0 0 0 +376 123 6 -0.82 3.2007963348178534 0.08303557757714296 2.6887570464079276 0 0 0 +377 123 7 0.41 4.208988147051948 0.09232233947985807 2.8600499609646666 0 0 0 +378 123 7 0.41 3.029734175183514 30.599142646872476 2.127562879271948 0 -1 0 +511 168 6 -0.82 0.9324043427894111 2.9674747483461337 2.430481743095054 0 0 0 +512 168 7 0.41 0.46637105450520616 2.214559865781192 1.8808201359298757 0 0 0 +513 168 7 0.41 1.6726973228866198 3.347210398966963 1.81524059994179 0 0 0 +676 223 6 -0.82 0.3916910776345302 2.253248548133898 5.055049419696102 0 0 0 +677 223 7 0.41 0.540816250882426 2.5731480996253793 4.083427585684681 0 0 0 +678 223 7 0.41 1.3241946143370693 2.1154933496394337 5.459842769188562 0 0 0 +691 228 6 -0.82 5.878905893725139 1.9317066911796297 3.941041734415442 0 0 0 +692 228 7 0.41 5.673690991049597 2.612206063766326 3.194331114630699 0 0 0 +693 228 7 0.41 5.058751915820157 1.8416125395660266 4.553867387657073 0 0 0 +997 330 6 -0.82 8.39496320138276 7.3365652067691896 4.433697986778786 0 0 0 +998 330 7 0.41 8.064157321369555 6.475965457659568 3.951362574241389 0 0 0 +1120 371 6 -0.82 4.761875259288119 6.092870605722011 4.199310056120105 0 0 0 +1121 371 7 0.41 3.7688109080230885 5.814153465125142 4.2774766232323405 0 0 0 +1122 371 7 0.41 5.2789219652578945 5.634267813236882 4.965897996235251 0 0 0 +1144 379 6 -0.82 4.08137795867089 7.0952707152502255 1.755985202679984 0 0 0 +1145 379 7 0.41 4.345869348531444 6.7969879443153225 2.7181100098975137 0 0 0 +1146 379 7 0.41 3.899573193816692 6.281889165849334 1.166911277201745 0 0 0 +1482 491 7 0.41 30.865005102163288 3.876320810276032 2.3868122855463696 0 0 0 +1714 569 6 -0.82 7.7615547282536435 4.978935043179508 3.156058679238925 0 0 0 +1715 569 7 0.41 8.079820209099026 4.099711961032788 3.559012439854734 0 0 0 +1716 569 7 0.41 6.7697899950180425 4.9199127287768425 2.903181391298933 0 0 0 +1798 597 6 -0.82 2.1687580885730133 5.290143160601554 4.005456579775248 0 0 0 +1799 597 7 0.41 1.3360139903726975 5.8670139318681 4.197035055021922 0 0 0 +1800 597 7 0.41 1.9723239146982334 4.73525311179058 3.1794060968305207 0 0 0 +1822 605 6 -0.82 5.35023302207201 3.6186231177765444 1.7951275478415674 0 0 0 +1823 605 7 0.41 4.3872935855248185 3.863105153239737 1.5295161239107522 0 0 0 +1824 605 7 0.41 5.898356585586183 3.45715875638276 0.9478087135786005 0 0 0 +1891 628 6 -0.82 3.164660610635307 1.951086063717561 4.674703068481755 0 0 0 +1892 628 7 0.41 3.002961339946179 2.897697048731671 4.341761604607314 0 0 0 +1893 628 7 0.41 2.9619217589287326 1.253660138372617 3.934993809933396 0 0 0 +2021 671 7 0.41 30.758107289246166 0.31178888086371376 0.714624146953232 0 0 0 +2029 674 6 -0.82 3.250777836191355 4.916848732827833 8.093159154053275 0 0 0 +2144 712 7 0.41 2.6281322629055817 4.974426198112367 0.2931007514379114 0 0 1 +2668 887 6 -0.82 6.718338793755673 7.653958365115957 0.9732469992351592 0 0 0 +2669 887 7 0.41 5.747170584699806 7.49535111590821 1.2806233688277273 0 0 0 +2670 887 7 0.41 7.113517222177439 8.436727526416396 1.5187252790854455 0 0 0 +2878 957 6 -0.82 5.80761285660446 4.671498851801989 6.322342326084266 0 0 0 +2879 957 7 0.41 4.968439949641185 4.361071407057867 6.8236488333988925 0 0 0 +2880 957 7 0.41 6.469630489322832 3.8971136074982664 6.247992061679315 0 0 0 +190 61 6 -0.82 10.367167792572003 3.8326821561731577 4.513207898810342 0 0 0 +191 61 7 0.41 9.612320469068719 3.676568332842765 5.198446258603328 0 0 0 +192 61 7 0.41 10.791530488432176 4.758889573322843 4.748561975577371 0 0 0 +349 114 6 -0.82 13.482080899930445 5.4741483228454335 1.0727118607170962 0 0 0 +350 114 7 0.41 14.43453672537387 5.134418728447445 1.2028636647315132 0 0 0 +351 114 7 0.41 12.832639925325145 4.731518464413297 1.389739696544799 0 0 0 +487 160 6 -0.82 15.197408616667397 1.933191086686571 4.079637793555956 0 0 0 +488 160 7 0.41 15.80365574161676 2.701679924255461 4.353720497424701 0 0 0 +817 270 6 -0.82 14.38597535457503 2.023011287264823 0.0663166400672963 0 0 0 +818 270 7 0.41 13.921444717202911 2.0861339788916204 0.9713804977172362 0 0 0 +819 270 7 0.41 13.646346145163289 2.116210760948493 30.69159293736155 0 0 -1 +999 330 7 0.41 9.110336741426266 7.758725385969357 3.833770704251062 0 0 0 +1042 345 6 -0.82 10.964315985897786 1.3525623171678527 5.639614888175262 0 0 0 +1043 345 7 0.41 10.818733693365319 0.4841698610738896 5.121775835656362 0 0 0 +1044 345 7 0.41 10.872235625323192 2.1779317619284444 5.030135117928643 0 0 0 +1204 399 6 -0.82 11.300415977915081 6.184245098255786 5.320510036352531 0 0 0 +1205 399 7 0.41 10.627027474933687 6.485528394773842 6.03734701925443 0 0 0 +1206 399 7 0.41 11.619485702310891 7.030504682862284 4.831338398541452 0 0 0 +1209 400 7 0.41 14.138520389236659 4.486496388053537 7.257985664660315 0 0 0 +1405 466 6 -0.82 8.551206038185587 2.7650680617250902 6.429275613990351 0 0 0 +1406 466 7 0.41 9.312936399272239 2.0784088738753907 6.413177061979866 0 0 0 +1407 466 7 0.41 7.806464787141529 2.4266171930453106 7.054947261272985 0 0 0 +1528 507 6 -0.82 13.60862804338046 1.1467107132538963 6.163204790190775 0 0 0 +1529 507 7 0.41 13.970408153423412 1.4511294710043028 5.241261948136824 0 0 0 +1530 507 7 0.41 12.594585787137223 1.355552704139301 6.191461837915785 0 0 0 +2113 702 6 -0.82 11.837794685760711 3.5067990984016673 2.0043707230238117 0 0 0 +2114 702 7 0.41 11.458734072758272 3.5932946711048164 2.9579016560644886 0 0 0 +2115 702 7 0.41 11.064173078436276 3.3693215655383497 1.3588701721672802 0 0 0 +2218 737 6 -0.82 9.612524992625096 6.394476536469527 31.28458121457205 0 0 -1 +2219 737 7 0.41 8.987934263305156 6.38199563054151 30.45901569377856 0 0 -1 +2220 737 7 0.41 9.117028056092064 5.973234350882625 0.7164137303235759 0 0 0 +2839 944 6 -0.82 9.343636294862636 7.228503532226152 6.937462100970298 0 0 0 +2840 944 7 0.41 9.008721000321051 7.260718276189225 5.955425856288173 0 0 0 +2841 944 7 0.41 8.497020472733851 7.255628242631381 7.528808943016928 0 0 0 +274 89 6 -0.82 19.55564365023636 2.0733109717363614 3.777493953642151 0 0 0 +275 89 7 0.41 19.856589523489667 1.9092339678879537 2.8007427382046046 0 0 0 +276 89 7 0.41 18.932016497905593 2.8767528298764597 3.813509913144168 0 0 0 +305 99 7 0.41 21.626730108358306 4.613571607628279 7.5199509337771655 0 0 0 +439 144 6 -0.82 20.31014260349417 1.6606049824211688 1.1957295617821655 0 0 0 +440 144 7 0.41 19.587621885484378 2.095664506068059 0.6135449847202976 0 0 0 +441 144 7 0.41 20.45171627078076 0.6966067322431944 0.8759710665005107 0 0 0 +489 160 7 0.41 15.738091064995928 1.2809337562671896 3.4874421754789995 0 0 0 +664 219 6 -0.82 16.89786073112066 3.626710426359686 6.282101032667664 0 0 0 +665 219 7 0.41 17.377557168003566 3.7357935380320435 7.198479444006546 0 0 0 +666 219 7 0.41 16.124508886559497 4.290500289506855 6.257260530504176 0 0 0 +868 287 6 -0.82 19.082497176107328 7.077961879060769 6.853222788354386 0 0 0 +869 287 7 0.41 19.674216326089116 6.2656647970247406 6.681928282710553 0 0 0 +870 287 7 0.41 18.415432556380804 6.832073446661851 7.61200866037422 0 0 0 +913 302 6 -0.82 21.959171712028486 6.021849818033599 4.600974831074445 0 0 0 +914 302 7 0.41 22.21164900273155 5.317438833290405 3.910714545512642 0 0 0 +915 302 7 0.41 22.51431490670437 6.862204094849205 4.386920245325011 0 0 0 +1462 485 6 -0.82 16.210665154120047 1.1158371398822855 6.973156708462985 0 0 0 +1463 485 7 0.41 16.607142890454796 1.9437330371680261 6.48696647112274 0 0 0 +1464 485 7 0.41 15.243402924938776 1.0075422122355226 6.618048967440241 0 0 0 +1497 496 7 0.41 21.931048446652714 3.8776570017028527 30.339309823563443 0 0 0 +1536 509 7 0.41 16.120927440049357 30.280905952380444 6.060153184659023 0 0 0 +1603 532 6 -0.82 21.94140649578066 6.125209056609491 0.33585177294038393 0 0 0 +1604 532 7 0.41 20.969084001955128 6.225826577016933 0.6370069599118194 0 0 0 +1605 532 7 0.41 22.490802214733456 5.758962205374883 1.132885811480237 0 0 0 +1764 585 7 0.41 23.00051621419955 3.6378226348119402 6.001705251657604 0 0 0 +1840 611 6 -0.82 16.863048294879167 2.8134586107766193 0.920803694323413 0 0 0 +1841 611 7 0.41 16.782389536999382 3.8057621669803443 1.1973505924445356 0 0 0 +1842 611 7 0.41 15.971087177847599 2.5289357840918876 0.4735862176364662 0 0 0 +1876 623 6 -0.82 22.53496433052983 0.5640877085980927 6.9683188104212626 0 0 0 +1877 623 7 0.41 23.476890974269587 0.9492665163110806 6.792306362912404 0 0 0 +1878 623 7 0.41 22.58611314763838 30.895780152504802 6.761978298483923 0 -1 0 +1963 652 6 -0.82 23.03894442673631 1.588263689383867 1.5728022346485209 0 0 0 +1964 652 7 0.41 23.263115516145817 1.3187149567458791 0.615029057365629 0 0 0 +1965 652 7 0.41 22.029331403940077 1.786546758773039 1.5846905219093534 0 0 0 +2044 679 6 -0.82 19.978542597359393 1.3021987099884555 6.35395687995126 0 0 0 +2045 679 7 0.41 20.965750689432546 1.026011029930381 6.46119976210885 0 0 0 +2046 679 7 0.41 19.793580948855016 1.6106787357528598 5.3844223370429924 0 0 0 +2257 750 6 -0.82 16.643042936400906 5.480981642045618 1.6839154725110985 0 0 0 +2258 750 7 0.41 16.583610081687763 6.282032315470674 2.322184843225079 0 0 0 +2259 750 7 0.41 16.830449304338067 5.870357509444035 0.7320765568803375 0 0 0 +2353 782 6 -0.82 17.109186761923983 0.6941614333654514 2.5358224220442507 0 0 0 +2354 782 7 0.41 17.97027977408464 0.7320854829998397 3.074066357936754 0 0 0 +2355 782 7 0.41 17.0610802116807 1.4659421562032644 1.8430718639134596 0 0 0 +2785 926 6 -0.82 22.94784970717382 2.4716678301400745 4.372848870453542 0 0 0 +2786 926 7 0.41 21.958600903256222 2.254850276508404 4.465096771296091 0 0 0 +2787 926 7 0.41 23.2249990765941 2.3595276022044627 3.389398907672547 0 0 0 +10 1 6 -0.82 31.025369854367298 6.524330999242758 4.197455876212282 0 0 0 +12 1 7 0.41 30.72001809558525 6.71952914725085 5.16903640474054 0 0 0 +227 73 7 0.41 27.08002196168533 6.621163623514072 29.35710731023254 0 0 0 +466 153 6 -0.82 28.694379673777725 4.023911585932733 4.6413987795979414 0 0 0 +467 153 7 0.41 29.153727733991946 3.9256813242431163 5.567972255791674 0 0 0 +468 153 7 0.41 27.693463850287888 4.134133434652303 4.790496257618019 0 0 0 +766 253 6 -0.82 28.425159854810047 2.724769791003042 1.0649077043125306 0 0 0 +767 253 7 0.41 29.146118955431618 2.074050462570262 0.7368053417936132 0 0 0 +768 253 7 0.41 28.977036981452326 3.489315670559562 1.5218206489637272 0 0 0 +844 279 6 -0.82 26.44583004959673 2.7154519839553584 2.86685241670348 0 0 0 +845 279 7 0.41 26.72086041290558 2.0101672134613366 3.607871226784515 0 0 0 +846 279 7 0.41 27.159392066978786 2.6507578158744143 2.1349856624320847 0 0 0 +901 298 6 -0.82 24.867441313316174 1.5865097874468466 6.019468366359173 0 0 0 +902 298 7 0.41 24.216182095736432 1.9069795767017304 5.274900909313776 0 0 0 +903 298 7 0.41 25.317435040766046 0.7133044874680209 5.7207101771086455 0 0 0 +922 305 6 -0.82 26.4194169333135 5.398892670816028 2.748068750532848 0 0 0 +923 305 7 0.41 26.21595264666238 5.830644719621284 3.6696637826258653 0 0 0 +924 305 7 0.41 26.416322232927577 4.37197809393315 2.9142453492754896 0 0 0 +955 316 6 -0.82 23.493988255663247 5.073032394251668 2.313538288094166 0 0 0 +956 316 7 0.41 24.156004730719804 4.307209597284171 2.185028097696949 0 0 0 +957 316 7 0.41 24.01672615688811 5.8733467457609185 2.689045426469413 0 0 0 +1156 383 6 -0.82 0.17706123699477397 5.970342505415811 0.384742908084374 1 0 0 +1157 383 7 0.41 31.343232664382654 6.952744270408659 0.12498459656356813 0 0 0 +1158 383 7 0.41 30.860464461266396 5.66075352642546 1.095165346051973 0 0 0 +1180 391 6 -0.82 30.39784807459752 30.54181805832373 3.57385229359253 0 -1 0 +1181 391 7 0.41 30.210344420122507 0.02355984145106391 4.1298087453126415 0 0 0 +1182 391 7 0.41 31.12699990418216 30.759236598282115 2.8912158280841918 0 -1 0 +1480 491 6 -0.82 29.99742152994177 4.438765687298541 2.40316889092183 0 0 0 +1481 491 7 0.41 29.47279381832194 4.165709801900945 3.2648571086918516 0 0 0 +1513 502 6 -0.82 29.74883853357932 4.120442335762482 7.140297135147839 0 0 0 +1514 502 7 0.41 29.728560531171553 5.150466585054707 7.14554520898357 0 0 0 +1515 502 7 0.41 29.273772214629552 3.7014182066322374 7.950405519342674 0 0 0 +1654 549 6 -0.82 28.670494273879818 7.124201220542185 1.717073238143453 0 0 0 +1655 549 7 0.41 28.637445608978627 6.192557435073378 2.134743787208316 0 0 0 +1656 549 7 0.41 27.833597682227524 7.259984917046671 1.1581021388464694 0 0 0 +1762 585 6 -0.82 23.06815464447473 3.9925774530927174 6.964097787777822 0 0 0 +1763 585 7 0.41 24.054243308912827 3.988699675687343 7.249203838677717 0 0 0 +2020 671 6 -0.82 30.859077691270247 1.3381537994383532 0.8001094941067284 0 0 0 +2022 671 7 0.41 31.145610909527505 1.6553613744969071 31.21750055775772 0 0 -1 +2032 675 6 -0.82 25.720265851818606 5.863009465453507 5.319577708328614 0 0 0 +2033 675 7 0.41 25.784463337478606 5.196292440761625 6.101417200924823 0 0 0 +2034 675 7 0.41 24.906017704470496 6.472584180677779 5.442914382379438 0 0 0 +2191 728 6 -0.82 24.85779394721248 31.261479032481194 2.72198452452631 0 -1 0 +2192 728 7 0.41 25.788916559993634 0.3223081452449914 2.6584280864435934 0 0 0 +2193 728 7 0.41 24.180737604953052 0.5684879700807431 2.286438245478343 0 0 0 +2293 762 6 -0.82 25.20853094313374 30.160717217762016 5.221465060563771 0 0 0 +2334 775 7 0.41 24.78125052324192 8.26533922877304 3.8877057410003033 0 0 0 +2512 835 6 -0.82 26.696029272713766 4.616231125680928 0.15282611698453416 0 0 0 +2514 835 7 0.41 27.222112971896884 3.7471127635765704 0.37808839896491947 0 0 0 +2554 849 6 -0.82 27.389984492915662 0.7588070754714502 4.401536707798694 0 0 0 +2555 849 7 0.41 27.487232179365048 31.095283306847328 4.21172572229776 0 -1 0 +2556 849 7 0.41 28.14212231305592 0.9830857290851055 5.061072842050524 0 0 0 +2614 869 6 -0.82 29.502579198264474 1.2335860052049108 6.033961166654062 0 0 0 +2615 869 7 0.41 29.18877343934787 1.7778194987160196 6.84471885900016 0 0 0 +2616 869 7 0.41 30.375684795222003 1.6783782049922844 5.669086939780042 0 0 0 +2660 884 7 0.41 29.71230138607519 8.58774963238957 31.22342008096907 0 0 -1 +2830 941 6 -0.82 29.890314798486084 6.882263357742054 6.645668508272396 0 0 0 +2831 941 7 0.41 30.28565908570983 7.715211647244532 7.112143660375446 0 0 0 +2832 941 7 0.41 28.868255601382856 7.061365011005169 6.645584253065784 0 0 0 +3064 1019 6 -0.82 25.845563893975935 3.758540087193913 7.189244430503483 0 0 0 +3065 1019 7 0.41 25.49662679781816 2.896307600121044 6.7177022625708585 0 0 0 +3066 1019 7 0.41 26.617432774406687 3.48490388517703 7.807704581039025 0 0 0 +91 28 6 -0.82 1.0593216206999516 11.425939338258942 1.5137525828299443 0 0 0 +92 28 7 0.41 1.534078217796492 10.538009179496392 1.2621007874809893 0 0 0 +93 28 7 0.41 0.20092763705774058 11.176546488787988 2.0093556554701215 0 0 0 +139 44 6 -0.82 30.648218386018957 12.557454192304627 5.073518579735992 0 0 0 +538 177 6 -0.82 1.097613221848649 14.13949957951588 3.546410051168496 0 0 0 +539 177 7 0.41 0.557409192664306 13.315952893944077 3.8367851329311367 0 0 0 +540 177 7 0.41 1.2624653935668924 14.121304444460385 2.521455808074346 0 0 0 +603 198 7 0.41 3.505599781728555 16.515663856136012 0.8882043624573912 0 0 0 +616 203 6 -0.82 7.139640124765901 9.68418600726124 5.105837666640228 0 0 0 +617 203 7 0.41 7.401565656995494 8.691604788398116 4.99880421203332 0 0 0 +618 203 7 0.41 8.056715716684218 10.17621968774274 5.149473798082447 0 0 0 +934 309 6 -0.82 7.605887964331515 9.797135618893885 2.3402150009221137 0 0 0 +935 309 7 0.41 7.374551652294649 9.904464321088863 3.337100853497758 0 0 0 +936 309 7 0.41 6.824635342238281 10.275684467922781 1.8274438422026216 0 0 0 +1027 340 6 -0.82 1.4537762575916695 14.074034756333438 0.9511200185638983 0 0 0 +1028 340 7 0.41 0.7629397872288861 14.42758180173495 0.2663866113558583 0 0 0 +1029 340 7 0.41 1.3676002935707123 13.042574039669924 0.9993506055425704 0 0 0 +1078 357 6 -0.82 3.6384029683933097 11.99023800399311 2.7414083237784297 0 0 0 +1079 357 7 0.41 3.8049588928244833 11.68930206482086 3.7073918926649747 0 0 0 +1080 357 7 0.41 2.660747236288656 11.812593963339964 2.4720306702847763 0 0 0 +1159 384 6 -0.82 4.773130550496384 11.030585241467833 5.883165806635073 0 0 0 +1160 384 7 0.41 5.649948339078369 10.587340495064648 5.553398801996348 0 0 0 +1161 384 7 0.41 4.2964636462473536 10.420717896671363 6.544304222460008 0 0 0 +1459 484 6 -0.82 1.5758883232585368 14.537787129287876 8.179428251113064 0 0 0 +1460 484 7 0.41 1.7595557802752408 14.149274033304524 7.239865764301327 0 0 0 +1461 484 7 0.41 0.8794632706615925 13.905085924751882 8.602980741972853 0 0 0 +1493 495 7 0.41 0.5612082961894148 14.983868635308346 4.858180851032197 0 0 0 +1564 519 6 -0.82 0.17624866243850615 8.684549369363456 2.5810928584726827 0 0 0 +1565 519 7 0.41 1.1128358754073524 8.739125837942312 2.136129170480112 0 0 0 +1566 519 7 0.41 0.08644313096882428 7.798938746045111 3.1014820063601016 0 0 0 +1741 578 6 -0.82 1.8413465926720054 12.948438435722386 6.051333691852451 0 0 0 +1742 578 7 0.41 2.160961189883915 12.24804896398107 6.739634199546718 0 0 0 +1743 578 7 0.41 0.8849535502301619 12.739959725337012 5.7280601411543195 0 0 0 +2014 669 6 -0.82 5.57113543122026 10.89167443375062 1.1766542221207617 0 0 0 +2016 669 7 0.41 4.778703016773252 11.296628600451823 1.7043785519849286 0 0 0 +2305 766 6 -0.82 6.997459431592545 7.142697445383661 8.317567948375864 0 0 0 +2306 766 7 0.41 6.519496639365662 6.7670143470787485 7.4903203792650555 0 0 0 +2461 818 6 -0.82 6.972748205199773 14.54370495097486 4.17062337279571 0 0 0 +2462 818 7 0.41 6.35530392312788 14.19356629174249 4.909404719473512 0 0 0 +2463 818 7 0.41 7.805517052955458 14.934986232244048 4.620943226906754 0 0 0 +2500 831 6 -0.82 4.825929614298546 14.458156309587153 2.292361338860264 0 0 0 +2501 831 7 0.41 5.780928421291449 14.452153758620309 2.675825135321938 0 0 0 +2502 831 7 0.41 4.438517020378112 13.501536311702441 2.288391332971061 0 0 0 +2518 837 6 -0.82 2.3733898617106925 9.082130476458724 1.060838739183778 0 0 0 +2519 837 7 0.41 2.3604484624383826 9.349034084387895 0.06151849868750198 0 0 0 +2520 837 7 0.41 3.078391041908609 8.332234699711352 1.226050524862359 0 0 0 +2797 930 6 -0.82 3.5562406333599665 15.23054679975559 4.60467753411071 0 0 0 +2798 930 7 0.41 4.0187248543869165 15.086702342013215 3.690754996640359 0 0 0 +2799 930 7 0.41 2.6193596924040916 14.821917517042053 4.514824272606423 0 0 0 +2899 964 6 -0.82 5.023841755576658 13.66181303630358 6.432547438706011 0 0 0 +2900 964 7 0.41 4.327813138003377 14.158263913742056 5.859830569937047 0 0 0 +2901 964 7 0.41 4.907382851566386 12.645454412360055 6.286621311185372 0 0 0 +43 12 6 -0.82 14.915669417421443 14.611473299841897 6.698893738368497 0 0 0 +45 12 7 0.41 14.634767293478907 13.619465391067854 6.835571633784404 0 0 0 +147 46 7 0.41 12.05472882344997 8.138250682495105 7.941759629652351 0 0 0 +160 51 6 -0.82 14.764980442773314 7.760401718001642 5.513791160653137 0 0 0 +161 51 7 0.41 14.520853302435658 6.894731097172649 6.02278821974514 0 0 0 +162 51 7 0.41 15.601580550398143 8.16488757823667 5.9860699805202495 0 0 0 +388 127 6 -0.82 13.942329515809952 9.896661234315834 4.024629249311306 0 0 0 +389 127 7 0.41 14.16854648554066 9.116675762316998 4.6781492370744 0 0 0 +390 127 7 0.41 14.581103702404581 10.670379546869418 4.230758855670609 0 0 0 +505 166 6 -0.82 9.930030434351854 8.508943105799581 1.8675647578312593 0 0 0 +506 166 7 0.41 9.021234021894557 8.997054005276427 1.9606346673698658 0 0 0 +507 166 7 0.41 9.876511560819004 7.875824176078661 1.054174885650663 0 0 0 +557 183 7 0.41 10.525553493633273 16.234574963046185 6.749540536733138 0 0 0 +569 187 7 0.41 15.475456346317845 15.823459039875319 0.2677655304997373 0 0 0 +570 187 7 0.41 14.087969960971469 16.020624203137217 1.2090777440959675 0 0 0 +1087 360 6 -0.82 9.519192408161425 13.373602671541079 6.392778754272271 0 0 0 +1088 360 7 0.41 10.036441193282629 13.317932121976327 7.279215780340527 0 0 0 +1089 360 7 0.41 9.545767965885727 14.330759256364656 6.013324762960541 0 0 0 +1189 394 6 -0.82 12.617062430357091 15.415626854594551 5.055747289638981 0 0 0 +1190 394 7 0.41 12.72884920125708 14.717698256490788 5.784894021880474 0 0 0 +1236 409 7 0.41 15.721437348507168 13.97159276840153 1.433790507901897 0 0 0 +1351 448 6 -0.82 11.524883967548622 8.674697785610297 4.041436509495184 0 0 0 +1352 448 7 0.41 12.43643413416697 9.166672040980858 3.999826253436771 0 0 0 +1353 448 7 0.41 11.090389981591384 8.584913454957587 3.102360448957806 0 0 0 +1417 470 6 -0.82 11.709211707882043 11.425800148216267 6.948830394416968 0 0 0 +1418 470 7 0.41 10.802250395739556 11.703240221144473 6.56931291756794 0 0 0 +1419 470 7 0.41 11.637817394662793 10.435081477170694 7.26096444753224 0 0 0 +1912 635 6 -0.82 10.647615652533467 11.461988883858997 1.7223966861775015 0 0 0 +1913 635 7 0.41 11.357384558808068 10.742441853554814 1.5946044825533854 0 0 0 +1914 635 7 0.41 9.833976707495866 11.035637949456282 2.174454964576356 0 0 0 +1927 640 6 -0.82 8.816402342308464 14.995400032309533 31.061705060342657 0 0 -1 +1928 640 7 0.41 9.233653851562265 15.25435377139059 0.6103668598616451 0 0 0 +1929 640 7 0.41 8.878911005439614 13.965122889027267 30.95177640060258 0 0 -1 +2209 734 6 -0.82 9.638968417757695 10.557746854827599 4.87966102966036 0 0 0 +2210 734 7 0.41 10.415140195155699 9.880968951011056 4.793912612044248 0 0 0 +2211 734 7 0.41 9.92030419965786 11.503423000970725 4.619483538361721 0 0 0 +2440 811 6 -0.82 11.35659660125066 14.139782785438978 1.0376449525611233 0 0 0 +2441 811 7 0.41 11.134554016002593 13.185624622845351 1.3561044007478453 0 0 0 +2442 811 7 0.41 11.698838975389506 14.694914334750472 1.8181362871082616 0 0 0 +2548 847 6 -0.82 13.880175078921333 9.393083975255042 1.312441740422597 0 0 0 +2549 847 7 0.41 13.873588464097752 8.382317569795072 1.4385470848518975 0 0 0 +2550 847 7 0.41 13.92369841556241 9.779206826209084 2.2694380670870715 0 0 0 +2551 848 6 -0.82 14.246772169853942 12.051780686375157 7.106425988398942 0 0 0 +2552 848 7 0.41 13.216722575534849 11.9102725722456 6.989894950273992 0 0 0 +2630 874 7 0.41 14.31934211163491 14.040826991048535 31.13063632476545 0 0 0 +2859 950 7 0.41 15.139985960847842 15.934432055222949 2.8475932444613985 0 0 0 +44 12 7 0.41 15.818351124123165 14.618360316157116 6.189189228394957 0 0 0 +469 154 6 -0.82 17.01103166286081 8.827933385702012 6.412694733610829 0 0 0 +470 154 7 0.41 17.312946242153966 9.753476293702288 6.736670515133414 0 0 0 +471 154 7 0.41 17.789925820597645 8.148792989335984 6.503379877049783 0 0 0 +703 232 6 -0.82 19.870041386674938 10.969807379024424 2.026526646047375 0 0 0 +704 232 7 0.41 19.099541449224166 10.443919920473638 1.567926094238011 0 0 0 +705 232 7 0.41 20.759848115852698 10.772005953397514 1.5540307458791944 0 0 0 +1234 409 6 -0.82 16.46119445556337 13.272912559194488 1.607957562470015 0 0 0 +1235 409 7 0.41 17.329078743764722 13.83409044721136 1.5247520840205906 0 0 0 +1390 461 6 -0.82 22.5330628512413 10.049048468607518 4.986611283013213 0 0 0 +1391 461 7 0.41 21.729604139093627 10.674689566462765 5.1723233244507245 0 0 0 +1392 461 7 0.41 22.71483762491935 9.575473744710807 5.881885960793719 0 0 0 +1475 489 7 0.41 15.968684883665901 11.752225660441548 0.5497793041605592 0 0 1 +1558 517 6 -0.82 23.248395372712878 14.900662198306646 3.3965375179687642 0 0 0 +1573 522 6 -0.82 18.377165549373906 10.07858543979412 4.089675450510593 0 0 0 +1574 522 7 0.41 19.006181815254717 10.486069265623323 3.37314793823353 0 0 0 +1575 522 7 0.41 18.946416669076182 9.64713103852869 4.818480038591778 0 0 0 +1906 633 6 -0.82 20.63880531424568 11.614290181232455 6.041502497404043 0 0 0 +1907 633 7 0.41 20.26228079003159 10.873108578101176 6.660785858880448 0 0 0 +1908 633 7 0.41 20.564858151523058 12.457454569719769 6.632601488929506 0 0 0 +1918 637 6 -0.82 21.026321802220963 15.368535992449639 4.917824354831523 0 0 0 +1919 637 7 0.41 21.05768391905124 14.807574739441186 5.769597061919484 0 0 0 +1920 637 7 0.41 21.815924730600695 15.08108199085943 4.308819190861611 0 0 0 +1969 654 6 -0.82 22.09581651493269 10.964143725297506 0.09829757024298125 0 0 1 +2245 746 6 -0.82 17.457592331624515 11.594893880802022 7.336998425611347 0 0 0 +2246 746 7 0.41 18.125260639395798 12.369603058757527 7.376494396545914 0 0 0 +2247 746 7 0.41 16.656200493227846 11.8710315110525 6.75974186407712 0 0 0 +2392 795 6 -0.82 17.11463486521592 14.575531138360999 5.146952681688972 0 0 0 +2393 795 7 0.41 18.04007274443007 14.978105202085697 5.001617385654654 0 0 0 +2394 795 7 0.41 17.04902368383515 13.635278194488544 4.733639367272536 0 0 0 +2812 935 6 -0.82 16.421620580291812 11.922234809132172 4.011570041185954 0 0 0 +2813 935 7 0.41 17.152325223251946 11.188229468831132 4.062470548417528 0 0 0 +2814 935 7 0.41 16.414092341402895 12.310857873691692 3.0537794394775 0 0 0 +2902 965 6 -0.82 17.767707453251464 9.494396949042729 1.1609521317661275 0 0 0 +2903 965 7 0.41 17.091888634254556 9.636146153616494 0.4090515914310317 0 0 0 +2904 965 7 0.41 17.335097660486362 8.942826894744519 1.9194227657233813 0 0 0 +3016 1003 6 -0.82 16.50788202358986 8.14073976555759 3.3096324216577218 0 0 0 +3017 1003 7 0.41 17.14188006775515 8.803346674146447 3.783649671324141 0 0 0 +3018 1003 7 0.41 15.808685156555695 7.85483559433369 4.010756598903042 0 0 0 +140 44 7 0.41 30.077730058875556 12.894744604667187 5.872514185062623 0 0 0 +141 44 7 0.41 30.019223551677612 12.12400096725315 4.387903451974157 0 0 0 +169 54 6 -0.82 29.24310837641436 13.46732530562016 7.257408529000128 0 0 0 +170 54 7 0.41 29.48862329220645 14.476555887880709 7.32416653251894 0 0 0 +171 54 7 0.41 28.231332711252033 13.430222183947656 7.387637439803022 0 0 0 +196 63 6 -0.82 24.133165291303797 12.240537119383665 3.92399917377392 0 0 0 +197 63 7 0.41 23.72065076168612 13.128173962057273 3.5916603265345124 0 0 0 +198 63 7 0.41 23.3894110273103 11.53697501191099 4.000886313112228 0 0 0 +364 119 6 -0.82 29.059762883122794 9.065364225377849 4.1543242503045565 0 0 0 +365 119 7 0.41 28.510089633945586 8.31034452809636 3.736748446227696 0 0 0 +366 119 7 0.41 30.038957509338317 8.770257166370781 4.1450627058811325 0 0 0 +433 142 6 -0.82 25.59343773450013 11.478950026421181 6.169088996542854 0 0 0 +434 142 7 0.41 25.313817242632567 10.546393571438934 6.520550066552336 0 0 0 +435 142 7 0.41 25.02694570984665 11.716424548769323 5.339025587084129 0 0 0 +508 167 6 -0.82 25.99768589558505 14.825352570439325 3.4837400724428824 0 0 0 +509 167 7 0.41 26.185369537600724 13.90513737300053 3.0743045052096303 0 0 0 +510 167 7 0.41 26.497333181831937 14.872902101001147 4.393308912334684 0 0 0 +561 184 7 0.41 23.349365584459157 14.275125980773621 7.471476972730505 0 0 0 +562 185 6 -0.82 23.774273449592677 15.674498767176376 0.5965552013574298 0 0 0 +563 185 7 0.41 24.30050381601166 14.798548338131251 0.7429573215886994 0 0 0 +715 236 6 -0.82 25.09070229698072 9.155141988653375 7.624024565451937 0 0 0 +716 236 7 0.41 24.163183994599223 8.709362840879818 7.537308829908137 0 0 0 +717 236 7 0.41 25.064281063879374 9.868188408425516 8.383883929782984 0 0 0 +721 238 6 -0.82 29.114367091964443 14.172325782385991 1.4002422747658405 0 0 0 +722 238 7 0.41 28.997595231091477 13.314992092678 1.9418532908856794 0 0 0 +723 238 7 0.41 28.250121021237536 14.387741218658343 0.8674042652934489 0 0 0 +1123 372 6 -0.82 26.245443219536135 9.258912410607621 3.7809104163779104 0 0 0 +1124 372 7 0.41 26.30278019674813 9.92239342542022 3.0146862352826345 0 0 0 +1125 372 7 0.41 27.064051251581887 9.381490661391007 4.3785138621255655 0 0 0 +1294 429 6 -0.82 27.390187452590972 7.747749145483608 7.176220241108199 0 0 0 +1295 429 7 0.41 26.375445987399917 7.911445289394013 7.264985965756179 0 0 0 +1296 429 7 0.41 27.739772042568696 8.714685567362263 7.105331487551817 0 0 0 +1560 517 7 0.41 24.261815980170983 15.032240582279092 3.552673356750582 0 0 0 +1660 551 6 -0.82 24.544278516269745 13.143187544076138 0.9536694336799348 0 0 1 +1882 625 6 -0.82 27.944930576089586 10.433804945918176 7.344058019693814 0 0 0 +1883 625 7 0.41 27.778627593538474 10.230283969804082 8.343958419610491 0 0 0 +1884 625 7 0.41 27.140027569468533 10.954001267075027 6.956055349733821 0 0 0 +1915 636 6 -0.82 27.06210454442545 15.243280333400921 5.989072952246568 0 0 0 +1916 636 7 0.41 27.917776584700587 15.659270945451116 6.369938578076436 0 0 0 +1917 636 7 0.41 26.28850473358782 15.931573162430771 6.091225578012041 0 0 0 +2018 670 7 0.41 29.77967796413319 15.646205689936178 4.383096017328203 0 0 0 +2019 670 7 0.41 29.348699980285932 15.338907247858335 2.784136153604916 0 0 0 +2188 727 6 -0.82 26.595274947683663 12.02355060979365 2.7056526711221554 0 0 0 +2189 727 7 0.41 25.72155465820726 12.026105423290316 3.2692208384414356 0 0 0 +2190 727 7 0.41 26.279593746792493 12.03430301074321 1.7274022068553134 0 0 0 +2332 775 6 -0.82 23.80591551652257 7.913692166633355 3.8696241379764538 0 0 0 +2333 775 7 0.41 23.22723814733333 8.73052644689984 4.138972101736456 0 0 0 +2371 788 6 -0.82 28.778262272117068 11.114903452411719 31.345516371496664 0 0 -1 +2372 788 7 0.41 29.470103070709133 11.609745015926936 30.75084210290056 0 0 -1 +2373 788 7 0.41 29.188846149769287 11.020011211388356 0.925128059645064 0 0 0 +2419 804 6 -0.82 30.710660117872244 9.331976261314425 7.482071714570481 0 0 0 +2420 804 7 0.41 0.0633041050540406 9.769696716585994 6.892862138275304 1 0 0 +2659 884 6 -0.82 30.72179103241062 8.699177594208434 31.3149227262076 0 0 -1 +2661 884 7 0.41 30.98343193781326 8.739335288995594 0.9598397513774413 0 0 0 +2680 891 6 -0.82 29.30829263641167 11.407954307238068 2.8029288545234996 0 0 0 +2681 891 7 0.41 29.41499864596298 10.486529082826307 3.276463598374046 0 0 0 +2682 891 7 0.41 28.292522087265205 11.588665701552056 2.799442761336697 0 0 0 +2794 929 6 -0.82 24.816739745137788 13.543425564683002 7.6990558436837135 0 0 0 +2795 929 7 0.41 25.12115082445923 12.777522557090782 7.068064156614864 0 0 0 +94 29 6 -0.82 4.621319056350669 21.38740533433569 5.381043824999833 0 0 0 +95 29 7 0.41 3.757034745618323 21.09961293075255 5.840270197333708 0 0 0 +96 29 7 0.41 5.382320192714335 21.34921147536037 6.060700754194099 0 0 0 +193 62 6 -0.82 3.941562244488349 23.074680183310566 3.3030218912840756 0 0 0 +195 62 7 0.41 4.193198547708836 22.461856431175466 4.095145437789388 0 0 0 +250 81 6 -0.82 6.643080399676541 23.92330810051629 1.0776149306415177 0 0 0 +252 81 7 0.41 6.372235338750131 22.945197349804687 1.2440549476703455 0 0 0 +502 165 6 -0.82 3.25676710112511 18.65444934590834 3.1692855718924706 0 0 0 +503 165 7 0.41 3.88013314807783 18.36033105646867 3.9546192984519006 0 0 0 +504 165 7 0.41 3.1288473586581174 17.82725443343474 2.5681459378920604 0 0 0 +601 198 6 -0.82 2.6654633120542672 16.55187843991627 1.4881370387971335 0 0 0 +602 198 7 0.41 2.2466656466681996 15.615044136584626 1.3952199877447455 0 0 0 +685 226 6 -0.82 1.8368528457377917 20.66233396710244 2.068828282934777 0 0 0 +686 226 7 0.41 2.3813976736752607 21.521890681591167 2.0037643845132873 0 0 0 +687 226 7 0.41 2.4671577115416583 19.956539641179134 2.5026108159225626 0 0 0 +745 246 6 -0.82 0.17717963170702555 18.872184875689147 0.864524530247765 1 0 0 +749 247 7 0.41 7.459342455054612 20.899277803316103 4.233888364791133 0 0 0 +803 265 7 0.41 5.554878242586191 24.02139160043604 5.6921719126082175 0 0 0 +910 301 6 -0.82 5.433575494260924 21.44609346720147 1.0766357048033404 0 0 0 +911 301 7 0.41 5.987502869638117 21.000227359907317 0.32032798405598073 0 0 0 +912 301 7 0.41 4.513282080236346 21.660126336585844 0.6617211013113434 0 0 0 +1228 407 6 -0.82 2.444240841918392 16.991590230205983 7.448508733105579 0 0 0 +1230 407 7 0.41 1.9893961617476366 17.037761373497826 6.5337900990681055 0 0 0 +1240 411 6 -0.82 6.212336676432895 20.284014037031074 3.3493961017540284 0 0 0 +1241 411 7 0.41 5.880547603536472 20.642790557367736 2.432062449293789 0 0 0 +1242 411 7 0.41 5.453057407149761 20.44029171119149 4.029418429875457 0 0 0 +1339 444 6 -0.82 0.2656634319547234 22.414719689688628 0.387092312293988 0 0 0 +1340 444 7 0.41 0.7368035062321686 23.208839458222204 0.8591314254968803 0 0 0 +1341 444 7 0.41 0.7385457018371883 21.595489697645107 0.7852458735778496 0 0 0 +1484 492 7 0.41 7.975945292586032 18.21310659565465 4.840641769455618 0 0 0 +1485 492 7 0.41 7.253470242781573 18.89749069956368 3.522128411436532 0 0 0 +1492 495 6 -0.82 0.1854193987025907 15.811419632264029 5.353475418489304 0 0 0 +1494 495 7 0.41 0.36555160660558933 16.55976899059954 4.6758108689539375 0 0 0 +1636 543 6 -0.82 0.5255151519104115 17.484354012551055 3.2732066516692195 0 0 0 +1637 543 7 0.41 0.8887884497322719 18.144100526385998 3.9916397152935335 0 0 0 +1638 543 7 0.41 1.3143764004905665 17.05597901434943 2.76946862140143 0 0 0 +1669 554 6 -0.82 7.8615525319879085 18.000002139435587 6.580895388880173 0 0 0 +1671 554 7 0.41 6.935644343035024 18.251212396993736 6.975501509364087 0 0 0 +1717 570 6 -0.82 8.54922671861718 19.314590845420764 0.765372338951764 0 0 0 +1718 570 7 0.41 8.116668037983974 18.40792846620875 0.538609838131333 0 0 0 +2212 735 6 -0.82 4.764353009475855 17.68093723584157 5.085231087487827 0 0 0 +2213 735 7 0.41 4.4859272111350235 16.690023070931446 5.024622333679983 0 0 0 +2214 735 7 0.41 5.161341164398591 17.9162842880107 5.995830570980259 0 0 0 +2363 785 7 0.41 5.549338391130047 17.105841307712932 30.771177499388077 0 0 0 +2647 880 6 -0.82 0.9581990211327122 18.913748876370274 5.585575653977083 0 0 0 +2648 880 7 0.41 1.7082935618130737 19.020004589837384 6.267912844518119 0 0 0 +2649 880 7 0.41 0.18207744644565566 19.515178815805672 5.913809172323889 0 0 0 +2717 903 7 0.41 1.964532316473682 23.836456377910604 7.730277846980055 0 0 0 +2718 903 7 0.41 3.248793901889557 22.9687215906546 7.329522369570782 0 0 0 +2809 934 6 -0.82 1.6616261936967343 20.802338738177102 7.985691660080792 0 0 0 +2810 934 7 0.41 1.4573033391900387 21.763224359632687 8.270952214246455 0 0 0 +34 9 6 -0.82 10.989611314421124 22.35388307081315 4.035468633944662 0 0 0 +35 9 7 0.41 10.951695778865062 21.433133052894977 3.549784467924056 0 0 0 +36 9 7 0.41 10.376495901745862 23.004485305095965 3.5176092612683276 0 0 0 +403 132 6 -0.82 11.043255916042563 18.34384321764242 0.1465877072682262 0 0 0 +404 132 7 0.41 10.182117681129391 18.840718589554413 0.43106858412147503 0 0 0 +405 132 7 0.41 10.996031952252881 17.394564422680936 0.5255871360589972 0 0 0 +428 140 7 0.41 12.420191771665905 19.58738113971997 0.2810797964330591 0 0 1 +529 174 6 -0.82 13.492929840324443 23.18135477646958 3.7193908105191475 0 0 0 +531 174 7 0.41 12.48821350833807 22.931185540920193 3.7546133888616446 0 0 0 +568 187 6 -0.82 14.83344419498788 15.351597004586033 0.9220151807019973 0 0 0 +574 189 6 -0.82 10.134721308290533 21.210972423025108 6.688560211292006 0 0 0 +575 189 7 0.41 10.684916123561218 22.008319173863583 6.352512437591527 0 0 0 +576 189 7 0.41 9.392746380086626 21.088568923713634 5.975025832837486 0 0 0 +592 195 6 -0.82 13.191063361721044 17.220368671493468 1.9704975069939268 0 0 0 +593 195 7 0.41 13.388292811318296 17.218806649364545 2.97512528622071 0 0 0 +594 195 7 0.41 13.097216245302272 18.17507879028399 1.6319383255459183 0 0 0 +596 196 7 0.41 14.806126493016055 23.8787835336369 6.702136778889678 0 0 0 +748 247 6 -0.82 8.243191349509459 21.313094825622315 4.772188630259179 0 0 0 +750 247 7 0.41 8.96089323091845 21.56618411434183 4.093656598405907 0 0 0 +1003 332 6 -0.82 10.279524948029703 20.12474682949826 2.699460776205036 0 0 0 +1004 332 7 0.41 10.208678104939723 19.22213568562795 3.158035339479613 0 0 0 +1005 332 7 0.41 9.570604773458134 20.085017816591307 1.9448317329044125 0 0 0 +1191 394 7 0.41 13.551738624581327 15.642249293656034 4.6873164731657715 0 0 0 +1330 441 6 -0.82 15.352703018177854 23.509068730088845 1.5668706674084636 0 0 0 +1420 471 6 -0.82 9.11491674634788 15.931845259204813 5.352385710225469 0 0 0 +1421 471 7 0.41 8.505300720857658 16.638697633722423 5.809725407331944 0 0 0 +1422 471 7 0.41 9.32706696926161 16.25132999370033 4.39755941058475 0 0 0 +1483 492 6 -0.82 8.007776997359201 18.252034198678405 3.8139416003560753 0 0 0 +1642 545 6 -0.82 14.430476331812493 20.83955394069358 5.1347806237179805 0 0 0 +1643 545 7 0.41 14.038088597777312 21.337828547958463 4.335752356608175 0 0 0 +1644 545 7 0.41 14.789413819414635 21.594353357605463 5.748000155205588 0 0 0 +1670 554 7 0.41 8.558611970179022 18.419910759590056 7.231602724968984 0 0 0 +1681 558 6 -0.82 15.782949960347253 20.852958360983397 1.6256316695908675 0 0 0 +1682 558 7 0.41 14.893517254590305 20.37318328583553 1.457390123424962 0 0 0 +1683 558 7 0.41 16.488202749544456 20.416144820850743 0.9969203488843603 0 0 0 +1702 565 6 -0.82 15.669769520922644 18.750414633135055 6.228683040991859 0 0 0 +1703 565 7 0.41 15.016160757049047 17.979040339239763 6.368718310162825 0 0 0 +1719 570 7 0.41 8.062716007678217 19.96497371602504 0.1327104720162416 0 0 0 +1866 619 7 0.41 9.876825616629858 23.436204899830273 1.6300713364597108 0 0 0 +2065 686 6 -0.82 12.676924469952569 21.384281287168186 8.280499444214334 0 0 0 +2311 768 6 -0.82 11.277459359116856 23.80241489114757 6.603162393232223 0 0 0 +2478 823 7 0.41 14.07922831804627 15.63137551729959 7.673019990346172 0 0 0 +2606 866 7 0.41 12.622744952177884 23.342584838635453 0.26766313441922174 0 0 0 +2710 901 6 -0.82 8.95606955332359 16.274720902733765 2.3974606100766302 0 0 0 +2711 901 7 0.41 8.612082793618017 17.145169903560024 2.857824609710097 0 0 0 +2712 901 7 0.41 8.195190290951336 15.603990472823426 2.4622871369086927 0 0 0 +2857 950 6 -0.82 15.065195251642326 16.14205574800156 3.845448278146068 0 0 0 +97 30 6 -0.82 19.898945806502052 18.197824722900872 7.236968448184246 0 0 0 +99 30 7 0.41 19.03009995370434 17.75504757003591 6.960649516880793 0 0 0 +282 91 7 0.41 19.242248627754993 20.767554065778764 8.191239151819667 0 0 0 +313 102 6 -0.82 17.68593504310514 20.486043432675594 6.7693428887524 0 0 0 +314 102 7 0.41 17.058054970253146 19.672973422045374 6.6217800908501685 0 0 0 +315 102 7 0.41 17.24111523701303 21.041212680400847 7.529688737210196 0 0 0 +363 118 7 0.41 19.683767776917595 22.875957747543968 3.7228116311780703 0 0 0 +385 126 6 -0.82 16.726582585955885 23.230480876624817 4.073550927402052 0 0 0 +386 126 7 0.41 17.26002204431033 22.362722070661974 3.971962592798357 0 0 0 +387 126 7 0.41 16.17220104564519 23.430434900045913 3.2333475143041253 0 0 0 +517 170 6 -0.82 20.226142386122678 19.653689560542308 0.7903754306909091 0 0 0 +518 170 7 0.41 21.047406138962103 19.21344524118797 0.34166926731962327 0 0 0 +519 170 7 0.41 20.603963917379623 20.467938944701267 1.2821264741501808 0 0 0 +553 182 6 -0.82 18.298845582002503 23.637091011283772 7.067418983368166 0 0 0 +555 182 7 0.41 18.888128909545728 22.857608998355296 6.777782256363627 0 0 0 +964 319 6 -0.82 22.257876691220464 17.701556688438167 6.025461798669297 0 0 0 +965 319 7 0.41 21.39298499691457 17.944662231764937 6.552577548050312 0 0 0 +966 319 7 0.41 22.079860262781207 16.754233024700394 5.679797512119581 0 0 0 +1108 367 6 -0.82 19.77321981271641 17.64604754636193 4.003775177563522 0 0 0 +1109 367 7 0.41 20.16038942131632 16.750343693733896 4.353222875688319 0 0 0 +1110 367 7 0.41 20.553703980512935 18.2979188959395 3.933535977435465 0 0 0 +1332 441 7 0.41 15.638117973333868 22.52684589399803 1.701365210994111 0 0 0 +1469 487 7 0.41 17.705117658203708 23.362853362272823 31.078762989507467 0 0 0 +1559 517 7 0.41 23.04614747209742 15.245262625539695 2.4510914205108403 0 0 0 +1639 544 6 -0.82 23.228872815646877 20.243562221226494 6.552999938125252 0 0 0 +1640 544 7 0.41 22.459831044745645 20.901310314038966 6.4157285967905935 0 0 0 +1641 544 7 0.41 22.93818176540444 19.30862280419907 6.20700959383547 0 0 0 +1704 565 7 0.41 15.173420409209639 19.532841283422748 5.742187556317559 0 0 0 +1720 571 6 -0.82 18.219771109659437 15.32672840899467 1.1886981931297937 0 0 0 +1721 571 7 0.41 18.018495035414286 16.230538919165827 1.6693375314388845 0 0 0 +1722 571 7 0.41 19.0014447960568 15.480853351160544 0.5322967933315491 0 0 0 +1960 651 6 -0.82 18.518673636624534 24.06808365317469 1.0473640919471656 0 0 0 +1961 651 7 0.41 17.942452729418928 24.622649969048258 1.6852905428001168 0 0 0 +2122 705 6 -0.82 20.75266427995385 21.922281129802055 6.00425621815659 0 0 0 +2123 705 7 0.41 20.92755651695344 22.59944330322293 5.24554209889794 0 0 0 +2124 705 7 0.41 20.03874824978487 21.285100356198132 5.628135078854722 0 0 0 +2326 773 6 -0.82 21.94677896912121 21.75874748073563 1.7313782659231702 0 0 0 +2327 773 7 0.41 22.937584662289684 21.468721991366937 1.857900152814384 0 0 0 +2328 773 7 0.41 21.672312774154136 22.283069423020233 2.563922108569522 0 0 0 +2779 924 6 -0.82 17.561975514264606 17.57992878183491 2.491844284310509 0 0 0 +2780 924 7 0.41 16.761790788961857 17.91449059775598 3.027614621909933 0 0 0 +2781 924 7 0.41 18.435265167310323 17.706422082029942 3.044491275343464 0 0 0 +2858 950 7 0.41 15.852552373608766 15.715343853489607 4.353674196171213 0 0 0 +3025 1006 6 -0.82 18.59526453959137 21.08228403176592 4.344083081457967 0 0 0 +3026 1006 7 0.41 18.120587622469934 20.8035686232405 5.228134765778253 0 0 0 +3027 1006 7 0.41 18.654634485690714 20.265090451710428 3.7328383499658173 0 0 0 +277 90 6 -0.82 24.523696139491218 21.130221715721117 2.143771943758601 0 0 0 +278 90 7 0.41 25.394211726338458 21.139603309233628 1.6074616099377583 0 0 0 +279 90 7 0.41 24.652599913807567 20.47296971952882 2.9394334299475657 0 0 0 +322 105 6 -0.82 27.230939390093006 19.866929931692173 1.4816580573736524 0 0 0 +323 105 7 0.41 27.033518756377063 19.380867505588583 2.36063331651238 0 0 0 +324 105 7 0.41 28.13563963162936 19.5459555547546 1.1412820555633496 0 0 0 +382 125 6 -0.82 25.225699564383618 19.371675830890897 4.029878553917367 0 0 0 +383 125 7 0.41 25.418700972173184 18.47876548035628 3.575017623804271 0 0 0 +384 125 7 0.41 26.02098494344633 19.529332500730014 4.662995669652337 0 0 0 +409 134 6 -0.82 28.148348638231607 21.591949746400726 4.816254733135875 0 0 0 +410 134 7 0.41 28.71868492006332 21.874362244886076 3.9987563181155363 0 0 0 +411 134 7 0.41 28.318926287967223 20.592416015079642 4.943858386931634 0 0 0 +490 161 6 -0.82 26.868585986359772 17.34551577013598 3.1216265580516027 0 0 0 +491 161 7 0.41 26.4006776869348 16.42793721524572 3.1904707496202755 0 0 0 +492 161 7 0.41 27.863733281755643 17.10733289951577 3.2276044000034294 0 0 0 +544 179 6 -0.82 29.485437562803753 19.135954190811923 3.748697526433135 0 0 0 +545 179 7 0.41 30.13491890761938 18.338347581236974 3.700678792125496 0 0 0 +546 179 7 0.41 29.95376420339615 19.955233650689447 3.366719910618065 0 0 0 +564 185 7 0.41 24.37600748630963 16.513790011680356 0.6973208352967348 0 0 0 +746 246 7 0.41 0.07530837806618607 18.050287441614554 1.4733167366367066 1 0 0 +747 246 7 0.41 0.8679121251663258 19.488563297515913 1.3311122544422678 1 0 0 +808 267 6 -0.82 26.51119012319744 21.74946980082287 7.037298166923967 0 0 0 +809 267 7 0.41 27.19511044060898 21.684069105786637 6.2578970208828855 0 0 0 +810 267 7 0.41 25.767056066993703 21.074647296867337 6.841913378948999 0 0 0 +847 280 6 -0.82 29.71390229239456 16.08815013006792 7.333237422705583 0 0 0 +848 280 7 0.41 29.990094367885952 16.59286930794898 8.190833202611758 0 0 0 +849 280 7 0.41 30.520005870371186 16.063513363414582 6.676281714023031 0 0 0 +1408 467 6 -0.82 29.676060054385932 20.197678389316014 30.76930906593062 0 0 0 +1853 615 7 0.41 27.62407254798549 23.213681509273574 31.136662980622962 0 0 0 +1924 639 6 -0.82 25.292649467048456 17.861812365700867 0.6318166766444886 0 0 0 +1925 639 7 0.41 24.588095116072914 18.534948443119465 0.3204188459778872 0 0 0 +1930 641 6 -0.82 30.601509410338753 20.652107854754874 6.77350892230192 0 0 0 +1931 641 7 0.41 0.0928853034079525 20.668107923292037 7.371027822382466 1 0 0 +1932 641 7 0.41 30.453088161903587 21.633530058565114 6.494330127628511 0 0 0 +2017 670 6 -0.82 29.156887334376435 15.911148678719114 3.619402474668908 0 0 0 +2080 691 6 -0.82 27.41695005238382 18.830186992236964 5.643440179799471 0 0 0 +2081 691 7 0.41 28.192158455764893 18.644245550208456 4.985962830323286 0 0 0 +2082 691 7 0.41 26.755780915596272 18.03855354772232 5.633346185634741 0 0 0 +2609 867 7 0.41 24.295399898559868 19.492434451478644 7.848475830806445 0 0 0 +2737 910 6 -0.82 30.94858567366475 23.38878608390407 6.214185094695404 0 0 0 +2738 910 7 0.41 0.5248634409824671 23.444874388259034 5.790613433925263 1 0 0 +2851 948 6 -0.82 25.198690999685358 17.106058020749533 6.284176423301416 0 0 0 +2852 948 7 0.41 25.222866558414633 17.693257003666513 7.1354152369643815 0 0 0 +2853 948 7 0.41 24.225735852473797 17.149400935982293 5.970254781660818 0 0 0 +2923 972 6 -0.82 29.65363267290376 22.36948667505678 2.740102815757103 0 0 0 +2924 972 7 0.41 30.572676075051657 22.81159543639038 2.7471759061569467 0 0 0 +2925 972 7 0.41 29.21221079412025 22.543072872083133 1.8227600673534714 0 0 0 +181 58 6 -0.82 5.766564977671595 27.208761890002254 5.8049408057639 0 0 0 +182 58 7 0.41 5.436084407563271 26.218137649131933 5.849068595039538 0 0 0 +183 58 7 0.41 6.008224778936922 27.5250651998835 6.742679452996741 0 0 0 +194 62 7 0.41 4.512034344364428 23.92630000774787 3.335870992708096 0 0 0 +251 81 7 0.41 7.569677866126147 24.139087337340897 1.443416463067174 0 0 0 +292 95 6 -0.82 4.669628451499998 30.219358717334387 5.61130667835244 0 0 0 +293 95 7 0.41 3.8216484438734346 30.602300747049302 6.0267088758159275 0 0 0 +294 95 7 0.41 5.3640477018104 30.171272534333603 6.362391214176569 0 0 0 +478 157 6 -0.82 4.600100424371948 25.430284187102238 0.3650856911209439 0 0 0 +479 157 7 0.41 5.37323453259576 24.745047981463713 0.49161040502133607 0 0 0 +480 157 7 0.41 3.703329095563689 24.96392408556802 0.4727483486820413 0 0 0 +641 211 7 0.41 6.8645456553161 30.177928843405073 7.696122046778691 0 0 0 +802 265 6 -0.82 4.932326407630328 24.748351563115627 6.037615351215467 0 0 0 +804 265 7 0.41 4.070430884970832 24.340320060832376 6.434634763218655 0 0 0 +937 310 6 -0.82 7.355603715675027 28.2991339345539 4.026635651365955 0 0 0 +939 310 7 0.41 6.63577603367765 27.776295653229457 4.587879691196087 0 0 0 +1000 331 6 -0.82 1.7426318202001823 24.014740090668905 1.997738605004118 0 0 0 +1001 331 7 0.41 1.5088959343571304 24.53949518084319 2.8529300214629445 0 0 0 +1002 331 7 0.41 2.6496385962647313 23.58764050779561 2.256991913311627 0 0 0 +1048 347 6 -0.82 5.374281092516989 25.675896372041596 3.147948874569927 0 0 0 +1049 347 7 0.41 5.436757702114898 25.674457827790082 2.1227192345414965 0 0 0 +1050 347 7 0.41 6.312560749603896 25.55347251275304 3.5535424071343926 0 0 0 +1072 355 6 -0.82 1.6667318662764277 24.901031959274764 4.601330833523058 0 0 0 +1073 355 7 0.41 2.218648372603167 25.757563952047214 4.406186729461646 0 0 0 +1074 355 7 0.41 2.149245330437436 24.38937962892964 5.352250713343839 0 0 0 +1135 376 6 -0.82 1.7656833291657406 27.676257807220043 1.6208966692266606 0 0 0 +1136 376 7 0.41 2.6028858934799466 28.23458348722371 1.405268896568123 0 0 0 +1137 376 7 0.41 1.9438262496970846 27.25464479415635 2.5407996200076575 0 0 0 +1249 414 6 -0.82 3.3067468192911433 31.083677158496396 8.097999021774312 0 0 0 +1270 421 6 -0.82 6.527182943427352 30.81767312419937 0.3476486256778295 0 0 0 +1271 421 7 0.41 6.17467567003265 30.768929289548325 1.3032528321451535 0 0 0 +1272 421 7 0.41 6.575707640521179 29.88886179566695 31.277812133148736 0 0 -1 +1318 437 6 -0.82 7.789588059453021 29.352738091903394 6.625394130996656 0 0 0 +1897 630 6 -0.82 3.227096297032832 26.996773754665284 4.111934955951034 0 0 0 +1898 630 7 0.41 3.56048511409795 27.652311982067893 4.826966064417668 0 0 0 +1899 630 7 0.41 4.068390905339006 26.49346922024263 3.765051252532646 0 0 0 +2317 770 6 -0.82 4.042256756710992 29.09742583725755 1.1664422345483114 0 0 0 +2318 770 7 0.41 4.373426945596184 28.82873339650836 0.2321831000155478 0 0 0 +2319 770 7 0.41 4.838231741469443 29.034376971066525 1.8039056512321694 0 0 0 +2345 779 7 0.41 8.627525265661424 27.00283003817103 2.1890486059495635 0 0 0 +2374 789 6 -0.82 7.911529282968218 25.096756196961493 4.303529911805805 0 0 0 +2376 789 7 0.41 8.461130652322918 25.962872121686296 4.357443976500456 0 0 0 +2716 903 6 -0.82 2.5722710470817702 23.64517592243336 6.915835911893937 0 0 0 +2739 910 7 0.41 30.78139269860202 24.256624303042756 6.729786300986214 0 0 0 +3019 1004 6 -0.82 5.933331567878462 30.570858082465733 3.2333935612203057 0 0 0 +3020 1004 7 0.41 5.398193964735313 30.329948914563147 4.096648935217478 0 0 0 +3021 1004 7 0.41 6.312597411093244 0.1634500900385616 3.424996463314891 0 1 0 +3073 1022 6 -0.82 1.2153118737902866 27.782577158458963 7.055648081534228 0 0 0 +3074 1022 7 0.41 0.610124828722971 28.43231048240049 6.533899535186621 0 0 0 +3075 1022 7 0.41 1.0728203382905592 26.864130960208715 6.64403772166415 0 0 0 +333 108 7 0.41 10.42729519266136 24.10575942965031 31.146777591169922 0 0 0 +530 174 7 0.41 13.806701758434102 23.404149934287382 2.7776460623603847 0 0 0 +595 196 6 -0.82 15.34464323156936 23.035016542795226 6.425442487527088 0 0 0 +597 196 7 0.41 15.88772161596927 23.250238012206218 5.567673808266137 0 0 0 +832 275 6 -0.82 13.303260106447873 29.92241424797021 7.6697215344973735 0 0 0 +833 275 7 0.41 14.179420154002813 29.784549901032904 7.12851029388707 0 0 0 +834 275 7 0.41 13.076798858257156 30.915542746340375 7.540479427477568 0 0 0 +938 310 7 0.41 6.895806193825181 29.098725136959935 3.5679038963825165 0 0 0 +1319 437 7 0.41 8.811737026385554 29.493978601932444 6.548945327960201 0 0 0 +1320 437 7 0.41 7.514748871513679 28.905058454507436 5.7459927306630565 0 0 0 +1331 441 7 0.41 14.93552741418708 23.420870782655598 0.632679257595739 0 0 0 +1435 476 6 -0.82 11.854435608798676 25.885380166516182 2.2593125912312617 0 0 0 +1436 476 7 0.41 11.117849965726919 26.562056603272364 2.4848458312731525 0 0 0 +1437 476 7 0.41 12.595529548598185 25.99351432436481 2.994679490736723 0 0 0 +1624 539 6 -0.82 13.971374630697689 25.135837981201774 7.306698133919638 0 0 0 +1626 539 7 0.41 13.704046352451721 26.062950680263203 6.93741901532812 0 0 0 +1651 548 6 -0.82 10.458254374200994 26.398206229093923 6.401147184795726 0 0 0 +1652 548 7 0.41 9.978231320185346 26.657957868314718 7.27596487950226 0 0 0 +1653 548 7 0.41 10.750813935811372 25.411657756987314 6.5169116317558915 0 0 0 +1768 587 6 -0.82 13.66237764078161 26.267474193186203 4.126135634900827 0 0 0 +1769 587 7 0.41 14.255079953884126 25.47779022493507 4.37365933723525 0 0 0 +1770 587 7 0.41 13.404749432812851 26.74130743260472 5.008620124012333 0 0 0 +1864 619 6 -0.82 9.458810392093458 23.902605604458593 2.439972426610305 0 0 0 +1865 619 7 0.41 9.764976323185849 24.88151285276929 2.393346459695272 0 0 0 +1921 638 6 -0.82 12.899318552614275 27.41332627957444 6.369106419407052 0 0 0 +1922 638 7 0.41 13.009533292000182 28.282425062530407 6.908998442439614 0 0 0 +1923 638 7 0.41 11.88740283684128 27.191658161088796 6.296389090072454 0 0 0 +2302 765 6 -0.82 12.347007403445463 29.584716557995083 4.284982029913773 0 0 0 +2303 765 7 0.41 12.342938175122852 28.95830712029745 3.4812252769705774 0 0 0 +2304 765 7 0.41 13.286468940832822 29.63450697555856 4.688648860696095 0 0 0 +2312 768 7 0.41 11.815640024553604 23.655008740231928 5.746317936365489 0 0 0 +2313 768 7 0.41 11.805543732753481 23.417132936918104 7.393578862361568 0 0 0 +2344 779 6 -0.82 8.350131464820839 26.448983394481257 1.3808098484257487 0 0 0 +2346 779 7 0.41 7.5852399957278305 26.90645820711396 0.8691555659329908 0 0 0 +2375 789 7 0.41 8.392057163756768 24.47393165705986 3.635281254672266 0 0 0 +2605 866 6 -0.82 11.779790114880837 23.659304837656215 0.7583254528587293 0 0 0 +2607 866 7 0.41 11.943262745116785 24.521159297160164 1.3152723245226672 0 0 0 +2674 889 6 -0.82 9.85658181549259 27.221613423958598 3.7938883013075637 0 0 0 +2675 889 7 0.41 10.247578655309127 27.013266677283756 4.72504714697398 0 0 0 +2676 889 7 0.41 9.093207434425235 27.903319984667448 3.927102073367587 0 0 0 +2837 943 7 0.41 15.846511586812344 26.76497393174719 1.551268307057921 0 0 0 +3007 1000 6 -0.82 8.093084636237354 24.108750436867414 6.7952583369685495 0 0 0 +3008 1000 7 0.41 7.992033157218103 24.4799068174981 5.833634900624521 0 0 0 +3009 1000 7 0.41 9.071258869198617 23.869661247925418 6.948979521669303 0 0 0 +3037 1010 6 -0.82 10.434613060465194 29.768675145110365 6.094496189141246 0 0 0 +3038 1010 7 0.41 11.197518542976686 29.626967938470457 5.392514123822627 0 0 0 +3039 1010 7 0.41 10.813458519487112 30.261503040438246 6.89872142122291 0 0 0 +22 5 6 -0.82 18.84033255471692 26.0682235582395 6.17476835238839 0 0 0 +23 5 7 0.41 18.636769288664787 25.100543800635766 6.517942330924975 0 0 0 +24 5 7 0.41 18.088988354628764 26.304065662792574 5.498835029676001 0 0 0 +361 118 6 -0.82 20.5581858143998 23.409507594524335 3.688423583056696 0 0 0 +362 118 7 0.41 20.606925451084265 23.946388022841163 2.8043181892937135 0 0 0 +430 141 6 -0.82 21.223094550223305 25.862403553694044 4.880239391992584 0 0 0 +431 141 7 0.41 20.386030588629108 26.056346237064254 5.462026266033859 0 0 0 +432 141 7 0.41 21.0471342196834 24.9712402999883 4.411241061817592 0 0 0 +554 182 7 0.41 17.39067661579845 23.265760268619598 7.367437788909867 0 0 0 +925 306 6 -0.82 16.964016375696456 27.173059735653098 4.45985506727304 0 0 0 +926 306 7 0.41 17.5764517401096 27.99645485014653 4.368807628699848 0 0 0 +927 306 7 0.41 16.76766502711108 26.73337108550178 3.545047810828519 0 0 0 +1534 509 6 -0.82 15.39369969224423 29.57257117857084 5.927547468939033 0 0 0 +1535 509 7 0.41 15.822019607144593 28.743127913539826 5.505706940263998 0 0 0 +1591 528 6 -0.82 21.359591105974975 29.984609254544825 0.20909780087707286 0 0 0 +1592 528 7 0.41 20.904892631579482 29.326917960058534 30.894312763928067 0 0 -1 +1593 528 7 0.41 22.055723018085622 29.47745036420481 0.7819617345810356 0 0 0 +1706 566 7 0.41 22.246028058084047 23.178317336615457 8.560017617102389 0 0 0 +1962 651 7 0.41 19.495386745649512 24.395898814324614 1.0945115579751925 0 0 0 +2644 879 6 -0.82 18.68518520677339 29.252101988281538 5.128295438226397 0 0 0 +2645 879 7 0.41 18.731996687696245 29.071358375710894 6.136317472995243 0 0 0 +2646 879 7 0.41 19.64061888036097 29.340832829985565 4.751141034114145 0 0 0 +2764 919 6 -0.82 21.172000460822833 29.333579616397643 3.968527298556469 0 0 0 +2765 919 7 0.41 20.976955982521176 29.902426957751526 3.1510515319582506 0 0 0 +2766 919 7 0.41 21.737299803841932 28.540588825977302 3.6641773149586827 0 0 0 +2836 943 6 -0.82 16.40084220679186 26.016430013368787 1.9632481514438138 0 0 0 +2838 943 7 0.41 15.917018199530673 25.115959596299387 1.8130087676731428 0 0 0 +2950 981 6 -0.82 21.0924453731437 24.96936269178965 1.493521414198283 0 0 0 +2951 981 7 0.41 21.453668024045523 25.021347682960627 0.5175759288964797 0 0 0 +2952 981 7 0.41 21.405412976850094 25.82004758913718 1.9531788069581757 0 0 0 +2987 993 7 0.41 22.0950632921813 29.349825044321673 5.366014327744289 0 0 0 +2989 994 6 -0.82 23.517385099257577 25.781736531362657 6.293578915031485 0 0 0 +2990 994 7 0.41 23.178881793065482 25.745544639878666 7.253563913808729 0 0 0 +2991 994 7 0.41 22.698032810489455 25.97856325700827 5.673975130824796 0 0 0 +673 222 6 -0.82 30.008462260165704 26.230611569693263 6.531292279966436 0 0 0 +674 222 7 0.41 29.352831631128605 25.67854330557933 5.955945153104218 0 0 0 +675 222 7 0.41 30.194936743533837 27.1145913313261 6.033951287941834 0 0 0 +700 231 6 -0.82 27.70580395204571 29.49041904692726 3.894757568525047 0 0 0 +701 231 7 0.41 28.581505522091124 29.654908109244072 3.3861283746564603 0 0 0 +702 231 7 0.41 27.68905397003003 28.48266104992409 4.124169231724314 0 0 0 +1231 408 6 -0.82 28.06201004054942 26.856749591231786 4.057119203603963 0 0 0 +1232 408 7 0.41 28.242846494523796 25.858957219248566 4.25515612187642 0 0 0 +1233 408 7 0.41 28.65430208829202 27.10846260441725 3.2400503255458255 0 0 0 +1303 432 6 -0.82 28.084805761089513 29.113531861717668 6.886756317220698 0 0 0 +1304 432 7 0.41 27.755416697303822 28.232004101019502 7.27560629454966 0 0 0 +1305 432 7 0.41 27.959790457718817 29.861232090228317 7.582060831387597 0 0 0 +1365 452 7 0.41 26.575447447384263 25.148153556114405 7.4401708241955635 0 0 0 +1657 550 6 -0.82 29.63436614561282 27.90757738192085 1.990110400433874 0 0 0 +1658 550 7 0.41 30.50541405044175 28.300225254474732 2.3550324115354115 0 0 0 +1659 550 7 0.41 29.45615906441138 28.34365740690735 1.0879881135497234 0 0 0 +1744 579 6 -0.82 25.1097364507514 24.67501014753365 4.473046516877637 0 0 0 +1745 579 7 0.41 24.39767372562041 24.94478824754106 5.172140103497306 0 0 0 +1746 579 7 0.41 25.43054455313801 23.72972305220121 4.651238649574824 0 0 0 +1756 583 6 -0.82 30.430941896114476 28.860874767816945 5.671506789173184 0 0 0 +1757 583 7 0.41 29.477640815708547 28.989800885157944 6.083368796638762 0 0 0 +1758 583 7 0.41 30.501104312262534 29.457628617529576 4.828544332035839 0 0 0 +1813 602 6 -0.82 24.534765538332397 26.584965250450054 2.6080849956314074 0 0 0 +1814 602 7 0.41 24.992088969067026 26.084829309186173 3.379599609561555 0 0 0 +1815 602 7 0.41 24.12785341333775 25.862568859063373 2.025170770193171 0 0 0 +1942 645 6 -0.82 26.48956362074509 26.520275850154295 6.4254271423186236 0 0 0 +1943 645 7 0.41 26.99171420840644 26.76723817083648 5.566659977535262 0 0 0 +1944 645 7 0.41 25.510286052043096 26.3265054974874 6.1832412248358315 0 0 0 +2294 762 7 0.41 26.165987397301087 29.79318961538686 5.187601083362997 0 0 0 +2295 762 7 0.41 25.03979160594388 30.4898140196824 4.257001811849332 0 0 0 +2338 777 6 -0.82 28.8309039308196 24.415848009012123 4.846899188898811 0 0 0 +2339 777 7 0.41 28.195736530014802 23.65437902404245 4.592960185381103 0 0 0 +2340 777 7 0.41 29.700971806478144 23.952396038953655 5.163006716814692 0 0 0 +2534 842 7 0.41 25.09791616400367 29.058564906956846 7.41279458990006 0 0 0 +2650 881 6 -0.82 23.30735285610237 28.928011371914675 1.9494495194616415 0 0 0 +2651 881 7 0.41 23.80175469046828 28.0464402652598 2.188112445983668 0 0 0 +2652 881 7 0.41 23.953514067218634 29.692117993552795 2.19026572010394 0 0 0 +2986 993 6 -0.82 22.792508460211348 29.416897110095046 6.128840610258234 0 0 0 +2988 993 7 0.41 23.727802176554462 29.623802107225107 5.726498839236859 0 0 0 +37 10 6 -0.82 4.874545469191017 2.793604262206725 10.70925580669586 0 0 0 +38 10 7 0.41 5.773469086671523 2.6885768473881577 11.18106853699053 0 0 0 +39 10 7 0.41 4.882284027788815 3.704557194230593 10.236904626606542 0 0 0 +640 211 6 -0.82 6.071512471875652 30.63675013930618 8.201859256077734 0 0 0 +727 240 6 -0.82 3.103318291087221 0.7029100766723366 10.934104488820637 0 0 0 +728 240 7 0.41 3.6476093053149747 1.5758781241753954 10.850432600036028 0 0 0 +729 240 7 0.41 3.7812206898428307 31.276676081037273 10.924284212454415 0 -1 0 +1531 508 6 -0.82 5.534428169853004 8.10930825520079 12.06227442388885 0 0 0 +1532 508 7 0.41 5.330407751168054 7.936034497459234 13.055131334476942 0 0 0 +1533 508 7 0.41 6.27921091013961 7.485584519329219 11.775118266107143 0 0 0 +1810 601 6 -0.82 8.043505967840314 6.378305914403394 15.041930319600386 0 0 0 +1834 609 6 -0.82 6.40471285947963 2.0249001789035748 8.06991547433342 0 0 0 +1835 609 7 0.41 6.3283833580709485 0.9961473762148421 8.00781239997846 0 0 0 +1836 609 7 0.41 5.715910891498827 2.3156372370070253 8.76353822080219 0 0 0 +1902 631 7 0.41 31.284408736301327 4.6226147713904195 9.569526847823047 0 0 0 +1954 649 6 -0.82 6.555995663845934 4.662620959744407 9.427022980935583 0 0 0 +1955 649 7 0.41 6.986670932716577 3.9485819311617676 8.831269100703713 0 0 0 +1956 649 7 0.41 6.71175461932547 5.59202582352589 9.01048734793441 0 0 0 +2011 668 6 -0.82 0.9917496158465794 1.1632892697379733 13.186724807201267 0 0 0 +2012 668 7 0.41 1.4963676522308282 0.9330313588459945 12.324270400907103 0 0 0 +2013 668 7 0.41 1.56646998405629 1.7351326725289455 13.798303449836505 0 0 0 +2030 674 7 0.41 3.3336893483499934 5.92659086602806 8.185742824511957 0 0 0 +2031 674 7 0.41 2.2681395900912498 4.673863871067269 8.280449573591262 0 0 0 +2167 720 6 -0.82 5.43583091270486 7.100574344153987 14.696224053219533 0 0 0 +2168 720 7 0.41 5.048468451532043 6.231263066815829 14.304640636471483 0 0 0 +2169 720 7 0.41 6.4365615985303535 6.916145725110789 14.884291953318613 0 0 0 +2563 852 6 -0.82 4.884356737056618 4.666066818348623 13.451397687798496 0 0 0 +2564 852 7 0.41 5.246988524862437 3.778111572879994 13.798347012146115 0 0 0 +2565 852 7 0.41 3.928437589340633 4.5517526304614595 13.112726849341499 0 0 0 +2932 975 6 -0.82 7.095517896043047 4.28396701756481 11.973931975619553 0 0 0 +2933 975 7 0.41 6.3297783292405105 4.643747583241655 12.561065723478059 0 0 0 +2934 975 7 0.41 6.9037726723873485 4.5207505650808555 10.979651945252936 0 0 0 +266 86 7 0.41 15.453631241026772 4.940982282613293 14.661485063380903 0 0 0 +451 148 6 -0.82 13.014827524112805 7.198425406838864 15.665977478294717 0 0 0 +452 148 7 0.41 12.010157895566222 7.391671677968542 15.778076656637312 0 0 0 +453 148 7 0.41 13.211685230619194 7.173376955770137 14.643703730656458 0 0 0 +583 192 6 -0.82 12.735565252449186 2.1364546107816977 9.14282325347491 0 0 0 +584 192 7 0.41 13.76553186419527 2.2188674484627984 9.060373271931208 0 0 0 +585 192 7 0.41 12.407392119617082 2.951432724603038 9.686328544373163 0 0 0 +655 216 6 -0.82 9.966801903747493 2.1798439576216655 13.666776221800848 0 0 0 +656 216 7 0.41 10.776763334945699 1.6003247321784912 13.466239313052272 0 0 0 +657 216 7 0.41 10.249919202761767 3.0913721414978244 14.061314678094112 0 0 0 +793 262 6 -0.82 11.816885990330492 0.7116589746342287 11.2881793957511 0 0 0 +794 262 7 0.41 12.016586242274355 1.1707257326381588 10.382148725946717 0 0 0 +795 262 7 0.41 12.643889181079068 0.12413811513909503 11.470261289422716 0 0 0 +850 281 6 -0.82 14.527199935916242 4.442863519214566 13.31332560269251 0 0 0 +851 281 7 0.41 13.75877506155076 3.7770077708489893 13.363540071682433 0 0 0 +852 281 7 0.41 14.921000065314443 4.416623554393273 12.34915356202728 0 0 0 +979 324 6 -0.82 13.374463012077033 6.913202624183002 13.059363049230512 0 0 0 +980 324 7 0.41 13.839289484104814 5.991729472727048 13.13997669195645 0 0 0 +981 324 7 0.41 12.690399399849907 6.894782525881347 12.285199828991626 0 0 0 +1024 339 6 -0.82 9.593670994851957 5.253529221902428 12.174869961187703 0 0 0 +1025 339 7 0.41 8.686359763442288 4.75207508443257 12.2357794288642 0 0 0 +1026 339 7 0.41 9.3899768253538 6.078170414888171 11.584623141208926 0 0 0 +1105 366 6 -0.82 8.669395786752013 31.261616159415304 14.160884443094668 0 -1 0 +1106 366 7 0.41 8.970278750697046 0.8856573568964681 13.950448877665071 0 0 0 +1107 366 7 0.41 9.529064460202092 30.84115407684704 14.569622391509808 0 -1 0 +1207 400 6 -0.82 14.371213824848208 5.465911184097044 7.10714099976177 0 0 0 +1208 400 7 0.41 13.773931917077498 6.032546631898874 7.735007924305547 0 0 0 +1801 598 6 -0.82 11.524923597128396 3.6216606321172318 11.078141186239252 0 0 0 +1802 598 7 0.41 10.835792022225537 4.280537492370265 11.480127885840652 0 0 0 +1803 598 7 0.41 11.368664177209103 2.692448784224201 11.47942906262123 0 0 0 +1811 601 7 0.41 8.524026638733547 7.222709136336548 15.34798816815017 0 0 0 +1812 601 7 0.41 8.290909280224087 5.6144863200797035 15.68777315666582 0 0 0 +2140 711 6 -0.82 12.567380725477904 6.661539864404205 8.79048561696284 0 0 0 +2141 711 7 0.41 11.839675757047656 5.992946562135625 8.54787721473382 0 0 0 +2142 711 7 0.41 12.350490734974494 7.013696640573908 9.740968365543061 0 0 0 +2197 730 6 -0.82 15.25217421171887 4.756283849894566 10.80659343640241 0 0 0 +2199 730 7 0.41 15.328099437902647 4.164052615696243 9.96938240612576 0 0 0 +2429 807 7 0.41 12.032353168093373 4.303029055849726 15.303946764572638 0 0 0 +2479 824 6 -0.82 10.5910417294099 4.663491332680316 14.631205954231305 0 0 0 +2480 824 7 0.41 10.190995314295343 5.047832954033431 13.752645441100764 0 0 0 +2632 875 6 -0.82 11.53429191156886 7.641254143807069 11.113228882381087 0 0 0 +2633 875 7 0.41 10.51893292104152 7.56887714442419 10.93469367753509 0 0 0 +2634 875 7 0.41 11.756350006012115 8.58241395449277 11.425457919440184 0 0 0 +2782 925 6 -0.82 8.780096066114437 7.353452976040011 10.620625396928057 0 0 0 +2784 925 7 0.41 8.253324504007052 7.272644395252468 9.742207856420936 0 0 0 +2913 968 7 0.41 15.552047644971438 8.233804995336817 11.38433719429505 0 0 0 +202 65 6 -0.82 18.222030071798933 3.9312856936346194 8.596789016893716 0 0 0 +203 65 7 0.41 19.16329935243335 4.206534173099216 8.257832239674848 0 0 0 +204 65 7 0.41 18.360175337529743 3.3744579531490486 9.44368689340638 0 0 0 +265 86 6 -0.82 16.0568442555299 5.4056821010140705 15.363970650857405 0 0 0 +304 99 6 -0.82 20.74269913417871 4.713986765100472 8.054835167260308 0 0 0 +306 99 7 0.41 20.95782819977393 5.1593496085274255 8.962197118839725 0 0 0 +472 155 6 -0.82 19.506396058726605 8.16075208859417 9.90362953131196 0 0 0 +473 155 7 0.41 19.79320030405532 8.36471538072514 10.867999131762993 0 0 0 +474 155 7 0.41 18.60195427718457 7.679464300195686 9.869608163306516 0 0 0 +481 158 6 -0.82 16.738004978282436 0.5909501077949014 13.93217831176385 0 0 0 +482 158 7 0.41 17.430969290667672 1.2826717827870344 14.244111323082777 0 0 0 +483 158 7 0.41 16.174554977643023 0.36223752699097306 14.771673985235148 0 0 0 +598 197 6 -0.82 15.372007188405727 2.5163616829145923 9.139603464462896 0 0 0 +599 197 7 0.41 15.848820976555233 2.2202481010232873 10.01860923868234 0 0 0 +600 197 7 0.41 15.690477605244075 1.912656829020292 8.363622503448893 0 0 0 +627 206 7 0.41 21.284133207792664 7.78065587700851 13.29568318629034 0 0 0 +706 233 6 -0.82 20.464322540544913 0.6908060554496243 14.382084270967242 0 0 0 +707 233 7 0.41 19.730982325821003 1.3541846887210822 14.687792179859132 0 0 0 +708 233 7 0.41 20.18589331077928 0.22385341524671803 13.50930420580757 0 0 0 +812 268 7 0.41 16.249228661983874 7.036031122932639 15.899058550900161 0 0 0 +943 312 6 -0.82 17.43224468480921 6.3693257610959275 13.238507808557344 0 0 0 +944 312 7 0.41 16.929735950570194 6.0873867947419456 14.10577108175189 0 0 0 +945 312 7 0.41 17.72896435580953 5.472584163585928 12.822814149423563 0 0 0 +1033 342 6 -0.82 21.549612016977274 2.0455741287625284 8.917879575306749 0 0 0 +1034 342 7 0.41 21.35104275829651 2.944518699369902 8.4577488526428 0 0 0 +1035 342 7 0.41 21.901907534789068 1.4211726172400594 8.160415792044 0 0 0 +1129 374 6 -0.82 22.56728210677851 8.31265158120822 7.273133289654855 0 0 0 +1131 374 7 0.41 21.92684051264945 7.578516783991589 6.974678037007302 0 0 0 +1147 380 6 -0.82 17.411956661543876 6.5555731404714885 8.879713175812503 0 0 0 +1148 380 7 0.41 16.8102705095973 6.936182480498608 9.638952152741552 0 0 0 +1149 380 7 0.41 17.422732186308806 5.5234700100506675 8.908453208903724 0 0 0 +1150 381 6 -0.82 18.367019907480962 0.5496207889962181 8.445324370239241 0 0 0 +1151 381 7 0.41 17.466226895384484 0.7239794385255313 7.960763990772952 0 0 0 +1152 381 7 0.41 19.073340796393882 0.7867341766743075 7.715973566581685 0 0 0 +1183 392 6 -0.82 18.053022307428165 3.709741451247165 12.776955714274825 0 0 0 +1184 392 7 0.41 19.0046422854575 3.519785916701818 12.440253759012212 0 0 0 +1185 392 7 0.41 18.034110601506892 3.404476783097625 13.758461917934763 0 0 0 +1243 412 6 -0.82 22.83238896746696 2.996281492213009 15.329488557295758 0 0 0 +1244 412 7 0.41 23.558593495185736 3.135053379098875 14.591269724568395 0 0 0 +1245 412 7 0.41 22.62373233525016 2.004728291826318 15.41163484875231 0 0 0 +1543 512 6 -0.82 21.457056627801943 7.458787832967 14.91177548214197 0 0 0 +1545 512 7 0.41 21.7516034670703 6.5634163722368 15.33001792434787 0 0 0 +1546 513 6 -0.82 18.50625503652206 2.3891361326636016 15.307867260604159 0 0 0 +1548 513 7 0.41 18.860920476442576 3.302101706643534 15.643238445663233 0 0 0 +1701 564 7 0.41 21.701629272579144 0.06947295065507111 15.161660627763037 0 1 0 +1753 582 6 -0.82 19.475415467419978 2.1442942337136643 10.611738477936765 0 0 0 +1754 582 7 0.41 18.69682655220496 1.568123747692981 10.277651840986994 0 0 0 +1755 582 7 0.41 20.255503817997628 2.0777425661037383 9.930479458630803 0 0 0 +1975 656 6 -0.82 23.49969215455012 1.3011363413723038 10.672247118525625 0 0 0 +1976 656 7 0.41 23.296849756681134 0.7194395906172312 11.508665412586561 0 0 0 +1977 656 7 0.41 22.683506774625272 1.4179603515934422 10.0484035907086 0 0 0 +2198 730 7 0.41 15.242388725961643 5.753969457501897 10.580923786182069 0 0 0 +2320 771 6 -0.82 16.62269685574034 1.8066839065184674 11.390097839476569 0 0 0 +2321 771 7 0.41 17.104461619620754 2.615732561954306 11.817782546864075 0 0 0 +2322 771 7 0.41 16.397092941859796 1.191625158527818 12.179799835491417 0 0 0 +2821 938 6 -0.82 21.127012742453616 5.959088695643725 10.430201432474352 0 0 0 +2822 938 7 0.41 20.599039782728738 6.702252085637429 9.950213145734512 0 0 0 +2823 938 7 0.41 21.25527553634741 6.379992959660634 11.36250491439928 0 0 0 +2912 968 7 0.41 16.52932295384574 6.965478575444369 11.828314816740413 0 0 0 +3052 1015 6 -0.82 22.59486567811616 3.755761526420404 11.445444699459076 0 0 0 +3053 1015 7 0.41 22.965817810087152 2.9108574771705538 10.979276508697932 0 0 0 +3054 1015 7 0.41 21.83148372275955 4.178579653855 10.906251235234162 0 0 0 +3058 1017 6 -0.82 20.87454607150655 3.861087836664445 13.574591272644732 0 0 0 +3059 1017 7 0.41 21.45714326265778 3.849832588830494 12.728893229416855 0 0 0 +3060 1017 7 0.41 21.45435978357446 3.473200449085384 14.325250909381488 0 0 0 +646 213 6 -0.82 29.38038540538509 1.3355544464532882 10.936200006531536 0 0 0 +647 213 7 0.41 28.52535842978009 1.0829212796378278 11.448122511659445 0 0 0 +648 213 7 0.41 29.927379174886195 0.47162164637694914 10.806499770703303 0 0 0 +760 251 6 -0.82 26.60295929546882 0.820929905358206 11.214848719064488 0 0 0 +761 251 7 0.41 25.783142630876604 1.4223135195280034 11.100170724984453 0 0 0 +762 251 7 0.41 26.871372967112 0.38840809730130627 10.316832851941461 0 0 0 +1081 358 6 -0.82 25.111579147081716 0.8311899949120287 15.666387333779495 0 0 0 +1082 358 7 0.41 24.908724716160158 0.5535872273216107 16.651827056013335 0 0 0 +1083 358 7 0.41 25.307464231878637 1.8390461160816234 15.650302122547215 0 0 0 +1102 365 6 -0.82 24.5061255084187 3.504198008571359 13.361816728872547 0 0 0 +1103 365 7 0.41 23.86316050667454 3.5868150887995576 12.557811778182701 0 0 0 +1104 365 7 0.41 24.95908050915627 4.433085866415011 13.483332535450907 0 0 0 +1375 456 6 -0.82 24.121218240263918 6.426219572167526 11.287347812600979 0 0 0 +1376 456 7 0.41 23.728798624589057 7.368728619057728 11.17999995246191 0 0 0 +1377 456 7 0.41 23.450487015072337 5.729216429627982 10.960963529738493 0 0 0 +1887 626 7 0.41 26.26695630821137 7.693842407094571 11.651699781972432 0 0 0 +1900 631 6 -0.82 0.5538326721316478 4.901107449809845 8.79605105809149 1 0 0 +1901 631 7 0.41 0.15856528095493355 4.501145589559964 7.936951637444662 1 0 0 +1938 643 7 0.41 0.3992076068161732 6.597810976852821 9.1255867213517 1 0 0 +1984 659 6 -0.82 28.033585636622824 2.3492207366508926 8.597013841843669 0 0 0 +1985 659 7 0.41 28.56114432334285 2.146114712724405 9.456197217217563 0 0 0 +1986 659 7 0.41 27.561327464753667 1.463204516888106 8.400423264340303 0 0 0 +2035 676 6 -0.82 25.336434002024134 6.010513489967581 13.637288439648984 0 0 0 +2036 676 7 0.41 24.880446328112875 6.17679442880619 12.719860278039056 0 0 0 +2037 676 7 0.41 25.335705625564646 6.910273171065185 14.143623245856014 0 0 0 +2381 791 7 0.41 28.19467782271191 3.671318686051436 15.686943893060862 0 0 0 +2383 792 6 -0.82 28.739864015995455 6.436606424548524 14.390064607839108 0 0 0 +2384 792 7 0.41 29.5294108487768 6.128020053319355 14.972859421319477 0 0 0 +2385 792 7 0.41 28.738598814920962 7.469238869923245 14.326111776434557 0 0 0 +2455 816 6 -0.82 28.22969021455846 6.614246057938231 9.632114530613572 0 0 0 +2456 816 7 0.41 27.729577750786973 6.747343374465759 8.745012563486782 0 0 0 +2457 816 7 0.41 28.5453214283787 5.651149233881767 9.761032963345277 0 0 0 +2464 819 6 -0.82 29.924294983495848 1.5386733409499427 14.546939007185596 0 0 0 +2465 819 7 0.41 30.74301518149667 1.4310491104647682 13.923752275175737 0 0 0 +2466 819 7 0.41 29.991205279761942 2.413121964792034 15.077206296562384 0 0 0 +2509 834 6 -0.82 30.287276959535113 31.127184668035895 8.323630702759448 0 -1 0 +2510 834 7 0.41 31.073422187492966 30.51179988595706 8.524108005620443 0 -1 0 +2511 834 7 0.41 30.29285096026487 0.09341387407241454 7.349338619284522 0 0 0 +2692 895 6 -0.82 29.913716397643128 3.9554956695383647 10.666856708658937 0 0 0 +2693 895 7 0.41 29.792047609781942 4.357267454658167 11.596571133240456 0 0 0 +2694 895 7 0.41 29.82490110002227 2.919894564738311 10.77572889286737 0 0 0 +2971 988 6 -0.82 30.22160404641605 7.859589731902485 11.976944047629603 0 0 0 +2972 988 7 0.41 30.618076174778103 7.668750854165965 11.035174447210812 0 0 0 +2973 988 7 0.41 29.68297280465042 7.044113961494932 12.265255270494043 0 0 0 +3022 1005 6 -0.82 26.04403915428625 3.4055857109242043 16.302407651421788 0 0 0 +3024 1005 7 0.41 25.78462687015271 4.256724981938526 15.794214750510749 0 0 0 +3031 1008 6 -0.82 27.64418237956549 31.30757318436908 14.237169645322846 0 -1 0 +3032 1008 7 0.41 28.526986534773442 0.49282936119318205 14.246513844357258 0 0 0 +3033 1008 7 0.41 26.856374364666415 0.6009398396724555 14.232234132483056 0 0 0 +67 20 6 -0.82 4.696064176426413 11.220775509730515 13.642944750250038 0 0 0 +68 20 7 0.41 4.61549214717565 10.693390749277095 14.522552207800361 0 0 0 +69 20 7 0.41 3.9014765582428867 10.989022501696933 13.050382061547971 0 0 0 +421 138 6 -0.82 5.777225439659473 9.396767932139644 9.044375023119459 0 0 0 +422 138 7 0.41 5.450837973255629 9.381853825510486 10.016149317771093 0 0 0 +423 138 7 0.41 5.754408528538073 10.33853043413056 8.656630076849986 0 0 0 +684 225 7 0.41 4.019862488081238 8.966764661931158 16.46052952914867 0 0 0 +758 250 7 0.41 7.653704771567772 16.04106350707296 13.74328389673833 0 0 0 +1381 458 6 -0.82 8.27091655024975 12.894618908079003 10.429249324510685 0 0 0 +1383 458 7 0.41 7.267831550443076 12.765981058071697 10.547332149369732 0 0 0 +1440 477 7 0.41 6.542055114251129 15.47885883069562 11.637490337371792 0 0 0 +1553 515 7 0.41 8.047667562421722 14.196250884716882 9.217156251660215 0 0 0 +1666 553 6 -0.82 2.5032676532370615 11.584771059879444 8.29094180422358 0 0 0 +1667 553 7 0.41 3.0868295265306367 12.405117681801883 8.446529995088717 0 0 0 +1668 553 7 0.41 1.5771745583954435 11.732726668074555 8.712444463298045 0 0 0 +1870 621 6 -0.82 7.384534808253278 11.229620122175632 13.637210832497251 0 0 0 +1871 621 7 0.41 6.369285635717333 11.411467711749319 13.49193081622402 0 0 0 +1872 621 7 0.41 7.433473395401345 10.542364964301923 14.38991154976275 0 0 0 +1936 643 6 -0.82 0.043469858354320934 7.465778492524132 9.565089880312025 1 0 0 +2307 766 7 0.41 6.51238714255334 8.028904413591976 8.591257937782338 0 0 0 +2378 790 7 0.41 1.2330990960230188 9.213186854774033 15.134945047048642 0 0 0 +2783 925 7 0.41 8.593383636741018 8.298226584984203 11.023495827115243 0 0 0 +2869 954 6 -0.82 4.2220832169680085 14.635551874592023 13.390513825777683 0 0 0 +2870 954 7 0.41 3.965965658540389 13.689314840799602 13.523898065718493 0 0 0 +2871 954 7 0.41 3.766504575125637 15.167002923478904 14.172869569079781 0 0 0 +1 1025 1 0 12.112073980890484 10.976182545894863 11.868538861620651 0 0 0 +2 1025 2 0 12.890098210938858 10.269214525353325 11.951715020692983 0 0 0 +3 1025 2 0 12.066718283520352 11.511275258203133 12.776088805476776 0 0 0 +4 1025 2 0 11.206932186111883 10.445813242413871 11.762661733233045 0 0 0 +145 46 6 -0.82 11.382667238379243 8.859278604942595 7.656340058662223 0 0 0 +146 46 7 0.41 10.529519651294237 8.3565387186615 7.360433824230045 0 0 0 +374 122 7 0.41 11.962786732654981 14.08085090096407 9.876904623630496 0 0 0 +589 194 6 -0.82 15.74003758279412 12.799542634069248 12.70138999983252 0 0 0 +590 194 7 0.41 14.984210740575064 12.776195821895481 13.41567546351719 0 0 0 +638 210 7 0.41 15.429503968928012 14.400957295837625 10.05432915140656 0 0 0 +1382 458 7 0.41 8.67908040983253 13.09533013477029 11.362655544501084 0 0 0 +1455 482 7 0.41 13.382472634015839 15.53321847395291 11.612458324561041 0 0 0 +1471 488 6 -0.82 10.557222460279563 13.61630698031863 8.933192227113175 0 0 0 +1472 488 7 0.41 9.82600328684475 13.16479540632997 9.497162784286067 0 0 0 +1473 488 7 0.41 10.33774920353786 14.60871923113705 8.766515032634747 0 0 0 +1552 515 6 -0.82 7.894301093493165 14.873867979837641 8.461284534225182 0 0 0 +1554 515 7 0.41 7.97956683629787 14.397562375262243 7.561029724924295 0 0 0 +1905 632 7 0.41 8.772578515335221 11.775561709654099 15.411879667232283 0 0 0 +2083 692 6 -0.82 8.434354957992932 9.84848220481402 11.495380889910049 0 0 0 +2084 692 7 0.41 8.764600853682383 10.599097362641235 10.893485838966246 0 0 0 +2085 692 7 0.41 7.965520845305131 10.275533531007746 12.309571336940904 0 0 0 +2274 755 7 0.41 10.934689661812257 15.34552691388553 10.985911732043292 0 0 0 +2491 828 6 -0.82 15.48507388359382 9.929582287259148 12.94343952393714 0 0 0 +2492 828 7 0.41 15.4591905853807 10.944165425467652 12.779783133797247 0 0 0 +2493 828 7 0.41 14.80434446075222 9.710792812416638 13.678131770100672 0 0 0 +2553 848 7 0.41 14.557530865548364 11.23055403019619 7.6109093991315975 0 0 0 +2662 885 6 -0.82 9.30367291986242 13.157993836773754 12.95211022101244 0 0 0 +2663 885 7 0.41 8.578944362123732 12.481624975999917 13.232694936980664 0 0 0 +2664 885 7 0.41 9.923478473686355 13.346257049381132 13.760215345869012 0 0 0 +2761 918 6 -0.82 13.870475452249208 12.363493704968864 14.583115334722802 0 0 0 +2762 918 7 0.41 13.228422657266433 12.971145815754719 15.08275378184605 0 0 0 +2763 918 7 0.41 14.201403836653443 11.58639503832858 15.18471392514287 0 0 0 +7 1026 4 0 17.543460108351226 14.686287612959637 15.793049673340839 0 0 0 +142 45 6 -0.82 19.31298083751807 14.830269314433929 12.062895881643504 0 0 0 +143 45 7 0.41 18.30092342322977 14.67774629281969 12.17128631214163 0 0 0 +144 45 7 0.41 19.49113928576426 15.53628961387477 11.33522954518881 0 0 0 +232 75 6 -0.82 16.595737159461482 15.359083104131708 12.325308726620849 0 0 0 +233 75 7 0.41 15.613671681130997 15.685702099307113 12.455326566209935 0 0 0 +340 111 6 -0.82 19.636685512749953 9.93680892204333 7.790917928236932 0 0 0 +341 111 7 0.41 19.50110812081054 9.049463910951168 8.303650164783878 0 0 0 +342 111 7 0.41 18.76614034195717 10.491255172538116 7.829429668515858 0 0 0 +418 137 6 -0.82 20.26719499726475 13.367569608879835 8.055544180105416 0 0 0 +419 137 7 0.41 21.06582308756487 13.997364188279365 7.851498987662367 0 0 0 +420 137 7 0.41 20.401204038378733 13.036613251517888 9.024676957437553 0 0 0 +560 184 7 0.41 22.756152594736307 15.488974485324162 8.349977034845027 0 0 0 +591 194 7 0.41 16.05200932965418 13.78838051222156 12.623550953632318 0 0 0 +625 206 6 -0.82 21.231382464557438 7.974189188589377 12.27530056137414 0 0 0 +626 206 7 0.41 22.06931366744375 8.501251868384148 11.992369546409131 0 0 0 +637 210 6 -0.82 16.297316529846942 14.412750726183022 9.518469299795617 0 0 0 +639 210 7 0.41 16.482388068935688 13.478988078713677 9.160472279213286 0 0 0 +778 257 6 -0.82 21.49438021529163 15.06398381768671 14.469305910256104 0 0 0 +779 257 7 0.41 21.964153500022896 14.900051733755216 13.574867971818483 0 0 0 +780 257 7 0.41 20.871495424001296 14.250025600353728 14.63996159329487 0 0 0 +813 268 7 0.41 17.06644251067621 8.426360596683537 15.398193043853379 0 0 0 +1130 374 7 0.41 22.167512250394235 8.841777248450795 8.061520789956433 0 0 0 +1171 388 6 -0.82 19.9684910765207 12.841871888521455 14.722455766793061 0 0 0 +1172 388 7 0.41 19.327276492438934 12.934857170666987 13.9268944283342 0 0 0 +1173 388 7 0.41 20.128496130661475 11.818755944987394 14.792757927372339 0 0 0 +1306 433 6 -0.82 17.990886102627634 9.054267813025724 13.686380718001187 0 0 0 +1307 433 7 0.41 18.04237720597934 8.039991549707308 13.460773569990625 0 0 0 +1308 433 7 0.41 17.05966126067219 9.384094378015615 13.356525428580415 0 0 0 +1540 511 6 -0.82 21.867927334022518 10.28389835613158 9.280795943310132 0 0 0 +1541 511 7 0.41 21.031480231463696 10.2289463933666 8.676076999151624 0 0 0 +1542 511 7 0.41 21.63800369839503 11.037451332606201 9.948775263606235 0 0 0 +1771 588 6 -0.82 18.376845510168167 11.886730554178502 12.5083021757326 0 0 0 +1772 588 7 0.41 17.457038995576582 12.28367049307186 12.276106737907629 0 0 0 +1773 588 7 0.41 18.204356041766474 11.023710557201873 13.030295157066252 0 0 0 +2242 745 6 -0.82 20.449629942911233 10.251543038282279 14.657302925888581 0 0 0 +2243 745 7 0.41 21.362250658730186 10.17111140993804 14.176471274433835 0 0 0 +2244 745 7 0.41 19.72676490039191 9.700770883328966 14.17409488571811 0 0 0 +2367 786 7 0.41 24.204842651211003 9.029055025132307 14.225470082274574 0 0 0 +2591 861 7 0.41 23.245822698676925 10.098294385922523 12.748904487985207 0 0 0 +2635 876 6 -0.82 20.895864381138995 12.450714412581625 10.72801027963265 0 0 0 +2636 876 7 0.41 21.330601063887947 13.327022745400912 11.014190968975608 0 0 0 +2637 876 7 0.41 20.09180265901442 12.286460067312193 11.351293637213336 0 0 0 +2911 968 6 -0.82 16.118464593172302 7.461188988506401 11.018005133581953 0 0 0 +559 184 6 -0.82 22.482663013080828 14.834819626213994 7.608609429223098 0 0 0 +790 261 6 -0.82 0.20471286642987807 12.251818648659365 12.697601027357619 1 0 0 +791 261 7 0.41 31.273584987597772 13.216465727604172 12.469092240142569 0 0 0 +792 261 7 0.41 31.017436476796078 11.614884560817709 12.09656101140046 0 0 0 +967 320 6 -0.82 26.728566112205414 12.84693148956018 10.83908496494637 0 0 0 +968 320 7 0.41 26.047694064200613 13.533125239132103 11.206052442483571 0 0 0 +969 320 7 0.41 27.3428189117312 13.431328645065358 10.253067328026338 0 0 0 +1291 428 6 -0.82 27.977986465647575 9.348026384600923 9.912814160902146 0 0 0 +1292 428 7 0.41 28.210635725838397 8.356836131073651 9.712219172949691 0 0 0 +1293 428 7 0.41 27.28518907631595 9.295170675979936 10.681262957556461 0 0 0 +1372 455 6 -0.82 23.53735504042979 9.194358299862234 11.25648706583976 0 0 0 +1373 455 7 0.41 23.194552773922393 9.65124429159538 10.396209973643197 0 0 0 +1374 455 7 0.41 24.57482389677163 9.184432534413478 11.258481824268179 0 0 0 +1441 478 6 -0.82 29.019617088559013 9.146554555682096 14.028952660889882 0 0 0 +1442 478 7 0.41 28.516968349017365 9.968888046406171 13.63448641460383 0 0 0 +1443 478 7 0.41 29.58538152168382 8.804299157784122 13.23156647316266 0 0 0 +1563 518 7 0.41 24.30091967419745 15.200761249162678 11.84245602381607 0 0 0 +1579 524 6 -0.82 28.093907824687268 12.74652219400941 14.754364593245304 0 0 0 +1580 524 7 0.41 27.349658988087242 12.222710452225458 15.215769870410215 0 0 0 +1581 524 7 0.41 27.663000026862644 13.628358000005862 14.408788079441079 0 0 0 +1885 626 6 -0.82 26.158345031257888 8.703405098782438 11.765204695425144 0 0 0 +1886 626 7 0.41 26.402488901582817 8.98049904695998 12.720853538379192 0 0 0 +1937 643 7 0.41 31.226944830468106 8.19113222660806 8.863931787275886 0 0 0 +2180 724 7 0.41 27.100094374874065 15.349315877014975 14.849331491661733 0 0 0 +2181 724 7 0.41 25.575771150049203 15.135815988177322 14.262252174879936 0 0 0 +2287 760 6 -0.82 27.897257258458286 11.15504483723661 12.644010746704863 0 0 0 +2288 760 7 0.41 28.057871172628545 11.827515398691892 13.413069610943632 0 0 0 +2289 760 7 0.41 27.525229030147667 11.69057678202061 11.840435208021011 0 0 0 +2365 786 6 -0.82 24.935542884480682 8.476926228014731 14.683810561447608 0 0 0 +2366 786 7 0.41 24.677300271342755 8.469350594894468 15.68828574386819 0 0 0 +2395 796 6 -0.82 25.09046555475493 11.271733830539722 9.286190421785026 0 0 0 +2396 796 7 0.41 25.76882154904477 11.624199877046923 9.97705635166096 0 0 0 +2397 796 7 0.41 24.748931303019624 12.106241626609368 8.793301583844912 0 0 0 +2421 804 7 0.41 29.86073569797817 9.910764005952728 7.468752233387135 0 0 0 +2590 861 6 -0.82 23.05969572209962 10.33266960289375 13.736890738751045 0 0 0 +2592 861 7 0.41 23.777784274888894 10.971712458566168 14.1045849122464 0 0 0 +2758 917 6 -0.82 31.2270481826602 12.514387302179449 8.8988307213239 0 0 0 +2759 917 7 0.41 30.434865992517647 12.814051772362458 8.305028362926025 0 0 0 +2760 917 7 0.41 30.85652027986093 11.830815156791896 9.586984844664968 0 0 0 +2796 929 7 0.41 25.50808168873128 14.293933632430686 7.656387163024138 0 0 0 +2977 990 6 -0.82 30.283871207794572 10.685384613568397 10.729984078094327 0 0 0 +2978 990 7 0.41 30.712567288281157 9.820881170371413 11.067454578067993 0 0 0 +2979 990 7 0.41 29.28885495261497 10.440870875545508 10.580738115489902 0 0 0 +2982 991 7 0.41 0.20663189518550903 14.39498105401343 10.703722221186391 1 0 0 +3081 1024 7 0.41 28.261584762127267 15.769461294458988 9.179029276761696 0 0 0 +205 66 6 -0.82 7.289908533209708 21.46357117349669 8.347941600519416 0 0 0 +207 66 7 0.41 6.980218891448906 22.43776624279743 8.488133302914163 0 0 0 +263 85 7 0.41 0.13052662712361698 18.825213920313335 11.859459572558757 1 0 0 +319 104 6 -0.82 1.2427545182412993 17.350897418498107 9.830154513129356 0 0 0 +320 104 7 0.41 1.939680076423317 16.98792074477113 10.49713070294751 0 0 0 +321 104 7 0.41 1.6825111140237976 17.326790025538187 8.889807322660417 0 0 0 +400 131 6 -0.82 3.2653051189532376 16.39866892146836 11.440682631939103 0 0 0 +401 131 7 0.41 3.4486534362645926 17.287388254253425 11.927713211126514 0 0 0 +402 131 7 0.41 3.638800938488598 15.658855468712678 12.051954387192332 0 0 0 +436 143 6 -0.82 5.325097528880817 21.14787048565226 13.841204849134606 0 0 0 +437 143 7 0.41 5.522823403965717 21.70777801834903 12.996301890501726 0 0 0 +438 143 7 0.41 6.163339564062318 20.5884656979486 14.060960919243477 0 0 0 +565 186 6 -0.82 5.967582290502193 15.891151598779146 10.07390232788229 0 0 0 +566 186 7 0.41 6.628211274080289 15.65498184452798 9.3080691963069 0 0 0 +567 186 7 0.41 5.013913735020129 15.766140379857958 9.729259643373975 0 0 0 +805 266 6 -0.82 5.749745562616505 17.13187773091523 15.930727740493019 0 0 0 +807 266 7 0.41 5.0267775568686455 16.91969034935023 15.24452482473485 0 0 0 +958 317 6 -0.82 5.354750190832176 23.302939788677815 15.936373151214442 0 0 0 +959 317 7 0.41 5.732792932272396 23.999778131945476 15.298410673920605 0 0 0 +1153 382 6 -0.82 0.7211643549355509 17.46984767009928 13.188075681433006 0 0 0 +1154 382 7 0.41 0.7400966018703549 16.469576235703354 12.942113454967057 0 0 0 +1155 382 7 0.41 1.6634306329436996 17.77165709105621 13.418712973340035 0 0 0 +1229 407 7 0.41 2.308882092403227 16.020872727804083 7.774877207592175 0 0 0 +1438 477 6 -0.82 6.772039000388146 15.227940545887325 12.615115274789044 0 0 0 +1439 477 7 0.41 5.877991899723745 14.950669289993787 13.057196995811015 0 0 0 +1675 556 6 -0.82 4.65602237463108 20.481465100612922 10.35076382693678 0 0 0 +1676 556 7 0.41 5.141590799549972 19.677992741952636 10.791584578016685 0 0 0 +1677 556 7 0.41 3.741778320251118 20.61417859738046 10.825095692423345 0 0 0 +1678 557 6 -0.82 8.081958969679537 20.653284237194324 10.809602339017815 0 0 0 +1679 557 7 0.41 8.462149395732544 19.698536642057665 10.682953954329992 0 0 0 +1723 572 6 -0.82 1.0290024840770224 22.674820865802992 15.409726082993318 0 0 0 +1867 620 6 -0.82 5.476327209666251 18.695698769574545 7.660949262830047 0 0 0 +1868 620 7 0.41 4.616667924366678 18.274167100377603 8.022990581660643 0 0 0 +1869 620 7 0.41 5.750454019065102 19.502100349266325 8.231065340037247 0 0 0 +1991 661 7 0.41 1.987762992397881 23.16424739799466 10.029155918179924 0 0 0 +1992 661 7 0.41 0.4483520657092206 22.975102071100107 9.440003958358634 0 0 0 +2164 719 6 -0.82 4.3398565843740915 22.295031635055597 8.364392201303389 0 0 0 +2165 719 7 0.41 5.062015240997573 23.01622879514171 8.541299610329514 0 0 0 +2166 719 7 0.41 4.472581777365636 21.56865474881667 9.089579928133091 0 0 0 +2203 732 6 -0.82 2.202626111747223 21.138744927267695 11.355217413431989 0 0 0 +2204 732 7 0.41 2.2477147450976336 21.386074214320022 12.343905462509568 0 0 0 +2205 732 7 0.41 1.3291429010262223 20.597600198320137 11.237002162868714 0 0 0 +2283 758 7 0.41 30.694229453811474 21.078016644165405 10.21192624053436 0 0 0 +2335 776 6 -0.82 3.551660904633666 18.54964845274757 13.148741256534613 0 0 0 +2336 776 7 0.41 3.1148451474578445 19.255986029545795 13.778961824434978 0 0 0 +2337 776 7 0.41 4.476226527772815 18.90894899804629 12.89711208494215 0 0 0 +2389 794 6 -0.82 5.993587957149072 18.3648079421072 11.46163477253288 0 0 0 +2390 794 7 0.41 7.018284900066219 18.414310399208464 11.32675296300655 0 0 0 +2391 794 7 0.41 5.738464197556048 17.440064011008264 11.088583979971796 0 0 0 +2398 797 6 -0.82 5.78727765496905 22.64612022226061 11.619500546734145 0 0 0 +2399 797 7 0.41 6.650548443996684 23.006192013957435 11.219283067390528 0 0 0 +2400 797 7 0.41 5.466031065073417 21.8521736808853 11.040153181109964 0 0 0 +2689 894 6 -0.82 2.349047601466708 20.34434092858764 14.831584056182264 0 0 0 +2690 894 7 0.41 1.8156898165628224 21.217063289873217 14.993117753980721 0 0 0 +2691 894 7 0.41 3.180949590221724 20.387834385138387 15.440898309112002 0 0 0 +2811 934 7 0.41 2.2850089862593106 20.39124691831467 8.675373286195793 0 0 0 +2980 991 6 -0.82 30.955189678263277 14.694236080593699 11.46236431361963 0 0 0 +9 1026 5 0 15.234825219829487 15.191912374665229 15.447375791473451 0 0 0 +206 66 7 0.41 7.993733331777344 21.434458565596966 7.607493481543358 0 0 0 +328 107 6 -0.82 12.632389834601698 23.26421576343862 13.609651889464565 0 0 0 +329 107 7 0.41 13.219229809629715 23.266922861297648 14.454846296947242 0 0 0 +373 122 6 -0.82 12.512092091920746 14.823112532720689 10.343679965300993 0 0 0 +375 122 7 0.41 12.959144468756604 15.360443366050498 9.575532263813963 0 0 0 +463 152 6 -0.82 12.829326633476681 18.246005897899483 13.314482164050013 0 0 0 +464 152 7 0.41 11.853338191062639 17.956497717343236 13.154061900446564 0 0 0 +465 152 7 0.41 12.695512157245611 19.18728978573824 13.710463575029921 0 0 0 +556 183 6 -0.82 10.65352625872806 16.2679429941946 7.770329725983842 0 0 0 +558 183 7 0.41 9.78082915848636 16.640983513409825 8.156057759696388 0 0 0 +757 250 6 -0.82 8.075753706114671 16.608426437621908 14.503935030559887 0 0 0 +759 250 7 0.41 8.700410776412362 16.006842688214878 15.038389049940436 0 0 0 +787 260 6 -0.82 8.046382720195801 22.540698646651563 15.095598752319281 0 0 0 +789 260 7 0.41 8.747248362191996 22.111462970456422 14.48835145377724 0 0 0 +796 263 6 -0.82 11.657434235735515 20.64140215100224 14.145206412050156 0 0 0 +797 263 7 0.41 11.248529625758867 20.969166070566313 15.03853733751887 0 0 0 +798 263 7 0.41 12.00813100519279 21.480241864403784 13.66221186964853 0 0 0 +820 271 6 -0.82 15.269843205277311 19.061207346575372 12.52153323521165 0 0 0 +822 271 7 0.41 14.410585536118939 18.68076725762592 12.956066093589326 0 0 0 +823 272 6 -0.82 10.697824634122613 24.093395452080607 9.937813804640518 0 0 0 +824 272 7 0.41 10.889664990784244 23.13151126852926 10.235112586163602 0 0 0 +838 277 6 -0.82 8.72695655731804 18.012431081208604 11.21362649816074 0 0 0 +839 277 7 0.41 9.360840520316893 18.271477751443108 11.997251377735658 0 0 0 +840 277 7 0.41 9.034265754802322 17.04966498801674 11.001211228884413 0 0 0 +946 313 6 -0.82 14.469552690381898 18.539042666510962 9.895191036142151 0 0 0 +947 313 7 0.41 14.826775075481766 18.531629100400455 10.864745332426745 0 0 0 +948 313 7 0.41 14.48898820482214 17.616153764779302 9.451358873860153 0 0 0 +1289 427 7 0.41 11.254650170633342 15.767911024740162 15.166802862563292 0 0 0 +1333 442 6 -0.82 7.557281886675949 19.5956075294021 13.961299081314754 0 0 0 +1334 442 7 0.41 8.053412532227686 19.977472022926985 13.151628012686933 0 0 0 +1335 442 7 0.41 7.1916311935210135 18.679679965284965 13.711485065677852 0 0 0 +1453 482 6 -0.82 14.037919737352713 16.076662035450656 12.199257521752543 0 0 0 +1454 482 7 0.41 13.548817954891552 16.898949800386955 12.588874983698371 0 0 0 +1680 557 7 0.41 7.781229332319381 20.964595754206595 9.869866785212894 0 0 0 +1774 589 6 -0.82 10.141172120108218 18.339305301992635 13.40937695865589 0 0 0 +1775 589 7 0.41 10.50513652796636 19.141809521373975 13.94591596760302 0 0 0 +1776 589 7 0.41 9.516091233938148 17.743140908419967 13.972154168628753 0 0 0 +1948 647 6 -0.82 9.609690418678088 19.136019896764445 8.260064788818491 0 0 0 +1949 647 7 0.41 9.839092855703417 20.017665399209097 7.760455337871475 0 0 0 +1950 647 7 0.41 10.383314793705289 18.948416701042177 8.912701171519542 0 0 0 +2066 686 7 0.41 12.01645821740385 20.909041050413432 7.660367279080545 0 0 0 +2067 686 7 0.41 13.537713602746807 20.8420471830893 8.346862284936408 0 0 0 +2272 755 6 -0.82 9.96769472569184 15.613723614967968 11.22159652874582 0 0 0 +2273 755 7 0.41 9.597368748941067 14.963634616973483 11.920984167945342 0 0 0 +2476 823 6 -0.82 13.507837787740016 16.23338681876285 8.302965030441996 0 0 0 +2477 823 7 0.41 12.589531126735876 16.387979640962826 7.8672951129185655 0 0 0 +2522 838 7 0.41 15.66978286874628 22.30361175567874 8.2902768106344 0 0 0 +2593 862 6 -0.82 14.641371591087138 22.70595225465058 15.422283021696733 0 0 0 +2594 862 7 0.41 14.972956902684617 21.967227729522715 14.809651184754987 0 0 0 +2728 907 6 -0.82 11.791253280659623 18.550244751059957 9.760828272713107 0 0 0 +2729 907 7 0.41 11.628347309764592 17.599570535508317 9.428380359323588 0 0 0 +2730 907 7 0.41 12.814037061928415 18.661219857027813 9.884678870258817 0 0 0 +2872 955 6 -0.82 9.576119397754173 22.237941445174403 12.419368687164598 0 0 0 +2873 955 7 0.41 10.434993708143349 21.89595606281164 11.958938638972104 0 0 0 +2874 955 7 0.41 8.829745037073561 21.755601762223815 11.88840241921408 0 0 0 +2965 986 6 -0.82 11.449847485695035 21.301135738973638 10.697683240469395 0 0 0 +2966 986 7 0.41 11.4549358234135 20.2798346612283 10.813273015469855 0 0 0 +2967 986 7 0.41 11.959659408188593 21.463148832394236 9.814121932050261 0 0 0 +98 30 7 0.41 19.68966925029388 18.90314956168195 7.959086480842829 0 0 0 +184 59 6 -0.82 16.785337472344537 20.535033051046202 14.361031312729196 0 0 0 +185 59 7 0.41 17.5867616172662 20.00187059033329 14.725634516278111 0 0 0 +186 59 7 0.41 17.17505677534505 21.247878657912715 13.7309853993228 0 0 0 +234 75 7 0.41 17.002853296034804 15.940130074718901 11.580025883872917 0 0 0 +280 91 6 -0.82 19.39851866115726 20.260553011535976 9.062692922181327 0 0 0 +281 91 7 0.41 20.399370749167176 20.13967273033949 9.303269080191615 0 0 0 +527 173 7 0.41 18.706146613314623 22.53248877310504 15.04598291321663 0 0 0 +528 173 7 0.41 19.66038281047589 23.656050818096986 15.823070925139689 0 0 0 +739 244 6 -0.82 21.879337851393185 19.28638670557466 9.603666668200233 0 0 0 +740 244 7 0.41 22.209518233463477 18.397631464809 9.227500347014745 0 0 0 +741 244 7 0.41 22.67205557133347 19.83925486714819 9.947025260296348 0 0 0 +769 254 6 -0.82 22.432847411527046 15.423657047045333 11.51434193220462 0 0 0 +770 254 7 0.41 22.987193283803062 15.824142265045408 10.738414246748546 0 0 0 +771 254 7 0.41 21.512801918600484 15.871213524283675 11.410537756897176 0 0 0 +772 255 6 -0.82 21.491068274528363 20.900338857028956 14.636818967444501 0 0 0 +774 255 7 0.41 22.26154581984601 21.587436220875592 14.690034791228713 0 0 0 +821 271 7 0.41 15.88266966066221 19.436052582707514 13.259886592189034 0 0 0 +1246 413 6 -0.82 22.255058207247377 21.74754334665821 11.86708904011719 0 0 0 +1247 413 7 0.41 21.982171890960306 21.264165198290865 12.719770022551682 0 0 0 +1248 413 7 0.41 22.35331616054503 22.7550828583754 12.031328899707926 0 0 0 +1261 418 6 -0.82 19.667113136871382 16.97153523363208 13.88516412667246 0 0 0 +1262 418 7 0.41 19.322445254129242 16.337356714769694 13.150258370411708 0 0 0 +1263 418 7 0.41 20.3520675475588 16.369847106713486 14.381778640151625 0 0 0 +1600 531 6 -0.82 20.206563883877 17.039377715737395 10.716183585332553 0 0 0 +1601 531 7 0.41 19.24490209835342 17.071773052757585 10.32719716190237 0 0 0 +1602 531 7 0.41 20.590647399883956 17.993213188377233 10.677002614096004 0 0 0 +1707 566 7 0.41 21.07077414574162 22.69914653738709 7.4649463572541395 0 0 0 +1759 584 6 -0.82 18.465052668647587 23.17912196037147 10.412625924403708 0 0 0 +1760 584 7 0.41 19.333816046119924 23.118233898844153 9.878099363895156 0 0 0 +1761 584 7 0.41 17.804494427252003 22.49560826626702 10.012443939678494 0 0 0 +2278 757 6 -0.82 18.922813259260433 22.36799087153692 13.08026006363407 0 0 0 +2279 757 7 0.41 18.619637117993793 22.62039811196782 12.125468985363089 0 0 0 +2280 757 7 0.41 19.856581452051618 22.7387235028147 13.232052269225225 0 0 0 +2285 759 7 0.41 15.813848931405039 19.53567800370985 15.360701637007745 0 0 0 +2342 778 7 0.41 24.891786819882824 18.25363091271687 12.831325400154622 0 0 0 +2343 778 7 0.41 23.32675010414413 18.60772295535983 12.377650628420293 0 0 0 +2521 838 6 -0.82 16.55546434930684 21.953006462611917 8.67681571212637 0 0 0 +2523 838 7 0.41 16.414006308819403 21.400960897285287 9.551978731448928 0 0 0 +2557 850 6 -0.82 21.733240950153785 18.70200732563744 13.044900662709443 0 0 0 +2558 850 7 0.41 21.008731814210506 18.014144349044262 13.278152001382567 0 0 0 +2559 850 7 0.41 21.635128271141692 19.490538156957626 13.704674337487235 0 0 0 +2596 863 6 -0.82 16.702277036099627 20.75990238569049 11.016194780600781 0 0 0 +2597 863 7 0.41 15.965576321752 20.230473232918854 11.507281789173183 0 0 0 +2598 863 7 0.41 17.58150121244837 20.277415296619857 11.271981177495176 0 0 0 +2746 913 6 -0.82 18.715153815314952 19.41605492984643 12.275236742993885 0 0 0 +2747 913 7 0.41 19.29260820263348 20.229544020148605 12.49388668688372 0 0 0 +2748 913 7 0.41 19.067140563798393 18.581781826120988 12.748316224876879 0 0 0 +2815 936 6 -0.82 18.67332771932519 18.86934181295876 15.867635781008689 0 0 0 +2816 936 7 0.41 19.512897557053154 19.12564229123197 16.401174856575633 0 0 0 +2817 936 7 0.41 18.895331665583893 18.06336801098128 15.271428036902138 0 0 0 +2833 942 6 -0.82 24.179174641109306 15.980359396213819 14.529178919199593 0 0 0 +2834 942 7 0.41 23.16177386316483 16.111242782217452 14.59252871949415 0 0 0 +2893 962 6 -0.82 17.55073283595288 16.7258018490879 10.067876162872418 0 0 0 +2894 962 7 0.41 17.124051050661034 15.846176280096765 9.700378888367805 0 0 0 +2895 962 7 0.41 17.000159166545146 17.528884776652536 9.766250352012925 0 0 0 +74 22 7 0.41 24.237928795626527 23.859026061080485 12.201402048940713 0 0 0 +86 26 7 0.41 30.623605961422506 17.36986791539749 14.296827924046106 0 0 0 +148 47 6 -0.82 26.68097321548416 21.852885150092447 9.925279981783314 0 0 0 +149 47 7 0.41 26.814058499429013 21.690503519035154 8.917801914570626 0 0 0 +150 47 7 0.41 25.776116074065275 21.43347099062305 10.202478263960993 0 0 0 +177 56 7 0.41 27.62748136860975 23.262816505170516 10.39508236934716 0 0 0 +262 85 6 -0.82 31.179317060877644 19.718806400496828 11.445517479458122 0 0 0 +264 85 7 0.41 30.214729459707183 19.906445800817647 11.743645143691841 0 0 0 +628 207 6 -0.82 29.65796989554225 20.940009026742377 13.971099418475347 0 0 0 +629 207 7 0.41 29.98742647072263 21.821756991477322 13.527997567415929 0 0 0 +630 207 7 0.41 29.048578999807418 21.199072725392465 14.765460696793156 0 0 0 +649 214 6 -0.82 27.415089064107267 22.72712159570547 13.74072544336108 0 0 0 +650 214 7 0.41 28.16218497687527 23.309785077228888 13.35722497423879 0 0 0 +651 214 7 0.41 26.537080666185176 22.86694683855782 13.209230780248069 0 0 0 +826 273 6 -0.82 25.982604124351358 17.733467969278404 15.463297165612074 0 0 0 +828 273 7 0.41 26.375377989216858 18.30900180598579 14.688685861953322 0 0 0 +886 293 6 -0.82 24.778337513377654 20.5140490482327 15.063705866442474 0 0 0 +991 328 6 -0.82 26.94276831332647 19.275669737423698 13.57719798386467 0 0 0 +992 328 7 0.41 27.08803172631147 19.026314292221997 12.595100843246538 0 0 0 +993 328 7 0.41 27.720573415810904 19.87680860371604 13.875303467281999 0 0 0 +1187 393 7 0.41 23.845753645256302 19.180012618079566 15.564368112269715 0 0 0 +1401 464 7 0.41 30.95576768125432 20.22531781138403 15.42471152920896 0 0 0 +1561 518 6 -0.82 25.282867104347726 15.113328049625283 11.536074985805534 0 0 0 +1562 518 7 0.41 25.883498738485965 15.165221878442122 12.374619977824686 0 0 0 +1796 596 7 0.41 24.093043617123744 22.994670273777462 14.390478672904095 0 0 0 +1987 660 6 -0.82 27.44748021256451 18.590964448709084 10.33411890287292 0 0 0 +1988 660 7 0.41 27.791967745292748 18.704790604354983 9.361462276328728 0 0 0 +1989 660 7 0.41 27.87051593106253 19.399334536901208 10.81799332415695 0 0 0 +2041 678 6 -0.82 28.577461513808714 19.27353778323627 8.058942886560393 0 0 0 +2042 678 7 0.41 29.389614501057306 19.840081609856423 7.767366384906685 0 0 0 +2043 678 7 0.41 28.038651357211364 19.087070043503967 7.1980051869387225 0 0 0 +2125 706 6 -0.82 23.90068580009094 23.147857602858103 8.98624504555883 0 0 0 +2127 706 7 0.41 24.05334238308289 22.190726846543384 9.335733650604164 0 0 0 +2179 724 6 -0.82 26.575214095839513 14.901648856215747 14.08691058467979 0 0 0 +2254 749 6 -0.82 30.11574245864697 23.222981254737995 12.656285650294242 0 0 0 +2255 749 7 0.41 29.676142634215108 23.51094898840786 11.767253776307085 0 0 0 +2281 758 6 -0.82 30.594730604549515 21.95773043239154 9.691492451649284 0 0 0 +2282 758 7 0.41 29.725434500121555 22.420308746215056 9.98311343117707 0 0 0 +2341 778 6 -0.82 24.319950029234406 18.644599811379674 12.079687927181554 0 0 0 +2434 809 6 -0.82 30.007694075471473 16.884741066055835 9.983032810494054 0 0 0 +2435 809 7 0.41 31.0366685111544 17.052006598209598 10.00373685752958 0 0 0 +2436 809 7 0.41 29.55185091505221 17.791604321475287 10.083403603445788 0 0 0 +2608 867 6 -0.82 24.832227253883303 18.784206526995007 8.375894372750901 0 0 0 +2610 867 7 0.41 25.22877900357515 19.203706207843517 9.223933798932931 0 0 0 +2623 872 6 -0.82 23.86696834869644 16.43562708993544 9.431095030394127 0 0 0 +2624 872 7 0.41 24.628726899182237 15.955326989187267 9.932924131275202 0 0 0 +2625 872 7 0.41 24.241896989394505 17.339558285914325 9.087964545494458 0 0 0 +2743 912 6 -0.82 24.292261141121315 20.750407683520738 10.44984572699818 0 0 0 +2744 912 7 0.41 24.47063664813997 19.909724807072678 11.049234712773014 0 0 0 +2745 912 7 0.41 23.549383784290853 21.250647680964715 10.978985647780185 0 0 0 +2835 942 7 0.41 24.681138436687693 16.793317180063983 14.939978622488786 0 0 0 +2938 977 6 -0.82 28.5462070550906 20.686567422224876 11.515946891979391 0 0 0 +2939 977 7 0.41 28.819333916474086 21.037157515993105 12.448310544858753 0 0 0 +2940 977 7 0.41 27.84446321658938 21.310238060130033 11.078612698420978 0 0 0 +2981 991 7 0.41 30.382100000047252 15.473656831473903 11.105305978299588 0 0 0 +3079 1024 6 -0.82 27.44821959755202 15.211975107849174 9.429970821006194 0 0 0 +3080 1024 7 0.41 26.91024181990297 15.719594027711146 10.138335624535099 0 0 0 +307 100 6 -0.82 2.9131948554683986 26.996426198412273 12.531105626093764 0 0 0 +308 100 7 0.41 3.347833023777589 27.803910863061926 12.977320233656998 0 0 0 +309 100 7 0.41 3.6394877318433876 26.266847544628227 12.396025304255026 0 0 0 +642 211 7 0.41 5.9796921033439485 30.206528837608378 9.135144750794673 0 0 0 +916 303 6 -0.82 1.9107693935253673 28.64005513640891 16.277424223070213 0 0 0 +917 303 7 0.41 2.918204955957475 28.39502477029918 16.194331496683365 0 0 0 +918 303 7 0.41 1.484447257498883 28.512511648234252 15.364131382205706 0 0 0 +1192 395 6 -0.82 5.343560943799801 26.406826239706568 9.664019307241857 0 0 0 +1193 395 7 0.41 6.165128922738941 27.010899724549823 9.894309976737665 0 0 0 +1194 395 7 0.41 4.580059624887828 26.95819651637488 9.292432805606753 0 0 0 +1250 414 7 0.41 4.3177071653810195 30.94207877430005 8.187389347563498 0 0 0 +1251 414 7 0.41 2.9420960929021303 0.0934658146009966 8.979537679075658 0 1 0 +1273 422 6 -0.82 6.358686510123511 24.03689222628523 8.762829093557974 0 0 0 +1274 422 7 0.41 7.037864435205616 24.19169173156621 7.984891275654961 0 0 0 +1275 422 7 0.41 6.011491728353621 24.964646503224838 9.050224475089914 0 0 0 +1312 435 6 -0.82 4.8027579165562715 29.93067168169544 10.71231664029583 0 0 0 +1313 435 7 0.41 4.205470982316653 29.168266409510334 10.390827523360258 0 0 0 +1314 435 7 0.41 4.857225332637849 29.87716362605848 11.748194099105246 0 0 0 +1321 438 6 -0.82 4.876690062481115 25.22264031421731 12.055596646058007 0 0 0 +1322 438 7 0.41 5.222243357396 25.58518327988742 11.155417602658245 0 0 0 +1323 438 7 0.41 5.094192509826333 24.21716179860925 12.080809939207525 0 0 0 +1725 572 7 0.41 0.8634508788841317 23.453347117216623 14.763636783396802 0 0 0 +1733 575 7 0.41 8.36617505964312 27.61767019463149 9.776585627368664 0 0 0 +1807 600 6 -0.82 0.630789624852272 25.08994573053408 13.931906236020053 0 0 0 +1808 600 7 0.41 1.3729661393112367 25.64369127416261 14.352915404271041 0 0 0 +1809 600 7 0.41 0.6428718379933925 25.315236424565633 12.91640974367909 0 0 0 +1945 646 6 -0.82 6.165709035482657 30.45423195114824 15.078161785162939 0 0 0 +1946 646 7 0.41 7.016362991521057 30.939148446969295 14.751761323549324 0 0 0 +1980 657 7 0.41 7.26770299202265 28.757763081293906 13.253261193244851 0 0 0 +1990 661 6 -0.82 1.3385325200824048 23.503385115216577 9.31595369052002 0 0 0 +2048 680 7 0.41 4.413436894586628 26.54501911773667 16.218408276025773 0 0 0 +2299 764 6 -0.82 0.7661410631750438 25.6043761767598 11.365182200279932 0 0 0 +2300 764 7 0.41 0.8020677942420884 25.227524810695456 10.412883596671367 0 0 0 +2301 764 7 0.41 1.5567889449624326 26.24812384697279 11.537825763013736 0 0 0 +2866 953 6 -0.82 4.101487035914886 29.921806242805236 13.37958915542707 0 0 0 +2867 953 7 0.41 4.871319154063073 30.18242868821806 14.030795450756553 0 0 0 +2868 953 7 0.41 3.2487428914031002 30.36208933025578 13.712340069876314 0 0 0 +40 11 6 -0.82 12.404395608937284 27.134525517295064 12.128299223039708 0 0 0 +41 11 7 0.41 12.396063733097245 27.612287307754123 13.0412083428857 0 0 0 +42 11 7 0.41 12.314378288591499 27.821876241027297 11.360553599733809 0 0 0 +115 36 6 -0.82 10.348972489002653 24.72645941655433 13.134494673644458 0 0 0 +116 36 7 0.41 10.562437724685346 25.297815953535995 12.318602094083136 0 0 0 +117 36 7 0.41 10.000946052411807 23.798136185806452 12.811828189373944 0 0 0 +127 40 6 -0.82 15.012156496772702 27.26395094809739 9.608285244987645 0 0 0 +129 40 7 0.41 15.490158153404664 28.15889736427693 9.488712068425315 0 0 0 +217 70 6 -0.82 11.07416721883071 30.545237939899078 15.007318121301347 0 0 0 +218 70 7 0.41 11.516434889191796 31.316222083626894 15.525521772067748 0 0 0 +219 70 7 0.41 11.775480308111298 29.803051607310575 14.854018830342113 0 0 0 +330 107 7 0.41 11.823288609111312 23.900607871714705 13.687958665064086 0 0 0 +709 234 6 -0.82 14.007905161098659 30.353965329011768 11.054925151525095 0 0 0 +710 234 7 0.41 13.430771385086633 29.548261376280422 10.794892616484441 0 0 0 +711 234 7 0.41 14.651887915278893 30.55993460764385 10.291866634479948 0 0 0 +825 272 7 0.41 11.588940159864627 24.59791499886745 9.802522690965343 0 0 0 +1516 503 6 -0.82 8.546040433619254 25.201423826930768 15.042019700636546 0 0 0 +1517 503 7 0.41 8.190922982065336 24.243635822691814 15.207099167246357 0 0 0 +1518 503 7 0.41 9.20958566080288 25.103654953413088 14.253697804345713 0 0 0 +1625 539 7 0.41 13.588036776104481 25.095954512289204 8.260370729008933 0 0 0 +1732 575 6 -0.82 7.467068561203047 27.88431183239315 10.205023901714119 0 0 0 +1734 575 7 0.41 7.633137451104918 28.41585991245765 11.07621194052092 0 0 0 +1978 657 6 -0.82 7.691603609093362 29.343457706951863 12.536614930384863 0 0 0 +1979 657 7 0.41 8.100444423770343 30.133220578535653 13.0675488541831 0 0 0 +2611 868 6 -0.82 14.64973946993312 25.014183496394825 12.771005659090664 0 0 0 +2612 868 7 0.41 13.822868407167487 24.408497557629264 12.856158023581107 0 0 0 +2613 868 7 0.41 14.376176851023763 25.93000611594443 12.412095819830792 0 0 0 +2688 893 7 0.41 10.722708886447741 27.348668483713034 15.539087993607199 0 0 0 +2707 900 6 -0.82 9.772225213496393 30.29521295797667 10.419236113705072 0 0 0 +2708 900 7 0.41 10.286362055587382 31.090246216089476 10.824210852502125 0 0 0 +2709 900 7 0.41 8.837135613248025 30.24011554836707 10.823084006158737 0 0 0 +2842 945 6 -0.82 13.01650205293168 28.55894246027927 14.677564496599677 0 0 0 +2843 945 7 0.41 13.507015135223906 27.931974822256336 15.328772263802703 0 0 0 +2844 945 7 0.41 13.752241661612937 29.15922442104798 14.303867613969429 0 0 0 +2845 946 6 -0.82 12.877789712859123 25.695932156289054 9.840322860990034 0 0 0 +2846 946 7 0.41 12.64261703393349 25.970288508895525 10.802326755803374 0 0 0 +2847 946 7 0.41 13.654053822506391 26.349542271948632 9.615982184465958 0 0 0 +2914 969 6 -0.82 9.747833974601129 26.632896916781245 9.198498161566253 0 0 0 +2915 969 7 0.41 10.566278327548558 27.135711336489546 9.541502704616324 0 0 0 +2916 969 7 0.41 9.833453623744417 25.63722228702882 9.467401196486902 0 0 0 +2944 979 6 -0.82 11.9596303714319 28.796673302359824 9.94421768205391 0 0 0 +2945 979 7 0.41 12.432394571763965 29.182349445358767 9.11140092349151 0 0 0 +2946 979 7 0.41 11.065975439825484 29.316768810813144 10.074140178284473 0 0 0 +128 40 7 0.41 15.738352687816507 26.53243231588783 9.727226325596968 0 0 0 +445 146 6 -0.82 20.765247314809546 25.31266904307786 9.918375869088173 0 0 0 +446 146 7 0.41 20.740476481421467 24.524106196896845 9.236536676234884 0 0 0 +447 146 7 0.41 21.408745853584794 26.020011026243225 9.515302742410583 0 0 0 +496 163 6 -0.82 22.840401743209746 25.874647088464833 13.977219962683375 0 0 0 +498 163 7 0.41 22.676731055914303 26.889566637149592 14.12993840938824 0 0 0 +526 173 6 -0.82 19.060627767656054 22.819520735130393 15.962682666020967 0 0 0 +712 235 6 -0.82 19.920971658516606 30.50325859081085 12.04527290929676 0 0 0 +713 235 7 0.41 19.94437561039749 31.332860479372275 11.457030662929029 0 0 0 +714 235 7 0.41 18.924530909629635 30.18709083027514 12.117211520032019 0 0 0 +775 256 6 -0.82 22.96332104696901 24.431482090632294 11.253369454816395 0 0 0 +776 256 7 0.41 22.054399509143625 24.8191909668705 10.952202035672336 0 0 0 +777 256 7 0.41 23.420853674797463 24.114478908433707 10.383685187264705 0 0 0 +784 259 6 -0.82 22.48274536967905 28.53357179470138 14.595093030665764 0 0 0 +785 259 7 0.41 21.509854601240367 28.319660966266117 14.290999491893642 0 0 0 +786 259 7 0.41 22.468953546292372 29.500857707471926 14.964596009437924 0 0 0 +835 276 6 -0.82 17.166717428476048 25.558611708831183 9.744731858906555 0 0 0 +836 276 7 0.41 17.50892040660648 24.626717566831783 10.041006476737007 0 0 0 +837 276 7 0.41 17.477411043765976 25.71656820370231 8.792737486232909 0 0 0 +1066 353 6 -0.82 20.516974954070886 28.384390506938637 10.283826370214088 0 0 0 +1067 353 7 0.41 20.54690125753636 29.175497227785023 10.93250045862169 0 0 0 +1068 353 7 0.41 19.902359173712703 27.68270105577701 10.724314109165633 0 0 0 +1354 449 6 -0.82 20.563310003437582 25.02392972742431 15.494139325474464 0 0 0 +1355 449 7 0.41 20.68399438485887 25.704595588682764 16.2697202527876 0 0 0 +1356 449 7 0.41 21.230163528677213 25.304627340282423 14.767847297999085 0 0 0 +1378 457 6 -0.82 23.047464115719347 30.0938098716358 9.42904124194885 0 0 0 +1379 457 7 0.41 23.33492474905781 30.860955895925812 10.047603873628148 0 0 0 +1380 457 7 0.41 22.04998492239761 30.144145903503023 9.225110310778124 0 0 0 +1699 564 6 -0.82 22.553475677106018 31.011238890652614 15.61368310136846 0 0 0 +1705 566 6 -0.82 21.235290067892258 23.211076559954193 8.347854815793248 0 0 0 +1843 612 6 -0.82 17.390264499405916 29.85404086991887 12.162717014916044 0 0 0 +1844 612 7 0.41 16.86901731836098 30.490825022785874 12.781210318821204 0 0 0 +1845 612 7 0.41 16.995024878633174 29.829647806487124 11.211971471024718 0 0 0 +1933 642 6 -0.82 20.066032851484387 28.00879963602261 13.646510174833091 0 0 0 +1934 642 7 0.41 19.774967263931963 28.909460777807315 13.257914552351814 0 0 0 +1935 642 7 0.41 19.593209914583014 27.268744630714465 13.0959510686674 0 0 0 +1951 648 6 -0.82 22.672346580572246 26.969204054963246 8.900973395698202 0 0 0 +1952 648 7 0.41 22.211284812623173 27.670084887190644 9.49667530696734 0 0 0 +1953 648 7 0.41 23.30237450471984 27.477830351207192 8.273283692577706 0 0 0 +2077 690 6 -0.82 23.278122643218968 30.693391215608496 12.513530914477165 0 0 0 +2079 690 7 0.41 22.694847018285316 29.890055996883554 12.761537459622545 0 0 0 +2368 787 6 -0.82 16.630252423458938 24.201619826025162 14.357058575194822 0 0 0 +2369 787 7 0.41 17.541270825289793 24.370431345111676 13.952152139438905 0 0 0 +2370 787 7 0.41 15.902697064153854 24.511817004995837 13.67881289170923 0 0 0 +2416 803 6 -0.82 18.841133509538164 28.237860732443448 7.832402529313428 0 0 0 +2417 803 7 0.41 18.93432848213263 27.396619195601264 7.22952697359137 0 0 0 +2418 803 7 0.41 19.629414889684355 28.29005675667057 8.493436393097523 0 0 0 +2544 845 7 0.41 16.2974663892567 27.376871781524027 15.555567712717993 0 0 0 +2587 860 6 -0.82 18.992468163211367 26.428929819080874 11.6466936155218 0 0 0 +2588 860 7 0.41 18.077466737430154 26.20474915014771 11.235283380534003 0 0 0 +2589 860 7 0.41 19.67927756103665 25.84451757108322 11.135054821529188 0 0 0 +3067 1020 6 -0.82 17.05805938666093 29.698578683022376 9.367592809875019 0 0 0 +3068 1020 7 0.41 17.526010968771185 30.599253895778396 9.18040482719742 0 0 0 +3069 1020 7 0.41 17.620495280233577 29.02469363191067 8.817017212861968 0 0 0 +73 22 6 -0.82 25.094666215776016 23.585464910210536 12.707841247360625 0 0 0 +75 22 7 0.41 25.705470619311633 24.43056605347359 12.741660045675404 0 0 0 +109 34 6 -0.82 27.62141231793904 27.583304988067916 14.353593050804827 0 0 0 +111 34 7 0.41 28.440352598646264 28.154573161218554 14.594968793389464 0 0 0 +175 56 6 -0.82 28.52602797578952 23.76105035511005 10.507188467261392 0 0 0 +176 56 7 0.41 28.49101011934015 24.612004204462593 9.950909589845136 0 0 0 +253 82 6 -0.82 26.043945625410068 24.064293049040757 15.74361562430825 0 0 0 +255 82 7 0.41 26.117029759150725 25.059623843209202 15.549327753989184 0 0 0 +497 163 7 0.41 23.24209614864379 25.82071829419277 13.03269854341986 0 0 0 +667 220 6 -0.82 27.747820325009066 30.87972939202872 9.052411652021284 0 0 0 +668 220 7 0.41 28.777184728291704 31.00342585919518 8.918026185049158 0 0 0 +669 220 7 0.41 27.618511860867176 29.932979070411804 9.476153602523315 0 0 0 +688 227 6 -0.82 25.41885537591673 29.327603603614016 15.186840697735025 0 0 0 +689 227 7 0.41 24.56577337176401 28.872929546726937 14.840301016250713 0 0 0 +690 227 7 0.41 25.209826749890702 30.31642155533049 15.382760802344862 0 0 0 +1015 336 6 -0.82 27.216500093265044 28.348934484991474 9.712154636103495 0 0 0 +1016 336 7 0.41 27.288674644008655 27.3937629574673 10.05047796877196 0 0 0 +1017 336 7 0.41 26.297369614816866 28.435493967433057 9.243991979192424 0 0 0 +1360 451 6 -0.82 30.568156992563388 27.462211371814067 9.007982258525054 0 0 0 +1361 451 7 0.41 0.14763454091577433 27.707530936316584 8.661887984853326 1 0 0 +1362 451 7 0.41 30.110690884804317 27.001704341773493 8.213662464866623 0 0 0 +1363 452 6 -0.82 26.371020223490525 24.346616894712188 8.06924966946922 0 0 0 +1364 452 7 0.41 26.652701219313478 23.472946098632693 7.601715048224231 0 0 0 +1700 564 7 0.41 23.39380884588538 0.15834326441398017 15.2889815445261 0 1 0 +1795 596 6 -0.82 23.146024952998193 23.217617757274148 14.716941024744354 0 0 0 +1797 596 7 0.41 23.020568144531154 24.22367659283708 14.515596797110453 0 0 0 +1972 655 6 -0.82 25.892138792554643 29.85982875801085 12.441154549581448 0 0 0 +1973 655 7 0.41 26.270940367753436 30.699346166572354 11.966444963654084 0 0 0 +1974 655 7 0.41 26.36812699750549 29.849010777930605 13.351574165732808 0 0 0 +2078 690 7 0.41 24.252011616190302 30.357344478203128 12.440635922257592 0 0 0 +2126 706 7 0.41 24.776459783324952 23.491993468878228 8.56327092168944 0 0 0 +2134 709 6 -0.82 25.44254476135526 26.046397444023366 10.067839528524253 0 0 0 +2135 709 7 0.41 24.70464405460231 26.56912940623625 9.581251104734521 0 0 0 +2136 709 7 0.41 25.7517039693535 25.31269549335259 9.405420956654924 0 0 0 +2256 749 7 0.41 30.88029424988221 23.861577217227314 12.885717806735315 0 0 0 +2503 832 6 -0.82 30.34413552724889 29.548705703371475 10.886208048127841 0 0 0 +2504 832 7 0.41 30.38757693093925 29.14250577461291 11.815085127514061 0 0 0 +2505 832 7 0.41 30.306457123082435 28.789254876528485 10.190747824102546 0 0 0 +2533 842 6 -0.82 24.93194046754257 28.640823369412196 8.32952504407136 0 0 0 +2535 842 7 0.41 24.212573073780813 29.226520959694472 8.811753187260456 0 0 0 +2665 886 6 -0.82 26.73066067027243 25.6376431714414 12.655054995537 0 0 0 +2666 886 7 0.41 27.093251805390246 26.414516887360474 13.23524536116369 0 0 0 +2667 886 7 0.41 26.362971009601054 25.98232112626621 11.76037949577178 0 0 0 +2896 963 6 -0.82 24.27803065153467 27.673607921995863 12.053725425917786 0 0 0 +2897 963 7 0.41 24.608684945808513 27.07218972508333 11.296884319679377 0 0 0 +2898 963 7 0.41 24.951854683916924 28.446069522069294 12.18725150444438 0 0 0 +3049 1014 6 -0.82 29.58238470351156 25.686784993854364 15.24970290548215 0 0 0 +3050 1014 7 0.41 28.87130679733055 26.276684521398114 14.795943272903877 0 0 0 +3051 1014 7 0.41 30.404642542164797 25.51360894533632 14.649622724554716 0 0 0 +14 2 7 0.41 7.781256500764266 4.999108342881056 22.983441467914606 0 0 0 +55 16 6 -0.82 7.945362593426589 7.646374585111266 17.672698390869588 0 0 0 +211 68 6 -0.82 2.6994111452856018 5.0603155675927605 18.704369937236997 0 0 0 +212 68 7 0.41 2.7089036008776812 6.022249932143551 18.335340596435177 0 0 0 +213 68 7 0.41 1.7293790294695246 4.770351962150339 18.90818233814885 0 0 0 +515 169 7 0.41 7.700732528626106 4.815239998106137 19.747024691582563 0 0 0 +535 176 6 -0.82 7.526520180192273 1.0309369675082587 20.609727565097707 0 0 0 +537 176 7 0.41 7.274375323973544 0.30641794944767825 19.915292307435262 0 0 0 +720 237 7 0.41 30.06342641007613 7.35768830740031 16.65785510640265 0 0 0 +1062 351 7 0.41 6.240025760620122 7.796703793409718 19.995814056797222 0 0 0 +1328 440 7 0.41 2.4697605654169914 9.084830546522968 21.6180271949686 0 0 0 +1329 440 7 0.41 3.592972119265833 7.841106448635244 21.590235134643958 0 0 0 +1393 462 6 -0.82 2.371358891666259 3.164824927996691 21.267440823848787 0 0 0 +1394 462 7 0.41 1.6649319999878314 3.0824788512037813 20.537743396072308 0 0 0 +1395 462 7 0.41 2.5522434794522395 4.150045240144228 21.44485906278775 0 0 0 +1423 472 6 -0.82 4.441120998163014 3.206474176043414 17.90475089199213 0 0 0 +1424 472 7 0.41 4.00536753802671 2.3244620236264155 18.16655966027613 0 0 0 +1425 472 7 0.41 3.7648498470514737 3.9530290329325664 18.1718984189233 0 0 0 +1549 514 6 -0.82 4.6891722990136975 7.099070940585028 22.77884010954307 0 0 0 +1550 514 7 0.41 5.516502795545186 6.484740267790499 22.796968076133954 0 0 0 +1551 514 7 0.41 3.8527558971771745 6.551114415870059 23.04422681866482 0 0 0 +1629 540 7 0.41 0.17453294971946992 3.4157154860559777 23.15675998296686 0 0 0 +1711 568 6 -0.82 3.0245926899413704 5.308719581913923 15.727537737541342 0 0 0 +1712 568 7 0.41 3.89821485179477 4.840484374034148 15.964621409412793 0 0 0 +1713 568 7 0.41 3.0704204439481333 6.275709998143633 16.06167691360914 0 0 0 +1777 590 6 -0.82 1.5702775220219152 0.3222453963501309 20.73947876486636 0 0 0 +1778 590 7 0.41 1.5921066614527632 30.764401687769524 21.236556690041 0 -1 0 +1779 590 7 0.41 1.4658571591065177 1.0478638015522501 21.451900278811248 0 0 0 +2152 715 6 -0.82 0.27157123172559877 3.7310942803224783 18.899063850536535 0 0 0 +2153 715 7 0.41 31.328488900389974 2.764801689320292 19.04367851045798 -1 0 0 +2154 715 7 0.41 30.790103014310414 4.331155283065577 18.957801149106047 -1 0 0 +2173 722 6 -0.82 6.058249884740181 3.0164864139507057 21.692187731970492 0 0 0 +2174 722 7 0.41 6.467464856096203 2.231665848577403 21.15610618400427 0 0 0 +2175 722 7 0.41 5.926161412747718 3.8193338957467535 21.0670376761958 0 0 0 +2233 742 6 -0.82 3.5755950822825135 1.3471898808452463 22.886776973954962 0 0 0 +2234 742 7 0.41 3.3023810410797134 1.969109940993843 22.10594117865028 0 0 0 +2235 742 7 0.41 2.765677964987075 1.2935222061000946 23.51647681934087 0 0 0 +2401 798 6 -0.82 0.40712389637209545 6.923868577324436 21.235686926620147 0 0 0 +2402 798 7 0.41 30.97876818034029 7.329259397028189 20.701257463382976 -1 0 0 +2403 798 7 0.41 1.2791421000455447 7.4225066113586955 20.979941138360715 0 0 0 +2446 813 6 -0.82 6.869371906853534 1.7328567550540324 17.49505284247525 0 0 0 +2447 813 7 0.41 6.708207633451544 0.7821236129860886 17.859918065478634 0 0 0 +2448 813 7 0.41 6.000433082489771 2.2803245113725374 17.51809519050363 0 0 0 +2470 821 6 -0.82 5.916710064540382 1.0739727090234803 24.399635365243252 0 0 0 +2472 821 7 0.41 5.15399697728661 1.3035251163515662 23.74727587319323 0 0 0 +2579 857 7 0.41 1.5375990524167464 6.43344431013002 22.616204572173807 0 0 0 +2638 877 6 -0.82 6.034310861761421 4.9010521747511735 19.540390819066893 0 0 0 +2639 877 7 0.41 5.612454589989616 5.83988930577885 19.524449976349757 0 0 0 +2640 877 7 0.41 5.520792925407456 4.288974209324572 18.88600674141554 0 0 0 +2854 949 6 -0.82 0.9011561043162465 3.7324085554148962 15.996165866425324 0 0 0 +2855 949 7 0.41 0.8158777979523728 3.5282319337182786 16.996415395353164 0 0 0 +2856 949 7 0.41 1.7502455574908513 4.305333057904925 15.827651888280911 0 0 0 +56 16 7 0.41 7.863880468236657 6.6385944913547075 17.800788017839988 0 0 0 +397 130 6 -0.82 11.025369520421856 31.09279191975674 18.20553413145353 0 0 0 +460 151 6 -0.82 10.268993135160523 2.61499505727209 20.563857073222362 0 0 0 +461 151 7 0.41 10.260240098232174 2.3486996572470065 19.564565433357895 0 0 0 +462 151 7 0.41 11.191362400207453 3.019105962051469 20.76331033653353 0 0 0 +514 169 6 -0.82 8.737791393792074 4.865889576914985 19.70713247896342 0 0 0 +516 169 7 0.41 9.136270917555564 4.024069248734635 20.15161078155385 0 0 0 +536 176 7 0.41 8.448335435482774 1.40928493590918 20.370285780377998 0 0 0 +605 199 7 0.41 14.154753538263444 0.2571745093254499 18.590163485952868 0 1 0 +1051 348 6 -0.82 8.963894075270927 4.641515440566593 16.964978878114447 0 0 0 +1052 348 7 0.41 9.20004164111974 3.645124130302484 16.902430868247198 0 0 0 +1053 348 7 0.41 8.900598089738885 4.789906209556953 17.985790848459622 0 0 0 +1099 364 6 -0.82 12.643362835779236 3.9209176673125636 22.039480404135738 0 0 0 +1100 364 7 0.41 12.219794316034706 3.671039346367591 22.939724358934704 0 0 0 +1101 364 7 0.41 12.700246820742704 4.950032416591397 21.96422007012543 0 0 0 +1177 390 6 -0.82 12.781723913987841 1.437711072399703 16.074919627268507 0 0 0 +1178 390 7 0.41 12.915197869113426 2.457079246834061 15.924541828145472 0 0 0 +1179 390 7 0.41 13.70531274201324 0.9916609125501248 16.06551948040665 0 0 0 +1298 430 7 0.41 15.465922804839193 2.1040322051426967 19.740094167890902 0 0 0 +1606 533 6 -0.82 10.81567662309063 0.8249164171315722 22.64989365197617 0 0 0 +1607 533 7 0.41 10.941059371312392 1.4786421145663922 23.43853374019429 0 0 0 +1608 533 7 0.41 10.577535855769632 1.412971114453031 21.83871222696941 0 0 0 +1615 536 6 -0.82 9.552073357027165 1.9824566567568793 17.921777450541168 0 0 0 +1616 536 7 0.41 8.5746047166818 1.76206620647105 17.658962819529943 0 0 0 +1617 536 7 0.41 10.125199897337712 1.1164221990515537 17.905502513527562 0 0 0 +1786 593 6 -0.82 12.559516241807778 2.299739362760129 18.811771613759095 0 0 0 +1787 593 7 0.41 12.337805446530496 1.9408736447451882 17.873250132649698 0 0 0 +1788 593 7 0.41 12.884785418545182 3.2745946795388057 18.713428187776675 0 0 0 +1819 604 6 -0.82 8.359763709589707 2.89132095819236 23.081566737814864 0 0 0 +1820 604 7 0.41 8.427032589711514 1.877517961366182 23.215629561840746 0 0 0 +1821 604 7 0.41 7.444927947746552 3.0420824027713365 22.620765131219642 0 0 0 +2107 700 6 -0.82 10.201189556794697 7.026942472918546 20.438769352363202 0 0 0 +2108 700 7 0.41 11.142853467879723 6.763009966388847 20.746441683633453 0 0 0 +2109 700 7 0.41 9.662904905640868 6.173035624581698 20.18849721579996 0 0 0 +2158 717 6 -0.82 13.513018039473113 4.868400650096001 18.97124581987162 0 0 0 +2159 717 7 0.41 13.368229650956623 5.8482112938690465 18.66204053403213 0 0 0 +2160 717 7 0.41 13.464275368518244 4.837597447976406 19.990487180771897 0 0 0 +2221 738 6 -0.82 15.067532235099714 2.750669311981644 21.407338805767374 0 0 0 +2222 738 7 0.41 14.161969360094965 3.153189694823758 21.722333851992293 0 0 0 +2223 738 7 0.41 15.818185432106581 3.4278539068620093 21.646434144539548 0 0 0 +2266 753 6 -0.82 15.791293836045634 4.008197701848666 17.629677558586383 0 0 0 +2267 753 7 0.41 14.951701992055021 4.374288783827502 18.101094197105933 0 0 0 +2268 753 7 0.41 15.901401407179753 3.0230413696183343 17.899794591487066 0 0 0 +2428 807 6 -0.82 12.939363263358107 4.129507600506494 15.774690293735436 0 0 0 +2430 807 7 0.41 13.384636111774457 5.038898144793893 15.90635600990076 0 0 0 +2467 820 6 -0.82 13.102887471630112 6.574635467783366 21.50372468881876 0 0 0 +2468 820 7 0.41 13.323246315293007 7.19562717861612 22.28926279254394 0 0 0 +2469 820 7 0.41 13.74520488732677 6.819738249523591 20.740241830888788 0 0 0 +2481 824 7 0.41 9.979214460785418 4.890426133265851 15.424319731194167 0 0 0 +2536 843 6 -0.82 16.04206166734834 6.749632049912747 22.75322449733285 0 0 0 +2538 843 7 0.41 15.277177254889521 6.238407567214612 23.23518322377347 0 0 0 +2653 882 6 -0.82 10.59154939291355 7.724805659857897 16.993474395658815 0 0 0 +2654 882 7 0.41 9.586190144134004 7.749491871094047 17.239984351254147 0 0 0 +2655 882 7 0.41 11.108847330658891 7.236377686988078 17.730902376897028 0 0 0 +2656 883 6 -0.82 13.40646909117803 0.5110928346744621 20.841883193066685 0 0 0 +2657 883 7 0.41 12.711427174782527 0.823896097148315 20.154776472097737 0 0 0 +2658 883 7 0.41 14.012757219899118 1.3205700581893234 21.010815279994144 0 0 0 +2937 976 7 0.41 14.832379619221458 30.922768351579574 16.855091095256856 0 -1 0 +3004 999 6 -0.82 7.559428460140517 7.743621118625775 20.907595829028963 0 0 0 +3005 999 7 0.41 7.342634671279391 7.001104229508532 21.601988517080812 0 0 0 +3006 999 7 0.41 8.579114429417432 7.663869982279416 20.777947129198797 0 0 0 +103 32 6 -0.82 22.56089856284599 2.7918736467076624 19.256509167153563 0 0 0 +104 32 7 0.41 22.9160702732769 3.759970397296413 19.210001683101588 0 0 0 +105 32 7 0.41 23.08578372118547 2.1813177007291893 18.62890263487281 0 0 0 +159 50 7 0.41 21.879207054211285 6.63001381366278 21.849595318677903 0 0 0 +267 86 7 0.41 16.02099076899725 4.818157250050082 16.22572750674821 0 0 0 +298 97 6 -0.82 16.410265301509696 0.7897690695271131 22.87519495850307 0 0 0 +299 97 7 0.41 17.4272810662302 0.8204991785559325 22.837751489199437 0 0 0 +300 97 7 0.41 16.02702869036138 1.5808944899949975 22.333737423350833 0 0 0 +520 171 6 -0.82 19.474986783179684 4.872867147964656 16.103236742814676 0 0 0 +521 171 7 0.41 19.449143888485576 5.210295278920543 15.140120365384798 0 0 0 +522 171 7 0.41 20.43281164005241 5.024171088667668 16.445812051711044 0 0 0 +552 181 7 0.41 19.537755452146264 6.25198906175177 23.827917136245315 0 0 0 +763 252 6 -0.82 17.168741151668364 4.326909955232583 22.21375219189813 0 0 0 +764 252 7 0.41 16.725715443352584 5.23286510378168 22.443532805149893 0 0 0 +765 252 7 0.41 18.146360451350265 4.467766319695924 22.490727642426226 0 0 0 +811 268 6 -0.82 16.504101961423657 8.007580470184925 16.145722139626177 0 0 0 +877 290 6 -0.82 18.385364538661005 1.2031325745244397 17.657989521597212 0 0 0 +878 290 7 0.41 18.313188839484738 0.33909994233467566 18.22503470823018 0 0 0 +879 290 7 0.41 18.9329216620324 1.871482390923876 18.243994458851184 0 0 0 +890 294 7 0.41 22.417900986901127 5.583698462003823 19.948624495754963 0 0 0 +1134 375 7 0.41 22.66128835919264 0.029853503645631684 22.618425174330607 0 0 0 +1297 430 6 -0.82 15.725833070017552 1.5166444073357055 18.937273976363898 0 0 0 +1299 430 7 0.41 16.632471853684414 1.0717805695608902 19.10076717598192 0 0 0 +1465 486 6 -0.82 18.0042352316856 6.697751065883534 18.36560000590426 0 0 0 +1466 486 7 0.41 18.175480345119915 5.794305491204797 17.915930945681374 0 0 0 +1467 486 7 0.41 17.699168882054593 7.35810058228017 17.639779635355765 0 0 0 +1544 512 7 0.41 21.406100650968334 8.139923526741565 15.674484470596997 0 0 0 +1547 513 7 0.41 18.404304515453365 1.8357613313946315 16.18832478709215 0 0 0 +1630 541 6 -0.82 22.265306662106273 5.386860734507663 16.422942668653672 0 0 0 +1631 541 7 0.41 22.50431724003857 4.457611611740435 16.02486175931851 0 0 0 +1632 541 7 0.41 23.08099446245289 5.751921817608859 16.91305800635239 0 0 0 +1789 594 6 -0.82 20.77872517784222 5.90369642833346 20.637367006579428 0 0 0 +1790 594 7 0.41 20.073000122231672 6.0574283901296875 19.912732114036718 0 0 0 +1791 594 7 0.41 20.306993591598097 5.694720470337259 21.532348530803556 0 0 0 +1894 629 6 -0.82 22.080192929815546 3.0747109653424896 22.05551706965813 0 0 0 +1895 629 7 0.41 22.234889666785858 2.847686021701903 21.06238487257715 0 0 0 +1896 629 7 0.41 22.98605677278145 3.3345839013246126 22.459208280932625 0 0 0 +2155 716 6 -0.82 15.647495138893975 6.994701066446085 20.067313093731833 0 0 0 +2156 716 7 0.41 16.445007414554638 6.6673194844434125 19.498825100928897 0 0 0 +2537 843 7 0.41 15.938224811764178 6.782978396800013 21.719531282428562 0 0 0 +2770 921 6 -0.82 19.74366234306785 2.7071218572673565 19.38653258817025 0 0 0 +2771 921 7 0.41 20.768477943976016 2.7423146567483148 19.298728332656815 0 0 0 +2772 921 7 0.41 19.463074169316737 3.046971601382208 20.300588104843712 0 0 0 +2935 976 6 -0.82 15.395631667264801 0.19789417463350883 16.257593561381803 0 0 0 +2936 976 7 0.41 16.034861543892895 0.6871269961908748 16.88860268155029 0 0 0 +52 15 6 -0.82 27.797816430514224 1.0790207139689287 17.07947884318589 0 0 0 +53 15 7 0.41 27.898922319236128 0.12200183326277987 16.713628709841487 0 0 0 +54 15 7 0.41 26.888752725952514 1.440619709912164 16.792545043181754 0 0 0 +130 41 6 -0.82 30.014978284248528 2.6376466868127935 22.207454088063415 0 0 0 +131 41 7 0.41 29.787402530580348 1.65907998917686 21.981370970378556 0 0 0 +132 41 7 0.41 29.401762820283757 2.976274582126632 22.942226582337454 0 0 0 +187 60 6 -0.82 27.384103043079136 4.287171497360433 21.35650613145477 0 0 0 +188 60 7 0.41 27.853580048430125 3.4204048134890184 21.078096039005676 0 0 0 +189 60 7 0.41 26.36069830629271 4.111281668516647 21.275108114172042 0 0 0 +199 64 6 -0.82 24.838539866140284 3.5358786318769213 21.172308974350837 0 0 0 +200 64 7 0.41 24.340118314849732 4.240772691849301 20.60437324118141 0 0 0 +201 64 7 0.41 24.831428185181974 2.624909144721194 20.714737290726323 0 0 0 +412 135 6 -0.82 27.013758655797815 6.246478614632435 16.677626735233233 0 0 0 +413 135 7 0.41 27.42019780096104 6.4658272561355865 15.758715881048612 0 0 0 +414 135 7 0.41 27.75468011979846 6.13341592748676 17.371109135429872 0 0 0 +493 162 6 -0.82 27.306310968326883 1.5755047661213415 20.23049171025809 0 0 0 +494 162 7 0.41 26.611396504706168 0.8141199355236532 20.12785159613189 0 0 0 +495 162 7 0.41 28.148772718745004 1.2892217194352698 19.708967773630516 0 0 0 +889 294 6 -0.82 23.39353297268592 5.375756046412758 19.683519327644667 0 0 0 +891 294 7 0.41 23.90749874470127 6.277650570818983 19.704631413836477 0 0 0 +1132 375 6 -0.82 23.6132966557832 0.23000186495576105 22.31883880857981 0 0 0 +1133 375 7 0.41 24.05167176839205 0.7882150096974643 23.074439333635006 0 0 0 +1486 493 6 -0.82 29.56562772347114 5.752517084072957 23.083784749274784 0 0 0 +1487 493 7 0.41 30.108569496301673 5.486056131358468 22.263308872992564 0 0 0 +1488 493 7 0.41 30.18873252554903 5.964610624432221 23.85721977358392 0 0 0 +1501 498 6 -0.82 30.462589815161493 5.782552546463379 16.391872117438467 0 0 0 +1502 498 7 0.41 29.786247371326574 5.078081013139686 16.738946597627447 0 0 0 +1503 498 7 0.41 31.300852455075393 5.219020320058284 16.174633198887808 0 0 0 +1909 634 6 -0.82 29.023513122411686 5.430497451978521 19.34190195370441 0 0 0 +1910 634 7 0.41 28.396346238901273 5.0623969922773595 20.071120420276426 0 0 0 +1911 634 7 0.41 29.245514472615106 6.408484964040763 19.577179710040518 0 0 0 +2088 693 7 0.41 27.176788433799455 3.952105332756561 23.374617507069544 0 0 0 +2137 710 6 -0.82 26.447802427359463 6.271247932507976 23.107498241425755 0 0 0 +2138 710 7 0.41 27.026079195951073 5.751121779795984 22.438580219862473 0 0 0 +2139 710 7 0.41 26.577092925985884 7.279045610233832 22.900570868197832 0 0 0 +2380 791 6 -0.82 28.896314191037657 3.5149353051437866 16.410705269885113 0 0 0 +2382 791 7 0.41 28.721060926301284 2.5788623415485987 16.81613786837412 0 0 0 +2530 841 6 -0.82 29.472556036392476 31.33692259711459 19.061911170620313 0 0 0 +2996 996 7 0.41 26.84207500814048 1.2679775481441742 22.067552984284053 0 0 0 +2997 996 7 0.41 28.01209450217156 0.39010407048312906 22.74830825872189 0 0 0 +3023 1005 7 0.41 26.697463507384505 3.697126037018168 17.034393169067233 0 0 0 +415 136 6 -0.82 0.9698115917217617 14.707289728534475 19.47074458499414 0 0 0 +416 136 7 0.41 0.19386430014642106 14.246541908475645 18.95494422075185 0 0 0 +417 136 7 0.41 1.8409841241765277 14.624018797189468 18.920840323967507 0 0 0 +577 190 6 -0.82 6.582220630862217 15.4885115448769 17.92047123496677 0 0 0 +578 190 7 0.41 6.125701110685252 16.04783452361772 17.179720676756485 0 0 0 +621 204 7 0.41 4.939654360738629 12.079152726007708 23.697135121209218 0 0 0 +682 225 6 -0.82 4.128780637658924 9.960041515021752 16.220307781962724 0 0 0 +683 225 7 0.41 3.2175720343950753 10.40075586144389 16.345848995253032 0 0 0 +719 237 7 0.41 29.807570711166196 8.832358010936094 15.918202047021934 0 0 0 +730 241 6 -0.82 0.3469781576942489 15.887537044248736 22.85952826213631 0 0 0 +904 299 6 -0.82 3.719307797369027 13.054258805280105 20.733755518131492 0 0 0 +905 299 7 0.41 3.621968913196022 13.874685619172125 21.342246382477576 0 0 0 +906 299 7 0.41 4.492415129530934 13.251842725952548 20.07573352648731 0 0 0 +982 325 6 -0.82 1.2522155650312212 9.301330734399448 18.55566766590834 0 0 0 +983 325 7 0.41 1.7001021785675803 10.217378716345218 18.763719265871508 0 0 0 +984 325 7 0.41 0.3551575335696235 9.319673076925868 19.046231659941615 0 0 0 +1060 351 6 -0.82 5.3794254653371105 7.807796485010176 19.41446143404513 0 0 0 +1061 351 7 0.41 4.777470273145021 8.516110430651445 19.849072064154626 0 0 0 +1165 386 6 -0.82 3.2197240888214256 14.59659169067933 17.961270569888256 0 0 0 +1166 386 7 0.41 3.5043210094275414 15.583066703410278 18.094749366475252 0 0 0 +1167 386 7 0.41 4.04722670924014 13.998143442661735 18.155240247842716 0 0 0 +1201 398 6 -0.82 0.6549422790082585 12.760493730049891 21.434199837909276 0 0 0 +1202 398 7 0.41 1.6621292727314114 12.649097090978762 21.568635680232624 0 0 0 +1203 398 7 0.41 0.4849464483234372 13.657865323776868 20.955270598969996 0 0 0 +1327 440 6 -0.82 2.7695427979113205 8.239570871022625 21.117485465234697 0 0 0 +1369 454 6 -0.82 3.1888866315148596 7.596792402337792 17.685738990176336 0 0 0 +1370 454 7 0.41 2.458845403327706 8.165801057614456 18.16226121291444 0 0 0 +1371 454 7 0.41 4.043378080303046 7.624994870826534 18.27039771590832 0 0 0 +1505 499 7 0.41 4.946992728920075 15.813717760004469 21.04033464635826 0 0 0 +1849 614 6 -0.82 6.485441899093341 11.032875064283612 17.273994158680964 0 0 0 +1850 614 7 0.41 6.83801334681378 10.654677974144896 18.17868279516006 0 0 0 +1851 614 7 0.41 5.659711017863529 10.50455894979326 16.949488107504905 0 0 0 +2064 685 7 0.41 30.49874699611546 12.984147475207369 17.269549612353725 0 0 0 +2290 761 6 -0.82 2.202621720840294 11.790577795720882 18.85390557798767 0 0 0 +2291 761 7 0.41 2.0635263096012335 12.46964950126288 18.11001807347575 0 0 0 +2292 761 7 0.41 2.7081565271213806 12.262511806503573 19.624723753634424 0 0 0 +2377 790 6 -0.82 1.0155679223371858 9.885219078542509 15.86427650147053 0 0 0 +2379 790 7 0.41 1.001583631110629 9.448000701912763 16.798139986457148 0 0 0 +2432 808 7 0.41 30.96936788649613 11.74154020073927 22.42684039916207 0 0 0 +2433 808 7 0.41 0.07258806275543961 10.341450048494366 23.04532189929868 1 0 0 +2545 846 6 -0.82 4.6940132580263265 9.939391520944625 23.356735477857654 0 0 0 +2546 846 7 0.41 4.978069372144936 8.965688237037778 23.50978992408144 0 0 0 +2547 846 7 0.41 4.865231025405677 10.129639103938953 22.348833683543123 0 0 0 +2602 865 6 -0.82 4.987584196665015 10.459395597266733 20.753045298284377 0 0 0 +2603 865 7 0.41 5.938729809678556 10.843039777062623 20.673161638525148 0 0 0 +2604 865 7 0.41 4.338337332912327 11.244861844520756 20.62819182964952 0 0 0 +2683 892 6 -0.82 5.42959449083221 13.186036856394844 18.569533226921052 0 0 0 +2684 892 7 0.41 6.07306568361062 13.978360763204149 18.403296901413395 0 0 0 +2685 892 7 0.41 5.814254489446462 12.3823730380565 18.041734650138274 0 0 0 +2755 916 6 -0.82 7.400371548536119 12.197106959413018 21.825521188183668 0 0 0 +2756 916 7 0.41 7.813585137910154 13.092403827516284 22.118347693582855 0 0 0 +2757 916 7 0.41 7.888685450001157 11.431910754422256 22.299045155104288 0 0 0 +2800 931 6 -0.82 2.0492157139442666 10.372134271271468 23.013692213190495 0 0 0 +2801 931 7 0.41 3.0526266111693108 10.178601492945399 23.156991892786433 0 0 0 +2802 931 7 0.41 1.8614967964238907 11.212427047860302 23.601342643030627 0 0 0 +2906 966 7 0.41 3.052184759047933 15.158160987749582 16.31945442249218 0 0 0 +3042 1011 7 0.41 7.368612875989667 9.34809940740449 20.14591671173912 0 0 0 +57 16 7 0.41 7.167524452389584 8.101049397772835 18.155852074494124 0 0 0 +100 31 6 -0.82 10.300350202475919 14.317380352291577 17.68044358704271 0 0 0 +101 31 7 0.41 9.874197303459255 15.243566352712252 17.857811426667467 0 0 0 +102 31 7 0.41 9.831491289078759 13.69310299843898 18.375073392956658 0 0 0 +208 67 6 -0.82 9.243198212821047 10.233767452043308 22.983147597747095 0 0 0 +209 67 7 0.41 9.948332202603247 10.377692227266614 22.255055117252954 0 0 0 +223 72 6 -0.82 12.902553541337783 14.817769683472212 18.156431202742063 0 0 0 +224 72 7 0.41 13.112356945066145 15.743062903213305 17.74799170274858 0 0 0 +225 72 7 0.41 11.886502789200954 14.653098196763642 18.03063887417512 0 0 0 +679 224 6 -0.82 11.46068202367573 14.740099273879208 23.595402334343113 0 0 0 +680 224 7 0.41 12.415474461317435 14.598357821033922 23.94839160378336 0 0 0 +681 224 7 0.41 11.4856641811591 15.663246227877163 23.124985595236918 0 0 0 +1075 356 6 -0.82 14.727743625134703 12.036294364983004 23.64135821229574 0 0 0 +1076 356 7 0.41 14.497531128074472 11.229457066678025 23.053869287206517 0 0 0 +1077 356 7 0.41 15.409239025618103 12.628766971450833 23.120863024662622 0 0 0 +1238 410 7 0.41 14.29286748780995 8.895667353978974 24.297747101886834 0 0 0 +1239 410 7 0.41 15.213007050723329 8.221722224316435 23.08014483064121 0 0 0 +1489 494 6 -0.82 10.81806442372571 13.316807248102641 15.241088551839306 0 0 0 +1490 494 7 0.41 10.609487498349338 13.725435907727135 16.17521384899997 0 0 0 +1491 494 7 0.41 10.96869906375672 12.315180010022173 15.357984269135855 0 0 0 +1510 501 6 -0.82 9.268434021475978 12.843524993474293 19.59057279548046 0 0 0 +1511 501 7 0.41 10.042779823027292 12.773428509251021 20.267236646598896 0 0 0 +1512 501 7 0.41 8.430625171930913 12.388058042383372 19.965937599828827 0 0 0 +1582 525 6 -0.82 9.049235397294964 7.654544821589754 23.85602271478325 0 0 0 +1583 525 7 0.41 9.065441706604183 8.631452327133411 23.50948022455769 0 0 0 +1584 525 7 0.41 9.995276649172759 7.286194368227995 23.901915064970602 0 0 0 +1738 577 6 -0.82 14.984274992124226 10.353466898727985 16.0076863724157 0 0 0 +1739 577 7 0.41 15.688706651720471 10.952157462903587 16.4720715681484 0 0 0 +1740 577 7 0.41 15.34726686794084 9.391758994723101 16.08209201764746 0 0 0 +1846 613 6 -0.82 12.515262174122771 10.187756910867995 22.009695887388112 0 0 0 +1847 613 7 0.41 12.953963304257885 9.991921817452605 21.10174231453163 0 0 0 +1848 613 7 0.41 13.001055125482004 9.565681571472034 22.68214352168319 0 0 0 +1903 632 6 -0.82 8.975533163844096 11.066672527369239 16.109316546299393 0 0 0 +1904 632 7 0.41 8.135148318378 10.961918921068353 16.704341581070533 0 0 0 +2098 697 6 -0.82 10.22694786021705 9.678465935080585 19.72694116226875 0 0 0 +2099 697 7 0.41 10.675324081795674 9.931156076107005 18.833763348231145 0 0 0 +2100 697 7 0.41 10.342863632629282 8.67418780350859 19.94413555467238 0 0 0 +2239 744 6 -0.82 13.626066393290023 14.57324610451287 20.750032490345276 0 0 0 +2240 744 7 0.41 12.847595141610539 14.000966796884807 21.103682604709395 0 0 0 +2241 744 7 0.41 13.456690566172156 14.688084160879987 19.735899820263903 0 0 0 +2323 772 6 -0.82 14.189945642916427 9.785510615647613 19.550945707178705 0 0 0 +2324 772 7 0.41 13.643608231609406 10.550438392655597 19.12880609293812 0 0 0 +2325 772 7 0.41 15.106725100842539 10.235425096744585 19.739120573341133 0 0 0 +2515 836 6 -0.82 11.256558109143946 10.380769755574912 17.242243151341647 0 0 0 +2516 836 7 0.41 11.301797554154108 9.374277751680832 17.024840863177854 0 0 0 +2517 836 7 0.41 10.354916349559698 10.697192591470957 16.831610874655848 0 0 0 +2701 898 6 -0.82 11.696544440677243 12.59791579823308 20.985624530216505 0 0 0 +2702 898 7 0.41 11.88090817332282 11.785643596578526 21.586753418595933 0 0 0 +2703 898 7 0.41 12.147498867855077 12.398957394762856 20.077057240719725 0 0 0 +2827 940 6 -0.82 13.195669294676474 7.513452307885317 18.339212973304498 0 0 0 +2828 940 7 0.41 13.518210984872594 8.431705817441571 18.688644476894257 0 0 0 +2829 940 7 0.41 13.302612816502938 7.503074987650911 17.303139183220377 0 0 0 +2884 959 6 -0.82 12.88755131646736 11.988993075592537 18.64395121425501 0 0 0 +2885 959 7 0.41 13.088449098597957 12.924926217936278 18.261236326530415 0 0 0 +2886 959 7 0.41 12.223032044943906 11.470965399725358 18.029931139608614 0 0 0 +2974 989 6 -0.82 8.648263954502722 14.499706965647006 22.910173300106784 0 0 0 +2975 989 7 0.41 8.062370450872876 14.842312974835044 23.678057908793942 0 0 0 +2976 989 7 0.41 9.62885218721674 14.565902413752923 23.236166691743293 0 0 0 +2999 997 7 0.41 8.640525563715219 15.799867010725613 21.67290092196401 0 0 0 +3040 1011 6 -0.82 7.603116019402916 10.126721520298712 19.51873885821885 0 0 0 +3041 1011 7 0.41 8.635406116609113 10.167578157618692 19.567816582515515 0 0 0 +6 1026 4 0 16.553725137872775 14.466989381634058 17.29923158732943 0 0 0 +112 35 6 -0.82 18.25177996788567 9.614755337437453 18.62448547389041 0 0 0 +113 35 7 0.41 17.826614461635874 10.128905906073905 19.405928565256858 0 0 0 +114 35 7 0.41 18.59918127599426 8.716257852184828 18.961349603546715 0 0 0 +121 38 6 -0.82 21.407060420393357 9.48638829328185 17.092950348758432 0 0 0 +122 38 7 0.41 20.840980530498957 9.735783509274206 17.905125955736736 0 0 0 +123 38 7 0.41 20.96653312037427 9.922967805735041 16.26335022075399 0 0 0 +859 284 6 -0.82 19.232390746053927 9.269602782695282 22.092928451871664 0 0 0 +860 284 7 0.41 19.688489239125346 8.394274891429447 22.345908568021592 0 0 0 +861 284 7 0.41 18.562119791114778 9.497557812244642 22.838173414295984 0 0 0 +907 300 6 -0.82 24.213730657948634 8.76362346100044 22.966093706993504 0 0 0 +908 300 7 0.41 23.37823540709923 8.155026577779505 22.888842571468654 0 0 0 +1036 343 6 -0.82 19.033613975193415 13.793800902868275 19.002519821772733 0 0 0 +1037 343 7 0.41 19.81459902509504 13.182581770215778 19.234898692178838 0 0 0 +1038 343 7 0.41 19.175834265240987 14.727548586996843 19.407998037455872 0 0 0 +1111 368 6 -0.82 21.21048039140479 12.808823200243905 22.784390906836858 0 0 0 +1113 368 7 0.41 20.251515033265033 12.542789864988329 22.54777078833289 0 0 0 +1498 497 6 -0.82 16.652268050613433 13.674335850843615 22.83956675345977 0 0 0 +1500 497 7 0.41 16.591959662826675 14.620425372529532 22.43094480737479 0 0 0 +1527 506 7 0.41 23.001596663392462 14.300202591539005 17.378439788707443 0 0 0 +2074 689 6 -0.82 20.525722197699984 10.832932387330095 20.27029633550739 0 0 0 +2075 689 7 0.41 21.513989117917298 10.658371579722303 20.41722992820994 0 0 0 +2076 689 7 0.41 19.956545883750234 10.229061421570027 20.889588046543242 0 0 0 +2157 716 7 0.41 15.253331259416822 7.79845450881037 19.575685643321783 0 0 0 +2194 729 6 -0.82 22.468139691234708 12.818010331362236 16.76230415216232 0 0 0 +2195 729 7 0.41 23.026698732000085 12.087232832821966 16.318734297993643 0 0 0 +2196 729 7 0.41 21.561162569342468 12.897194732689039 16.29358424158405 0 0 0 +2449 814 6 -0.82 22.12433423937597 14.497785448535929 20.726901219152534 0 0 0 +2450 814 7 0.41 23.069170265826386 14.169860679295041 20.52123642873143 0 0 0 +2451 814 7 0.41 21.718311954014005 13.888029106174148 21.44681925132417 0 0 0 +2992 995 6 -0.82 17.06521125889667 11.6158701072231 17.22390421903267 0 0 0 +2993 995 7 0.41 17.556133331910736 10.768084722145321 17.567681721503412 0 0 0 +2994 995 7 0.41 17.755685070703286 12.361978141578074 17.121046762267287 0 0 0 +3013 1002 6 -0.82 16.399754829447623 11.284436842727667 19.917746608141144 0 0 0 +3014 1002 7 0.41 16.78967390939686 12.011200788821782 20.51789157868693 0 0 0 +3015 1002 7 0.41 16.38026550758661 11.636357135301193 18.947448584755122 0 0 0 +47 13 7 0.41 29.011411937724237 15.565228682978681 19.883383776585227 0 0 0 +325 106 6 -0.82 29.711950403758692 14.903752499604604 21.258073535240346 0 0 0 +326 106 7 0.41 28.853654529820062 14.592576829592192 21.742408899602022 0 0 0 +327 106 7 0.41 30.424227332368606 15.188189113633308 21.952342741101972 0 0 0 +370 121 6 -0.82 24.063301078016583 8.703966989677145 17.214396021825003 0 0 0 +371 121 7 0.41 23.086226948959787 9.051420827755189 17.175940767447052 0 0 0 +372 121 7 0.41 24.195638098445 8.128847489033006 18.05441267517557 0 0 0 +718 237 6 -0.82 29.74701399167419 8.336557542381193 16.813303606878648 0 0 0 +898 297 6 -0.82 25.174869448511853 15.579870573495775 23.12436734796553 0 0 0 +900 297 7 0.41 25.999937735894406 16.169870096863598 23.03429228635851 0 0 0 +1162 385 6 -0.82 24.483429281097862 7.875333981932747 19.982482065930526 0 0 0 +1163 385 7 0.41 24.428220363180046 7.884602336691656 20.999753035204527 0 0 0 +1164 385 7 0.41 24.672875601966677 8.869125367098697 19.73363854616602 0 0 0 +1264 419 6 -0.82 27.16224866619292 14.064279094912957 21.67543800851837 0 0 0 +1265 419 7 0.41 27.346257473227222 13.615703474696284 20.767505782289074 0 0 0 +1266 419 7 0.41 26.205732187379322 14.41105532828313 21.730110306898823 0 0 0 +1396 463 6 -0.82 29.713704282000535 8.105847316872547 19.60579161165416 0 0 0 +1397 463 7 0.41 29.163579496490737 8.86299307139217 20.02178226806855 0 0 0 +1398 463 7 0.41 29.737763816915724 8.251951422844007 18.579992761398284 0 0 0 +1526 506 7 0.41 23.263525174180323 15.754865834510612 16.6396608218381 0 0 0 +1646 546 7 0.41 28.792695908492203 16.555112598398676 15.890619359791339 0 0 0 +1647 546 7 0.41 28.09111024760872 16.231535660352847 17.399787921669123 0 0 0 +1861 618 6 -0.82 24.85522201742568 12.946688906865726 20.410225114906332 0 0 0 +1862 618 7 0.41 24.972426905952446 13.93144681374946 20.081802057402548 0 0 0 +1863 618 7 0.41 25.771008162237386 12.50548287688706 20.30184883376769 0 0 0 +2062 685 6 -0.82 30.35414318637381 13.780197916181672 17.934154544613268 0 0 0 +2063 685 7 0.41 29.879258493012948 14.491072678409644 17.389420902840417 0 0 0 +2146 713 6 -0.82 25.78253550125984 13.642446307530196 17.330104896003053 0 0 0 +2147 713 7 0.41 26.23436023951415 14.275105237349024 17.99348903380719 0 0 0 +2148 713 7 0.41 24.88354046899304 14.108803154141064 17.136674648451233 0 0 0 +2236 743 6 -0.82 24.600584078683003 10.459270877825137 19.398333719071516 0 0 0 +2237 743 7 0.41 24.662032749467194 10.306811543665546 18.388909866350627 0 0 0 +2238 743 7 0.41 24.443877522959855 11.454412659311082 19.605839693277865 0 0 0 +2296 763 6 -0.82 25.135670215389386 11.665129402947173 15.492456830081952 0 0 0 +2297 763 7 0.41 25.37401380351752 12.462956658217092 16.09852283775679 0 0 0 +2298 763 7 0.41 25.716942757868534 10.871576796783115 15.799759228470705 0 0 0 +2425 806 6 -0.82 27.030955741533596 10.003937471309174 16.716606726593778 0 0 0 +2426 806 7 0.41 28.03855581068624 9.843449159665616 16.768449061253854 0 0 0 +2427 806 7 0.41 26.574483744960055 9.090368942176104 16.7177734883848 0 0 0 +2431 808 6 -0.82 30.58597208691013 10.919045075696138 22.92026376193112 0 0 0 +2443 812 6 -0.82 28.19629969796395 10.428548327582988 20.937375821127308 0 0 0 +2444 812 7 0.41 29.198505067332853 10.509953567157536 21.14818369923958 0 0 0 +2445 812 7 0.41 27.994185136333115 11.114770855791482 20.194639559745248 0 0 0 +2497 830 6 -0.82 30.48327540027613 11.853176574191137 16.239308134002275 0 0 0 +2498 830 7 0.41 29.870630307405648 12.152482082710446 15.466165401294884 0 0 0 +2499 830 7 0.41 31.15000353140597 11.124478518257526 15.926908749492327 0 0 0 +2626 873 6 -0.82 30.50244827199435 11.193913436109211 19.4492684619812 0 0 0 +2627 873 7 0.41 31.16064037118568 11.715599729784259 20.039702511576657 0 0 0 +2628 873 7 0.41 30.58661369924238 11.506393534845097 18.47995102954141 0 0 0 +2641 878 6 -0.82 26.823349572219087 8.810695721961237 22.56805583124028 0 0 0 +2642 878 7 0.41 25.790627009328546 8.929310554726804 22.596380973027067 0 0 0 +2643 878 7 0.41 27.253535227360665 9.40146163172852 21.828979715606348 0 0 0 +2888 960 7 0.41 29.04971664298522 11.630681993223243 23.561729377026147 0 0 0 +2889 960 7 0.41 27.82912778100258 11.605887950911235 22.477201196759975 0 0 0 +2941 978 6 -0.82 23.86324092144086 12.342212668457087 23.140355865903352 0 0 0 +2942 978 7 0.41 22.864652188993198 12.526842019774246 22.94737018679177 0 0 0 +2943 978 7 0.41 24.283727520527606 12.017431210211226 22.266242616634102 0 0 0 +3076 1023 6 -0.82 27.670320265745552 12.625689526197466 19.31506658145392 0 0 0 +3077 1023 7 0.41 27.17464801989111 12.565391606958707 18.416252366712854 0 0 0 +3078 1023 7 0.41 28.667273649317035 12.80036024189875 19.123363924179504 0 0 0 +61 18 6 -0.82 0.877658392089159 23.23259385609225 22.742839388114053 0 0 0 +62 18 7 0.41 1.1468575741579075 23.413813187396936 23.708696171868272 0 0 0 +63 18 7 0.41 1.0066500086267098 24.12591645965581 22.248763798404816 0 0 0 +64 19 6 -0.82 7.197747019363636 18.986660852081513 19.35721113127737 0 0 0 +65 19 7 0.41 7.652029062373845 18.08424642025667 19.244606290569394 0 0 0 +66 19 7 0.41 7.413275403676791 19.35861390915386 20.304100736453528 0 0 0 +579 190 7 0.41 6.168422091227537 15.718500080692065 18.851494589783343 0 0 0 +610 201 6 -0.82 1.8019851187530191 21.8118938144398 20.112340913457313 0 0 0 +611 201 7 0.41 2.6211941844120745 22.42062082385901 20.036331034692992 0 0 0 +612 201 7 0.41 1.8374038761768885 21.443915371756265 21.06560211924141 0 0 0 +631 208 6 -0.82 4.359365733934327 20.78465930584273 16.852595562168144 0 0 0 +632 208 7 0.41 5.250991940577776 20.519920214727797 17.267041750248563 0 0 0 +633 208 7 0.41 4.300955458066612 21.805286457654248 16.84525561176545 0 0 0 +661 218 6 -0.82 31.049465320532406 20.527585195335046 23.69135056463643 0 0 0 +724 239 6 -0.82 5.687075596798674 17.990510738168833 22.548559746434783 0 0 0 +725 239 7 0.41 4.7828147450556076 18.1016194952976 23.035515820307676 0 0 0 +726 239 7 0.41 5.5060843440279275 18.173923509725224 21.55212233961778 0 0 0 +731 241 7 0.41 0.1387454983546589 16.867395791504173 22.640928817663777 0 0 0 +732 241 7 0.41 1.2913508639988507 15.612445261858932 22.57773618568368 0 0 0 +742 245 6 -0.82 7.549943760116965 20.243003635554057 21.657768247249635 0 0 0 +743 245 7 0.41 7.08720334419907 21.121888860555735 21.34946222411158 0 0 0 +744 245 7 0.41 7.131518455555345 20.030122020049227 22.576489485540854 0 0 0 +806 266 7 0.41 6.673247267574149 17.140531629991308 15.462499067060746 0 0 0 +829 274 6 -0.82 3.3430248485163734 20.965782280038955 22.735957062879443 0 0 0 +830 274 7 0.41 3.2508952292153586 20.03901580122869 23.16814702449494 0 0 0 +831 274 7 0.41 4.030791467112488 20.900495040191156 21.986784233452052 0 0 0 +960 317 7 0.41 5.4565284175240265 22.409068972196025 15.449515162339154 0 0 0 +1057 350 6 -0.82 3.850144275816487 17.247718481546947 17.90242275459569 0 0 0 +1058 350 7 0.41 4.593879583959127 17.391382148919902 17.1945363109085 0 0 0 +1059 350 7 0.41 2.966506161142672 17.57852571920167 17.472373462715463 0 0 0 +1504 499 6 -0.82 5.738452576622705 15.852785868269184 20.389009912634133 0 0 0 +1506 499 7 0.41 6.598039807946081 16.12750937885505 20.882649777946778 0 0 0 +1724 572 7 0.41 1.2309825656276925 23.10808431429797 16.3308081878429 0 0 0 +1735 576 6 -0.82 7.092113945775458 21.933882556708294 17.763642233112467 0 0 0 +1736 576 7 0.41 6.9808940791639404 21.72643506398153 18.756242722364174 0 0 0 +1737 576 7 0.41 6.4796428910016886 22.701466375090014 17.45809714775872 0 0 0 +2068 687 6 -0.82 1.5483097953224612 17.824436958378236 16.578038992025178 0 0 0 +2069 687 7 0.41 0.7289396560262285 17.480719414160493 17.111574982644353 0 0 0 +2070 687 7 0.41 1.2819789215410262 18.71554107569891 16.143489537138876 0 0 0 +2698 897 6 -0.82 6.277691047375598 22.464170399146752 21.05570760352166 0 0 0 +2699 897 7 0.41 5.323641593167325 22.84234761423684 20.981971800473303 0 0 0 +2818 937 6 -0.82 3.26102712571851 15.743467932350235 21.946397391448723 0 0 0 +2819 937 7 0.41 2.80532457546139 16.419228244062992 21.32349899887507 0 0 0 +2820 937 7 0.41 3.4830173791472276 16.1864361730172 22.84565202989558 0 0 0 +2860 951 6 -0.82 2.1446524651640893 18.374116364792172 20.92439488221152 0 0 0 +2861 951 7 0.41 3.027958054511352 18.725499917591836 20.512130662710298 0 0 0 +2862 951 7 0.41 1.3504557780131832 18.685133749596435 20.341333639358464 0 0 0 +2905 966 6 -0.82 3.0325434182206275 15.70368112340378 15.44180499007671 0 0 0 +2907 966 7 0.41 2.364107031466729 16.47964319683252 15.568571396359365 0 0 0 +2908 967 6 -0.82 4.664466558012458 18.7313298563437 20.00707272012891 0 0 0 +2909 967 7 0.41 4.312996127921284 18.093213173904516 19.26844084529661 0 0 0 +2910 967 7 0.41 5.621477818397513 18.97693732504528 19.686999307375647 0 0 0 +3055 1016 6 -0.82 3.1561518845580685 18.326924529769027 23.359338742605193 0 0 0 +3056 1016 7 0.41 2.653691207248506 18.332720338137385 22.446748539164616 0 0 0 +89 27 7 0.41 15.960668038167238 22.41646882123461 20.31735495307455 0 0 0 +286 93 6 -0.82 9.803435547798308 20.450900128226703 19.040002474307865 0 0 0 +287 93 7 0.41 9.09172408450709 19.98721787904238 18.458415307593928 0 0 0 +288 93 7 0.41 9.592103763359814 20.21453630131328 20.010818734990462 0 0 0 +484 159 6 -0.82 13.337258518705475 20.794161172663483 16.82184911094371 0 0 0 +485 159 7 0.41 13.797476166521033 21.6608820913766 16.49123258050965 0 0 0 +486 159 7 0.41 13.830746956276942 20.00705533054968 16.375421636598663 0 0 0 +580 191 6 -0.82 15.146570744780954 19.337872021669547 18.66642262938439 0 0 0 +581 191 7 0.41 14.404757317327132 20.048940677608197 18.74948529856552 0 0 0 +582 191 7 0.41 16.040470949451375 19.80334587832838 18.403941138963898 0 0 0 +788 260 7 0.41 7.908415242225664 21.98724947571865 15.951909454188366 0 0 0 +883 292 6 -0.82 12.4856979692222 20.301159301738142 19.904199886177697 0 0 0 +884 292 7 0.41 11.563222448535694 20.494684776347583 19.49399141879888 0 0 0 +885 292 7 0.41 12.544710719797687 20.735660201588196 20.840660907532982 0 0 0 +1288 427 6 -0.82 10.909292574660165 16.58906943426498 15.661925802379912 0 0 0 +1290 427 7 0.41 11.727628989956907 16.98414368345187 16.16148466558903 0 0 0 +1324 439 6 -0.82 13.441442948103097 17.81560942408787 20.103717461766344 0 0 0 +1325 439 7 0.41 12.821898622969288 18.645707428505194 20.024604004272888 0 0 0 +1326 439 7 0.41 14.235993762483039 18.035370859346582 19.485867629437507 0 0 0 +1507 500 6 -0.82 9.954835376797098 18.82950732557039 21.848216537614512 0 0 0 +1508 500 7 0.41 9.264023470810033 18.123678163325636 21.54401527752671 0 0 0 +1509 500 7 0.41 9.4519001617711 19.5981464651777 22.293356460605978 0 0 0 +1586 526 7 0.41 14.972758896040174 15.396315678574405 21.236303378754823 0 0 0 +1621 538 6 -0.82 14.805013323677517 19.265522599499366 21.948017718350858 0 0 0 +1622 538 7 0.41 14.7438779457801 18.712341752491536 22.810653388932906 0 0 0 +1623 538 7 0.41 14.214289271592966 18.771103843546456 21.258197002583017 0 0 0 +1633 542 6 -0.82 8.936506843618739 16.538255888801988 18.3822439455696 0 0 0 +1634 542 7 0.41 8.04030874438856 16.035153212071055 18.18898498662969 0 0 0 +1635 542 7 0.41 9.022415243802504 17.367199325053413 17.75727563357571 0 0 0 +1780 591 6 -0.82 12.733321005207419 21.10428396321956 22.516603405767796 0 0 0 +1781 591 7 0.41 12.514930457300958 21.841778961538992 23.212316738342935 0 0 0 +1782 591 7 0.41 13.736834713601771 20.886174565393322 22.479542278540517 0 0 0 +1831 608 6 -0.82 9.04309578762792 18.482852746320564 16.56658455115667 0 0 0 +1832 608 7 0.41 9.737864220551074 17.835524913825928 16.152913104775767 0 0 0 +1833 608 7 0.41 8.519242053548023 18.958327163645603 15.822464617658666 0 0 0 +2104 699 6 -0.82 11.911209706930748 17.152130185608996 22.423961699844156 0 0 0 +2105 699 7 0.41 12.48149462101243 17.11054175099083 21.56621070413663 0 0 0 +2106 699 7 0.41 11.125361627523805 17.809487688101466 22.225613153110107 0 0 0 +2284 759 6 -0.82 15.17681894503018 18.94348242206483 15.918724698089129 0 0 0 +2356 783 6 -0.82 13.125758783861068 17.384207590816768 17.007405066616595 0 0 0 +2357 783 7 0.41 13.929185513709061 17.686117798717795 16.429304043499734 0 0 0 +2358 783 7 0.41 12.947609329456887 18.11600011098483 17.698233848429624 0 0 0 +2569 854 6 -0.82 10.75599923976457 21.434330803657307 16.621100689647935 0 0 0 +2570 854 7 0.41 10.23028732948251 21.20792815338858 17.476572140581464 0 0 0 +2571 854 7 0.41 11.749754369744524 21.190975106240256 16.811347279783433 0 0 0 +2595 862 7 0.41 15.333517637017206 23.463047854138345 15.304522647930773 0 0 0 +2998 997 6 -0.82 8.455931885382986 16.615950082267545 21.063602320036278 0 0 0 +3000 997 7 0.41 8.881211284786469 16.4484365481055 20.136949120886168 0 0 0 +5 1026 3 0 16.72574300764163 15.111034276640158 16.411813380540707 0 0 0 +8 1026 4 0 16.99651056174916 16.135237882042567 16.740115521603236 0 0 0 +70 21 6 -0.82 21.069492872883437 19.938300327836156 17.26538872723007 0 0 0 +71 21 7 0.41 21.364593954873058 20.920010865147038 17.404762215068075 0 0 0 +72 21 7 0.41 21.498157790761137 19.379425859972663 17.99980434997098 0 0 0 +88 27 6 -0.82 15.843348170227426 23.350780959376504 19.89427831312496 0 0 0 +90 27 7 0.41 16.655908731142446 23.487983180496833 19.265698582399 0 0 0 +172 55 6 -0.82 17.433156632946623 20.355667300580535 17.85214783416227 0 0 0 +173 55 7 0.41 17.827106681955016 21.278896807572583 17.664614320060576 0 0 0 +174 55 7 0.41 17.868050176928723 19.702268907604356 17.17390261998859 0 0 0 +442 145 6 -0.82 19.640267634046392 21.49479284780012 19.83412316931267 0 0 0 +443 145 7 0.41 18.82640677420575 22.033462006527124 19.511411511572806 0 0 0 +444 145 7 0.41 20.407972632383306 22.177719842227773 19.821105045097063 0 0 0 +670 221 6 -0.82 22.38324032646493 22.52191561587499 17.240550810449083 0 0 0 +671 221 7 0.41 23.255554020574237 22.788317291247942 17.71863763158983 0 0 0 +672 221 7 0.41 22.53866081997962 22.84350449028266 16.266534617614212 0 0 0 +773 255 7 0.41 21.09042517371228 20.802315569118637 15.579270804328493 0 0 0 +988 327 6 -0.82 22.32683310748688 20.8739560613497 20.92041492287503 0 0 0 +989 327 7 0.41 21.52954847421491 20.243139790323436 20.791266369083846 0 0 0 +990 327 7 0.41 22.02867999420112 21.727907141536075 21.41705237013051 0 0 0 +1188 393 7 0.41 22.27909995168514 19.047030134398018 16.059296510018388 0 0 0 +1428 473 7 0.41 21.21881340011177 23.4098215126842 18.225367743261735 0 0 0 +1519 504 6 -0.82 20.42287285126679 16.66550285300006 22.93764422426269 0 0 0 +1520 504 7 0.41 21.359943332837272 17.074251445103197 22.780400316783766 0 0 0 +1521 504 7 0.41 20.078040028015856 16.358318525526034 22.00884633314931 0 0 0 +1585 526 6 -0.82 15.769122952386084 15.975589462072742 21.593500692714137 0 0 0 +1587 526 7 0.41 15.923921804932073 16.7163202379431 20.90944810947543 0 0 0 +2005 666 6 -0.82 16.714129673335712 20.90352678207378 20.885761356687862 0 0 0 +2006 666 7 0.41 16.00600057023409 20.28350565742582 21.329557961471092 0 0 0 +2007 666 7 0.41 17.039605972951172 20.472742048669346 20.018863027029674 0 0 0 +2128 707 6 -0.82 18.82773011283913 19.91288065717864 22.666065878065755 0 0 0 +2129 707 7 0.41 18.307598992644564 20.559288994682422 22.056355595151995 0 0 0 +2130 707 7 0.41 18.101984886281503 19.490889472001133 23.27387977229057 0 0 0 +2286 759 7 0.41 15.528587558613987 18.894080405061853 16.882423410824167 0 0 0 +2527 840 6 -0.82 21.21786024663067 23.11181824067908 22.287298870569533 0 0 0 +2528 840 7 0.41 21.738430008312474 23.306368004917534 23.167880012384426 0 0 0 +2529 840 7 0.41 20.303676270166118 22.721361338259097 22.51655274568871 0 0 0 +2704 899 6 -0.82 23.06122939232703 17.447849313014654 22.82438045036983 0 0 0 +2706 899 7 0.41 23.475598418055625 16.527907070784533 22.619404793632416 0 0 0 +2740 911 6 -0.82 19.942816735889554 16.178276994236086 20.30678240271567 0 0 0 +2741 911 7 0.41 20.056054053158057 17.185836110513858 20.113990574719235 0 0 0 +2742 911 7 0.41 20.847998398430967 15.686654722112982 20.214488734808764 0 0 0 +2791 928 6 -0.82 20.266064992151968 18.973794648373882 20.42485029660997 0 0 0 +2792 928 7 0.41 19.771842932807424 19.062733007963114 21.329492813213623 0 0 0 +2793 928 7 0.41 19.984436146768783 19.829884028489825 19.9046131931267 0 0 0 +46 13 6 -0.82 28.52372350950839 16.14978113268306 19.17331626823229 0 0 0 +48 13 7 0.41 27.851968049997048 16.728684278106762 19.70575382711177 0 0 0 +85 26 6 -0.82 29.969087972251014 17.38284242357685 15.091233111524618 0 0 0 +87 26 7 0.41 30.17117623241241 18.226915610406092 15.642363800969965 0 0 0 +118 37 6 -0.82 26.719849777819416 17.657807949893197 20.700484211792524 0 0 0 +119 37 7 0.41 27.104984400247844 17.565685389227 21.656694068930534 0 0 0 +120 37 7 0.41 25.856290714611156 18.221501294520447 20.74713841434493 0 0 0 +254 82 7 0.41 26.597315059506883 23.530821309500634 15.053366034496532 0 0 0 +541 178 6 -0.82 31.023816415976253 16.773760906529784 18.311240403978125 0 0 0 +542 178 7 0.41 30.03753737268232 16.602909935726135 18.5803690371735 0 0 0 +543 178 7 0.41 0.2309608520844952 16.075182181154943 18.834420101335613 1 0 0 +663 218 7 0.41 30.99450346568863 21.12369731221539 22.852233314039385 0 0 0 +827 273 7 0.41 26.773480469295407 17.19092957165454 15.862659040341565 0 0 0 +853 282 6 -0.82 31.108332361376902 18.985598995841354 19.745822666285058 0 0 0 +854 282 7 0.41 30.261901346583077 19.514342009494612 19.489656246988694 0 0 0 +855 282 7 0.41 31.150696729502275 18.194632798569653 19.076065857259856 0 0 0 +874 289 6 -0.82 30.194778108669738 18.371156399533916 22.19110366257549 0 0 0 +875 289 7 0.41 30.287251849717833 19.235842348131968 22.739423141075708 0 0 0 +876 289 7 0.41 30.625528381440358 18.564902510641566 21.267279698944137 0 0 0 +887 293 7 0.41 25.5459002742551 20.19492315146849 14.458825324579188 0 0 0 +888 293 7 0.41 25.157126557470228 20.841860672360912 15.962357764479103 0 0 0 +994 329 6 -0.82 28.273886350295463 21.043707196438906 16.355369035562564 0 0 0 +995 329 7 0.41 27.33770703574028 20.924442290309663 16.789324714370007 0 0 0 +996 329 7 0.41 28.556561357488096 22.0365679205808 16.492610855697674 0 0 0 +1063 352 6 -0.82 27.51412490695942 22.05648295535015 22.512675532474542 0 0 0 +1064 352 7 0.41 28.46258132982685 21.890747392905883 22.141753376922313 0 0 0 +1065 352 7 0.41 27.098872057410393 21.16867244910288 22.849702871974966 0 0 0 +1093 362 6 -0.82 26.393290986971415 19.680334740051332 23.18665916557269 0 0 0 +1095 362 7 0.41 27.11198283644003 18.982777811501315 23.398295347255875 0 0 0 +1114 369 6 -0.82 27.905052638053437 17.187346431259197 23.09154509367309 0 0 0 +1115 369 7 0.41 28.148922993516457 16.2905221164197 23.56122728733086 0 0 0 +1116 369 7 0.41 28.79797603777102 17.577161919828697 22.719188366684342 0 0 0 +1168 387 6 -0.82 29.52599376529985 23.413799642136432 16.672828153291846 0 0 0 +1169 387 7 0.41 30.530581732121007 23.23437974741367 16.704820039068867 0 0 0 +1186 393 6 -0.82 23.147916103115442 18.52476541145841 15.964682645613324 0 0 0 +1285 426 6 -0.82 25.204344186069214 15.418980982301628 19.589762493065844 0 0 0 +1286 426 7 0.41 24.497245193064344 15.561860809772405 18.847483548278262 0 0 0 +1287 426 7 0.41 25.693224894774378 16.304647209814174 19.78121876598922 0 0 0 +1399 464 6 -0.82 30.687295956343235 19.84120027810078 16.338458684636844 0 0 0 +1400 464 7 0.41 29.718016703035143 20.176328959735574 16.484309137124313 0 0 0 +1411 468 6 -0.82 28.34336604666935 19.57497984148517 19.23315985012399 0 0 0 +1412 468 7 0.41 27.704845825125133 19.88861118181164 18.50292812970331 0 0 0 +1413 468 7 0.41 27.84505759684355 18.891209095757052 19.814075996876838 0 0 0 +1432 475 6 -0.82 25.967969372248714 20.612283019023504 17.656522859349185 0 0 0 +1433 475 7 0.41 25.70820703007894 21.056246063911242 18.552711589613295 0 0 0 +1434 475 7 0.41 25.71895786335634 19.60498853742638 17.767084317331076 0 0 0 +1458 483 7 0.41 25.561958549846032 23.31598013186054 18.678931712147794 0 0 0 +1525 506 6 -0.82 23.506338276908615 15.203675490017716 17.46025985525527 0 0 0 +1645 546 6 -0.82 27.959158328451323 16.144108396709555 16.375941457548628 0 0 0 +1690 561 6 -0.82 30.07571507681134 21.979119145086962 21.506101556336258 0 0 0 +1691 561 7 0.41 30.81292118457685 22.61825026257283 21.850969713908945 0 0 0 +1692 561 7 0.41 30.295530026087942 21.677567283492145 20.54255372058835 0 0 0 +1996 663 6 -0.82 25.310652924201413 18.12639179470874 18.12127989483421 0 0 0 +1997 663 7 0.41 24.413148335365893 18.119479555052404 18.60410605851788 0 0 0 +1998 663 7 0.41 25.20654281939831 17.864008224862424 17.129243124070122 0 0 0 +2131 708 6 -0.82 25.814545819961044 21.338817320889476 20.334644204020396 0 0 0 +2132 708 7 0.41 26.183180675695915 21.815578188734865 21.171234405142588 0 0 0 +2133 708 7 0.41 25.31971695300761 20.499287193161308 20.666774538472897 0 0 0 +2566 853 6 -0.82 30.792798321846874 21.6984006569375 18.85280919295672 0 0 0 +2567 853 7 0.41 30.83962522314558 21.1279052399043 18.00033790173621 0 0 0 +2568 853 7 0.41 0.39130827435705023 21.685661633248177 19.283738960176603 1 0 0 +2705 899 7 0.41 23.603511916256178 17.799474057256823 23.62423156693993 0 0 0 +2920 971 6 -0.82 27.889860071481706 22.627180615841425 19.045149303212984 0 0 0 +2921 971 7 0.41 28.721977348984527 22.16906763486716 18.659901801655714 0 0 0 +2922 971 7 0.41 27.331646702435506 21.932597913309703 19.56091958294912 0 0 0 +2929 974 6 -0.82 24.19570689606424 19.025573186413986 20.864564139959608 0 0 0 +2930 974 7 0.41 23.75196200292372 18.36179654364153 21.515588032136602 0 0 0 +2931 974 7 0.41 23.544061659737746 19.840907165595915 20.833793101089178 0 0 0 +346 113 6 -0.82 6.768053120759617 26.209467129307598 22.516684591537544 0 0 0 +347 113 7 0.41 7.659012541924997 26.715825988998827 22.603320866210357 0 0 0 +475 156 6 -0.82 7.309308731572884 28.382556660190726 16.39581347330701 0 0 0 +477 156 7 0.41 7.091517720341299 27.788594325175612 17.21814091501002 0 0 0 +634 209 6 -0.82 5.695561794602646 25.43771941127233 20.2078303905744 0 0 0 +635 209 7 0.41 6.328450027892473 25.916853177844626 19.542035964741448 0 0 0 +636 209 7 0.41 6.062383887556545 25.71178845584422 21.140136566453332 0 0 0 +880 291 6 -0.82 4.060954462848722 27.454203865757695 22.30521894486742 0 0 0 +881 291 7 0.41 4.894361240623952 26.999611626158945 22.69139868383695 0 0 0 +882 291 7 0.41 4.149285890659532 28.461475145469016 22.529123217612568 0 0 0 +1663 552 6 -0.82 1.895746987145441 25.593604702748873 21.578169488256528 0 0 0 +1664 552 7 0.41 0.9731487494388036 26.051373063096793 21.48235839182429 0 0 0 +1665 552 7 0.41 2.6134393802413394 26.31161802129671 21.41214371515978 0 0 0 +1792 595 6 -0.82 4.345417367084442 30.027798909778564 22.960844516832182 0 0 0 +1793 595 7 0.41 5.011033205277389 29.944251727946725 23.749965565662446 0 0 0 +1939 644 6 -0.82 3.311092468803347 26.801374796502586 19.317311199937173 0 0 0 +1940 644 7 0.41 2.5485241053360865 26.36363235930796 18.792686821381263 0 0 0 +1941 644 7 0.41 4.067595633536756 26.141972170823326 19.54534966670817 0 0 0 +1947 646 7 0.41 6.512920097648022 29.706839663774836 15.707218198761698 0 0 0 +1994 662 7 0.41 7.86871123667384 0.043412561566714365 22.124083214583155 0 1 0 +2047 680 6 -0.82 4.374885057039515 27.521582105197314 15.95750900401331 0 0 0 +2049 680 7 0.41 5.317127067885681 27.918876293521183 15.967375930736363 0 0 0 +2110 701 6 -0.82 6.786507577864821 30.607453812819788 18.644477640202723 0 0 0 +2111 701 7 0.41 7.506419185063522 30.01904853701086 18.21425328097073 0 0 0 +2112 701 7 0.41 6.015476756771118 29.998944338934756 18.978938807724365 0 0 0 +2422 805 6 -0.82 0.653327931370882 26.71170783480296 17.78952091201519 0 0 0 +2423 805 7 0.41 31.221311326169513 27.143518948947904 18.312835441817253 -1 0 0 +2424 805 7 0.41 1.1233033680242646 27.462786870628538 17.258772852826763 0 0 0 +2437 810 6 -0.82 5.0574869647469685 28.75054483977575 19.72563104738644 0 0 0 +2438 810 7 0.41 4.937945927914741 28.597055817305904 20.726730902425864 0 0 0 +2439 810 7 0.41 4.3140421640625775 28.162512880920158 19.31386311452935 0 0 0 +2700 897 7 0.41 6.86671008856357 23.145159709112058 21.531740213977333 0 0 0 +2776 923 6 -0.82 1.010328083639659 29.725529089173428 18.811242080115974 0 0 0 +2777 923 7 0.41 1.3027766644371772 30.614715322561224 19.24128777375559 0 0 0 +2778 923 7 0.41 1.5873613567928608 29.48402301065767 17.996124172194694 0 0 0 +2803 932 6 -0.82 3.803428158679215 23.723139799418277 20.820712052934066 0 0 0 +2804 932 7 0.41 4.549035882121033 24.372736428459067 20.4909873040264 0 0 0 +2805 932 7 0.41 2.985430054023364 24.296894829610682 21.084240678292822 0 0 0 +2947 980 6 -0.82 7.0214224228085325 27.18766949068163 18.720213521024547 0 0 0 +2948 980 7 0.41 6.375571793388902 27.85491492700637 19.180694118852895 0 0 0 +2959 984 6 -0.82 1.0415911073690147 24.08536643981037 17.718781490498948 0 0 0 +2960 984 7 0.41 0.8541074658269188 25.110191035956777 17.687251094369568 0 0 0 +2961 984 7 0.41 0.6904740015557995 23.74778743693601 18.613051238886246 0 0 0 +2983 992 6 -0.82 1.8278856110813833 29.306402729450404 21.97653762917354 0 0 0 +2984 992 7 0.41 2.018480887025644 28.5734588911292 21.290991608744246 0 0 0 +2985 992 7 0.41 2.7174590745613862 29.559715022405125 22.433839706321336 0 0 0 +271 88 6 -0.82 12.545250662749263 27.960174597903162 20.294979688043547 0 0 0 +272 88 7 0.41 12.761238966313641 28.31558778669698 21.217682162174512 0 0 0 +273 88 7 0.41 12.855073499384222 26.976665684854996 20.221761474294336 0 0 0 +398 130 7 0.41 10.61954603155083 30.16906691362572 18.343475832507863 0 0 0 +399 130 7 0.41 12.042277581328204 31.01021569716412 18.042798138615602 0 0 0 +476 156 7 0.41 8.329154560134569 28.352506497593694 16.324553403477747 0 0 0 +604 199 6 -0.82 13.767357922077915 30.71619129494292 18.24943822852367 0 0 0 +606 199 7 0.41 13.61139552015999 30.100057836126673 19.051152148138808 0 0 0 +754 249 6 -0.82 9.279166890703104 27.78080841846027 22.346935081680478 0 0 0 +755 249 7 0.41 10.026238785475476 28.18221181291583 22.93458250067784 0 0 0 +756 249 7 0.41 9.681609420262642 27.031793787565903 21.7552384426295 0 0 0 +928 307 6 -0.82 9.404279686886072 28.47581383122967 18.837495307005085 0 0 0 +929 307 7 0.41 10.211906505651692 27.855620772414284 18.799771737242757 0 0 0 +930 307 7 0.41 9.506975716888306 29.111067448970147 19.657213922267946 0 0 0 +1281 424 7 0.41 12.479030483015707 27.204731249178725 24.076390001307196 0 0 0 +1384 459 6 -0.82 9.862549617450098 24.003301471089024 23.006530751923037 0 0 0 +1385 459 7 0.41 10.496422685270788 23.3184324562796 23.425641961326672 0 0 0 +1386 459 7 0.41 10.408387341695297 24.705327253520288 22.495187350810482 0 0 0 +1539 510 7 0.41 11.384663785740383 30.53194828956295 23.10746103409892 0 0 0 +1687 560 6 -0.82 15.001323377169266 30.0389689210061 22.045140549517487 0 0 0 +1688 560 7 0.41 14.240577012029835 30.52219673083324 21.526903315975904 0 0 0 +1689 560 7 0.41 15.577852589602063 30.82223089224228 22.402677625562838 0 0 0 +1981 658 6 -0.82 10.983217544964818 25.06560462206257 18.259487363548985 0 0 0 +1982 658 7 0.41 10.829928439516168 25.792043405994615 17.539005557133578 0 0 0 +1983 658 7 0.41 10.615507294917478 24.189190916727544 17.88316095821043 0 0 0 +1993 662 6 -0.82 7.984522056959241 31.2587656530005 23.14326070450936 0 0 0 +1995 662 7 0.41 8.926317450103902 30.880882526782234 23.289501316946986 0 0 0 +2003 665 7 0.41 13.34603026856956 25.290303055518596 23.345003092320333 0 0 0 +2004 665 7 0.41 14.821027278339193 24.580159081507134 22.97619230673432 0 0 0 +2230 741 6 -0.82 13.39024012205123 25.266933088369388 19.940823974541697 0 0 0 +2231 741 7 0.41 12.6267919035724 25.058453499904978 19.288236420905605 0 0 0 +2232 741 7 0.41 14.151196828433282 24.588708973058168 19.81293651321807 0 0 0 +2686 893 6 -0.82 10.216195356419366 26.861180033469825 16.278250145170514 0 0 0 +2687 893 7 0.41 9.503392275910048 26.237019110169516 15.84205274282515 0 0 0 +2788 927 6 -0.82 10.077173820267596 25.649784941836273 20.807171508242856 0 0 0 +2789 927 7 0.41 9.411292715857185 24.888313127040302 20.958285061413285 0 0 0 +2790 927 7 0.41 10.5398087461632 25.496944625017576 19.89549414031863 0 0 0 +2926 973 6 -0.82 9.522341135112985 30.07114664494248 20.923748887764052 0 0 0 +2927 973 7 0.41 10.302045060600213 30.598875088433925 21.321291865939184 0 0 0 +2928 973 7 0.41 9.320354664153227 29.249404397941554 21.521945029298934 0 0 0 +2949 980 7 0.41 7.996766258755717 27.51822300791023 18.84805648696647 0 0 0 +220 71 6 -0.82 18.220569310900686 23.458536440907444 18.460189163957775 0 0 0 +221 71 7 0.41 19.162185104395334 23.816782605205038 18.719882118737484 0 0 0 +222 71 7 0.41 18.318949614646577 23.324201562372604 17.437025894539754 0 0 0 +952 315 6 -0.82 21.38836721762584 28.50161023312645 19.798461191239085 0 0 0 +953 315 7 0.41 21.55542108742703 29.043409338706905 20.639634239876695 0 0 0 +954 315 7 0.41 22.039501246742343 28.8229162969229 19.053150872362828 0 0 0 +1387 460 6 -0.82 18.09032710814553 30.555711218988748 19.41404042181775 0 0 0 +1388 460 7 0.41 17.905550411549633 30.211617143283846 20.374639646984736 0 0 0 +1389 460 7 0.41 18.714470338543382 29.877851841875543 18.984955419577364 0 0 0 +1402 465 6 -0.82 16.361993245479997 24.589824375253176 22.23959755614596 0 0 0 +1403 465 7 0.41 16.11231010139994 24.080246620033122 21.368196883688572 0 0 0 +1404 465 7 0.41 16.890988492598268 25.414463373838483 21.955964075260574 0 0 0 +1426 473 6 -0.82 20.78398521388743 23.916443607669073 19.007149766253974 0 0 0 +1427 473 7 0.41 21.50943523937457 24.54591474072551 19.38907918134535 0 0 0 +1828 607 6 -0.82 22.906201069437156 29.220040570753604 17.667203150662992 0 0 0 +1829 607 7 0.41 22.61850572131249 29.837105755614008 16.886966979876345 0 0 0 +1830 607 7 0.41 23.178777690100354 28.305968368795586 17.291477618802666 0 0 0 +1838 610 7 0.41 23.726656037734067 26.381631182532068 15.753420413951824 0 0 0 +2410 801 6 -0.82 21.029022293744625 26.186971199177414 22.279058014200757 0 0 0 +2411 801 7 0.41 20.99717092562184 25.16400655339854 22.268824248946952 0 0 0 +2412 801 7 0.41 21.22349756149078 26.5285542704741 21.338792711353953 0 0 0 +2524 839 6 -0.82 21.18121313415241 26.62115672664316 17.60897566544057 0 0 0 +2525 839 7 0.41 21.82534875205887 26.048445256010524 18.174003821126 0 0 0 +2526 839 7 0.41 20.938247705653673 27.42034253638798 18.194783402294142 0 0 0 +2542 845 6 -0.82 15.321469912613848 27.210636484181364 15.786563337275519 0 0 0 +2543 845 7 0.41 15.256410733305223 26.39737888974618 16.388610065429745 0 0 0 +2572 855 6 -0.82 17.70777577745973 29.417199714009776 21.86196648464809 0 0 0 +2573 855 7 0.41 16.680327817561796 29.38975800866044 21.94276075409101 0 0 0 +2574 855 7 0.41 18.14738576038643 28.86757852909398 22.594207967714457 0 0 0 +106 33 6 -0.82 27.563655089855878 28.660760702970435 20.191581816653073 0 0 0 +107 33 7 0.41 27.416150165703495 27.997050133883267 20.954821862407066 0 0 0 +108 33 7 0.41 27.140579445526047 28.29013200459164 19.328342379102242 0 0 0 +110 34 7 0.41 26.781176434624193 28.078825128015747 14.691357053518214 0 0 0 +163 52 6 -0.82 29.40078508293244 31.23382171221176 21.870010053378152 0 0 0 +164 52 7 0.41 29.45596290480769 31.126606445877666 20.841753978257337 0 0 0 +165 52 7 0.41 29.90444390180096 30.452804687718128 22.329427218437036 0 0 0 +167 53 7 0.41 0.3044905194727312 29.23322330688398 22.82249665489885 1 0 0 +289 94 6 -0.82 23.06027615834881 25.459785951324093 19.298369391581637 0 0 0 +290 94 7 0.41 23.597326503105677 26.207543557528616 19.7876112708644 0 0 0 +291 94 7 0.41 23.72760239952351 24.69659580679481 19.112941794689174 0 0 0 +406 133 6 -0.82 30.053939739558803 24.57888022982354 19.53309815072191 0 0 0 +407 133 7 0.41 29.82934383675625 23.634110768882277 19.85624625069557 0 0 0 +408 133 7 0.41 29.787805673152686 24.59841393254001 18.54254548216894 0 0 0 +424 139 6 -0.82 24.22410336759957 28.13273752514844 23.27139849373843 0 0 0 +425 139 7 0.41 24.60776612260952 27.17715814158309 23.346305424883322 0 0 0 +426 139 7 0.41 25.011818116295032 28.781281297696438 23.425621477088434 0 0 0 +613 202 6 -0.82 24.61156889492787 27.19576959137236 20.672964526709436 0 0 0 +614 202 7 0.41 24.23841926164665 27.86749463503432 21.349674038613486 0 0 0 +615 202 7 0.41 25.132187642570127 26.50847845793725 21.2426695959136 0 0 0 +733 242 6 -0.82 24.535965953938675 0.0006154099383977041 18.08279900934433 0 1 0 +734 242 7 0.41 24.99772530524154 31.174290947056715 19.0082968021403 0 0 0 +735 242 7 0.41 23.914974036057714 30.527746739211 17.98732176859514 0 0 0 +856 283 6 -0.82 28.120974115615155 27.47321669790453 22.872711905115395 0 0 0 +857 283 7 0.41 27.646187673951648 28.36312156768748 23.09721626819133 0 0 0 +858 283 7 0.41 29.049884312625878 27.66133733322859 22.478804979013614 0 0 0 +1170 387 7 0.41 29.400743360565137 24.291784336317942 16.142462740198543 0 0 0 +1456 483 6 -0.82 24.824291659813838 23.60269981227344 18.02925285193536 0 0 0 +1457 483 7 0.41 25.30826919416307 23.771068037105053 17.10833261287302 0 0 0 +1522 505 6 -0.82 30.133506399902647 28.599075954602984 15.60327688102229 0 0 0 +1523 505 7 0.41 30.219549657009654 27.702384798752945 16.082061906811578 0 0 0 +1524 505 7 0.41 29.445846189505353 29.18566524462105 16.100336353038188 0 0 0 +1555 516 6 -0.82 27.848873182458533 29.664884760087013 16.71706896415767 0 0 0 +1556 516 7 0.41 27.20081404234919 29.817966391971183 15.929657374031505 0 0 0 +1557 516 7 0.41 27.467042537071844 28.849057987752882 17.234287451087578 0 0 0 +1618 537 6 -0.82 30.164005861801606 28.260086511507982 19.09276815340879 0 0 0 +1619 537 7 0.41 29.319200188212275 28.733442664250973 19.44378275119302 0 0 0 +1620 537 7 0.41 30.934492874079776 28.952409165422644 18.96610927263693 0 0 0 +1837 610 6 -0.82 24.308369993649176 26.46489576185854 16.59289493741822 0 0 0 +1839 610 7 0.41 24.10159455426495 25.67982943478238 17.215494883086457 0 0 0 +2038 677 6 -0.82 25.48082999323737 30.865507618217762 20.46931963990631 0 0 0 +2039 677 7 0.41 26.006000344041706 30.011173121064285 20.673549566599853 0 0 0 +2040 677 7 0.41 24.771779730214305 31.052892411232182 21.2118082536882 0 0 0 +2149 714 6 -0.82 27.26916540537834 25.256869577369667 19.181944449203662 0 0 0 +2150 714 7 0.41 27.416744033211874 24.25326292730038 18.966713070113393 0 0 0 +2151 714 7 0.41 28.047329095197856 25.52799076331962 19.780722648579097 0 0 0 +2350 781 6 -0.82 26.62756590878848 27.47750378099494 17.827895184796102 0 0 0 +2351 781 7 0.41 25.774127540946136 27.27267903860286 17.281160525277876 0 0 0 +2352 781 7 0.41 26.82851491076284 26.592790527679156 18.33553384209668 0 0 0 +2488 827 6 -0.82 30.958388699319105 0.18785252320093637 16.67567243521044 0 1 0 +2489 827 7 0.41 30.538622544743752 0.7057300694821212 15.883697529365357 0 1 0 +2490 827 7 0.41 0.0032981982938899146 30.674682717476436 16.314740506902723 1 0 0 +2531 841 7 0.41 28.66040522629492 31.15925148886565 18.46312219142099 0 0 0 +2532 841 7 0.41 30.25238766563372 0.05016086280793175 18.391291127914847 0 1 0 +2752 915 6 -0.82 30.731262282787696 26.60587474044032 21.122304159000908 0 0 0 +2753 915 7 0.41 30.551480106370285 27.403269416673133 20.487628973051365 0 0 0 +2754 915 7 0.41 30.486522709487154 25.785442599587217 20.531527159062016 0 0 0 +2956 983 6 -0.82 25.614189338033704 25.74292392797777 22.775562864557735 0 0 0 +2957 983 7 0.41 25.32676369293011 24.973295436683152 23.38322785915107 0 0 0 +2958 983 7 0.41 26.628346569098593 25.873775934019488 22.820815538146196 0 0 0 +13 2 6 -0.82 7.310525833671674 5.8888297726104435 22.79235294137438 0 0 0 +31 8 6 -0.82 7.36898785829911 2.7982746544847106 25.965764278396563 0 0 0 +32 8 7 0.41 7.261545190253704 3.7900977731996295 25.68917338302805 0 0 0 +33 8 7 0.41 6.829172030158215 2.1806821277475112 25.33417051565855 0 0 0 +215 69 7 0.41 0.6459428718949786 4.7198062075392 28.681247593855765 0 0 0 +216 69 7 0.41 0.34487670153813504 5.083273462489758 30.317671713104808 0 0 0 +523 172 6 -0.82 1.412142682938836 1.8650499362919302 29.730585401886433 0 0 0 +524 172 7 0.41 1.1234651606397752 2.8556697344195285 29.641668097583175 0 0 0 +525 172 7 0.41 2.3615836188302475 1.7538151404582392 29.3198450115511 0 0 0 +547 180 6 -0.82 5.692045151571043 3.4218835613232614 27.949133500431998 0 0 0 +548 180 7 0.41 6.3114531433343775 3.2030338178707862 27.14617882082573 0 0 0 +549 180 7 0.41 5.039611872379647 4.183636687391068 27.693632105301475 0 0 0 +867 286 7 0.41 0.3576151361985808 0.9511626424713671 28.560708055321662 1 0 0 +962 318 7 0.41 7.046710284458683 3.350824371760757 28.905442498146783 0 0 0 +1069 354 6 -0.82 6.783717006720327 5.449309693429024 25.771623142224286 0 0 0 +1070 354 7 0.41 6.567388497058011 6.3916682717897375 26.128945775197494 0 0 0 +1071 354 7 0.41 6.00735465564033 5.144306345548413 25.15881184827122 0 0 0 +1126 373 6 -0.82 3.846223078495609 1.6657217554770472 28.781381088591175 0 0 0 +1127 373 7 0.41 4.627701101187103 2.2345451565475916 28.41358845709032 0 0 0 +1128 373 7 0.41 4.033459719638905 0.6653904560419632 28.626150701545566 0 0 0 +1216 403 6 -0.82 3.4543952220243592 0.35003772510169096 25.93920878163557 0 0 0 +1217 403 7 0.41 4.449211627461834 0.3431203327549504 25.696869708915113 0 0 0 +1218 403 7 0.41 3.047224777260651 30.76129948419922 25.84656009074928 0 -1 0 +1226 406 7 0.41 0.10345243001944607 7.367232367052741 28.76683878982693 0 0 0 +1336 443 6 -0.82 3.1971646219687453 7.476616198859462 25.488804614071878 0 0 0 +1337 443 7 0.41 2.7652762169530707 6.918168961690388 24.72904169407007 0 0 0 +1338 443 7 0.41 4.214330276290654 7.504849262360677 25.36725848008811 0 0 0 +1588 527 6 -0.82 1.0621594014304914 1.0018314575413214 24.253639389081876 0 0 0 +1589 527 7 0.41 0.2401342444684337 1.4560113634844223 24.678535307636114 0 0 0 +1590 527 7 0.41 1.3649880072761742 0.2391077703506654 24.8562475397546 0 0 0 +1627 540 6 -0.82 0.5673229747087126 3.918136763865281 23.96354720125946 0 0 0 +1628 540 7 0.41 31.29830059892368 3.7357585776583835 24.757439614089012 -1 0 0 +1794 595 7 0.41 4.137815913813439 31.03086964986911 22.82712810183765 0 0 0 +1957 650 6 -0.82 3.013125649120846 6.0703484120280855 30.273373229368648 0 0 0 +1958 650 7 0.41 2.1707564878380765 6.59586285984297 29.960261164448678 0 0 0 +1959 650 7 0.41 3.4477175043927017 5.710712678462383 29.415170247515093 0 0 0 +2143 712 6 -0.82 2.7904957981213148 4.096873376618831 0.8083804605385636 0 0 1 +2145 712 7 0.41 2.8533627711609473 3.373818645329369 0.082379874040256 0 0 1 +2182 725 6 -0.82 1.2176980312072028 4.756176979574378 27.061967868183 0 0 0 +2183 725 7 0.41 1.6929818954860198 4.008546687491041 26.52058550512337 0 0 0 +2184 725 7 0.41 0.6019268205000065 5.294264777351614 26.431085085289862 0 0 0 +2314 769 6 -0.82 3.76213100174272 5.407939420607381 27.660655525529908 0 0 0 +2315 769 7 0.41 2.8224709559546928 5.014668586828671 27.494847770861053 0 0 0 +2316 769 7 0.41 3.7429266573192654 6.336225928068078 27.225796882931135 0 0 0 +2471 821 7 0.41 6.698925949321653 0.63103388564791 23.889613285812672 0 0 0 +2578 857 6 -0.82 2.1787272161358295 6.010992410567773 23.31006983593512 0 0 0 +2580 857 7 0.41 1.6673980468673621 5.1801576603768 23.672526408885766 0 0 0 +2695 896 6 -0.82 4.743168595699168 4.214125639174053 24.449647784261415 0 0 0 +2696 896 7 0.41 4.789095589839865 3.659167702568563 23.592913859077814 0 0 0 +2697 896 7 0.41 3.9903498805701654 3.831556403393282 25.042762688108372 0 0 0 +2731 908 6 -0.82 2.6192285700825275 2.9002257019529174 25.728137571769093 0 0 0 +2732 908 7 0.41 1.9531561732192004 2.7812869078311073 24.954249335228397 0 0 0 +2733 908 7 0.41 2.947213896296895 1.9534645428815753 25.999083601749838 0 0 0 +2875 956 6 -0.82 7.981237673898079 6.274112544056985 29.133585979869682 0 0 0 +2876 956 7 0.41 7.585460235233875 6.0811206560470845 28.21289735706636 0 0 0 +2877 956 7 0.41 7.650479412533404 7.230454704755592 29.386733796439483 0 0 0 +2954 982 7 0.41 30.980292084076698 30.8447783796471 27.004549167799752 0 0 0 +3070 1021 6 -0.82 7.712460411133009 0.715567664602897 29.588795709825188 0 0 0 +3072 1021 7 0.41 7.127134433765137 0.3483211117966751 30.357675991643923 0 0 0 +15 2 7 0.41 7.783879865128729 6.613364608937908 23.373439054151742 0 0 0 +229 74 6 -0.82 10.709440055891644 2.9822049895544045 24.402162018786207 0 0 0 +230 74 7 0.41 10.467542254620023 2.990387043146876 25.404294322083654 0 0 0 +231 74 7 0.41 9.81952829441512 3.091300421960954 23.877867318821473 0 0 0 +241 78 6 -0.82 12.440194670052236 2.0833355811560024 29.54166137115923 0 0 0 +242 78 7 0.41 12.500522326103829 2.4996591015072553 28.60832046586908 0 0 0 +243 78 7 0.41 11.986701829342977 1.1706696385509952 29.474595749660843 0 0 0 +301 98 6 -0.82 11.682794813465001 6.075689770170976 28.768674640663402 0 0 0 +302 98 7 0.41 10.919784129891545 5.913761281094356 29.4209241949051 0 0 0 +303 98 7 0.41 12.395183392227496 6.593046254167565 29.31473781316945 0 0 0 +751 248 6 -0.82 13.08058034985168 2.888587813430295 26.780116348038113 0 0 0 +752 248 7 0.41 13.59422466274209 2.5843788565050696 25.93014933756611 0 0 0 +753 248 7 0.41 12.083618999910613 2.9022128202657584 26.55177891746572 0 0 0 +933 308 7 0.41 15.270732413423179 0.6942073182680716 30.20319815064287 0 0 0 +961 318 6 -0.82 7.92626894723792 3.4337967192124563 29.448790640941652 0 0 0 +963 318 7 0.41 8.098690139533298 4.435336863454213 29.567041903372665 0 0 0 +1117 370 6 -0.82 13.402774584780138 7.326563698080847 30.510759979401705 0 0 0 +1119 370 7 0.41 13.321892701515655 6.637157032233128 31.28918305805208 0 0 0 +2200 731 6 -0.82 14.261451471543243 5.7127890919040265 24.53377003018274 0 0 0 +2201 731 7 0.41 13.91638507360027 4.801843910376597 24.833520996532755 0 0 0 +2202 731 7 0.41 13.834746461042592 6.43842683865955 25.136172172273515 0 0 0 +2251 748 6 -0.82 14.70082846617832 2.2243842147423494 24.68960359868335 0 0 0 +2252 748 7 0.41 15.643182668302341 2.5061144671694984 25.02006503106413 0 0 0 +2253 748 7 0.41 14.869651941751167 1.4604300744734713 24.03417109941451 0 0 0 +2359 784 6 -0.82 9.890893575306896 2.8739665732836137 27.0995427305285 0 0 0 +2360 784 7 0.41 9.680280911125864 3.061646033838902 28.081867709841777 0 0 0 +2361 784 7 0.41 8.97820934355177 2.611212158254125 26.692161239753307 0 0 0 +2386 793 6 -0.82 13.216257587840506 7.812187485557511 25.95131495231186 0 0 0 +2387 793 7 0.41 12.34173761841809 7.257205158421438 26.043490483043325 0 0 0 +2719 904 6 -0.82 15.48160434521752 2.8369664975968782 28.04309382806217 0 0 0 +2720 904 7 0.41 15.490628103177057 3.715348756342519 28.583679169239364 0 0 0 +2721 904 7 0.41 14.557706971495353 2.793397451397405 27.580799305995413 0 0 0 +2767 920 6 -0.82 14.77046693249709 5.426100597841906 29.092591080091378 0 0 0 +2768 920 7 0.41 13.917270449518139 5.164664929652359 28.59405676498368 0 0 0 +2769 920 7 0.41 14.488301008721796 6.224492338569287 29.683942013115356 0 0 0 +2890 961 6 -0.82 11.0997614949381 6.158871576487266 26.046175586765386 0 0 0 +2891 961 7 0.41 10.125207090743338 5.927614976441519 25.85478432163519 0 0 0 +2892 961 7 0.41 11.2951038367232 6.04398691511962 27.052251144444448 0 0 0 +3071 1021 7 0.41 7.774787421946253 1.7431965966236354 29.6268950963215 0 0 0 +136 43 6 -0.82 20.512156708684742 3.231641161455139 24.284502987710926 0 0 0 +137 43 7 0.41 21.059154684087552 3.1256490013554825 23.410222515089846 0 0 0 +138 43 7 0.41 21.04986404644793 2.7168619062256942 25.001922991922928 0 0 0 +151 48 6 -0.82 22.09926381246929 1.5223738451056845 25.77429414995534 0 0 0 +152 48 7 0.41 21.7174941966898 0.5956868119073564 25.48625696695697 0 0 0 +153 48 7 0.41 23.08951650037399 1.5325101499629112 25.523017443244136 0 0 0 +157 50 6 -0.82 22.18884442612047 7.113436644380084 22.705548507382566 0 0 0 +158 50 7 0.41 21.435426155449942 7.091154173963424 23.399072543947213 0 0 0 +550 181 6 -0.82 19.638671329015207 5.498110071175315 23.123536778519544 0 0 0 +551 181 7 0.41 19.96902647895191 4.6434954864598605 23.63192574797631 0 0 0 +931 308 6 -0.82 15.41009315134156 0.3249344865504821 29.254884919250458 0 0 0 +932 308 7 0.41 15.538891381977674 1.1638904519199729 28.665017620228237 0 0 0 +940 311 6 -0.82 17.845080464647914 7.785028129043779 28.153853582927105 0 0 0 +941 311 7 0.41 18.41914549432465 6.994710538764947 27.821439978943374 0 0 0 +1009 334 6 -0.82 20.037853434556414 7.758497758542173 24.630432104163873 0 0 0 +1011 334 7 0.41 20.391394998658555 7.755960248381514 25.608751485812135 0 0 0 +1090 361 6 -0.82 16.959576113322235 6.4816813518996765 30.62799840075511 0 0 0 +1091 361 7 0.41 16.39275096899457 6.028115422543351 29.896514435631282 0 0 0 +1092 361 7 0.41 17.61502263849142 7.114073032237922 30.163433202131046 0 0 0 +1098 363 7 0.41 21.695615223057306 7.7019330038906055 30.668329269982657 0 0 0 +1174 389 6 -0.82 20.333798424424426 0.6718624699340524 27.763932931141415 0 0 0 +1175 389 7 0.41 20.94010874211619 1.1576432480330154 27.093273475685805 0 0 0 +1176 389 7 0.41 20.839048858212973 0.5975289372994247 28.650154079756923 0 0 0 +1198 397 6 -0.82 24.075580450222557 6.6433157981451085 30.082084286854283 0 0 0 +1199 397 7 0.41 23.672279225476732 6.978444644909942 29.196755819380304 0 0 0 +1200 397 7 0.41 23.30834269890202 6.4006953366797905 30.7278918894043 0 0 0 +1223 405 7 0.41 23.344300801273658 4.237647730636534 25.482169360580556 0 0 0 +1268 420 7 0.41 21.85865708761825 7.768563390190431 27.361532489671767 0 0 0 +1444 479 6 -0.82 17.135806098215575 5.586732607322349 25.67072214425783 0 0 0 +1445 479 7 0.41 16.377808575595786 6.06124610933448 25.180484081902765 0 0 0 +1446 479 7 0.41 16.95510308480708 4.572053816706288 25.672472115396875 0 0 0 +1495 496 6 -0.82 22.323092407217196 3.3191017924093726 29.591306010841098 0 0 0 +1496 496 7 0.41 22.137138570934937 2.3063626229594862 29.737794443980203 0 0 0 +1594 529 6 -0.82 22.39309063501693 4.628851656877089 26.956619987771564 0 0 0 +1595 529 7 0.41 22.746499130747452 5.572333088223412 27.162263413139527 0 0 0 +1596 529 7 0.41 22.318166997021983 4.069657308465479 27.817669343184704 0 0 0 +2056 683 6 -0.82 21.13555775717875 30.44493037519551 25.15392770168195 0 0 0 +2722 905 6 -0.82 17.073756114238368 2.801713329871404 25.80842679667605 0 0 0 +2723 905 7 0.41 18.055582660548286 2.5205467443267584 25.856240189961774 0 0 0 +2724 905 7 0.41 16.62488398874622 2.6878518941201994 26.737092612709976 0 0 0 +3043 1012 6 -0.82 19.47074132157282 5.74771415715433 27.057671606968164 0 0 0 +3044 1012 7 0.41 18.65754119636117 5.568137114682286 26.443595161636 0 0 0 +3045 1012 7 0.41 20.26039668216249 5.140848684865783 26.81993274810038 0 0 0 +58 17 6 -0.82 25.30588209824281 0.08589663261477846 26.53504402162171 0 0 0 +59 17 7 0.41 26.29715666397858 31.206340742456803 26.54575653527233 0 -1 0 +60 17 7 0.41 25.084445995072794 0.6302752109631128 25.687682626849508 0 0 0 +214 69 6 -0.82 0.3411325283337658 4.335666265326144 29.59513435729795 0 0 0 +226 73 6 -0.82 27.658218106809397 5.785097055359762 29.354724571965047 0 0 0 +228 73 7 0.41 27.308930232835674 5.210418972870143 30.15039238353991 0 0 0 +238 77 6 -0.82 25.624052010153463 5.832903129326719 26.812737483061117 0 0 0 +239 77 7 0.41 25.711092080014954 5.045530174172147 27.45995858926941 0 0 0 +240 77 7 0.41 26.527687815665594 6.05476577409219 26.357854799070715 0 0 0 +391 128 6 -0.82 30.45174615607468 2.351254646805837 25.857218299003453 0 0 0 +392 128 7 0.41 29.544442548469096 2.7741697653282316 26.10564145982606 0 0 0 +393 128 7 0.41 30.711747910319147 1.7928930121461029 26.684594295634756 0 0 0 +865 286 6 -0.82 30.770416762059657 0.8481033955020264 28.12998923175893 0 0 0 +866 286 7 0.41 30.236753630669387 1.532119411447209 28.704991252583202 0 0 0 +919 304 6 -0.82 24.82705943484481 4.179590118446872 29.052089119182376 0 0 0 +920 304 7 0.41 23.89033876029074 3.752533774530792 29.161512849125 0 0 0 +921 304 7 0.41 24.79775350826233 5.086887421477169 29.54140451700183 0 0 0 +1084 359 6 -0.82 30.731868076605878 6.2586425575732045 25.646729567539474 0 0 0 +1085 359 7 0.41 29.71690275746402 6.109921018188673 25.762260775564137 0 0 0 +1086 359 7 0.41 30.969976950061994 7.0859445676587445 26.194570068216457 0 0 0 +1222 405 6 -0.82 23.890816090567796 4.180326221202329 24.60303879962205 0 0 0 +1224 405 7 0.41 23.943347856893404 5.122879640672262 24.209590228220126 0 0 0 +1342 445 6 -0.82 24.743257811840156 1.6377165316755569 24.358710186586105 0 0 0 +1343 445 7 0.41 25.70210467713155 1.6366574781015646 23.969279355254418 0 0 0 +1344 445 7 0.41 24.434048360386456 2.628608564169197 24.43464501902772 0 0 0 +1855 616 6 -0.82 23.453921070163215 7.222213775563103 27.33821442994837 0 0 0 +1857 616 7 0.41 24.335715064553355 6.6890682740202685 27.150665870591286 0 0 0 +1873 622 6 -0.82 27.95223427204897 6.407522158931739 25.539468592829586 0 0 0 +1874 622 7 0.41 28.142445288188863 7.4124775611986635 25.37250370834173 0 0 0 +1875 622 7 0.41 27.647523457705354 6.033410278214204 24.626871571138096 0 0 0 +2071 688 6 -0.82 28.134172548923726 31.18789499013423 28.114779028899342 0 -1 0 +2072 688 7 0.41 29.10329254804763 0.17721952432504406 28.06967532357255 0 0 0 +2073 688 7 0.41 27.535840750097066 0.6170076897818189 28.431542925375577 0 0 0 +2086 693 6 -0.82 26.857516089808968 3.6909483882037146 24.31196620581747 0 0 0 +2087 693 7 0.41 25.918223104514848 4.092050549486544 24.42691536906122 0 0 0 +2101 698 6 -0.82 26.593348598734277 2.1512548768598307 28.745009428526917 0 0 0 +2102 698 7 0.41 25.946778189700993 2.9075395153071137 29.041905467871814 0 0 0 +2103 698 7 0.41 27.08480435240158 2.5445223134566266 27.92103458517961 0 0 0 +2452 815 6 -0.82 28.00103127476515 3.3278823577562355 26.752014082218807 0 0 0 +2453 815 7 0.41 27.554586035452395 3.3655677883927355 25.813427904974223 0 0 0 +2454 815 7 0.41 28.13123353350905 4.282445894753383 27.09304537954789 0 0 0 +2458 817 6 -0.82 29.79972773142295 7.226514157309544 28.33387895914905 0 0 0 +2459 817 7 0.41 29.13922297433764 6.491122725553025 28.634928936022288 0 0 0 +2513 835 7 0.41 26.48712423975579 5.059286774921119 1.044354445420901 0 0 0 +2725 906 6 -0.82 24.610240652189486 31.35027140783417 29.089532191507168 0 -1 0 +2726 906 7 0.41 25.312285182208413 0.7005386665477794 29.346028384530012 0 0 0 +2727 906 7 0.41 24.75036472404049 31.248994646889898 28.063814938809386 0 -1 0 +2863 952 6 -0.82 26.220233409115682 8.187490221244417 30.520089453469883 0 0 0 +2865 952 7 0.41 25.392357071761086 7.562303001444066 30.504118145879936 0 0 0 +2968 987 6 -0.82 29.6221752600442 2.651670742498874 29.673771403311793 0 0 0 +2969 987 7 0.41 30.37386912204781 3.368206371040284 29.71213458578995 0 0 0 +2970 987 7 0.41 28.730087167539235 3.0729043757272496 29.928766463391856 0 0 0 +2995 996 6 -0.82 27.08460394550786 0.8108531202160325 22.947382071811234 0 0 0 +178 57 6 -0.82 5.917863555985451 8.066251744650062 26.66507383529117 0 0 0 +179 57 7 0.41 6.410778853270693 8.951794724663332 26.73990102654604 0 0 0 +180 57 7 0.41 5.1135596856856464 8.135579668280526 27.322892362797557 0 0 0 +310 101 6 -0.82 5.625003416368575 11.811891963351504 30.0262625352349 0 0 0 +311 101 7 0.41 4.776145497640257 11.603494996830978 29.46290702166572 0 0 0 +312 101 7 0.41 5.745039485884293 12.833776988894897 29.993308653978588 0 0 0 +334 109 6 -0.82 3.1181799234192615 10.14034801366258 26.10857708822132 0 0 0 +335 109 7 0.41 3.0315826851132477 9.119529755295256 25.938370668752714 0 0 0 +336 109 7 0.41 3.424893656044598 10.591122074152468 25.243353170032808 0 0 0 +337 110 6 -0.82 7.015322162226456 8.692156697267892 29.8878909158174 0 0 0 +338 110 7 0.41 6.723177058280051 9.66946886645173 29.929020631688783 0 0 0 +619 204 6 -0.82 4.589001401278928 12.864275035776354 24.247290600333265 0 0 0 +620 204 7 0.41 5.33494241251935 13.13159871335752 24.911930940589926 0 0 0 +1225 406 6 -0.82 1.0591144315516074 7.564189700943293 29.110569372134783 0 0 0 +1227 406 7 0.41 1.0322181000580726 8.472582699897968 29.59733923880285 0 0 0 +1309 434 6 -0.82 1.8188481737480613 10.151784261524675 29.99350494931857 0 0 0 +1310 434 7 0.41 1.0744961968059323 10.841936528645196 30.10861762042906 0 0 0 +1311 434 7 0.41 2.5915440848769533 10.574168552709901 29.448400129549896 0 0 0 +1685 559 7 0.41 31.312115481273562 15.398985586183912 26.029727709821138 0 0 0 +1999 664 6 -0.82 3.594247536607235 14.202762819692495 27.001230415737854 0 0 0 +2000 664 7 0.41 4.469025941321547 13.768311564758955 26.655359731788682 0 0 0 +2001 664 7 0.41 2.8350635318181943 13.550397665332346 26.804000770052102 0 0 0 +2015 669 7 0.41 5.565942613638483 11.264218381643856 0.21025314065755443 0 0 0 +2116 703 6 -0.82 1.1803317032862235 12.332831079907354 27.545151010075777 0 0 0 +2117 703 7 0.41 1.1188061921060033 11.600774482990381 26.82925399141913 0 0 0 +2118 703 7 0.41 0.8046986628568997 13.210779405266381 27.133653576178137 0 0 0 +2119 704 6 -0.82 3.8367944003845795 8.222202137639576 28.441370538849146 0 0 0 +2120 704 7 0.41 3.9807638726726284 7.831587444160274 29.37358213820572 0 0 0 +2121 704 7 0.41 2.827626398719417 8.24082055481342 28.269697757731922 0 0 0 +2506 833 6 -0.82 5.421064364508523 14.44896557067149 29.200195411124852 0 0 0 +2507 833 7 0.41 6.205279277231452 14.827142618051793 28.64552222463645 0 0 0 +2508 833 7 0.41 4.683599522249075 14.186246048623898 28.539996915951676 0 0 0 +2620 871 6 -0.82 3.5715069111407836 11.485170283996824 28.386715115620518 0 0 0 +2621 871 7 0.41 2.69823340536343 12.008889604402091 28.201220814553146 0 0 0 +2622 871 7 0.41 3.6558831861319323 10.868738587152432 27.554517465312607 0 0 0 +3028 1007 6 -0.82 1.8816897565177233 12.549869740195314 24.47662492896064 0 0 0 +3029 1007 7 0.41 2.8752323112168243 12.840493913683956 24.38509646289265 0 0 0 +3030 1007 7 0.41 1.26019103753686 13.341721429527594 24.666889911970106 0 0 0 +3034 1009 6 -0.82 7.563418369347653 11.589858291793457 28.058002675223133 0 0 0 +3036 1009 7 0.41 6.927243364100586 11.632813325007161 28.87305975498458 0 0 0 +3046 1013 6 -0.82 6.116488260567222 13.281500275302646 26.43510527461144 0 0 0 +3047 1013 7 0.41 6.703675130698537 12.563397453055147 26.893724889311006 0 0 0 +3048 1013 7 0.41 6.497512572750492 14.199364137202059 26.730448606616164 0 0 0 +50 14 7 0.41 15.59988563333684 11.007338423080192 28.793294138412453 0 0 0 +210 67 7 0.41 9.59369444076205 10.535741493242371 23.903157689922637 0 0 0 +257 83 7 0.41 12.609105878859488 15.574948965583667 29.02226930217291 0 0 0 +297 96 7 0.41 8.821579634995114 16.900148284795783 25.26804773526774 0 0 0 +343 112 6 -0.82 13.846925114854821 14.614666143186236 24.950839705407997 0 0 0 +344 112 7 0.41 13.70896135929862 14.056607767110064 25.82047542679452 0 0 0 +345 112 7 0.41 14.323814008060156 13.97112118335293 24.312014041484744 0 0 0 +841 278 6 -0.82 15.692994209820982 8.791543728531792 26.24310818262241 0 0 0 +842 278 7 0.41 15.573036373344744 9.635698354372874 26.83101776362612 0 0 0 +843 278 7 0.41 14.781063644620879 8.305847680637626 26.267888011314497 0 0 0 +1021 338 6 -0.82 10.581647565907454 11.920509372492276 28.661226054385203 0 0 0 +1022 338 7 0.41 10.942410602655066 12.874964810970262 28.82574218460029 0 0 0 +1023 338 7 0.41 11.367926523286517 11.276959918119983 28.569637637727585 0 0 0 +1030 341 6 -0.82 10.08126431168452 10.811011738564272 25.61307358075849 0 0 0 +1031 341 7 0.41 9.349238104450071 10.405472023863686 26.201751904364684 0 0 0 +1032 341 7 0.41 10.19342105512082 11.807237988289298 25.88401497766272 0 0 0 +1054 349 6 -0.82 13.269530123279159 12.992500529714704 26.98023887517252 0 0 0 +1055 349 7 0.41 12.265682747395596 12.997909748360911 26.74633461955112 0 0 0 +1056 349 7 0.41 13.605328877409352 12.036440180940343 27.136239754007192 0 0 0 +1118 370 7 0.41 13.492830131021314 8.270858392978075 30.88824427599511 0 0 0 +1237 410 6 -0.82 14.390352642732037 8.807630289206315 23.284043968823152 0 0 0 +1348 447 6 -0.82 9.209369650709606 12.28207435088861 30.910928684757913 0 0 0 +1349 447 7 0.41 9.754934831446732 11.98976867630687 0.3762656213486595 0 0 1 +1350 447 7 0.41 9.732662170067078 12.035301036130356 30.057540062922115 0 0 0 +1476 489 7 0.41 14.863026464696993 10.497607221922436 0.3072415423317012 0 0 1 +1576 523 6 -0.82 12.798199376989478 10.348910213368569 25.212108041084477 0 0 0 +1577 523 7 0.41 11.77965555576942 10.51509095594887 25.23285301528201 0 0 0 +1578 523 7 0.41 13.261769579634253 11.079784702774246 24.661531707000165 0 0 0 +1804 599 6 -0.82 15.395205110974619 14.877668180563948 27.793954669970894 0 0 0 +1805 599 7 0.41 14.822491983322692 14.028239887846352 27.76820627905155 0 0 0 +2388 793 7 0.41 12.95607562641353 8.805617130979373 25.783657295421133 0 0 0 +2413 802 6 -0.82 10.642287079510757 13.480505825957014 25.969424465914067 0 0 0 +2414 802 7 0.41 10.874695531406221 13.915151041206611 25.06247813883239 0 0 0 +2415 802 7 0.41 9.920310176080886 14.089989545405254 26.36367803568776 0 0 0 +2629 874 6 -0.82 14.086424879852093 13.362245944238902 30.39407490296761 0 0 0 +2631 874 7 0.41 14.65271599573081 12.524659078761905 30.572580358439396 0 0 0 +3010 1001 6 -0.82 11.757622251746088 14.3074232109568 29.626983305019042 0 0 0 +3011 1001 7 0.41 12.663272269381602 13.856974568275254 29.892825121944718 0 0 0 +3012 1001 7 0.41 11.270631455939647 14.437734611325425 30.529915905686902 0 0 0 +3035 1009 7 0.41 8.528769126270888 11.691083907468958 28.38880558646172 0 0 0 +49 14 6 -0.82 15.284248835981405 10.975613423999176 27.823690482239268 0 0 0 +51 14 7 0.41 15.853770523251194 11.621364890669449 27.245926636114117 0 0 0 +247 80 6 -0.82 18.631515982346418 15.23765695731662 26.731812934660514 0 0 0 +249 80 7 0.41 18.477620374002054 15.716948784467244 25.829688254257913 0 0 0 +449 147 7 0.41 23.06990351753143 9.9858684750769 25.34198257401957 0 0 0 +457 150 6 -0.82 22.59908335595308 10.412758250665853 28.537368854339505 0 0 0 +458 150 7 0.41 22.105173011705826 9.703572064073212 29.113123666299646 0 0 0 +459 150 7 0.41 22.8141355941682 9.964090516345578 27.64116974832294 0 0 0 +942 311 7 0.41 17.05023719187671 7.903414362620774 27.513062431046176 0 0 0 +1010 334 7 0.41 19.137389305098125 8.255226267601152 24.646429926784624 0 0 0 +1045 346 6 -0.82 23.249016068302854 12.578783883560337 25.887461707109058 0 0 0 +1046 346 7 0.41 23.673991180967192 12.667676142385607 24.955127652267414 0 0 0 +1047 346 7 0.41 22.508735484163555 11.87523759263501 25.76262309321106 0 0 0 +1096 363 6 -0.82 21.53466012691664 8.597326169408163 30.20161693999669 0 0 0 +1097 363 7 0.41 21.594529791161204 9.356868373713473 30.901938091303343 0 0 0 +1112 368 7 0.41 21.150201832186557 13.527431773221565 23.543160173502514 0 0 0 +1267 420 6 -0.82 20.98570873269922 8.295872496684163 27.204680810454732 0 0 0 +1269 420 7 0.41 20.437336175256295 8.296935753646517 28.06240567705371 0 0 0 +1366 453 6 -0.82 17.89496650467675 9.62985700116231 24.594861718353897 0 0 0 +1367 453 7 0.41 16.953638351801008 9.266399533801863 24.800916422568168 0 0 0 +1368 453 7 0.41 18.220798332489597 9.926409844563523 25.544152080351278 0 0 0 +1450 481 6 -0.82 18.72617610742083 12.367013460429678 24.372634347346214 0 0 0 +1451 481 7 0.41 18.406843604406685 11.386252229134286 24.354261995907365 0 0 0 +1452 481 7 0.41 19.392267822469677 12.496235043023797 25.13761884554995 0 0 0 +1474 489 6 -0.82 15.51976735462898 11.147388690037667 31.199142087882407 0 0 0 +1499 497 7 0.41 17.57924409889311 13.490762692868662 23.240952484851388 0 0 0 +1726 573 6 -0.82 18.20268550470737 13.739983430910872 28.81400823761932 0 0 0 +1727 573 7 0.41 18.79893442614544 12.90401014139736 28.78890885577784 0 0 0 +1728 573 7 0.41 18.330870222499847 14.244911769285341 27.911366992050013 0 0 0 +1729 574 6 -0.82 21.606404553210357 10.647070991209487 24.718141560508904 0 0 0 +1730 574 7 0.41 21.40564673772159 11.198538325919044 23.877537385199414 0 0 0 +1731 574 7 0.41 21.07760183466606 9.771513830765848 24.70557037960506 0 0 0 +1806 599 7 0.41 16.230454570771734 14.692309655752787 27.233732591969694 0 0 0 +1816 603 6 -0.82 16.611449626030364 16.080950992793948 30.192013891900594 0 0 0 +1817 603 7 0.41 17.38554721671847 15.75518341083981 30.777184555844325 0 0 0 +1818 603 7 0.41 16.503459803414355 15.44361576536242 29.390043604224555 0 0 0 +1970 654 7 0.41 22.698068693295596 11.048780912857872 30.63207289183938 0 0 0 +1971 654 7 0.41 21.516213530068633 11.833840726739126 0.12747521631253808 0 0 1 +2161 718 6 -0.82 21.085046774142988 14.644516831311462 24.68415311100178 0 0 0 +2163 718 7 0.41 20.882612047956854 14.687387526871632 25.69427303130561 0 0 0 +2215 736 6 -0.82 19.738021476138925 15.36150674665519 30.315860684891902 0 0 0 +2216 736 7 0.41 19.889690275476188 16.19898037689155 29.732856165850176 0 0 0 +2217 736 7 0.41 19.109890639391192 14.744531152510053 29.76360337182307 0 0 0 +2270 754 7 0.41 23.36735067165343 15.520340608697676 30.19865718145788 0 0 0 +2308 767 6 -0.82 18.605450651055268 10.352508007777127 27.036315124441593 0 0 0 +2309 767 7 0.41 18.39965872939273 9.555362941218814 27.665579553525006 0 0 0 +2310 767 7 0.41 19.30252461597558 10.990237773478439 27.467009129866906 0 0 0 +2404 799 6 -0.82 21.744716720303924 14.264693397527596 27.331577770002664 0 0 0 +2405 799 7 0.41 22.372687768038205 13.620982344794454 26.813057163397456 0 0 0 +2406 799 7 0.41 22.272810843992346 14.682893546998656 28.129607031877747 0 0 0 +2482 825 6 -0.82 20.378409233302552 12.106052117807865 28.101678862671715 0 0 0 +2483 825 7 0.41 20.728475197952793 13.06601575686644 27.91541738267155 0 0 0 +2484 825 7 0.41 21.21859022914651 11.547231815571218 28.323226135201637 0 0 0 +2734 909 6 -0.82 20.683760751397124 13.154886332962482 0.14438058323346326 0 0 1 +2735 909 7 0.41 20.04075658864663 13.012649519616229 0.9233034921291698 0 0 1 +2736 909 7 0.41 20.46156789208354 14.051589805763733 31.02770952612932 0 0 0 +3061 1018 6 -0.82 16.374307359717637 12.581240380050929 25.92035435329785 0 0 0 +3062 1018 7 0.41 15.795625045131542 12.296947329024183 25.11850513802091 0 0 0 +3063 1018 7 0.41 17.31334740001946 12.783945122799201 25.568407710751437 0 0 0 +367 120 6 -0.82 30.768635533954296 14.734714965342357 30.730103739043532 0 0 0 +368 120 7 0.41 30.70918782530797 13.91545353601097 30.110455643840666 0 0 0 +369 120 7 0.41 30.168396643711407 14.561178934610824 0.20983774644013678 0 0 1 +448 147 6 -0.82 23.754094825940722 9.418617148707796 25.86911607691362 0 0 0 +450 147 7 0.41 24.698874973720784 9.853227644635117 25.842219963611257 0 0 0 +799 264 6 -0.82 28.378960838728343 9.335976674637655 29.349894160353394 0 0 0 +800 264 7 0.41 28.578868671995224 10.045492328561364 30.065478401200615 0 0 0 +801 264 7 0.41 27.51013914486896 8.851640858482792 29.6496277831989 0 0 0 +909 300 7 0.41 24.319380839888485 9.036686895476588 23.94860085777533 0 0 0 +970 321 6 -0.82 29.43264196237295 12.800187489506577 26.29031461649977 0 0 0 +971 321 7 0.41 28.751427007209568 13.071335512070322 27.01841173756599 0 0 0 +972 321 7 0.41 29.642003297212696 11.79408532705053 26.45755586909593 0 0 0 +1219 404 6 -0.82 26.148768518000793 10.536122513171861 25.52913930410919 0 0 0 +1220 404 7 0.41 27.001617781512337 10.051716652227817 25.236203464950076 0 0 0 +1221 404 7 0.41 26.28817725971486 11.535836317784097 25.343513606711163 0 0 0 +1256 416 7 0.41 24.32593611167921 15.638149288046499 26.74157795314284 0 0 0 +1300 431 6 -0.82 28.150710917160048 13.541693688854211 28.565909586555094 0 0 0 +1301 431 7 0.41 27.211737444150117 13.662469510918621 28.941020769453672 0 0 0 +1302 431 7 0.41 28.668299267747706 14.43884390175505 28.632961466276505 0 0 0 +1415 469 7 0.41 27.023271500375852 15.688440909833387 30.5076658089343 0 0 0 +1429 474 6 -0.82 24.682671747284676 11.989571653702901 29.312258335889418 0 0 0 +1430 474 7 0.41 24.8593007785794 12.75225463682713 28.648638377992395 0 0 0 +1431 474 7 0.41 23.93306995852279 11.391486720377486 28.923180576055668 0 0 0 +1612 535 6 -0.82 30.34259639738215 12.273473892454051 29.394883136942582 0 0 0 +1613 535 7 0.41 30.97738090185812 11.991924707431137 28.629670914447686 0 0 0 +1614 535 7 0.41 29.470645640851536 12.644719951750437 28.969364542456184 0 0 0 +1661 551 7 0.41 23.592468838064512 13.168050065112112 0.5966998131116864 0 0 1 +1662 551 7 0.41 24.986658687499972 12.274185342139827 0.6189760155169723 0 0 1 +1684 559 6 -0.82 0.2067087194346114 14.409915902520472 26.195975116535053 1 0 0 +1686 559 7 0.41 30.686564191240734 13.848165260904203 26.160092011536744 0 0 0 +1783 592 6 -0.82 25.135657200417292 13.998282333419112 27.425817898275383 0 0 0 +1784 592 7 0.41 25.92242034614157 14.410491643390626 26.898229319787855 0 0 0 +1785 592 7 0.41 24.62948096918847 13.377357650544164 26.773020300608543 0 0 0 +1856 616 7 0.41 23.567216147765564 8.059418289363139 26.731940994611033 0 0 0 +2170 721 6 -0.82 25.968537789458942 13.17846343756037 24.590066446552367 0 0 0 +2171 721 7 0.41 26.840225140671848 12.87238732804474 24.113614819366994 0 0 0 +2172 721 7 0.41 25.186866365146937 12.86959433954475 23.983303779210495 0 0 0 +2269 754 6 -0.82 23.31084409524478 15.207828896680303 29.21852622424097 0 0 0 +2271 754 7 0.41 24.206354474767437 14.843333176017621 28.881541579325344 0 0 0 +2460 817 7 0.41 29.381903499968058 8.106300616740818 28.675284768488098 0 0 0 +2599 864 6 -0.82 26.055654766153157 11.058484586254917 0.06852745331391363 0 0 1 +2600 864 7 0.41 27.08802094215961 11.112402179021183 0.026673239991193587 0 0 1 +2601 864 7 0.41 25.66272730096674 11.386009030279439 30.508253181191996 0 0 0 +2713 902 6 -0.82 29.80970468205103 10.270997335659676 26.99014010372752 0 0 0 +2714 902 7 0.41 29.29210716138801 9.953034566734397 27.821135320564686 0 0 0 +2715 902 7 0.41 29.596625433315975 9.649265217303448 26.207879500026763 0 0 0 +2848 947 6 -0.82 28.447666696686777 8.974722460563681 24.635033640669135 0 0 0 +2849 947 7 0.41 27.743169893543758 8.80034003142895 23.88714873289577 0 0 0 +2850 947 7 0.41 29.23246312991847 9.39265477259704 24.127773004818447 0 0 0 +2864 952 7 0.41 25.95309346423389 9.084694342469088 30.943617611089746 0 0 0 +2887 960 6 -0.82 28.050541279548764 11.84703770524576 23.444425497219694 0 0 0 +2917 970 6 -0.82 28.63526822167889 15.017776490831677 24.54013892399341 0 0 0 +2918 970 7 0.41 28.924609491975406 14.03618825879584 24.580495593326802 0 0 0 +2919 970 7 0.41 27.917491618548198 15.156738366825627 25.271094409025142 0 0 0 +82 25 6 -0.82 4.0894677004488535 16.407039805460855 25.486628554136864 0 0 0 +83 25 7 0.41 3.8026669777946633 15.570737853609398 26.020643082554137 0 0 0 +84 25 7 0.41 3.765345550959088 17.245415712937824 25.968053854805078 0 0 0 +235 76 6 -0.82 6.569314598096748 16.378816316863972 24.55619085006422 0 0 0 +236 76 7 0.41 6.541854635746821 16.937620904545994 23.692677986679293 0 0 0 +237 76 7 0.41 5.586214792615086 16.348740234464305 24.888162596964474 0 0 0 +259 84 6 -0.82 1.5197738947669346 19.24736156574025 25.326267336241052 0 0 0 +260 84 7 0.41 0.8544036258013167 19.749283991688 24.716392070117994 0 0 0 +261 84 7 0.41 1.0523683475491825 19.076083319380544 26.227740298698894 0 0 0 +352 115 6 -0.82 4.089289697984436 23.279528567162888 23.88218138286769 0 0 0 +353 115 7 0.41 4.048314778590962 23.8850709797191 23.068220417252014 0 0 0 +354 115 7 0.41 3.7203366903806314 22.366159515737564 23.55340471059546 0 0 0 +609 200 7 0.41 0.885204138170838 19.824386058401952 28.380018845209424 1 0 0 +622 205 6 -0.82 6.71186216388816 20.287557805846454 24.284876996788576 0 0 0 +623 205 7 0.41 6.424585850652087 19.319758246263884 24.420325246916736 0 0 0 +624 205 7 0.41 7.710169083939758 20.362976510162365 24.538155782485628 0 0 0 +736 243 6 -0.82 5.309997416974798 20.512607282851874 28.224155074388992 0 0 0 +737 243 7 0.41 4.3043755541242374 20.393691444479487 28.10101950142604 0 0 0 +738 243 7 0.41 5.547616807472264 21.323928875701046 27.627523951376727 0 0 0 +892 295 6 -0.82 7.401891599526502 17.1689980525711 30.640364023395236 0 0 0 +893 295 7 0.41 7.9031187447164655 16.28048803665889 30.840506570466992 0 0 0 +894 295 7 0.41 7.790638986220391 17.515109251385457 29.75605526541141 0 0 0 +1141 378 6 -0.82 3.1157343423792625 21.26594571557126 26.656104294615428 0 0 0 +1142 378 7 0.41 2.5911860317835687 20.595891717438167 26.08078764913588 0 0 0 +1143 378 7 0.41 3.8967011828268423 21.65448176881356 26.120510174331752 0 0 0 +1253 415 7 0.41 0.38463974421739017 22.75845642992756 25.72248975524102 1 0 0 +1258 417 6 -0.82 3.122597935936222 21.839218645599676 31.031836426444183 0 0 0 +1259 417 7 0.41 2.4504184888282925 22.404915065944635 30.51921452128992 0 0 0 +1260 417 7 0.41 2.944146378005921 20.83830420135425 30.84256375577001 0 0 0 +1276 423 6 -0.82 2.6267424259539567 19.1686226283668 30.48200113887821 0 0 0 +1277 423 7 0.41 3.452168517920185 18.569475896632948 30.450267269324105 0 0 0 +1278 423 7 0.41 1.8652884026933454 18.64536958684627 30.92468577334051 0 0 0 +1708 567 6 -0.82 6.9133989617707 20.604885506669635 30.403630912633055 0 0 0 +1709 567 7 0.41 7.224396710164344 21.55825284439457 30.108112354799076 0 0 0 +1710 567 7 0.41 6.27746216962344 20.297160190051567 29.64077747507235 0 0 0 +1966 653 6 -0.82 8.568698760564404 17.81018471193802 28.231978006289562 0 0 0 +1968 653 7 0.41 8.33147497067261 18.774675318950404 27.927557845820868 0 0 0 +2263 752 6 -0.82 7.089220924398976 15.619498734741152 27.260654738096783 0 0 0 +2264 752 7 0.41 7.627035448941349 16.35329225510303 27.747795105509066 0 0 0 +2265 752 7 0.41 7.092842281820148 15.867418699433715 26.260428126324477 0 0 0 +2275 756 6 -0.82 5.911282264099181 22.576306634758883 26.459624993142754 0 0 0 +2276 756 7 0.41 5.764198221153188 22.485267221677294 25.450145838219516 0 0 0 +2277 756 7 0.41 6.530331988511503 23.37548133995177 26.62938786366324 0 0 0 +2362 785 6 -0.82 4.627847718085052 16.660115119585882 30.661718808793765 0 0 0 +2364 785 7 0.41 4.880626854112 15.69515389885367 30.412219819190582 0 0 0 +2473 822 6 -0.82 0.22867755490991884 17.020820463833047 29.281872606851213 0 0 0 +2474 822 7 0.41 0.014351366157069962 16.298126803344218 29.9839276369966 0 0 0 +2475 822 7 0.41 1.2213172766881204 16.90137327515591 29.003405981196558 0 0 0 +2824 939 6 -0.82 2.758183248138843 16.46768681246943 28.57987811435475 0 0 0 +2825 939 7 0.41 2.96562136786537 15.605601390491266 28.056972924737998 0 0 0 +2826 939 7 0.41 3.484584511306892 16.62185478031651 29.292775280289316 0 0 0 +2882 958 7 0.41 0.49504078275087016 24.56735542825063 26.37264829682841 0 0 0 +3057 1016 7 0.41 2.4922323181628387 18.494350352266395 24.138245398681402 0 0 0 +25 6 6 -0.82 11.245476270738267 18.219613388161804 28.79880923662664 0 0 0 +26 6 7 0.41 12.034342656787416 17.56927309544426 28.66371817055809 0 0 0 +27 6 7 0.41 11.114149061297807 18.33569286673926 29.821446882561936 0 0 0 +256 83 6 -0.82 13.235268842539254 16.311023937062508 28.627204745611063 0 0 0 +258 83 7 0.41 14.10838002506649 15.821738668179265 28.33217182103443 0 0 0 +295 96 6 -0.82 9.429382418555939 16.079115796451077 25.22389268096187 0 0 0 +296 96 7 0.41 10.410933070083804 16.374440002940588 25.349100552568316 0 0 0 +316 103 6 -0.82 8.442541285918265 20.504262024399992 27.704956345522383 0 0 0 +317 103 7 0.41 8.863839481641183 20.856291646702005 28.58965417812789 0 0 0 +318 103 7 0.41 7.546870907509342 20.98048011142123 27.574745272140465 0 0 0 +394 129 6 -0.82 9.887795939858282 21.345804187360734 29.81596935282239 0 0 0 +395 129 7 0.41 10.784060536567567 21.221119362908752 29.33180845150649 0 0 0 +396 129 7 0.41 9.81132296143959 22.259397341592503 30.274654600608553 0 0 0 +427 140 6 -0.82 13.413219406033232 19.867054354089156 0.35365398760518296 0 0 1 +429 140 7 0.41 13.958038121785835 19.168193543713954 31.150321321715804 0 0 0 +652 215 6 -0.82 14.395114746467458 22.847610967285835 27.21225060721886 0 0 0 +653 215 7 0.41 13.871173405259873 22.380846396768888 27.957542426068855 0 0 0 +654 215 7 0.41 15.2265205514275 22.261832182358862 27.015632059555983 0 0 0 +694 229 6 -0.82 10.692416161067058 23.461119688389125 27.578064501485684 0 0 0 +695 229 7 0.41 10.64903209900425 22.444059137264933 27.711280057516145 0 0 0 +781 258 6 -0.82 11.971336590057458 16.466786915442903 26.059079083680437 0 0 0 +782 258 7 0.41 12.658855774006048 15.956362068302816 25.49940732612407 0 0 0 +783 258 7 0.41 11.99005013226762 16.116474608601912 27.015830025618182 0 0 0 +949 314 6 -0.82 15.135919605228525 20.32106525616817 28.74655586220882 0 0 0 +950 314 7 0.41 14.646295795263628 19.7253026397192 28.05871166818702 0 0 0 +951 314 7 0.41 15.422949509631218 19.71023525341348 29.51674435122852 0 0 0 +973 322 6 -0.82 14.627591618141077 17.954150714104195 30.32918503923632 0 0 0 +975 322 7 0.41 14.026454786137485 17.328390851323945 29.7731043600955 0 0 0 +1567 520 6 -0.82 12.151491774344393 22.881808334581567 24.468454272962735 0 0 0 +1568 520 7 0.41 11.793197229580022 23.177325919470782 25.38163116930431 0 0 0 +1569 520 7 0.41 12.891243412332875 23.564279828161624 24.183686282463547 0 0 0 +1672 555 6 -0.82 14.047972747733409 22.464897539063383 30.72096751955962 0 0 0 +1673 555 7 0.41 13.713422440061889 21.576773256100626 31.14137578925718 0 0 0 +1967 653 7 0.41 9.577377297130436 17.848188167214488 28.460747047607256 0 0 0 +2008 667 6 -0.82 12.368999219212274 19.282401657905254 24.594471422239398 0 0 0 +2009 667 7 0.41 12.14617011474475 18.351633917649085 24.228285968297733 0 0 0 +2010 667 7 0.41 12.460272759238839 19.913724336583506 23.78369156090961 0 0 0 +2026 673 6 -0.82 7.29092636712974 23.01866498883245 29.374801153387796 0 0 0 +2206 733 6 -0.82 13.951146208338036 18.664976646010867 26.811992460782086 0 0 0 +2207 733 7 0.41 13.525690749469474 17.79383248096459 27.14116647346895 0 0 0 +2208 733 7 0.41 13.444610154726917 18.92980341819126 25.94734597108371 0 0 0 +2407 800 6 -0.82 15.043783216723897 16.999880199171127 23.966804684722398 0 0 0 +2408 800 7 0.41 15.412409303998286 16.532605207416427 23.114881795484916 0 0 0 +2409 800 7 0.41 14.569214189312971 16.259259302585434 24.499905407345327 0 0 0 +2671 888 6 -0.82 9.283515826733629 19.82738628196923 25.121568812030205 0 0 0 +2672 888 7 0.41 9.067124918942044 20.025694032896737 26.110535816126514 0 0 0 +2673 888 7 0.41 10.282972150294995 19.64277691378691 25.0174960243638 0 0 0 +2677 890 6 -0.82 12.727236152722494 24.35338447019166 29.277740384325995 0 0 0 +2678 890 7 0.41 13.212188450551661 23.64087710350601 29.850625793245904 0 0 0 +2749 914 6 -0.82 15.365678594949346 21.484741321576447 24.31085766544905 0 0 0 +2750 914 7 0.41 14.446431314682378 21.908359605643057 24.447372512762435 0 0 0 +2751 914 7 0.41 16.064183552615027 22.215105394746306 24.474610960121463 0 0 0 +3001 998 6 -0.82 11.807886951932193 20.712965930329673 27.940956046264038 0 0 0 +3002 998 7 0.41 11.477936629810538 19.765937153051 28.21037505261102 0 0 0 +3003 998 7 0.41 12.437787334940378 20.576258166501777 27.15419891993179 0 0 0 +76 23 6 -0.82 17.479974387218384 19.830277101548468 31.095461839104466 0 0 0 +77 23 7 0.41 18.398139123018144 19.542995440578146 0.11650615496262932 0 0 1 +78 23 7 0.41 17.60081049563957 20.629042725120428 30.471713428413313 0 0 0 +79 24 6 -0.82 16.701528759932295 19.033029101153396 24.086202123474518 0 0 0 +80 24 7 0.41 16.025954776769424 18.23749928977851 24.109180914797033 0 0 0 +81 24 7 0.41 16.153926173195664 19.910023144759933 24.142472940253032 0 0 0 +248 80 7 0.41 18.964841130430642 15.957093317447466 27.397303396367327 0 0 0 +644 212 7 0.41 17.313855086658315 23.8107592766948 27.447514863214003 0 0 0 +974 322 7 0.41 15.550885164675327 17.49302916586353 30.35197927110844 0 0 0 +1012 335 6 -0.82 19.11334811437398 17.244693502171803 28.446507660074726 0 0 0 +1013 335 7 0.41 19.47901698184426 18.09543264526536 27.984755793928123 0 0 0 +1014 335 7 0.41 18.22438096206209 17.52385511475186 28.874112682689766 0 0 0 +1138 377 6 -0.82 19.20310186305147 19.764994943263716 27.497660565517695 0 0 0 +1139 377 7 0.41 19.338846461595512 20.60628846261075 28.092366323107548 0 0 0 +1140 377 7 0.41 18.207677718157868 19.503330607524827 27.451021814504195 0 0 0 +1195 396 6 -0.82 16.812347945136384 21.55757867317008 27.060937737263373 0 0 0 +1196 396 7 0.41 17.150305348591203 20.931032261075277 26.334685529131058 0 0 0 +1197 396 7 0.41 16.40149574507129 20.982416646295675 27.817276058683575 0 0 0 +1257 416 7 0.41 22.85357857118783 15.897769339282132 26.009894532367444 0 0 0 +1468 487 6 -0.82 17.31500539426045 22.8795742601569 30.24539879485595 0 0 0 +1570 521 6 -0.82 21.93591498563046 22.51089132775444 30.415332370774383 0 0 0 +1571 521 7 0.41 21.972877419241424 22.203668124482295 0.04704440276613116 0 0 1 +1572 521 7 0.41 22.03914961779901 23.53521354113581 30.388249457744617 0 0 0 +1648 547 6 -0.82 16.740931439860947 18.47613249013118 27.033735273749663 0 0 0 +1649 547 7 0.41 17.218623959959523 17.772904730694364 26.472728440331743 0 0 0 +1650 547 7 0.41 15.733897787930388 18.47394540201854 26.80574454098557 0 0 0 +1674 555 7 0.41 14.91870717376856 22.20402690524522 30.256099259663962 0 0 0 +1693 562 6 -0.82 22.61287304882049 19.02238884021032 30.921486703077502 0 0 0 +1694 562 7 0.41 22.94159027346511 19.981338123842406 30.782871807859156 0 0 0 +1695 562 7 0.41 22.86919912789976 18.447047066737515 30.114968463689333 0 0 0 +1747 580 6 -0.82 20.410123716709702 22.44938034679567 26.29332602167078 0 0 0 +1748 580 7 0.41 20.139133994583574 21.582318756560927 25.82153575349066 0 0 0 +1749 580 7 0.41 20.169727841149886 22.386679573578245 27.30561317517635 0 0 0 +1765 586 6 -0.82 22.965872554039297 20.344053183174527 26.232965783898393 0 0 0 +1766 586 7 0.41 22.066747029746725 20.316391545130703 25.728587462203244 0 0 0 +1767 586 7 0.41 22.934187215322872 21.08708007900508 26.949824416522492 0 0 0 +1858 617 6 -0.82 18.351105225949535 16.916832519081 24.6183514017649 0 0 0 +1859 617 7 0.41 19.158314590664272 16.86929239531536 23.96331048684176 0 0 0 +1860 617 7 0.41 17.766302048612655 17.721947273987432 24.34688301098122 0 0 0 +2053 682 6 -0.82 19.672053653650547 21.973118004933443 28.938781572699785 0 0 0 +2054 682 7 0.41 20.53923351499745 22.046423845169066 29.497142229119802 0 0 0 +2055 682 7 0.41 18.885123153923605 22.304755093741043 29.512285965009013 0 0 0 +2162 718 7 0.41 20.80803649180399 15.513338869537003 24.202086874987618 0 0 0 +2617 870 6 -0.82 21.113981633482574 19.93271066662317 24.212556876886172 0 0 0 +2618 870 7 0.41 20.2703226611758 19.974489572963936 23.618261993645934 0 0 0 +2619 870 7 0.41 21.69879486317848 19.164138760427335 23.89108522958081 0 0 0 +2806 933 6 -0.82 22.305696551509275 23.57662737468189 24.68653453621699 0 0 0 +2807 933 7 0.41 23.17420007443553 23.00903900013357 24.699983684780577 0 0 0 +2808 933 7 0.41 21.670554995299426 23.148732204016277 25.380488304029825 0 0 0 +133 42 6 -0.82 27.54634421744601 19.359865419467667 29.334592767949108 0 0 0 +134 42 7 0.41 28.347278395623455 19.686673292463635 29.906363617000526 0 0 0 +135 42 7 0.41 27.73769207865288 19.608019806609423 28.35788798788838 0 0 0 +357 116 7 0.41 29.501623276281258 24.004814459195625 31.05764090493689 0 0 0 +586 193 6 -0.82 30.385305859615716 16.880951078912496 25.72770211252475 0 0 0 +587 193 7 0.41 29.92343254099935 16.371978210941506 24.963333326425996 0 0 0 +588 193 7 0.41 30.46174620459325 17.86849453540773 25.492054634831085 0 0 0 +607 200 6 -0.82 0.129399938206209 19.40207430001092 27.835166778991255 1 0 0 +608 200 7 0.41 31.263095366744704 18.503179969813782 28.294663483912377 0 0 0 +662 218 7 0.41 31.099080085158107 21.16896488451568 24.514352478794038 0 0 0 +814 269 6 -0.82 24.23347215748937 18.000040640137527 28.679229363054326 0 0 0 +815 269 7 0.41 25.114107620367765 17.546271978718806 28.93127211722668 0 0 0 +816 269 7 0.41 23.785809402530216 17.45416798963998 27.93424168222077 0 0 0 +899 297 7 0.41 25.368446250626192 14.87010378160141 23.83955324668452 0 0 0 +985 326 6 -0.82 23.474558315005986 22.49467097913851 27.953883610788477 0 0 0 +986 326 7 0.41 23.30330545044827 22.149911080253013 28.90810126787669 0 0 0 +987 326 7 0.41 24.47038050059911 22.420298444450992 27.704108898388924 0 0 0 +1039 344 6 -0.82 26.89979496456703 15.919334753046273 26.46283641303054 0 0 0 +1040 344 7 0.41 27.050293067997984 16.896074624007436 26.15628617837545 0 0 0 +1041 344 7 0.41 26.87949675815098 16.022456283736606 27.48241145377424 0 0 0 +1094 362 7 0.41 25.56997937897981 19.49072149570284 23.769989206792587 0 0 0 +1252 415 6 -0.82 31.319564774348972 21.84592838882628 25.984658480556178 0 0 0 +1254 415 7 0.41 0.2890486539308843 21.61128554149484 26.92288348911542 1 0 0 +1255 416 6 -0.82 23.71977314790592 16.349762339296856 26.31846248367297 0 0 0 +1409 467 7 0.41 29.724686733177382 21.108240310853642 31.235604936456166 0 0 0 +1410 467 7 0.41 30.399155103297094 19.57627751454153 31.189269839034164 0 0 0 +1414 469 6 -0.82 27.010551090945043 15.03516262511363 31.310581816292842 0 0 0 +1416 469 7 0.41 26.404638508022522 15.442422569603622 0.6641087789923951 0 0 1 +1447 480 6 -0.82 28.978442979246857 23.425760325272904 24.359720146965127 0 0 0 +1448 480 7 0.41 29.6115552122533 24.16045325797235 24.005401154530233 0 0 0 +1449 480 7 0.41 28.366517231096818 23.08541891201782 23.598932755119552 0 0 0 +1696 563 6 -0.82 27.10849786237927 18.609089092986725 26.323765383248045 0 0 0 +1697 563 7 0.41 26.156611455679233 18.789884392650524 25.98201641293981 0 0 0 +1698 563 7 0.41 27.78135720299856 19.2061711527224 25.790309825463147 0 0 0 +1825 606 6 -0.82 26.09527195577365 22.666078088288863 26.963902646391542 0 0 0 +1826 606 7 0.41 26.971824670255387 22.13818335198152 27.037922319662748 0 0 0 +1827 606 7 0.41 26.305631310416878 23.654607207825304 26.750028672602184 0 0 0 +1852 615 6 -0.82 28.22140921277286 22.580355514108742 0.3398627798402827 0 0 1 +1854 615 7 0.41 27.73011870301407 21.68453471134366 0.4284239040205039 0 0 1 +1926 639 7 0.41 26.090000784101573 18.383915937792974 1.0088007642066923 0 0 0 +2025 672 7 0.41 27.04618956188132 23.567430130742693 28.791599185776636 0 0 0 +2050 681 6 -0.82 0.012843361657630226 22.031878469057062 29.089180012440046 1 0 0 +2051 681 7 0.41 30.729740344482064 21.233581882255244 29.02423961673571 0 0 0 +2052 681 7 0.41 0.07496629086897166 22.263030198445954 30.101700147897706 1 0 0 +2061 684 7 0.41 0.17738937536107532 23.56874260433455 28.432044914935503 1 0 0 +2185 726 6 -0.82 24.952009079717428 20.449823951932697 29.68684612811689 0 0 0 +2186 726 7 0.41 25.96853653077336 20.315513201089352 29.60710895852674 0 0 0 +2187 726 7 0.41 24.52559724114019 19.613208771206246 29.27430023486498 0 0 0 +2224 739 6 -0.82 24.56285871411875 18.54352877967663 25.02490010798943 0 0 0 +2225 739 7 0.41 23.969857914256295 19.24915187695984 25.503381762627917 0 0 0 +2226 739 7 0.41 24.372520825048753 17.65192687779986 25.519901181448713 0 0 0 +2329 774 6 -0.82 28.682052839798878 21.423185494649843 27.440880630277892 0 0 0 +2330 774 7 0.41 29.602127962252816 20.986778728142408 27.477425560085962 0 0 0 +2331 774 7 0.41 28.811673462593447 22.454562413718214 27.370696651037946 0 0 0 +2485 826 6 -0.82 24.48123373506718 22.080052667859817 24.83217687369975 0 0 0 +2486 826 7 0.41 23.947421381495783 21.319666027113943 25.277999110305583 0 0 0 +2487 826 7 0.41 25.24436027899944 22.334587360397055 25.478232486773344 0 0 0 +2539 844 6 -0.82 29.416561751257678 15.95662590753301 28.127708975219225 0 0 0 +2540 844 7 0.41 29.61721925073739 16.262970728940562 27.16291025964803 0 0 0 +2541 844 7 0.41 30.22227380812878 16.316806906308905 28.671281974622804 0 0 0 +2560 851 6 -0.82 27.099694706324225 16.72388712934942 29.136543834047608 0 0 0 +2561 851 7 0.41 27.17985751770688 17.74831365657646 29.30027863916371 0 0 0 +2562 851 7 0.41 28.043564873053395 16.456973375462827 28.785109355892104 0 0 0 +2581 858 6 -0.82 28.77410777603217 20.118746086434488 24.990146748441177 0 0 0 +2582 858 7 0.41 29.572432084908662 20.258650118491538 24.356121344995127 0 0 0 +2583 858 7 0.41 28.77071949378981 20.882801070823252 25.678060827473644 0 0 0 +28 7 6 -0.82 1.5637913945462405 26.812963965123487 27.603855284888223 0 0 0 +29 7 7 0.41 1.365619877047797 25.83234402461257 27.865546425887352 0 0 0 +30 7 7 0.41 2.2929347147368087 26.814468296360396 26.888248420302165 0 0 0 +154 49 6 -0.82 3.3377483208365106 24.330190454633154 27.22126618584078 0 0 0 +155 49 7 0.41 4.132531027385791 24.941676502723276 27.49545696896917 0 0 0 +156 49 7 0.41 3.563015861862517 23.38178071076985 27.524095739297717 0 0 0 +245 79 7 0.41 31.144064316642588 27.32305922422607 27.531687157660425 0 0 0 +268 87 6 -0.82 1.747665851001133 26.96910560247652 24.419085807121295 0 0 0 +269 87 7 0.41 1.3114465986431312 26.047672502779644 24.512477534617332 0 0 0 +270 87 7 0.41 2.4659923541154405 26.94533693965543 23.69305968826143 0 0 0 +348 113 7 0.41 6.431402718973032 25.948801064319547 23.46599628718752 0 0 0 +571 188 6 -0.82 6.241504249713226 27.54570947198982 31.165126677812772 0 0 0 +572 188 7 0.41 6.92016686184113 27.236220445791066 30.452222607358454 0 0 0 +573 188 7 0.41 5.533492142960336 26.793141477746815 31.2575992438257 0 0 0 +698 230 7 0.41 8.501848985567982 25.347217164194486 26.31875542517911 0 0 0 +895 296 6 -0.82 5.461954517205255 25.62030540193025 24.77473337897615 0 0 0 +896 296 7 0.41 4.881727741756333 24.771918683433867 24.78928713795208 0 0 0 +897 296 7 0.41 5.026906444690677 26.37229595398742 25.346053437129093 0 0 0 +1345 446 6 -0.82 6.484789096022783 29.47179944518414 24.752151372549857 0 0 0 +1346 446 7 0.41 6.910566791765192 30.241601363561223 24.231144925387323 0 0 0 +1347 446 7 0.41 7.2904634447205074 29.06015092244072 25.260180444022552 0 0 0 +1609 534 6 -0.82 3.7474389311815606 30.372387393783175 29.554804104117494 0 0 0 +1610 534 7 0.41 3.7078151011110285 30.960341309832643 30.383409384959286 0 0 0 +1611 534 7 0.41 3.116541780134574 29.560858063099968 29.659572798386606 0 0 0 +1750 581 6 -0.82 4.450721719887748 27.939266971666772 25.808099633962602 0 0 0 +1751 581 7 0.41 3.6165974353005432 28.55180466746966 25.766364583618483 0 0 0 +1752 581 7 0.41 5.270228439490806 28.500264839528388 25.51980045924875 0 0 0 +2027 673 7 0.41 6.641528175171581 23.7562277318586 29.112412726977237 0 0 0 +2059 684 6 -0.82 0.04620333116835986 24.573693527566792 28.205241489844006 1 0 0 +2089 694 6 -0.82 5.527982529855843 25.743244200156944 27.879190452059934 0 0 0 +2090 694 7 0.41 6.3442099049655845 25.60575002021576 27.27478771145826 0 0 0 +2091 694 7 0.41 5.54484181728561 26.704297685271772 28.221353768351737 0 0 0 +2176 723 6 -0.82 2.122605793370894 28.249351102209264 30.090687881085973 0 0 0 +2177 723 7 0.41 2.000129844800108 27.685954509105976 29.238205551339178 0 0 0 +2178 723 7 0.41 1.8745141524419602 27.70840704114138 30.929333621417335 0 0 0 +2494 829 6 -0.82 2.153053936741976 29.325159692515232 25.494717574934874 0 0 0 +2495 829 7 0.41 1.9674033246355025 28.380800391104227 25.082589262731446 0 0 0 +2496 829 7 0.41 1.26878723168161 29.587517586261402 25.966384669614293 0 0 0 +2881 958 6 -0.82 1.1324989486509651 24.269209492651665 25.62200048230847 0 0 0 +2883 958 7 0.41 2.068459098179619 24.221577832159248 26.065317778546987 0 0 0 +16 3 6 -0.82 14.657492671466487 26.894332734524816 25.73343944476979 0 0 0 +17 3 7 0.41 14.096730257512743 26.05082489567863 25.937451924552914 0 0 0 +18 3 7 0.41 14.452251686059713 27.556848362672937 26.487442511788238 0 0 0 +283 92 6 -0.82 12.229672815529254 30.180330536809585 26.48075372357307 0 0 0 +284 92 7 0.41 12.456593732679524 29.250059070663287 26.857511959502304 0 0 0 +285 92 7 0.41 12.784549067424239 30.360203381563647 25.653406490415026 0 0 0 +331 108 6 -0.82 9.490961088925424 24.048336934144807 30.714790037475098 0 0 0 +332 108 7 0.41 9.03850030084791 24.968714051213457 30.771306811244973 0 0 0 +358 117 6 -0.82 9.329206283253152 25.884909444249068 24.98622150882687 0 0 0 +359 117 7 0.41 9.159257725610578 25.125030701373618 24.312773072131428 0 0 0 +360 117 7 0.41 10.282903750332682 26.209557467998334 24.73086012005811 0 0 0 +454 149 6 -0.82 12.910308694058255 24.980086139293253 26.42353226936968 0 0 0 +455 149 7 0.41 12.078636393194497 24.921114224490875 27.022328218440162 0 0 0 +456 149 7 0.41 13.488483131590586 24.149383160521882 26.65260119253634 0 0 0 +499 164 6 -0.82 8.81092270962198 28.54503221943867 25.865144436836268 0 0 0 +500 164 7 0.41 9.040954021367101 27.573361300064946 25.6292938022803 0 0 0 +501 164 7 0.41 9.585939004134975 28.966320992538623 26.36915618412081 0 0 0 +696 229 7 0.41 11.252461368213298 23.86031813800938 28.35049663963909 0 0 0 +697 230 6 -0.82 8.12955584699373 24.797751316807467 27.11518770617636 0 0 0 +699 230 7 0.41 8.880421007219617 24.13468363641821 27.358867298972623 0 0 0 +862 285 6 -0.82 10.359069940491509 27.895270741791457 28.80476970754875 0 0 0 +863 285 7 0.41 10.050268485085867 28.85627131252096 29.057803082891834 0 0 0 +864 285 7 0.41 11.380111034393162 27.879957916577585 28.797932333012124 0 0 0 +871 288 6 -0.82 15.100625731280166 26.394523722586985 29.090331361574634 0 0 0 +872 288 7 0.41 15.730289846318087 25.63615772447177 28.78391762730191 0 0 0 +873 288 7 0.41 15.688891507350174 27.21379086379353 29.26680026664981 0 0 0 +976 323 6 -0.82 13.265738354518584 28.085066132096305 28.023086196841323 0 0 0 +977 323 7 0.41 13.192719465353575 28.932568817656144 28.61657746008379 0 0 0 +978 323 7 0.41 13.904152609521969 27.408921021367277 28.477334939572717 0 0 0 +1279 424 6 -0.82 11.841430337042409 26.439479305494462 24.3435205414746 0 0 0 +1280 424 7 0.41 12.213152859416024 25.9572901334144 25.18087318038268 0 0 0 +1282 425 6 -0.82 8.112509748082731 26.405430263668933 29.346371289806953 0 0 0 +1283 425 7 0.41 8.042114547488694 25.756596755215757 28.545955103076377 0 0 0 +1284 425 7 0.41 8.915137107155166 27.029710424457196 29.144910089974275 0 0 0 +1315 436 6 -0.82 12.927942118623731 30.53802072421958 29.070541555855606 0 0 0 +1316 436 7 0.41 13.836818056781993 31.031062407226575 29.07724313322947 0 0 0 +1317 436 7 0.41 12.46851484683056 30.64887669372871 28.151727407016335 0 0 0 +1537 510 6 -0.82 11.37869685477719 29.506596580997137 23.207120830381374 0 0 0 +1538 510 7 0.41 12.331030308879265 29.1370187831464 23.344975647816167 0 0 0 +1597 530 6 -0.82 9.644945401602266 30.27499992799565 29.746741965925708 0 0 0 +1598 530 7 0.41 9.874453724543342 30.387805791814685 30.72552597422074 0 0 0 +1599 530 7 0.41 8.897535024301266 30.96134150116901 29.509698945677805 0 0 0 +2002 665 6 -0.82 13.974151974025238 24.513503472141956 23.559907761681632 0 0 0 +2028 673 7 0.41 8.093334692257551 23.459536817539615 29.84386456182243 0 0 0 +2679 890 7 0.41 13.321424109474677 25.181905878487484 29.200189583985882 0 0 0 +2773 922 6 -0.82 13.765604950912655 28.17133024098266 23.511670460120783 0 0 0 +2774 922 7 0.41 14.39760959830052 28.817131910704973 22.999349672739882 0 0 0 +2775 922 7 0.41 14.30263324299512 27.744442167959136 24.288618396645933 0 0 0 +19 4 6 -0.82 21.777712108764614 27.875802463309828 24.327873646731128 0 0 0 +20 4 7 0.41 21.325005603366204 27.230429839629906 23.653563013413716 0 0 0 +21 4 7 0.41 22.687732709425852 28.11437799122542 23.891622832976513 0 0 0 +379 124 6 -0.82 22.12494061277199 0.6201984184221528 30.003048886765953 0 1 0 +380 124 7 0.41 23.049162802817115 0.3338635935269547 29.625924642427748 0 1 0 +381 124 7 0.41 21.79025445485998 31.173096330323773 30.58530353604028 0 0 0 +643 212 6 -0.82 16.61039120136253 24.370682257139478 27.943461292776853 0 0 0 +645 212 7 0.41 15.698661225107228 23.95698383847519 27.69844630245632 0 0 0 +1018 337 6 -0.82 18.132171512902882 26.576849207089367 29.019396829689214 0 0 0 +1019 337 7 0.41 17.570702659325246 27.438579950366478 28.98139237394032 0 0 0 +1020 337 7 0.41 17.862853389232143 25.941837130864304 28.26263252856465 0 0 0 +1210 401 6 -0.82 20.136835814045668 28.441903864946042 29.655904555442543 0 0 0 +1211 401 7 0.41 19.49594590041055 27.648347946443916 29.75110783250094 0 0 0 +1212 401 7 0.41 20.399309876844704 28.453908115928094 28.660823960970973 0 0 0 +1213 402 6 -0.82 17.136400134508452 24.272995586775316 24.812457165630676 0 0 0 +1214 402 7 0.41 16.40613216714822 24.838576070956194 25.24600312223719 0 0 0 +1215 402 7 0.41 16.95622343357174 24.2630794883709 23.79544092597778 0 0 0 +1357 450 6 -0.82 20.500052988683343 27.61569670962938 26.846315972973304 0 0 0 +1358 450 7 0.41 20.016917829395776 26.71330760917063 26.674198437716306 0 0 0 +1359 450 7 0.41 21.04913100545361 27.78237306138331 25.995283519950057 0 0 0 +1470 487 7 0.41 17.06959231804684 23.580737083148318 29.532094769232714 0 0 0 +1888 627 6 -0.82 15.923596367850354 30.0909022344666 25.300806754320675 0 0 0 +1889 627 7 0.41 16.40103868398042 30.70064009024447 24.64284974206953 0 0 0 +1890 627 7 0.41 16.43554959314924 29.992458549090536 26.17069961883919 0 0 0 +2057 683 7 0.41 20.529108944145115 30.33032857929061 25.965151642204884 0 0 0 +2058 683 7 0.41 21.42245547831826 29.51128460254545 24.817106833646086 0 0 0 +2095 696 6 -0.82 16.69494796135576 28.935213888948926 29.2611545488487 0 0 0 +2096 696 7 0.41 17.619950860785103 29.239113472676756 29.576469922115443 0 0 0 +2097 696 7 0.41 16.121345415201034 29.78634730987529 29.18509766812365 0 0 0 +2227 740 6 -0.82 22.00022206533074 25.30886918264111 30.379825307599553 0 0 0 +2228 740 7 0.41 21.42533705214069 25.71744617053545 29.65041574679886 0 0 0 +2229 740 7 0.41 22.984684613598446 25.30479506165638 30.036444987252313 0 0 0 +2248 747 6 -0.82 19.47115747933056 25.189049229154545 26.024422711810843 0 0 0 +2249 747 7 0.41 18.626355200549924 24.920550096276806 25.494179420478805 0 0 0 +2250 747 7 0.41 20.093571337824837 24.373031480651477 26.03769753594717 0 0 0 +2962 985 6 -0.82 23.635694428379246 25.870174128444123 25.247530014850327 0 0 0 +2963 985 7 0.41 23.06626049087144 25.029371322219227 25.04561050159143 0 0 0 +2964 985 7 0.41 23.05027215086898 26.692359870375917 25.06775203018919 0 0 0 +124 39 6 -0.82 24.95975045561451 28.576643847068045 29.329701932380956 0 0 0 +125 39 7 0.41 24.76323546155405 29.5865205077136 29.239388864932902 0 0 0 +126 39 7 0.41 24.17475623925069 28.08243581804817 29.7469867515084 0 0 0 +166 53 6 -0.82 30.708016713762138 29.249079416180173 23.23919445820786 0 0 0 +168 53 7 0.41 30.785301415182346 29.421184724522092 24.242699247333785 0 0 0 +244 79 6 -0.82 30.186512337077392 27.70886734248176 27.475099331236677 0 0 0 +246 79 7 0.41 29.6033827495541 27.19446916713841 26.79334780285543 0 0 0 +355 116 6 -0.82 29.623875153037112 24.818280307180313 30.44191172026656 0 0 0 +356 116 7 0.41 30.120787912658056 25.55071714270064 30.947909161013087 0 0 0 +532 175 6 -0.82 26.057769790622274 25.48314312863458 26.405788249523127 0 0 0 +533 175 7 0.41 26.236324545233106 26.152882213186935 27.1642592239395 0 0 0 +534 175 7 0.41 25.10315377791374 25.657717469633205 26.02565544140107 0 0 0 +658 217 6 -0.82 26.546598510306843 29.582246220140437 23.723233641820368 0 0 0 +659 217 7 0.41 26.886409084770406 29.463270373518547 24.702856817533107 0 0 0 +660 217 7 0.41 26.610341226701713 30.590037697878905 23.490804171140592 0 0 0 +1006 333 6 -0.82 27.453532540109048 29.32934869501228 26.221107462640198 0 0 0 +1007 333 7 0.41 27.300409137358958 28.47852392672422 26.766907857671608 0 0 0 +1008 333 7 0.41 27.860411452038587 30.02483836468255 26.866353538971165 0 0 0 +1477 490 6 -0.82 29.19984785499448 28.999401280749442 29.600896391768778 0 0 0 +1478 490 7 0.41 28.821670324237136 29.84671028049232 29.167510319537836 0 0 0 +1479 490 7 0.41 29.47119774089769 28.37476850410465 28.817136477036676 0 0 0 +1879 624 6 -0.82 28.73462173775217 24.02041780630339 26.905104534647887 0 0 0 +1880 624 7 0.41 28.832977459114765 25.02789756749528 26.77386431209195 0 0 0 +1881 624 7 0.41 28.812407584512943 23.640998853951707 25.942225082181558 0 0 0 +2023 672 6 -0.82 27.021473106839977 24.12431597274815 29.647059779262904 0 0 0 +2024 672 7 0.41 27.9216369675246 24.615841612419946 29.734045888700738 0 0 0 +2060 684 7 0.41 30.59374239449433 24.840625128031945 28.782382599763068 0 0 0 +2092 695 6 -0.82 30.54633791974049 25.54369197826272 23.565361435014598 0 0 0 +2093 695 7 0.41 30.628428380441775 26.02998837609922 22.655330692217373 0 0 0 +2094 695 7 0.41 30.380226389984646 26.217861419744906 24.308642877207085 0 0 0 +2260 751 6 -0.82 30.85851505121113 30.044330992117036 0.13780090054737257 0 0 1 +2261 751 7 0.41 30.22256002929568 29.62936266071286 30.78459504045442 0 0 0 +2262 751 7 0.41 0.4558720363523798 29.721007165645783 31.290384053737952 1 0 0 +2347 780 6 -0.82 24.365558372918077 24.939256145619424 29.26481984932807 0 0 0 +2348 780 7 0.41 25.356091314725067 24.767512141797344 29.493310965653105 0 0 0 +2349 780 7 0.41 24.05798536179728 24.230103816002917 28.589767383261055 0 0 0 +2575 856 6 -0.82 28.577887239763072 26.468883648552247 25.52291490683751 0 0 0 +2576 856 7 0.41 27.678507874233983 26.03421382307558 25.77855691214267 0 0 0 +2577 856 7 0.41 28.444953357582342 26.84145470941112 24.571000707494573 0 0 0 +2584 859 6 -0.82 27.0962957646382 27.337644510451774 28.209975251531148 0 0 0 +2585 859 7 0.41 26.244185493676444 27.804800724074557 28.577185032573286 0 0 0 +2586 859 7 0.41 27.7370598999726 27.258895563050686 29.002026004126982 0 0 0 +2953 982 6 -0.82 31.0856659831496 30.038897686804866 26.376698163571728 0 0 0 +2955 982 7 0.41 30.65288785144613 29.203937175338474 26.810363118077042 0 0 0 + +Velocities + +11 0 0 0 +339 0 0 0 +376 0 0 0 +377 0 0 0 +378 0 0 0 +511 0 0 0 +512 0 0 0 +513 0 0 0 +676 0 0 0 +677 0 0 0 +678 0 0 0 +691 0 0 0 +692 0 0 0 +693 0 0 0 +997 0 0 0 +998 0 0 0 +1120 0 0 0 +1121 0 0 0 +1122 0 0 0 +1144 0 0 0 +1145 0 0 0 +1146 0 0 0 +1482 0 0 0 +1714 0 0 0 +1715 0 0 0 +1716 0 0 0 +1798 0 0 0 +1799 0 0 0 +1800 0 0 0 +1822 0 0 0 +1823 0 0 0 +1824 0 0 0 +1891 0 0 0 +1892 0 0 0 +1893 0 0 0 +2021 0 0 0 +2029 0 0 0 +2144 0 0 0 +2668 0 0 0 +2669 0 0 0 +2670 0 0 0 +2878 0 0 0 +2879 0 0 0 +2880 0 0 0 +190 0 0 0 +191 0 0 0 +192 0 0 0 +349 0 0 0 +350 0 0 0 +351 0 0 0 +487 0 0 0 +488 0 0 0 +817 0 0 0 +818 0 0 0 +819 0 0 0 +999 0 0 0 +1042 0 0 0 +1043 0 0 0 +1044 0 0 0 +1204 0 0 0 +1205 0 0 0 +1206 0 0 0 +1209 0 0 0 +1405 0 0 0 +1406 0 0 0 +1407 0 0 0 +1528 0 0 0 +1529 0 0 0 +1530 0 0 0 +2113 0 0 0 +2114 0 0 0 +2115 0 0 0 +2218 0 0 0 +2219 0 0 0 +2220 0 0 0 +2839 0 0 0 +2840 0 0 0 +2841 0 0 0 +274 0 0 0 +275 0 0 0 +276 0 0 0 +305 0 0 0 +439 0 0 0 +440 0 0 0 +441 0 0 0 +489 0 0 0 +664 0 0 0 +665 0 0 0 +666 0 0 0 +868 0 0 0 +869 0 0 0 +870 0 0 0 +913 0 0 0 +914 0 0 0 +915 0 0 0 +1462 0 0 0 +1463 0 0 0 +1464 0 0 0 +1497 0 0 0 +1536 0 0 0 +1603 0 0 0 +1604 0 0 0 +1605 0 0 0 +1764 0 0 0 +1840 0 0 0 +1841 0 0 0 +1842 0 0 0 +1876 0 0 0 +1877 0 0 0 +1878 0 0 0 +1963 0 0 0 +1964 0 0 0 +1965 0 0 0 +2044 0 0 0 +2045 0 0 0 +2046 0 0 0 +2257 0 0 0 +2258 0 0 0 +2259 0 0 0 +2353 0 0 0 +2354 0 0 0 +2355 0 0 0 +2785 0 0 0 +2786 0 0 0 +2787 0 0 0 +10 0 0 0 +12 0 0 0 +227 0 0 0 +466 0 0 0 +467 0 0 0 +468 0 0 0 +766 0 0 0 +767 0 0 0 +768 0 0 0 +844 0 0 0 +845 0 0 0 +846 0 0 0 +901 0 0 0 +902 0 0 0 +903 0 0 0 +922 0 0 0 +923 0 0 0 +924 0 0 0 +955 0 0 0 +956 0 0 0 +957 0 0 0 +1156 0 0 0 +1157 0 0 0 +1158 0 0 0 +1180 0 0 0 +1181 0 0 0 +1182 0 0 0 +1480 0 0 0 +1481 0 0 0 +1513 0 0 0 +1514 0 0 0 +1515 0 0 0 +1654 0 0 0 +1655 0 0 0 +1656 0 0 0 +1762 0 0 0 +1763 0 0 0 +2020 0 0 0 +2022 0 0 0 +2032 0 0 0 +2033 0 0 0 +2034 0 0 0 +2191 0 0 0 +2192 0 0 0 +2193 0 0 0 +2293 0 0 0 +2334 0 0 0 +2512 0 0 0 +2514 0 0 0 +2554 0 0 0 +2555 0 0 0 +2556 0 0 0 +2614 0 0 0 +2615 0 0 0 +2616 0 0 0 +2660 0 0 0 +2830 0 0 0 +2831 0 0 0 +2832 0 0 0 +3064 0 0 0 +3065 0 0 0 +3066 0 0 0 +91 0 0 0 +92 0 0 0 +93 0 0 0 +139 0 0 0 +538 0 0 0 +539 0 0 0 +540 0 0 0 +603 0 0 0 +616 0 0 0 +617 0 0 0 +618 0 0 0 +934 0 0 0 +935 0 0 0 +936 0 0 0 +1027 0 0 0 +1028 0 0 0 +1029 0 0 0 +1078 0 0 0 +1079 0 0 0 +1080 0 0 0 +1159 0 0 0 +1160 0 0 0 +1161 0 0 0 +1459 0 0 0 +1460 0 0 0 +1461 0 0 0 +1493 0 0 0 +1564 0 0 0 +1565 0 0 0 +1566 0 0 0 +1741 0 0 0 +1742 0 0 0 +1743 0 0 0 +2014 0 0 0 +2016 0 0 0 +2305 0 0 0 +2306 0 0 0 +2461 0 0 0 +2462 0 0 0 +2463 0 0 0 +2500 0 0 0 +2501 0 0 0 +2502 0 0 0 +2518 0 0 0 +2519 0 0 0 +2520 0 0 0 +2797 0 0 0 +2798 0 0 0 +2799 0 0 0 +2899 0 0 0 +2900 0 0 0 +2901 0 0 0 +43 0 0 0 +45 0 0 0 +147 0 0 0 +160 0 0 0 +161 0 0 0 +162 0 0 0 +388 0 0 0 +389 0 0 0 +390 0 0 0 +505 0 0 0 +506 0 0 0 +507 0 0 0 +557 0 0 0 +569 0 0 0 +570 0 0 0 +1087 0 0 0 +1088 0 0 0 +1089 0 0 0 +1189 0 0 0 +1190 0 0 0 +1236 0 0 0 +1351 0 0 0 +1352 0 0 0 +1353 0 0 0 +1417 0 0 0 +1418 0 0 0 +1419 0 0 0 +1912 0 0 0 +1913 0 0 0 +1914 0 0 0 +1927 0 0 0 +1928 0 0 0 +1929 0 0 0 +2209 0 0 0 +2210 0 0 0 +2211 0 0 0 +2440 0 0 0 +2441 0 0 0 +2442 0 0 0 +2548 0 0 0 +2549 0 0 0 +2550 0 0 0 +2551 0 0 0 +2552 0 0 0 +2630 0 0 0 +2859 0 0 0 +44 0 0 0 +469 0 0 0 +470 0 0 0 +471 0 0 0 +703 0 0 0 +704 0 0 0 +705 0 0 0 +1234 0 0 0 +1235 0 0 0 +1390 0 0 0 +1391 0 0 0 +1392 0 0 0 +1475 0 0 0 +1558 0 0 0 +1573 0 0 0 +1574 0 0 0 +1575 0 0 0 +1906 0 0 0 +1907 0 0 0 +1908 0 0 0 +1918 0 0 0 +1919 0 0 0 +1920 0 0 0 +1969 0 0 0 +2245 0 0 0 +2246 0 0 0 +2247 0 0 0 +2392 0 0 0 +2393 0 0 0 +2394 0 0 0 +2812 0 0 0 +2813 0 0 0 +2814 0 0 0 +2902 0 0 0 +2903 0 0 0 +2904 0 0 0 +3016 0 0 0 +3017 0 0 0 +3018 0 0 0 +140 0 0 0 +141 0 0 0 +169 0 0 0 +170 0 0 0 +171 0 0 0 +196 0 0 0 +197 0 0 0 +198 0 0 0 +364 0 0 0 +365 0 0 0 +366 0 0 0 +433 0 0 0 +434 0 0 0 +435 0 0 0 +508 0 0 0 +509 0 0 0 +510 0 0 0 +561 0 0 0 +562 0 0 0 +563 0 0 0 +715 0 0 0 +716 0 0 0 +717 0 0 0 +721 0 0 0 +722 0 0 0 +723 0 0 0 +1123 0 0 0 +1124 0 0 0 +1125 0 0 0 +1294 0 0 0 +1295 0 0 0 +1296 0 0 0 +1560 0 0 0 +1660 0 0 0 +1882 0 0 0 +1883 0 0 0 +1884 0 0 0 +1915 0 0 0 +1916 0 0 0 +1917 0 0 0 +2018 0 0 0 +2019 0 0 0 +2188 0 0 0 +2189 0 0 0 +2190 0 0 0 +2332 0 0 0 +2333 0 0 0 +2371 0 0 0 +2372 0 0 0 +2373 0 0 0 +2419 0 0 0 +2420 0 0 0 +2659 0 0 0 +2661 0 0 0 +2680 0 0 0 +2681 0 0 0 +2682 0 0 0 +2794 0 0 0 +2795 0 0 0 +94 0 0 0 +95 0 0 0 +96 0 0 0 +193 0 0 0 +195 0 0 0 +250 0 0 0 +252 0 0 0 +502 0 0 0 +503 0 0 0 +504 0 0 0 +601 0 0 0 +602 0 0 0 +685 0 0 0 +686 0 0 0 +687 0 0 0 +745 0 0 0 +749 0 0 0 +803 0 0 0 +910 0 0 0 +911 0 0 0 +912 0 0 0 +1228 0 0 0 +1230 0 0 0 +1240 0 0 0 +1241 0 0 0 +1242 0 0 0 +1339 0 0 0 +1340 0 0 0 +1341 0 0 0 +1484 0 0 0 +1485 0 0 0 +1492 0 0 0 +1494 0 0 0 +1636 0 0 0 +1637 0 0 0 +1638 0 0 0 +1669 0 0 0 +1671 0 0 0 +1717 0 0 0 +1718 0 0 0 +2212 0 0 0 +2213 0 0 0 +2214 0 0 0 +2363 0 0 0 +2647 0 0 0 +2648 0 0 0 +2649 0 0 0 +2717 0 0 0 +2718 0 0 0 +2809 0 0 0 +2810 0 0 0 +34 0 0 0 +35 0 0 0 +36 0 0 0 +403 0 0 0 +404 0 0 0 +405 0 0 0 +428 0 0 0 +529 0 0 0 +531 0 0 0 +568 0 0 0 +574 0 0 0 +575 0 0 0 +576 0 0 0 +592 0 0 0 +593 0 0 0 +594 0 0 0 +596 0 0 0 +748 0 0 0 +750 0 0 0 +1003 0 0 0 +1004 0 0 0 +1005 0 0 0 +1191 0 0 0 +1330 0 0 0 +1420 0 0 0 +1421 0 0 0 +1422 0 0 0 +1483 0 0 0 +1642 0 0 0 +1643 0 0 0 +1644 0 0 0 +1670 0 0 0 +1681 0 0 0 +1682 0 0 0 +1683 0 0 0 +1702 0 0 0 +1703 0 0 0 +1719 0 0 0 +1866 0 0 0 +2065 0 0 0 +2311 0 0 0 +2478 0 0 0 +2606 0 0 0 +2710 0 0 0 +2711 0 0 0 +2712 0 0 0 +2857 0 0 0 +97 0 0 0 +99 0 0 0 +282 0 0 0 +313 0 0 0 +314 0 0 0 +315 0 0 0 +363 0 0 0 +385 0 0 0 +386 0 0 0 +387 0 0 0 +517 0 0 0 +518 0 0 0 +519 0 0 0 +553 0 0 0 +555 0 0 0 +964 0 0 0 +965 0 0 0 +966 0 0 0 +1108 0 0 0 +1109 0 0 0 +1110 0 0 0 +1332 0 0 0 +1469 0 0 0 +1559 0 0 0 +1639 0 0 0 +1640 0 0 0 +1641 0 0 0 +1704 0 0 0 +1720 0 0 0 +1721 0 0 0 +1722 0 0 0 +1960 0 0 0 +1961 0 0 0 +2122 0 0 0 +2123 0 0 0 +2124 0 0 0 +2326 0 0 0 +2327 0 0 0 +2328 0 0 0 +2779 0 0 0 +2780 0 0 0 +2781 0 0 0 +2858 0 0 0 +3025 0 0 0 +3026 0 0 0 +3027 0 0 0 +277 0 0 0 +278 0 0 0 +279 0 0 0 +322 0 0 0 +323 0 0 0 +324 0 0 0 +382 0 0 0 +383 0 0 0 +384 0 0 0 +409 0 0 0 +410 0 0 0 +411 0 0 0 +490 0 0 0 +491 0 0 0 +492 0 0 0 +544 0 0 0 +545 0 0 0 +546 0 0 0 +564 0 0 0 +746 0 0 0 +747 0 0 0 +808 0 0 0 +809 0 0 0 +810 0 0 0 +847 0 0 0 +848 0 0 0 +849 0 0 0 +1408 0 0 0 +1853 0 0 0 +1924 0 0 0 +1925 0 0 0 +1930 0 0 0 +1931 0 0 0 +1932 0 0 0 +2017 0 0 0 +2080 0 0 0 +2081 0 0 0 +2082 0 0 0 +2609 0 0 0 +2737 0 0 0 +2738 0 0 0 +2851 0 0 0 +2852 0 0 0 +2853 0 0 0 +2923 0 0 0 +2924 0 0 0 +2925 0 0 0 +181 0 0 0 +182 0 0 0 +183 0 0 0 +194 0 0 0 +251 0 0 0 +292 0 0 0 +293 0 0 0 +294 0 0 0 +478 0 0 0 +479 0 0 0 +480 0 0 0 +641 0 0 0 +802 0 0 0 +804 0 0 0 +937 0 0 0 +939 0 0 0 +1000 0 0 0 +1001 0 0 0 +1002 0 0 0 +1048 0 0 0 +1049 0 0 0 +1050 0 0 0 +1072 0 0 0 +1073 0 0 0 +1074 0 0 0 +1135 0 0 0 +1136 0 0 0 +1137 0 0 0 +1249 0 0 0 +1270 0 0 0 +1271 0 0 0 +1272 0 0 0 +1318 0 0 0 +1897 0 0 0 +1898 0 0 0 +1899 0 0 0 +2317 0 0 0 +2318 0 0 0 +2319 0 0 0 +2345 0 0 0 +2374 0 0 0 +2376 0 0 0 +2716 0 0 0 +2739 0 0 0 +3019 0 0 0 +3020 0 0 0 +3021 0 0 0 +3073 0 0 0 +3074 0 0 0 +3075 0 0 0 +333 0 0 0 +530 0 0 0 +595 0 0 0 +597 0 0 0 +832 0 0 0 +833 0 0 0 +834 0 0 0 +938 0 0 0 +1319 0 0 0 +1320 0 0 0 +1331 0 0 0 +1435 0 0 0 +1436 0 0 0 +1437 0 0 0 +1624 0 0 0 +1626 0 0 0 +1651 0 0 0 +1652 0 0 0 +1653 0 0 0 +1768 0 0 0 +1769 0 0 0 +1770 0 0 0 +1864 0 0 0 +1865 0 0 0 +1921 0 0 0 +1922 0 0 0 +1923 0 0 0 +2302 0 0 0 +2303 0 0 0 +2304 0 0 0 +2312 0 0 0 +2313 0 0 0 +2344 0 0 0 +2346 0 0 0 +2375 0 0 0 +2605 0 0 0 +2607 0 0 0 +2674 0 0 0 +2675 0 0 0 +2676 0 0 0 +2837 0 0 0 +3007 0 0 0 +3008 0 0 0 +3009 0 0 0 +3037 0 0 0 +3038 0 0 0 +3039 0 0 0 +22 0 0 0 +23 0 0 0 +24 0 0 0 +361 0 0 0 +362 0 0 0 +430 0 0 0 +431 0 0 0 +432 0 0 0 +554 0 0 0 +925 0 0 0 +926 0 0 0 +927 0 0 0 +1534 0 0 0 +1535 0 0 0 +1591 0 0 0 +1592 0 0 0 +1593 0 0 0 +1706 0 0 0 +1962 0 0 0 +2644 0 0 0 +2645 0 0 0 +2646 0 0 0 +2764 0 0 0 +2765 0 0 0 +2766 0 0 0 +2836 0 0 0 +2838 0 0 0 +2950 0 0 0 +2951 0 0 0 +2952 0 0 0 +2987 0 0 0 +2989 0 0 0 +2990 0 0 0 +2991 0 0 0 +673 0 0 0 +674 0 0 0 +675 0 0 0 +700 0 0 0 +701 0 0 0 +702 0 0 0 +1231 0 0 0 +1232 0 0 0 +1233 0 0 0 +1303 0 0 0 +1304 0 0 0 +1305 0 0 0 +1365 0 0 0 +1657 0 0 0 +1658 0 0 0 +1659 0 0 0 +1744 0 0 0 +1745 0 0 0 +1746 0 0 0 +1756 0 0 0 +1757 0 0 0 +1758 0 0 0 +1813 0 0 0 +1814 0 0 0 +1815 0 0 0 +1942 0 0 0 +1943 0 0 0 +1944 0 0 0 +2294 0 0 0 +2295 0 0 0 +2338 0 0 0 +2339 0 0 0 +2340 0 0 0 +2534 0 0 0 +2650 0 0 0 +2651 0 0 0 +2652 0 0 0 +2986 0 0 0 +2988 0 0 0 +37 0 0 0 +38 0 0 0 +39 0 0 0 +640 0 0 0 +727 0 0 0 +728 0 0 0 +729 0 0 0 +1531 0 0 0 +1532 0 0 0 +1533 0 0 0 +1810 0 0 0 +1834 0 0 0 +1835 0 0 0 +1836 0 0 0 +1902 0 0 0 +1954 0 0 0 +1955 0 0 0 +1956 0 0 0 +2011 0 0 0 +2012 0 0 0 +2013 0 0 0 +2030 0 0 0 +2031 0 0 0 +2167 0 0 0 +2168 0 0 0 +2169 0 0 0 +2563 0 0 0 +2564 0 0 0 +2565 0 0 0 +2932 0 0 0 +2933 0 0 0 +2934 0 0 0 +266 0 0 0 +451 0 0 0 +452 0 0 0 +453 0 0 0 +583 0 0 0 +584 0 0 0 +585 0 0 0 +655 0 0 0 +656 0 0 0 +657 0 0 0 +793 0 0 0 +794 0 0 0 +795 0 0 0 +850 0 0 0 +851 0 0 0 +852 0 0 0 +979 0 0 0 +980 0 0 0 +981 0 0 0 +1024 0 0 0 +1025 0 0 0 +1026 0 0 0 +1105 0 0 0 +1106 0 0 0 +1107 0 0 0 +1207 0 0 0 +1208 0 0 0 +1801 0 0 0 +1802 0 0 0 +1803 0 0 0 +1811 0 0 0 +1812 0 0 0 +2140 0 0 0 +2141 0 0 0 +2142 0 0 0 +2197 0 0 0 +2199 0 0 0 +2429 0 0 0 +2479 0 0 0 +2480 0 0 0 +2632 0 0 0 +2633 0 0 0 +2634 0 0 0 +2782 0 0 0 +2784 0 0 0 +2913 0 0 0 +202 0 0 0 +203 0 0 0 +204 0 0 0 +265 0 0 0 +304 0 0 0 +306 0 0 0 +472 0 0 0 +473 0 0 0 +474 0 0 0 +481 0 0 0 +482 0 0 0 +483 0 0 0 +598 0 0 0 +599 0 0 0 +600 0 0 0 +627 0 0 0 +706 0 0 0 +707 0 0 0 +708 0 0 0 +812 0 0 0 +943 0 0 0 +944 0 0 0 +945 0 0 0 +1033 0 0 0 +1034 0 0 0 +1035 0 0 0 +1129 0 0 0 +1131 0 0 0 +1147 0 0 0 +1148 0 0 0 +1149 0 0 0 +1150 0 0 0 +1151 0 0 0 +1152 0 0 0 +1183 0 0 0 +1184 0 0 0 +1185 0 0 0 +1243 0 0 0 +1244 0 0 0 +1245 0 0 0 +1543 0 0 0 +1545 0 0 0 +1546 0 0 0 +1548 0 0 0 +1701 0 0 0 +1753 0 0 0 +1754 0 0 0 +1755 0 0 0 +1975 0 0 0 +1976 0 0 0 +1977 0 0 0 +2198 0 0 0 +2320 0 0 0 +2321 0 0 0 +2322 0 0 0 +2821 0 0 0 +2822 0 0 0 +2823 0 0 0 +2912 0 0 0 +3052 0 0 0 +3053 0 0 0 +3054 0 0 0 +3058 0 0 0 +3059 0 0 0 +3060 0 0 0 +646 0 0 0 +647 0 0 0 +648 0 0 0 +760 0 0 0 +761 0 0 0 +762 0 0 0 +1081 0 0 0 +1082 0 0 0 +1083 0 0 0 +1102 0 0 0 +1103 0 0 0 +1104 0 0 0 +1375 0 0 0 +1376 0 0 0 +1377 0 0 0 +1887 0 0 0 +1900 0 0 0 +1901 0 0 0 +1938 0 0 0 +1984 0 0 0 +1985 0 0 0 +1986 0 0 0 +2035 0 0 0 +2036 0 0 0 +2037 0 0 0 +2381 0 0 0 +2383 0 0 0 +2384 0 0 0 +2385 0 0 0 +2455 0 0 0 +2456 0 0 0 +2457 0 0 0 +2464 0 0 0 +2465 0 0 0 +2466 0 0 0 +2509 0 0 0 +2510 0 0 0 +2511 0 0 0 +2692 0 0 0 +2693 0 0 0 +2694 0 0 0 +2971 0 0 0 +2972 0 0 0 +2973 0 0 0 +3022 0 0 0 +3024 0 0 0 +3031 0 0 0 +3032 0 0 0 +3033 0 0 0 +67 0 0 0 +68 0 0 0 +69 0 0 0 +421 0 0 0 +422 0 0 0 +423 0 0 0 +684 0 0 0 +758 0 0 0 +1381 0 0 0 +1383 0 0 0 +1440 0 0 0 +1553 0 0 0 +1666 0 0 0 +1667 0 0 0 +1668 0 0 0 +1870 0 0 0 +1871 0 0 0 +1872 0 0 0 +1936 0 0 0 +2307 0 0 0 +2378 0 0 0 +2783 0 0 0 +2869 0 0 0 +2870 0 0 0 +2871 0 0 0 +1 0 0 0 +2 0 0 0 +3 0 0 0 +4 0 0 0 +145 0 0 0 +146 0 0 0 +374 0 0 0 +589 0 0 0 +590 0 0 0 +638 0 0 0 +1382 0 0 0 +1455 0 0 0 +1471 0 0 0 +1472 0 0 0 +1473 0 0 0 +1552 0 0 0 +1554 0 0 0 +1905 0 0 0 +2083 0 0 0 +2084 0 0 0 +2085 0 0 0 +2274 0 0 0 +2491 0 0 0 +2492 0 0 0 +2493 0 0 0 +2553 0 0 0 +2662 0 0 0 +2663 0 0 0 +2664 0 0 0 +2761 0 0 0 +2762 0 0 0 +2763 0 0 0 +7 0 0 0 +142 0 0 0 +143 0 0 0 +144 0 0 0 +232 0 0 0 +233 0 0 0 +340 0 0 0 +341 0 0 0 +342 0 0 0 +418 0 0 0 +419 0 0 0 +420 0 0 0 +560 0 0 0 +591 0 0 0 +625 0 0 0 +626 0 0 0 +637 0 0 0 +639 0 0 0 +778 0 0 0 +779 0 0 0 +780 0 0 0 +813 0 0 0 +1130 0 0 0 +1171 0 0 0 +1172 0 0 0 +1173 0 0 0 +1306 0 0 0 +1307 0 0 0 +1308 0 0 0 +1540 0 0 0 +1541 0 0 0 +1542 0 0 0 +1771 0 0 0 +1772 0 0 0 +1773 0 0 0 +2242 0 0 0 +2243 0 0 0 +2244 0 0 0 +2367 0 0 0 +2591 0 0 0 +2635 0 0 0 +2636 0 0 0 +2637 0 0 0 +2911 0 0 0 +559 0 0 0 +790 0 0 0 +791 0 0 0 +792 0 0 0 +967 0 0 0 +968 0 0 0 +969 0 0 0 +1291 0 0 0 +1292 0 0 0 +1293 0 0 0 +1372 0 0 0 +1373 0 0 0 +1374 0 0 0 +1441 0 0 0 +1442 0 0 0 +1443 0 0 0 +1563 0 0 0 +1579 0 0 0 +1580 0 0 0 +1581 0 0 0 +1885 0 0 0 +1886 0 0 0 +1937 0 0 0 +2180 0 0 0 +2181 0 0 0 +2287 0 0 0 +2288 0 0 0 +2289 0 0 0 +2365 0 0 0 +2366 0 0 0 +2395 0 0 0 +2396 0 0 0 +2397 0 0 0 +2421 0 0 0 +2590 0 0 0 +2592 0 0 0 +2758 0 0 0 +2759 0 0 0 +2760 0 0 0 +2796 0 0 0 +2977 0 0 0 +2978 0 0 0 +2979 0 0 0 +2982 0 0 0 +3081 0 0 0 +205 0 0 0 +207 0 0 0 +263 0 0 0 +319 0 0 0 +320 0 0 0 +321 0 0 0 +400 0 0 0 +401 0 0 0 +402 0 0 0 +436 0 0 0 +437 0 0 0 +438 0 0 0 +565 0 0 0 +566 0 0 0 +567 0 0 0 +805 0 0 0 +807 0 0 0 +958 0 0 0 +959 0 0 0 +1153 0 0 0 +1154 0 0 0 +1155 0 0 0 +1229 0 0 0 +1438 0 0 0 +1439 0 0 0 +1675 0 0 0 +1676 0 0 0 +1677 0 0 0 +1678 0 0 0 +1679 0 0 0 +1723 0 0 0 +1867 0 0 0 +1868 0 0 0 +1869 0 0 0 +1991 0 0 0 +1992 0 0 0 +2164 0 0 0 +2165 0 0 0 +2166 0 0 0 +2203 0 0 0 +2204 0 0 0 +2205 0 0 0 +2283 0 0 0 +2335 0 0 0 +2336 0 0 0 +2337 0 0 0 +2389 0 0 0 +2390 0 0 0 +2391 0 0 0 +2398 0 0 0 +2399 0 0 0 +2400 0 0 0 +2689 0 0 0 +2690 0 0 0 +2691 0 0 0 +2811 0 0 0 +2980 0 0 0 +9 0 0 0 +206 0 0 0 +328 0 0 0 +329 0 0 0 +373 0 0 0 +375 0 0 0 +463 0 0 0 +464 0 0 0 +465 0 0 0 +556 0 0 0 +558 0 0 0 +757 0 0 0 +759 0 0 0 +787 0 0 0 +789 0 0 0 +796 0 0 0 +797 0 0 0 +798 0 0 0 +820 0 0 0 +822 0 0 0 +823 0 0 0 +824 0 0 0 +838 0 0 0 +839 0 0 0 +840 0 0 0 +946 0 0 0 +947 0 0 0 +948 0 0 0 +1289 0 0 0 +1333 0 0 0 +1334 0 0 0 +1335 0 0 0 +1453 0 0 0 +1454 0 0 0 +1680 0 0 0 +1774 0 0 0 +1775 0 0 0 +1776 0 0 0 +1948 0 0 0 +1949 0 0 0 +1950 0 0 0 +2066 0 0 0 +2067 0 0 0 +2272 0 0 0 +2273 0 0 0 +2476 0 0 0 +2477 0 0 0 +2522 0 0 0 +2593 0 0 0 +2594 0 0 0 +2728 0 0 0 +2729 0 0 0 +2730 0 0 0 +2872 0 0 0 +2873 0 0 0 +2874 0 0 0 +2965 0 0 0 +2966 0 0 0 +2967 0 0 0 +98 0 0 0 +184 0 0 0 +185 0 0 0 +186 0 0 0 +234 0 0 0 +280 0 0 0 +281 0 0 0 +527 0 0 0 +528 0 0 0 +739 0 0 0 +740 0 0 0 +741 0 0 0 +769 0 0 0 +770 0 0 0 +771 0 0 0 +772 0 0 0 +774 0 0 0 +821 0 0 0 +1246 0 0 0 +1247 0 0 0 +1248 0 0 0 +1261 0 0 0 +1262 0 0 0 +1263 0 0 0 +1600 0 0 0 +1601 0 0 0 +1602 0 0 0 +1707 0 0 0 +1759 0 0 0 +1760 0 0 0 +1761 0 0 0 +2278 0 0 0 +2279 0 0 0 +2280 0 0 0 +2285 0 0 0 +2342 0 0 0 +2343 0 0 0 +2521 0 0 0 +2523 0 0 0 +2557 0 0 0 +2558 0 0 0 +2559 0 0 0 +2596 0 0 0 +2597 0 0 0 +2598 0 0 0 +2746 0 0 0 +2747 0 0 0 +2748 0 0 0 +2815 0 0 0 +2816 0 0 0 +2817 0 0 0 +2833 0 0 0 +2834 0 0 0 +2893 0 0 0 +2894 0 0 0 +2895 0 0 0 +74 0 0 0 +86 0 0 0 +148 0 0 0 +149 0 0 0 +150 0 0 0 +177 0 0 0 +262 0 0 0 +264 0 0 0 +628 0 0 0 +629 0 0 0 +630 0 0 0 +649 0 0 0 +650 0 0 0 +651 0 0 0 +826 0 0 0 +828 0 0 0 +886 0 0 0 +991 0 0 0 +992 0 0 0 +993 0 0 0 +1187 0 0 0 +1401 0 0 0 +1561 0 0 0 +1562 0 0 0 +1796 0 0 0 +1987 0 0 0 +1988 0 0 0 +1989 0 0 0 +2041 0 0 0 +2042 0 0 0 +2043 0 0 0 +2125 0 0 0 +2127 0 0 0 +2179 0 0 0 +2254 0 0 0 +2255 0 0 0 +2281 0 0 0 +2282 0 0 0 +2341 0 0 0 +2434 0 0 0 +2435 0 0 0 +2436 0 0 0 +2608 0 0 0 +2610 0 0 0 +2623 0 0 0 +2624 0 0 0 +2625 0 0 0 +2743 0 0 0 +2744 0 0 0 +2745 0 0 0 +2835 0 0 0 +2938 0 0 0 +2939 0 0 0 +2940 0 0 0 +2981 0 0 0 +3079 0 0 0 +3080 0 0 0 +307 0 0 0 +308 0 0 0 +309 0 0 0 +642 0 0 0 +916 0 0 0 +917 0 0 0 +918 0 0 0 +1192 0 0 0 +1193 0 0 0 +1194 0 0 0 +1250 0 0 0 +1251 0 0 0 +1273 0 0 0 +1274 0 0 0 +1275 0 0 0 +1312 0 0 0 +1313 0 0 0 +1314 0 0 0 +1321 0 0 0 +1322 0 0 0 +1323 0 0 0 +1725 0 0 0 +1733 0 0 0 +1807 0 0 0 +1808 0 0 0 +1809 0 0 0 +1945 0 0 0 +1946 0 0 0 +1980 0 0 0 +1990 0 0 0 +2048 0 0 0 +2299 0 0 0 +2300 0 0 0 +2301 0 0 0 +2866 0 0 0 +2867 0 0 0 +2868 0 0 0 +40 0 0 0 +41 0 0 0 +42 0 0 0 +115 0 0 0 +116 0 0 0 +117 0 0 0 +127 0 0 0 +129 0 0 0 +217 0 0 0 +218 0 0 0 +219 0 0 0 +330 0 0 0 +709 0 0 0 +710 0 0 0 +711 0 0 0 +825 0 0 0 +1516 0 0 0 +1517 0 0 0 +1518 0 0 0 +1625 0 0 0 +1732 0 0 0 +1734 0 0 0 +1978 0 0 0 +1979 0 0 0 +2611 0 0 0 +2612 0 0 0 +2613 0 0 0 +2688 0 0 0 +2707 0 0 0 +2708 0 0 0 +2709 0 0 0 +2842 0 0 0 +2843 0 0 0 +2844 0 0 0 +2845 0 0 0 +2846 0 0 0 +2847 0 0 0 +2914 0 0 0 +2915 0 0 0 +2916 0 0 0 +2944 0 0 0 +2945 0 0 0 +2946 0 0 0 +128 0 0 0 +445 0 0 0 +446 0 0 0 +447 0 0 0 +496 0 0 0 +498 0 0 0 +526 0 0 0 +712 0 0 0 +713 0 0 0 +714 0 0 0 +775 0 0 0 +776 0 0 0 +777 0 0 0 +784 0 0 0 +785 0 0 0 +786 0 0 0 +835 0 0 0 +836 0 0 0 +837 0 0 0 +1066 0 0 0 +1067 0 0 0 +1068 0 0 0 +1354 0 0 0 +1355 0 0 0 +1356 0 0 0 +1378 0 0 0 +1379 0 0 0 +1380 0 0 0 +1699 0 0 0 +1705 0 0 0 +1843 0 0 0 +1844 0 0 0 +1845 0 0 0 +1933 0 0 0 +1934 0 0 0 +1935 0 0 0 +1951 0 0 0 +1952 0 0 0 +1953 0 0 0 +2077 0 0 0 +2079 0 0 0 +2368 0 0 0 +2369 0 0 0 +2370 0 0 0 +2416 0 0 0 +2417 0 0 0 +2418 0 0 0 +2544 0 0 0 +2587 0 0 0 +2588 0 0 0 +2589 0 0 0 +3067 0 0 0 +3068 0 0 0 +3069 0 0 0 +73 0 0 0 +75 0 0 0 +109 0 0 0 +111 0 0 0 +175 0 0 0 +176 0 0 0 +253 0 0 0 +255 0 0 0 +497 0 0 0 +667 0 0 0 +668 0 0 0 +669 0 0 0 +688 0 0 0 +689 0 0 0 +690 0 0 0 +1015 0 0 0 +1016 0 0 0 +1017 0 0 0 +1360 0 0 0 +1361 0 0 0 +1362 0 0 0 +1363 0 0 0 +1364 0 0 0 +1700 0 0 0 +1795 0 0 0 +1797 0 0 0 +1972 0 0 0 +1973 0 0 0 +1974 0 0 0 +2078 0 0 0 +2126 0 0 0 +2134 0 0 0 +2135 0 0 0 +2136 0 0 0 +2256 0 0 0 +2503 0 0 0 +2504 0 0 0 +2505 0 0 0 +2533 0 0 0 +2535 0 0 0 +2665 0 0 0 +2666 0 0 0 +2667 0 0 0 +2896 0 0 0 +2897 0 0 0 +2898 0 0 0 +3049 0 0 0 +3050 0 0 0 +3051 0 0 0 +14 0 0 0 +55 0 0 0 +211 0 0 0 +212 0 0 0 +213 0 0 0 +515 0 0 0 +535 0 0 0 +537 0 0 0 +720 0 0 0 +1062 0 0 0 +1328 0 0 0 +1329 0 0 0 +1393 0 0 0 +1394 0 0 0 +1395 0 0 0 +1423 0 0 0 +1424 0 0 0 +1425 0 0 0 +1549 0 0 0 +1550 0 0 0 +1551 0 0 0 +1629 0 0 0 +1711 0 0 0 +1712 0 0 0 +1713 0 0 0 +1777 0 0 0 +1778 0 0 0 +1779 0 0 0 +2152 0 0 0 +2153 0 0 0 +2154 0 0 0 +2173 0 0 0 +2174 0 0 0 +2175 0 0 0 +2233 0 0 0 +2234 0 0 0 +2235 0 0 0 +2401 0 0 0 +2402 0 0 0 +2403 0 0 0 +2446 0 0 0 +2447 0 0 0 +2448 0 0 0 +2470 0 0 0 +2472 0 0 0 +2579 0 0 0 +2638 0 0 0 +2639 0 0 0 +2640 0 0 0 +2854 0 0 0 +2855 0 0 0 +2856 0 0 0 +56 0 0 0 +397 0 0 0 +460 0 0 0 +461 0 0 0 +462 0 0 0 +514 0 0 0 +516 0 0 0 +536 0 0 0 +605 0 0 0 +1051 0 0 0 +1052 0 0 0 +1053 0 0 0 +1099 0 0 0 +1100 0 0 0 +1101 0 0 0 +1177 0 0 0 +1178 0 0 0 +1179 0 0 0 +1298 0 0 0 +1606 0 0 0 +1607 0 0 0 +1608 0 0 0 +1615 0 0 0 +1616 0 0 0 +1617 0 0 0 +1786 0 0 0 +1787 0 0 0 +1788 0 0 0 +1819 0 0 0 +1820 0 0 0 +1821 0 0 0 +2107 0 0 0 +2108 0 0 0 +2109 0 0 0 +2158 0 0 0 +2159 0 0 0 +2160 0 0 0 +2221 0 0 0 +2222 0 0 0 +2223 0 0 0 +2266 0 0 0 +2267 0 0 0 +2268 0 0 0 +2428 0 0 0 +2430 0 0 0 +2467 0 0 0 +2468 0 0 0 +2469 0 0 0 +2481 0 0 0 +2536 0 0 0 +2538 0 0 0 +2653 0 0 0 +2654 0 0 0 +2655 0 0 0 +2656 0 0 0 +2657 0 0 0 +2658 0 0 0 +2937 0 0 0 +3004 0 0 0 +3005 0 0 0 +3006 0 0 0 +103 0 0 0 +104 0 0 0 +105 0 0 0 +159 0 0 0 +267 0 0 0 +298 0 0 0 +299 0 0 0 +300 0 0 0 +520 0 0 0 +521 0 0 0 +522 0 0 0 +552 0 0 0 +763 0 0 0 +764 0 0 0 +765 0 0 0 +811 0 0 0 +877 0 0 0 +878 0 0 0 +879 0 0 0 +890 0 0 0 +1134 0 0 0 +1297 0 0 0 +1299 0 0 0 +1465 0 0 0 +1466 0 0 0 +1467 0 0 0 +1544 0 0 0 +1547 0 0 0 +1630 0 0 0 +1631 0 0 0 +1632 0 0 0 +1789 0 0 0 +1790 0 0 0 +1791 0 0 0 +1894 0 0 0 +1895 0 0 0 +1896 0 0 0 +2155 0 0 0 +2156 0 0 0 +2537 0 0 0 +2770 0 0 0 +2771 0 0 0 +2772 0 0 0 +2935 0 0 0 +2936 0 0 0 +52 0 0 0 +53 0 0 0 +54 0 0 0 +130 0 0 0 +131 0 0 0 +132 0 0 0 +187 0 0 0 +188 0 0 0 +189 0 0 0 +199 0 0 0 +200 0 0 0 +201 0 0 0 +412 0 0 0 +413 0 0 0 +414 0 0 0 +493 0 0 0 +494 0 0 0 +495 0 0 0 +889 0 0 0 +891 0 0 0 +1132 0 0 0 +1133 0 0 0 +1486 0 0 0 +1487 0 0 0 +1488 0 0 0 +1501 0 0 0 +1502 0 0 0 +1503 0 0 0 +1909 0 0 0 +1910 0 0 0 +1911 0 0 0 +2088 0 0 0 +2137 0 0 0 +2138 0 0 0 +2139 0 0 0 +2380 0 0 0 +2382 0 0 0 +2530 0 0 0 +2996 0 0 0 +2997 0 0 0 +3023 0 0 0 +415 0 0 0 +416 0 0 0 +417 0 0 0 +577 0 0 0 +578 0 0 0 +621 0 0 0 +682 0 0 0 +683 0 0 0 +719 0 0 0 +730 0 0 0 +904 0 0 0 +905 0 0 0 +906 0 0 0 +982 0 0 0 +983 0 0 0 +984 0 0 0 +1060 0 0 0 +1061 0 0 0 +1165 0 0 0 +1166 0 0 0 +1167 0 0 0 +1201 0 0 0 +1202 0 0 0 +1203 0 0 0 +1327 0 0 0 +1369 0 0 0 +1370 0 0 0 +1371 0 0 0 +1505 0 0 0 +1849 0 0 0 +1850 0 0 0 +1851 0 0 0 +2064 0 0 0 +2290 0 0 0 +2291 0 0 0 +2292 0 0 0 +2377 0 0 0 +2379 0 0 0 +2432 0 0 0 +2433 0 0 0 +2545 0 0 0 +2546 0 0 0 +2547 0 0 0 +2602 0 0 0 +2603 0 0 0 +2604 0 0 0 +2683 0 0 0 +2684 0 0 0 +2685 0 0 0 +2755 0 0 0 +2756 0 0 0 +2757 0 0 0 +2800 0 0 0 +2801 0 0 0 +2802 0 0 0 +2906 0 0 0 +3042 0 0 0 +57 0 0 0 +100 0 0 0 +101 0 0 0 +102 0 0 0 +208 0 0 0 +209 0 0 0 +223 0 0 0 +224 0 0 0 +225 0 0 0 +679 0 0 0 +680 0 0 0 +681 0 0 0 +1075 0 0 0 +1076 0 0 0 +1077 0 0 0 +1238 0 0 0 +1239 0 0 0 +1489 0 0 0 +1490 0 0 0 +1491 0 0 0 +1510 0 0 0 +1511 0 0 0 +1512 0 0 0 +1582 0 0 0 +1583 0 0 0 +1584 0 0 0 +1738 0 0 0 +1739 0 0 0 +1740 0 0 0 +1846 0 0 0 +1847 0 0 0 +1848 0 0 0 +1903 0 0 0 +1904 0 0 0 +2098 0 0 0 +2099 0 0 0 +2100 0 0 0 +2239 0 0 0 +2240 0 0 0 +2241 0 0 0 +2323 0 0 0 +2324 0 0 0 +2325 0 0 0 +2515 0 0 0 +2516 0 0 0 +2517 0 0 0 +2701 0 0 0 +2702 0 0 0 +2703 0 0 0 +2827 0 0 0 +2828 0 0 0 +2829 0 0 0 +2884 0 0 0 +2885 0 0 0 +2886 0 0 0 +2974 0 0 0 +2975 0 0 0 +2976 0 0 0 +2999 0 0 0 +3040 0 0 0 +3041 0 0 0 +6 0 0 0 +112 0 0 0 +113 0 0 0 +114 0 0 0 +121 0 0 0 +122 0 0 0 +123 0 0 0 +859 0 0 0 +860 0 0 0 +861 0 0 0 +907 0 0 0 +908 0 0 0 +1036 0 0 0 +1037 0 0 0 +1038 0 0 0 +1111 0 0 0 +1113 0 0 0 +1498 0 0 0 +1500 0 0 0 +1527 0 0 0 +2074 0 0 0 +2075 0 0 0 +2076 0 0 0 +2157 0 0 0 +2194 0 0 0 +2195 0 0 0 +2196 0 0 0 +2449 0 0 0 +2450 0 0 0 +2451 0 0 0 +2992 0 0 0 +2993 0 0 0 +2994 0 0 0 +3013 0 0 0 +3014 0 0 0 +3015 0 0 0 +47 0 0 0 +325 0 0 0 +326 0 0 0 +327 0 0 0 +370 0 0 0 +371 0 0 0 +372 0 0 0 +718 0 0 0 +898 0 0 0 +900 0 0 0 +1162 0 0 0 +1163 0 0 0 +1164 0 0 0 +1264 0 0 0 +1265 0 0 0 +1266 0 0 0 +1396 0 0 0 +1397 0 0 0 +1398 0 0 0 +1526 0 0 0 +1646 0 0 0 +1647 0 0 0 +1861 0 0 0 +1862 0 0 0 +1863 0 0 0 +2062 0 0 0 +2063 0 0 0 +2146 0 0 0 +2147 0 0 0 +2148 0 0 0 +2236 0 0 0 +2237 0 0 0 +2238 0 0 0 +2296 0 0 0 +2297 0 0 0 +2298 0 0 0 +2425 0 0 0 +2426 0 0 0 +2427 0 0 0 +2431 0 0 0 +2443 0 0 0 +2444 0 0 0 +2445 0 0 0 +2497 0 0 0 +2498 0 0 0 +2499 0 0 0 +2626 0 0 0 +2627 0 0 0 +2628 0 0 0 +2641 0 0 0 +2642 0 0 0 +2643 0 0 0 +2888 0 0 0 +2889 0 0 0 +2941 0 0 0 +2942 0 0 0 +2943 0 0 0 +3076 0 0 0 +3077 0 0 0 +3078 0 0 0 +61 0 0 0 +62 0 0 0 +63 0 0 0 +64 0 0 0 +65 0 0 0 +66 0 0 0 +579 0 0 0 +610 0 0 0 +611 0 0 0 +612 0 0 0 +631 0 0 0 +632 0 0 0 +633 0 0 0 +661 0 0 0 +724 0 0 0 +725 0 0 0 +726 0 0 0 +731 0 0 0 +732 0 0 0 +742 0 0 0 +743 0 0 0 +744 0 0 0 +806 0 0 0 +829 0 0 0 +830 0 0 0 +831 0 0 0 +960 0 0 0 +1057 0 0 0 +1058 0 0 0 +1059 0 0 0 +1504 0 0 0 +1506 0 0 0 +1724 0 0 0 +1735 0 0 0 +1736 0 0 0 +1737 0 0 0 +2068 0 0 0 +2069 0 0 0 +2070 0 0 0 +2698 0 0 0 +2699 0 0 0 +2818 0 0 0 +2819 0 0 0 +2820 0 0 0 +2860 0 0 0 +2861 0 0 0 +2862 0 0 0 +2905 0 0 0 +2907 0 0 0 +2908 0 0 0 +2909 0 0 0 +2910 0 0 0 +3055 0 0 0 +3056 0 0 0 +89 0 0 0 +286 0 0 0 +287 0 0 0 +288 0 0 0 +484 0 0 0 +485 0 0 0 +486 0 0 0 +580 0 0 0 +581 0 0 0 +582 0 0 0 +788 0 0 0 +883 0 0 0 +884 0 0 0 +885 0 0 0 +1288 0 0 0 +1290 0 0 0 +1324 0 0 0 +1325 0 0 0 +1326 0 0 0 +1507 0 0 0 +1508 0 0 0 +1509 0 0 0 +1586 0 0 0 +1621 0 0 0 +1622 0 0 0 +1623 0 0 0 +1633 0 0 0 +1634 0 0 0 +1635 0 0 0 +1780 0 0 0 +1781 0 0 0 +1782 0 0 0 +1831 0 0 0 +1832 0 0 0 +1833 0 0 0 +2104 0 0 0 +2105 0 0 0 +2106 0 0 0 +2284 0 0 0 +2356 0 0 0 +2357 0 0 0 +2358 0 0 0 +2569 0 0 0 +2570 0 0 0 +2571 0 0 0 +2595 0 0 0 +2998 0 0 0 +3000 0 0 0 +5 0 0 0 +8 0 0 0 +70 0 0 0 +71 0 0 0 +72 0 0 0 +88 0 0 0 +90 0 0 0 +172 0 0 0 +173 0 0 0 +174 0 0 0 +442 0 0 0 +443 0 0 0 +444 0 0 0 +670 0 0 0 +671 0 0 0 +672 0 0 0 +773 0 0 0 +988 0 0 0 +989 0 0 0 +990 0 0 0 +1188 0 0 0 +1428 0 0 0 +1519 0 0 0 +1520 0 0 0 +1521 0 0 0 +1585 0 0 0 +1587 0 0 0 +2005 0 0 0 +2006 0 0 0 +2007 0 0 0 +2128 0 0 0 +2129 0 0 0 +2130 0 0 0 +2286 0 0 0 +2527 0 0 0 +2528 0 0 0 +2529 0 0 0 +2704 0 0 0 +2706 0 0 0 +2740 0 0 0 +2741 0 0 0 +2742 0 0 0 +2791 0 0 0 +2792 0 0 0 +2793 0 0 0 +46 0 0 0 +48 0 0 0 +85 0 0 0 +87 0 0 0 +118 0 0 0 +119 0 0 0 +120 0 0 0 +254 0 0 0 +541 0 0 0 +542 0 0 0 +543 0 0 0 +663 0 0 0 +827 0 0 0 +853 0 0 0 +854 0 0 0 +855 0 0 0 +874 0 0 0 +875 0 0 0 +876 0 0 0 +887 0 0 0 +888 0 0 0 +994 0 0 0 +995 0 0 0 +996 0 0 0 +1063 0 0 0 +1064 0 0 0 +1065 0 0 0 +1093 0 0 0 +1095 0 0 0 +1114 0 0 0 +1115 0 0 0 +1116 0 0 0 +1168 0 0 0 +1169 0 0 0 +1186 0 0 0 +1285 0 0 0 +1286 0 0 0 +1287 0 0 0 +1399 0 0 0 +1400 0 0 0 +1411 0 0 0 +1412 0 0 0 +1413 0 0 0 +1432 0 0 0 +1433 0 0 0 +1434 0 0 0 +1458 0 0 0 +1525 0 0 0 +1645 0 0 0 +1690 0 0 0 +1691 0 0 0 +1692 0 0 0 +1996 0 0 0 +1997 0 0 0 +1998 0 0 0 +2131 0 0 0 +2132 0 0 0 +2133 0 0 0 +2566 0 0 0 +2567 0 0 0 +2568 0 0 0 +2705 0 0 0 +2920 0 0 0 +2921 0 0 0 +2922 0 0 0 +2929 0 0 0 +2930 0 0 0 +2931 0 0 0 +346 0 0 0 +347 0 0 0 +475 0 0 0 +477 0 0 0 +634 0 0 0 +635 0 0 0 +636 0 0 0 +880 0 0 0 +881 0 0 0 +882 0 0 0 +1663 0 0 0 +1664 0 0 0 +1665 0 0 0 +1792 0 0 0 +1793 0 0 0 +1939 0 0 0 +1940 0 0 0 +1941 0 0 0 +1947 0 0 0 +1994 0 0 0 +2047 0 0 0 +2049 0 0 0 +2110 0 0 0 +2111 0 0 0 +2112 0 0 0 +2422 0 0 0 +2423 0 0 0 +2424 0 0 0 +2437 0 0 0 +2438 0 0 0 +2439 0 0 0 +2700 0 0 0 +2776 0 0 0 +2777 0 0 0 +2778 0 0 0 +2803 0 0 0 +2804 0 0 0 +2805 0 0 0 +2947 0 0 0 +2948 0 0 0 +2959 0 0 0 +2960 0 0 0 +2961 0 0 0 +2983 0 0 0 +2984 0 0 0 +2985 0 0 0 +271 0 0 0 +272 0 0 0 +273 0 0 0 +398 0 0 0 +399 0 0 0 +476 0 0 0 +604 0 0 0 +606 0 0 0 +754 0 0 0 +755 0 0 0 +756 0 0 0 +928 0 0 0 +929 0 0 0 +930 0 0 0 +1281 0 0 0 +1384 0 0 0 +1385 0 0 0 +1386 0 0 0 +1539 0 0 0 +1687 0 0 0 +1688 0 0 0 +1689 0 0 0 +1981 0 0 0 +1982 0 0 0 +1983 0 0 0 +1993 0 0 0 +1995 0 0 0 +2003 0 0 0 +2004 0 0 0 +2230 0 0 0 +2231 0 0 0 +2232 0 0 0 +2686 0 0 0 +2687 0 0 0 +2788 0 0 0 +2789 0 0 0 +2790 0 0 0 +2926 0 0 0 +2927 0 0 0 +2928 0 0 0 +2949 0 0 0 +220 0 0 0 +221 0 0 0 +222 0 0 0 +952 0 0 0 +953 0 0 0 +954 0 0 0 +1387 0 0 0 +1388 0 0 0 +1389 0 0 0 +1402 0 0 0 +1403 0 0 0 +1404 0 0 0 +1426 0 0 0 +1427 0 0 0 +1828 0 0 0 +1829 0 0 0 +1830 0 0 0 +1838 0 0 0 +2410 0 0 0 +2411 0 0 0 +2412 0 0 0 +2524 0 0 0 +2525 0 0 0 +2526 0 0 0 +2542 0 0 0 +2543 0 0 0 +2572 0 0 0 +2573 0 0 0 +2574 0 0 0 +106 0 0 0 +107 0 0 0 +108 0 0 0 +110 0 0 0 +163 0 0 0 +164 0 0 0 +165 0 0 0 +167 0 0 0 +289 0 0 0 +290 0 0 0 +291 0 0 0 +406 0 0 0 +407 0 0 0 +408 0 0 0 +424 0 0 0 +425 0 0 0 +426 0 0 0 +613 0 0 0 +614 0 0 0 +615 0 0 0 +733 0 0 0 +734 0 0 0 +735 0 0 0 +856 0 0 0 +857 0 0 0 +858 0 0 0 +1170 0 0 0 +1456 0 0 0 +1457 0 0 0 +1522 0 0 0 +1523 0 0 0 +1524 0 0 0 +1555 0 0 0 +1556 0 0 0 +1557 0 0 0 +1618 0 0 0 +1619 0 0 0 +1620 0 0 0 +1837 0 0 0 +1839 0 0 0 +2038 0 0 0 +2039 0 0 0 +2040 0 0 0 +2149 0 0 0 +2150 0 0 0 +2151 0 0 0 +2350 0 0 0 +2351 0 0 0 +2352 0 0 0 +2488 0 0 0 +2489 0 0 0 +2490 0 0 0 +2531 0 0 0 +2532 0 0 0 +2752 0 0 0 +2753 0 0 0 +2754 0 0 0 +2956 0 0 0 +2957 0 0 0 +2958 0 0 0 +13 0 0 0 +31 0 0 0 +32 0 0 0 +33 0 0 0 +215 0 0 0 +216 0 0 0 +523 0 0 0 +524 0 0 0 +525 0 0 0 +547 0 0 0 +548 0 0 0 +549 0 0 0 +867 0 0 0 +962 0 0 0 +1069 0 0 0 +1070 0 0 0 +1071 0 0 0 +1126 0 0 0 +1127 0 0 0 +1128 0 0 0 +1216 0 0 0 +1217 0 0 0 +1218 0 0 0 +1226 0 0 0 +1336 0 0 0 +1337 0 0 0 +1338 0 0 0 +1588 0 0 0 +1589 0 0 0 +1590 0 0 0 +1627 0 0 0 +1628 0 0 0 +1794 0 0 0 +1957 0 0 0 +1958 0 0 0 +1959 0 0 0 +2143 0 0 0 +2145 0 0 0 +2182 0 0 0 +2183 0 0 0 +2184 0 0 0 +2314 0 0 0 +2315 0 0 0 +2316 0 0 0 +2471 0 0 0 +2578 0 0 0 +2580 0 0 0 +2695 0 0 0 +2696 0 0 0 +2697 0 0 0 +2731 0 0 0 +2732 0 0 0 +2733 0 0 0 +2875 0 0 0 +2876 0 0 0 +2877 0 0 0 +2954 0 0 0 +3070 0 0 0 +3072 0 0 0 +15 0 0 0 +229 0 0 0 +230 0 0 0 +231 0 0 0 +241 0 0 0 +242 0 0 0 +243 0 0 0 +301 0 0 0 +302 0 0 0 +303 0 0 0 +751 0 0 0 +752 0 0 0 +753 0 0 0 +933 0 0 0 +961 0 0 0 +963 0 0 0 +1117 0 0 0 +1119 0 0 0 +2200 0 0 0 +2201 0 0 0 +2202 0 0 0 +2251 0 0 0 +2252 0 0 0 +2253 0 0 0 +2359 0 0 0 +2360 0 0 0 +2361 0 0 0 +2386 0 0 0 +2387 0 0 0 +2719 0 0 0 +2720 0 0 0 +2721 0 0 0 +2767 0 0 0 +2768 0 0 0 +2769 0 0 0 +2890 0 0 0 +2891 0 0 0 +2892 0 0 0 +3071 0 0 0 +136 0 0 0 +137 0 0 0 +138 0 0 0 +151 0 0 0 +152 0 0 0 +153 0 0 0 +157 0 0 0 +158 0 0 0 +550 0 0 0 +551 0 0 0 +931 0 0 0 +932 0 0 0 +940 0 0 0 +941 0 0 0 +1009 0 0 0 +1011 0 0 0 +1090 0 0 0 +1091 0 0 0 +1092 0 0 0 +1098 0 0 0 +1174 0 0 0 +1175 0 0 0 +1176 0 0 0 +1198 0 0 0 +1199 0 0 0 +1200 0 0 0 +1223 0 0 0 +1268 0 0 0 +1444 0 0 0 +1445 0 0 0 +1446 0 0 0 +1495 0 0 0 +1496 0 0 0 +1594 0 0 0 +1595 0 0 0 +1596 0 0 0 +2056 0 0 0 +2722 0 0 0 +2723 0 0 0 +2724 0 0 0 +3043 0 0 0 +3044 0 0 0 +3045 0 0 0 +58 0 0 0 +59 0 0 0 +60 0 0 0 +214 0 0 0 +226 0 0 0 +228 0 0 0 +238 0 0 0 +239 0 0 0 +240 0 0 0 +391 0 0 0 +392 0 0 0 +393 0 0 0 +865 0 0 0 +866 0 0 0 +919 0 0 0 +920 0 0 0 +921 0 0 0 +1084 0 0 0 +1085 0 0 0 +1086 0 0 0 +1222 0 0 0 +1224 0 0 0 +1342 0 0 0 +1343 0 0 0 +1344 0 0 0 +1855 0 0 0 +1857 0 0 0 +1873 0 0 0 +1874 0 0 0 +1875 0 0 0 +2071 0 0 0 +2072 0 0 0 +2073 0 0 0 +2086 0 0 0 +2087 0 0 0 +2101 0 0 0 +2102 0 0 0 +2103 0 0 0 +2452 0 0 0 +2453 0 0 0 +2454 0 0 0 +2458 0 0 0 +2459 0 0 0 +2513 0 0 0 +2725 0 0 0 +2726 0 0 0 +2727 0 0 0 +2863 0 0 0 +2865 0 0 0 +2968 0 0 0 +2969 0 0 0 +2970 0 0 0 +2995 0 0 0 +178 0 0 0 +179 0 0 0 +180 0 0 0 +310 0 0 0 +311 0 0 0 +312 0 0 0 +334 0 0 0 +335 0 0 0 +336 0 0 0 +337 0 0 0 +338 0 0 0 +619 0 0 0 +620 0 0 0 +1225 0 0 0 +1227 0 0 0 +1309 0 0 0 +1310 0 0 0 +1311 0 0 0 +1685 0 0 0 +1999 0 0 0 +2000 0 0 0 +2001 0 0 0 +2015 0 0 0 +2116 0 0 0 +2117 0 0 0 +2118 0 0 0 +2119 0 0 0 +2120 0 0 0 +2121 0 0 0 +2506 0 0 0 +2507 0 0 0 +2508 0 0 0 +2620 0 0 0 +2621 0 0 0 +2622 0 0 0 +3028 0 0 0 +3029 0 0 0 +3030 0 0 0 +3034 0 0 0 +3036 0 0 0 +3046 0 0 0 +3047 0 0 0 +3048 0 0 0 +50 0 0 0 +210 0 0 0 +257 0 0 0 +297 0 0 0 +343 0 0 0 +344 0 0 0 +345 0 0 0 +841 0 0 0 +842 0 0 0 +843 0 0 0 +1021 0 0 0 +1022 0 0 0 +1023 0 0 0 +1030 0 0 0 +1031 0 0 0 +1032 0 0 0 +1054 0 0 0 +1055 0 0 0 +1056 0 0 0 +1118 0 0 0 +1237 0 0 0 +1348 0 0 0 +1349 0 0 0 +1350 0 0 0 +1476 0 0 0 +1576 0 0 0 +1577 0 0 0 +1578 0 0 0 +1804 0 0 0 +1805 0 0 0 +2388 0 0 0 +2413 0 0 0 +2414 0 0 0 +2415 0 0 0 +2629 0 0 0 +2631 0 0 0 +3010 0 0 0 +3011 0 0 0 +3012 0 0 0 +3035 0 0 0 +49 0 0 0 +51 0 0 0 +247 0 0 0 +249 0 0 0 +449 0 0 0 +457 0 0 0 +458 0 0 0 +459 0 0 0 +942 0 0 0 +1010 0 0 0 +1045 0 0 0 +1046 0 0 0 +1047 0 0 0 +1096 0 0 0 +1097 0 0 0 +1112 0 0 0 +1267 0 0 0 +1269 0 0 0 +1366 0 0 0 +1367 0 0 0 +1368 0 0 0 +1450 0 0 0 +1451 0 0 0 +1452 0 0 0 +1474 0 0 0 +1499 0 0 0 +1726 0 0 0 +1727 0 0 0 +1728 0 0 0 +1729 0 0 0 +1730 0 0 0 +1731 0 0 0 +1806 0 0 0 +1816 0 0 0 +1817 0 0 0 +1818 0 0 0 +1970 0 0 0 +1971 0 0 0 +2161 0 0 0 +2163 0 0 0 +2215 0 0 0 +2216 0 0 0 +2217 0 0 0 +2270 0 0 0 +2308 0 0 0 +2309 0 0 0 +2310 0 0 0 +2404 0 0 0 +2405 0 0 0 +2406 0 0 0 +2482 0 0 0 +2483 0 0 0 +2484 0 0 0 +2734 0 0 0 +2735 0 0 0 +2736 0 0 0 +3061 0 0 0 +3062 0 0 0 +3063 0 0 0 +367 0 0 0 +368 0 0 0 +369 0 0 0 +448 0 0 0 +450 0 0 0 +799 0 0 0 +800 0 0 0 +801 0 0 0 +909 0 0 0 +970 0 0 0 +971 0 0 0 +972 0 0 0 +1219 0 0 0 +1220 0 0 0 +1221 0 0 0 +1256 0 0 0 +1300 0 0 0 +1301 0 0 0 +1302 0 0 0 +1415 0 0 0 +1429 0 0 0 +1430 0 0 0 +1431 0 0 0 +1612 0 0 0 +1613 0 0 0 +1614 0 0 0 +1661 0 0 0 +1662 0 0 0 +1684 0 0 0 +1686 0 0 0 +1783 0 0 0 +1784 0 0 0 +1785 0 0 0 +1856 0 0 0 +2170 0 0 0 +2171 0 0 0 +2172 0 0 0 +2269 0 0 0 +2271 0 0 0 +2460 0 0 0 +2599 0 0 0 +2600 0 0 0 +2601 0 0 0 +2713 0 0 0 +2714 0 0 0 +2715 0 0 0 +2848 0 0 0 +2849 0 0 0 +2850 0 0 0 +2864 0 0 0 +2887 0 0 0 +2917 0 0 0 +2918 0 0 0 +2919 0 0 0 +82 0 0 0 +83 0 0 0 +84 0 0 0 +235 0 0 0 +236 0 0 0 +237 0 0 0 +259 0 0 0 +260 0 0 0 +261 0 0 0 +352 0 0 0 +353 0 0 0 +354 0 0 0 +609 0 0 0 +622 0 0 0 +623 0 0 0 +624 0 0 0 +736 0 0 0 +737 0 0 0 +738 0 0 0 +892 0 0 0 +893 0 0 0 +894 0 0 0 +1141 0 0 0 +1142 0 0 0 +1143 0 0 0 +1253 0 0 0 +1258 0 0 0 +1259 0 0 0 +1260 0 0 0 +1276 0 0 0 +1277 0 0 0 +1278 0 0 0 +1708 0 0 0 +1709 0 0 0 +1710 0 0 0 +1966 0 0 0 +1968 0 0 0 +2263 0 0 0 +2264 0 0 0 +2265 0 0 0 +2275 0 0 0 +2276 0 0 0 +2277 0 0 0 +2362 0 0 0 +2364 0 0 0 +2473 0 0 0 +2474 0 0 0 +2475 0 0 0 +2824 0 0 0 +2825 0 0 0 +2826 0 0 0 +2882 0 0 0 +3057 0 0 0 +25 0 0 0 +26 0 0 0 +27 0 0 0 +256 0 0 0 +258 0 0 0 +295 0 0 0 +296 0 0 0 +316 0 0 0 +317 0 0 0 +318 0 0 0 +394 0 0 0 +395 0 0 0 +396 0 0 0 +427 0 0 0 +429 0 0 0 +652 0 0 0 +653 0 0 0 +654 0 0 0 +694 0 0 0 +695 0 0 0 +781 0 0 0 +782 0 0 0 +783 0 0 0 +949 0 0 0 +950 0 0 0 +951 0 0 0 +973 0 0 0 +975 0 0 0 +1567 0 0 0 +1568 0 0 0 +1569 0 0 0 +1672 0 0 0 +1673 0 0 0 +1967 0 0 0 +2008 0 0 0 +2009 0 0 0 +2010 0 0 0 +2026 0 0 0 +2206 0 0 0 +2207 0 0 0 +2208 0 0 0 +2407 0 0 0 +2408 0 0 0 +2409 0 0 0 +2671 0 0 0 +2672 0 0 0 +2673 0 0 0 +2677 0 0 0 +2678 0 0 0 +2749 0 0 0 +2750 0 0 0 +2751 0 0 0 +3001 0 0 0 +3002 0 0 0 +3003 0 0 0 +76 0 0 0 +77 0 0 0 +78 0 0 0 +79 0 0 0 +80 0 0 0 +81 0 0 0 +248 0 0 0 +644 0 0 0 +974 0 0 0 +1012 0 0 0 +1013 0 0 0 +1014 0 0 0 +1138 0 0 0 +1139 0 0 0 +1140 0 0 0 +1195 0 0 0 +1196 0 0 0 +1197 0 0 0 +1257 0 0 0 +1468 0 0 0 +1570 0 0 0 +1571 0 0 0 +1572 0 0 0 +1648 0 0 0 +1649 0 0 0 +1650 0 0 0 +1674 0 0 0 +1693 0 0 0 +1694 0 0 0 +1695 0 0 0 +1747 0 0 0 +1748 0 0 0 +1749 0 0 0 +1765 0 0 0 +1766 0 0 0 +1767 0 0 0 +1858 0 0 0 +1859 0 0 0 +1860 0 0 0 +2053 0 0 0 +2054 0 0 0 +2055 0 0 0 +2162 0 0 0 +2617 0 0 0 +2618 0 0 0 +2619 0 0 0 +2806 0 0 0 +2807 0 0 0 +2808 0 0 0 +133 0 0 0 +134 0 0 0 +135 0 0 0 +357 0 0 0 +586 0 0 0 +587 0 0 0 +588 0 0 0 +607 0 0 0 +608 0 0 0 +662 0 0 0 +814 0 0 0 +815 0 0 0 +816 0 0 0 +899 0 0 0 +985 0 0 0 +986 0 0 0 +987 0 0 0 +1039 0 0 0 +1040 0 0 0 +1041 0 0 0 +1094 0 0 0 +1252 0 0 0 +1254 0 0 0 +1255 0 0 0 +1409 0 0 0 +1410 0 0 0 +1414 0 0 0 +1416 0 0 0 +1447 0 0 0 +1448 0 0 0 +1449 0 0 0 +1696 0 0 0 +1697 0 0 0 +1698 0 0 0 +1825 0 0 0 +1826 0 0 0 +1827 0 0 0 +1852 0 0 0 +1854 0 0 0 +1926 0 0 0 +2025 0 0 0 +2050 0 0 0 +2051 0 0 0 +2052 0 0 0 +2061 0 0 0 +2185 0 0 0 +2186 0 0 0 +2187 0 0 0 +2224 0 0 0 +2225 0 0 0 +2226 0 0 0 +2329 0 0 0 +2330 0 0 0 +2331 0 0 0 +2485 0 0 0 +2486 0 0 0 +2487 0 0 0 +2539 0 0 0 +2540 0 0 0 +2541 0 0 0 +2560 0 0 0 +2561 0 0 0 +2562 0 0 0 +2581 0 0 0 +2582 0 0 0 +2583 0 0 0 +28 0 0 0 +29 0 0 0 +30 0 0 0 +154 0 0 0 +155 0 0 0 +156 0 0 0 +245 0 0 0 +268 0 0 0 +269 0 0 0 +270 0 0 0 +348 0 0 0 +571 0 0 0 +572 0 0 0 +573 0 0 0 +698 0 0 0 +895 0 0 0 +896 0 0 0 +897 0 0 0 +1345 0 0 0 +1346 0 0 0 +1347 0 0 0 +1609 0 0 0 +1610 0 0 0 +1611 0 0 0 +1750 0 0 0 +1751 0 0 0 +1752 0 0 0 +2027 0 0 0 +2059 0 0 0 +2089 0 0 0 +2090 0 0 0 +2091 0 0 0 +2176 0 0 0 +2177 0 0 0 +2178 0 0 0 +2494 0 0 0 +2495 0 0 0 +2496 0 0 0 +2881 0 0 0 +2883 0 0 0 +16 0 0 0 +17 0 0 0 +18 0 0 0 +283 0 0 0 +284 0 0 0 +285 0 0 0 +331 0 0 0 +332 0 0 0 +358 0 0 0 +359 0 0 0 +360 0 0 0 +454 0 0 0 +455 0 0 0 +456 0 0 0 +499 0 0 0 +500 0 0 0 +501 0 0 0 +696 0 0 0 +697 0 0 0 +699 0 0 0 +862 0 0 0 +863 0 0 0 +864 0 0 0 +871 0 0 0 +872 0 0 0 +873 0 0 0 +976 0 0 0 +977 0 0 0 +978 0 0 0 +1279 0 0 0 +1280 0 0 0 +1282 0 0 0 +1283 0 0 0 +1284 0 0 0 +1315 0 0 0 +1316 0 0 0 +1317 0 0 0 +1537 0 0 0 +1538 0 0 0 +1597 0 0 0 +1598 0 0 0 +1599 0 0 0 +2002 0 0 0 +2028 0 0 0 +2679 0 0 0 +2773 0 0 0 +2774 0 0 0 +2775 0 0 0 +19 0 0 0 +20 0 0 0 +21 0 0 0 +379 0 0 0 +380 0 0 0 +381 0 0 0 +643 0 0 0 +645 0 0 0 +1018 0 0 0 +1019 0 0 0 +1020 0 0 0 +1210 0 0 0 +1211 0 0 0 +1212 0 0 0 +1213 0 0 0 +1214 0 0 0 +1215 0 0 0 +1357 0 0 0 +1358 0 0 0 +1359 0 0 0 +1470 0 0 0 +1888 0 0 0 +1889 0 0 0 +1890 0 0 0 +2057 0 0 0 +2058 0 0 0 +2095 0 0 0 +2096 0 0 0 +2097 0 0 0 +2227 0 0 0 +2228 0 0 0 +2229 0 0 0 +2248 0 0 0 +2249 0 0 0 +2250 0 0 0 +2962 0 0 0 +2963 0 0 0 +2964 0 0 0 +124 0 0 0 +125 0 0 0 +126 0 0 0 +166 0 0 0 +168 0 0 0 +244 0 0 0 +246 0 0 0 +355 0 0 0 +356 0 0 0 +532 0 0 0 +533 0 0 0 +534 0 0 0 +658 0 0 0 +659 0 0 0 +660 0 0 0 +1006 0 0 0 +1007 0 0 0 +1008 0 0 0 +1477 0 0 0 +1478 0 0 0 +1479 0 0 0 +1879 0 0 0 +1880 0 0 0 +1881 0 0 0 +2023 0 0 0 +2024 0 0 0 +2060 0 0 0 +2092 0 0 0 +2093 0 0 0 +2094 0 0 0 +2260 0 0 0 +2261 0 0 0 +2262 0 0 0 +2347 0 0 0 +2348 0 0 0 +2349 0 0 0 +2575 0 0 0 +2576 0 0 0 +2577 0 0 0 +2584 0 0 0 +2585 0 0 0 +2586 0 0 0 +2953 0 0 0 +2955 0 0 0 + +Bonds + +1 1 376 377 +2 1 376 378 +3 1 511 512 +4 1 511 513 +5 1 676 677 +6 1 676 678 +7 1 691 692 +8 1 691 693 +9 1 997 998 +10 1 997 999 +11 1 1120 1121 +12 1 1120 1122 +13 1 1144 1145 +14 1 1144 1146 +15 1 1714 1715 +16 1 1714 1716 +17 1 1798 1799 +18 1 1798 1800 +19 1 1822 1823 +20 1 1822 1824 +21 1 1891 1892 +22 1 1891 1893 +23 1 2029 2030 +24 1 2029 2031 +25 1 2668 2669 +26 1 2668 2670 +27 1 2878 2879 +28 1 2878 2880 +29 1 190 191 +30 1 190 192 +31 1 349 350 +32 1 349 351 +33 1 487 488 +34 1 487 489 +35 1 817 818 +36 1 817 819 +37 1 1042 1043 +38 1 1042 1044 +39 1 1204 1205 +40 1 1204 1206 +41 1 1405 1406 +42 1 1405 1407 +43 1 1528 1529 +44 1 1528 1530 +45 1 2113 2114 +46 1 2113 2115 +47 1 2218 2219 +48 1 2218 2220 +49 1 2839 2840 +50 1 2839 2841 +51 1 274 275 +52 1 274 276 +53 1 439 440 +54 1 439 441 +55 1 664 665 +56 1 664 666 +57 1 868 869 +58 1 868 870 +59 1 913 914 +60 1 913 915 +61 1 1462 1463 +62 1 1462 1464 +63 1 1603 1604 +64 1 1603 1605 +65 1 1840 1841 +66 1 1840 1842 +67 1 1876 1877 +68 1 1876 1878 +69 1 1963 1964 +70 1 1963 1965 +71 1 2044 2045 +72 1 2044 2046 +73 1 2257 2258 +74 1 2257 2259 +75 1 2353 2354 +76 1 2353 2355 +77 1 2785 2786 +78 1 2785 2787 +79 1 10 11 +80 1 10 12 +81 1 466 467 +82 1 466 468 +83 1 766 767 +84 1 766 768 +85 1 844 845 +86 1 844 846 +87 1 901 902 +88 1 901 903 +89 1 922 923 +90 1 922 924 +91 1 955 956 +92 1 955 957 +93 1 1156 1157 +94 1 1156 1158 +95 1 1180 1181 +96 1 1180 1182 +97 1 1480 1481 +98 1 1480 1482 +99 1 1513 1514 +100 1 1513 1515 +101 1 1654 1655 +102 1 1654 1656 +103 1 1762 1763 +104 1 1762 1764 +105 1 2020 2021 +106 1 2020 2022 +107 1 2032 2033 +108 1 2032 2034 +109 1 2191 2192 +110 1 2191 2193 +111 1 2293 2294 +112 1 2293 2295 +113 1 2512 2513 +114 1 2512 2514 +115 1 2554 2555 +116 1 2554 2556 +117 1 2614 2615 +118 1 2614 2616 +119 1 2830 2831 +120 1 2830 2832 +121 1 3064 3065 +122 1 3064 3066 +123 1 91 92 +124 1 91 93 +125 1 139 140 +126 1 139 141 +127 1 538 539 +128 1 538 540 +129 1 616 617 +130 1 616 618 +131 1 934 935 +132 1 934 936 +133 1 1027 1028 +134 1 1027 1029 +135 1 1078 1079 +136 1 1078 1080 +137 1 1159 1160 +138 1 1159 1161 +139 1 1459 1460 +140 1 1459 1461 +141 1 1564 1565 +142 1 1564 1566 +143 1 1741 1742 +144 1 1741 1743 +145 1 2014 2015 +146 1 2014 2016 +147 1 2305 2306 +148 1 2305 2307 +149 1 2461 2462 +150 1 2461 2463 +151 1 2500 2501 +152 1 2500 2502 +153 1 2518 2519 +154 1 2518 2520 +155 1 2797 2798 +156 1 2797 2799 +157 1 2899 2900 +158 1 2899 2901 +159 1 43 44 +160 1 43 45 +161 1 160 161 +162 1 160 162 +163 1 388 389 +164 1 388 390 +165 1 505 506 +166 1 505 507 +167 1 1087 1088 +168 1 1087 1089 +169 1 1189 1190 +170 1 1189 1191 +171 1 1351 1352 +172 1 1351 1353 +173 1 1417 1418 +174 1 1417 1419 +175 1 1912 1913 +176 1 1912 1914 +177 1 1927 1928 +178 1 1927 1929 +179 1 2209 2210 +180 1 2209 2211 +181 1 2440 2441 +182 1 2440 2442 +183 1 2548 2549 +184 1 2548 2550 +185 1 2551 2552 +186 1 2551 2553 +187 1 469 470 +188 1 469 471 +189 1 703 704 +190 1 703 705 +191 1 1234 1235 +192 1 1234 1236 +193 1 1390 1391 +194 1 1390 1392 +195 1 1558 1559 +196 1 1558 1560 +197 1 1573 1574 +198 1 1573 1575 +199 1 1906 1907 +200 1 1906 1908 +201 1 1918 1919 +202 1 1918 1920 +203 1 1969 1970 +204 1 1969 1971 +205 1 2245 2246 +206 1 2245 2247 +207 1 2392 2393 +208 1 2392 2394 +209 1 2812 2813 +210 1 2812 2814 +211 1 2902 2903 +212 1 2902 2904 +213 1 3016 3017 +214 1 3016 3018 +215 1 169 170 +216 1 169 171 +217 1 196 197 +218 1 196 198 +219 1 364 365 +220 1 364 366 +221 1 433 434 +222 1 433 435 +223 1 508 509 +224 1 508 510 +225 1 562 563 +226 1 562 564 +227 1 715 716 +228 1 715 717 +229 1 721 722 +230 1 721 723 +231 1 1123 1124 +232 1 1123 1125 +233 1 1294 1295 +234 1 1294 1296 +235 1 1660 1661 +236 1 1660 1662 +237 1 1882 1883 +238 1 1882 1884 +239 1 1915 1916 +240 1 1915 1917 +241 1 2188 2189 +242 1 2188 2190 +243 1 2332 2333 +244 1 2332 2334 +245 1 2371 2372 +246 1 2371 2373 +247 1 2419 2420 +248 1 2419 2421 +249 1 2659 2660 +250 1 2659 2661 +251 1 2680 2681 +252 1 2680 2682 +253 1 2794 2795 +254 1 2794 2796 +255 1 94 95 +256 1 94 96 +257 1 193 194 +258 1 193 195 +259 1 250 251 +260 1 250 252 +261 1 502 503 +262 1 502 504 +263 1 601 602 +264 1 601 603 +265 1 685 686 +266 1 685 687 +267 1 745 746 +268 1 745 747 +269 1 910 911 +270 1 910 912 +271 1 1228 1229 +272 1 1228 1230 +273 1 1240 1241 +274 1 1240 1242 +275 1 1339 1340 +276 1 1339 1341 +277 1 1492 1493 +278 1 1492 1494 +279 1 1636 1637 +280 1 1636 1638 +281 1 1669 1670 +282 1 1669 1671 +283 1 1717 1718 +284 1 1717 1719 +285 1 2212 2213 +286 1 2212 2214 +287 1 2647 2648 +288 1 2647 2649 +289 1 2809 2810 +290 1 2809 2811 +291 1 34 35 +292 1 34 36 +293 1 403 404 +294 1 403 405 +295 1 529 530 +296 1 529 531 +297 1 568 569 +298 1 568 570 +299 1 574 575 +300 1 574 576 +301 1 592 593 +302 1 592 594 +303 1 748 749 +304 1 748 750 +305 1 1003 1004 +306 1 1003 1005 +307 1 1330 1331 +308 1 1330 1332 +309 1 1420 1421 +310 1 1420 1422 +311 1 1483 1484 +312 1 1483 1485 +313 1 1642 1643 +314 1 1642 1644 +315 1 1681 1682 +316 1 1681 1683 +317 1 1702 1703 +318 1 1702 1704 +319 1 2065 2066 +320 1 2065 2067 +321 1 2311 2312 +322 1 2311 2313 +323 1 2710 2711 +324 1 2710 2712 +325 1 2857 2858 +326 1 2857 2859 +327 1 97 98 +328 1 97 99 +329 1 313 314 +330 1 313 315 +331 1 385 386 +332 1 385 387 +333 1 517 518 +334 1 517 519 +335 1 553 554 +336 1 553 555 +337 1 964 965 +338 1 964 966 +339 1 1108 1109 +340 1 1108 1110 +341 1 1639 1640 +342 1 1639 1641 +343 1 1720 1721 +344 1 1720 1722 +345 1 1960 1961 +346 1 1960 1962 +347 1 2122 2123 +348 1 2122 2124 +349 1 2326 2327 +350 1 2326 2328 +351 1 2779 2780 +352 1 2779 2781 +353 1 3025 3026 +354 1 3025 3027 +355 1 277 278 +356 1 277 279 +357 1 322 323 +358 1 322 324 +359 1 382 383 +360 1 382 384 +361 1 409 410 +362 1 409 411 +363 1 490 491 +364 1 490 492 +365 1 544 545 +366 1 544 546 +367 1 808 809 +368 1 808 810 +369 1 847 848 +370 1 847 849 +371 1 1408 1409 +372 1 1408 1410 +373 1 1924 1925 +374 1 1924 1926 +375 1 1930 1931 +376 1 1930 1932 +377 1 2017 2018 +378 1 2017 2019 +379 1 2080 2081 +380 1 2080 2082 +381 1 2737 2738 +382 1 2737 2739 +383 1 2851 2852 +384 1 2851 2853 +385 1 2923 2924 +386 1 2923 2925 +387 1 181 182 +388 1 181 183 +389 1 292 293 +390 1 292 294 +391 1 478 479 +392 1 478 480 +393 1 802 803 +394 1 802 804 +395 1 937 938 +396 1 937 939 +397 1 1000 1001 +398 1 1000 1002 +399 1 1048 1049 +400 1 1048 1050 +401 1 1072 1073 +402 1 1072 1074 +403 1 1135 1136 +404 1 1135 1137 +405 1 1249 1250 +406 1 1249 1251 +407 1 1270 1271 +408 1 1270 1272 +409 1 1318 1319 +410 1 1318 1320 +411 1 1897 1898 +412 1 1897 1899 +413 1 2317 2318 +414 1 2317 2319 +415 1 2374 2375 +416 1 2374 2376 +417 1 2716 2717 +418 1 2716 2718 +419 1 3019 3020 +420 1 3019 3021 +421 1 3073 3074 +422 1 3073 3075 +423 1 595 596 +424 1 595 597 +425 1 832 833 +426 1 832 834 +427 1 1435 1436 +428 1 1435 1437 +429 1 1624 1625 +430 1 1624 1626 +431 1 1651 1652 +432 1 1651 1653 +433 1 1768 1769 +434 1 1768 1770 +435 1 1864 1865 +436 1 1864 1866 +437 1 1921 1922 +438 1 1921 1923 +439 1 2302 2303 +440 1 2302 2304 +441 1 2344 2345 +442 1 2344 2346 +443 1 2605 2606 +444 1 2605 2607 +445 1 2674 2675 +446 1 2674 2676 +447 1 3007 3008 +448 1 3007 3009 +449 1 3037 3038 +450 1 3037 3039 +451 1 22 23 +452 1 22 24 +453 1 361 362 +454 1 361 363 +455 1 430 431 +456 1 430 432 +457 1 925 926 +458 1 925 927 +459 1 1534 1535 +460 1 1534 1536 +461 1 1591 1592 +462 1 1591 1593 +463 1 2644 2645 +464 1 2644 2646 +465 1 2764 2765 +466 1 2764 2766 +467 1 2836 2837 +468 1 2836 2838 +469 1 2950 2951 +470 1 2950 2952 +471 1 2989 2990 +472 1 2989 2991 +473 1 673 674 +474 1 673 675 +475 1 700 701 +476 1 700 702 +477 1 1231 1232 +478 1 1231 1233 +479 1 1303 1304 +480 1 1303 1305 +481 1 1657 1658 +482 1 1657 1659 +483 1 1744 1745 +484 1 1744 1746 +485 1 1756 1757 +486 1 1756 1758 +487 1 1813 1814 +488 1 1813 1815 +489 1 1942 1943 +490 1 1942 1944 +491 1 2338 2339 +492 1 2338 2340 +493 1 2650 2651 +494 1 2650 2652 +495 1 2986 2987 +496 1 2986 2988 +497 1 37 38 +498 1 37 39 +499 1 640 641 +500 1 640 642 +501 1 727 728 +502 1 727 729 +503 1 1531 1532 +504 1 1531 1533 +505 1 1810 1811 +506 1 1810 1812 +507 1 1834 1835 +508 1 1834 1836 +509 1 1954 1955 +510 1 1954 1956 +511 1 2011 2012 +512 1 2011 2013 +513 1 2167 2168 +514 1 2167 2169 +515 1 2563 2564 +516 1 2563 2565 +517 1 2932 2933 +518 1 2932 2934 +519 1 451 452 +520 1 451 453 +521 1 583 584 +522 1 583 585 +523 1 655 656 +524 1 655 657 +525 1 793 794 +526 1 793 795 +527 1 850 851 +528 1 850 852 +529 1 979 980 +530 1 979 981 +531 1 1024 1025 +532 1 1024 1026 +533 1 1105 1106 +534 1 1105 1107 +535 1 1207 1208 +536 1 1207 1209 +537 1 1801 1802 +538 1 1801 1803 +539 1 2140 2141 +540 1 2140 2142 +541 1 2197 2198 +542 1 2197 2199 +543 1 2479 2480 +544 1 2479 2481 +545 1 2632 2633 +546 1 2632 2634 +547 1 2782 2783 +548 1 2782 2784 +549 1 202 203 +550 1 202 204 +551 1 265 266 +552 1 265 267 +553 1 304 305 +554 1 304 306 +555 1 472 473 +556 1 472 474 +557 1 481 482 +558 1 481 483 +559 1 598 599 +560 1 598 600 +561 1 706 707 +562 1 706 708 +563 1 943 944 +564 1 943 945 +565 1 1033 1034 +566 1 1033 1035 +567 1 1129 1130 +568 1 1129 1131 +569 1 1147 1148 +570 1 1147 1149 +571 1 1150 1151 +572 1 1150 1152 +573 1 1183 1184 +574 1 1183 1185 +575 1 1243 1244 +576 1 1243 1245 +577 1 1543 1544 +578 1 1543 1545 +579 1 1546 1547 +580 1 1546 1548 +581 1 1753 1754 +582 1 1753 1755 +583 1 1975 1976 +584 1 1975 1977 +585 1 2320 2321 +586 1 2320 2322 +587 1 2821 2822 +588 1 2821 2823 +589 1 3052 3053 +590 1 3052 3054 +591 1 3058 3059 +592 1 3058 3060 +593 1 646 647 +594 1 646 648 +595 1 760 761 +596 1 760 762 +597 1 1081 1082 +598 1 1081 1083 +599 1 1102 1103 +600 1 1102 1104 +601 1 1375 1376 +602 1 1375 1377 +603 1 1900 1901 +604 1 1900 1902 +605 1 1984 1985 +606 1 1984 1986 +607 1 2035 2036 +608 1 2035 2037 +609 1 2383 2384 +610 1 2383 2385 +611 1 2455 2456 +612 1 2455 2457 +613 1 2464 2465 +614 1 2464 2466 +615 1 2509 2510 +616 1 2509 2511 +617 1 2692 2693 +618 1 2692 2694 +619 1 2971 2972 +620 1 2971 2973 +621 1 3022 3023 +622 1 3022 3024 +623 1 3031 3032 +624 1 3031 3033 +625 1 67 68 +626 1 67 69 +627 1 421 422 +628 1 421 423 +629 1 1381 1382 +630 1 1381 1383 +631 1 1666 1667 +632 1 1666 1668 +633 1 1870 1871 +634 1 1870 1872 +635 1 1936 1937 +636 1 1936 1938 +637 1 2869 2870 +638 1 2869 2871 +639 2 1 2 +640 2 1 3 +641 2 1 4 +642 1 145 146 +643 1 145 147 +644 1 589 590 +645 1 589 591 +646 1 1471 1472 +647 1 1471 1473 +648 1 1552 1553 +649 1 1552 1554 +650 1 2083 2084 +651 1 2083 2085 +652 1 2491 2492 +653 1 2491 2493 +654 1 2662 2663 +655 1 2662 2664 +656 1 2761 2762 +657 1 2761 2763 +658 1 142 143 +659 1 142 144 +660 1 232 233 +661 1 232 234 +662 1 340 341 +663 1 340 342 +664 1 418 419 +665 1 418 420 +666 1 625 626 +667 1 625 627 +668 1 637 638 +669 1 637 639 +670 1 778 779 +671 1 778 780 +672 1 1171 1172 +673 1 1171 1173 +674 1 1306 1307 +675 1 1306 1308 +676 1 1540 1541 +677 1 1540 1542 +678 1 1771 1772 +679 1 1771 1773 +680 1 2242 2243 +681 1 2242 2244 +682 1 2635 2636 +683 1 2635 2637 +684 1 2911 2912 +685 1 2911 2913 +686 1 559 560 +687 1 559 561 +688 1 790 791 +689 1 790 792 +690 1 967 968 +691 1 967 969 +692 1 1291 1292 +693 1 1291 1293 +694 1 1372 1373 +695 1 1372 1374 +696 1 1441 1442 +697 1 1441 1443 +698 1 1579 1580 +699 1 1579 1581 +700 1 1885 1886 +701 1 1885 1887 +702 1 2287 2288 +703 1 2287 2289 +704 1 2365 2366 +705 1 2365 2367 +706 1 2395 2396 +707 1 2395 2397 +708 1 2590 2591 +709 1 2590 2592 +710 1 2758 2759 +711 1 2758 2760 +712 1 2977 2978 +713 1 2977 2979 +714 1 205 206 +715 1 205 207 +716 1 319 320 +717 1 319 321 +718 1 400 401 +719 1 400 402 +720 1 436 437 +721 1 436 438 +722 1 565 566 +723 1 565 567 +724 1 805 806 +725 1 805 807 +726 1 958 959 +727 1 958 960 +728 1 1153 1154 +729 1 1153 1155 +730 1 1438 1439 +731 1 1438 1440 +732 1 1675 1676 +733 1 1675 1677 +734 1 1678 1679 +735 1 1678 1680 +736 1 1723 1724 +737 1 1723 1725 +738 1 1867 1868 +739 1 1867 1869 +740 1 2164 2165 +741 1 2164 2166 +742 1 2203 2204 +743 1 2203 2205 +744 1 2335 2336 +745 1 2335 2337 +746 1 2389 2390 +747 1 2389 2391 +748 1 2398 2399 +749 1 2398 2400 +750 1 2689 2690 +751 1 2689 2691 +752 1 2980 2981 +753 1 2980 2982 +754 1 328 329 +755 1 328 330 +756 1 373 374 +757 1 373 375 +758 1 463 464 +759 1 463 465 +760 1 556 557 +761 1 556 558 +762 1 757 758 +763 1 757 759 +764 1 787 788 +765 1 787 789 +766 1 796 797 +767 1 796 798 +768 1 820 821 +769 1 820 822 +770 1 823 824 +771 1 823 825 +772 1 838 839 +773 1 838 840 +774 1 946 947 +775 1 946 948 +776 1 1333 1334 +777 1 1333 1335 +778 1 1453 1454 +779 1 1453 1455 +780 1 1774 1775 +781 1 1774 1776 +782 1 1948 1949 +783 1 1948 1950 +784 1 2272 2273 +785 1 2272 2274 +786 1 2476 2477 +787 1 2476 2478 +788 1 2593 2594 +789 1 2593 2595 +790 1 2728 2729 +791 1 2728 2730 +792 1 2872 2873 +793 1 2872 2874 +794 1 2965 2966 +795 1 2965 2967 +796 1 184 185 +797 1 184 186 +798 1 280 281 +799 1 280 282 +800 1 739 740 +801 1 739 741 +802 1 769 770 +803 1 769 771 +804 1 772 773 +805 1 772 774 +806 1 1246 1247 +807 1 1246 1248 +808 1 1261 1262 +809 1 1261 1263 +810 1 1600 1601 +811 1 1600 1602 +812 1 1759 1760 +813 1 1759 1761 +814 1 2278 2279 +815 1 2278 2280 +816 1 2521 2522 +817 1 2521 2523 +818 1 2557 2558 +819 1 2557 2559 +820 1 2596 2597 +821 1 2596 2598 +822 1 2746 2747 +823 1 2746 2748 +824 1 2815 2816 +825 1 2815 2817 +826 1 2833 2834 +827 1 2833 2835 +828 1 2893 2894 +829 1 2893 2895 +830 1 148 149 +831 1 148 150 +832 1 262 263 +833 1 262 264 +834 1 628 629 +835 1 628 630 +836 1 649 650 +837 1 649 651 +838 1 826 827 +839 1 826 828 +840 1 886 887 +841 1 886 888 +842 1 991 992 +843 1 991 993 +844 1 1561 1562 +845 1 1561 1563 +846 1 1987 1988 +847 1 1987 1989 +848 1 2041 2042 +849 1 2041 2043 +850 1 2125 2126 +851 1 2125 2127 +852 1 2179 2180 +853 1 2179 2181 +854 1 2254 2255 +855 1 2254 2256 +856 1 2281 2282 +857 1 2281 2283 +858 1 2341 2342 +859 1 2341 2343 +860 1 2434 2435 +861 1 2434 2436 +862 1 2608 2609 +863 1 2608 2610 +864 1 2623 2624 +865 1 2623 2625 +866 1 2743 2744 +867 1 2743 2745 +868 1 2938 2939 +869 1 2938 2940 +870 1 3079 3080 +871 1 3079 3081 +872 1 307 308 +873 1 307 309 +874 1 916 917 +875 1 916 918 +876 1 1192 1193 +877 1 1192 1194 +878 1 1273 1274 +879 1 1273 1275 +880 1 1312 1313 +881 1 1312 1314 +882 1 1321 1322 +883 1 1321 1323 +884 1 1807 1808 +885 1 1807 1809 +886 1 1945 1946 +887 1 1945 1947 +888 1 1990 1991 +889 1 1990 1992 +890 1 2299 2300 +891 1 2299 2301 +892 1 2866 2867 +893 1 2866 2868 +894 1 40 41 +895 1 40 42 +896 1 115 116 +897 1 115 117 +898 1 127 128 +899 1 127 129 +900 1 217 218 +901 1 217 219 +902 1 709 710 +903 1 709 711 +904 1 1516 1517 +905 1 1516 1518 +906 1 1732 1733 +907 1 1732 1734 +908 1 1978 1979 +909 1 1978 1980 +910 1 2611 2612 +911 1 2611 2613 +912 1 2707 2708 +913 1 2707 2709 +914 1 2842 2843 +915 1 2842 2844 +916 1 2845 2846 +917 1 2845 2847 +918 1 2914 2915 +919 1 2914 2916 +920 1 2944 2945 +921 1 2944 2946 +922 1 445 446 +923 1 445 447 +924 1 496 497 +925 1 496 498 +926 1 526 527 +927 1 526 528 +928 1 712 713 +929 1 712 714 +930 1 775 776 +931 1 775 777 +932 1 784 785 +933 1 784 786 +934 1 835 836 +935 1 835 837 +936 1 1066 1067 +937 1 1066 1068 +938 1 1354 1355 +939 1 1354 1356 +940 1 1378 1379 +941 1 1378 1380 +942 1 1699 1700 +943 1 1699 1701 +944 1 1705 1706 +945 1 1705 1707 +946 1 1843 1844 +947 1 1843 1845 +948 1 1933 1934 +949 1 1933 1935 +950 1 1951 1952 +951 1 1951 1953 +952 1 2077 2078 +953 1 2077 2079 +954 1 2368 2369 +955 1 2368 2370 +956 1 2416 2417 +957 1 2416 2418 +958 1 2587 2588 +959 1 2587 2589 +960 1 3067 3068 +961 1 3067 3069 +962 1 73 74 +963 1 73 75 +964 1 109 110 +965 1 109 111 +966 1 175 176 +967 1 175 177 +968 1 253 254 +969 1 253 255 +970 1 667 668 +971 1 667 669 +972 1 688 689 +973 1 688 690 +974 1 1015 1016 +975 1 1015 1017 +976 1 1360 1361 +977 1 1360 1362 +978 1 1363 1364 +979 1 1363 1365 +980 1 1795 1796 +981 1 1795 1797 +982 1 1972 1973 +983 1 1972 1974 +984 1 2134 2135 +985 1 2134 2136 +986 1 2503 2504 +987 1 2503 2505 +988 1 2533 2534 +989 1 2533 2535 +990 1 2665 2666 +991 1 2665 2667 +992 1 2896 2897 +993 1 2896 2898 +994 1 3049 3050 +995 1 3049 3051 +996 1 55 56 +997 1 55 57 +998 1 211 212 +999 1 211 213 +1000 1 535 536 +1001 1 535 537 +1002 1 1393 1394 +1003 1 1393 1395 +1004 1 1423 1424 +1005 1 1423 1425 +1006 1 1549 1550 +1007 1 1549 1551 +1008 1 1711 1712 +1009 1 1711 1713 +1010 1 1777 1778 +1011 1 1777 1779 +1012 1 2152 2153 +1013 1 2152 2154 +1014 1 2173 2174 +1015 1 2173 2175 +1016 1 2233 2234 +1017 1 2233 2235 +1018 1 2401 2402 +1019 1 2401 2403 +1020 1 2446 2447 +1021 1 2446 2448 +1022 1 2470 2471 +1023 1 2470 2472 +1024 1 2638 2639 +1025 1 2638 2640 +1026 1 2854 2855 +1027 1 2854 2856 +1028 1 397 398 +1029 1 397 399 +1030 1 460 461 +1031 1 460 462 +1032 1 514 515 +1033 1 514 516 +1034 1 1051 1052 +1035 1 1051 1053 +1036 1 1099 1100 +1037 1 1099 1101 +1038 1 1177 1178 +1039 1 1177 1179 +1040 1 1606 1607 +1041 1 1606 1608 +1042 1 1615 1616 +1043 1 1615 1617 +1044 1 1786 1787 +1045 1 1786 1788 +1046 1 1819 1820 +1047 1 1819 1821 +1048 1 2107 2108 +1049 1 2107 2109 +1050 1 2158 2159 +1051 1 2158 2160 +1052 1 2221 2222 +1053 1 2221 2223 +1054 1 2266 2267 +1055 1 2266 2268 +1056 1 2428 2429 +1057 1 2428 2430 +1058 1 2467 2468 +1059 1 2467 2469 +1060 1 2536 2537 +1061 1 2536 2538 +1062 1 2653 2654 +1063 1 2653 2655 +1064 1 2656 2657 +1065 1 2656 2658 +1066 1 3004 3005 +1067 1 3004 3006 +1068 1 103 104 +1069 1 103 105 +1070 1 298 299 +1071 1 298 300 +1072 1 520 521 +1073 1 520 522 +1074 1 763 764 +1075 1 763 765 +1076 1 811 812 +1077 1 811 813 +1078 1 877 878 +1079 1 877 879 +1080 1 1297 1298 +1081 1 1297 1299 +1082 1 1465 1466 +1083 1 1465 1467 +1084 1 1630 1631 +1085 1 1630 1632 +1086 1 1789 1790 +1087 1 1789 1791 +1088 1 1894 1895 +1089 1 1894 1896 +1090 1 2155 2156 +1091 1 2155 2157 +1092 1 2770 2771 +1093 1 2770 2772 +1094 1 2935 2936 +1095 1 2935 2937 +1096 1 52 53 +1097 1 52 54 +1098 1 130 131 +1099 1 130 132 +1100 1 187 188 +1101 1 187 189 +1102 1 199 200 +1103 1 199 201 +1104 1 412 413 +1105 1 412 414 +1106 1 493 494 +1107 1 493 495 +1108 1 889 890 +1109 1 889 891 +1110 1 1132 1133 +1111 1 1132 1134 +1112 1 1486 1487 +1113 1 1486 1488 +1114 1 1501 1502 +1115 1 1501 1503 +1116 1 1909 1910 +1117 1 1909 1911 +1118 1 2137 2138 +1119 1 2137 2139 +1120 1 2380 2381 +1121 1 2380 2382 +1122 1 2530 2531 +1123 1 2530 2532 +1124 1 415 416 +1125 1 415 417 +1126 1 577 578 +1127 1 577 579 +1128 1 682 683 +1129 1 682 684 +1130 1 730 731 +1131 1 730 732 +1132 1 904 905 +1133 1 904 906 +1134 1 982 983 +1135 1 982 984 +1136 1 1060 1061 +1137 1 1060 1062 +1138 1 1165 1166 +1139 1 1165 1167 +1140 1 1201 1202 +1141 1 1201 1203 +1142 1 1327 1328 +1143 1 1327 1329 +1144 1 1369 1370 +1145 1 1369 1371 +1146 1 1849 1850 +1147 1 1849 1851 +1148 1 2290 2291 +1149 1 2290 2292 +1150 1 2377 2378 +1151 1 2377 2379 +1152 1 2545 2546 +1153 1 2545 2547 +1154 1 2602 2603 +1155 1 2602 2604 +1156 1 2683 2684 +1157 1 2683 2685 +1158 1 2755 2756 +1159 1 2755 2757 +1160 1 2800 2801 +1161 1 2800 2802 +1162 1 100 101 +1163 1 100 102 +1164 1 208 209 +1165 1 208 210 +1166 1 223 224 +1167 1 223 225 +1168 1 679 680 +1169 1 679 681 +1170 1 1075 1076 +1171 1 1075 1077 +1172 1 1489 1490 +1173 1 1489 1491 +1174 1 1510 1511 +1175 1 1510 1512 +1176 1 1582 1583 +1177 1 1582 1584 +1178 1 1738 1739 +1179 1 1738 1740 +1180 1 1846 1847 +1181 1 1846 1848 +1182 1 1903 1904 +1183 1 1903 1905 +1184 1 2098 2099 +1185 1 2098 2100 +1186 1 2239 2240 +1187 1 2239 2241 +1188 1 2323 2324 +1189 1 2323 2325 +1190 1 2515 2516 +1191 1 2515 2517 +1192 1 2701 2702 +1193 1 2701 2703 +1194 1 2827 2828 +1195 1 2827 2829 +1196 1 2884 2885 +1197 1 2884 2886 +1198 1 2974 2975 +1199 1 2974 2976 +1200 1 3040 3041 +1201 1 3040 3042 +1202 1 112 113 +1203 1 112 114 +1204 1 121 122 +1205 1 121 123 +1206 1 859 860 +1207 1 859 861 +1208 1 907 908 +1209 1 907 909 +1210 1 1036 1037 +1211 1 1036 1038 +1212 1 1111 1112 +1213 1 1111 1113 +1214 1 1498 1499 +1215 1 1498 1500 +1216 1 2074 2075 +1217 1 2074 2076 +1218 1 2194 2195 +1219 1 2194 2196 +1220 1 2449 2450 +1221 1 2449 2451 +1222 1 2992 2993 +1223 1 2992 2994 +1224 1 3013 3014 +1225 1 3013 3015 +1226 1 325 326 +1227 1 325 327 +1228 1 370 371 +1229 1 370 372 +1230 1 718 719 +1231 1 718 720 +1232 1 898 899 +1233 1 898 900 +1234 1 1162 1163 +1235 1 1162 1164 +1236 1 1264 1265 +1237 1 1264 1266 +1238 1 1396 1397 +1239 1 1396 1398 +1240 1 1861 1862 +1241 1 1861 1863 +1242 1 2062 2063 +1243 1 2062 2064 +1244 1 2146 2147 +1245 1 2146 2148 +1246 1 2236 2237 +1247 1 2236 2238 +1248 1 2296 2297 +1249 1 2296 2298 +1250 1 2425 2426 +1251 1 2425 2427 +1252 1 2431 2432 +1253 1 2431 2433 +1254 1 2443 2444 +1255 1 2443 2445 +1256 1 2497 2498 +1257 1 2497 2499 +1258 1 2626 2627 +1259 1 2626 2628 +1260 1 2641 2642 +1261 1 2641 2643 +1262 1 2941 2942 +1263 1 2941 2943 +1264 1 3076 3077 +1265 1 3076 3078 +1266 1 61 62 +1267 1 61 63 +1268 1 64 65 +1269 1 64 66 +1270 1 610 611 +1271 1 610 612 +1272 1 631 632 +1273 1 631 633 +1274 1 661 662 +1275 1 661 663 +1276 1 724 725 +1277 1 724 726 +1278 1 742 743 +1279 1 742 744 +1280 1 829 830 +1281 1 829 831 +1282 1 1057 1058 +1283 1 1057 1059 +1284 1 1504 1505 +1285 1 1504 1506 +1286 1 1735 1736 +1287 1 1735 1737 +1288 1 2068 2069 +1289 1 2068 2070 +1290 1 2698 2699 +1291 1 2698 2700 +1292 1 2818 2819 +1293 1 2818 2820 +1294 1 2860 2861 +1295 1 2860 2862 +1296 1 2905 2906 +1297 1 2905 2907 +1298 1 2908 2909 +1299 1 2908 2910 +1300 1 3055 3056 +1301 1 3055 3057 +1302 1 286 287 +1303 1 286 288 +1304 1 484 485 +1305 1 484 486 +1306 1 580 581 +1307 1 580 582 +1308 1 883 884 +1309 1 883 885 +1310 1 1288 1289 +1311 1 1288 1290 +1312 1 1324 1325 +1313 1 1324 1326 +1314 1 1507 1508 +1315 1 1507 1509 +1316 1 1621 1622 +1317 1 1621 1623 +1318 1 1633 1634 +1319 1 1633 1635 +1320 1 1780 1781 +1321 1 1780 1782 +1322 1 1831 1832 +1323 1 1831 1833 +1324 1 2104 2105 +1325 1 2104 2106 +1326 1 2284 2285 +1327 1 2284 2286 +1328 1 2356 2357 +1329 1 2356 2358 +1330 1 2569 2570 +1331 1 2569 2571 +1332 1 2998 2999 +1333 1 2998 3000 +1334 3 5 6 +1335 3 5 7 +1336 3 5 8 +1337 4 5 9 +1338 1 70 71 +1339 1 70 72 +1340 1 88 89 +1341 1 88 90 +1342 1 172 173 +1343 1 172 174 +1344 1 442 443 +1345 1 442 444 +1346 1 670 671 +1347 1 670 672 +1348 1 988 989 +1349 1 988 990 +1350 1 1519 1520 +1351 1 1519 1521 +1352 1 1585 1586 +1353 1 1585 1587 +1354 1 2005 2006 +1355 1 2005 2007 +1356 1 2128 2129 +1357 1 2128 2130 +1358 1 2527 2528 +1359 1 2527 2529 +1360 1 2704 2705 +1361 1 2704 2706 +1362 1 2740 2741 +1363 1 2740 2742 +1364 1 2791 2792 +1365 1 2791 2793 +1366 1 46 47 +1367 1 46 48 +1368 1 85 86 +1369 1 85 87 +1370 1 118 119 +1371 1 118 120 +1372 1 541 542 +1373 1 541 543 +1374 1 853 854 +1375 1 853 855 +1376 1 874 875 +1377 1 874 876 +1378 1 994 995 +1379 1 994 996 +1380 1 1063 1064 +1381 1 1063 1065 +1382 1 1093 1094 +1383 1 1093 1095 +1384 1 1114 1115 +1385 1 1114 1116 +1386 1 1168 1169 +1387 1 1168 1170 +1388 1 1186 1187 +1389 1 1186 1188 +1390 1 1285 1286 +1391 1 1285 1287 +1392 1 1399 1400 +1393 1 1399 1401 +1394 1 1411 1412 +1395 1 1411 1413 +1396 1 1432 1433 +1397 1 1432 1434 +1398 1 1525 1526 +1399 1 1525 1527 +1400 1 1645 1646 +1401 1 1645 1647 +1402 1 1690 1691 +1403 1 1690 1692 +1404 1 1996 1997 +1405 1 1996 1998 +1406 1 2131 2132 +1407 1 2131 2133 +1408 1 2566 2567 +1409 1 2566 2568 +1410 1 2920 2921 +1411 1 2920 2922 +1412 1 2929 2930 +1413 1 2929 2931 +1414 1 346 347 +1415 1 346 348 +1416 1 475 476 +1417 1 475 477 +1418 1 634 635 +1419 1 634 636 +1420 1 880 881 +1421 1 880 882 +1422 1 1663 1664 +1423 1 1663 1665 +1424 1 1792 1793 +1425 1 1792 1794 +1426 1 1939 1940 +1427 1 1939 1941 +1428 1 2047 2048 +1429 1 2047 2049 +1430 1 2110 2111 +1431 1 2110 2112 +1432 1 2422 2423 +1433 1 2422 2424 +1434 1 2437 2438 +1435 1 2437 2439 +1436 1 2776 2777 +1437 1 2776 2778 +1438 1 2803 2804 +1439 1 2803 2805 +1440 1 2947 2948 +1441 1 2947 2949 +1442 1 2959 2960 +1443 1 2959 2961 +1444 1 2983 2984 +1445 1 2983 2985 +1446 1 271 272 +1447 1 271 273 +1448 1 604 605 +1449 1 604 606 +1450 1 754 755 +1451 1 754 756 +1452 1 928 929 +1453 1 928 930 +1454 1 1384 1385 +1455 1 1384 1386 +1456 1 1687 1688 +1457 1 1687 1689 +1458 1 1981 1982 +1459 1 1981 1983 +1460 1 1993 1994 +1461 1 1993 1995 +1462 1 2230 2231 +1463 1 2230 2232 +1464 1 2686 2687 +1465 1 2686 2688 +1466 1 2788 2789 +1467 1 2788 2790 +1468 1 2926 2927 +1469 1 2926 2928 +1470 1 220 221 +1471 1 220 222 +1472 1 952 953 +1473 1 952 954 +1474 1 1387 1388 +1475 1 1387 1389 +1476 1 1402 1403 +1477 1 1402 1404 +1478 1 1426 1427 +1479 1 1426 1428 +1480 1 1828 1829 +1481 1 1828 1830 +1482 1 2410 2411 +1483 1 2410 2412 +1484 1 2524 2525 +1485 1 2524 2526 +1486 1 2542 2543 +1487 1 2542 2544 +1488 1 2572 2573 +1489 1 2572 2574 +1490 1 106 107 +1491 1 106 108 +1492 1 163 164 +1493 1 163 165 +1494 1 289 290 +1495 1 289 291 +1496 1 406 407 +1497 1 406 408 +1498 1 424 425 +1499 1 424 426 +1500 1 613 614 +1501 1 613 615 +1502 1 733 734 +1503 1 733 735 +1504 1 856 857 +1505 1 856 858 +1506 1 1456 1457 +1507 1 1456 1458 +1508 1 1522 1523 +1509 1 1522 1524 +1510 1 1555 1556 +1511 1 1555 1557 +1512 1 1618 1619 +1513 1 1618 1620 +1514 1 1837 1838 +1515 1 1837 1839 +1516 1 2038 2039 +1517 1 2038 2040 +1518 1 2149 2150 +1519 1 2149 2151 +1520 1 2350 2351 +1521 1 2350 2352 +1522 1 2488 2489 +1523 1 2488 2490 +1524 1 2752 2753 +1525 1 2752 2754 +1526 1 2956 2957 +1527 1 2956 2958 +1528 1 13 14 +1529 1 13 15 +1530 1 31 32 +1531 1 31 33 +1532 1 523 524 +1533 1 523 525 +1534 1 547 548 +1535 1 547 549 +1536 1 1069 1070 +1537 1 1069 1071 +1538 1 1126 1127 +1539 1 1126 1128 +1540 1 1216 1217 +1541 1 1216 1218 +1542 1 1336 1337 +1543 1 1336 1338 +1544 1 1588 1589 +1545 1 1588 1590 +1546 1 1627 1628 +1547 1 1627 1629 +1548 1 1957 1958 +1549 1 1957 1959 +1550 1 2143 2144 +1551 1 2143 2145 +1552 1 2182 2183 +1553 1 2182 2184 +1554 1 2314 2315 +1555 1 2314 2316 +1556 1 2578 2579 +1557 1 2578 2580 +1558 1 2695 2696 +1559 1 2695 2697 +1560 1 2731 2732 +1561 1 2731 2733 +1562 1 2875 2876 +1563 1 2875 2877 +1564 1 3070 3071 +1565 1 3070 3072 +1566 1 229 230 +1567 1 229 231 +1568 1 241 242 +1569 1 241 243 +1570 1 301 302 +1571 1 301 303 +1572 1 751 752 +1573 1 751 753 +1574 1 961 962 +1575 1 961 963 +1576 1 1117 1118 +1577 1 1117 1119 +1578 1 2200 2201 +1579 1 2200 2202 +1580 1 2251 2252 +1581 1 2251 2253 +1582 1 2359 2360 +1583 1 2359 2361 +1584 1 2386 2387 +1585 1 2386 2388 +1586 1 2719 2720 +1587 1 2719 2721 +1588 1 2767 2768 +1589 1 2767 2769 +1590 1 2890 2891 +1591 1 2890 2892 +1592 1 136 137 +1593 1 136 138 +1594 1 151 152 +1595 1 151 153 +1596 1 157 158 +1597 1 157 159 +1598 1 550 551 +1599 1 550 552 +1600 1 931 932 +1601 1 931 933 +1602 1 940 941 +1603 1 940 942 +1604 1 1009 1010 +1605 1 1009 1011 +1606 1 1090 1091 +1607 1 1090 1092 +1608 1 1174 1175 +1609 1 1174 1176 +1610 1 1198 1199 +1611 1 1198 1200 +1612 1 1444 1445 +1613 1 1444 1446 +1614 1 1495 1496 +1615 1 1495 1497 +1616 1 1594 1595 +1617 1 1594 1596 +1618 1 2056 2057 +1619 1 2056 2058 +1620 1 2722 2723 +1621 1 2722 2724 +1622 1 3043 3044 +1623 1 3043 3045 +1624 1 58 59 +1625 1 58 60 +1626 1 214 215 +1627 1 214 216 +1628 1 226 227 +1629 1 226 228 +1630 1 238 239 +1631 1 238 240 +1632 1 391 392 +1633 1 391 393 +1634 1 865 866 +1635 1 865 867 +1636 1 919 920 +1637 1 919 921 +1638 1 1084 1085 +1639 1 1084 1086 +1640 1 1222 1223 +1641 1 1222 1224 +1642 1 1342 1343 +1643 1 1342 1344 +1644 1 1855 1856 +1645 1 1855 1857 +1646 1 1873 1874 +1647 1 1873 1875 +1648 1 2071 2072 +1649 1 2071 2073 +1650 1 2086 2087 +1651 1 2086 2088 +1652 1 2101 2102 +1653 1 2101 2103 +1654 1 2452 2453 +1655 1 2452 2454 +1656 1 2458 2459 +1657 1 2458 2460 +1658 1 2725 2726 +1659 1 2725 2727 +1660 1 2863 2864 +1661 1 2863 2865 +1662 1 2968 2969 +1663 1 2968 2970 +1664 1 2995 2996 +1665 1 2995 2997 +1666 1 178 179 +1667 1 178 180 +1668 1 310 311 +1669 1 310 312 +1670 1 334 335 +1671 1 334 336 +1672 1 337 338 +1673 1 337 339 +1674 1 619 620 +1675 1 619 621 +1676 1 1225 1226 +1677 1 1225 1227 +1678 1 1309 1310 +1679 1 1309 1311 +1680 1 1999 2000 +1681 1 1999 2001 +1682 1 2116 2117 +1683 1 2116 2118 +1684 1 2119 2120 +1685 1 2119 2121 +1686 1 2506 2507 +1687 1 2506 2508 +1688 1 2620 2621 +1689 1 2620 2622 +1690 1 3028 3029 +1691 1 3028 3030 +1692 1 3034 3035 +1693 1 3034 3036 +1694 1 3046 3047 +1695 1 3046 3048 +1696 1 343 344 +1697 1 343 345 +1698 1 841 842 +1699 1 841 843 +1700 1 1021 1022 +1701 1 1021 1023 +1702 1 1030 1031 +1703 1 1030 1032 +1704 1 1054 1055 +1705 1 1054 1056 +1706 1 1237 1238 +1707 1 1237 1239 +1708 1 1348 1349 +1709 1 1348 1350 +1710 1 1576 1577 +1711 1 1576 1578 +1712 1 1804 1805 +1713 1 1804 1806 +1714 1 2413 2414 +1715 1 2413 2415 +1716 1 2629 2630 +1717 1 2629 2631 +1718 1 3010 3011 +1719 1 3010 3012 +1720 1 49 50 +1721 1 49 51 +1722 1 247 248 +1723 1 247 249 +1724 1 457 458 +1725 1 457 459 +1726 1 1045 1046 +1727 1 1045 1047 +1728 1 1096 1097 +1729 1 1096 1098 +1730 1 1267 1268 +1731 1 1267 1269 +1732 1 1366 1367 +1733 1 1366 1368 +1734 1 1450 1451 +1735 1 1450 1452 +1736 1 1474 1475 +1737 1 1474 1476 +1738 1 1726 1727 +1739 1 1726 1728 +1740 1 1729 1730 +1741 1 1729 1731 +1742 1 1816 1817 +1743 1 1816 1818 +1744 1 2161 2162 +1745 1 2161 2163 +1746 1 2215 2216 +1747 1 2215 2217 +1748 1 2308 2309 +1749 1 2308 2310 +1750 1 2404 2405 +1751 1 2404 2406 +1752 1 2482 2483 +1753 1 2482 2484 +1754 1 2734 2735 +1755 1 2734 2736 +1756 1 3061 3062 +1757 1 3061 3063 +1758 1 367 368 +1759 1 367 369 +1760 1 448 449 +1761 1 448 450 +1762 1 799 800 +1763 1 799 801 +1764 1 970 971 +1765 1 970 972 +1766 1 1219 1220 +1767 1 1219 1221 +1768 1 1300 1301 +1769 1 1300 1302 +1770 1 1429 1430 +1771 1 1429 1431 +1772 1 1612 1613 +1773 1 1612 1614 +1774 1 1684 1685 +1775 1 1684 1686 +1776 1 1783 1784 +1777 1 1783 1785 +1778 1 2170 2171 +1779 1 2170 2172 +1780 1 2269 2270 +1781 1 2269 2271 +1782 1 2599 2600 +1783 1 2599 2601 +1784 1 2713 2714 +1785 1 2713 2715 +1786 1 2848 2849 +1787 1 2848 2850 +1788 1 2887 2888 +1789 1 2887 2889 +1790 1 2917 2918 +1791 1 2917 2919 +1792 1 82 83 +1793 1 82 84 +1794 1 235 236 +1795 1 235 237 +1796 1 259 260 +1797 1 259 261 +1798 1 352 353 +1799 1 352 354 +1800 1 622 623 +1801 1 622 624 +1802 1 736 737 +1803 1 736 738 +1804 1 892 893 +1805 1 892 894 +1806 1 1141 1142 +1807 1 1141 1143 +1808 1 1258 1259 +1809 1 1258 1260 +1810 1 1276 1277 +1811 1 1276 1278 +1812 1 1708 1709 +1813 1 1708 1710 +1814 1 1966 1967 +1815 1 1966 1968 +1816 1 2263 2264 +1817 1 2263 2265 +1818 1 2275 2276 +1819 1 2275 2277 +1820 1 2362 2363 +1821 1 2362 2364 +1822 1 2473 2474 +1823 1 2473 2475 +1824 1 2824 2825 +1825 1 2824 2826 +1826 1 25 26 +1827 1 25 27 +1828 1 256 257 +1829 1 256 258 +1830 1 295 296 +1831 1 295 297 +1832 1 316 317 +1833 1 316 318 +1834 1 394 395 +1835 1 394 396 +1836 1 427 428 +1837 1 427 429 +1838 1 652 653 +1839 1 652 654 +1840 1 694 695 +1841 1 694 696 +1842 1 781 782 +1843 1 781 783 +1844 1 949 950 +1845 1 949 951 +1846 1 973 974 +1847 1 973 975 +1848 1 1567 1568 +1849 1 1567 1569 +1850 1 1672 1673 +1851 1 1672 1674 +1852 1 2008 2009 +1853 1 2008 2010 +1854 1 2026 2027 +1855 1 2026 2028 +1856 1 2206 2207 +1857 1 2206 2208 +1858 1 2407 2408 +1859 1 2407 2409 +1860 1 2671 2672 +1861 1 2671 2673 +1862 1 2677 2678 +1863 1 2677 2679 +1864 1 2749 2750 +1865 1 2749 2751 +1866 1 3001 3002 +1867 1 3001 3003 +1868 1 76 77 +1869 1 76 78 +1870 1 79 80 +1871 1 79 81 +1872 1 1012 1013 +1873 1 1012 1014 +1874 1 1138 1139 +1875 1 1138 1140 +1876 1 1195 1196 +1877 1 1195 1197 +1878 1 1468 1469 +1879 1 1468 1470 +1880 1 1570 1571 +1881 1 1570 1572 +1882 1 1648 1649 +1883 1 1648 1650 +1884 1 1693 1694 +1885 1 1693 1695 +1886 1 1747 1748 +1887 1 1747 1749 +1888 1 1765 1766 +1889 1 1765 1767 +1890 1 1858 1859 +1891 1 1858 1860 +1892 1 2053 2054 +1893 1 2053 2055 +1894 1 2617 2618 +1895 1 2617 2619 +1896 1 2806 2807 +1897 1 2806 2808 +1898 1 133 134 +1899 1 133 135 +1900 1 586 587 +1901 1 586 588 +1902 1 607 608 +1903 1 607 609 +1904 1 814 815 +1905 1 814 816 +1906 1 985 986 +1907 1 985 987 +1908 1 1039 1040 +1909 1 1039 1041 +1910 1 1252 1253 +1911 1 1252 1254 +1912 1 1255 1256 +1913 1 1255 1257 +1914 1 1414 1415 +1915 1 1414 1416 +1916 1 1447 1448 +1917 1 1447 1449 +1918 1 1696 1697 +1919 1 1696 1698 +1920 1 1825 1826 +1921 1 1825 1827 +1922 1 1852 1853 +1923 1 1852 1854 +1924 1 2050 2051 +1925 1 2050 2052 +1926 1 2185 2186 +1927 1 2185 2187 +1928 1 2224 2225 +1929 1 2224 2226 +1930 1 2329 2330 +1931 1 2329 2331 +1932 1 2485 2486 +1933 1 2485 2487 +1934 1 2539 2540 +1935 1 2539 2541 +1936 1 2560 2561 +1937 1 2560 2562 +1938 1 2581 2582 +1939 1 2581 2583 +1940 1 28 29 +1941 1 28 30 +1942 1 154 155 +1943 1 154 156 +1944 1 268 269 +1945 1 268 270 +1946 1 571 572 +1947 1 571 573 +1948 1 895 896 +1949 1 895 897 +1950 1 1345 1346 +1951 1 1345 1347 +1952 1 1609 1610 +1953 1 1609 1611 +1954 1 1750 1751 +1955 1 1750 1752 +1956 1 2059 2060 +1957 1 2059 2061 +1958 1 2089 2090 +1959 1 2089 2091 +1960 1 2176 2177 +1961 1 2176 2178 +1962 1 2494 2495 +1963 1 2494 2496 +1964 1 2881 2882 +1965 1 2881 2883 +1966 1 16 17 +1967 1 16 18 +1968 1 283 284 +1969 1 283 285 +1970 1 331 332 +1971 1 331 333 +1972 1 358 359 +1973 1 358 360 +1974 1 454 455 +1975 1 454 456 +1976 1 499 500 +1977 1 499 501 +1978 1 697 698 +1979 1 697 699 +1980 1 862 863 +1981 1 862 864 +1982 1 871 872 +1983 1 871 873 +1984 1 976 977 +1985 1 976 978 +1986 1 1279 1280 +1987 1 1279 1281 +1988 1 1282 1283 +1989 1 1282 1284 +1990 1 1315 1316 +1991 1 1315 1317 +1992 1 1537 1538 +1993 1 1537 1539 +1994 1 1597 1598 +1995 1 1597 1599 +1996 1 2002 2003 +1997 1 2002 2004 +1998 1 2773 2774 +1999 1 2773 2775 +2000 1 19 20 +2001 1 19 21 +2002 1 379 380 +2003 1 379 381 +2004 1 643 644 +2005 1 643 645 +2006 1 1018 1019 +2007 1 1018 1020 +2008 1 1210 1211 +2009 1 1210 1212 +2010 1 1213 1214 +2011 1 1213 1215 +2012 1 1357 1358 +2013 1 1357 1359 +2014 1 1888 1889 +2015 1 1888 1890 +2016 1 2095 2096 +2017 1 2095 2097 +2018 1 2227 2228 +2019 1 2227 2229 +2020 1 2248 2249 +2021 1 2248 2250 +2022 1 2962 2963 +2023 1 2962 2964 +2024 1 124 125 +2025 1 124 126 +2026 1 166 167 +2027 1 166 168 +2028 1 244 245 +2029 1 244 246 +2030 1 355 356 +2031 1 355 357 +2032 1 532 533 +2033 1 532 534 +2034 1 658 659 +2035 1 658 660 +2036 1 1006 1007 +2037 1 1006 1008 +2038 1 1477 1478 +2039 1 1477 1479 +2040 1 1879 1880 +2041 1 1879 1881 +2042 1 2023 2024 +2043 1 2023 2025 +2044 1 2092 2093 +2045 1 2092 2094 +2046 1 2260 2261 +2047 1 2260 2262 +2048 1 2347 2348 +2049 1 2347 2349 +2050 1 2575 2576 +2051 1 2575 2577 +2052 1 2584 2585 +2053 1 2584 2586 +2054 1 2953 2954 +2055 1 2953 2955 + +Angles + +1 1 377 376 378 +2 1 512 511 513 +3 1 677 676 678 +4 1 692 691 693 +5 1 998 997 999 +6 1 1121 1120 1122 +7 1 1145 1144 1146 +8 1 1715 1714 1716 +9 1 1799 1798 1800 +10 1 1823 1822 1824 +11 1 1892 1891 1893 +12 1 2030 2029 2031 +13 1 2669 2668 2670 +14 1 2879 2878 2880 +15 1 191 190 192 +16 1 350 349 351 +17 1 488 487 489 +18 1 818 817 819 +19 1 1043 1042 1044 +20 1 1205 1204 1206 +21 1 1406 1405 1407 +22 1 1529 1528 1530 +23 1 2114 2113 2115 +24 1 2219 2218 2220 +25 1 2840 2839 2841 +26 1 275 274 276 +27 1 440 439 441 +28 1 665 664 666 +29 1 869 868 870 +30 1 914 913 915 +31 1 1463 1462 1464 +32 1 1604 1603 1605 +33 1 1841 1840 1842 +34 1 1877 1876 1878 +35 1 1964 1963 1965 +36 1 2045 2044 2046 +37 1 2258 2257 2259 +38 1 2354 2353 2355 +39 1 2786 2785 2787 +40 1 11 10 12 +41 1 467 466 468 +42 1 767 766 768 +43 1 845 844 846 +44 1 902 901 903 +45 1 923 922 924 +46 1 956 955 957 +47 1 1157 1156 1158 +48 1 1181 1180 1182 +49 1 1481 1480 1482 +50 1 1514 1513 1515 +51 1 1655 1654 1656 +52 1 1763 1762 1764 +53 1 2021 2020 2022 +54 1 2033 2032 2034 +55 1 2192 2191 2193 +56 1 2294 2293 2295 +57 1 2513 2512 2514 +58 1 2555 2554 2556 +59 1 2615 2614 2616 +60 1 2831 2830 2832 +61 1 3065 3064 3066 +62 1 92 91 93 +63 1 140 139 141 +64 1 539 538 540 +65 1 617 616 618 +66 1 935 934 936 +67 1 1028 1027 1029 +68 1 1079 1078 1080 +69 1 1160 1159 1161 +70 1 1460 1459 1461 +71 1 1565 1564 1566 +72 1 1742 1741 1743 +73 1 2015 2014 2016 +74 1 2306 2305 2307 +75 1 2462 2461 2463 +76 1 2501 2500 2502 +77 1 2519 2518 2520 +78 1 2798 2797 2799 +79 1 2900 2899 2901 +80 1 44 43 45 +81 1 161 160 162 +82 1 389 388 390 +83 1 506 505 507 +84 1 1088 1087 1089 +85 1 1190 1189 1191 +86 1 1352 1351 1353 +87 1 1418 1417 1419 +88 1 1913 1912 1914 +89 1 1928 1927 1929 +90 1 2210 2209 2211 +91 1 2441 2440 2442 +92 1 2549 2548 2550 +93 1 2552 2551 2553 +94 1 470 469 471 +95 1 704 703 705 +96 1 1235 1234 1236 +97 1 1391 1390 1392 +98 1 1559 1558 1560 +99 1 1574 1573 1575 +100 1 1907 1906 1908 +101 1 1919 1918 1920 +102 1 1970 1969 1971 +103 1 2246 2245 2247 +104 1 2393 2392 2394 +105 1 2813 2812 2814 +106 1 2903 2902 2904 +107 1 3017 3016 3018 +108 1 170 169 171 +109 1 197 196 198 +110 1 365 364 366 +111 1 434 433 435 +112 1 509 508 510 +113 1 563 562 564 +114 1 716 715 717 +115 1 722 721 723 +116 1 1124 1123 1125 +117 1 1295 1294 1296 +118 1 1661 1660 1662 +119 1 1883 1882 1884 +120 1 1916 1915 1917 +121 1 2189 2188 2190 +122 1 2333 2332 2334 +123 1 2372 2371 2373 +124 1 2420 2419 2421 +125 1 2660 2659 2661 +126 1 2681 2680 2682 +127 1 2795 2794 2796 +128 1 95 94 96 +129 1 194 193 195 +130 1 251 250 252 +131 1 503 502 504 +132 1 602 601 603 +133 1 686 685 687 +134 1 746 745 747 +135 1 911 910 912 +136 1 1229 1228 1230 +137 1 1241 1240 1242 +138 1 1340 1339 1341 +139 1 1493 1492 1494 +140 1 1637 1636 1638 +141 1 1670 1669 1671 +142 1 1718 1717 1719 +143 1 2213 2212 2214 +144 1 2648 2647 2649 +145 1 2810 2809 2811 +146 1 35 34 36 +147 1 404 403 405 +148 1 530 529 531 +149 1 569 568 570 +150 1 575 574 576 +151 1 593 592 594 +152 1 749 748 750 +153 1 1004 1003 1005 +154 1 1331 1330 1332 +155 1 1421 1420 1422 +156 1 1484 1483 1485 +157 1 1643 1642 1644 +158 1 1682 1681 1683 +159 1 1703 1702 1704 +160 1 2066 2065 2067 +161 1 2312 2311 2313 +162 1 2711 2710 2712 +163 1 2858 2857 2859 +164 1 98 97 99 +165 1 314 313 315 +166 1 386 385 387 +167 1 518 517 519 +168 1 554 553 555 +169 1 965 964 966 +170 1 1109 1108 1110 +171 1 1640 1639 1641 +172 1 1721 1720 1722 +173 1 1961 1960 1962 +174 1 2123 2122 2124 +175 1 2327 2326 2328 +176 1 2780 2779 2781 +177 1 3026 3025 3027 +178 1 278 277 279 +179 1 323 322 324 +180 1 383 382 384 +181 1 410 409 411 +182 1 491 490 492 +183 1 545 544 546 +184 1 809 808 810 +185 1 848 847 849 +186 1 1409 1408 1410 +187 1 1925 1924 1926 +188 1 1931 1930 1932 +189 1 2018 2017 2019 +190 1 2081 2080 2082 +191 1 2738 2737 2739 +192 1 2852 2851 2853 +193 1 2924 2923 2925 +194 1 182 181 183 +195 1 293 292 294 +196 1 479 478 480 +197 1 803 802 804 +198 1 938 937 939 +199 1 1001 1000 1002 +200 1 1049 1048 1050 +201 1 1073 1072 1074 +202 1 1136 1135 1137 +203 1 1250 1249 1251 +204 1 1271 1270 1272 +205 1 1319 1318 1320 +206 1 1898 1897 1899 +207 1 2318 2317 2319 +208 1 2375 2374 2376 +209 1 2717 2716 2718 +210 1 3020 3019 3021 +211 1 3074 3073 3075 +212 1 596 595 597 +213 1 833 832 834 +214 1 1436 1435 1437 +215 1 1625 1624 1626 +216 1 1652 1651 1653 +217 1 1769 1768 1770 +218 1 1865 1864 1866 +219 1 1922 1921 1923 +220 1 2303 2302 2304 +221 1 2345 2344 2346 +222 1 2606 2605 2607 +223 1 2675 2674 2676 +224 1 3008 3007 3009 +225 1 3038 3037 3039 +226 1 23 22 24 +227 1 362 361 363 +228 1 431 430 432 +229 1 926 925 927 +230 1 1535 1534 1536 +231 1 1592 1591 1593 +232 1 2645 2644 2646 +233 1 2765 2764 2766 +234 1 2837 2836 2838 +235 1 2951 2950 2952 +236 1 2990 2989 2991 +237 1 674 673 675 +238 1 701 700 702 +239 1 1232 1231 1233 +240 1 1304 1303 1305 +241 1 1658 1657 1659 +242 1 1745 1744 1746 +243 1 1757 1756 1758 +244 1 1814 1813 1815 +245 1 1943 1942 1944 +246 1 2339 2338 2340 +247 1 2651 2650 2652 +248 1 2987 2986 2988 +249 1 38 37 39 +250 1 641 640 642 +251 1 728 727 729 +252 1 1532 1531 1533 +253 1 1811 1810 1812 +254 1 1835 1834 1836 +255 1 1955 1954 1956 +256 1 2012 2011 2013 +257 1 2168 2167 2169 +258 1 2564 2563 2565 +259 1 2933 2932 2934 +260 1 452 451 453 +261 1 584 583 585 +262 1 656 655 657 +263 1 794 793 795 +264 1 851 850 852 +265 1 980 979 981 +266 1 1025 1024 1026 +267 1 1106 1105 1107 +268 1 1208 1207 1209 +269 1 1802 1801 1803 +270 1 2141 2140 2142 +271 1 2198 2197 2199 +272 1 2480 2479 2481 +273 1 2633 2632 2634 +274 1 2783 2782 2784 +275 1 203 202 204 +276 1 266 265 267 +277 1 305 304 306 +278 1 473 472 474 +279 1 482 481 483 +280 1 599 598 600 +281 1 707 706 708 +282 1 944 943 945 +283 1 1034 1033 1035 +284 1 1130 1129 1131 +285 1 1148 1147 1149 +286 1 1151 1150 1152 +287 1 1184 1183 1185 +288 1 1244 1243 1245 +289 1 1544 1543 1545 +290 1 1547 1546 1548 +291 1 1754 1753 1755 +292 1 1976 1975 1977 +293 1 2321 2320 2322 +294 1 2822 2821 2823 +295 1 3053 3052 3054 +296 1 3059 3058 3060 +297 1 647 646 648 +298 1 761 760 762 +299 1 1082 1081 1083 +300 1 1103 1102 1104 +301 1 1376 1375 1377 +302 1 1901 1900 1902 +303 1 1985 1984 1986 +304 1 2036 2035 2037 +305 1 2384 2383 2385 +306 1 2456 2455 2457 +307 1 2465 2464 2466 +308 1 2510 2509 2511 +309 1 2693 2692 2694 +310 1 2972 2971 2973 +311 1 3023 3022 3024 +312 1 3032 3031 3033 +313 1 68 67 69 +314 1 422 421 423 +315 1 1382 1381 1383 +316 1 1667 1666 1668 +317 1 1871 1870 1872 +318 1 1937 1936 1938 +319 1 2870 2869 2871 +320 2 2 1 3 +321 2 2 1 4 +322 2 3 1 4 +323 1 146 145 147 +324 1 590 589 591 +325 1 1472 1471 1473 +326 1 1553 1552 1554 +327 1 2084 2083 2085 +328 1 2492 2491 2493 +329 1 2663 2662 2664 +330 1 2762 2761 2763 +331 1 143 142 144 +332 1 233 232 234 +333 1 341 340 342 +334 1 419 418 420 +335 1 626 625 627 +336 1 638 637 639 +337 1 779 778 780 +338 1 1172 1171 1173 +339 1 1307 1306 1308 +340 1 1541 1540 1542 +341 1 1772 1771 1773 +342 1 2243 2242 2244 +343 1 2636 2635 2637 +344 1 2912 2911 2913 +345 1 560 559 561 +346 1 791 790 792 +347 1 968 967 969 +348 1 1292 1291 1293 +349 1 1373 1372 1374 +350 1 1442 1441 1443 +351 1 1580 1579 1581 +352 1 1886 1885 1887 +353 1 2288 2287 2289 +354 1 2366 2365 2367 +355 1 2396 2395 2397 +356 1 2591 2590 2592 +357 1 2759 2758 2760 +358 1 2978 2977 2979 +359 1 206 205 207 +360 1 320 319 321 +361 1 401 400 402 +362 1 437 436 438 +363 1 566 565 567 +364 1 806 805 807 +365 1 959 958 960 +366 1 1154 1153 1155 +367 1 1439 1438 1440 +368 1 1676 1675 1677 +369 1 1679 1678 1680 +370 1 1724 1723 1725 +371 1 1868 1867 1869 +372 1 2165 2164 2166 +373 1 2204 2203 2205 +374 1 2336 2335 2337 +375 1 2390 2389 2391 +376 1 2399 2398 2400 +377 1 2690 2689 2691 +378 1 2981 2980 2982 +379 1 329 328 330 +380 1 374 373 375 +381 1 464 463 465 +382 1 557 556 558 +383 1 758 757 759 +384 1 788 787 789 +385 1 797 796 798 +386 1 821 820 822 +387 1 824 823 825 +388 1 839 838 840 +389 1 947 946 948 +390 1 1334 1333 1335 +391 1 1454 1453 1455 +392 1 1775 1774 1776 +393 1 1949 1948 1950 +394 1 2273 2272 2274 +395 1 2477 2476 2478 +396 1 2594 2593 2595 +397 1 2729 2728 2730 +398 1 2873 2872 2874 +399 1 2966 2965 2967 +400 1 185 184 186 +401 1 281 280 282 +402 1 740 739 741 +403 1 770 769 771 +404 1 773 772 774 +405 1 1247 1246 1248 +406 1 1262 1261 1263 +407 1 1601 1600 1602 +408 1 1760 1759 1761 +409 1 2279 2278 2280 +410 1 2522 2521 2523 +411 1 2558 2557 2559 +412 1 2597 2596 2598 +413 1 2747 2746 2748 +414 1 2816 2815 2817 +415 1 2834 2833 2835 +416 1 2894 2893 2895 +417 1 149 148 150 +418 1 263 262 264 +419 1 629 628 630 +420 1 650 649 651 +421 1 827 826 828 +422 1 887 886 888 +423 1 992 991 993 +424 1 1562 1561 1563 +425 1 1988 1987 1989 +426 1 2042 2041 2043 +427 1 2126 2125 2127 +428 1 2180 2179 2181 +429 1 2255 2254 2256 +430 1 2282 2281 2283 +431 1 2342 2341 2343 +432 1 2435 2434 2436 +433 1 2609 2608 2610 +434 1 2624 2623 2625 +435 1 2744 2743 2745 +436 1 2939 2938 2940 +437 1 3080 3079 3081 +438 1 308 307 309 +439 1 917 916 918 +440 1 1193 1192 1194 +441 1 1274 1273 1275 +442 1 1313 1312 1314 +443 1 1322 1321 1323 +444 1 1808 1807 1809 +445 1 1946 1945 1947 +446 1 1991 1990 1992 +447 1 2300 2299 2301 +448 1 2867 2866 2868 +449 1 41 40 42 +450 1 116 115 117 +451 1 128 127 129 +452 1 218 217 219 +453 1 710 709 711 +454 1 1517 1516 1518 +455 1 1733 1732 1734 +456 1 1979 1978 1980 +457 1 2612 2611 2613 +458 1 2708 2707 2709 +459 1 2843 2842 2844 +460 1 2846 2845 2847 +461 1 2915 2914 2916 +462 1 2945 2944 2946 +463 1 446 445 447 +464 1 497 496 498 +465 1 527 526 528 +466 1 713 712 714 +467 1 776 775 777 +468 1 785 784 786 +469 1 836 835 837 +470 1 1067 1066 1068 +471 1 1355 1354 1356 +472 1 1379 1378 1380 +473 1 1700 1699 1701 +474 1 1706 1705 1707 +475 1 1844 1843 1845 +476 1 1934 1933 1935 +477 1 1952 1951 1953 +478 1 2078 2077 2079 +479 1 2369 2368 2370 +480 1 2417 2416 2418 +481 1 2588 2587 2589 +482 1 3068 3067 3069 +483 1 74 73 75 +484 1 110 109 111 +485 1 176 175 177 +486 1 254 253 255 +487 1 668 667 669 +488 1 689 688 690 +489 1 1016 1015 1017 +490 1 1361 1360 1362 +491 1 1364 1363 1365 +492 1 1796 1795 1797 +493 1 1973 1972 1974 +494 1 2135 2134 2136 +495 1 2504 2503 2505 +496 1 2534 2533 2535 +497 1 2666 2665 2667 +498 1 2897 2896 2898 +499 1 3050 3049 3051 +500 1 56 55 57 +501 1 212 211 213 +502 1 536 535 537 +503 1 1394 1393 1395 +504 1 1424 1423 1425 +505 1 1550 1549 1551 +506 1 1712 1711 1713 +507 1 1778 1777 1779 +508 1 2153 2152 2154 +509 1 2174 2173 2175 +510 1 2234 2233 2235 +511 1 2402 2401 2403 +512 1 2447 2446 2448 +513 1 2471 2470 2472 +514 1 2639 2638 2640 +515 1 2855 2854 2856 +516 1 398 397 399 +517 1 461 460 462 +518 1 515 514 516 +519 1 1052 1051 1053 +520 1 1100 1099 1101 +521 1 1178 1177 1179 +522 1 1607 1606 1608 +523 1 1616 1615 1617 +524 1 1787 1786 1788 +525 1 1820 1819 1821 +526 1 2108 2107 2109 +527 1 2159 2158 2160 +528 1 2222 2221 2223 +529 1 2267 2266 2268 +530 1 2429 2428 2430 +531 1 2468 2467 2469 +532 1 2537 2536 2538 +533 1 2654 2653 2655 +534 1 2657 2656 2658 +535 1 3005 3004 3006 +536 1 104 103 105 +537 1 299 298 300 +538 1 521 520 522 +539 1 764 763 765 +540 1 812 811 813 +541 1 878 877 879 +542 1 1298 1297 1299 +543 1 1466 1465 1467 +544 1 1631 1630 1632 +545 1 1790 1789 1791 +546 1 1895 1894 1896 +547 1 2156 2155 2157 +548 1 2771 2770 2772 +549 1 2936 2935 2937 +550 1 53 52 54 +551 1 131 130 132 +552 1 188 187 189 +553 1 200 199 201 +554 1 413 412 414 +555 1 494 493 495 +556 1 890 889 891 +557 1 1133 1132 1134 +558 1 1487 1486 1488 +559 1 1502 1501 1503 +560 1 1910 1909 1911 +561 1 2138 2137 2139 +562 1 2381 2380 2382 +563 1 2531 2530 2532 +564 1 416 415 417 +565 1 578 577 579 +566 1 683 682 684 +567 1 731 730 732 +568 1 905 904 906 +569 1 983 982 984 +570 1 1061 1060 1062 +571 1 1166 1165 1167 +572 1 1202 1201 1203 +573 1 1328 1327 1329 +574 1 1370 1369 1371 +575 1 1850 1849 1851 +576 1 2291 2290 2292 +577 1 2378 2377 2379 +578 1 2546 2545 2547 +579 1 2603 2602 2604 +580 1 2684 2683 2685 +581 1 2756 2755 2757 +582 1 2801 2800 2802 +583 1 101 100 102 +584 1 209 208 210 +585 1 224 223 225 +586 1 680 679 681 +587 1 1076 1075 1077 +588 1 1490 1489 1491 +589 1 1511 1510 1512 +590 1 1583 1582 1584 +591 1 1739 1738 1740 +592 1 1847 1846 1848 +593 1 1904 1903 1905 +594 1 2099 2098 2100 +595 1 2240 2239 2241 +596 1 2324 2323 2325 +597 1 2516 2515 2517 +598 1 2702 2701 2703 +599 1 2828 2827 2829 +600 1 2885 2884 2886 +601 1 2975 2974 2976 +602 1 3041 3040 3042 +603 1 113 112 114 +604 1 122 121 123 +605 1 860 859 861 +606 1 908 907 909 +607 1 1037 1036 1038 +608 1 1112 1111 1113 +609 1 1499 1498 1500 +610 1 2075 2074 2076 +611 1 2195 2194 2196 +612 1 2450 2449 2451 +613 1 2993 2992 2994 +614 1 3014 3013 3015 +615 1 326 325 327 +616 1 371 370 372 +617 1 719 718 720 +618 1 899 898 900 +619 1 1163 1162 1164 +620 1 1265 1264 1266 +621 1 1397 1396 1398 +622 1 1862 1861 1863 +623 1 2063 2062 2064 +624 1 2147 2146 2148 +625 1 2237 2236 2238 +626 1 2297 2296 2298 +627 1 2426 2425 2427 +628 1 2432 2431 2433 +629 1 2444 2443 2445 +630 1 2498 2497 2499 +631 1 2627 2626 2628 +632 1 2642 2641 2643 +633 1 2942 2941 2943 +634 1 3077 3076 3078 +635 1 62 61 63 +636 1 65 64 66 +637 1 611 610 612 +638 1 632 631 633 +639 1 662 661 663 +640 1 725 724 726 +641 1 743 742 744 +642 1 830 829 831 +643 1 1058 1057 1059 +644 1 1505 1504 1506 +645 1 1736 1735 1737 +646 1 2069 2068 2070 +647 1 2699 2698 2700 +648 1 2819 2818 2820 +649 1 2861 2860 2862 +650 1 2906 2905 2907 +651 1 2909 2908 2910 +652 1 3056 3055 3057 +653 1 287 286 288 +654 1 485 484 486 +655 1 581 580 582 +656 1 884 883 885 +657 1 1289 1288 1290 +658 1 1325 1324 1326 +659 1 1508 1507 1509 +660 1 1622 1621 1623 +661 1 1634 1633 1635 +662 1 1781 1780 1782 +663 1 1832 1831 1833 +664 1 2105 2104 2106 +665 1 2285 2284 2286 +666 1 2357 2356 2358 +667 1 2570 2569 2571 +668 1 2999 2998 3000 +669 3 6 5 7 +670 3 6 5 8 +671 3 7 5 8 +672 4 6 5 9 +673 4 7 5 9 +674 4 8 5 9 +675 1 71 70 72 +676 1 89 88 90 +677 1 173 172 174 +678 1 443 442 444 +679 1 671 670 672 +680 1 989 988 990 +681 1 1520 1519 1521 +682 1 1586 1585 1587 +683 1 2006 2005 2007 +684 1 2129 2128 2130 +685 1 2528 2527 2529 +686 1 2705 2704 2706 +687 1 2741 2740 2742 +688 1 2792 2791 2793 +689 1 47 46 48 +690 1 86 85 87 +691 1 119 118 120 +692 1 542 541 543 +693 1 854 853 855 +694 1 875 874 876 +695 1 995 994 996 +696 1 1064 1063 1065 +697 1 1094 1093 1095 +698 1 1115 1114 1116 +699 1 1169 1168 1170 +700 1 1187 1186 1188 +701 1 1286 1285 1287 +702 1 1400 1399 1401 +703 1 1412 1411 1413 +704 1 1433 1432 1434 +705 1 1526 1525 1527 +706 1 1646 1645 1647 +707 1 1691 1690 1692 +708 1 1997 1996 1998 +709 1 2132 2131 2133 +710 1 2567 2566 2568 +711 1 2921 2920 2922 +712 1 2930 2929 2931 +713 1 347 346 348 +714 1 476 475 477 +715 1 635 634 636 +716 1 881 880 882 +717 1 1664 1663 1665 +718 1 1793 1792 1794 +719 1 1940 1939 1941 +720 1 2048 2047 2049 +721 1 2111 2110 2112 +722 1 2423 2422 2424 +723 1 2438 2437 2439 +724 1 2777 2776 2778 +725 1 2804 2803 2805 +726 1 2948 2947 2949 +727 1 2960 2959 2961 +728 1 2984 2983 2985 +729 1 272 271 273 +730 1 605 604 606 +731 1 755 754 756 +732 1 929 928 930 +733 1 1385 1384 1386 +734 1 1688 1687 1689 +735 1 1982 1981 1983 +736 1 1994 1993 1995 +737 1 2231 2230 2232 +738 1 2687 2686 2688 +739 1 2789 2788 2790 +740 1 2927 2926 2928 +741 1 221 220 222 +742 1 953 952 954 +743 1 1388 1387 1389 +744 1 1403 1402 1404 +745 1 1427 1426 1428 +746 1 1829 1828 1830 +747 1 2411 2410 2412 +748 1 2525 2524 2526 +749 1 2543 2542 2544 +750 1 2573 2572 2574 +751 1 107 106 108 +752 1 164 163 165 +753 1 290 289 291 +754 1 407 406 408 +755 1 425 424 426 +756 1 614 613 615 +757 1 734 733 735 +758 1 857 856 858 +759 1 1457 1456 1458 +760 1 1523 1522 1524 +761 1 1556 1555 1557 +762 1 1619 1618 1620 +763 1 1838 1837 1839 +764 1 2039 2038 2040 +765 1 2150 2149 2151 +766 1 2351 2350 2352 +767 1 2489 2488 2490 +768 1 2753 2752 2754 +769 1 2957 2956 2958 +770 1 14 13 15 +771 1 32 31 33 +772 1 524 523 525 +773 1 548 547 549 +774 1 1070 1069 1071 +775 1 1127 1126 1128 +776 1 1217 1216 1218 +777 1 1337 1336 1338 +778 1 1589 1588 1590 +779 1 1628 1627 1629 +780 1 1958 1957 1959 +781 1 2144 2143 2145 +782 1 2183 2182 2184 +783 1 2315 2314 2316 +784 1 2579 2578 2580 +785 1 2696 2695 2697 +786 1 2732 2731 2733 +787 1 2876 2875 2877 +788 1 3071 3070 3072 +789 1 230 229 231 +790 1 242 241 243 +791 1 302 301 303 +792 1 752 751 753 +793 1 962 961 963 +794 1 1118 1117 1119 +795 1 2201 2200 2202 +796 1 2252 2251 2253 +797 1 2360 2359 2361 +798 1 2387 2386 2388 +799 1 2720 2719 2721 +800 1 2768 2767 2769 +801 1 2891 2890 2892 +802 1 137 136 138 +803 1 152 151 153 +804 1 158 157 159 +805 1 551 550 552 +806 1 932 931 933 +807 1 941 940 942 +808 1 1010 1009 1011 +809 1 1091 1090 1092 +810 1 1175 1174 1176 +811 1 1199 1198 1200 +812 1 1445 1444 1446 +813 1 1496 1495 1497 +814 1 1595 1594 1596 +815 1 2057 2056 2058 +816 1 2723 2722 2724 +817 1 3044 3043 3045 +818 1 59 58 60 +819 1 215 214 216 +820 1 227 226 228 +821 1 239 238 240 +822 1 392 391 393 +823 1 866 865 867 +824 1 920 919 921 +825 1 1085 1084 1086 +826 1 1223 1222 1224 +827 1 1343 1342 1344 +828 1 1856 1855 1857 +829 1 1874 1873 1875 +830 1 2072 2071 2073 +831 1 2087 2086 2088 +832 1 2102 2101 2103 +833 1 2453 2452 2454 +834 1 2459 2458 2460 +835 1 2726 2725 2727 +836 1 2864 2863 2865 +837 1 2969 2968 2970 +838 1 2996 2995 2997 +839 1 179 178 180 +840 1 311 310 312 +841 1 335 334 336 +842 1 338 337 339 +843 1 620 619 621 +844 1 1226 1225 1227 +845 1 1310 1309 1311 +846 1 2000 1999 2001 +847 1 2117 2116 2118 +848 1 2120 2119 2121 +849 1 2507 2506 2508 +850 1 2621 2620 2622 +851 1 3029 3028 3030 +852 1 3035 3034 3036 +853 1 3047 3046 3048 +854 1 344 343 345 +855 1 842 841 843 +856 1 1022 1021 1023 +857 1 1031 1030 1032 +858 1 1055 1054 1056 +859 1 1238 1237 1239 +860 1 1349 1348 1350 +861 1 1577 1576 1578 +862 1 1805 1804 1806 +863 1 2414 2413 2415 +864 1 2630 2629 2631 +865 1 3011 3010 3012 +866 1 50 49 51 +867 1 248 247 249 +868 1 458 457 459 +869 1 1046 1045 1047 +870 1 1097 1096 1098 +871 1 1268 1267 1269 +872 1 1367 1366 1368 +873 1 1451 1450 1452 +874 1 1475 1474 1476 +875 1 1727 1726 1728 +876 1 1730 1729 1731 +877 1 1817 1816 1818 +878 1 2162 2161 2163 +879 1 2216 2215 2217 +880 1 2309 2308 2310 +881 1 2405 2404 2406 +882 1 2483 2482 2484 +883 1 2735 2734 2736 +884 1 3062 3061 3063 +885 1 368 367 369 +886 1 449 448 450 +887 1 800 799 801 +888 1 971 970 972 +889 1 1220 1219 1221 +890 1 1301 1300 1302 +891 1 1430 1429 1431 +892 1 1613 1612 1614 +893 1 1685 1684 1686 +894 1 1784 1783 1785 +895 1 2171 2170 2172 +896 1 2270 2269 2271 +897 1 2600 2599 2601 +898 1 2714 2713 2715 +899 1 2849 2848 2850 +900 1 2888 2887 2889 +901 1 2918 2917 2919 +902 1 83 82 84 +903 1 236 235 237 +904 1 260 259 261 +905 1 353 352 354 +906 1 623 622 624 +907 1 737 736 738 +908 1 893 892 894 +909 1 1142 1141 1143 +910 1 1259 1258 1260 +911 1 1277 1276 1278 +912 1 1709 1708 1710 +913 1 1967 1966 1968 +914 1 2264 2263 2265 +915 1 2276 2275 2277 +916 1 2363 2362 2364 +917 1 2474 2473 2475 +918 1 2825 2824 2826 +919 1 26 25 27 +920 1 257 256 258 +921 1 296 295 297 +922 1 317 316 318 +923 1 395 394 396 +924 1 428 427 429 +925 1 653 652 654 +926 1 695 694 696 +927 1 782 781 783 +928 1 950 949 951 +929 1 974 973 975 +930 1 1568 1567 1569 +931 1 1673 1672 1674 +932 1 2009 2008 2010 +933 1 2027 2026 2028 +934 1 2207 2206 2208 +935 1 2408 2407 2409 +936 1 2672 2671 2673 +937 1 2678 2677 2679 +938 1 2750 2749 2751 +939 1 3002 3001 3003 +940 1 77 76 78 +941 1 80 79 81 +942 1 1013 1012 1014 +943 1 1139 1138 1140 +944 1 1196 1195 1197 +945 1 1469 1468 1470 +946 1 1571 1570 1572 +947 1 1649 1648 1650 +948 1 1694 1693 1695 +949 1 1748 1747 1749 +950 1 1766 1765 1767 +951 1 1859 1858 1860 +952 1 2054 2053 2055 +953 1 2618 2617 2619 +954 1 2807 2806 2808 +955 1 134 133 135 +956 1 587 586 588 +957 1 608 607 609 +958 1 815 814 816 +959 1 986 985 987 +960 1 1040 1039 1041 +961 1 1253 1252 1254 +962 1 1256 1255 1257 +963 1 1415 1414 1416 +964 1 1448 1447 1449 +965 1 1697 1696 1698 +966 1 1826 1825 1827 +967 1 1853 1852 1854 +968 1 2051 2050 2052 +969 1 2186 2185 2187 +970 1 2225 2224 2226 +971 1 2330 2329 2331 +972 1 2486 2485 2487 +973 1 2540 2539 2541 +974 1 2561 2560 2562 +975 1 2582 2581 2583 +976 1 29 28 30 +977 1 155 154 156 +978 1 269 268 270 +979 1 572 571 573 +980 1 896 895 897 +981 1 1346 1345 1347 +982 1 1610 1609 1611 +983 1 1751 1750 1752 +984 1 2060 2059 2061 +985 1 2090 2089 2091 +986 1 2177 2176 2178 +987 1 2495 2494 2496 +988 1 2882 2881 2883 +989 1 17 16 18 +990 1 284 283 285 +991 1 332 331 333 +992 1 359 358 360 +993 1 455 454 456 +994 1 500 499 501 +995 1 698 697 699 +996 1 863 862 864 +997 1 872 871 873 +998 1 977 976 978 +999 1 1280 1279 1281 +1000 1 1283 1282 1284 +1001 1 1316 1315 1317 +1002 1 1538 1537 1539 +1003 1 1598 1597 1599 +1004 1 2003 2002 2004 +1005 1 2774 2773 2775 +1006 1 20 19 21 +1007 1 380 379 381 +1008 1 644 643 645 +1009 1 1019 1018 1020 +1010 1 1211 1210 1212 +1011 1 1214 1213 1215 +1012 1 1358 1357 1359 +1013 1 1889 1888 1890 +1014 1 2096 2095 2097 +1015 1 2228 2227 2229 +1016 1 2249 2248 2250 +1017 1 2963 2962 2964 +1018 1 125 124 126 +1019 1 167 166 168 +1020 1 245 244 246 +1021 1 356 355 357 +1022 1 533 532 534 +1023 1 659 658 660 +1024 1 1007 1006 1008 +1025 1 1478 1477 1479 +1026 1 1880 1879 1881 +1027 1 2024 2023 2025 +1028 1 2093 2092 2094 +1029 1 2261 2260 2262 +1030 1 2348 2347 2349 +1031 1 2576 2575 2577 +1032 1 2585 2584 2586 +1033 1 2954 2953 2955 diff --git a/examples/QUANTUM/PySCF/data.water.pyscf b/examples/QUANTUM/PySCF/data.water similarity index 100% rename from examples/QUANTUM/PySCF/data.water.pyscf rename to examples/QUANTUM/PySCF/data.water diff --git a/examples/QUANTUM/PySCF/in.mixture.lammps b/examples/QUANTUM/PySCF/in.mixture.lammps new file mode 100644 index 0000000000..7f38b1397f --- /dev/null +++ b/examples/QUANTUM/PySCF/in.mixture.lammps @@ -0,0 +1,43 @@ +# QMMM with PySCF - mixture example + +units real +atom_style full + +pair_style lj/cut/coul/long 12 +pair_modify mix arithmetic + +bond_style harmonic +angle_style harmonic +dihedral_style none +improper_style none + +kspace_style pppm 1e-5 + +read_data data.mixture + +# QM atoms are IDs 1 to 9 +# MM atoms are remaining atoms + +group qm id 1:9 +group mm subtract all qm + +# remove bonds/angles between QM atoms +# set charges to zero on QM atoms + +delete_bonds qm multi remove special +set group qm charge 0.0 + +neighbor 2.0 bin +neigh_modify delay 0 every 1 check yes + +# MM dynamics + +timestep 0.01 + +fix 1 all nve + +thermo_style custom step cpu temp ke evdwl ecoul epair emol elong & + pe etotal press + +thermo 1 +run 2 diff --git a/examples/QUANTUM/PySCF/in.mixture.pyscf.qmmm b/examples/QUANTUM/PySCF/in.mixture.pyscf.qmmm new file mode 100644 index 0000000000..006008e30c --- /dev/null +++ b/examples/QUANTUM/PySCF/in.mixture.pyscf.qmmm @@ -0,0 +1,46 @@ +# QMMM with PySCF - mixture example + +units real +atom_style full + +pair_style lj/cut/coul/long 12 +pair_modify mix arithmetic + +bond_style harmonic +angle_style harmonic +dihedral_style none +improper_style none + +kspace_style pppm 1e-5 + +read_data data.mixture + +# QM atoms are IDs 1 to 9 +# MM atoms are remaining atoms + +group qm id 1:9 +group mm subtract all qm + +# remove bonds/angles between QM atoms +# set charges to zero on QM atoms + +delete_bonds qm multi remove special +set group qm charge 0.0 + +neighbor 2.0 bin +neigh_modify delay 0 every 1 check yes + +# QMMM dynamics + +timestep 0.01 + +fix 1 all nve + +fix 2 qm mdi/qmmm direct elements N H C H Cl O H +fix_modify 2 energy yes + +thermo_style custom step cpu temp ke evdwl ecoul epair emol elong & + f_2 pe etotal press + +thermo 1 +run 2 diff --git a/examples/QUANTUM/PySCF/in.mixture.pyscf.qmmm.plugin b/examples/QUANTUM/PySCF/in.mixture.pyscf.qmmm.plugin new file mode 100644 index 0000000000..f6a490c37a --- /dev/null +++ b/examples/QUANTUM/PySCF/in.mixture.pyscf.qmmm.plugin @@ -0,0 +1,48 @@ +# QMMM with PySCF - mixture example + +units real +atom_style full + +pair_style lj/cut/coul/long 12 +pair_modify mix arithmetic + +bond_style harmonic +angle_style harmonic +dihedral_style none +improper_style none + +kspace_style pppm 1e-5 + +read_data data.mixture + +# QM atoms are IDs 1 to 9 +# MM atoms are remaining atoms + +group qm id 1:9 +group mm subtract all qm + +# remove bonds/angles between QM atoms +# set charges to zero on QM atoms + +delete_bonds qm multi remove special +set group qm charge 0.0 + +neighbor 2.0 bin +neigh_modify delay 0 every 1 check yes + +# QMMM dynamics + +timestep 0.01 + +fix 1 all nve + +fix 2 qm mdi/qmmm direct elements N H C H Cl O H +fix_modify 2 energy yes + +thermo_style custom step cpu temp ke evdwl ecoul epair emol elong & + f_2 pe etotal press + +thermo 1 + +mdi plugin pyscf_mdi mdi "-role ENGINE -name PySCF -method LINK" & + extra "-pbc no" command "run 2" diff --git a/examples/QUANTUM/PySCF/in.water.pyscf.qmmm b/examples/QUANTUM/PySCF/in.water.pyscf.qmmm index 68a2c010e7..ee983a12b1 100644 --- a/examples/QUANTUM/PySCF/in.water.pyscf.qmmm +++ b/examples/QUANTUM/PySCF/in.water.pyscf.qmmm @@ -13,7 +13,7 @@ improper_style none kspace_style pppm 1e-5 -read_data data.water.pyscf +read_data data.water # QM atoms are 1st water # MM atoms are 2nd water @@ -36,7 +36,7 @@ timestep 2.0 fix 1 all nve -fix 2 qm mdi/qmmm direct elements 8 1 +fix 2 qm mdi/qmmm direct elements O H fix_modify 2 energy yes thermo_style custom step cpu temp ke evdwl ecoul epair emol elong & diff --git a/examples/QUANTUM/PySCF/in.water.pyscf.qmmm.plugin b/examples/QUANTUM/PySCF/in.water.pyscf.qmmm.plugin index b80a2a9795..92055bda12 100644 --- a/examples/QUANTUM/PySCF/in.water.pyscf.qmmm.plugin +++ b/examples/QUANTUM/PySCF/in.water.pyscf.qmmm.plugin @@ -14,7 +14,7 @@ improper_style none kspace_style pppm 1e-5 -read_data data.water.pyscf +read_data data.water # QM atoms are 1st water # MM atoms are 2nd water @@ -37,7 +37,7 @@ timestep 2.0 fix 1 all nve -fix 2 qm mdi/qmmm direct elements 8 1 +fix 2 qm mdi/qmmm direct elements O H fix_modify 2 energy yes thermo_style custom step cpu temp ke evdwl ecoul epair emol elong & diff --git a/examples/QUANTUM/PySCF/pyscf_mdi.py b/examples/QUANTUM/PySCF/pyscf_mdi.py index 3e9067e402..92ff282ed0 100644 --- a/examples/QUANTUM/PySCF/pyscf_mdi.py +++ b/examples/QUANTUM/PySCF/pyscf_mdi.py @@ -528,12 +528,14 @@ def evaluate(): box_str = "%s\n%s\n%s" % (edge_vec,edge_vec,edge_vec) box_str = box_str % \ (box_A[0],box_A[1],box_A[2],box_A[3],box_A[4],box_A[5],box_A[6],box_A[7],box_A[8]) - print("BOX STR:",box_str) + #print("BOX STR:",box_str) - print("ATOM STR:",atom_str) - print("MM COORDS:",mm_coords) - print("MM CHARGES:",mm_charges) - print("MM RADII:",mm_radii) + #print("ATOM STR:",atom_str) + #print("QM SYMB:",qm_symbols) + #print("QM COORDS:",qm_coords) + #print("MM COORDS:",mm_coords) + #print("MM CHARGES:",mm_charges) + #print("MM RADII:",mm_radii) # build PySCF system # use Cell for periodic, Mole for non-periodic @@ -577,6 +579,8 @@ def evaluate(): dm_previous_exists = 1 dm_previous = dm + #print("QM FORCES:",qm_forces) + # AIMD with only QM atoms elif mode == AIMD: @@ -601,8 +605,6 @@ def MDI_Plugin_init_pyscf_mdi(plugin_state): # other_options = all non-MDI args # -mdi arg is processed and stripped internally by MDI - print("PLUGIN entry") - other_options = [] mdi.MDI_Set_plugin_state(plugin_state) diff --git a/src/MDI/fix_mdi_qmmm.cpp b/src/MDI/fix_mdi_qmmm.cpp index 7a8658e27a..3952f4f356 100644 --- a/src/MDI/fix_mdi_qmmm.cpp +++ b/src/MDI/fix_mdi_qmmm.cpp @@ -114,7 +114,7 @@ FixMDIQMMM::FixMDIQMMM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) for (int i = 1; i <= ntypes; i++) { int anum; for (anum = 0; anum < MAXELEMENT; anum++) - if (strcmp(arg[iarg + 1],symbols[anum]) == 0) break; + if (strcmp(arg[iarg + i],symbols[anum]) == 0) break; if (anum == MAXELEMENT) error->all(FLERR,"Invalid chemical element in fix mdi/qmmm command"); elements[i] = anum + 1; diff --git a/src/MDI/mdi_engine.cpp b/src/MDI/mdi_engine.cpp index 09d858017f..09ca30b00c 100644 --- a/src/MDI/mdi_engine.cpp +++ b/src/MDI/mdi_engine.cpp @@ -103,7 +103,7 @@ MDIEngine::MDIEngine(LAMMPS *_lmp, int narg, char **arg) : Pointers(_lmp) for (int i = 1; i <= ntypes; i++) { int anum; for (anum = 0; anum < MAXELEMENT; anum++) - if (strcmp(arg[iarg + 1],symbols[anum]) == 0) break; + if (strcmp(arg[iarg + i],symbols[anum]) == 0) break; if (anum == MAXELEMENT) error->all(FLERR,"Invalid chemical element in mdi engine command"); elements[i] = anum + 1; From b7ed8828e7effd4cc55389b3fa886f7cf4fbb576 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 3 Feb 2023 18:14:50 -0700 Subject: [PATCH 079/448] start adding QE support to exampes/QUANTUM --- examples/QUANTUM/QE/README | 63 ++++++++++++++ examples/QUANTUM/QE/data.water.qe.aimd | 92 +++++++++++++++++++++ examples/QUANTUM/QE/in.qe.water | 63 ++++++++++++++ examples/QUANTUM/QE/in.water.qe.aimd | 38 +++++++++ examples/QUANTUM/QE/in.water.qe.aimd.plugin | 40 +++++++++ examples/QUANTUM/README | 8 +- 6 files changed, 300 insertions(+), 4 deletions(-) create mode 100644 examples/QUANTUM/QE/README create mode 100644 examples/QUANTUM/QE/data.water.qe.aimd create mode 100644 examples/QUANTUM/QE/in.qe.water create mode 100644 examples/QUANTUM/QE/in.water.qe.aimd create mode 100644 examples/QUANTUM/QE/in.water.qe.aimd.plugin diff --git a/examples/QUANTUM/QE/README b/examples/QUANTUM/QE/README new file mode 100644 index 0000000000..4ebdff5ef9 --- /dev/null +++ b/examples/QUANTUM/QE/README @@ -0,0 +1,63 @@ +# Test runs of QMMM with LAMMPS and Quantum Espress (QE) + +Step 1: build LAMMPS +Step 2: download/build QE with MDI support +Step 3: run test problem + +--------------------------------- +--------------------------------- + +Step 1: build LAMMPS + +The molecule and kspace packages are needed for the 2-water test +problem. Copy the final LAMMPS executable into the +examples/QUANTUM/PySCF directory. + +Traditional make: + +% cd ~/lammps/lib/mdi +% python Install.py -m mpi +% cd ~/lammps/src +% make yes-mdi yes-molecule yes-kspace +% make -j mpi +% cp lmp_mpi ~/lammps/examples/QUANTUM/QE + +CMake: + +% cd ~/lammps +% mkdir build; cd build +% cmake -D PKG_MDI=yes -D PKG_MOLECULE=yes -D PKG_KSPACE=yes ../cmake +% make -j +% cp lmp ~/lammps/examples/QUANTUM/QE/lmp_mpi + +--------------------------------- +--------------------------------- + +Step 2: download/build QE with MDI support + +% git clone --branch mdi_plugin https://github.com/MolSSI-MDI/q-e.git +% cd qe/git +% ./configure --enable-parallel --enable-openmp --enable-shared FFLAGS="-fPIC" FCFLAGS="-fPIC" CFLAGS="-fPIC" try_foxflags="-fPIC -cpp" +% make mdi + +copy MDI/src/qemdi.x to QUANTUM/QE + +--------------------------------- +--------------------------------- + +Step 3: run test problem + +% cd ~/lammps/examples/QUANTUM/QE + +# Run with TCP: 1 proc each + +% mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.test.qe.aimd.tcp.1 -in in.water.qe.aimd & +% qemdi.x -in in.qe.test -mdi "-name QE -role ENGINE -method TCP -port 8021 -hostname localhost" + +# Run with MPI: 1 proc each + +% mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.test.qe.aimd.mpi.1 -in in.water.qe.aimd : -np 1 qemdi.x -in in.qe.test -mdi "-name QE -role ENGINE -method MPI" + +# Run in plugin mode: 1 proc + +% mpirun -np 1 lmp_mpi -mdi "-role DRIVER -name driver -method LINK -plugin_path /home/sjplimp/qe/git/MDI/src" -log log.test.qe.aimd.plugin.1 -in in.test.qe.aimd.plugin diff --git a/examples/QUANTUM/QE/data.water.qe.aimd b/examples/QUANTUM/QE/data.water.qe.aimd new file mode 100644 index 0000000000..21e8e6c5c8 --- /dev/null +++ b/examples/QUANTUM/QE/data.water.qe.aimd @@ -0,0 +1,92 @@ +LAMMPS data file for water + +24 atoms +16 bonds +8 angles +0 dihedrals +0 impropers + +2 atom types +1 bond types +1 angle types +0 dihedral types +0 improper types + +0.0 4.9325 xlo xhi +0.0 4.9325 ylo yhi +0.0 4.9325 zlo zhi + +Masses + +1 15.9994 +2 1.008 + +Pair Coeffs + +1 0.102 3.188 +2 0.000 0.000 + +Bond Coeffs + +1 450 0.9572 + +Angle Coeffs + +1 55.0 104.52 + +Atoms + +1 0 1 -0.83400 2.17919 0.196156 4.15513 +2 0 2 0.41700 2.29785 4.8353 0.126003 +3 0 2 0.41700 1.82037 1.07996 4.23498 +4 0 1 -0.83400 4.65839 0.120414 0.305758 +5 0 2 0.41700 4.67446 -0.0220991 4.29186 +6 0 2 0.41700 4.28188 0.994196 0.410515 +7 0 1 -0.83400 3.65045 2.40907 0.344349 +8 0 2 0.41700 3.52052 2.1838 4.35565 +9 0 2 0.41700 4.26579 3.14208 0.327669 +10 0 1 -0.83400 1.21327 2.62177 4.15519 +11 0 2 0.41700 1.47452 3.53837 4.0667 +12 0 2 0.41700 1.20743 2.46396 0.16677 +13 0 1 -0.83400 4.45777 4.47325 2.74192 +14 0 2 0.41700 4.53396 4.49652 1.78804 +15 0 2 0.41700 4.21354 3.56943 2.94119 +16 0 1 -0.83400 2.04119 4.41585 1.64725 +17 0 2 0.41700 2.26934 4.77582 2.50434 +18 0 2 0.41700 1.69079 3.54574 1.83793 +19 0 1 -0.83400 3.73384 1.97964 2.81949 +20 0 2 0.41700 3.41083 2.22014 1.95113 +21 0 2 0.41700 3.91914 1.04272 2.75561 +22 0 1 -0.83400 1.20859 2.09853 1.68186 +23 0 2 0.41700 1.01865 2.25693 2.60655 +24 0 2 0.41700 1.16884 1.14674 1.58832 + +Bonds + +1 1 1 2 +2 1 1 3 +3 1 4 5 +4 1 4 6 +5 1 7 8 +6 1 7 9 +7 1 10 11 +8 1 10 12 +9 1 13 14 +10 1 13 15 +11 1 16 17 +12 1 16 18 +13 1 19 20 +14 1 19 21 +15 1 22 23 +16 1 22 24 + +Angles + +1 1 2 1 3 +2 1 5 4 6 +3 1 8 7 9 +4 1 11 10 12 +5 1 14 13 15 +6 1 17 16 18 +7 1 20 19 21 +8 1 23 22 24 diff --git a/examples/QUANTUM/QE/in.qe.water b/examples/QUANTUM/QE/in.qe.water new file mode 100644 index 0000000000..61e23688e9 --- /dev/null +++ b/examples/QUANTUM/QE/in.qe.water @@ -0,0 +1,63 @@ +&CONTROL +title="Test" +calculation='md', +restart_mode = 'from_scratch', +tprnfor=.t., +prefix='qe', +pseudo_dir='pseudo' +nstep = 1, +tqmmm = .true. +/ + +&SYSTEM +ibrav = 1, +celldm(1) = 9.321077825, +celldm(2) = 1., +celldm(3) = 1., +celldm(4) = 0., +celldm(5) = 0., +celldm(6) = 0., +nat = 24, +ntyp = 2, +ecutwfc = 80.0 , +/ + +&ELECTRONS +conv_thr = 1.D-6, +/ + +&IONS +ion_positions = 'default' +/ + +ATOMIC_SPECIES +O 16.0000 O.pbe-van_bm.UPF +H 1.0000 H.pbe-van_ak.UPF + +ATOMIC_POSITIONS angstrom +O 2.17919 0.196156 4.15513 +H 2.29785 4.8353 0.126003 +H 1.82037 1.07996 4.23498 +O 4.65839 0.120414 0.305758 +H 4.67446 -0.0220991 4.29186 +H 4.28188 0.994196 0.410515 +O 3.65045 2.40907 0.344349 +H 3.52052 2.1838 4.35565 +H 4.26579 3.14208 0.327669 +O 1.21327 2.62177 4.15519 +H 1.47452 3.53837 4.0667 +H 1.20743 2.46396 0.16677 +O 4.45777 4.47325 2.74192 +H 4.53396 4.49652 1.78804 +H 4.21354 3.56943 2.94119 +O 2.04119 4.41585 1.64725 +H 2.26934 4.77582 2.50434 +H 1.69079 3.54574 1.83793 +O 3.73384 1.97964 2.81949 +H 3.41083 2.22014 1.95113 +H 3.91914 1.04272 2.75561 +O 1.20859 2.09853 1.68186 +H 1.01865 2.25693 2.60655 +H 1.16884 1.14674 1.58832 + +K_POINTS gamma diff --git a/examples/QUANTUM/QE/in.water.qe.aimd b/examples/QUANTUM/QE/in.water.qe.aimd new file mode 100644 index 0000000000..dbd339f88c --- /dev/null +++ b/examples/QUANTUM/QE/in.water.qe.aimd @@ -0,0 +1,38 @@ +# AIMD for water with LAMMPS + QE + +units real +neigh_modify delay 0 every 1 check yes +atom_style full +bond_style harmonic +angle_style harmonic +pair_style lj/cut/coul/long 10.0 +pair_modify mix arithmetic +kspace_style pppm 1e-4 +special_bonds amber + +atom_modify sort 0 0 + +read_data data.water.qe.aimd + +timestep 1.0 + +#dump 1 all custom 1 dump.lammpstrj id element xu yu zu +#dump 2 all custom 1 dump.force id element fx fy fz +#dump 3 all xyz 1 dump.xyz +#dump_modify 1 element O H +#dump_modify 2 element O H + +thermo_style multi +thermo 1 + +# NVE +fix 1 all nve +# NPT +#fix 1 all npt temp 1.0 1.0 0.1 iso 1.0 1.0 1.0 + +fix 2 all mdi/qm virial yes + +thermo_style custom step temp pe etotal press vol +thermo 1 + +run 5 diff --git a/examples/QUANTUM/QE/in.water.qe.aimd.plugin b/examples/QUANTUM/QE/in.water.qe.aimd.plugin new file mode 100644 index 0000000000..6d17b08a97 --- /dev/null +++ b/examples/QUANTUM/QE/in.water.qe.aimd.plugin @@ -0,0 +1,40 @@ +# AIMD for water with LAMMPS + QE + +units real +neigh_modify delay 0 every 1 check yes +atom_style full +bond_style harmonic +angle_style harmonic +pair_style lj/cut/coul/long 10.0 +pair_modify mix arithmetic +kspace_style pppm 1e-4 +special_bonds amber + +atom_modify sort 0 0 + +read_data lammps.data + +timestep 1.0 + +#dump 1 all custom 1 dump.lammpstrj id element xu yu zu +#dump 2 all custom 1 dump.force id element fx fy fz +#dump 3 all xyz 1 dump.xyz +#dump_modify 1 element O H +#dump_modify 2 element O H + +thermo_style multi +thermo 1 + +# NVE +fix 1 all nve +# NPT +#fix 1 all npt temp 1.0 1.0 0.1 iso 1.0 1.0 1.0 + +fix 2 all mdi/qm virial yes + +thermo_style custom step temp pe etotal press vol +thermo 1 + +mdi plugin qemdi mdi "-role ENGINE -name QE -method LINK" & + extra "--in qe.in" & + command "run 5" diff --git a/examples/QUANTUM/README b/examples/QUANTUM/README index 19925b30ac..7cc837423f 100644 --- a/examples/QUANTUM/README +++ b/examples/QUANTUM/README @@ -12,13 +12,13 @@ NWChem = computational chemistry code from PNNL focus here is on DFT portion of NWChem = PWDFT library https://www.nwchem-sw.org ------------------------------------------------------ - -To be added later (as of Jan 2023): - Quantum Espresso (QE) = DFT code for materials modeling https://www.quantum-espresso.org/ +----------------------------------------------------- + +To be added later (as of Feb 2023): + DFT-FE = real-space DFT code from U Michigan https://github.com/dftfeDevelopers/dftfe From e7fc590f91a071bbc19cd1b858677fe8585507b6 Mon Sep 17 00:00:00 2001 From: jrgissing Date: Sun, 5 Feb 2023 12:00:33 -0500 Subject: [PATCH 080/448] simplify and correct dedup routine --- src/REACTION/fix_bond_react.cpp | 27 ++------------------------- 1 file changed, 2 insertions(+), 25 deletions(-) diff --git a/src/REACTION/fix_bond_react.cpp b/src/REACTION/fix_bond_react.cpp index edddac1cb8..035c225f28 100644 --- a/src/REACTION/fix_bond_react.cpp +++ b/src/REACTION/fix_bond_react.cpp @@ -2671,11 +2671,8 @@ void FixBondReact::dedup_mega_gloves(int dedup_mode) // dedup_mask is size dedup_size and filters reactions that have been deleted // a value of 1 means this reaction instance has been deleted int *dedup_mask = new int[dedup_size]; - int *dup_list = new int[dedup_size]; - for (int i = 0; i < dedup_size; i++) { dedup_mask[i] = 0; - dup_list[i] = 0; } // let's randomly mix up our reaction instances first @@ -2699,42 +2696,24 @@ void FixBondReact::dedup_mega_gloves(int dedup_mode) for (int i = 0; i < dedup_size; i++) { if (dedup_mask[i] == 0) { - int num_dups = 0; int myrxnid1 = dedup_glove[0][i]; onemol = atom->molecules[unreacted_mol[myrxnid1]]; for (int j = 0; j < onemol->natoms; j++) { int check1 = dedup_glove[j+1][i]; for (int ii = i + 1; ii < dedup_size; ii++) { - int already_listed = 0; - for (int jj = 0; jj < num_dups; jj++) { - if (dup_list[jj] == ii) { - already_listed = 1; - break; - } - } - if (dedup_mask[ii] == 0 && already_listed == 0) { + if (dedup_mask[ii] == 0) { int myrxnid2 = dedup_glove[0][ii]; twomol = atom->molecules[unreacted_mol[myrxnid2]]; for (int jj = 0; jj < twomol->natoms; jj++) { int check2 = dedup_glove[jj+1][ii]; if (check2 == check1) { - // add this rxn instance as well - if (num_dups == 0) dup_list[num_dups++] = i; - dup_list[num_dups++] = ii; + dedup_mask[ii] = 1; break; } } } } } - // here we choose random number and therefore reaction instance - int myrand = 1; - if (num_dups > 0) { - myrand = floor(random[0]->uniform()*num_dups); - for (int iii = 0; iii < num_dups; iii++) { - if (iii != myrand) dedup_mask[dup_list[iii]] = 1; - } - } } } @@ -2751,7 +2730,6 @@ void FixBondReact::dedup_mega_gloves(int dedup_mode) new_local_megasize++; } } - local_num_mega = new_local_megasize; } @@ -2773,7 +2751,6 @@ void FixBondReact::dedup_mega_gloves(int dedup_mode) memory->destroy(dedup_glove); delete [] dedup_mask; - delete [] dup_list; } /* ---------------------------------------------------------------------- From 162ee16825c287cccca163a28584465cb9044ab5 Mon Sep 17 00:00:00 2001 From: jrgissing Date: Sun, 5 Feb 2023 13:46:29 -0500 Subject: [PATCH 081/448] refactor step 1: delay check for ghosts --- src/REACTION/fix_bond_react.cpp | 107 ++++++++++++++++++++------------ src/REACTION/fix_bond_react.h | 8 ++- 2 files changed, 72 insertions(+), 43 deletions(-) diff --git a/src/REACTION/fix_bond_react.cpp b/src/REACTION/fix_bond_react.cpp index 035c225f28..e7dee6ea55 100644 --- a/src/REACTION/fix_bond_react.cpp +++ b/src/REACTION/fix_bond_react.cpp @@ -545,6 +545,7 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : attempt = nullptr; nattempt = nullptr; allnattempt = 0; + my_num_mega = 0; local_num_mega = 0; ghostly_num_mega = 0; restore = nullptr; @@ -555,6 +556,7 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : glove_counter = 0; guess_branch = new int[MAXGUESS](); pioneer_count = new int[max_natoms]; + my_mega_glove = nullptr; local_mega_glove = nullptr; ghostly_mega_glove = nullptr; global_mega_glove = nullptr; @@ -654,6 +656,7 @@ FixBondReact::~FixBondReact() memory->destroy(restore); memory->destroy(glove); memory->destroy(pioneers); + memory->destroy(my_mega_glove); memory->destroy(local_mega_glove); memory->destroy(ghostly_mega_glove); } @@ -1251,6 +1254,7 @@ void FixBondReact::close_partner() void FixBondReact::superimpose_algorithm() { const int nprocs = comm->nprocs; + my_num_mega = 0; local_num_mega = 0; ghostly_num_mega = 0; @@ -1269,6 +1273,7 @@ void FixBondReact::superimpose_algorithm() memory->destroy(restore); memory->destroy(glove); memory->destroy(pioneers); + memory->destroy(my_mega_glove); memory->destroy(local_mega_glove); memory->destroy(ghostly_mega_glove); } @@ -1277,18 +1282,14 @@ void FixBondReact::superimpose_algorithm() memory->create(restore_pt,MAXGUESS,4,"bond/react:restore_pt"); memory->create(pioneers,max_natoms,"bond/react:pioneers"); memory->create(restore,max_natoms,MAXGUESS*4,"bond/react:restore"); - memory->create(local_mega_glove,max_natoms+1,allnattempt,"bond/react:local_mega_glove"); - memory->create(ghostly_mega_glove,max_natoms+1,allnattempt,"bond/react:ghostly_mega_glove"); + memory->create(my_mega_glove,max_natoms+1,allnattempt,"bond/react:local_mega_glove"); + + for (int i = 0; i < max_natoms+1; i++) + for (int j = 0; j < allnattempt; j++) + my_mega_glove[i][j] = 0; attempted_rxn = 1; - for (int i = 0; i < max_natoms+1; i++) { - for (int j = 0; j < allnattempt; j++) { - local_mega_glove[i][j] = 0; - ghostly_mega_glove[i][j] = 0; - } - } - // let's finally begin the superimpose loop for (rxnID = 0; rxnID < nreacts; rxnID++) { for (lcl_inst = 0; lcl_inst < nattempt[rxnID]; lcl_inst++) { @@ -1335,7 +1336,11 @@ void FixBondReact::superimpose_algorithm() status = REJECT; } else { status = ACCEPT; - glove_ghostcheck(); + my_mega_glove[0][my_num_mega] = rxnID; + for (int i = 0; i < onemol->natoms; i++) { + my_mega_glove[i+1][my_num_mega] = glove[i][1]; + } + my_num_mega++; } } else status = REJECT; } @@ -1378,7 +1383,13 @@ void FixBondReact::superimpose_algorithm() if (status == ACCEPT) { if (fraction[rxnID] < 1.0 && random[rxnID]->uniform() >= fraction[rxnID]) status = REJECT; - else glove_ghostcheck(); + else { + my_mega_glove[0][my_num_mega] = rxnID; + for (int i = 0; i < onemol->natoms; i++) { + my_mega_glove[i+1][my_num_mega] = glove[i][1]; + } + my_num_mega++; + } } hang_catch++; // let's go ahead and catch the simplest of hangs @@ -1394,6 +1405,17 @@ void FixBondReact::superimpose_algorithm() global_megasize = 0; + memory->create(local_mega_glove,max_natoms+1,my_num_mega,"bond/react:local_mega_glove"); + memory->create(ghostly_mega_glove,max_natoms+1,my_num_mega,"bond/react:ghostly_mega_glove"); + + for (int i = 0; i < max_natoms+1; i++) { + for (int j = 0; j < my_num_mega; j++) { + local_mega_glove[i][j] = 0; + ghostly_mega_glove[i][j] = 0; + } + } + + glove_ghostcheck(); // split into 'local' and 'global' ghost_glovecast(); // consolidate all mega_gloves to all processors dedup_mega_gloves(LOCAL); // make sure atoms aren't added to more than one reaction @@ -2803,40 +2825,45 @@ void FixBondReact::glove_ghostcheck() // here we add glove to either local_mega_glove or ghostly_mega_glove // ghostly_mega_glove includes atoms that are ghosts, either of this proc or another // 'ghosts of another' indication taken from comm->sendlist + // also includes local gloves that overlap with ghostly gloves, to get dedup right - int ghostly = 0; -#if !defined(MPI_STUBS) - if (comm->style == Comm::BRICK) { - if (create_atoms_flag[rxnID] == 1) { - ghostly = 1; - } else { - for (int i = 0; i < onemol->natoms; i++) { - int ilocal = atom->map(glove[i][1]); - if (ilocal >= atom->nlocal || localsendlist[ilocal] == 1) { - ghostly = 1; - break; + for (int i = 0; i < my_num_mega; i++) { + rxnID = my_mega_glove[0][i]; + onemol = atom->molecules[unreacted_mol[rxnID]]; + int ghostly = 0; + #if !defined(MPI_STUBS) + if (comm->style == Comm::BRICK) { + if (create_atoms_flag[rxnID] == 1) { + ghostly = 1; + } else { + for (int j = 0; j < onemol->natoms; j++) { + int ilocal = atom->map(my_mega_glove[j+1][i]); + if (ilocal >= atom->nlocal || localsendlist[ilocal] == 1) { + ghostly = 1; + break; + } } } + } else { + ghostly = 1; } - } else { - ghostly = 1; - } -#endif - - if (ghostly == 1) { - ghostly_mega_glove[0][ghostly_num_mega] = rxnID; - ghostly_rxn_count[rxnID]++; //for debuginng - for (int i = 0; i < onemol->natoms; i++) { - ghostly_mega_glove[i+1][ghostly_num_mega] = glove[i][1]; + #endif + + if (ghostly == 1) { + ghostly_mega_glove[0][ghostly_num_mega] = rxnID; + ghostly_rxn_count[rxnID]++; //for debuginng + for (int j = 0; j < onemol->natoms+1; j++) { + ghostly_mega_glove[j][ghostly_num_mega] = my_mega_glove[j][i]; + } + ghostly_num_mega++; + } else { + local_mega_glove[0][local_num_mega] = rxnID; + local_rxn_count[rxnID]++; //for debuginng + for (int j = 0; j < onemol->natoms+1; j++) { + local_mega_glove[j][local_num_mega] = my_mega_glove[j][i]; + } + local_num_mega++; } - ghostly_num_mega++; - } else { - local_mega_glove[0][local_num_mega] = rxnID; - local_rxn_count[rxnID]++; //for debuginng - for (int i = 0; i < onemol->natoms; i++) { - local_mega_glove[i+1][local_num_mega] = glove[i][1]; - } - local_num_mega++; } } diff --git a/src/REACTION/fix_bond_react.h b/src/REACTION/fix_bond_react.h index b434699ec7..e9b3ffb247 100644 --- a/src/REACTION/fix_bond_react.h +++ b/src/REACTION/fix_bond_react.h @@ -154,13 +154,15 @@ class FixBondReact : public Fix { int pion, neigh, trace; // important indices for various loops. required for restore points int lcl_inst; // reaction instance tagint **glove; // 1st colmn: pre-reacted template, 2nd colmn: global IDs - // for all mega_gloves and global_mega_glove: first row is the ID of bond/react - tagint **local_mega_glove; // consolidation local of reaction instances - tagint **ghostly_mega_glove; // consolidation nonlocal of reaction instances + // for all mega_gloves: first row is the ID of bond/react + tagint **my_mega_glove; // local + ghostly reaction instances + tagint **local_mega_glove; // consolidation of local reaction instances + tagint **ghostly_mega_glove; // consolidation of nonlocal reaction instances tagint **global_mega_glove; // consolidation (inter-processor) of gloves // containing nonlocal atoms int *localsendlist; // indicates ghosts of other procs + int my_num_mega; // local + ghostly reaction instances (on this proc) int local_num_mega; // num of local reaction instances int ghostly_num_mega; // num of ghostly reaction instances int global_megasize; // num of reaction instances in global_mega_glove From ddc23bb3bf23ae6b1cbac4222aa4464156bfef15 Mon Sep 17 00:00:00 2001 From: jrgissing Date: Sun, 5 Feb 2023 15:14:57 -0500 Subject: [PATCH 082/448] refactor step 2: reorder when to dedup reactions --- src/REACTION/fix_bond_react.cpp | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/src/REACTION/fix_bond_react.cpp b/src/REACTION/fix_bond_react.cpp index e7dee6ea55..5da34aae21 100644 --- a/src/REACTION/fix_bond_react.cpp +++ b/src/REACTION/fix_bond_react.cpp @@ -1415,9 +1415,9 @@ void FixBondReact::superimpose_algorithm() } } + dedup_mega_gloves(LOCAL); // make sure atoms aren't added to more than one reaction glove_ghostcheck(); // split into 'local' and 'global' ghost_glovecast(); // consolidate all mega_gloves to all processors - dedup_mega_gloves(LOCAL); // make sure atoms aren't added to more than one reaction MPI_Allreduce(&local_rxn_count[0],&reaction_count[0],nreacts,MPI_INT,MPI_SUM,world); @@ -2661,14 +2661,14 @@ void FixBondReact::dedup_mega_gloves(int dedup_mode) { // dedup_mode == LOCAL for local_dedup // dedup_mode == GLOBAL for global_mega_glove - for (int i = 0; i < nreacts; i++) { - if (dedup_mode == LOCAL) local_rxn_count[i] = 0; - if (dedup_mode == GLOBAL) ghostly_rxn_count[i] = 0; - } + + if (dedup_mode == GLOBAL) + for (int i = 0; i < nreacts; i++) + ghostly_rxn_count[i] = 0; int dedup_size = 0; if (dedup_mode == LOCAL) { - dedup_size = local_num_mega; + dedup_size = my_num_mega; } else if (dedup_mode == GLOBAL) { dedup_size = global_megasize; } @@ -2679,7 +2679,7 @@ void FixBondReact::dedup_mega_gloves(int dedup_mode) if (dedup_mode == LOCAL) { for (int i = 0; i < dedup_size; i++) { for (int j = 0; j < max_natoms+1; j++) { - dedup_glove[j][i] = local_mega_glove[j][i]; + dedup_glove[j][i] = my_mega_glove[j][i]; } } } else if (dedup_mode == GLOBAL) { @@ -2742,17 +2742,16 @@ void FixBondReact::dedup_mega_gloves(int dedup_mode) // we must update local_mega_glove and local_megasize // we can simply overwrite local_mega_glove column by column if (dedup_mode == LOCAL) { - int new_local_megasize = 0; - for (int i = 0; i < local_num_mega; i++) { + int my_new_megasize = 0; + for (int i = 0; i < my_num_mega; i++) { if (dedup_mask[i] == 0) { - local_rxn_count[(int) dedup_glove[0][i]]++; for (int j = 0; j < max_natoms+1; j++) { - local_mega_glove[j][new_local_megasize] = dedup_glove[j][i]; + my_mega_glove[j][my_new_megasize] = dedup_glove[j][i]; } - new_local_megasize++; + my_new_megasize++; } } - local_num_mega = new_local_megasize; + my_num_mega = my_new_megasize; } // we must update global_mega_glove and global_megasize @@ -2827,6 +2826,9 @@ void FixBondReact::glove_ghostcheck() // 'ghosts of another' indication taken from comm->sendlist // also includes local gloves that overlap with ghostly gloves, to get dedup right + for (int i = 0; i < nreacts; i++) + local_rxn_count[i] = 0; + for (int i = 0; i < my_num_mega; i++) { rxnID = my_mega_glove[0][i]; onemol = atom->molecules[unreacted_mol[rxnID]]; @@ -2851,14 +2853,13 @@ void FixBondReact::glove_ghostcheck() if (ghostly == 1) { ghostly_mega_glove[0][ghostly_num_mega] = rxnID; - ghostly_rxn_count[rxnID]++; //for debuginng for (int j = 0; j < onemol->natoms+1; j++) { ghostly_mega_glove[j][ghostly_num_mega] = my_mega_glove[j][i]; } ghostly_num_mega++; } else { local_mega_glove[0][local_num_mega] = rxnID; - local_rxn_count[rxnID]++; //for debuginng + local_rxn_count[rxnID]++; for (int j = 0; j < onemol->natoms+1; j++) { local_mega_glove[j][local_num_mega] = my_mega_glove[j][i]; } From 08b9af89bbe17fadb4724c6266147aae785c07b7 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 6 Feb 2023 14:46:40 -0700 Subject: [PATCH 083/448] more work with NWChem --- .../NWChem/{data.water.nwchem => data.water.nwchem.qmmm} | 0 examples/QUANTUM/NWChem/in.water.nwchem.qmmm | 2 +- examples/QUANTUM/NWChem/in.water.nwchem.qmmm.plugin | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) rename examples/QUANTUM/NWChem/{data.water.nwchem => data.water.nwchem.qmmm} (100%) diff --git a/examples/QUANTUM/NWChem/data.water.nwchem b/examples/QUANTUM/NWChem/data.water.nwchem.qmmm similarity index 100% rename from examples/QUANTUM/NWChem/data.water.nwchem rename to examples/QUANTUM/NWChem/data.water.nwchem.qmmm diff --git a/examples/QUANTUM/NWChem/in.water.nwchem.qmmm b/examples/QUANTUM/NWChem/in.water.nwchem.qmmm index 4b44002f58..d46a8e7498 100644 --- a/examples/QUANTUM/NWChem/in.water.nwchem.qmmm +++ b/examples/QUANTUM/NWChem/in.water.nwchem.qmmm @@ -6,7 +6,7 @@ atom_style full bond_style harmonic angle_style harmonic -read_data data.water.nwchem +read_data data.water.nwchem.qmmm # QM atoms are 1st water # MM atoms are 2nd water diff --git a/examples/QUANTUM/NWChem/in.water.nwchem.qmmm.plugin b/examples/QUANTUM/NWChem/in.water.nwchem.qmmm.plugin index 4460a04dc8..f79411e4d5 100644 --- a/examples/QUANTUM/NWChem/in.water.nwchem.qmmm.plugin +++ b/examples/QUANTUM/NWChem/in.water.nwchem.qmmm.plugin @@ -6,7 +6,7 @@ atom_style full bond_style harmonic angle_style harmonic -read_data data.water.nwchem +read_data data.water.nwchem.qmmm # QM atoms are 1st water # MM atoms are 2nd water From c60fd6f89dba57694a6fb3b77346462dff447731 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 6 Feb 2023 18:06:04 -0700 Subject: [PATCH 084/448] more debugging and examples with NWChem --- examples/QUANTUM/NWChem/README | 44 ++++++- examples/QUANTUM/NWChem/data.w.bcc | 12 ++ examples/QUANTUM/NWChem/data.w.bcc_222 | 29 +++++ examples/QUANTUM/NWChem/data.w.diamond | 14 +++ examples/QUANTUM/NWChem/data.w.fcc_001 | 28 +++++ examples/QUANTUM/NWChem/data.w.sc_001 | 19 +++ examples/QUANTUM/NWChem/data.water.mm | 45 +++++++ ...data.water.nwchem.qmmm => data.water.qmmm} | 0 examples/QUANTUM/NWChem/data.zeolite | 114 +++++++++++++++++ examples/QUANTUM/NWChem/in.series | 36 ++++++ examples/QUANTUM/NWChem/in.series.plugin | 34 +++++ examples/QUANTUM/NWChem/in.w.many | 34 +++++ examples/QUANTUM/NWChem/in.water.mm | 46 +++++++ .../{in.water.nwchem.qmmm => in.water.qmmm} | 15 +-- ...wchem.qmmm.plugin => in.water.qmmm.plugin} | 17 +-- examples/QUANTUM/NWChem/in.zeolite.mm | 116 ++++++++++++++++++ examples/QUANTUM/NWChem/in.zeolite.qmmm | 70 +++++++++++ .../QUANTUM/NWChem/in.zeolite.qmmm.plugin | 72 +++++++++++ examples/QUANTUM/NWChem/nwchem_mdi.py | 6 +- examples/QUANTUM/NWChem/template.methane.nw | 17 +++ examples/QUANTUM/NWChem/template.w.nw | 16 +++ 21 files changed, 751 insertions(+), 33 deletions(-) create mode 100644 examples/QUANTUM/NWChem/data.w.bcc create mode 100644 examples/QUANTUM/NWChem/data.w.bcc_222 create mode 100644 examples/QUANTUM/NWChem/data.w.diamond create mode 100644 examples/QUANTUM/NWChem/data.w.fcc_001 create mode 100644 examples/QUANTUM/NWChem/data.w.sc_001 create mode 100644 examples/QUANTUM/NWChem/data.water.mm rename examples/QUANTUM/NWChem/{data.water.nwchem.qmmm => data.water.qmmm} (100%) create mode 100644 examples/QUANTUM/NWChem/data.zeolite create mode 100644 examples/QUANTUM/NWChem/in.series create mode 100644 examples/QUANTUM/NWChem/in.series.plugin create mode 100644 examples/QUANTUM/NWChem/in.w.many create mode 100644 examples/QUANTUM/NWChem/in.water.mm rename examples/QUANTUM/NWChem/{in.water.nwchem.qmmm => in.water.qmmm} (74%) rename examples/QUANTUM/NWChem/{in.water.nwchem.qmmm.plugin => in.water.qmmm.plugin} (78%) create mode 100644 examples/QUANTUM/NWChem/in.zeolite.mm create mode 100644 examples/QUANTUM/NWChem/in.zeolite.qmmm create mode 100644 examples/QUANTUM/NWChem/in.zeolite.qmmm.plugin create mode 100644 examples/QUANTUM/NWChem/template.methane.nw create mode 100644 examples/QUANTUM/NWChem/template.w.nw diff --git a/examples/QUANTUM/NWChem/README b/examples/QUANTUM/NWChem/README index 3d570cb609..fbacd54865 100644 --- a/examples/QUANTUM/NWChem/README +++ b/examples/QUANTUM/NWChem/README @@ -106,14 +106,52 @@ Step 4: run the 2-water QMMM problem for a few steps % cd ~/lammps/examples/QUANTUM/NWChem -lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.water.nwchem.qmmm.tcp.1 -in in.water.nwchem.qmmm & +lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.water,qmmm.tcp.1 -in in.water.qmmm & python nwchem_mdi.py -mdi "-name NWChem -role ENGINE -method TCP -port 8021 -hostname localhost" template.water.nw water.dimer.nw log.water.pwdft.qmmm.tcp.1 # Run with MPI: 1 proc each -mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.water.nwchem.qmmm.mpi.1 -in in.water.nwchem.qmmm : -np 1 python nwchem_mdi.py -mdi "-name NWChem -role ENGINE -method MPI" template.water.nw water.dimer.nw log.water.pwdft.qmmm.mpi.1 +mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.water.qmmm.mpi.1 -in in.water.qmmm : -np 1 python nwchem_mdi.py -mdi "-name NWChem -role ENGINE -method MPI" template.water.nw water.dimer.nw log.water.pwdft.qmmm.mpi.1 # Run in plugin mode: 1 proc -lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/work_qm" -log log.water.nwchem.qmmm.plugin.1 -in in.water.nwchem.qmmm.plugin +lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/NWChem" -log log.water.qmmm.plugin.1 -in in.water.qmmm.plugin + +--------------------------------- +--------------------------------- + +Step 5: run the zeolite/methane QMMM problem for a few steps + +% cd ~/lammps/examples/QUANTUM/NWChem + +lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.zeolite.qmmm.tcp.1 -in in.zeolite.qmmm & + +python nwchem_mdi.py -mdi "-name NWChem -role ENGINE -method TCP -port 8021 -hostname localhost" template.methane.nw methane.nw log.zeolite.pwdft.qmmm.tcp.1 + +# Run with MPI: 1 proc each + +mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.zeolite.qmmm.mpi.1 -in in.zeolite.qmmm : -np 1 python nwchem_mdi.py -mdi "-name NWChem -role ENGINE -method MPI" template.methane.nw methane.nw log.zeolite.pwdft.qmmm.mpi.1 + +# Run in plugin mode: 1 proc + +lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/NWChem" -log log.zeolite.qmmm.plugin.1 -in in.zeolite.qmmm.plugin + +--------------------------------- +--------------------------------- + +Step 6: run multiple W geometries + +% cd ~/lammps/examples/QUANTUM/NWChem + +lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.series.tcp.1 -in in.series & + +python nwchem_mdi.py -mdi "-name NWChem -role ENGINE -method TCP -port 8021 -hostname localhost" template.w.nw w.nw log.series.pwdft.tcp.1 + +# Run with MPI: 1 proc each + +mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.series.mpi.1 -in in.series : -np 1 python nwchem_mdi.py -mdi "-name NWChem -role ENGINE -method MPI" template.w.nw w.nw log.series.pwdft.mpi.1 + +# Run in plugin mode: 1 proc + +lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/NWChem" -log log.series.plugin.1 -in in.series.plugin diff --git a/examples/QUANTUM/NWChem/data.w.bcc b/examples/QUANTUM/NWChem/data.w.bcc new file mode 100644 index 0000000000..62d758a4d2 --- /dev/null +++ b/examples/QUANTUM/NWChem/data.w.bcc @@ -0,0 +1,12 @@ +LAMMPS data file from VASP file VASP/POSCAR_bcc + +2 atoms +1 atom types +0.0 3.1654062429393064 xlo xhi +0.0 3.1654062429393064 ylo yhi +0.0 3.1654062429393064 zlo zhi + +Atoms + +1 1 0 0 0 +2 1 1.5827031214696532 1.5827031214696532 1.5827031214696532 diff --git a/examples/QUANTUM/NWChem/data.w.bcc_222 b/examples/QUANTUM/NWChem/data.w.bcc_222 new file mode 100644 index 0000000000..0157229f1c --- /dev/null +++ b/examples/QUANTUM/NWChem/data.w.bcc_222 @@ -0,0 +1,29 @@ +LAMMPS data file from VASP file VASP/POSCAR_bcc_222 + +18 atoms +1 atom types +0.0 8.9531208783704628 xlo xhi +0.0 3.8768150619108339 ylo yhi +0.0 45.534159244872015 zlo zhi + 2.2382802195926157 0 0 xy xz yz + +Atoms + +1 1 0 0 15 +2 1 6.7148406587778462 1.2922716873036106 15.913774073227765 +3 1 4.4765604391852314 2.5845433746072226 16.827548146455531 +4 1 11.191401097963077 3.876815061910833 17.741322219683298 +5 1 6.7148406587778471 1.2922716873036111 18.655096292911061 +6 1 4.4765604391852305 2.5845433746072222 19.568870366138828 +7 1 2.2382802195926152 3.876815061910833 20.482644439366592 +8 1 6.7148406587778453 1.2922716873036111 21.396418512594359 +9 1 4.4765604391852305 2.5845433746072222 22.310192585822122 +10 1 2.2382802195926148 3.8768150619108321 23.223966659049893 +11 1 6.7148406587778453 1.2922716873036102 24.137740732277656 +12 1 4.4765604391852305 2.5845433746072195 25.051514805505423 +13 1 2.2382802195926148 3.8768150619108321 25.965288878733183 +14 1 6.7148406587778444 1.2922716873036084 26.879062951960954 +15 1 4.4765604391852314 2.5845433746072204 27.792837025188717 +16 1 2.2382802195926139 3.8768150619108304 28.706611098416481 +17 1 6.7148406587778453 1.2922716873036102 29.620385171644248 +18 1 4.4765604391852269 2.5845433746072204 30.534159244872015 diff --git a/examples/QUANTUM/NWChem/data.w.diamond b/examples/QUANTUM/NWChem/data.w.diamond new file mode 100644 index 0000000000..1944b651a5 --- /dev/null +++ b/examples/QUANTUM/NWChem/data.w.diamond @@ -0,0 +1,14 @@ +LAMMPS data file from VASP file VASP/POSCAR_diamond + +4 atoms +1 atom types +0.0 2.8200563642280549 xlo xhi +0.0 2.8200563642280549 ylo yhi +0.0 3.9881619569478763 zlo zhi + +Atoms + +1 1 0 0 0 +2 1 1.4100281821140275 0 0.99704048923696909 +3 1 1.4100281821140275 1.4100281821140275 1.9940809784739382 +4 1 0 1.4100281821140275 2.991121467710907 diff --git a/examples/QUANTUM/NWChem/data.w.fcc_001 b/examples/QUANTUM/NWChem/data.w.fcc_001 new file mode 100644 index 0000000000..9578ba0f85 --- /dev/null +++ b/examples/QUANTUM/NWChem/data.w.fcc_001 @@ -0,0 +1,28 @@ +LAMMPS data file from VASP file VASP/POSCAR_fcc_001 + +18 atoms +1 atom types +0.0 4.4765604391852305 xlo xhi +0.0 4.4765604391852305 ylo yhi +0.0 113.81190612996821 zlo zhi + +Atoms + +1 1 0 0 30 +2 1 2.2382802195926152 2.2382802195926152 33.165406242939305 +3 1 0 0 36.33081248587861 +4 1 2.2382802195926152 2.2382802195926152 39.496218728817922 +5 1 0 0 42.661624971757227 +6 1 2.2382802195926152 2.2382802195926152 45.827031214696532 +7 1 0 0 48.992437457635837 +8 1 2.2382802195926152 2.2382802195926152 52.157843700575143 +9 1 0 0 55.323249943514455 +10 1 2.2382802195926152 2.2382802195926152 58.488656186453753 +11 1 0 0 61.654062429393065 +12 1 2.2382802195926152 2.2382802195926152 64.819468672332363 +13 1 0 0 67.984874915271675 +14 1 2.2382802195926152 2.2382802195926152 71.150281158210987 +15 1 0 0 74.315687401150285 +16 1 2.2382802195926152 2.2382802195926152 77.481093644089597 +17 1 0 0 80.646499887028909 +18 1 2.2382802195926152 2.2382802195926152 83.811906129968207 diff --git a/examples/QUANTUM/NWChem/data.w.sc_001 b/examples/QUANTUM/NWChem/data.w.sc_001 new file mode 100644 index 0000000000..8a5b70046a --- /dev/null +++ b/examples/QUANTUM/NWChem/data.w.sc_001 @@ -0,0 +1,19 @@ +LAMMPS data file from VASP file VASP/POSCAR_sc_001 + +9 atoms +1 atom types +0.0 2.5123845999742804 xlo xhi +0.0 2.5123845999742804 ylo yhi +0.0 50.099076799794247 zlo zhi + +Atoms + +1 1 0 0 15.000000000000002 +2 1 0 0 17.512384599974283 +3 1 0 0 20.024769199948562 +4 1 0 0 22.537153799922841 +5 1 0 0 25.049538399897123 +6 1 0 0 27.561922999871406 +7 1 0 0 30.074307599845682 +8 1 0 0 32.586692199819964 +9 1 0 0 35.099076799794247 diff --git a/examples/QUANTUM/NWChem/data.water.mm b/examples/QUANTUM/NWChem/data.water.mm new file mode 100644 index 0000000000..4a9f54f501 --- /dev/null +++ b/examples/QUANTUM/NWChem/data.water.mm @@ -0,0 +1,45 @@ +LAMMPS data file for water dimer in large box + +6 atoms +4 bonds +2 angles +2 atom types +1 bond types +1 angle types +-6.879301 6.879301 xlo xhi +-6.879301 6.879301 ylo yhi +-6.879301 6.879301 zlo zhi + +Masses + +1 15.99491 +2 1.008 + +Bond Coeffs + +1 554.25 1.0 + +Angle Coeffs + +1 47.744 109.4 + +Atoms + +1 1 1 -0.8476 0.161560 -0.052912 0.033173 +2 1 2 0.4238 0.803054 0.369132 -0.511660 +3 1 2 0.4238 -0.325571 -0.669574 -0.488560 +4 2 1 -0.8476 0.021259 0.506771 2.831278 +5 2 2 0.4238 -0.721039 1.083100 2.758378 +6 2 2 0.4238 0.158220 0.181883 1.945696 + +Bonds + +1 1 1 2 +2 1 1 3 +3 1 4 5 +4 1 4 6 + +Angles + +1 1 2 1 3 +2 1 5 4 6 diff --git a/examples/QUANTUM/NWChem/data.water.nwchem.qmmm b/examples/QUANTUM/NWChem/data.water.qmmm similarity index 100% rename from examples/QUANTUM/NWChem/data.water.nwchem.qmmm rename to examples/QUANTUM/NWChem/data.water.qmmm diff --git a/examples/QUANTUM/NWChem/data.zeolite b/examples/QUANTUM/NWChem/data.zeolite new file mode 100644 index 0000000000..4a038142c4 --- /dev/null +++ b/examples/QUANTUM/NWChem/data.zeolite @@ -0,0 +1,114 @@ +LAMMPS data file for SiO2 zeolite with one methane moleclue + +77 atoms +4 atom types +4 bonds +1 bond types +6 angles +1 angle types +-5.9266 5.9926 xlo xhi +-5.9266 5.9926 ylo yhi +-5.9266 5.9926 zlo zhi + +Masses + +1 28.0855 +2 15.99491 +3 12.0 +4 1.008 + +Atoms + +1 0 1 1.910418 0.00000 4.38651 2.18123 +2 0 1 1.910418 0.00000 -4.38651 2.18123 +3 0 1 1.910418 0.00000 4.38651 -2.18123 +4 0 1 1.910418 0.00000 -4.38651 -2.18123 +5 0 1 1.910418 2.18123 0.00000 4.38651 +6 0 1 1.910418 2.18123 0.00000 -4.38651 +7 0 1 1.910418 -2.18123 0.00000 4.38651 +8 0 1 1.910418 -2.18123 0.00000 -4.38651 +9 0 1 1.910418 4.38651 2.18123 0.00000 +10 0 1 1.910418 -4.38651 2.18123 0.00000 +11 0 1 1.910418 4.38651 -2.18123 0.00000 +12 0 1 1.910418 -4.38651 -2.18123 0.00000 +13 0 1 1.910418 4.38651 0.00000 -2.18123 +14 0 1 1.910418 -4.38651 0.00000 -2.18123 +15 0 1 1.910418 4.38651 0.00000 2.18123 +16 0 1 1.910418 -4.38651 0.00000 2.18123 +17 0 1 1.910418 0.00000 2.18123 -4.38651 +18 0 1 1.910418 0.00000 2.18123 4.38651 +19 0 1 1.910418 0.00000 -2.18123 -4.38651 +20 0 1 1.910418 0.00000 -2.18123 4.38651 +21 0 1 1.910418 2.18123 4.38651 0.00000 +22 0 1 1.910418 2.18123 -4.38651 0.00000 +23 0 1 1.910418 -2.18123 4.38651 0.00000 +24 0 1 1.910418 -2.18123 -4.38651 0.00000 +25 0 2 -0.955209 0.00000 -5.92660 2.64860 +26 0 2 -0.955209 0.00000 -5.92660 -2.64860 +27 0 2 -0.955209 2.64860 0.00000 -5.92660 +28 0 2 -0.955209 -2.64860 0.00000 -5.92660 +29 0 2 -0.955209 -5.92660 2.64860 0.00000 +30 0 2 -0.955209 -5.92660 -2.64860 0.00000 +31 0 2 -0.955209 -5.92660 0.00000 -2.64860 +32 0 2 -0.955209 -5.92660 0.00000 2.64860 +33 0 2 -0.955209 0.00000 2.64860 -5.92660 +34 0 2 -0.955209 0.00000 -2.64860 -5.92660 +35 0 2 -0.955209 2.64860 -5.92660 0.00000 +36 0 2 -0.955209 -2.64860 -5.92660 0.00000 +37 0 2 -0.955209 0.00000 3.45272 3.45272 +38 0 2 -0.955209 0.00000 -3.45272 3.45272 +39 0 2 -0.955209 0.00000 3.45272 -3.45272 +40 0 2 -0.955209 0.00000 -3.45272 -3.45272 +41 0 2 -0.955209 3.45272 0.00000 3.45272 +42 0 2 -0.955209 3.45272 0.00000 -3.45272 +43 0 2 -0.955209 -3.45272 0.00000 3.45272 +44 0 2 -0.955209 -3.45272 0.00000 -3.45272 +45 0 2 -0.955209 3.45272 3.45272 0.00000 +46 0 2 -0.955209 -3.45272 3.45272 0.00000 +47 0 2 -0.955209 3.45272 -3.45272 0.00000 +48 0 2 -0.955209 -3.45272 -3.45272 0.00000 +49 0 2 -0.955209 1.28702 1.28702 4.12598 +50 0 2 -0.955209 -1.28702 -1.28702 4.12598 +51 0 2 -0.955209 -1.28702 1.28702 -4.12598 +52 0 2 -0.955209 1.28702 -1.28702 -4.12598 +53 0 2 -0.955209 4.12598 1.28702 1.28702 +54 0 2 -0.955209 4.12598 -1.28702 -1.28702 +55 0 2 -0.955209 -4.12598 -1.28702 1.28702 +56 0 2 -0.955209 -4.12598 1.28702 -1.28702 +57 0 2 -0.955209 1.28702 4.12598 1.28702 +58 0 2 -0.955209 -1.28702 4.12598 -1.28702 +59 0 2 -0.955209 1.28702 -4.12598 -1.28702 +60 0 2 -0.955209 -1.28702 -4.12598 1.28702 +61 0 2 -0.955209 1.28702 1.28702 -4.12598 +62 0 2 -0.955209 -1.28702 -1.28702 -4.12598 +63 0 2 -0.955209 1.28702 -1.28702 4.12598 +64 0 2 -0.955209 -1.28702 1.28702 4.12598 +65 0 2 -0.955209 1.28702 4.12598 -1.28702 +66 0 2 -0.955209 -1.28702 4.12598 1.28702 +67 0 2 -0.955209 -1.28702 -4.12598 -1.28702 +68 0 2 -0.955209 1.28702 -4.12598 1.28702 +69 0 2 -0.955209 4.12598 1.28702 -1.28702 +70 0 2 -0.955209 4.12598 -1.28702 1.28702 +71 0 2 -0.955209 -4.12598 1.28702 1.28702 +72 0 2 -0.955209 -4.12598 -1.28702 -1.28702 +73 1 3 -0.66 0.00000 0.00000 0.00000 +74 1 4 0.165 0.00000 -0.89000 -0.62930 +75 1 4 0.165 0.00000 0.89000 -0.62930 +76 1 4 0.165 -0.89000 0.00000 0.62930 +77 1 4 0.165 0.89000 0.00000 0.62930 + +Bonds + +1 1 73 74 +2 1 73 75 +3 1 73 76 +4 1 73 77 + +Angles + +1 1 74 73 75 +2 1 74 73 76 +3 1 74 73 77 +4 1 75 73 76 +5 1 75 73 77 +6 1 76 73 77 diff --git a/examples/QUANTUM/NWChem/in.series b/examples/QUANTUM/NWChem/in.series new file mode 100644 index 0000000000..4eaa5ae186 --- /dev/null +++ b/examples/QUANTUM/NWChem/in.series @@ -0,0 +1,36 @@ +# multiple W conformations with NWChem + +variable datafile index data.w.bcc data.w.diamond + +mdi connect + +label loop + + units metal + atom_style atomic + atom_modify map yes + comm_modify cutoff 2.0 + + log log.series.${datafile} + + read_data ${datafile} + + mass 1 183.84 + + neighbor 1.0 bin + neigh_modify delay 0 every 1 check yes + + fix 1 all mdi/qm elements W connect no + fix_modify 1 energy yes + + dump 1 all custom 1 dump.series.${datafile} id x y z fx fy fz + + run 0 + + clear + +next datafile + +jump SELF loop + +mdi exit diff --git a/examples/QUANTUM/NWChem/in.series.plugin b/examples/QUANTUM/NWChem/in.series.plugin new file mode 100644 index 0000000000..8dc1c5421b --- /dev/null +++ b/examples/QUANTUM/NWChem/in.series.plugin @@ -0,0 +1,34 @@ +# multiple W conformations with NWChem + +variable datafile index data.w.bcc data.w.diamond + +label loop + + units metal + atom_style atomic + atom_modify map yes + comm_modify cutoff 2.0 + + log log.series.plugin.${datafile} + + read_data ${datafile} + + mass 1 183.84 + + neighbor 1.0 bin + neigh_modify delay 0 every 1 check yes + + fix 1 all mdi/qm elements W + fix_modify 1 energy yes + + dump 1 all custom 1 dump.series.plugin.${datafile} id x y z fx fy fz + + mdi plugin nwchem_mdi mdi "-role ENGINE -name LATTE -method LINK" & + extra "template.w.nw w.nw log.series.pwdft.plugin.1" & + command "run 0" + + clear + +next datafile + +jump SELF loop diff --git a/examples/QUANTUM/NWChem/in.w.many b/examples/QUANTUM/NWChem/in.w.many new file mode 100644 index 0000000000..384c3bb1b1 --- /dev/null +++ b/examples/QUANTUM/NWChem/in.w.many @@ -0,0 +1,34 @@ +# many conformations with NWChem + +variable datafiles file file.list.2 + +label loop + +clear + +units metal +atom_style atomic +atom_modify map yes +comm_modify cutoff 2.0 + +log log.${datafiles} + +read_data Wfiles/${datafiles} + +mass 1 183.84 + +neighbor 1.0 bin +neigh_modify delay 0 every 1 check yes + +fix 2 all nwchem template.w.nw ${datafiles}.nw & + log.pwdft.${datafiles} W +fix_modify 2 energy yes + +dump 1 all custom 1 dump.${datafiles} id x y z fx fy fz + +timestep 0.001 + +run 0 + +next datafiles +jump SELF loop diff --git a/examples/QUANTUM/NWChem/in.water.mm b/examples/QUANTUM/NWChem/in.water.mm new file mode 100644 index 0000000000..11c3a9c576 --- /dev/null +++ b/examples/QUANTUM/NWChem/in.water.mm @@ -0,0 +1,46 @@ +# MM for water dimer + +units real +atom_style full + +bond_style harmonic +angle_style harmonic + +read_data data.water.mm + +group mm molecule 1 +group qm molecule 2 + +# pair style must define stand-alone short-range Coulombics + +pair_style lj/cut/coul/cut 6.0 +pair_coeff 1 1 0.13506 3.166 +pair_coeff 2 2 0.0 1.0 + +#velocity all create 300.0 458732 + +neighbor 1.0 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve + +compute 1 all pair/local dist +compute 2 all reduce max c_1 + +variable fxabs atom abs(fx) +variable fyabs atom abs(fy) +variable fzabs atom abs(fz) +variable qabs atom abs(q) +compute 3 all reduce max v_fxabs v_fyabs v_fzabs v_qabs + +dump 1 all custom 1 dump.water.dimer.mm id x y z q fx fy fz +dump_modify 1 sort id format float "%20.16g" + +timestep 1.0 + +thermo_style custom step cpu temp ke evdwl ecoul epair emol elong & + pe etotal press c_2 c_3[*] + +thermo 1 + +run 10 diff --git a/examples/QUANTUM/NWChem/in.water.nwchem.qmmm b/examples/QUANTUM/NWChem/in.water.qmmm similarity index 74% rename from examples/QUANTUM/NWChem/in.water.nwchem.qmmm rename to examples/QUANTUM/NWChem/in.water.qmmm index d46a8e7498..6dcbfbc3ab 100644 --- a/examples/QUANTUM/NWChem/in.water.nwchem.qmmm +++ b/examples/QUANTUM/NWChem/in.water.qmmm @@ -6,7 +6,7 @@ atom_style full bond_style harmonic angle_style harmonic -read_data data.water.nwchem.qmmm +read_data data.water.qmmm # QM atoms are 1st water # MM atoms are 2nd water @@ -49,22 +49,11 @@ timestep 0.1 fix 1 all nve -fix 2 qm mdi/qmmm potential elements 8 1 8 1 -#fix 2 qm nwchem template.water.nw water.dimer2.nw & -# log.pwdft.water.dimer O H O H +fix 2 qm mdi/qmmm potential elements O H O H fix_modify 2 energy yes thermo_style custom step cpu temp ke evdwl ecoul epair emol elong & f_2 pe etotal press -# convert dump file forces to Hartree/Bohr for comparison to NWChem - -variable fx atom fx/1185.8 -variable fy atom fy/1185.8 -variable fz atom fz/1185.8 - -dump 1 all custom 1 dump.water.nwchem.qmmm id x y z q v_fx v_fy v_fz -dump_modify 1 sort id format float "%20.16g" - thermo 1 run 2 diff --git a/examples/QUANTUM/NWChem/in.water.nwchem.qmmm.plugin b/examples/QUANTUM/NWChem/in.water.qmmm.plugin similarity index 78% rename from examples/QUANTUM/NWChem/in.water.nwchem.qmmm.plugin rename to examples/QUANTUM/NWChem/in.water.qmmm.plugin index f79411e4d5..a9884bc8dc 100644 --- a/examples/QUANTUM/NWChem/in.water.nwchem.qmmm.plugin +++ b/examples/QUANTUM/NWChem/in.water.qmmm.plugin @@ -6,7 +6,7 @@ atom_style full bond_style harmonic angle_style harmonic -read_data data.water.nwchem.qmmm +read_data data.water.qmmm # QM atoms are 1st water # MM atoms are 2nd water @@ -49,24 +49,13 @@ timestep 0.1 fix 1 all nve -fix 2 qm mdi/qmmm potential elements 8 1 8 1 +fix 2 qm mdi/qmmm potential elements O H O H fix_modify 2 energy yes thermo_style custom step cpu temp ke evdwl ecoul epair emol elong & f_2 pe etotal press - -# convert dump file forces to Hartree/Bohr for comparison to NWChem - -variable fx atom fx/1185.8 -variable fy atom fy/1185.8 -variable fz atom fz/1185.8 - -dump 1 all custom 1 dump.water.dimer.qmmm.plugin & - id x y z q v_fx v_fy v_fz -dump_modify 1 sort id format float "%20.16g" - thermo 1 mdi plugin nwchem_mdi mdi "-role ENGINE -name NWChem -method LINK" & extra "template.water.nw water.dimer.nw log.water.pwdft.qmmm.plugin.1" & - command "run 2" + command "run 1" diff --git a/examples/QUANTUM/NWChem/in.zeolite.mm b/examples/QUANTUM/NWChem/in.zeolite.mm new file mode 100644 index 0000000000..e746d468b5 --- /dev/null +++ b/examples/QUANTUM/NWChem/in.zeolite.mm @@ -0,0 +1,116 @@ +# MM for SiO2 zeolite with one methane molecule + +# CHIK potential +# EPL, Carre, Horbach, Ispas, Kob, 82, 17001 (2008) +# B = 1/rho + +#q Si = 1.910418 +#q O = -0.955209 +#A OO = 659.595398 eV +#B OO = 2.590066 1/Ang +#C OO = 26.836679 eV-Ang^6 +#A SiO = 27029.419922 eV +#B SiO = 5.158606 1/Ang +#C SiO = 148.099091 eV-Ang^6 +#A SiSi = 3150.462646 eV +#B SiSi = 2.851451 1/Ang +#C SiSi = 626.7519553 eV-Ang^6 + +# LJ params for methane and O from Table 1 +# Bhatia and Nicholson, J Phys Chem C, 2012, 116, 2344-2355. + +#q C = -0.66 +#Q H = 0.165 +#sigma C = 0.34 nm +#sigma H = 0.265 nm +#sigma O = 0.28 nm +#eps/kB C = 55.082 K = 0.004745993 eV +#eps/kB H = 7.905 K = 0.000681113 eV +#eps/kB O = 492.7 K = 0.0424522 eV + +# LJ params for silicon +#e-Journal of Surf Sci and Nanotech, Inui and Iwasaki, 15, 40-49 (2017) + +#sigma Si = 3.826 Ang +#eps Si = 17.4 meV = 0.0174 eV + +# C-H bond and methane angle params + +#OPLS C-H bond k = 29.40 ev/Ang^2 +#C-H bond r0 = 1.09 Angs +#methane angles = 109.5 degrees +#C-H angle k/kB = 2000 K/rad^2 + +# conversions + +#1 eV = 11606 K +#1 eV = 23.0609 kcal/mole +#1 kcal/mole = 503.2761 K +#1 kcal = 4.814 kJoule + +# ------------------------- + +units metal +atom_style full + +bond_style harmonic +angle_style harmonic + +read_data data.zeolite + +group mm type 1 2 +group qm type 3 4 + +# pair style must define stand-alone short-range Coulombics +# arithmetic mixing + +pair_style hybrid/overlay buck 6.5 lj/cut 6.5 coul/cut 6.5 + +pair_coeff 1 1 buck 3150.462646 0.35032282 626.7519553 +pair_coeff 2 2 buck 659.595398 0.38609055 26.836679 +pair_coeff 1 2 buck 27029.419922 0.19385082 148.099091 +pair_coeff 1 2 buck 27029.419922 0.19385082 148.099091 +pair_coeff 1 3 lj/cut 0.009087 3.613 +pair_coeff 1 4 lj/cut 0.00344258 3.238 +pair_coeff 2 3 lj/cut 0.01419429 3.1 +pair_coeff 2 4 lj/cut 0.00537724 2.725 +pair_coeff 3 3 lj/cut 0.004746 3.4 +pair_coeff 4 4 lj/cut 0.00068111 2.65 +pair_coeff * * coul/cut + +bond_style harmonic +bond_coeff 1 29.40 1.09 + +angle_style harmonic +angle_coeff 1 0.172325 109.5 + +#velocity all create 300.0 458732 + +neighbor 1.0 bin +neigh_modify delay 0 every 1 check yes + +# dynamic or frozen zeolite + +fix 1 all nve +#fix 1 qm nve + +compute 1 all pair/local dist +compute 2 all reduce max c_1 + +variable fxabs atom abs(fx) +variable fyabs atom abs(fy) +variable fzabs atom abs(fz) +variable qabs atom abs(q) +compute 3 all reduce max v_fxabs v_fyabs v_fzabs v_qabs + +dump 1 all custom 1 dump.zeolite.mm id x y z q fx fy fz +dump_modify 1 sort id format float "%20.16g" + +timestep 0.001 + +thermo_style custom step cpu temp ke evdwl ecoul epair emol elong & + pe etotal press c_2 c_3[*] + +thermo 1 + +run 3 diff --git a/examples/QUANTUM/NWChem/in.zeolite.qmmm b/examples/QUANTUM/NWChem/in.zeolite.qmmm new file mode 100644 index 0000000000..53441c80ba --- /dev/null +++ b/examples/QUANTUM/NWChem/in.zeolite.qmmm @@ -0,0 +1,70 @@ +# QMMM for SiO2 zeolite with one methane molecule + +units metal +atom_style full + +bond_style harmonic +angle_style harmonic + +read_data data.zeolite + +# MM atoms are Si,O +# QM atoms are C,H + +group mm type 1 2 +group qm type 3 4 + +# pair style must define stand-alone short-range Coulombics +# must specify mixing explicitly b/c hybrid/overlay +# MM Si,O = types 1,2 +# QM C,H = types 3,4 +# MM Si,O atoms do not LJ interact with each other (just via Buckingham) +# QM C,H atoms do not LJ interact with each other +# MM Si,O and QM C,H do LJ interact with each other + +pair_style hybrid/overlay buck 6.5 lj/cut 6.5 coul/cut 6.5 + +pair_coeff 1 1 buck 3150.462646 0.35032282 626.7519553 +pair_coeff 2 2 buck 659.595398 0.38609055 26.836679 +pair_coeff 1 2 buck 27029.419922 0.19385082 148.099091 + +pair_coeff 1 3 lj/cut 0.09087 3.613 +pair_coeff 1 4 lj/cut 0.0344258 3.238 +pair_coeff 2 3 lj/cut 0.1419429 3.1 +pair_coeff 2 4 lj/cut 0.035857762359063315 1.932779 + +pair_coeff 3 3 lj/cut 0.0 3.4 +pair_coeff 4 4 lj/cut 0.0 2.65 +pair_coeff * * coul/cut + +bond_style harmonic +bond_coeff 1 29.40 1.09 + +angle_style harmonic +angle_coeff 1 0.172325 109.5 + +# remove bonds/angles in QM methane molecule + +delete_bonds qm multi remove special + +neighbor 1.0 bin +neigh_modify delay 0 every 1 check yes + +velocity all create 300.0 458732 + +# QMMM dynamics with small timestep +# dynamic or frozen zeolite + +#fix 1 all nve +fix 1 qm nve + +fix 2 qm mdi/qmmm potential elements Si O C H +fix_modify 2 energy yes + +timestep 0.0001 + +thermo_style custom step cpu temp ke evdwl ecoul epair emol elong & + f_2 pe etotal press +thermo 1 + +run 2 diff --git a/examples/QUANTUM/NWChem/in.zeolite.qmmm.plugin b/examples/QUANTUM/NWChem/in.zeolite.qmmm.plugin new file mode 100644 index 0000000000..11bdc688c6 --- /dev/null +++ b/examples/QUANTUM/NWChem/in.zeolite.qmmm.plugin @@ -0,0 +1,72 @@ +# QMMM for SiO2 zeolite with one methane molecule + +units metal +atom_style full + +bond_style harmonic +angle_style harmonic + +read_data data.zeolite + +# MM atoms are Si,O +# QM atoms are C,H + +group mm type 1 2 +group qm type 3 4 + +# pair style must define stand-alone short-range Coulombics +# must specify mixing explicitly b/c hybrid/overlay +# MM Si,O = types 1,2 +# QM C,H = types 3,4 +# MM Si,O atoms do not LJ interact with each other (just via Buckingham) +# QM C,H atoms do not LJ interact with each other +# MM Si,O and QM C,H do LJ interact with each other + +pair_style hybrid/overlay buck 6.5 lj/cut 6.5 coul/cut 6.5 + +pair_coeff 1 1 buck 3150.462646 0.35032282 626.7519553 +pair_coeff 2 2 buck 659.595398 0.38609055 26.836679 +pair_coeff 1 2 buck 27029.419922 0.19385082 148.099091 + +pair_coeff 1 3 lj/cut 0.09087 3.613 +pair_coeff 1 4 lj/cut 0.0344258 3.238 +pair_coeff 2 3 lj/cut 0.1419429 3.1 +pair_coeff 2 4 lj/cut 0.035857762359063315 1.932779 # same as water dimer + +pair_coeff 3 3 lj/cut 0.0 3.4 +pair_coeff 4 4 lj/cut 0.0 2.65 +pair_coeff * * coul/cut + +bond_style harmonic +bond_coeff 1 29.40 1.09 + +angle_style harmonic +angle_coeff 1 0.172325 109.5 + +# remove bonds/angles in QM methane molecule + +delete_bonds qm multi remove special + +neighbor 1.0 bin +neigh_modify delay 0 every 1 check yes + +velocity all create 300.0 458732 + +# QMMM dynamics with small timestep +# dynamic or frozen zeolite + +#fix 1 all nve +fix 1 qm nve + +fix 2 qm mdi/qmmm potential elements Si O C H +fix_modify 2 energy yes + +timestep 0.0001 + +thermo_style custom step cpu temp ke evdwl ecoul epair emol elong & + f_2 pe etotal press +thermo 1 + +mdi plugin nwchem_mdi mdi "-role ENGINE -name NWChem -method LINK" & + extra "template.methane.nw methane.nw log.zeolite.pwdft.qmmm.plugin.1" & + command "run 2" diff --git a/examples/QUANTUM/NWChem/nwchem_mdi.py b/examples/QUANTUM/NWChem/nwchem_mdi.py index e6284d7aea..cdf00f283c 100644 --- a/examples/QUANTUM/NWChem/nwchem_mdi.py +++ b/examples/QUANTUM/NWChem/nwchem_mdi.py @@ -493,9 +493,9 @@ def evaluate(): qm_pe = c_qm_pe.value time2 = time.time() print("DONE QMMM minimizer",nwerr,time2-time1) - print("PE",qm_pe) - print("FORCE",qm_forces) - print("CHARGES",qm_charges) + #print("PE",qm_pe) + #print("FORCE",qm_forces) + #print("CHARGES",qm_charges) # AIMD with only QM atoms diff --git a/examples/QUANTUM/NWChem/template.methane.nw b/examples/QUANTUM/NWChem/template.methane.nw new file mode 100644 index 0000000000..5cd863593b --- /dev/null +++ b/examples/QUANTUM/NWChem/template.methane.nw @@ -0,0 +1,17 @@ +Title "LAMMPS wrapping of PWDFT" + +memory 1900 mb + +echo + +GEOMINSERT + +nwpw + xc pbe + cutoff 30.0 + 2d-hcurve + tolerances 1.0e-9 1.0-9 + apc on +end + +task pspw gradient diff --git a/examples/QUANTUM/NWChem/template.w.nw b/examples/QUANTUM/NWChem/template.w.nw new file mode 100644 index 0000000000..720faf87fa --- /dev/null +++ b/examples/QUANTUM/NWChem/template.w.nw @@ -0,0 +1,16 @@ +Title "LAMMPS wrapping of PWDFT" + +memory 1900 mb + +echo + +GEOMINSERT + +nwpw + 2d-hcurve + initialize_wavefunction on + cutoff 10.0 + xc pbe +end + +task pspw gradient From 3419bfa3f26e2c79bff9740fb6cc55d229e8a154 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 7 Feb 2023 15:21:43 -0700 Subject: [PATCH 085/448] LATTE examples dir --- examples/QUANTUM/LATTE/README | 229 +++++++------ examples/QUANTUM/LATTE/README.new | 156 --------- examples/QUANTUM/LATTE/README.old | 179 ++++++++++ .../QUANTUM/LATTE/{2uo2.lmp => data.2uo2} | 0 .../QUANTUM/LATTE/{3uo2.lmp => data.3uo2} | 0 .../QUANTUM/LATTE/{4uo2.lmp => data.4uo2} | 0 .../{data.water.latte.aimd => data.water} | 0 examples/QUANTUM/LATTE/dump.8Sep22.aimd.mpi.1 | 315 ------------------ examples/QUANTUM/LATTE/dump.8Sep22.aimd.mpi.2 | 315 ------------------ .../QUANTUM/LATTE/dump.8Sep22.aimd.plugin | 315 ------------------ .../LATTE/dump.8Sep22.series.mpi.1.2uo2 | 15 - .../LATTE/dump.8Sep22.series.mpi.1.3uo2 | 18 - .../LATTE/dump.8Sep22.series.mpi.1.4uo2 | 21 -- .../LATTE/dump.8Sep22.series.mpi.2.2uo2 | 15 - .../LATTE/dump.8Sep22.series.mpi.2.3uo2 | 18 - .../LATTE/dump.8Sep22.series.mpi.2.4uo2 | 21 -- .../LATTE/dump.8Sep22.series.plugin.2uo2 | 15 - .../LATTE/dump.8Sep22.series.plugin.3uo2 | 18 - .../LATTE/dump.8Sep22.series.plugin.4uo2 | 21 -- examples/QUANTUM/LATTE/in.aimd | 26 -- examples/QUANTUM/LATTE/in.aimd.plugin | 27 -- examples/QUANTUM/LATTE/in.latte.water.md | 40 --- examples/QUANTUM/LATTE/in.series | 8 +- examples/QUANTUM/LATTE/in.series.plugin | 13 +- .../LATTE/{in.uo2.latte.aimd => in.uo2} | 2 +- examples/QUANTUM/LATTE/in.uo2.latte.series | 37 -- .../QUANTUM/LATTE/in.uo2.latte.series.plugin | 32 -- ...in.uo2.latte.aimd.plugin => in.uo2.plugin} | 2 +- .../LATTE/{in.water.latte.aimd => in.water} | 2 +- ...ater.latte.aimd.plugin => in.water.plugin} | 2 +- 30 files changed, 306 insertions(+), 1556 deletions(-) delete mode 100644 examples/QUANTUM/LATTE/README.new create mode 100644 examples/QUANTUM/LATTE/README.old rename examples/QUANTUM/LATTE/{2uo2.lmp => data.2uo2} (100%) rename examples/QUANTUM/LATTE/{3uo2.lmp => data.3uo2} (100%) rename examples/QUANTUM/LATTE/{4uo2.lmp => data.4uo2} (100%) rename examples/QUANTUM/LATTE/{data.water.latte.aimd => data.water} (100%) delete mode 100644 examples/QUANTUM/LATTE/dump.8Sep22.aimd.mpi.1 delete mode 100644 examples/QUANTUM/LATTE/dump.8Sep22.aimd.mpi.2 delete mode 100644 examples/QUANTUM/LATTE/dump.8Sep22.aimd.plugin delete mode 100644 examples/QUANTUM/LATTE/dump.8Sep22.series.mpi.1.2uo2 delete mode 100644 examples/QUANTUM/LATTE/dump.8Sep22.series.mpi.1.3uo2 delete mode 100644 examples/QUANTUM/LATTE/dump.8Sep22.series.mpi.1.4uo2 delete mode 100644 examples/QUANTUM/LATTE/dump.8Sep22.series.mpi.2.2uo2 delete mode 100644 examples/QUANTUM/LATTE/dump.8Sep22.series.mpi.2.3uo2 delete mode 100644 examples/QUANTUM/LATTE/dump.8Sep22.series.mpi.2.4uo2 delete mode 100644 examples/QUANTUM/LATTE/dump.8Sep22.series.plugin.2uo2 delete mode 100644 examples/QUANTUM/LATTE/dump.8Sep22.series.plugin.3uo2 delete mode 100644 examples/QUANTUM/LATTE/dump.8Sep22.series.plugin.4uo2 delete mode 100644 examples/QUANTUM/LATTE/in.aimd delete mode 100644 examples/QUANTUM/LATTE/in.aimd.plugin delete mode 100644 examples/QUANTUM/LATTE/in.latte.water.md rename examples/QUANTUM/LATTE/{in.uo2.latte.aimd => in.uo2} (95%) delete mode 100644 examples/QUANTUM/LATTE/in.uo2.latte.series delete mode 100644 examples/QUANTUM/LATTE/in.uo2.latte.series.plugin rename examples/QUANTUM/LATTE/{in.uo2.latte.aimd.plugin => in.uo2.plugin} (96%) rename examples/QUANTUM/LATTE/{in.water.latte.aimd => in.water} (95%) rename examples/QUANTUM/LATTE/{in.water.latte.aimd.plugin => in.water.plugin} (95%) diff --git a/examples/QUANTUM/LATTE/README b/examples/QUANTUM/LATTE/README index 8ab40c9c65..072210342f 100644 --- a/examples/QUANTUM/LATTE/README +++ b/examples/QUANTUM/LATTE/README @@ -1,161 +1,156 @@ -LATTE is a semi-empirical tight-binding quantum code, developed -primarily at Los Alamos National Labs. +# Test runs of AIMD with LAMMPS and LATTE -See these links: +Step 1: build LAMMPS +Step 2: download/build the MDI code coupling package +Step 3: download/build or install LATTE +Step 4: run the water AIMD problem for a few steps - https://www.osti.gov/biblio/1526907-los-alamos-transferable-tight-binding-energetics-latte-version - https://github.com/lanl/LATTE +--------------------------------- +--------------------------------- -LAMMPS has 2 ways of working with LATTE: +Step 1: build LAMMPS -(1) Via its LATTE package and the fix latte command - must run LAMMPS on a single processor, it calls LATTE as a library +The molecule and kspace packages are needed for the 2-water test +problem. Copy the final LAMMPS executable into the +examples/QUANTUM/PySCF directory. -(2) Via its MDI package and the code-coupling MDI library - (a) can run LAMMPS and LATTE as stand-alone codes - LAMMPS can be run on any number of procs - LATTE must run on a single proc, but can use OpenMP - (b) can run LAMMPS with LATTE as a plug-in library - must run LAMMPS on a single processor +Traditional make: -Examples for use case (1) are in the examples/latte dir. Use case (2) -is illustrated in this dir. +% cd ~/lammps/lib/mdi +% python Install.py -m mpi +% cd ~/lammps/src +% make yes-mdi yes-molecule yes-kspace +% make -j mpi +% cp lmp_mpi ~/lammps/examples/QUANTUM/PySCF -NOTE: If you compare MDI runs in this dir to similar fix latte runs in -examples/latte, the answers for energy and virial will be differnt. -This is b/c the version of LATTE used by the fix latte command within -the LATTE package is older than the version of LATTE used here. +CMake: ------------------- -Building 3 codes needed to run these examples - -(1) Download and build MDI - -% git clone git@github.com:MolSSI-MDI/MDI_Library.git mdi -% cd mdi +% cd ~/lammps % mkdir build; cd build -% cmake .. # includes support for all langauges (incl Fortran, Python) -% make +% cmake -D PKG_MDI=yes -D PKG_MOLECULE=yes -D PKG_KSPACE=yes ../cmake +% make -j +% cp lmp ~/lammps/examples/QUANTUM/PySCF/lmp_mpi -(2) Download and build LATTE with MDI support +--------------------------------- +--------------------------------- -% git clone git@github.com:lanl/LATTE.git latte -% cd latte -% git checkout skimLATTE-progress # goto branch with MDI support -% cp makefiles/makefile.CHOICES.mdi makefile.CHOICES # so can now edit -% edit makefile.CHOICES settings to have these settings: - MAKELIB = OFF, SHARED = ON, MDI = ON - MDI_PATH must point to CMake build of MDI in (1), - e.g. /home/sjplimp/mdi/build/MDI_Library - comment out 2 LIB lines with CUDA-CUDART_LIBRARY -% make clean -% make # creates liblatte.so and LATTE_DOUBLE with support for MDI +Step 2: install the MDI code coupling package -(3) Build LAMMPS with its MDI package - also with the MOLECULE package for these example scripts +(a) grab the MDI Git repo -Build with traditional make +% mkdir git; cd mdi +% git clone git@github.com:MolSSI-MDI/MDI_Library.git git -% cd lammps/lib/mdi -% python Install.py -m mpi # downloads and builds MDI -% cd ../../src -% make yes-mdi yes-molecule -$ make mpi # creates lmp_mpi +(b) build MDI +% cd mdi/git % mkdir build; cd build -% cmake -D PKG_MDI=yes -D PKG_MOLECULE=yes ../cmake -% make # creates lmp +% cmake .. +% make -j -Build with CMake +(c) Add something similar to the following to your .bashrc or .cshrc +file so that Python can find MDI: -% cd lammps -% mkdir build; cd build -% cmake -D PKG_MDI=yes -D PKG_MOLECULE=yes ../cmake -% make # creates lmp +For bash: -(4) Copy LAMMPS and LATTE executables into this dir +% export PYTHONPATH="$PYTHONPATH:/home/sjplimp/mdi/git" +% hash -r -Copy the LAMMPS executable (lmp_mpi or lmp) into this dir as lmp_mpi. -Copy the LATTE executable LATTE_DOUBLE into this dir. -The run commands below assume you have done this. +For (t)csh: -(5) Ensure LD_LIBRARY_PATH includes the dir where MDI was built in (1) -with its libmdi.so file, e.g. mdi/build/MDI_Library. This is needed -so when LATTE_DOUBLE runs as an executable it will able to find -libmdi.so. +% setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/mdi/git +% rehash ------------------- -Notes on LATTE usage +--------------------------------- +--------------------------------- -You must run this version of LATTE on a single MPI processor. -However, you can use OpenMP with LATTE. To do this you need to build -LATTE with OpenMP support by editing the makefile.CHOICES file to -include -fopenmp with FFLAGS and LINKFLAGS. Also -lapack and -lblas -need to be added to LIB, and those libraries must be available on your -system. For best performance you should also build LATTE with its -PROGRESS and BML libraries. Building those libs is more complex, -see details here: +Step 3: download/build LATTE -https://github.com/lanl/LATTE_SUPER/tree/allMachines/Laptop +(a) download/build LATTE on your box -At run time, you need to also first set an environment variable for -the number of OpenMP threads to use, e.g. +NOTE: add instructions here -% export OMP_NUM_THREADS=12 +(b) Add something similar to the following to your .bashrc or .cshrc +file so that Python can find PySCF: -By default LATTE reads the latte.in file for its parameters. That -file specifies other files LATTE will read. With MDI, the driver code -(e.g. LAMMPS) can use the >FNAME command to specify an alternate -filename to use instead of latte.in. +For bash: -By default LATTE writes out a log.latte file with info about its -calculations. An "OUTFILE= logfile" setting in latte.in can rename -this file. +% export PYTHONPATH="$PYTHONPATH:/home/sjplimp/pyscf/git" +% hash -r ---------- -Run example #1: AIMD +For (t)csh: -* Run with MPI: 1 proc each +% setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/pyscf/git +% rehash -mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" \ - -in in.aimd -log log.aimd.lammps.mpi : \ - -np 1 LATTE_DOUBLE -mdi "-name LATTE -role ENGINE -method MPI" +(c) Check that you can import the 4 Python modules which the script +that wraps PySCF will need: -* Run with MPI: 2 procs for LAMMPS, 1 for LATTE +% python +>>> import numpy as np +>>> from mpi4py import MPI +>>> import MDI_Library as mdi +>>> import pyscf -mpirun -np 2 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" \ - -in in.aimd -log log.aimd.lammps.mpi : \ - -np 1 LATTE_DOUBLE -mdi "-name LATTE -role ENGINE -method MPI" +--------------------------------- +--------------------------------- -* Run in plugin mode: 1 proc +Step 4: run the water AIMD problem for a few steps -lmp_mpi -mdi \ - "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/latte/git" \ - -in in.aimd.plugin -log log.aimd.lammps.plugin +% cd ~/lammps/examples/QUANTUM/LATTE -NOTE: The -plugin_path needs to point to where LATTE was built in step -(2). +# Run with TCP: 1 proc each ---------- -Run example #2: sequence of configurations +% lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.water.tcp.1 -in in.water & -* Run with MPI: 1 proc each +% python latte_mdi.py -mdi "-name LATTE -role ENGINE -method TCP -port 8021 -hostname localhost" latte.in.water -mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" \ - -in in.series -log log.series.lammps.mpi : \ - -np 1 LATTE_DOUBLE -mdi "-name LATTE -role ENGINE -method MPI" +# Run with MPI: 1 proc each -* Run with MPI: 2 procs for LAMMPS, 1 for LATTE +% mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.water.mpi.1 -in in.water : -np 1 python latte_mdi.py -mdi "-name LATTE -role ENGINE -method MPI" latte.in.water -mpirun -np 2 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" \ - -in in.series -log log.series.lammps.mpi : \ - -np 1 LATTE_DOUBLE -mdi "-name LATTE -role ENGINE -method MPI" +# Run in plugin mode: 1 proc -* Run in plugin mode: 1 proc +% lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/LATTE" -log log.water.plugin.1 -in in.water.plugin -lmp_mpi -mdi \ - "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/latte/git" \ - -in in.series.plugin -log log.series.lammps.plugin +--------------------------------- +--------------------------------- -NOTE: The -plugin_path needs to point to where LATTE was built in step -(2). +Step 5: run the UO2 AIMD problem for a few steps + +% cd ~/lammps/examples/QUANTUM/LATTE + +# Run with TCP: 1 proc each + +% lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.uo2.tcp.1 -in in.uo2 & + +% python latte_mdi.py -mdi "-name LATTE -role ENGINE -method TCP -port 8021 -hostname localhost" latte.in.uo2 + +# Run with MPI: 1 proc each + +% mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.uo2.mpi.1 -in in.uo2 : -np 1 python latte_mdi.py -mdi "-name LATTE -role ENGINE -method MPI" latte.in.uo2 + +# Run in plugin mode: 1 proc + +% lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/LATTE" -log log.uo2.plugin.1 -in in.uo2.plugin + +--------------------------------- +--------------------------------- + +Step 6: run the UO2 series problem + +% cd ~/lammps/examples/QUANTUM/LATTE + +# Run with TCP: 1 proc each + +% lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.series.tcp.1 -in in.series & + +% python latte_mdi.py -mdi "-name LATTE -role ENGINE -method TCP -port 8021 -hostname localhost" latte.in.uo2 + +# Run with MPI: 1 proc each + +% mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.series.mpi.1 -in in.series : -np 1 python latte_mdi.py -mdi "-name LATTE -role ENGINE -method MPI" latte.in.uo2 + +# Run in plugin mode: 1 proc + +% lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/LATTE" -log log.series.plugin.1 -in in.series.plugin diff --git a/examples/QUANTUM/LATTE/README.new b/examples/QUANTUM/LATTE/README.new deleted file mode 100644 index 1fae90633d..0000000000 --- a/examples/QUANTUM/LATTE/README.new +++ /dev/null @@ -1,156 +0,0 @@ -# Test runs of AIMD with LAMMPS and LATTE - -Step 1: build LAMMPS -Step 2: download/build the MDI code coupling package -Step 3: download/build or install LATTE -Step 4: run the water AIMD problem for a few steps - ---------------------------------- ---------------------------------- - -Step 1: build LAMMPS - -The molecule and kspace packages are needed for the 2-water test -problem. Copy the final LAMMPS executable into the -examples/QUANTUM/PySCF directory. - -Traditional make: - -% cd ~/lammps/lib/mdi -% python Install.py -m mpi -% cd ~/lammps/src -% make yes-mdi yes-molecule yes-kspace -% make -j mpi -% cp lmp_mpi ~/lammps/examples/QUANTUM/PySCF - -CMake: - -% cd ~/lammps -% mkdir build; cd build -% cmake -D PKG_MDI=yes -D PKG_MOLECULE=yes -D PKG_KSPACE=yes ../cmake -% make -j -% cp lmp ~/lammps/examples/QUANTUM/PySCF/lmp_mpi - ---------------------------------- ---------------------------------- - -Step 2: install the MDI code coupling package - -(a) grab the MDI Git repo - -% mkdir git; cd mdi -% git clone git@github.com:MolSSI-MDI/MDI_Library.git git - -(b) build MDI - -% cd mdi/git -% mkdir build; cd build -% cmake .. -% make -j - -(c) Add something similar to the following to your .bashrc or .cshrc -file so that Python can find MDI: - -For bash: - -% export PYTHONPATH="$PYTHONPATH:/home/sjplimp/mdi/git" -% hash -r - -For (t)csh: - -% setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/mdi/git -% rehash - ---------------------------------- ---------------------------------- - -Step 3: install PySCF - -(a) download/build or install PySCF on your box - -NOTE: add instructions here - -(b) Add something similar to the following to your .bashrc or .cshrc -file so that Python can find PySCF: - -For bash: - -% export PYTHONPATH="$PYTHONPATH:/home/sjplimp/pyscf/git" -% hash -r - -For (t)csh: - -% setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/pyscf/git -% rehash - -(c) Check that you can import the 4 Python modules which the script -that wraps PySCF will need: - -% python ->>> import numpy as np ->>> from mpi4py import MPI ->>> import MDI_Library as mdi ->>> import pyscf - ---------------------------------- ---------------------------------- - -Step 4: run the water AIMD problem for a few steps - -% cd ~/lammps/examples/QUANTUM/LATTE - -# Run with TCP: 1 proc each - -% lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.water.latte.aimd.tcp.1 -in in.water.latte.aimd & - -% python latte_mdi.py -mdi "-name LATTE -role ENGINE -method TCP -port 8021 -hostname localhost" latte.in.water - -# Run with MPI: 1 proc each - -% mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.water.latte.aimd.mpi.1 -in in.water.latte.aimd : -np 1 python latte_mdi.py -mdi "-name LATTE -role ENGINE -method MPI" latte.in.water - -# Run in plugin mode: 1 proc - -% lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/LATTE" -log log.water.latte.aimd.plugin.1 -in in.water.latte.aimd.plugin - ---------------------------------- ---------------------------------- - -Step 5: run the UO2 AIMD problem for a few steps - -% cd ~/lammps/examples/QUANTUM/LATTE - -# Run with TCP: 1 proc each - -% lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.uo2.latte.aimd.tcp.1 -in in.uo2.latte.aimd & - -% python latte_mdi.py -mdi "-name LATTE -role ENGINE -method TCP -port 8021 -hostname localhost" latte.in.uo2 - -# Run with MPI: 1 proc each - -% mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.uo2.latte.aimd.mpi.1 -in in.uo2.latte.aimd : -np 1 python latte_mdi.py -mdi "-name LATTE -role ENGINE -method MPI" latte.in.uo2 - -# Run in plugin mode: 1 proc - -% lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/LATTE" -log log.uo2.latte.aimd.plugin.1 -in in.uo2.latte.aimd.plugin - ---------------------------------- ---------------------------------- - -Step 6: run the UO2 series problem - -% cd ~/lammps/examples/QUANTUM/LATTE - -# Run with TCP: 1 proc each - -% lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.uo2.latte.series.tcp.1 -in in.uo2.latte.series & - -% python latte_mdi.py -mdi "-name LATTE -role ENGINE -method TCP -port 8021 -hostname localhost" latte.in.uo2 - -# Run with MPI: 1 proc each - -% mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.uo2.latte.series.mpi.1 -in in.uo2.latte.series : -np 1 python latte_mdi.py -mdi "-name LATTE -role ENGINE -method MPI" latte.in.uo2 - -# Run in plugin mode: 1 proc - -% lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/LATTE" -log log.uo2.latte.series.plugin.1 -in in.uo2.latte.series.plugin diff --git a/examples/QUANTUM/LATTE/README.old b/examples/QUANTUM/LATTE/README.old new file mode 100644 index 0000000000..4636f7c60b --- /dev/null +++ b/examples/QUANTUM/LATTE/README.old @@ -0,0 +1,179 @@ +LATTE is a semi-empirical tight-binding quantum code, developed +primarily at Los Alamos National Labs. + +See these links: + + https://www.osti.gov/biblio/1526907-los-alamos-transferable-tight-binding-energetics-latte-version + https://github.com/lanl/LATTE + +LAMMPS has 2 ways of working with LATTE: + +(1) Via its LATTE package and the fix latte command + must run LAMMPS on a single processor, it calls LATTE as a library + +(2) Via its MDI package and the code-coupling MDI library + (a) can run LAMMPS and LATTE as stand-alone codes + LAMMPS can be run on any number of procs + LATTE must run on a single proc, but can use OpenMP + (b) can run LAMMPS with LATTE as a plug-in library + must run LAMMPS on a single processor + +Examples for use case (1) are in the examples/latte dir. Use case (2) +is illustrated in this dir. + +NOTE: If you compare MDI runs in this dir to similar fix latte runs in +examples/latte, the answers for energy and virial will be differnt. +This is b/c the version of LATTE used by the fix latte command within +the LATTE package is older than the version of LATTE used here. + +------------------ +Building 3 codes needed to run these examples + +(1) Download and build MDI + +% git clone git@github.com:MolSSI-MDI/MDI_Library.git mdi +% cd mdi +% mkdir build; cd build +% cmake .. # includes support for all langauges (incl Fortran, Python) +% make + +(2) Download and build LATTE with MDI support + +% git clone git@github.com:lanl/LATTE.git latte +% cd latte +% git checkout skimLATTE-progress # goto branch with MDI support +% cp makefiles/makefile.CHOICES.mdi makefile.CHOICES # so can now edit +% edit makefile.CHOICES settings to have these settings: + MAKELIB = OFF, SHARED = ON, MDI = ON + MDI_PATH must point to CMake build of MDI in (1), + e.g. /home/sjplimp/mdi/build/MDI_Library + comment out 2 LIB lines with CUDA-CUDART_LIBRARY +% make clean +% make # creates liblatte.so and LATTE_DOUBLE with support for MDI + +(3) Build LAMMPS with its MDI package + also with the MOLECULE package for these example scripts + +Build with traditional make + +% cd lammps/lib/mdi +% python Install.py -m mpi # downloads and builds MDI +% cd ../../src +% make yes-mdi yes-molecule +$ make mpi # creates lmp_mpi + +% mkdir build; cd build +% cmake -D PKG_MDI=yes -D PKG_MOLECULE=yes ../cmake +% make # creates lmp + +Build with CMake + +% cd lammps +% mkdir build; cd build +% cmake -D PKG_MDI=yes -D PKG_MOLECULE=yes ../cmake +% make # creates lmp + +(4) Copy LAMMPS and LATTE executables into this dir + +Copy the LAMMPS executable (lmp_mpi or lmp) into this dir as lmp_mpi. +Copy the LATTE executable LATTE_DOUBLE into this dir. +The run commands below assume you have done this. + +(5) Ensure LD_LIBRARY_PATH includes the dir where MDI was built in (1) +with its libmdi.so file, e.g. mdi/build/MDI_Library. This is needed +so when LATTE_DOUBLE runs as an executable it will able to find +libmdi.so. + +------------------ +Notes on LATTE usage + +You must run this version of LATTE on a single MPI processor. +However, you can use OpenMP with LATTE. To do this you need to build +LATTE with OpenMP support by editing the makefile.CHOICES file to +include -fopenmp with FFLAGS and LINKFLAGS. Also -lapack and -lblas +need to be added to LIB, and those libraries must be available on your +system. For best performance you should also build LATTE with its +PROGRESS and BML libraries. Building those libs is more complex, +see details here: + +https://github.com/lanl/LATTE_SUPER/tree/allMachines/Laptop + +At run time, you need to also first set an environment variable for +the number of OpenMP threads to use, e.g. + +% export OMP_NUM_THREADS=12 + +By default LATTE reads the latte.in file for its parameters. That +file specifies other files LATTE will read. With MDI, the driver code +(e.g. LAMMPS) can use the >FNAME command to specify an alternate +filename to use instead of latte.in. + +By default LATTE writes out a log.latte file with info about its +calculations. An "OUTFILE= logfile" setting in latte.in can rename +this file. + +--------- +Run example #1: AIMD + +* Run with MPI: 1 proc each + +mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" \ + -in in.water -log log.water.lammps.mpi : \ + -np 1 LATTE_DOUBLE -mdi "-name LATTE -role ENGINE -method MPI" + +* Run with MPI: 2 procs for LAMMPS, 1 for LATTE + +mpirun -np 2 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" \ + -in in.water -log log.water.lammps.mpi : \ + -np 1 LATTE_DOUBLE -mdi "-name LATTE -role ENGINE -method MPI" + +* Run in plugin mode: 1 proc + +lmp_mpi -mdi \ + "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/latte/git" \ + -in in.water.plugin -log log.water.lammps.plugin + +NOTE: The -plugin_path needs to point to where LATTE was built in step +(2). + +--------- +Run example #2: AIMD + +* Run with MPI: 1 proc each + +mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" \ + -in in.aimd -log log.aimd.lammps.mpi : \ + -np 1 LATTE_DOUBLE -mdi "-name LATTE -role ENGINE -method MPI" + +* Run with MPI: 2 procs for LAMMPS, 1 for LATTE + +mpirun -np 2 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" \ + -in in.aimd -log log.aimd.lammps.mpi : \ + -np 1 LATTE_DOUBLE -mdi "-name LATTE -role ENGINE -method MPI" + +* Run in plugin mode: 1 proc + +lmp_mpi -mdi \ + "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/latte/git" \ + -in in.aimd.plugin -log log.aimd.lammps.plugin + +--------- +Run example #3: sequence of configurations + +* Run with MPI: 1 proc each + +mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" \ + -in in.series -log log.series.lammps.mpi : \ + -np 1 LATTE_DOUBLE -mdi "-name LATTE -role ENGINE -method MPI" + +* Run with MPI: 2 procs for LAMMPS, 1 for LATTE + +mpirun -np 2 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" \ + -in in.series -log log.series.lammps.mpi : \ + -np 1 LATTE_DOUBLE -mdi "-name LATTE -role ENGINE -method MPI" + +* Run in plugin mode: 1 proc + +lmp_mpi -mdi \ + "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/latte/git" \ + -in in.series.plugin -log log.series.lammps.plugin diff --git a/examples/QUANTUM/LATTE/2uo2.lmp b/examples/QUANTUM/LATTE/data.2uo2 similarity index 100% rename from examples/QUANTUM/LATTE/2uo2.lmp rename to examples/QUANTUM/LATTE/data.2uo2 diff --git a/examples/QUANTUM/LATTE/3uo2.lmp b/examples/QUANTUM/LATTE/data.3uo2 similarity index 100% rename from examples/QUANTUM/LATTE/3uo2.lmp rename to examples/QUANTUM/LATTE/data.3uo2 diff --git a/examples/QUANTUM/LATTE/4uo2.lmp b/examples/QUANTUM/LATTE/data.4uo2 similarity index 100% rename from examples/QUANTUM/LATTE/4uo2.lmp rename to examples/QUANTUM/LATTE/data.4uo2 diff --git a/examples/QUANTUM/LATTE/data.water.latte.aimd b/examples/QUANTUM/LATTE/data.water similarity index 100% rename from examples/QUANTUM/LATTE/data.water.latte.aimd rename to examples/QUANTUM/LATTE/data.water diff --git a/examples/QUANTUM/LATTE/dump.8Sep22.aimd.mpi.1 b/examples/QUANTUM/LATTE/dump.8Sep22.aimd.mpi.1 deleted file mode 100644 index 38b5f894c1..0000000000 --- a/examples/QUANTUM/LATTE/dump.8Sep22.aimd.mpi.1 +++ /dev/null @@ -1,315 +0,0 @@ -ITEM: TIMESTEP -0 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.7 2.7 0 -0.601491 0.335597 -0.87242 -2.27066e-14 -1.33391e-14 2.31141e-14 -2 2 1.35 4.05 1.35 8.2897 4.55901 5.97376 2.35473 2.21578e-14 7.40069e-15 -3 2 4.05 4.05 1.35 1.7742 6.51885 0.385522 -2.35473 2.97071e-15 -2.01341e-14 -4 1 2.7 1.65327e-16 2.7 -0.325605 -1.03244 0.724324 -2.90278e-14 6.77422e-15 2.86766e-15 -5 2 1.35 1.35 4.05 2.42711 -1.49109 -2.41596 2.35473 5.79901e-15 -1.19594e-14 -6 2 4.05 1.35 4.05 1.30688 0.784281 -1.73922 -2.35473 -1.38761e-14 1.09382e-14 -ITEM: TIMESTEP -1 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.69985 2.70008 -0.000218105 -0.601467 0.335616 -0.872428 0.00470101 0.00380515 -0.00141625 -2 2 1.35212 4.05114 1.35149 8.64389 4.55886 5.97363 2.34251 -0.00209926 -0.00172976 -3 2 4.0504 4.05163 1.3501 1.41949 6.51866 0.385561 -2.34936 -0.00247497 0.00051716 -4 1 2.69992 -0.00025811 2.70018 -0.325581 -1.03243 0.724334 0.00481137 0.00249244 0.00195665 -5 2 1.35065 1.34963 4.0494 2.78199 -1.49112 -2.4159 2.3517 -0.00043711 0.000874754 -6 2 4.05028 1.3502 4.04957 0.951796 0.784184 -1.73923 -2.35436 -0.00128625 -0.00020256 -ITEM: TIMESTEP -2 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.6997 2.70017 -0.000436214 -0.601396 0.335673 -0.872449 0.00939888 0.00756163 -0.00288164 -2 2 1.35432 4.05228 1.35299 8.99615 4.55837 5.97323 2.32921 -0.00431846 -0.00355855 -3 2 4.05071 4.05326 1.35019 1.06567 6.5181 0.385678 -2.34304 -0.00494314 0.00103532 -4 1 2.69984 -0.000516214 2.70036 -0.325507 -1.03239 0.724364 0.00976944 0.00512657 0.00403686 -5 2 1.35139 1.34925 4.04879 3.13634 -1.49122 -2.4157 2.34776 -0.000851489 0.00177498 -6 2 4.05048 1.35039 4.04913 0.596838 0.783892 -1.73928 -2.3531 -0.00257512 -0.000406965 -ITEM: TIMESTEP -3 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.69955 2.70025 -0.00065433 -0.601277 0.335769 -0.872486 0.0141006 0.0112702 -0.00439552 -2 2 1.35661 4.05342 1.35448 9.34633 4.55754 5.97255 2.31482 -0.00666433 -0.00549143 -3 2 4.05093 4.05489 1.35029 0.712875 6.51717 0.385873 -2.33577 -0.00740896 0.00154764 -4 1 2.69976 -0.000774304 2.70054 -0.325382 -1.03232 0.724417 0.0148831 0.00790884 0.00624833 -5 2 1.35222 1.34888 4.04819 3.49003 -1.49137 -2.41536 2.3429 -0.0012407 0.00270313 -6 2 4.05058 1.35059 4.0487 0.242138 0.783407 -1.73935 -2.35094 -0.00386511 -0.000612161 -ITEM: TIMESTEP -4 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.6994 2.70034 -0.000872457 -0.60111 0.335902 -0.872539 0.0188131 0.0149318 -0.00595718 -2 2 1.359 4.05456 1.35597 9.69425 4.55635 5.97156 2.29933 -0.00914346 -0.00753331 -3 2 4.05107 4.05652 1.35039 0.361248 6.51586 0.386144 -2.32753 -0.00987687 0.00204727 -4 1 2.69967 -0.00103238 2.70072 -0.325204 -1.03223 0.724492 0.020161 0.0108455 0.00859866 -5 2 1.35314 1.34851 4.04758 3.84292 -1.49159 -2.41488 2.33711 -0.00160232 0.00366164 -6 2 4.0506 1.35078 4.04826 -0.112168 0.782727 -1.73946 -2.34789 -0.00515472 -0.000817084 -ITEM: TIMESTEP -5 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.69925 2.70042 -0.0010906 -0.600896 0.336071 -0.872607 0.0235434 0.0185473 -0.00756588 -2 2 1.36146 4.0557 1.35747 10.0397 4.55478 5.97026 2.2827 -0.0117623 -0.00968894 -3 2 4.05111 4.05815 1.35048 0.0109366 6.51419 0.386489 -2.31832 -0.0123511 0.00252727 -4 1 2.69959 -0.00129042 2.70091 -0.324972 -1.0321 0.724592 0.0256115 0.0139425 0.0110953 -5 2 1.35414 1.34814 4.04698 4.19487 -1.49186 -2.41425 2.33039 -0.00193394 0.0046529 -6 2 4.05052 1.35098 4.04783 -0.465946 0.781852 -1.7396 -2.34393 -0.00644244 -0.00102066 -ITEM: TIMESTEP -6 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.6991 2.7005 -0.00130876 -0.600633 0.336277 -0.872692 0.0282985 0.0221175 -0.00922083 -2 2 1.36401 4.05684 1.35896 10.3827 4.55279 5.96863 2.26494 -0.0145272 -0.0119629 -3 2 4.05107 4.05978 1.35058 -0.337913 6.51214 0.386904 -2.30814 -0.0148362 0.00298071 -4 1 2.69951 -0.00154843 2.70109 -0.324684 -1.03194 0.724717 0.0312427 0.0172058 0.0137455 -5 2 1.35523 1.34776 4.04638 4.54573 -1.49217 -2.41347 2.32273 -0.00223319 0.00567932 -6 2 4.05036 1.35117 4.04739 -0.819058 0.780784 -1.73977 -2.33906 -0.00772673 -0.00122181 -ITEM: TIMESTEP -7 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.69895 2.70059 -0.00152695 -0.600322 0.336519 -0.872794 0.0330853 0.0256435 -0.0109212 -2 2 1.36665 4.05797 1.36045 10.7228 4.55038 5.96665 2.24601 -0.0174443 -0.0143597 -3 2 4.05094 4.0614 1.35068 -0.685154 6.50971 0.387385 -2.29698 -0.0173365 0.00340068 -4 1 2.69943 -0.00180639 2.70127 -0.324338 -1.03175 0.724871 0.0370626 0.020641 0.0165564 -5 2 1.35641 1.34739 4.04577 4.89536 -1.49253 -2.41254 2.31411 -0.0024977 0.00674323 -6 2 4.05012 1.35137 4.04696 -1.17137 0.779522 -1.73997 -2.33329 -0.00900604 -0.00141944 -ITEM: TIMESTEP -8 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.6988 2.70067 -0.00174516 -0.599962 0.336797 -0.872914 0.0379108 0.0291262 -0.0126661 -2 2 1.36938 4.05911 1.36194 11.06 4.54752 5.96429 2.2259 -0.0205196 -0.0168834 -3 2 4.05073 4.06303 1.35077 -1.03064 6.50691 0.387927 -2.28482 -0.0198564 0.00378025 -4 1 2.69935 -0.0020643 2.70145 -0.323932 -1.03153 0.725054 0.0430788 0.0242538 0.0195348 -5 2 1.35768 1.34702 4.04517 5.24362 -1.49292 -2.41144 2.30452 -0.0027252 0.00784692 -6 2 4.04978 1.35156 4.04652 -1.52274 0.778068 -1.7402 -2.32659 -0.0102788 -0.00161245 -ITEM: TIMESTEP -9 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.69865 2.70076 -0.0019634 -0.599553 0.337109 -0.873051 0.0427817 0.0325667 -0.0144547 -2 2 1.37218 4.06025 1.36343 11.3941 4.54418 5.96155 2.20459 -0.023759 -0.019538 -3 2 4.05043 4.06466 1.35087 -1.37421 6.50372 0.388522 -2.27166 -0.0224003 0.00411244 -4 1 2.69927 -0.00232215 2.70163 -0.323464 -1.03126 0.725268 0.0492987 0.0280495 0.0226874 -5 2 1.35904 1.34664 4.04457 5.59036 -1.49335 -2.41017 2.29396 -0.00291347 0.00899259 -6 2 4.04935 1.35176 4.04609 -1.87303 0.776422 -1.74045 -2.31898 -0.0115434 -0.00179972 -ITEM: TIMESTEP -10 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.6985 2.70084 -0.00218168 -0.599095 0.337456 -0.873207 0.0477049 0.0359661 -0.0162858 -2 2 1.37507 4.06138 1.36492 11.7248 4.54034 5.95839 2.18206 -0.0271682 -0.0223275 -3 2 4.05004 4.06628 1.35097 -1.71572 6.50015 0.389163 -2.25748 -0.0249726 0.0043903 -4 1 2.69919 -0.00257993 2.70181 -0.322932 -1.03096 0.725515 0.0557294 0.0320331 0.0260207 -5 2 1.36048 1.34627 4.04397 5.93543 -1.4938 -2.40872 2.2824 -0.00306026 0.0101825 -6 2 4.04884 1.35195 4.04565 -2.2221 0.774587 -1.74074 -2.31042 -0.0127983 -0.00198013 -ITEM: TIMESTEP -11 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.69835 2.70092 -0.00240001 -0.598586 0.337838 -0.873382 0.0526872 0.0393256 -0.0181586 -2 2 1.37805 4.06252 1.36641 12.0521 4.53597 5.9548 2.15829 -0.0307526 -0.0252554 -3 2 4.04957 4.06791 1.35106 -2.05501 6.49619 0.389841 -2.24228 -0.0275775 0.00460683 -4 1 2.69911 -0.00283763 2.70199 -0.322334 -1.03061 0.725796 0.0623777 0.0362096 0.0295409 -5 2 1.362 1.3459 4.04336 6.27868 -1.49427 -2.40709 2.26985 -0.00316333 0.0114188 -6 2 4.04824 1.35215 4.04522 -2.56981 0.772563 -1.74105 -2.30093 -0.0140417 -0.00215255 -ITEM: TIMESTEP -12 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.6982 2.70101 -0.00261837 -0.598027 0.338253 -0.873575 0.0577351 0.0426463 -0.0200718 -2 2 1.3811 4.06365 1.3679 12.3757 4.53105 5.95076 2.13326 -0.0345179 -0.0283253 -3 2 4.04901 4.06953 1.35116 -2.39194 6.49183 0.390547 -2.22604 -0.0302194 0.00475506 -4 1 2.69903 -0.00309524 2.70217 -0.321667 -1.03022 0.726114 0.06925 0.0405836 0.0332542 -5 2 1.36362 1.34552 4.04276 6.61997 -1.49475 -2.40527 2.25627 -0.00322051 0.0127037 -6 2 4.04756 1.35234 4.04478 -2.91602 0.770353 -1.74139 -2.29048 -0.0152721 -0.00231583 -ITEM: TIMESTEP -13 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.69805 2.70109 -0.00283679 -0.597416 0.338702 -0.873788 0.0628554 0.0459295 -0.0220243 -2 2 1.38423 4.06478 1.36939 12.6954 4.52555 5.94625 2.10694 -0.0384688 -0.0315401 -3 2 4.04837 4.07115 1.35126 -2.72634 6.48707 0.39127 -2.20874 -0.0329024 0.00482793 -4 1 2.69895 -0.00335274 2.70236 -0.320929 -1.02979 0.726471 0.0763523 0.0451591 0.0371659 -5 2 1.36531 1.34515 4.04216 6.95912 -1.49523 -2.40326 2.24165 -0.00322965 0.0140393 -6 2 4.04678 1.35253 4.04434 -3.26057 0.767958 -1.74175 -2.27906 -0.0164877 -0.0024688 -ITEM: TIMESTEP -14 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.6979 2.70118 -0.00305527 -0.596753 0.339184 -0.874022 0.0680546 0.0491768 -0.0240145 -2 2 1.38745 4.06591 1.37087 13.0111 4.51944 5.94124 2.07932 -0.0426096 -0.0349018 -3 2 4.04765 4.07277 1.35136 -3.05804 6.4819 0.391997 -2.19038 -0.035631 0.00481829 -4 1 2.69887 -0.00361013 2.70254 -0.320118 -1.0293 0.726868 0.0836894 0.0499393 0.0412807 -5 2 1.3671 1.34478 4.04156 7.296 -1.49572 -2.40103 2.22598 -0.00318867 0.0154277 -6 2 4.04593 1.35272 4.04391 -3.60334 0.765381 -1.74213 -2.26667 -0.0176868 -0.00261028 -ITEM: TIMESTEP -15 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.69775 2.70126 -0.0032738 -0.596036 0.339698 -0.874275 0.0733392 0.0523895 -0.0260413 -2 2 1.39074 4.06704 1.37236 13.3225 4.51268 5.93571 2.05037 -0.0469451 -0.0384133 -3 2 4.04685 4.07439 1.35146 -3.3869 6.47632 0.392716 -2.17093 -0.038409 0.00471919 -4 1 2.69879 -0.00386739 2.70272 -0.319232 -1.02877 0.727309 0.0912666 0.0549279 0.0456036 -5 2 1.36896 1.3444 4.04096 7.63043 -1.49619 -2.3986 2.20924 -0.00309551 0.0168709 -6 2 4.04498 1.35291 4.04347 -3.94416 0.762625 -1.74253 -2.25329 -0.0188678 -0.0027391 -ITEM: TIMESTEP -16 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.6976 2.70135 -0.00349241 -0.595266 0.340245 -0.87455 0.0787153 0.055569 -0.0281032 -2 2 1.39411 4.06817 1.37384 13.6294 4.50526 5.92964 2.02007 -0.0514799 -0.042077 -3 2 4.04596 4.07601 1.35155 -3.71274 6.47031 0.393413 -2.15039 -0.0412405 0.00452364 -4 1 2.69871 -0.00412452 2.7029 -0.318268 -1.02819 0.727794 0.0990893 0.0601283 0.0501398 -5 2 1.37091 1.34403 4.04036 7.96225 -1.49665 -2.39594 2.19142 -0.00294819 0.0183708 -6 2 4.04395 1.3531 4.04304 -4.28288 0.759692 -1.74296 -2.2389 -0.0200287 -0.00285406 -ITEM: TIMESTEP -17 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.69745 2.70143 -0.00371108 -0.594441 0.340824 -0.874845 0.0841889 0.0587168 -0.0301987 -2 2 1.39755 4.0693 1.37532 13.9317 4.49714 5.92301 1.9884 -0.0562187 -0.0458954 -3 2 4.04499 4.07763 1.35165 -4.0354 6.46388 0.394073 -2.12872 -0.0441293 0.0042247 -4 1 2.69863 -0.00438149 2.70308 -0.317223 -1.02755 0.728326 0.107162 0.0655439 0.054894 -5 2 1.37294 1.34365 4.03976 8.2913 -1.49708 -2.39305 2.17248 -0.00274479 0.0199293 -6 2 4.04284 1.35329 4.0426 -4.61936 0.756586 -1.74339 -2.2235 -0.0211679 -0.00295392 -ITEM: TIMESTEP -18 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.69731 2.70152 -0.00392983 -0.593559 0.341435 -0.875162 0.0897661 0.0618346 -0.0323262 -2 2 1.40107 4.07042 1.3768 14.229 4.48829 5.91578 1.95532 -0.0611659 -0.0498706 -3 2 4.04394 4.07924 1.35175 -4.3547 6.457 0.394679 -2.10593 -0.0470792 0.0038154 -4 1 2.69855 -0.00463829 2.70327 -0.316095 -1.02686 0.728907 0.11549 0.0711775 0.0598705 -5 2 1.37506 1.34328 4.03916 8.61741 -1.49747 -2.38993 2.15241 -0.00248344 0.0215483 -6 2 4.04164 1.35348 4.04217 -4.95344 0.753309 -1.74385 -2.20706 -0.0222835 -0.00303744 -ITEM: TIMESTEP -19 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.69716 2.7016 -0.00414866 -0.592621 0.342077 -0.8755 0.0954526 0.0649239 -0.0344841 -2 2 1.40467 4.07154 1.37828 14.5213 4.47868 5.90795 1.92083 -0.0663258 -0.0540045 -3 2 4.04281 4.08086 1.35185 -4.67049 6.44967 0.395215 -2.08198 -0.050094 0.00328881 -4 1 2.69847 -0.00489492 2.70345 -0.314881 -1.02611 0.72954 0.124076 0.0770317 0.0650736 -5 2 1.37725 1.3429 4.03857 8.94041 -1.49782 -2.38655 2.13119 -0.00216234 0.0232295 -6 2 4.04036 1.35367 4.04173 -5.28496 0.749867 -1.74431 -2.18956 -0.0233735 -0.00310338 -ITEM: TIMESTEP -20 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.69701 2.70169 -0.00436758 -0.591624 0.342751 -0.875861 0.101254 0.0679866 -0.0366705 -2 2 1.40833 4.07266 1.37976 14.8083 4.46827 5.89948 1.88489 -0.0717024 -0.0582989 -3 2 4.0416 4.08247 1.35195 -4.98257 6.44189 0.395662 -2.05686 -0.0531772 0.00263798 -4 1 2.69839 -0.00515135 2.70363 -0.313579 -1.0253 0.730227 0.132925 0.0831089 0.0705072 -5 2 1.37953 1.34253 4.03797 9.26012 -1.49812 -2.38291 2.1088 -0.00177977 0.0249746 -6 2 4.039 1.35386 4.04129 -5.61376 0.746262 -1.74478 -2.171 -0.0244362 -0.00315046 diff --git a/examples/QUANTUM/LATTE/dump.8Sep22.aimd.mpi.2 b/examples/QUANTUM/LATTE/dump.8Sep22.aimd.mpi.2 deleted file mode 100644 index 38b5f894c1..0000000000 --- a/examples/QUANTUM/LATTE/dump.8Sep22.aimd.mpi.2 +++ /dev/null @@ -1,315 +0,0 @@ -ITEM: TIMESTEP -0 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.7 2.7 0 -0.601491 0.335597 -0.87242 -2.27066e-14 -1.33391e-14 2.31141e-14 -2 2 1.35 4.05 1.35 8.2897 4.55901 5.97376 2.35473 2.21578e-14 7.40069e-15 -3 2 4.05 4.05 1.35 1.7742 6.51885 0.385522 -2.35473 2.97071e-15 -2.01341e-14 -4 1 2.7 1.65327e-16 2.7 -0.325605 -1.03244 0.724324 -2.90278e-14 6.77422e-15 2.86766e-15 -5 2 1.35 1.35 4.05 2.42711 -1.49109 -2.41596 2.35473 5.79901e-15 -1.19594e-14 -6 2 4.05 1.35 4.05 1.30688 0.784281 -1.73922 -2.35473 -1.38761e-14 1.09382e-14 -ITEM: TIMESTEP -1 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.69985 2.70008 -0.000218105 -0.601467 0.335616 -0.872428 0.00470101 0.00380515 -0.00141625 -2 2 1.35212 4.05114 1.35149 8.64389 4.55886 5.97363 2.34251 -0.00209926 -0.00172976 -3 2 4.0504 4.05163 1.3501 1.41949 6.51866 0.385561 -2.34936 -0.00247497 0.00051716 -4 1 2.69992 -0.00025811 2.70018 -0.325581 -1.03243 0.724334 0.00481137 0.00249244 0.00195665 -5 2 1.35065 1.34963 4.0494 2.78199 -1.49112 -2.4159 2.3517 -0.00043711 0.000874754 -6 2 4.05028 1.3502 4.04957 0.951796 0.784184 -1.73923 -2.35436 -0.00128625 -0.00020256 -ITEM: TIMESTEP -2 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.6997 2.70017 -0.000436214 -0.601396 0.335673 -0.872449 0.00939888 0.00756163 -0.00288164 -2 2 1.35432 4.05228 1.35299 8.99615 4.55837 5.97323 2.32921 -0.00431846 -0.00355855 -3 2 4.05071 4.05326 1.35019 1.06567 6.5181 0.385678 -2.34304 -0.00494314 0.00103532 -4 1 2.69984 -0.000516214 2.70036 -0.325507 -1.03239 0.724364 0.00976944 0.00512657 0.00403686 -5 2 1.35139 1.34925 4.04879 3.13634 -1.49122 -2.4157 2.34776 -0.000851489 0.00177498 -6 2 4.05048 1.35039 4.04913 0.596838 0.783892 -1.73928 -2.3531 -0.00257512 -0.000406965 -ITEM: TIMESTEP -3 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.69955 2.70025 -0.00065433 -0.601277 0.335769 -0.872486 0.0141006 0.0112702 -0.00439552 -2 2 1.35661 4.05342 1.35448 9.34633 4.55754 5.97255 2.31482 -0.00666433 -0.00549143 -3 2 4.05093 4.05489 1.35029 0.712875 6.51717 0.385873 -2.33577 -0.00740896 0.00154764 -4 1 2.69976 -0.000774304 2.70054 -0.325382 -1.03232 0.724417 0.0148831 0.00790884 0.00624833 -5 2 1.35222 1.34888 4.04819 3.49003 -1.49137 -2.41536 2.3429 -0.0012407 0.00270313 -6 2 4.05058 1.35059 4.0487 0.242138 0.783407 -1.73935 -2.35094 -0.00386511 -0.000612161 -ITEM: TIMESTEP -4 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.6994 2.70034 -0.000872457 -0.60111 0.335902 -0.872539 0.0188131 0.0149318 -0.00595718 -2 2 1.359 4.05456 1.35597 9.69425 4.55635 5.97156 2.29933 -0.00914346 -0.00753331 -3 2 4.05107 4.05652 1.35039 0.361248 6.51586 0.386144 -2.32753 -0.00987687 0.00204727 -4 1 2.69967 -0.00103238 2.70072 -0.325204 -1.03223 0.724492 0.020161 0.0108455 0.00859866 -5 2 1.35314 1.34851 4.04758 3.84292 -1.49159 -2.41488 2.33711 -0.00160232 0.00366164 -6 2 4.0506 1.35078 4.04826 -0.112168 0.782727 -1.73946 -2.34789 -0.00515472 -0.000817084 -ITEM: TIMESTEP -5 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.69925 2.70042 -0.0010906 -0.600896 0.336071 -0.872607 0.0235434 0.0185473 -0.00756588 -2 2 1.36146 4.0557 1.35747 10.0397 4.55478 5.97026 2.2827 -0.0117623 -0.00968894 -3 2 4.05111 4.05815 1.35048 0.0109366 6.51419 0.386489 -2.31832 -0.0123511 0.00252727 -4 1 2.69959 -0.00129042 2.70091 -0.324972 -1.0321 0.724592 0.0256115 0.0139425 0.0110953 -5 2 1.35414 1.34814 4.04698 4.19487 -1.49186 -2.41425 2.33039 -0.00193394 0.0046529 -6 2 4.05052 1.35098 4.04783 -0.465946 0.781852 -1.7396 -2.34393 -0.00644244 -0.00102066 -ITEM: TIMESTEP -6 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.6991 2.7005 -0.00130876 -0.600633 0.336277 -0.872692 0.0282985 0.0221175 -0.00922083 -2 2 1.36401 4.05684 1.35896 10.3827 4.55279 5.96863 2.26494 -0.0145272 -0.0119629 -3 2 4.05107 4.05978 1.35058 -0.337913 6.51214 0.386904 -2.30814 -0.0148362 0.00298071 -4 1 2.69951 -0.00154843 2.70109 -0.324684 -1.03194 0.724717 0.0312427 0.0172058 0.0137455 -5 2 1.35523 1.34776 4.04638 4.54573 -1.49217 -2.41347 2.32273 -0.00223319 0.00567932 -6 2 4.05036 1.35117 4.04739 -0.819058 0.780784 -1.73977 -2.33906 -0.00772673 -0.00122181 -ITEM: TIMESTEP -7 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.69895 2.70059 -0.00152695 -0.600322 0.336519 -0.872794 0.0330853 0.0256435 -0.0109212 -2 2 1.36665 4.05797 1.36045 10.7228 4.55038 5.96665 2.24601 -0.0174443 -0.0143597 -3 2 4.05094 4.0614 1.35068 -0.685154 6.50971 0.387385 -2.29698 -0.0173365 0.00340068 -4 1 2.69943 -0.00180639 2.70127 -0.324338 -1.03175 0.724871 0.0370626 0.020641 0.0165564 -5 2 1.35641 1.34739 4.04577 4.89536 -1.49253 -2.41254 2.31411 -0.0024977 0.00674323 -6 2 4.05012 1.35137 4.04696 -1.17137 0.779522 -1.73997 -2.33329 -0.00900604 -0.00141944 -ITEM: TIMESTEP -8 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.6988 2.70067 -0.00174516 -0.599962 0.336797 -0.872914 0.0379108 0.0291262 -0.0126661 -2 2 1.36938 4.05911 1.36194 11.06 4.54752 5.96429 2.2259 -0.0205196 -0.0168834 -3 2 4.05073 4.06303 1.35077 -1.03064 6.50691 0.387927 -2.28482 -0.0198564 0.00378025 -4 1 2.69935 -0.0020643 2.70145 -0.323932 -1.03153 0.725054 0.0430788 0.0242538 0.0195348 -5 2 1.35768 1.34702 4.04517 5.24362 -1.49292 -2.41144 2.30452 -0.0027252 0.00784692 -6 2 4.04978 1.35156 4.04652 -1.52274 0.778068 -1.7402 -2.32659 -0.0102788 -0.00161245 -ITEM: TIMESTEP -9 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.69865 2.70076 -0.0019634 -0.599553 0.337109 -0.873051 0.0427817 0.0325667 -0.0144547 -2 2 1.37218 4.06025 1.36343 11.3941 4.54418 5.96155 2.20459 -0.023759 -0.019538 -3 2 4.05043 4.06466 1.35087 -1.37421 6.50372 0.388522 -2.27166 -0.0224003 0.00411244 -4 1 2.69927 -0.00232215 2.70163 -0.323464 -1.03126 0.725268 0.0492987 0.0280495 0.0226874 -5 2 1.35904 1.34664 4.04457 5.59036 -1.49335 -2.41017 2.29396 -0.00291347 0.00899259 -6 2 4.04935 1.35176 4.04609 -1.87303 0.776422 -1.74045 -2.31898 -0.0115434 -0.00179972 -ITEM: TIMESTEP -10 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.6985 2.70084 -0.00218168 -0.599095 0.337456 -0.873207 0.0477049 0.0359661 -0.0162858 -2 2 1.37507 4.06138 1.36492 11.7248 4.54034 5.95839 2.18206 -0.0271682 -0.0223275 -3 2 4.05004 4.06628 1.35097 -1.71572 6.50015 0.389163 -2.25748 -0.0249726 0.0043903 -4 1 2.69919 -0.00257993 2.70181 -0.322932 -1.03096 0.725515 0.0557294 0.0320331 0.0260207 -5 2 1.36048 1.34627 4.04397 5.93543 -1.4938 -2.40872 2.2824 -0.00306026 0.0101825 -6 2 4.04884 1.35195 4.04565 -2.2221 0.774587 -1.74074 -2.31042 -0.0127983 -0.00198013 -ITEM: TIMESTEP -11 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.69835 2.70092 -0.00240001 -0.598586 0.337838 -0.873382 0.0526872 0.0393256 -0.0181586 -2 2 1.37805 4.06252 1.36641 12.0521 4.53597 5.9548 2.15829 -0.0307526 -0.0252554 -3 2 4.04957 4.06791 1.35106 -2.05501 6.49619 0.389841 -2.24228 -0.0275775 0.00460683 -4 1 2.69911 -0.00283763 2.70199 -0.322334 -1.03061 0.725796 0.0623777 0.0362096 0.0295409 -5 2 1.362 1.3459 4.04336 6.27868 -1.49427 -2.40709 2.26985 -0.00316333 0.0114188 -6 2 4.04824 1.35215 4.04522 -2.56981 0.772563 -1.74105 -2.30093 -0.0140417 -0.00215255 -ITEM: TIMESTEP -12 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.6982 2.70101 -0.00261837 -0.598027 0.338253 -0.873575 0.0577351 0.0426463 -0.0200718 -2 2 1.3811 4.06365 1.3679 12.3757 4.53105 5.95076 2.13326 -0.0345179 -0.0283253 -3 2 4.04901 4.06953 1.35116 -2.39194 6.49183 0.390547 -2.22604 -0.0302194 0.00475506 -4 1 2.69903 -0.00309524 2.70217 -0.321667 -1.03022 0.726114 0.06925 0.0405836 0.0332542 -5 2 1.36362 1.34552 4.04276 6.61997 -1.49475 -2.40527 2.25627 -0.00322051 0.0127037 -6 2 4.04756 1.35234 4.04478 -2.91602 0.770353 -1.74139 -2.29048 -0.0152721 -0.00231583 -ITEM: TIMESTEP -13 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.69805 2.70109 -0.00283679 -0.597416 0.338702 -0.873788 0.0628554 0.0459295 -0.0220243 -2 2 1.38423 4.06478 1.36939 12.6954 4.52555 5.94625 2.10694 -0.0384688 -0.0315401 -3 2 4.04837 4.07115 1.35126 -2.72634 6.48707 0.39127 -2.20874 -0.0329024 0.00482793 -4 1 2.69895 -0.00335274 2.70236 -0.320929 -1.02979 0.726471 0.0763523 0.0451591 0.0371659 -5 2 1.36531 1.34515 4.04216 6.95912 -1.49523 -2.40326 2.24165 -0.00322965 0.0140393 -6 2 4.04678 1.35253 4.04434 -3.26057 0.767958 -1.74175 -2.27906 -0.0164877 -0.0024688 -ITEM: TIMESTEP -14 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.6979 2.70118 -0.00305527 -0.596753 0.339184 -0.874022 0.0680546 0.0491768 -0.0240145 -2 2 1.38745 4.06591 1.37087 13.0111 4.51944 5.94124 2.07932 -0.0426096 -0.0349018 -3 2 4.04765 4.07277 1.35136 -3.05804 6.4819 0.391997 -2.19038 -0.035631 0.00481829 -4 1 2.69887 -0.00361013 2.70254 -0.320118 -1.0293 0.726868 0.0836894 0.0499393 0.0412807 -5 2 1.3671 1.34478 4.04156 7.296 -1.49572 -2.40103 2.22598 -0.00318867 0.0154277 -6 2 4.04593 1.35272 4.04391 -3.60334 0.765381 -1.74213 -2.26667 -0.0176868 -0.00261028 -ITEM: TIMESTEP -15 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.69775 2.70126 -0.0032738 -0.596036 0.339698 -0.874275 0.0733392 0.0523895 -0.0260413 -2 2 1.39074 4.06704 1.37236 13.3225 4.51268 5.93571 2.05037 -0.0469451 -0.0384133 -3 2 4.04685 4.07439 1.35146 -3.3869 6.47632 0.392716 -2.17093 -0.038409 0.00471919 -4 1 2.69879 -0.00386739 2.70272 -0.319232 -1.02877 0.727309 0.0912666 0.0549279 0.0456036 -5 2 1.36896 1.3444 4.04096 7.63043 -1.49619 -2.3986 2.20924 -0.00309551 0.0168709 -6 2 4.04498 1.35291 4.04347 -3.94416 0.762625 -1.74253 -2.25329 -0.0188678 -0.0027391 -ITEM: TIMESTEP -16 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.6976 2.70135 -0.00349241 -0.595266 0.340245 -0.87455 0.0787153 0.055569 -0.0281032 -2 2 1.39411 4.06817 1.37384 13.6294 4.50526 5.92964 2.02007 -0.0514799 -0.042077 -3 2 4.04596 4.07601 1.35155 -3.71274 6.47031 0.393413 -2.15039 -0.0412405 0.00452364 -4 1 2.69871 -0.00412452 2.7029 -0.318268 -1.02819 0.727794 0.0990893 0.0601283 0.0501398 -5 2 1.37091 1.34403 4.04036 7.96225 -1.49665 -2.39594 2.19142 -0.00294819 0.0183708 -6 2 4.04395 1.3531 4.04304 -4.28288 0.759692 -1.74296 -2.2389 -0.0200287 -0.00285406 -ITEM: TIMESTEP -17 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.69745 2.70143 -0.00371108 -0.594441 0.340824 -0.874845 0.0841889 0.0587168 -0.0301987 -2 2 1.39755 4.0693 1.37532 13.9317 4.49714 5.92301 1.9884 -0.0562187 -0.0458954 -3 2 4.04499 4.07763 1.35165 -4.0354 6.46388 0.394073 -2.12872 -0.0441293 0.0042247 -4 1 2.69863 -0.00438149 2.70308 -0.317223 -1.02755 0.728326 0.107162 0.0655439 0.054894 -5 2 1.37294 1.34365 4.03976 8.2913 -1.49708 -2.39305 2.17248 -0.00274479 0.0199293 -6 2 4.04284 1.35329 4.0426 -4.61936 0.756586 -1.74339 -2.2235 -0.0211679 -0.00295392 -ITEM: TIMESTEP -18 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.69731 2.70152 -0.00392983 -0.593559 0.341435 -0.875162 0.0897661 0.0618346 -0.0323262 -2 2 1.40107 4.07042 1.3768 14.229 4.48829 5.91578 1.95532 -0.0611659 -0.0498706 -3 2 4.04394 4.07924 1.35175 -4.3547 6.457 0.394679 -2.10593 -0.0470792 0.0038154 -4 1 2.69855 -0.00463829 2.70327 -0.316095 -1.02686 0.728907 0.11549 0.0711775 0.0598705 -5 2 1.37506 1.34328 4.03916 8.61741 -1.49747 -2.38993 2.15241 -0.00248344 0.0215483 -6 2 4.04164 1.35348 4.04217 -4.95344 0.753309 -1.74385 -2.20706 -0.0222835 -0.00303744 -ITEM: TIMESTEP -19 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.69716 2.7016 -0.00414866 -0.592621 0.342077 -0.8755 0.0954526 0.0649239 -0.0344841 -2 2 1.40467 4.07154 1.37828 14.5213 4.47868 5.90795 1.92083 -0.0663258 -0.0540045 -3 2 4.04281 4.08086 1.35185 -4.67049 6.44967 0.395215 -2.08198 -0.050094 0.00328881 -4 1 2.69847 -0.00489492 2.70345 -0.314881 -1.02611 0.72954 0.124076 0.0770317 0.0650736 -5 2 1.37725 1.3429 4.03857 8.94041 -1.49782 -2.38655 2.13119 -0.00216234 0.0232295 -6 2 4.04036 1.35367 4.04173 -5.28496 0.749867 -1.74431 -2.18956 -0.0233735 -0.00310338 -ITEM: TIMESTEP -20 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.69701 2.70169 -0.00436758 -0.591624 0.342751 -0.875861 0.101254 0.0679866 -0.0366705 -2 2 1.40833 4.07266 1.37976 14.8083 4.46827 5.89948 1.88489 -0.0717024 -0.0582989 -3 2 4.0416 4.08247 1.35195 -4.98257 6.44189 0.395662 -2.05686 -0.0531772 0.00263798 -4 1 2.69839 -0.00515135 2.70363 -0.313579 -1.0253 0.730227 0.132925 0.0831089 0.0705072 -5 2 1.37953 1.34253 4.03797 9.26012 -1.49812 -2.38291 2.1088 -0.00177977 0.0249746 -6 2 4.039 1.35386 4.04129 -5.61376 0.746262 -1.74478 -2.171 -0.0244362 -0.00315046 diff --git a/examples/QUANTUM/LATTE/dump.8Sep22.aimd.plugin b/examples/QUANTUM/LATTE/dump.8Sep22.aimd.plugin deleted file mode 100644 index 38b5f894c1..0000000000 --- a/examples/QUANTUM/LATTE/dump.8Sep22.aimd.plugin +++ /dev/null @@ -1,315 +0,0 @@ -ITEM: TIMESTEP -0 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.7 2.7 0 -0.601491 0.335597 -0.87242 -2.27066e-14 -1.33391e-14 2.31141e-14 -2 2 1.35 4.05 1.35 8.2897 4.55901 5.97376 2.35473 2.21578e-14 7.40069e-15 -3 2 4.05 4.05 1.35 1.7742 6.51885 0.385522 -2.35473 2.97071e-15 -2.01341e-14 -4 1 2.7 1.65327e-16 2.7 -0.325605 -1.03244 0.724324 -2.90278e-14 6.77422e-15 2.86766e-15 -5 2 1.35 1.35 4.05 2.42711 -1.49109 -2.41596 2.35473 5.79901e-15 -1.19594e-14 -6 2 4.05 1.35 4.05 1.30688 0.784281 -1.73922 -2.35473 -1.38761e-14 1.09382e-14 -ITEM: TIMESTEP -1 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.69985 2.70008 -0.000218105 -0.601467 0.335616 -0.872428 0.00470101 0.00380515 -0.00141625 -2 2 1.35212 4.05114 1.35149 8.64389 4.55886 5.97363 2.34251 -0.00209926 -0.00172976 -3 2 4.0504 4.05163 1.3501 1.41949 6.51866 0.385561 -2.34936 -0.00247497 0.00051716 -4 1 2.69992 -0.00025811 2.70018 -0.325581 -1.03243 0.724334 0.00481137 0.00249244 0.00195665 -5 2 1.35065 1.34963 4.0494 2.78199 -1.49112 -2.4159 2.3517 -0.00043711 0.000874754 -6 2 4.05028 1.3502 4.04957 0.951796 0.784184 -1.73923 -2.35436 -0.00128625 -0.00020256 -ITEM: TIMESTEP -2 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.6997 2.70017 -0.000436214 -0.601396 0.335673 -0.872449 0.00939888 0.00756163 -0.00288164 -2 2 1.35432 4.05228 1.35299 8.99615 4.55837 5.97323 2.32921 -0.00431846 -0.00355855 -3 2 4.05071 4.05326 1.35019 1.06567 6.5181 0.385678 -2.34304 -0.00494314 0.00103532 -4 1 2.69984 -0.000516214 2.70036 -0.325507 -1.03239 0.724364 0.00976944 0.00512657 0.00403686 -5 2 1.35139 1.34925 4.04879 3.13634 -1.49122 -2.4157 2.34776 -0.000851489 0.00177498 -6 2 4.05048 1.35039 4.04913 0.596838 0.783892 -1.73928 -2.3531 -0.00257512 -0.000406965 -ITEM: TIMESTEP -3 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.69955 2.70025 -0.00065433 -0.601277 0.335769 -0.872486 0.0141006 0.0112702 -0.00439552 -2 2 1.35661 4.05342 1.35448 9.34633 4.55754 5.97255 2.31482 -0.00666433 -0.00549143 -3 2 4.05093 4.05489 1.35029 0.712875 6.51717 0.385873 -2.33577 -0.00740896 0.00154764 -4 1 2.69976 -0.000774304 2.70054 -0.325382 -1.03232 0.724417 0.0148831 0.00790884 0.00624833 -5 2 1.35222 1.34888 4.04819 3.49003 -1.49137 -2.41536 2.3429 -0.0012407 0.00270313 -6 2 4.05058 1.35059 4.0487 0.242138 0.783407 -1.73935 -2.35094 -0.00386511 -0.000612161 -ITEM: TIMESTEP -4 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.6994 2.70034 -0.000872457 -0.60111 0.335902 -0.872539 0.0188131 0.0149318 -0.00595718 -2 2 1.359 4.05456 1.35597 9.69425 4.55635 5.97156 2.29933 -0.00914346 -0.00753331 -3 2 4.05107 4.05652 1.35039 0.361248 6.51586 0.386144 -2.32753 -0.00987687 0.00204727 -4 1 2.69967 -0.00103238 2.70072 -0.325204 -1.03223 0.724492 0.020161 0.0108455 0.00859866 -5 2 1.35314 1.34851 4.04758 3.84292 -1.49159 -2.41488 2.33711 -0.00160232 0.00366164 -6 2 4.0506 1.35078 4.04826 -0.112168 0.782727 -1.73946 -2.34789 -0.00515472 -0.000817084 -ITEM: TIMESTEP -5 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.69925 2.70042 -0.0010906 -0.600896 0.336071 -0.872607 0.0235434 0.0185473 -0.00756588 -2 2 1.36146 4.0557 1.35747 10.0397 4.55478 5.97026 2.2827 -0.0117623 -0.00968894 -3 2 4.05111 4.05815 1.35048 0.0109366 6.51419 0.386489 -2.31832 -0.0123511 0.00252727 -4 1 2.69959 -0.00129042 2.70091 -0.324972 -1.0321 0.724592 0.0256115 0.0139425 0.0110953 -5 2 1.35414 1.34814 4.04698 4.19487 -1.49186 -2.41425 2.33039 -0.00193394 0.0046529 -6 2 4.05052 1.35098 4.04783 -0.465946 0.781852 -1.7396 -2.34393 -0.00644244 -0.00102066 -ITEM: TIMESTEP -6 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.6991 2.7005 -0.00130876 -0.600633 0.336277 -0.872692 0.0282985 0.0221175 -0.00922083 -2 2 1.36401 4.05684 1.35896 10.3827 4.55279 5.96863 2.26494 -0.0145272 -0.0119629 -3 2 4.05107 4.05978 1.35058 -0.337913 6.51214 0.386904 -2.30814 -0.0148362 0.00298071 -4 1 2.69951 -0.00154843 2.70109 -0.324684 -1.03194 0.724717 0.0312427 0.0172058 0.0137455 -5 2 1.35523 1.34776 4.04638 4.54573 -1.49217 -2.41347 2.32273 -0.00223319 0.00567932 -6 2 4.05036 1.35117 4.04739 -0.819058 0.780784 -1.73977 -2.33906 -0.00772673 -0.00122181 -ITEM: TIMESTEP -7 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.69895 2.70059 -0.00152695 -0.600322 0.336519 -0.872794 0.0330853 0.0256435 -0.0109212 -2 2 1.36665 4.05797 1.36045 10.7228 4.55038 5.96665 2.24601 -0.0174443 -0.0143597 -3 2 4.05094 4.0614 1.35068 -0.685154 6.50971 0.387385 -2.29698 -0.0173365 0.00340068 -4 1 2.69943 -0.00180639 2.70127 -0.324338 -1.03175 0.724871 0.0370626 0.020641 0.0165564 -5 2 1.35641 1.34739 4.04577 4.89536 -1.49253 -2.41254 2.31411 -0.0024977 0.00674323 -6 2 4.05012 1.35137 4.04696 -1.17137 0.779522 -1.73997 -2.33329 -0.00900604 -0.00141944 -ITEM: TIMESTEP -8 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.6988 2.70067 -0.00174516 -0.599962 0.336797 -0.872914 0.0379108 0.0291262 -0.0126661 -2 2 1.36938 4.05911 1.36194 11.06 4.54752 5.96429 2.2259 -0.0205196 -0.0168834 -3 2 4.05073 4.06303 1.35077 -1.03064 6.50691 0.387927 -2.28482 -0.0198564 0.00378025 -4 1 2.69935 -0.0020643 2.70145 -0.323932 -1.03153 0.725054 0.0430788 0.0242538 0.0195348 -5 2 1.35768 1.34702 4.04517 5.24362 -1.49292 -2.41144 2.30452 -0.0027252 0.00784692 -6 2 4.04978 1.35156 4.04652 -1.52274 0.778068 -1.7402 -2.32659 -0.0102788 -0.00161245 -ITEM: TIMESTEP -9 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.69865 2.70076 -0.0019634 -0.599553 0.337109 -0.873051 0.0427817 0.0325667 -0.0144547 -2 2 1.37218 4.06025 1.36343 11.3941 4.54418 5.96155 2.20459 -0.023759 -0.019538 -3 2 4.05043 4.06466 1.35087 -1.37421 6.50372 0.388522 -2.27166 -0.0224003 0.00411244 -4 1 2.69927 -0.00232215 2.70163 -0.323464 -1.03126 0.725268 0.0492987 0.0280495 0.0226874 -5 2 1.35904 1.34664 4.04457 5.59036 -1.49335 -2.41017 2.29396 -0.00291347 0.00899259 -6 2 4.04935 1.35176 4.04609 -1.87303 0.776422 -1.74045 -2.31898 -0.0115434 -0.00179972 -ITEM: TIMESTEP -10 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.6985 2.70084 -0.00218168 -0.599095 0.337456 -0.873207 0.0477049 0.0359661 -0.0162858 -2 2 1.37507 4.06138 1.36492 11.7248 4.54034 5.95839 2.18206 -0.0271682 -0.0223275 -3 2 4.05004 4.06628 1.35097 -1.71572 6.50015 0.389163 -2.25748 -0.0249726 0.0043903 -4 1 2.69919 -0.00257993 2.70181 -0.322932 -1.03096 0.725515 0.0557294 0.0320331 0.0260207 -5 2 1.36048 1.34627 4.04397 5.93543 -1.4938 -2.40872 2.2824 -0.00306026 0.0101825 -6 2 4.04884 1.35195 4.04565 -2.2221 0.774587 -1.74074 -2.31042 -0.0127983 -0.00198013 -ITEM: TIMESTEP -11 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.69835 2.70092 -0.00240001 -0.598586 0.337838 -0.873382 0.0526872 0.0393256 -0.0181586 -2 2 1.37805 4.06252 1.36641 12.0521 4.53597 5.9548 2.15829 -0.0307526 -0.0252554 -3 2 4.04957 4.06791 1.35106 -2.05501 6.49619 0.389841 -2.24228 -0.0275775 0.00460683 -4 1 2.69911 -0.00283763 2.70199 -0.322334 -1.03061 0.725796 0.0623777 0.0362096 0.0295409 -5 2 1.362 1.3459 4.04336 6.27868 -1.49427 -2.40709 2.26985 -0.00316333 0.0114188 -6 2 4.04824 1.35215 4.04522 -2.56981 0.772563 -1.74105 -2.30093 -0.0140417 -0.00215255 -ITEM: TIMESTEP -12 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.6982 2.70101 -0.00261837 -0.598027 0.338253 -0.873575 0.0577351 0.0426463 -0.0200718 -2 2 1.3811 4.06365 1.3679 12.3757 4.53105 5.95076 2.13326 -0.0345179 -0.0283253 -3 2 4.04901 4.06953 1.35116 -2.39194 6.49183 0.390547 -2.22604 -0.0302194 0.00475506 -4 1 2.69903 -0.00309524 2.70217 -0.321667 -1.03022 0.726114 0.06925 0.0405836 0.0332542 -5 2 1.36362 1.34552 4.04276 6.61997 -1.49475 -2.40527 2.25627 -0.00322051 0.0127037 -6 2 4.04756 1.35234 4.04478 -2.91602 0.770353 -1.74139 -2.29048 -0.0152721 -0.00231583 -ITEM: TIMESTEP -13 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.69805 2.70109 -0.00283679 -0.597416 0.338702 -0.873788 0.0628554 0.0459295 -0.0220243 -2 2 1.38423 4.06478 1.36939 12.6954 4.52555 5.94625 2.10694 -0.0384688 -0.0315401 -3 2 4.04837 4.07115 1.35126 -2.72634 6.48707 0.39127 -2.20874 -0.0329024 0.00482793 -4 1 2.69895 -0.00335274 2.70236 -0.320929 -1.02979 0.726471 0.0763523 0.0451591 0.0371659 -5 2 1.36531 1.34515 4.04216 6.95912 -1.49523 -2.40326 2.24165 -0.00322965 0.0140393 -6 2 4.04678 1.35253 4.04434 -3.26057 0.767958 -1.74175 -2.27906 -0.0164877 -0.0024688 -ITEM: TIMESTEP -14 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.6979 2.70118 -0.00305527 -0.596753 0.339184 -0.874022 0.0680546 0.0491768 -0.0240145 -2 2 1.38745 4.06591 1.37087 13.0111 4.51944 5.94124 2.07932 -0.0426096 -0.0349018 -3 2 4.04765 4.07277 1.35136 -3.05804 6.4819 0.391997 -2.19038 -0.035631 0.00481829 -4 1 2.69887 -0.00361013 2.70254 -0.320118 -1.0293 0.726868 0.0836894 0.0499393 0.0412807 -5 2 1.3671 1.34478 4.04156 7.296 -1.49572 -2.40103 2.22598 -0.00318867 0.0154277 -6 2 4.04593 1.35272 4.04391 -3.60334 0.765381 -1.74213 -2.26667 -0.0176868 -0.00261028 -ITEM: TIMESTEP -15 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.69775 2.70126 -0.0032738 -0.596036 0.339698 -0.874275 0.0733392 0.0523895 -0.0260413 -2 2 1.39074 4.06704 1.37236 13.3225 4.51268 5.93571 2.05037 -0.0469451 -0.0384133 -3 2 4.04685 4.07439 1.35146 -3.3869 6.47632 0.392716 -2.17093 -0.038409 0.00471919 -4 1 2.69879 -0.00386739 2.70272 -0.319232 -1.02877 0.727309 0.0912666 0.0549279 0.0456036 -5 2 1.36896 1.3444 4.04096 7.63043 -1.49619 -2.3986 2.20924 -0.00309551 0.0168709 -6 2 4.04498 1.35291 4.04347 -3.94416 0.762625 -1.74253 -2.25329 -0.0188678 -0.0027391 -ITEM: TIMESTEP -16 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.6976 2.70135 -0.00349241 -0.595266 0.340245 -0.87455 0.0787153 0.055569 -0.0281032 -2 2 1.39411 4.06817 1.37384 13.6294 4.50526 5.92964 2.02007 -0.0514799 -0.042077 -3 2 4.04596 4.07601 1.35155 -3.71274 6.47031 0.393413 -2.15039 -0.0412405 0.00452364 -4 1 2.69871 -0.00412452 2.7029 -0.318268 -1.02819 0.727794 0.0990893 0.0601283 0.0501398 -5 2 1.37091 1.34403 4.04036 7.96225 -1.49665 -2.39594 2.19142 -0.00294819 0.0183708 -6 2 4.04395 1.3531 4.04304 -4.28288 0.759692 -1.74296 -2.2389 -0.0200287 -0.00285406 -ITEM: TIMESTEP -17 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.69745 2.70143 -0.00371108 -0.594441 0.340824 -0.874845 0.0841889 0.0587168 -0.0301987 -2 2 1.39755 4.0693 1.37532 13.9317 4.49714 5.92301 1.9884 -0.0562187 -0.0458954 -3 2 4.04499 4.07763 1.35165 -4.0354 6.46388 0.394073 -2.12872 -0.0441293 0.0042247 -4 1 2.69863 -0.00438149 2.70308 -0.317223 -1.02755 0.728326 0.107162 0.0655439 0.054894 -5 2 1.37294 1.34365 4.03976 8.2913 -1.49708 -2.39305 2.17248 -0.00274479 0.0199293 -6 2 4.04284 1.35329 4.0426 -4.61936 0.756586 -1.74339 -2.2235 -0.0211679 -0.00295392 -ITEM: TIMESTEP -18 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.69731 2.70152 -0.00392983 -0.593559 0.341435 -0.875162 0.0897661 0.0618346 -0.0323262 -2 2 1.40107 4.07042 1.3768 14.229 4.48829 5.91578 1.95532 -0.0611659 -0.0498706 -3 2 4.04394 4.07924 1.35175 -4.3547 6.457 0.394679 -2.10593 -0.0470792 0.0038154 -4 1 2.69855 -0.00463829 2.70327 -0.316095 -1.02686 0.728907 0.11549 0.0711775 0.0598705 -5 2 1.37506 1.34328 4.03916 8.61741 -1.49747 -2.38993 2.15241 -0.00248344 0.0215483 -6 2 4.04164 1.35348 4.04217 -4.95344 0.753309 -1.74385 -2.20706 -0.0222835 -0.00303744 -ITEM: TIMESTEP -19 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.69716 2.7016 -0.00414866 -0.592621 0.342077 -0.8755 0.0954526 0.0649239 -0.0344841 -2 2 1.40467 4.07154 1.37828 14.5213 4.47868 5.90795 1.92083 -0.0663258 -0.0540045 -3 2 4.04281 4.08086 1.35185 -4.67049 6.44967 0.395215 -2.08198 -0.050094 0.00328881 -4 1 2.69847 -0.00489492 2.70345 -0.314881 -1.02611 0.72954 0.124076 0.0770317 0.0650736 -5 2 1.37725 1.3429 4.03857 8.94041 -1.49782 -2.38655 2.13119 -0.00216234 0.0232295 -6 2 4.04036 1.35367 4.04173 -5.28496 0.749867 -1.74431 -2.18956 -0.0233735 -0.00310338 -ITEM: TIMESTEP -20 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z vx vy vz fx fy fz -1 1 2.69701 2.70169 -0.00436758 -0.591624 0.342751 -0.875861 0.101254 0.0679866 -0.0366705 -2 2 1.40833 4.07266 1.37976 14.8083 4.46827 5.89948 1.88489 -0.0717024 -0.0582989 -3 2 4.0416 4.08247 1.35195 -4.98257 6.44189 0.395662 -2.05686 -0.0531772 0.00263798 -4 1 2.69839 -0.00515135 2.70363 -0.313579 -1.0253 0.730227 0.132925 0.0831089 0.0705072 -5 2 1.37953 1.34253 4.03797 9.26012 -1.49812 -2.38291 2.1088 -0.00177977 0.0249746 -6 2 4.039 1.35386 4.04129 -5.61376 0.746262 -1.74478 -2.171 -0.0244362 -0.00315046 diff --git a/examples/QUANTUM/LATTE/dump.8Sep22.series.mpi.1.2uo2 b/examples/QUANTUM/LATTE/dump.8Sep22.series.mpi.1.2uo2 deleted file mode 100644 index a44cbc396e..0000000000 --- a/examples/QUANTUM/LATTE/dump.8Sep22.series.mpi.1.2uo2 +++ /dev/null @@ -1,15 +0,0 @@ -ITEM: TIMESTEP -0 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z fx fy fz -1 1 2.7 2.7 0 -2.27066e-14 -1.33391e-14 2.31141e-14 -2 2 1.35 4.05 1.35 2.35473 2.21578e-14 7.40069e-15 -3 2 4.05 4.05 1.35 -2.35473 2.97071e-15 -2.01341e-14 -4 1 2.7 1.65327e-16 2.7 -2.90278e-14 6.77422e-15 2.86766e-15 -5 2 1.35 1.35 4.05 2.35473 5.79901e-15 -1.19594e-14 -6 2 4.05 1.35 4.05 -2.35473 -1.38761e-14 1.09382e-14 diff --git a/examples/QUANTUM/LATTE/dump.8Sep22.series.mpi.1.3uo2 b/examples/QUANTUM/LATTE/dump.8Sep22.series.mpi.1.3uo2 deleted file mode 100644 index 1a275b6e18..0000000000 --- a/examples/QUANTUM/LATTE/dump.8Sep22.series.mpi.1.3uo2 +++ /dev/null @@ -1,18 +0,0 @@ -ITEM: TIMESTEP -0 -ITEM: NUMBER OF ATOMS -9 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.6199999999999999e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z fx fy fz -1 1 2.7 2.7 0 -1.27436e-13 0.760572 0.760572 -2 2 1.35 4.05 1.35 0.682428 -0.329901 -0.329901 -3 2 4.05 4.05 1.35 -0.682428 -0.329901 -0.329901 -4 1 2.7 1.65327e-16 2.7 -8.06311e-14 -1.57101 -1.57101 -5 2 1.35 1.35 4.05 2.79365 0.684734 0.684734 -6 2 4.05 1.35 4.05 -2.79365 0.684734 0.684734 -7 1 2.7 2.7 0 -1.30843e-13 0.760572 0.760572 -8 2 1.35 4.05 1.35 0.682428 -0.329901 -0.329901 -9 2 4.05 4.05 1.35 -0.682428 -0.329901 -0.329901 diff --git a/examples/QUANTUM/LATTE/dump.8Sep22.series.mpi.1.4uo2 b/examples/QUANTUM/LATTE/dump.8Sep22.series.mpi.1.4uo2 deleted file mode 100644 index 3b9e4eeb3f..0000000000 --- a/examples/QUANTUM/LATTE/dump.8Sep22.series.mpi.1.4uo2 +++ /dev/null @@ -1,21 +0,0 @@ -ITEM: TIMESTEP -0 -ITEM: NUMBER OF ATOMS -12 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 6.6130927153957075e-16 -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z fx fy fz -1 1 2.7 8.1 0 -0.433947 2.16479 1.55466 -2 2 1.35 9.45 1.35 1.64718 -0.119006 0.375837 -3 2 4.05 9.45 1.35 0.999862 -1.02573 0.037629 -4 1 5.4 8.1 2.7 0.433947 2.16479 1.55466 -5 2 4.05 9.45 4.05 -0.999862 -1.02573 0.037629 -6 2 6.75 9.45 4.05 -1.64718 -0.119006 0.375837 -7 1 2.7 1.65327e-16 2.7 -0.211437 1.63064 -0.0728897 -8 2 1.35 1.35 4.05 0.461807 -1.3955 -1.94959 -9 2 4.05 1.35 4.05 0.708573 -1.2552 0.0543549 -10 1 5.4 0 0 0.211437 1.63064 -0.0728897 -11 2 4.05 1.35 1.35 -0.708573 -1.2552 0.0543549 -12 2 6.75 1.35 1.35 -0.461807 -1.3955 -1.94959 diff --git a/examples/QUANTUM/LATTE/dump.8Sep22.series.mpi.2.2uo2 b/examples/QUANTUM/LATTE/dump.8Sep22.series.mpi.2.2uo2 deleted file mode 100644 index a44cbc396e..0000000000 --- a/examples/QUANTUM/LATTE/dump.8Sep22.series.mpi.2.2uo2 +++ /dev/null @@ -1,15 +0,0 @@ -ITEM: TIMESTEP -0 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z fx fy fz -1 1 2.7 2.7 0 -2.27066e-14 -1.33391e-14 2.31141e-14 -2 2 1.35 4.05 1.35 2.35473 2.21578e-14 7.40069e-15 -3 2 4.05 4.05 1.35 -2.35473 2.97071e-15 -2.01341e-14 -4 1 2.7 1.65327e-16 2.7 -2.90278e-14 6.77422e-15 2.86766e-15 -5 2 1.35 1.35 4.05 2.35473 5.79901e-15 -1.19594e-14 -6 2 4.05 1.35 4.05 -2.35473 -1.38761e-14 1.09382e-14 diff --git a/examples/QUANTUM/LATTE/dump.8Sep22.series.mpi.2.3uo2 b/examples/QUANTUM/LATTE/dump.8Sep22.series.mpi.2.3uo2 deleted file mode 100644 index 1a275b6e18..0000000000 --- a/examples/QUANTUM/LATTE/dump.8Sep22.series.mpi.2.3uo2 +++ /dev/null @@ -1,18 +0,0 @@ -ITEM: TIMESTEP -0 -ITEM: NUMBER OF ATOMS -9 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.6199999999999999e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z fx fy fz -1 1 2.7 2.7 0 -1.27436e-13 0.760572 0.760572 -2 2 1.35 4.05 1.35 0.682428 -0.329901 -0.329901 -3 2 4.05 4.05 1.35 -0.682428 -0.329901 -0.329901 -4 1 2.7 1.65327e-16 2.7 -8.06311e-14 -1.57101 -1.57101 -5 2 1.35 1.35 4.05 2.79365 0.684734 0.684734 -6 2 4.05 1.35 4.05 -2.79365 0.684734 0.684734 -7 1 2.7 2.7 0 -1.30843e-13 0.760572 0.760572 -8 2 1.35 4.05 1.35 0.682428 -0.329901 -0.329901 -9 2 4.05 4.05 1.35 -0.682428 -0.329901 -0.329901 diff --git a/examples/QUANTUM/LATTE/dump.8Sep22.series.mpi.2.4uo2 b/examples/QUANTUM/LATTE/dump.8Sep22.series.mpi.2.4uo2 deleted file mode 100644 index 3b9e4eeb3f..0000000000 --- a/examples/QUANTUM/LATTE/dump.8Sep22.series.mpi.2.4uo2 +++ /dev/null @@ -1,21 +0,0 @@ -ITEM: TIMESTEP -0 -ITEM: NUMBER OF ATOMS -12 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 6.6130927153957075e-16 -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z fx fy fz -1 1 2.7 8.1 0 -0.433947 2.16479 1.55466 -2 2 1.35 9.45 1.35 1.64718 -0.119006 0.375837 -3 2 4.05 9.45 1.35 0.999862 -1.02573 0.037629 -4 1 5.4 8.1 2.7 0.433947 2.16479 1.55466 -5 2 4.05 9.45 4.05 -0.999862 -1.02573 0.037629 -6 2 6.75 9.45 4.05 -1.64718 -0.119006 0.375837 -7 1 2.7 1.65327e-16 2.7 -0.211437 1.63064 -0.0728897 -8 2 1.35 1.35 4.05 0.461807 -1.3955 -1.94959 -9 2 4.05 1.35 4.05 0.708573 -1.2552 0.0543549 -10 1 5.4 0 0 0.211437 1.63064 -0.0728897 -11 2 4.05 1.35 1.35 -0.708573 -1.2552 0.0543549 -12 2 6.75 1.35 1.35 -0.461807 -1.3955 -1.94959 diff --git a/examples/QUANTUM/LATTE/dump.8Sep22.series.plugin.2uo2 b/examples/QUANTUM/LATTE/dump.8Sep22.series.plugin.2uo2 deleted file mode 100644 index a44cbc396e..0000000000 --- a/examples/QUANTUM/LATTE/dump.8Sep22.series.plugin.2uo2 +++ /dev/null @@ -1,15 +0,0 @@ -ITEM: TIMESTEP -0 -ITEM: NUMBER OF ATOMS -6 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z fx fy fz -1 1 2.7 2.7 0 -2.27066e-14 -1.33391e-14 2.31141e-14 -2 2 1.35 4.05 1.35 2.35473 2.21578e-14 7.40069e-15 -3 2 4.05 4.05 1.35 -2.35473 2.97071e-15 -2.01341e-14 -4 1 2.7 1.65327e-16 2.7 -2.90278e-14 6.77422e-15 2.86766e-15 -5 2 1.35 1.35 4.05 2.35473 5.79901e-15 -1.19594e-14 -6 2 4.05 1.35 4.05 -2.35473 -1.38761e-14 1.09382e-14 diff --git a/examples/QUANTUM/LATTE/dump.8Sep22.series.plugin.3uo2 b/examples/QUANTUM/LATTE/dump.8Sep22.series.plugin.3uo2 deleted file mode 100644 index 1a275b6e18..0000000000 --- a/examples/QUANTUM/LATTE/dump.8Sep22.series.plugin.3uo2 +++ /dev/null @@ -1,18 +0,0 @@ -ITEM: TIMESTEP -0 -ITEM: NUMBER OF ATOMS -9 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.6199999999999999e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z fx fy fz -1 1 2.7 2.7 0 -1.27436e-13 0.760572 0.760572 -2 2 1.35 4.05 1.35 0.682428 -0.329901 -0.329901 -3 2 4.05 4.05 1.35 -0.682428 -0.329901 -0.329901 -4 1 2.7 1.65327e-16 2.7 -8.06311e-14 -1.57101 -1.57101 -5 2 1.35 1.35 4.05 2.79365 0.684734 0.684734 -6 2 4.05 1.35 4.05 -2.79365 0.684734 0.684734 -7 1 2.7 2.7 0 -1.30843e-13 0.760572 0.760572 -8 2 1.35 4.05 1.35 0.682428 -0.329901 -0.329901 -9 2 4.05 4.05 1.35 -0.682428 -0.329901 -0.329901 diff --git a/examples/QUANTUM/LATTE/dump.8Sep22.series.plugin.4uo2 b/examples/QUANTUM/LATTE/dump.8Sep22.series.plugin.4uo2 deleted file mode 100644 index 3b9e4eeb3f..0000000000 --- a/examples/QUANTUM/LATTE/dump.8Sep22.series.plugin.4uo2 +++ /dev/null @@ -1,21 +0,0 @@ -ITEM: TIMESTEP -0 -ITEM: NUMBER OF ATOMS -12 -ITEM: BOX BOUNDS xy xz yz pp pp pp -0.0000000000000000e+00 1.0800000000000001e+01 6.6130927153957075e-16 -0.0000000000000000e+00 1.0800000000000001e+01 3.3065463576978537e-16 -0.0000000000000000e+00 5.4000000000000004e+00 3.3065463576978537e-16 -ITEM: ATOMS id type x y z fx fy fz -1 1 2.7 8.1 0 -0.433947 2.16479 1.55466 -2 2 1.35 9.45 1.35 1.64718 -0.119006 0.375837 -3 2 4.05 9.45 1.35 0.999862 -1.02573 0.037629 -4 1 5.4 8.1 2.7 0.433947 2.16479 1.55466 -5 2 4.05 9.45 4.05 -0.999862 -1.02573 0.037629 -6 2 6.75 9.45 4.05 -1.64718 -0.119006 0.375837 -7 1 2.7 1.65327e-16 2.7 -0.211437 1.63064 -0.0728897 -8 2 1.35 1.35 4.05 0.461807 -1.3955 -1.94959 -9 2 4.05 1.35 4.05 0.708573 -1.2552 0.0543549 -10 1 5.4 0 0 0.211437 1.63064 -0.0728897 -11 2 4.05 1.35 1.35 -0.708573 -1.2552 0.0543549 -12 2 6.75 1.35 1.35 -0.461807 -1.3955 -1.94959 diff --git a/examples/QUANTUM/LATTE/in.aimd b/examples/QUANTUM/LATTE/in.aimd deleted file mode 100644 index 3c713dfdc6..0000000000 --- a/examples/QUANTUM/LATTE/in.aimd +++ /dev/null @@ -1,26 +0,0 @@ -# AIMD test of two UO2 molecules with LATTE in MDI stand-alone mode - -units metal -atom_style full -atom_modify sort 0 0.0 - -read_data 2uo2.lmp - -velocity all create 300.0 87287 loop geom - -neighbor 1.0 bin -neigh_modify every 1 delay 0 check yes - -timestep 0.00025 - -fix 1 all nve - -fix 2 all mdi/qm virial yes elements 92 8 - -thermo_style custom step temp pe etotal press -thermo 1 - -#dump 1 all custom 1 dump.aimd.mpi & -# id type x y z vx vy vz fx fy fz - -run 20 diff --git a/examples/QUANTUM/LATTE/in.aimd.plugin b/examples/QUANTUM/LATTE/in.aimd.plugin deleted file mode 100644 index a485cb671a..0000000000 --- a/examples/QUANTUM/LATTE/in.aimd.plugin +++ /dev/null @@ -1,27 +0,0 @@ -# AIMD test of two UO2 molecules with LATTE in MDI plugin mode - -units metal -atom_style full -atom_modify sort 0 0.0 - -read_data 2uo2.lmp - -velocity all create 300.0 87287 loop geom - -neighbor 1.0 bin -neigh_modify every 1 delay 0 check yes - -timestep 0.00025 - -fix 1 all nve - -fix 2 all mdi/qm virial yes elements 92 8 - -thermo_style custom step temp pe etotal press -thermo 1 - -dump 1 all custom 1 dump.aimd.plugin & - id type x y z vx vy vz fx fy fz - -mdi plugin latte_mdi mdi "-role ENGINE -name LATTE -method LINK" & - command "run 20" diff --git a/examples/QUANTUM/LATTE/in.latte.water.md b/examples/QUANTUM/LATTE/in.latte.water.md deleted file mode 100644 index 1d2ea7eecb..0000000000 --- a/examples/QUANTUM/LATTE/in.latte.water.md +++ /dev/null @@ -1,40 +0,0 @@ -# simple water model with LATTE - -units metal -atom_style full -atom_modify sort 0 0.0 # turn off sorting of the coordinates - -read_data data.water.latte.aimd - -# replicate system if requested - -variable x index 1 -variable y index 1 -variable z index 1 - -variable nrep equal v_x*v_y*v_z -if "${nrep} > 1" then "replicate $x $y $z" - -# initialize system - -velocity all create 0.0 87287 loop geom - -pair_style zero 1.0 -pair_coeff * * - -neighbor 1.0 bin -neigh_modify every 1 delay 0 check yes - -timestep 0.00025 - -fix 1 all nve - -fix 2 all latte -fix_modify 2 energy yes - -thermo_style custom step temp pe etotal press - -# dynamics - -thermo 10 -run 100 diff --git a/examples/QUANTUM/LATTE/in.series b/examples/QUANTUM/LATTE/in.series index ac383b53a2..734dc9fa94 100644 --- a/examples/QUANTUM/LATTE/in.series +++ b/examples/QUANTUM/LATTE/in.series @@ -11,22 +11,22 @@ label LOOP atom_style full atom_modify sort 0 0.0 - read_data ${files}.lmp + read_data data.${files} neighbor 0.3 bin neigh_modify every 1 delay 0 check yes timestep 0.001 - fix 1 all mdi/qm virial yes elements 92 8 connect no + fix 1 all mdi/qm virial yes elements U O connect no thermo_style custom step temp pe etotal press thermo 1 run 0 - write_dump all custom dump.series.mpi.${files} & - id type x y z fx fy fz modify sort id + #write_dump all custom dump.series.mpi.${files} & + # id type x y z fx fy fz modify sort id clear diff --git a/examples/QUANTUM/LATTE/in.series.plugin b/examples/QUANTUM/LATTE/in.series.plugin index 0985503746..5219a9de37 100644 --- a/examples/QUANTUM/LATTE/in.series.plugin +++ b/examples/QUANTUM/LATTE/in.series.plugin @@ -9,21 +9,22 @@ label LOOP atom_style full atom_modify sort 0 0.0 - read_data ${files}.lmp + read_data data.${files} neighbor 0.3 bin neigh_modify every 1 delay 0 check yes - fix 1 all mdi/qm virial yes elements 92 8 - + fix 1 all mdi/qm virial yes elements U O + fix_modify 1 energy yes + thermo_style custom step temp pe etotal press thermo 1 mdi plugin latte_mdi mdi "-role ENGINE -name LATTE -method LINK" & - command "run 0" + extra latte.in.uo2 command "run 0" - write_dump all custom dump.series.plugin.${files} & - id type x y z fx fy fz modify sort id + #write_dump all custom dump.series.plugin.${files} & + # id type x y z fx fy fz modify sort id clear diff --git a/examples/QUANTUM/LATTE/in.uo2.latte.aimd b/examples/QUANTUM/LATTE/in.uo2 similarity index 95% rename from examples/QUANTUM/LATTE/in.uo2.latte.aimd rename to examples/QUANTUM/LATTE/in.uo2 index 86dde9c3e0..b4920b391c 100644 --- a/examples/QUANTUM/LATTE/in.uo2.latte.aimd +++ b/examples/QUANTUM/LATTE/in.uo2 @@ -4,7 +4,7 @@ units metal atom_style full atom_modify sort 0 0.0 -read_data 2uo2.lmp +read_data data.2uo2 velocity all create 300.0 87287 loop geom diff --git a/examples/QUANTUM/LATTE/in.uo2.latte.series b/examples/QUANTUM/LATTE/in.uo2.latte.series deleted file mode 100644 index 578ee62282..0000000000 --- a/examples/QUANTUM/LATTE/in.uo2.latte.series +++ /dev/null @@ -1,37 +0,0 @@ -# Series of single-point calcs of 2,3,4 UO2 molecules -# with LATTE in MDI stand-alone mode - -variable files index 2uo2 3uo2 4uo2 - -mdi connect - -label LOOP - - units metal - atom_style full - atom_modify sort 0 0.0 - - read_data ${files}.lmp - - neighbor 0.3 bin - neigh_modify every 1 delay 0 check yes - - timestep 0.001 - - fix 1 all mdi/qm virial yes elements U O connect no - - thermo_style custom step temp pe etotal press - thermo 1 - - run 0 - - write_dump all custom dump.series.mpi.${files} & - id type x y z fx fy fz modify sort id - - clear - -next files - -jump SELF LOOP - -mdi exit diff --git a/examples/QUANTUM/LATTE/in.uo2.latte.series.plugin b/examples/QUANTUM/LATTE/in.uo2.latte.series.plugin deleted file mode 100644 index 0654c9c12e..0000000000 --- a/examples/QUANTUM/LATTE/in.uo2.latte.series.plugin +++ /dev/null @@ -1,32 +0,0 @@ -# Series of single-point calcs of 2,3,4 UO2 molecules -# with LATTE in MDI plugin mode - -variable files index 2uo2 3uo2 4uo2 - -label LOOP - - units metal - atom_style full - atom_modify sort 0 0.0 - - read_data ${files}.lmp - - neighbor 0.3 bin - neigh_modify every 1 delay 0 check yes - - fix 1 all mdi/qm virial yes elements U O - - thermo_style custom step temp pe etotal press - thermo 1 - - mdi plugin latte_mdi mdi "-role ENGINE -name LATTE -method LINK" & - extra latte.in.uo2 command "run 0" - - write_dump all custom dump.series.plugin.${files} & - id type x y z fx fy fz modify sort id - - clear - -next files - -jump SELF LOOP diff --git a/examples/QUANTUM/LATTE/in.uo2.latte.aimd.plugin b/examples/QUANTUM/LATTE/in.uo2.plugin similarity index 96% rename from examples/QUANTUM/LATTE/in.uo2.latte.aimd.plugin rename to examples/QUANTUM/LATTE/in.uo2.plugin index e17b34c1d3..02f6f4d415 100644 --- a/examples/QUANTUM/LATTE/in.uo2.latte.aimd.plugin +++ b/examples/QUANTUM/LATTE/in.uo2.plugin @@ -4,7 +4,7 @@ units metal atom_style full atom_modify sort 0 0.0 -read_data 2uo2.lmp +read_data data.2uo2 velocity all create 300.0 87287 loop geom diff --git a/examples/QUANTUM/LATTE/in.water.latte.aimd b/examples/QUANTUM/LATTE/in.water similarity index 95% rename from examples/QUANTUM/LATTE/in.water.latte.aimd rename to examples/QUANTUM/LATTE/in.water index 56f3f78692..ed26a87553 100644 --- a/examples/QUANTUM/LATTE/in.water.latte.aimd +++ b/examples/QUANTUM/LATTE/in.water @@ -4,7 +4,7 @@ units metal atom_style full atom_modify sort 0 0.0 # turn off sorting of the coordinates -read_data data.water.latte.aimd +read_data data.water # replicate system if requested diff --git a/examples/QUANTUM/LATTE/in.water.latte.aimd.plugin b/examples/QUANTUM/LATTE/in.water.plugin similarity index 95% rename from examples/QUANTUM/LATTE/in.water.latte.aimd.plugin rename to examples/QUANTUM/LATTE/in.water.plugin index 310ccc9512..db388deee1 100644 --- a/examples/QUANTUM/LATTE/in.water.latte.aimd.plugin +++ b/examples/QUANTUM/LATTE/in.water.plugin @@ -4,7 +4,7 @@ units metal atom_style full atom_modify sort 0 0.0 # turn off sorting of the coordinates -read_data data.water.latte.aimd +read_data data.water # replicate system if requested From 10b20ec647bc002b95e05965196bfffc19cd732c Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 8 Feb 2023 12:48:50 -0700 Subject: [PATCH 086/448] more examples in QUANTUM/LATTE --- examples/QUANTUM/LATTE/README | 120 +++++---- examples/QUANTUM/LATTE/README.old | 179 -------------- .../LATTE/TBparam_generic/bondints.nonortho | 36 +++ .../LATTE/TBparam_generic/electrons.dat | 7 + .../LATTE/TBparam_generic/ppots.nonortho | 12 + examples/QUANTUM/LATTE/data.ch4 | 23 ++ examples/QUANTUM/LATTE/data.graphene | 49 ++++ examples/QUANTUM/LATTE/data.sucrose | 63 +++++ examples/QUANTUM/LATTE/in.ch4 | 39 +++ examples/QUANTUM/LATTE/in.ch4.plugin | 41 ++++ examples/QUANTUM/LATTE/in.graphene | 39 +++ examples/QUANTUM/LATTE/in.graphene.plugin | 41 ++++ examples/QUANTUM/LATTE/in.series | 1 - examples/QUANTUM/LATTE/in.series.plugin | 1 - examples/QUANTUM/LATTE/in.sucrose | 39 +++ examples/QUANTUM/LATTE/in.sucrose.plugin | 41 ++++ examples/QUANTUM/LATTE/in.uo2 | 3 +- examples/QUANTUM/LATTE/in.uo2.plugin | 7 +- examples/QUANTUM/LATTE/in.water | 2 - examples/QUANTUM/LATTE/in.water.min | 39 +++ examples/QUANTUM/LATTE/in.water.min.plugin | 41 ++++ examples/QUANTUM/LATTE/in.water.plugin | 1 - examples/QUANTUM/LATTE/latte.in.generic | 32 +++ examples/QUANTUM/LATTE/latte.in.uo2 | 2 +- examples/QUANTUM/LATTE/log.8Feb23.ch4.mpi.1 | 109 +++++++++ .../QUANTUM/LATTE/log.8Feb23.ch4.plugin.1 | 111 +++++++++ .../QUANTUM/LATTE/log.8Feb23.graphene.mpi.1 | 103 ++++++++ .../LATTE/log.8Feb23.graphene.plugin.1 | 105 ++++++++ .../QUANTUM/LATTE/log.8Feb23.series.mpi.1 | 231 ++++++++++++++++++ .../QUANTUM/LATTE/log.8Feb23.series.plugin.1 | 227 +++++++++++++++++ .../QUANTUM/LATTE/log.8Feb23.sucrose.mpi.1 | 109 +++++++++ .../QUANTUM/LATTE/log.8Feb23.sucrose.plugin.1 | 111 +++++++++ examples/QUANTUM/LATTE/log.8Feb23.uo2.mpi.1 | 77 ++++++ .../QUANTUM/LATTE/log.8Feb23.uo2.plugin.1 | 78 ++++++ .../QUANTUM/LATTE/log.8Feb23.water.min.mpi.1 | 118 +++++++++ .../LATTE/log.8Feb23.water.min.plugin.1 | 120 +++++++++ examples/QUANTUM/LATTE/log.8Feb23.water.mpi.1 | 109 +++++++++ .../QUANTUM/LATTE/log.8Feb23.water.plugin.1 | 111 +++++++++ src/MDI/Install.sh | 4 + src/lammps.cpp | 1 + 40 files changed, 2327 insertions(+), 255 deletions(-) delete mode 100644 examples/QUANTUM/LATTE/README.old create mode 100644 examples/QUANTUM/LATTE/TBparam_generic/bondints.nonortho create mode 100644 examples/QUANTUM/LATTE/TBparam_generic/electrons.dat create mode 100644 examples/QUANTUM/LATTE/TBparam_generic/ppots.nonortho create mode 100644 examples/QUANTUM/LATTE/data.ch4 create mode 100644 examples/QUANTUM/LATTE/data.graphene create mode 100644 examples/QUANTUM/LATTE/data.sucrose create mode 100644 examples/QUANTUM/LATTE/in.ch4 create mode 100644 examples/QUANTUM/LATTE/in.ch4.plugin create mode 100644 examples/QUANTUM/LATTE/in.graphene create mode 100644 examples/QUANTUM/LATTE/in.graphene.plugin create mode 100644 examples/QUANTUM/LATTE/in.sucrose create mode 100644 examples/QUANTUM/LATTE/in.sucrose.plugin create mode 100644 examples/QUANTUM/LATTE/in.water.min create mode 100644 examples/QUANTUM/LATTE/in.water.min.plugin create mode 100644 examples/QUANTUM/LATTE/latte.in.generic create mode 100644 examples/QUANTUM/LATTE/log.8Feb23.ch4.mpi.1 create mode 100644 examples/QUANTUM/LATTE/log.8Feb23.ch4.plugin.1 create mode 100644 examples/QUANTUM/LATTE/log.8Feb23.graphene.mpi.1 create mode 100644 examples/QUANTUM/LATTE/log.8Feb23.graphene.plugin.1 create mode 100644 examples/QUANTUM/LATTE/log.8Feb23.series.mpi.1 create mode 100644 examples/QUANTUM/LATTE/log.8Feb23.series.plugin.1 create mode 100644 examples/QUANTUM/LATTE/log.8Feb23.sucrose.mpi.1 create mode 100644 examples/QUANTUM/LATTE/log.8Feb23.sucrose.plugin.1 create mode 100644 examples/QUANTUM/LATTE/log.8Feb23.uo2.mpi.1 create mode 100644 examples/QUANTUM/LATTE/log.8Feb23.uo2.plugin.1 create mode 100644 examples/QUANTUM/LATTE/log.8Feb23.water.min.mpi.1 create mode 100644 examples/QUANTUM/LATTE/log.8Feb23.water.min.plugin.1 create mode 100644 examples/QUANTUM/LATTE/log.8Feb23.water.mpi.1 create mode 100644 examples/QUANTUM/LATTE/log.8Feb23.water.plugin.1 diff --git a/examples/QUANTUM/LATTE/README b/examples/QUANTUM/LATTE/README index 072210342f..fce8a1d212 100644 --- a/examples/QUANTUM/LATTE/README +++ b/examples/QUANTUM/LATTE/README @@ -10,35 +10,34 @@ Step 4: run the water AIMD problem for a few steps Step 1: build LAMMPS -The molecule and kspace packages are needed for the 2-water test -problem. Copy the final LAMMPS executable into the -examples/QUANTUM/PySCF directory. +The molecule package is needed. Copy the final LAMMPS executable into +the examples/QUANTUM/LATTE directory. Traditional make: % cd ~/lammps/lib/mdi % python Install.py -m mpi % cd ~/lammps/src -% make yes-mdi yes-molecule yes-kspace +% make yes-mdi yes-molecule % make -j mpi -% cp lmp_mpi ~/lammps/examples/QUANTUM/PySCF +% cp lmp_mpi ~/lammps/examples/QUANTUM/LATTE CMake: % cd ~/lammps % mkdir build; cd build -% cmake -D PKG_MDI=yes -D PKG_MOLECULE=yes -D PKG_KSPACE=yes ../cmake +% cmake -DPKG_MDI=yes -DPKG_MOLECULE=yes ../cmake % make -j -% cp lmp ~/lammps/examples/QUANTUM/PySCF/lmp_mpi +% cp lmp ~/lammps/examples/QUANTUM/LATTE/lmp_mpi --------------------------------- --------------------------------- -Step 2: install the MDI code coupling package +Step 2: download/build MDI code coupling package -(a) grab the MDI Git repo +(a) clone the MDI Git repo -% mkdir git; cd mdi +% mkdir mdi; cd mdi % git clone git@github.com:MolSSI-MDI/MDI_Library.git git (b) build MDI @@ -48,8 +47,8 @@ Step 2: install the MDI code coupling package % cmake .. % make -j -(c) Add something similar to the following to your .bashrc or .cshrc -file so that Python can find MDI: +(c) Add a line like this to your ~/.bashrc or ~/.cshrc file so that +Python can find MDI: For bash: @@ -66,91 +65,84 @@ For (t)csh: Step 3: download/build LATTE -(a) download/build LATTE on your box +(a) clone the skimLATTE repo -NOTE: add instructions here +% mkdir latte; cd latte +% git clone git@github.com:lanl/LATTE.git git -(b) Add something similar to the following to your .bashrc or .cshrc -file so that Python can find PySCF: +(b) build LATTE as a shared library + +% cd ~/latte/git +% mkdir build; cd build +% cmake -DBUILD_SHARED_LIBS=on ../cmake +% make + +(c) Add a line like this to your ~/.bashrc or ~/.cshrc file so that +the liblatte.so file can be found: For bash: -% export PYTHONPATH="$PYTHONPATH:/home/sjplimp/pyscf/git" +% export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/home/sjplimp/latte/git/build" % hash -r For (t)csh: -% setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/pyscf/git +% setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/home/sjplimp/latte/git/build % rehash -(c) Check that you can import the 4 Python modules which the script -that wraps PySCF will need: - -% python ->>> import numpy as np ->>> from mpi4py import MPI ->>> import MDI_Library as mdi ->>> import pyscf - --------------------------------- --------------------------------- -Step 4: run the water AIMD problem for a few steps +Step 4: perform test runs in any of 3 modes -% cd ~/lammps/examples/QUANTUM/LATTE +These tests are in lammps/examples/QUANTUM/LATTE -# Run with TCP: 1 proc each +in.ch4 = AIMD with CH4 molecule +in.graphene = AIMD with graphene +in.series = series of 3 UO2 conformations +in.sucrose = AIMD of sucrose molecule +in.uo2 = two molecules of UO2 +in.water = eight water molecules -% lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.water.tcp.1 -in in.water & +** run 2 executables with TCP/IP, 1 proc each -% python latte_mdi.py -mdi "-name LATTE -role ENGINE -method TCP -port 8021 -hostname localhost" latte.in.water +lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.water.tcp.1 -in in.water & +python latte_mdi.py -mdi "-name LATTE -role ENGINE -method TCP -port 8021 -hostname localhost" latte.in.water -# Run with MPI: 1 proc each +lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.uo2.tcp.1 -in in.uo2 & +python latte_mdi.py -mdi "-name LATTE -role ENGINE -method TCP -port 8021 -hostname localhost" latte.in.uo2 -% mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.water.mpi.1 -in in.water : -np 1 python latte_mdi.py -mdi "-name LATTE -role ENGINE -method MPI" latte.in.water +lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.series.tcp.1 -in in.series & +python latte_mdi.py -mdi "-name LATTE -role ENGINE -method TCP -port 8021 -hostname localhost" latte.in.uo2 -# Run in plugin mode: 1 proc +** run 2 executables with MPI, 1 proc each -% lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/LATTE" -log log.water.plugin.1 -in in.water.plugin +mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.water.mpi.1 -in in.water : -np 1 python latte_mdi.py -mdi "-name LATTE -role ENGINE -method MPI" latte.in.water ---------------------------------- ---------------------------------- +mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.water.min.mpi.1 -in in.water.min : -np 1 python latte_mdi.py -mdi "-name LATTE -role ENGINE -method MPI" latte.in.generic -Step 5: run the UO2 AIMD problem for a few steps +mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.uo2.mpi.1 -in in.uo2 : -np 1 python latte_mdi.py -mdi "-name LATTE -role ENGINE -method MPI" latte.in.uo2 -% cd ~/lammps/examples/QUANTUM/LATTE +mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.ch4.mpi.1 -in in.ch4 : -np 1 python latte_mdi.py -mdi "-name LATTE -role ENGINE -method MPI" latte.in.generic -# Run with TCP: 1 proc each +mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.sucrose.mpi.1 -in in.sucrose : -np 1 python latte_mdi.py -mdi "-name LATTE -role ENGINE -method MPI" latte.in.generic -% lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.uo2.tcp.1 -in in.uo2 & +mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.graphene.mpi.1 -in in.graphene : -np 1 python latte_mdi.py -mdi "-name LATTE -role ENGINE -method MPI" latte.in.generic -% python latte_mdi.py -mdi "-name LATTE -role ENGINE -method TCP -port 8021 -hostname localhost" latte.in.uo2 +mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.series.mpi.1 -in in.series : -np 1 python latte_mdi.py -mdi "-name LATTE -role ENGINE -method MPI" latte.in.uo2 -# Run with MPI: 1 proc each +** run LATTE as plugin MDI engine, on 1 proc -% mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.uo2.mpi.1 -in in.uo2 : -np 1 python latte_mdi.py -mdi "-name LATTE -role ENGINE -method MPI" latte.in.uo2 +lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/LATTE" -log log.water.plugin.1 -in in.water.plugin -# Run in plugin mode: 1 proc +lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/LATTE" -log log.water.min.plugin.1 -in in.water.min.plugin -% lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/LATTE" -log log.uo2.plugin.1 -in in.uo2.plugin +lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/LATTE" -log log.uo2.plugin.1 -in in.uo2.plugin ---------------------------------- ---------------------------------- +lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/LATTE" -log log.ch4.plugin.1 -in in.ch4.plugin -Step 6: run the UO2 series problem +lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/LATTE" -log log.sucrose.plugin.1 -in in.sucrose.plugin -% cd ~/lammps/examples/QUANTUM/LATTE +lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/LATTE" -log log.graphene.plugin.1 -in in.graphene.plugin -# Run with TCP: 1 proc each - -% lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.series.tcp.1 -in in.series & - -% python latte_mdi.py -mdi "-name LATTE -role ENGINE -method TCP -port 8021 -hostname localhost" latte.in.uo2 - -# Run with MPI: 1 proc each - -% mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.series.mpi.1 -in in.series : -np 1 python latte_mdi.py -mdi "-name LATTE -role ENGINE -method MPI" latte.in.uo2 - -# Run in plugin mode: 1 proc - -% lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/LATTE" -log log.series.plugin.1 -in in.series.plugin +lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/LATTE" -log log.series.plugin.1 -in in.series.plugin diff --git a/examples/QUANTUM/LATTE/README.old b/examples/QUANTUM/LATTE/README.old deleted file mode 100644 index 4636f7c60b..0000000000 --- a/examples/QUANTUM/LATTE/README.old +++ /dev/null @@ -1,179 +0,0 @@ -LATTE is a semi-empirical tight-binding quantum code, developed -primarily at Los Alamos National Labs. - -See these links: - - https://www.osti.gov/biblio/1526907-los-alamos-transferable-tight-binding-energetics-latte-version - https://github.com/lanl/LATTE - -LAMMPS has 2 ways of working with LATTE: - -(1) Via its LATTE package and the fix latte command - must run LAMMPS on a single processor, it calls LATTE as a library - -(2) Via its MDI package and the code-coupling MDI library - (a) can run LAMMPS and LATTE as stand-alone codes - LAMMPS can be run on any number of procs - LATTE must run on a single proc, but can use OpenMP - (b) can run LAMMPS with LATTE as a plug-in library - must run LAMMPS on a single processor - -Examples for use case (1) are in the examples/latte dir. Use case (2) -is illustrated in this dir. - -NOTE: If you compare MDI runs in this dir to similar fix latte runs in -examples/latte, the answers for energy and virial will be differnt. -This is b/c the version of LATTE used by the fix latte command within -the LATTE package is older than the version of LATTE used here. - ------------------- -Building 3 codes needed to run these examples - -(1) Download and build MDI - -% git clone git@github.com:MolSSI-MDI/MDI_Library.git mdi -% cd mdi -% mkdir build; cd build -% cmake .. # includes support for all langauges (incl Fortran, Python) -% make - -(2) Download and build LATTE with MDI support - -% git clone git@github.com:lanl/LATTE.git latte -% cd latte -% git checkout skimLATTE-progress # goto branch with MDI support -% cp makefiles/makefile.CHOICES.mdi makefile.CHOICES # so can now edit -% edit makefile.CHOICES settings to have these settings: - MAKELIB = OFF, SHARED = ON, MDI = ON - MDI_PATH must point to CMake build of MDI in (1), - e.g. /home/sjplimp/mdi/build/MDI_Library - comment out 2 LIB lines with CUDA-CUDART_LIBRARY -% make clean -% make # creates liblatte.so and LATTE_DOUBLE with support for MDI - -(3) Build LAMMPS with its MDI package - also with the MOLECULE package for these example scripts - -Build with traditional make - -% cd lammps/lib/mdi -% python Install.py -m mpi # downloads and builds MDI -% cd ../../src -% make yes-mdi yes-molecule -$ make mpi # creates lmp_mpi - -% mkdir build; cd build -% cmake -D PKG_MDI=yes -D PKG_MOLECULE=yes ../cmake -% make # creates lmp - -Build with CMake - -% cd lammps -% mkdir build; cd build -% cmake -D PKG_MDI=yes -D PKG_MOLECULE=yes ../cmake -% make # creates lmp - -(4) Copy LAMMPS and LATTE executables into this dir - -Copy the LAMMPS executable (lmp_mpi or lmp) into this dir as lmp_mpi. -Copy the LATTE executable LATTE_DOUBLE into this dir. -The run commands below assume you have done this. - -(5) Ensure LD_LIBRARY_PATH includes the dir where MDI was built in (1) -with its libmdi.so file, e.g. mdi/build/MDI_Library. This is needed -so when LATTE_DOUBLE runs as an executable it will able to find -libmdi.so. - ------------------- -Notes on LATTE usage - -You must run this version of LATTE on a single MPI processor. -However, you can use OpenMP with LATTE. To do this you need to build -LATTE with OpenMP support by editing the makefile.CHOICES file to -include -fopenmp with FFLAGS and LINKFLAGS. Also -lapack and -lblas -need to be added to LIB, and those libraries must be available on your -system. For best performance you should also build LATTE with its -PROGRESS and BML libraries. Building those libs is more complex, -see details here: - -https://github.com/lanl/LATTE_SUPER/tree/allMachines/Laptop - -At run time, you need to also first set an environment variable for -the number of OpenMP threads to use, e.g. - -% export OMP_NUM_THREADS=12 - -By default LATTE reads the latte.in file for its parameters. That -file specifies other files LATTE will read. With MDI, the driver code -(e.g. LAMMPS) can use the >FNAME command to specify an alternate -filename to use instead of latte.in. - -By default LATTE writes out a log.latte file with info about its -calculations. An "OUTFILE= logfile" setting in latte.in can rename -this file. - ---------- -Run example #1: AIMD - -* Run with MPI: 1 proc each - -mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" \ - -in in.water -log log.water.lammps.mpi : \ - -np 1 LATTE_DOUBLE -mdi "-name LATTE -role ENGINE -method MPI" - -* Run with MPI: 2 procs for LAMMPS, 1 for LATTE - -mpirun -np 2 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" \ - -in in.water -log log.water.lammps.mpi : \ - -np 1 LATTE_DOUBLE -mdi "-name LATTE -role ENGINE -method MPI" - -* Run in plugin mode: 1 proc - -lmp_mpi -mdi \ - "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/latte/git" \ - -in in.water.plugin -log log.water.lammps.plugin - -NOTE: The -plugin_path needs to point to where LATTE was built in step -(2). - ---------- -Run example #2: AIMD - -* Run with MPI: 1 proc each - -mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" \ - -in in.aimd -log log.aimd.lammps.mpi : \ - -np 1 LATTE_DOUBLE -mdi "-name LATTE -role ENGINE -method MPI" - -* Run with MPI: 2 procs for LAMMPS, 1 for LATTE - -mpirun -np 2 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" \ - -in in.aimd -log log.aimd.lammps.mpi : \ - -np 1 LATTE_DOUBLE -mdi "-name LATTE -role ENGINE -method MPI" - -* Run in plugin mode: 1 proc - -lmp_mpi -mdi \ - "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/latte/git" \ - -in in.aimd.plugin -log log.aimd.lammps.plugin - ---------- -Run example #3: sequence of configurations - -* Run with MPI: 1 proc each - -mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" \ - -in in.series -log log.series.lammps.mpi : \ - -np 1 LATTE_DOUBLE -mdi "-name LATTE -role ENGINE -method MPI" - -* Run with MPI: 2 procs for LAMMPS, 1 for LATTE - -mpirun -np 2 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" \ - -in in.series -log log.series.lammps.mpi : \ - -np 1 LATTE_DOUBLE -mdi "-name LATTE -role ENGINE -method MPI" - -* Run in plugin mode: 1 proc - -lmp_mpi -mdi \ - "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/latte/git" \ - -in in.series.plugin -log log.series.lammps.plugin diff --git a/examples/QUANTUM/LATTE/TBparam_generic/bondints.nonortho b/examples/QUANTUM/LATTE/TBparam_generic/bondints.nonortho new file mode 100644 index 0000000000..8c1eee76b5 --- /dev/null +++ b/examples/QUANTUM/LATTE/TBparam_generic/bondints.nonortho @@ -0,0 +1,36 @@ +Noints= 34 +Element1 Element2 Kind H0 B1 B2 B3 B4 B5 R1 Rcut H0 B1 B2 B3 B4 B5 R1 Rcut +N O sss -11.430028 -2.257346 -1.152844 0.000000 0.000000 1.200000 3.500000 4.000000 0.340064 -1.703613 -0.622348 0.036738 -0.040158 1.200000 3.500000 4.000000 +N O sps 11.597479 -1.382001 -0.765170 0.000000 0.000000 1.200000 3.500000 4.000000 -0.370946 -1.040947 -0.931097 0.252441 -0.115450 1.200000 3.500000 4.000000 +O N sps 12.143744 -0.822913 -0.676127 0.000000 0.000000 1.200000 3.500000 4.000000 -0.420014 -1.107918 -0.905594 0.188424 -0.088365 1.200000 3.500000 4.000000 +N O pps 9.465191 -1.082032 -0.769214 0.000000 0.000000 1.200000 3.500000 4.000000 -0.314073 0.499050 -2.914288 2.067657 -0.738439 1.200000 3.500000 4.000000 +N O ppp -4.676789 -2.171480 -0.288002 0.000000 0.000000 1.200000 3.500000 4.000000 0.223937 -1.991867 -0.537630 -0.081270 -0.004130 1.200000 3.500000 4.000000 +C O sss -14.369472 -2.077439 -0.875471 0.000000 0.000000 1.200000 3.500000 4.000000 0.375339 -1.547372 -0.642492 0.020614 -0.026699 1.200000 3.500000 4.000000 +C O sps 9.576296 -1.156217 -0.494803 0.000000 0.000000 1.200000 3.500000 4.000000 -0.373027 -0.776043 -1.019920 0.257539 -0.102838 1.200000 3.500000 4.000000 +O C sps 14.037374 -1.192632 -0.654572 0.000000 0.000000 1.200000 3.500000 4.000000 -0.458068 -1.035067 -0.937868 0.190562 -0.077841 1.200000 3.500000 4.000000 +C O pps 9.331152 -0.718120 -0.822100 0.000000 0.000000 1.200000 3.500000 4.000000 -0.322293 0.795473 -3.476601 2.589965 -0.897800 1.200000 3.500000 4.000000 +C O ppp -5.334367 -2.263939 -0.204910 0.000000 0.000000 1.200000 3.500000 4.000000 0.244570 -1.922717 -0.573671 -0.057280 -0.004108 1.200000 3.500000 4.000000 +C N sss -7.010061 -1.730597 -0.575559 0.000000 0.000000 1.500000 3.500000 4.000000 0.263438 -1.754525 -0.584215 -0.007801 -0.021729 1.500000 3.500000 4.000000 +C N sps 7.543283 -1.293768 -0.624363 0.000000 0.000000 1.500000 3.500000 4.000000 -0.326609 -1.197485 -0.807786 0.134891 -0.084373 1.500000 3.500000 4.000000 +N C sps 9.090970 -1.494255 -0.616711 0.000000 0.000000 1.500000 3.500000 4.000000 -0.337943 -1.335442 -0.769693 0.119373 -0.079493 1.500000 3.500000 4.000000 +C N pps 6.892240 -0.931920 -0.769164 0.000000 0.000000 1.500000 3.500000 4.000000 -0.350240 -0.467439 -1.849316 1.854403 -0.988471 1.500000 3.500000 4.000000 +C N ppp -2.903346 -2.149349 -0.253006 0.000000 0.000000 1.500000 3.500000 4.000000 0.158424 -2.114409 -0.582346 -0.051076 -0.006183 1.500000 3.500000 4.000000 +C C sss -9.404207 -1.363297 -0.507128 0.000000 0.000000 1.400000 3.500000 4.000000 0.346977 -1.519820 -0.570812 -0.013518 -0.015829 1.400000 3.500000 4.000000 +C C sps 8.662429 -1.047410 -0.661999 0.000000 0.000000 1.400000 3.500000 4.000000 -0.400467 -0.984048 -0.853949 0.157178 -0.073381 1.400000 3.500000 4.000000 +C C pps 6.811512 -0.552299 -0.776890 0.000000 0.000000 1.400000 3.500000 4.000000 -0.382417 0.102889 -2.786680 2.646356 -1.134320 1.400000 3.500000 4.000000 +C C ppp -3.550127 -1.925572 -0.132715 0.000000 0.000000 1.400000 3.500000 4.000000 0.214357 -1.948923 -0.578323 -0.034356 -0.007257 1.400000 3.500000 4.000000 +H C sss -9.072577 -1.393093 -0.430611 0.000000 0.000000 1.100000 3.500000 4.000000 0.416003 -1.459596 -0.654874 0.009140 -0.012658 1.100000 3.500000 4.000000 +H C sps 8.176008 -0.985177 -0.427403 0.000000 0.000000 1.100000 3.500000 4.000000 -0.495695 -0.901626 -1.007214 0.189808 -0.057087 1.100000 3.500000 4.000000 +H H sss -9.340000 -1.145903 -0.391777 0.000000 0.000000 0.750000 3.500000 4.000000 0.575007 -1.391261 -0.778831 0.080209 -0.017759 0.750000 3.500000 4.000000 +O O sss -12.737687 -1.851608 -0.666621 0.000000 0.000000 1.200000 3.500000 4.000000 0.296445 -1.911896 -0.663451 0.038054 -0.046608 1.200000 3.500000 4.000000 +O O sps 13.683050 -1.684554 -0.468349 0.000000 0.000000 1.200000 3.500000 4.000000 -0.362143 -1.285274 -0.939591 0.204641 -0.106438 1.200000 3.500000 4.000000 +O O pps 9.460772 -1.211748 -0.581016 0.000000 0.000000 1.200000 3.500000 4.000000 -0.312044 0.121814 -2.519352 1.681266 -0.644566 1.200000 3.500000 4.000000 +O O ppp -4.494595 -2.709223 -0.284124 0.000000 0.000000 1.200000 3.500000 4.000000 0.193010 -2.168462 -0.580629 -0.105104 0.004891 1.200000 3.500000 4.000000 +H O sss -12.230931 -1.808632 -0.421164 0.000000 0.000000 1.000000 3.500000 4.000000 0.404725 -1.702546 -0.707938 0.074904 -0.039922 1.000000 3.500000 4.000000 +H O sps 9.466088 -1.321262 -0.386336 0.000000 0.000000 1.000000 3.500000 4.000000 -0.447660 -0.952979 -1.163537 0.400616 -0.156965 1.000000 3.500000 4.000000 +N N sss -7.710330 -2.365312 -0.525527 0.000000 0.000000 1.500000 3.500000 4.000000 0.231654 -1.879002 -0.572765 -0.004579 -0.031106 1.500000 3.500000 4.000000 +N N sps 8.222314 -1.612118 -0.690081 0.000000 0.000000 1.500000 3.500000 4.000000 -0.305271 -1.385158 -0.751032 0.114531 -0.090839 1.500000 3.500000 4.000000 +N N pps 7.178570 -1.176467 -0.571049 0.000000 0.000000 1.500000 3.500000 4.000000 -0.324668 -0.547805 -1.638658 1.495168 -0.827868 1.500000 3.500000 4.000000 +N N ppp -2.829344 -2.408049 -0.387709 0.000000 0.000000 1.500000 3.500000 4.000000 0.142909 -2.162036 -0.571942 -0.071640 -0.004682 1.500000 3.500000 4.000000 +H N sss -12.095890 -1.519057 -0.277247 0.000000 0.000000 1.000000 3.500000 4.000000 0.446693 -1.500463 -0.657448 0.065741 -0.037004 1.000000 3.500000 4.000000 +H N sps 9.851338 -1.231616 -0.370836 0.000000 0.000000 1.000000 3.500000 4.000000 -0.501530 -0.785734 -1.123232 0.394878 -0.148501 1.000000 3.500000 4.000000 diff --git a/examples/QUANTUM/LATTE/TBparam_generic/electrons.dat b/examples/QUANTUM/LATTE/TBparam_generic/electrons.dat new file mode 100644 index 0000000000..c38fd23ce2 --- /dev/null +++ b/examples/QUANTUM/LATTE/TBparam_generic/electrons.dat @@ -0,0 +1,7 @@ +Noelem= 5 +Element basis Numel Es Ep Ed Ef Mass HubbardU Wss Wpp Wdd Wff +N sp 5.0 -18.58 -7.09 0.0 0.0 14.0067 15.93 0.0 -0.6950 0.0 0.0 +O sp 6.0 -23.96 -9.02 0.0 0.0 15.9994 12.15 0.0 -0.7577 0.0 0.0 +H s 1.0 -6.35 0.0 0.0 0.0 1.0079 12.85 -1.7937 0.0 0.0 0.0 +C sp 4.0 -13.75 -5.28 0.0 0.0 12.01 10.0 0.0 -0.621 0.0 0.0 +Ti sd 4.0 -5.5 0.0 -3.0 0.0 47.867 10.0 0.0 0.0 0.0 0.0 \ No newline at end of file diff --git a/examples/QUANTUM/LATTE/TBparam_generic/ppots.nonortho b/examples/QUANTUM/LATTE/TBparam_generic/ppots.nonortho new file mode 100644 index 0000000000..1b9b66c0a1 --- /dev/null +++ b/examples/QUANTUM/LATTE/TBparam_generic/ppots.nonortho @@ -0,0 +1,12 @@ +Nopps= 10 +Ele1 Ele2 A0 A1 A2 A3 A4 A5 A6 C R1 Rcut +N O 13.182426 20.050322 -46.806321 38.206953 -12.319656 0.000000 0.000000 0.000000 1.600000 1.700000 +C N 88.953762 10.294988 -27.706877 22.101434 -6.836438 0.000000 0.000000 0.000000 1.600000 1.700000 +C O 0.944093 30.116337 -59.608215 45.107654 -13.178839 0.000000 0.000000 0.000000 1.600000 1.700000 +C H 104.889589 3.971095 -23.823043 26.408093 -11.317522 0.000000 0.000000 0.000000 1.200000 1.300000 +C C 3.962931 24.467772 -51.156024 39.031644 -11.342979 0.000000 0.000000 0.000000 1.600000 1.700000 +H H 38.512100 3.887860 -37.769100 57.083500 -34.512200 0.000000 0.000000 0.000000 0.900000 1.000000 +N N 43.228899 15.004605 -36.621777 29.234888 -8.912743 0.000000 0.000000 0.000000 1.600000 1.700000 +N H 0.625470 28.081241 -63.414297 53.286361 -17.352234 0.000000 0.000000 0.000000 1.300000 1.400000 +O O 10.999870 19.303033 -45.747853 37.946431 -11.935755 0.000000 0.000000 0.000000 1.500000 1.600000 +O H 0.481176 33.175383 -81.158683 74.935408 -26.792315 0.000000 0.000000 0.000000 1.200000 1.300000 diff --git a/examples/QUANTUM/LATTE/data.ch4 b/examples/QUANTUM/LATTE/data.ch4 new file mode 100644 index 0000000000..fc8d48d244 --- /dev/null +++ b/examples/QUANTUM/LATTE/data.ch4 @@ -0,0 +1,23 @@ + LAMMPS Description + + 5 atoms + + 2 atom types + + 0.0000000000000000 19.523000000000000 xlo xhi + 0.0000000000000000 12.757999999999999 ylo yhi + 0.0000000000000000 11.692000000000000 zlo zhi + 0.0000000000000000 0.0000000000000000 0.0000000000000000 xy xz yz + + Masses + + 1 12.010000000000000 + 2 1.0078250169754028 + + Atoms + + 1 1 1 0.0 -9.16600 2.05200 0.00000 + 2 1 2 0.0 -8.09600 2.05200 0.00000 + 3 1 2 0.0 -9.52300 2.75800 -0.72000 + 4 1 2 0.0 -9.52300 2.32200 0.97200 + 5 1 2 0.0 -9.52300 1.07500 -0.25200 diff --git a/examples/QUANTUM/LATTE/data.graphene b/examples/QUANTUM/LATTE/data.graphene new file mode 100644 index 0000000000..5455a2eeb6 --- /dev/null +++ b/examples/QUANTUM/LATTE/data.graphene @@ -0,0 +1,49 @@ + LAMMPS Description + + 32 atoms + + 1 atom types + + 0.0000000000000000 10.000000000000000 xlo xhi + 0.0000000000000000 8.0000000000000000 ylo yhi + 0.0000000000000000 20.000000000000000 zlo zhi + 4.8985871965894128E-016 1.2246467991473533E-015 1.2246467991473533E-015 xy xz yz + + Masses + + 1 12.010000000000000 + + Atoms + + 1 1 1 0.0 4.93100 4.25000 0.00500 + 2 1 1 0.0 8.62100 2.12100 0.14000 + 3 1 1 0.0 3.70700 2.12600 0.14700 + 4 1 1 0.0 7.38200 4.25400 0.07800 + 5 1 1 0.0 2.47900 4.25400 0.08000 + 6 1 1 0.0 6.15800 6.37400 -0.01000 + 7 1 1 0.0 1.23700 6.38300 0.06600 + 8 1 1 0.0 1.24000 2.12100 0.14600 + 9 1 1 0.0 6.15500 2.12600 0.12900 + 10 1 1 0.0 0.00700 4.25200 0.12200 + 11 1 1 0.0 8.62100 6.38500 0.04100 + 12 1 1 0.0 3.70000 6.37400 -0.01000 + 13 1 1 0.0 0.00600 1.41600 0.13000 + 14 1 1 0.0 4.93000 1.40800 0.14700 + 15 1 1 0.0 8.61800 3.54600 0.11500 + 16 1 1 0.0 3.70800 3.55300 0.08400 + 17 1 1 0.0 7.39400 5.68000 0.03500 + 18 1 1 0.0 2.46500 5.68000 0.03500 + 19 1 1 0.0 6.16000 7.80500 0.02700 + 20 1 1 0.0 1.23800 7.81100 0.06000 + 21 1 1 0.0 2.47300 1.41800 0.16100 + 22 1 1 0.0 7.38900 1.41700 0.14800 + 23 1 1 0.0 1.24200 3.54700 0.12600 + 24 1 1 0.0 6.15300 3.55300 0.07400 + 25 1 1 0.0 0.00700 5.67800 0.09700 + 26 1 1 0.0 4.93100 5.66800 -0.03100 + 27 1 1 0.0 8.62000 7.81300 0.03900 + 28 1 1 0.0 3.70100 7.80200 0.03700 + 29 1 1 0.0 0.00700 -0.01000 0.08900 + 30 1 1 0.0 4.93100 -0.01500 0.16100 + 31 1 1 0.0 2.47300 -0.01200 0.14400 + 32 1 1 0.0 7.38900 -0.01300 0.14800 diff --git a/examples/QUANTUM/LATTE/data.sucrose b/examples/QUANTUM/LATTE/data.sucrose new file mode 100644 index 0000000000..aae490cd19 --- /dev/null +++ b/examples/QUANTUM/LATTE/data.sucrose @@ -0,0 +1,63 @@ + LAMMPS Description + + 45 atoms + + 3 atom types + + 0.0000000000000000 17.202999999999999 xlo xhi + 0.0000000000000000 18.009000000000000 ylo yhi + 0.0000000000000000 21.643000000000001 zlo zhi + + Masses + + 1 15.9994 + 2 12.01 + 3 1.0079 + + Atoms + + 1 1 1 0.0 8.62700 8.66700 12.48600 + 2 1 1 0.0 9.11200 9.11800 10.27300 + 3 1 1 0.0 8.45700 11.33100 10.49000 + 4 1 1 0.0 11.72600 8.36500 10.66700 + 5 1 1 0.0 8.06500 8.99400 7.93600 + 6 1 2 0.0 9.62800 9.07200 11.59100 + 7 1 3 0.0 9.90900 10.08300 11.89200 + 8 1 2 0.0 9.07000 10.40400 9.64000 + 9 1 1 0.0 6.14600 11.61000 8.00500 + 10 1 1 0.0 11.07200 10.13000 8.37600 + 11 1 1 0.0 6.10200 10.00900 11.62100 + 12 1 2 0.0 8.14000 10.29100 8.45100 + 13 1 3 0.0 8.49000 10.91200 7.62300 + 14 1 1 0.0 7.41500 7.08400 14.43400 + 15 1 2 0.0 10.75100 8.07000 11.65100 + 16 1 3 0.0 11.24000 8.11800 12.63400 + 17 1 2 0.0 7.09000 11.63400 10.17000 + 18 1 3 0.0 7.06900 12.69800 9.91100 + 19 1 2 0.0 7.97200 7.44200 12.14000 + 20 1 3 0.0 7.54700 7.58300 11.13800 + 21 1 1 0.0 11.24900 5.73000 11.78600 + 22 1 2 0.0 10.26800 6.65900 11.37300 + 23 1 3 0.0 10.12300 6.53400 10.29200 + 24 1 2 0.0 6.78400 10.79500 8.95500 + 25 1 3 0.0 6.12100 9.95500 9.19600 + 26 1 2 0.0 10.47500 10.88300 9.39800 + 27 1 3 0.0 10.49500 11.92100 9.06900 + 28 1 3 0.0 11.09100 10.82000 10.30900 + 29 1 2 0.0 8.99100 6.32000 12.11700 + 30 1 3 0.0 9.23100 6.01100 13.14400 + 31 1 2 0.0 6.86600 7.25300 13.14500 + 32 1 3 0.0 6.17700 8.10100 13.15700 + 33 1 3 0.0 6.28900 6.35300 12.94300 + 34 1 2 0.0 6.24000 11.39400 11.39300 + 35 1 3 0.0 6.66500 11.86500 12.28300 + 36 1 3 0.0 5.23100 11.78100 11.26000 + 37 1 1 0.0 8.34300 5.24100 11.48000 + 38 1 3 0.0 12.00100 9.28600 10.78200 + 39 1 3 0.0 12.06300 5.97500 11.33000 + 40 1 3 0.0 6.99600 9.67600 11.79700 + 41 1 3 0.0 7.93700 7.87600 14.60900 + 42 1 3 0.0 10.95500 9.19800 8.60700 + 43 1 3 0.0 5.94400 11.05900 7.24100 + 44 1 3 0.0 7.94900 8.39500 8.68400 + 45 1 3 0.0 8.96400 4.50300 11.48800 diff --git a/examples/QUANTUM/LATTE/in.ch4 b/examples/QUANTUM/LATTE/in.ch4 new file mode 100644 index 0000000000..e90d4a44bf --- /dev/null +++ b/examples/QUANTUM/LATTE/in.ch4 @@ -0,0 +1,39 @@ +# simple CH4 model with LATTE + +units metal +atom_style full + +read_data data.ch4 + +# replicate system if requested + +variable x index 1 +variable y index 1 +variable z index 1 + +variable nrep equal v_x*v_y*v_z +if "${nrep} > 1" then "replicate $x $y $z" + +# initialize system + +velocity all create 0.0 87287 loop geom + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.00025 + +fix 1 all nve + +fix 2 all mdi/qm virial yes elements C H +fix_modify 2 energy yes + +thermo_style custom step temp pe etotal press + +# dynamics + +thermo 10 +run 100 diff --git a/examples/QUANTUM/LATTE/in.ch4.plugin b/examples/QUANTUM/LATTE/in.ch4.plugin new file mode 100644 index 0000000000..9de95a30bc --- /dev/null +++ b/examples/QUANTUM/LATTE/in.ch4.plugin @@ -0,0 +1,41 @@ +# simple CH4 model with LATTE + +units metal +atom_style full + +read_data data.ch4 + +# replicate system if requested + +variable x index 1 +variable y index 1 +variable z index 1 + +variable nrep equal v_x*v_y*v_z +if "${nrep} > 1" then "replicate $x $y $z" + +# initialize system + +velocity all create 0.0 87287 loop geom + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.00025 + +fix 1 all nve + +fix 2 all mdi/qm virial yes elements C H +fix_modify 2 energy yes + +thermo_style custom step temp pe etotal press + +# dynamics + +thermo 10 + +mdi plugin latte_mdi mdi "-role ENGINE -name LATTE -method LINK" & + extra latte.in.generic command "run 100" diff --git a/examples/QUANTUM/LATTE/in.graphene b/examples/QUANTUM/LATTE/in.graphene new file mode 100644 index 0000000000..d7a9e565e2 --- /dev/null +++ b/examples/QUANTUM/LATTE/in.graphene @@ -0,0 +1,39 @@ +# graphene model with LATTE + +units metal +atom_style full + +read_data data.graphene + +# replicate system if requested + +variable x index 1 +variable y index 1 +variable z index 1 + +variable nrep equal v_x*v_y*v_z +if "${nrep} > 1" then "replicate $x $y $z" + +# initialize system + +velocity all create 100.0 87287 loop geom + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.00025 + +fix 1 all nve + +fix 2 all mdi/qm virial yes elements C +fix_modify 2 energy yes + +thermo_style custom step temp pe etotal press + +# dynamics + +thermo 5 +run 20 diff --git a/examples/QUANTUM/LATTE/in.graphene.plugin b/examples/QUANTUM/LATTE/in.graphene.plugin new file mode 100644 index 0000000000..d253566d97 --- /dev/null +++ b/examples/QUANTUM/LATTE/in.graphene.plugin @@ -0,0 +1,41 @@ +# graphene model with LATTE + +units metal +atom_style full + +read_data data.graphene + +# replicate system if requested + +variable x index 1 +variable y index 1 +variable z index 1 + +variable nrep equal v_x*v_y*v_z +if "${nrep} > 1" then "replicate $x $y $z" + +# initialize system + +velocity all create 100.0 87287 loop geom + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.00025 + +fix 1 all nve + +fix 2 all mdi/qm virial yes elements C +fix_modify 2 energy yes + +thermo_style custom step temp pe etotal press + +# dynamics + +thermo 5 + +mdi plugin latte_mdi mdi "-role ENGINE -name LATTE -method LINK" & + extra latte.in.generic command "run 20" diff --git a/examples/QUANTUM/LATTE/in.series b/examples/QUANTUM/LATTE/in.series index 734dc9fa94..4dc5fcbb1b 100644 --- a/examples/QUANTUM/LATTE/in.series +++ b/examples/QUANTUM/LATTE/in.series @@ -9,7 +9,6 @@ label LOOP units metal atom_style full - atom_modify sort 0 0.0 read_data data.${files} diff --git a/examples/QUANTUM/LATTE/in.series.plugin b/examples/QUANTUM/LATTE/in.series.plugin index 5219a9de37..419cdd1972 100644 --- a/examples/QUANTUM/LATTE/in.series.plugin +++ b/examples/QUANTUM/LATTE/in.series.plugin @@ -7,7 +7,6 @@ label LOOP units metal atom_style full - atom_modify sort 0 0.0 read_data data.${files} diff --git a/examples/QUANTUM/LATTE/in.sucrose b/examples/QUANTUM/LATTE/in.sucrose new file mode 100644 index 0000000000..99431a77eb --- /dev/null +++ b/examples/QUANTUM/LATTE/in.sucrose @@ -0,0 +1,39 @@ +# sucrose model with LATTE + +units metal +atom_style full + +read_data data.sucrose + +# replicate system if requested + +variable x index 1 +variable y index 1 +variable z index 1 + +variable nrep equal v_x*v_y*v_z +if "${nrep} > 1" then "replicate $x $y $z" + +# initialize system + +velocity all create 100.0 87287 loop geom + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.00025 + +fix 1 all nve + +fix 2 all mdi/qm virial yes elements O C H +fix_modify 2 energy yes + +thermo_style custom step temp pe etotal press + +# dynamics + +thermo 10 +run 100 diff --git a/examples/QUANTUM/LATTE/in.sucrose.plugin b/examples/QUANTUM/LATTE/in.sucrose.plugin new file mode 100644 index 0000000000..bcc9f9b51e --- /dev/null +++ b/examples/QUANTUM/LATTE/in.sucrose.plugin @@ -0,0 +1,41 @@ +# sucrose model with LATTE + +units metal +atom_style full + +read_data data.sucrose + +# replicate system if requested + +variable x index 1 +variable y index 1 +variable z index 1 + +variable nrep equal v_x*v_y*v_z +if "${nrep} > 1" then "replicate $x $y $z" + +# initialize system + +velocity all create 100.0 87287 loop geom + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.00025 + +fix 1 all nve + +fix 2 all mdi/qm virial yes elements O C H +fix_modify 2 energy yes + +thermo_style custom step temp pe etotal press + +# dynamics + +thermo 10 + +mdi plugin latte_mdi mdi "-role ENGINE -name LATTE -method LINK" & + extra latte.in.generic command "run 100" diff --git a/examples/QUANTUM/LATTE/in.uo2 b/examples/QUANTUM/LATTE/in.uo2 index b4920b391c..a074ad846e 100644 --- a/examples/QUANTUM/LATTE/in.uo2 +++ b/examples/QUANTUM/LATTE/in.uo2 @@ -2,7 +2,6 @@ units metal atom_style full -atom_modify sort 0 0.0 read_data data.2uo2 @@ -18,7 +17,7 @@ fix 1 all nve fix 2 all mdi/qm virial yes elements U O thermo_style custom step temp pe etotal press -thermo 1 +thermo 5 #dump 1 all custom 1 dump.aimd.mpi & # id type x y z vx vy vz fx fy fz diff --git a/examples/QUANTUM/LATTE/in.uo2.plugin b/examples/QUANTUM/LATTE/in.uo2.plugin index 02f6f4d415..b5e81a937d 100644 --- a/examples/QUANTUM/LATTE/in.uo2.plugin +++ b/examples/QUANTUM/LATTE/in.uo2.plugin @@ -1,8 +1,7 @@ -# AIMD test of two UO2 molecules with LATTE in MDI plugin mode +# AIMD test of two UO2 molecules with LATTE in MDI stand-alone mode units metal atom_style full -atom_modify sort 0 0.0 read_data data.2uo2 @@ -18,9 +17,9 @@ fix 1 all nve fix 2 all mdi/qm virial yes elements U O thermo_style custom step temp pe etotal press -thermo 1 +thermo 5 -#dump 1 all custom 1 dump.aimd.plugin & +#dump 1 all custom 1 dump.aimd.mpi & # id type x y z vx vy vz fx fy fz mdi plugin latte_mdi mdi "-role ENGINE -name LATTE -method LINK" & diff --git a/examples/QUANTUM/LATTE/in.water b/examples/QUANTUM/LATTE/in.water index ed26a87553..ce434fe46e 100644 --- a/examples/QUANTUM/LATTE/in.water +++ b/examples/QUANTUM/LATTE/in.water @@ -2,7 +2,6 @@ units metal atom_style full -atom_modify sort 0 0.0 # turn off sorting of the coordinates read_data data.water @@ -30,7 +29,6 @@ timestep 0.00025 fix 1 all nve fix 2 all mdi/qm virial yes elements O H -#fix 2 all latte fix_modify 2 energy yes thermo_style custom step temp pe etotal press diff --git a/examples/QUANTUM/LATTE/in.water.min b/examples/QUANTUM/LATTE/in.water.min new file mode 100644 index 0000000000..8d0427cf1a --- /dev/null +++ b/examples/QUANTUM/LATTE/in.water.min @@ -0,0 +1,39 @@ +# minimize water model with LATTE and FIRE + +units metal +atom_style full + +read_data data.water + +# replicate system if requested + +variable x index 1 +variable y index 1 +variable z index 1 + +variable nrep equal v_x*v_y*v_z +if "${nrep} > 1" then "replicate $x $y $z" + +# initialize system + +velocity all create 0.0 87287 loop geom + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify every 1 delay 0 check yes + +fix 1 all nve + +fix 2 all mdi/qm virial yes elements O H +fix_modify 2 energy yes + +thermo_style custom step temp pe etotal press + +# minimization + +thermo 10 + +min_style fire +minimize 1.0e-4 1.0e-4 500 500 diff --git a/examples/QUANTUM/LATTE/in.water.min.plugin b/examples/QUANTUM/LATTE/in.water.min.plugin new file mode 100644 index 0000000000..4cdb2233b6 --- /dev/null +++ b/examples/QUANTUM/LATTE/in.water.min.plugin @@ -0,0 +1,41 @@ +# minimize water model with LATTE and FIRE + +units metal +atom_style full + +read_data data.water + +# replicate system if requested + +variable x index 1 +variable y index 1 +variable z index 1 + +variable nrep equal v_x*v_y*v_z +if "${nrep} > 1" then "replicate $x $y $z" + +# initialize system + +velocity all create 0.0 87287 loop geom + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify every 1 delay 0 check yes + +fix 1 all nve + +fix 2 all mdi/qm virial yes elements O H +fix_modify 2 energy yes + +thermo_style custom step temp pe etotal press + +# minimization + +thermo 10 + +min_style fire + +mdi plugin latte_mdi mdi "-role ENGINE -name LATTE -method LINK" & + extra latte.in.water command "minimize 1.0e-4 1.0e-4 500 500" diff --git a/examples/QUANTUM/LATTE/in.water.plugin b/examples/QUANTUM/LATTE/in.water.plugin index db388deee1..44c69a3b03 100644 --- a/examples/QUANTUM/LATTE/in.water.plugin +++ b/examples/QUANTUM/LATTE/in.water.plugin @@ -2,7 +2,6 @@ units metal atom_style full -atom_modify sort 0 0.0 # turn off sorting of the coordinates read_data data.water diff --git a/examples/QUANTUM/LATTE/latte.in.generic b/examples/QUANTUM/LATTE/latte.in.generic new file mode 100644 index 0000000000..04bdc7d719 --- /dev/null +++ b/examples/QUANTUM/LATTE/latte.in.generic @@ -0,0 +1,32 @@ +LATTE INPUT FILE +================ +#This input file resumes the content of MDcontroller and TBparam/control.in +#The parser will only read it is present inside the running folder. +#In case this file is not present Latte will read the two files as original. +#The order of the keywords is not important in this file. +#To get a full description of these keywords please see: +## https://github.com/lanl/LATTE/blob/master/Manual/LATTE_manual.pdf + +#General controls +CONTROL{ + XCONTROL= 1 + BASISTYPE= NONORTHO + PARAMPATH= "./TBparam_generic" + KBT= 0.0 + ENTROPYKIND= 1 + PPOTON= 1 + SPINON= 0 SPINTOL= 1.0e-4 + ELECTRO= 1 ELECMETH= 0 ELEC_QTOL= 1.0e-8 + MAXSCF= 450 + BREAKTOL= 1.0E-6 MINSP2ITER= 22 SP2CONV= REL + FULLQCONV= 1 QITER= 3 + QMIX= 0.25 SPINMIX= 0.25 MDMIX= 0.25 + SPARSEON= 0 THRESHOLDON= 1 NUMTHRESH= 1.0e-6 FILLINSTOP= 100 BLKSZ= 4 + MSPARSE= 1500 + SKIN= 1.0 + CHARGE= 0 + XBO= 1 + XBODISON= 1 + XBODISORDER= 5 + KON= 0 +} diff --git a/examples/QUANTUM/LATTE/latte.in.uo2 b/examples/QUANTUM/LATTE/latte.in.uo2 index 0d0725f3ed..eeb5f7633b 100755 --- a/examples/QUANTUM/LATTE/latte.in.uo2 +++ b/examples/QUANTUM/LATTE/latte.in.uo2 @@ -12,7 +12,7 @@ CONTROL{ ENTROPYKIND= 1 PPOTON= 2 VDWON= 0 SPINON= 0 SPINTOL= 1.0e-4 - ELECTRO= 1 ELECMETH= 0 ELEC_ETOL= 0.001 ELEC_QTOL= 1.0e-12 + ELECTRO= 1 ELECMETH= 0 ELEC_ETOL= 0.001 ELEC_QTOL= 1.0e-5 COULACC= 1.0e-6 COULCUT= -500.0 COULR1= 500.0 MAXSCF= 250 BREAKTOL= 1.0E-12 MINSP2ITER= 22 SP2CONV= REL diff --git a/examples/QUANTUM/LATTE/log.8Feb23.ch4.mpi.1 b/examples/QUANTUM/LATTE/log.8Feb23.ch4.mpi.1 new file mode 100644 index 0000000000..bf3edde763 --- /dev/null +++ b/examples/QUANTUM/LATTE/log.8Feb23.ch4.mpi.1 @@ -0,0 +1,109 @@ +LAMMPS (22 Dec 2022) +# simple CH4 model with LATTE + +units metal +atom_style full + +read_data data.ch4 +Reading data file ... + triclinic box = (0 0 0) to (19.523 12.758 11.692) with tilt (0 0 0) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 5 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.002 seconds + +# replicate system if requested + +variable x index 1 +variable y index 1 +variable z index 1 + +variable nrep equal v_x*v_y*v_z +if "${nrep} > 1" then "replicate $x $y $z" + +# initialize system + +velocity all create 0.0 87287 loop geom + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.00025 + +fix 1 all nve + +fix 2 all mdi/qm virial yes elements C H +fix_modify 2 energy yes + +thermo_style custom step temp pe etotal press + +# dynamics + +thermo 10 +run 100 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 20 13 12 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton/tri + stencil: half/bin/3d/tri + bin: standard +Per MPI rank memory allocation (min/avg/max) = 6.027 | 6.027 | 6.027 Mbytes + Step Temp PotEng TotEng Press + 0 0 -23.980353 -23.980353 348.02718 + 10 19.123151 -23.990297 -23.98041 18.774333 + 20 0.32743246 -23.980525 -23.980355 -336.7411 + 30 18.229142 -23.989832 -23.980407 -72.30124 + 40 1.3944306 -23.981078 -23.980357 335.25084 + 50 17.34967 -23.989376 -23.980405 109.38135 + 60 2.7948439 -23.981807 -23.980362 -313.70127 + 70 14.957352 -23.98813 -23.980397 -157.44458 + 80 5.1636049 -23.983039 -23.980369 297.94883 + 90 13.368191 -23.987306 -23.980394 192.91153 + 100 7.0848846 -23.984037 -23.980374 -269.0214 +Loop time of 0.206985 on 1 procs for 100 steps with 5 atoms + +Performance: 10.436 ns/day, 2.300 hours/ns, 483.127 timesteps/s, 2.416 katom-step/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 3.489e-06 | 3.489e-06 | 3.489e-06 | 0.0 | 0.00 +Bond | 2.248e-06 | 2.248e-06 | 2.248e-06 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 1.0075e-05 | 1.0075e-05 | 1.0075e-05 | 0.0 | 0.00 +Output | 3.7574e-05 | 3.7574e-05 | 3.7574e-05 | 0.0 | 0.02 +Modify | 0.20692 | 0.20692 | 0.20692 | 0.0 | 99.97 +Other | | 1.617e-05 | | | 0.01 + +Nlocal: 5 ave 5 max 5 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 7 ave 7 max 7 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 10 ave 10 max 10 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 10 +Ave neighs/atom = 2 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/QUANTUM/LATTE/log.8Feb23.ch4.plugin.1 b/examples/QUANTUM/LATTE/log.8Feb23.ch4.plugin.1 new file mode 100644 index 0000000000..0ea57e1475 --- /dev/null +++ b/examples/QUANTUM/LATTE/log.8Feb23.ch4.plugin.1 @@ -0,0 +1,111 @@ +LAMMPS (22 Dec 2022) +# simple CH4 model with LATTE + +units metal +atom_style full + +read_data data.ch4 +Reading data file ... + triclinic box = (0 0 0) to (19.523 12.758 11.692) with tilt (0 0 0) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 5 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.004 seconds + +# replicate system if requested + +variable x index 1 +variable y index 1 +variable z index 1 + +variable nrep equal v_x*v_y*v_z +if "${nrep} > 1" then "replicate $x $y $z" + +# initialize system + +velocity all create 0.0 87287 loop geom + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.00025 + +fix 1 all nve + +fix 2 all mdi/qm virial yes elements C H +fix_modify 2 energy yes + +thermo_style custom step temp pe etotal press + +# dynamics + +thermo 10 + +mdi plugin latte_mdi mdi "-role ENGINE -name LATTE -method LINK" extra latte.in.generic command "run 100" +run 100 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 20 13 12 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton/tri + stencil: half/bin/3d/tri + bin: standard +Per MPI rank memory allocation (min/avg/max) = 6.027 | 6.027 | 6.027 Mbytes + Step Temp PotEng TotEng Press + 0 0 -23.980353 -23.980353 348.02718 + 10 19.123151 -23.990297 -23.98041 18.774333 + 20 0.32743246 -23.980525 -23.980355 -336.7411 + 30 18.229142 -23.989832 -23.980407 -72.30124 + 40 1.3944306 -23.981078 -23.980357 335.25084 + 50 17.34967 -23.989376 -23.980405 109.38135 + 60 2.7948439 -23.981807 -23.980362 -313.70127 + 70 14.957352 -23.98813 -23.980397 -157.44458 + 80 5.1636049 -23.983039 -23.980369 297.94883 + 90 13.368191 -23.987306 -23.980394 192.91153 + 100 7.0848846 -23.984037 -23.980374 -269.0214 +Loop time of 0.136887 on 1 procs for 100 steps with 5 atoms + +Performance: 15.779 ns/day, 1.521 hours/ns, 730.528 timesteps/s, 3.653 katom-step/s +161.9% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 9.73e-06 | 9.73e-06 | 9.73e-06 | 0.0 | 0.01 +Bond | 3.788e-06 | 3.788e-06 | 3.788e-06 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 2.8569e-05 | 2.8569e-05 | 2.8569e-05 | 0.0 | 0.02 +Output | 9.5789e-05 | 9.5789e-05 | 9.5789e-05 | 0.0 | 0.07 +Modify | 0.1367 | 0.1367 | 0.1367 | 0.0 | 99.86 +Other | | 4.791e-05 | | | 0.03 + +Nlocal: 5 ave 5 max 5 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 7 ave 7 max 7 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 10 ave 10 max 10 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 10 +Ave neighs/atom = 2 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/QUANTUM/LATTE/log.8Feb23.graphene.mpi.1 b/examples/QUANTUM/LATTE/log.8Feb23.graphene.mpi.1 new file mode 100644 index 0000000000..db90ce1c67 --- /dev/null +++ b/examples/QUANTUM/LATTE/log.8Feb23.graphene.mpi.1 @@ -0,0 +1,103 @@ +LAMMPS (22 Dec 2022) +# graphene model with LATTE + +units metal +atom_style full + +read_data data.graphene +Reading data file ... + triclinic box = (0 0 0) to (10 8 20) with tilt (4.8985872e-16 1.2246468e-15 1.2246468e-15) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 32 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.002 seconds + +# replicate system if requested + +variable x index 1 +variable y index 1 +variable z index 1 + +variable nrep equal v_x*v_y*v_z +if "${nrep} > 1" then "replicate $x $y $z" + +# initialize system + +velocity all create 100.0 87287 loop geom + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.00025 + +fix 1 all nve + +fix 2 all mdi/qm virial yes elements C +fix_modify 2 energy yes + +thermo_style custom step temp pe etotal press + +# dynamics + +thermo 5 +run 20 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 11 9 20 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton/tri + stencil: half/bin/3d/tri + bin: standard +Per MPI rank memory allocation (min/avg/max) = 6.03 | 6.03 | 6.03 Mbytes + Step Temp PotEng TotEng Press + 0 100 -247.46002 -247.05931 63327.854 + 5 826.57726 -250.37499 -247.06284 62186.684 + 10 2683.9104 -257.82775 -247.07314 59699.92 + 15 4697.8879 -265.91019 -247.08545 57703.843 + 20 5758.1468 -270.16276 -247.0895 57792.304 +Loop time of 3.05205 on 1 procs for 20 steps with 32 atoms + +Performance: 0.142 ns/day, 169.558 hours/ns, 6.553 timesteps/s, 209.695 atom-step/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 5.69e-06 | 5.69e-06 | 5.69e-06 | 0.0 | 0.00 +Bond | 9.35e-07 | 9.35e-07 | 9.35e-07 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 1.3983e-05 | 1.3983e-05 | 1.3983e-05 | 0.0 | 0.00 +Output | 3.6243e-05 | 3.6243e-05 | 3.6243e-05 | 0.0 | 0.00 +Modify | 3.052 | 3.052 | 3.052 | 0.0 |100.00 +Other | | 1.742e-05 | | | 0.00 + +Nlocal: 32 ave 32 max 32 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 100 ave 100 max 100 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 48 ave 48 max 48 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 48 +Ave neighs/atom = 1.5 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:03 diff --git a/examples/QUANTUM/LATTE/log.8Feb23.graphene.plugin.1 b/examples/QUANTUM/LATTE/log.8Feb23.graphene.plugin.1 new file mode 100644 index 0000000000..86f4bc7c37 --- /dev/null +++ b/examples/QUANTUM/LATTE/log.8Feb23.graphene.plugin.1 @@ -0,0 +1,105 @@ +LAMMPS (22 Dec 2022) +# graphene model with LATTE + +units metal +atom_style full + +read_data data.graphene +Reading data file ... + triclinic box = (0 0 0) to (10 8 20) with tilt (4.8985872e-16 1.2246468e-15 1.2246468e-15) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 32 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.004 seconds + +# replicate system if requested + +variable x index 1 +variable y index 1 +variable z index 1 + +variable nrep equal v_x*v_y*v_z +if "${nrep} > 1" then "replicate $x $y $z" + +# initialize system + +velocity all create 100.0 87287 loop geom + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.00025 + +fix 1 all nve + +fix 2 all mdi/qm virial yes elements C +fix_modify 2 energy yes + +thermo_style custom step temp pe etotal press + +# dynamics + +thermo 5 + +mdi plugin latte_mdi mdi "-role ENGINE -name LATTE -method LINK" extra latte.in.generic command "run 20" +run 20 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 11 9 20 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton/tri + stencil: half/bin/3d/tri + bin: standard +Per MPI rank memory allocation (min/avg/max) = 6.03 | 6.03 | 6.03 Mbytes + Step Temp PotEng TotEng Press + 0 100 -247.46002 -247.05931 63327.854 + 5 826.57726 -250.37499 -247.06284 62186.684 + 10 2683.9104 -257.82775 -247.07314 59699.92 + 15 4697.8879 -265.91019 -247.08545 57703.843 + 20 5758.1468 -270.16276 -247.0895 57792.304 +Loop time of 4.91692 on 1 procs for 20 steps with 32 atoms + +Performance: 0.088 ns/day, 273.162 hours/ns, 4.068 timesteps/s, 130.163 atom-step/s +564.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.2813e-05 | 1.2813e-05 | 1.2813e-05 | 0.0 | 0.00 +Bond | 2.863e-06 | 2.863e-06 | 2.863e-06 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 4.143e-05 | 4.143e-05 | 4.143e-05 | 0.0 | 0.00 +Output | 0.047766 | 0.047766 | 0.047766 | 0.0 | 0.97 +Modify | 4.869 | 4.869 | 4.869 | 0.0 | 99.03 +Other | | 6.209e-05 | | | 0.00 + +Nlocal: 32 ave 32 max 32 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 100 ave 100 max 100 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 48 ave 48 max 48 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 48 +Ave neighs/atom = 1.5 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:05 diff --git a/examples/QUANTUM/LATTE/log.8Feb23.series.mpi.1 b/examples/QUANTUM/LATTE/log.8Feb23.series.mpi.1 new file mode 100644 index 0000000000..60d60388fe --- /dev/null +++ b/examples/QUANTUM/LATTE/log.8Feb23.series.mpi.1 @@ -0,0 +1,231 @@ +LAMMPS (22 Dec 2022) +# Series of single-point calcs of 2,3,4 UO2 molecules +# with LATTE in MDI stand-alone mode + +variable files index 2uo2 3uo2 4uo2 + +mdi connect + +label LOOP + + units metal + atom_style full + + read_data data.${files} + read_data data.2uo2 +Reading data file ... + triclinic box = (0 0 0) to (10.8 5.4 5.4) with tilt (3.3065464e-16 3.3065464e-16 3.3065464e-16) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 6 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.002 seconds + + neighbor 0.3 bin + neigh_modify every 1 delay 0 check yes + + timestep 0.001 + + fix 1 all mdi/qm virial yes elements U O connect no + + thermo_style custom step temp pe etotal press + thermo 1 + + run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +Per MPI rank memory allocation (min/avg/max) = 5.238 | 5.238 | 5.238 Mbytes + Step Temp PotEng TotEng Press + 0 0 -50.539026 -50.539026 -120855.18 +Loop time of 2.54e-07 on 1 procs for 0 steps with 6 atoms + +0.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 2.54e-07 | | |100.00 + +Nlocal: 6 ave 6 max 6 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 2 ave 2 max 2 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + #write_dump all custom dump.series.mpi.${files} # id type x y z fx fy fz modify sort id + + clear + +next files + +jump SELF LOOP + + units metal + atom_style full + + read_data data.${files} + read_data data.3uo2 +Reading data file ... + triclinic box = (0 0 0) to (16.2 5.4 5.4) with tilt (3.3065464e-16 3.3065464e-16 3.3065464e-16) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 9 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.001 seconds + + neighbor 0.3 bin + neigh_modify every 1 delay 0 check yes + + timestep 0.001 + + fix 1 all mdi/qm virial yes elements U O connect no + + thermo_style custom step temp pe etotal press + thermo 1 + + run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +Per MPI rank memory allocation (min/avg/max) = 5.238 | 5.238 | 5.238 Mbytes + Step Temp PotEng TotEng Press + 0 0 -78.155585 -78.155585 -99929.253 +Loop time of 3.78e-07 on 1 procs for 0 steps with 9 atoms + +264.6% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 3.78e-07 | | |100.00 + +Nlocal: 9 ave 9 max 9 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 3 ave 3 max 3 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + #write_dump all custom dump.series.mpi.${files} # id type x y z fx fy fz modify sort id + + clear + +next files + +jump SELF LOOP + + units metal + atom_style full + + read_data data.${files} + read_data data.4uo2 +Reading data file ... + triclinic box = (0 0 0) to (10.8 10.8 5.4) with tilt (6.6130927e-16 3.3065464e-16 3.3065464e-16) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 12 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.001 seconds + + neighbor 0.3 bin + neigh_modify every 1 delay 0 check yes + + timestep 0.001 + + fix 1 all mdi/qm virial yes elements U O connect no + + thermo_style custom step temp pe etotal press + thermo 1 + + run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +Per MPI rank memory allocation (min/avg/max) = 5.238 | 5.238 | 5.238 Mbytes + Step Temp PotEng TotEng Press + 0 0 -102.35715 -102.35715 -31036.694 +Loop time of 4.53e-07 on 1 procs for 0 steps with 12 atoms + +220.8% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 4.53e-07 | | |100.00 + +Nlocal: 12 ave 12 max 12 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 5 ave 5 max 5 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + #write_dump all custom dump.series.mpi.${files} # id type x y z fx fy fz modify sort id + + clear + +next files + +jump SELF LOOP + +mdi exit +Total wall time: 0:00:00 diff --git a/examples/QUANTUM/LATTE/log.8Feb23.series.plugin.1 b/examples/QUANTUM/LATTE/log.8Feb23.series.plugin.1 new file mode 100644 index 0000000000..0dbffdfe17 --- /dev/null +++ b/examples/QUANTUM/LATTE/log.8Feb23.series.plugin.1 @@ -0,0 +1,227 @@ +LAMMPS (22 Dec 2022) +# Series of single-point calcs of 2,3,4 UO2 molecules +# with LATTE in MDI plugin mode + +variable files index 2uo2 3uo2 4uo2 + +label LOOP + + units metal + atom_style full + + read_data data.${files} + read_data data.2uo2 +Reading data file ... + triclinic box = (0 0 0) to (10.8 5.4 5.4) with tilt (3.3065464e-16 3.3065464e-16 3.3065464e-16) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 6 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + + neighbor 0.3 bin + neigh_modify every 1 delay 0 check yes + + fix 1 all mdi/qm virial yes elements U O + fix_modify 1 energy yes + + thermo_style custom step temp pe etotal press + thermo 1 + + mdi plugin latte_mdi mdi "-role ENGINE -name LATTE -method LINK" extra latte.in.uo2 command "run 0" +run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +Per MPI rank memory allocation (min/avg/max) = 5.238 | 5.238 | 5.238 Mbytes + Step Temp PotEng TotEng Press + 0 0 -50.539026 -50.539026 -120855.18 +Loop time of 7.62e-07 on 1 procs for 0 steps with 6 atoms + +524.9% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 7.62e-07 | | |100.00 + +Nlocal: 6 ave 6 max 6 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 2 ave 2 max 2 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + #write_dump all custom dump.series.plugin.${files} # id type x y z fx fy fz modify sort id + + clear + +next files + +jump SELF LOOP + + units metal + atom_style full + + read_data data.${files} + read_data data.3uo2 +Reading data file ... + triclinic box = (0 0 0) to (16.2 5.4 5.4) with tilt (3.3065464e-16 3.3065464e-16 3.3065464e-16) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 9 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.001 seconds + + neighbor 0.3 bin + neigh_modify every 1 delay 0 check yes + + fix 1 all mdi/qm virial yes elements U O + fix_modify 1 energy yes + + thermo_style custom step temp pe etotal press + thermo 1 + + mdi plugin latte_mdi mdi "-role ENGINE -name LATTE -method LINK" extra latte.in.uo2 command "run 0" +run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +Per MPI rank memory allocation (min/avg/max) = 5.238 | 5.238 | 5.238 Mbytes + Step Temp PotEng TotEng Press + 0 0 -78.155585 -78.155585 -99929.253 +Loop time of 6.86e-07 on 1 procs for 0 steps with 9 atoms + +583.1% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 6.86e-07 | | |100.00 + +Nlocal: 9 ave 9 max 9 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 3 ave 3 max 3 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + #write_dump all custom dump.series.plugin.${files} # id type x y z fx fy fz modify sort id + + clear + +next files + +jump SELF LOOP + + units metal + atom_style full + + read_data data.${files} + read_data data.4uo2 +Reading data file ... + triclinic box = (0 0 0) to (10.8 10.8 5.4) with tilt (6.6130927e-16 3.3065464e-16 3.3065464e-16) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 12 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.001 seconds + + neighbor 0.3 bin + neigh_modify every 1 delay 0 check yes + + fix 1 all mdi/qm virial yes elements U O + fix_modify 1 energy yes + + thermo_style custom step temp pe etotal press + thermo 1 + + mdi plugin latte_mdi mdi "-role ENGINE -name LATTE -method LINK" extra latte.in.uo2 command "run 0" +run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +Per MPI rank memory allocation (min/avg/max) = 5.238 | 5.238 | 5.238 Mbytes + Step Temp PotEng TotEng Press + 0 0 -102.35715 -102.35715 -31036.694 +Loop time of 9.07e-07 on 1 procs for 0 steps with 12 atoms + +882.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 9.07e-07 | | |100.00 + +Nlocal: 12 ave 12 max 12 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 5 ave 5 max 5 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + #write_dump all custom dump.series.plugin.${files} # id type x y z fx fy fz modify sort id + + clear + +next files + +jump SELF LOOP +Total wall time: 0:00:00 diff --git a/examples/QUANTUM/LATTE/log.8Feb23.sucrose.mpi.1 b/examples/QUANTUM/LATTE/log.8Feb23.sucrose.mpi.1 new file mode 100644 index 0000000000..259ea8c5fd --- /dev/null +++ b/examples/QUANTUM/LATTE/log.8Feb23.sucrose.mpi.1 @@ -0,0 +1,109 @@ +LAMMPS (22 Dec 2022) +# sucrose model with LATTE + +units metal +atom_style full + +read_data data.sucrose +Reading data file ... + orthogonal box = (0 0 0) to (17.203 18.009 21.643) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 45 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.001 seconds + +# replicate system if requested + +variable x index 1 +variable y index 1 +variable z index 1 + +variable nrep equal v_x*v_y*v_z +if "${nrep} > 1" then "replicate $x $y $z" + +# initialize system + +velocity all create 100.0 87287 loop geom + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.00025 + +fix 1 all nve + +fix 2 all mdi/qm virial yes elements O C H +fix_modify 2 energy yes + +thermo_style custom step temp pe etotal press + +# dynamics + +thermo 10 +run 100 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 18 19 22 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 6.055 | 6.055 | 6.055 Mbytes + Step Temp PotEng TotEng Press + 0 100 -251.26616 -250.69742 107.21668 + 10 66.857941 -251.07691 -250.69666 -492.79612 + 20 59.63791 -251.03635 -250.69717 -248.43262 + 30 37.423913 -250.90951 -250.69666 188.29378 + 40 58.409162 -251.0293 -250.6971 -237.97667 + 50 59.243304 -251.0339 -250.69695 -638.8034 + 60 52.981345 -250.99824 -250.69691 -316.59797 + 70 43.705344 -250.9456 -250.69703 85.920691 + 80 38.818553 -250.91757 -250.69679 -13.26722 + 90 53.942805 -251.00391 -250.69711 -245.17309 + 100 49.969604 -250.98104 -250.69684 -243.79969 +Loop time of 16.5307 on 1 procs for 100 steps with 45 atoms + +Performance: 0.131 ns/day, 183.675 hours/ns, 6.049 timesteps/s, 272.220 atom-step/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.8626e-05 | 1.8626e-05 | 1.8626e-05 | 0.0 | 0.00 +Bond | 5.206e-06 | 5.206e-06 | 5.206e-06 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 1.3114e-05 | 1.3114e-05 | 1.3114e-05 | 0.0 | 0.00 +Output | 0.00013326 | 0.00013326 | 0.00013326 | 0.0 | 0.00 +Modify | 16.531 | 16.531 | 16.531 | 0.0 |100.00 +Other | | 6.971e-05 | | | 0.00 + +Nlocal: 45 ave 45 max 45 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 59 ave 59 max 59 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 59 +Ave neighs/atom = 1.3111111 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:16 diff --git a/examples/QUANTUM/LATTE/log.8Feb23.sucrose.plugin.1 b/examples/QUANTUM/LATTE/log.8Feb23.sucrose.plugin.1 new file mode 100644 index 0000000000..9890641f54 --- /dev/null +++ b/examples/QUANTUM/LATTE/log.8Feb23.sucrose.plugin.1 @@ -0,0 +1,111 @@ +LAMMPS (22 Dec 2022) +# sucrose model with LATTE + +units metal +atom_style full + +read_data data.sucrose +Reading data file ... + orthogonal box = (0 0 0) to (17.203 18.009 21.643) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 45 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +# replicate system if requested + +variable x index 1 +variable y index 1 +variable z index 1 + +variable nrep equal v_x*v_y*v_z +if "${nrep} > 1" then "replicate $x $y $z" + +# initialize system + +velocity all create 100.0 87287 loop geom + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.00025 + +fix 1 all nve + +fix 2 all mdi/qm virial yes elements O C H +fix_modify 2 energy yes + +thermo_style custom step temp pe etotal press + +# dynamics + +thermo 10 + +mdi plugin latte_mdi mdi "-role ENGINE -name LATTE -method LINK" extra latte.in.generic command "run 100" +run 100 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 18 19 22 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 6.055 | 6.055 | 6.055 Mbytes + Step Temp PotEng TotEng Press + 0 100 -251.26616 -250.69742 107.21668 + 10 66.857941 -251.07691 -250.69666 -492.79612 + 20 59.63791 -251.03635 -250.69717 -248.43262 + 30 37.423913 -250.90951 -250.69666 188.29378 + 40 58.409162 -251.0293 -250.6971 -237.97667 + 50 59.243304 -251.0339 -250.69695 -638.8034 + 60 52.981345 -250.99824 -250.69691 -316.59797 + 70 43.705344 -250.9456 -250.69703 85.920691 + 80 38.818553 -250.91757 -250.69679 -13.26722 + 90 53.942805 -251.00391 -250.69711 -245.17309 + 100 49.969604 -250.98104 -250.69684 -243.79969 +Loop time of 26.8476 on 1 procs for 100 steps with 45 atoms + +Performance: 0.080 ns/day, 298.306 hours/ns, 3.725 timesteps/s, 167.613 atom-step/s +553.3% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 6.7375e-05 | 6.7375e-05 | 6.7375e-05 | 0.0 | 0.00 +Bond | 1.8658e-05 | 1.8658e-05 | 1.8658e-05 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 8.5578e-05 | 8.5578e-05 | 8.5578e-05 | 0.0 | 0.00 +Output | 0.099643 | 0.099643 | 0.099643 | 0.0 | 0.37 +Modify | 26.747 | 26.747 | 26.747 | 0.0 | 99.63 +Other | | 0.0003245 | | | 0.00 + +Nlocal: 45 ave 45 max 45 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 59 ave 59 max 59 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 59 +Ave neighs/atom = 1.3111111 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:27 diff --git a/examples/QUANTUM/LATTE/log.8Feb23.uo2.mpi.1 b/examples/QUANTUM/LATTE/log.8Feb23.uo2.mpi.1 new file mode 100644 index 0000000000..478e789292 --- /dev/null +++ b/examples/QUANTUM/LATTE/log.8Feb23.uo2.mpi.1 @@ -0,0 +1,77 @@ +LAMMPS (22 Dec 2022) +# AIMD test of two UO2 molecules with LATTE in MDI stand-alone mode + +units metal +atom_style full + +read_data data.2uo2 +Reading data file ... + triclinic box = (0 0 0) to (10.8 5.4 5.4) with tilt (3.3065464e-16 3.3065464e-16 3.3065464e-16) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 6 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.002 seconds + +velocity all create 300.0 87287 loop geom + +neighbor 1.0 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.00025 + +fix 1 all nve + +fix 2 all mdi/qm virial yes elements U O + +thermo_style custom step temp pe etotal press +thermo 5 + +#dump 1 all custom 1 dump.aimd.mpi # id type x y z vx vy vz fx fy fz + +run 20 +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +Per MPI rank memory allocation (min/avg/max) = 5.238 | 5.238 | 5.238 Mbytes + Step Temp PotEng TotEng Press + 0 300 -50.539026 -50.345136 -120197.58 + 5 349.9977 -50.576715 -50.350511 -119686.74 + 10 428.81071 -50.636477 -50.359336 -118824.24 + 15 532.96198 -50.716083 -50.371629 -117598.48 + 20 657.59195 -50.812448 -50.387446 -115993.96 +Loop time of 0.685388 on 1 procs for 20 steps with 6 atoms + +Performance: 0.630 ns/day, 38.077 hours/ns, 29.181 timesteps/s, 175.083 atom-step/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 5.62e-07 | 5.62e-07 | 5.62e-07 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 3.734e-06 | 3.734e-06 | 3.734e-06 | 0.0 | 0.00 +Output | 2.4426e-05 | 2.4426e-05 | 2.4426e-05 | 0.0 | 0.00 +Modify | 0.68535 | 0.68535 | 0.68535 | 0.0 |100.00 +Other | | 5.523e-06 | | | 0.00 + +Nlocal: 6 ave 6 max 6 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 2 ave 2 max 2 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/QUANTUM/LATTE/log.8Feb23.uo2.plugin.1 b/examples/QUANTUM/LATTE/log.8Feb23.uo2.plugin.1 new file mode 100644 index 0000000000..1071aaf011 --- /dev/null +++ b/examples/QUANTUM/LATTE/log.8Feb23.uo2.plugin.1 @@ -0,0 +1,78 @@ +LAMMPS (22 Dec 2022) +# AIMD test of two UO2 molecules with LATTE in MDI stand-alone mode + +units metal +atom_style full + +read_data data.2uo2 +Reading data file ... + triclinic box = (0 0 0) to (10.8 5.4 5.4) with tilt (3.3065464e-16 3.3065464e-16 3.3065464e-16) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 6 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +velocity all create 300.0 87287 loop geom + +neighbor 1.0 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.00025 + +fix 1 all nve + +fix 2 all mdi/qm virial yes elements U O + +thermo_style custom step temp pe etotal press +thermo 5 + +#dump 1 all custom 1 dump.aimd.mpi # id type x y z vx vy vz fx fy fz + +mdi plugin latte_mdi mdi "-role ENGINE -name LATTE -method LINK" extra latte.in.uo2 command "run 20" +run 20 +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) +Per MPI rank memory allocation (min/avg/max) = 5.238 | 5.238 | 5.238 Mbytes + Step Temp PotEng TotEng Press + 0 300 -50.539026 -50.345136 -120197.58 + 5 349.9977 -50.576715 -50.350511 -119686.74 + 10 428.81071 -50.636477 -50.359336 -118824.24 + 15 532.96198 -50.716083 -50.371629 -117598.48 + 20 657.59195 -50.812448 -50.387446 -115993.96 +Loop time of 0.493269 on 1 procs for 20 steps with 6 atoms + +Performance: 0.876 ns/day, 27.404 hours/ns, 40.546 timesteps/s, 243.275 atom-step/s +326.9% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 2.061e-06 | 2.061e-06 | 2.061e-06 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 1.411e-05 | 1.411e-05 | 1.411e-05 | 0.0 | 0.00 +Output | 5.6957e-05 | 5.6957e-05 | 5.6957e-05 | 0.0 | 0.01 +Modify | 0.49316 | 0.49316 | 0.49316 | 0.0 | 99.98 +Other | | 3.15e-05 | | | 0.01 + +Nlocal: 6 ave 6 max 6 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 2 ave 2 max 2 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/QUANTUM/LATTE/log.8Feb23.water.min.mpi.1 b/examples/QUANTUM/LATTE/log.8Feb23.water.min.mpi.1 new file mode 100644 index 0000000000..bf8336e353 --- /dev/null +++ b/examples/QUANTUM/LATTE/log.8Feb23.water.min.mpi.1 @@ -0,0 +1,118 @@ +LAMMPS (22 Dec 2022) +# minimize water model with LATTE and FIRE + +units metal +atom_style full + +read_data data.water +Reading data file ... + orthogonal box = (0 0 0) to (6.267 6.267 6.267) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 24 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.001 seconds + +# replicate system if requested + +variable x index 1 +variable y index 1 +variable z index 1 + +variable nrep equal v_x*v_y*v_z +if "${nrep} > 1" then "replicate $x $y $z" + +# initialize system + +velocity all create 0.0 87287 loop geom + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify every 1 delay 0 check yes + +fix 1 all nve + +fix 2 all mdi/qm virial yes elements O H +fix_modify 2 energy yes + +thermo_style custom step temp pe etotal press + +# minimization + +thermo 10 + +min_style fire +minimize 1.0e-4 1.0e-4 500 500 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 7 7 7 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + Parameters for fire: + dmax delaystep dtgrow dtshrink alpha0 alphashrink tmax tmin integrator halfstepback abcfire + 0.1 20 1.1 0.5 0.25 0.99 10 0.02 eulerimplicit yes no +Per MPI rank memory allocation (min/avg/max) = 6.005 | 6.005 | 6.005 Mbytes + Step Temp PotEng TotEng Press + 0 0 0 0 0 + 10 899.1524 -108.14682 -105.47365 73033.936 + 20 1939.7634 -109.75294 -103.98606 40647.182 + 30 4.831893 -110.23114 -110.21677 5660.776 + 40 50.735819 -110.29132 -110.14048 4890.8986 + 50 153.92 -110.3956 -109.938 5046.3911 + 60 3.0178397 -110.52031 -110.51134 1964.2114 + 70 26.161763 -110.55445 -110.47667 1839.5114 + 78 69.53487 -110.60152 -110.39479 2086.0227 +Loop time of 3.38506 on 1 procs for 78 steps with 24 atoms + +100.0% CPU use with 1 MPI tasks x no OpenMP threads + +Minimization stats: + Stopping criterion = energy tolerance + Energy initial, next-to-last, final = + 0 -110.594257523513 -110.601518955915 + Force two-norm initial, final = 0 0.28249145 + Force max component initial, final = 0 0.096323097 + Final line search alpha, max atom move = 0 0 + Iterations, force evaluations = 78 81 + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 7.116e-06 | 7.116e-06 | 7.116e-06 | 0.0 | 0.00 +Bond | 2.222e-06 | 2.222e-06 | 2.222e-06 | 0.0 | 0.00 +Neigh | 1.7255e-05 | 1.7255e-05 | 1.7255e-05 | 0.0 | 0.00 +Comm | 4.8011e-05 | 4.8011e-05 | 4.8011e-05 | 0.0 | 0.00 +Output | 4.5107e-05 | 4.5107e-05 | 4.5107e-05 | 0.0 | 0.00 +Modify | 3.3849 | 3.3849 | 3.3849 | 0.0 | 99.99 +Other | | 6.706e-05 | | | 0.00 + +Nlocal: 24 ave 24 max 24 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 75 ave 75 max 75 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 26 ave 26 max 26 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 26 +Ave neighs/atom = 1.0833333 +Ave special neighs/atom = 0 +Neighbor list builds = 2 +Dangerous builds = 0 +Total wall time: 0:00:03 diff --git a/examples/QUANTUM/LATTE/log.8Feb23.water.min.plugin.1 b/examples/QUANTUM/LATTE/log.8Feb23.water.min.plugin.1 new file mode 100644 index 0000000000..afe59f36da --- /dev/null +++ b/examples/QUANTUM/LATTE/log.8Feb23.water.min.plugin.1 @@ -0,0 +1,120 @@ +LAMMPS (22 Dec 2022) +# minimize water model with LATTE and FIRE + +units metal +atom_style full + +read_data data.water +Reading data file ... + orthogonal box = (0 0 0) to (6.267 6.267 6.267) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 24 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.001 seconds + +# replicate system if requested + +variable x index 1 +variable y index 1 +variable z index 1 + +variable nrep equal v_x*v_y*v_z +if "${nrep} > 1" then "replicate $x $y $z" + +# initialize system + +velocity all create 0.0 87287 loop geom + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify every 1 delay 0 check yes + +fix 1 all nve + +fix 2 all mdi/qm virial yes elements O H +fix_modify 2 energy yes + +thermo_style custom step temp pe etotal press + +# minimization + +thermo 10 + +min_style fire + +mdi plugin latte_mdi mdi "-role ENGINE -name LATTE -method LINK" extra latte.in.water command "minimize 1.0e-4 1.0e-4 500 500" +minimize 1.0e-4 1.0e-4 500 500 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 7 7 7 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + Parameters for fire: + dmax delaystep dtgrow dtshrink alpha0 alphashrink tmax tmin integrator halfstepback abcfire + 0.1 20 1.1 0.5 0.25 0.99 10 0.02 eulerimplicit yes no +Per MPI rank memory allocation (min/avg/max) = 6.005 | 6.005 | 6.005 Mbytes + Step Temp PotEng TotEng Press + 0 0 0 0 0 + 10 899.1524 -108.14682 -105.47365 73033.936 + 20 1939.7634 -109.75294 -103.98606 40647.182 + 30 4.831893 -110.23114 -110.21677 5660.776 + 40 50.735819 -110.29132 -110.14048 4890.8986 + 50 153.92 -110.3956 -109.938 5046.3911 + 60 3.0178397 -110.52031 -110.51134 1964.2114 + 70 26.161763 -110.55445 -110.47667 1839.5114 + 78 69.53487 -110.60152 -110.39479 2086.0227 +Loop time of 2.7873 on 1 procs for 78 steps with 24 atoms + +381.8% CPU use with 1 MPI tasks x no OpenMP threads + +Minimization stats: + Stopping criterion = energy tolerance + Energy initial, next-to-last, final = + 0 -110.594257523513 -110.601518955916 + Force two-norm initial, final = 0 0.28249145 + Force max component initial, final = 0 0.096323097 + Final line search alpha, max atom move = 0 0 + Iterations, force evaluations = 78 81 + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 2.5459e-05 | 2.5459e-05 | 2.5459e-05 | 0.0 | 0.00 +Bond | 6.18e-06 | 6.18e-06 | 6.18e-06 | 0.0 | 0.00 +Neigh | 2.0887e-05 | 2.0887e-05 | 2.0887e-05 | 0.0 | 0.00 +Comm | 8.5176e-05 | 8.5176e-05 | 8.5176e-05 | 0.0 | 0.00 +Output | 9.412e-05 | 9.412e-05 | 9.412e-05 | 0.0 | 0.00 +Modify | 2.7869 | 2.7869 | 2.7869 | 0.0 | 99.98 +Other | | 0.0002202 | | | 0.01 + +Nlocal: 24 ave 24 max 24 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 75 ave 75 max 75 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 26 ave 26 max 26 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 26 +Ave neighs/atom = 1.0833333 +Ave special neighs/atom = 0 +Neighbor list builds = 2 +Dangerous builds = 0 +Total wall time: 0:00:02 diff --git a/examples/QUANTUM/LATTE/log.8Feb23.water.mpi.1 b/examples/QUANTUM/LATTE/log.8Feb23.water.mpi.1 new file mode 100644 index 0000000000..8712cd1da3 --- /dev/null +++ b/examples/QUANTUM/LATTE/log.8Feb23.water.mpi.1 @@ -0,0 +1,109 @@ +LAMMPS (22 Dec 2022) +# simple water model with LATTE + +units metal +atom_style full + +read_data data.water +Reading data file ... + orthogonal box = (0 0 0) to (6.267 6.267 6.267) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 24 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.002 seconds + +# replicate system if requested + +variable x index 1 +variable y index 1 +variable z index 1 + +variable nrep equal v_x*v_y*v_z +if "${nrep} > 1" then "replicate $x $y $z" + +# initialize system + +velocity all create 0.0 87287 loop geom + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.00025 + +fix 1 all nve + +fix 2 all mdi/qm virial yes elements O H +fix_modify 2 energy yes + +thermo_style custom step temp pe etotal press + +# dynamics + +thermo 10 +run 100 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 7 7 7 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 6.005 | 6.005 | 6.005 Mbytes + Step Temp PotEng TotEng Press + 0 0 -104.95596 -104.95596 48235.444 + 10 336.53106 -105.96027 -104.95977 97996.851 + 20 529.06409 -106.53023 -104.95733 131519.85 + 30 753.62603 -107.19952 -104.959 49296.662 + 40 716.65647 -107.08803 -104.95742 28307.122 + 50 824.04393 -107.40823 -104.95836 102167.59 + 60 933.56146 -107.73479 -104.95933 92508.518 + 70 851.18489 -107.48767 -104.95711 13993.264 + 80 999.80278 -107.93147 -104.95907 36700.735 + 90 998.77487 -107.9257 -104.95636 107233.54 + 100 1281.4438 -108.76963 -104.95992 49702.389 +Loop time of 3.33625 on 1 procs for 100 steps with 24 atoms + +Performance: 0.647 ns/day, 37.069 hours/ns, 29.974 timesteps/s, 719.370 atom-step/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 6.741e-06 | 6.741e-06 | 6.741e-06 | 0.0 | 0.00 +Bond | 2.864e-06 | 2.864e-06 | 2.864e-06 | 0.0 | 0.00 +Neigh | 1.816e-05 | 1.816e-05 | 1.816e-05 | 0.0 | 0.00 +Comm | 7.144e-05 | 7.144e-05 | 7.144e-05 | 0.0 | 0.00 +Output | 5.3539e-05 | 5.3539e-05 | 5.3539e-05 | 0.0 | 0.00 +Modify | 3.3361 | 3.3361 | 3.3361 | 0.0 | 99.99 +Other | | 2.634e-05 | | | 0.00 + +Nlocal: 24 ave 24 max 24 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 77 ave 77 max 77 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 31 ave 31 max 31 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 31 +Ave neighs/atom = 1.2916667 +Ave special neighs/atom = 0 +Neighbor list builds = 2 +Dangerous builds = 0 +Total wall time: 0:00:03 diff --git a/examples/QUANTUM/LATTE/log.8Feb23.water.plugin.1 b/examples/QUANTUM/LATTE/log.8Feb23.water.plugin.1 new file mode 100644 index 0000000000..4e102d1b41 --- /dev/null +++ b/examples/QUANTUM/LATTE/log.8Feb23.water.plugin.1 @@ -0,0 +1,111 @@ +LAMMPS (22 Dec 2022) +# simple water model with LATTE + +units metal +atom_style full + +read_data data.water +Reading data file ... + orthogonal box = (0 0 0) to (6.267 6.267 6.267) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 24 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.002 seconds + +# replicate system if requested + +variable x index 1 +variable y index 1 +variable z index 1 + +variable nrep equal v_x*v_y*v_z +if "${nrep} > 1" then "replicate $x $y $z" + +# initialize system + +velocity all create 0.0 87287 loop geom + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.00025 + +fix 1 all nve + +fix 2 all mdi/qm virial yes elements O H +fix_modify 2 energy yes + +thermo_style custom step temp pe etotal press + +# dynamics + +thermo 10 + +mdi plugin latte_mdi mdi "-role ENGINE -name LATTE -method LINK" extra latte.in.water command "run 100" +run 100 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 7 7 7 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 6.005 | 6.005 | 6.005 Mbytes + Step Temp PotEng TotEng Press + 0 0 -104.95596 -104.95596 48235.444 + 10 336.53106 -105.96027 -104.95977 97996.851 + 20 529.06409 -106.53023 -104.95733 131519.85 + 30 753.62603 -107.19952 -104.959 49296.662 + 40 716.65647 -107.08803 -104.95742 28307.122 + 50 824.04393 -107.40823 -104.95836 102167.59 + 60 933.56146 -107.73479 -104.95933 92508.518 + 70 851.18489 -107.48767 -104.95711 13993.264 + 80 999.80278 -107.93147 -104.95907 36700.735 + 90 998.77487 -107.9257 -104.95636 107233.54 + 100 1281.4438 -108.76963 -104.95992 49702.389 +Loop time of 3.97845 on 1 procs for 100 steps with 24 atoms + +Performance: 0.543 ns/day, 44.205 hours/ns, 25.135 timesteps/s, 603.251 atom-step/s +369.4% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 2.8286e-05 | 2.8286e-05 | 2.8286e-05 | 0.0 | 0.00 +Bond | 7.551e-06 | 7.551e-06 | 7.551e-06 | 0.0 | 0.00 +Neigh | 2.2321e-05 | 2.2321e-05 | 2.2321e-05 | 0.0 | 0.00 +Comm | 0.00013151 | 0.00013151 | 0.00013151 | 0.0 | 0.00 +Output | 0.00016294 | 0.00016294 | 0.00016294 | 0.0 | 0.00 +Modify | 3.9779 | 3.9779 | 3.9779 | 0.0 | 99.99 +Other | | 0.000173 | | | 0.00 + +Nlocal: 24 ave 24 max 24 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 77 ave 77 max 77 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 31 ave 31 max 31 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 31 +Ave neighs/atom = 1.2916667 +Ave special neighs/atom = 0 +Neighbor list builds = 2 +Dangerous builds = 0 +Total wall time: 0:00:04 diff --git a/src/MDI/Install.sh b/src/MDI/Install.sh index 804e66be5e..8cef614a30 100755 --- a/src/MDI/Install.sh +++ b/src/MDI/Install.sh @@ -57,6 +57,8 @@ include ..\/..\/lib\/mdi\/Makefile.lammps fi + touch ../main.cpp # b/c it uses LMP_MDI + elif (test $1 = 0) then if (test -e ../Makefile.package) then @@ -68,4 +70,6 @@ elif (test $1 = 0) then sed -i -e '/^[ \t]*include.*mdi.*$/d' ../Makefile.package.settings fi + touch ../main.cpp # b/c it uses LMP_MDI + fi diff --git a/src/lammps.cpp b/src/lammps.cpp index faf91ff0c2..1c7d12f79c 100644 --- a/src/lammps.cpp +++ b/src/lammps.cpp @@ -957,6 +957,7 @@ void LAMMPS::destroy() #if defined(LMP_PLUGIN) plugin_clear(this); #endif + delete update; update = nullptr; From 2cd32d7e76e8fa1695a61913eab35f715699f8ef Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 8 Feb 2023 12:54:34 -0700 Subject: [PATCH 087/448] clean up --- examples/QUANTUM/QE/README | 63 -------------- examples/QUANTUM/QE/data.water.qe.aimd | 92 --------------------- examples/QUANTUM/QE/in.qe.water | 63 -------------- examples/QUANTUM/QE/in.water.qe.aimd | 38 --------- examples/QUANTUM/QE/in.water.qe.aimd.plugin | 40 --------- examples/QUANTUM/README | 10 +-- examples/README | 2 +- 7 files changed, 6 insertions(+), 302 deletions(-) delete mode 100644 examples/QUANTUM/QE/README delete mode 100644 examples/QUANTUM/QE/data.water.qe.aimd delete mode 100644 examples/QUANTUM/QE/in.qe.water delete mode 100644 examples/QUANTUM/QE/in.water.qe.aimd delete mode 100644 examples/QUANTUM/QE/in.water.qe.aimd.plugin diff --git a/examples/QUANTUM/QE/README b/examples/QUANTUM/QE/README deleted file mode 100644 index 4ebdff5ef9..0000000000 --- a/examples/QUANTUM/QE/README +++ /dev/null @@ -1,63 +0,0 @@ -# Test runs of QMMM with LAMMPS and Quantum Espress (QE) - -Step 1: build LAMMPS -Step 2: download/build QE with MDI support -Step 3: run test problem - ---------------------------------- ---------------------------------- - -Step 1: build LAMMPS - -The molecule and kspace packages are needed for the 2-water test -problem. Copy the final LAMMPS executable into the -examples/QUANTUM/PySCF directory. - -Traditional make: - -% cd ~/lammps/lib/mdi -% python Install.py -m mpi -% cd ~/lammps/src -% make yes-mdi yes-molecule yes-kspace -% make -j mpi -% cp lmp_mpi ~/lammps/examples/QUANTUM/QE - -CMake: - -% cd ~/lammps -% mkdir build; cd build -% cmake -D PKG_MDI=yes -D PKG_MOLECULE=yes -D PKG_KSPACE=yes ../cmake -% make -j -% cp lmp ~/lammps/examples/QUANTUM/QE/lmp_mpi - ---------------------------------- ---------------------------------- - -Step 2: download/build QE with MDI support - -% git clone --branch mdi_plugin https://github.com/MolSSI-MDI/q-e.git -% cd qe/git -% ./configure --enable-parallel --enable-openmp --enable-shared FFLAGS="-fPIC" FCFLAGS="-fPIC" CFLAGS="-fPIC" try_foxflags="-fPIC -cpp" -% make mdi - -copy MDI/src/qemdi.x to QUANTUM/QE - ---------------------------------- ---------------------------------- - -Step 3: run test problem - -% cd ~/lammps/examples/QUANTUM/QE - -# Run with TCP: 1 proc each - -% mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.test.qe.aimd.tcp.1 -in in.water.qe.aimd & -% qemdi.x -in in.qe.test -mdi "-name QE -role ENGINE -method TCP -port 8021 -hostname localhost" - -# Run with MPI: 1 proc each - -% mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.test.qe.aimd.mpi.1 -in in.water.qe.aimd : -np 1 qemdi.x -in in.qe.test -mdi "-name QE -role ENGINE -method MPI" - -# Run in plugin mode: 1 proc - -% mpirun -np 1 lmp_mpi -mdi "-role DRIVER -name driver -method LINK -plugin_path /home/sjplimp/qe/git/MDI/src" -log log.test.qe.aimd.plugin.1 -in in.test.qe.aimd.plugin diff --git a/examples/QUANTUM/QE/data.water.qe.aimd b/examples/QUANTUM/QE/data.water.qe.aimd deleted file mode 100644 index 21e8e6c5c8..0000000000 --- a/examples/QUANTUM/QE/data.water.qe.aimd +++ /dev/null @@ -1,92 +0,0 @@ -LAMMPS data file for water - -24 atoms -16 bonds -8 angles -0 dihedrals -0 impropers - -2 atom types -1 bond types -1 angle types -0 dihedral types -0 improper types - -0.0 4.9325 xlo xhi -0.0 4.9325 ylo yhi -0.0 4.9325 zlo zhi - -Masses - -1 15.9994 -2 1.008 - -Pair Coeffs - -1 0.102 3.188 -2 0.000 0.000 - -Bond Coeffs - -1 450 0.9572 - -Angle Coeffs - -1 55.0 104.52 - -Atoms - -1 0 1 -0.83400 2.17919 0.196156 4.15513 -2 0 2 0.41700 2.29785 4.8353 0.126003 -3 0 2 0.41700 1.82037 1.07996 4.23498 -4 0 1 -0.83400 4.65839 0.120414 0.305758 -5 0 2 0.41700 4.67446 -0.0220991 4.29186 -6 0 2 0.41700 4.28188 0.994196 0.410515 -7 0 1 -0.83400 3.65045 2.40907 0.344349 -8 0 2 0.41700 3.52052 2.1838 4.35565 -9 0 2 0.41700 4.26579 3.14208 0.327669 -10 0 1 -0.83400 1.21327 2.62177 4.15519 -11 0 2 0.41700 1.47452 3.53837 4.0667 -12 0 2 0.41700 1.20743 2.46396 0.16677 -13 0 1 -0.83400 4.45777 4.47325 2.74192 -14 0 2 0.41700 4.53396 4.49652 1.78804 -15 0 2 0.41700 4.21354 3.56943 2.94119 -16 0 1 -0.83400 2.04119 4.41585 1.64725 -17 0 2 0.41700 2.26934 4.77582 2.50434 -18 0 2 0.41700 1.69079 3.54574 1.83793 -19 0 1 -0.83400 3.73384 1.97964 2.81949 -20 0 2 0.41700 3.41083 2.22014 1.95113 -21 0 2 0.41700 3.91914 1.04272 2.75561 -22 0 1 -0.83400 1.20859 2.09853 1.68186 -23 0 2 0.41700 1.01865 2.25693 2.60655 -24 0 2 0.41700 1.16884 1.14674 1.58832 - -Bonds - -1 1 1 2 -2 1 1 3 -3 1 4 5 -4 1 4 6 -5 1 7 8 -6 1 7 9 -7 1 10 11 -8 1 10 12 -9 1 13 14 -10 1 13 15 -11 1 16 17 -12 1 16 18 -13 1 19 20 -14 1 19 21 -15 1 22 23 -16 1 22 24 - -Angles - -1 1 2 1 3 -2 1 5 4 6 -3 1 8 7 9 -4 1 11 10 12 -5 1 14 13 15 -6 1 17 16 18 -7 1 20 19 21 -8 1 23 22 24 diff --git a/examples/QUANTUM/QE/in.qe.water b/examples/QUANTUM/QE/in.qe.water deleted file mode 100644 index 61e23688e9..0000000000 --- a/examples/QUANTUM/QE/in.qe.water +++ /dev/null @@ -1,63 +0,0 @@ -&CONTROL -title="Test" -calculation='md', -restart_mode = 'from_scratch', -tprnfor=.t., -prefix='qe', -pseudo_dir='pseudo' -nstep = 1, -tqmmm = .true. -/ - -&SYSTEM -ibrav = 1, -celldm(1) = 9.321077825, -celldm(2) = 1., -celldm(3) = 1., -celldm(4) = 0., -celldm(5) = 0., -celldm(6) = 0., -nat = 24, -ntyp = 2, -ecutwfc = 80.0 , -/ - -&ELECTRONS -conv_thr = 1.D-6, -/ - -&IONS -ion_positions = 'default' -/ - -ATOMIC_SPECIES -O 16.0000 O.pbe-van_bm.UPF -H 1.0000 H.pbe-van_ak.UPF - -ATOMIC_POSITIONS angstrom -O 2.17919 0.196156 4.15513 -H 2.29785 4.8353 0.126003 -H 1.82037 1.07996 4.23498 -O 4.65839 0.120414 0.305758 -H 4.67446 -0.0220991 4.29186 -H 4.28188 0.994196 0.410515 -O 3.65045 2.40907 0.344349 -H 3.52052 2.1838 4.35565 -H 4.26579 3.14208 0.327669 -O 1.21327 2.62177 4.15519 -H 1.47452 3.53837 4.0667 -H 1.20743 2.46396 0.16677 -O 4.45777 4.47325 2.74192 -H 4.53396 4.49652 1.78804 -H 4.21354 3.56943 2.94119 -O 2.04119 4.41585 1.64725 -H 2.26934 4.77582 2.50434 -H 1.69079 3.54574 1.83793 -O 3.73384 1.97964 2.81949 -H 3.41083 2.22014 1.95113 -H 3.91914 1.04272 2.75561 -O 1.20859 2.09853 1.68186 -H 1.01865 2.25693 2.60655 -H 1.16884 1.14674 1.58832 - -K_POINTS gamma diff --git a/examples/QUANTUM/QE/in.water.qe.aimd b/examples/QUANTUM/QE/in.water.qe.aimd deleted file mode 100644 index dbd339f88c..0000000000 --- a/examples/QUANTUM/QE/in.water.qe.aimd +++ /dev/null @@ -1,38 +0,0 @@ -# AIMD for water with LAMMPS + QE - -units real -neigh_modify delay 0 every 1 check yes -atom_style full -bond_style harmonic -angle_style harmonic -pair_style lj/cut/coul/long 10.0 -pair_modify mix arithmetic -kspace_style pppm 1e-4 -special_bonds amber - -atom_modify sort 0 0 - -read_data data.water.qe.aimd - -timestep 1.0 - -#dump 1 all custom 1 dump.lammpstrj id element xu yu zu -#dump 2 all custom 1 dump.force id element fx fy fz -#dump 3 all xyz 1 dump.xyz -#dump_modify 1 element O H -#dump_modify 2 element O H - -thermo_style multi -thermo 1 - -# NVE -fix 1 all nve -# NPT -#fix 1 all npt temp 1.0 1.0 0.1 iso 1.0 1.0 1.0 - -fix 2 all mdi/qm virial yes - -thermo_style custom step temp pe etotal press vol -thermo 1 - -run 5 diff --git a/examples/QUANTUM/QE/in.water.qe.aimd.plugin b/examples/QUANTUM/QE/in.water.qe.aimd.plugin deleted file mode 100644 index 6d17b08a97..0000000000 --- a/examples/QUANTUM/QE/in.water.qe.aimd.plugin +++ /dev/null @@ -1,40 +0,0 @@ -# AIMD for water with LAMMPS + QE - -units real -neigh_modify delay 0 every 1 check yes -atom_style full -bond_style harmonic -angle_style harmonic -pair_style lj/cut/coul/long 10.0 -pair_modify mix arithmetic -kspace_style pppm 1e-4 -special_bonds amber - -atom_modify sort 0 0 - -read_data lammps.data - -timestep 1.0 - -#dump 1 all custom 1 dump.lammpstrj id element xu yu zu -#dump 2 all custom 1 dump.force id element fx fy fz -#dump 3 all xyz 1 dump.xyz -#dump_modify 1 element O H -#dump_modify 2 element O H - -thermo_style multi -thermo 1 - -# NVE -fix 1 all nve -# NPT -#fix 1 all npt temp 1.0 1.0 0.1 iso 1.0 1.0 1.0 - -fix 2 all mdi/qm virial yes - -thermo_style custom step temp pe etotal press vol -thermo 1 - -mdi plugin qemdi mdi "-role ENGINE -name QE -method LINK" & - extra "--in qe.in" & - command "run 5" diff --git a/examples/QUANTUM/README b/examples/QUANTUM/README index 7cc837423f..6a795e2134 100644 --- a/examples/QUANTUM/README +++ b/examples/QUANTUM/README @@ -5,20 +5,20 @@ LATTE = semi-empirical tight-binding code from LANL https://www.osti.gov/biblio/1526907-los-alamos-transferable-tight-binding-energetics-latte-version https://github.com/lanl/LATTE -PySCF = ??? from Caltech - add link - NWChem = computational chemistry code from PNNL focus here is on DFT portion of NWChem = PWDFT library https://www.nwchem-sw.org -Quantum Espresso (QE) = DFT code for materials modeling - https://www.quantum-espresso.org/ +PySCF = quantum chemistry code from Caltech + https://pyscf.org/index.html ----------------------------------------------------- To be added later (as of Feb 2023): +Quantum Espresso (QE) = DFT code for materials modeling + https://www.quantum-espresso.org + DFT-FE = real-space DFT code from U Michigan https://github.com/dftfeDevelopers/dftfe diff --git a/examples/README b/examples/README index 8a12d3fae4..bb4c6e759c 100644 --- a/examples/README +++ b/examples/README @@ -191,7 +191,7 @@ https://docs.lammps.org/Build_package.html page for more info about installing and building packages. The QUANTUM directory has examples of how to use LAMMPS in tandem with -several quantum codes. +several quantum codes via the MDI code coupling library. The TIP4P directory has an example for testing forces computed on a GPU. From 618e766d5fdfffc34da2463b38ea5e37bcb1d7be Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 8 Feb 2023 16:06:45 -0700 Subject: [PATCH 088/448] organize NWChem examples --- examples/QUANTUM/LATTE/README | 28 +- examples/QUANTUM/NWChem/README | 98 +- examples/QUANTUM/NWChem/in.series | 12 +- examples/QUANTUM/NWChem/in.series.plugin | 14 +- examples/QUANTUM/NWChem/in.water.qmmm.plugin | 4 +- .../QUANTUM/NWChem/in.zeolite.qmmm.plugin | 4 +- .../QUANTUM/NWChem/log.8Feb23.series.mpi.1 | 21 + .../QUANTUM/NWChem/log.8Feb23.series.plugin.1 | 19 + .../NWChem/log.8Feb23.series.plugin.w.bcc.1 | 67 + .../log.8Feb23.series.plugin.w.diamond.1 | 59 + .../NWChem/log.8Feb23.series.pwdft.mpi.1 | 725 ++++++++++ .../NWChem/log.8Feb23.series.pwdft.plugin.1 | 725 ++++++++++ .../QUANTUM/NWChem/log.8Feb23.series.w.bcc.1 | 66 + .../NWChem/log.8Feb23.series.w.diamond.1 | 60 + .../NWChem/log.8Feb23.water.pwdft.qmmm.mpi.2 | 1196 ++++++++++++++++ .../log.8Feb23.water.pwdft.qmmm.plugin.2 | 954 +++++++++++++ .../NWChem/log.8Feb23.water.qmmm.mpi.1 | 149 ++ .../NWChem/log.8Feb23.water.qmmm.plugin.2 | 151 ++ .../log.8Feb23.zeolite.pwdft.qmmm.mpi.8 | 1237 +++++++++++++++++ .../log.8Feb23.zeolite.pwdft.qmmm.plugin.8 | 1237 +++++++++++++++++ .../NWChem/log.8Feb23.zeolite.qmmm.mpi.1 | 166 +++ .../NWChem/log.8Feb23.zeolite.qmmm.plugin.8 | 169 +++ examples/QUANTUM/NWChem/nwchem_mdi.py | 26 +- 23 files changed, 7099 insertions(+), 88 deletions(-) create mode 100644 examples/QUANTUM/NWChem/log.8Feb23.series.mpi.1 create mode 100644 examples/QUANTUM/NWChem/log.8Feb23.series.plugin.1 create mode 100644 examples/QUANTUM/NWChem/log.8Feb23.series.plugin.w.bcc.1 create mode 100644 examples/QUANTUM/NWChem/log.8Feb23.series.plugin.w.diamond.1 create mode 100644 examples/QUANTUM/NWChem/log.8Feb23.series.pwdft.mpi.1 create mode 100644 examples/QUANTUM/NWChem/log.8Feb23.series.pwdft.plugin.1 create mode 100644 examples/QUANTUM/NWChem/log.8Feb23.series.w.bcc.1 create mode 100644 examples/QUANTUM/NWChem/log.8Feb23.series.w.diamond.1 create mode 100644 examples/QUANTUM/NWChem/log.8Feb23.water.pwdft.qmmm.mpi.2 create mode 100644 examples/QUANTUM/NWChem/log.8Feb23.water.pwdft.qmmm.plugin.2 create mode 100644 examples/QUANTUM/NWChem/log.8Feb23.water.qmmm.mpi.1 create mode 100644 examples/QUANTUM/NWChem/log.8Feb23.water.qmmm.plugin.2 create mode 100644 examples/QUANTUM/NWChem/log.8Feb23.zeolite.pwdft.qmmm.mpi.8 create mode 100644 examples/QUANTUM/NWChem/log.8Feb23.zeolite.pwdft.qmmm.plugin.8 create mode 100644 examples/QUANTUM/NWChem/log.8Feb23.zeolite.qmmm.mpi.1 create mode 100644 examples/QUANTUM/NWChem/log.8Feb23.zeolite.qmmm.plugin.8 diff --git a/examples/QUANTUM/LATTE/README b/examples/QUANTUM/LATTE/README index fce8a1d212..73c147ad07 100644 --- a/examples/QUANTUM/LATTE/README +++ b/examples/QUANTUM/LATTE/README @@ -1,17 +1,17 @@ -# Test runs of AIMD with LAMMPS and LATTE +# Test runs with coupling of LAMMPS and LATTE Step 1: build LAMMPS -Step 2: download/build the MDI code coupling package -Step 3: download/build or install LATTE -Step 4: run the water AIMD problem for a few steps +Step 2: download/build MDI code coupling package +Step 3: download/build LATTE +Step 4: perform test runs in any of 3 modes --------------------------------- --------------------------------- Step 1: build LAMMPS -The molecule package is needed. Copy the final LAMMPS executable into -the examples/QUANTUM/LATTE directory. +The MDI and molecule packags are needed. Copy the final LAMMPS +executable into the examples/QUANTUM/LATTE directory. Traditional make: @@ -60,6 +60,14 @@ For (t)csh: % setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/mdi/git % rehash +(d) Check import of 3 Python modules which the script that wraps LATTE +will need: + +% python +>>> import numpy as np +>>> from mpi4py import MPI +>>> import MDI_Library as mdi + --------------------------------- --------------------------------- @@ -75,7 +83,7 @@ Step 3: download/build LATTE % cd ~/latte/git % mkdir build; cd build % cmake -DBUILD_SHARED_LIBS=on ../cmake -% make +% make # should produce liblatte.so in build (c) Add a line like this to your ~/.bashrc or ~/.cshrc file so that the liblatte.so file can be found: @@ -104,7 +112,7 @@ in.sucrose = AIMD of sucrose molecule in.uo2 = two molecules of UO2 in.water = eight water molecules -** run 2 executables with TCP/IP, 1 proc each +** run LAMMPS and LATTE with TCP/IP, 1 proc each lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.water.tcp.1 -in in.water & python latte_mdi.py -mdi "-name LATTE -role ENGINE -method TCP -port 8021 -hostname localhost" latte.in.water @@ -115,7 +123,7 @@ python latte_mdi.py -mdi "-name LATTE -role ENGINE -method TCP -port 8021 -hostn lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.series.tcp.1 -in in.series & python latte_mdi.py -mdi "-name LATTE -role ENGINE -method TCP -port 8021 -hostname localhost" latte.in.uo2 -** run 2 executables with MPI, 1 proc each +** run LAMMPS and LATTE with MPI, 1 proc each mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.water.mpi.1 -in in.water : -np 1 python latte_mdi.py -mdi "-name LATTE -role ENGINE -method MPI" latte.in.water @@ -131,7 +139,7 @@ mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.graphene mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.series.mpi.1 -in in.series : -np 1 python latte_mdi.py -mdi "-name LATTE -role ENGINE -method MPI" latte.in.uo2 -** run LATTE as plugin MDI engine, on 1 proc +** run LATTE as plugin MDI engine, 1 proc lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/LATTE" -log log.water.plugin.1 -in in.water.plugin diff --git a/examples/QUANTUM/NWChem/README b/examples/QUANTUM/NWChem/README index fbacd54865..92a4e8e92a 100644 --- a/examples/QUANTUM/NWChem/README +++ b/examples/QUANTUM/NWChem/README @@ -1,18 +1,17 @@ -# Test runs of QMMM with LAMMPS and NWChem +# Test runs with coupling of LAMMPS and NWChem PWDFT Step 1: build LAMMPS -Step 2: download/build the MDI code coupling package +Step 2: download/build MDI code coupling package Step 3: download/build NWChem PWDFT -Step 4: run 2-water QMMM problem for a few steps +Step 4: perform test runs in any of 3 modes --------------------------------- --------------------------------- Step 1: build LAMMPS -The molecule package is needed for the 2-water test -problem. Copy the final LAMMPS executable into the -examples/QUANTUM/NWChem directory. +The MDI and molecule packags are needed. Copy the final LAMMPS +executable into the examples/QUANTUM/NWChem directory. Traditional make: @@ -27,16 +26,16 @@ CMake: % cd ~/lammps % mkdir build; cd build -% cmake -D PKG_MDI=yes -D PKG_MOLECULE=yes ../cmake +% cmake -DPKG_MDI=yes -DPKG_MOLECULE=yes ../cmake % make -j % cp lmp ~/lammps/examples/QUANTUM/NWChem/lmp_mpi --------------------------------- --------------------------------- -Step 2: install the MDI code coupling package +Step 2: download/build MDI code coupling package -(a) grab the MDI Git repo +(a) clone the MDI Git repo % mkdir mdi; cd mdi % git clone git@github.com:MolSSI-MDI/MDI_Library.git git @@ -48,8 +47,8 @@ Step 2: install the MDI code coupling package % cmake .. % make -j -(c) Add something similar to the following to your .bashrc or .cshrc -file so that Python can find MDI: +(c) Add a line like this to your ~/.bashrc or ~/.cshrc file so that +Python can find MDI: For bash: @@ -61,8 +60,8 @@ For (t)csh: % setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/mdi/git % rehash -(d) Check that you can import the 3 Python modules which the script -that wraps PySCF will need: +(d) Check import of 3 Python modules which the script that wraps +NWChem will need: % python >>> import numpy as np @@ -74,20 +73,20 @@ that wraps PySCF will need: Step 3: download/build NWChem PWDFT -(a) grab the PWDFT Git repo +(a) clone the PWDFT Git repo % mkdir nwchem; cd nwchem % git clone git@github.com:ebylaska/PWDFT.git PWDFT (b) build PWDFT -% cd nwchem/PWDFT +% cd ~/nwchem/PWDFT % cd build_library; rm -r * -% cmake ../Nwpw -DMAKE_LIBRARY=true -DCMAKE_POSITION_INDEPENDENT_CODE=ON +% cmake -DMAKE_LIBRARY=true -DCMAKE_POSITION_INDEPENDENT_CODE=ON ../Nwpw % make -j # should produce libpwdft.so in build_library -(c) Add something similar to the following to your .bashrc or .cshrc -file so that the Python wrapper script can find libpwdft.so: +(c) Add a line like this to your ~/.bashrc or !/.cshrc +file so that the libpwdft.so file can be found: For bash: @@ -102,56 +101,43 @@ For (t)csh: --------------------------------- --------------------------------- -Step 4: run the 2-water QMMM problem for a few steps +Step 4: perform test runs in any of 3 modes -% cd ~/lammps/examples/QUANTUM/NWChem +These tests are in lammps/examples/QUANTUM/NWChem -lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.water,qmmm.tcp.1 -in in.water.qmmm & +in.series = series of several W conformations +in.water.qmmm = QMMM of two-water system, one QM + 1 MM +in.zeolite.qmmm = QMMM of zeolite (MM0 with a methane (QM) molecule -python nwchem_mdi.py -mdi "-name NWChem -role ENGINE -method TCP -port 8021 -hostname localhost" template.water.nw water.dimer.nw log.water.pwdft.qmmm.tcp.1 +** run LAMMPS-only versions of water and zeolite problems -# Run with MPI: 1 proc each +lmp_mpi -log log.water.mm.1 < in.water.mm -mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.water.qmmm.mpi.1 -in in.water.qmmm : -np 1 python nwchem_mdi.py -mdi "-name NWChem -role ENGINE -method MPI" template.water.nw water.dimer.nw log.water.pwdft.qmmm.mpi.1 +lmp_mpi -log log.zeolite.mm.1 < in.zeolite.mm -# Run in plugin mode: 1 proc - -lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/NWChem" -log log.water.qmmm.plugin.1 -in in.water.qmmm.plugin - ---------------------------------- ---------------------------------- - -Step 5: run the zeolite/methane QMMM problem for a few steps - -% cd ~/lammps/examples/QUANTUM/NWChem - -lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.zeolite.qmmm.tcp.1 -in in.zeolite.qmmm & - -python nwchem_mdi.py -mdi "-name NWChem -role ENGINE -method TCP -port 8021 -hostname localhost" template.methane.nw methane.nw log.zeolite.pwdft.qmmm.tcp.1 - -# Run with MPI: 1 proc each - -mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.zeolite.qmmm.mpi.1 -in in.zeolite.qmmm : -np 1 python nwchem_mdi.py -mdi "-name NWChem -role ENGINE -method MPI" template.methane.nw methane.nw log.zeolite.pwdft.qmmm.mpi.1 - -# Run in plugin mode: 1 proc - -lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/NWChem" -log log.zeolite.qmmm.plugin.1 -in in.zeolite.qmmm.plugin - ---------------------------------- ---------------------------------- - -Step 6: run multiple W geometries - -% cd ~/lammps/examples/QUANTUM/NWChem +** run LAMMPS and PWDFT with TCP/IP, 1 or more procs each lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.series.tcp.1 -in in.series & - python nwchem_mdi.py -mdi "-name NWChem -role ENGINE -method TCP -port 8021 -hostname localhost" template.w.nw w.nw log.series.pwdft.tcp.1 -# Run with MPI: 1 proc each +lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.water.qmmm.tcp.1 -in in.water.qmmm & +mpirun -np 2 python nwchem_mdi.py -mdi "-name NWChem -role ENGINE -method TCP -port 8021 -hostname localhost" template.water.nw water.nw log.water.pwdft.qmmm.tcp.2 + +lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.zeolite.qmmm.tcp.1 -in in.zeolite.qmmm & +mpirun -np 8 python nwchem_mdi.py -mdi "-name NWChem -role ENGINE -method TCP -port 8021 -hostname localhost" template.methane.nw methane.nw log.zeolite.pwdft.qmmm.tcp.8 + +** run LAMMPS and PWDFT with MPI, 1 or more procs each mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.series.mpi.1 -in in.series : -np 1 python nwchem_mdi.py -mdi "-name NWChem -role ENGINE -method MPI" template.w.nw w.nw log.series.pwdft.mpi.1 -# Run in plugin mode: 1 proc +mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.water.qmmm.mpi.1 -in in.water.qmmm : -np 2 python nwchem_mdi.py -mdi "-name NWChem -role ENGINE -method MPI" template.water.nw water.nw log.water.pwdft.qmmm.mpi.2 + +mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.zeolite.qmmm.mpi.1 -in in.zeolite.qmmm : -np 8 python nwchem_mdi.py -mdi "-name NWChem -role ENGINE -method MPI" template.methane.nw methane.nw log.zeolite.pwdft.qmmm.mpi.8 + +** run PWDFT as plugin MDI engine, 1 or more procs lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/NWChem" -log log.series.plugin.1 -in in.series.plugin + +mpirun -np 2 lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/NWChem" -log log.water.qmmm.plugin.2 -in in.water.qmmm.plugin + +mpirun -np 8 lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/NWChem" -log log.zeolite.qmmm.plugin.8 -in in.zeolite.qmmm.plugin diff --git a/examples/QUANTUM/NWChem/in.series b/examples/QUANTUM/NWChem/in.series index 4eaa5ae186..93bb6c8ac0 100644 --- a/examples/QUANTUM/NWChem/in.series +++ b/examples/QUANTUM/NWChem/in.series @@ -1,6 +1,10 @@ # multiple W conformations with NWChem -variable datafile index data.w.bcc data.w.diamond +# NOTE: these files still need work with PWDFT +# w.bcc_222, w.fcc_001, w.sc_001 + +variable datafile index w.bcc w.diamond +variable p equal extract_setting(world_size) mdi connect @@ -11,9 +15,9 @@ label loop atom_modify map yes comm_modify cutoff 2.0 - log log.series.${datafile} + log log.series.${datafile}.$p - read_data ${datafile} + read_data data.${datafile} mass 1 183.84 @@ -23,7 +27,7 @@ label loop fix 1 all mdi/qm elements W connect no fix_modify 1 energy yes - dump 1 all custom 1 dump.series.${datafile} id x y z fx fy fz + #dump 1 all custom 1 dump.series.${datafile}.$p id x y z fx fy fz run 0 diff --git a/examples/QUANTUM/NWChem/in.series.plugin b/examples/QUANTUM/NWChem/in.series.plugin index 8dc1c5421b..07811314f7 100644 --- a/examples/QUANTUM/NWChem/in.series.plugin +++ b/examples/QUANTUM/NWChem/in.series.plugin @@ -1,6 +1,10 @@ # multiple W conformations with NWChem -variable datafile index data.w.bcc data.w.diamond +# NOTE: these files still need work with PWDFT +# w.bcc_222, w.fcc_001, w.sc_001 + +variable datafile index w.bcc w.diamond +variable p equal extract_setting(world_size) label loop @@ -9,9 +13,9 @@ label loop atom_modify map yes comm_modify cutoff 2.0 - log log.series.plugin.${datafile} + log log.series.plugin.${datafile}.$p - read_data ${datafile} + read_data data.${datafile} mass 1 183.84 @@ -21,10 +25,10 @@ label loop fix 1 all mdi/qm elements W fix_modify 1 energy yes - dump 1 all custom 1 dump.series.plugin.${datafile} id x y z fx fy fz + #dump 1 all custom 1 dump.series.plugin.${datafile} id x y z fx fy fz mdi plugin nwchem_mdi mdi "-role ENGINE -name LATTE -method LINK" & - extra "template.w.nw w.nw log.series.pwdft.plugin.1" & + extra "template.w.nw w.nw log.series.pwdft.plugin.$p" & command "run 0" clear diff --git a/examples/QUANTUM/NWChem/in.water.qmmm.plugin b/examples/QUANTUM/NWChem/in.water.qmmm.plugin index a9884bc8dc..60cbb99eda 100644 --- a/examples/QUANTUM/NWChem/in.water.qmmm.plugin +++ b/examples/QUANTUM/NWChem/in.water.qmmm.plugin @@ -56,6 +56,8 @@ thermo_style custom step cpu temp ke evdwl ecoul epair emol elong & f_2 pe etotal press thermo 1 +variable p equal extract_setting(world_size) + mdi plugin nwchem_mdi mdi "-role ENGINE -name NWChem -method LINK" & - extra "template.water.nw water.dimer.nw log.water.pwdft.qmmm.plugin.1" & + extra "template.water.nw water.dimer.nw log.water.pwdft.qmmm.plugin.$p" & command "run 1" diff --git a/examples/QUANTUM/NWChem/in.zeolite.qmmm.plugin b/examples/QUANTUM/NWChem/in.zeolite.qmmm.plugin index 11bdc688c6..2570ff63ad 100644 --- a/examples/QUANTUM/NWChem/in.zeolite.qmmm.plugin +++ b/examples/QUANTUM/NWChem/in.zeolite.qmmm.plugin @@ -67,6 +67,8 @@ thermo_style custom step cpu temp ke evdwl ecoul epair emol elong & f_2 pe etotal press thermo 1 +variable p equal extract_setting(world_size) + mdi plugin nwchem_mdi mdi "-role ENGINE -name NWChem -method LINK" & - extra "template.methane.nw methane.nw log.zeolite.pwdft.qmmm.plugin.1" & + extra "template.methane.nw methane.nw log.zeolite.pwdft.qmmm.plugin.$p" & command "run 2" diff --git a/examples/QUANTUM/NWChem/log.8Feb23.series.mpi.1 b/examples/QUANTUM/NWChem/log.8Feb23.series.mpi.1 new file mode 100644 index 0000000000..b5db3f12c6 --- /dev/null +++ b/examples/QUANTUM/NWChem/log.8Feb23.series.mpi.1 @@ -0,0 +1,21 @@ +LAMMPS (22 Dec 2022) +# multiple W conformations with NWChem + +# NOTE: these files still need work with PWDFT +# w.bcc_222, w.fcc_001, w.sc_001 + +variable datafile index w.bcc w.diamond +variable p equal extract_setting(world_size) + +mdi connect + +label loop + + units metal + atom_style atomic + atom_modify map yes + comm_modify cutoff 2.0 + + log log.series.${datafile}.$p + log log.series.w.bcc.$p + log log.series.w.bcc.1 diff --git a/examples/QUANTUM/NWChem/log.8Feb23.series.plugin.1 b/examples/QUANTUM/NWChem/log.8Feb23.series.plugin.1 new file mode 100644 index 0000000000..d643c985de --- /dev/null +++ b/examples/QUANTUM/NWChem/log.8Feb23.series.plugin.1 @@ -0,0 +1,19 @@ +LAMMPS (22 Dec 2022) +# multiple W conformations with NWChem + +# NOTE: these files still need work with PWDFT +# w.bcc_222, w.fcc_001, w.sc_001 + +variable datafile index w.bcc w.diamond +variable p equal extract_setting(world_size) + +label loop + + units metal + atom_style atomic + atom_modify map yes + comm_modify cutoff 2.0 + + log log.series.plugin.${datafile}.$p + log log.series.plugin.w.bcc.$p + log log.series.plugin.w.bcc.1 diff --git a/examples/QUANTUM/NWChem/log.8Feb23.series.plugin.w.bcc.1 b/examples/QUANTUM/NWChem/log.8Feb23.series.plugin.w.bcc.1 new file mode 100644 index 0000000000..0e8b76f345 --- /dev/null +++ b/examples/QUANTUM/NWChem/log.8Feb23.series.plugin.w.bcc.1 @@ -0,0 +1,67 @@ + + read_data data.${datafile} + read_data data.w.bcc +Reading data file ... + orthogonal box = (0 0 0) to (3.1654062 3.1654062 3.1654062) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 2 atoms + read_data CPU = 0.001 seconds + + mass 1 183.84 + + neighbor 1.0 bin + neigh_modify delay 0 every 1 check yes + + fix 1 all mdi/qm elements W + fix_modify 1 energy yes + + #dump 1 all custom 1 dump.series.plugin.${datafile} id x y z fx fy fz + + mdi plugin nwchem_mdi mdi "-role ENGINE -name LATTE -method LINK" extra "template.w.nw w.nw log.series.pwdft.plugin.$p" command "run 0" +run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) +Per MPI rank memory allocation (min/avg/max) = 2.301 | 2.301 | 2.301 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0 0 0 -577.92971 2.3613806e-305 +Loop time of 8.46e-07 on 1 procs for 0 steps with 2 atoms + +118.2% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 8.46e-07 | | |100.00 + +Nlocal: 2 ave 2 max 2 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 33 ave 33 max 33 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + clear + +next datafile + +jump SELF loop + + units metal + atom_style atomic + atom_modify map yes + comm_modify cutoff 2.0 + + log log.series.plugin.${datafile}.$p + log log.series.plugin.w.diamond.$p + log log.series.plugin.w.diamond.1 diff --git a/examples/QUANTUM/NWChem/log.8Feb23.series.plugin.w.diamond.1 b/examples/QUANTUM/NWChem/log.8Feb23.series.plugin.w.diamond.1 new file mode 100644 index 0000000000..4604c76cd4 --- /dev/null +++ b/examples/QUANTUM/NWChem/log.8Feb23.series.plugin.w.diamond.1 @@ -0,0 +1,59 @@ + + read_data data.${datafile} + read_data data.w.diamond +Reading data file ... + orthogonal box = (0 0 0) to (2.8200564 2.8200564 3.988162) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 4 atoms + read_data CPU = 0.000 seconds + + mass 1 183.84 + + neighbor 1.0 bin + neigh_modify delay 0 every 1 check yes + + fix 1 all mdi/qm elements W + fix_modify 1 energy yes + + #dump 1 all custom 1 dump.series.plugin.${datafile} id x y z fx fy fz + + mdi plugin nwchem_mdi mdi "-role ENGINE -name LATTE -method LINK" extra "template.w.nw w.nw log.series.pwdft.plugin.$p" command "run 0" +run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) +Per MPI rank memory allocation (min/avg/max) = 2.301 | 2.301 | 2.301 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0 0 0 -1052.9159 2.3613806e-305 +Loop time of 5.96e-07 on 1 procs for 0 steps with 4 atoms + +167.8% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 5.96e-07 | | |100.00 + +Nlocal: 4 ave 4 max 4 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 55 ave 55 max 55 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + clear + +next datafile + +jump SELF loop +Total wall time: 0:00:00 diff --git a/examples/QUANTUM/NWChem/log.8Feb23.series.pwdft.mpi.1 b/examples/QUANTUM/NWChem/log.8Feb23.series.pwdft.mpi.1 new file mode 100644 index 0000000000..90e2458ed3 --- /dev/null +++ b/examples/QUANTUM/NWChem/log.8Feb23.series.pwdft.mpi.1 @@ -0,0 +1,725 @@ + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Wed Feb 8 15:54:30 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + generating random psi from scratch + Warning - Gram-Schmidt being performed on psi2 + - exact norm = 12 norm=12.4399 corrected norm=12 (error=0.439878) + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.532 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 2 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.99088 2.99088 2.99088 ) - atomic mass = 183.951 + G.C. ( 1.49544 1.49544 1.49544 ) + C.O.M. ( 1.49544 1.49544 1.49544 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 6 ( 6 per task) down = 6 ( 6 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.982 0.000 0.000 > + a2 = < 0.000 5.982 0.000 > + a3 = < 0.000 0.000 5.982 > + reciprocal: b1 = < 1.050 0.000 0.000 > + b2 = < 0.000 1.050 0.000 > + b3 = < 0.000 0.000 1.050 > + lattice: a = 5.982 b = 5.982 c = 5.982 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 10.000 fft = 10 x 10 x 10 ( 171 waves 171 per task) + wavefnc cutoff = 5.000 fft = 10 x 10 x 10 ( 62 waves 62 per task) + + Ewald parameters: + energy cutoff = 10.000 fft = 10 x 10 x 10 ( 171 waves 171 per task) + Ewald summation: cut radius = 1.904 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 3.71078182) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Wed Feb 8 15:54:30 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 10 steepest descent iterations performed + 10 -1.708816420389e+01 -2.241680e-01 2.492794e-03 + 20 -1.905311322397e+01 -1.075101e-01 9.399452e-04 + 30 -1.958772952424e+01 -4.100623e-02 3.486639e-04 + 40 -1.998528675502e+01 -3.159736e-02 2.833077e-04 + 50 -2.015674839165e+01 -1.012189e-03 3.920512e-05 + 60 -2.015924714018e+01 -9.524059e-05 3.548660e-05 + 70 -2.015944170667e+01 -1.607819e-05 5.414864e-06 + 80 -2.015946503285e+01 -8.423156e-07 1.645114e-07 + 90 -2.015946835363e+01 -1.954822e-07 3.754719e-08 + 100 -2.015946869692e+01 -9.810346e-08 4.474449e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Wed Feb 8 15:54:31 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 5.00000 down= 5.00000 (real space) + + + total energy : -2.0159468697e+01 ( -1.00797e+01 /ion) + total orbital energy: 5.1058644255e+00 ( 8.50977e-01 /electron) + hartree energy : 8.5016689728e-02 ( 1.41694e-02 /electron) + exc-corr energy : -8.1926599847e+00 ( -1.36544e+00 /electron) + ion-ion energy : -2.1902017710e+01 ( -1.09510e+01 /ion) + + kinetic (planewave) : 9.2934723839e+00 ( 1.54891e+00 /electron) + V_local (planewave) : 8.1075657962e+00 ( 1.35126e+00 /electron) + V_nl (planewave) : -7.5508458716e+00 ( -1.25847e+00 /electron) + V_Coul (planewave) : 1.7003337946e-01 ( 2.83389e-02 /electron) + V_xc (planewave) : -4.9143612625e+00 ( -8.19060e-01 /electron) + Viral Coefficient : -4.5059669684e-01 + + orbital energy: + 6.7894851e-01 ( 18.475eV) + 6.7894804e-01 ( 18.475eV) + 4.7881075e-01 ( 13.029eV) + 4.6795217e-01 ( 12.734eV) + 2.4827275e-01 ( 6.756eV) + 1.2228165e-09 ( 0.000eV) + +== Center of Charge == + +spin up = ( -0.0000 0.0000 -0.0000 ) +spin down = ( -0.0000 0.0000 -0.0000 ) + total = ( -0.0000 0.0000 -0.0000 ) +ionic = ( 1.4954 1.4954 1.4954 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 17.9453 17.9452 17.9453 ) au +|mu| = 31.0821 au ( 78.9982 Debye ) + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 2.907e-02 + main loop : 1.004e-01 + epilogue : 1.870e-04 + total : 1.297e-01 + cputime/step: 3.304e-04 ( 304 evaluations, 93 linesearches) + + Time spent doing total step percent + total time 1.322631e-01 4.350761e-04 100.00% + total FFT time 4.995464e-02 1.643245e-04 37.77% + lagrange multipliers 5.076800e-05 1.670000e-07 0.04% + local potentials 3.725000e-06 1.225329e-08 0.00% + non-local potentials 1.856634e-03 6.107349e-06 1.40% + ffm_dgemm 6.068270e-04 1.996141e-06 0.46% + fmf_dgemm 1.002816e-03 3.298737e-06 0.76% + m_diagonalize 3.252760e-04 1.069987e-06 0.25% + mmm_multiply 8.684300e-05 2.856678e-07 0.07% + SCVtrans 6.873300e-05 2.260954e-07 0.05% + + >>> job completed at Wed Feb 8 15:54:31 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Wed Feb 8 15:54:31 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + psi grids are being converted: + -----------------------------: + converting .... psi:1 spin:1 + converting .... psi:2 spin:1 + converting .... psi:3 spin:1 + converting .... psi:4 spin:1 + converting .... psi:5 spin:1 + converting .... psi:6 spin:1 + + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.536 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 2 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.99088 2.99088 2.99088 ) - atomic mass = 183.951 + G.C. ( 1.49544 1.49544 1.49544 ) + C.O.M. ( 1.49544 1.49544 1.49544 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 6 ( 6 per task) down = 6 ( 6 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.982 0.000 0.000 > + a2 = < 0.000 5.982 0.000 > + a3 = < 0.000 0.000 5.982 > + reciprocal: b1 = < 1.050 0.000 0.000 > + b2 = < 0.000 1.050 0.000 > + b3 = < 0.000 0.000 1.050 > + lattice: a = 5.982 b = 5.982 c = 5.982 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 20.000 fft = 14 x 14 x 14 ( 463 waves 463 per task) + wavefnc cutoff = 10.000 fft = 14 x 14 x 14 ( 171 waves 171 per task) + + Ewald parameters: + energy cutoff = 20.000 fft = 14 x 14 x 14 ( 463 waves 463 per task) + Ewald summation: cut radius = 1.904 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 3.71078182) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Wed Feb 8 15:54:31 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 10 steepest descent iterations performed + 10 -2.123852173470e+01 -1.701822e-06 1.823996e-08 + 20 -2.123852523532e+01 -1.768295e-08 1.488081e-10 + *** tolerance ok. iteration terminated + >>> iteration ended at Wed Feb 8 15:54:31 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 5.00000 down= 5.00000 (real space) + + + total energy : -2.1238525235e+01 ( -1.06193e+01 /ion) + total orbital energy: 4.1856287995e+00 ( 6.97605e-01 /electron) + hartree energy : 1.8249301478e-01 ( 3.04155e-02 /electron) + exc-corr energy : -8.4273499426e+00 ( -1.40456e+00 /electron) + ion-ion energy : -2.1902017722e+01 ( -1.09510e+01 /ion) + + kinetic (planewave) : 1.1347791251e+01 ( 1.89130e+00 /electron) + V_local (planewave) : 9.5182220550e+00 ( 1.58637e+00 /electron) + V_nl (planewave) : -1.1957663891e+01 ( -1.99294e+00 /electron) + V_Coul (planewave) : 3.6498602956e-01 ( 6.08310e-02 /electron) + V_xc (planewave) : -5.0877066444e+00 ( -8.47951e-01 /electron) + Viral Coefficient : -6.3115035278e-01 + + orbital energy: + 5.4500741e-01 ( 14.831eV) + 5.4500728e-01 ( 14.831eV) + 3.8896747e-01 ( 10.584eV) + 3.7572955e-01 ( 10.224eV) + 2.3810268e-01 ( 6.479eV) + -1.0451709e-16 ( -0.000eV) + +== Center of Charge == + +spin up = ( -0.0000 -0.0000 -0.0000 ) +spin down = ( -0.0000 -0.0000 -0.0000 ) + total = ( -0.0000 -0.0000 -0.0000 ) +ionic = ( 1.4954 1.4954 1.4954 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 17.9453 17.9453 17.9453 ) au +|mu| = 31.0821 au ( 78.9982 Debye ) + + + Ion Forces (au): + 1 W ( -0.00000 0.00000 0.00000 ) + 2 W ( -0.00000 -0.00000 0.00000 ) + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 3.769e-02 + main loop : 7.563e-02 + epilogue : 6.960e-04 + total : 1.140e-01 + cputime/step: 1.260e-03 ( 60 evaluations, 16 linesearches) + + Time spent doing total step percent + total time 2.465272e-01 4.108787e-03 100.00% + total FFT time 9.983296e-02 1.663883e-03 40.50% + lagrange multipliers 1.398700e-04 2.331167e-06 0.06% + local potentials 1.354200e-05 2.257000e-07 0.01% + non-local potentials 2.966487e-03 4.944145e-05 1.20% + ffm_dgemm 8.991500e-04 1.498583e-05 0.36% + fmf_dgemm 1.509976e-03 2.516627e-05 0.61% + m_diagonalize 4.034020e-04 6.723367e-06 0.16% + mmm_multiply 1.026590e-04 1.710983e-06 0.04% + SCVtrans 8.243300e-05 1.373883e-06 0.03% + + >>> job completed at Wed Feb 8 15:54:31 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Wed Feb 8 15:54:31 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + generating random psi from scratch + Warning - Gram-Schmidt being performed on psi2 + - exact norm = 24 norm=24.6534 corrected norm=24 (error=0.65341) + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.591 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 4 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.66457 0.00000 1.88413 ) - atomic mass = 183.951 + 3 W ( 2.66457 2.66457 3.76827 ) - atomic mass = 183.951 + 4 W ( 0.00000 2.66457 5.65240 ) - atomic mass = 183.951 + G.C. ( 1.33228 1.33228 2.82620 ) + C.O.M. ( 1.33228 1.33228 2.82620 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 12 ( 12 per task) down = 12 ( 12 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.329 0.000 0.000 > + a2 = < 0.000 5.329 0.000 > + a3 = < 0.000 0.000 7.537 > + reciprocal: b1 = < 1.179 0.000 0.000 > + b2 = < 0.000 1.179 0.000 > + b3 = < 0.000 0.000 0.834 > + lattice: a = 5.329 b = 5.329 c = 7.537 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 10.000 fft = 10 x 10 x 12 ( 160 waves 160 per task) + wavefnc cutoff = 5.000 fft = 10 x 10 x 12 ( 62 waves 62 per task) + + Ewald parameters: + energy cutoff = 10.000 fft = 10 x 10 x 12 ( 160 waves 160 per task) + Ewald summation: cut radius = 1.696 and 1 + Mandelung Wigner-Seitz = 1.68382487 (alpha = 2.71431215 rs = 3.71078182) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Wed Feb 8 15:54:31 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 10 steepest descent iterations performed + 10 -3.263325288087e+01 -2.370052e-01 2.755915e-03 + 20 -3.342232241827e+01 -5.863540e-02 2.971603e-04 + 30 -3.391324997303e+01 -3.187197e-02 1.546984e-04 + 40 -3.413597312443e+01 -2.155176e-02 1.238590e-04 + 50 -3.438373510198e+01 -2.450980e-02 1.027256e-04 + 60 -3.455017548679e+01 -9.891297e-03 4.618600e-05 + 70 -3.464713762751e+01 -1.297081e-03 6.690651e-05 + 80 -3.465330146645e+01 -8.056294e-04 7.652741e-04 + 90 -3.466599502278e+01 -8.084057e-04 1.644931e-04 + 100 -3.466738274142e+01 -4.655569e-05 6.208520e-06 + 110 -3.466755259026e+01 -6.106702e-06 9.485566e-07 + 120 -3.466757480938e+01 -5.729432e-07 6.423950e-08 + 130 -3.466757780500e+01 -9.928726e-08 1.501512e-08 + *** tolerance ok. iteration terminated + >>> iteration ended at Wed Feb 8 15:54:31 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 11.00000 down= 11.00000 (real space) + + + total energy : -3.4667577805e+01 ( -8.66689e+00 /ion) + total orbital energy: 2.4064172121e+01 ( 2.00535e+00 /electron) + hartree energy : 6.5304190697e-01 ( 5.44202e-02 /electron) + exc-corr energy : -2.0726372095e+01 ( -1.72720e+00 /electron) + ion-ion energy : -5.1462578555e+01 ( -1.28656e+01 /ion) + + kinetic (planewave) : 3.2744878583e+01 ( 2.72874e+00 /electron) + V_local (planewave) : 3.5170322604e+01 ( 2.93086e+00 /electron) + V_nl (planewave) : -3.1046870249e+01 ( -2.58724e+00 /electron) + V_Coul (planewave) : 1.3060838139e+00 ( 1.08840e-01 /electron) + V_xc (planewave) : -1.4110242631e+01 ( -1.17585e+00 /electron) + Viral Coefficient : -2.6510119560e-01 + + orbital energy: + 1.4424311e+00 ( 39.251eV) + 1.2160817e+00 ( 33.092eV) + 1.2090712e+00 ( 32.901eV) + 1.2054584e+00 ( 32.802eV) + 1.1963001e+00 ( 32.553eV) + 1.1954706e+00 ( 32.531eV) + 9.9977937e-01 ( 27.206eV) + 9.9502181e-01 ( 27.076eV) + 8.8723317e-01 ( 24.143eV) + 8.8678761e-01 ( 24.131eV) + 7.9845106e-01 ( 21.727eV) + 4.8910438e-09 ( 0.000eV) + +== Center of Charge == + +spin up = ( -0.0000 -0.0000 -0.0252 ) +spin down = ( -0.0000 -0.0000 -0.0252 ) + total = ( -0.0000 -0.0000 -0.0252 ) +ionic = ( 1.3323 1.3323 2.8262 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 31.9757 31.9749 68.4348 ) au +|mu| = 82.0253 au ( 208.4756 Debye ) + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 3.574e-02 + main loop : 2.296e-01 + epilogue : 2.510e-04 + total : 2.656e-01 + cputime/step: 5.506e-04 ( 417 evaluations, 130 linesearches) + + Time spent doing total step percent + total time 5.140170e-01 1.232655e-03 100.00% + total FFT time 2.234995e-01 5.359700e-04 43.48% + lagrange multipliers 3.276480e-04 7.857266e-07 0.06% + local potentials 1.836000e-05 4.402878e-08 0.00% + non-local potentials 1.061595e-02 2.545792e-05 2.07% + ffm_dgemm 3.946196e-03 9.463300e-06 0.77% + fmf_dgemm 6.759673e-03 1.621025e-05 1.32% + m_diagonalize 2.016443e-03 4.835595e-06 0.39% + mmm_multiply 4.805990e-04 1.152516e-06 0.09% + SCVtrans 2.609230e-04 6.257146e-07 0.05% + + >>> job completed at Wed Feb 8 15:54:31 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Wed Feb 8 15:54:31 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + psi grids are being converted: + -----------------------------: + converting .... psi:1 spin:1 + converting .... psi:2 spin:1 + converting .... psi:3 spin:1 + converting .... psi:4 spin:1 + converting .... psi:5 spin:1 + converting .... psi:6 spin:1 + converting .... psi:7 spin:1 + converting .... psi:8 spin:1 + converting .... psi:9 spin:1 + converting .... psi:10 spin:1 + converting .... psi:11 spin:1 + converting .... psi:12 spin:1 + + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.595 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 4 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.66457 0.00000 1.88413 ) - atomic mass = 183.951 + 3 W ( 2.66457 2.66457 3.76827 ) - atomic mass = 183.951 + 4 W ( 0.00000 2.66457 5.65240 ) - atomic mass = 183.951 + G.C. ( 1.33228 1.33228 2.82620 ) + C.O.M. ( 1.33228 1.33228 2.82620 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 12 ( 12 per task) down = 12 ( 12 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.329 0.000 0.000 > + a2 = < 0.000 5.329 0.000 > + a3 = < 0.000 0.000 7.537 > + reciprocal: b1 = < 1.179 0.000 0.000 > + b2 = < 0.000 1.179 0.000 > + b3 = < 0.000 0.000 0.834 > + lattice: a = 5.329 b = 5.329 c = 7.537 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 20.000 fft = 12 x 12 x 16 ( 460 waves 460 per task) + wavefnc cutoff = 10.000 fft = 12 x 12 x 16 ( 160 waves 160 per task) + + Ewald parameters: + energy cutoff = 20.000 fft = 12 x 12 x 16 ( 460 waves 460 per task) + Ewald summation: cut radius = 1.696 and 1 + Mandelung Wigner-Seitz = 1.68382487 (alpha = 2.71431215 rs = 3.71078182) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Wed Feb 8 15:54:31 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 10 steepest descent iterations performed + 10 -3.869390116272e+01 -6.903668e-05 1.222538e-06 + 20 -3.869394600954e+01 -2.584005e-08 7.565630e-10 + *** tolerance ok. iteration terminated + >>> iteration ended at Wed Feb 8 15:54:31 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 11.00000 down= 11.00000 (real space) + + + total energy : -3.8693946010e+01 ( -9.67349e+00 /ion) + total orbital energy: 2.0571849938e+01 ( 1.71432e+00 /electron) + hartree energy : 1.0464327958e+00 ( 8.72027e-02 /electron) + exc-corr energy : -2.1151466566e+01 ( -1.76262e+00 /electron) + ion-ion energy : -5.1462581523e+01 ( -1.28656e+01 /ion) + + kinetic (planewave) : 3.7980397820e+01 ( 3.16503e+00 /electron) + V_local (planewave) : 3.8936852411e+01 ( 3.24474e+00 /electron) + V_nl (planewave) : -4.4043580948e+01 ( -3.67030e+00 /electron) + V_Coul (planewave) : 2.0928655917e+00 ( 1.74405e-01 /electron) + V_xc (planewave) : -1.4394684937e+01 ( -1.19956e+00 /electron) + Viral Coefficient : -4.5835612267e-01 + + orbital energy: + 1.2624273e+00 ( 34.353eV) + 1.0588423e+00 ( 28.813eV) + 1.0519217e+00 ( 28.624eV) + 1.0510387e+00 ( 28.600eV) + 1.0124484e+00 ( 27.550eV) + 1.0116561e+00 ( 27.529eV) + 7.9997475e-01 ( 21.769eV) + 7.9985716e-01 ( 21.765eV) + 7.5624184e-01 ( 20.579eV) + 7.4126320e-01 ( 20.171eV) + 7.4025353e-01 ( 20.143eV) + 1.6826541e-12 ( 0.000eV) + +== Center of Charge == + +spin up = ( -0.0000 -0.0000 -0.0237 ) +spin down = ( -0.0000 -0.0000 -0.0237 ) + total = ( -0.0000 -0.0000 -0.0237 ) +ionic = ( 1.3323 1.3323 2.8262 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 31.9750 31.9748 68.3970 ) au +|mu| = 81.9935 au ( 208.3948 Debye ) + + + Ion Forces (au): + 1 W ( -0.00005 -0.00003 0.52530 ) + 2 W ( 0.00004 0.00003 -0.52538 ) + 3 W ( 0.00004 0.00002 0.52530 ) + 4 W ( -0.00005 -0.00002 -0.52538 ) + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 4.245e-02 + main loop : 6.749e-02 + epilogue : 8.180e-04 + total : 1.108e-01 + cputime/step: 1.007e-03 ( 67 evaluations, 18 linesearches) + + Time spent doing total step percent + total time 6.250279e-01 9.328775e-03 100.00% + total FFT time 2.586332e-01 3.860197e-03 41.38% + lagrange multipliers 6.249210e-04 9.327179e-06 0.10% + local potentials 3.540200e-05 5.283881e-07 0.01% + non-local potentials 1.400041e-02 2.089614e-04 2.24% + ffm_dgemm 5.165183e-03 7.709228e-05 0.83% + fmf_dgemm 8.843997e-03 1.320000e-04 1.41% + m_diagonalize 2.293617e-03 3.423309e-05 0.37% + mmm_multiply 5.365630e-04 8.008403e-06 0.09% + SCVtrans 2.880560e-04 4.299343e-06 0.05% + + >>> job completed at Wed Feb 8 15:54:31 2023 <<< diff --git a/examples/QUANTUM/NWChem/log.8Feb23.series.pwdft.plugin.1 b/examples/QUANTUM/NWChem/log.8Feb23.series.pwdft.plugin.1 new file mode 100644 index 0000000000..54edf864b0 --- /dev/null +++ b/examples/QUANTUM/NWChem/log.8Feb23.series.pwdft.plugin.1 @@ -0,0 +1,725 @@ + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Wed Feb 8 15:50:51 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + generating random psi from scratch + Warning - Gram-Schmidt being performed on psi2 + - exact norm = 12 norm=12.4399 corrected norm=12 (error=0.439878) + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.532 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 2 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.99088 2.99088 2.99088 ) - atomic mass = 183.951 + G.C. ( 1.49544 1.49544 1.49544 ) + C.O.M. ( 1.49544 1.49544 1.49544 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 6 ( 6 per task) down = 6 ( 6 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.982 0.000 0.000 > + a2 = < 0.000 5.982 0.000 > + a3 = < 0.000 0.000 5.982 > + reciprocal: b1 = < 1.050 0.000 0.000 > + b2 = < 0.000 1.050 0.000 > + b3 = < 0.000 0.000 1.050 > + lattice: a = 5.982 b = 5.982 c = 5.982 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 10.000 fft = 10 x 10 x 10 ( 171 waves 171 per task) + wavefnc cutoff = 5.000 fft = 10 x 10 x 10 ( 62 waves 62 per task) + + Ewald parameters: + energy cutoff = 10.000 fft = 10 x 10 x 10 ( 171 waves 171 per task) + Ewald summation: cut radius = 1.904 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 3.71078182) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Wed Feb 8 15:50:51 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 10 steepest descent iterations performed + 10 -1.708816420389e+01 -2.241680e-01 2.492794e-03 + 20 -1.905311322397e+01 -1.075101e-01 9.399452e-04 + 30 -1.958772952424e+01 -4.100623e-02 3.486639e-04 + 40 -1.998528675502e+01 -3.159736e-02 2.833077e-04 + 50 -2.015674839165e+01 -1.012189e-03 3.920512e-05 + 60 -2.015924714018e+01 -9.524059e-05 3.548660e-05 + 70 -2.015944170667e+01 -1.607819e-05 5.414864e-06 + 80 -2.015946503285e+01 -8.423156e-07 1.645114e-07 + 90 -2.015946835363e+01 -1.954822e-07 3.754719e-08 + 100 -2.015946869692e+01 -9.810346e-08 4.474449e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Wed Feb 8 15:50:51 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 5.00000 down= 5.00000 (real space) + + + total energy : -2.0159468697e+01 ( -1.00797e+01 /ion) + total orbital energy: 5.1058644255e+00 ( 8.50977e-01 /electron) + hartree energy : 8.5016689728e-02 ( 1.41694e-02 /electron) + exc-corr energy : -8.1926599847e+00 ( -1.36544e+00 /electron) + ion-ion energy : -2.1902017710e+01 ( -1.09510e+01 /ion) + + kinetic (planewave) : 9.2934723839e+00 ( 1.54891e+00 /electron) + V_local (planewave) : 8.1075657962e+00 ( 1.35126e+00 /electron) + V_nl (planewave) : -7.5508458716e+00 ( -1.25847e+00 /electron) + V_Coul (planewave) : 1.7003337946e-01 ( 2.83389e-02 /electron) + V_xc (planewave) : -4.9143612625e+00 ( -8.19060e-01 /electron) + Viral Coefficient : -4.5059669684e-01 + + orbital energy: + 6.7894851e-01 ( 18.475eV) + 6.7894804e-01 ( 18.475eV) + 4.7881075e-01 ( 13.029eV) + 4.6795217e-01 ( 12.734eV) + 2.4827275e-01 ( 6.756eV) + 1.2228165e-09 ( 0.000eV) + +== Center of Charge == + +spin up = ( -0.0000 0.0000 -0.0000 ) +spin down = ( -0.0000 0.0000 -0.0000 ) + total = ( -0.0000 0.0000 -0.0000 ) +ionic = ( 1.4954 1.4954 1.4954 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 17.9453 17.9452 17.9453 ) au +|mu| = 31.0821 au ( 78.9982 Debye ) + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 3.177e-01 + main loop : 9.053e-02 + epilogue : 3.190e-04 + total : 4.086e-01 + cputime/step: 2.978e-04 ( 304 evaluations, 93 linesearches) + + Time spent doing total step percent + total time 1.350798e-01 4.443414e-04 100.00% + total FFT time 4.500482e-02 1.480422e-04 33.32% + lagrange multipliers 4.477900e-05 1.472993e-07 0.03% + local potentials 2.774000e-06 9.125000e-09 0.00% + non-local potentials 1.656622e-03 5.449414e-06 1.23% + ffm_dgemm 5.521080e-04 1.816145e-06 0.41% + fmf_dgemm 8.953870e-04 2.945352e-06 0.66% + m_diagonalize 3.079610e-04 1.013030e-06 0.23% + mmm_multiply 7.758400e-05 2.552105e-07 0.06% + SCVtrans 6.425500e-05 2.113651e-07 0.05% + + >>> job completed at Wed Feb 8 15:50:51 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Wed Feb 8 15:50:51 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + psi grids are being converted: + -----------------------------: + converting .... psi:1 spin:1 + converting .... psi:2 spin:1 + converting .... psi:3 spin:1 + converting .... psi:4 spin:1 + converting .... psi:5 spin:1 + converting .... psi:6 spin:1 + + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.536 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 2 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.99088 2.99088 2.99088 ) - atomic mass = 183.951 + G.C. ( 1.49544 1.49544 1.49544 ) + C.O.M. ( 1.49544 1.49544 1.49544 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 6 ( 6 per task) down = 6 ( 6 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.982 0.000 0.000 > + a2 = < 0.000 5.982 0.000 > + a3 = < 0.000 0.000 5.982 > + reciprocal: b1 = < 1.050 0.000 0.000 > + b2 = < 0.000 1.050 0.000 > + b3 = < 0.000 0.000 1.050 > + lattice: a = 5.982 b = 5.982 c = 5.982 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 20.000 fft = 14 x 14 x 14 ( 463 waves 463 per task) + wavefnc cutoff = 10.000 fft = 14 x 14 x 14 ( 171 waves 171 per task) + + Ewald parameters: + energy cutoff = 20.000 fft = 14 x 14 x 14 ( 463 waves 463 per task) + Ewald summation: cut radius = 1.904 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 3.71078182) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Wed Feb 8 15:50:51 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 10 steepest descent iterations performed + 10 -2.123852173470e+01 -1.701822e-06 1.823996e-08 + 20 -2.123852523532e+01 -1.768295e-08 1.488081e-10 + *** tolerance ok. iteration terminated + >>> iteration ended at Wed Feb 8 15:50:51 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 5.00000 down= 5.00000 (real space) + + + total energy : -2.1238525235e+01 ( -1.06193e+01 /ion) + total orbital energy: 4.1856287995e+00 ( 6.97605e-01 /electron) + hartree energy : 1.8249301478e-01 ( 3.04155e-02 /electron) + exc-corr energy : -8.4273499426e+00 ( -1.40456e+00 /electron) + ion-ion energy : -2.1902017722e+01 ( -1.09510e+01 /ion) + + kinetic (planewave) : 1.1347791251e+01 ( 1.89130e+00 /electron) + V_local (planewave) : 9.5182220550e+00 ( 1.58637e+00 /electron) + V_nl (planewave) : -1.1957663891e+01 ( -1.99294e+00 /electron) + V_Coul (planewave) : 3.6498602956e-01 ( 6.08310e-02 /electron) + V_xc (planewave) : -5.0877066444e+00 ( -8.47951e-01 /electron) + Viral Coefficient : -6.3115035278e-01 + + orbital energy: + 5.4500741e-01 ( 14.831eV) + 5.4500728e-01 ( 14.831eV) + 3.8896747e-01 ( 10.584eV) + 3.7572955e-01 ( 10.224eV) + 2.3810268e-01 ( 6.479eV) + -1.0451709e-16 ( -0.000eV) + +== Center of Charge == + +spin up = ( -0.0000 -0.0000 -0.0000 ) +spin down = ( -0.0000 -0.0000 -0.0000 ) + total = ( -0.0000 -0.0000 -0.0000 ) +ionic = ( 1.4954 1.4954 1.4954 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 17.9453 17.9453 17.9453 ) au +|mu| = 31.0821 au ( 78.9982 Debye ) + + + Ion Forces (au): + 1 W ( -0.00000 0.00000 0.00000 ) + 2 W ( -0.00000 -0.00000 0.00000 ) + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 3.265e-02 + main loop : 6.849e-02 + epilogue : 6.800e-04 + total : 1.018e-01 + cputime/step: 1.142e-03 ( 60 evaluations, 16 linesearches) + + Time spent doing total step percent + total time 2.371587e-01 3.952646e-03 100.00% + total FFT time 9.016565e-02 1.502761e-03 38.02% + lagrange multipliers 1.203740e-04 2.006233e-06 0.05% + local potentials 1.235200e-05 2.058667e-07 0.01% + non-local potentials 2.684057e-03 4.473428e-05 1.13% + ffm_dgemm 8.151720e-04 1.358620e-05 0.34% + fmf_dgemm 1.364254e-03 2.273757e-05 0.58% + m_diagonalize 3.855290e-04 6.425483e-06 0.16% + mmm_multiply 9.124900e-05 1.520817e-06 0.04% + SCVtrans 7.666300e-05 1.277717e-06 0.03% + + >>> job completed at Wed Feb 8 15:50:51 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Wed Feb 8 15:50:51 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + generating random psi from scratch + Warning - Gram-Schmidt being performed on psi2 + - exact norm = 24 norm=24.6534 corrected norm=24 (error=0.65341) + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.591 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 4 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.66457 0.00000 1.88413 ) - atomic mass = 183.951 + 3 W ( 2.66457 2.66457 3.76827 ) - atomic mass = 183.951 + 4 W ( 0.00000 2.66457 5.65240 ) - atomic mass = 183.951 + G.C. ( 1.33228 1.33228 2.82620 ) + C.O.M. ( 1.33228 1.33228 2.82620 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 12 ( 12 per task) down = 12 ( 12 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.329 0.000 0.000 > + a2 = < 0.000 5.329 0.000 > + a3 = < 0.000 0.000 7.537 > + reciprocal: b1 = < 1.179 0.000 0.000 > + b2 = < 0.000 1.179 0.000 > + b3 = < 0.000 0.000 0.834 > + lattice: a = 5.329 b = 5.329 c = 7.537 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 10.000 fft = 10 x 10 x 12 ( 160 waves 160 per task) + wavefnc cutoff = 5.000 fft = 10 x 10 x 12 ( 62 waves 62 per task) + + Ewald parameters: + energy cutoff = 10.000 fft = 10 x 10 x 12 ( 160 waves 160 per task) + Ewald summation: cut radius = 1.696 and 1 + Mandelung Wigner-Seitz = 1.68382487 (alpha = 2.71431215 rs = 3.71078182) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Wed Feb 8 15:50:51 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 10 steepest descent iterations performed + 10 -3.263325288087e+01 -2.370052e-01 2.755915e-03 + 20 -3.342232241827e+01 -5.863540e-02 2.971603e-04 + 30 -3.391324997303e+01 -3.187197e-02 1.546984e-04 + 40 -3.413597312443e+01 -2.155176e-02 1.238590e-04 + 50 -3.438373510198e+01 -2.450980e-02 1.027256e-04 + 60 -3.455017548679e+01 -9.891297e-03 4.618600e-05 + 70 -3.464713762751e+01 -1.297081e-03 6.690651e-05 + 80 -3.465330146645e+01 -8.056294e-04 7.652741e-04 + 90 -3.466599502278e+01 -8.084057e-04 1.644931e-04 + 100 -3.466738274142e+01 -4.655569e-05 6.208520e-06 + 110 -3.466755259026e+01 -6.106702e-06 9.485566e-07 + 120 -3.466757480938e+01 -5.729432e-07 6.423950e-08 + 130 -3.466757780500e+01 -9.928726e-08 1.501512e-08 + *** tolerance ok. iteration terminated + >>> iteration ended at Wed Feb 8 15:50:52 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 11.00000 down= 11.00000 (real space) + + + total energy : -3.4667577805e+01 ( -8.66689e+00 /ion) + total orbital energy: 2.4064172121e+01 ( 2.00535e+00 /electron) + hartree energy : 6.5304190697e-01 ( 5.44202e-02 /electron) + exc-corr energy : -2.0726372095e+01 ( -1.72720e+00 /electron) + ion-ion energy : -5.1462578555e+01 ( -1.28656e+01 /ion) + + kinetic (planewave) : 3.2744878583e+01 ( 2.72874e+00 /electron) + V_local (planewave) : 3.5170322604e+01 ( 2.93086e+00 /electron) + V_nl (planewave) : -3.1046870249e+01 ( -2.58724e+00 /electron) + V_Coul (planewave) : 1.3060838139e+00 ( 1.08840e-01 /electron) + V_xc (planewave) : -1.4110242631e+01 ( -1.17585e+00 /electron) + Viral Coefficient : -2.6510119560e-01 + + orbital energy: + 1.4424311e+00 ( 39.251eV) + 1.2160817e+00 ( 33.092eV) + 1.2090712e+00 ( 32.901eV) + 1.2054584e+00 ( 32.802eV) + 1.1963001e+00 ( 32.553eV) + 1.1954706e+00 ( 32.531eV) + 9.9977937e-01 ( 27.206eV) + 9.9502181e-01 ( 27.076eV) + 8.8723317e-01 ( 24.143eV) + 8.8678761e-01 ( 24.131eV) + 7.9845106e-01 ( 21.727eV) + 4.8910438e-09 ( 0.000eV) + +== Center of Charge == + +spin up = ( -0.0000 -0.0000 -0.0252 ) +spin down = ( -0.0000 -0.0000 -0.0252 ) + total = ( -0.0000 -0.0000 -0.0252 ) +ionic = ( 1.3323 1.3323 2.8262 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 31.9757 31.9749 68.4348 ) au +|mu| = 82.0253 au ( 208.4756 Debye ) + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 3.165e-02 + main loop : 2.041e-01 + epilogue : 2.420e-04 + total : 2.360e-01 + cputime/step: 4.895e-04 ( 417 evaluations, 130 linesearches) + + Time spent doing total step percent + total time 4.768254e-01 1.143466e-03 100.00% + total FFT time 1.999377e-01 4.794670e-04 41.93% + lagrange multipliers 2.882320e-04 6.912038e-07 0.06% + local potentials 1.690100e-05 4.052998e-08 0.00% + non-local potentials 9.458152e-03 2.268142e-05 1.98% + ffm_dgemm 3.570522e-03 8.562403e-06 0.75% + fmf_dgemm 6.136461e-03 1.471573e-05 1.29% + m_diagonalize 1.844062e-03 4.422211e-06 0.39% + mmm_multiply 4.760850e-04 1.141691e-06 0.10% + SCVtrans 2.489650e-04 5.970384e-07 0.05% + + >>> job completed at Wed Feb 8 15:50:52 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Wed Feb 8 15:50:52 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + psi grids are being converted: + -----------------------------: + converting .... psi:1 spin:1 + converting .... psi:2 spin:1 + converting .... psi:3 spin:1 + converting .... psi:4 spin:1 + converting .... psi:5 spin:1 + converting .... psi:6 spin:1 + converting .... psi:7 spin:1 + converting .... psi:8 spin:1 + converting .... psi:9 spin:1 + converting .... psi:10 spin:1 + converting .... psi:11 spin:1 + converting .... psi:12 spin:1 + + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.595 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 4 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.66457 0.00000 1.88413 ) - atomic mass = 183.951 + 3 W ( 2.66457 2.66457 3.76827 ) - atomic mass = 183.951 + 4 W ( 0.00000 2.66457 5.65240 ) - atomic mass = 183.951 + G.C. ( 1.33228 1.33228 2.82620 ) + C.O.M. ( 1.33228 1.33228 2.82620 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 12 ( 12 per task) down = 12 ( 12 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.329 0.000 0.000 > + a2 = < 0.000 5.329 0.000 > + a3 = < 0.000 0.000 7.537 > + reciprocal: b1 = < 1.179 0.000 0.000 > + b2 = < 0.000 1.179 0.000 > + b3 = < 0.000 0.000 0.834 > + lattice: a = 5.329 b = 5.329 c = 7.537 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 20.000 fft = 12 x 12 x 16 ( 460 waves 460 per task) + wavefnc cutoff = 10.000 fft = 12 x 12 x 16 ( 160 waves 160 per task) + + Ewald parameters: + energy cutoff = 20.000 fft = 12 x 12 x 16 ( 460 waves 460 per task) + Ewald summation: cut radius = 1.696 and 1 + Mandelung Wigner-Seitz = 1.68382487 (alpha = 2.71431215 rs = 3.71078182) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Wed Feb 8 15:50:52 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 10 steepest descent iterations performed + 10 -3.869390116272e+01 -6.903668e-05 1.222538e-06 + 20 -3.869394600954e+01 -2.584005e-08 7.565630e-10 + *** tolerance ok. iteration terminated + >>> iteration ended at Wed Feb 8 15:50:52 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 11.00000 down= 11.00000 (real space) + + + total energy : -3.8693946010e+01 ( -9.67349e+00 /ion) + total orbital energy: 2.0571849938e+01 ( 1.71432e+00 /electron) + hartree energy : 1.0464327958e+00 ( 8.72027e-02 /electron) + exc-corr energy : -2.1151466566e+01 ( -1.76262e+00 /electron) + ion-ion energy : -5.1462581523e+01 ( -1.28656e+01 /ion) + + kinetic (planewave) : 3.7980397820e+01 ( 3.16503e+00 /electron) + V_local (planewave) : 3.8936852411e+01 ( 3.24474e+00 /electron) + V_nl (planewave) : -4.4043580948e+01 ( -3.67030e+00 /electron) + V_Coul (planewave) : 2.0928655917e+00 ( 1.74405e-01 /electron) + V_xc (planewave) : -1.4394684937e+01 ( -1.19956e+00 /electron) + Viral Coefficient : -4.5835612267e-01 + + orbital energy: + 1.2624273e+00 ( 34.353eV) + 1.0588423e+00 ( 28.813eV) + 1.0519217e+00 ( 28.624eV) + 1.0510387e+00 ( 28.600eV) + 1.0124484e+00 ( 27.550eV) + 1.0116561e+00 ( 27.529eV) + 7.9997475e-01 ( 21.769eV) + 7.9985716e-01 ( 21.765eV) + 7.5624184e-01 ( 20.579eV) + 7.4126320e-01 ( 20.171eV) + 7.4025353e-01 ( 20.143eV) + 1.6826541e-12 ( 0.000eV) + +== Center of Charge == + +spin up = ( -0.0000 -0.0000 -0.0237 ) +spin down = ( -0.0000 -0.0000 -0.0237 ) + total = ( -0.0000 -0.0000 -0.0237 ) +ionic = ( 1.3323 1.3323 2.8262 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 31.9750 31.9748 68.3970 ) au +|mu| = 81.9935 au ( 208.3948 Debye ) + + + Ion Forces (au): + 1 W ( -0.00005 -0.00003 0.52530 ) + 2 W ( 0.00004 0.00003 -0.52538 ) + 3 W ( 0.00004 0.00002 0.52530 ) + 4 W ( -0.00005 -0.00002 -0.52538 ) + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 3.828e-02 + main loop : 6.028e-02 + epilogue : 7.240e-04 + total : 9.929e-02 + cputime/step: 8.998e-04 ( 67 evaluations, 18 linesearches) + + Time spent doing total step percent + total time 5.763748e-01 8.602609e-03 100.00% + total FFT time 2.314689e-01 3.454759e-03 40.16% + lagrange multipliers 5.522480e-04 8.242507e-06 0.10% + local potentials 3.313000e-05 4.944776e-07 0.01% + non-local potentials 1.250012e-02 1.865689e-04 2.17% + ffm_dgemm 4.586577e-03 6.845637e-05 0.80% + fmf_dgemm 7.988636e-03 1.192334e-04 1.39% + m_diagonalize 2.089830e-03 3.119149e-05 0.36% + mmm_multiply 5.259960e-04 7.850687e-06 0.09% + SCVtrans 2.736630e-04 4.084522e-06 0.05% + + >>> job completed at Wed Feb 8 15:50:52 2023 <<< diff --git a/examples/QUANTUM/NWChem/log.8Feb23.series.w.bcc.1 b/examples/QUANTUM/NWChem/log.8Feb23.series.w.bcc.1 new file mode 100644 index 0000000000..9cde0168ff --- /dev/null +++ b/examples/QUANTUM/NWChem/log.8Feb23.series.w.bcc.1 @@ -0,0 +1,66 @@ + + read_data data.${datafile} + read_data data.w.bcc +Reading data file ... + orthogonal box = (0 0 0) to (3.1654062 3.1654062 3.1654062) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 2 atoms + read_data CPU = 0.000 seconds + + mass 1 183.84 + + neighbor 1.0 bin + neigh_modify delay 0 every 1 check yes + + fix 1 all mdi/qm elements W connect no + fix_modify 1 energy yes + + #dump 1 all custom 1 dump.series.${datafile}.$p id x y z fx fy fz + + run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) +Per MPI rank memory allocation (min/avg/max) = 2.301 | 2.301 | 2.301 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0 0 0 -577.92971 2.3538612e-305 +Loop time of 5.01e-07 on 1 procs for 0 steps with 2 atoms + +0.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 5.01e-07 | | |100.00 + +Nlocal: 2 ave 2 max 2 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 33 ave 33 max 33 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + clear + +next datafile + +jump SELF loop + + units metal + atom_style atomic + atom_modify map yes + comm_modify cutoff 2.0 + + log log.series.${datafile}.$p + log log.series.w.diamond.$p + log log.series.w.diamond.1 diff --git a/examples/QUANTUM/NWChem/log.8Feb23.series.w.diamond.1 b/examples/QUANTUM/NWChem/log.8Feb23.series.w.diamond.1 new file mode 100644 index 0000000000..5465f5bbef --- /dev/null +++ b/examples/QUANTUM/NWChem/log.8Feb23.series.w.diamond.1 @@ -0,0 +1,60 @@ + + read_data data.${datafile} + read_data data.w.diamond +Reading data file ... + orthogonal box = (0 0 0) to (2.8200564 2.8200564 3.988162) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 4 atoms + read_data CPU = 0.000 seconds + + mass 1 183.84 + + neighbor 1.0 bin + neigh_modify delay 0 every 1 check yes + + fix 1 all mdi/qm elements W connect no + fix_modify 1 energy yes + + #dump 1 all custom 1 dump.series.${datafile}.$p id x y z fx fy fz + + run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) +Per MPI rank memory allocation (min/avg/max) = 2.301 | 2.301 | 2.301 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0 0 0 -1052.9159 2.3538612e-305 +Loop time of 6.97e-07 on 1 procs for 0 steps with 4 atoms + +143.5% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 6.97e-07 | | |100.00 + +Nlocal: 4 ave 4 max 4 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 55 ave 55 max 55 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + clear + +next datafile + +jump SELF loop + +mdi exit +Total wall time: 0:00:00 diff --git a/examples/QUANTUM/NWChem/log.8Feb23.water.pwdft.qmmm.mpi.2 b/examples/QUANTUM/NWChem/log.8Feb23.water.pwdft.qmmm.mpi.2 new file mode 100644 index 0000000000..4bd90d4af5 --- /dev/null +++ b/examples/QUANTUM/NWChem/log.8Feb23.water.pwdft.qmmm.mpi.2 @@ -0,0 +1,1196 @@ + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Wed Feb 8 15:54:49 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - not self-consistent + + writing formatted psp filename: ./O.vpp + + writing formatted psp filename: ./H.vpp + generating random psi from scratch + Warning - Gram-Schmidt being performed on psi2 + - exact norm = 8.00000 norm=8.86148 corrected norm=8.00000 (error=0.86148) + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 2 + processor grid : 2 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: O valence charge = 6.0 lmax =2 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.700 0.700 0.700 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + O : 1 H : 2 + + initial ion positions (au): + 1 O ( 0.30530 -0.09999 0.06269 ) - atomic mass = 15.995 + 2 H ( 1.51755 0.69756 -0.96690 ) - atomic mass = 1.008 + 3 H ( -0.61524 -1.26531 -0.92324 ) - atomic mass = 1.008 + G.C. ( 0.40254 -0.22258 -0.60915 ) + C.O.M. ( 0.32163 -0.12057 -0.05011 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 17575.98 + lattice: a1 = < 26.000 0.000 0.000 > + a2 = < 0.000 26.000 0.000 > + a3 = < 0.000 0.000 26.000 > + reciprocal: b1 = < 0.242 0.000 0.000 > + b2 = < 0.000 0.242 0.000 > + b3 = < 0.000 0.000 0.242 > + lattice: a = 26.000 b = 26.000 c = 26.000 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 20.000 fft = 54 x 54 x 54 ( 37447 waves 18724 per task) + wavefnc cutoff = 10.000 fft = 54 x 54 x 54 ( 13373 waves 6687 per task) + + Ewald parameters: + energy cutoff = 20.000 fft = 54 x 54 x 54 ( 37447 waves 18724 per task) + Ewald summation: cut radius = 8.276 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Wed Feb 8 15:54:49 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 10 steepest descent iterations performed + 10 -1.206279801672e+01 -4.150120e-01 1.996397e-03 + 20 -1.493506122443e+01 -1.422834e-01 1.506682e-03 + 30 -1.540348600009e+01 -2.354360e-02 7.931449e-05 + 40 -1.566981091704e+01 -3.162288e-02 2.353093e-04 + 50 -1.598278441045e+01 -2.666532e-02 2.366148e-04 + 60 -1.616463354121e+01 -1.223350e-02 7.334903e-05 + 70 -1.630473193885e+01 -3.266566e-04 2.297099e-06 + 80 -1.630526899088e+01 -2.459563e-06 7.181128e-09 + 90 -1.630527200045e+01 -1.255258e-08 3.774166e-10 + 100 -1.630527202340e+01 -8.822809e-10 1.152800e-11 + *** tolerance ok. iteration terminated + >>> iteration ended at Wed Feb 8 15:55:00 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + total energy : -1.6305272023e+01 ( -5.43509e+00 /ion) + total orbital energy: -4.4098310387e+00 ( -1.10246e+00 /electron) + hartree energy : 1.6681756106e+01 ( 4.17044e+00 /electron) + exc-corr energy : -4.0100672760e+00 ( -1.00252e+00 /electron) + ion-ion energy : 3.5966388474e+00 ( 1.19888e+00 /ion) + + kinetic (planewave) : 9.8614028188e+00 ( 2.46535e+00 /electron) + V_local (planewave) : -4.2645184847e+01 ( -1.06613e+01 /electron) + V_nl (planewave) : 2.1018232722e-01 ( 5.25456e-02 /electron) + V_Coul (planewave) : 3.3363512212e+01 ( 8.34088e+00 /electron) + V_xc (planewave) : -5.1997435500e+00 ( -1.29994e+00 /electron) + Viral Coefficient : -1.4471809052e+00 + + orbital energy: + -2.5265267e-01 ( -6.875eV) + -3.5266167e-01 ( -9.596eV) + -5.0407048e-01 ( -13.717eV) + -1.0955307e+00 ( -29.811eV) + +== Center of Charge == + +spin up = ( 0.3337 -0.1357 -0.1342 ) +spin down = ( 0.3337 -0.1357 -0.1342 ) + total = ( 0.3337 -0.1357 -0.1342 ) +ionic = ( 0.3418 -0.1460 -0.1893 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 0.0648 -0.0818 -0.4407 ) au +|mu| = 0.4529 au ( 1.1511 Debye ) + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - not self-consistent + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 O -6.416 6.000 -0.416 + 2 H -0.792 1.000 0.208 + 3 H -0.792 1.000 0.208 + Total Q -8.000 8.000 -0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 O 6.000 -0.083 -2.968 -3.365 + 2 H 1.000 -0.973 1.287 -1.106 + 3 H 1.000 -0.969 1.282 -1.104 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 7.291e-02 + main loop : 1.057e+01 + epilogue : 1.084e-02 + total : 1.066e+01 + cputime/step: 3.346e-02 ( 316 evaluations, 97 linesearches) + + Time spent doing total step percent + total time 1.066085e+01 3.373687e-02 100.00% + total FFT time 5.066369e+00 1.603281e-02 47.52% + lagrange multipliers 1.207032e-03 3.819722e-06 0.01% + local potentials 5.150380e-04 1.629867e-06 0.00% + non-local potentials 2.765415e-01 8.751313e-04 2.59% + ffm_dgemm 5.013180e-02 1.586449e-04 0.47% + fmf_dgemm 1.166419e-01 3.691200e-04 1.09% + m_diagonalize 7.372400e-04 2.333038e-06 0.01% + mmm_multiply 1.227860e-04 3.885633e-07 0.00% + SCVtrans 2.681840e-04 8.486835e-07 0.00% + + >>> job completed at Wed Feb 8 15:55:00 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Wed Feb 8 15:55:00 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - not self-consistent + + writing formatted psp filename: ./O.vpp + + writing formatted psp filename: ./H.vpp + psi grids are being converted: + -----------------------------: + converting .... psi:1 spin:1 + converting .... psi:2 spin:1 + converting .... psi:3 spin:1 + converting .... psi:4 spin:1 + + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 2 + processor grid : 2 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: O valence charge = 6.0 lmax =2 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.700 0.700 0.700 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + O : 1 H : 2 + + initial ion positions (au): + 1 O ( 0.30530 -0.09999 0.06269 ) - atomic mass = 15.995 + 2 H ( 1.51755 0.69756 -0.96690 ) - atomic mass = 1.008 + 3 H ( -0.61524 -1.26531 -0.92324 ) - atomic mass = 1.008 + G.C. ( 0.40254 -0.22258 -0.60915 ) + C.O.M. ( 0.32163 -0.12057 -0.05011 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 17575.98 + lattice: a1 = < 26.000 0.000 0.000 > + a2 = < 0.000 26.000 0.000 > + a3 = < 0.000 0.000 26.000 > + reciprocal: b1 = < 0.242 0.000 0.000 > + b2 = < 0.000 0.242 0.000 > + b3 = < 0.000 0.000 0.242 > + lattice: a = 26.000 b = 26.000 c = 26.000 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 40.000 fft = 80 x 80 x 80 ( 106048 waves 53024 per task) + wavefnc cutoff = 20.000 fft = 80 x 80 x 80 ( 37447 waves 18724 per task) + + Ewald parameters: + energy cutoff = 40.000 fft = 80 x 80 x 80 ( 106048 waves 53024 per task) + Ewald summation: cut radius = 8.276 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Wed Feb 8 15:55:00 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 10 steepest descent iterations performed + 10 -1.709563334317e+01 -6.201449e-04 4.252710e-06 + 20 -1.709727702922e+01 -1.395575e-05 2.324062e-07 + 30 -1.709728935247e+01 -1.652084e-07 9.382706e-10 + 40 -1.709728957157e+01 -1.886704e-09 1.155902e-11 + 50 -1.709728957460e+01 -8.623040e-10 2.854954e-12 + *** tolerance ok. iteration terminated + >>> iteration ended at Wed Feb 8 15:55:18 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + total energy : -1.7097289575e+01 ( -5.69910e+00 /ion) + total orbital energy: -4.0996983104e+00 ( -1.02492e+00 /electron) + hartree energy : 1.7847984194e+01 ( 4.46200e+00 /electron) + exc-corr energy : -4.2204936652e+00 ( -1.05512e+00 /electron) + ion-ion energy : 3.5966388474e+00 ( 1.19888e+00 /ion) + + kinetic (planewave) : 1.2079256812e+01 ( 3.01981e+00 /electron) + V_local (planewave) : -4.5359046100e+01 ( -1.13398e+01 /electron) + V_nl (planewave) : -1.0416296625e+00 ( -2.60407e-01 /electron) + V_Coul (planewave) : 3.5695968387e+01 ( 8.92399e+00 /electron) + V_xc (planewave) : -5.4742477473e+00 ( -1.36856e+00 /electron) + Viral Coefficient : -1.3393998798e+00 + + orbital energy: + -2.6700298e-01 ( -7.266eV) + -3.3720536e-01 ( -9.176eV) + -5.0189171e-01 ( -13.657eV) + -9.4374911e-01 ( -25.681eV) + +== Center of Charge == + +spin up = ( 0.3298 -0.1310 -0.1068 ) +spin down = ( 0.3298 -0.1310 -0.1068 ) + total = ( 0.3298 -0.1310 -0.1068 ) +ionic = ( 0.3418 -0.1460 -0.1893 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 0.0958 -0.1200 -0.6599 ) au +|mu| = 0.6776 au ( 1.7221 Debye ) + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - not self-consistent + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 O -6.631 6.000 -0.631 + 2 H -0.684 1.000 0.316 + 3 H -0.685 1.000 0.315 + Total Q -8.000 8.000 0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 O 6.000 -0.775 -2.618 -3.238 + 2 H 1.000 -0.768 0.898 -0.814 + 3 H 1.000 -0.766 0.895 -0.814 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 2.074e-01 + main loop : 1.763e+01 + epilogue : 3.539e-02 + total : 1.787e+01 + cputime/step: 1.199e-01 ( 147 evaluations, 43 linesearches) + + Time spent doing total step percent + total time 2.858502e+01 1.944559e-01 100.00% + total FFT time 1.375915e+01 9.359967e-02 48.13% + lagrange multipliers 6.491466e-03 4.415963e-05 0.02% + local potentials 2.055162e-03 1.398069e-05 0.01% + non-local potentials 6.565625e-01 4.466411e-03 2.30% + ffm_dgemm 1.349019e-01 9.177001e-04 0.47% + fmf_dgemm 2.723509e-01 1.852727e-03 0.95% + m_diagonalize 1.154672e-03 7.854912e-06 0.00% + mmm_multiply 1.769340e-04 1.203633e-06 0.00% + SCVtrans 4.223900e-04 2.873401e-06 0.00% + + >>> job completed at Wed Feb 8 15:55:18 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Wed Feb 8 15:55:18 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + APC u: 1 0.03217 + APC u: 2 0.01847 + APC u: 3 0.01917 + - self-consistent + + writing formatted psp filename: ./O.vpp + + writing formatted psp filename: ./H.vpp + psi grids are being converted: + -----------------------------: + converting .... psi:1 spin:1 + converting .... psi:2 spin:1 + converting .... psi:3 spin:1 + converting .... psi:4 spin:1 + + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 2 + processor grid : 2 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: O valence charge = 6.0 lmax =2 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.700 0.700 0.700 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + O : 1 H : 2 + + initial ion positions (au): + 1 O ( 0.30530 -0.09999 0.06269 ) - atomic mass = 15.995 + 2 H ( 1.51755 0.69756 -0.96690 ) - atomic mass = 1.008 + 3 H ( -0.61524 -1.26531 -0.92324 ) - atomic mass = 1.008 + G.C. ( 0.40254 -0.22258 -0.60915 ) + C.O.M. ( 0.32163 -0.12057 -0.05011 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 17575.98 + lattice: a1 = < 26.000 0.000 0.000 > + a2 = < 0.000 26.000 0.000 > + a3 = < 0.000 0.000 26.000 > + reciprocal: b1 = < 0.242 0.000 0.000 > + b2 = < 0.000 0.242 0.000 > + b3 = < 0.000 0.000 0.242 > + lattice: a = 26.000 b = 26.000 c = 26.000 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) + + Ewald parameters: + energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + Ewald summation: cut radius = 8.276 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Wed Feb 8 15:55:18 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 10 steepest descent iterations performed + 10 -1.719854750852e+01 -5.739065e-05 1.086836e-06 + 20 -1.719866697103e+01 -1.561354e-06 7.029039e-08 + 30 -1.719867013369e+01 -4.633701e-08 1.534758e-10 + 40 -1.719867027116e+01 -2.334723e-09 4.231094e-11 + 50 -1.719867027638e+01 -8.356409e-10 1.415681e-11 + *** tolerance ok. iteration terminated + >>> iteration ended at Wed Feb 8 15:55:57 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + APC Potential: + 0.032168321 0.018471985 0.019170642 + + APC Point Charges: + -0.742599484 0.372218634 0.370380850 + + + total energy : -1.7198670276e+01 ( -5.73289e+00 /ion) + total orbital energy: -4.1186005525e+00 ( -1.02965e+00 /electron) + hartree energy : 1.8012763373e+01 ( 4.50319e+00 /electron) + exc-corr energy : -4.2447731089e+00 ( -1.06119e+00 /electron) + APC energy : -9.9121231898e-03 ( -3.30404e-03 /ion) + ion-ion energy : 3.5966383352e+00 ( 1.19888e+00 /ion) + + kinetic (planewave) : 1.2411600602e+01 ( 3.10290e+00 /electron) + V_local (planewave) : -4.5793468975e+01 ( -1.14484e+01 /electron) + V_nl (planewave) : -1.2574819137e+00 ( -3.14370e-01 /electron) + V_Coul (planewave) : 3.6025526747e+01 ( 9.00638e+00 /electron) + V_xc (planewave) : -5.5047770128e+00 ( -1.37619e+00 /electron) + K.S. V_APC energy : -8.5963533404e-02 ( -2.86545e-02 /ion) + Viral Coefficient : -1.3318347637e+00 + + orbital energy: + -2.7467794e-01 ( -7.474eV) + -3.4392861e-01 ( -9.359eV) + -5.0664632e-01 ( -13.787eV) + -9.3404742e-01 ( -25.417eV) + +== Center of Charge == + +spin up = ( 0.3274 -0.1283 -0.0913 ) +spin down = ( 0.3274 -0.1283 -0.0913 ) + total = ( 0.3274 -0.1283 -0.0913 ) +ionic = ( 0.3418 -0.1460 -0.1893 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 0.1153 -0.1410 -0.7838 ) au +|mu| = 0.8046 au ( 2.0451 Debye ) + + + Ion Forces (au): + 1 O ( 0.00014 -0.00159 0.00561 ) + 2 H ( -0.00082 -0.00158 -0.00230 ) + 3 H ( 0.00231 0.00170 -0.00152 ) + + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - self-consistent + + APC Potential: + 0.032168321 0.018471985 0.019170642 + + APC Point Charges: + -0.742599484 0.372218634 0.370380850 + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 O -6.743 6.000 -0.743 + 2 H -0.628 1.000 0.372 + 3 H -0.630 1.000 0.370 + Total Q -8.000 8.000 0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 O 6.000 -1.097 -2.076 -3.569 + 2 H 1.000 -0.718 0.776 -0.685 + 3 H 1.000 -0.718 0.778 -0.690 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 3.216e-01 + main loop : 3.835e+01 + epilogue : 9.508e-02 + total : 3.877e+01 + cputime/step: 2.591e-01 ( 148 evaluations, 44 linesearches) + + Time spent doing total step percent + total time 6.740602e+01 4.554461e-01 100.00% + total FFT time 3.190519e+01 2.155756e-01 47.33% + lagrange multipliers 1.727143e-02 1.166989e-04 0.03% + local potentials 2.936396e-01 1.984052e-03 0.44% + non-local potentials 1.386601e+00 9.368929e-03 2.06% + ffm_dgemm 3.163677e-01 2.137620e-03 0.47% + fmf_dgemm 6.150113e-01 4.155482e-03 0.91% + m_diagonalize 1.663961e-03 1.124298e-05 0.00% + mmm_multiply 2.607770e-04 1.762007e-06 0.00% + SCVtrans 6.144560e-04 4.151730e-06 0.00% + + >>> job completed at Wed Feb 8 15:55:57 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Wed Feb 8 15:55:57 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + APC u: 1 0.03217 + APC u: 2 0.01848 + APC u: 3 0.01917 + - self-consistent + + reading formatted psp filename: ./O.vpp + + reading formatted psp filename: ./H.vpp + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 2 + processor grid : 2 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: O valence charge = 6.0 lmax =2 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.700 0.700 0.700 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + O : 1 H : 2 + + initial ion positions (au): + 1 O ( 0.30530 -0.09999 0.06269 ) - atomic mass = 15.995 + 2 H ( 1.51755 0.69755 -0.96692 ) - atomic mass = 1.008 + 3 H ( -0.61523 -1.26531 -0.92326 ) - atomic mass = 1.008 + G.C. ( 0.40254 -0.22258 -0.60916 ) + C.O.M. ( 0.32163 -0.12057 -0.05011 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 17575.98 + lattice: a1 = < 26.000 0.000 0.000 > + a2 = < 0.000 26.000 0.000 > + a3 = < 0.000 0.000 26.000 > + reciprocal: b1 = < 0.242 0.000 0.000 > + b2 = < 0.000 0.242 0.000 > + b3 = < 0.000 0.000 0.242 > + lattice: a = 26.000 b = 26.000 c = 26.000 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) + + Ewald parameters: + energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + Ewald summation: cut radius = 8.276 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Wed Feb 8 15:55:57 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + 10 -1.719867286753e+01 -6.816379e-10 2.321485e-11 + *** tolerance ok. iteration terminated + >>> iteration ended at Wed Feb 8 15:55:58 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + APC Potential: + 0.032174976 0.018475289 0.019174010 + + APC Point Charges: + -0.742603988 0.372221498 0.370382490 + + + total energy : -1.7198672868e+01 ( -5.73289e+00 /ion) + total orbital energy: -4.1185877728e+00 ( -1.02965e+00 /electron) + hartree energy : 1.8012764978e+01 ( 4.50319e+00 /electron) + exc-corr energy : -4.2447737993e+00 ( -1.06119e+00 /electron) + APC energy : -9.9146481391e-03 ( -3.30488e-03 /ion) + ion-ion energy : 3.5966070435e+00 ( 1.19887e+00 /ion) + + kinetic (planewave) : 1.2411604235e+01 ( 3.10290e+00 /electron) + V_local (planewave) : -4.5793466800e+01 ( -1.14484e+01 /electron) + V_nl (planewave) : -1.2574773464e+00 ( -3.14369e-01 /electron) + V_Coul (planewave) : 3.6025529957e+01 ( 9.00638e+00 /electron) + V_xc (planewave) : -5.5047778183e+00 ( -1.37619e+00 /electron) + K.S. V_APC energy : -8.5983469375e-02 ( -2.86612e-02 /ion) + Viral Coefficient : -1.3318336369e+00 + + orbital energy: + -2.7467727e-01 ( -7.474eV) + -3.4393166e-01 ( -9.359eV) + -5.0664047e-01 ( -13.786eV) + -9.3404449e-01 ( -25.417eV) + +== Center of Charge == + +spin up = ( 0.3274 -0.1283 -0.0913 ) +spin down = ( 0.3274 -0.1283 -0.0913 ) + total = ( 0.3274 -0.1283 -0.0913 ) +ionic = ( 0.3418 -0.1460 -0.1893 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 0.1153 -0.1410 -0.7838 ) au +|mu| = 0.8047 au ( 2.0451 Debye ) + + + Ion Forces (au): + 1 O ( 0.00016 -0.00158 0.00552 ) + 2 H ( -0.00083 -0.00158 -0.00229 ) + 3 H ( 0.00230 0.00170 -0.00151 ) + + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - self-consistent + + APC Potential: + 0.032174976 0.018475289 0.019174010 + + APC Point Charges: + -0.742603988 0.372221498 0.370382490 + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 O -6.743 6.000 -0.743 + 2 H -0.628 1.000 0.372 + 3 H -0.630 1.000 0.370 + Total Q -8.000 8.000 -0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 O 6.000 -1.098 -2.076 -3.570 + 2 H 1.000 -0.718 0.776 -0.685 + 3 H 1.000 -0.718 0.778 -0.689 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 2.149e-01 + main loop : 1.028e+00 + epilogue : 9.464e-02 + total : 1.337e+00 + cputime/step: 2.569e-01 ( 4 evaluations, 1 linesearches) + + Time spent doing total step percent + total time 6.878885e+01 1.719721e+01 100.00% + total FFT time 3.238041e+01 8.095101e+00 47.07% + lagrange multipliers 1.727143e-02 4.317858e-03 0.03% + local potentials 3.068390e-01 7.670976e-02 0.45% + non-local potentials 1.418119e+00 3.545298e-01 2.06% + ffm_dgemm 3.211811e-01 8.029528e-02 0.47% + fmf_dgemm 6.225149e-01 1.556287e-01 0.90% + m_diagonalize 1.687134e-03 4.217835e-04 0.00% + mmm_multiply 2.625470e-04 6.563675e-05 0.00% + SCVtrans 6.195720e-04 1.548930e-04 0.00% + + >>> job completed at Wed Feb 8 15:55:58 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Wed Feb 8 15:55:58 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + APC u: 1 0.03219 + APC u: 2 0.01849 + APC u: 3 0.01918 + - self-consistent + + reading formatted psp filename: ./O.vpp + + reading formatted psp filename: ./H.vpp + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 2 + processor grid : 2 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: O valence charge = 6.0 lmax =2 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.700 0.700 0.700 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + O : 1 H : 2 + + initial ion positions (au): + 1 O ( 0.30530 -0.09999 0.06270 ) - atomic mass = 15.995 + 2 H ( 1.51756 0.69753 -0.96698 ) - atomic mass = 1.008 + 3 H ( -0.61520 -1.26530 -0.92331 ) - atomic mass = 1.008 + G.C. ( 0.40256 -0.22259 -0.60920 ) + C.O.M. ( 0.32163 -0.12057 -0.05011 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 17575.98 + lattice: a1 = < 26.000 0.000 0.000 > + a2 = < 0.000 26.000 0.000 > + a3 = < 0.000 0.000 26.000 > + reciprocal: b1 = < 0.242 0.000 0.000 > + b2 = < 0.000 0.242 0.000 > + b3 = < 0.000 0.000 0.242 > + lattice: a = 26.000 b = 26.000 c = 26.000 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) + + Ewald parameters: + energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + Ewald summation: cut radius = 8.276 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Wed Feb 8 15:55:58 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + 10 -1.719868062972e+01 -9.415189e-10 5.922185e-11 + *** tolerance ok. iteration terminated + >>> iteration ended at Wed Feb 8 15:56:01 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + APC Potential: + 0.032194911 0.018485184 0.019184100 + + APC Point Charges: + -0.742638640 0.372241291 0.370397350 + + + total energy : -1.7198680630e+01 ( -5.73289e+00 /ion) + total orbital energy: -4.1185937829e+00 ( -1.02965e+00 /electron) + hartree energy : 1.8012723256e+01 ( 4.50318e+00 /electron) + exc-corr energy : -4.2447666970e+00 ( -1.06119e+00 /electron) + APC energy : -9.9224962693e-03 ( -3.30750e-03 /ion) + ion-ion energy : 3.5965135890e+00 ( 1.19884e+00 /ion) + + kinetic (planewave) : 1.2411587836e+01 ( 3.10290e+00 /electron) + V_local (planewave) : -4.5793387800e+01 ( -1.14483e+01 /electron) + V_nl (planewave) : -1.2574717977e+00 ( -3.14368e-01 /electron) + V_Coul (planewave) : 3.6025446511e+01 ( 9.00636e+00 /electron) + V_xc (planewave) : -5.5047685322e+00 ( -1.37619e+00 /electron) + K.S. V_APC energy : -8.6043480840e-02 ( -2.86812e-02 /ion) + Viral Coefficient : -1.3318345596e+00 + + orbital energy: + -2.7468030e-01 ( -7.474eV) + -3.4394195e-01 ( -9.359eV) + -5.0663062e-01 ( -13.786eV) + -9.3404403e-01 ( -25.417eV) + +== Center of Charge == + +spin up = ( 0.3274 -0.1283 -0.0913 ) +spin down = ( 0.3274 -0.1283 -0.0913 ) + total = ( 0.3274 -0.1283 -0.0913 ) +ionic = ( 0.3418 -0.1460 -0.1893 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 0.1153 -0.1410 -0.7839 ) au +|mu| = 0.8048 au ( 2.0454 Debye ) + + + Ion Forces (au): + 1 O ( 0.00015 -0.00159 0.00561 ) + 2 H ( -0.00084 -0.00158 -0.00227 ) + 3 H ( 0.00230 0.00170 -0.00150 ) + + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - self-consistent + + APC Potential: + 0.032194911 0.018485184 0.019184100 + + APC Point Charges: + -0.742638640 0.372241291 0.370397350 + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 O -6.743 6.000 -0.743 + 2 H -0.628 1.000 0.372 + 3 H -0.630 1.000 0.370 + Total Q -8.000 8.000 -0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 O 6.000 -1.098 -2.075 -3.570 + 2 H 1.000 -0.718 0.776 -0.685 + 3 H 1.000 -0.718 0.778 -0.689 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 2.176e-01 + main loop : 2.646e+00 + epilogue : 9.532e-02 + total : 2.959e+00 + cputime/step: 2.646e-01 ( 10 evaluations, 3 linesearches) + + Time spent doing total step percent + total time 7.177175e+01 7.177175e+00 100.00% + total FFT time 3.363024e+01 3.363024e+00 46.86% + lagrange multipliers 1.727143e-02 1.727143e-03 0.02% + local potentials 3.324130e-01 3.324130e-02 0.46% + non-local potentials 1.479193e+00 1.479193e-01 2.06% + ffm_dgemm 3.339040e-01 3.339040e-02 0.47% + fmf_dgemm 6.453409e-01 6.453409e-02 0.90% + m_diagonalize 1.741743e-03 1.741743e-04 0.00% + mmm_multiply 2.680150e-04 2.680150e-05 0.00% + SCVtrans 6.333120e-04 6.333120e-05 0.00% + + >>> job completed at Wed Feb 8 15:56:01 2023 <<< diff --git a/examples/QUANTUM/NWChem/log.8Feb23.water.pwdft.qmmm.plugin.2 b/examples/QUANTUM/NWChem/log.8Feb23.water.pwdft.qmmm.plugin.2 new file mode 100644 index 0000000000..aa3606d029 --- /dev/null +++ b/examples/QUANTUM/NWChem/log.8Feb23.water.pwdft.qmmm.plugin.2 @@ -0,0 +1,954 @@ + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Wed Feb 8 15:51:08 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - not self-consistent + + writing formatted psp filename: ./O.vpp + + writing formatted psp filename: ./H.vpp + generating random psi from scratch + Warning - Gram-Schmidt being performed on psi2 + - exact norm = 8.00000 norm=8.86148 corrected norm=8.00000 (error=0.86148) + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 2 + processor grid : 2 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: O valence charge = 6.0 lmax =2 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.700 0.700 0.700 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + O : 1 H : 2 + + initial ion positions (au): + 1 O ( 0.30530 -0.09999 0.06269 ) - atomic mass = 15.995 + 2 H ( 1.51755 0.69756 -0.96690 ) - atomic mass = 1.008 + 3 H ( -0.61524 -1.26531 -0.92324 ) - atomic mass = 1.008 + G.C. ( 0.40254 -0.22258 -0.60915 ) + C.O.M. ( 0.32163 -0.12057 -0.05011 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 17575.98 + lattice: a1 = < 26.000 0.000 0.000 > + a2 = < 0.000 26.000 0.000 > + a3 = < 0.000 0.000 26.000 > + reciprocal: b1 = < 0.242 0.000 0.000 > + b2 = < 0.000 0.242 0.000 > + b3 = < 0.000 0.000 0.242 > + lattice: a = 26.000 b = 26.000 c = 26.000 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 20.000 fft = 54 x 54 x 54 ( 37447 waves 18724 per task) + wavefnc cutoff = 10.000 fft = 54 x 54 x 54 ( 13373 waves 6687 per task) + + Ewald parameters: + energy cutoff = 20.000 fft = 54 x 54 x 54 ( 37447 waves 18724 per task) + Ewald summation: cut radius = 8.276 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Wed Feb 8 15:51:09 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 10 steepest descent iterations performed + 10 -1.206279801672e+01 -4.150120e-01 1.996397e-03 + 20 -1.493506122443e+01 -1.422834e-01 1.506682e-03 + 30 -1.540348600009e+01 -2.354360e-02 7.931449e-05 + 40 -1.566981091704e+01 -3.162288e-02 2.353093e-04 + 50 -1.598278441045e+01 -2.666532e-02 2.366148e-04 + 60 -1.616463354121e+01 -1.223350e-02 7.334903e-05 + 70 -1.630473193885e+01 -3.266566e-04 2.297099e-06 + 80 -1.630526899088e+01 -2.459563e-06 7.181128e-09 + 90 -1.630527200045e+01 -1.255258e-08 3.774166e-10 + 100 -1.630527202340e+01 -8.822809e-10 1.152800e-11 + *** tolerance ok. iteration terminated + >>> iteration ended at Wed Feb 8 15:51:18 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + total energy : -1.6305272023e+01 ( -5.43509e+00 /ion) + total orbital energy: -4.4098310387e+00 ( -1.10246e+00 /electron) + hartree energy : 1.6681756106e+01 ( 4.17044e+00 /electron) + exc-corr energy : -4.0100672760e+00 ( -1.00252e+00 /electron) + ion-ion energy : 3.5966388474e+00 ( 1.19888e+00 /ion) + + kinetic (planewave) : 9.8614028188e+00 ( 2.46535e+00 /electron) + V_local (planewave) : -4.2645184847e+01 ( -1.06613e+01 /electron) + V_nl (planewave) : 2.1018232722e-01 ( 5.25456e-02 /electron) + V_Coul (planewave) : 3.3363512212e+01 ( 8.34088e+00 /electron) + V_xc (planewave) : -5.1997435500e+00 ( -1.29994e+00 /electron) + Viral Coefficient : -1.4471809052e+00 + + orbital energy: + -2.5265267e-01 ( -6.875eV) + -3.5266167e-01 ( -9.596eV) + -5.0407048e-01 ( -13.717eV) + -1.0955307e+00 ( -29.811eV) + +== Center of Charge == + +spin up = ( 0.3337 -0.1357 -0.1342 ) +spin down = ( 0.3337 -0.1357 -0.1342 ) + total = ( 0.3337 -0.1357 -0.1342 ) +ionic = ( 0.3418 -0.1460 -0.1893 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 0.0648 -0.0818 -0.4407 ) au +|mu| = 0.4529 au ( 1.1511 Debye ) + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - not self-consistent + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 O -6.416 6.000 -0.416 + 2 H -0.792 1.000 0.208 + 3 H -0.792 1.000 0.208 + Total Q -8.000 8.000 -0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 O 6.000 -0.083 -2.968 -3.365 + 2 H 1.000 -0.973 1.287 -1.106 + 3 H 1.000 -0.969 1.282 -1.104 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 1.158e-01 + main loop : 9.264e+00 + epilogue : 8.508e-03 + total : 9.388e+00 + cputime/step: 2.932e-02 ( 316 evaluations, 97 linesearches) + + Time spent doing total step percent + total time 9.361045e+00 2.962356e-02 100.00% + total FFT time 4.391524e+00 1.389723e-02 46.91% + lagrange multipliers 1.000841e-03 3.167218e-06 0.01% + local potentials 4.544660e-04 1.438184e-06 0.00% + non-local potentials 2.664875e-01 8.433148e-04 2.85% + ffm_dgemm 4.429686e-02 1.401799e-04 0.47% + fmf_dgemm 9.898879e-02 3.132557e-04 1.06% + m_diagonalize 6.658380e-04 2.107082e-06 0.01% + mmm_multiply 1.051730e-04 3.328259e-07 0.00% + SCVtrans 2.827170e-04 8.946741e-07 0.00% + + >>> job completed at Wed Feb 8 15:51:18 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Wed Feb 8 15:51:18 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - not self-consistent + + writing formatted psp filename: ./O.vpp + + writing formatted psp filename: ./H.vpp + psi grids are being converted: + -----------------------------: + converting .... psi:1 spin:1 + converting .... psi:2 spin:1 + converting .... psi:3 spin:1 + converting .... psi:4 spin:1 + + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 2 + processor grid : 2 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: O valence charge = 6.0 lmax =2 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.700 0.700 0.700 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + O : 1 H : 2 + + initial ion positions (au): + 1 O ( 0.30530 -0.09999 0.06269 ) - atomic mass = 15.995 + 2 H ( 1.51755 0.69756 -0.96690 ) - atomic mass = 1.008 + 3 H ( -0.61524 -1.26531 -0.92324 ) - atomic mass = 1.008 + G.C. ( 0.40254 -0.22258 -0.60915 ) + C.O.M. ( 0.32163 -0.12057 -0.05011 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 17575.98 + lattice: a1 = < 26.000 0.000 0.000 > + a2 = < 0.000 26.000 0.000 > + a3 = < 0.000 0.000 26.000 > + reciprocal: b1 = < 0.242 0.000 0.000 > + b2 = < 0.000 0.242 0.000 > + b3 = < 0.000 0.000 0.242 > + lattice: a = 26.000 b = 26.000 c = 26.000 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 40.000 fft = 80 x 80 x 80 ( 106048 waves 53024 per task) + wavefnc cutoff = 20.000 fft = 80 x 80 x 80 ( 37447 waves 18724 per task) + + Ewald parameters: + energy cutoff = 40.000 fft = 80 x 80 x 80 ( 106048 waves 53024 per task) + Ewald summation: cut radius = 8.276 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Wed Feb 8 15:51:18 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 10 steepest descent iterations performed + 10 -1.709563334317e+01 -6.201449e-04 4.252710e-06 + 20 -1.709727702922e+01 -1.395575e-05 2.324062e-07 + 30 -1.709728935247e+01 -1.652084e-07 9.382706e-10 + 40 -1.709728957157e+01 -1.886704e-09 1.155902e-11 + 50 -1.709728957460e+01 -8.623040e-10 2.854954e-12 + *** tolerance ok. iteration terminated + >>> iteration ended at Wed Feb 8 15:51:33 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + total energy : -1.7097289575e+01 ( -5.69910e+00 /ion) + total orbital energy: -4.0996983104e+00 ( -1.02492e+00 /electron) + hartree energy : 1.7847984194e+01 ( 4.46200e+00 /electron) + exc-corr energy : -4.2204936652e+00 ( -1.05512e+00 /electron) + ion-ion energy : 3.5966388474e+00 ( 1.19888e+00 /ion) + + kinetic (planewave) : 1.2079256812e+01 ( 3.01981e+00 /electron) + V_local (planewave) : -4.5359046100e+01 ( -1.13398e+01 /electron) + V_nl (planewave) : -1.0416296625e+00 ( -2.60407e-01 /electron) + V_Coul (planewave) : 3.5695968387e+01 ( 8.92399e+00 /electron) + V_xc (planewave) : -5.4742477473e+00 ( -1.36856e+00 /electron) + Viral Coefficient : -1.3393998798e+00 + + orbital energy: + -2.6700298e-01 ( -7.266eV) + -3.3720536e-01 ( -9.176eV) + -5.0189171e-01 ( -13.657eV) + -9.4374911e-01 ( -25.681eV) + +== Center of Charge == + +spin up = ( 0.3298 -0.1310 -0.1068 ) +spin down = ( 0.3298 -0.1310 -0.1068 ) + total = ( 0.3298 -0.1310 -0.1068 ) +ionic = ( 0.3418 -0.1460 -0.1893 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 0.0958 -0.1200 -0.6599 ) au +|mu| = 0.6776 au ( 1.7221 Debye ) + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - not self-consistent + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 O -6.631 6.000 -0.631 + 2 H -0.684 1.000 0.316 + 3 H -0.685 1.000 0.315 + Total Q -8.000 8.000 0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 O 6.000 -0.775 -2.618 -3.238 + 2 H 1.000 -0.768 0.898 -0.814 + 3 H 1.000 -0.766 0.895 -0.814 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 1.750e-01 + main loop : 1.525e+01 + epilogue : 2.840e-02 + total : 1.546e+01 + cputime/step: 1.038e-01 ( 147 evaluations, 43 linesearches) + + Time spent doing total step percent + total time 2.486473e+01 1.691478e-01 100.00% + total FFT time 1.180442e+01 8.030220e-02 47.47% + lagrange multipliers 5.373788e-03 3.655638e-05 0.02% + local potentials 1.815201e-03 1.234831e-05 0.01% + non-local potentials 6.301919e-01 4.287020e-03 2.53% + ffm_dgemm 1.205239e-01 8.198904e-04 0.48% + fmf_dgemm 2.346519e-01 1.596271e-03 0.94% + m_diagonalize 9.745520e-04 6.629605e-06 0.00% + mmm_multiply 1.509190e-04 1.026660e-06 0.00% + SCVtrans 4.188950e-04 2.849626e-06 0.00% + + >>> job completed at Wed Feb 8 15:51:33 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Wed Feb 8 15:51:33 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + APC u: 1 0.03217 + APC u: 2 0.01847 + APC u: 3 0.01917 + - self-consistent + + writing formatted psp filename: ./O.vpp + + writing formatted psp filename: ./H.vpp + psi grids are being converted: + -----------------------------: + converting .... psi:1 spin:1 + converting .... psi:2 spin:1 + converting .... psi:3 spin:1 + converting .... psi:4 spin:1 + + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 2 + processor grid : 2 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: O valence charge = 6.0 lmax =2 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.700 0.700 0.700 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + O : 1 H : 2 + + initial ion positions (au): + 1 O ( 0.30530 -0.09999 0.06269 ) - atomic mass = 15.995 + 2 H ( 1.51755 0.69756 -0.96690 ) - atomic mass = 1.008 + 3 H ( -0.61524 -1.26531 -0.92324 ) - atomic mass = 1.008 + G.C. ( 0.40254 -0.22258 -0.60915 ) + C.O.M. ( 0.32163 -0.12057 -0.05011 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 17575.98 + lattice: a1 = < 26.000 0.000 0.000 > + a2 = < 0.000 26.000 0.000 > + a3 = < 0.000 0.000 26.000 > + reciprocal: b1 = < 0.242 0.000 0.000 > + b2 = < 0.000 0.242 0.000 > + b3 = < 0.000 0.000 0.242 > + lattice: a = 26.000 b = 26.000 c = 26.000 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) + + Ewald parameters: + energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + Ewald summation: cut radius = 8.276 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Wed Feb 8 15:51:34 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 10 steepest descent iterations performed + 10 -1.719854750853e+01 -5.739066e-05 1.086836e-06 + 20 -1.719866697103e+01 -1.561353e-06 7.029039e-08 + 30 -1.719867013369e+01 -4.633685e-08 1.534758e-10 + 40 -1.719867027116e+01 -2.335167e-09 4.231098e-11 + 50 -1.719867027638e+01 -8.363159e-10 1.415691e-11 + *** tolerance ok. iteration terminated + >>> iteration ended at Wed Feb 8 15:52:07 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + APC Potential: + 0.032168321 0.018471985 0.019170642 + + APC Point Charges: + -0.742599484 0.372218634 0.370380850 + + + total energy : -1.7198670276e+01 ( -5.73289e+00 /ion) + total orbital energy: -4.1186005526e+00 ( -1.02965e+00 /electron) + hartree energy : 1.8012763373e+01 ( 4.50319e+00 /electron) + exc-corr energy : -4.2447731088e+00 ( -1.06119e+00 /electron) + APC energy : -9.9121231907e-03 ( -3.30404e-03 /ion) + ion-ion energy : 3.5966383352e+00 ( 1.19888e+00 /ion) + + kinetic (planewave) : 1.2411600602e+01 ( 3.10290e+00 /electron) + V_local (planewave) : -4.5793468974e+01 ( -1.14484e+01 /electron) + V_nl (planewave) : -1.2574819137e+00 ( -3.14370e-01 /electron) + V_Coul (planewave) : 3.6025526746e+01 ( 9.00638e+00 /electron) + V_xc (planewave) : -5.5047770128e+00 ( -1.37619e+00 /electron) + K.S. V_APC energy : -8.5963533405e-02 ( -2.86545e-02 /ion) + Viral Coefficient : -1.3318347637e+00 + + orbital energy: + -2.7467794e-01 ( -7.474eV) + -3.4392861e-01 ( -9.359eV) + -5.0664632e-01 ( -13.787eV) + -9.3404742e-01 ( -25.417eV) + +== Center of Charge == + +spin up = ( 0.3274 -0.1283 -0.0913 ) +spin down = ( 0.3274 -0.1283 -0.0913 ) + total = ( 0.3274 -0.1283 -0.0913 ) +ionic = ( 0.3418 -0.1460 -0.1893 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 0.1153 -0.1410 -0.7838 ) au +|mu| = 0.8046 au ( 2.0451 Debye ) + + + Ion Forces (au): + 1 O ( 0.00014 -0.00159 0.00561 ) + 2 H ( -0.00082 -0.00158 -0.00230 ) + 3 H ( 0.00231 0.00170 -0.00152 ) + + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - self-consistent + + APC Potential: + 0.032168321 0.018471985 0.019170642 + + APC Point Charges: + -0.742599484 0.372218634 0.370380850 + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 O -6.743 6.000 -0.743 + 2 H -0.628 1.000 0.372 + 3 H -0.630 1.000 0.370 + Total Q -8.000 8.000 -0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 O 6.000 -1.097 -2.076 -3.569 + 2 H 1.000 -0.718 0.776 -0.685 + 3 H 1.000 -0.718 0.778 -0.690 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 2.776e-01 + main loop : 3.341e+01 + epilogue : 8.123e-02 + total : 3.377e+01 + cputime/step: 2.258e-01 ( 148 evaluations, 44 linesearches) + + Time spent doing total step percent + total time 5.870426e+01 3.966504e-01 100.00% + total FFT time 2.757222e+01 1.862988e-01 46.97% + lagrange multipliers 1.439599e-02 9.727022e-05 0.02% + local potentials 2.612066e-01 1.764910e-03 0.44% + non-local potentials 1.313983e+00 8.878267e-03 2.24% + ffm_dgemm 2.830021e-01 1.912177e-03 0.48% + fmf_dgemm 5.364307e-01 3.624532e-03 0.91% + m_diagonalize 1.321422e-03 8.928527e-06 0.00% + mmm_multiply 2.068650e-04 1.397736e-06 0.00% + SCVtrans 6.028430e-04 4.073264e-06 0.00% + + >>> job completed at Wed Feb 8 15:52:07 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Wed Feb 8 15:52:07 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + APC u: 1 0.03217 + APC u: 2 0.01848 + APC u: 3 0.01917 + - self-consistent + + reading formatted psp filename: ./O.vpp + + reading formatted psp filename: ./H.vpp + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 2 + processor grid : 2 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: O valence charge = 6.0 lmax =2 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.700 0.700 0.700 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + O : 1 H : 2 + + initial ion positions (au): + 1 O ( 0.30530 -0.09999 0.06269 ) - atomic mass = 15.995 + 2 H ( 1.51755 0.69755 -0.96692 ) - atomic mass = 1.008 + 3 H ( -0.61523 -1.26531 -0.92326 ) - atomic mass = 1.008 + G.C. ( 0.40254 -0.22258 -0.60916 ) + C.O.M. ( 0.32163 -0.12057 -0.05011 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 17575.98 + lattice: a1 = < 26.000 0.000 0.000 > + a2 = < 0.000 26.000 0.000 > + a3 = < 0.000 0.000 26.000 > + reciprocal: b1 = < 0.242 0.000 0.000 > + b2 = < 0.000 0.242 0.000 > + b3 = < 0.000 0.000 0.242 > + lattice: a = 26.000 b = 26.000 c = 26.000 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) + + Ewald parameters: + energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + Ewald summation: cut radius = 8.276 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Wed Feb 8 15:52:07 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + 10 -1.719867286753e+01 -6.805578e-10 2.321480e-11 + *** tolerance ok. iteration terminated + >>> iteration ended at Wed Feb 8 15:52:08 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + APC Potential: + 0.032174976 0.018475289 0.019174010 + + APC Point Charges: + -0.742603988 0.372221498 0.370382490 + + + total energy : -1.7198672868e+01 ( -5.73289e+00 /ion) + total orbital energy: -4.1185877729e+00 ( -1.02965e+00 /electron) + hartree energy : 1.8012764978e+01 ( 4.50319e+00 /electron) + exc-corr energy : -4.2447737993e+00 ( -1.06119e+00 /electron) + APC energy : -9.9146481390e-03 ( -3.30488e-03 /ion) + ion-ion energy : 3.5966070435e+00 ( 1.19887e+00 /ion) + + kinetic (planewave) : 1.2411604235e+01 ( 3.10290e+00 /electron) + V_local (planewave) : -4.5793466800e+01 ( -1.14484e+01 /electron) + V_nl (planewave) : -1.2574773463e+00 ( -3.14369e-01 /electron) + V_Coul (planewave) : 3.6025529957e+01 ( 9.00638e+00 /electron) + V_xc (planewave) : -5.5047778182e+00 ( -1.37619e+00 /electron) + K.S. V_APC energy : -8.5983469376e-02 ( -2.86612e-02 /ion) + Viral Coefficient : -1.3318336369e+00 + + orbital energy: + -2.7467727e-01 ( -7.474eV) + -3.4393166e-01 ( -9.359eV) + -5.0664047e-01 ( -13.786eV) + -9.3404449e-01 ( -25.417eV) + +== Center of Charge == + +spin up = ( 0.3274 -0.1283 -0.0913 ) +spin down = ( 0.3274 -0.1283 -0.0913 ) + total = ( 0.3274 -0.1283 -0.0913 ) +ionic = ( 0.3418 -0.1460 -0.1893 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 0.1153 -0.1410 -0.7838 ) au +|mu| = 0.8047 au ( 2.0451 Debye ) + + + Ion Forces (au): + 1 O ( 0.00016 -0.00158 0.00552 ) + 2 H ( -0.00083 -0.00158 -0.00229 ) + 3 H ( 0.00230 0.00170 -0.00151 ) + + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - self-consistent + + APC Potential: + 0.032174976 0.018475289 0.019174010 + + APC Point Charges: + -0.742603988 0.372221498 0.370382490 + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 O -6.743 6.000 -0.743 + 2 H -0.628 1.000 0.372 + 3 H -0.630 1.000 0.370 + Total Q -8.000 8.000 0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 O 6.000 -1.098 -2.076 -3.570 + 2 H 1.000 -0.718 0.776 -0.685 + 3 H 1.000 -0.718 0.778 -0.689 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 1.915e-01 + main loop : 9.137e-01 + epilogue : 8.119e-02 + total : 1.186e+00 + cputime/step: 2.284e-01 ( 4 evaluations, 1 linesearches) + + Time spent doing total step percent + total time 5.992501e+01 1.498125e+01 100.00% + total FFT time 2.799652e+01 6.999131e+00 46.72% + lagrange multipliers 1.439599e-02 3.598998e-03 0.02% + local potentials 2.731576e-01 6.828941e-02 0.46% + non-local potentials 1.343674e+00 3.359185e-01 2.24% + ffm_dgemm 2.875073e-01 7.187682e-02 0.48% + fmf_dgemm 5.430685e-01 1.357671e-01 0.91% + m_diagonalize 1.342049e-03 3.355122e-04 0.00% + mmm_multiply 2.087340e-04 5.218350e-05 0.00% + SCVtrans 6.080600e-04 1.520150e-04 0.00% + + >>> job completed at Wed Feb 8 15:52:08 2023 <<< diff --git a/examples/QUANTUM/NWChem/log.8Feb23.water.qmmm.mpi.1 b/examples/QUANTUM/NWChem/log.8Feb23.water.qmmm.mpi.1 new file mode 100644 index 0000000000..177c9fdf5b --- /dev/null +++ b/examples/QUANTUM/NWChem/log.8Feb23.water.qmmm.mpi.1 @@ -0,0 +1,149 @@ +LAMMPS (22 Dec 2022) +# QMMM with NWChem + +units real +atom_style full + +bond_style harmonic +angle_style harmonic + +read_data data.water.qmmm +Reading data file ... + orthogonal box = (-6.879301 -6.879301 -6.879301) to (6.879301 6.879301 6.879301) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 6 atoms + scanning bonds ... + 2 = max bonds/atom + scanning angles ... + 1 = max angles/atom + reading bonds ... + 4 bonds + reading angles ... + 2 angles +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.002 seconds + +# QM atoms are 1st water +# MM atoms are 2nd water + +group qm molecule 1 +3 atoms in group qm +group mm molecule 2 +3 atoms in group mm + +# remove bonds/angles between QM atoms + +delete_bonds qm multi remove special +System init for delete_bonds ... +Deleting bonds ... + 2 total bonds, 2 turned on, 0 turned off + 1 total angles, 1 turned on, 0 turned off + 0 total dihedrals, 0 turned on, 0 turned off + 0 total impropers, 0 turned on, 0 turned off +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# pair style must define stand-alone short-range Coulombics +# must specify mixing explicitly b/c hybrid/overlay +# QM O,H = types 1,2 +# MM O,H = types 3,4 +# QM O,H atoms do not LJ interact with each other +# only MM O atoms LJ interact with other b/c MM H is zero +# MM/QM O do LJ interact with each other, same as pair of MM O atoms +# MM O and QM H do LJ interact with each other with non-zero H epsilon = 0.044 +# geometric mixing for epsilon, arithmetic for sigma +# this is to provide stability for QM H atoms + +# mixing only for MM-O/QM-O and MM-O/QM-H + +pair_style hybrid/overlay lj/cut 6.0 coul/cut 6.0 +pair_coeff 1 1 lj/cut 0.0 3.165558 +pair_coeff 2 2 lj/cut 0.0 0.7 +pair_coeff 3 3 lj/cut 0.155394 3.165558 +pair_coeff 4 4 lj/cut 0.0 0.7 +pair_coeff 1 3 lj/cut 0.155394 3.165558 +pair_coeff 2 3 lj/cut 0.08268818537130924 1.932779 +pair_coeff * * coul/cut + +neighbor 1.0 bin +neigh_modify delay 0 every 1 check yes + +# QMMM dynamics + +timestep 0.1 + +fix 1 all nve + +fix 2 qm mdi/qmmm potential elements O H O H +fix_modify 2 energy yes + +thermo_style custom step cpu temp ke evdwl ecoul epair emol elong f_2 pe etotal press + +thermo 1 +run 2 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 4 4 4 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair lj/cut, perpetual, skip from (2) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (2) pair coul/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 7.445 | 7.445 | 7.445 Mbytes + Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long f_2 PotEng TotEng Press + 0 0 0 0 0.95937448 -170.68735 -169.72797 3.3962859 0 -10627.878 -10794.209 -10794.209 -374.81058 + 1 1.3827511 1.1713705 0.017458165 0.95934217 -170.68987 -169.73053 3.3804649 0 -10627.878 -10794.229 -10794.211 -376.91596 + 2 4.3658207 4.6633575 0.069502914 0.95924532 -170.70698 -169.74773 3.3333254 0 -10627.871 -10794.286 -10794.216 -383.31463 +Loop time of 4.36586 on 1 procs for 2 steps with 6 atoms + +Performance: 0.004 ns/day, 6063.691 hours/ns, 0.458 timesteps/s, 2.749 atom-step/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 7.572e-06 | 7.572e-06 | 7.572e-06 | 0.0 | 0.00 +Bond | 5.119e-06 | 5.119e-06 | 5.119e-06 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 2.881e-06 | 2.881e-06 | 2.881e-06 | 0.0 | 0.00 +Output | 5.439e-05 | 5.439e-05 | 5.439e-05 | 0.0 | 0.00 +Modify | 4.3658 | 4.3658 | 4.3658 | 0.0 |100.00 +Other | | 6.093e-06 | | | 0.00 + +Nlocal: 6 ave 6 max 6 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 56 ave 56 max 56 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 12 ave 12 max 12 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 12 +Ave neighs/atom = 2 +Ave special neighs/atom = 1 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:01:11 diff --git a/examples/QUANTUM/NWChem/log.8Feb23.water.qmmm.plugin.2 b/examples/QUANTUM/NWChem/log.8Feb23.water.qmmm.plugin.2 new file mode 100644 index 0000000000..3dd19335b3 --- /dev/null +++ b/examples/QUANTUM/NWChem/log.8Feb23.water.qmmm.plugin.2 @@ -0,0 +1,151 @@ +LAMMPS (22 Dec 2022) +# QMMM with NWChem + +units real +atom_style full + +bond_style harmonic +angle_style harmonic + +read_data data.water.qmmm +Reading data file ... + orthogonal box = (-6.879301 -6.879301 -6.879301) to (6.879301 6.879301 6.879301) + 1 by 1 by 2 MPI processor grid + reading atoms ... + 6 atoms + scanning bonds ... + 2 = max bonds/atom + scanning angles ... + 1 = max angles/atom + reading bonds ... + 4 bonds + reading angles ... + 2 angles +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +# QM atoms are 1st water +# MM atoms are 2nd water + +group qm molecule 1 +3 atoms in group qm +group mm molecule 2 +3 atoms in group mm + +# remove bonds/angles between QM atoms + +delete_bonds qm multi remove special +System init for delete_bonds ... +Deleting bonds ... + 2 total bonds, 2 turned on, 0 turned off + 1 total angles, 1 turned on, 0 turned off + 0 total dihedrals, 0 turned on, 0 turned off + 0 total impropers, 0 turned on, 0 turned off +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# pair style must define stand-alone short-range Coulombics +# must specify mixing explicitly b/c hybrid/overlay +# QM O,H = types 1,2 +# MM O,H = types 3,4 +# QM O,H atoms do not LJ interact with each other +# only MM O atoms LJ interact with other b/c MM H is zero +# MM/QM O do LJ interact with each other, same as pair of MM O atoms +# MM O and QM H do LJ interact with each other with non-zero H epsilon = 0.044 +# geometric mixing for epsilon, arithmetic for sigma +# this is to provide stability for QM H atoms + +# mixing only for MM-O/QM-O and MM-O/QM-H + +pair_style hybrid/overlay lj/cut 6.0 coul/cut 6.0 +pair_coeff 1 1 lj/cut 0.0 3.165558 +pair_coeff 2 2 lj/cut 0.0 0.7 +pair_coeff 3 3 lj/cut 0.155394 3.165558 +pair_coeff 4 4 lj/cut 0.0 0.7 +pair_coeff 1 3 lj/cut 0.155394 3.165558 +pair_coeff 2 3 lj/cut 0.08268818537130924 1.932779 +pair_coeff * * coul/cut + +neighbor 1.0 bin +neigh_modify delay 0 every 1 check yes + +# QMMM dynamics + +timestep 0.1 + +fix 1 all nve + +fix 2 qm mdi/qmmm potential elements O H O H +fix_modify 2 energy yes + +thermo_style custom step cpu temp ke evdwl ecoul epair emol elong f_2 pe etotal press +thermo 1 + +variable p equal extract_setting(world_size) + +mdi plugin nwchem_mdi mdi "-role ENGINE -name NWChem -method LINK" extra "template.water.nw water.dimer.nw log.water.pwdft.qmmm.plugin.$p" command "run 1" +run 1 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 4 4 4 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair lj/cut, perpetual, skip from (2) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (2) pair coul/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 7.453 | 7.453 | 7.453 Mbytes + Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long f_2 PotEng TotEng Press + 0 0 0 0 0.95937448 -170.68735 -169.72797 3.3962859 0 -10627.878 -10794.209 -10794.209 -374.81058 + 1 1.2206038 1.1713705 0.017458165 0.95934217 -170.68987 -169.73053 3.3804649 0 -10627.878 -10794.229 -10794.211 -376.91596 +Loop time of 1.22062 on 2 procs for 1 steps with 6 atoms + +Performance: 0.007 ns/day, 3390.614 hours/ns, 0.819 timesteps/s, 4.916 atom-step/s +88.7% CPU use with 2 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 4.563e-06 | 4.9165e-06 | 5.27e-06 | 0.0 | 0.00 +Bond | 1.201e-06 | 2.0745e-06 | 2.948e-06 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 7.511e-06 | 8.0675e-06 | 8.624e-06 | 0.0 | 0.00 +Output | 1.7987e-05 | 1.9748e-05 | 2.151e-05 | 0.0 | 0.00 +Modify | 1.2206 | 1.2206 | 1.2206 | 0.0 |100.00 +Other | | 7.148e-06 | | | 0.00 + +Nlocal: 3 ave 4 max 2 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 42 ave 46 max 38 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 6 ave 9 max 3 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 12 +Ave neighs/atom = 2 +Ave special neighs/atom = 1 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:01:00 diff --git a/examples/QUANTUM/NWChem/log.8Feb23.zeolite.pwdft.qmmm.mpi.8 b/examples/QUANTUM/NWChem/log.8Feb23.zeolite.pwdft.qmmm.mpi.8 new file mode 100644 index 0000000000..79c41a6583 --- /dev/null +++ b/examples/QUANTUM/NWChem/log.8Feb23.zeolite.pwdft.qmmm.mpi.8 @@ -0,0 +1,1237 @@ + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Wed Feb 8 15:56:29 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 15 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - not self-consistent + + writing formatted psp filename: ./C.vpp + + writing formatted psp filename: ./H.vpp + generating random psi from scratch + Warning - Gram-Schmidt being performed on psi2 + - exact norm = 8.00000 norm=11.14999 corrected norm=8.00000 (error=3.14999) + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 8 + processor grid : 8 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: C valence charge = 4.0 lmax =2 + comment = Parameterized (J.Phys.Chem., vol 100, page 6966) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.800 0.850 0.850 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + C : 1 H : 4 + + initial ion positions (au): + 1 C ( 0.00000 0.00000 0.00000 ) - atomic mass = 12.000 + 2 H ( 0.00000 -1.68186 -1.18920 ) - atomic mass = 1.008 + 3 H ( 0.00000 1.68186 -1.18920 ) - atomic mass = 1.008 + 4 H ( -1.68186 0.00000 1.18920 ) - atomic mass = 1.008 + 5 H ( 1.68186 0.00000 1.18920 ) - atomic mass = 1.008 + G.C. ( 0.00000 0.00000 0.00000 ) + C.O.M. ( 0.00000 0.00000 0.00000 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 11427.15 + lattice: a1 = < 22.524 0.000 0.000 > + a2 = < 0.000 22.524 0.000 > + a3 = < 0.000 0.000 22.524 > + reciprocal: b1 = < 0.279 0.000 0.000 > + b2 = < 0.000 0.279 0.000 > + b3 = < 0.000 0.000 0.279 > + lattice: a = 22.524 b = 22.524 c = 22.524 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 20.000 fft = 48 x 48 x 48 ( 24443 waves 3055 per task) + wavefnc cutoff = 10.000 fft = 48 x 48 x 48 ( 8635 waves 1082 per task) + + Ewald parameters: + energy cutoff = 20.000 fft = 48 x 48 x 48 ( 24443 waves 3056 per task) + Ewald summation: cut radius = 7.170 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 13.97278811) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Wed Feb 8 15:56:30 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 10 steepest descent iterations performed + 10 -4.015778017555e+00 -8.950880e-01 9.521525e-03 + 20 -7.168607288639e+00 -1.211657e-01 6.666735e-04 + 30 -7.792688812721e+00 -3.040395e-02 9.684556e-05 + 40 -8.000542056573e+00 -6.282802e-02 2.041443e-03 + 50 -8.004880148959e+00 -4.414040e-06 1.088767e-08 + 60 -8.004884700760e+00 -1.109801e-08 4.722130e-10 + 70 -8.004884709359e+00 -7.697469e-10 5.533625e-12 + *** tolerance ok. iteration terminated + >>> iteration ended at Wed Feb 8 15:56:34 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + total energy : -8.0048847094e+00 ( -1.60098e+00 /ion) + total orbital energy: -3.3307050256e+00 ( -8.32676e-01 /electron) + hartree energy : 1.1149965251e+01 ( 2.78749e+00 /electron) + exc-corr energy : -3.1592096400e+00 ( -7.89802e-01 /electron) + ion-ion energy : 5.5453342775e+00 ( 1.10907e+00 /ion) + + kinetic (planewave) : 6.0258056329e+00 ( 1.50645e+00 /electron) + V_local (planewave) : -2.6995520036e+01 ( -6.74888e+00 /electron) + V_nl (planewave) : -5.7126019492e-01 ( -1.42815e-01 /electron) + V_Coul (planewave) : 2.2299930502e+01 ( 5.57498e+00 /electron) + V_xc (planewave) : -4.0896609298e+00 ( -1.02242e+00 /electron) + Viral Coefficient : -1.5527402025e+00 + + orbital energy: + -3.4457408e-01 ( -9.376eV) + -3.4457426e-01 ( -9.376eV) + -3.4460416e-01 ( -9.377eV) + -6.3160002e-01 ( -17.187eV) + +== Center of Charge == + +spin up = ( 0.0000 0.0000 -0.0000 ) +spin down = ( 0.0000 0.0000 -0.0000 ) + total = ( 0.0000 0.0000 -0.0000 ) +ionic = ( 0.0000 0.0000 0.0000 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( -0.0000 -0.0000 0.0000 ) au +|mu| = 0.0000 au ( 0.0001 Debye ) + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 15 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - not self-consistent + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 C -4.357 4.000 -0.357 + 2 H -0.911 1.000 0.089 + 3 H -0.911 1.000 0.089 + 4 H -0.911 1.000 0.089 + 5 H -0.911 1.000 0.089 + Total Q -8.000 8.000 0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 C 4.000 0.118 -0.153 -4.322 + 2 H 1.000 -0.880 1.004 -1.035 + 3 H 1.000 -0.880 1.004 -1.035 + 4 H 1.000 -0.880 1.004 -1.035 + 5 H 1.000 -0.880 1.004 -1.035 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 1.786e-01 + main loop : 4.206e+00 + epilogue : 1.733e-02 + total : 4.402e+00 + cputime/step: 1.993e-02 ( 211 evaluations, 64 linesearches) + + Time spent doing total step percent + total time 4.408692e+00 2.089428e-02 100.00% + total FFT time 2.193133e+00 1.039399e-02 49.75% + lagrange multipliers 5.547700e-04 2.629242e-06 0.01% + local potentials 2.238790e-04 1.061038e-06 0.01% + non-local potentials 8.471583e-02 4.014968e-04 1.92% + ffm_dgemm 1.942205e-02 9.204764e-05 0.44% + fmf_dgemm 4.509609e-02 2.137255e-04 1.02% + m_diagonalize 1.102093e-03 5.223190e-06 0.02% + mmm_multiply 1.631320e-04 7.731374e-07 0.00% + SCVtrans 2.999520e-04 1.421573e-06 0.01% + + >>> job completed at Wed Feb 8 15:56:34 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Wed Feb 8 15:56:34 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 15 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - not self-consistent + + writing formatted psp filename: ./C.vpp + + writing formatted psp filename: ./H.vpp + psi grids are being converted: + -----------------------------: + converting .... psi:1 spin:1 + converting .... psi:2 spin:1 + converting .... psi:3 spin:1 + converting .... psi:4 spin:1 + + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 8 + processor grid : 8 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: C valence charge = 4.0 lmax =2 + comment = Parameterized (J.Phys.Chem., vol 100, page 6966) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.800 0.850 0.850 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + C : 1 H : 4 + + initial ion positions (au): + 1 C ( 0.00000 0.00000 0.00000 ) - atomic mass = 12.000 + 2 H ( 0.00000 -1.68186 -1.18920 ) - atomic mass = 1.008 + 3 H ( 0.00000 1.68186 -1.18920 ) - atomic mass = 1.008 + 4 H ( -1.68186 0.00000 1.18920 ) - atomic mass = 1.008 + 5 H ( 1.68186 0.00000 1.18920 ) - atomic mass = 1.008 + G.C. ( 0.00000 0.00000 0.00000 ) + C.O.M. ( 0.00000 0.00000 0.00000 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 11427.15 + lattice: a1 = < 22.524 0.000 0.000 > + a2 = < 0.000 22.524 0.000 > + a3 = < 0.000 0.000 22.524 > + reciprocal: b1 = < 0.279 0.000 0.000 > + b2 = < 0.000 0.279 0.000 > + b3 = < 0.000 0.000 0.279 > + lattice: a = 22.524 b = 22.524 c = 22.524 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 40.000 fft = 70 x 70 x 70 ( 69109 waves 8638 per task) + wavefnc cutoff = 20.000 fft = 70 x 70 x 70 ( 24443 waves 3058 per task) + + Ewald parameters: + energy cutoff = 40.000 fft = 70 x 70 x 70 ( 69109 waves 8639 per task) + Ewald summation: cut radius = 7.170 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 13.97278811) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Wed Feb 8 15:56:34 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 10 steepest descent iterations performed + 10 -8.100895220690e+00 -2.003351e-05 1.957562e-07 + 20 -8.100916865599e+00 -5.848813e-08 2.094199e-09 + 30 -8.100916942703e+00 -7.799379e-10 2.384248e-12 + *** tolerance ok. iteration terminated + >>> iteration ended at Wed Feb 8 15:56:41 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + total energy : -8.1009169427e+00 ( -1.62018e+00 /ion) + total orbital energy: -3.3061472580e+00 ( -8.26537e-01 /electron) + hartree energy : 1.1275956608e+01 ( 2.81899e+00 /electron) + exc-corr energy : -3.1783715095e+00 ( -7.94593e-01 /electron) + ion-ion energy : 5.5453342775e+00 ( 1.10907e+00 /ion) + + kinetic (planewave) : 6.2996005772e+00 ( 1.57490e+00 /electron) + V_local (planewave) : -2.7309843346e+01 ( -6.82746e+00 /electron) + V_nl (planewave) : -7.3359354921e-01 ( -1.83398e-01 /electron) + V_Coul (planewave) : 2.2551913216e+01 ( 5.63798e+00 /electron) + V_xc (planewave) : -4.1142241551e+00 ( -1.02856e+00 /electron) + Viral Coefficient : -1.5248185528e+00 + + orbital energy: + -3.4481150e-01 ( -9.383eV) + -3.4482363e-01 ( -9.383eV) + -3.4482363e-01 ( -9.383eV) + -6.1861486e-01 ( -16.834eV) + +== Center of Charge == + +spin up = ( 0.0000 0.0000 -0.0000 ) +spin down = ( 0.0000 0.0000 -0.0000 ) + total = ( 0.0000 0.0000 -0.0000 ) +ionic = ( 0.0000 0.0000 0.0000 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( -0.0000 -0.0000 0.0000 ) au +|mu| = 0.0000 au ( 0.0000 Debye ) + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 15 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - not self-consistent + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 C -4.413 4.000 -0.413 + 2 H -0.897 1.000 0.103 + 3 H -0.897 1.000 0.103 + 4 H -0.897 1.000 0.103 + 5 H -0.897 1.000 0.103 + Total Q -8.000 8.000 -0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 C 4.000 0.005 -0.109 -4.310 + 2 H 1.000 -0.863 0.973 -1.007 + 3 H 1.000 -0.863 0.973 -1.007 + 4 H 1.000 -0.863 0.973 -1.007 + 5 H 1.000 -0.863 0.973 -1.007 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 4.379e-01 + main loop : 6.488e+00 + epilogue : 5.221e-02 + total : 6.978e+00 + cputime/step: 6.424e-02 ( 101 evaluations, 29 linesearches) + + Time spent doing total step percent + total time 1.139487e+01 1.128205e-01 100.00% + total FFT time 5.865261e+00 5.807189e-02 51.47% + lagrange multipliers 3.433015e-03 3.399025e-05 0.03% + local potentials 1.343883e-03 1.330577e-05 0.01% + non-local potentials 1.975934e-01 1.956370e-03 1.73% + ffm_dgemm 4.447183e-02 4.403152e-04 0.39% + fmf_dgemm 1.131250e-01 1.120050e-03 0.99% + m_diagonalize 1.733021e-03 1.715862e-05 0.02% + mmm_multiply 2.365410e-04 2.341990e-06 0.00% + SCVtrans 4.573300e-04 4.528020e-06 0.00% + + >>> job completed at Wed Feb 8 15:56:41 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Wed Feb 8 15:56:41 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 15 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + APC u: 1 0.08594 + APC u: 2 0.00683 + APC u: 3 0.01041 + APC u: 4 0.01015 + APC u: 5 0.01373 + - self-consistent + + writing formatted psp filename: ./C.vpp + + writing formatted psp filename: ./H.vpp + psi grids are being converted: + -----------------------------: + converting .... psi:1 spin:1 + converting .... psi:2 spin:1 + converting .... psi:3 spin:1 + converting .... psi:4 spin:1 + + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 8 + processor grid : 8 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: C valence charge = 4.0 lmax =2 + comment = Parameterized (J.Phys.Chem., vol 100, page 6966) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.800 0.850 0.850 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + C : 1 H : 4 + + initial ion positions (au): + 1 C ( 0.00000 0.00000 0.00000 ) - atomic mass = 12.000 + 2 H ( 0.00000 -1.68186 -1.18920 ) - atomic mass = 1.008 + 3 H ( 0.00000 1.68186 -1.18920 ) - atomic mass = 1.008 + 4 H ( -1.68186 0.00000 1.18920 ) - atomic mass = 1.008 + 5 H ( 1.68186 0.00000 1.18920 ) - atomic mass = 1.008 + G.C. ( 0.00000 0.00000 0.00000 ) + C.O.M. ( 0.00000 0.00000 0.00000 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 11427.15 + lattice: a1 = < 22.524 0.000 0.000 > + a2 = < 0.000 22.524 0.000 > + a3 = < 0.000 0.000 22.524 > + reciprocal: b1 = < 0.279 0.000 0.000 > + b2 = < 0.000 0.279 0.000 > + b3 = < 0.000 0.000 0.279 > + lattice: a = 22.524 b = 22.524 c = 22.524 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 60.000 fft = 80 x 80 x 80 ( 126944 waves 15868 per task) + wavefnc cutoff = 30.000 fft = 80 x 80 x 80 ( 44864 waves 5608 per task) + + Ewald parameters: + energy cutoff = 60.000 fft = 80 x 80 x 80 ( 126944 waves 15868 per task) + Ewald summation: cut radius = 7.170 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 13.97278811) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Wed Feb 8 15:56:41 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 10 steepest descent iterations performed + 10 -8.182128680765e+00 -3.844484e-04 4.693677e-06 + 20 -8.182836770720e+00 -8.984170e-06 1.844113e-07 + 30 -8.182846855483e+00 -6.492675e-08 4.761580e-10 + 40 -8.182847052166e+00 -2.253451e-09 2.453871e-11 + 50 -8.182847055172e+00 -5.631176e-10 5.612076e-12 + *** tolerance ok. iteration terminated + >>> iteration ended at Wed Feb 8 15:56:59 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + APC Potential: + 0.085935751 0.006829099 0.010413934 0.010145375 0.013730210 + + APC Point Charges: + -1.525560306 0.390019630 0.381030472 0.381747893 0.372762311 + + + total energy : -8.1828470552e+00 ( -1.63657e+00 /ion) + total orbital energy: -4.5638815795e+00 ( -1.14097e+00 /electron) + hartree energy : 1.1599530214e+01 ( 2.89988e+00 /electron) + exc-corr energy : -3.2070422925e+00 ( -8.01761e-01 /electron) + APC energy : -1.1547758094e-01 ( -2.30955e-02 /ion) + ion-ion energy : 5.5453335893e+00 ( 1.10907e+00 /ion) + + kinetic (planewave) : 6.3978328075e+00 ( 1.59946e+00 /electron) + V_local (planewave) : -2.9282909182e+01 ( -7.32073e+00 /electron) + V_nl (planewave) : -7.2332000982e-01 ( -1.80830e-01 /electron) + V_Coul (planewave) : 2.3199060429e+01 ( 5.79977e+00 /electron) + V_xc (planewave) : -4.1545456243e+00 ( -1.03864e+00 /electron) + K.S. V_APC energy : -1.6032053986e+00 ( -3.20641e-01 /ion) + Viral Coefficient : -1.7133480535e+00 + + orbital energy: + -4.9914292e-01 ( -13.582eV) + -4.9954295e-01 ( -13.593eV) + -4.9993932e-01 ( -13.604eV) + -7.8331560e-01 ( -21.315eV) + +== Center of Charge == + +spin up = ( 0.0019 0.0019 0.0025 ) +spin down = ( 0.0019 0.0019 0.0025 ) + total = ( 0.0019 0.0019 0.0025 ) +ionic = ( 0.0000 0.0000 0.0000 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( -0.0153 -0.0154 -0.0200 ) au +|mu| = 0.0295 au ( 0.0751 Debye ) + + + Ion Forces (au): + 1 C ( -0.00017 -0.00015 -0.00020 ) + 2 H ( -0.00045 0.01416 0.00973 ) + 3 H ( -0.00046 -0.01307 0.00829 ) + 4 H ( 0.01229 -0.00047 -0.00962 ) + 5 H ( -0.01121 -0.00048 -0.00820 ) + + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 15 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - self-consistent + + APC Potential: + 0.085935751 0.006829099 0.010413934 0.010145375 0.013730210 + + APC Point Charges: + -1.525560306 0.390019630 0.381030472 0.381747893 0.372762311 + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 C -5.526 4.000 -1.526 + 2 H -0.610 1.000 0.390 + 3 H -0.619 1.000 0.381 + 4 H -0.618 1.000 0.382 + 5 H -0.627 1.000 0.373 + Total Q -8.000 8.000 0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 C 4.000 -1.892 4.158 -7.792 + 2 H 1.000 -0.930 1.102 -0.782 + 3 H 1.000 -0.950 1.144 -0.813 + 4 H 1.000 -0.948 1.140 -0.811 + 5 H 1.000 -0.968 1.182 -0.842 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 5.422e-01 + main loop : 1.812e+01 + epilogue : 9.268e-02 + total : 1.876e+01 + cputime/step: 1.224e-01 ( 148 evaluations, 43 linesearches) + + Time spent doing total step percent + total time 3.017935e+01 2.039145e-01 100.00% + total FFT time 1.415918e+01 9.567014e-02 46.92% + lagrange multipliers 7.619617e-03 5.148390e-05 0.03% + local potentials 7.416089e-02 5.010871e-04 0.25% + non-local potentials 5.762971e-01 3.893900e-03 1.91% + ffm_dgemm 1.678614e-01 1.134199e-03 0.56% + fmf_dgemm 1.782454e-01 1.204361e-03 0.59% + m_diagonalize 2.671832e-03 1.805292e-05 0.01% + mmm_multiply 3.340680e-04 2.257216e-06 0.00% + SCVtrans 6.646140e-04 4.490635e-06 0.00% + + >>> job completed at Wed Feb 8 15:57:00 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Wed Feb 8 15:57:00 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 15 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + APC u: 1 0.08592 + APC u: 2 0.00693 + APC u: 3 0.01045 + APC u: 4 0.01018 + APC u: 5 0.01396 + - self-consistent + + reading formatted psp filename: ./C.vpp + + reading formatted psp filename: ./H.vpp + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 8 + processor grid : 8 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: C valence charge = 4.0 lmax =2 + comment = Parameterized (J.Phys.Chem., vol 100, page 6966) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.800 0.850 0.850 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + C : 1 H : 4 + + initial ion positions (au): + 1 C ( -0.00149 -0.00015 0.00097 ) - atomic mass = 12.000 + 2 H ( -0.00225 -1.67825 -1.18901 ) - atomic mass = 1.008 + 3 H ( 0.00499 1.68208 -1.18766 ) - atomic mass = 1.008 + 4 H ( -1.67785 0.00280 1.19195 ) - atomic mass = 1.008 + 5 H ( 1.67800 -0.00211 1.18471 ) - atomic mass = 1.008 + G.C. ( 0.00028 0.00087 0.00019 ) + C.O.M. ( -0.00093 0.00017 0.00072 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 11427.15 + lattice: a1 = < 22.524 0.000 0.000 > + a2 = < 0.000 22.524 0.000 > + a3 = < 0.000 0.000 22.524 > + reciprocal: b1 = < 0.279 0.000 0.000 > + b2 = < 0.000 0.279 0.000 > + b3 = < 0.000 0.000 0.279 > + lattice: a = 22.524 b = 22.524 c = 22.524 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 60.000 fft = 80 x 80 x 80 ( 126944 waves 15868 per task) + wavefnc cutoff = 30.000 fft = 80 x 80 x 80 ( 44864 waves 5608 per task) + + Ewald parameters: + energy cutoff = 60.000 fft = 80 x 80 x 80 ( 126944 waves 15868 per task) + Ewald summation: cut radius = 7.170 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 13.97278811) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Wed Feb 8 15:57:00 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + 10 -8.182830536671e+00 -2.198652e-07 2.257910e-09 + 20 -8.182830900760e+00 -4.320878e-09 9.756130e-11 + 30 -8.182830904807e+00 -8.551471e-10 2.468876e-11 + *** tolerance ok. iteration terminated + >>> iteration ended at Wed Feb 8 15:57:09 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + APC Potential: + 0.085920347 0.006933668 0.010451606 0.010183255 0.013955978 + + APC Point Charges: + -1.526802509 0.389888661 0.380616073 0.381187474 0.375110300 + + + total energy : -8.1828309048e+00 ( -1.63657e+00 /ion) + total orbital energy: -4.5679466158e+00 ( -1.14199e+00 /electron) + hartree energy : 1.1610278783e+01 ( 2.90257e+00 /electron) + exc-corr energy : -3.2089794404e+00 ( -8.02245e-01 /electron) + APC energy : -1.1538523247e-01 ( -2.30770e-02 /ion) + ion-ion energy : 5.5582546679e+00 ( 1.11165e+00 /ion) + + kinetic (planewave) : 6.4047222006e+00 ( 1.60118e+00 /electron) + V_local (planewave) : -2.9310995062e+01 ( -7.32775e+00 /electron) + V_nl (planewave) : -7.2516605994e-01 ( -1.81292e-01 /electron) + V_Coul (planewave) : 2.3220557565e+01 ( 5.80514e+00 /electron) + V_xc (planewave) : -4.1570652598e+00 ( -1.03927e+00 /electron) + K.S. V_APC energy : -1.6044392388e+00 ( -3.20888e-01 /ion) + Viral Coefficient : -1.7132154171e+00 + + orbital energy: + -4.9948563e-01 ( -13.592eV) + -4.9986442e-01 ( -13.602eV) + -5.0066216e-01 ( -13.624eV) + -7.8396110e-01 ( -21.333eV) + +== Center of Charge == + +spin up = ( 0.0005 0.0022 0.0028 ) +spin down = ( 0.0005 0.0022 0.0028 ) + total = ( 0.0005 0.0022 0.0028 ) +ionic = ( -0.0004 0.0005 0.0005 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( -0.0068 -0.0137 -0.0188 ) au +|mu| = 0.0242 au ( 0.0616 Debye ) + + + Ion Forces (au): + 1 C ( -0.00101 0.00045 -0.00133 ) + 2 H ( 0.00006 0.01334 0.00924 ) + 3 H ( 0.00011 -0.01288 0.00824 ) + 4 H ( 0.01139 -0.00053 -0.00834 ) + 5 H ( -0.01054 -0.00039 -0.00781 ) + + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 15 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - self-consistent + + APC Potential: + 0.085920347 0.006933668 0.010451606 0.010183255 0.013955978 + + APC Point Charges: + -1.526802509 0.389888661 0.380616073 0.381187474 0.375110300 + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 C -5.527 4.000 -1.527 + 2 H -0.610 1.000 0.390 + 3 H -0.619 1.000 0.381 + 4 H -0.619 1.000 0.381 + 5 H -0.625 1.000 0.375 + Total Q -8.000 8.000 -0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 C 4.000 -1.884 4.140 -7.783 + 2 H 1.000 -0.932 1.105 -0.783 + 3 H 1.000 -0.948 1.142 -0.813 + 4 H 1.000 -0.954 1.152 -0.817 + 5 H 1.000 -0.961 1.166 -0.830 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 4.772e-01 + main loop : 9.445e+00 + epilogue : 1.125e-01 + total : 1.003e+01 + cputime/step: 1.312e-01 ( 72 evaluations, 23 linesearches) + + Time spent doing total step percent + total time 4.022872e+01 5.587322e-01 100.00% + total FFT time 1.813947e+01 2.519370e-01 45.09% + lagrange multipliers 7.619617e-03 1.058280e-04 0.02% + local potentials 1.263603e-01 1.755004e-03 0.31% + non-local potentials 7.727920e-01 1.073322e-02 1.92% + ffm_dgemm 2.334360e-01 3.242167e-03 0.58% + fmf_dgemm 2.255183e-01 3.132199e-03 0.56% + m_diagonalize 3.190662e-03 4.431475e-05 0.01% + mmm_multiply 3.924980e-04 5.451361e-06 0.00% + SCVtrans 7.899210e-04 1.097112e-05 0.00% + + >>> job completed at Wed Feb 8 15:57:10 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Wed Feb 8 15:57:10 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 15 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + APC u: 1 0.08591 + APC u: 2 0.00704 + APC u: 3 0.01049 + APC u: 4 0.01022 + APC u: 5 0.01418 + - self-consistent + + reading formatted psp filename: ./C.vpp + + reading formatted psp filename: ./H.vpp + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 8 + processor grid : 8 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: C valence charge = 4.0 lmax =2 + comment = Parameterized (J.Phys.Chem., vol 100, page 6966) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.800 0.850 0.850 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + C : 1 H : 4 + + initial ion positions (au): + 1 C ( -0.00295 -0.00026 0.00196 ) - atomic mass = 12.000 + 2 H ( -0.00451 -1.67463 -1.18884 ) - atomic mass = 1.008 + 3 H ( 0.00998 1.68228 -1.18614 ) - atomic mass = 1.008 + 4 H ( -1.67384 0.00559 1.19473 ) - atomic mass = 1.008 + 5 H ( 1.67415 -0.00423 1.18024 ) - atomic mass = 1.008 + G.C. ( 0.00057 0.00175 0.00039 ) + C.O.M. ( -0.00184 0.00037 0.00147 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 11427.15 + lattice: a1 = < 22.524 0.000 0.000 > + a2 = < 0.000 22.524 0.000 > + a3 = < 0.000 0.000 22.524 > + reciprocal: b1 = < 0.279 0.000 0.000 > + b2 = < 0.000 0.279 0.000 > + b3 = < 0.000 0.000 0.279 > + lattice: a = 22.524 b = 22.524 c = 22.524 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 60.000 fft = 80 x 80 x 80 ( 126944 waves 15868 per task) + wavefnc cutoff = 30.000 fft = 80 x 80 x 80 ( 44864 waves 5608 per task) + + Ewald parameters: + energy cutoff = 60.000 fft = 80 x 80 x 80 ( 126944 waves 15868 per task) + Ewald summation: cut radius = 7.170 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 13.97278811) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Wed Feb 8 15:57:10 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + 10 -8.182810981362e+00 -2.215215e-07 2.285198e-09 + 20 -8.182811349830e+00 -4.407653e-09 9.901772e-11 + 30 -8.182811353958e+00 -8.776340e-10 2.526748e-11 + *** tolerance ok. iteration terminated + >>> iteration ended at Wed Feb 8 15:57:21 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + APC Potential: + 0.085906808 0.007038030 0.010488848 0.010220348 0.014180798 + + APC Point Charges: + -1.528276144 0.389813708 0.380247588 0.380646334 0.377568513 + + + total energy : -8.1828113540e+00 ( -1.63656e+00 /ion) + total orbital energy: -4.5719732484e+00 ( -1.14299e+00 /electron) + hartree energy : 1.1620965821e+01 ( 2.90524e+00 /electron) + exc-corr energy : -3.2109106335e+00 ( -8.02728e-01 /electron) + APC energy : -1.1531288395e-01 ( -2.30626e-02 /ion) + ion-ion energy : 5.5711221982e+00 ( 1.11422e+00 /ion) + + kinetic (planewave) : 6.4116085838e+00 ( 1.60290e+00 /electron) + V_local (planewave) : -2.9338922678e+01 ( -7.33473e+00 /electron) + V_nl (planewave) : -7.2701402584e-01 ( -1.81754e-01 /electron) + V_Coul (planewave) : 2.3241931642e+01 ( 5.81048e+00 /electron) + V_xc (planewave) : -4.1595767700e+00 ( -1.03989e+00 /electron) + K.S. V_APC energy : -1.6056522647e+00 ( -3.21130e-01 /ion) + Viral Coefficient : -1.7130774109e+00 + + orbital energy: + -4.9974206e-01 ( -13.599eV) + -5.0024035e-01 ( -13.612eV) + -5.0140336e-01 ( -13.644eV) + -7.8460086e-01 ( -21.350eV) + +== Center of Charge == + +spin up = ( -0.0010 0.0025 0.0032 ) +spin down = ( -0.0010 0.0025 0.0032 ) + total = ( -0.0010 0.0025 0.0032 ) +ionic = ( -0.0007 0.0010 0.0010 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 0.0018 -0.0121 -0.0176 ) au +|mu| = 0.0214 au ( 0.0545 Debye ) + + + Ion Forces (au): + 1 C ( -0.00190 0.00106 -0.00250 ) + 2 H ( 0.00059 0.01253 0.00875 ) + 3 H ( 0.00070 -0.01270 0.00819 ) + 4 H ( 0.01051 -0.00059 -0.00703 ) + 5 H ( -0.00986 -0.00030 -0.00742 ) + + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 15 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - self-consistent + + APC Potential: + 0.085906808 0.007038030 0.010488848 0.010220348 0.014180798 + + APC Point Charges: + -1.528276144 0.389813708 0.380247588 0.380646334 0.377568513 + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 C -5.528 4.000 -1.528 + 2 H -0.610 1.000 0.390 + 3 H -0.620 1.000 0.380 + 4 H -0.619 1.000 0.381 + 5 H -0.622 1.000 0.378 + Total Q -8.000 8.000 0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 C 4.000 -1.879 4.126 -7.775 + 2 H 1.000 -0.933 1.108 -0.785 + 3 H 1.000 -0.946 1.140 -0.814 + 4 H 1.000 -0.960 1.163 -0.823 + 5 H 1.000 -0.954 1.149 -0.818 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 4.783e-01 + main loop : 1.113e+01 + epilogue : 1.139e-01 + total : 1.172e+01 + cputime/step: 1.504e-01 ( 74 evaluations, 23 linesearches) + + Time spent doing total step percent + total time 5.197492e+01 7.023638e-01 100.00% + total FFT time 2.295612e+01 3.102178e-01 44.17% + lagrange multipliers 7.619617e-03 1.029678e-04 0.01% + local potentials 1.648023e-01 2.227059e-03 0.32% + non-local potentials 1.002162e+00 1.354273e-02 1.93% + ffm_dgemm 3.261426e-01 4.407333e-03 0.63% + fmf_dgemm 2.617078e-01 3.536592e-03 0.50% + m_diagonalize 3.708355e-03 5.011291e-05 0.01% + mmm_multiply 4.554440e-04 6.154649e-06 0.00% + SCVtrans 9.115970e-04 1.231888e-05 0.00% + + >>> job completed at Wed Feb 8 15:57:21 2023 <<< diff --git a/examples/QUANTUM/NWChem/log.8Feb23.zeolite.pwdft.qmmm.plugin.8 b/examples/QUANTUM/NWChem/log.8Feb23.zeolite.pwdft.qmmm.plugin.8 new file mode 100644 index 0000000000..46037ff870 --- /dev/null +++ b/examples/QUANTUM/NWChem/log.8Feb23.zeolite.pwdft.qmmm.plugin.8 @@ -0,0 +1,1237 @@ + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Wed Feb 8 15:53:23 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 15 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - not self-consistent + + writing formatted psp filename: ./C.vpp + + writing formatted psp filename: ./H.vpp + generating random psi from scratch + Warning - Gram-Schmidt being performed on psi2 + - exact norm = 8.00000 norm=11.14999 corrected norm=8.00000 (error=3.14999) + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 8 + processor grid : 8 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: C valence charge = 4.0 lmax =2 + comment = Parameterized (J.Phys.Chem., vol 100, page 6966) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.800 0.850 0.850 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + C : 1 H : 4 + + initial ion positions (au): + 1 C ( 0.00000 0.00000 0.00000 ) - atomic mass = 12.000 + 2 H ( 0.00000 -1.68186 -1.18920 ) - atomic mass = 1.008 + 3 H ( 0.00000 1.68186 -1.18920 ) - atomic mass = 1.008 + 4 H ( -1.68186 0.00000 1.18920 ) - atomic mass = 1.008 + 5 H ( 1.68186 0.00000 1.18920 ) - atomic mass = 1.008 + G.C. ( 0.00000 0.00000 0.00000 ) + C.O.M. ( 0.00000 0.00000 0.00000 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 11427.15 + lattice: a1 = < 22.524 0.000 0.000 > + a2 = < 0.000 22.524 0.000 > + a3 = < 0.000 0.000 22.524 > + reciprocal: b1 = < 0.279 0.000 0.000 > + b2 = < 0.000 0.279 0.000 > + b3 = < 0.000 0.000 0.279 > + lattice: a = 22.524 b = 22.524 c = 22.524 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 20.000 fft = 48 x 48 x 48 ( 24443 waves 3055 per task) + wavefnc cutoff = 10.000 fft = 48 x 48 x 48 ( 8635 waves 1082 per task) + + Ewald parameters: + energy cutoff = 20.000 fft = 48 x 48 x 48 ( 24443 waves 3056 per task) + Ewald summation: cut radius = 7.170 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 13.97278811) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Wed Feb 8 15:53:24 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 10 steepest descent iterations performed + 10 -4.015778017555e+00 -8.950880e-01 9.521525e-03 + 20 -7.168607288639e+00 -1.211657e-01 6.666735e-04 + 30 -7.792688812721e+00 -3.040395e-02 9.684556e-05 + 40 -8.000542056573e+00 -6.282802e-02 2.041443e-03 + 50 -8.004880148959e+00 -4.414040e-06 1.088767e-08 + 60 -8.004884700760e+00 -1.109801e-08 4.722130e-10 + 70 -8.004884709359e+00 -7.697469e-10 5.533625e-12 + *** tolerance ok. iteration terminated + >>> iteration ended at Wed Feb 8 15:53:26 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + total energy : -8.0048847094e+00 ( -1.60098e+00 /ion) + total orbital energy: -3.3307050256e+00 ( -8.32676e-01 /electron) + hartree energy : 1.1149965251e+01 ( 2.78749e+00 /electron) + exc-corr energy : -3.1592096400e+00 ( -7.89802e-01 /electron) + ion-ion energy : 5.5453342775e+00 ( 1.10907e+00 /ion) + + kinetic (planewave) : 6.0258056329e+00 ( 1.50645e+00 /electron) + V_local (planewave) : -2.6995520036e+01 ( -6.74888e+00 /electron) + V_nl (planewave) : -5.7126019492e-01 ( -1.42815e-01 /electron) + V_Coul (planewave) : 2.2299930502e+01 ( 5.57498e+00 /electron) + V_xc (planewave) : -4.0896609298e+00 ( -1.02242e+00 /electron) + Viral Coefficient : -1.5527402025e+00 + + orbital energy: + -3.4457408e-01 ( -9.376eV) + -3.4457426e-01 ( -9.376eV) + -3.4460416e-01 ( -9.377eV) + -6.3160002e-01 ( -17.187eV) + +== Center of Charge == + +spin up = ( 0.0000 0.0000 -0.0000 ) +spin down = ( 0.0000 0.0000 -0.0000 ) + total = ( 0.0000 0.0000 -0.0000 ) +ionic = ( 0.0000 0.0000 0.0000 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( -0.0000 -0.0000 0.0000 ) au +|mu| = 0.0000 au ( 0.0001 Debye ) + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 15 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - not self-consistent + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 C -4.357 4.000 -0.357 + 2 H -0.911 1.000 0.089 + 3 H -0.911 1.000 0.089 + 4 H -0.911 1.000 0.089 + 5 H -0.911 1.000 0.089 + Total Q -8.000 8.000 0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 C 4.000 0.118 -0.153 -4.322 + 2 H 1.000 -0.880 1.004 -1.035 + 3 H 1.000 -0.880 1.004 -1.035 + 4 H 1.000 -0.880 1.004 -1.035 + 5 H 1.000 -0.880 1.004 -1.035 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 1.742e-01 + main loop : 2.083e+00 + epilogue : 9.147e-03 + total : 2.266e+00 + cputime/step: 9.872e-03 ( 211 evaluations, 64 linesearches) + + Time spent doing total step percent + total time 2.278449e+00 1.079834e-02 100.00% + total FFT time 1.020844e+00 4.838124e-03 44.80% + lagrange multipliers 4.572630e-04 2.167123e-06 0.02% + local potentials 1.859130e-04 8.811043e-07 0.01% + non-local potentials 4.943391e-02 2.342839e-04 2.17% + ffm_dgemm 8.815237e-03 4.177837e-05 0.39% + fmf_dgemm 1.954608e-02 9.263544e-05 0.86% + m_diagonalize 7.713290e-04 3.655588e-06 0.03% + mmm_multiply 8.567000e-05 4.060190e-07 0.00% + SCVtrans 2.960850e-04 1.403246e-06 0.01% + + >>> job completed at Wed Feb 8 15:53:26 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Wed Feb 8 15:53:26 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 15 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - not self-consistent + + writing formatted psp filename: ./C.vpp + + writing formatted psp filename: ./H.vpp + psi grids are being converted: + -----------------------------: + converting .... psi:1 spin:1 + converting .... psi:2 spin:1 + converting .... psi:3 spin:1 + converting .... psi:4 spin:1 + + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 8 + processor grid : 8 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: C valence charge = 4.0 lmax =2 + comment = Parameterized (J.Phys.Chem., vol 100, page 6966) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.800 0.850 0.850 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + C : 1 H : 4 + + initial ion positions (au): + 1 C ( 0.00000 0.00000 0.00000 ) - atomic mass = 12.000 + 2 H ( 0.00000 -1.68186 -1.18920 ) - atomic mass = 1.008 + 3 H ( 0.00000 1.68186 -1.18920 ) - atomic mass = 1.008 + 4 H ( -1.68186 0.00000 1.18920 ) - atomic mass = 1.008 + 5 H ( 1.68186 0.00000 1.18920 ) - atomic mass = 1.008 + G.C. ( 0.00000 0.00000 0.00000 ) + C.O.M. ( 0.00000 0.00000 0.00000 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 11427.15 + lattice: a1 = < 22.524 0.000 0.000 > + a2 = < 0.000 22.524 0.000 > + a3 = < 0.000 0.000 22.524 > + reciprocal: b1 = < 0.279 0.000 0.000 > + b2 = < 0.000 0.279 0.000 > + b3 = < 0.000 0.000 0.279 > + lattice: a = 22.524 b = 22.524 c = 22.524 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 40.000 fft = 70 x 70 x 70 ( 69109 waves 8638 per task) + wavefnc cutoff = 20.000 fft = 70 x 70 x 70 ( 24443 waves 3058 per task) + + Ewald parameters: + energy cutoff = 40.000 fft = 70 x 70 x 70 ( 69109 waves 8639 per task) + Ewald summation: cut radius = 7.170 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 13.97278811) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Wed Feb 8 15:53:26 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 10 steepest descent iterations performed + 10 -8.100895220690e+00 -2.003351e-05 1.957562e-07 + 20 -8.100916865599e+00 -5.848813e-08 2.094199e-09 + 30 -8.100916942703e+00 -7.799379e-10 2.384248e-12 + *** tolerance ok. iteration terminated + >>> iteration ended at Wed Feb 8 15:53:32 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + total energy : -8.1009169427e+00 ( -1.62018e+00 /ion) + total orbital energy: -3.3061472580e+00 ( -8.26537e-01 /electron) + hartree energy : 1.1275956608e+01 ( 2.81899e+00 /electron) + exc-corr energy : -3.1783715095e+00 ( -7.94593e-01 /electron) + ion-ion energy : 5.5453342775e+00 ( 1.10907e+00 /ion) + + kinetic (planewave) : 6.2996005772e+00 ( 1.57490e+00 /electron) + V_local (planewave) : -2.7309843346e+01 ( -6.82746e+00 /electron) + V_nl (planewave) : -7.3359354921e-01 ( -1.83398e-01 /electron) + V_Coul (planewave) : 2.2551913216e+01 ( 5.63798e+00 /electron) + V_xc (planewave) : -4.1142241551e+00 ( -1.02856e+00 /electron) + Viral Coefficient : -1.5248185528e+00 + + orbital energy: + -3.4481150e-01 ( -9.383eV) + -3.4482363e-01 ( -9.383eV) + -3.4482363e-01 ( -9.383eV) + -6.1861486e-01 ( -16.834eV) + +== Center of Charge == + +spin up = ( 0.0000 0.0000 -0.0000 ) +spin down = ( 0.0000 0.0000 -0.0000 ) + total = ( 0.0000 0.0000 -0.0000 ) +ionic = ( 0.0000 0.0000 0.0000 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( -0.0000 -0.0000 0.0000 ) au +|mu| = 0.0000 au ( 0.0000 Debye ) + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 15 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - not self-consistent + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 C -4.413 4.000 -0.413 + 2 H -0.897 1.000 0.103 + 3 H -0.897 1.000 0.103 + 4 H -0.897 1.000 0.103 + 5 H -0.897 1.000 0.103 + Total Q -8.000 8.000 -0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 C 4.000 0.005 -0.109 -4.310 + 2 H 1.000 -0.863 0.973 -1.007 + 3 H 1.000 -0.863 0.973 -1.007 + 4 H 1.000 -0.863 0.973 -1.007 + 5 H 1.000 -0.863 0.973 -1.007 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 2.849e-01 + main loop : 5.779e+00 + epilogue : 4.663e-02 + total : 6.110e+00 + cputime/step: 5.722e-02 ( 101 evaluations, 29 linesearches) + + Time spent doing total step percent + total time 8.400430e+00 8.317258e-02 100.00% + total FFT time 4.201003e+00 4.159409e-02 50.01% + lagrange multipliers 1.781674e-03 1.764034e-05 0.02% + local potentials 7.814670e-04 7.737297e-06 0.01% + non-local potentials 1.435040e-01 1.420832e-03 1.71% + ffm_dgemm 3.030902e-02 3.000893e-04 0.36% + fmf_dgemm 7.135694e-02 7.065043e-04 0.85% + m_diagonalize 1.315323e-03 1.302300e-05 0.02% + mmm_multiply 1.583110e-04 1.567436e-06 0.00% + SCVtrans 4.757190e-04 4.710089e-06 0.01% + + >>> job completed at Wed Feb 8 15:53:32 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Wed Feb 8 15:53:32 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 15 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + APC u: 1 0.08594 + APC u: 2 0.00683 + APC u: 3 0.01041 + APC u: 4 0.01015 + APC u: 5 0.01373 + - self-consistent + + writing formatted psp filename: ./C.vpp + + writing formatted psp filename: ./H.vpp + psi grids are being converted: + -----------------------------: + converting .... psi:1 spin:1 + converting .... psi:2 spin:1 + converting .... psi:3 spin:1 + converting .... psi:4 spin:1 + + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 8 + processor grid : 8 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: C valence charge = 4.0 lmax =2 + comment = Parameterized (J.Phys.Chem., vol 100, page 6966) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.800 0.850 0.850 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + C : 1 H : 4 + + initial ion positions (au): + 1 C ( 0.00000 0.00000 0.00000 ) - atomic mass = 12.000 + 2 H ( 0.00000 -1.68186 -1.18920 ) - atomic mass = 1.008 + 3 H ( 0.00000 1.68186 -1.18920 ) - atomic mass = 1.008 + 4 H ( -1.68186 0.00000 1.18920 ) - atomic mass = 1.008 + 5 H ( 1.68186 0.00000 1.18920 ) - atomic mass = 1.008 + G.C. ( 0.00000 0.00000 0.00000 ) + C.O.M. ( 0.00000 0.00000 0.00000 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 11427.15 + lattice: a1 = < 22.524 0.000 0.000 > + a2 = < 0.000 22.524 0.000 > + a3 = < 0.000 0.000 22.524 > + reciprocal: b1 = < 0.279 0.000 0.000 > + b2 = < 0.000 0.279 0.000 > + b3 = < 0.000 0.000 0.279 > + lattice: a = 22.524 b = 22.524 c = 22.524 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 60.000 fft = 80 x 80 x 80 ( 126944 waves 15868 per task) + wavefnc cutoff = 30.000 fft = 80 x 80 x 80 ( 44864 waves 5608 per task) + + Ewald parameters: + energy cutoff = 60.000 fft = 80 x 80 x 80 ( 126944 waves 15868 per task) + Ewald summation: cut radius = 7.170 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 13.97278811) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Wed Feb 8 15:53:32 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 10 steepest descent iterations performed + 10 -8.182128680761e+00 -3.844484e-04 4.693677e-06 + 20 -8.182836770717e+00 -8.984171e-06 1.844113e-07 + 30 -8.182846855489e+00 -6.493413e-08 4.761580e-10 + 40 -8.182847052170e+00 -2.255520e-09 2.453873e-11 + 50 -8.182847055168e+00 -5.575682e-10 5.612073e-12 + *** tolerance ok. iteration terminated + >>> iteration ended at Wed Feb 8 15:53:51 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + APC Potential: + 0.085935751 0.006829099 0.010413934 0.010145375 0.013730210 + + APC Point Charges: + -1.525560306 0.390019630 0.381030472 0.381747893 0.372762311 + + + total energy : -8.1828470552e+00 ( -1.63657e+00 /ion) + total orbital energy: -4.5638815796e+00 ( -1.14097e+00 /electron) + hartree energy : 1.1599530214e+01 ( 2.89988e+00 /electron) + exc-corr energy : -3.2070422925e+00 ( -8.01761e-01 /electron) + APC energy : -1.1547758094e-01 ( -2.30955e-02 /ion) + ion-ion energy : 5.5453335893e+00 ( 1.10907e+00 /ion) + + kinetic (planewave) : 6.3978328075e+00 ( 1.59946e+00 /electron) + V_local (planewave) : -2.9282909182e+01 ( -7.32073e+00 /electron) + V_nl (planewave) : -7.2332000981e-01 ( -1.80830e-01 /electron) + V_Coul (planewave) : 2.3199060429e+01 ( 5.79977e+00 /electron) + V_xc (planewave) : -4.1545456243e+00 ( -1.03864e+00 /electron) + K.S. V_APC energy : -1.6032053986e+00 ( -3.20641e-01 /ion) + Viral Coefficient : -1.7133480535e+00 + + orbital energy: + -4.9914292e-01 ( -13.582eV) + -4.9954295e-01 ( -13.593eV) + -4.9993932e-01 ( -13.604eV) + -7.8331560e-01 ( -21.315eV) + +== Center of Charge == + +spin up = ( 0.0019 0.0019 0.0025 ) +spin down = ( 0.0019 0.0019 0.0025 ) + total = ( 0.0019 0.0019 0.0025 ) +ionic = ( 0.0000 0.0000 0.0000 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( -0.0153 -0.0154 -0.0200 ) au +|mu| = 0.0295 au ( 0.0751 Debye ) + + + Ion Forces (au): + 1 C ( -0.00017 -0.00015 -0.00020 ) + 2 H ( -0.00045 0.01416 0.00973 ) + 3 H ( -0.00046 -0.01307 0.00829 ) + 4 H ( 0.01229 -0.00047 -0.00962 ) + 5 H ( -0.01121 -0.00048 -0.00820 ) + + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 15 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - self-consistent + + APC Potential: + 0.085935751 0.006829099 0.010413934 0.010145375 0.013730210 + + APC Point Charges: + -1.525560306 0.390019630 0.381030472 0.381747893 0.372762311 + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 C -5.526 4.000 -1.526 + 2 H -0.610 1.000 0.390 + 3 H -0.619 1.000 0.381 + 4 H -0.618 1.000 0.382 + 5 H -0.627 1.000 0.373 + Total Q -8.000 8.000 0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 C 4.000 -1.892 4.158 -7.792 + 2 H 1.000 -0.930 1.102 -0.782 + 3 H 1.000 -0.950 1.144 -0.813 + 4 H 1.000 -0.948 1.140 -0.811 + 5 H 1.000 -0.968 1.182 -0.842 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 5.263e-01 + main loop : 1.846e+01 + epilogue : 1.217e-01 + total : 1.911e+01 + cputime/step: 1.247e-01 ( 148 evaluations, 43 linesearches) + + Time spent doing total step percent + total time 2.754640e+01 1.861243e-01 100.00% + total FFT time 1.098499e+01 7.422291e-02 39.88% + lagrange multipliers 7.489317e-03 5.060349e-05 0.03% + local potentials 2.026095e-01 1.368983e-03 0.74% + non-local potentials 5.138643e-01 3.472056e-03 1.87% + ffm_dgemm 1.103650e-01 7.457098e-04 0.40% + fmf_dgemm 3.017589e-01 2.038911e-03 1.10% + m_diagonalize 2.166272e-03 1.463697e-05 0.01% + mmm_multiply 2.679840e-04 1.810703e-06 0.00% + SCVtrans 7.423470e-04 5.015858e-06 0.00% + + >>> job completed at Wed Feb 8 15:53:51 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Wed Feb 8 15:53:51 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 15 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + APC u: 1 0.08592 + APC u: 2 0.00693 + APC u: 3 0.01045 + APC u: 4 0.01018 + APC u: 5 0.01396 + - self-consistent + + reading formatted psp filename: ./C.vpp + + reading formatted psp filename: ./H.vpp + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 8 + processor grid : 8 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: C valence charge = 4.0 lmax =2 + comment = Parameterized (J.Phys.Chem., vol 100, page 6966) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.800 0.850 0.850 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + C : 1 H : 4 + + initial ion positions (au): + 1 C ( -0.00149 -0.00015 0.00097 ) - atomic mass = 12.000 + 2 H ( -0.00225 -1.67825 -1.18901 ) - atomic mass = 1.008 + 3 H ( 0.00499 1.68208 -1.18766 ) - atomic mass = 1.008 + 4 H ( -1.67785 0.00280 1.19195 ) - atomic mass = 1.008 + 5 H ( 1.67800 -0.00211 1.18471 ) - atomic mass = 1.008 + G.C. ( 0.00028 0.00087 0.00019 ) + C.O.M. ( -0.00093 0.00017 0.00072 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 11427.15 + lattice: a1 = < 22.524 0.000 0.000 > + a2 = < 0.000 22.524 0.000 > + a3 = < 0.000 0.000 22.524 > + reciprocal: b1 = < 0.279 0.000 0.000 > + b2 = < 0.000 0.279 0.000 > + b3 = < 0.000 0.000 0.279 > + lattice: a = 22.524 b = 22.524 c = 22.524 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 60.000 fft = 80 x 80 x 80 ( 126944 waves 15868 per task) + wavefnc cutoff = 30.000 fft = 80 x 80 x 80 ( 44864 waves 5608 per task) + + Ewald parameters: + energy cutoff = 60.000 fft = 80 x 80 x 80 ( 126944 waves 15868 per task) + Ewald summation: cut radius = 7.170 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 13.97278811) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Wed Feb 8 15:53:51 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + 10 -8.182830536670e+00 -2.198616e-07 2.257910e-09 + 20 -8.182830900766e+00 -4.323230e-09 9.756129e-11 + 30 -8.182830904812e+00 -8.606698e-10 2.468875e-11 + *** tolerance ok. iteration terminated + >>> iteration ended at Wed Feb 8 15:54:02 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + APC Potential: + 0.085920347 0.006933668 0.010451606 0.010183255 0.013955978 + + APC Point Charges: + -1.526802509 0.389888661 0.380616073 0.381187474 0.375110300 + + + total energy : -8.1828309048e+00 ( -1.63657e+00 /ion) + total orbital energy: -4.5679466158e+00 ( -1.14199e+00 /electron) + hartree energy : 1.1610278783e+01 ( 2.90257e+00 /electron) + exc-corr energy : -3.2089794404e+00 ( -8.02245e-01 /electron) + APC energy : -1.1538523248e-01 ( -2.30770e-02 /ion) + ion-ion energy : 5.5582546679e+00 ( 1.11165e+00 /ion) + + kinetic (planewave) : 6.4047222006e+00 ( 1.60118e+00 /electron) + V_local (planewave) : -2.9310995062e+01 ( -7.32775e+00 /electron) + V_nl (planewave) : -7.2516605994e-01 ( -1.81292e-01 /electron) + V_Coul (planewave) : 2.3220557565e+01 ( 5.80514e+00 /electron) + V_xc (planewave) : -4.1570652598e+00 ( -1.03927e+00 /electron) + K.S. V_APC energy : -1.6044392388e+00 ( -3.20888e-01 /ion) + Viral Coefficient : -1.7132154171e+00 + + orbital energy: + -4.9948563e-01 ( -13.592eV) + -4.9986442e-01 ( -13.602eV) + -5.0066216e-01 ( -13.624eV) + -7.8396110e-01 ( -21.333eV) + +== Center of Charge == + +spin up = ( 0.0005 0.0022 0.0028 ) +spin down = ( 0.0005 0.0022 0.0028 ) + total = ( 0.0005 0.0022 0.0028 ) +ionic = ( -0.0004 0.0005 0.0005 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( -0.0068 -0.0137 -0.0188 ) au +|mu| = 0.0242 au ( 0.0616 Debye ) + + + Ion Forces (au): + 1 C ( -0.00101 0.00045 -0.00133 ) + 2 H ( 0.00006 0.01334 0.00924 ) + 3 H ( 0.00011 -0.01288 0.00824 ) + 4 H ( 0.01139 -0.00053 -0.00834 ) + 5 H ( -0.01054 -0.00039 -0.00781 ) + + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 15 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - self-consistent + + APC Potential: + 0.085920347 0.006933668 0.010451606 0.010183255 0.013955978 + + APC Point Charges: + -1.526802509 0.389888661 0.380616073 0.381187474 0.375110300 + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 C -5.527 4.000 -1.527 + 2 H -0.610 1.000 0.390 + 3 H -0.619 1.000 0.381 + 4 H -0.619 1.000 0.381 + 5 H -0.625 1.000 0.375 + Total Q -8.000 8.000 0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 C 4.000 -1.884 4.140 -7.783 + 2 H 1.000 -0.932 1.105 -0.783 + 3 H 1.000 -0.948 1.142 -0.813 + 4 H 1.000 -0.954 1.152 -0.817 + 5 H 1.000 -0.961 1.166 -0.830 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 4.457e-01 + main loop : 1.008e+01 + epilogue : 1.214e-01 + total : 1.065e+01 + cputime/step: 1.401e-01 ( 72 evaluations, 23 linesearches) + + Time spent doing total step percent + total time 3.821082e+01 5.307058e-01 100.00% + total FFT time 1.458493e+01 2.025685e-01 38.17% + lagrange multipliers 7.489317e-03 1.040183e-04 0.02% + local potentials 3.211965e-01 4.461062e-03 0.84% + non-local potentials 7.197763e-01 9.996893e-03 1.88% + ffm_dgemm 1.575028e-01 2.187538e-03 0.41% + fmf_dgemm 4.452963e-01 6.184671e-03 1.17% + m_diagonalize 2.645946e-03 3.674925e-05 0.01% + mmm_multiply 3.386200e-04 4.703056e-06 0.00% + SCVtrans 8.651730e-04 1.201629e-05 0.00% + + >>> job completed at Wed Feb 8 15:54:02 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Wed Feb 8 15:54:02 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 15 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + APC u: 1 0.08591 + APC u: 2 0.00704 + APC u: 3 0.01049 + APC u: 4 0.01022 + APC u: 5 0.01418 + - self-consistent + + reading formatted psp filename: ./C.vpp + + reading formatted psp filename: ./H.vpp + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 8 + processor grid : 8 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: C valence charge = 4.0 lmax =2 + comment = Parameterized (J.Phys.Chem., vol 100, page 6966) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.800 0.850 0.850 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + C : 1 H : 4 + + initial ion positions (au): + 1 C ( -0.00295 -0.00026 0.00196 ) - atomic mass = 12.000 + 2 H ( -0.00451 -1.67463 -1.18884 ) - atomic mass = 1.008 + 3 H ( 0.00998 1.68228 -1.18614 ) - atomic mass = 1.008 + 4 H ( -1.67384 0.00559 1.19473 ) - atomic mass = 1.008 + 5 H ( 1.67415 -0.00423 1.18024 ) - atomic mass = 1.008 + G.C. ( 0.00057 0.00175 0.00039 ) + C.O.M. ( -0.00184 0.00037 0.00147 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 11427.15 + lattice: a1 = < 22.524 0.000 0.000 > + a2 = < 0.000 22.524 0.000 > + a3 = < 0.000 0.000 22.524 > + reciprocal: b1 = < 0.279 0.000 0.000 > + b2 = < 0.000 0.279 0.000 > + b3 = < 0.000 0.000 0.279 > + lattice: a = 22.524 b = 22.524 c = 22.524 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 60.000 fft = 80 x 80 x 80 ( 126944 waves 15868 per task) + wavefnc cutoff = 30.000 fft = 80 x 80 x 80 ( 44864 waves 5608 per task) + + Ewald parameters: + energy cutoff = 60.000 fft = 80 x 80 x 80 ( 126944 waves 15868 per task) + Ewald summation: cut radius = 7.170 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 13.97278811) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Wed Feb 8 15:54:02 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + 10 -8.182810981368e+00 -2.215195e-07 2.287400e-09 + 20 -8.182811349844e+00 -4.393533e-09 9.867317e-11 + 30 -8.182811353959e+00 -8.771881e-10 2.529355e-11 + *** tolerance ok. iteration terminated + >>> iteration ended at Wed Feb 8 15:54:11 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + APC Potential: + 0.085906808 0.007038030 0.010488848 0.010220348 0.014180798 + + APC Point Charges: + -1.528276314 0.389813772 0.380247600 0.380646254 0.377568689 + + + total energy : -8.1828113540e+00 ( -1.63656e+00 /ion) + total orbital energy: -4.5719732441e+00 ( -1.14299e+00 /electron) + hartree energy : 1.1620965825e+01 ( 2.90524e+00 /electron) + exc-corr energy : -3.2109106291e+00 ( -8.02728e-01 /electron) + APC energy : -1.1531289640e-01 ( -2.30626e-02 /ion) + ion-ion energy : 5.5711221982e+00 ( 1.11422e+00 /ion) + + kinetic (planewave) : 6.4116085768e+00 ( 1.60290e+00 /electron) + V_local (planewave) : -2.9338922673e+01 ( -7.33473e+00 /electron) + V_nl (planewave) : -7.2701403268e-01 ( -1.81754e-01 /electron) + V_Coul (planewave) : 2.3241931649e+01 ( 5.81048e+00 /electron) + V_xc (planewave) : -4.1595767650e+00 ( -1.03989e+00 /electron) + K.S. V_APC energy : -1.6056522771e+00 ( -3.21130e-01 /ion) + Viral Coefficient : -1.7130774110e+00 + + orbital energy: + -4.9974206e-01 ( -13.599eV) + -5.0024035e-01 ( -13.612eV) + -5.0140336e-01 ( -13.644eV) + -7.8460086e-01 ( -21.350eV) + +== Center of Charge == + +spin up = ( -0.0010 0.0025 0.0032 ) +spin down = ( -0.0010 0.0025 0.0032 ) + total = ( -0.0010 0.0025 0.0032 ) +ionic = ( -0.0007 0.0010 0.0010 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 0.0018 -0.0121 -0.0176 ) au +|mu| = 0.0214 au ( 0.0545 Debye ) + + + Ion Forces (au): + 1 C ( -0.00190 0.00106 -0.00250 ) + 2 H ( 0.00059 0.01253 0.00875 ) + 3 H ( 0.00070 -0.01270 0.00819 ) + 4 H ( 0.01051 -0.00059 -0.00703 ) + 5 H ( -0.00986 -0.00030 -0.00742 ) + + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 15 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - self-consistent + + APC Potential: + 0.085906808 0.007038030 0.010488848 0.010220348 0.014180798 + + APC Point Charges: + -1.528276314 0.389813772 0.380247600 0.380646254 0.377568689 + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 C -5.528 4.000 -1.528 + 2 H -0.610 1.000 0.390 + 3 H -0.620 1.000 0.380 + 4 H -0.619 1.000 0.381 + 5 H -0.622 1.000 0.378 + Total Q -8.000 8.000 -0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 C 4.000 -1.879 4.126 -7.775 + 2 H 1.000 -0.933 1.108 -0.785 + 3 H 1.000 -0.946 1.140 -0.814 + 4 H 1.000 -0.960 1.163 -0.823 + 5 H 1.000 -0.954 1.149 -0.818 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 4.416e-01 + main loop : 8.849e+00 + epilogue : 1.055e-01 + total : 9.396e+00 + cputime/step: 1.212e-01 ( 73 evaluations, 23 linesearches) + + Time spent doing total step percent + total time 4.761673e+01 6.522840e-01 100.00% + total FFT time 1.783951e+01 2.443769e-01 37.46% + lagrange multipliers 7.489317e-03 1.025934e-04 0.02% + local potentials 4.193141e-01 5.744029e-03 0.88% + non-local potentials 9.015404e-01 1.234987e-02 1.89% + ffm_dgemm 1.961643e-01 2.687183e-03 0.41% + fmf_dgemm 5.577137e-01 7.639914e-03 1.17% + m_diagonalize 3.102278e-03 4.249696e-05 0.01% + mmm_multiply 4.003660e-04 5.484466e-06 0.00% + SCVtrans 9.871140e-04 1.352211e-05 0.00% + + >>> job completed at Wed Feb 8 15:54:11 2023 <<< diff --git a/examples/QUANTUM/NWChem/log.8Feb23.zeolite.qmmm.mpi.1 b/examples/QUANTUM/NWChem/log.8Feb23.zeolite.qmmm.mpi.1 new file mode 100644 index 0000000000..a93c389066 --- /dev/null +++ b/examples/QUANTUM/NWChem/log.8Feb23.zeolite.qmmm.mpi.1 @@ -0,0 +1,166 @@ +LAMMPS (22 Dec 2022) +# QMMM for SiO2 zeolite with one methane molecule + +units metal +atom_style full + +bond_style harmonic +angle_style harmonic + +read_data data.zeolite +Reading data file ... + orthogonal box = (-5.9266 -5.9266 -5.9266) to (5.9926 5.9926 5.9926) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 77 atoms + scanning bonds ... + 4 = max bonds/atom + scanning angles ... + 6 = max angles/atom + reading bonds ... + 4 bonds + reading angles ... + 6 angles +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 4 = max # of 1-2 neighbors + 3 = max # of 1-3 neighbors + 3 = max # of 1-4 neighbors + 4 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +# MM atoms are Si,O +# QM atoms are C,H + +group mm type 1 2 +72 atoms in group mm +group qm type 3 4 +5 atoms in group qm + +# pair style must define stand-alone short-range Coulombics +# must specify mixing explicitly b/c hybrid/overlay +# MM Si,O = types 1,2 +# QM C,H = types 3,4 +# MM Si,O atoms do not LJ interact with each other (just via Buckingham) +# QM C,H atoms do not LJ interact with each other +# MM Si,O and QM C,H do LJ interact with each other + +pair_style hybrid/overlay buck 6.5 lj/cut 6.5 coul/cut 6.5 + +pair_coeff 1 1 buck 3150.462646 0.35032282 626.7519553 +pair_coeff 2 2 buck 659.595398 0.38609055 26.836679 +pair_coeff 1 2 buck 27029.419922 0.19385082 148.099091 + +pair_coeff 1 3 lj/cut 0.09087 3.613 +pair_coeff 1 4 lj/cut 0.0344258 3.238 +pair_coeff 2 3 lj/cut 0.1419429 3.1 +pair_coeff 2 4 lj/cut 0.035857762359063315 1.932779 + +pair_coeff 3 3 lj/cut 0.0 3.4 +pair_coeff 4 4 lj/cut 0.0 2.65 +pair_coeff * * coul/cut + +bond_style harmonic +bond_coeff 1 29.40 1.09 + +angle_style harmonic +angle_coeff 1 0.172325 109.5 + +# remove bonds/angles in QM methane molecule + +delete_bonds qm multi remove special +System init for delete_bonds ... +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 8.5 + ghost atom cutoff = 8.5 + binsize = 4.25, bins = 3 3 3 + 3 neighbor lists, perpetual/occasional/extra = 3 0 0 + (1) pair buck, perpetual, skip from (3) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (2) pair lj/cut, perpetual, skip from (3) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (3) pair coul/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Deleting bonds ... + 0 total bonds, 0 turned on, 0 turned off + 0 total angles, 0 turned on, 0 turned off + 0 total dihedrals, 0 turned on, 0 turned off + 0 total impropers, 0 turned on, 0 turned off +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 4 = max # of special neighbors + special bonds CPU = 0.000 seconds + +neighbor 1.0 bin +neigh_modify delay 0 every 1 check yes + +velocity all create 300.0 458732 + +# QMMM dynamics with small timestep +# dynamic or frozen zeolite + +#fix 1 all nve +fix 1 qm nve + +fix 2 qm mdi/qmmm potential elements Si O C H +fix_modify 2 energy yes + +timestep 0.0001 + +thermo_style custom step cpu temp ke evdwl ecoul epair emol elong f_2 pe etotal press +thermo 1 + +run 2 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 9.773 | 9.773 | 9.773 Mbytes + Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long f_2 PotEng TotEng Press + 0 0 300 2.9471313 -106.25003 -1065.0377 -1171.2878 0 0 -198.98094 -1370.2687 -1367.3216 -636.94701 + 1 10.047862 299.91218 2.9462686 -106.24961 -1065.1058 -1171.3554 0 0 -198.90989 -1370.2653 -1367.3191 -659.48199 + 2 21.795158 299.81521 2.945316 -106.24919 -1065.1818 -1171.431 0 0 -198.83143 -1370.2624 -1367.3171 -684.54098 +Loop time of 21.7952 on 1 procs for 2 steps with 77 atoms + +Performance: 0.001 ns/day, 30271.086 hours/ns, 0.092 timesteps/s, 7.066 atom-step/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00029526 | 0.00029526 | 0.00029526 | 0.0 | 0.00 +Bond | 3.746e-06 | 3.746e-06 | 3.746e-06 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 1.3152e-05 | 1.3152e-05 | 1.3152e-05 | 0.0 | 0.00 +Output | 5.9651e-05 | 5.9651e-05 | 5.9651e-05 | 0.0 | 0.00 +Modify | 21.795 | 21.795 | 21.795 | 0.0 |100.00 +Other | | 1.083e-05 | | | 0.00 + +Nlocal: 77 ave 77 max 77 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1066 ave 1066 max 1066 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 3146 ave 3146 max 3146 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 3146 +Ave neighs/atom = 40.857143 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:51 diff --git a/examples/QUANTUM/NWChem/log.8Feb23.zeolite.qmmm.plugin.8 b/examples/QUANTUM/NWChem/log.8Feb23.zeolite.qmmm.plugin.8 new file mode 100644 index 0000000000..0cef485c0b --- /dev/null +++ b/examples/QUANTUM/NWChem/log.8Feb23.zeolite.qmmm.plugin.8 @@ -0,0 +1,169 @@ +LAMMPS (22 Dec 2022) +# QMMM for SiO2 zeolite with one methane molecule + +units metal +atom_style full + +bond_style harmonic +angle_style harmonic + +read_data data.zeolite +Reading data file ... + orthogonal box = (-5.9266 -5.9266 -5.9266) to (5.9926 5.9926 5.9926) + 2 by 2 by 2 MPI processor grid + reading atoms ... + 77 atoms + scanning bonds ... + 4 = max bonds/atom + scanning angles ... + 6 = max angles/atom + reading bonds ... + 4 bonds + reading angles ... + 6 angles +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 4 = max # of 1-2 neighbors + 3 = max # of 1-3 neighbors + 3 = max # of 1-4 neighbors + 4 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.005 seconds + +# MM atoms are Si,O +# QM atoms are C,H + +group mm type 1 2 +72 atoms in group mm +group qm type 3 4 +5 atoms in group qm + +# pair style must define stand-alone short-range Coulombics +# must specify mixing explicitly b/c hybrid/overlay +# MM Si,O = types 1,2 +# QM C,H = types 3,4 +# MM Si,O atoms do not LJ interact with each other (just via Buckingham) +# QM C,H atoms do not LJ interact with each other +# MM Si,O and QM C,H do LJ interact with each other + +pair_style hybrid/overlay buck 6.5 lj/cut 6.5 coul/cut 6.5 + +pair_coeff 1 1 buck 3150.462646 0.35032282 626.7519553 +pair_coeff 2 2 buck 659.595398 0.38609055 26.836679 +pair_coeff 1 2 buck 27029.419922 0.19385082 148.099091 + +pair_coeff 1 3 lj/cut 0.09087 3.613 +pair_coeff 1 4 lj/cut 0.0344258 3.238 +pair_coeff 2 3 lj/cut 0.1419429 3.1 +pair_coeff 2 4 lj/cut 0.035857762359063315 1.932779 # same as water dimer + +pair_coeff 3 3 lj/cut 0.0 3.4 +pair_coeff 4 4 lj/cut 0.0 2.65 +pair_coeff * * coul/cut + +bond_style harmonic +bond_coeff 1 29.40 1.09 + +angle_style harmonic +angle_coeff 1 0.172325 109.5 + +# remove bonds/angles in QM methane molecule + +delete_bonds qm multi remove special +System init for delete_bonds ... +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 8.5 + ghost atom cutoff = 8.5 + binsize = 4.25, bins = 3 3 3 + 3 neighbor lists, perpetual/occasional/extra = 3 0 0 + (1) pair buck, perpetual, skip from (3) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (2) pair lj/cut, perpetual, skip from (3) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (3) pair coul/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Deleting bonds ... + 0 total bonds, 0 turned on, 0 turned off + 0 total angles, 0 turned on, 0 turned off + 0 total dihedrals, 0 turned on, 0 turned off + 0 total impropers, 0 turned on, 0 turned off +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 4 = max # of special neighbors + special bonds CPU = 0.000 seconds + +neighbor 1.0 bin +neigh_modify delay 0 every 1 check yes + +velocity all create 300.0 458732 + +# QMMM dynamics with small timestep +# dynamic or frozen zeolite + +#fix 1 all nve +fix 1 qm nve + +fix 2 qm mdi/qmmm potential elements Si O C H +fix_modify 2 energy yes + +timestep 0.0001 + +thermo_style custom step cpu temp ke evdwl ecoul epair emol elong f_2 pe etotal press +thermo 1 + +variable p equal extract_setting(world_size) + +mdi plugin nwchem_mdi mdi "-role ENGINE -name NWChem -method LINK" extra "template.methane.nw methane.nw log.zeolite.pwdft.qmmm.plugin.$p" command "run 2" +run 2 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 9.612 | 9.612 | 9.612 Mbytes + Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long f_2 PotEng TotEng Press + 0 0 300 2.9471313 -106.25003 -1065.0377 -1171.2878 0 0 -198.98094 -1370.2687 -1367.3216 -636.94701 + 1 10.663086 299.91218 2.9462686 -106.24961 -1065.1058 -1171.3554 0 0 -198.90989 -1370.2653 -1367.3191 -659.482 + 2 20.069001 299.81521 2.945316 -106.24919 -1065.1818 -1171.431 0 0 -198.83143 -1370.2624 -1367.3171 -684.54276 +Loop time of 20.069 on 8 procs for 2 steps with 77 atoms + +Performance: 0.001 ns/day, 27873.676 hours/ns, 0.100 timesteps/s, 7.674 atom-step/s +97.7% CPU use with 8 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 3.7853e-05 | 7.1816e-05 | 0.00015043 | 0.0 | 0.00 +Bond | 2.509e-06 | 3.1355e-06 | 4.813e-06 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 7.6476e-05 | 0.00015375 | 0.00018447 | 0.0 | 0.00 +Output | 8.3258e-05 | 8.9853e-05 | 0.00010303 | 0.0 | 0.00 +Modify | 20.069 | 20.069 | 20.069 | 0.0 |100.00 +Other | | 4.15e-05 | | | 0.00 + +Nlocal: 9.625 ave 20 max 3 min +Histogram: 1 2 1 0 1 2 0 0 0 1 +Nghost: 426.375 ave 434 max 415 min +Histogram: 1 0 0 0 3 0 0 2 1 1 +Neighs: 393.25 ave 941 max 132 min +Histogram: 2 2 0 1 2 0 0 0 0 1 + +Total # of neighbors = 3146 +Ave neighs/atom = 40.857143 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:47 diff --git a/examples/QUANTUM/NWChem/nwchem_mdi.py b/examples/QUANTUM/NWChem/nwchem_mdi.py index cdf00f283c..34239a93ad 100644 --- a/examples/QUANTUM/NWChem/nwchem_mdi.py +++ b/examples/QUANTUM/NWChem/nwchem_mdi.py @@ -1,4 +1,4 @@ -# MDI wrapper on NWChem PWDFT code + # MDI wrapper on NWChem PWDFT code # NOTE: Qs or issues to still address # test if works for both AIMD and QMMM @@ -11,7 +11,7 @@ # allow for box size changes, e.g. every step for NPT # check NWC func call error returns ? -import sys,time +import sys,os,time from ctypes import * import numpy as np @@ -128,7 +128,7 @@ def options(other_options): # -------------------------------------------- def mdi_engine(other_options): - global world,MPI_Comm,libpwdft + global world,me,nprocs,MPI_Comm,libpwdft # get the MPI intra-communicator for this engine @@ -472,8 +472,12 @@ def evaluate(): error("QM atom properties not fully specified") # setup new system within PWDFT - - if new_system: pwdft_initialize() + # remove nwchemex.movecs file if it exists + + if new_system: + if me == 0: + if os.path.exists("nwchemex.movecs"): os.remove("nwchemex.movecs") + pwdft_initialize() # QMMM with QM and MM atoms @@ -483,7 +487,7 @@ def evaluate(): c_nw_outfile = nw_outfile.encode() if mode == QMMM: - print("QMMM minimizer") + #print("QMMM minimizer") time1 = time.time() nwerr = libpwdft.\ c_lammps_pspw_qmmm_minimizer_filename(c_world,qm_coords,qm_potential, @@ -492,7 +496,7 @@ def evaluate(): # NOTE: check nwerr return? qm_pe = c_qm_pe.value time2 = time.time() - print("DONE QMMM minimizer",nwerr,time2-time1) + if me == 0: print("Time for PWDFT qmmm:",time2-time1) #print("PE",qm_pe) #print("FORCE",qm_forces) #print("CHARGES",qm_charges) @@ -500,7 +504,7 @@ def evaluate(): # AIMD with only QM atoms elif mode == AIMD: - print("AIMD minimizer") + #print("AIMD minimizer") time1 = time.time() nwerr = libpwdft.\ c_lammps_pspw_aimd_minimizer_filename(c_world,qm_coords,qm_forces, @@ -508,7 +512,7 @@ def evaluate(): # NOTE: check nwerr return? qm_pe = c_qm_pe.value time2 = time.time() - print("DONE AIMD minimizer",nwerr,time2-time1) + if me == 0: print("Time for PWDFT aimd:",time2-time1) # clear flags for all MDI commands for next QM evaluation @@ -597,11 +601,11 @@ def pwdft_initialize(): infile = nw_infile.encode() outfile = nw_outfile.encode() - print("INPUT filename") + #print("INPUT filename") time1 = time.time() nwerr = libpwdft.c_lammps_pspw_input_filename(c_world,infile,outfile) time2 = time.time() - print("DONE INPUT filename",nwerr,time2-time1) + if me == 0: print("Time for PWDFT setup:",time2-time1) # -------------------------------------------- # function called by MDI driver From f9be11ac8ab460edff3709d66734d3fc2cd806dd Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 8 Feb 2023 16:10:45 -0700 Subject: [PATCH 089/448] enable variables in MDI commands --- src/MDI/fix_mdi_qmmm.cpp | 15 ++++++++------- src/MDI/mdi_plugin.cpp | 25 +++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 7 deletions(-) diff --git a/src/MDI/fix_mdi_qmmm.cpp b/src/MDI/fix_mdi_qmmm.cpp index 3952f4f356..e542a96f0d 100644 --- a/src/MDI/fix_mdi_qmmm.cpp +++ b/src/MDI/fix_mdi_qmmm.cpp @@ -530,10 +530,10 @@ void FixMDIQMMM::pre_force(int vflag) // qqm = new charges on QM atoms // qm_energy = QM contribution to energy of entire system - if (comm->me == 0) utils::logmesg(lmp, "Invoking QM code ...\n"); + //if (comm->me == 0) utils::logmesg(lmp, "Invoking QM code ...\n"); - MPI_Barrier(world); - double tstart = platform::walltime(); + //MPI_Barrier(world); + //double tstart = platform::walltime(); int ierr; @@ -579,10 +579,11 @@ void FixMDIQMMM::pre_force(int vflag) // end of MDI calls - MPI_Barrier(world); - if (comm->me == 0) - utils::logmesg(lmp, " time = {:.3f} seconds\n", - platform::walltime() - tstart); + //MPI_Barrier(world); + + //if (comm->me == 0) + // utils::logmesg(lmp, " time = {:.3f} seconds\n", + // platform::walltime() - tstart); // unit conversion from MDI to LAMMPS diff --git a/src/MDI/mdi_plugin.cpp b/src/MDI/mdi_plugin.cpp index 08dfd0ad1f..908f50b29a 100644 --- a/src/MDI/mdi_plugin.cpp +++ b/src/MDI/mdi_plugin.cpp @@ -57,14 +57,37 @@ MDIPlugin::MDIPlugin(LAMMPS *_lmp, int narg, char **arg) : Pointers(_lmp) } else if (strcmp(arg[iarg], "infile") == 0) { if (iarg + 2 > narg) error->all(FLERR, "Illegal mdi plugin command"); infile_arg = arg[iarg + 1]; + iarg += 2; } else if (strcmp(arg[iarg], "extra") == 0) { if (iarg + 2 > narg) error->all(FLERR, "Illegal mdi plugin command"); extra_arg = arg[iarg + 1]; + + // do variable substitution in multiple word extra_arg + + int ncopy = strlen(extra_arg) + 1; + char *copy = utils::strdup(extra_arg); + char *work = new char[ncopy]; + int nwork = ncopy; + input->substitute(copy,work,ncopy,nwork,0); + delete[] work; + extra_arg = copy; + iarg += 2; } else if (strcmp(arg[iarg], "command") == 0) { if (iarg + 2 > narg) error->all(FLERR, "Illegal mdi plugin command"); lammps_command = utils::strdup(arg[iarg + 1]); + + // do variable substitution in multiple word lammps_command + + int ncopy = strlen(lammps_command) + 1; + char *copy = utils::strdup(lammps_command); + char *work = new char[ncopy]; + int nwork = ncopy; + input->substitute(copy,work,ncopy,nwork,0); + delete[] work; + lammps_command = copy; + iarg += 2; } else error->all(FLERR, "Illegal mdi plugin command"); @@ -102,6 +125,8 @@ MDIPlugin::MDIPlugin(LAMMPS *_lmp, int narg, char **arg) : Pointers(_lmp) MDI_Launch_plugin(plugin_name, plugin_args, &world, plugin_wrapper, (void *) this); delete[] plugin_args; + delete[] extra_arg; + delete[] lammps_command; } /* ---------------------------------------------------------------------- From b4b3d47783007452c05478388cd773bd38a6ae5d Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 9 Feb 2023 11:14:16 -0700 Subject: [PATCH 090/448] variable substitution memory leak --- src/MDI/mdi_plugin.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/MDI/mdi_plugin.cpp b/src/MDI/mdi_plugin.cpp index 908f50b29a..25e146fc54 100644 --- a/src/MDI/mdi_plugin.cpp +++ b/src/MDI/mdi_plugin.cpp @@ -76,7 +76,7 @@ MDIPlugin::MDIPlugin(LAMMPS *_lmp, int narg, char **arg) : Pointers(_lmp) iarg += 2; } else if (strcmp(arg[iarg], "command") == 0) { if (iarg + 2 > narg) error->all(FLERR, "Illegal mdi plugin command"); - lammps_command = utils::strdup(arg[iarg + 1]); + lammps_command = arg[iarg + 1]; // do variable substitution in multiple word lammps_command From 32186b98f55deb1c30e8c9c7c8f0ff707b085331 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 9 Feb 2023 14:05:47 -0700 Subject: [PATCH 091/448] more debugging --- examples/QUANTUM/NWChem/README | 4 +- examples/QUANTUM/NWChem/in.w.many | 34 ---- examples/QUANTUM/NWChem/in.water.mm | 16 +- examples/QUANTUM/NWChem/in.zeolite.mm | 16 +- examples/QUANTUM/NWChem/log.8Feb23.water.mm.1 | 113 +++++++++++ .../QUANTUM/NWChem/log.8Feb23.zeolite.mm.1 | 186 ++++++++++++++++++ examples/QUANTUM/NWChem/nwchem_mdi.py | 14 +- examples/QUANTUM/PySCF/README | 102 +++++----- .../{in.mixture.lammps => in.mixture.mm} | 18 +- ...{in.mixture.pyscf.qmmm => in.mixture.qmmm} | 0 ...scf.qmmm.plugin => in.mixture.qmmm.plugin} | 0 .../{in.water.pyscf.qmmm => in.water.qmmm} | 0 ...pyscf.qmmm.plugin => in.water.qmmm.plugin} | 1 - .../QUANTUM/PySCF/log.8Feb23.mixture.mm.1 | 112 +++++++++++ .../PySCF/log.8Feb23.mixture.qmmm.mpi.1 | 1 + .../PySCF/log.8Feb23.mixture.qmmm.plugin.1 | 157 +++++++++++++++ .../QUANTUM/PySCF/log.8Feb23.water.qmmm.mpi.1 | 1 + .../PySCF/log.8Feb23.water.qmmm.plugin.1 | 155 +++++++++++++++ examples/QUANTUM/PySCF/pyscf_mdi.py | 24 +-- src/MDI/fix_mdi_qmmm.cpp | 14 +- src/MDI/mdi_plugin.cpp | 1 - 21 files changed, 806 insertions(+), 163 deletions(-) delete mode 100644 examples/QUANTUM/NWChem/in.w.many create mode 100644 examples/QUANTUM/NWChem/log.8Feb23.water.mm.1 create mode 100644 examples/QUANTUM/NWChem/log.8Feb23.zeolite.mm.1 rename examples/QUANTUM/PySCF/{in.mixture.lammps => in.mixture.mm} (59%) rename examples/QUANTUM/PySCF/{in.mixture.pyscf.qmmm => in.mixture.qmmm} (100%) rename examples/QUANTUM/PySCF/{in.mixture.pyscf.qmmm.plugin => in.mixture.qmmm.plugin} (100%) rename examples/QUANTUM/PySCF/{in.water.pyscf.qmmm => in.water.qmmm} (100%) rename examples/QUANTUM/PySCF/{in.water.pyscf.qmmm.plugin => in.water.qmmm.plugin} (94%) create mode 100644 examples/QUANTUM/PySCF/log.8Feb23.mixture.mm.1 create mode 100644 examples/QUANTUM/PySCF/log.8Feb23.mixture.qmmm.mpi.1 create mode 100644 examples/QUANTUM/PySCF/log.8Feb23.mixture.qmmm.plugin.1 create mode 100644 examples/QUANTUM/PySCF/log.8Feb23.water.qmmm.mpi.1 create mode 100644 examples/QUANTUM/PySCF/log.8Feb23.water.qmmm.plugin.1 diff --git a/examples/QUANTUM/NWChem/README b/examples/QUANTUM/NWChem/README index 92a4e8e92a..b0e69c68fc 100644 --- a/examples/QUANTUM/NWChem/README +++ b/examples/QUANTUM/NWChem/README @@ -106,8 +106,8 @@ Step 4: perform test runs in any of 3 modes These tests are in lammps/examples/QUANTUM/NWChem in.series = series of several W conformations -in.water.qmmm = QMMM of two-water system, one QM + 1 MM -in.zeolite.qmmm = QMMM of zeolite (MM0 with a methane (QM) molecule +in.water.qmmm = QMMM of two-water system, 1 QM + 1 MM +in.zeolite.qmmm = QMMM of zeolite, MM zeolite + QM methane molecule ** run LAMMPS-only versions of water and zeolite problems diff --git a/examples/QUANTUM/NWChem/in.w.many b/examples/QUANTUM/NWChem/in.w.many deleted file mode 100644 index 384c3bb1b1..0000000000 --- a/examples/QUANTUM/NWChem/in.w.many +++ /dev/null @@ -1,34 +0,0 @@ -# many conformations with NWChem - -variable datafiles file file.list.2 - -label loop - -clear - -units metal -atom_style atomic -atom_modify map yes -comm_modify cutoff 2.0 - -log log.${datafiles} - -read_data Wfiles/${datafiles} - -mass 1 183.84 - -neighbor 1.0 bin -neigh_modify delay 0 every 1 check yes - -fix 2 all nwchem template.w.nw ${datafiles}.nw & - log.pwdft.${datafiles} W -fix_modify 2 energy yes - -dump 1 all custom 1 dump.${datafiles} id x y z fx fy fz - -timestep 0.001 - -run 0 - -next datafiles -jump SELF loop diff --git a/examples/QUANTUM/NWChem/in.water.mm b/examples/QUANTUM/NWChem/in.water.mm index 11c3a9c576..4391191c76 100644 --- a/examples/QUANTUM/NWChem/in.water.mm +++ b/examples/QUANTUM/NWChem/in.water.mm @@ -17,29 +17,17 @@ pair_style lj/cut/coul/cut 6.0 pair_coeff 1 1 0.13506 3.166 pair_coeff 2 2 0.0 1.0 -#velocity all create 300.0 458732 +velocity all create 300.0 458732 neighbor 1.0 bin neigh_modify delay 0 every 1 check yes fix 1 all nve -compute 1 all pair/local dist -compute 2 all reduce max c_1 - -variable fxabs atom abs(fx) -variable fyabs atom abs(fy) -variable fzabs atom abs(fz) -variable qabs atom abs(q) -compute 3 all reduce max v_fxabs v_fyabs v_fzabs v_qabs - -dump 1 all custom 1 dump.water.dimer.mm id x y z q fx fy fz -dump_modify 1 sort id format float "%20.16g" - timestep 1.0 thermo_style custom step cpu temp ke evdwl ecoul epair emol elong & - pe etotal press c_2 c_3[*] + pe etotal press thermo 1 diff --git a/examples/QUANTUM/NWChem/in.zeolite.mm b/examples/QUANTUM/NWChem/in.zeolite.mm index e746d468b5..7b7246b339 100644 --- a/examples/QUANTUM/NWChem/in.zeolite.mm +++ b/examples/QUANTUM/NWChem/in.zeolite.mm @@ -94,22 +94,10 @@ neigh_modify delay 0 every 1 check yes fix 1 all nve #fix 1 qm nve -compute 1 all pair/local dist -compute 2 all reduce max c_1 - -variable fxabs atom abs(fx) -variable fyabs atom abs(fy) -variable fzabs atom abs(fz) -variable qabs atom abs(q) -compute 3 all reduce max v_fxabs v_fyabs v_fzabs v_qabs - -dump 1 all custom 1 dump.zeolite.mm id x y z q fx fy fz -dump_modify 1 sort id format float "%20.16g" - -timestep 0.001 +timestep 0.0001 thermo_style custom step cpu temp ke evdwl ecoul epair emol elong & - pe etotal press c_2 c_3[*] + pe etotal press thermo 1 diff --git a/examples/QUANTUM/NWChem/log.8Feb23.water.mm.1 b/examples/QUANTUM/NWChem/log.8Feb23.water.mm.1 new file mode 100644 index 0000000000..5382b7bf45 --- /dev/null +++ b/examples/QUANTUM/NWChem/log.8Feb23.water.mm.1 @@ -0,0 +1,113 @@ +LAMMPS (22 Dec 2022) +# MM for water dimer + +units real +atom_style full + +bond_style harmonic +angle_style harmonic + +read_data data.water.mm +Reading data file ... + orthogonal box = (-6.879301 -6.879301 -6.879301) to (6.879301 6.879301 6.879301) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 6 atoms + scanning bonds ... + 2 = max bonds/atom + scanning angles ... + 1 = max angles/atom + reading bonds ... + 4 bonds + reading angles ... + 2 angles +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.002 seconds + +group mm molecule 1 +3 atoms in group mm +group qm molecule 2 +3 atoms in group qm + +# pair style must define stand-alone short-range Coulombics + +pair_style lj/cut/coul/cut 6.0 +pair_coeff 1 1 0.13506 3.166 +pair_coeff 2 2 0.0 1.0 + +velocity all create 300.0 458732 + +neighbor 1.0 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve + +timestep 1.0 + +thermo_style custom step cpu temp ke evdwl ecoul epair emol elong pe etotal press + +thermo 1 + +run 10 +Generated 1 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 4 4 4 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut/coul/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 6.563 | 6.563 | 6.563 Mbytes + Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long PotEng TotEng Press + 0 0 300 4.4712151 0.85234387 -7.098978 -6.2466342 7.0772152 0 0.83058103 5.3017961 2175.106 + 1 5.713e-06 225.99525 3.3682446 0.8007398 -7.3015666 -6.5008268 8.5760055 0 2.0751787 5.4434233 2118.0755 + 2 1.3911e-05 469.03888 6.990579 0.76268142 -7.9866866 -7.2240051 5.1752925 0 -2.0487126 4.9418664 1120.4766 + 3 2.0968e-05 612.19697 9.1242144 0.73936944 -8.8769967 -8.1376272 3.6503739 0 -4.4872533 4.636961 -512.84502 + 4 2.7903e-05 403.86959 6.0192927 0.72702099 -9.5085408 -8.7815198 7.8103639 0 -0.97115599 5.0481367 -2105.3508 + 5 3.4588e-05 188.60671 2.8110039 0.71855703 -9.4937724 -8.7752154 11.456673 0 2.6814579 5.4924617 -2759.3498 + 6 4.1451e-05 335.57585 5.0014393 0.70667511 -8.8207473 -8.1140722 8.3295226 0 0.2154504 5.2168897 -2014.8891 + 7 4.8086e-05 612.66738 9.1312254 0.68733606 -7.8404266 -7.1530905 2.6947578 0 -4.4583327 4.6728927 -320.45402 + 8 5.4692e-05 564.8702 8.4188539 0.66167633 -6.986773 -6.3250967 2.6797166 0 -3.6453801 4.7734737 1333.6188 + 9 6.2607e-05 274.91926 4.0974105 0.63494004 -6.5543479 -5.9194079 7.1781603 0 1.2587524 5.3561629 2192.6187 + 10 6.9584e-05 227.65402 3.3929669 0.61324726 -6.6534611 -6.0402139 8.0914403 0 2.0512265 5.4441934 2041.4853 +Loop time of 7.479e-05 on 1 procs for 10 steps with 6 atoms + +Performance: 11552.347 ns/day, 0.002 hours/ns, 133707.715 timesteps/s, 802.246 katom-step/s +0.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 5.382e-06 | 5.382e-06 | 5.382e-06 | 0.0 | 7.20 +Bond | 4.817e-06 | 4.817e-06 | 4.817e-06 | 0.0 | 6.44 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 4.71e-06 | 4.71e-06 | 4.71e-06 | 0.0 | 6.30 +Output | 5.2372e-05 | 5.2372e-05 | 5.2372e-05 | 0.0 | 70.03 +Modify | 2.931e-06 | 2.931e-06 | 2.931e-06 | 0.0 | 3.92 +Other | | 4.578e-06 | | | 6.12 + +Nlocal: 6 ave 6 max 6 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 56 ave 56 max 56 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 9 ave 9 max 9 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 9 +Ave neighs/atom = 1.5 +Ave special neighs/atom = 2 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/QUANTUM/NWChem/log.8Feb23.zeolite.mm.1 b/examples/QUANTUM/NWChem/log.8Feb23.zeolite.mm.1 new file mode 100644 index 0000000000..dd4c4175e6 --- /dev/null +++ b/examples/QUANTUM/NWChem/log.8Feb23.zeolite.mm.1 @@ -0,0 +1,186 @@ +LAMMPS (22 Dec 2022) +# MM for SiO2 zeolite with one methane molecule + +# CHIK potential +# EPL, Carre, Horbach, Ispas, Kob, 82, 17001 (2008) +# B = 1/rho + +#q Si = 1.910418 +#q O = -0.955209 +#A OO = 659.595398 eV +#B OO = 2.590066 1/Ang +#C OO = 26.836679 eV-Ang^6 +#A SiO = 27029.419922 eV +#B SiO = 5.158606 1/Ang +#C SiO = 148.099091 eV-Ang^6 +#A SiSi = 3150.462646 eV +#B SiSi = 2.851451 1/Ang +#C SiSi = 626.7519553 eV-Ang^6 + +# LJ params for methane and O from Table 1 +# Bhatia and Nicholson, J Phys Chem C, 2012, 116, 2344-2355. + +#q C = -0.66 +#Q H = 0.165 +#sigma C = 0.34 nm +#sigma H = 0.265 nm +#sigma O = 0.28 nm +#eps/kB C = 55.082 K = 0.004745993 eV +#eps/kB H = 7.905 K = 0.000681113 eV +#eps/kB O = 492.7 K = 0.0424522 eV + +# LJ params for silicon +#e-Journal of Surf Sci and Nanotech, Inui and Iwasaki, 15, 40-49 (2017) + +#sigma Si = 3.826 Ang +#eps Si = 17.4 meV = 0.0174 eV + +# C-H bond and methane angle params + +#OPLS C-H bond k = 29.40 ev/Ang^2 +#C-H bond r0 = 1.09 Angs +#methane angles = 109.5 degrees +#C-H angle k/kB = 2000 K/rad^2 + +# conversions + +#1 eV = 11606 K +#1 eV = 23.0609 kcal/mole +#1 kcal/mole = 503.2761 K +#1 kcal = 4.814 kJoule + +# ------------------------- + +units metal +atom_style full + +bond_style harmonic +angle_style harmonic + +read_data data.zeolite +Reading data file ... + orthogonal box = (-5.9266 -5.9266 -5.9266) to (5.9926 5.9926 5.9926) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 77 atoms + scanning bonds ... + 4 = max bonds/atom + scanning angles ... + 6 = max angles/atom + reading bonds ... + 4 bonds + reading angles ... + 6 angles +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 4 = max # of 1-2 neighbors + 3 = max # of 1-3 neighbors + 3 = max # of 1-4 neighbors + 4 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.005 seconds + +group mm type 1 2 +72 atoms in group mm +group qm type 3 4 +5 atoms in group qm + +# pair style must define stand-alone short-range Coulombics +# arithmetic mixing + +pair_style hybrid/overlay buck 6.5 lj/cut 6.5 coul/cut 6.5 + +pair_coeff 1 1 buck 3150.462646 0.35032282 626.7519553 +pair_coeff 2 2 buck 659.595398 0.38609055 26.836679 +pair_coeff 1 2 buck 27029.419922 0.19385082 148.099091 +pair_coeff 1 2 buck 27029.419922 0.19385082 148.099091 +pair_coeff 1 3 lj/cut 0.009087 3.613 +pair_coeff 1 4 lj/cut 0.00344258 3.238 +pair_coeff 2 3 lj/cut 0.01419429 3.1 +pair_coeff 2 4 lj/cut 0.00537724 2.725 +pair_coeff 3 3 lj/cut 0.004746 3.4 +pair_coeff 4 4 lj/cut 0.00068111 2.65 +pair_coeff * * coul/cut + +bond_style harmonic +bond_coeff 1 29.40 1.09 + +angle_style harmonic +angle_coeff 1 0.172325 109.5 + +#velocity all create 300.0 458732 + +neighbor 1.0 bin +neigh_modify delay 0 every 1 check yes + +# dynamic or frozen zeolite + +fix 1 all nve +#fix 1 qm nve + +timestep 0.0001 + +thermo_style custom step cpu temp ke evdwl ecoul epair emol elong pe etotal press + +thermo 1 + +run 3 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7.5 + ghost atom cutoff = 7.5 + binsize = 3.75, bins = 4 4 4 + 3 neighbor lists, perpetual/occasional/extra = 3 0 0 + (1) pair buck, perpetual, skip from (3) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (2) pair lj/cut, perpetual, skip from (3) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (3) pair coul/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 9.513 | 9.513 | 9.513 Mbytes + Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long PotEng TotEng Press + 0 0 0 0 -102.55051 -1039.5685 -1142.119 2.7005254e-07 0 -1142.119 -1142.119 11439.684 + 1 8.3058e-05 0.055395011 0.00054418791 -102.55035 -1039.5692 -1142.1196 3.3571313e-07 0 -1142.1196 -1142.119 11439.469 + 2 0.00015372 0.22147045 0.002175675 -102.54986 -1039.5713 -1142.1212 9.2762791e-07 0 -1142.1212 -1142.119 11438.832 + 3 0.000223969 0.49789878 0.0048912436 -102.54905 -1039.5748 -1142.1239 3.2194644e-06 0 -1142.1239 -1142.119 11437.796 +Loop time of 0.000228308 on 1 procs for 3 steps with 77 atoms + +Performance: 113.531 ns/day, 0.211 hours/ns, 13140.144 timesteps/s, 1.012 Matom-step/s +33.3% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00020213 | 0.00020213 | 0.00020213 | 0.0 | 88.53 +Bond | 2.326e-06 | 2.326e-06 | 2.326e-06 | 0.0 | 1.02 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 6.354e-06 | 6.354e-06 | 6.354e-06 | 0.0 | 2.78 +Output | 1.362e-05 | 1.362e-05 | 1.362e-05 | 0.0 | 5.97 +Modify | 1.804e-06 | 1.804e-06 | 1.804e-06 | 0.0 | 0.79 +Other | | 2.073e-06 | | | 0.91 + +Nlocal: 77 ave 77 max 77 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1066 ave 1066 max 1066 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 3136 ave 3136 max 3136 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 3136 +Ave neighs/atom = 40.727273 +Ave special neighs/atom = 0.25974026 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/QUANTUM/NWChem/nwchem_mdi.py b/examples/QUANTUM/NWChem/nwchem_mdi.py index 34239a93ad..826072cd25 100644 --- a/examples/QUANTUM/NWChem/nwchem_mdi.py +++ b/examples/QUANTUM/NWChem/nwchem_mdi.py @@ -1,15 +1,7 @@ - # MDI wrapper on NWChem PWDFT code +# MDI wrapper on NWChem PWDFT code -# NOTE: Qs or issues to still address -# test if works for both AIMD and QMMM -# can series of problem be run via lib interface input_filename() ? -# how does PBC vs non-PBC work, just box size in NWC input file -# or maybe other settings in that file? -# can NWChem return stress? -# can NWChem do DIRECT mode? -# any options for 2d or 1d periodic? -# allow for box size changes, e.g. every step for NPT -# check NWC func call error returns ? +# native PWDFT units are Bohr and Hartree +# but box and atom coord inputs in *.nw file are in Angstroms import sys,os,time from ctypes import * diff --git a/examples/QUANTUM/PySCF/README b/examples/QUANTUM/PySCF/README index 245a7053aa..88a6100db4 100644 --- a/examples/QUANTUM/PySCF/README +++ b/examples/QUANTUM/PySCF/README @@ -1,18 +1,17 @@ -# Test runs of QMMM with LAMMPS and PySCF +# Test runs with copuling of LAMMPS and PySCF Step 1: build LAMMPS -Step 2: download/build the MDI code coupling package -Step 3: download/build or install PySCF -Step 4: run 2-water QMMM problem for a few steps +Step 2: download/build MDI code coupling package +Step 3: download/build PySCF +Step 4: perform test runs in any of 3 modes --------------------------------- --------------------------------- Step 1: build LAMMPS -The molecule and kspace packages are needed for the 2-water test -problem. Copy the final LAMMPS executable into the -examples/QUANTUM/PySCF directory. +The MDI, molecule, and kspace packages are needed. Copy the final +LAMMPS executable into the examples/QUANTUM/PySCF directory. Traditional make: @@ -27,18 +26,18 @@ CMake: % cd ~/lammps % mkdir build; cd build -% cmake -D PKG_MDI=yes -D PKG_MOLECULE=yes -D PKG_KSPACE=yes ../cmake +% cmake -DPKG_MDI=yes -DPKG_MOLECULE=yes -DPKG_KSPACE=yes ../cmake % make -j % cp lmp ~/lammps/examples/QUANTUM/PySCF/lmp_mpi --------------------------------- --------------------------------- -Step 2: install the MDI code coupling package +Step 2: download/build MDI code coupling package -(a) grab the MDI Git repo +(a) clone the MDI Git repo -% mkdir git; cd mdi +% mkdir mdi; cd mdi % git clone git@github.com:MolSSI-MDI/MDI_Library.git git (b) build MDI @@ -48,8 +47,8 @@ Step 2: install the MDI code coupling package % cmake .. % make -j -(c) Add something similar to the following to your .bashrc or .cshrc -file so that Python can find MDI: +(c) Add a line like this to your ~/.bashrc or ~/.cshrc file so that +Python can find MDI: For bash: @@ -61,17 +60,38 @@ For (t)csh: % setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/mdi/git % rehash +(d) Check import of 3 Python modules which the script that wraps LATTE +will need: + +% python +>>> import numpy as np +>>> from mpi4py import MPI +>>> import MDI_Library as mdi + --------------------------------- --------------------------------- -Step 3: install PySCF +Step 3: download/build PySCF -(a) download/build or install PySCF on your box +See https://pyscf.org/install.html for install options. +This describes building PySCF from source code. -NOTE: add instructions here +(a) clone the PySCI Git repo -(b) Add something similar to the following to your .bashrc or .cshrc -file so that Python can find PySCF: +% mkdir pyscf; cd pyscf +% git clone https://github.com/pyscf/pyscf.git git + +(b) build PySCF + +NOTE: you will also need numpy, scipy, h5py in your python + +% cd pyscf/git/lib +% mkdir build; cd build +% cmake .. +% make -j + +(c) Add a line like this to your ~/.bashrc or ~/.cshrc file so that +Python can find PySCF: For bash: @@ -83,8 +103,8 @@ For (t)csh: % setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/pyscf/git % rehash -(c) Check that you can import the 4 Python modules which the script -that wraps PySCF will need: +(d) Check import of 4 Python modules which the script that wraps PySCF +will need: % python >>> import numpy as np @@ -95,41 +115,33 @@ that wraps PySCF will need: --------------------------------- --------------------------------- -Step 4: run the 2-water QMMM problem for a few steps +Step 4: perform test runs in any of 3 modes -% cd ~/lammps/examples/QUANTUM/PySCF +These tests are in lammps/examples/QUANTUM/PySCF -# Run with TCP: 1 proc each +in.water = QMMM of two-water system, 1 QM + 1 MM +in.mixture = QMMM of mixture, QM small molecule in MM water -% lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.water.pyscf.qmmm.tcp.1 -in in.water.pyscf.qmmm & +** run LAMMPS-only versions of mixture problem -% python pyscf_mdi.py -mdi "-name PYSCF -role ENGINE -method TCP -port 8021 -hostname localhost" +lmp_mpi -log log.mixture.mm.1 < in.mixture.mm -# Run with MPI: 1 proc each +** run LAMMPS and LATTE with TCP/IP, 1 proc each -% mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.water.pyscf.qmmm.mpi.1 -in in.water.pyscf.qmmm : -np 1 python pyscf_mdi.py -mdi "-name PYSCF -role ENGINE -method MPI" -pbc no +lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.water.qmmm.tcp.1 -in in.water.qmmm & +python pyscf_mdi.py -mdi "-name PYSCF -role ENGINE -method TCP -port 8021 -hostname localhost" -# Run in plugin mode: 1 proc +lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.mixture.qmmm.tcp.1 -in in.mixture.qmmm & +python pyscf_mdi.py -mdi "-name PYSCF -role ENGINE -method TCP -port 8021 -hostname localhost" -% lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/PySCF" -log log.water.pyscf.qmmm.plugin.1 -in in.water.pyscf.qmmm.plugin +** run LAMMPS and PySCF with MPI, 1 proc each ---------------------------------- ---------------------------------- +mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.water.qmmm.mpi.1 -in in.water.qmmm : -np 1 python pyscf_mdi.py -mdi "-name PYSCF -role ENGINE -method MPI" -pbc no -Step 5: run the mixture QMMM problem for a few steps +mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.mixture.qmmm.mpi.1 -in in.mixture.qmmm : -np 1 python pyscf_mdi.py -mdi "-name PYSCF -role ENGINE -method MPI" -pbc no -% cd ~/lammps/examples/QUANTUM/PySCF +** run PySCF as plugin MDI engine, 1 proc -# Run with TCP: 1 proc each +lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/PySCF" -log log.water.qmmm.plugin.1 -in in.water.qmmm.plugin -% lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.mixture.pyscf.qmmm.tcp.1 -in in.mixture.pyscf.qmmm & - -% python pyscf_mdi.py -mdi "-name PYSCF -role ENGINE -method TCP -port 8021 -hostname localhost" - -# Run with MPI: 1 proc each - -% mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.mixture.pyscf.qmmm.mpi.1 -in in.mixture.pyscf.qmmm : -np 1 python pyscf_mdi.py -mdi "-name PYSCF -role ENGINE -method MPI" -pbc no - -# Run in plugin mode: 1 proc - -% lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/PySCF" -log log.mixture.pyscf.qmmm.plugin.1 -in in.mixture.pyscf.qmmm.plugin +lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/PySCF" -log log.mixture.qmmm.plugin.1 -in in.mixture.qmmm.plugin diff --git a/examples/QUANTUM/PySCF/in.mixture.lammps b/examples/QUANTUM/PySCF/in.mixture.mm similarity index 59% rename from examples/QUANTUM/PySCF/in.mixture.lammps rename to examples/QUANTUM/PySCF/in.mixture.mm index 7f38b1397f..fd9e3ce633 100644 --- a/examples/QUANTUM/PySCF/in.mixture.lammps +++ b/examples/QUANTUM/PySCF/in.mixture.mm @@ -1,4 +1,4 @@ -# QMMM with PySCF - mixture example +# mixture example units real atom_style full @@ -15,18 +15,6 @@ kspace_style pppm 1e-5 read_data data.mixture -# QM atoms are IDs 1 to 9 -# MM atoms are remaining atoms - -group qm id 1:9 -group mm subtract all qm - -# remove bonds/angles between QM atoms -# set charges to zero on QM atoms - -delete_bonds qm multi remove special -set group qm charge 0.0 - neighbor 2.0 bin neigh_modify delay 0 every 1 check yes @@ -39,5 +27,5 @@ fix 1 all nve thermo_style custom step cpu temp ke evdwl ecoul epair emol elong & pe etotal press -thermo 1 -run 2 +thermo 10 +run 20 diff --git a/examples/QUANTUM/PySCF/in.mixture.pyscf.qmmm b/examples/QUANTUM/PySCF/in.mixture.qmmm similarity index 100% rename from examples/QUANTUM/PySCF/in.mixture.pyscf.qmmm rename to examples/QUANTUM/PySCF/in.mixture.qmmm diff --git a/examples/QUANTUM/PySCF/in.mixture.pyscf.qmmm.plugin b/examples/QUANTUM/PySCF/in.mixture.qmmm.plugin similarity index 100% rename from examples/QUANTUM/PySCF/in.mixture.pyscf.qmmm.plugin rename to examples/QUANTUM/PySCF/in.mixture.qmmm.plugin diff --git a/examples/QUANTUM/PySCF/in.water.pyscf.qmmm b/examples/QUANTUM/PySCF/in.water.qmmm similarity index 100% rename from examples/QUANTUM/PySCF/in.water.pyscf.qmmm rename to examples/QUANTUM/PySCF/in.water.qmmm diff --git a/examples/QUANTUM/PySCF/in.water.pyscf.qmmm.plugin b/examples/QUANTUM/PySCF/in.water.qmmm.plugin similarity index 94% rename from examples/QUANTUM/PySCF/in.water.pyscf.qmmm.plugin rename to examples/QUANTUM/PySCF/in.water.qmmm.plugin index 92055bda12..257ae38a43 100644 --- a/examples/QUANTUM/PySCF/in.water.pyscf.qmmm.plugin +++ b/examples/QUANTUM/PySCF/in.water.qmmm.plugin @@ -1,5 +1,4 @@ # QMMM with PySCF -# adapted from pyscf_water/lmp.in for 2 water QMMM example units real atom_style full diff --git a/examples/QUANTUM/PySCF/log.8Feb23.mixture.mm.1 b/examples/QUANTUM/PySCF/log.8Feb23.mixture.mm.1 new file mode 100644 index 0000000000..8713842e08 --- /dev/null +++ b/examples/QUANTUM/PySCF/log.8Feb23.mixture.mm.1 @@ -0,0 +1,112 @@ +LAMMPS (22 Dec 2022) +# mixture example + +units real +atom_style full + +pair_style lj/cut/coul/long 12 +pair_modify mix arithmetic + +bond_style harmonic +angle_style harmonic +dihedral_style none +improper_style none + +kspace_style pppm 1e-5 + +read_data data.mixture +Reading data file ... + orthogonal box = (0 0 0) to (31.351877 31.351877 31.351877) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 3081 atoms + reading velocities ... + 3081 velocities + scanning bonds ... + 4 = max bonds/atom + scanning angles ... + 6 = max angles/atom + reading bonds ... + 2055 bonds + reading angles ... + 1033 angles +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 4 = max # of 1-2 neighbors + 3 = max # of 1-3 neighbors + 3 = max # of 1-4 neighbors + 4 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.012 seconds + +neighbor 2.0 bin +neigh_modify delay 0 every 1 check yes + +# MM dynamics + +timestep 0.01 + +fix 1 all nve + +thermo_style custom step cpu temp ke evdwl ecoul epair emol elong pe etotal press + +thermo 10 +run 20 +PPPM initialization ... + using 12-bit tables for long-range coulomb (../kspace.cpp:342) + G vector (1/distance) = 0.25751777 + grid = 24 24 24 + stencil order = 5 + estimated absolute RMS force accuracy = 0.0020473396 + estimated relative force accuracy = 6.1655023e-06 + using double precision KISS FFT + 3d grid and FFT values/proc = 29791 13824 +Generated 21 of 21 mixed pair_coeff terms from arithmetic mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 5 5 5 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 26.76 | 26.76 | 26.76 Mbytes + Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long PotEng TotEng Press + 0 0 0 0 2164.0602 35284.412 -12356.063 863.67442 -49804.536 -11492.389 -11492.389 -4362.0189 + 10 0.14354809 0.0049877709 0.0457922 2164.0602 35284.445 -12356.031 863.59574 -49804.536 -11492.435 -11492.389 -4360.2561 + 20 0.28788199 0.019888006 0.1825897 2164.0599 35284.545 -12355.932 863.36047 -49804.537 -11492.572 -11492.389 -4354.9791 +Loop time of 0.2879 on 1 procs for 20 steps with 3081 atoms + +Performance: 0.060 ns/day, 399.861 hours/ns, 69.469 timesteps/s, 214.033 katom-step/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.25532 | 0.25532 | 0.25532 | 0.0 | 88.69 +Bond | 0.00081079 | 0.00081079 | 0.00081079 | 0.0 | 0.28 +Kspace | 0.03016 | 0.03016 | 0.03016 | 0.0 | 10.48 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.00095451 | 0.00095451 | 0.00095451 | 0.0 | 0.33 +Output | 4.579e-05 | 4.579e-05 | 4.579e-05 | 0.0 | 0.02 +Modify | 0.00029651 | 0.00029651 | 0.00029651 | 0.0 | 0.10 +Other | | 0.0003077 | | | 0.11 + +Nlocal: 3081 ave 3081 max 3081 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 17741 ave 17741 max 17741 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 1.77144e+06 ave 1.77144e+06 max 1.77144e+06 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 1771437 +Ave neighs/atom = 574.95521 +Ave special neighs/atom = 2.004544 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/QUANTUM/PySCF/log.8Feb23.mixture.qmmm.mpi.1 b/examples/QUANTUM/PySCF/log.8Feb23.mixture.qmmm.mpi.1 new file mode 100644 index 0000000000..e0752d5d19 --- /dev/null +++ b/examples/QUANTUM/PySCF/log.8Feb23.mixture.qmmm.mpi.1 @@ -0,0 +1 @@ +LAMMPS (22 Dec 2022) diff --git a/examples/QUANTUM/PySCF/log.8Feb23.mixture.qmmm.plugin.1 b/examples/QUANTUM/PySCF/log.8Feb23.mixture.qmmm.plugin.1 new file mode 100644 index 0000000000..09c2c77fe1 --- /dev/null +++ b/examples/QUANTUM/PySCF/log.8Feb23.mixture.qmmm.plugin.1 @@ -0,0 +1,157 @@ +LAMMPS (22 Dec 2022) +# QMMM with PySCF - mixture example + +units real +atom_style full + +pair_style lj/cut/coul/long 12 +pair_modify mix arithmetic + +bond_style harmonic +angle_style harmonic +dihedral_style none +improper_style none + +kspace_style pppm 1e-5 + +read_data data.mixture +Reading data file ... + orthogonal box = (0 0 0) to (31.351877 31.351877 31.351877) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 3081 atoms + reading velocities ... + 3081 velocities + scanning bonds ... + 4 = max bonds/atom + scanning angles ... + 6 = max angles/atom + reading bonds ... + 2055 bonds + reading angles ... + 1033 angles +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 4 = max # of 1-2 neighbors + 3 = max # of 1-3 neighbors + 3 = max # of 1-4 neighbors + 4 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.013 seconds + +# QM atoms are IDs 1 to 9 +# MM atoms are remaining atoms + +group qm id 1:9 +9 atoms in group qm +group mm subtract all qm +3072 atoms in group mm + +# remove bonds/angles between QM atoms +# set charges to zero on QM atoms + +delete_bonds qm multi remove special +System init for delete_bonds ... +PPPM initialization ... + using 12-bit tables for long-range coulomb (../kspace.cpp:342) + G vector (1/distance) = 0.25751777 + grid = 24 24 24 + stencil order = 5 + estimated absolute RMS force accuracy = 0.0020473396 + estimated relative force accuracy = 6.1655023e-06 + using double precision KISS FFT + 3d grid and FFT values/proc = 29791 13824 +Generated 21 of 21 mixed pair_coeff terms from arithmetic mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 5 5 5 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Deleting bonds ... + 2048 total bonds, 2048 turned on, 0 turned off + 1024 total angles, 1024 turned on, 0 turned off + 0 total dihedrals, 0 turned on, 0 turned off + 0 total impropers, 0 turned on, 0 turned off +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 4 = max # of special neighbors + special bonds CPU = 0.000 seconds +set group qm charge 0.0 +Setting atom values ... + 9 settings made for charge + +neighbor 2.0 bin +neigh_modify delay 0 every 1 check yes + +# QMMM dynamics + +timestep 0.01 + +fix 1 all nve + +fix 2 qm mdi/qmmm direct elements N H C H Cl O H +fix_modify 2 energy yes + +thermo_style custom step cpu temp ke evdwl ecoul epair emol elong f_2 pe etotal press + +thermo 1 + +mdi plugin pyscf_mdi mdi "-role ENGINE -name PySCF -method LINK" extra "-pbc no" command "run 2" +run 2 +PPPM initialization ... + using 12-bit tables for long-range coulomb (../kspace.cpp:342) + G vector (1/distance) = 0.25751777 + grid = 24 24 24 + stencil order = 5 + estimated absolute RMS force accuracy = 0.0020473396 + estimated relative force accuracy = 6.1655023e-06 + using double precision KISS FFT + 3d grid and FFT values/proc = 29791 13824 +Generated 21 of 21 mixed pair_coeff terms from arithmetic mixing rule +Per MPI rank memory allocation (min/avg/max) = 26.88 | 26.88 | 26.88 Mbytes + Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long f_2 PotEng TotEng Press + 0 0 0 0 103310.44 35284.412 88790.313 863.33521 -49804.536 -349295.05 -259641.4 -259641.4 897319.08 + 1 19.294168 631.94375 5801.8092 97293.123 35284.413 82773 863.33444 -49804.536 -349294.57 -265658.24 -259856.43 852336.04 + 2 40.905414 2211.4634 20303.213 82388.368 35284.413 67868.246 863.33213 -49804.536 -349292.7 -280561.12 -260257.91 741101.53 +Loop time of 40.9172 on 1 procs for 2 steps with 3081 atoms + +Performance: 0.000 ns/day, 568294.642 hours/ns, 0.049 timesteps/s, 150.597 atom-step/s +759.6% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.074194 | 0.074194 | 0.074194 | 0.0 | 0.18 +Bond | 0.00021377 | 0.00021377 | 0.00021377 | 0.0 | 0.00 +Kspace | 0.005728 | 0.005728 | 0.005728 | 0.0 | 0.01 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.00021094 | 0.00021094 | 0.00021094 | 0.0 | 0.00 +Output | 0.011886 | 0.011886 | 0.011886 | 0.0 | 0.03 +Modify | 40.825 | 40.825 | 40.825 | 0.0 | 99.77 +Other | | 0.0001314 | | | 0.00 + +Nlocal: 3081 ave 3081 max 3081 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 17741 ave 17741 max 17741 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 1.77144e+06 ave 1.77144e+06 max 1.77144e+06 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 1771437 +Ave neighs/atom = 574.95521 +Ave special neighs/atom = 1.9941577 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:01:06 diff --git a/examples/QUANTUM/PySCF/log.8Feb23.water.qmmm.mpi.1 b/examples/QUANTUM/PySCF/log.8Feb23.water.qmmm.mpi.1 new file mode 100644 index 0000000000..e0752d5d19 --- /dev/null +++ b/examples/QUANTUM/PySCF/log.8Feb23.water.qmmm.mpi.1 @@ -0,0 +1 @@ +LAMMPS (22 Dec 2022) diff --git a/examples/QUANTUM/PySCF/log.8Feb23.water.qmmm.plugin.1 b/examples/QUANTUM/PySCF/log.8Feb23.water.qmmm.plugin.1 new file mode 100644 index 0000000000..799b0a3f5c --- /dev/null +++ b/examples/QUANTUM/PySCF/log.8Feb23.water.qmmm.plugin.1 @@ -0,0 +1,155 @@ +LAMMPS (22 Dec 2022) +# QMMM with PySCF + +units real +atom_style full + +pair_style lj/cut/coul/long 12 +pair_modify mix arithmetic + +bond_style harmonic +angle_style harmonic +dihedral_style none +improper_style none + +kspace_style pppm 1e-5 + +read_data data.water +Reading data file ... + orthogonal box = (0 0 0) to (31.351877 31.351877 31.351877) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 6 atoms + scanning bonds ... + 2 = max bonds/atom + scanning angles ... + 1 = max angles/atom + reading bonds ... + 4 bonds + reading angles ... + 2 angles +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.004 seconds + +# QM atoms are 1st water +# MM atoms are 2nd water + +group qm molecule 1 +3 atoms in group qm +group mm molecule 2 +3 atoms in group mm + +# remove bonds/angles between QM atoms +# set charges to zero on QM atoms + +delete_bonds qm multi remove special +System init for delete_bonds ... +PPPM initialization ... + using 12-bit tables for long-range coulomb (../kspace.cpp:342) + G vector (1/distance) = 0.21131887 + grid = 12 12 12 + stencil order = 5 + estimated absolute RMS force accuracy = 0.0020500128 + estimated relative force accuracy = 6.1735526e-06 + using double precision KISS FFT + 3d grid and FFT values/proc = 4913 1728 +Generated 1 of 1 mixed pair_coeff terms from arithmetic mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 5 5 5 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Deleting bonds ... + 2 total bonds, 2 turned on, 0 turned off + 1 total angles, 1 turned on, 0 turned off + 0 total dihedrals, 0 turned on, 0 turned off + 0 total impropers, 0 turned on, 0 turned off +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds +set group qm charge 0.0 +Setting atom values ... + 3 settings made for charge + +neighbor 2.0 bin +neigh_modify delay 0 every 1 check yes + +# QMMM dynamics + +timestep 2.0 + +fix 1 all nve + +fix 2 qm mdi/qmmm direct elements O H +fix_modify 2 energy yes + +thermo_style custom step cpu temp ke evdwl ecoul epair emol elong f_2 pe etotal press + +thermo 1 + +mdi plugin pyscf_mdi mdi "-role ENGINE -name PySCF -method LINK" extra "-pbc no" command "run 2" +run 2 +PPPM initialization ... + using 12-bit tables for long-range coulomb (../kspace.cpp:342) + G vector (1/distance) = 0.19767375 + grid = 10 10 10 + stencil order = 5 + estimated absolute RMS force accuracy = 0.0022851662 + estimated relative force accuracy = 6.8817102e-06 + using double precision KISS FFT + 3d grid and FFT values/proc = 3375 1000 +Generated 1 of 1 mixed pair_coeff terms from arithmetic mixing rule +Per MPI rank memory allocation (min/avg/max) = 7.165 | 7.165 | 7.165 Mbytes + Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long f_2 PotEng TotEng Press + 0 0 0 0 -0.001256507 37.096223 -0.0091688448 0.95028479 -37.104135 -47941.423 -47940.482 -47940.482 -11.65711 + 1 13.839254 274.73153 4.0946125 -0.001258094 37.106014 -0.0088915927 0.62503382 -37.113647 -47947.815 -47947.199 -47943.104 5.9530005 + 2 28.396141 121.44569 1.8100327 -0.0012589509 37.125978 -0.0083996825 0.32331257 -37.133119 -47938.851 -47938.536 -47936.726 14.80352 +Loop time of 28.3962 on 1 procs for 2 steps with 6 atoms + +Performance: 0.012 ns/day, 1971.958 hours/ns, 0.070 timesteps/s, 0.423 atom-step/s +747.8% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.4093e-05 | 1.4093e-05 | 1.4093e-05 | 0.0 | 0.00 +Bond | 9.672e-06 | 9.672e-06 | 9.672e-06 | 0.0 | 0.00 +Kspace | 0.00032919 | 0.00032919 | 0.00032919 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 6.136e-06 | 6.136e-06 | 6.136e-06 | 0.0 | 0.00 +Output | 0.00012034 | 0.00012034 | 0.00012034 | 0.0 | 0.00 +Modify | 28.396 | 28.396 | 28.396 | 0.0 |100.00 +Other | | 1.567e-05 | | | 0.00 + +Nlocal: 6 ave 6 max 6 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 42 ave 42 max 42 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 15 ave 15 max 15 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 15 +Ave neighs/atom = 2.5 +Ave special neighs/atom = 1 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:43 diff --git a/examples/QUANTUM/PySCF/pyscf_mdi.py b/examples/QUANTUM/PySCF/pyscf_mdi.py index 92ff282ed0..efc5a4bcc7 100644 --- a/examples/QUANTUM/PySCF/pyscf_mdi.py +++ b/examples/QUANTUM/PySCF/pyscf_mdi.py @@ -1,23 +1,7 @@ # MDI wrapper on PySCF quantum code -# Todo: -# allow for changes in box size on driver side, e.g. NPT -# should just work for PySCF - -# NOTE: Qs or issues to still address for PySCF support -# add list of radii for all elements -# PySCF can do DIRECT mode (LATTICE commands) for QMMM -# can it also do POTENTIAL mode (Coulomb potential at QM atoms) -# if so, add PySCF logic in evaluate() -# if not, remove support for MDI POTENTIAL_AT_NUCLEI command -# can PySCF return stress -# any other PySCF settings for users to set -# are the 3 below good default values -# is wiping out dm_previous sufficient to make it a new system -# add PySCF code for AIMD (no MM atoms) -# how to specify box for mixed BC, i.e. cell.dimension = 2 or 1 -# also need command-line options for those cases ? -# redirect PySCF output to a file ? +# native PySCF units are Bohr and Hartree +# but box and atom coord inputs are passed in Angstroms import sys,time @@ -540,6 +524,7 @@ def evaluate(): # build PySCF system # use Cell for periodic, Mole for non-periodic + if periodic: cell = Cell() cell.atom = atom_str @@ -550,6 +535,7 @@ def evaluate(): mol = Mole() mol.atom = atom_str mol.basis = basis + #mol.max_memory = 10000 mol.build() # QMMM with QM and MM atoms @@ -652,5 +638,5 @@ if __name__== "__main__": mdi.MDI_Init(mdi_option) # start running as an MDI engine - + mdi_engine(other_options) diff --git a/src/MDI/fix_mdi_qmmm.cpp b/src/MDI/fix_mdi_qmmm.cpp index e542a96f0d..4cabcca8d1 100644 --- a/src/MDI/fix_mdi_qmmm.cpp +++ b/src/MDI/fix_mdi_qmmm.cpp @@ -670,10 +670,10 @@ void FixMDIQMMM::post_force_direct(int vflag) // fqm = forces on QM atoms // fmm = forces on MM atoms - if (comm->me == 0) utils::logmesg(lmp, "Invoking QM code ...\n"); + //if (comm->me == 0) utils::logmesg(lmp, "Invoking QM code ...\n"); - MPI_Barrier(world); - double tstart = platform::walltime(); + //MPI_Barrier(world); + //double tstart = platform::walltime(); // MDI calls // NOTE: add send_box() call when needed for NPT @@ -722,10 +722,10 @@ void FixMDIQMMM::post_force_direct(int vflag) // end of MDI calls - MPI_Barrier(world); - if (comm->me == 0) - utils::logmesg(lmp, " time = {:.3f} seconds\n", - platform::walltime() - tstart); + //MPI_Barrier(world); + //if (comm->me == 0) + // utils::logmesg(lmp, " time = {:.3f} seconds\n", + // platform::walltime() - tstart); // unit conversion from MDI to LAMMPS diff --git a/src/MDI/mdi_plugin.cpp b/src/MDI/mdi_plugin.cpp index 25e146fc54..c3624ee24b 100644 --- a/src/MDI/mdi_plugin.cpp +++ b/src/MDI/mdi_plugin.cpp @@ -145,7 +145,6 @@ int MDIPlugin::plugin_wrapper(void * /*pmpicomm*/, MDI_Comm mdicomm, void *vptr) // that operation will issue MDI commands to the plugin engine lammps->input->one(lammps_command); - delete[] lammps_command; // send MDI exit to plugin, which unloads the plugin From 4f4a67fb459818dfde9c5077db0b56b813114f75 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 10 Feb 2023 12:38:55 -0700 Subject: [PATCH 092/448] make fix md/qm more robust --- examples/QUANTUM/LATTE/latte_mdi.py | 5 + examples/QUANTUM/PySCF/pyscf_mdi.py | 5 + src/MDI/fix_mdi_qm.cpp | 660 +++++++++++++++++++++------- src/MDI/fix_mdi_qm.h | 65 ++- src/MDI/fix_mdi_qmmm.cpp | 34 +- src/MDI/fix_mdi_qmmm.h | 1 - 6 files changed, 580 insertions(+), 190 deletions(-) diff --git a/examples/QUANTUM/LATTE/latte_mdi.py b/examples/QUANTUM/LATTE/latte_mdi.py index aceb19d199..bece816ba9 100644 --- a/examples/QUANTUM/LATTE/latte_mdi.py +++ b/examples/QUANTUM/LATTE/latte_mdi.py @@ -116,6 +116,11 @@ def mdi_engine(other_options): me = world.Get_rank() nprocs = world.Get_size() + # LATTE lib can only be invoked on a single MPI task + + if nprocs > 1: + error("LATTE can only run on a single MPI task") + # process non-MDI command line args options(other_options) diff --git a/examples/QUANTUM/PySCF/pyscf_mdi.py b/examples/QUANTUM/PySCF/pyscf_mdi.py index efc5a4bcc7..caa4504e52 100644 --- a/examples/QUANTUM/PySCF/pyscf_mdi.py +++ b/examples/QUANTUM/PySCF/pyscf_mdi.py @@ -153,6 +153,11 @@ def mdi_engine(other_options): me = world.Get_rank() nprocs = world.Get_size() + # PySCF can only be invoked on a single MPI task + + if nprocs > 1: + error("PySCF can only run on a single MPI task") + # process non-MDI command line args options(other_options) diff --git a/src/MDI/fix_mdi_qm.cpp b/src/MDI/fix_mdi_qm.cpp index 9567f4d514..674c8fe1b8 100644 --- a/src/MDI/fix_mdi_qm.cpp +++ b/src/MDI/fix_mdi_qm.cpp @@ -17,7 +17,9 @@ #include "domain.h" #include "error.h" #include "force.h" +#include "group.h" #include "memory.h" +#include "modify.h" #include "update.h" using namespace LAMMPS_NS; @@ -27,15 +29,21 @@ enum { NATIVE, REAL, METAL }; // LAMMPS units which MDI supports #define MAXELEMENT 118 +// prototype for non-class compare function for sorting QM IDs + +static int compare_IDs(const int, const int, void *); + /* ---------------------------------------------------------------------- */ FixMDIQM::FixMDIQM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { // check requirements for LAMMPS to work with MDI as an engine + // atom IDs do not need to be consecutive if (atom->tag_enable == 0) error->all(FLERR, "Cannot use MDI engine without atom IDs"); - if (atom->natoms && atom->tag_consecutive() == 0) - error->all(FLERR, "MDI engine requires consecutive atom IDs"); + + if (atom->map_style == Atom::MAP_NONE) + error->all(FLERR,"Fix mdi/qm requires an atom map be defined"); // confirm LAMMPS is being run as a driver @@ -50,6 +58,8 @@ FixMDIQM::FixMDIQM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) addflag = 1; every = 1; connectflag = 1; + exclude = 0; + id_exclude = nullptr; elements = nullptr; int iarg = 3; @@ -86,6 +96,13 @@ FixMDIQM::FixMDIQM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) else error->all(FLERR, "Illegal fix mdi/qm command"); iarg += 2; + } else if (strcmp(arg[iarg],"exclude") == 0) { + if (iarg+2 > narg) error->all(FLERR, "Illegal fix mdi/qm command"); + exclude = 1; + delete[] id_exclude; + id_exclude = utils::strdup(arg[iarg+1]); + iarg += 2; + } else if (strcmp(arg[iarg], "elements") == 0) { const char *symbols[] = { "H" , "He", "Li", "Be", "B" , "C" , "N" , "O" , "F" , "Ne", @@ -115,6 +132,7 @@ FixMDIQM::FixMDIQM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) elements[i] = anum + 1; } iarg += ntypes + 1; + } else error->all(FLERR, "Illegal fix mdi/qm command"); } @@ -146,15 +164,6 @@ FixMDIQM::FixMDIQM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) mdicomm = MDI_COMM_NULL; - // peratom storage, both for nlocal and global natoms - - fqm = nullptr; - maxlocal = 0; - - ibuf1 = ibuf1all = nullptr; - buf3 = buf3all = nullptr; - maxbuf = 0; - // set unit conversion factors if (strcmp(update->unit_style, "real") == 0) @@ -168,6 +177,28 @@ FixMDIQM::FixMDIQM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) nprocs = comm->nprocs; + // QM atom data + + nqm = nqm_last = max_nqm = 0; + nexclude = 0; + + qmIDs = nullptr; + qm2owned = nullptr; + + eqm = nullptr; + tqm = nullptr; + xqm = nullptr; + fqm = nullptr; + + eqm_mine = nullptr; + tqm_mine = nullptr; + xqm_mine = nullptr; + + // per-atom data + + nmax = atom->nmax; + memory->create(array_atom,nmax,3,"mdi/qm:array_atom"); + // initialize outputs qm_energy = 0.0; @@ -178,6 +209,10 @@ FixMDIQM::FixMDIQM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) } sumflag = 0; } + + int nlocal = atom->nlocal; + for (int i = 0; i < nlocal; i++) + array_atom[i][0] = array_atom[i][1] = array_atom[i][2] = 0.0; } /* ---------------------------------------------------------------------- */ @@ -195,14 +230,22 @@ FixMDIQM::~FixMDIQM() // clean up + delete[] id_exclude; delete[] elements; - + + memory->destroy(qmIDs); + memory->destroy(qm2owned); + + memory->destroy(eqm); + memory->destroy(tqm); + memory->destroy(xqm); memory->destroy(fqm); - memory->destroy(ibuf1); - memory->destroy(ibuf1all); - memory->destroy(buf3); - memory->destroy(buf3all); + memory->destroy(eqm_mine); + memory->destroy(tqm_mine); + memory->destroy(xqm_mine); + + memory->destroy(array_atom); } /* ---------------------------------------------------------------------- */ @@ -210,6 +253,8 @@ FixMDIQM::~FixMDIQM() int FixMDIQM::setmask() { int mask = 0; + mask |= POST_NEIGHBOR; + mask |= MIN_POST_NEIGHBOR; mask |= POST_FORCE; mask |= MIN_POST_FORCE; return mask; @@ -259,55 +304,69 @@ void FixMDIQM::init() char *ptrcomm = (char *) lmp->mdicomm; memcpy(&mdicomm, ptrcomm, nbytes); } + + // check which MDI commands engine supports + + int ierr = MDI_Check_command_exists("@DEFAULT", ">NATOMS", mdicomm, &natoms_exists); + if (ierr) error->all(FLERR, "MDI: >NATOMS command check"); + MPI_Bcast(&natoms_exists, 1, MPI_INT, 0, world); + + ierr = MDI_Check_command_exists("@DEFAULT", ">NATOMS", mdicomm, &celldispl_exists); + if (ierr) error->all(FLERR, "MDI: >CELL_DISPL command check"); + MPI_Bcast(&celldispl_exists, 1, MPI_INT, 0, world); + + ierr = MDI_Check_command_exists("@DEFAULT", ">ELEMENTS", mdicomm, &elements_exists); + if (ierr) error->all(FLERR, "MDI: >ELEMENTS command check"); + MPI_Bcast(&elements_exists, 1, MPI_INT, 0, world); + + ierr = MDI_Check_command_exists("@DEFAULT", ">TYPES", mdicomm, &types_exists); + if (ierr) error->all(FLERR, "MDI: >TYPES command check"); + MPI_Bcast(&types_exists, 1, MPI_INT, 0, world); } - // send natoms, atom types or elements, and simulation box to engine - // confirm engine count of NATOMS is correct - // this will trigger setup of a new system - // subsequent calls in post_force() will be for same system until new init() + // extract pointer to exclusion_group variable from id_exclude + // exclusion_group = index of a group the Fix defines + // the group flags atoms to be excluded from QM calculation - reallocate(); - - int natoms_exists; - int ierr = MDI_Check_command_exists("@DEFAULT", ">NATOMS", mdicomm, &natoms_exists); - if (ierr) error->all(FLERR, "MDI: >NATOMS command check"); - MPI_Bcast(&natoms_exists, 1, MPI_INT, 0, world); - - if (natoms_exists) { - ierr = MDI_Send_command(">NATOMS", mdicomm); - if (ierr) error->all(FLERR, "MDI: >NATOMS command"); - int n = static_cast(atom->natoms); - ierr = MDI_Send(&n, 1, MDI_INT, mdicomm); - if (ierr) error->all(FLERR, "MDI: >NATOMS data"); - - } else { - ierr = MDI_Send_command("all(FLERR, "MDI: all(FLERR, "MDI: natoms) - error->all(FLERR, "MDI: Engine has wrong atom count and does not support >NATOMS command"); + if (exclude) { + Fix *f_exclude = modify->get_fix_by_id(id_exclude); + if (!f_exclude) error->all(FLERR,"Fix mdi/qm could not find exclude fix ID {}", id_exclude); + int dim; + exclusion_group_ptr = (int *) f_exclude->extract("exclusion_group", dim); + if (!exclusion_group_ptr || dim != 0) + error->all(FLERR,"Fix mdi/qm could not query exclude_group of fix ID {}", id_exclude); } - int elements_exists,types_exists; - - ierr = MDI_Check_command_exists("@DEFAULT", ">ELEMENTS", mdicomm, &elements_exists); - if (ierr) error->all(FLERR, "MDI: >ELEMENTS command check"); - MPI_Bcast(&elements_exists, 1, MPI_INT, 0, world); + // nqm = # of QM atoms + // if hasn't changed, then continuing previous simulation + // else setup new simulation with MDI engine - ierr = MDI_Check_command_exists("@DEFAULT", ">TYPES", mdicomm, &types_exists); - if (ierr) error->all(FLERR, "MDI: >TYPES command check"); - MPI_Bcast(&types_exists, 1, MPI_INT, 0, world); - - if (elements && elements_exists) - send_elements(); - else if (types_exists) - send_types(); + nqm = set_nqm(); - send_box(); + if (nqm != nqm_last) { + if (nqm > max_nqm) reallocate(); + + // create list of QM atom IDs in sorted order + // set mapping of my local atoms into global list + + create_qm_list(); + set_qm2owned(); + + // initial send of info to MDI engine + // values that often won't change for AIMD simulations + // if not sending elements or types, assume engine initialized itself + + send_box(); + send_natoms(); + + if (elements && elements_exists) { + set_eqm(); + send_elements(); + } else if (types_exists) { + set_tqm(); + send_types(); + } + } } /* ---------------------------------------------------------------------- */ @@ -319,7 +378,21 @@ void FixMDIQM::setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixMDIQM::post_force(int /*vflag*/) +void FixMDIQM::setup_post_neighbor() +{ + post_neighbor(); +} + +/* ---------------------------------------------------------------------- */ + +void FixMDIQM::post_neighbor() +{ + set_qm2owned(); +} + +/* ---------------------------------------------------------------------- */ + +void FixMDIQM::post_force(int vflag) { int index, ierr; @@ -327,37 +400,45 @@ void FixMDIQM::post_force(int /*vflag*/) if (update->ntimestep % every) return; - // reallocate peratom storage if necessary, both natoms and nlocal + // reallocate array_atom if needed + + if (atom->nmax > nmax) { + nmax = atom->nmax; + memory->destroy(array_atom); + memory->create(array_atom,nmax,3,"mdi/qm:array_atom"); + } - reallocate(); + // check count of QM atoms, could be different due to exclusions + // if so, need to reset QM data structures + + nqm = set_nqm(); + + if (nqm != nqm_last) { + nqm_last = nqm; + if (nqm > max_nqm) reallocate(); + create_qm_list(); + set_qm2owned(); + send_natoms(); + if (elements && elements_exists) { + set_eqm(); + send_elements(); + } else if (types_exists) { + set_tqm(); + send_types(); + } + } // if simulation box dynamically changes, send current box to MDI engine if (domain->box_change_size || domain->box_change_shape) send_box(); - // gather all coords, ordered by atomID - - memset(buf3, 0, 3 * atom->natoms * sizeof(double)); - - double **x = atom->x; - tagint *tag = atom->tag; - int nlocal = atom->nlocal; - - for (int i = 0; i < nlocal; i++) { - index = static_cast(tag[i]) - 1; - buf3[3 * index + 0] = x[i][0] * lmp2mdi_length; - buf3[3 * index + 1] = x[i][1] * lmp2mdi_length; - buf3[3 * index + 2] = x[i][2] * lmp2mdi_length; - } - - int n = static_cast(atom->natoms); - MPI_Reduce(buf3, buf3all, 3 * n, MPI_DOUBLE, MPI_SUM, 0, world); - - // send current coords to MDI engine + // send current coords of QM atoms to MDI engine + + set_xqm(); ierr = MDI_Send_command(">COORDS", mdicomm); if (ierr) error->all(FLERR, "MDI: >COORDS command"); - ierr = MDI_Send(buf3all, 3 * atom->natoms, MDI_DOUBLE, mdicomm); + ierr = MDI_Send(&xqm[0][0], 3 * nqm, MDI_DOUBLE, mdicomm); if (ierr) error->all(FLERR, "MDI: >COORDS data"); // request potential energy from MDI engine @@ -375,38 +456,52 @@ void FixMDIQM::post_force(int /*vflag*/) ierr = MDI_Send_command("all(FLERR, "MDI: natoms, MDI_DOUBLE, mdicomm); + ierr = MDI_Recv(&fqm[0][0], 3 * nqm, MDI_DOUBLE, mdicomm); if (ierr) error->all(FLERR, "MDI: (tag[i]) - 1; - fqm[i][0] = buf3[3 * index + 0] * mdi2lmp_force; - fqm[i][1] = buf3[3 * index + 1] * mdi2lmp_force; - fqm[i][2] = buf3[3 * index + 2] * mdi2lmp_force; - } - - // optionally add forces to owned atoms - // use atomID of local atoms to index into ordered buf3 + // optionally add QM forces to owned atoms if (addflag) { double **f = atom->f; + int ilocal; + for (int i = 0; i < nqm; i++) { + ilocal = qm2owned[i]; + if (ilocal >= 0) { + f[ilocal][0] += fqm[i][0] * mdi2lmp_force; + f[ilocal][1] += fqm[i][1] * mdi2lmp_force; + f[ilocal][2] += fqm[i][2] * mdi2lmp_force; + } + } + } + + // array_atom = fix output for peratom QM forces + // if exclude, some atoms may not be QM atoms, so zero array_atom first + + if (exclude) { + int nlocal = atom->nlocal; for (int i = 0; i < nlocal; i++) { - index = static_cast(tag[i]) - 1; - f[i][0] += buf3[3 * index + 0] * mdi2lmp_force; - f[i][1] += buf3[3 * index + 1] * mdi2lmp_force; - f[i][2] += buf3[3 * index + 2] * mdi2lmp_force; + array_atom[i][0] = 0.0; + array_atom[i][1] = 0.0; + array_atom[i][2] = 0.0; + } + } + + int ilocal; + for (int i = 0; i < nqm; i++) { + ilocal = qm2owned[i]; + if (ilocal >= 0) { + array_atom[ilocal][0] = fqm[i][0] * mdi2lmp_force; + array_atom[ilocal][1] = fqm[i][1] * mdi2lmp_force; + array_atom[ilocal][2] = fqm[i][2] * mdi2lmp_force; } } // optionally request stress tensor from MDI engine, convert to 6-value virial - // MDI defines virial tensor as intensive (divided by volume), LAMMPS does not - // qm_virial = fix output for global QM virial + // qm_virial_symmetric = fix output for global QM virial + // note MDI defines virial tensor as intensive (divided by volume), LAMMPS does not - if (virialflag) { + if (vflag && virialflag) { ierr = MDI_Send_command("all(FLERR, "MDI: virial // multiply by volume to make it extensive // divide by nprocs so each proc stores a portion - // this is b/c ComputePressure expects that as input from a fix + // this is b/c ComputePressure expects this as input from a fix // it will do an MPI_Allreduce and divide by volume - if (virialflag && addflag) { + if (vflag && virialflag && addflag) { double volume; if (domain->dimension == 2) volume = domain->xprd * domain->yprd; @@ -439,6 +534,20 @@ void FixMDIQM::post_force(int /*vflag*/) /* ---------------------------------------------------------------------- */ +void FixMDIQM::min_setup(int vflag) +{ + post_force(vflag); +} + +/* ---------------------------------------------------------------------- */ + +void FixMDIQM::min_post_neighbor() +{ + post_neighbor(); +} + +/* ---------------------------------------------------------------------- */ + void FixMDIQM::min_post_force(int vflag) { post_force(vflag); @@ -463,30 +572,282 @@ double FixMDIQM::compute_vector(int n) } /* ---------------------------------------------------------------------- - reallocate storage for local and global and atoms if needed + memory usage +------------------------------------------------------------------------- */ + +double FixMDIQM::memory_usage() +{ + double bytes = 0.0; + bytes += nqm * sizeof(tagint); // qmIDs + bytes += nqm * sizeof(int); // qm2owned + bytes += 4 * nqm * sizeof(int); // int QM arrays/vecs + bytes += 3*3 * nqm * sizeof(double); // double QM arrays/vecs + return bytes; +} + +// ---------------------------------------------------------------------- +// ---------------------------------------------------------------------- +// private methods for this fix +// ---------------------------------------------------------------------- +// ---------------------------------------------------------------------- + +/* ---------------------------------------------------------------------- + reallocate storage for QM atoms ------------------------------------------------------------------------- */ void FixMDIQM::reallocate() { - if (atom->nlocal > maxlocal) { - maxlocal = atom->nmax; - memory->destroy(fqm); - memory->create(fqm, maxlocal, 3, "mdi:fqm"); - array_atom = fqm; + max_nqm = nqm; + + memory->destroy(qmIDs); + memory->destroy(qm2owned); + + memory->destroy(eqm); + memory->destroy(tqm); + memory->destroy(xqm); + memory->destroy(fqm); + + memory->destroy(eqm_mine); + memory->destroy(tqm_mine); + memory->destroy(xqm_mine); + + memory->create(qmIDs,max_nqm,"mdi/qm:qmIDs"); + memory->create(qm2owned,max_nqm,"mdi/qm:qm2owned"); + + memory->create(eqm,max_nqm,"mdi/qm:eqm"); + memory->create(tqm,max_nqm,"mdi/qm:tqm"); + memory->create(xqm,max_nqm,3,"mdi/qm:xqm"); + memory->create(fqm,max_nqm,3,"mdi/qm:fqm"); + + memory->create(eqm_mine,max_nqm,"mdi/qm:eqm_mine"); + memory->create(tqm_mine,max_nqm,"mdi/qm:tqm_mine"); + memory->create(xqm_mine,max_nqm,3,"mdi/qm:xqm_mine"); +} + +/* ---------------------------------------------------------------------- + ncount = # of QM atoms + can be less than all atoms if exclude flag is set + return ncount to set nqm +------------------------------------------------------------------------- */ + +int FixMDIQM::set_nqm() +{ + int ncount = atom->natoms; + nexclude = 0; + + if (exclude) { + int nexclude_mine = 0; + + int exclusion_group = *exclusion_group_ptr; + if (exclusion_group) { + int excludebit = group->bitmask[exclusion_group]; + + int *mask = atom->mask; + int nlocal = atom->nlocal; + + for (int i = 0; i < nlocal; i++) + if (mask[i] & excludebit) nexclude_mine = 1; + } + + MPI_Allreduce(&nexclude_mine,&nexclude,1,MPI_INT,MPI_SUM,world); } - if (atom->natoms > maxbuf) { - bigint nsize = atom->natoms * 3; - if (nsize > MAXSMALLINT) error->all(FLERR, "Natoms too large to use with fix mdi/qm"); + ncount -= nexclude; + return ncount; +} - maxbuf = static_cast(atom->natoms); - memory->destroy(ibuf1); - memory->destroy(buf3); - memory->destroy(buf3all); - memory->create(ibuf1, maxbuf, "mdi:ibuf1"); - memory->create(ibuf1all, maxbuf, "mdi:ibuf1all"); - memory->create(buf3, 3 * maxbuf, "mdi:buf3"); - memory->create(buf3all, 3 * maxbuf, "mdi:buf3all"); +/* ---------------------------------------------------------------------- + create sorted list of QM atom IDs + ignore excluded atoms, e.g. by fix GCMC +------------------------------------------------------------------------- */ + +void FixMDIQM::create_qm_list() +{ + int excludebit; + if (nexclude) { + int exclusion_group = *exclusion_group_ptr; + excludebit = group->bitmask[exclusion_group]; + } + + // qmIDs_mine = list of nqm_mine QM atom IDs I own + // qmIDs = IDs of all QM atoms in ascending order + // qmIDs created by allgather of qmIDs_mine + + tagint *tag = atom->tag; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + int nqm_mine = 0; + for (int i = 0; i < nlocal; i++) { + if (!nexclude) nqm_mine++; + else if (!(mask[i] & excludebit)) nqm_mine++; + } + + tagint *qmIDs_mine; + memory->create(qmIDs_mine,nqm_mine,"mdi/qm:qmIDs_mine"); + + nqm_mine = 0; + for (int i = 0; i < nlocal; i++) { + if (!nexclude) qmIDs_mine[nqm_mine++] = tag[i]; + else if (!(mask[i] & excludebit)) qmIDs_mine[nqm_mine++] = tag[i]; + } + + int *recvcounts,*displs,*listall; + memory->create(recvcounts,nprocs,"mdi/qm:recvcounts"); + memory->create(displs,nprocs,"mdi/qm:displs"); + + MPI_Allgather(&nqm_mine,1,MPI_INT,recvcounts,1,MPI_INT,world); + + displs[0] = 0; + for (int iproc = 1; iproc < nprocs; iproc++) + displs[iproc] = displs[iproc-1] + recvcounts[iproc-1]; + + MPI_Allgatherv(qmIDs_mine,nqm_mine,MPI_LMP_TAGINT,qmIDs,recvcounts,displs, + MPI_LMP_TAGINT,world); + + memory->destroy(qmIDs_mine); + memory->destroy(recvcounts); + memory->destroy(displs); + + // sort qmIDs via merge sort + + int *order; + tagint *qmIDs_sort; + + memory->create(order,nqm,"mdi/qm:order"); + memory->create(qmIDs_sort,nqm,"mdi/qm:qmIDs_sort"); + + for (int i = 0; i < nqm; i++) { + qmIDs_sort[i] = qmIDs[i]; + order[i] = i; + } + + utils::merge_sort(order,nqm,(void *) qmIDs_sort,compare_IDs); + + int j; + for (int i = 0; i < nqm; i++) { + j = order[i]; + qmIDs_sort[i] = qmIDs[j]; + } + + memcpy(qmIDs,qmIDs_sort,nqm*sizeof(tagint)); + + memory->destroy(order); + memory->destroy(qmIDs_sort); +} + +/* ---------------------------------------------------------------------- */ + +void FixMDIQM::set_qm2owned() +{ + // qm2owned[i] = index of local atom for each of nqm QM atoms + // IDs of QM atoms are stored in qmIDs + // index = -1 if this proc does not own the atom + + int nlocal = atom->nlocal; + int index; + + for (int i = 0; i < nqm; i++) { + index = atom->map(qmIDs[i]); + if (index >= nlocal) qm2owned[i] = -1; + else qm2owned[i] = index; + } +} + +/* ---------------------------------------------------------------------- */ + +void FixMDIQM::set_xqm() +{ + for (int i = 0; i < nqm; i++) { + xqm_mine[i][0] = 0.0; + xqm_mine[i][1] = 0.0; + xqm_mine[i][2] = 0.0; + } + + double **x = atom->x; + int ilocal; + + for (int i = 0; i < nqm; i++) { + ilocal = qm2owned[i]; + if (ilocal >= 0) { + xqm_mine[i][0] = x[ilocal][0]; + xqm_mine[i][1] = x[ilocal][1]; + xqm_mine[i][2] = x[ilocal][2]; + + domain->remap(xqm_mine[i]); + + xqm_mine[i][0] *= lmp2mdi_length; + xqm_mine[i][1] *= lmp2mdi_length; + xqm_mine[i][2] *= lmp2mdi_length; + } + } + + MPI_Allreduce(&xqm_mine[0][0],&xqm[0][0],3*nqm,MPI_DOUBLE,MPI_SUM,world); +} + +/* ---------------------------------------------------------------------- */ + +void FixMDIQM::set_eqm() +{ + for (int i = 0; i < nqm; i++) eqm_mine[i] = 0; + + int *type = atom->type; + int ilocal; + + for (int i = 0; i < nqm; i++) { + ilocal = qm2owned[i]; + if (ilocal >= 0) eqm_mine[i] = elements[type[ilocal]]; + } + + MPI_Allreduce(eqm_mine,eqm,nqm,MPI_INT,MPI_SUM,world); +} + +/* ---------------------------------------------------------------------- */ + +void FixMDIQM::set_tqm() +{ + for (int i = 0; i < nqm; i++) tqm_mine[i] = 0.0; + + int *type = atom->type; + int ilocal; + + for (int i = 0; i < nqm; i++) { + ilocal = qm2owned[i]; + if (ilocal >= 0) tqm_mine[i] = type[ilocal]; + } + + MPI_Allreduce(tqm_mine,tqm,nqm,MPI_INT,MPI_SUM,world); +} + +/* ---------------------------------------------------------------------- + send LAMMPS QM atom count to MDI engine +------------------------------------------------------------------------- */ + +void FixMDIQM::send_natoms() +{ + int ierr; + + // if engine suppports >NATOMS, send it + // if not, require that engine be consistent with LAMMPS + + if (natoms_exists) { + ierr = MDI_Send_command(">NATOMS", mdicomm); + if (ierr) error->all(FLERR, "MDI: >NATOMS command"); + int n = static_cast(atom->natoms); + ierr = MDI_Send(&n, 1, MDI_INT, mdicomm); + if (ierr) error->all(FLERR, "MDI: >NATOMS data"); + + + } else { + ierr = MDI_Send_command("all(FLERR, "MDI: all(FLERR, "MDI: natoms) + error->all(FLERR, "MDI: Engine has wrong atom count and does not support >NATOMS command"); } } @@ -496,26 +857,9 @@ void FixMDIQM::reallocate() void FixMDIQM::send_types() { - int n = static_cast(atom->natoms); - memset(ibuf1, 0, n * sizeof(int)); - - // use local atomID to index into ordered ibuf1 - - tagint *tag = atom->tag; - int *type = atom->type; - int nlocal = atom->nlocal; - - int index; - for (int i = 0; i < nlocal; i++) { - index = static_cast(tag[i]) - 1; - ibuf1[index] = type[i]; - } - - MPI_Reduce(ibuf1, ibuf1all, n, MPI_INT, MPI_SUM, 0, world); - int ierr = MDI_Send_command(">TYPES", mdicomm); if (ierr) error->all(FLERR, "MDI: >TYPES command"); - ierr = MDI_Send(ibuf1all, n, MDI_INT, mdicomm); + ierr = MDI_Send(tqm, nqm, MDI_INT, mdicomm); if (ierr) error->all(FLERR, "MDI: >TYPES data"); } @@ -525,26 +869,9 @@ void FixMDIQM::send_types() void FixMDIQM::send_elements() { - int n = static_cast(atom->natoms); - memset(ibuf1, 0, n * sizeof(int)); - - // use local atomID to index into ordered ibuf1 - - tagint *tag = atom->tag; - int *type = atom->type; - int nlocal = atom->nlocal; - - int index; - for (int i = 0; i < nlocal; i++) { - index = static_cast(tag[i]) - 1; - ibuf1[index] = elements[type[i]]; - } - - MPI_Reduce(ibuf1, ibuf1all, n, MPI_INT, MPI_SUM, 0, world); - int ierr = MDI_Send_command(">ELEMENTS", mdicomm); if (ierr) error->all(FLERR, "MDI: >ELEMENTS command"); - ierr = MDI_Send(ibuf1all, n, MDI_INT, mdicomm); + ierr = MDI_Send(eqm, nqm, MDI_INT, mdicomm); if (ierr) error->all(FLERR, "MDI: >ELEMETNS data"); } @@ -555,13 +882,9 @@ void FixMDIQM::send_elements() void FixMDIQM::send_box() { + int ierr; double cell[9]; - int celldispl_exists; - int ierr = MDI_Check_command_exists("@DEFAULT", ">NATOMS", mdicomm, &celldispl_exists); - if (ierr) error->all(FLERR, "MDI: >CELL_DISPL command check"); - MPI_Bcast(&celldispl_exists, 1, MPI_INT, 0, world); - if (celldispl_exists) { ierr = MDI_Send_command(">CELL_DISPL", mdicomm); if (ierr) error->all(FLERR, "MDI: >CELL_DISPL command"); @@ -655,3 +978,16 @@ void FixMDIQM::unit_conversions() mdi2lmp_pressure = 1.0 / lmp2mdi_pressure; } } + +/* ---------------------------------------------------------------------- + comparison function invoked by merge_sort() + void pointer contains list of atom IDs +------------------------------------------------------------------------- */ + +int compare_IDs(const int i, const int j, void *ptr) +{ + tagint *ids = (int *) ptr; + if (ids[i] < ids[j]) return -1; + if (ids[i] > ids[j]) return 1; + return 0; +} diff --git a/src/MDI/fix_mdi_qm.h b/src/MDI/fix_mdi_qm.h index 9e7c6f5789..76acb92f18 100644 --- a/src/MDI/fix_mdi_qm.h +++ b/src/MDI/fix_mdi_qm.h @@ -28,50 +28,79 @@ namespace LAMMPS_NS { class FixMDIQM : public Fix { public: FixMDIQM(class LAMMPS *, int, char **); - ~FixMDIQM(); - int setmask(); + virtual ~FixMDIQM(); + int setmask() override; - void init(); - void setup(int); - void post_force(int); - void min_post_force(int); - double compute_scalar(); - double compute_vector(int); + void init() override; + void setup(int) override; + void setup_post_neighbor() override; + + void post_neighbor() override; + void post_force(int) override; + + void min_setup(int) override; + void min_post_neighbor() override; + void min_post_force(int) override; + + double compute_scalar() override; + double compute_vector(int) override; + double memory_usage() override; private: int nprocs; int every, virialflag, addflag, connectflag; int plugin; - int maxlocal; - int sumflag; + int sumflag,exclude; + char *id_exclude; + int *exclusion_group_ptr; int *elements; double qm_energy; - int lmpunits; double qm_virial[9], qm_virial_symmetric[6]; - double **fqm; MDI_Comm mdicomm; + int natoms_exists,celldispl_exists,elements_exists,types_exists; + int nmax; + // unit conversion factors + int lmpunits; + double lmp2mdi_length, mdi2lmp_length; double lmp2mdi_energy, mdi2lmp_energy; double lmp2mdi_force, mdi2lmp_force; double lmp2mdi_pressure, mdi2lmp_pressure; - // buffers for MDI comm - - int maxbuf; - int *ibuf1, *ibuf1all; - double *buf3, *buf3all; - + // QM atom data structs + + int nqm,nqm_last,max_nqm; + int nexclude; + + tagint *qmIDs; + int *qm2owned; + + int *eqm,*eqm_mine; + int *tqm,*tqm_mine; + double **xqm,**xqm_mine; + double **fqm; + // methods void reallocate(); + + int set_nqm(); + void create_qm_list(); + void set_qm2owned(); + void set_xqm(); + void set_eqm(); + void set_tqm(); + + void send_natoms(); void send_types(); void send_elements(); void send_box(); + void unit_conversions(); }; diff --git a/src/MDI/fix_mdi_qmmm.cpp b/src/MDI/fix_mdi_qmmm.cpp index 4cabcca8d1..c04cacaac3 100644 --- a/src/MDI/fix_mdi_qmmm.cpp +++ b/src/MDI/fix_mdi_qmmm.cpp @@ -42,13 +42,11 @@ static int compare_IDs(const int, const int, void *); FixMDIQMMM::FixMDIQMMM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { // check requirements for LAMMPS to work with MDI for a QMMM engine - + // atom IDs do not need to be consecutive + if (!atom->tag_enable) error->all(FLERR,"Fix mdi/qmmm requires atom IDs be defined"); - if (!atom->tag_consecutive()) - error->all(FLERR,"Fix mdi/qmmm requires atom IDs be consecutive"); - if (atom->map_style == Atom::MAP_NONE) error->all(FLERR,"Fix mdi/qmmm requires an atom map be defined"); @@ -74,6 +72,10 @@ FixMDIQMMM::FixMDIQMMM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) int iarg = 4; while (iarg < narg) { if (strcmp(arg[iarg], "virial") == 0) { + + // not supported for now + error->all(FLERR,"Fix mdi/qmmm command does not yet support virial option"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal fix mdi/qmmm command"); if (strcmp(arg[iarg + 1], "yes") == 0) virialflag = 1; @@ -130,10 +132,13 @@ FixMDIQMMM::FixMDIQMMM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) global_freq = 1; extscalar = 1; + /* if (virialflag) { vector_flag = 1; size_vector = 6; } + */ + energy_global_flag = 1; thermo_energy = thermo_virial = 1; @@ -338,11 +343,13 @@ void FixMDIQMMM::init() if (!pair_coul) error->all(FLERR,"Fix mdi/qmmm potential requires Coulomb-only pair sub-style"); } - // send info to QM code which is (possibly) only needed once + // send info to QM code which is often only needed once // box size (can be resent) + // count of QM atoms // DIRECT and POTENTIAL: number of QM atoms, QM elements // DIRECT only: number of MM atoms, MM elements, MM charges - // NOTE: test if QM code alreads has NATOMS, which implies it set up itself ? + // NOTE: could test if QM code alreads has NATOMS, which implies it set up itself + // similar to fix mdi/qm if (first_send) { first_send = 0; @@ -424,7 +431,7 @@ void FixMDIQMMM::post_neighbor() (4) receive results from QM code ---------------------------------------------------------------------- */ -void FixMDIQMMM::pre_force(int vflag) +void FixMDIQMMM::pre_force(int /*vflag*/) { int ilocal,jlocal; double rsq; @@ -632,7 +639,7 @@ void FixMDIQMMM::post_force(int vflag) (3) receive results from QM code ---------------------------------------------------------------------- */ -void FixMDIQMMM::post_force_direct(int vflag) +void FixMDIQMMM::post_force_direct(int /*vflag*/) { // setup QM inputs: // xqm = atom coords @@ -773,7 +780,7 @@ void FixMDIQMMM::post_force_direct(int vflag) called after LAMMPS re-computes all MM forces with new QM charges ---------------------------------------------------------------------- */ -void FixMDIQMMM::post_force_potential(int vflag) +void FixMDIQMMM::post_force_potential(int /*vflag*/) { // int ilocal,jlocal; // double rsq,r2inv,rinv,fpair; @@ -968,10 +975,12 @@ double FixMDIQMMM::compute_scalar() virial from MDI engine ------------------------------------------------------------------------- */ +/* double FixMDIQMMM::compute_vector(int n) { return qm_virial_symmetric[n]; } +*/ /* ---------------------------------------------------------------------- memory usage @@ -987,9 +996,16 @@ double FixMDIQMMM::memory_usage() return bytes; } +// ---------------------------------------------------------------------- // ---------------------------------------------------------------------- // private methods for this fix // ---------------------------------------------------------------------- +// ---------------------------------------------------------------------- + +/* ---------------------------------------------------------------------- + create sorted list of QM atom IDs + ignore excluded atoms if exclude flag if set +------------------------------------------------------------------------- */ void FixMDIQMMM::create_qm_list() { diff --git a/src/MDI/fix_mdi_qmmm.h b/src/MDI/fix_mdi_qmmm.h index 69acbf842d..3707b93221 100644 --- a/src/MDI/fix_mdi_qmmm.h +++ b/src/MDI/fix_mdi_qmmm.h @@ -48,7 +48,6 @@ class FixMDIQMMM : public Fix { void unpack_reverse_comm(int, int *, double *) override; double compute_scalar() override; - double compute_vector(int) override; double memory_usage() override; private: From 7709dfa11854561d92dd7e05d4bb76f864bdd89c Mon Sep 17 00:00:00 2001 From: jrgissing Date: Sat, 11 Feb 2023 16:11:35 -0500 Subject: [PATCH 093/448] add 'atom type' test option to force style tests --- unittest/force-styles/test_config.h | 2 ++ unittest/force-styles/test_config_reader.cpp | 15 +++++++++++++++ unittest/force-styles/test_config_reader.h | 1 + unittest/force-styles/test_fix_timestep.cpp | 12 ++++++++++++ unittest/force-styles/test_main.cpp | 19 +++++++++++++++++++ unittest/force-styles/test_main.h | 1 + 6 files changed, 50 insertions(+) diff --git a/unittest/force-styles/test_config.h b/unittest/force-styles/test_config.h index b284052d6d..e3d6c06033 100644 --- a/unittest/force-styles/test_config.h +++ b/unittest/force-styles/test_config.h @@ -70,6 +70,7 @@ public: std::vector restart_pos; std::vector run_vel; std::vector restart_vel; + std::vector run_atom_types; TestConfig() : lammps_version(""), date_generated(""), basename(""), epsilon(1.0e-14), input_file(""), @@ -94,6 +95,7 @@ public: restart_pos.clear(); run_vel.clear(); restart_vel.clear(); + run_atom_types.clear(); global_vector.clear(); } TestConfig(const TestConfig &) = delete; diff --git a/unittest/force-styles/test_config_reader.cpp b/unittest/force-styles/test_config_reader.cpp index 3f99f251a5..5eb41db4bf 100644 --- a/unittest/force-styles/test_config_reader.cpp +++ b/unittest/force-styles/test_config_reader.cpp @@ -48,6 +48,7 @@ TestConfigReader::TestConfigReader(TestConfig &config) : config(config) consumers["run_forces"] = &TestConfigReader::run_forces; consumers["run_pos"] = &TestConfigReader::run_pos; consumers["run_vel"] = &TestConfigReader::run_vel; + consumers["run_atom_types"] = &TestConfigReader::run_atom_types; consumers["pair_style"] = &TestConfigReader::pair_style; consumers["pair_coeff"] = &TestConfigReader::pair_coeff; @@ -228,6 +229,20 @@ void TestConfigReader::run_vel(const yaml_event_t &event) } } +void TestConfigReader::run_atom_types(const yaml_event_t &event) +{ + config.run_atom_types.clear(); + config.run_atom_types.resize(config.natoms + 1); + std::stringstream data((char *)event.data.scalar.value); + std::string line; + + while (std::getline(data, line, '\n')) { + int tag, atom_type; + sscanf(line.c_str(), "%d %d", &tag, &atom_type); + config.run_atom_types[tag] = atom_type; + } +} + void TestConfigReader::pair_style(const yaml_event_t &event) { config.pair_style = (char *)event.data.scalar.value; diff --git a/unittest/force-styles/test_config_reader.h b/unittest/force-styles/test_config_reader.h index 1af7589add..91512da655 100644 --- a/unittest/force-styles/test_config_reader.h +++ b/unittest/force-styles/test_config_reader.h @@ -41,6 +41,7 @@ public: void run_forces(const yaml_event_t &event); void run_pos(const yaml_event_t &event); void run_vel(const yaml_event_t &event); + void run_atom_types(const yaml_event_t &event); void pair_style(const yaml_event_t &event); void pair_coeff(const yaml_event_t &event); void bond_style(const yaml_event_t &event); diff --git a/unittest/force-styles/test_fix_timestep.cpp b/unittest/force-styles/test_fix_timestep.cpp index d2e35b463f..302425ebd3 100644 --- a/unittest/force-styles/test_fix_timestep.cpp +++ b/unittest/force-styles/test_fix_timestep.cpp @@ -284,6 +284,7 @@ TEST(FixTimestep, plain) EXPECT_POSITIONS("run_pos (normal run, verlet)", lmp->atom, test_config.run_pos, epsilon); EXPECT_VELOCITIES("run_vel (normal run, verlet)", lmp->atom, test_config.run_vel, epsilon); + EXPECT_ATOM_TYPES("run_atom_types (normal run, verlet)", lmp->atom, test_config.run_atom_types); int ifix = lmp->modify->find_fix("test"); if (ifix < 0) { @@ -334,6 +335,7 @@ TEST(FixTimestep, plain) EXPECT_POSITIONS("run_pos (restart, verlet)", lmp->atom, test_config.run_pos, epsilon); EXPECT_VELOCITIES("run_vel (restart, verlet)", lmp->atom, test_config.run_vel, epsilon); + EXPECT_ATOM_TYPES("run_atom_types (restart, verlet)", lmp->atom, test_config.run_atom_types); ifix = lmp->modify->find_fix("test"); if (ifix < 0) { @@ -373,6 +375,7 @@ TEST(FixTimestep, plain) EXPECT_POSITIONS("run_pos (rmass, verlet)", lmp->atom, test_config.run_pos, epsilon); EXPECT_VELOCITIES("run_vel (rmass, verlet)", lmp->atom, test_config.run_vel, epsilon); + EXPECT_ATOM_TYPES("run_atom_types (rmass, verlet)", lmp->atom, test_config.run_atom_types); ifix = lmp->modify->find_fix("test"); if (ifix < 0) { @@ -426,6 +429,7 @@ TEST(FixTimestep, plain) EXPECT_POSITIONS("run_pos (normal run, respa)", lmp->atom, test_config.run_pos, epsilon); EXPECT_VELOCITIES("run_vel (normal run, respa)", lmp->atom, test_config.run_vel, epsilon); + EXPECT_ATOM_TYPES("run_atom_types (normal run, respa)", lmp->atom, test_config.run_atom_types); ifix = lmp->modify->find_fix("test"); if (ifix < 0) { @@ -464,6 +468,7 @@ TEST(FixTimestep, plain) EXPECT_POSITIONS("run_pos (restart, respa)", lmp->atom, test_config.run_pos, epsilon); EXPECT_VELOCITIES("run_vel (restart, respa)", lmp->atom, test_config.run_vel, epsilon); + EXPECT_ATOM_TYPES("run_atom_types (restart, respa)", lmp->atom, test_config.run_atom_types); ifix = lmp->modify->find_fix("test"); if (ifix < 0) { @@ -503,6 +508,7 @@ TEST(FixTimestep, plain) EXPECT_POSITIONS("run_pos (rmass, respa)", lmp->atom, test_config.run_pos, epsilon); EXPECT_VELOCITIES("run_vel (rmass, respa)", lmp->atom, test_config.run_vel, epsilon); + EXPECT_ATOM_TYPES("run_atom_types (rmass, respa)", lmp->atom, test_config.run_atom_types); ifix = lmp->modify->find_fix("test"); if (ifix < 0) { @@ -584,6 +590,7 @@ TEST(FixTimestep, omp) EXPECT_POSITIONS("run_pos (normal run, verlet)", lmp->atom, test_config.run_pos, epsilon); EXPECT_VELOCITIES("run_vel (normal run, verlet)", lmp->atom, test_config.run_vel, epsilon); + EXPECT_ATOM_TYPES("run_atom_types (normal run, verlet)", lmp->atom, test_config.run_atom_types); int ifix = lmp->modify->find_fix("test"); if (ifix < 0) { @@ -634,6 +641,7 @@ TEST(FixTimestep, omp) EXPECT_POSITIONS("run_pos (restart, verlet)", lmp->atom, test_config.run_pos, epsilon); EXPECT_VELOCITIES("run_vel (restart, verlet)", lmp->atom, test_config.run_vel, epsilon); + EXPECT_ATOM_TYPES("run_atom_types (restart, verlet)", lmp->atom, test_config.run_atom_types); ifix = lmp->modify->find_fix("test"); if (ifix < 0) { @@ -673,6 +681,7 @@ TEST(FixTimestep, omp) EXPECT_POSITIONS("run_pos (rmass, verlet)", lmp->atom, test_config.run_pos, epsilon); EXPECT_VELOCITIES("run_vel (rmass, verlet)", lmp->atom, test_config.run_vel, epsilon); + EXPECT_ATOM_TYPES("run_atom_types (rmass, verlet)", lmp->atom, test_config.run_atom_types); ifix = lmp->modify->find_fix("test"); if (ifix < 0) { @@ -725,6 +734,7 @@ TEST(FixTimestep, omp) EXPECT_POSITIONS("run_pos (normal run, respa)", lmp->atom, test_config.run_pos, epsilon); EXPECT_VELOCITIES("run_vel (normal run, respa)", lmp->atom, test_config.run_vel, epsilon); + EXPECT_ATOM_TYPES("run_atom_types (normal run, respa)", lmp->atom, test_config.run_atom_types); ifix = lmp->modify->find_fix("test"); if (ifix < 0) { @@ -763,6 +773,7 @@ TEST(FixTimestep, omp) EXPECT_POSITIONS("run_pos (restart, respa)", lmp->atom, test_config.run_pos, epsilon); EXPECT_VELOCITIES("run_vel (restart, respa)", lmp->atom, test_config.run_vel, epsilon); + EXPECT_ATOM_TYPES("run_atom_types (restart, respa)", lmp->atom, test_config.run_atom_types); ifix = lmp->modify->find_fix("test"); if (ifix < 0) { @@ -802,6 +813,7 @@ TEST(FixTimestep, omp) EXPECT_POSITIONS("run_pos (rmass, respa)", lmp->atom, test_config.run_pos, epsilon); EXPECT_VELOCITIES("run_vel (rmass, respa)", lmp->atom, test_config.run_vel, epsilon); + EXPECT_ATOM_TYPES("run_atom_types (rmass, respa)", lmp->atom, test_config.run_atom_types); ifix = lmp->modify->find_fix("test"); if (ifix < 0) { diff --git a/unittest/force-styles/test_main.cpp b/unittest/force-styles/test_main.cpp index 80f1ca4e30..4a98c489be 100644 --- a/unittest/force-styles/test_main.cpp +++ b/unittest/force-styles/test_main.cpp @@ -70,6 +70,7 @@ void EXPECT_FORCES(const std::string &name, Atom *atom, const std::vector &x_ref, double epsilon) { + if (x_ref.empty()) return; SCOPED_TRACE("EXPECT_POSITIONS: " + name); double **x = atom->x; tagint *tag = atom->tag; @@ -87,6 +88,7 @@ void EXPECT_POSITIONS(const std::string &name, Atom *atom, const std::vector &v_ref, double epsilon) { + if (v_ref.empty()) return; SCOPED_TRACE("EXPECT_VELOCITIES: " + name); double **v = atom->v; tagint *tag = atom->tag; @@ -101,6 +103,23 @@ void EXPECT_VELOCITIES(const std::string &name, Atom *atom, const std::vector &at_ref) +{ + if (at_ref.empty()) return; + SCOPED_TRACE("EXPECT_ATOM_TYPES: " + name); + int *type = atom->type; + tagint *tag = atom->tag; + const int nlocal = atom->nlocal; + ASSERT_EQ(nlocal + 1, at_ref.size()); + ErrorStats stats; + for (int i = 0; i < nlocal; ++i) { + EXPECT_EQ(type[i], at_ref[tag[i]]); + EXPECT_EQ(type[i], at_ref[tag[i]]); + EXPECT_EQ(type[i], at_ref[tag[i]]); + } + if (print_stats) std::cerr << name << " stats" << stats << std::endl; +} + // common read_yaml_file function bool read_yaml_file(const char *infile, TestConfig &config) { diff --git a/unittest/force-styles/test_main.h b/unittest/force-styles/test_main.h index 36bcd7bdff..ede7402cdc 100644 --- a/unittest/force-styles/test_main.h +++ b/unittest/force-styles/test_main.h @@ -41,5 +41,6 @@ void EXPECT_STRESS(const std::string & name, double * stress, const stress_t & e void EXPECT_FORCES(const std::string & name, LAMMPS_NS::Atom * atom, const std::vector & f_ref, double epsilon); void EXPECT_POSITIONS(const std::string & name, LAMMPS_NS::Atom * atom, const std::vector & x_ref, double epsilon); void EXPECT_VELOCITIES(const std::string & name, LAMMPS_NS::Atom * atom, const std::vector & v_ref, double epsilon); +void EXPECT_ATOM_TYPES(const std::string & name, LAMMPS_NS::Atom * atom, const std::vector & at_ref); #endif From c0e147dc576ecc6829909941ceb850c321f1df9f Mon Sep 17 00:00:00 2001 From: jrgissing Date: Sat, 11 Feb 2023 23:38:55 -0500 Subject: [PATCH 094/448] make bond/react examples more accurate --- .../PACKAGES/reaction/create_atoms_polystyrene/in.grow_styrene | 3 +++ examples/PACKAGES/reaction/nylon,6-6_melt/in.large_nylon_melt | 3 +++ examples/PACKAGES/reaction/tiny_epoxy/in.tiny_epoxy.stabilized | 3 +++ examples/PACKAGES/reaction/tiny_nylon/in.tiny_nylon.stabilized | 3 +++ .../tiny_nylon/in.tiny_nylon.stabilized_variable_probability | 3 +++ .../PACKAGES/reaction/tiny_nylon/in.tiny_nylon.unstabilized | 3 +++ .../reaction/tiny_polystyrene/in.tiny_polystyrene.stabilized | 3 +++ 7 files changed, 21 insertions(+) diff --git a/examples/PACKAGES/reaction/create_atoms_polystyrene/in.grow_styrene b/examples/PACKAGES/reaction/create_atoms_polystyrene/in.grow_styrene index b17b321fe5..7860db4e55 100644 --- a/examples/PACKAGES/reaction/create_atoms_polystyrene/in.grow_styrene +++ b/examples/PACKAGES/reaction/create_atoms_polystyrene/in.grow_styrene @@ -16,6 +16,9 @@ dihedral_style class2 improper_style class2 +special_bonds lj/coul 0 0 1 +pair_modify tail yes mix sixthpower + variable T equal 530 read_data trimer.data & diff --git a/examples/PACKAGES/reaction/nylon,6-6_melt/in.large_nylon_melt b/examples/PACKAGES/reaction/nylon,6-6_melt/in.large_nylon_melt index 6fbf46f844..9678a714d6 100644 --- a/examples/PACKAGES/reaction/nylon,6-6_melt/in.large_nylon_melt +++ b/examples/PACKAGES/reaction/nylon,6-6_melt/in.large_nylon_melt @@ -18,6 +18,9 @@ dihedral_style class2 improper_style class2 +special_bonds lj/coul 0 0 1 +pair_modify tail yes mix sixthpower + read_data large_nylon_melt.data.gz & extra/bond/per/atom 5 & extra/angle/per/atom 15 & diff --git a/examples/PACKAGES/reaction/tiny_epoxy/in.tiny_epoxy.stabilized b/examples/PACKAGES/reaction/tiny_epoxy/in.tiny_epoxy.stabilized index 1309eff3a3..57b03b630f 100644 --- a/examples/PACKAGES/reaction/tiny_epoxy/in.tiny_epoxy.stabilized +++ b/examples/PACKAGES/reaction/tiny_epoxy/in.tiny_epoxy.stabilized @@ -17,6 +17,9 @@ dihedral_style class2 improper_style class2 +special_bonds lj/coul 0 0 1 +pair_modify tail yes mix sixthpower + read_data tiny_epoxy.data velocity all create 300.0 4928459 dist gaussian diff --git a/examples/PACKAGES/reaction/tiny_nylon/in.tiny_nylon.stabilized b/examples/PACKAGES/reaction/tiny_nylon/in.tiny_nylon.stabilized index 81a12b4ccb..95b39033db 100644 --- a/examples/PACKAGES/reaction/tiny_nylon/in.tiny_nylon.stabilized +++ b/examples/PACKAGES/reaction/tiny_nylon/in.tiny_nylon.stabilized @@ -19,6 +19,9 @@ dihedral_style class2 improper_style class2 +special_bonds lj/coul 0 0 1 +pair_modify tail yes mix sixthpower + read_data tiny_nylon.data & extra/bond/per/atom 5 & extra/angle/per/atom 15 & diff --git a/examples/PACKAGES/reaction/tiny_nylon/in.tiny_nylon.stabilized_variable_probability b/examples/PACKAGES/reaction/tiny_nylon/in.tiny_nylon.stabilized_variable_probability index 515d4cb2f8..88b5a95a41 100644 --- a/examples/PACKAGES/reaction/tiny_nylon/in.tiny_nylon.stabilized_variable_probability +++ b/examples/PACKAGES/reaction/tiny_nylon/in.tiny_nylon.stabilized_variable_probability @@ -19,6 +19,9 @@ dihedral_style class2 improper_style class2 +special_bonds lj/coul 0 0 1 +pair_modify tail yes mix sixthpower + read_data tiny_nylon.data & extra/bond/per/atom 5 & extra/angle/per/atom 15 & diff --git a/examples/PACKAGES/reaction/tiny_nylon/in.tiny_nylon.unstabilized b/examples/PACKAGES/reaction/tiny_nylon/in.tiny_nylon.unstabilized index 4891e9ebff..a569e28d43 100644 --- a/examples/PACKAGES/reaction/tiny_nylon/in.tiny_nylon.unstabilized +++ b/examples/PACKAGES/reaction/tiny_nylon/in.tiny_nylon.unstabilized @@ -19,6 +19,9 @@ dihedral_style class2 improper_style class2 +special_bonds lj/coul 0 0 1 +pair_modify tail yes mix sixthpower + read_data tiny_nylon.data & extra/bond/per/atom 5 & extra/angle/per/atom 15 & diff --git a/examples/PACKAGES/reaction/tiny_polystyrene/in.tiny_polystyrene.stabilized b/examples/PACKAGES/reaction/tiny_polystyrene/in.tiny_polystyrene.stabilized index ab9c012905..4ecc481719 100644 --- a/examples/PACKAGES/reaction/tiny_polystyrene/in.tiny_polystyrene.stabilized +++ b/examples/PACKAGES/reaction/tiny_polystyrene/in.tiny_polystyrene.stabilized @@ -19,6 +19,9 @@ dihedral_style class2 improper_style class2 +special_bonds lj/coul 0 0 1 +pair_modify tail yes mix sixthpower + variable T equal 530 read_data tiny_polystyrene.data & From b465594aec73febc9d8115b0ce1ddae426089a9e Mon Sep 17 00:00:00 2001 From: jrgissing Date: Sun, 12 Feb 2023 00:05:07 -0500 Subject: [PATCH 095/448] bond/react restarts bugfix introduced with recent 'rate_limit' keyword --- src/REACTION/fix_bond_react.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/REACTION/fix_bond_react.cpp b/src/REACTION/fix_bond_react.cpp index 5da34aae21..95f11c7f77 100644 --- a/src/REACTION/fix_bond_react.cpp +++ b/src/REACTION/fix_bond_react.cpp @@ -4454,13 +4454,16 @@ void FixBondReact::restart(char *buf) Set *set_restart = (Set *) &buf[n*sizeof(int)]; r_nreacts = set_restart[0].nreacts; + n2cpy = 0; if (revision > 0) { r_max_rate_limit_steps = set_restart[0].max_rate_limit_steps; - ibufcount = r_max_rate_limit_steps*r_nreacts; - memory->create(ibuf,r_max_rate_limit_steps,r_nreacts,"bond/react:ibuf"); - memcpy(&ibuf[0][0],&buf[sizeof(int)+r_nreacts*sizeof(Set)],sizeof(int)*ibufcount); - n2cpy = r_max_rate_limit_steps; - } else n2cpy = 0; + if (r_max_rate_limit_steps > 0) { + ibufcount = r_max_rate_limit_steps*r_nreacts; + memory->create(ibuf,r_max_rate_limit_steps,r_nreacts,"bond/react:ibuf"); + memcpy(&ibuf[0][0],&buf[sizeof(int)+r_nreacts*sizeof(Set)],sizeof(int)*ibufcount); + n2cpy = r_max_rate_limit_steps; + } + } if (max_rate_limit_steps < n2cpy) n2cpy = max_rate_limit_steps; for (int i = 0; i < r_nreacts; i++) { @@ -4473,7 +4476,7 @@ void FixBondReact::restart(char *buf) } } } - if (revision > 0) memory->destroy(ibuf); + if (revision > 0 && r_max_rate_limit_steps > 0) memory->destroy(ibuf); } /* ---------------------------------------------------------------------- From f2713aad9431d8eb8f5d674aca9f3b320596f347 Mon Sep 17 00:00:00 2001 From: jrgissing Date: Sun, 12 Feb 2023 00:36:58 -0500 Subject: [PATCH 096/448] add simple bond/react unit test --- .../tests/fix-timestep-bond_react.yaml | 48 ++++++ .../tests/fourmol.molecule_template | 154 ++++++++++++++++++ unittest/force-styles/tests/fourmol.rxn_map | 28 ++++ .../tests/fourmol_modified.molecule_template | 154 ++++++++++++++++++ 4 files changed, 384 insertions(+) create mode 100644 unittest/force-styles/tests/fix-timestep-bond_react.yaml create mode 100644 unittest/force-styles/tests/fourmol.molecule_template create mode 100644 unittest/force-styles/tests/fourmol.rxn_map create mode 100644 unittest/force-styles/tests/fourmol_modified.molecule_template diff --git a/unittest/force-styles/tests/fix-timestep-bond_react.yaml b/unittest/force-styles/tests/fix-timestep-bond_react.yaml new file mode 100644 index 0000000000..8897208fe0 --- /dev/null +++ b/unittest/force-styles/tests/fix-timestep-bond_react.yaml @@ -0,0 +1,48 @@ +--- +lammps_version: 8 Feb 2023 +date_generated: Fri Feb 10 12:00:00 2023 +epsilon: 2e-14 +skip_tests: +prerequisites: ! | + atom full + fix bond/react +pre_commands: ! "" +post_commands: ! | + molecule mol1 ${input_dir}/fourmol.molecule_template + molecule mol2 ${input_dir}/fourmol_modified.molecule_template + fix test all bond/react react rxn1 all 1 0 5 mol1 mol2 ${input_dir}/fourmol.rxn_map +input_file: in.fourmol +natoms: 29 +global_vector: ! |- + 1 1 +run_atom_types: ! |2 + 21 5 + 22 2 + 23 2 + 19 2 + 18 4 + 20 2 + 28 2 + 4 3 + 10 2 + 11 4 + 12 2 + 14 3 + 3 3 + 6 2 + 7 5 + 15 4 + 8 5 + 9 3 + 16 3 + 17 5 + 5 3 + 13 4 + 2 3 + 1 4 + 27 5 + 29 2 + 24 5 + 25 2 + 26 2 +... diff --git a/unittest/force-styles/tests/fourmol.molecule_template b/unittest/force-styles/tests/fourmol.molecule_template new file mode 100644 index 0000000000..9d53791598 --- /dev/null +++ b/unittest/force-styles/tests/fourmol.molecule_template @@ -0,0 +1,154 @@ +LAMMPS molecule file generated by VMD/TopoTools v1.7 on Sat Feb 11 12:41:31 -0500 2023 + 17 atoms + 16 bonds + 26 angles + 31 dihedrals + 2 impropers + + Coords + +1 -0.279937 2.472659 -0.172009 +2 0.301971 2.951524 -0.856897 +3 -0.694354 1.244047 -0.622338 +4 -1.577161 1.491533 -1.248713 +5 -0.895018 0.935681 0.402277 +6 0.294126 0.227193 -1.284309 +7 0.340199 -0.009128 -2.463311 +8 1.164119 -0.483753 -0.676598 +9 1.377746 -0.253663 0.268776 +10 2.018528 -1.428397 -0.967335 +11 1.792978 -1.987105 -1.884063 +12 3.003025 -0.489233 -1.618866 +13 4.044727 -0.901320 -1.638445 +14 2.603315 -0.407898 -2.655441 +15 2.975631 0.563343 -1.243765 +16 2.651755 -2.395711 0.032908 +17 2.230996 -2.102292 1.149195 + + Types + +1 3 +2 2 +3 1 +4 2 +5 2 +6 1 +7 4 +8 3 +9 2 +10 1 +11 2 +12 1 +13 2 +14 2 +15 2 +16 1 +17 4 + + Charges + +1 -0.470000 +2 0.310000 +3 -0.020000 +4 0.090000 +5 0.090000 +6 0.510000 +7 -0.510000 +8 -0.470000 +9 0.310000 +10 0.070000 +11 0.090000 +12 -0.270000 +13 0.090000 +14 0.090000 +15 0.090000 +16 0.510000 +17 -0.510000 + + Bonds + +1 1 1 2 +2 1 1 3 +3 1 3 4 +4 1 3 5 +5 1 3 6 +6 1 6 8 +7 1 6 7 +8 1 8 9 +9 1 8 10 +10 1 10 11 +11 1 10 12 +12 1 10 16 +13 1 12 13 +14 1 12 14 +15 1 12 15 +16 1 16 17 + + Angles + +1 1 2 1 3 +2 1 1 3 5 +3 1 1 3 4 +4 1 1 3 6 +5 1 4 3 5 +6 1 5 3 6 +7 1 4 3 6 +8 1 3 6 7 +9 1 3 6 8 +10 1 7 6 8 +11 1 6 8 9 +12 1 9 8 10 +13 1 6 8 10 +14 1 8 10 11 +15 1 8 10 16 +16 1 11 10 12 +17 1 12 10 16 +18 1 8 10 12 +19 1 11 10 16 +20 1 10 12 15 +21 1 10 12 14 +22 1 10 12 13 +23 1 13 12 15 +24 1 13 12 14 +25 1 14 12 15 +26 1 10 16 17 + + Dihedrals + +1 1 2 1 3 6 +2 1 2 1 3 4 +3 1 2 1 3 5 +4 1 1 3 6 8 +5 1 1 3 6 7 +6 1 4 3 6 8 +7 1 4 3 6 7 +8 1 5 3 6 8 +9 1 5 3 6 7 +10 1 3 6 8 9 +11 1 3 6 8 10 +12 1 7 6 8 9 +13 1 7 6 8 10 +14 1 6 8 10 12 +15 1 6 8 10 16 +16 1 6 8 10 11 +17 1 9 8 10 12 +18 1 9 8 10 16 +19 1 9 8 10 11 +20 1 8 10 12 13 +21 1 8 10 12 14 +22 1 8 10 12 15 +23 1 8 10 16 17 +24 1 11 10 12 13 +25 1 11 10 12 14 +26 1 11 10 12 15 +27 1 11 10 16 17 +28 1 12 10 16 17 +29 1 16 10 12 13 +30 1 16 10 12 14 +31 1 16 10 12 15 + + Impropers + +1 1 6 3 8 7 +2 1 8 6 10 9 + diff --git a/unittest/force-styles/tests/fourmol.rxn_map b/unittest/force-styles/tests/fourmol.rxn_map new file mode 100644 index 0000000000..cd810b41e0 --- /dev/null +++ b/unittest/force-styles/tests/fourmol.rxn_map @@ -0,0 +1,28 @@ +map file for 'fix bond/react' + +17 equivalences + +InitiatorIDs + +6 +7 + +Equivalences + +1 1 +2 2 +3 3 +4 4 +5 5 +6 6 +7 7 +8 8 +9 9 +10 10 +11 11 +12 12 +13 13 +14 14 +15 15 +16 16 +17 17 diff --git a/unittest/force-styles/tests/fourmol_modified.molecule_template b/unittest/force-styles/tests/fourmol_modified.molecule_template new file mode 100644 index 0000000000..ce6f2c7f38 --- /dev/null +++ b/unittest/force-styles/tests/fourmol_modified.molecule_template @@ -0,0 +1,154 @@ +LAMMPS molecule file generated by VMD/TopoTools v1.7 on Sat Feb 11 12:41:31 -0500 2023 + 17 atoms + 16 bonds + 26 angles + 31 dihedrals + 2 impropers + + Coords + +1 -0.279937 2.472659 -0.172009 +2 0.301971 2.951524 -0.856897 +3 -0.694354 1.244047 -0.622338 +4 -1.577161 1.491533 -1.248713 +5 -0.895018 0.935681 0.402277 +6 0.294126 0.227193 -1.284309 +7 0.340199 -0.009128 -2.463311 +8 1.164119 -0.483753 -0.676598 +9 1.377746 -0.253663 0.268776 +10 2.018528 -1.428397 -0.967335 +11 1.792978 -1.987105 -1.884063 +12 3.003025 -0.489233 -1.618866 +13 4.044727 -0.901320 -1.638445 +14 2.603315 -0.407898 -2.655441 +15 2.975631 0.563343 -1.243765 +16 2.651755 -2.395711 0.032908 +17 2.230996 -2.102292 1.149195 + + Types + +1 4 +2 3 +3 3 +4 3 +5 3 +6 2 +7 5 +8 5 +9 3 +10 2 +11 4 +12 2 +13 4 +14 3 +15 4 +16 3 +17 5 + + Charges + +1 -0.470000 +2 0.310000 +3 -0.020000 +4 0.090000 +5 0.090000 +6 0.510000 +7 -0.510000 +8 -0.470000 +9 0.310000 +10 0.070000 +11 0.090000 +12 -0.270000 +13 0.090000 +14 0.090000 +15 0.090000 +16 0.510000 +17 -0.510000 + + Bonds + +1 1 1 2 +2 1 1 3 +3 1 3 4 +4 1 3 5 +5 1 3 6 +6 1 6 8 +7 1 6 7 +8 1 8 9 +9 1 8 10 +10 1 10 11 +11 1 10 12 +12 1 10 16 +13 1 12 13 +14 1 12 14 +15 1 12 15 +16 1 16 17 + + Angles + +1 1 2 1 3 +2 1 1 3 5 +3 1 1 3 4 +4 1 1 3 6 +5 1 4 3 5 +6 1 5 3 6 +7 1 4 3 6 +8 1 3 6 7 +9 1 3 6 8 +10 1 7 6 8 +11 1 6 8 9 +12 1 9 8 10 +13 1 6 8 10 +14 1 8 10 11 +15 1 8 10 16 +16 1 11 10 12 +17 1 12 10 16 +18 1 8 10 12 +19 1 11 10 16 +20 1 10 12 15 +21 1 10 12 14 +22 1 10 12 13 +23 1 13 12 15 +24 1 13 12 14 +25 1 14 12 15 +26 1 10 16 17 + + Dihedrals + +1 1 2 1 3 6 +2 1 2 1 3 4 +3 1 2 1 3 5 +4 1 1 3 6 8 +5 1 1 3 6 7 +6 1 4 3 6 8 +7 1 4 3 6 7 +8 1 5 3 6 8 +9 1 5 3 6 7 +10 1 3 6 8 9 +11 1 3 6 8 10 +12 1 7 6 8 9 +13 1 7 6 8 10 +14 1 6 8 10 12 +15 1 6 8 10 16 +16 1 6 8 10 11 +17 1 9 8 10 12 +18 1 9 8 10 16 +19 1 9 8 10 11 +20 1 8 10 12 13 +21 1 8 10 12 14 +22 1 8 10 12 15 +23 1 8 10 16 17 +24 1 11 10 12 13 +25 1 11 10 12 14 +26 1 11 10 12 15 +27 1 11 10 16 17 +28 1 12 10 16 17 +29 1 16 10 12 13 +30 1 16 10 12 14 +31 1 16 10 12 15 + + Impropers + +1 1 6 3 8 7 +2 1 8 6 10 9 + From eab3c4d382fc1aad6e52a4e4fe89f32a0f16bb74 Mon Sep 17 00:00:00 2001 From: jrgissing Date: Sun, 12 Feb 2023 15:08:46 -0500 Subject: [PATCH 097/448] better map file error handling --- src/REACTION/fix_bond_react.cpp | 74 +++++++++++++++++++++------------ 1 file changed, 48 insertions(+), 26 deletions(-) diff --git a/src/REACTION/fix_bond_react.cpp b/src/REACTION/fix_bond_react.cpp index 95f11c7f77..dbdd5116fd 100644 --- a/src/REACTION/fix_bond_react.cpp +++ b/src/REACTION/fix_bond_react.cpp @@ -2850,7 +2850,7 @@ void FixBondReact::glove_ghostcheck() ghostly = 1; } #endif - + if (ghostly == 1) { ghostly_mega_glove[0][ghostly_num_mega] = rxnID; for (int j = 0; j < onemol->natoms+1; j++) { @@ -3908,6 +3908,7 @@ read map file void FixBondReact::read_map_file(int myrxn) { + int rv; char line[MAXLINE],keyword[MAXLINE]; char *eof,*ptr; @@ -3932,16 +3933,24 @@ void FixBondReact::read_map_file(int myrxn) if (strstr(line,"edgeIDs")) sscanf(line,"%d",&nedge); else if (strstr(line,"equivalences")) { - sscanf(line,"%d",&nequivalent); + rv = sscanf(line,"%d",&nequivalent); + if (rv != 1) error->one(FLERR, "Map file header is incorrectly formatted"); if (nequivalent != onemol->natoms) error->one(FLERR,"Fix bond/react: Number of equivalences in map file must " "equal number of atoms in reaction templates"); } - else if (strstr(line,"deleteIDs")) sscanf(line,"%d",&ndelete); - else if (strstr(line,"createIDs")) sscanf(line,"%d",&ncreate); - else if (strstr(line,"chiralIDs")) sscanf(line,"%d",&nchiral); - else if (strstr(line,"constraints")) { - sscanf(line,"%d",&nconstraints[myrxn]); + else if (strstr(line,"deleteIDs")) { + rv = sscanf(line,"%d",&ndelete); + if (rv != 1) error->one(FLERR, "Map file header is incorrectly formatted"); + } else if (strstr(line,"createIDs")) { + rv = sscanf(line,"%d",&ncreate); + if (rv != 1) error->one(FLERR, "Map file header is incorrectly formatted"); + } else if (strstr(line,"chiralIDs")) { + rv = sscanf(line,"%d",&nchiral); + if (rv != 1) error->one(FLERR, "Map file header is incorrectly formatted"); + } else if (strstr(line,"constraints")) { + rv = sscanf(line,"%d",&nconstraints[myrxn]); + if (rv != 1) error->one(FLERR, "Map file header is incorrectly formatted"); if (maxnconstraints < nconstraints[myrxn]) maxnconstraints = nconstraints[myrxn]; constraints.resize(maxnconstraints, std::vector(nreacts)); } else break; @@ -3961,11 +3970,13 @@ void FixBondReact::read_map_file(int myrxn) if (comm->me == 0) error->warning(FLERR,"Fix bond/react: The BondingIDs section title has been deprecated. Please use InitiatorIDs instead."); bondflag = 1; readline(line); - sscanf(line,"%d",&ibonding[myrxn]); + rv = sscanf(line,"%d",&ibonding[myrxn]); + if (rv != 1) error->one(FLERR, "InitiatorIDs section is incorrectly formatted"); if (ibonding[myrxn] > onemol->natoms) error->one(FLERR,"Fix bond/react: Invalid template atom ID in map file"); readline(line); - sscanf(line,"%d",&jbonding[myrxn]); + rv = sscanf(line,"%d",&jbonding[myrxn]); + if (rv != 1) error->one(FLERR, "InitiatorIDs section is incorrectly formatted"); if (jbonding[myrxn] > onemol->natoms) error->one(FLERR,"Fix bond/react: Invalid template atom ID in map file"); } else if (strcmp(keyword,"EdgeIDs") == 0) { @@ -3996,10 +4007,11 @@ void FixBondReact::EdgeIDs(char *line, int myrxn) { // puts a 1 at edge(edgeID) - int tmp; + int tmp,rv; for (int i = 0; i < nedge; i++) { readline(line); - sscanf(line,"%d",&tmp); + rv = sscanf(line,"%d",&tmp); + if (rv != 1) error->one(FLERR, "EdgeIDs section is incorrectly formatted"); if (tmp > onemol->natoms) error->one(FLERR,"Fix bond/react: Invalid template atom ID in map file"); edge[tmp-1][myrxn] = 1; @@ -4008,11 +4020,11 @@ void FixBondReact::EdgeIDs(char *line, int myrxn) void FixBondReact::Equivalences(char *line, int myrxn) { - int tmp1; - int tmp2; + int tmp1,tmp2,rv; for (int i = 0; i < nequivalent; i++) { readline(line); - sscanf(line,"%d %d",&tmp1,&tmp2); + rv = sscanf(line,"%d %d",&tmp1,&tmp2); + if (rv != 2) error->one(FLERR, "Equivalences section is incorrectly formatted"); if (tmp1 > onemol->natoms || tmp2 > twomol->natoms) error->one(FLERR,"Fix bond/react: Invalid template atom ID in map file"); //equivalences is-> clmn 1: post-reacted, clmn 2: pre-reacted @@ -4026,10 +4038,11 @@ void FixBondReact::Equivalences(char *line, int myrxn) void FixBondReact::DeleteAtoms(char *line, int myrxn) { - int tmp; + int tmp,rv; for (int i = 0; i < ndelete; i++) { readline(line); - sscanf(line,"%d",&tmp); + rv = sscanf(line,"%d",&tmp); + if (rv != 1) error->one(FLERR, "DeleteIDs section is incorrectly formatted"); if (tmp > onemol->natoms) error->one(FLERR,"Fix bond/react: Invalid template atom ID in map file"); delete_atoms[tmp-1][myrxn] = 1; @@ -4039,10 +4052,11 @@ void FixBondReact::DeleteAtoms(char *line, int myrxn) void FixBondReact::CreateAtoms(char *line, int myrxn) { create_atoms_flag[myrxn] = 1; - int tmp; + int tmp,rv; for (int i = 0; i < ncreate; i++) { readline(line); - sscanf(line,"%d",&tmp); + rv = sscanf(line,"%d",&tmp); + if (rv != 1) error->one(FLERR, "CreateIDs section is incorrectly formatted"); create_atoms[tmp-1][myrxn] = 1; } if (twomol->xflag == 0) @@ -4060,10 +4074,11 @@ void FixBondReact::CustomCharges(int ifragment, int myrxn) void FixBondReact::ChiralCenters(char *line, int myrxn) { - int tmp; + int tmp,rv; for (int i = 0; i < nchiral; i++) { readline(line); - sscanf(line,"%d",&tmp); + rv = sscanf(line,"%d",&tmp); + if (rv != 1) error->one(FLERR, "ChiralIDs section is incorrectly formatted"); if (tmp > onemol->natoms) error->one(FLERR,"Fix bond/react: Invalid template atom ID in map file"); chiral_atoms[tmp-1][0][myrxn] = 1; @@ -4093,6 +4108,7 @@ void FixBondReact::ChiralCenters(char *line, int myrxn) void FixBondReact::ReadConstraints(char *line, int myrxn) { + int rv; double tmp[MAXCONARGS]; char **strargs,*ptr,*lptr; memory->create(strargs,MAXCONARGS,MAXLINE,"bond/react:strargs"); @@ -4134,10 +4150,12 @@ void FixBondReact::ReadConstraints(char *line, int myrxn) } if ((ptr = strchr(lptr,')'))) *ptr = '\0'; - sscanf(line,"%s",constraint_type); + rv = sscanf(line,"%s",constraint_type); + if (rv != 1) error->one(FLERR, "Constraints section is incorrectly formatted"); if (strcmp(constraint_type,"distance") == 0) { constraints[i][myrxn].type = DISTANCE; - sscanf(line,"%*s %s %s %lg %lg",strargs[0],strargs[1],&tmp[0],&tmp[1]); + rv = sscanf(line,"%*s %s %s %lg %lg",strargs[0],strargs[1],&tmp[0],&tmp[1]); + if (rv != 4) error->one(FLERR, "Distance constraint is incorrectly formatted"); readID(strargs[0], i, myrxn, 0); readID(strargs[1], i, myrxn, 1); // cutoffs @@ -4145,7 +4163,8 @@ void FixBondReact::ReadConstraints(char *line, int myrxn) constraints[i][myrxn].par[1] = tmp[1]*tmp[1]; } else if (strcmp(constraint_type,"angle") == 0) { constraints[i][myrxn].type = ANGLE; - sscanf(line,"%*s %s %s %s %lg %lg",strargs[0],strargs[1],strargs[2],&tmp[0],&tmp[1]); + rv = sscanf(line,"%*s %s %s %s %lg %lg",strargs[0],strargs[1],strargs[2],&tmp[0],&tmp[1]); + if (rv != 5) error->one(FLERR, "Angle constraint is incorrectly formatted"); readID(strargs[0], i, myrxn, 0); readID(strargs[1], i, myrxn, 1); readID(strargs[2], i, myrxn, 2); @@ -4155,8 +4174,9 @@ void FixBondReact::ReadConstraints(char *line, int myrxn) constraints[i][myrxn].type = DIHEDRAL; tmp[2] = 181.0; // impossible range tmp[3] = 182.0; - sscanf(line,"%*s %s %s %s %s %lg %lg %lg %lg",strargs[0],strargs[1], + rv = sscanf(line,"%*s %s %s %s %s %lg %lg %lg %lg",strargs[0],strargs[1], strargs[2],strargs[3],&tmp[0],&tmp[1],&tmp[2],&tmp[3]); + if (!(rv == 6 || rv == 8)) error->one(FLERR, "Dihedral constraint is incorrectly formatted"); readID(strargs[0], i, myrxn, 0); readID(strargs[1], i, myrxn, 1); readID(strargs[2], i, myrxn, 2); @@ -4168,7 +4188,8 @@ void FixBondReact::ReadConstraints(char *line, int myrxn) } else if (strcmp(constraint_type,"arrhenius") == 0) { constraints[i][myrxn].type = ARRHENIUS; constraints[i][myrxn].par[0] = narrhenius++; - sscanf(line,"%*s %lg %lg %lg %lg",&tmp[0],&tmp[1],&tmp[2],&tmp[3]); + rv = sscanf(line,"%*s %lg %lg %lg %lg",&tmp[0],&tmp[1],&tmp[2],&tmp[3]); + if (rv != 4) error->one(FLERR, "Arrhenius constraint is incorrectly formatted"); constraints[i][myrxn].par[1] = tmp[0]; constraints[i][myrxn].par[2] = tmp[1]; constraints[i][myrxn].par[3] = tmp[2]; @@ -4176,7 +4197,8 @@ void FixBondReact::ReadConstraints(char *line, int myrxn) } else if (strcmp(constraint_type,"rmsd") == 0) { constraints[i][myrxn].type = RMSD; strcpy(strargs[0],"0"); - sscanf(line,"%*s %lg %s",&tmp[0],strargs[0]); + rv = sscanf(line,"%*s %lg %s",&tmp[0],strargs[0]); + if (!(rv == 1 || rv == 2)) error->one(FLERR, "RMSD constraint is incorrectly formatted"); constraints[i][myrxn].par[0] = tmp[0]; // RMSDmax constraints[i][myrxn].id[0] = -1; // optional molecule fragment if (isalpha(strargs[0][0])) { From f1fde259e7ad3ace142fedde9b728a15670551a9 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 13 Feb 2023 11:10:50 -0700 Subject: [PATCH 098/448] make new/incremental quantum trigger more robust, including fix GCMC and atom/swap --- src/MC/fix_atom_swap.cpp | 21 +++++ src/MC/fix_atom_swap.h | 1 + src/MC/fix_gcmc.cpp | 14 +++ src/MC/fix_gcmc.h | 2 + src/MDI/fix_mdi_qm.cpp | 196 ++++++++++++++++++++++++++------------- src/MDI/fix_mdi_qm.h | 9 +- 6 files changed, 173 insertions(+), 70 deletions(-) diff --git a/src/MC/fix_atom_swap.cpp b/src/MC/fix_atom_swap.cpp index 0ab91cfeb2..d909e7c55c 100644 --- a/src/MC/fix_atom_swap.cpp +++ b/src/MC/fix_atom_swap.cpp @@ -103,6 +103,8 @@ FixAtomSwap::FixAtomSwap(LAMMPS *lmp, int narg, char **arg) : // zero out counters + mc_active = 0; + nswap_attempts = 0.0; nswap_successes = 0.0; @@ -304,6 +306,8 @@ void FixAtomSwap::pre_exchange() if (next_reneighbor != update->ntimestep) return; + mc_active = 1; + // ensure current system is ready to compute energy if (domain->triclinic) domain->x2lamda(atom->nlocal); @@ -336,6 +340,8 @@ void FixAtomSwap::pre_exchange() nswap_successes += nsuccess; next_reneighbor = update->ntimestep + nevery; + + mc_active = 0; } /* ---------------------------------------------------------------------- @@ -815,3 +821,18 @@ void FixAtomSwap::restart(char *buf) if (ntimestep_restart != update->ntimestep) error->all(FLERR, "Must not reset timestep when restarting fix atom/swap"); } + +/* ---------------------------------------------------------------------- + extract variable which stores whether MC is active or not + active = MC moves are taking place + not active = normal MD is taking place +------------------------------------------------------------------------- */ + +void *FixAtomSwap::extract(const char *name, int &dim) +{ + if (strcmp(name,"mc_active") == 0) { + dim = 0; + return (void *) &mc_active; + } + return nullptr; +} diff --git a/src/MC/fix_atom_swap.h b/src/MC/fix_atom_swap.h index 05c95d13be..89d62b45fb 100644 --- a/src/MC/fix_atom_swap.h +++ b/src/MC/fix_atom_swap.h @@ -37,6 +37,7 @@ class FixAtomSwap : public Fix { double memory_usage() override; void write_restart(FILE *) override; void restart(char *) override; + void *extract(const char *, int &) override; private: int nevery, seed; diff --git a/src/MC/fix_gcmc.cpp b/src/MC/fix_gcmc.cpp index 2181c0de97..803ae9d4ed 100644 --- a/src/MC/fix_gcmc.cpp +++ b/src/MC/fix_gcmc.cpp @@ -220,6 +220,8 @@ FixGCMC::FixGCMC(LAMMPS *lmp, int narg, char **arg) : // zero out counters + mc_active = 0; + ntranslation_attempts = 0.0; ntranslation_successes = 0.0; nrotation_attempts = 0.0; @@ -718,6 +720,8 @@ void FixGCMC::pre_exchange() if (next_reneighbor != update->ntimestep) return; + mc_active = 1; + xlo = domain->boxlo[0]; xhi = domain->boxhi[0]; ylo = domain->boxlo[1]; @@ -795,7 +799,10 @@ void FixGCMC::pre_exchange() } } } + next_reneighbor = update->ntimestep + nevery; + + mc_active = 0; } /* ---------------------------------------------------------------------- @@ -2583,11 +2590,18 @@ void FixGCMC::grow_molecule_arrays(int nmolatoms) { /* ---------------------------------------------------------------------- + extract variable which stores whether MC is active or not + active = MC moves are taking place + not active = normal MD is taking place extract variable which stores index of exclusion group ------------------------------------------------------------------------- */ void *FixGCMC::extract(const char *name, int &dim) { + if (strcmp(name,"mc_active") == 0) { + dim = 0; + return (void *) &mc_active; + } if (strcmp(name,"exclusion_group") == 0) { dim = 0; return (void *) &exclusion_group; diff --git a/src/MC/fix_gcmc.h b/src/MC/fix_gcmc.h index e2425cb95e..b43c57812a 100644 --- a/src/MC/fix_gcmc.h +++ b/src/MC/fix_gcmc.h @@ -74,6 +74,8 @@ class FixGCMC : public Fix { double ninsertion_attempts; double ninsertion_successes; + int mc_active; // 1 during MC trials, otherwise 0 + int gcmc_nmax; int max_region_attempts; double gas_mass; diff --git a/src/MDI/fix_mdi_qm.cpp b/src/MDI/fix_mdi_qm.cpp index 674c8fe1b8..3525927fd0 100644 --- a/src/MDI/fix_mdi_qm.cpp +++ b/src/MDI/fix_mdi_qm.cpp @@ -58,8 +58,8 @@ FixMDIQM::FixMDIQM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) addflag = 1; every = 1; connectflag = 1; - exclude = 0; - id_exclude = nullptr; + mcflag = 0; + id_mcfix = nullptr; elements = nullptr; int iarg = 3; @@ -96,11 +96,11 @@ FixMDIQM::FixMDIQM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) else error->all(FLERR, "Illegal fix mdi/qm command"); iarg += 2; - } else if (strcmp(arg[iarg],"exclude") == 0) { + } else if (strcmp(arg[iarg],"mc") == 0) { if (iarg+2 > narg) error->all(FLERR, "Illegal fix mdi/qm command"); - exclude = 1; - delete[] id_exclude; - id_exclude = utils::strdup(arg[iarg+1]); + mcflag = 1; + delete[] id_mcfix; + id_mcfix = utils::strdup(arg[iarg+1]); iarg += 2; } else if (strcmp(arg[iarg], "elements") == 0) { @@ -230,7 +230,7 @@ FixMDIQM::~FixMDIQM() // clean up - delete[] id_exclude; + delete[] id_mcfix; delete[] elements; memory->destroy(qmIDs); @@ -324,48 +324,90 @@ void FixMDIQM::init() MPI_Bcast(&types_exists, 1, MPI_INT, 0, world); } - // extract pointer to exclusion_group variable from id_exclude - // exclusion_group = index of a group the Fix defines - // the group flags atoms to be excluded from QM calculation + // extract pointers to MC variables from id_mcfix + // mc_active = 1/0 for MC moves on/off (required) + // exclusion_group = index of a group the Fix defines to exclude atoms (optional) - if (exclude) { - Fix *f_exclude = modify->get_fix_by_id(id_exclude); - if (!f_exclude) error->all(FLERR,"Fix mdi/qm could not find exclude fix ID {}", id_exclude); + if (mcflag) { + Fix *f_mc = modify->get_fix_by_id(id_mcfix); + if (!f_mc) error->all(FLERR,"Fix mdi/qm could not find Monte Carlo fix ID {}", id_mcfix); int dim; - exclusion_group_ptr = (int *) f_exclude->extract("exclusion_group", dim); - if (!exclusion_group_ptr || dim != 0) - error->all(FLERR,"Fix mdi/qm could not query exclude_group of fix ID {}", id_exclude); + mc_active_ptr = (int *) f_mc->extract("mc_active", dim); + if (!mc_active_ptr || dim != 0) + error->all(FLERR,"Fix mdi/qm could not query mc_active from Monte Carlo fix ID {}", id_mcfix); + exclusion_group_ptr = (int *) f_mc->extract("exclusion_group", dim); } - // nqm = # of QM atoms - // if hasn't changed, then continuing previous simulation - // else setup new simulation with MDI engine + // determine whether a new vs incremental QM calc is needed + // new when first run or when + // atom count or elements/types or box has changed between runs + // otherwise incremental = subsequent run of same system + + int new_system = 0; + // check if quantum atom count has changed + // on first run, old count is 0 + + int nqm_old = nqm; nqm = set_nqm(); - if (nqm != nqm_last) { + if (nqm != nqm_old) { if (nqm > max_nqm) reallocate(); - - // create list of QM atom IDs in sorted order - // set mapping of my local atoms into global list - create_qm_list(); set_qm2owned(); - - // initial send of info to MDI engine - // values that often won't change for AIMD simulations - // if not sending elements or types, assume engine initialized itself - - send_box(); - send_natoms(); + new_system = 1; + } - if (elements && elements_exists) { + // check if box has changed + + if (new_system) set_box(); + else { + double old_cell[9],old_cell_displ[3]; + memcpy(old_cell,qm_cell,9*sizeof(double)); + memcpy(old_cell_displ,qm_cell_displ,3*sizeof(double)); + set_box(); + for (int i = 0; i < 9; i++) + if (qm_cell[i] != old_cell[i]) new_system = 1; + for (int i = 0; i < 3; i++) + if (qm_cell_displ[i] != old_cell_displ[i]) new_system = 1; + } + + // check if atom elements or types have changed + + if (elements && elements_exists) { + if (new_system) set_eqm(); + else { + int *eqm_old; + memory->create(eqm_old,nqm,"mdi/qm:eqm_old"); + memcpy(eqm_old,eqm,nqm*sizeof(int)); set_eqm(); - send_elements(); - } else if (types_exists) { - set_tqm(); - send_types(); + for (int i = 0; i < nqm; i++) + if (eqm[i] != eqm_old[i]) new_system = 1; + memory->destroy(eqm_old); } + } else if (types_exists) { + if (new_system) set_tqm(); + else { + int *tqm_old; + memory->create(tqm_old,nqm,"mdi/qm:tqm_old"); + memcpy(tqm_old,tqm,nqm*sizeof(int)); + set_tqm(); + for (int i = 0; i < nqm; i++) + if (tqm[i] != tqm_old[i]) new_system = 1; + memory->destroy(tqm_old); + } + } + + // new system, so send setup info to MDI engine + // values that often won't change for AIMD simulations + // if not sending elements or types, assume engine initialized itself + + if (new_system) { + send_natoms(); + send_box(); + if (elements && elements_exists) send_elements(); + else if (types_exists) send_types(); + nqm_last = nqm; } } @@ -408,17 +450,27 @@ void FixMDIQM::post_force(int vflag) memory->create(array_atom,nmax,3,"mdi/qm:array_atom"); } - // check count of QM atoms, could be different due to exclusions - // if so, need to reset QM data structures + // determine whether a new vs incremental QM calc is needed + // new when atom count has changed (deposit, evaporate) + // or when MC fix is active (insertion, deletion, large moves) + // incremental when a system is slowly evolving (AIMD) - nqm = set_nqm(); + int new_system = 0; + if (nqm != nqm_last) new_system = 1; + else if (mcflag && *mc_active_ptr) new_system = 1; - if (nqm != nqm_last) { - nqm_last = nqm; + // send new system info to MDI engine: atom count and elements/types + // reset QM data structures if atom count has changed + + if (new_system) { + nqm = set_nqm(); if (nqm > max_nqm) reallocate(); create_qm_list(); set_qm2owned(); + send_natoms(); + set_box(); + send_box(); if (elements && elements_exists) { set_eqm(); send_elements(); @@ -426,11 +478,16 @@ void FixMDIQM::post_force(int vflag) set_tqm(); send_types(); } - } + nqm_last = nqm; + + // incremental system // if simulation box dynamically changes, send current box to MDI engine - if (domain->box_change_size || domain->box_change_shape) send_box(); + } else if (domain->box_change_size || domain->box_change_shape) { + set_box(); + send_box(); + } // send current coords of QM atoms to MDI engine @@ -476,9 +533,9 @@ void FixMDIQM::post_force(int vflag) } // array_atom = fix output for peratom QM forces - // if exclude, some atoms may not be QM atoms, so zero array_atom first + // if nexclude, some atoms are not QM atoms, zero array_atom first - if (exclude) { + if (nexclude) { int nlocal = atom->nlocal; for (int i = 0; i < nlocal; i++) { array_atom[i][0] = 0.0; @@ -626,7 +683,7 @@ void FixMDIQM::reallocate() /* ---------------------------------------------------------------------- ncount = # of QM atoms - can be less than all atoms if exclude flag is set + can be less than all atoms if MC flag is set return ncount to set nqm ------------------------------------------------------------------------- */ @@ -635,7 +692,7 @@ int FixMDIQM::set_nqm() int ncount = atom->natoms; nexclude = 0; - if (exclude) { + if (mcflag && exclusion_group_ptr) { int nexclude_mine = 0; int exclusion_group = *exclusion_group_ptr; @@ -756,6 +813,29 @@ void FixMDIQM::set_qm2owned() /* ---------------------------------------------------------------------- */ +void FixMDIQM::set_box() +{ + qm_cell_displ[0] = domain->boxlo[0] * lmp2mdi_length; + qm_cell_displ[1] = domain->boxlo[1] * lmp2mdi_length; + qm_cell_displ[2] = domain->boxlo[2] * lmp2mdi_length; + + qm_cell[0] = domain->boxhi[0] - domain->boxlo[0]; + qm_cell[1] = 0.0; + qm_cell[2] = 0.0; + qm_cell[3] = domain->xy; + qm_cell[4] = domain->boxhi[1] - domain->boxlo[1]; + qm_cell[5] = 0.0; + qm_cell[6] = domain->xz; + qm_cell[7] = domain->yz; + qm_cell[8] = domain->boxhi[2] - domain->boxlo[2]; + + // convert cell units to bohr + + for (int icell = 0; icell < 9; icell++) qm_cell[icell] *= lmp2mdi_length; +} + +/* ---------------------------------------------------------------------- */ + void FixMDIQM::set_xqm() { for (int i = 0; i < nqm; i++) { @@ -883,35 +963,17 @@ void FixMDIQM::send_elements() void FixMDIQM::send_box() { int ierr; - double cell[9]; if (celldispl_exists) { ierr = MDI_Send_command(">CELL_DISPL", mdicomm); if (ierr) error->all(FLERR, "MDI: >CELL_DISPL command"); - cell[0] = domain->boxlo[0] * lmp2mdi_length; - cell[1] = domain->boxlo[1] * lmp2mdi_length; - cell[2] = domain->boxlo[2] * lmp2mdi_length; - ierr = MDI_Send(cell, 3, MDI_DOUBLE, mdicomm); + ierr = MDI_Send(qm_cell_displ, 3, MDI_DOUBLE, mdicomm); if (ierr) error->all(FLERR, "MDI: >CELL_DISPL data"); } ierr = MDI_Send_command(">CELL", mdicomm); if (ierr) error->all(FLERR, "MDI: >CELL command"); - cell[0] = domain->boxhi[0] - domain->boxlo[0]; - cell[1] = 0.0; - cell[2] = 0.0; - cell[3] = domain->xy; - cell[4] = domain->boxhi[1] - domain->boxlo[1]; - cell[5] = 0.0; - cell[6] = domain->xz; - cell[7] = domain->yz; - cell[8] = domain->boxhi[2] - domain->boxlo[2]; - - // convert cell units to bohr - - for (int icell = 0; icell < 9; icell++) cell[icell] *= lmp2mdi_length; - - ierr = MDI_Send(cell, 9, MDI_DOUBLE, mdicomm); + ierr = MDI_Send(qm_cell, 9, MDI_DOUBLE, mdicomm); if (ierr) error->all(FLERR, "MDI: >CELL data"); } diff --git a/src/MDI/fix_mdi_qm.h b/src/MDI/fix_mdi_qm.h index 76acb92f18..8b6b0e02f6 100644 --- a/src/MDI/fix_mdi_qm.h +++ b/src/MDI/fix_mdi_qm.h @@ -50,11 +50,13 @@ class FixMDIQM : public Fix { int nprocs; int every, virialflag, addflag, connectflag; int plugin; - int sumflag,exclude; - char *id_exclude; - int *exclusion_group_ptr; + int sumflag,mcflag; + char *id_mcfix; + int *mc_active_ptr,*exclusion_group_ptr; int *elements; + double qm_cell[9],qm_cell_displ[3]; + double qm_energy; double qm_virial[9], qm_virial_symmetric[6]; @@ -92,6 +94,7 @@ class FixMDIQM : public Fix { int set_nqm(); void create_qm_list(); void set_qm2owned(); + void set_box(); void set_xqm(); void set_eqm(); void set_tqm(); From 04c22e86cd8ca8d3306b1ca90b426eeb7deb19b3 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 13 Feb 2023 11:16:56 -0700 Subject: [PATCH 099/448] disable PySCF support for independent MDI coupling for now --- examples/QUANTUM/PySCF/pyscf_mdi.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/examples/QUANTUM/PySCF/pyscf_mdi.py b/examples/QUANTUM/PySCF/pyscf_mdi.py index caa4504e52..f9e4213543 100644 --- a/examples/QUANTUM/PySCF/pyscf_mdi.py +++ b/examples/QUANTUM/PySCF/pyscf_mdi.py @@ -638,6 +638,11 @@ if __name__== "__main__": if not mdi_option: error("PySCF -mdi option not provided") + # disable this mode of MDI coupling for now + # until issue on PySCF side is fixed + + error("PySCF does not currently support running as independent executable") + # call MDI_Init with just -mdi option mdi.MDI_Init(mdi_option) From f06d78349721a8711b1a4c216d93ee70a154bb89 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 13 Feb 2023 11:38:24 -0700 Subject: [PATCH 100/448] add mc_active to header --- src/MC/fix_atom_swap.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/MC/fix_atom_swap.h b/src/MC/fix_atom_swap.h index 89d62b45fb..3b58f2c8fe 100644 --- a/src/MC/fix_atom_swap.h +++ b/src/MC/fix_atom_swap.h @@ -53,6 +53,8 @@ class FixAtomSwap : public Fix { class Region *region; // swap region char *idregion; // swap region id + int mc_active; // 1 during MC trials, otherwise 0 + int nswaptypes, nmutypes; int *type_list; double *mu; From 4bf9024c1705f18c6293339a893a1cb77df0d95d Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 13 Feb 2023 16:27:37 -0700 Subject: [PATCH 101/448] tweak comments --- src/MDI/fix_mdi_qm.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/MDI/fix_mdi_qm.cpp b/src/MDI/fix_mdi_qm.cpp index 3525927fd0..4e548a00f6 100644 --- a/src/MDI/fix_mdi_qm.cpp +++ b/src/MDI/fix_mdi_qm.cpp @@ -345,7 +345,7 @@ void FixMDIQM::init() int new_system = 0; - // check if quantum atom count has changed + // check if count of QM atoms has changed // on first run, old count is 0 int nqm_old = nqm; @@ -398,7 +398,7 @@ void FixMDIQM::init() } } - // new system, so send setup info to MDI engine + // if new system, send setup info to MDI engine // values that often won't change for AIMD simulations // if not sending elements or types, assume engine initialized itself From 4a5d7c671c1ad9fee6ff8f5b9f5cf1441c6f2f82 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Tue, 14 Feb 2023 15:02:12 -0700 Subject: [PATCH 102/448] Switching from new atom style to property/atom --- src/.gitignore | 6 +- src/GRANULAR/atom_vec_sphere_temp.cpp | 173 ------------------ src/GRANULAR/atom_vec_sphere_temp.h | 52 ------ ...flow_sphere_temp.cpp => fix_heat_flow.cpp} | 113 +++++++++++- ...eat_flow_sphere_temp.h => fix_heat_flow.h} | 18 +- src/fix_property_atom.cpp | 111 ++++++++++- src/fix_property_atom.h | 1 + 7 files changed, 226 insertions(+), 248 deletions(-) delete mode 100644 src/GRANULAR/atom_vec_sphere_temp.cpp delete mode 100644 src/GRANULAR/atom_vec_sphere_temp.h rename src/GRANULAR/{fix_heat_flow_sphere_temp.cpp => fix_heat_flow.cpp} (58%) rename src/GRANULAR/{fix_heat_flow_sphere_temp.h => fix_heat_flow.h} (69%) diff --git a/src/.gitignore b/src/.gitignore index fe31736776..bead2e87e5 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -464,8 +464,6 @@ /atom_vec_oxdna.h /atom_vec_peri.cpp /atom_vec_peri.h -/atom_vec_sphere_temp.cpp -/atom_vec_sphere_temp.h /atom_vec_template.cpp /atom_vec_template.h /body_nparticle.cpp @@ -1557,8 +1555,8 @@ /fix_srp.h /fix_srp_react.cpp /fix_srp_react.h -/fix_heat_flow_sphere_temp.cpp -/fix_heat_flow_sphere_temp.h +/fix_heat_flow.cpp +/fix_heat_flow.h /fix_tfmc.cpp /fix_tfmc.h /fix_ttm.cpp diff --git a/src/GRANULAR/atom_vec_sphere_temp.cpp b/src/GRANULAR/atom_vec_sphere_temp.cpp deleted file mode 100644 index 283a55e2da..0000000000 --- a/src/GRANULAR/atom_vec_sphere_temp.cpp +++ /dev/null @@ -1,173 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://www.lammps.org/, Sandia National Laboratories - LAMMPS development team: developers@lammps.org - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#include "atom_vec_sphere_temp.h" - -#include "atom.h" -#include "error.h" -#include "fix.h" -#include "fix_adapt.h" -#include "math_const.h" -#include "modify.h" - -using namespace LAMMPS_NS; -using namespace MathConst; - -/* ---------------------------------------------------------------------- */ - -AtomVecSphereTemp::AtomVecSphereTemp(LAMMPS *lmp) : AtomVec(lmp) -{ - mass_type = PER_ATOM; - forceclearflag = 1; - molecular = Atom::ATOMIC; - - atom->sphere_flag = 1; - atom->radius_flag = atom->rmass_flag = atom->omega_flag = atom->torque_flag = 1; - atom->temperature_flag = atom->heatflow_flag = 1; - - // strings with peratom variables to include in each AtomVec method - // strings cannot contain fields in corresponding AtomVec default strings - // order of fields in a string does not matter - // except: fields_data_atom & fields_data_vel must match data file - - fields_grow = {"radius", "rmass", "omega", "torque", "temperature", "heatflow"}; - fields_copy = {"radius", "rmass", "omega", "temperature"}; - fields_comm_vel = {"omega", "temperature"}; - fields_reverse = {"torque", "heatflow"}; - fields_border = {"radius", "rmass", "temperature"}; - fields_border_vel = {"radius", "rmass", "omega", "temperature"}; - fields_exchange = {"radius", "rmass", "omega", "temperature"}; - fields_restart = {"radius", "rmass", "omega", "temperature"}; - fields_create = {"radius", "rmass", "omega", "temperature"}; - fields_data_atom = {"id", "type", "radius", "rmass", "x", "temperature"}; - fields_data_vel = {"id", "v", "omega"}; -} - -/* ---------------------------------------------------------------------- - process sub-style args - optional arg = 0/1 for static/dynamic particle radii -------------------------------------------------------------------------- */ - -void AtomVecSphereTemp::process_args(int narg, char **arg) -{ - if (narg != 0 && narg != 1) error->all(FLERR, "Illegal atom_style sphere command"); - - radvary = 0; - if (narg == 1) { - radvary = utils::numeric(FLERR, arg[0], true, lmp); - if (radvary < 0 || radvary > 1) error->all(FLERR, "Illegal atom_style sphere command"); - } - - // dynamic particle radius and mass must be communicated every step - - if (radvary) { - fields_comm = {"radius", "rmass"}; - fields_comm_vel = {"radius", "rmass", "omega"}; - } - - // delay setting up of fields until now - - setup_fields(); -} - -/* ---------------------------------------------------------------------- */ - -void AtomVecSphereTemp::init() -{ - AtomVec::init(); - - // check if optional radvary setting should have been set to 1 - - for (int i = 0; i < modify->nfix; i++) - if (strcmp(modify->fix[i]->style, "adapt") == 0) { - auto fix = dynamic_cast(modify->fix[i]); - if (fix->diamflag && radvary == 0) - error->all(FLERR, "Fix adapt changes particle radii but atom_style sphere is not dynamic"); - } -} - -/* ---------------------------------------------------------------------- - set local copies of all grow ptrs used by this class, except defaults - needed in replicate when 2 atom classes exist and it calls pack_restart() -------------------------------------------------------------------------- */ - -void AtomVecSphereTemp::grow_pointers() -{ - radius = atom->radius; - rmass = atom->rmass; - omega = atom->omega; - temperature = atom->temperature; - heatflow = atom->heatflow; -} - -/* ---------------------------------------------------------------------- - clear extra forces starting at atom N - nbytes = # of bytes to clear for a per-atom vector -------------------------------------------------------------------------- */ - -void AtomVecSphereTemp::force_clear(int n, size_t nbytes) -{ - memset(&heatflow[n], 0, nbytes); -} - -/* ---------------------------------------------------------------------- - initialize non-zero atom quantities -------------------------------------------------------------------------- */ - -void AtomVecSphereTemp::create_atom_post(int ilocal) -{ - radius[ilocal] = 0.5; - rmass[ilocal] = 4.0 * MY_PI / 3.0 * 0.5 * 0.5 * 0.5; -} - -/* ---------------------------------------------------------------------- - modify what AtomVec::data_atom() just unpacked - or initialize other atom quantities -------------------------------------------------------------------------- */ - -void AtomVecSphereTemp::data_atom_post(int ilocal) -{ - radius_one = 0.5 * atom->radius[ilocal]; - radius[ilocal] = radius_one; - if (radius_one > 0.0) rmass[ilocal] *= 4.0 * MY_PI / 3.0 * radius_one * radius_one * radius_one; - - if (rmass[ilocal] <= 0.0) error->one(FLERR, "Invalid density in Atoms section of data file"); - - omega[ilocal][0] = 0.0; - omega[ilocal][1] = 0.0; - omega[ilocal][2] = 0.0; -} - -/* ---------------------------------------------------------------------- - modify values for AtomVec::pack_data() to pack -------------------------------------------------------------------------- */ - -void AtomVecSphereTemp::pack_data_pre(int ilocal) -{ - radius_one = radius[ilocal]; - rmass_one = rmass[ilocal]; - - radius[ilocal] *= 2.0; - if (radius_one != 0.0) - rmass[ilocal] = rmass_one / (4.0 * MY_PI / 3.0 * radius_one * radius_one * radius_one); -} - -/* ---------------------------------------------------------------------- - unmodify values packed by AtomVec::pack_data() -------------------------------------------------------------------------- */ - -void AtomVecSphereTemp::pack_data_post(int ilocal) -{ - radius[ilocal] = radius_one; - rmass[ilocal] = rmass_one; -} diff --git a/src/GRANULAR/atom_vec_sphere_temp.h b/src/GRANULAR/atom_vec_sphere_temp.h deleted file mode 100644 index de6d5266a5..0000000000 --- a/src/GRANULAR/atom_vec_sphere_temp.h +++ /dev/null @@ -1,52 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - https://www.lammps.org/, Sandia National Laboratories - LAMMPS development team: developers@lammps.org - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef ATOM_CLASS -// clang-format off -AtomStyle(sphere/temp,AtomVecSphereTemp); -// clang-format on -#else - -#ifndef LMP_ATOM_VEC_SPHERE_TEMP_H -#define LMP_ATOM_VEC_SPHERE_TEMP_H - -#include "atom_vec.h" - -namespace LAMMPS_NS { - -class AtomVecSphereTemp : public AtomVec { - public: - AtomVecSphereTemp(class LAMMPS *); - void process_args(int, char **) override; - void init() override; - - void grow_pointers() override; - void force_clear(int, size_t) override; - void create_atom_post(int) override; - void data_atom_post(int) override; - void pack_data_pre(int) override; - void pack_data_post(int) override; - - private: - double *radius, *rmass; - double **omega; - double *temperature, *heatflow; - - int radvary; - double radius_one, rmass_one; -}; - -} // namespace LAMMPS_NS - -#endif -#endif diff --git a/src/GRANULAR/fix_heat_flow_sphere_temp.cpp b/src/GRANULAR/fix_heat_flow.cpp similarity index 58% rename from src/GRANULAR/fix_heat_flow_sphere_temp.cpp rename to src/GRANULAR/fix_heat_flow.cpp index fe7fc49324..d62f914577 100644 --- a/src/GRANULAR/fix_heat_flow_sphere_temp.cpp +++ b/src/GRANULAR/fix_heat_flow.cpp @@ -12,12 +12,14 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "fix_heat_flow_sphere_temp.h" +#include "fix_heat_flow.h" #include "atom.h" +#include "comm.h" #include "error.h" #include "force.h" #include "memory.h" +#include "modify.h" #include "respa.h" #include "update.h" @@ -28,12 +30,14 @@ enum {NONE, CONSTANT, TYPE}; /* ---------------------------------------------------------------------- */ -FixHeatFlowSphereTemp::FixHeatFlowSphereTemp(LAMMPS *lmp, int narg, char **arg) : +FixHeatFlow::FixHeatFlow(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { if (narg < 4) error->all(FLERR,"Illegal fix command"); cp_style = NONE; + comm_forward = 1; + comm_reverse = 1; int ntypes = atom->ntypes; if (strcmp(arg[3],"constant") == 0) { @@ -60,7 +64,7 @@ FixHeatFlowSphereTemp::FixHeatFlowSphereTemp(LAMMPS *lmp, int narg, char **arg) /* ---------------------------------------------------------------------- */ -int FixHeatFlowSphereTemp::setmask() +int FixHeatFlow::setmask() { int mask = 0; mask |= FINAL_INTEGRATE; @@ -70,7 +74,7 @@ int FixHeatFlowSphereTemp::setmask() /* ---------------------------------------------------------------------- */ -void FixHeatFlowSphereTemp::init() +void FixHeatFlow::init() { dt = update->dt; @@ -82,7 +86,26 @@ void FixHeatFlowSphereTemp::init() /* ---------------------------------------------------------------------- */ -void FixHeatFlowSphereTemp::final_integrate() +void FixHeatFlow::setup(int /*vflag*/) +{ + // Identify whether this is the first/last instance of fix heat/flow + first_flag = 0; + last_flag = 0; + + int i = 0; + auto fixlist = modify->get_fix_by_style("heat/flow"); + for (const auto &ifix : fixlist) { + if (strcmp(ifix->id, id) == 0) break; + i++; + } + + if (i == 0) first_flag = 1; + if ((i + 1) == fixlist.size()) last_flag = 1; +} + +/* ---------------------------------------------------------------------- */ + +void FixHeatFlow::final_integrate() { // update temperature of atoms in group @@ -95,6 +118,10 @@ void FixHeatFlowSphereTemp::final_integrate() int nlocal = atom->nlocal; if (igroup == atom->firstgroup) nlocal = atom->nfirst; + // add ghost contributions to heatflow if first instance of fix + if (first_flag) + comm->reverse_comm(this); + if (rmass) { for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { @@ -106,11 +133,18 @@ void FixHeatFlowSphereTemp::final_integrate() temperature[i] += dt * heatflow[i] / (calc_cp(i) * mass[type[i]]); } } + + // send updated temperatures to ghosts if last instance of fix + // then clear heatflow for next force calculation + if (last_flag) { + comm->forward_comm(this); + for (int i = 0; i < atom->nmax; i++) heatflow[i] = 0.0; + } } /* ---------------------------------------------------------------------- */ -void FixHeatFlowSphereTemp::final_integrate_respa(int ilevel, int /*iloop*/) +void FixHeatFlow::final_integrate_respa(int ilevel, int /*iloop*/) { dt = update->dt; final_integrate(); @@ -118,14 +152,14 @@ void FixHeatFlowSphereTemp::final_integrate_respa(int ilevel, int /*iloop*/) /* ---------------------------------------------------------------------- */ -void FixHeatFlowSphereTemp::reset_dt() +void FixHeatFlow::reset_dt() { dt = update->dt; } /* ---------------------------------------------------------------------- */ -double FixHeatFlowSphereTemp::calc_cp(int i) +double FixHeatFlow::calc_cp(int i) { if (cp_style == TYPE) { return cp_type[atom->type[i]]; @@ -133,3 +167,66 @@ double FixHeatFlowSphereTemp::calc_cp(int i) return cp; } } + +/* ---------------------------------------------------------------------- */ + +int FixHeatFlow::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/) +{ + int i, j, m; + + double *temperature = atom->temperature; + + m = 0; + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = temperature[j]; + } + + return m; +} + +/* ---------------------------------------------------------------------- */ + +void FixHeatFlow::unpack_forward_comm(int n, int first, double *buf) +{ + int i, m, last; + + m = 0; + last = first + n; + + double *temperature = atom->temperature; + + for (i = first; i < last; i++) temperature[i] = buf[m++]; +} + +/* ---------------------------------------------------------------------- */ + +int FixHeatFlow::pack_reverse_comm(int n, int first, double *buf) +{ + int i,k,last; + + int m = 0; + last = first + n; + double *heatflow = atom->heatflow; + + for (i = first; i < last; i++) { + buf[m++] = heatflow[i]; + } + + return m; +} + +/* ---------------------------------------------------------------------- */ + +void FixHeatFlow::unpack_reverse_comm(int n, int *list, double *buf) +{ + int i,j,k,kk,ncount; + + int m = 0; + double *heatflow = atom->heatflow; + + for (i = 0; i < n; i++) { + j = list[i]; + heatflow[j] += buf[m++]; + } +} diff --git a/src/GRANULAR/fix_heat_flow_sphere_temp.h b/src/GRANULAR/fix_heat_flow.h similarity index 69% rename from src/GRANULAR/fix_heat_flow_sphere_temp.h rename to src/GRANULAR/fix_heat_flow.h index 6bc2d50373..2d311d0104 100644 --- a/src/GRANULAR/fix_heat_flow_sphere_temp.h +++ b/src/GRANULAR/fix_heat_flow.h @@ -13,33 +13,37 @@ #ifdef FIX_CLASS // clang-format off -FixStyle(heat/flow/sphere/temp,FixHeatFlowSphereTemp); +FixStyle(heat/flow,FixHeatFlow); // clang-format on #else -#ifndef LMP_FIX_HEAT_FLOW_SPHERE_TEMP_H -#define LMP_FIX_HEAT_FLOW_SPHERE_TEMP_H +#ifndef LMP_FIX_HEAT_FLOW_H +#define LMP_FIX_HEAT_FLOW_H #include "fix.h" namespace LAMMPS_NS { -class FixHeatFlowSphereTemp : public Fix { +class FixHeatFlow : public Fix { public: - FixHeatFlowSphereTemp(class LAMMPS *, int, char **); + FixHeatFlow(class LAMMPS *, int, char **); int setmask() override; void init() override; + void setup(int) override; void final_integrate() override; void final_integrate_respa(int, int) override; + int pack_forward_comm(int, int *, double *, int, int *) override; + void unpack_forward_comm(int, int, double *) override; + int pack_reverse_comm(int, int, double *) override; + void unpack_reverse_comm(int, int *, double *) override; void reset_dt() override; protected: double dt; double cp, *cp_type; int cp_style; - - int mass_require; + int first_flag, last_flag; double calc_cp(int); }; diff --git a/src/fix_property_atom.cpp b/src/fix_property_atom.cpp index 95e25c59b2..4b43feca74 100644 --- a/src/fix_property_atom.cpp +++ b/src/fix_property_atom.cpp @@ -25,7 +25,7 @@ using namespace LAMMPS_NS; using namespace FixConst; -enum { MOLECULE, CHARGE, RMASS, IVEC, DVEC, IARRAY, DARRAY }; +enum { MOLECULE, CHARGE, RMASS, TEMPERATURE, HEATFLOW, IVEC, DVEC, IARRAY, DARRAY }; /* ---------------------------------------------------------------------- */ @@ -46,6 +46,8 @@ FixPropertyAtom::FixPropertyAtom(LAMMPS *lmp, int narg, char **arg) : molecule_flag = 0; q_flag = 0; rmass_flag = 0; + temperature_flag = 0; + heatflow_flag = 0; nvalue = 0; values_peratom = 0; @@ -81,6 +83,26 @@ FixPropertyAtom::FixPropertyAtom(LAMMPS *lmp, int narg, char **arg) : values_peratom++; nvalue++; iarg++; + } else if (strcmp(arg[iarg], "temperature") == 0) { + if (atom->temperature_flag) + error->all(FLERR, "Fix property/atom temperature when atom_style already has temperature attribute"); + if (temperature_flag) error->all(FLERR, "Fix property/atom cannot specify temperature twice"); + styles[nvalue] = TEMPERATURE; + cols[nvalue] = 0; + atom->temperature_flag = temperature_flag = 1; + values_peratom++; + nvalue++; + iarg++; + } else if (strcmp(arg[iarg], "heatflow") == 0) { + if (atom->heatflow_flag) + error->all(FLERR, "Fix property/atom heatflow when atom_style already has heatflow attribute"); + if (heatflow_flag) error->all(FLERR, "Fix property/atom cannot specify heatflow twice"); + styles[nvalue] = HEATFLOW; + cols[nvalue] = 0; + atom->heatflow_flag = heatflow_flag = 1; + values_peratom++; + nvalue++; + iarg++; // custom atom vector @@ -163,14 +185,15 @@ FixPropertyAtom::FixPropertyAtom(LAMMPS *lmp, int narg, char **arg) : if (border) comm_border = values_peratom; - // warn if mol or charge keyword used without ghost yes + // warn if mol, charge, rmass, temperature, or heatflow keyword used without ghost yes if (border == 0) { int flag = 0; for (int i = 0; i < nvalue; i++) - if (styles[i] == MOLECULE || styles[i] == CHARGE || styles[i] == RMASS) flag = 1; + if (styles[i] == MOLECULE || styles[i] == CHARGE || styles[i] == RMASS || + styles[i] == TEMPERATURE || styles[i] == HEATFLOW) flag = 1; if (flag && comm->me == 0) - error->warning(FLERR, "Fix property/atom mol or charge or rmass w/out ghost communication"); + error->warning(FLERR, "Fix property/atom mol, charge, rmass, temperature, or heatflow w/out ghost communication"); } // store current atom style @@ -213,6 +236,14 @@ FixPropertyAtom::~FixPropertyAtom() atom->rmass_flag = 0; memory->destroy(atom->rmass); atom->rmass = nullptr; + } else if (styles[nv] == TEMPERATURE) { + atom->temperature_flag = 0; + memory->destroy(atom->temperature); + atom->temperature = nullptr; + } else if (styles[nv] == HEATFLOW) { + atom->heatflow_flag = 0; + memory->destroy(atom->heatflow); + atom->heatflow = nullptr; } else if (styles[nv] == IVEC) { atom->remove_custom(index[nv], 0, cols[nv]); } else if (styles[nv] == DVEC) { @@ -298,6 +329,10 @@ void FixPropertyAtom::read_data_section(char *keyword, int n, char *buf, tagint atom->q[m] = values.next_double(); } else if (styles[j] == RMASS) { atom->rmass[m] = values.next_double(); + } else if (styles[j] == TEMPERATURE) { + atom->temperature[m] = values.next_double(); + } else if (styles[j] == HEATFLOW) { + atom->heatflow[m] = values.next_double(); } else if (styles[j] == IVEC) { atom->ivector[index[j]][m] = values.next_int(); } else if (styles[j] == DVEC) { @@ -377,6 +412,14 @@ void FixPropertyAtom::write_data_section_pack(int /*mth*/, double **buf) double *rmass = atom->rmass; for (i = 0; i < nlocal; i++) buf[i][icol] = rmass[i]; icol++; + } else if (styles[nv] == TEMPERATURE) { + double *temperature = atom->temperature; + for (i = 0; i < nlocal; i++) buf[i][icol] = temperature[i]; + icol++; + } else if (styles[nv] == HEATFLOW) { + double *heatflow = atom->heatflow; + for (i = 0; i < nlocal; i++) buf[i][icol] = heatflow[i]; + icol++; } else if (styles[nv] == IVEC) { int *ivec = atom->ivector[index[nv]]; for (i = 0; i < nlocal; i++) buf[i][icol] = ubuf(ivec[i]).d; @@ -424,6 +467,10 @@ void FixPropertyAtom::write_data_section_keyword(int /*mth*/, FILE *fp) fputs(" q", fp); else if (styles[i] == RMASS) fputs(" rmass", fp); + else if (styles[i] == TEMPERATURE) + fputs(" temperature", fp); + else if (styles[i] == HEATFLOW) + fputs(" heatflow", fp); else if (styles[i] == IVEC) fprintf(fp, " i_%s", atom->ivname[index[i]]); else if (styles[i] == DVEC) @@ -459,6 +506,10 @@ void FixPropertyAtom::write_data_section(int /*mth*/, FILE *fp, int n, double ** line += fmt::format(" {}", buf[i][icol++]); else if (styles[nv] == RMASS) line += fmt::format(" {}", buf[i][icol++]); + else if (styles[nv] == TEMPERATURE) + line += fmt::format(" {}", buf[i][icol++]); + else if (styles[nv] == HEATFLOW) + line += fmt::format(" {}", buf[i][icol++]); else if (styles[nv] == IVEC) line += fmt::format(" {}", (int) ubuf(buf[i][icol++]).i); else if (styles[nv] == DVEC) @@ -491,6 +542,10 @@ double FixPropertyAtom::memory_usage() bytes = atom->nmax * sizeof(double); else if (styles[m] == RMASS) bytes = atom->nmax * sizeof(double); + else if (styles[m] == TEMPERATURE) + bytes = atom->nmax * sizeof(double); + else if (styles[m] == HEATFLOW) + bytes = atom->nmax * sizeof(double); else if (styles[m] == IVEC) bytes = atom->nmax * sizeof(int); else if (styles[m] == DVEC) @@ -525,6 +580,14 @@ void FixPropertyAtom::grow_arrays(int nmax) memory->grow(atom->rmass, nmax, "atom:rmass"); size_t nbytes = (nmax - nmax_old) * sizeof(double); memset(&atom->rmass[nmax_old], 0, nbytes); + } else if (styles[nv] == TEMPERATURE) { + memory->grow(atom->temperature, nmax, "atom:temperature"); + size_t nbytes = (nmax - nmax_old) * sizeof(double); + memset(&atom->temperature[nmax_old], 0, nbytes); + } else if (styles[nv] == HEATFLOW) { + memory->grow(atom->heatflow, nmax, "atom:heatflow"); + size_t nbytes = (nmax - nmax_old) * sizeof(double); + memset(&atom->heatflow[nmax_old], 0, nbytes); } else if (styles[nv] == IVEC) { memory->grow(atom->ivector[index[nv]], nmax, "atom:ivector"); size_t nbytes = (nmax - nmax_old) * sizeof(int); @@ -562,6 +625,10 @@ void FixPropertyAtom::copy_arrays(int i, int j, int /*delflag*/) atom->q[j] = atom->q[i]; else if (styles[nv] == RMASS) atom->rmass[j] = atom->rmass[i]; + else if (styles[nv] == TEMPERATURE) + atom->temperature[j] = atom->temperature[i]; + else if (styles[nv] == HEATFLOW) + atom->heatflow[j] = atom->heatflow[i]; else if (styles[nv] == IVEC) atom->ivector[index[nv]][j] = atom->ivector[index[nv]][i]; else if (styles[nv] == DVEC) @@ -604,6 +671,18 @@ int FixPropertyAtom::pack_border(int n, int *list, double *buf) j = list[i]; buf[m++] = rmass[j]; } + } else if (styles[nv] == TEMPERATURE) { + double *temperature = atom->temperature; + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = temperature[j]; + } + } else if (styles[nv] == HEATFLOW) { + double *heatflow = atom->heatflow; + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = heatflow[j]; + } } else if (styles[nv] == IVEC) { int *ivector = atom->ivector[index[nv]]; for (i = 0; i < n; i++) { @@ -658,6 +737,14 @@ int FixPropertyAtom::unpack_border(int n, int first, double *buf) double *rmass = atom->rmass; last = first + n; for (i = first; i < last; i++) rmass[i] = buf[m++]; + } else if (styles[nv] == TEMPERATURE) { + double *temperature = atom->temperature; + last = first + n; + for (i = first; i < last; i++) temperature[i] = buf[m++]; + } else if (styles[nv] == HEATFLOW) { + double *heatflow = atom->heatflow; + last = first + n; + for (i = first; i < last; i++) heatflow[i] = buf[m++]; } else if (styles[nv] == IVEC) { int *ivector = atom->ivector[index[nv]]; last = first + n; @@ -700,6 +787,10 @@ int FixPropertyAtom::pack_exchange(int i, double *buf) buf[m++] = atom->q[i]; else if (styles[nv] == RMASS) buf[m++] = atom->rmass[i]; + else if (styles[nv] == TEMPERATURE) + buf[m++] = atom->temperature[i]; + else if (styles[nv] == HEATFLOW) + buf[m++] = atom->heatflow[i]; else if (styles[nv] == IVEC) buf[m++] = ubuf(atom->ivector[index[nv]][i]).d; else if (styles[nv] == DVEC) @@ -732,6 +823,10 @@ int FixPropertyAtom::unpack_exchange(int nlocal, double *buf) atom->q[nlocal] = buf[m++]; else if (styles[nv] == RMASS) atom->rmass[nlocal] = buf[m++]; + else if (styles[nv] == TEMPERATURE) + atom->temperature[nlocal] = buf[m++]; + else if (styles[nv] == HEATFLOW) + atom->heatflow[nlocal] = buf[m++]; else if (styles[nv] == IVEC) atom->ivector[index[nv]][nlocal] = (int) ubuf(buf[m++]).i; else if (styles[nv] == DVEC) @@ -768,6 +863,10 @@ int FixPropertyAtom::pack_restart(int i, double *buf) buf[m++] = atom->q[i]; else if (styles[nv] == RMASS) buf[m++] = atom->rmass[i]; + else if (styles[nv] == TEMPERATURE) + buf[m++] = atom->temperature[i]; + else if (styles[nv] == HEATFLOW) + buf[m++] = atom->heatflow[i]; else if (styles[nv] == IVEC) buf[m++] = ubuf(atom->ivector[index[nv]][i]).d; else if (styles[nv] == DVEC) @@ -807,6 +906,10 @@ void FixPropertyAtom::unpack_restart(int nlocal, int nth) atom->q[nlocal] = extra[nlocal][m++]; else if (styles[nv] == RMASS) atom->rmass[nlocal] = extra[nlocal][m++]; + else if (styles[nv] == TEMPERATURE) + atom->temperature[nlocal] = extra[nlocal][m++]; + else if (styles[nv] == HEATFLOW) + atom->heatflow[nlocal] = extra[nlocal][m++]; else if (styles[nv] == IVEC) atom->ivector[index[nv]][nlocal] = (int) ubuf(extra[nlocal][m++]).i; else if (styles[nv] == DVEC) diff --git a/src/fix_property_atom.h b/src/fix_property_atom.h index 18a4b61529..7d9f50b75e 100644 --- a/src/fix_property_atom.h +++ b/src/fix_property_atom.h @@ -54,6 +54,7 @@ class FixPropertyAtom : public Fix { protected: int nvalue, border; int molecule_flag, q_flag, rmass_flag; // flags for specific fields + int temperature_flag, heatflow_flag; int *styles; // style of each value, see enum int *index; // indices into atom custom data structs int *cols; // columns per value, for arrays From 329dbd04852281640f8ec5b1e1251da83c40a490 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Wed, 15 Feb 2023 11:00:19 -0700 Subject: [PATCH 103/448] Updating doc/examples, moving forward comm to pre_force --- doc/src/Commands_fix.rst | 2 +- doc/src/Howto_granular.rst | 7 ++-- doc/src/atom_style.rst | 14 ++++---- doc/src/fix.rst | 2 +- ...flow_sphere_temp.rst => fix_heat_flow.rst} | 16 ++++----- doc/src/fix_wall_gran.rst | 7 ++-- doc/src/fix_wall_gran_region.rst | 7 ++-- doc/src/pair_granular.rst | 6 ++-- doc/src/set.rst | 9 ++--- examples/granular/in.pour.heat | 13 +++---- examples/granular/log.15Sep22.pour.heat.g++.1 | 36 ++++++++++--------- examples/granular/log.15Sep22.pour.heat.g++.4 | 36 ++++++++++--------- src/GRANULAR/fix_heat_flow.cpp | 32 +++++++++++------ src/GRANULAR/fix_heat_flow.h | 4 ++- 14 files changed, 106 insertions(+), 85 deletions(-) rename doc/src/{fix_heat_flow_sphere_temp.rst => fix_heat_flow.rst} (80%) diff --git a/doc/src/Commands_fix.rst b/doc/src/Commands_fix.rst index 714485983d..1552861129 100644 --- a/doc/src/Commands_fix.rst +++ b/doc/src/Commands_fix.rst @@ -92,7 +92,7 @@ OPT. * :doc:`grem ` * :doc:`halt ` * :doc:`heat ` - * :doc:`heat/flow/sphere/temp ` + * :doc:`heat/flow ` * :doc:`hyper/global ` * :doc:`hyper/local ` * :doc:`imd ` diff --git a/doc/src/Howto_granular.rst b/doc/src/Howto_granular.rst index 6a2346746b..c22cab66bc 100644 --- a/doc/src/Howto_granular.rst +++ b/doc/src/Howto_granular.rst @@ -43,10 +43,11 @@ The fix style *freeze* zeroes both the force and torque of frozen atoms, and should be used for granular system instead of the fix style *setforce*\ . -To model heat conduction, one must use the atom style: -* :doc:`atom_style sphere/temp ` +To model heat conduction, one must add the temperature and heatflow +atom variables with: +* :doc:`fix property/atom ` a temperature integration fix -* :doc:`fix heat/flow/sphere/temp ` +* :doc:`fix heat/flow ` and a heat conduction option defined in both * :doc:`pair_style granular ` * :doc:`fix wall/gran ` diff --git a/doc/src/atom_style.rst b/doc/src/atom_style.rst index bd8843fd2c..2131cd12b2 100644 --- a/doc/src/atom_style.rst +++ b/doc/src/atom_style.rst @@ -123,8 +123,6 @@ quantities. +--------------+-----------------------------------------------------+--------------------------------------+ | *sphere* | diameter, mass, angular velocity | granular models | +--------------+-----------------------------------------------------+--------------------------------------+ -| *sphere/temp*| diameter, mass, angular velocity, temperature | thermal granular models | -+--------------+-----------------------------------------------------+--------------------------------------+ | *bpm/sphere* | diameter, mass, angular velocity, quaternion | granular bonded particle models (BPM)| +--------------+-----------------------------------------------------+--------------------------------------+ | *spin* | magnetic moment | system with magnetic particles | @@ -150,7 +148,7 @@ quantities. custom values. All of the above styles define point particles, except the *sphere*, -*sphere/temp*, *bpm/sphere*, *ellipsoid*, *electron*, *peri*, *wavepacket*, *line*, +*bpm/sphere*, *ellipsoid*, *electron*, *peri*, *wavepacket*, *line*, *tri*, and *body* styles, which define finite-size particles. See the :doc:`Howto spherical ` page for an overview of using finite-size particle models with LAMMPS. @@ -160,11 +158,11 @@ per-type basis, using the :doc:`mass ` command, The finite-size particle styles assign mass to individual particles on a per-particle basis. -For the *sphere*, *sphere/temp*, and *bpm/sphere* styles, the particles -are spheres and each stores a per-particle diameter and mass. If the -diameter > 0.0, the particle is a finite-size sphere. If the diameter -= 0.0, it is a point particle. Note that by use of the *disc* keyword -with the :doc:`fix nve/sphere `, :doc:`fix nvt/sphere +For the *sphere* and *bpm/sphere* styles, the particles are spheres +and each stores a per-particle diameter and mass. If the diameter > +0.0, the particle is a finite-size sphere. If the diameter = 0.0, it +is a point particle. Note that by use of the *disc* keyword with the +:doc:`fix nve/sphere `, :doc:`fix nvt/sphere `, :doc:`fix nph/sphere `, :doc:`fix npt/sphere ` commands for the *sphere* style, spheres can be effectively treated as 2d discs for a 2d simulation if diff --git a/doc/src/fix.rst b/doc/src/fix.rst index d524b06551..ed8349c953 100644 --- a/doc/src/fix.rst +++ b/doc/src/fix.rst @@ -244,7 +244,7 @@ accelerated styles exist. * :doc:`grem ` - implements the generalized replica exchange method * :doc:`halt ` - terminate a dynamics run or minimization * :doc:`heat ` - add/subtract momentum-conserving heat -* :doc:`heat/flow/sphere/temp ` - plain time integration of heat flow with per-atom temperature updates +* :doc:`heat/flow ` - plain time integration of heat flow with per-atom temperature updates * :doc:`hyper/global ` - global hyperdynamics * :doc:`hyper/local ` - local hyperdynamics * :doc:`imd ` - implements the "Interactive MD" (IMD) protocol diff --git a/doc/src/fix_heat_flow_sphere_temp.rst b/doc/src/fix_heat_flow.rst similarity index 80% rename from doc/src/fix_heat_flow_sphere_temp.rst rename to doc/src/fix_heat_flow.rst index c604b041ad..ee73d7d4f2 100644 --- a/doc/src/fix_heat_flow_sphere_temp.rst +++ b/doc/src/fix_heat_flow.rst @@ -1,6 +1,6 @@ -.. index:: fix heat/flow/sphere/temp +.. index:: fix heat/flow -fix heat/flow/sphere/temp command +fix heat/flow command ========================== Syntax @@ -8,10 +8,10 @@ Syntax .. parsed-literal:: - fix ID group-ID heat/flow/sphere/temp style values ... + fix ID group-ID heat/flow style values ... * ID, group-ID are documented in :doc:`fix ` command -* heat/flow/sphere/temp = style name of this fix command +* heat/flow = style name of this fix command * one style with corresponding value(s) needs to be listed .. parsed-literal:: @@ -29,8 +29,8 @@ Examples .. code-block:: LAMMPS - fix 1 all heat/flow/sphere/temp constant 1.0 - fix 1 all heat/flow/sphere/temp type 1.0 0.5 + fix 1 all heat/flow constant 1.0 + fix 1 all heat/flow type 1.0 0.5 Description """"""""""" @@ -57,12 +57,12 @@ Restrictions """""""""""" This fix requires that atoms store temperature and heat flow -as defined by the :doc:`atom_style sphere/temp ` command. +as defined by the :doc:`fix property/atom ` command. Related commands """""""""""""""" -:doc:`pair granular ` +:doc:`pair granular `, :doc:`fix property/atom ` Default """"""" diff --git a/doc/src/fix_wall_gran.rst b/doc/src/fix_wall_gran.rst index 0cc4798dd2..0006e1750b 100644 --- a/doc/src/fix_wall_gran.rst +++ b/doc/src/fix_wall_gran.rst @@ -185,9 +185,10 @@ The following value can either be a numeric value or an equal-style specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the temperature. This option must be used in conjunction with a heat -conduction model defined in :doc:`pair_style granular ` -and a compatible atom style which stores temperature and a heat flow -as defined by the :doc:`atom_style sphere/temp ` command. +conduction model defined in :doc:`pair_style granular `, +:doc:`fix property/atom ` to store temperature and a +heat flow, and :doc:`fix heat/flow ` to integrate heat +flow. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" diff --git a/doc/src/fix_wall_gran_region.rst b/doc/src/fix_wall_gran_region.rst index 73a2e9c973..94edebbcf1 100644 --- a/doc/src/fix_wall_gran_region.rst +++ b/doc/src/fix_wall_gran_region.rst @@ -208,9 +208,10 @@ The following value can either be a numeric value or an equal-style specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the temperature. This option must be used in conjunction with a heat -conduction model defined in :doc:`pair_style granular ` -and a compatible atom style which stores temperature and a heat flow -as defined by the :doc:`atom_style sphere/temp ` command. +conduction model defined in :doc:`pair_style granular `, +:doc:`fix property/atom ` to store temperature and a +heat flow, and :doc:`fix heat/flow ` to integrate heat +flow. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" diff --git a/doc/src/pair_granular.rst b/doc/src/pair_granular.rst index 491061b5fb..0911a3486a 100644 --- a/doc/src/pair_granular.rst +++ b/doc/src/pair_granular.rst @@ -659,9 +659,9 @@ where :math:`\Delta T` is the difference in the two particles' temperature, :math:`a` is the area of the contact and depends on the normal force model. Note that the option *none* must either be used in all or none of of the -*pair_coeff* calls. See -:doc:`fix heat/flow/sphere/temp ` for more -information on this option. +*pair_coeff* calls. See :doc:`fix heat/flow ` and +:doc:`fix property/atom ` for more information on this +option. ---------- diff --git a/doc/src/set.rst b/doc/src/set.rst index 5563d3199c..6add1de9f3 100644 --- a/doc/src/set.rst +++ b/doc/src/set.rst @@ -431,10 +431,11 @@ assumed to be in mass/distance\^2 units). If none of these cases are valid, then the mass is set to the density value directly (the input density is assumed to be in mass units). -Keyword *temperature* sets the temperature of a finite-size particle -as defined by the GRANULAR package. Currently, only -:doc:`atom_style sphere/temperature ` defines particles -with this attribute. The values for the temperature must be positive. +Keyword *temperature* sets the temperature of a finite-size particle. +Currently, only the GRANULAR package supports this attribute. The +temperature must be added using an instance of +:doc:`fix property/atom ` The values for the +temperature must be positive. Keyword *volume* sets the volume of all selected particles. Currently, only the :doc:`atom_style peri ` command defines particles diff --git a/examples/granular/in.pour.heat b/examples/granular/in.pour.heat index 69590389b5..f3bf9bcccc 100644 --- a/examples/granular/in.pour.heat +++ b/examples/granular/in.pour.heat @@ -3,7 +3,7 @@ variable name string heat_plate -atom_style sphere/temp +atom_style sphere units lj ############################################### @@ -49,9 +49,10 @@ region bottom_wall plane ${xc} ${yc} 0 0 0 1 side in region insreg cylinder z ${xc} ${yc} ${cyl_rad_inner} ${drum_height} ${boxz} -fix 0 all balance 100 1.0 shift xy 5 1.1 -fix 1 all nve/sphere -fix 2 all heat/flow/sphere/temp constant 1.0 +fix 0 all property/atom temperature heatflow +fix 1 all balance 100 1.0 shift xy 5 1.1 +fix 2 all nve/sphere +fix 3 all heat/flow constant 1.0 fix grav all gravity 10 vector 0 0 -1 fix ins1 all pour 1000 1 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens} fix ins2 all pour 1000 2 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens} @@ -63,8 +64,8 @@ neigh_modify delay 0 every 1 check yes variable oscillate equal 1.0*sin(step*0.0001) -fix 3 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region curved_wall -fix 4 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji heat area 5.0 region bottom_wall temperature v_oscillate +fix 4 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region curved_wall +fix 5 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji heat area 5.0 region bottom_wall temperature v_oscillate thermo_style custom step atoms ke pxx pyy pzz thermo_modify lost warn diff --git a/examples/granular/log.15Sep22.pour.heat.g++.1 b/examples/granular/log.15Sep22.pour.heat.g++.1 index d232752c74..24c128c0a6 100644 --- a/examples/granular/log.15Sep22.pour.heat.g++.1 +++ b/examples/granular/log.15Sep22.pour.heat.g++.1 @@ -1,10 +1,10 @@ -LAMMPS (15 Sep 2022) +LAMMPS (22 Dec 2022) # pour one types of particles into cylinder and oscillate # temperature of the bottom plate variable name string heat_plate -atom_style sphere/temp +atom_style sphere units lj ############################################### @@ -76,9 +76,11 @@ region insreg cylinder z 5 5 4.45 ${drum_height} ${boxz} region insreg cylinder z 5 5 4.45 30 ${boxz} region insreg cylinder z 5 5 4.45 30 50 -fix 0 all balance 100 1.0 shift xy 5 1.1 -fix 1 all nve/sphere -fix 2 all heat/flow/sphere/temp constant 1.0 +fix 0 all property/atom temperature heatflow +WARNING: Fix property/atom mol, charge, rmass, temperature, or heatflow w/out ghost communication (../fix_property_atom.cpp:196) +fix 1 all balance 100 1.0 shift xy 5 1.1 +fix 2 all nve/sphere +fix 3 all heat/flow constant 1.0 fix grav all gravity 10 vector 0 0 -1 fix ins1 all pour 1000 1 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens} fix ins1 all pour 1000 1 1234 region insreg diam range 0.5 ${dhi} dens ${dens} ${dens} @@ -101,8 +103,8 @@ neigh_modify delay 0 every 1 check yes variable oscillate equal 1.0*sin(step*0.0001) -fix 3 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region curved_wall -fix 4 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji heat area 5.0 region bottom_wall temperature v_oscillate +fix 4 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region curved_wall +fix 5 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji heat area 5.0 region bottom_wall temperature v_oscillate thermo_style custom step atoms ke pxx pyy pzz thermo_modify lost warn @@ -1142,20 +1144,20 @@ WARNING: Less insertions than requested (../fix_pour.cpp:681) 99800 2000 -0 7.9486941 7.5271104 6.5519215 99900 2000 -0 7.9486942 7.5271152 6.5519136 100000 2000 -0 7.9486939 7.5271185 6.5519079 -Loop time of 87.7116 on 1 procs for 100000 steps with 2000 atoms +Loop time of 85.1866 on 1 procs for 100000 steps with 2000 atoms -Performance: 98504.589 tau/day, 1140.099 timesteps/s, 2.280 Matom-step/s -99.5% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 101424.442 tau/day, 1173.894 timesteps/s, 2.348 Matom-step/s +99.4% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 66.081 | 66.081 | 66.081 | 0.0 | 75.34 -Neigh | 2.7411 | 2.7411 | 2.7411 | 0.0 | 3.13 -Comm | 1.3393 | 1.3393 | 1.3393 | 0.0 | 1.53 -Output | 0.029473 | 0.029473 | 0.029473 | 0.0 | 0.03 -Modify | 16.598 | 16.598 | 16.598 | 0.0 | 18.92 -Other | | 0.9233 | | | 1.05 +Pair | 63.448 | 63.448 | 63.448 | 0.0 | 74.48 +Neigh | 2.7318 | 2.7318 | 2.7318 | 0.0 | 3.21 +Comm | 1.2139 | 1.2139 | 1.2139 | 0.0 | 1.43 +Output | 0.030165 | 0.030165 | 0.030165 | 0.0 | 0.04 +Modify | 16.878 | 16.878 | 16.878 | 0.0 | 19.81 +Other | | 0.8845 | | | 1.04 Nlocal: 2000 ave 2000 max 2000 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -1169,4 +1171,4 @@ Ave neighs/atom = 4.8175 Neighbor list builds = 3285 Dangerous builds = 0 -Total wall time: 0:01:27 +Total wall time: 0:01:25 diff --git a/examples/granular/log.15Sep22.pour.heat.g++.4 b/examples/granular/log.15Sep22.pour.heat.g++.4 index f159302d65..864a7898c3 100644 --- a/examples/granular/log.15Sep22.pour.heat.g++.4 +++ b/examples/granular/log.15Sep22.pour.heat.g++.4 @@ -1,10 +1,10 @@ -LAMMPS (15 Sep 2022) +LAMMPS (22 Dec 2022) # pour one types of particles into cylinder and oscillate # temperature of the bottom plate variable name string heat_plate -atom_style sphere/temp +atom_style sphere units lj ############################################### @@ -76,9 +76,11 @@ region insreg cylinder z 5 5 4.45 ${drum_height} ${boxz} region insreg cylinder z 5 5 4.45 30 ${boxz} region insreg cylinder z 5 5 4.45 30 50 -fix 0 all balance 100 1.0 shift xy 5 1.1 -fix 1 all nve/sphere -fix 2 all heat/flow/sphere/temp constant 1.0 +fix 0 all property/atom temperature heatflow +WARNING: Fix property/atom mol, charge, rmass, temperature, or heatflow w/out ghost communication (../fix_property_atom.cpp:196) +fix 1 all balance 100 1.0 shift xy 5 1.1 +fix 2 all nve/sphere +fix 3 all heat/flow constant 1.0 fix grav all gravity 10 vector 0 0 -1 fix ins1 all pour 1000 1 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens} fix ins1 all pour 1000 1 1234 region insreg diam range 0.5 ${dhi} dens ${dens} ${dens} @@ -101,8 +103,8 @@ neigh_modify delay 0 every 1 check yes variable oscillate equal 1.0*sin(step*0.0001) -fix 3 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region curved_wall -fix 4 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji heat area 5.0 region bottom_wall temperature v_oscillate +fix 4 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region curved_wall +fix 5 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji heat area 5.0 region bottom_wall temperature v_oscillate thermo_style custom step atoms ke pxx pyy pzz thermo_modify lost warn @@ -1142,20 +1144,20 @@ WARNING: Less insertions than requested (../fix_pour.cpp:681) 99800 2000 -0 7.5931492 7.7670928 6.2908349 99900 2000 -0 7.5931443 7.7670902 6.29084 100000 2000 -0 7.5931395 7.7670875 6.2908449 -Loop time of 28.4684 on 4 procs for 100000 steps with 2000 atoms +Loop time of 29.8443 on 4 procs for 100000 steps with 2000 atoms -Performance: 303494.659 tau/day, 3512.670 timesteps/s, 7.025 Matom-step/s -96.7% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 289502.519 tau/day, 3350.724 timesteps/s, 6.701 Matom-step/s +96.9% CPU use with 4 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 14.471 | 15.426 | 16.874 | 24.3 | 54.19 -Neigh | 0.50185 | 0.52867 | 0.55379 | 3.1 | 1.86 -Comm | 5.277 | 6.8933 | 7.8956 | 40.4 | 24.21 -Output | 0.019683 | 0.022775 | 0.031664 | 3.4 | 0.08 -Modify | 4.7145 | 4.8537 | 5.0111 | 6.1 | 17.05 -Other | | 0.7439 | | | 2.61 +Pair | 14.343 | 15.321 | 16.586 | 22.2 | 51.34 +Neigh | 0.50641 | 0.541 | 0.58175 | 3.8 | 1.81 +Comm | 4.9356 | 6.3418 | 7.3742 | 38.3 | 21.25 +Output | 0.019257 | 0.022039 | 0.029648 | 3.0 | 0.07 +Modify | 6.8727 | 6.9724 | 7.084 | 2.9 | 23.36 +Other | | 0.6461 | | | 2.16 Nlocal: 500 ave 504 max 496 min Histogram: 2 0 0 0 0 0 0 0 0 2 @@ -1169,4 +1171,4 @@ Ave neighs/atom = 4.8195 Neighbor list builds = 3151 Dangerous builds = 0 -Total wall time: 0:00:28 +Total wall time: 0:00:29 diff --git a/src/GRANULAR/fix_heat_flow.cpp b/src/GRANULAR/fix_heat_flow.cpp index d62f914577..f9ad309f98 100644 --- a/src/GRANULAR/fix_heat_flow.cpp +++ b/src/GRANULAR/fix_heat_flow.cpp @@ -67,6 +67,7 @@ FixHeatFlow::FixHeatFlow(LAMMPS *lmp, int narg, char **arg) : int FixHeatFlow::setmask() { int mask = 0; + mask |= PRE_FORCE; mask |= FINAL_INTEGRATE; mask |= FINAL_INTEGRATE_RESPA; return mask; @@ -88,9 +89,8 @@ void FixHeatFlow::init() void FixHeatFlow::setup(int /*vflag*/) { - // Identify whether this is the first/last instance of fix heat/flow + // Identify whether this is the first instance of fix heat/flow first_flag = 0; - last_flag = 0; int i = 0; auto fixlist = modify->get_fix_by_style("heat/flow"); @@ -100,7 +100,26 @@ void FixHeatFlow::setup(int /*vflag*/) } if (i == 0) first_flag = 1; - if ((i + 1) == fixlist.size()) last_flag = 1; +} + +/* ---------------------------------------------------------------------- */ + +void FixHeatFlow::setup_pre_force(int /*vflag*/) +{ + pre_force(0); +} + +/* ---------------------------------------------------------------------- */ + +void FixHeatFlow::pre_force(int /*vflag*/) +{ + // send updated temperatures to ghosts if first instance of fix + // then clear heatflow for next force calculation + double *heatflow = atom->heatflow; + if (first_flag) { + comm->forward_comm(this); + for (int i = 0; i < atom->nmax; i++) heatflow[i] = 0.0; + } } /* ---------------------------------------------------------------------- */ @@ -133,13 +152,6 @@ void FixHeatFlow::final_integrate() temperature[i] += dt * heatflow[i] / (calc_cp(i) * mass[type[i]]); } } - - // send updated temperatures to ghosts if last instance of fix - // then clear heatflow for next force calculation - if (last_flag) { - comm->forward_comm(this); - for (int i = 0; i < atom->nmax; i++) heatflow[i] = 0.0; - } } /* ---------------------------------------------------------------------- */ diff --git a/src/GRANULAR/fix_heat_flow.h b/src/GRANULAR/fix_heat_flow.h index 2d311d0104..5a06eed4d3 100644 --- a/src/GRANULAR/fix_heat_flow.h +++ b/src/GRANULAR/fix_heat_flow.h @@ -31,6 +31,8 @@ class FixHeatFlow : public Fix { int setmask() override; void init() override; void setup(int) override; + void setup_pre_force(int) override; + void pre_force(int) override; void final_integrate() override; void final_integrate_respa(int, int) override; int pack_forward_comm(int, int *, double *, int, int *) override; @@ -43,7 +45,7 @@ class FixHeatFlow : public Fix { double dt; double cp, *cp_type; int cp_style; - int first_flag, last_flag; + int first_flag; double calc_cp(int); }; From bdfc49f88f9143c43ef06ad5d6b0bdbf5254d96a Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Wed, 15 Feb 2023 11:17:06 -0700 Subject: [PATCH 104/448] Moved region check from constructor to init() --- src/MC/fix_gcmc.cpp | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/src/MC/fix_gcmc.cpp b/src/MC/fix_gcmc.cpp index 2181c0de97..3367654a6a 100644 --- a/src/MC/fix_gcmc.cpp +++ b/src/MC/fix_gcmc.cpp @@ -138,18 +138,6 @@ FixGCMC::FixGCMC(LAMMPS *lmp, int narg, char **arg) : region_zlo = region->extent_zlo; region_zhi = region->extent_zhi; - if (triclinic) { - if ((region_xlo < domain->boxlo_bound[0]) || (region_xhi > domain->boxhi_bound[0]) || - (region_ylo < domain->boxlo_bound[1]) || (region_yhi > domain->boxhi_bound[1]) || - (region_zlo < domain->boxlo_bound[2]) || (region_zhi > domain->boxhi_bound[2])) - error->all(FLERR,"Fix gcmc region {} extends outside simulation box", region->id); - } else { - if ((region_xlo < domain->boxlo[0]) || (region_xhi > domain->boxhi[0]) || - (region_ylo < domain->boxlo[1]) || (region_yhi > domain->boxhi[1]) || - (region_zlo < domain->boxlo[2]) || (region_zhi > domain->boxhi[2])) - error->all(FLERR,"Fix gcmc region {} extends outside simulation box", region->id); - } - // estimate region volume using MC trials double coord[3]; @@ -458,6 +446,19 @@ void FixGCMC::init() triclinic = domain->triclinic; + if (triclinic) { + if ((region_xlo < domain->boxlo_bound[0]) || (region_xhi > domain->boxhi_bound[0]) || + (region_ylo < domain->boxlo_bound[1]) || (region_yhi > domain->boxhi_bound[1]) || + (region_zlo < domain->boxlo_bound[2]) || (region_zhi > domain->boxhi_bound[2])) { + error->all(FLERR,"Fix gcmc region extends outside simulation box"); + } + } else { + if ((region_xlo < domain->boxlo[0]) || (region_xhi > domain->boxhi[0]) || + (region_ylo < domain->boxlo[1]) || (region_yhi > domain->boxhi[1]) || + (region_zlo < domain->boxlo[2]) || (region_zhi > domain->boxhi[2])) + error->all(FLERR,"Fix gcmc region extends outside simulation box"); + } + // set probabilities for MC moves if (nmcmoves > 0) { From 76c00fe2edfc33301ff882e5ba1c03c0b3b93711 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 15 Feb 2023 12:14:38 -0700 Subject: [PATCH 105/448] fix MPI issue in PySCF wrapper --- examples/QUANTUM/NWChem/in.water.qmmm.plugin | 2 +- .../QUANTUM/NWChem/in.zeolite.qmmm.plugin | 2 +- .../PySCF/log.8Feb23.mixture.qmmm.mpi.1 | 154 ++++++++++++++++++ .../QUANTUM/PySCF/log.8Feb23.water.qmmm.mpi.1 | 152 +++++++++++++++++ examples/QUANTUM/PySCF/pyscf_mdi.py | 22 ++- 5 files changed, 323 insertions(+), 9 deletions(-) diff --git a/examples/QUANTUM/NWChem/in.water.qmmm.plugin b/examples/QUANTUM/NWChem/in.water.qmmm.plugin index 60cbb99eda..f489b0cce9 100644 --- a/examples/QUANTUM/NWChem/in.water.qmmm.plugin +++ b/examples/QUANTUM/NWChem/in.water.qmmm.plugin @@ -59,5 +59,5 @@ thermo 1 variable p equal extract_setting(world_size) mdi plugin nwchem_mdi mdi "-role ENGINE -name NWChem -method LINK" & - extra "template.water.nw water.dimer.nw log.water.pwdft.qmmm.plugin.$p" & + extra "template.water.nw water.nw log.water.pwdft.qmmm.plugin.$p" & command "run 1" diff --git a/examples/QUANTUM/NWChem/in.zeolite.qmmm.plugin b/examples/QUANTUM/NWChem/in.zeolite.qmmm.plugin index 2570ff63ad..6b6c6147ed 100644 --- a/examples/QUANTUM/NWChem/in.zeolite.qmmm.plugin +++ b/examples/QUANTUM/NWChem/in.zeolite.qmmm.plugin @@ -31,7 +31,7 @@ pair_coeff 1 2 buck 27029.419922 0.19385082 148.099091 pair_coeff 1 3 lj/cut 0.09087 3.613 pair_coeff 1 4 lj/cut 0.0344258 3.238 pair_coeff 2 3 lj/cut 0.1419429 3.1 -pair_coeff 2 4 lj/cut 0.035857762359063315 1.932779 # same as water dimer +pair_coeff 2 4 lj/cut 0.035857762359063315 1.932779 # same as water pair_coeff 3 3 lj/cut 0.0 3.4 pair_coeff 4 4 lj/cut 0.0 2.65 diff --git a/examples/QUANTUM/PySCF/log.8Feb23.mixture.qmmm.mpi.1 b/examples/QUANTUM/PySCF/log.8Feb23.mixture.qmmm.mpi.1 index e0752d5d19..ed65ee1dc3 100644 --- a/examples/QUANTUM/PySCF/log.8Feb23.mixture.qmmm.mpi.1 +++ b/examples/QUANTUM/PySCF/log.8Feb23.mixture.qmmm.mpi.1 @@ -1 +1,155 @@ LAMMPS (22 Dec 2022) +# QMMM with PySCF - mixture example + +units real +atom_style full + +pair_style lj/cut/coul/long 12 +pair_modify mix arithmetic + +bond_style harmonic +angle_style harmonic +dihedral_style none +improper_style none + +kspace_style pppm 1e-5 + +read_data data.mixture +Reading data file ... + orthogonal box = (0 0 0) to (31.351877 31.351877 31.351877) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 3081 atoms + reading velocities ... + 3081 velocities + scanning bonds ... + 4 = max bonds/atom + scanning angles ... + 6 = max angles/atom + reading bonds ... + 2055 bonds + reading angles ... + 1033 angles +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 4 = max # of 1-2 neighbors + 3 = max # of 1-3 neighbors + 3 = max # of 1-4 neighbors + 4 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.011 seconds + +# QM atoms are IDs 1 to 9 +# MM atoms are remaining atoms + +group qm id 1:9 +9 atoms in group qm +group mm subtract all qm +3072 atoms in group mm + +# remove bonds/angles between QM atoms +# set charges to zero on QM atoms + +delete_bonds qm multi remove special +System init for delete_bonds ... +PPPM initialization ... + using 12-bit tables for long-range coulomb (../kspace.cpp:342) + G vector (1/distance) = 0.25751777 + grid = 24 24 24 + stencil order = 5 + estimated absolute RMS force accuracy = 0.0020473396 + estimated relative force accuracy = 6.1655023e-06 + using double precision KISS FFT + 3d grid and FFT values/proc = 29791 13824 +Generated 21 of 21 mixed pair_coeff terms from arithmetic mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 5 5 5 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Deleting bonds ... + 2048 total bonds, 2048 turned on, 0 turned off + 1024 total angles, 1024 turned on, 0 turned off + 0 total dihedrals, 0 turned on, 0 turned off + 0 total impropers, 0 turned on, 0 turned off +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 4 = max # of special neighbors + special bonds CPU = 0.000 seconds +set group qm charge 0.0 +Setting atom values ... + 9 settings made for charge + +neighbor 2.0 bin +neigh_modify delay 0 every 1 check yes + +# QMMM dynamics + +timestep 0.01 + +fix 1 all nve + +fix 2 qm mdi/qmmm direct elements N H C H Cl O H +fix_modify 2 energy yes + +thermo_style custom step cpu temp ke evdwl ecoul epair emol elong f_2 pe etotal press + +thermo 1 +run 2 +PPPM initialization ... + using 12-bit tables for long-range coulomb (../kspace.cpp:342) + G vector (1/distance) = 0.25751777 + grid = 24 24 24 + stencil order = 5 + estimated absolute RMS force accuracy = 0.0020473396 + estimated relative force accuracy = 6.1655023e-06 + using double precision KISS FFT + 3d grid and FFT values/proc = 29791 13824 +Generated 21 of 21 mixed pair_coeff terms from arithmetic mixing rule +Per MPI rank memory allocation (min/avg/max) = 26.88 | 26.88 | 26.88 Mbytes + Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long f_2 PotEng TotEng Press + 0 0 0 0 103310.44 35284.412 88790.313 863.33521 -49804.536 -349295.05 -259641.4 -259641.4 897319.08 + 1 16.658724 631.94375 5801.8092 97293.123 35284.413 82773 863.33444 -49804.536 -349294.57 -265658.24 -259856.43 852336.04 + 2 34.242441 2211.4634 20303.213 82388.368 35284.413 67868.246 863.33213 -49804.536 -349292.7 -280561.12 -260257.91 741101.53 +Loop time of 34.2425 on 1 procs for 2 steps with 3081 atoms + +Performance: 0.000 ns/day, 475589.761 hours/ns, 0.058 timesteps/s, 179.952 atom-step/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.048944 | 0.048944 | 0.048944 | 0.0 | 0.14 +Bond | 0.00014683 | 0.00014683 | 0.00014683 | 0.0 | 0.00 +Kspace | 0.0043212 | 0.0043212 | 0.0043212 | 0.0 | 0.01 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.00016665 | 0.00016665 | 0.00016665 | 0.0 | 0.00 +Output | 9.4962e-05 | 9.4962e-05 | 9.4962e-05 | 0.0 | 0.00 +Modify | 34.189 | 34.189 | 34.189 | 0.0 | 99.84 +Other | | 8.974e-05 | | | 0.00 + +Nlocal: 3081 ave 3081 max 3081 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 17741 ave 17741 max 17741 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 1.77144e+06 ave 1.77144e+06 max 1.77144e+06 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 1771437 +Ave neighs/atom = 574.95521 +Ave special neighs/atom = 1.9941577 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:53 diff --git a/examples/QUANTUM/PySCF/log.8Feb23.water.qmmm.mpi.1 b/examples/QUANTUM/PySCF/log.8Feb23.water.qmmm.mpi.1 index e0752d5d19..c5a2155ee9 100644 --- a/examples/QUANTUM/PySCF/log.8Feb23.water.qmmm.mpi.1 +++ b/examples/QUANTUM/PySCF/log.8Feb23.water.qmmm.mpi.1 @@ -1 +1,153 @@ LAMMPS (22 Dec 2022) +# QMMM with PySCF - two water example + +units real +atom_style full + +pair_style lj/cut/coul/long 12 +pair_modify mix arithmetic + +bond_style harmonic +angle_style harmonic +dihedral_style none +improper_style none + +kspace_style pppm 1e-5 + +read_data data.water +Reading data file ... + orthogonal box = (0 0 0) to (31.351877 31.351877 31.351877) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 6 atoms + scanning bonds ... + 2 = max bonds/atom + scanning angles ... + 1 = max angles/atom + reading bonds ... + 4 bonds + reading angles ... + 2 angles +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.002 seconds + +# QM atoms are 1st water +# MM atoms are 2nd water + +group qm molecule 1 +3 atoms in group qm +group mm molecule 2 +3 atoms in group mm + +# remove bonds/angles between QM atoms +# set charges to zero on QM atoms + +delete_bonds qm multi remove special +System init for delete_bonds ... +PPPM initialization ... + using 12-bit tables for long-range coulomb (../kspace.cpp:342) + G vector (1/distance) = 0.21131887 + grid = 12 12 12 + stencil order = 5 + estimated absolute RMS force accuracy = 0.0020500128 + estimated relative force accuracy = 6.1735526e-06 + using double precision KISS FFT + 3d grid and FFT values/proc = 4913 1728 +Generated 1 of 1 mixed pair_coeff terms from arithmetic mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 5 5 5 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Deleting bonds ... + 2 total bonds, 2 turned on, 0 turned off + 1 total angles, 1 turned on, 0 turned off + 0 total dihedrals, 0 turned on, 0 turned off + 0 total impropers, 0 turned on, 0 turned off +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds +set group qm charge 0.0 +Setting atom values ... + 3 settings made for charge + +neighbor 2.0 bin +neigh_modify delay 0 every 1 check yes + +# QMMM dynamics + +timestep 2.0 + +fix 1 all nve + +fix 2 qm mdi/qmmm direct elements O H +fix_modify 2 energy yes + +thermo_style custom step cpu temp ke evdwl ecoul epair emol elong f_2 pe etotal press + +thermo 1 +run 2 +PPPM initialization ... + using 12-bit tables for long-range coulomb (../kspace.cpp:342) + G vector (1/distance) = 0.19767375 + grid = 10 10 10 + stencil order = 5 + estimated absolute RMS force accuracy = 0.0022851662 + estimated relative force accuracy = 6.8817102e-06 + using double precision KISS FFT + 3d grid and FFT values/proc = 3375 1000 +Generated 1 of 1 mixed pair_coeff terms from arithmetic mixing rule +Per MPI rank memory allocation (min/avg/max) = 7.165 | 7.165 | 7.165 Mbytes + Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long f_2 PotEng TotEng Press + 0 0 0 0 -0.001256507 37.096223 -0.0091688448 0.95028479 -37.104135 -47941.423 -47940.482 -47940.482 -11.65711 + 1 2.1383388 274.73153 4.0946125 -0.001258094 37.106014 -0.0088915927 0.62503382 -37.113647 -47947.815 -47947.199 -47943.104 5.9530005 + 2 4.182352 121.44569 1.8100327 -0.0012589509 37.125978 -0.0083996825 0.32331257 -37.133119 -47938.851 -47938.536 -47936.726 14.80352 +Loop time of 4.18244 on 1 procs for 2 steps with 6 atoms + +Performance: 0.083 ns/day, 290.447 hours/ns, 0.478 timesteps/s, 2.869 atom-step/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.3909e-05 | 1.3909e-05 | 1.3909e-05 | 0.0 | 0.00 +Bond | 9.667e-06 | 9.667e-06 | 9.667e-06 | 0.0 | 0.00 +Kspace | 0.00031926 | 0.00031926 | 0.00031926 | 0.0 | 0.01 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 6.235e-06 | 6.235e-06 | 6.235e-06 | 0.0 | 0.00 +Output | 0.00011152 | 0.00011152 | 0.00011152 | 0.0 | 0.00 +Modify | 4.182 | 4.182 | 4.182 | 0.0 | 99.99 +Other | | 2.225e-05 | | | 0.00 + +Nlocal: 6 ave 6 max 6 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 42 ave 42 max 42 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 15 ave 15 max 15 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 15 +Ave neighs/atom = 2.5 +Ave special neighs/atom = 1 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:06 diff --git a/examples/QUANTUM/PySCF/pyscf_mdi.py b/examples/QUANTUM/PySCF/pyscf_mdi.py index f9e4213543..e1a9d8c7dc 100644 --- a/examples/QUANTUM/PySCF/pyscf_mdi.py +++ b/examples/QUANTUM/PySCF/pyscf_mdi.py @@ -107,8 +107,9 @@ dm_previous = None # -------------------------------------------- def error(txt): - if me == 0: print("ERROR:",txt) - world.Abort() + if me == 0: print("ERROR:",txt,mpiexists=1) + if mpiexists: world.abort() + sys.exit() # -------------------------------------------- # process non-MDI options to PySCF @@ -616,10 +617,12 @@ def MDI_Plugin_init_pyscf_mdi(plugin_state): # -------------------------------------------- if __name__== "__main__": - + + # mdi_index = index in sys.argv of -mdi # mdi_option = single arg in quotes that follows -mdi # other_options = all non-MDI args + mdi_index = -1 mdi_option = "" other_options = [] @@ -630,19 +633,24 @@ if __name__== "__main__": while iarg < narg: arg = args[iarg] if arg == "-mdi" or arg == "--mdi": + mdi_index = iarg if narg > iarg+1: mdi_option = sys.argv[iarg+1] - else: error("PySCF -mdi argument not provided") + else: error("PySCF -mdi argument not provided",0) iarg += 1 else: other_options.append(arg) iarg += 1 - if not mdi_option: error("PySCF -mdi option not provided") + if not mdi_option: error("PySCF -mdi option not provided",0) + + # remove -mdi and its string from sys.argv + # so that PySCF does not try to process it + + sys.argv.pop(mdi_index) + sys.argv.pop(mdi_index) # disable this mode of MDI coupling for now # until issue on PySCF side is fixed - error("PySCF does not currently support running as independent executable") - # call MDI_Init with just -mdi option mdi.MDI_Init(mdi_option) From 17e1ed4869fd214004f3e4a907e0773a99c4f66e Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 16 Feb 2023 10:27:45 -0700 Subject: [PATCH 106/448] updates to README --- examples/QUANTUM/PySCF/README | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/examples/QUANTUM/PySCF/README b/examples/QUANTUM/PySCF/README index 88a6100db4..0ebff266be 100644 --- a/examples/QUANTUM/PySCF/README +++ b/examples/QUANTUM/PySCF/README @@ -52,22 +52,14 @@ Python can find MDI: For bash: -% export PYTHONPATH="$PYTHONPATH:/home/sjplimp/mdi/git" +% export PYTHONPATH="$PYTHONPATH:/home/sjplimp/mdi/git/build" % hash -r For (t)csh: -% setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/mdi/git +% setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/mdi/git/build % rehash -(d) Check import of 3 Python modules which the script that wraps LATTE -will need: - -% python ->>> import numpy as np ->>> from mpi4py import MPI ->>> import MDI_Library as mdi - --------------------------------- --------------------------------- From 9c73f3212190d2c42e19d06310be5812ac4a7dc0 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Fri, 17 Feb 2023 13:01:47 -0500 Subject: [PATCH 107/448] increase MAXLINE to match other parts of lammps 'custom' constraint could exceed 256 chars fairly easily --- src/REACTION/fix_bond_react.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/REACTION/fix_bond_react.h b/src/REACTION/fix_bond_react.h index e9b3ffb247..9c21aa2ea1 100644 --- a/src/REACTION/fix_bond_react.h +++ b/src/REACTION/fix_bond_react.h @@ -33,7 +33,7 @@ namespace LAMMPS_NS { class FixBondReact : public Fix { public: - enum { MAXLINE = 256 }; // max length of line read from files + enum { MAXLINE = 1024 }; // max length of line read from files enum { MAXCONIDS = 4 }; // max # of IDs used by any constraint enum { MAXCONPAR = 5 }; // max # of constraint parameters From 0ead219a8b0bbed2db629fb96842ebf912de11c2 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Sat, 18 Feb 2023 00:37:28 -0500 Subject: [PATCH 108/448] backward compatibility with restart keep new maxline limit (1024 chars), but old react-ID length limit (256 chars) --- src/REACTION/fix_bond_react.cpp | 8 ++++---- src/REACTION/fix_bond_react.h | 5 +++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/REACTION/fix_bond_react.cpp b/src/REACTION/fix_bond_react.cpp index dbdd5116fd..75f9070fe4 100644 --- a/src/REACTION/fix_bond_react.cpp +++ b/src/REACTION/fix_bond_react.cpp @@ -216,7 +216,7 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : // this looks excessive // the price of vectorization (all reactions in one command)? - memory->create(rxn_name,nreacts,MAXLINE,"bond/react:rxn_name"); + memory->create(rxn_name,nreacts,MAXNAME,"bond/react:rxn_name"); memory->create(nevery,nreacts,"bond/react:nevery"); memory->create(cutsq,nreacts,2,"bond/react:cutsq"); memory->create(unreacted_mol,nreacts,"bond/react:unreacted_mol"); @@ -287,7 +287,7 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : iarg++; int n = strlen(arg[iarg]) + 1; - if (n > MAXLINE) error->all(FLERR,"Reaction name (react-ID) is too long (limit: 256 characters)"); + if (n > MAXNAME) error->all(FLERR,"Reaction name (react-ID) is too long (limit: 256 characters)"); strcpy(rxn_name[rxn],arg[iarg++]); int groupid = group->find(arg[iarg++]); @@ -4438,8 +4438,8 @@ void FixBondReact::write_restart(FILE *fp) for (int i = 0; i < nreacts; i++) { set[i].reaction_count_total = reaction_count_total[i]; - strncpy(set[i].rxn_name,rxn_name[i],MAXLINE-1); - set[i].rxn_name[MAXLINE-1] = '\0'; + strncpy(set[i].rxn_name,rxn_name[i],MAXNAME-1); + set[i].rxn_name[MAXNAME-1] = '\0'; } int rbufcount = max_rate_limit_steps*nreacts; diff --git a/src/REACTION/fix_bond_react.h b/src/REACTION/fix_bond_react.h index 9c21aa2ea1..66a5e4d6a0 100644 --- a/src/REACTION/fix_bond_react.h +++ b/src/REACTION/fix_bond_react.h @@ -33,7 +33,8 @@ namespace LAMMPS_NS { class FixBondReact : public Fix { public: - enum { MAXLINE = 1024 }; // max length of line read from files + enum { MAXLINE = 1024 }; // max length of line read from files + enum { MAXNAME = 256 }; // max character length of react-ID enum { MAXCONIDS = 4 }; // max # of IDs used by any constraint enum { MAXCONPAR = 5 }; // max # of constraint parameters @@ -218,7 +219,7 @@ class FixBondReact : public Fix { // store restart data struct Set { int nreacts; - char rxn_name[MAXLINE]; + char rxn_name[MAXNAME]; int reaction_count_total; int max_rate_limit_steps; }; From ff72268430f4dfb1a5210772a199f0b1181aa58e Mon Sep 17 00:00:00 2001 From: jrgissing Date: Sat, 18 Feb 2023 16:33:57 -0500 Subject: [PATCH 109/448] rate_limit keyword speedup was previously checking for reactions when even one reaction would exceed rate limit --- src/REACTION/fix_bond_react.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/REACTION/fix_bond_react.cpp b/src/REACTION/fix_bond_react.cpp index 75f9070fe4..eaf4dfd0ec 100644 --- a/src/REACTION/fix_bond_react.cpp +++ b/src/REACTION/fix_bond_react.cpp @@ -939,7 +939,7 @@ void FixBondReact::post_integrate() if (var_flag[NRATE][rxnID] == 1) { my_nrate = input->variable->compute_equal(var_id[NRATE][rxnID]); } else my_nrate = rate_limit[1][rxnID]; - if (nrxns_delta > my_nrate) rate_limit_flag = 0; + if (nrxns_delta >= my_nrate) rate_limit_flag = 0; } } if ((update->ntimestep % nevery[rxnID]) || From cdcc33aebc1e4775367cd66cc2fd0cbfd41a568b Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Tue, 21 Feb 2023 12:58:45 -0500 Subject: [PATCH 110/448] Revert "add simple bond/react unit test" This reverts commit f2713aad9431d8eb8f5d674aca9f3b320596f347. --- .../tests/fix-timestep-bond_react.yaml | 48 ------ .../tests/fourmol.molecule_template | 154 ------------------ unittest/force-styles/tests/fourmol.rxn_map | 28 ---- .../tests/fourmol_modified.molecule_template | 154 ------------------ 4 files changed, 384 deletions(-) delete mode 100644 unittest/force-styles/tests/fix-timestep-bond_react.yaml delete mode 100644 unittest/force-styles/tests/fourmol.molecule_template delete mode 100644 unittest/force-styles/tests/fourmol.rxn_map delete mode 100644 unittest/force-styles/tests/fourmol_modified.molecule_template diff --git a/unittest/force-styles/tests/fix-timestep-bond_react.yaml b/unittest/force-styles/tests/fix-timestep-bond_react.yaml deleted file mode 100644 index 8897208fe0..0000000000 --- a/unittest/force-styles/tests/fix-timestep-bond_react.yaml +++ /dev/null @@ -1,48 +0,0 @@ ---- -lammps_version: 8 Feb 2023 -date_generated: Fri Feb 10 12:00:00 2023 -epsilon: 2e-14 -skip_tests: -prerequisites: ! | - atom full - fix bond/react -pre_commands: ! "" -post_commands: ! | - molecule mol1 ${input_dir}/fourmol.molecule_template - molecule mol2 ${input_dir}/fourmol_modified.molecule_template - fix test all bond/react react rxn1 all 1 0 5 mol1 mol2 ${input_dir}/fourmol.rxn_map -input_file: in.fourmol -natoms: 29 -global_vector: ! |- - 1 1 -run_atom_types: ! |2 - 21 5 - 22 2 - 23 2 - 19 2 - 18 4 - 20 2 - 28 2 - 4 3 - 10 2 - 11 4 - 12 2 - 14 3 - 3 3 - 6 2 - 7 5 - 15 4 - 8 5 - 9 3 - 16 3 - 17 5 - 5 3 - 13 4 - 2 3 - 1 4 - 27 5 - 29 2 - 24 5 - 25 2 - 26 2 -... diff --git a/unittest/force-styles/tests/fourmol.molecule_template b/unittest/force-styles/tests/fourmol.molecule_template deleted file mode 100644 index 9d53791598..0000000000 --- a/unittest/force-styles/tests/fourmol.molecule_template +++ /dev/null @@ -1,154 +0,0 @@ -LAMMPS molecule file generated by VMD/TopoTools v1.7 on Sat Feb 11 12:41:31 -0500 2023 - 17 atoms - 16 bonds - 26 angles - 31 dihedrals - 2 impropers - - Coords - -1 -0.279937 2.472659 -0.172009 -2 0.301971 2.951524 -0.856897 -3 -0.694354 1.244047 -0.622338 -4 -1.577161 1.491533 -1.248713 -5 -0.895018 0.935681 0.402277 -6 0.294126 0.227193 -1.284309 -7 0.340199 -0.009128 -2.463311 -8 1.164119 -0.483753 -0.676598 -9 1.377746 -0.253663 0.268776 -10 2.018528 -1.428397 -0.967335 -11 1.792978 -1.987105 -1.884063 -12 3.003025 -0.489233 -1.618866 -13 4.044727 -0.901320 -1.638445 -14 2.603315 -0.407898 -2.655441 -15 2.975631 0.563343 -1.243765 -16 2.651755 -2.395711 0.032908 -17 2.230996 -2.102292 1.149195 - - Types - -1 3 -2 2 -3 1 -4 2 -5 2 -6 1 -7 4 -8 3 -9 2 -10 1 -11 2 -12 1 -13 2 -14 2 -15 2 -16 1 -17 4 - - Charges - -1 -0.470000 -2 0.310000 -3 -0.020000 -4 0.090000 -5 0.090000 -6 0.510000 -7 -0.510000 -8 -0.470000 -9 0.310000 -10 0.070000 -11 0.090000 -12 -0.270000 -13 0.090000 -14 0.090000 -15 0.090000 -16 0.510000 -17 -0.510000 - - Bonds - -1 1 1 2 -2 1 1 3 -3 1 3 4 -4 1 3 5 -5 1 3 6 -6 1 6 8 -7 1 6 7 -8 1 8 9 -9 1 8 10 -10 1 10 11 -11 1 10 12 -12 1 10 16 -13 1 12 13 -14 1 12 14 -15 1 12 15 -16 1 16 17 - - Angles - -1 1 2 1 3 -2 1 1 3 5 -3 1 1 3 4 -4 1 1 3 6 -5 1 4 3 5 -6 1 5 3 6 -7 1 4 3 6 -8 1 3 6 7 -9 1 3 6 8 -10 1 7 6 8 -11 1 6 8 9 -12 1 9 8 10 -13 1 6 8 10 -14 1 8 10 11 -15 1 8 10 16 -16 1 11 10 12 -17 1 12 10 16 -18 1 8 10 12 -19 1 11 10 16 -20 1 10 12 15 -21 1 10 12 14 -22 1 10 12 13 -23 1 13 12 15 -24 1 13 12 14 -25 1 14 12 15 -26 1 10 16 17 - - Dihedrals - -1 1 2 1 3 6 -2 1 2 1 3 4 -3 1 2 1 3 5 -4 1 1 3 6 8 -5 1 1 3 6 7 -6 1 4 3 6 8 -7 1 4 3 6 7 -8 1 5 3 6 8 -9 1 5 3 6 7 -10 1 3 6 8 9 -11 1 3 6 8 10 -12 1 7 6 8 9 -13 1 7 6 8 10 -14 1 6 8 10 12 -15 1 6 8 10 16 -16 1 6 8 10 11 -17 1 9 8 10 12 -18 1 9 8 10 16 -19 1 9 8 10 11 -20 1 8 10 12 13 -21 1 8 10 12 14 -22 1 8 10 12 15 -23 1 8 10 16 17 -24 1 11 10 12 13 -25 1 11 10 12 14 -26 1 11 10 12 15 -27 1 11 10 16 17 -28 1 12 10 16 17 -29 1 16 10 12 13 -30 1 16 10 12 14 -31 1 16 10 12 15 - - Impropers - -1 1 6 3 8 7 -2 1 8 6 10 9 - diff --git a/unittest/force-styles/tests/fourmol.rxn_map b/unittest/force-styles/tests/fourmol.rxn_map deleted file mode 100644 index cd810b41e0..0000000000 --- a/unittest/force-styles/tests/fourmol.rxn_map +++ /dev/null @@ -1,28 +0,0 @@ -map file for 'fix bond/react' - -17 equivalences - -InitiatorIDs - -6 -7 - -Equivalences - -1 1 -2 2 -3 3 -4 4 -5 5 -6 6 -7 7 -8 8 -9 9 -10 10 -11 11 -12 12 -13 13 -14 14 -15 15 -16 16 -17 17 diff --git a/unittest/force-styles/tests/fourmol_modified.molecule_template b/unittest/force-styles/tests/fourmol_modified.molecule_template deleted file mode 100644 index ce6f2c7f38..0000000000 --- a/unittest/force-styles/tests/fourmol_modified.molecule_template +++ /dev/null @@ -1,154 +0,0 @@ -LAMMPS molecule file generated by VMD/TopoTools v1.7 on Sat Feb 11 12:41:31 -0500 2023 - 17 atoms - 16 bonds - 26 angles - 31 dihedrals - 2 impropers - - Coords - -1 -0.279937 2.472659 -0.172009 -2 0.301971 2.951524 -0.856897 -3 -0.694354 1.244047 -0.622338 -4 -1.577161 1.491533 -1.248713 -5 -0.895018 0.935681 0.402277 -6 0.294126 0.227193 -1.284309 -7 0.340199 -0.009128 -2.463311 -8 1.164119 -0.483753 -0.676598 -9 1.377746 -0.253663 0.268776 -10 2.018528 -1.428397 -0.967335 -11 1.792978 -1.987105 -1.884063 -12 3.003025 -0.489233 -1.618866 -13 4.044727 -0.901320 -1.638445 -14 2.603315 -0.407898 -2.655441 -15 2.975631 0.563343 -1.243765 -16 2.651755 -2.395711 0.032908 -17 2.230996 -2.102292 1.149195 - - Types - -1 4 -2 3 -3 3 -4 3 -5 3 -6 2 -7 5 -8 5 -9 3 -10 2 -11 4 -12 2 -13 4 -14 3 -15 4 -16 3 -17 5 - - Charges - -1 -0.470000 -2 0.310000 -3 -0.020000 -4 0.090000 -5 0.090000 -6 0.510000 -7 -0.510000 -8 -0.470000 -9 0.310000 -10 0.070000 -11 0.090000 -12 -0.270000 -13 0.090000 -14 0.090000 -15 0.090000 -16 0.510000 -17 -0.510000 - - Bonds - -1 1 1 2 -2 1 1 3 -3 1 3 4 -4 1 3 5 -5 1 3 6 -6 1 6 8 -7 1 6 7 -8 1 8 9 -9 1 8 10 -10 1 10 11 -11 1 10 12 -12 1 10 16 -13 1 12 13 -14 1 12 14 -15 1 12 15 -16 1 16 17 - - Angles - -1 1 2 1 3 -2 1 1 3 5 -3 1 1 3 4 -4 1 1 3 6 -5 1 4 3 5 -6 1 5 3 6 -7 1 4 3 6 -8 1 3 6 7 -9 1 3 6 8 -10 1 7 6 8 -11 1 6 8 9 -12 1 9 8 10 -13 1 6 8 10 -14 1 8 10 11 -15 1 8 10 16 -16 1 11 10 12 -17 1 12 10 16 -18 1 8 10 12 -19 1 11 10 16 -20 1 10 12 15 -21 1 10 12 14 -22 1 10 12 13 -23 1 13 12 15 -24 1 13 12 14 -25 1 14 12 15 -26 1 10 16 17 - - Dihedrals - -1 1 2 1 3 6 -2 1 2 1 3 4 -3 1 2 1 3 5 -4 1 1 3 6 8 -5 1 1 3 6 7 -6 1 4 3 6 8 -7 1 4 3 6 7 -8 1 5 3 6 8 -9 1 5 3 6 7 -10 1 3 6 8 9 -11 1 3 6 8 10 -12 1 7 6 8 9 -13 1 7 6 8 10 -14 1 6 8 10 12 -15 1 6 8 10 16 -16 1 6 8 10 11 -17 1 9 8 10 12 -18 1 9 8 10 16 -19 1 9 8 10 11 -20 1 8 10 12 13 -21 1 8 10 12 14 -22 1 8 10 12 15 -23 1 8 10 16 17 -24 1 11 10 12 13 -25 1 11 10 12 14 -26 1 11 10 12 15 -27 1 11 10 16 17 -28 1 12 10 16 17 -29 1 16 10 12 13 -30 1 16 10 12 14 -31 1 16 10 12 15 - - Impropers - -1 1 6 3 8 7 -2 1 8 6 10 9 - From 633ae8bc405750ed800b98ae0ce62a02f3db5f81 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Tue, 21 Feb 2023 12:58:55 -0500 Subject: [PATCH 111/448] Revert "add 'atom type' test option to force style tests" This reverts commit 7709dfa11854561d92dd7e05d4bb76f864bdd89c. --- unittest/force-styles/test_config.h | 2 -- unittest/force-styles/test_config_reader.cpp | 15 --------------- unittest/force-styles/test_config_reader.h | 1 - unittest/force-styles/test_fix_timestep.cpp | 12 ------------ unittest/force-styles/test_main.cpp | 19 ------------------- unittest/force-styles/test_main.h | 1 - 6 files changed, 50 deletions(-) diff --git a/unittest/force-styles/test_config.h b/unittest/force-styles/test_config.h index e3d6c06033..b284052d6d 100644 --- a/unittest/force-styles/test_config.h +++ b/unittest/force-styles/test_config.h @@ -70,7 +70,6 @@ public: std::vector restart_pos; std::vector run_vel; std::vector restart_vel; - std::vector run_atom_types; TestConfig() : lammps_version(""), date_generated(""), basename(""), epsilon(1.0e-14), input_file(""), @@ -95,7 +94,6 @@ public: restart_pos.clear(); run_vel.clear(); restart_vel.clear(); - run_atom_types.clear(); global_vector.clear(); } TestConfig(const TestConfig &) = delete; diff --git a/unittest/force-styles/test_config_reader.cpp b/unittest/force-styles/test_config_reader.cpp index 5eb41db4bf..3f99f251a5 100644 --- a/unittest/force-styles/test_config_reader.cpp +++ b/unittest/force-styles/test_config_reader.cpp @@ -48,7 +48,6 @@ TestConfigReader::TestConfigReader(TestConfig &config) : config(config) consumers["run_forces"] = &TestConfigReader::run_forces; consumers["run_pos"] = &TestConfigReader::run_pos; consumers["run_vel"] = &TestConfigReader::run_vel; - consumers["run_atom_types"] = &TestConfigReader::run_atom_types; consumers["pair_style"] = &TestConfigReader::pair_style; consumers["pair_coeff"] = &TestConfigReader::pair_coeff; @@ -229,20 +228,6 @@ void TestConfigReader::run_vel(const yaml_event_t &event) } } -void TestConfigReader::run_atom_types(const yaml_event_t &event) -{ - config.run_atom_types.clear(); - config.run_atom_types.resize(config.natoms + 1); - std::stringstream data((char *)event.data.scalar.value); - std::string line; - - while (std::getline(data, line, '\n')) { - int tag, atom_type; - sscanf(line.c_str(), "%d %d", &tag, &atom_type); - config.run_atom_types[tag] = atom_type; - } -} - void TestConfigReader::pair_style(const yaml_event_t &event) { config.pair_style = (char *)event.data.scalar.value; diff --git a/unittest/force-styles/test_config_reader.h b/unittest/force-styles/test_config_reader.h index 91512da655..1af7589add 100644 --- a/unittest/force-styles/test_config_reader.h +++ b/unittest/force-styles/test_config_reader.h @@ -41,7 +41,6 @@ public: void run_forces(const yaml_event_t &event); void run_pos(const yaml_event_t &event); void run_vel(const yaml_event_t &event); - void run_atom_types(const yaml_event_t &event); void pair_style(const yaml_event_t &event); void pair_coeff(const yaml_event_t &event); void bond_style(const yaml_event_t &event); diff --git a/unittest/force-styles/test_fix_timestep.cpp b/unittest/force-styles/test_fix_timestep.cpp index 302425ebd3..d2e35b463f 100644 --- a/unittest/force-styles/test_fix_timestep.cpp +++ b/unittest/force-styles/test_fix_timestep.cpp @@ -284,7 +284,6 @@ TEST(FixTimestep, plain) EXPECT_POSITIONS("run_pos (normal run, verlet)", lmp->atom, test_config.run_pos, epsilon); EXPECT_VELOCITIES("run_vel (normal run, verlet)", lmp->atom, test_config.run_vel, epsilon); - EXPECT_ATOM_TYPES("run_atom_types (normal run, verlet)", lmp->atom, test_config.run_atom_types); int ifix = lmp->modify->find_fix("test"); if (ifix < 0) { @@ -335,7 +334,6 @@ TEST(FixTimestep, plain) EXPECT_POSITIONS("run_pos (restart, verlet)", lmp->atom, test_config.run_pos, epsilon); EXPECT_VELOCITIES("run_vel (restart, verlet)", lmp->atom, test_config.run_vel, epsilon); - EXPECT_ATOM_TYPES("run_atom_types (restart, verlet)", lmp->atom, test_config.run_atom_types); ifix = lmp->modify->find_fix("test"); if (ifix < 0) { @@ -375,7 +373,6 @@ TEST(FixTimestep, plain) EXPECT_POSITIONS("run_pos (rmass, verlet)", lmp->atom, test_config.run_pos, epsilon); EXPECT_VELOCITIES("run_vel (rmass, verlet)", lmp->atom, test_config.run_vel, epsilon); - EXPECT_ATOM_TYPES("run_atom_types (rmass, verlet)", lmp->atom, test_config.run_atom_types); ifix = lmp->modify->find_fix("test"); if (ifix < 0) { @@ -429,7 +426,6 @@ TEST(FixTimestep, plain) EXPECT_POSITIONS("run_pos (normal run, respa)", lmp->atom, test_config.run_pos, epsilon); EXPECT_VELOCITIES("run_vel (normal run, respa)", lmp->atom, test_config.run_vel, epsilon); - EXPECT_ATOM_TYPES("run_atom_types (normal run, respa)", lmp->atom, test_config.run_atom_types); ifix = lmp->modify->find_fix("test"); if (ifix < 0) { @@ -468,7 +464,6 @@ TEST(FixTimestep, plain) EXPECT_POSITIONS("run_pos (restart, respa)", lmp->atom, test_config.run_pos, epsilon); EXPECT_VELOCITIES("run_vel (restart, respa)", lmp->atom, test_config.run_vel, epsilon); - EXPECT_ATOM_TYPES("run_atom_types (restart, respa)", lmp->atom, test_config.run_atom_types); ifix = lmp->modify->find_fix("test"); if (ifix < 0) { @@ -508,7 +503,6 @@ TEST(FixTimestep, plain) EXPECT_POSITIONS("run_pos (rmass, respa)", lmp->atom, test_config.run_pos, epsilon); EXPECT_VELOCITIES("run_vel (rmass, respa)", lmp->atom, test_config.run_vel, epsilon); - EXPECT_ATOM_TYPES("run_atom_types (rmass, respa)", lmp->atom, test_config.run_atom_types); ifix = lmp->modify->find_fix("test"); if (ifix < 0) { @@ -590,7 +584,6 @@ TEST(FixTimestep, omp) EXPECT_POSITIONS("run_pos (normal run, verlet)", lmp->atom, test_config.run_pos, epsilon); EXPECT_VELOCITIES("run_vel (normal run, verlet)", lmp->atom, test_config.run_vel, epsilon); - EXPECT_ATOM_TYPES("run_atom_types (normal run, verlet)", lmp->atom, test_config.run_atom_types); int ifix = lmp->modify->find_fix("test"); if (ifix < 0) { @@ -641,7 +634,6 @@ TEST(FixTimestep, omp) EXPECT_POSITIONS("run_pos (restart, verlet)", lmp->atom, test_config.run_pos, epsilon); EXPECT_VELOCITIES("run_vel (restart, verlet)", lmp->atom, test_config.run_vel, epsilon); - EXPECT_ATOM_TYPES("run_atom_types (restart, verlet)", lmp->atom, test_config.run_atom_types); ifix = lmp->modify->find_fix("test"); if (ifix < 0) { @@ -681,7 +673,6 @@ TEST(FixTimestep, omp) EXPECT_POSITIONS("run_pos (rmass, verlet)", lmp->atom, test_config.run_pos, epsilon); EXPECT_VELOCITIES("run_vel (rmass, verlet)", lmp->atom, test_config.run_vel, epsilon); - EXPECT_ATOM_TYPES("run_atom_types (rmass, verlet)", lmp->atom, test_config.run_atom_types); ifix = lmp->modify->find_fix("test"); if (ifix < 0) { @@ -734,7 +725,6 @@ TEST(FixTimestep, omp) EXPECT_POSITIONS("run_pos (normal run, respa)", lmp->atom, test_config.run_pos, epsilon); EXPECT_VELOCITIES("run_vel (normal run, respa)", lmp->atom, test_config.run_vel, epsilon); - EXPECT_ATOM_TYPES("run_atom_types (normal run, respa)", lmp->atom, test_config.run_atom_types); ifix = lmp->modify->find_fix("test"); if (ifix < 0) { @@ -773,7 +763,6 @@ TEST(FixTimestep, omp) EXPECT_POSITIONS("run_pos (restart, respa)", lmp->atom, test_config.run_pos, epsilon); EXPECT_VELOCITIES("run_vel (restart, respa)", lmp->atom, test_config.run_vel, epsilon); - EXPECT_ATOM_TYPES("run_atom_types (restart, respa)", lmp->atom, test_config.run_atom_types); ifix = lmp->modify->find_fix("test"); if (ifix < 0) { @@ -813,7 +802,6 @@ TEST(FixTimestep, omp) EXPECT_POSITIONS("run_pos (rmass, respa)", lmp->atom, test_config.run_pos, epsilon); EXPECT_VELOCITIES("run_vel (rmass, respa)", lmp->atom, test_config.run_vel, epsilon); - EXPECT_ATOM_TYPES("run_atom_types (rmass, respa)", lmp->atom, test_config.run_atom_types); ifix = lmp->modify->find_fix("test"); if (ifix < 0) { diff --git a/unittest/force-styles/test_main.cpp b/unittest/force-styles/test_main.cpp index 4a98c489be..80f1ca4e30 100644 --- a/unittest/force-styles/test_main.cpp +++ b/unittest/force-styles/test_main.cpp @@ -70,7 +70,6 @@ void EXPECT_FORCES(const std::string &name, Atom *atom, const std::vector &x_ref, double epsilon) { - if (x_ref.empty()) return; SCOPED_TRACE("EXPECT_POSITIONS: " + name); double **x = atom->x; tagint *tag = atom->tag; @@ -88,7 +87,6 @@ void EXPECT_POSITIONS(const std::string &name, Atom *atom, const std::vector &v_ref, double epsilon) { - if (v_ref.empty()) return; SCOPED_TRACE("EXPECT_VELOCITIES: " + name); double **v = atom->v; tagint *tag = atom->tag; @@ -103,23 +101,6 @@ void EXPECT_VELOCITIES(const std::string &name, Atom *atom, const std::vector &at_ref) -{ - if (at_ref.empty()) return; - SCOPED_TRACE("EXPECT_ATOM_TYPES: " + name); - int *type = atom->type; - tagint *tag = atom->tag; - const int nlocal = atom->nlocal; - ASSERT_EQ(nlocal + 1, at_ref.size()); - ErrorStats stats; - for (int i = 0; i < nlocal; ++i) { - EXPECT_EQ(type[i], at_ref[tag[i]]); - EXPECT_EQ(type[i], at_ref[tag[i]]); - EXPECT_EQ(type[i], at_ref[tag[i]]); - } - if (print_stats) std::cerr << name << " stats" << stats << std::endl; -} - // common read_yaml_file function bool read_yaml_file(const char *infile, TestConfig &config) { diff --git a/unittest/force-styles/test_main.h b/unittest/force-styles/test_main.h index ede7402cdc..36bcd7bdff 100644 --- a/unittest/force-styles/test_main.h +++ b/unittest/force-styles/test_main.h @@ -41,6 +41,5 @@ void EXPECT_STRESS(const std::string & name, double * stress, const stress_t & e void EXPECT_FORCES(const std::string & name, LAMMPS_NS::Atom * atom, const std::vector & f_ref, double epsilon); void EXPECT_POSITIONS(const std::string & name, LAMMPS_NS::Atom * atom, const std::vector & x_ref, double epsilon); void EXPECT_VELOCITIES(const std::string & name, LAMMPS_NS::Atom * atom, const std::vector & v_ref, double epsilon); -void EXPECT_ATOM_TYPES(const std::string & name, LAMMPS_NS::Atom * atom, const std::vector & at_ref); #endif From 4c3670254665e248cd72efe0149da4fb0fbae5ef Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 21 Feb 2023 16:31:45 -0500 Subject: [PATCH 112/448] whitespace fixes --- src/MC/fix_atom_swap.cpp | 4 +- src/MC/fix_gcmc.cpp | 4 +- src/MC/fix_gcmc.h | 2 +- src/MDI/fix_mdi_qm.cpp | 58 ++++++++++----------- src/MDI/fix_mdi_qm.h | 16 +++--- src/MDI/fix_mdi_qmmm.cpp | 106 +++++++++++++++++++-------------------- src/MDI/fix_mdi_qmmm.h | 14 +++--- src/MDI/mdi_plugin.cpp | 6 +-- 8 files changed, 105 insertions(+), 105 deletions(-) diff --git a/src/MC/fix_atom_swap.cpp b/src/MC/fix_atom_swap.cpp index d909e7c55c..fa69773d82 100644 --- a/src/MC/fix_atom_swap.cpp +++ b/src/MC/fix_atom_swap.cpp @@ -104,7 +104,7 @@ FixAtomSwap::FixAtomSwap(LAMMPS *lmp, int narg, char **arg) : // zero out counters mc_active = 0; - + nswap_attempts = 0.0; nswap_successes = 0.0; @@ -307,7 +307,7 @@ void FixAtomSwap::pre_exchange() if (next_reneighbor != update->ntimestep) return; mc_active = 1; - + // ensure current system is ready to compute energy if (domain->triclinic) domain->x2lamda(atom->nlocal); diff --git a/src/MC/fix_gcmc.cpp b/src/MC/fix_gcmc.cpp index 803ae9d4ed..e993a2b848 100644 --- a/src/MC/fix_gcmc.cpp +++ b/src/MC/fix_gcmc.cpp @@ -721,7 +721,7 @@ void FixGCMC::pre_exchange() if (next_reneighbor != update->ntimestep) return; mc_active = 1; - + xlo = domain->boxlo[0]; xhi = domain->boxhi[0]; ylo = domain->boxlo[1]; @@ -799,7 +799,7 @@ void FixGCMC::pre_exchange() } } } - + next_reneighbor = update->ntimestep + nevery; mc_active = 0; diff --git a/src/MC/fix_gcmc.h b/src/MC/fix_gcmc.h index b43c57812a..1a5181720f 100644 --- a/src/MC/fix_gcmc.h +++ b/src/MC/fix_gcmc.h @@ -75,7 +75,7 @@ class FixGCMC : public Fix { double ninsertion_successes; int mc_active; // 1 during MC trials, otherwise 0 - + int gcmc_nmax; int max_region_attempts; double gas_mass; diff --git a/src/MDI/fix_mdi_qm.cpp b/src/MDI/fix_mdi_qm.cpp index 4e548a00f6..b376e151d6 100644 --- a/src/MDI/fix_mdi_qm.cpp +++ b/src/MDI/fix_mdi_qm.cpp @@ -41,8 +41,8 @@ FixMDIQM::FixMDIQM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) // atom IDs do not need to be consecutive if (atom->tag_enable == 0) error->all(FLERR, "Cannot use MDI engine without atom IDs"); - - if (atom->map_style == Atom::MAP_NONE) + + if (atom->map_style == Atom::MAP_NONE) error->all(FLERR,"Fix mdi/qm requires an atom map be defined"); // confirm LAMMPS is being run as a driver @@ -132,7 +132,7 @@ FixMDIQM::FixMDIQM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) elements[i] = anum + 1; } iarg += ntypes + 1; - + } else error->all(FLERR, "Illegal fix mdi/qm command"); } @@ -181,10 +181,10 @@ FixMDIQM::FixMDIQM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) nqm = nqm_last = max_nqm = 0; nexclude = 0; - + qmIDs = nullptr; qm2owned = nullptr; - + eqm = nullptr; tqm = nullptr; xqm = nullptr; @@ -198,7 +198,7 @@ FixMDIQM::FixMDIQM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) nmax = atom->nmax; memory->create(array_atom,nmax,3,"mdi/qm:array_atom"); - + // initialize outputs qm_energy = 0.0; @@ -232,10 +232,10 @@ FixMDIQM::~FixMDIQM() delete[] id_mcfix; delete[] elements; - + memory->destroy(qmIDs); memory->destroy(qm2owned); - + memory->destroy(eqm); memory->destroy(tqm); memory->destroy(xqm); @@ -342,22 +342,22 @@ void FixMDIQM::init() // new when first run or when // atom count or elements/types or box has changed between runs // otherwise incremental = subsequent run of same system - + int new_system = 0; // check if count of QM atoms has changed // on first run, old count is 0 - + int nqm_old = nqm; nqm = set_nqm(); - + if (nqm != nqm_old) { if (nqm > max_nqm) reallocate(); create_qm_list(); set_qm2owned(); new_system = 1; } - + // check if box has changed if (new_system) set_box(); @@ -443,7 +443,7 @@ void FixMDIQM::post_force(int vflag) if (update->ntimestep % every) return; // reallocate array_atom if needed - + if (atom->nmax > nmax) { nmax = atom->nmax; memory->destroy(array_atom); @@ -454,14 +454,14 @@ void FixMDIQM::post_force(int vflag) // new when atom count has changed (deposit, evaporate) // or when MC fix is active (insertion, deletion, large moves) // incremental when a system is slowly evolving (AIMD) - + int new_system = 0; if (nqm != nqm_last) new_system = 1; else if (mcflag && *mc_active_ptr) new_system = 1; - + // send new system info to MDI engine: atom count and elements/types // reset QM data structures if atom count has changed - + if (new_system) { nqm = set_nqm(); if (nqm > max_nqm) reallocate(); @@ -490,7 +490,7 @@ void FixMDIQM::post_force(int vflag) } // send current coords of QM atoms to MDI engine - + set_xqm(); ierr = MDI_Send_command(">COORDS", mdicomm); @@ -683,7 +683,7 @@ void FixMDIQM::reallocate() /* ---------------------------------------------------------------------- ncount = # of QM atoms - can be less than all atoms if MC flag is set + can be less than all atoms if MC flag is set return ncount to set nqm ------------------------------------------------------------------------- */ @@ -739,16 +739,16 @@ void FixMDIQM::create_qm_list() if (!nexclude) nqm_mine++; else if (!(mask[i] & excludebit)) nqm_mine++; } - + tagint *qmIDs_mine; memory->create(qmIDs_mine,nqm_mine,"mdi/qm:qmIDs_mine"); - + nqm_mine = 0; for (int i = 0; i < nlocal; i++) { if (!nexclude) qmIDs_mine[nqm_mine++] = tag[i]; else if (!(mask[i] & excludebit)) qmIDs_mine[nqm_mine++] = tag[i]; } - + int *recvcounts,*displs,*listall; memory->create(recvcounts,nprocs,"mdi/qm:recvcounts"); memory->create(displs,nprocs,"mdi/qm:displs"); @@ -758,10 +758,10 @@ void FixMDIQM::create_qm_list() displs[0] = 0; for (int iproc = 1; iproc < nprocs; iproc++) displs[iproc] = displs[iproc-1] + recvcounts[iproc-1]; - + MPI_Allgatherv(qmIDs_mine,nqm_mine,MPI_LMP_TAGINT,qmIDs,recvcounts,displs, MPI_LMP_TAGINT,world); - + memory->destroy(qmIDs_mine); memory->destroy(recvcounts); memory->destroy(displs); @@ -873,12 +873,12 @@ void FixMDIQM::set_eqm() int *type = atom->type; int ilocal; - + for (int i = 0; i < nqm; i++) { ilocal = qm2owned[i]; if (ilocal >= 0) eqm_mine[i] = elements[type[ilocal]]; } - + MPI_Allreduce(eqm_mine,eqm,nqm,MPI_INT,MPI_SUM,world); } @@ -895,7 +895,7 @@ void FixMDIQM::set_tqm() ilocal = qm2owned[i]; if (ilocal >= 0) tqm_mine[i] = type[ilocal]; } - + MPI_Allreduce(tqm_mine,tqm,nqm,MPI_INT,MPI_SUM,world); } @@ -906,10 +906,10 @@ void FixMDIQM::set_tqm() void FixMDIQM::send_natoms() { int ierr; - + // if engine suppports >NATOMS, send it // if not, require that engine be consistent with LAMMPS - + if (natoms_exists) { ierr = MDI_Send_command(">NATOMS", mdicomm); if (ierr) error->all(FLERR, "MDI: >NATOMS command"); @@ -917,7 +917,7 @@ void FixMDIQM::send_natoms() ierr = MDI_Send(&n, 1, MDI_INT, mdicomm); if (ierr) error->all(FLERR, "MDI: >NATOMS data"); - + } else { ierr = MDI_Send_command("all(FLERR, "MDI: tag_enable) + + if (!atom->tag_enable) error->all(FLERR,"Fix mdi/qmmm requires atom IDs be defined"); - if (atom->map_style == Atom::MAP_NONE) + if (atom->map_style == Atom::MAP_NONE) error->all(FLERR,"Fix mdi/qmmm requires an atom map be defined"); // confirm LAMMPS is being run as a driver @@ -62,7 +62,7 @@ FixMDIQMMM::FixMDIQMMM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) if (strcmp(arg[3],"direct") == 0) mode = DIRECT; else if (strcmp(arg[3],"potential") == 0) mode = POTENTIAL; else error->all(FLERR,"Illegal fix mdi/qmmm command"); - + // optional args virialflag = 0; @@ -75,7 +75,7 @@ FixMDIQMMM::FixMDIQMMM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) // not supported for now error->all(FLERR,"Fix mdi/qmmm command does not yet support virial option"); - + if (iarg + 2 > narg) error->all(FLERR, "Illegal fix mdi/qmmm command"); if (strcmp(arg[iarg + 1], "yes") == 0) virialflag = 1; @@ -138,7 +138,7 @@ FixMDIQMMM::FixMDIQMMM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) size_vector = 6; } */ - + energy_global_flag = 1; thermo_energy = thermo_virial = 1; @@ -152,16 +152,16 @@ FixMDIQMMM::FixMDIQMMM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) nprocs = comm->nprocs; bigint ngroup = group->count(igroup); - + if (ngroup == 0) error->all(FLERR,"Fix mdi/qmmm has no atoms in quantum group"); if (ngroup == atom->natoms) error->all(FLERR,"Fix mdi/qmmm has all atoms in quantum group"); - if (3*ngroup > MAXSMALLINT) + if (3*ngroup > MAXSMALLINT) error->all(FLERR,"Fix mdi/qmmm quantum group has too many atoms"); nqm = ngroup; nmm = atom->natoms - nqm; - + // QM atom memory - + memory->create(qmIDs,nqm,"mdi/qmmm:qmIDs"); memory->create(xqm,nqm,3,"mdi/qmmm:xqm"); memory->create(fqm,nqm,3,"mdi/qmmm:fqm"); @@ -185,17 +185,17 @@ FixMDIQMMM::FixMDIQMMM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) memory->create(qmm_mine,nmm,"mdi/qmmm:qmm_mine"); memory->create(emm_mine,nmm,"mdi/qmmm:emm_mine"); memory->create(mm2owned,nmm,"mdi/qmmm:mm2owned"); - + // create ordered list of QM and MM atoms IDs create_qm_list(); create_mm_list(); - + // peratom Coulombic energy ecoul = nullptr; ncoulmax = 0; - + // mdicomm will be initialized in init() // cannot do here for a plugin library, b/c mdi plugin command comes later @@ -350,7 +350,7 @@ void FixMDIQMMM::init() // DIRECT only: number of MM atoms, MM elements, MM charges // NOTE: could test if QM code alreads has NATOMS, which implies it set up itself // similar to fix mdi/qm - + if (first_send) { first_send = 0; @@ -365,7 +365,7 @@ void FixMDIQMMM::init() set_qm2owned(); set_eqm(); - + ierr = MDI_Send_command(">ELEMENTS", mdicomm); if (ierr) error->all(FLERR, "MDI: >ELEMENTS command"); ierr = MDI_Send(eqm, nqm, MDI_INT, mdicomm); @@ -379,7 +379,7 @@ void FixMDIQMMM::init() set_mm2owned(); set_emm(); - + ierr = MDI_Send_command(">LATTICE_ELEMENTS", mdicomm); if (ierr) error->all(FLERR, "MDI: >LATTICE_ELEMENTS command"); ierr = MDI_Send(emm, nmm, MDI_INT, mdicomm); @@ -536,21 +536,21 @@ void FixMDIQMMM::pre_force(int /*vflag*/) // fqm = forces on QM atoms // qqm = new charges on QM atoms // qm_energy = QM contribution to energy of entire system - + //if (comm->me == 0) utils::logmesg(lmp, "Invoking QM code ...\n"); //MPI_Barrier(world); //double tstart = platform::walltime(); int ierr; - + // send current coords of QM atoms to MDI engine ierr = MDI_Send_command(">COORDS", mdicomm); if (ierr) error->all(FLERR, "MDI: >COORDS command"); ierr = MDI_Send(&xqm[0][0], 3 * nqm, MDI_DOUBLE, mdicomm); if (ierr) error->all(FLERR, "MDI: >COORDS data"); - + // send Coulomb potential of QM atoms to MDI engine ierr = MDI_Send_command(">POTENTIAL_AT_NUCLEI", mdicomm); @@ -585,10 +585,10 @@ void FixMDIQMMM::pre_force(int /*vflag*/) MPI_Bcast(qqm, nqm, MPI_DOUBLE, 0, world); // end of MDI calls - + //MPI_Barrier(world); - - //if (comm->me == 0) + + //if (comm->me == 0) // utils::logmesg(lmp, " time = {:.3f} seconds\n", // platform::walltime() - tstart); @@ -616,10 +616,10 @@ void FixMDIQMMM::pre_force(int /*vflag*/) // NOTE: what about check in force_clear() for external_force_clear = OPENMP ? // NOTE: what will whichflag be for single snapshot compute of QMMM forces ? - if (update->whichflag == 1) - update->integrate->force_clear(); - else if (update->whichflag == 2) - update->minimize->force_clear(); + if (update->whichflag == 1) + update->integrate->force_clear(); + else if (update->whichflag == 2) + update->minimize->force_clear(); } /* ---------------------------------------------------------------------- @@ -646,7 +646,7 @@ void FixMDIQMMM::post_force_direct(int /*vflag*/) // setup MM inputs: // xmm = atom coords // qmm = charges on MM atoms - + set_xqm(); set_xmm(); set_qmm(); @@ -676,7 +676,7 @@ void FixMDIQMMM::post_force_direct(int /*vflag*/) // qm_energy = QM contribution to energy of entire system // fqm = forces on QM atoms // fmm = forces on MM atoms - + //if (comm->me == 0) utils::logmesg(lmp, "Invoking QM code ...\n"); //MPI_Barrier(world); @@ -686,16 +686,16 @@ void FixMDIQMMM::post_force_direct(int /*vflag*/) // NOTE: add send_box() call when needed for NPT int ierr; - + // send current coords of QM atoms to MDI engine - + ierr = MDI_Send_command(">COORDS", mdicomm); if (ierr) error->all(FLERR, "MDI: >COORDS command"); ierr = MDI_Send(&xqm[0][0], 3 * nqm, MDI_DOUBLE, mdicomm); if (ierr) error->all(FLERR, "MDI: >COORDS data"); // send current coords of MM atoms to MDI engine - + ierr = MDI_Send_command(">CLATTICE", mdicomm); if (ierr) error->all(FLERR, "MDI: >CLATTICE command"); ierr = MDI_Send(&xmm[0][0], 3 * nmm, MDI_DOUBLE, mdicomm); @@ -712,7 +712,7 @@ void FixMDIQMMM::post_force_direct(int /*vflag*/) MPI_Bcast(&qm_energy, 1, MPI_DOUBLE, 0, world); // request forces on QM atoms from MDI engine - + ierr = MDI_Send_command("all(FLERR, "MDI: all(FLERR, "MDI: me == 0) + //if (comm->me == 0) // utils::logmesg(lmp, " time = {:.3f} seconds\n", // platform::walltime() - tstart); @@ -796,7 +796,7 @@ void FixMDIQMMM::post_force_potential(int /*vflag*/) // NOTE: some codes like NWChem may perform this operation themselves // need to have a fix mdi/qmmm option for this, or different mode ? - + /* double **x = atom->x; double **f = atom->f; @@ -814,7 +814,7 @@ void FixMDIQMMM::post_force_potential(int /*vflag*/) // skip if neither atom is owned if (ilocal < 0 && jlocal < 0) continue; - + delta[0] = xqm[i][0] - xqm[j][0]; delta[1] = xqm[i][1] - xqm[j][1]; delta[2] = xqm[i][2] - xqm[j][2]; @@ -847,7 +847,7 @@ void FixMDIQMMM::post_force_potential(int /*vflag*/) } // sum eqm_mine across procs, use it to adjust qmenergy - + double eqm; MPI_Allreduce(&eqm_mine,&eqm,1,MPI_DOUBLE,MPI_SUM,world); @@ -1020,10 +1020,10 @@ void FixMDIQMMM::create_qm_list() int nqm_mine = 0; for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) nqm_mine++; - + tagint *qmIDs_mine; memory->create(qmIDs_mine,nqm_mine,"mdi/qmmm:qmIDs_mine"); - + nqm_mine = 0; for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) qmIDs_mine[nqm_mine++] = tag[i]; @@ -1037,10 +1037,10 @@ void FixMDIQMMM::create_qm_list() displs[0] = 0; for (int iproc = 1; iproc < nprocs; iproc++) displs[iproc] = displs[iproc-1] + recvcounts[iproc-1]; - + MPI_Allgatherv(qmIDs_mine,nqm_mine,MPI_LMP_TAGINT,qmIDs,recvcounts,displs, MPI_LMP_TAGINT,world); - + memory->destroy(qmIDs_mine); memory->destroy(recvcounts); memory->destroy(displs); @@ -1087,10 +1087,10 @@ void FixMDIQMMM::create_mm_list() int nmm_mine = 0; for (int i = 0; i < nlocal; i++) if (!(mask[i] & groupbit)) nmm_mine++; - + tagint *mmIDs_mine; memory->create(mmIDs_mine,nmm_mine,"mdi/qmmm:mmIDs_mine"); - + nmm_mine = 0; for (int i = 0; i < nlocal; i++) if (!(mask[i] & groupbit)) mmIDs_mine[nmm_mine++] = tag[i]; @@ -1104,10 +1104,10 @@ void FixMDIQMMM::create_mm_list() displs[0] = 0; for (int iproc = 1; iproc < nprocs; iproc++) displs[iproc] = displs[iproc-1] + recvcounts[iproc-1]; - + MPI_Allgatherv(mmIDs_mine,nmm_mine,MPI_LMP_TAGINT,mmIDs,recvcounts,displs, MPI_LMP_TAGINT,world); - + memory->destroy(mmIDs_mine); memory->destroy(recvcounts); memory->destroy(displs); @@ -1188,7 +1188,7 @@ void FixMDIQMMM::set_qqm() ilocal = qm2owned[i]; if (ilocal >= 0) qqm_mine[i] = q[ilocal]; } - + MPI_Allreduce(qqm_mine,qqm,nqm,MPI_DOUBLE,MPI_SUM,world); } @@ -1200,12 +1200,12 @@ void FixMDIQMMM::set_eqm() int *type = atom->type; int ilocal; - + for (int i = 0; i < nqm; i++) { ilocal = qm2owned[i]; if (ilocal >= 0) eqm_mine[i] = elements[type[ilocal]]; } - + MPI_Allreduce(eqm_mine,eqm,nqm,MPI_INT,MPI_SUM,world); } @@ -1244,12 +1244,12 @@ void FixMDIQMMM::set_emm() int *type = atom->type; int ilocal; - + for (int i = 0; i < nmm; i++) { ilocal = mm2owned[i]; if (ilocal >= 0) emm_mine[i] = elements[type[ilocal]]; } - + MPI_Allreduce(emm_mine,emm,nmm,MPI_INT,MPI_SUM,world); } @@ -1266,7 +1266,7 @@ void FixMDIQMMM::set_qmm() ilocal = mm2owned[i]; if (ilocal >= 0) qmm_mine[i] = q[ilocal]; } - + MPI_Allreduce(qmm_mine,qmm,nmm,MPI_DOUBLE,MPI_SUM,world); } @@ -1333,7 +1333,7 @@ void FixMDIQMMM::send_box() cell[8] = domain->boxhi[2] - domain->boxlo[2]; // convert from LAMMPS to MDI units - + for (int icell = 0; icell < 9; icell++) cell[icell] *= lmp2mdi_length; ierr = MDI_Send(cell, 9, MDI_DOUBLE, mdicomm); diff --git a/src/MDI/fix_mdi_qmmm.h b/src/MDI/fix_mdi_qmmm.h index 3707b93221..265c4d4a37 100644 --- a/src/MDI/fix_mdi_qmmm.h +++ b/src/MDI/fix_mdi_qmmm.h @@ -49,7 +49,7 @@ class FixMDIQMMM : public Fix { double compute_scalar() override; double memory_usage() override; - + private: int nprocs; int virialflag, connectflag; @@ -61,14 +61,14 @@ class FixMDIQMMM : public Fix { int lmpunits; // REAL, METAL, or NATIVE int first_send; // 1 until initial info passed to MDI engine - + double qm_energy; double qm_virial[9], qm_virial_symmetric[6]; MDI_Comm mdicomm; class Pair *pair_coul; // ptr to instance of pair coul variant - + // data for QM portion int nqm; // # of QM atoms @@ -83,7 +83,7 @@ class FixMDIQMMM : public Fix { int *eqm_mine; int *qm2owned; // index of local atom for each QM atom // index = -1 if this proc does not own - + double *ecoul; // peratom Coulombic energy from LAMMPS int ncoulmax; // length of ecoul @@ -114,10 +114,10 @@ class FixMDIQMMM : public Fix { void create_qm_list(); void create_mm_list(); - + void set_qm2owned(); void set_mm2owned(); - + void set_eqm(); void set_tqm(); void set_qqm(); @@ -126,7 +126,7 @@ class FixMDIQMMM : public Fix { void set_emm(); void set_qmm(); void set_xmm(); - + void send_box(); void unit_conversions(); diff --git a/src/MDI/mdi_plugin.cpp b/src/MDI/mdi_plugin.cpp index c3624ee24b..f02ec3bf57 100644 --- a/src/MDI/mdi_plugin.cpp +++ b/src/MDI/mdi_plugin.cpp @@ -64,7 +64,7 @@ MDIPlugin::MDIPlugin(LAMMPS *_lmp, int narg, char **arg) : Pointers(_lmp) extra_arg = arg[iarg + 1]; // do variable substitution in multiple word extra_arg - + int ncopy = strlen(extra_arg) + 1; char *copy = utils::strdup(extra_arg); char *work = new char[ncopy]; @@ -72,14 +72,14 @@ MDIPlugin::MDIPlugin(LAMMPS *_lmp, int narg, char **arg) : Pointers(_lmp) input->substitute(copy,work,ncopy,nwork,0); delete[] work; extra_arg = copy; - + iarg += 2; } else if (strcmp(arg[iarg], "command") == 0) { if (iarg + 2 > narg) error->all(FLERR, "Illegal mdi plugin command"); lammps_command = arg[iarg + 1]; // do variable substitution in multiple word lammps_command - + int ncopy = strlen(lammps_command) + 1; char *copy = utils::strdup(lammps_command); char *work = new char[ncopy]; From 27f07206f691c3e6f56ec6ddb283363fb5510029 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Wed, 22 Feb 2023 17:15:13 +0200 Subject: [PATCH 113/448] Include method declaration in angle_harmonic.h --- src/MOLECULE/angle_harmonic.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/MOLECULE/angle_harmonic.h b/src/MOLECULE/angle_harmonic.h index c50df2ab4e..284a5316ef 100644 --- a/src/MOLECULE/angle_harmonic.h +++ b/src/MOLECULE/angle_harmonic.h @@ -35,6 +35,7 @@ class AngleHarmonic : public Angle { void read_restart(FILE *) override; void write_data(FILE *) override; double single(int, int, int, int) override; + void born_matrix(int type, int i1, int i2, int i3, double &du, double &du2) override; void *extract(const char *, int &) override; protected: From c1a37ac00fc0a5b67a8187c112161ab9430c434e Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Wed, 22 Feb 2023 17:16:56 +0200 Subject: [PATCH 114/448] Implement born_matrix in angle_harmonic.cpp --- src/MOLECULE/angle_harmonic.cpp | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/MOLECULE/angle_harmonic.cpp b/src/MOLECULE/angle_harmonic.cpp index 4d0683b9bc..64f1c62f1e 100644 --- a/src/MOLECULE/angle_harmonic.cpp +++ b/src/MOLECULE/angle_harmonic.cpp @@ -35,6 +35,7 @@ static constexpr double SMALL = 0.001; AngleHarmonic::AngleHarmonic(LAMMPS *_lmp) : Angle(_lmp) { + born_matrix_enable = 1; k = nullptr; theta0 = nullptr; } @@ -266,6 +267,35 @@ double AngleHarmonic::single(int type, int i1, int i2, int i3) return tk * dtheta; } +/* ---------------------------------------------------------------------- */ + +void AngleHarmonic::born_matrix(int type, int i1, int i2, int i3, double &du, double &du2) +{ + double **x = atom->x; + + double delx1 = x[i1][0] - x[i2][0]; + double dely1 = x[i1][1] - x[i2][1]; + double delz1 = x[i1][2] - x[i2][2]; + domain->minimum_image(delx1,dely1,delz1); + double r1 = sqrt(delx1*delx1 + dely1*dely1 + delz1*delz1); + + double delx2 = x[i3][0] - x[i2][0]; + double dely2 = x[i3][1] - x[i2][1]; + double delz2 = x[i3][2] - x[i2][2]; + domain->minimum_image(delx2,dely2,delz2); + double r2 = sqrt(delx2*delx2 + dely2*dely2 + delz2*delz2); + + double c = delx1*delx2 + dely1*dely2 + delz1*delz2; + c /= r1*r2; + if (c > 1.0) c = 1.0; + if (c < -1.0) c = -1.0; + double theta = acos(c); + + double dtheta = theta - theta0[type]; + du = -2 * k[type] * dtheta / sin(theta); + du2 = 2 * k[type] * (sin(theta) - dtheta * cos(theta)) / pow(sin(theta), 3) +} + /* ---------------------------------------------------------------------- return ptr to internal members upon request ------------------------------------------------------------------------ */ From 4814578d85a5ca089b2ac1d9dfbd97e0a2f1a8a9 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Wed, 22 Feb 2023 17:22:17 +0200 Subject: [PATCH 115/448] Fixing missing semicolon --- src/MOLECULE/angle_harmonic.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/MOLECULE/angle_harmonic.cpp b/src/MOLECULE/angle_harmonic.cpp index 64f1c62f1e..e9f1c528ef 100644 --- a/src/MOLECULE/angle_harmonic.cpp +++ b/src/MOLECULE/angle_harmonic.cpp @@ -293,7 +293,7 @@ void AngleHarmonic::born_matrix(int type, int i1, int i2, int i3, double &du, do double dtheta = theta - theta0[type]; du = -2 * k[type] * dtheta / sin(theta); - du2 = 2 * k[type] * (sin(theta) - dtheta * cos(theta)) / pow(sin(theta), 3) + du2 = 2 * k[type] * (sin(theta) - dtheta * cos(theta)) / pow(sin(theta), 3); } /* ---------------------------------------------------------------------- From 1411d48d9e1b480764cf3ec663db63468d33f1ea Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Feb 2023 10:09:29 -0500 Subject: [PATCH 116/448] prepare fix wall argument parser to support wall/lepton and wall/table --- src/fix_wall.cpp | 76 ++++++++++++++++++++++++++++++------------------ src/fix_wall.h | 4 +-- 2 files changed, 50 insertions(+), 30 deletions(-) diff --git a/src/fix_wall.cpp b/src/fix_wall.cpp index d624ee9ff7..4477b7b22d 100644 --- a/src/fix_wall.cpp +++ b/src/fix_wall.cpp @@ -53,14 +53,21 @@ FixWall::FixWall(LAMMPS *lmp, int narg, char **arg) : fldflag = 0; int pbcflag = 0; - for (int i = 0; i < 6; i++) xstr[i] = estr[i] = sstr[i] = nullptr; + for (int i = 0; i < 6; i++) xstr[i] = estr[i] = sstr[i] = lstr[i] = tstr[i] = nullptr; int iarg = 3; + tabfile = nullptr; + if (utils::strmatch(style, "^wall/table")) { + if (iarg + 1 > narg) error->all(FLERR, "Missing argument for fix {} command", style); + tabfile = arg[iarg]; + ++iarg; + } + while (iarg < narg) { if ((strcmp(arg[iarg],"xlo") == 0) || (strcmp(arg[iarg],"xhi") == 0) || (strcmp(arg[iarg],"ylo") == 0) || (strcmp(arg[iarg],"yhi") == 0) || (strcmp(arg[iarg],"zlo") == 0) || (strcmp(arg[iarg],"zhi") == 0)) { - if (iarg+5 > narg) error->all(FLERR,"Illegal fix wall command"); + if (iarg + 4 > narg) error->all(FLERR, "Missing argument for fix {} command", style); int newwall; if (strcmp(arg[iarg],"xlo") == 0) newwall = XLO; @@ -89,37 +96,50 @@ FixWall::FixWall(LAMMPS *lmp, int narg, char **arg) : coord0[nwall] = utils::numeric(FLERR,arg[iarg+1],false,lmp); } - if (utils::strmatch(arg[iarg+2],"^v_")) { - estr[nwall] = utils::strdup(arg[iarg+2]+2); - estyle[nwall] = VARIABLE; + if (utils::strmatch(style, "^wall/lepton")) { + lstr[nwall] = utils::strdup(arg[iarg + 2]); + cutoff[nwall] = utils::numeric(FLERR, arg[iarg + 3], false, lmp); + nwall++; + iarg += 4; + } else if (utils::strmatch(style, "^wall/table")) { + tstr[nwall] = utils::strdup(arg[iarg + 2]); + cutoff[nwall] = utils::numeric(FLERR, arg[iarg + 3], false, lmp); + nwall++; + iarg += 4; } else { - epsilon[nwall] = utils::numeric(FLERR,arg[iarg+2],false,lmp); - estyle[nwall] = CONSTANT; - } + if (iarg + 5 > narg) error->all(FLERR, "Missing argument for fix {} command", style); - if (utils::strmatch(style,"^wall/morse")) { - if (utils::strmatch(arg[iarg+3],"^v_")) { - astr[nwall] = utils::strdup(arg[iarg+3]+2); - astyle[nwall] = VARIABLE; + if (utils::strmatch(arg[iarg + 2], "^v_")) { + estr[nwall] = utils::strdup(arg[iarg + 2] + 2); + estyle[nwall] = VARIABLE; } else { - alpha[nwall] = utils::numeric(FLERR,arg[iarg+3],false,lmp); - astyle[nwall] = CONSTANT; + epsilon[nwall] = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + estyle[nwall] = CONSTANT; } - ++iarg; + + if (utils::strmatch(style, "^wall/morse")) { + if (utils::strmatch(arg[iarg + 3], "^v_")) { + astr[nwall] = utils::strdup(arg[iarg + 3] + 2); + astyle[nwall] = VARIABLE; + } else { + alpha[nwall] = utils::numeric(FLERR, arg[iarg + 3], false, lmp); + astyle[nwall] = CONSTANT; + } + ++iarg; + } + + if (utils::strmatch(arg[iarg + 3], "^v_")) { + sstr[nwall] = utils::strdup(arg[iarg + 3] + 2); + sstyle[nwall] = VARIABLE; + } else { + sigma[nwall] = utils::numeric(FLERR, arg[iarg + 3], false, lmp); + sstyle[nwall] = CONSTANT; + } + cutoff[nwall] = utils::numeric(FLERR, arg[iarg + 4], false, lmp); + nwall++; + iarg += 5; } - - if (utils::strmatch(arg[iarg+3],"^v_")) { - sstr[nwall] = utils::strdup(arg[iarg+3]+2); - sstyle[nwall] = VARIABLE; - } else { - sigma[nwall] = utils::numeric(FLERR,arg[iarg+3],false,lmp); - sstyle[nwall] = CONSTANT; - } - - cutoff[nwall] = utils::numeric(FLERR,arg[iarg+4],false,lmp); - nwall++; - iarg += 5; - + } else if (strcmp(arg[iarg], "units") == 0) { } else if (strcmp(arg[iarg],"units") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix wall command"); if (strcmp(arg[iarg+1],"box") == 0) scaleflag = 0; diff --git a/src/fix_wall.h b/src/fix_wall.h index 32fccea2b3..8fd0ef6910 100644 --- a/src/fix_wall.h +++ b/src/fix_wall.h @@ -50,8 +50,8 @@ class FixWall : public Fix { double xscale, yscale, zscale; int estyle[6], sstyle[6], astyle[6], wstyle[6]; int eindex[6], sindex[6]; - char *estr[6], *sstr[6], *astr[6]; - int varflag; // 1 if any wall position,epsilon,sigma is a var + char *estr[6], *sstr[6], *astr[6], *lstr[6], *tstr[6], *tabfile; + int varflag; // 1 if any wall position,epsilon,sigma is a variable int eflag; // per-wall flag for energy summation int ilevel_respa; int fldflag; From 94ac3895f982d4a9b945213e3e256b76fa4187b9 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Feb 2023 10:10:15 -0500 Subject: [PATCH 117/448] enable and apply clang-format, improve error messages. --- src/fix_wall.cpp | 185 ++++++++++++++++++++++++++--------------------- 1 file changed, 103 insertions(+), 82 deletions(-) diff --git a/src/fix_wall.cpp b/src/fix_wall.cpp index 4477b7b22d..cbea053dab 100644 --- a/src/fix_wall.cpp +++ b/src/fix_wall.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -28,14 +27,14 @@ using namespace LAMMPS_NS; using namespace FixConst; -enum{XLO=0,XHI=1,YLO=2,YHI=3,ZLO=4,ZHI=5}; -enum{NONE=0,EDGE,CONSTANT,VARIABLE}; +enum { XLO = 0, XHI = 1, YLO = 2, YHI = 3, ZLO = 4, ZHI = 5 }; +enum { NONE = 0, EDGE, CONSTANT, VARIABLE }; + +static const char *wallpos[] = {"xlo", "xhi", "ylo", "yhi", "zlo", "zhi"}; /* ---------------------------------------------------------------------- */ -FixWall::FixWall(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg), - nwall(0) +FixWall::FixWall(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), nwall(0) { scalar_flag = 1; vector_flag = 1; @@ -64,36 +63,46 @@ FixWall::FixWall(LAMMPS *lmp, int narg, char **arg) : } while (iarg < narg) { - if ((strcmp(arg[iarg],"xlo") == 0) || (strcmp(arg[iarg],"xhi") == 0) || - (strcmp(arg[iarg],"ylo") == 0) || (strcmp(arg[iarg],"yhi") == 0) || - (strcmp(arg[iarg],"zlo") == 0) || (strcmp(arg[iarg],"zhi") == 0)) { + if ((strcmp(arg[iarg], "xlo") == 0) || (strcmp(arg[iarg], "xhi") == 0) || + (strcmp(arg[iarg], "ylo") == 0) || (strcmp(arg[iarg], "yhi") == 0) || + (strcmp(arg[iarg], "zlo") == 0) || (strcmp(arg[iarg], "zhi") == 0)) { if (iarg + 4 > narg) error->all(FLERR, "Missing argument for fix {} command", style); int newwall; - if (strcmp(arg[iarg],"xlo") == 0) newwall = XLO; - else if (strcmp(arg[iarg],"xhi") == 0) newwall = XHI; - else if (strcmp(arg[iarg],"ylo") == 0) newwall = YLO; - else if (strcmp(arg[iarg],"yhi") == 0) newwall = YHI; - else if (strcmp(arg[iarg],"zlo") == 0) newwall = ZLO; - else if (strcmp(arg[iarg],"zhi") == 0) newwall = ZHI; - - for (int m = 0; (m < nwall) && (m < 6); m++) + if (strcmp(arg[iarg], "xlo") == 0) { + newwall = XLO; + } else if (strcmp(arg[iarg], "xhi") == 0) { + newwall = XHI; + } else if (strcmp(arg[iarg], "ylo") == 0) { + newwall = YLO; + } else if (strcmp(arg[iarg], "yhi") == 0) { + newwall = YHI; + } else if (strcmp(arg[iarg], "zlo") == 0) { + newwall = ZLO; + } else if (strcmp(arg[iarg], "zhi") == 0) { + newwall = ZHI; + } + for (int m = 0; (m < nwall) && (m < 6); m++) { if (newwall == wallwhich[m]) - error->all(FLERR,"Wall defined twice in fix wall command"); - + error->all(FLERR, "{} wall defined twice in fix {} command", wallpos[newwall], style); + } wallwhich[nwall] = newwall; - if (strcmp(arg[iarg+1],"EDGE") == 0) { + + if (strcmp(arg[iarg + 1], "EDGE") == 0) { xstyle[nwall] = EDGE; int dim = wallwhich[nwall] / 2; int side = wallwhich[nwall] % 2; - if (side == 0) coord0[nwall] = domain->boxlo[dim]; - else coord0[nwall] = domain->boxhi[dim]; - } else if (utils::strmatch(arg[iarg+1],"^v_")) { + if (side == 0) { + coord0[nwall] = domain->boxlo[dim]; + } else { + coord0[nwall] = domain->boxhi[dim]; + } + } else if (utils::strmatch(arg[iarg + 1], "^v_")) { xstyle[nwall] = VARIABLE; - xstr[nwall] = utils::strdup(arg[iarg+1]+2); + xstr[nwall] = utils::strdup(arg[iarg + 1] + 2); } else { xstyle[nwall] = CONSTANT; - coord0[nwall] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + coord0[nwall] = utils::numeric(FLERR, arg[iarg + 1], false, lmp); } if (utils::strmatch(style, "^wall/lepton")) { @@ -140,44 +149,48 @@ FixWall::FixWall(LAMMPS *lmp, int narg, char **arg) : iarg += 5; } } else if (strcmp(arg[iarg], "units") == 0) { - } else if (strcmp(arg[iarg],"units") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix wall command"); - if (strcmp(arg[iarg+1],"box") == 0) scaleflag = 0; - else if (strcmp(arg[iarg+1],"lattice") == 0) scaleflag = 1; - else error->all(FLERR,"Illegal fix wall command"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal fix {} command", style); + if (strcmp(arg[iarg + 1], "box") == 0) + scaleflag = 0; + else if (strcmp(arg[iarg + 1], "lattice") == 0) + scaleflag = 1; + else + error->all(FLERR, "Illegal fix {} command", style); iarg += 2; - } else if (strcmp(arg[iarg],"fld") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix wall command"); - fldflag = utils::logical(FLERR,arg[iarg+1],false,lmp); + } else if (strcmp(arg[iarg], "fld") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal fix {} command", style); + fldflag = utils::logical(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"pbc") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix wall command"); - pbcflag = utils::logical(FLERR,arg[iarg+1],false,lmp); + } else if (strcmp(arg[iarg], "pbc") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal fix {} command", style); + pbcflag = utils::logical(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else error->all(FLERR,"Illegal fix wall command"); + } else + error->all(FLERR, "Illegal fix {} command", style); } size_vector = nwall; // error checks - if (nwall == 0) error->all(FLERR,"Illegal fix wall command"); - for (int m = 0; m < nwall; m++) + if (nwall == 0) error->all(FLERR, "Illegal fix {} command: no walls defined", style); + for (int m = 0; m < nwall; m++) { if (cutoff[m] <= 0.0) - error->all(FLERR,"Fix wall cutoff <= 0.0"); + error->all(FLERR, "Fix {} cutoff <= 0.0 for {} wall", style, wallpos[wallwhich[m]]); + } for (int m = 0; m < nwall; m++) if ((wallwhich[m] == ZLO || wallwhich[m] == ZHI) && domain->dimension == 2) - error->all(FLERR,"Cannot use fix wall zlo/zhi for a 2d simulation"); + error->all(FLERR, "Cannot use fix {} zlo/zhi for a 2d simulation", style); if (!pbcflag) { for (int m = 0; m < nwall; m++) { if ((wallwhich[m] == XLO || wallwhich[m] == XHI) && domain->xperiodic) - error->all(FLERR,"Cannot use fix wall in periodic dimension"); + error->all(FLERR, "Cannot use {} wall in periodic x dimension", wallpos[wallwhich[m]]); if ((wallwhich[m] == YLO || wallwhich[m] == YHI) && domain->yperiodic) - error->all(FLERR,"Cannot use fix wall in periodic dimension"); + error->all(FLERR, "Cannot use {} wall in periodic y dimension", wallpos[wallwhich[m]]); if ((wallwhich[m] == ZLO || wallwhich[m] == ZHI) && domain->zperiodic) - error->all(FLERR,"Cannot use fix wall in periodic dimension"); + error->all(FLERR, "Cannot use {} wall in periodic z dimension", wallpos[wallwhich[m]]); } } @@ -192,14 +205,17 @@ FixWall::FixWall(LAMMPS *lmp, int narg, char **arg) : xscale = domain->lattice->xlattice; yscale = domain->lattice->ylattice; zscale = domain->lattice->zlattice; - } - else xscale = yscale = zscale = 1.0; + } else + xscale = yscale = zscale = 1.0; for (int m = 0; m < nwall; m++) { if (xstyle[m] != CONSTANT) continue; - if (wallwhich[m] < YLO) coord0[m] *= xscale; - else if (wallwhich[m] < ZLO) coord0[m] *= yscale; - else coord0[m] *= zscale; + if (wallwhich[m] < YLO) + coord0[m] *= xscale; + else if (wallwhich[m] < ZLO) + coord0[m] *= yscale; + else + coord0[m] *= zscale; } } @@ -211,8 +227,10 @@ FixWall::FixWall(LAMMPS *lmp, int narg, char **arg) : for (int m = 0; m < nwall; m++) { if (xstyle[m] == VARIABLE) xflag = 1; if (xflag || estyle[m] == VARIABLE || sstyle[m] == VARIABLE) varflag = 1; - if (estyle[m] == VARIABLE || sstyle[m] == VARIABLE) wstyle[m] = VARIABLE; - else wstyle[m] = CONSTANT; + if (estyle[m] == VARIABLE || sstyle[m] == VARIABLE) + wstyle[m] = VARIABLE; + else + wstyle[m] = CONSTANT; } eflag = 0; @@ -226,9 +244,11 @@ FixWall::~FixWall() if (copymode) return; for (int m = 0; m < nwall; m++) { - delete [] xstr[m]; - delete [] estr[m]; - delete [] sstr[m]; + delete[] xstr[m]; + delete[] estr[m]; + delete[] sstr[m]; + delete[] lstr[m]; + delete[] tstr[m]; } } @@ -240,8 +260,10 @@ int FixWall::setmask() // FLD implicit needs to invoke wall forces before pair style - if (fldflag) mask |= PRE_FORCE; - else mask |= POST_FORCE; + if (fldflag) + mask |= PRE_FORCE; + else + mask |= POST_FORCE; mask |= POST_FORCE_RESPA; mask |= MIN_POST_FORCE; @@ -255,24 +277,21 @@ void FixWall::init() for (int m = 0; m < nwall; m++) { if (xstyle[m] == VARIABLE) { xindex[m] = input->variable->find(xstr[m]); - if (xindex[m] < 0) - error->all(FLERR,"Variable name for fix wall does not exist"); + if (xindex[m] < 0) error->all(FLERR, "Variable name for fix wall does not exist"); if (!input->variable->equalstyle(xindex[m])) - error->all(FLERR,"Variable for fix wall is invalid style"); + error->all(FLERR, "Variable for fix wall is invalid style"); } if (estyle[m] == VARIABLE) { eindex[m] = input->variable->find(estr[m]); - if (eindex[m] < 0) - error->all(FLERR,"Variable name for fix wall does not exist"); + if (eindex[m] < 0) error->all(FLERR, "Variable name for fix wall does not exist"); if (!input->variable->equalstyle(eindex[m])) - error->all(FLERR,"Variable for fix wall is invalid style"); + error->all(FLERR, "Variable for fix wall is invalid style"); } if (sstyle[m] == VARIABLE) { sindex[m] = input->variable->find(sstr[m]); - if (sindex[m] < 0) - error->all(FLERR,"Variable name for fix wall does not exist"); + if (sindex[m] < 0) error->all(FLERR, "Variable name for fix wall does not exist"); if (!input->variable->equalstyle(sindex[m])) - error->all(FLERR,"Variable for fix wall is invalid style"); + error->all(FLERR, "Variable for fix wall is invalid style"); } } @@ -280,9 +299,9 @@ void FixWall::init() for (int m = 0; m < nwall; m++) precompute(m); - if (utils::strmatch(update->integrate_style,"^respa")) { - ilevel_respa = (dynamic_cast(update->integrate))->nlevels-1; - if (respa_level >= 0) ilevel_respa = MIN(respa_level,ilevel_respa); + if (utils::strmatch(update->integrate_style, "^respa")) { + ilevel_respa = (dynamic_cast(update->integrate))->nlevels - 1; + if (respa_level >= 0) ilevel_respa = MIN(respa_level, ilevel_respa); } } @@ -290,11 +309,11 @@ void FixWall::init() void FixWall::setup(int vflag) { - if (utils::strmatch(update->integrate_style,"^verlet")) { + if (utils::strmatch(update->integrate_style, "^verlet")) { if (!fldflag) post_force(vflag); } else { (dynamic_cast(update->integrate))->copy_flevel_f(ilevel_respa); - post_force_respa(vflag,ilevel_respa,0); + post_force_respa(vflag, ilevel_respa, 0); (dynamic_cast(update->integrate))->copy_f_flevel(ilevel_respa); } } @@ -339,25 +358,27 @@ void FixWall::post_force(int vflag) for (int m = 0; m < nwall; m++) { if (xstyle[m] == VARIABLE) { coord = input->variable->compute_equal(xindex[m]); - if (wallwhich[m] < YLO) coord *= xscale; - else if (wallwhich[m] < ZLO) coord *= yscale; - else coord *= zscale; - } else coord = coord0[m]; + if (wallwhich[m] < YLO) + coord *= xscale; + else if (wallwhich[m] < ZLO) + coord *= yscale; + else + coord *= zscale; + } else + coord = coord0[m]; if (wstyle[m] == VARIABLE) { if (estyle[m] == VARIABLE) { epsilon[m] = input->variable->compute_equal(eindex[m]); - if (epsilon[m] < 0.0) - error->all(FLERR,"Variable evaluation in fix wall gave bad value"); + if (epsilon[m] < 0.0) error->all(FLERR, "Variable evaluation in fix wall gave bad value"); } if (sstyle[m] == VARIABLE) { sigma[m] = input->variable->compute_equal(sindex[m]); - if (sigma[m] < 0.0) - error->all(FLERR,"Variable evaluation in fix wall gave bad value"); + if (sigma[m] < 0.0) error->all(FLERR, "Variable evaluation in fix wall gave bad value"); } precompute(m); } - wall_particle(m,wallwhich[m],coord); + wall_particle(m, wallwhich[m], coord); } if (varflag) modify->addstep_compute(update->ntimestep + 1); @@ -386,7 +407,7 @@ double FixWall::compute_scalar() // only sum across procs one time if (eflag == 0) { - MPI_Allreduce(ewall,ewall_all,nwall+1,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(ewall, ewall_all, nwall + 1, MPI_DOUBLE, MPI_SUM, world); eflag = 1; } return ewall_all[0]; @@ -401,8 +422,8 @@ double FixWall::compute_vector(int n) // only sum across procs one time if (eflag == 0) { - MPI_Allreduce(ewall,ewall_all,nwall+1,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(ewall, ewall_all, nwall + 1, MPI_DOUBLE, MPI_SUM, world); eflag = 1; } - return ewall_all[n+1]; + return ewall_all[n + 1]; } From f4d8b2a57af575ccb9560089ebe4fa36e01b31a7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Feb 2023 15:35:09 -0500 Subject: [PATCH 118/448] remove unused namespace import --- src/COLLOID/fix_wall_colloid.cpp | 1 - src/EXTRA-FIX/fix_wall_ees.cpp | 1 - src/EXTRA-FIX/fix_wall_reflect_stochastic.cpp | 1 - src/GRANULAR/fix_wall_gran_region.cpp | 1 - src/KOKKOS/fix_wall_lj93_kokkos.cpp | 1 - src/KOKKOS/fix_wall_reflect_kokkos.cpp | 1 - src/SHOCK/fix_wall_piston.cpp | 20 ++++++++++--------- src/SRD/fix_wall_srd.cpp | 1 - src/fix_wall_harmonic.cpp | 1 - src/fix_wall_lj126.cpp | 1 - src/fix_wall_lj93.cpp | 1 - src/fix_wall_morse.cpp | 1 - 12 files changed, 11 insertions(+), 20 deletions(-) diff --git a/src/COLLOID/fix_wall_colloid.cpp b/src/COLLOID/fix_wall_colloid.cpp index d21856bc60..3160fadb53 100644 --- a/src/COLLOID/fix_wall_colloid.cpp +++ b/src/COLLOID/fix_wall_colloid.cpp @@ -24,7 +24,6 @@ #include using namespace LAMMPS_NS; -using namespace FixConst; /* ---------------------------------------------------------------------- */ diff --git a/src/EXTRA-FIX/fix_wall_ees.cpp b/src/EXTRA-FIX/fix_wall_ees.cpp index bbddd919af..d9bc2a8450 100644 --- a/src/EXTRA-FIX/fix_wall_ees.cpp +++ b/src/EXTRA-FIX/fix_wall_ees.cpp @@ -26,7 +26,6 @@ #include using namespace LAMMPS_NS; -using namespace FixConst; /* ---------------------------------------------------------------------- */ diff --git a/src/EXTRA-FIX/fix_wall_reflect_stochastic.cpp b/src/EXTRA-FIX/fix_wall_reflect_stochastic.cpp index 7899c88473..c0b44530e8 100644 --- a/src/EXTRA-FIX/fix_wall_reflect_stochastic.cpp +++ b/src/EXTRA-FIX/fix_wall_reflect_stochastic.cpp @@ -31,7 +31,6 @@ #include using namespace LAMMPS_NS; -using namespace FixConst; enum{NONE,DIFFUSIVE,MAXWELL,CCL}; diff --git a/src/GRANULAR/fix_wall_gran_region.cpp b/src/GRANULAR/fix_wall_gran_region.cpp index f1bd55a7bc..68afce2b0b 100644 --- a/src/GRANULAR/fix_wall_gran_region.cpp +++ b/src/GRANULAR/fix_wall_gran_region.cpp @@ -29,7 +29,6 @@ #include using namespace LAMMPS_NS; -using namespace FixConst; /* ---------------------------------------------------------------------- */ diff --git a/src/KOKKOS/fix_wall_lj93_kokkos.cpp b/src/KOKKOS/fix_wall_lj93_kokkos.cpp index 03bf6cf8ea..dff47f1c30 100644 --- a/src/KOKKOS/fix_wall_lj93_kokkos.cpp +++ b/src/KOKKOS/fix_wall_lj93_kokkos.cpp @@ -19,7 +19,6 @@ #include "atom_masks.h" using namespace LAMMPS_NS; -using namespace FixConst; /* ---------------------------------------------------------------------- */ diff --git a/src/KOKKOS/fix_wall_reflect_kokkos.cpp b/src/KOKKOS/fix_wall_reflect_kokkos.cpp index 32b9ee61b1..a8a01c1926 100644 --- a/src/KOKKOS/fix_wall_reflect_kokkos.cpp +++ b/src/KOKKOS/fix_wall_reflect_kokkos.cpp @@ -24,7 +24,6 @@ #include using namespace LAMMPS_NS; -using namespace FixConst; enum{XLO=0,XHI=1,YLO=2,YHI=3,ZLO=4,ZHI=5}; enum{NONE=0,EDGE,CONSTANT,VARIABLE}; diff --git a/src/SHOCK/fix_wall_piston.cpp b/src/SHOCK/fix_wall_piston.cpp index 82cec907f4..cb20e2d683 100644 --- a/src/SHOCK/fix_wall_piston.cpp +++ b/src/SHOCK/fix_wall_piston.cpp @@ -13,17 +13,19 @@ ------------------------------------------------------------------------- */ #include "fix_wall_piston.h" + +#include "atom.h" +#include "comm.h" +#include "domain.h" +#include "error.h" +#include "force.h" +#include "lattice.h" +#include "math_const.h" +#include "random_mars.h" +#include "update.h" + #include #include -#include "atom.h" -#include "domain.h" -#include "lattice.h" -#include "update.h" -#include "error.h" -#include "random_mars.h" -#include "force.h" -#include "comm.h" -#include "math_const.h" using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/SRD/fix_wall_srd.cpp b/src/SRD/fix_wall_srd.cpp index ccce252e5d..d9e55a49f2 100644 --- a/src/SRD/fix_wall_srd.cpp +++ b/src/SRD/fix_wall_srd.cpp @@ -27,7 +27,6 @@ #include using namespace LAMMPS_NS; -using namespace FixConst; enum { XLO, XHI, YLO, YHI, ZLO, ZHI }; enum { NONE, EDGE, CONSTANT, VARIABLE }; diff --git a/src/fix_wall_harmonic.cpp b/src/fix_wall_harmonic.cpp index a8e4127523..0e8fa22684 100644 --- a/src/fix_wall_harmonic.cpp +++ b/src/fix_wall_harmonic.cpp @@ -16,7 +16,6 @@ #include "error.h" using namespace LAMMPS_NS; -using namespace FixConst; /* ---------------------------------------------------------------------- */ diff --git a/src/fix_wall_lj126.cpp b/src/fix_wall_lj126.cpp index 78d9656e7f..f7458448be 100644 --- a/src/fix_wall_lj126.cpp +++ b/src/fix_wall_lj126.cpp @@ -18,7 +18,6 @@ #include "error.h" using namespace LAMMPS_NS; -using namespace FixConst; /* ---------------------------------------------------------------------- */ diff --git a/src/fix_wall_lj93.cpp b/src/fix_wall_lj93.cpp index 1e02b61fe1..7c4db056f9 100644 --- a/src/fix_wall_lj93.cpp +++ b/src/fix_wall_lj93.cpp @@ -18,7 +18,6 @@ #include "error.h" using namespace LAMMPS_NS; -using namespace FixConst; /* ---------------------------------------------------------------------- */ diff --git a/src/fix_wall_morse.cpp b/src/fix_wall_morse.cpp index a1427b380f..7ec3ed2ab5 100644 --- a/src/fix_wall_morse.cpp +++ b/src/fix_wall_morse.cpp @@ -18,7 +18,6 @@ #include using namespace LAMMPS_NS; -using namespace FixConst; /* ---------------------------------------------------------------------- */ From 36ec4a098bb42179c3defb08d562845f1fdf9ba2 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Feb 2023 15:38:35 -0500 Subject: [PATCH 119/448] add fix wall/lepton --- src/LEPTON/fix_wall_lepton.cpp | 139 +++++++++++++++++++++++++++++++++ src/LEPTON/fix_wall_lepton.h | 41 ++++++++++ 2 files changed, 180 insertions(+) create mode 100644 src/LEPTON/fix_wall_lepton.cpp create mode 100644 src/LEPTON/fix_wall_lepton.h diff --git a/src/LEPTON/fix_wall_lepton.cpp b/src/LEPTON/fix_wall_lepton.cpp new file mode 100644 index 0000000000..8438fa8852 --- /dev/null +++ b/src/LEPTON/fix_wall_lepton.cpp @@ -0,0 +1,139 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "fix_wall_lepton.h" +#include "atom.h" +#include "error.h" + +#include "Lepton.h" +#include "lepton_utils.h" + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +FixWallLepton::FixWallLepton(LAMMPS *lmp, int narg, char **arg) : FixWall(lmp, narg, arg) +{ + dynamic_group_allow = 1; +} + +/* ---------------------------------------------------------------------- */ + +void FixWallLepton::post_constructor() +{ + // check validity of lepton expression + + for (int m = 0; m < nwall; ++m) { + // remove whitespace and quotes from expression string and then + // check if the expression can be parsed and evaluated without error + std::string exp_one = LeptonUtils::condense(lstr[m]); + try { + auto parsed = Lepton::Parser::parse(LeptonUtils::substitute(exp_one, lmp)); + auto wallpot = parsed.createCompiledExpression(); + auto wallforce = parsed.differentiate("r").createCompiledExpression(); + wallpot.getVariableReference("r") = 0.0; + wallforce.getVariableReference("r") = 0.0; + wallpot.evaluate(); + wallforce.evaluate(); + } catch (std::exception &e) { + error->all(FLERR, e.what()); + } + } +} + +/* ---------------------------------------------------------------------- + compute the potential energy offset so it can be shifted to zero at the cutoff +------------------------------------------------------------------------- */ + +void FixWallLepton::precompute(int m) +{ + std::string exp_one = LeptonUtils::condense(lstr[m]); + auto parsed = Lepton::Parser::parse(LeptonUtils::substitute(exp_one, lmp)); + auto wallpot = parsed.createCompiledExpression(); + + try { + wallpot.getVariableReference("rc") = cutoff[m]; + } catch (std::exception &) { + ; // do nothing + } + + wallpot.getVariableReference("r") = cutoff[m]; + offset[m] = wallpot.evaluate(); +} + +/* ---------------------------------------------------------------------- + interaction of all particles in group with a wall + m = index of wall coeffs + which = xlo,xhi,ylo,yhi,zlo,zhi + error if any particle is on or behind wall +------------------------------------------------------------------------- */ + +void FixWallLepton::wall_particle(int m, int which, double coord) +{ + std::string exp_one = LeptonUtils::condense(lstr[m]); + auto parsed = Lepton::Parser::parse(LeptonUtils::substitute(exp_one, lmp)); + auto wallpot = parsed.createCompiledExpression(); + auto wallforce = parsed.differentiate("r").createCompiledExpression(); + + // set cutoff value, if used + try { + wallpot.getVariableReference("rc") = cutoff[m]; + wallforce.getVariableReference("rc") = cutoff[m]; + } catch (std::exception &) { + ; // do nothing + } + + double delta, fwall; + double vn; + + double **x = atom->x; + double **f = atom->f; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + int dim = which / 2; + int side = which % 2; + if (side == 0) side = -1; + + int onflag = 0; + + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + if (side < 0) + delta = x[i][dim] - coord; + else + delta = coord - x[i][dim]; + if (delta >= cutoff[m]) continue; + if (delta <= 0.0) { + onflag = 1; + continue; + } + wallpot.getVariableReference("r") = delta; + wallforce.getVariableReference("r") = delta; + + fwall = side * wallforce.evaluate(); + f[i][dim] += fwall; + ewall[0] += wallpot.evaluate() - offset[m]; + ewall[m + 1] += fwall; + + if (evflag) { + if (side < 0) + vn = -fwall * delta; + else + vn = fwall * delta; + v_tally(dim, i, vn); + } + } + } + if (onflag) error->one(FLERR, "Particle on or inside fix {} surface", style); +} diff --git a/src/LEPTON/fix_wall_lepton.h b/src/LEPTON/fix_wall_lepton.h new file mode 100644 index 0000000000..4c1df801c7 --- /dev/null +++ b/src/LEPTON/fix_wall_lepton.h @@ -0,0 +1,41 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef FIX_CLASS +// clang-format off +FixStyle(wall/lepton,FixWallLepton); +// clang-format on +#else + +#ifndef LMP_FIX_WALL_LEPTON_H +#define LMP_FIX_WALL_LEPTON_H + +#include "fix_wall.h" + +namespace LAMMPS_NS { + +class FixWallLepton : public FixWall { + public: + FixWallLepton(class LAMMPS *, int, char **); + void post_constructor() override; + void precompute(int) override; + void wall_particle(int, int, double) override; + + protected: + double offset[6]; +}; + +} // namespace LAMMPS_NS + +#endif +#endif From b12facbd5470d162b4ff779770bb25621f337d47 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Feb 2023 18:46:31 -0500 Subject: [PATCH 120/448] add fix wall/table --- src/LEPTON/fix_wall_lepton.cpp | 3 +- src/fix_wall.cpp | 33 ++- src/fix_wall.h | 2 +- src/fix_wall_table.cpp | 467 +++++++++++++++++++++++++++++++++ src/fix_wall_table.h | 67 +++++ 5 files changed, 552 insertions(+), 20 deletions(-) create mode 100644 src/fix_wall_table.cpp create mode 100644 src/fix_wall_table.h diff --git a/src/LEPTON/fix_wall_lepton.cpp b/src/LEPTON/fix_wall_lepton.cpp index 8438fa8852..a81d3c4edb 100644 --- a/src/LEPTON/fix_wall_lepton.cpp +++ b/src/LEPTON/fix_wall_lepton.cpp @@ -93,8 +93,7 @@ void FixWallLepton::wall_particle(int m, int which, double coord) ; // do nothing } - double delta, fwall; - double vn; + double delta, fwall, vn; double **x = atom->x; double **f = atom->f; diff --git a/src/fix_wall.cpp b/src/fix_wall.cpp index cbea053dab..f7293ffd06 100644 --- a/src/fix_wall.cpp +++ b/src/fix_wall.cpp @@ -52,21 +52,20 @@ FixWall::FixWall(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), nwall fldflag = 0; int pbcflag = 0; - for (int i = 0; i < 6; i++) xstr[i] = estr[i] = sstr[i] = lstr[i] = tstr[i] = nullptr; + for (int i = 0; i < 6; i++) xstr[i] = estr[i] = sstr[i] = lstr[i] = fstr[i] = kstr[i] = nullptr; int iarg = 3; - tabfile = nullptr; - if (utils::strmatch(style, "^wall/table")) { - if (iarg + 1 > narg) error->all(FLERR, "Missing argument for fix {} command", style); - tabfile = arg[iarg]; - ++iarg; - } + if (utils::strmatch(style, "^wall/table")) iarg = 5; while (iarg < narg) { + int wantargs = 5; + if (utils::strmatch(style, "^wall/lepton")) wantargs = 4; + if (utils::strmatch(style, "^wall/morse")) wantargs = 6; + if ((strcmp(arg[iarg], "xlo") == 0) || (strcmp(arg[iarg], "xhi") == 0) || (strcmp(arg[iarg], "ylo") == 0) || (strcmp(arg[iarg], "yhi") == 0) || (strcmp(arg[iarg], "zlo") == 0) || (strcmp(arg[iarg], "zhi") == 0)) { - if (iarg + 4 > narg) error->all(FLERR, "Missing argument for fix {} command", style); + if (iarg + wantargs > narg) error->all(FLERR, "Missing argument for fix {} command", style); int newwall; if (strcmp(arg[iarg], "xlo") == 0) { @@ -108,13 +107,10 @@ FixWall::FixWall(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), nwall if (utils::strmatch(style, "^wall/lepton")) { lstr[nwall] = utils::strdup(arg[iarg + 2]); cutoff[nwall] = utils::numeric(FLERR, arg[iarg + 3], false, lmp); - nwall++; - iarg += 4; } else if (utils::strmatch(style, "^wall/table")) { - tstr[nwall] = utils::strdup(arg[iarg + 2]); - cutoff[nwall] = utils::numeric(FLERR, arg[iarg + 3], false, lmp); - nwall++; - iarg += 4; + fstr[nwall] = utils::strdup(arg[iarg + 2]); + kstr[nwall] = utils::strdup(arg[iarg + 3]); + cutoff[nwall] = utils::numeric(FLERR, arg[iarg + 4], false, lmp); } else { if (iarg + 5 > narg) error->all(FLERR, "Missing argument for fix {} command", style); @@ -134,7 +130,9 @@ FixWall::FixWall(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), nwall alpha[nwall] = utils::numeric(FLERR, arg[iarg + 3], false, lmp); astyle[nwall] = CONSTANT; } + // adjust so we can share the regular code path ++iarg; + --wantargs; } if (utils::strmatch(arg[iarg + 3], "^v_")) { @@ -145,9 +143,9 @@ FixWall::FixWall(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), nwall sstyle[nwall] = CONSTANT; } cutoff[nwall] = utils::numeric(FLERR, arg[iarg + 4], false, lmp); - nwall++; - iarg += 5; } + nwall++; + iarg += wantargs; } else if (strcmp(arg[iarg], "units") == 0) { if (iarg + 2 > narg) error->all(FLERR, "Illegal fix {} command", style); if (strcmp(arg[iarg + 1], "box") == 0) @@ -248,7 +246,8 @@ FixWall::~FixWall() delete[] estr[m]; delete[] sstr[m]; delete[] lstr[m]; - delete[] tstr[m]; + delete[] fstr[m]; + delete[] kstr[m]; } } diff --git a/src/fix_wall.h b/src/fix_wall.h index 8fd0ef6910..12ceb17b49 100644 --- a/src/fix_wall.h +++ b/src/fix_wall.h @@ -50,7 +50,7 @@ class FixWall : public Fix { double xscale, yscale, zscale; int estyle[6], sstyle[6], astyle[6], wstyle[6]; int eindex[6], sindex[6]; - char *estr[6], *sstr[6], *astr[6], *lstr[6], *tstr[6], *tabfile; + char *estr[6], *sstr[6], *astr[6], *lstr[6], *fstr[6], *kstr[6]; int varflag; // 1 if any wall position,epsilon,sigma is a variable int eflag; // per-wall flag for energy summation int ilevel_respa; diff --git a/src/fix_wall_table.cpp b/src/fix_wall_table.cpp new file mode 100644 index 0000000000..c44864a7bd --- /dev/null +++ b/src/fix_wall_table.cpp @@ -0,0 +1,467 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "fix_wall_table.h" +#include "atom.h" +#include "comm.h" +#include "error.h" +#include "memory.h" +#include "table_file_reader.h" +#include "tokenizer.h" + +#include + +using namespace LAMMPS_NS; + +enum { NONE, LINEAR, SPLINE }; + +static constexpr double BIGNUM = 1.0e300; + +/* ---------------------------------------------------------------------- */ + +FixWallTable::FixWallTable(LAMMPS *lmp, int narg, char **arg) : + FixWall(lmp, narg, arg), tables(nullptr) +{ + dynamic_group_allow = 1; + tabstyle = NONE; + if (strcmp(arg[3], "linear") == 0) + tabstyle = LINEAR; + else if (strcmp(arg[3], "spline") == 0) + tabstyle = SPLINE; + else + error->all(FLERR, "Unknown table style {} in fix {}", arg[3], style); + + tablength = utils::inumeric(FLERR, arg[4], false, lmp); + if (tablength < 2) error->all(FLERR, "Illegal number of fix {} table entries", style); +} + +/* ---------------------------------------------------------------------- */ + +void FixWallTable::post_constructor() +{ + memory->sfree(tables); + tables = (Table *) memory->smalloc(nwall * sizeof(Table), "wall:tables"); + + for (int m = 0; m < nwall; ++m) { + Table &tb = tables[m]; + null_table(tb); + + if (comm->me == 0) read_table(tb, fstr[m], kstr[m]); + bcast_table(tb); + + // error check on table parameters + if (tb.ninput <= 1) error->all(FLERR, "Invalid fix {} table length: {}", style, tb.ninput); + tb.lo = tb.rfile[0]; + tb.hi = tb.rfile[tb.ninput - 1]; + if (tb.lo >= tb.hi) error->all(FLERR, "Fix {} table distance values do not increase", style); + if (cutoff[m] > tb.hi) + error->all(FLERR, "Fix {} wall cutoff {} is larger than table outer cutoff {}", style, + cutoff[m], tb.hi); + + // spline read-in data and compute r,e,f arrays within table + spline_table(tb); + compute_table(tb); + } +} + +/* ---------------------------------------------------------------------- */ + +FixWallTable::~FixWallTable() +{ + for (int m = 0; m < nwall; m++) free_table(tables[m]); + memory->sfree(tables); +} + +/* ---------------------------------------------------------------------- + compute the potential energy offset so it can be shifted to zero at the cutoff +------------------------------------------------------------------------- */ + +void FixWallTable::precompute(int m) +{ + double u, mdu; + + uf_lookup(m, cutoff[m], u, mdu); + offset[m] = u; +} + +/* ---------------------------------------------------------------------- + interaction of all particles in group with a wall + m = index of wall coeffs + which = xlo,xhi,ylo,yhi,zlo,zhi + error if any particle is on or behind wall +------------------------------------------------------------------------- */ + +void FixWallTable::wall_particle(int m, int which, double coord) +{ + double delta, fwall, vn, u, mdu; + + double **x = atom->x; + double **f = atom->f; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + int dim = which / 2; + int side = which % 2; + if (side == 0) side = -1; + + int onflag = 0; + + for (int i = 0; i < nlocal; i++) + if (mask[i] & groupbit) { + if (side < 0) + delta = x[i][dim] - coord; + else + delta = coord - x[i][dim]; + if (delta >= cutoff[m]) continue; + if (delta <= 0.0) { + onflag = 1; + continue; + } + + uf_lookup(m, delta, u, mdu); + fwall = side * mdu; + f[i][dim] -= fwall; + ewall[0] += u - offset[m]; + ewall[m + 1] += fwall; + + if (evflag) { + if (side < 0) + vn = -fwall * delta; + else + vn = fwall * delta; + v_tally(dim, i, vn); + } + } + + if (onflag) error->one(FLERR, "Particle on or inside fix {} surface", style); +} + +/* ---------------------------------------------------------------------- */ + +void FixWallTable::null_table(Table &tb) +{ + tb.rfile = tb.efile = tb.ffile = nullptr; + tb.e2file = tb.f2file = nullptr; + tb.r = tb.e = tb.de = nullptr; + tb.f = tb.df = tb.e2 = tb.f2 = nullptr; +} + +/* ---------------------------------------------------------------------- */ + +void FixWallTable::free_table(Table &tb) +{ + memory->destroy(tb.rfile); + memory->destroy(tb.efile); + memory->destroy(tb.ffile); + memory->destroy(tb.e2file); + memory->destroy(tb.f2file); + + memory->destroy(tb.r); + memory->destroy(tb.e); + memory->destroy(tb.de); + memory->destroy(tb.f); + memory->destroy(tb.df); + memory->destroy(tb.e2); + memory->destroy(tb.f2); +} + +/* ---------------------------------------------------------------------- */ + +void FixWallTable::read_table(Table &tb, const std::string &tabfile, const std::string &keyword) +{ + TableFileReader reader(lmp, tabfile, "fix wall/table"); + + char *line = reader.find_section_start(keyword); + if (!line) error->one(FLERR, "Did not find keyword {} in table file", keyword); + + // read args on 2nd line of section + // allocate table arrays for file values + + line = reader.next_line(); + param_extract(tb, line); + memory->create(tb.rfile, tb.ninput, "wall:rfile"); + memory->create(tb.efile, tb.ninput, "wall:efile"); + memory->create(tb.ffile, tb.ninput, "wall:ffile"); + + // read r,e,f table values from file + + reader.skip_line(); + for (int i = 0; i < tb.ninput; i++) { + line = reader.next_line(); + if (!line) + error->one(FLERR, "Data missing when parsing wall table '{}' line {} of {}.", keyword, i + 1, + tb.ninput); + try { + ValueTokenizer values(line); + values.next_int(); + tb.rfile[i] = values.next_double(); + tb.efile[i] = values.next_double(); + tb.ffile[i] = values.next_double(); + } catch (TokenizerException &e) { + error->one(FLERR, "Error parsing wall table '{}' line {} of {}. {}\nLine was: {}", keyword, + i + 1, tb.ninput, e.what(), line); + } + } + + // warn if force != dE/dr at any point that is not an inflection point + // check via secant approximation to dE/dr + // skip two end points since do not have surrounding secants + // inflection point is where curvature changes sign + + double r, e, f, rprev, rnext, eprev, enext, fleft, fright; + + int ferror = 0; + for (int i = 1; i < tb.ninput - 1; i++) { + r = tb.rfile[i]; + rprev = tb.rfile[i - 1]; + rnext = tb.rfile[i + 1]; + e = tb.efile[i]; + eprev = tb.efile[i - 1]; + enext = tb.efile[i + 1]; + f = tb.ffile[i]; + fleft = -(e - eprev) / (r - rprev); + fright = -(enext - e) / (rnext - r); + if (f < fleft && f < fright) ferror++; + if (f > fleft && f > fright) ferror++; + } + + if (ferror) + error->warning(FLERR, + "{} of {} force values in table are inconsistent with -dE/dr.\n" + "WARNING: Should only be flagged at inflection points", + ferror, tb.ninput); +} + +/* ---------------------------------------------------------------------- + build spline representation of e,f over entire range of read-in table + this function sets these values in e2file,f2file +------------------------------------------------------------------------- */ + +void FixWallTable::spline_table(Table &tb) +{ + memory->create(tb.e2file, tb.ninput, "wall:e2file"); + memory->create(tb.f2file, tb.ninput, "wall:f2file"); + + double ep0 = -tb.ffile[0]; + double epn = -tb.ffile[tb.ninput - 1]; + spline(tb.rfile, tb.efile, tb.ninput, ep0, epn, tb.e2file); + + if (tb.fpflag == 0) { + tb.fplo = (tb.ffile[1] - tb.ffile[0]) / (tb.rfile[1] - tb.rfile[0]); + tb.fphi = (tb.ffile[tb.ninput - 1] - tb.ffile[tb.ninput - 2]) / + (tb.rfile[tb.ninput - 1] - tb.rfile[tb.ninput - 2]); + } + + double fp0 = tb.fplo; + double fpn = tb.fphi; + spline(tb.rfile, tb.ffile, tb.ninput, fp0, fpn, tb.f2file); +} + +/* ---------------------------------------------------------------------- + compute r,e,f vectors from splined values +------------------------------------------------------------------------- */ + +void FixWallTable::compute_table(Table &tb) +{ + // delta = table spacing for N-1 bins + int tlm1 = tablength - 1; + + tb.delta = (tb.hi - tb.lo) / tlm1; + tb.invdelta = 1.0 / tb.delta; + tb.deltasq6 = tb.delta * tb.delta / 6.0; + + // N-1 evenly spaced bins in r from min to max + // r,e,f = value at lower edge of bin + // de,df values = delta values of e,f + // r,e,f are N in length so de,df arrays can compute difference + + memory->create(tb.r, tablength, "wall:r"); + memory->create(tb.e, tablength, "wall:e"); + memory->create(tb.de, tablength, "wall:de"); + memory->create(tb.f, tablength, "wall:f"); + memory->create(tb.df, tablength, "wall:df"); + memory->create(tb.e2, tablength, "wall:e2"); + memory->create(tb.f2, tablength, "wall:f2"); + + double a; + for (int i = 0; i < tablength; i++) { + a = tb.lo + i * tb.delta; + tb.r[i] = a; + tb.e[i] = splint(tb.rfile, tb.efile, tb.e2file, tb.ninput, a); + tb.f[i] = splint(tb.rfile, tb.ffile, tb.f2file, tb.ninput, a); + } + + for (int i = 0; i < tlm1; i++) { + tb.de[i] = tb.e[i + 1] - tb.e[i]; + tb.df[i] = tb.f[i + 1] - tb.f[i]; + } + // get final elements from linear extrapolation + tb.de[tlm1] = 2.0 * tb.de[tlm1 - 1] - tb.de[tlm1 - 2]; + tb.df[tlm1] = 2.0 * tb.df[tlm1 - 1] - tb.df[tlm1 - 2]; + + double ep0 = -tb.f[0]; + double epn = -tb.f[tlm1]; + spline(tb.r, tb.e, tablength, ep0, epn, tb.e2); + spline(tb.r, tb.f, tablength, tb.fplo, tb.fphi, tb.f2); +} + +/* ---------------------------------------------------------------------- + extract attributes from parameter line in table section + format of line: N value FP fplo fphi + N is required, other params are optional +------------------------------------------------------------------------- */ + +void FixWallTable::param_extract(Table &tb, char *line) +{ + tb.ninput = 0; + tb.fpflag = 0; + + try { + ValueTokenizer values(line); + + while (values.has_next()) { + std::string word = values.next_string(); + + if (word == "N") { + tb.ninput = values.next_int(); + } else if (word == "FP") { + tb.fpflag = 1; + tb.fplo = values.next_double(); + tb.fphi = values.next_double(); + } else { + error->one(FLERR, "Invalid keyword {} in fix {} table parameters", word, style); + } + } + } catch (TokenizerException &e) { + error->one(FLERR, e.what()); + } + + if (tb.ninput == 0) error->one(FLERR, "Fix {} parameters did not set N", style); +} + +/* ---------------------------------------------------------------------- + broadcast read-in table info from proc 0 to other procs + this function communicates these values in Table: + ninput,rfile,efile,ffile,fpflag,fplo,fphi +------------------------------------------------------------------------- */ + +void FixWallTable::bcast_table(Table &tb) +{ + MPI_Bcast(&tb.ninput, 1, MPI_INT, 0, world); + + if (comm->me > 0) { + memory->create(tb.rfile, tb.ninput, "wall:rfile"); + memory->create(tb.efile, tb.ninput, "wall:efile"); + memory->create(tb.ffile, tb.ninput, "wall:ffile"); + } + + MPI_Bcast(tb.rfile, tb.ninput, MPI_DOUBLE, 0, world); + MPI_Bcast(tb.efile, tb.ninput, MPI_DOUBLE, 0, world); + MPI_Bcast(tb.ffile, tb.ninput, MPI_DOUBLE, 0, world); + + MPI_Bcast(&tb.fpflag, 1, MPI_INT, 0, world); + if (tb.fpflag) { + MPI_Bcast(&tb.fplo, 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&tb.fphi, 1, MPI_DOUBLE, 0, world); + } +} + +/* ---------------------------------------------------------------------- + spline and splint routines modified from Numerical Recipes +------------------------------------------------------------------------- */ + +void FixWallTable::spline(double *x, double *y, int n, double yp1, double ypn, double *y2) +{ + int i, k; + double p, qn, sig, un; + auto u = new double[n]; + + if (yp1 > BIGNUM) + y2[0] = u[0] = 0.0; + else { + y2[0] = -0.5; + u[0] = (3.0 / (x[1] - x[0])) * ((y[1] - y[0]) / (x[1] - x[0]) - yp1); + } + for (i = 1; i < n - 1; i++) { + sig = (x[i] - x[i - 1]) / (x[i + 1] - x[i - 1]); + p = sig * y2[i - 1] + 2.0; + y2[i] = (sig - 1.0) / p; + u[i] = (y[i + 1] - y[i]) / (x[i + 1] - x[i]) - (y[i] - y[i - 1]) / (x[i] - x[i - 1]); + u[i] = (6.0 * u[i] / (x[i + 1] - x[i - 1]) - sig * u[i - 1]) / p; + } + if (ypn > BIGNUM) + qn = un = 0.0; + else { + qn = 0.5; + un = (3.0 / (x[n - 1] - x[n - 2])) * (ypn - (y[n - 1] - y[n - 2]) / (x[n - 1] - x[n - 2])); + } + y2[n - 1] = (un - qn * u[n - 2]) / (qn * y2[n - 2] + 1.0); + for (k = n - 2; k >= 0; k--) y2[k] = y2[k] * y2[k + 1] + u[k]; + + delete[] u; +} + +/* ---------------------------------------------------------------------- */ + +double FixWallTable::splint(double *xa, double *ya, double *y2a, int n, double x) +{ + int klo, khi, k; + double h, b, a, y; + + klo = 0; + khi = n - 1; + while (khi - klo > 1) { + k = (khi + klo) >> 1; + if (xa[k] > x) + khi = k; + else + klo = k; + } + h = xa[khi] - xa[klo]; + a = (xa[khi] - x) / h; + b = (x - xa[klo]) / h; + y = a * ya[klo] + b * ya[khi] + + ((a * a * a - a) * y2a[klo] + (b * b * b - b) * y2a[khi]) * (h * h) / 6.0; + return y; +} + +/* ---------------------------------------------------------------------- + calculate potential u and force f at distance x + ensure x is between wall min/max, exit with error if not +------------------------------------------------------------------------- */ + +void FixWallTable::uf_lookup(int m, double x, double &u, double &f) +{ + double fraction, a, b; + const Table &tb = tables[m]; + const int itable = static_cast((x - tb.lo) * tb.invdelta); + if (itable < 0) + error->one(FLERR, "Particle / wall distance < table inner cutoff: {:.8}", x); + else if (itable >= tablength) + error->one(FLERR, "Particle / wall distance > table outer cutoff: {:.8}", x); + + if (tabstyle == LINEAR) { + fraction = (x - tb.r[itable]) * tb.invdelta; + u = tb.e[itable] + fraction * tb.de[itable]; + f = tb.f[itable] + fraction * tb.df[itable]; + } else if (tabstyle == SPLINE) { + fraction = (x - tb.r[itable]) * tb.invdelta; + + b = (x - tb.r[itable]) * tb.invdelta; + a = 1.0 - b; + u = a * tb.e[itable] + b * tb.e[itable + 1] + + ((a * a * a - a) * tb.e2[itable] + (b * b * b - b) * tb.e2[itable + 1]) * tb.deltasq6; + f = a * tb.f[itable] + b * tb.f[itable + 1] + + ((a * a * a - a) * tb.f2[itable] + (b * b * b - b) * tb.f2[itable + 1]) * tb.deltasq6; + } +} diff --git a/src/fix_wall_table.h b/src/fix_wall_table.h new file mode 100644 index 0000000000..368c2e3cd1 --- /dev/null +++ b/src/fix_wall_table.h @@ -0,0 +1,67 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef FIX_CLASS +// clang-format off +FixStyle(wall/table,FixWallTable); +// clang-format on +#else + +#ifndef LMP_FIX_WALL_TABLE_H +#define LMP_FIX_WALL_TABLE_H + +#include "fix_wall.h" + +namespace LAMMPS_NS { + +class FixWallTable : public FixWall { + public: + FixWallTable(class LAMMPS *, int, char **); + ~FixWallTable() override; + + void post_constructor() override; + void precompute(int) override; + void wall_particle(int, int, double) override; + + protected: + double offset[6]; + + int tabstyle, tablength; + struct Table { + int ninput, fpflag; + double fplo, fphi; + double lo, hi; + double *rfile, *efile, *ffile; + double *e2file, *f2file; + double delta, invdelta, deltasq6; + double *r, *e, *de, *f, *df, *e2, *f2; + }; + Table *tables; + + void null_table(Table &); + void free_table(Table &); + void read_table(Table &, const std::string &, const std::string &); + void bcast_table(Table &); + void spline_table(Table &); + void compute_table(Table &); + + void param_extract(Table &, char *); + void spline(double *, double *, int, double, double, double *); + double splint(double *, double *, double *, int, double); + void uf_lookup(int, double, double &, double &); +}; + +} // namespace LAMMPS_NS + +#endif +#endif From 8b16301e5f951996db0e8d009beda4c84af7796a Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 22 Feb 2023 17:21:40 -0700 Subject: [PATCH 121/448] doc pages and sync qm vs qmmm fixes --- doc/src/fix_mdi_qm.rst | 76 +- doc/src/fix_mdi_qmmm.rst | 66 +- examples/QUANTUM/NWChem/in.water.qmmm | 2 +- examples/QUANTUM/NWChem/in.water.qmmm.plugin | 2 +- .../NWChem/log.8Feb23.water.pwdft.qmmm.mpi.2 | 2253 +++++++++++++-- .../log.8Feb23.water.pwdft.qmmm.plugin.2 | 2447 ++++++++++++++++- .../NWChem/log.8Feb23.water.qmmm.mpi.1 | 34 +- .../NWChem/log.8Feb23.water.qmmm.plugin.2 | 37 +- src/MDI/fix_mdi_qm.cpp | 61 +- src/MDI/fix_mdi_qm.h | 3 +- src/MDI/fix_mdi_qmmm.cpp | 919 +++++-- src/MDI/fix_mdi_qmmm.h | 75 +- 12 files changed, 5308 insertions(+), 667 deletions(-) diff --git a/doc/src/fix_mdi_qm.rst b/doc/src/fix_mdi_qm.rst index 460c7d9a63..a960cd8c7d 100644 --- a/doc/src/fix_mdi_qm.rst +++ b/doc/src/fix_mdi_qm.rst @@ -13,7 +13,7 @@ Syntax * ID, group-ID are documented in :doc:`fix ` command * mdi/qm = style name of this fix command * zero or more keyword/value pairs may be appended -* keyword = *virial* or *add* or *every* or *connect* or *elements* +* keyword = *virial* or *add* or *every* or *connect* or *elements* or *mc* .. parsed-literal:: @@ -29,7 +29,9 @@ Syntax yes = perform a one-time connection to the MDI engine code no = do not perform the connection operation *elements* args = N_1 N_2 ... N_ntypes - N_1,N_2,...N_ntypes = atomic number for each of ntypes LAMMPS atom types + N_1,N_2,...N_ntypes = chemical symbol for each of ntypes LAMMPS atom types + *mc* args = mcfixID + mcfixID = ID of a Monte Carlo fix designed to work with this fix Examples """""""" @@ -38,7 +40,7 @@ Examples fix 1 all mdi/qm fix 1 all mdi/qm virial yes - fix 1 all mdi/qm add no every 100 elements 13 29 + fix 1 all mdi/qm add no every 100 elements C C H O Description """"""""""" @@ -57,12 +59,25 @@ The server code must support use of the `MDI Library `_ as explained below. +Typically, to use this fix, the input script should not define any +other classical force field components, e.g. a pair style, bond style, +etc. + These are example use cases for this fix, discussed further below: * perform an ab initio MD (AIMD) simulation with quantum forces * perform an energy minimization with quantum forces * perform a nudged elastic band (NEB) calculation with quantum forces -* perform a QM calculation for a series of independent systems which LAMMPS reads or generates +* perform a QM calculation for a series of independent systems which LAMMPS reads or generates once +* run a classical MD simulation and calculate QM energy/forces once every N steps on the current configuration + +More generally any command which calulates per-atom forces can instead +use quantum forces be defining this fix. Examples are the Monte Carlo +commands :doc:`fix gcmc ` and :doc:`fix atom/swap +`, as well as the :doc:`compute born ` +command. The only requirement is that internally the commmand invokes +the post_force() method of fixes such as this one, which will trigger +the quantum calculation. The code coupling performed by this command is done via the `MDI Library `_. @@ -80,19 +95,23 @@ to launch two codes so that they communicate via the MDI library using either MPI or sockets. Any QM code that supports MDI could be used in place of LAMMPS acting as a QM surrogate. See the :doc:`Howto mdi ` page for a current list (March 2022) of such QM codes. +The examples/QUANTUM directory has examples for coupling LAMMPS to 3 +QM codes either via this fix or the :doc:`fix mdi/qmmm ` +command. Note that an engine code can support MDI in either or both of two modes. It can be used as a stand-alone code, launched at the same time as LAMMPS. Or it can be used as a plugin library, which LAMMPS loads. See the :doc:`mdi plugin ` command for how to trigger -LAMMPS to load a plugin library. The examples/mdi/README file -explains how to launch the two codes in either mode. +LAMMPS to load a plugin library. The examples/mdi/README file and +examples/QUANTUM/QM-code/README files explain how to launch the two +codes in either mode. ---------- -The *virial* keyword setting of yes or no determines whether -LAMMPS will request the QM code to also compute and return -a 6-element symmetric virial tensor for the system. +The *virial* keyword setting of yes or no determines whether LAMMPS +will request the QM code to also compute and return a symmetric virial +tensor for the system. The *add* keyword setting of *yes* or *no* determines whether the energy and forces and virial returned by the QM code will be added to @@ -109,25 +128,27 @@ commands. See details below. The *every* keyword determines how often the QM code will be invoked during a dynamics run with the current LAMMPS simulation box and configuration of atoms. The QM code will be called once every -*Nevery* timesteps. +*Nevery* timesteps. By default *Nevery* = 1. The *connect* keyword determines whether this fix performs a one-time connection to the QM code. The default is *yes*. The only time a *no* is needed is if this command is used multiple times in an input -script. E.g. if it used inside a loop which also uses the :doc:`clear -` command to destroy the system (including any defined fixes). -See the examples/mdi/in.series.driver script as an example of this, -where LAMMPS is using the QM code to compute energy and forces for a -series of system configurations. In this use case *connect no* -is used along with the :doc:`mdi connect and exit ` command -to one-time initiate/terminate the connection outside the loop. +script and the MDI coupling is between two stand-alone codes (not +plugin mode). E.g. if it used inside a loop which also uses the +:doc:`clear ` command to destroy the system (including this +fix). See the examples/mdi/in.series.driver script as an example of +this, where LAMMPS is using the QM code to compute energy and forces +for a series of system configurations. In this use case *connect no* +is used along with the :doc:`mdi connect and exit ` command to +one-time initiate/terminate the connection outside the loop. The *elements* keyword allows specification of what element each -LAMMPS atom type corresponds to. This is specified by the atomic -number of the element, e.g. 13 for Al. An atomic number must be -specified for each of the ntypes LAMMPS atom types. Ntypes is -typically specified via the create_box command or in the data file -read by the read_data command. +LAMMPS atom type corresponds to. This is specified by the chemical +symbol of the element, e.g. C or Al or Si. A symbol must be specified +for each of the ntypes LAMMPS atom types. Multiple LAMMPS types can +represent the same element. Ntypes is typically specified via the +:doc:`create_box ` command or in the data file read by the +:doc:`read_data ` command. If this keyword is specified, then this fix will send the MDI ">ELEMENTS" command to the engine, to ensure the two codes are @@ -136,6 +157,14 @@ not specified, then this fix will send the MDI >TYPES command to the engine. This is fine if both the LAMMPS driver and the MDI engine are initialized so that the atom type values are consistent in both codes. +The *mc* keyword enables this fix to be used with a Monte Carlo (MC) +fix to calculate before/after quantum energies as part of the MC +accept/reject criterion. The :doc:`fix gcmc ` and :doc:`fix +atom/swap ` commands can be used in this manner. +Specify the ID of the MC fix following the *mc* keyword. This allows +the two fixes to coordinate when MC events are being calculated versus +MD timesteps between the MC events. + ---------- The following 3 example use cases are illustrated in the examples/mdi @@ -265,7 +294,8 @@ unit conversions between LAMMPS and MDI units. The other code will also perform similar unit conversions into its preferred units. LAMMPS can also be used as an MDI driver in other unit choices it -supports, e.g. *lj*, but then no unit conversion is performed. +supports, e.g. *lj*, but then no unit conversion to MDI units is +performed. Related commands """""""""""""""" diff --git a/doc/src/fix_mdi_qmmm.rst b/doc/src/fix_mdi_qmmm.rst index 46a20362fc..c093726ec6 100644 --- a/doc/src/fix_mdi_qmmm.rst +++ b/doc/src/fix_mdi_qmmm.rst @@ -1,6 +1,6 @@ -.. index:: fix mdi/qm +.. index:: fix mdi/qmmm -fix mdi/qm command +fix mdi/qmmm command ====================== Syntax @@ -11,7 +11,7 @@ Syntax fix ID group-ID mdi/qmmm mode keyword value(s) keyword value(s) ... * ID, group-ID are documented in :doc:`fix ` command -* mdi/qm = style name of this fix command +* mdi/qmmm = style name of this fix command * mode = *direct* or *potential* * zero or more keyword/value pairs may be appended * keyword = *virial* or *add* or *every* or *connect* or *elements* @@ -25,7 +25,7 @@ Syntax yes = perform a one-time connection to the MDI engine code no = do not perform the connection operation *elements* args = N_1 N_2 ... N_ntypes - N_1,N_2,...N_ntypes = atomic number for each of ntypes LAMMPS atom types + N_1,N_2,...N_ntypes = chemical symbol for each of ntypes LAMMPS atom types Examples """""""" @@ -40,14 +40,29 @@ Description """"""""""" This command enables LAMMPS to act as a client with another server -code to perform a couple QMMM (quantum-mechanics molecular-mechanics) -simulation. LAMMPS will perform classical MD (molecular-mechnanics) -for the (typically larger) MM portion of the system. A quantum -mechanics code will calculate quantum effects for the QM portion of -the system. The QM server code must support use of the `MDI Library +code to perform a coupled QMMM (quantum-mechanics/molecular-mechanics) +simulation. LAMMPS will perform classical MD (molecular-mechnanics +or MM) for the (typically larger) MM portion of the system. A quantum +mechanics code will calculate quantum energy and forces for the QM +portion of the system. The two codes work together to calculate the +energy and forces due to the cross interactions between QM and MM +atoms. The QM server code must support use of the `MDI Library `_ as explained below. +The partitioning of the system between QM and MM atoms is determined +by the specified group. Atoms in that group are QM atoms; the remaining +atoms are MM atoms. The input script should + +need to remove bonds/etc between QM atoms +currently no bonds between QM/MM atoms are allowed +need to be able to compute Coulomb only portion of the force + field in a pair style, use hybrid +must be a charged system + +explain the 2 algs: DIRECT and POTENTIAL + + The code coupling performed by this command is done via the `MDI Library `_. LAMMPS runs as an MDI driver (client), and sends MDI commands to an @@ -56,11 +71,6 @@ support for MDI. See the :doc:`Howto mdi ` page for more information about how LAMMPS can operate as either an MDI driver or engine. - - -Q: provide an example where LAMMPS is also the QM code ? - similar to fix mdi/qm ? - The examples/mdi directory contains input scripts using this fix in the various use cases discussed below. In each case, two instances of LAMMPS are used, once as an MDI driver, once as an MDI engine @@ -79,6 +89,8 @@ explains how to launch the two codes in either mode. ---------- +---------- + The *virial* keyword setting of yes or no determines whether LAMMPS will request the QM code to also compute and return a 6-element symmetric virial tensor for the system. @@ -87,19 +99,20 @@ The *connect* keyword determines whether this fix performs a one-time connection to the QM code. The default is *yes*. The only time a *no* is needed is if this command is used multiple times in an input script. E.g. if it used inside a loop which also uses the :doc:`clear -` command to destroy the system (including any defined fixes). -See the examples/mdi/in.series.driver script as an example of this, -where LAMMPS is using the QM code to compute energy and forces for a -series of system configurations. In this use case *connect no* -is used along with the :doc:`mdi connect and exit ` command -to one-time initiate/terminate the connection outside the loop. +` command to destroy the system (including this fix). As +example would be a script which loop over a series of independent QMMM +simulations, e.g. each with their own data file. In this use case +*connect no* could be used along with the :doc:`mdi connect and exit +` command to one-time initiate/terminate the connection outside +the loop. The *elements* keyword allows specification of what element each -LAMMPS atom type corresponds to. This is specified by the atomic -number of the element, e.g. 13 for Al. An atomic number must be -specified for each of the ntypes LAMMPS atom types. Ntypes is -typically specified via the create_box command or in the data file -read by the read_data command. +LAMMPS atom type corresponds to. This is specified by the chemical +symbol of the element, e.g. C or Al or Si. A symbol must be specified +for each of the ntypes LAMMPS atom types. Multiple LAMMPS types can +represent the same element. Ntypes is typically specified via the +:doc:`create_box ` command or in the data file read by the +:doc:`read_data ` command. If this keyword is specified, then this fix will send the MDI ">ELEMENTS" command to the engine, to insure the two codes are @@ -236,9 +249,6 @@ used to specify *real* or *metal* units. This will ensure the correct unit conversions between LAMMPS and MDI units. The other code will also perform similar unit conversions into its preferred units. -LAMMPS can also be used as an MDI driver in other unit choices it -supports, e.g. *lj*, but then no unit conversion is performed. - Related commands """""""""""""""" diff --git a/examples/QUANTUM/NWChem/in.water.qmmm b/examples/QUANTUM/NWChem/in.water.qmmm index 6dcbfbc3ab..94fb36099a 100644 --- a/examples/QUANTUM/NWChem/in.water.qmmm +++ b/examples/QUANTUM/NWChem/in.water.qmmm @@ -56,4 +56,4 @@ thermo_style custom step cpu temp ke evdwl ecoul epair emol elong & f_2 pe etotal press thermo 1 -run 2 +run 10 diff --git a/examples/QUANTUM/NWChem/in.water.qmmm.plugin b/examples/QUANTUM/NWChem/in.water.qmmm.plugin index f489b0cce9..ba510fbcda 100644 --- a/examples/QUANTUM/NWChem/in.water.qmmm.plugin +++ b/examples/QUANTUM/NWChem/in.water.qmmm.plugin @@ -60,4 +60,4 @@ variable p equal extract_setting(world_size) mdi plugin nwchem_mdi mdi "-role ENGINE -name NWChem -method LINK" & extra "template.water.nw water.nw log.water.pwdft.qmmm.plugin.$p" & - command "run 1" + command "run 10" diff --git a/examples/QUANTUM/NWChem/log.8Feb23.water.pwdft.qmmm.mpi.2 b/examples/QUANTUM/NWChem/log.8Feb23.water.pwdft.qmmm.mpi.2 index 4bd90d4af5..a1e9ff42ea 100644 --- a/examples/QUANTUM/NWChem/log.8Feb23.water.pwdft.qmmm.mpi.2 +++ b/examples/QUANTUM/NWChem/log.8Feb23.water.pwdft.qmmm.mpi.2 @@ -11,7 +11,7 @@ * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Wed Feb 8 15:54:49 2023 <<< + >>> job started at Mon Feb 20 12:56:54 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -31,7 +31,7 @@ writing formatted psp filename: ./H.vpp generating random psi from scratch Warning - Gram-Schmidt being performed on psi2 - - exact norm = 8.00000 norm=8.86148 corrected norm=8.00000 (error=0.86148) + - exact norm = 8.00000 norm=8.87324 corrected norm=8.00000 (error=0.87324) ============== summary of input ================== @@ -109,22 +109,21 @@ ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Wed Feb 8 15:54:49 2023 <<< + >>> iteration started at Mon Feb 20 12:56:54 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 10 steepest descent iterations performed - 10 -1.206279801672e+01 -4.150120e-01 1.996397e-03 - 20 -1.493506122443e+01 -1.422834e-01 1.506682e-03 - 30 -1.540348600009e+01 -2.354360e-02 7.931449e-05 - 40 -1.566981091704e+01 -3.162288e-02 2.353093e-04 - 50 -1.598278441045e+01 -2.666532e-02 2.366148e-04 - 60 -1.616463354121e+01 -1.223350e-02 7.334903e-05 - 70 -1.630473193885e+01 -3.266566e-04 2.297099e-06 - 80 -1.630526899088e+01 -2.459563e-06 7.181128e-09 - 90 -1.630527200045e+01 -1.255258e-08 3.774166e-10 - 100 -1.630527202340e+01 -8.822809e-10 1.152800e-11 + 10 -1.282472121153e+01 -9.484109e-01 1.779210e-02 + 20 -1.504837267799e+01 -5.497331e-02 3.093676e-04 + 30 -1.573162576628e+01 -7.462479e-02 7.497296e-04 + 40 -1.613937990909e+01 -1.991498e-02 1.005273e-04 + 50 -1.630233932354e+01 -1.501744e-03 1.758004e-04 + 60 -1.630525628588e+01 -1.357997e-05 9.037538e-08 + 70 -1.630527187384e+01 -6.875138e-08 2.522005e-09 + 80 -1.630527202279e+01 -1.101633e-09 1.198576e-11 + 90 -1.630527202342e+01 -6.267697e-10 5.596876e-12 *** tolerance ok. iteration terminated - >>> iteration ended at Wed Feb 8 15:55:00 2023 <<< + >>> iteration ended at Mon Feb 20 12:57:02 2023 <<< ============== energy results (Molecule object) ============== @@ -133,23 +132,23 @@ total energy : -1.6305272023e+01 ( -5.43509e+00 /ion) - total orbital energy: -4.4098310387e+00 ( -1.10246e+00 /electron) - hartree energy : 1.6681756106e+01 ( 4.17044e+00 /electron) - exc-corr energy : -4.0100672760e+00 ( -1.00252e+00 /electron) + total orbital energy: -4.4097830748e+00 ( -1.10245e+00 /electron) + hartree energy : 1.6681806943e+01 ( 4.17045e+00 /electron) + exc-corr energy : -4.0100766982e+00 ( -1.00252e+00 /electron) ion-ion energy : 3.5966388474e+00 ( 1.19888e+00 /ion) - kinetic (planewave) : 9.8614028188e+00 ( 2.46535e+00 /electron) - V_local (planewave) : -4.2645184847e+01 ( -1.06613e+01 /electron) - V_nl (planewave) : 2.1018232722e-01 ( 5.25456e-02 /electron) - V_Coul (planewave) : 3.3363512212e+01 ( 8.34088e+00 /electron) - V_xc (planewave) : -5.1997435500e+00 ( -1.29994e+00 /electron) - Viral Coefficient : -1.4471809052e+00 + kinetic (planewave) : 9.8614440164e+00 ( 2.46536e+00 /electron) + V_local (planewave) : -4.2645265382e+01 ( -1.06613e+01 /electron) + V_nl (planewave) : 2.1018025023e-01 ( 5.25451e-02 /electron) + V_Coul (planewave) : 3.3363613885e+01 ( 8.34090e+00 /electron) + V_xc (planewave) : -5.1997558448e+00 ( -1.29994e+00 /electron) + Viral Coefficient : -1.4471741732e+00 orbital energy: - -2.5265267e-01 ( -6.875eV) - -3.5266167e-01 ( -9.596eV) - -5.0407048e-01 ( -13.717eV) - -1.0955307e+00 ( -29.811eV) + -2.5264681e-01 ( -6.875eV) + -3.5265599e-01 ( -9.596eV) + -5.0406539e-01 ( -13.716eV) + -1.0955234e+00 ( -29.811eV) == Center of Charge == @@ -160,7 +159,7 @@ ionic = ( 0.3418 -0.1460 -0.1893 ) == Molecular Dipole wrt Center of Mass == -mu = ( 0.0648 -0.0818 -0.4407 ) au +mu = ( 0.0649 -0.0819 -0.4407 ) au |mu| = 0.4529 au ( 1.1511 Debye ) @@ -191,7 +190,7 @@ mu = ( 0.0648 -0.0818 -0.4407 ) au 1 O -6.416 6.000 -0.416 2 H -0.792 1.000 0.208 3 H -0.792 1.000 0.208 - Total Q -8.000 8.000 -0.000 + Total Q -8.000 8.000 0.000 Gaussian coefficients of model density @@ -208,25 +207,25 @@ mu = ( 0.0648 -0.0818 -0.4407 ) au ----------------- cputime in seconds - prologue : 7.291e-02 - main loop : 1.057e+01 - epilogue : 1.084e-02 - total : 1.066e+01 - cputime/step: 3.346e-02 ( 316 evaluations, 97 linesearches) + prologue : 7.414e-02 + main loop : 7.386e+00 + epilogue : 8.115e-02 + total : 7.541e+00 + cputime/step: 2.777e-02 ( 266 evaluations, 81 linesearches) Time spent doing total step percent - total time 1.066085e+01 3.373687e-02 100.00% - total FFT time 5.066369e+00 1.603281e-02 47.52% - lagrange multipliers 1.207032e-03 3.819722e-06 0.01% - local potentials 5.150380e-04 1.629867e-06 0.00% - non-local potentials 2.765415e-01 8.751313e-04 2.59% - ffm_dgemm 5.013180e-02 1.586449e-04 0.47% - fmf_dgemm 1.166419e-01 3.691200e-04 1.09% - m_diagonalize 7.372400e-04 2.333038e-06 0.01% - mmm_multiply 1.227860e-04 3.885633e-07 0.00% - SCVtrans 2.681840e-04 8.486835e-07 0.00% + total time 7.548425e+00 2.837754e-02 100.00% + total FFT time 2.858014e+00 1.074441e-02 37.86% + lagrange multipliers 1.130411e-03 4.249665e-06 0.01% + local potentials 4.969310e-04 1.868162e-06 0.01% + non-local potentials 2.217145e-01 8.335133e-04 2.94% + ffm_dgemm 3.650624e-02 1.372415e-04 0.48% + fmf_dgemm 7.934406e-02 2.982860e-04 1.05% + m_diagonalize 5.609470e-04 2.108823e-06 0.01% + mmm_multiply 5.398400e-05 2.029474e-07 0.00% + SCVtrans 2.167840e-04 8.149774e-07 0.00% - >>> job completed at Wed Feb 8 15:55:00 2023 <<< + >>> job completed at Mon Feb 20 12:57:02 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -240,7 +239,7 @@ mu = ( 0.0648 -0.0818 -0.4407 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Wed Feb 8 15:55:00 2023 <<< + >>> job started at Mon Feb 20 12:57:02 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -343,17 +342,17 @@ mu = ( 0.0648 -0.0818 -0.4407 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Wed Feb 8 15:55:00 2023 <<< + >>> iteration started at Mon Feb 20 12:57:03 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 10 steepest descent iterations performed - 10 -1.709563334317e+01 -6.201449e-04 4.252710e-06 - 20 -1.709727702922e+01 -1.395575e-05 2.324062e-07 - 30 -1.709728935247e+01 -1.652084e-07 9.382706e-10 - 40 -1.709728957157e+01 -1.886704e-09 1.155902e-11 - 50 -1.709728957460e+01 -8.623040e-10 2.854954e-12 + 10 -1.709563331682e+01 -6.201474e-04 4.252837e-06 + 20 -1.709727702920e+01 -1.395637e-05 2.324058e-07 + 30 -1.709728935245e+01 -1.652115e-07 9.383449e-10 + 40 -1.709728957157e+01 -1.887361e-09 1.156676e-11 + 50 -1.709728957459e+01 -8.626913e-10 2.856988e-12 *** tolerance ok. iteration terminated - >>> iteration ended at Wed Feb 8 15:55:18 2023 <<< + >>> iteration ended at Mon Feb 20 12:57:21 2023 <<< ============== energy results (Molecule object) ============== @@ -362,21 +361,21 @@ mu = ( 0.0648 -0.0818 -0.4407 ) au total energy : -1.7097289575e+01 ( -5.69910e+00 /ion) - total orbital energy: -4.0996983104e+00 ( -1.02492e+00 /electron) - hartree energy : 1.7847984194e+01 ( 4.46200e+00 /electron) - exc-corr energy : -4.2204936652e+00 ( -1.05512e+00 /electron) + total orbital energy: -4.0996983017e+00 ( -1.02492e+00 /electron) + hartree energy : 1.7847984203e+01 ( 4.46200e+00 /electron) + exc-corr energy : -4.2204936664e+00 ( -1.05512e+00 /electron) ion-ion energy : 3.5966388474e+00 ( 1.19888e+00 /ion) - kinetic (planewave) : 1.2079256812e+01 ( 3.01981e+00 /electron) - V_local (planewave) : -4.5359046100e+01 ( -1.13398e+01 /electron) - V_nl (planewave) : -1.0416296625e+00 ( -2.60407e-01 /electron) - V_Coul (planewave) : 3.5695968387e+01 ( 8.92399e+00 /electron) - V_xc (planewave) : -5.4742477473e+00 ( -1.36856e+00 /electron) - Viral Coefficient : -1.3393998798e+00 + kinetic (planewave) : 1.2079256817e+01 ( 3.01981e+00 /electron) + V_local (planewave) : -4.5359046108e+01 ( -1.13398e+01 /electron) + V_nl (planewave) : -1.0416296672e+00 ( -2.60407e-01 /electron) + V_Coul (planewave) : 3.5695968406e+01 ( 8.92399e+00 /electron) + V_xc (planewave) : -5.4742477490e+00 ( -1.36856e+00 /electron) + Viral Coefficient : -1.3393998790e+00 orbital energy: -2.6700298e-01 ( -7.266eV) - -3.3720536e-01 ( -9.176eV) + -3.3720535e-01 ( -9.176eV) -5.0189171e-01 ( -13.657eV) -9.4374911e-01 ( -25.681eV) @@ -420,7 +419,7 @@ mu = ( 0.0958 -0.1200 -0.6599 ) au 1 O -6.631 6.000 -0.631 2 H -0.684 1.000 0.316 3 H -0.685 1.000 0.315 - Total Q -8.000 8.000 0.000 + Total Q -8.000 8.000 -0.000 Gaussian coefficients of model density @@ -437,25 +436,25 @@ mu = ( 0.0958 -0.1200 -0.6599 ) au ----------------- cputime in seconds - prologue : 2.074e-01 - main loop : 1.763e+01 - epilogue : 3.539e-02 - total : 1.787e+01 - cputime/step: 1.199e-01 ( 147 evaluations, 43 linesearches) + prologue : 6.445e-01 + main loop : 1.828e+01 + epilogue : 3.521e-02 + total : 1.896e+01 + cputime/step: 1.243e-01 ( 147 evaluations, 43 linesearches) Time spent doing total step percent - total time 2.858502e+01 1.944559e-01 100.00% - total FFT time 1.375915e+01 9.359967e-02 48.13% - lagrange multipliers 6.491466e-03 4.415963e-05 0.02% - local potentials 2.055162e-03 1.398069e-05 0.01% - non-local potentials 6.565625e-01 4.466411e-03 2.30% - ffm_dgemm 1.349019e-01 9.177001e-04 0.47% - fmf_dgemm 2.723509e-01 1.852727e-03 0.95% - m_diagonalize 1.154672e-03 7.854912e-06 0.00% - mmm_multiply 1.769340e-04 1.203633e-06 0.00% - SCVtrans 4.223900e-04 2.873401e-06 0.00% + total time 2.675356e+01 1.819970e-01 100.00% + total FFT time 1.037673e+01 7.059000e-02 38.79% + lagrange multipliers 7.427833e-03 5.052948e-05 0.03% + local potentials 2.559497e-03 1.741154e-05 0.01% + non-local potentials 6.055847e-01 4.119623e-03 2.26% + ffm_dgemm 1.195172e-01 8.130420e-04 0.45% + fmf_dgemm 2.443493e-01 1.662240e-03 0.91% + m_diagonalize 1.001444e-03 6.812544e-06 0.00% + mmm_multiply 9.446600e-05 6.426259e-07 0.00% + SCVtrans 3.680540e-04 2.503769e-06 0.00% - >>> job completed at Wed Feb 8 15:55:18 2023 <<< + >>> job completed at Mon Feb 20 12:57:21 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -469,7 +468,7 @@ mu = ( 0.0958 -0.1200 -0.6599 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Wed Feb 8 15:55:18 2023 <<< + >>> job started at Mon Feb 20 12:57:21 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -575,17 +574,17 @@ mu = ( 0.0958 -0.1200 -0.6599 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Wed Feb 8 15:55:18 2023 <<< + >>> iteration started at Mon Feb 20 12:57:21 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 10 steepest descent iterations performed - 10 -1.719854750852e+01 -5.739065e-05 1.086836e-06 - 20 -1.719866697103e+01 -1.561354e-06 7.029039e-08 - 30 -1.719867013369e+01 -4.633701e-08 1.534758e-10 - 40 -1.719867027116e+01 -2.334723e-09 4.231094e-11 - 50 -1.719867027638e+01 -8.356409e-10 1.415681e-11 + 10 -1.719854750859e+01 -5.739063e-05 1.086836e-06 + 20 -1.719866697103e+01 -1.561352e-06 7.029033e-08 + 30 -1.719867013369e+01 -4.633683e-08 1.534761e-10 + 40 -1.719867027116e+01 -2.334851e-09 4.231103e-11 + 50 -1.719867027638e+01 -8.357333e-10 1.415687e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Wed Feb 8 15:55:57 2023 <<< + >>> iteration ended at Mon Feb 20 12:57:59 2023 <<< ============== energy results (Molecule object) ============== @@ -601,18 +600,18 @@ mu = ( 0.0958 -0.1200 -0.6599 ) au total energy : -1.7198670276e+01 ( -5.73289e+00 /ion) - total orbital energy: -4.1186005525e+00 ( -1.02965e+00 /electron) + total orbital energy: -4.1186005524e+00 ( -1.02965e+00 /electron) hartree energy : 1.8012763373e+01 ( 4.50319e+00 /electron) exc-corr energy : -4.2447731089e+00 ( -1.06119e+00 /electron) - APC energy : -9.9121231898e-03 ( -3.30404e-03 /ion) + APC energy : -9.9121231919e-03 ( -3.30404e-03 /ion) ion-ion energy : 3.5966383352e+00 ( 1.19888e+00 /ion) kinetic (planewave) : 1.2411600602e+01 ( 3.10290e+00 /electron) V_local (planewave) : -4.5793468975e+01 ( -1.14484e+01 /electron) - V_nl (planewave) : -1.2574819137e+00 ( -3.14370e-01 /electron) + V_nl (planewave) : -1.2574819138e+00 ( -3.14370e-01 /electron) V_Coul (planewave) : 3.6025526747e+01 ( 9.00638e+00 /electron) - V_xc (planewave) : -5.5047770128e+00 ( -1.37619e+00 /electron) - K.S. V_APC energy : -8.5963533404e-02 ( -2.86545e-02 /ion) + V_xc (planewave) : -5.5047770129e+00 ( -1.37619e+00 /electron) + K.S. V_APC energy : -8.5963533407e-02 ( -2.86545e-02 /ion) Viral Coefficient : -1.3318347637e+00 orbital energy: @@ -691,25 +690,25 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au ----------------- cputime in seconds - prologue : 3.216e-01 - main loop : 3.835e+01 - epilogue : 9.508e-02 - total : 3.877e+01 - cputime/step: 2.591e-01 ( 148 evaluations, 44 linesearches) + prologue : 3.135e-01 + main loop : 3.740e+01 + epilogue : 9.586e-02 + total : 3.781e+01 + cputime/step: 2.527e-01 ( 148 evaluations, 44 linesearches) Time spent doing total step percent - total time 6.740602e+01 4.554461e-01 100.00% - total FFT time 3.190519e+01 2.155756e-01 47.33% - lagrange multipliers 1.727143e-02 1.166989e-04 0.03% - local potentials 2.936396e-01 1.984052e-03 0.44% - non-local potentials 1.386601e+00 9.368929e-03 2.06% - ffm_dgemm 3.163677e-01 2.137620e-03 0.47% - fmf_dgemm 6.150113e-01 4.155482e-03 0.91% - m_diagonalize 1.663961e-03 1.124298e-05 0.00% - mmm_multiply 2.607770e-04 1.762007e-06 0.00% - SCVtrans 6.144560e-04 4.151730e-06 0.00% + total time 6.464663e+01 4.368016e-01 100.00% + total FFT time 2.516005e+01 1.700003e-01 38.92% + lagrange multipliers 1.853756e-02 1.252538e-04 0.03% + local potentials 2.839844e-01 1.918813e-03 0.44% + non-local potentials 1.327892e+00 8.972243e-03 2.05% + ffm_dgemm 2.970267e-01 2.006937e-03 0.46% + fmf_dgemm 6.109663e-01 4.128151e-03 0.95% + m_diagonalize 1.406131e-03 9.500885e-06 0.00% + mmm_multiply 1.389650e-04 9.389527e-07 0.00% + SCVtrans 5.343670e-04 3.610588e-06 0.00% - >>> job completed at Wed Feb 8 15:55:57 2023 <<< + >>> job completed at Mon Feb 20 12:57:59 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -723,7 +722,7 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Wed Feb 8 15:55:57 2023 <<< + >>> job started at Mon Feb 20 12:57:59 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -822,12 +821,12 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Wed Feb 8 15:55:57 2023 <<< + >>> iteration started at Mon Feb 20 12:57:59 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 10 -1.719867286753e+01 -6.816379e-10 2.321485e-11 + 10 -1.719867286753e+01 -6.807603e-10 2.321482e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Wed Feb 8 15:55:58 2023 <<< + >>> iteration ended at Mon Feb 20 12:58:00 2023 <<< ============== energy results (Molecule object) ============== @@ -846,7 +845,7 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au total orbital energy: -4.1185877728e+00 ( -1.02965e+00 /electron) hartree energy : 1.8012764978e+01 ( 4.50319e+00 /electron) exc-corr energy : -4.2447737993e+00 ( -1.06119e+00 /electron) - APC energy : -9.9146481391e-03 ( -3.30488e-03 /ion) + APC energy : -9.9146481410e-03 ( -3.30488e-03 /ion) ion-ion energy : 3.5966070435e+00 ( 1.19887e+00 /ion) kinetic (planewave) : 1.2411604235e+01 ( 3.10290e+00 /electron) @@ -854,7 +853,7 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au V_nl (planewave) : -1.2574773464e+00 ( -3.14369e-01 /electron) V_Coul (planewave) : 3.6025529957e+01 ( 9.00638e+00 /electron) V_xc (planewave) : -5.5047778183e+00 ( -1.37619e+00 /electron) - K.S. V_APC energy : -8.5983469375e-02 ( -2.86612e-02 /ion) + K.S. V_APC energy : -8.5983469377e-02 ( -2.86612e-02 /ion) Viral Coefficient : -1.3318336369e+00 orbital energy: @@ -916,7 +915,7 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au 1 O -6.743 6.000 -0.743 2 H -0.628 1.000 0.372 3 H -0.630 1.000 0.370 - Total Q -8.000 8.000 -0.000 + Total Q -8.000 8.000 0.000 Gaussian coefficients of model density @@ -933,25 +932,25 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au ----------------- cputime in seconds - prologue : 2.149e-01 - main loop : 1.028e+00 - epilogue : 9.464e-02 - total : 1.337e+00 - cputime/step: 2.569e-01 ( 4 evaluations, 1 linesearches) + prologue : 2.214e-01 + main loop : 1.030e+00 + epilogue : 9.611e-02 + total : 1.348e+00 + cputime/step: 2.576e-01 ( 4 evaluations, 1 linesearches) Time spent doing total step percent - total time 6.878885e+01 1.719721e+01 100.00% - total FFT time 3.238041e+01 8.095101e+00 47.07% - lagrange multipliers 1.727143e-02 4.317858e-03 0.03% - local potentials 3.068390e-01 7.670976e-02 0.45% - non-local potentials 1.418119e+00 3.545298e-01 2.06% - ffm_dgemm 3.211811e-01 8.029528e-02 0.47% - fmf_dgemm 6.225149e-01 1.556287e-01 0.90% - m_diagonalize 1.687134e-03 4.217835e-04 0.00% - mmm_multiply 2.625470e-04 6.563675e-05 0.00% - SCVtrans 6.195720e-04 1.548930e-04 0.00% + total time 6.604688e+01 1.651172e+01 100.00% + total FFT time 2.555931e+01 6.389827e+00 38.70% + lagrange multipliers 1.853756e-02 4.634389e-03 0.03% + local potentials 2.971789e-01 7.429473e-02 0.45% + non-local potentials 1.360641e+00 3.401602e-01 2.06% + ffm_dgemm 3.019507e-01 7.548767e-02 0.46% + fmf_dgemm 6.190920e-01 1.547730e-01 0.94% + m_diagonalize 1.429935e-03 3.574837e-04 0.00% + mmm_multiply 1.401450e-04 3.503625e-05 0.00% + SCVtrans 5.391370e-04 1.347842e-04 0.00% - >>> job completed at Wed Feb 8 15:55:58 2023 <<< + >>> job completed at Mon Feb 20 12:58:00 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -965,7 +964,7 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Wed Feb 8 15:55:58 2023 <<< + >>> job started at Mon Feb 20 12:58:00 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -1064,12 +1063,12 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Wed Feb 8 15:55:58 2023 <<< + >>> iteration started at Mon Feb 20 12:58:01 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 10 -1.719868062972e+01 -9.415189e-10 5.922185e-11 + 10 -1.719868062972e+01 -9.419665e-10 5.922204e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Wed Feb 8 15:56:01 2023 <<< + >>> iteration ended at Mon Feb 20 12:58:03 2023 <<< ============== energy results (Molecule object) ============== @@ -1081,23 +1080,23 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au 0.032194911 0.018485184 0.019184100 APC Point Charges: - -0.742638640 0.372241291 0.370397350 + -0.742638641 0.372241291 0.370397350 total energy : -1.7198680630e+01 ( -5.73289e+00 /ion) - total orbital energy: -4.1185937829e+00 ( -1.02965e+00 /electron) + total orbital energy: -4.1185937828e+00 ( -1.02965e+00 /electron) hartree energy : 1.8012723256e+01 ( 4.50318e+00 /electron) exc-corr energy : -4.2447666970e+00 ( -1.06119e+00 /electron) - APC energy : -9.9224962693e-03 ( -3.30750e-03 /ion) + APC energy : -9.9224962705e-03 ( -3.30750e-03 /ion) ion-ion energy : 3.5965135890e+00 ( 1.19884e+00 /ion) kinetic (planewave) : 1.2411587836e+01 ( 3.10290e+00 /electron) V_local (planewave) : -4.5793387800e+01 ( -1.14483e+01 /electron) - V_nl (planewave) : -1.2574717977e+00 ( -3.14368e-01 /electron) - V_Coul (planewave) : 3.6025446511e+01 ( 9.00636e+00 /electron) + V_nl (planewave) : -1.2574717978e+00 ( -3.14368e-01 /electron) + V_Coul (planewave) : 3.6025446512e+01 ( 9.00636e+00 /electron) V_xc (planewave) : -5.5047685322e+00 ( -1.37619e+00 /electron) K.S. V_APC energy : -8.6043480840e-02 ( -2.86812e-02 /ion) - Viral Coefficient : -1.3318345596e+00 + Viral Coefficient : -1.3318345595e+00 orbital energy: -2.7468030e-01 ( -7.474eV) @@ -1147,7 +1146,249 @@ mu = ( 0.1153 -0.1410 -0.7839 ) au 0.032194911 0.018485184 0.019184100 APC Point Charges: - -0.742638640 0.372241291 0.370397350 + -0.742638641 0.372241291 0.370397350 + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 O -6.743 6.000 -0.743 + 2 H -0.628 1.000 0.372 + 3 H -0.630 1.000 0.370 + Total Q -8.000 8.000 0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 O 6.000 -1.098 -2.075 -3.570 + 2 H 1.000 -0.718 0.776 -0.685 + 3 H 1.000 -0.718 0.778 -0.689 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 2.155e-01 + main loop : 2.533e+00 + epilogue : 9.702e-02 + total : 2.846e+00 + cputime/step: 2.533e-01 ( 10 evaluations, 3 linesearches) + + Time spent doing total step percent + total time 6.891974e+01 6.891974e+00 100.00% + total FFT time 2.655430e+01 2.655430e+00 38.53% + lagrange multipliers 1.853756e-02 1.853756e-03 0.03% + local potentials 3.212521e-01 3.212521e-02 0.47% + non-local potentials 1.421658e+00 1.421658e-01 2.06% + ffm_dgemm 3.142734e-01 3.142734e-02 0.46% + fmf_dgemm 6.436336e-01 6.436336e-02 0.93% + m_diagonalize 1.469026e-03 1.469026e-04 0.00% + mmm_multiply 1.431810e-04 1.431810e-05 0.00% + SCVtrans 5.508620e-04 5.508620e-05 0.00% + + >>> job completed at Mon Feb 20 12:58:03 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Mon Feb 20 12:58:03 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + APC u: 1 0.03223 + APC u: 2 0.01850 + APC u: 3 0.01920 + - self-consistent + + reading formatted psp filename: ./O.vpp + + reading formatted psp filename: ./H.vpp + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 2 + processor grid : 2 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: O valence charge = 6.0 lmax =2 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.700 0.700 0.700 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + O : 1 H : 2 + + initial ion positions (au): + 1 O ( 0.30530 -0.09999 0.06272 ) - atomic mass = 15.995 + 2 H ( 1.51757 0.69750 -0.96708 ) - atomic mass = 1.008 + 3 H ( -0.61515 -1.26529 -0.92340 ) - atomic mass = 1.008 + G.C. ( 0.40258 -0.22259 -0.60925 ) + C.O.M. ( 0.32163 -0.12058 -0.05011 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 17575.98 + lattice: a1 = < 26.000 0.000 0.000 > + a2 = < 0.000 26.000 0.000 > + a3 = < 0.000 0.000 26.000 > + reciprocal: b1 = < 0.242 0.000 0.000 > + b2 = < 0.000 0.242 0.000 > + b3 = < 0.000 0.000 0.242 > + lattice: a = 26.000 b = 26.000 c = 26.000 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) + + Ewald parameters: + energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + Ewald summation: cut radius = 8.276 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Mon Feb 20 12:58:03 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + 10 -1.719869353513e+01 -6.999983e-10 1.974356e-11 + *** tolerance ok. iteration terminated + >>> iteration ended at Mon Feb 20 12:58:08 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + APC Potential: + 0.032228045 0.018501626 0.019200864 + + APC Point Charges: + -0.742700321 0.372273084 0.370427237 + + + total energy : -1.7198693535e+01 ( -5.73290e+00 /ion) + total orbital energy: -4.1186507914e+00 ( -1.02966e+00 /electron) + hartree energy : 1.8012603696e+01 ( 4.50315e+00 /electron) + exc-corr energy : -4.2447443787e+00 ( -1.06119e+00 /electron) + APC energy : -9.9355992614e-03 ( -3.31187e-03 /ion) + ion-ion energy : 3.5963580889e+00 ( 1.19879e+00 /ion) + + kinetic (planewave) : 1.2411482266e+01 ( 3.10287e+00 /electron) + V_local (planewave) : -4.5793167644e+01 ( -1.14483e+01 /electron) + V_nl (planewave) : -1.2574332540e+00 ( -3.14358e-01 /electron) + V_Coul (planewave) : 3.6025207393e+01 ( 9.00630e+00 /electron) + V_xc (planewave) : -5.5047395518e+00 ( -1.37618e+00 /electron) + K.S. V_APC energy : -8.6143289858e-02 ( -2.87144e-02 /ion) + Viral Coefficient : -1.3318419753e+00 + + orbital energy: + -2.7469140e-01 ( -7.475eV) + -3.4396624e-01 ( -9.360eV) + -5.0661933e-01 ( -13.786eV) + -9.3404843e-01 ( -25.417eV) + +== Center of Charge == + +spin up = ( 0.3274 -0.1283 -0.0913 ) +spin down = ( 0.3274 -0.1283 -0.0913 ) + total = ( 0.3274 -0.1283 -0.0913 ) +ionic = ( 0.3418 -0.1460 -0.1893 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 0.1153 -0.1410 -0.7840 ) au +|mu| = 0.8049 au ( 2.0458 Debye ) + + + Ion Forces (au): + 1 O ( 0.00017 -0.00159 0.00555 ) + 2 H ( -0.00085 -0.00159 -0.00225 ) + 3 H ( 0.00230 0.00170 -0.00150 ) + + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - self-consistent + + APC Potential: + 0.032228045 0.018501626 0.019200864 + + APC Point Charges: + -0.742700321 0.372273084 0.370427237 charge analysis on each atom @@ -1175,22 +1416,1716 @@ mu = ( 0.1153 -0.1410 -0.7839 ) au ----------------- cputime in seconds - prologue : 2.176e-01 - main loop : 2.646e+00 - epilogue : 9.532e-02 - total : 2.959e+00 - cputime/step: 2.646e-01 ( 10 evaluations, 3 linesearches) + prologue : 2.168e-01 + main loop : 4.041e+00 + epilogue : 9.647e-02 + total : 4.355e+00 + cputime/step: 2.526e-01 ( 16 evaluations, 5 linesearches) Time spent doing total step percent - total time 7.177175e+01 7.177175e+00 100.00% - total FFT time 3.363024e+01 3.363024e+00 46.86% - lagrange multipliers 1.727143e-02 1.727143e-03 0.02% - local potentials 3.324130e-01 3.324130e-02 0.46% - non-local potentials 1.479193e+00 1.479193e-01 2.06% - ffm_dgemm 3.339040e-01 3.339040e-02 0.47% - fmf_dgemm 6.453409e-01 6.453409e-02 0.90% - m_diagonalize 1.741743e-03 1.741743e-04 0.00% - mmm_multiply 2.680150e-04 2.680150e-05 0.00% - SCVtrans 6.333120e-04 6.333120e-05 0.00% + total time 7.330040e+01 4.581275e+00 100.00% + total FFT time 2.814649e+01 1.759155e+00 38.40% + lagrange multipliers 1.853756e-02 1.158597e-03 0.03% + local potentials 3.566399e-01 2.228999e-02 0.49% + non-local potentials 1.510575e+00 9.441093e-02 2.06% + ffm_dgemm 3.342546e-01 2.089091e-02 0.46% + fmf_dgemm 6.844001e-01 4.277501e-02 0.93% + m_diagonalize 1.524933e-03 9.530831e-05 0.00% + mmm_multiply 1.479840e-04 9.249000e-06 0.00% + SCVtrans 5.729420e-04 3.580887e-05 0.00% - >>> job completed at Wed Feb 8 15:56:01 2023 <<< + >>> job completed at Mon Feb 20 12:58:08 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Mon Feb 20 12:58:08 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + APC u: 1 0.03227 + APC u: 2 0.01852 + APC u: 3 0.01922 + - self-consistent + + reading formatted psp filename: ./O.vpp + + reading formatted psp filename: ./H.vpp + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 2 + processor grid : 2 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: O valence charge = 6.0 lmax =2 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.700 0.700 0.700 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + O : 1 H : 2 + + initial ion positions (au): + 1 O ( 0.30530 -0.09999 0.06274 ) - atomic mass = 15.995 + 2 H ( 1.51759 0.69745 -0.96723 ) - atomic mass = 1.008 + 3 H ( -0.61508 -1.26528 -0.92351 ) - atomic mass = 1.008 + G.C. ( 0.40260 -0.22261 -0.60934 ) + C.O.M. ( 0.32164 -0.12058 -0.05010 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 17575.98 + lattice: a1 = < 26.000 0.000 0.000 > + a2 = < 0.000 26.000 0.000 > + a3 = < 0.000 0.000 26.000 > + reciprocal: b1 = < 0.242 0.000 0.000 > + b2 = < 0.000 0.242 0.000 > + b3 = < 0.000 0.000 0.242 > + lattice: a = 26.000 b = 26.000 c = 26.000 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) + + Ewald parameters: + energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + Ewald summation: cut radius = 8.276 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Mon Feb 20 12:58:08 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + 10 -1.719871153462e+01 -6.391829e-10 1.247001e-11 + *** tolerance ok. iteration terminated + >>> iteration ended at Mon Feb 20 12:58:13 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + APC Potential: + 0.032274243 0.018524540 0.019224223 + + APC Point Charges: + -0.742788734 0.372316065 0.370472669 + + + total energy : -1.7198711535e+01 ( -5.73290e+00 /ion) + total orbital energy: -4.1187171989e+00 ( -1.02968e+00 /electron) + hartree energy : 1.8012450652e+01 ( 4.50311e+00 /electron) + exc-corr energy : -4.2447163138e+00 ( -1.06118e+00 /electron) + APC energy : -9.9539109772e-03 ( -3.31797e-03 /ion) + ion-ion energy : 3.5961410380e+00 ( 1.19871e+00 /ion) + + kinetic (planewave) : 1.2411346474e+01 ( 3.10284e+00 /electron) + V_local (planewave) : -4.5792882262e+01 ( -1.14482e+01 /electron) + V_nl (planewave) : -1.2573797074e+00 ( -3.14345e-01 /electron) + V_Coul (planewave) : 3.6024901303e+01 ( 9.00623e+00 /electron) + V_xc (planewave) : -5.5047030067e+00 ( -1.37618e+00 /electron) + K.S. V_APC energy : -8.6282496144e-02 ( -2.87608e-02 /ion) + Viral Coefficient : -1.3318509565e+00 + + orbital energy: + -2.7470534e-01 ( -7.475eV) + -3.4399929e-01 ( -9.361eV) + -5.0660135e-01 ( -13.785eV) + -9.3405261e-01 ( -25.417eV) + +== Center of Charge == + +spin up = ( 0.3274 -0.1283 -0.0913 ) +spin down = ( 0.3274 -0.1283 -0.0913 ) + total = ( 0.3274 -0.1283 -0.0913 ) +ionic = ( 0.3418 -0.1460 -0.1893 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 0.1154 -0.1410 -0.7843 ) au +|mu| = 0.8052 au ( 2.0464 Debye ) + + + Ion Forces (au): + 1 O ( 0.00019 -0.00159 0.00550 ) + 2 H ( -0.00088 -0.00160 -0.00222 ) + 3 H ( 0.00230 0.00170 -0.00148 ) + + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - self-consistent + + APC Potential: + 0.032274243 0.018524540 0.019224223 + + APC Point Charges: + -0.742788734 0.372316065 0.370472669 + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 O -6.743 6.000 -0.743 + 2 H -0.628 1.000 0.372 + 3 H -0.630 1.000 0.370 + Total Q -8.000 8.000 -0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 O 6.000 -1.098 -2.074 -3.571 + 2 H 1.000 -0.718 0.775 -0.685 + 3 H 1.000 -0.718 0.778 -0.689 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 2.186e-01 + main loop : 5.048e+00 + epilogue : 9.642e-02 + total : 5.363e+00 + cputime/step: 2.524e-01 ( 20 evaluations, 6 linesearches) + + Time spent doing total step percent + total time 7.869780e+01 3.934890e+00 100.00% + total FFT time 3.014250e+01 1.507125e+00 38.30% + lagrange multipliers 1.853756e-02 9.268778e-04 0.02% + local potentials 3.996467e-01 1.998233e-02 0.51% + non-local potentials 1.617431e+00 8.087154e-02 2.06% + ffm_dgemm 3.582917e-01 1.791458e-02 0.46% + fmf_dgemm 7.342104e-01 3.671052e-02 0.93% + m_diagonalize 1.589426e-03 7.947130e-05 0.00% + mmm_multiply 1.561670e-04 7.808350e-06 0.00% + SCVtrans 5.951140e-04 2.975570e-05 0.00% + + >>> job completed at Mon Feb 20 12:58:13 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Mon Feb 20 12:58:13 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + APC u: 1 0.03233 + APC u: 2 0.01855 + APC u: 3 0.01925 + - self-consistent + + reading formatted psp filename: ./O.vpp + + reading formatted psp filename: ./H.vpp + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 2 + processor grid : 2 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: O valence charge = 6.0 lmax =2 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.700 0.700 0.700 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + O : 1 H : 2 + + initial ion positions (au): + 1 O ( 0.30530 -0.09999 0.06277 ) - atomic mass = 15.995 + 2 H ( 1.51761 0.69739 -0.96741 ) - atomic mass = 1.008 + 3 H ( -0.61499 -1.26526 -0.92367 ) - atomic mass = 1.008 + G.C. ( 0.40264 -0.22262 -0.60944 ) + C.O.M. ( 0.32164 -0.12058 -0.05010 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 17575.98 + lattice: a1 = < 26.000 0.000 0.000 > + a2 = < 0.000 26.000 0.000 > + a3 = < 0.000 0.000 26.000 > + reciprocal: b1 = < 0.242 0.000 0.000 > + b2 = < 0.000 0.242 0.000 > + b3 = < 0.000 0.000 0.242 > + lattice: a = 26.000 b = 26.000 c = 26.000 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) + + Ewald parameters: + energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + Ewald summation: cut radius = 8.276 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Mon Feb 20 12:58:13 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + 10 -1.719873455954e+01 -9.004282e-10 1.658504e-11 + *** tolerance ok. iteration terminated + >>> iteration ended at Mon Feb 20 12:58:18 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + APC Potential: + 0.032333312 0.018553820 0.019254068 + + APC Point Charges: + -0.742896601 0.372369359 0.370527242 + + + total energy : -1.7198734560e+01 ( -5.73291e+00 /ion) + total orbital energy: -4.1187908301e+00 ( -1.02970e+00 /electron) + hartree energy : 1.8012266800e+01 ( 4.50307e+00 /electron) + exc-corr energy : -4.2446829147e+00 ( -1.06117e+00 /electron) + APC energy : -9.9772770331e-03 ( -3.32576e-03 /ion) + ion-ion energy : 3.5958632818e+00 ( 1.19862e+00 /ion) + + kinetic (planewave) : 1.2411184797e+01 ( 3.10280e+00 /electron) + V_local (planewave) : -4.5792535047e+01 ( -1.14481e+01 /electron) + V_nl (planewave) : -1.2573146519e+00 ( -3.14329e-01 /electron) + V_Coul (planewave) : 3.6024533601e+01 ( 9.00613e+00 /electron) + V_xc (planewave) : -5.5046595290e+00 ( -1.37616e+00 /electron) + K.S. V_APC energy : -8.6460451912e-02 ( -2.88202e-02 /ion) + Viral Coefficient : -1.3318612121e+00 + + orbital energy: + -2.7472181e-01 ( -7.476eV) + -3.4404030e-01 ( -9.362eV) + -5.0657671e-01 ( -13.785eV) + -9.3405659e-01 ( -25.417eV) + +== Center of Charge == + +spin up = ( 0.3274 -0.1283 -0.0912 ) +spin down = ( 0.3274 -0.1283 -0.0912 ) + total = ( 0.3274 -0.1283 -0.0912 ) +ionic = ( 0.3418 -0.1460 -0.1893 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 0.1155 -0.1411 -0.7846 ) au +|mu| = 0.8055 au ( 2.0472 Debye ) + + + Ion Forces (au): + 1 O ( 0.00022 -0.00158 0.00544 ) + 2 H ( -0.00091 -0.00162 -0.00217 ) + 3 H ( 0.00230 0.00171 -0.00146 ) + + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - self-consistent + + APC Potential: + 0.032333312 0.018553820 0.019254068 + + APC Point Charges: + -0.742896601 0.372369359 0.370527242 + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 O -6.743 6.000 -0.743 + 2 H -0.628 1.000 0.372 + 3 H -0.629 1.000 0.371 + Total Q -8.000 8.000 -0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 O 6.000 -1.099 -2.073 -3.571 + 2 H 1.000 -0.718 0.775 -0.685 + 3 H 1.000 -0.718 0.778 -0.689 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 2.190e-01 + main loop : 5.030e+00 + epilogue : 9.607e-02 + total : 5.345e+00 + cputime/step: 2.515e-01 ( 20 evaluations, 6 linesearches) + + Time spent doing total step percent + total time 8.407153e+01 4.203577e+00 100.00% + total FFT time 3.212332e+01 1.606166e+00 38.21% + lagrange multipliers 1.853756e-02 9.268778e-04 0.02% + local potentials 4.424081e-01 2.212040e-02 0.53% + non-local potentials 1.722736e+00 8.613678e-02 2.05% + ffm_dgemm 3.823353e-01 1.911676e-02 0.45% + fmf_dgemm 7.841598e-01 3.920799e-02 0.93% + m_diagonalize 1.651995e-03 8.259975e-05 0.00% + mmm_multiply 1.620050e-04 8.100250e-06 0.00% + SCVtrans 6.166230e-04 3.083115e-05 0.00% + + >>> job completed at Mon Feb 20 12:58:18 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Mon Feb 20 12:58:18 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + APC u: 1 0.03241 + APC u: 2 0.01859 + APC u: 3 0.01929 + - self-consistent + + reading formatted psp filename: ./O.vpp + + reading formatted psp filename: ./H.vpp + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 2 + processor grid : 2 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: O valence charge = 6.0 lmax =2 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.700 0.700 0.700 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + O : 1 H : 2 + + initial ion positions (au): + 1 O ( 0.30529 -0.10000 0.06280 ) - atomic mass = 15.995 + 2 H ( 1.51764 0.69732 -0.96764 ) - atomic mass = 1.008 + 3 H ( -0.61488 -1.26524 -0.92385 ) - atomic mass = 1.008 + G.C. ( 0.40268 -0.22264 -0.60956 ) + C.O.M. ( 0.32164 -0.12059 -0.05009 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 17575.98 + lattice: a1 = < 26.000 0.000 0.000 > + a2 = < 0.000 26.000 0.000 > + a3 = < 0.000 0.000 26.000 > + reciprocal: b1 = < 0.242 0.000 0.000 > + b2 = < 0.000 0.242 0.000 > + b3 = < 0.000 0.000 0.242 > + lattice: a = 26.000 b = 26.000 c = 26.000 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) + + Ewald parameters: + energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + Ewald summation: cut radius = 8.276 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Mon Feb 20 12:58:19 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + 10 -1.719876252297e+01 -8.458514e-10 1.397970e-11 + *** tolerance ok. iteration terminated + >>> iteration ended at Mon Feb 20 12:58:24 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + APC Potential: + 0.032405008 0.018589332 0.019290258 + + APC Point Charges: + -0.743037479 0.372435994 0.370601485 + + + total energy : -1.7198762523e+01 ( -5.73292e+00 /ion) + total orbital energy: -4.1188886861e+00 ( -1.02972e+00 /electron) + hartree energy : 1.8012034347e+01 ( 4.50301e+00 /electron) + exc-corr energy : -4.2446405568e+00 ( -1.06116e+00 /electron) + APC energy : -1.0005801103e-02 ( -3.33527e-03 /ion) + ion-ion energy : 3.5955259013e+00 ( 1.19851e+00 /ion) + + kinetic (planewave) : 1.2410979445e+01 ( 3.10274e+00 /electron) + V_local (planewave) : -4.5792100268e+01 ( -1.14480e+01 /electron) + V_nl (planewave) : -1.2572322176e+00 ( -3.14308e-01 /electron) + V_Coul (planewave) : 3.6024068694e+01 ( 9.00602e+00 /electron) + V_xc (planewave) : -5.5046043391e+00 ( -1.37615e+00 /electron) + K.S. V_APC energy : -8.6676627471e-02 ( -2.88922e-02 /ion) + Viral Coefficient : -1.3318745877e+00 + + orbital energy: + -2.7474275e-01 ( -7.476eV) + -3.4409137e-01 ( -9.363eV) + -5.0654777e-01 ( -13.784eV) + -9.3406245e-01 ( -25.417eV) + +== Center of Charge == + +spin up = ( 0.3274 -0.1283 -0.0912 ) +spin down = ( 0.3274 -0.1283 -0.0912 ) + total = ( 0.3274 -0.1283 -0.0912 ) +ionic = ( 0.3418 -0.1460 -0.1893 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 0.1155 -0.1411 -0.7849 ) au +|mu| = 0.8058 au ( 2.0481 Debye ) + + + Ion Forces (au): + 1 O ( 0.00027 -0.00157 0.00534 ) + 2 H ( -0.00094 -0.00164 -0.00212 ) + 3 H ( 0.00230 0.00172 -0.00143 ) + + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - self-consistent + + APC Potential: + 0.032405008 0.018589332 0.019290258 + + APC Point Charges: + -0.743037479 0.372435994 0.370601485 + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 O -6.743 6.000 -0.743 + 2 H -0.628 1.000 0.372 + 3 H -0.629 1.000 0.371 + Total Q -8.000 8.000 -0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 O 6.000 -1.100 -2.071 -3.572 + 2 H 1.000 -0.718 0.775 -0.685 + 3 H 1.000 -0.718 0.777 -0.689 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 2.169e-01 + main loop : 5.549e+00 + epilogue : 9.666e-02 + total : 5.862e+00 + cputime/step: 2.522e-01 ( 22 evaluations, 7 linesearches) + + Time spent doing total step percent + total time 8.996191e+01 4.089178e+00 100.00% + total FFT time 3.431704e+01 1.559865e+00 38.15% + lagrange multipliers 1.853756e-02 8.426161e-04 0.02% + local potentials 4.888440e-01 2.222018e-02 0.54% + non-local potentials 1.838714e+00 8.357793e-02 2.04% + ffm_dgemm 4.096886e-01 1.862221e-02 0.46% + fmf_dgemm 8.410623e-01 3.823010e-02 0.93% + m_diagonalize 1.719907e-03 7.817759e-05 0.00% + mmm_multiply 1.688500e-04 7.675000e-06 0.00% + SCVtrans 6.422730e-04 2.919423e-05 0.00% + + >>> job completed at Mon Feb 20 12:58:24 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Mon Feb 20 12:58:24 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + APC u: 1 0.03249 + APC u: 2 0.01863 + APC u: 3 0.01933 + - self-consistent + + reading formatted psp filename: ./O.vpp + + reading formatted psp filename: ./H.vpp + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 2 + processor grid : 2 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: O valence charge = 6.0 lmax =2 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.700 0.700 0.700 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + O : 1 H : 2 + + initial ion positions (au): + 1 O ( 0.30529 -0.10000 0.06284 ) - atomic mass = 15.995 + 2 H ( 1.51767 0.69723 -0.96791 ) - atomic mass = 1.008 + 3 H ( -0.61475 -1.26521 -0.92407 ) - atomic mass = 1.008 + G.C. ( 0.40274 -0.22266 -0.60971 ) + C.O.M. ( 0.32165 -0.12059 -0.05008 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 17575.98 + lattice: a1 = < 26.000 0.000 0.000 > + a2 = < 0.000 26.000 0.000 > + a3 = < 0.000 0.000 26.000 > + reciprocal: b1 = < 0.242 0.000 0.000 > + b2 = < 0.000 0.242 0.000 > + b3 = < 0.000 0.000 0.242 > + lattice: a = 26.000 b = 26.000 c = 26.000 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) + + Ewald parameters: + energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + Ewald summation: cut radius = 8.276 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Mon Feb 20 12:58:25 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + 10 -1.719879531709e+01 -7.102408e-10 9.201048e-12 + *** tolerance ok. iteration terminated + >>> iteration ended at Mon Feb 20 12:58:31 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + APC Potential: + 0.032489033 0.018630914 0.019332623 + + APC Point Charges: + -0.743206677 0.372515007 0.370691670 + + + total energy : -1.7198795317e+01 ( -5.73293e+00 /ion) + total orbital energy: -4.1189981928e+00 ( -1.02975e+00 /electron) + hartree energy : 1.8011767269e+01 ( 4.50294e+00 /electron) + exc-corr energy : -4.2445921613e+00 ( -1.06115e+00 /electron) + APC energy : -1.0039328954e-02 ( -3.34644e-03 /ion) + ion-ion energy : 3.5951302716e+00 ( 1.19838e+00 /ion) + + kinetic (planewave) : 1.2410744945e+01 ( 3.10269e+00 /electron) + V_local (planewave) : -4.5791599233e+01 ( -1.14479e+01 /electron) + V_nl (planewave) : -1.2571371729e+00 ( -3.14284e-01 /electron) + V_Coul (planewave) : 3.6023534537e+01 ( 9.00588e+00 /electron) + V_xc (planewave) : -5.5045412688e+00 ( -1.37614e+00 /electron) + K.S. V_APC energy : -8.6930094076e-02 ( -2.89767e-02 /ion) + Viral Coefficient : -1.3318896820e+00 + + orbital energy: + -2.7476660e-01 ( -7.477eV) + -3.4415074e-01 ( -9.365eV) + -5.0651298e-01 ( -13.783eV) + -9.3406877e-01 ( -25.418eV) + +== Center of Charge == + +spin up = ( 0.3274 -0.1283 -0.0912 ) +spin down = ( 0.3274 -0.1283 -0.0912 ) + total = ( 0.3274 -0.1283 -0.0912 ) +ionic = ( 0.3418 -0.1460 -0.1894 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 0.1156 -0.1412 -0.7854 ) au +|mu| = 0.8063 au ( 2.0493 Debye ) + + + Ion Forces (au): + 1 O ( 0.00032 -0.00155 0.00524 ) + 2 H ( -0.00099 -0.00165 -0.00206 ) + 3 H ( 0.00229 0.00172 -0.00140 ) + + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - self-consistent + + APC Potential: + 0.032489033 0.018630914 0.019332623 + + APC Point Charges: + -0.743206677 0.372515007 0.370691670 + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 O -6.743 6.000 -0.743 + 2 H -0.627 1.000 0.373 + 3 H -0.629 1.000 0.371 + Total Q -8.000 8.000 0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 O 6.000 -1.100 -2.069 -3.573 + 2 H 1.000 -0.718 0.774 -0.684 + 3 H 1.000 -0.718 0.777 -0.688 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 2.187e-01 + main loop : 6.290e+00 + epilogue : 9.636e-02 + total : 6.605e+00 + cputime/step: 2.516e-01 ( 25 evaluations, 8 linesearches) + + Time spent doing total step percent + total time 9.659261e+01 3.863704e+00 100.00% + total FFT time 3.679339e+01 1.471736e+00 38.09% + lagrange multipliers 1.853756e-02 7.415022e-04 0.02% + local potentials 5.407295e-01 2.162918e-02 0.56% + non-local potentials 1.969077e+00 7.876308e-02 2.04% + ffm_dgemm 4.406609e-01 1.762644e-02 0.46% + fmf_dgemm 9.064759e-01 3.625904e-02 0.94% + m_diagonalize 1.792913e-03 7.171652e-05 0.00% + mmm_multiply 1.760680e-04 7.042720e-06 0.00% + SCVtrans 6.711410e-04 2.684564e-05 0.00% + + >>> job completed at Mon Feb 20 12:58:31 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Mon Feb 20 12:58:31 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + APC u: 1 0.03259 + APC u: 2 0.01868 + APC u: 3 0.01938 + - self-consistent + + reading formatted psp filename: ./O.vpp + + reading formatted psp filename: ./H.vpp + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 2 + processor grid : 2 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: O valence charge = 6.0 lmax =2 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.700 0.700 0.700 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + O : 1 H : 2 + + initial ion positions (au): + 1 O ( 0.30528 -0.10000 0.06289 ) - atomic mass = 15.995 + 2 H ( 1.51771 0.69713 -0.96821 ) - atomic mass = 1.008 + 3 H ( -0.61460 -1.26518 -0.92432 ) - atomic mass = 1.008 + G.C. ( 0.40280 -0.22268 -0.60988 ) + C.O.M. ( 0.32165 -0.12060 -0.05007 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 17575.98 + lattice: a1 = < 26.000 0.000 0.000 > + a2 = < 0.000 26.000 0.000 > + a3 = < 0.000 0.000 26.000 > + reciprocal: b1 = < 0.242 0.000 0.000 > + b2 = < 0.000 0.242 0.000 > + b3 = < 0.000 0.000 0.242 > + lattice: a = 26.000 b = 26.000 c = 26.000 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) + + Ewald parameters: + energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + Ewald summation: cut radius = 8.276 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Mon Feb 20 12:58:31 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + 10 -1.719883281433e+01 -8.204957e-10 9.681253e-12 + *** tolerance ok. iteration terminated + >>> iteration ended at Mon Feb 20 12:58:38 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + APC Potential: + 0.032585034 0.018678373 0.019380962 + + APC Point Charges: + -0.743389115 0.372602561 0.370786554 + + + total energy : -1.7198832814e+01 ( -5.73294e+00 /ion) + total orbital energy: -4.1191195979e+00 ( -1.02978e+00 /electron) + hartree energy : 1.8011465862e+01 ( 4.50287e+00 /electron) + exc-corr energy : -4.2445375438e+00 ( -1.06113e+00 /electron) + APC energy : -1.0077549648e-02 ( -3.35918e-03 /ion) + ion-ion energy : 3.5946779696e+00 ( 1.19823e+00 /ion) + + kinetic (planewave) : 1.2410479252e+01 ( 3.10262e+00 /electron) + V_local (planewave) : -4.5791030795e+01 ( -1.14478e+01 /electron) + V_nl (planewave) : -1.2570296369e+00 ( -3.14257e-01 /electron) + V_Coul (planewave) : 3.6022931725e+01 ( 9.00573e+00 /electron) + V_xc (planewave) : -5.5044701428e+00 ( -1.37612e+00 /electron) + K.S. V_APC energy : -8.7219627004e-02 ( -2.90732e-02 /ion) + Viral Coefficient : -1.3319065698e+00 + + orbital energy: + -2.7479350e-01 ( -7.478eV) + -3.4421824e-01 ( -9.367eV) + -5.0647239e-01 ( -13.782eV) + -9.3407566e-01 ( -25.418eV) + +== Center of Charge == + +spin up = ( 0.3274 -0.1283 -0.0912 ) +spin down = ( 0.3274 -0.1283 -0.0912 ) + total = ( 0.3274 -0.1283 -0.0912 ) +ionic = ( 0.3418 -0.1460 -0.1894 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 0.1157 -0.1413 -0.7859 ) au +|mu| = 0.8068 au ( 2.0505 Debye ) + + + Ion Forces (au): + 1 O ( 0.00037 -0.00154 0.00513 ) + 2 H ( -0.00104 -0.00168 -0.00198 ) + 3 H ( 0.00229 0.00173 -0.00136 ) + + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - self-consistent + + APC Potential: + 0.032585034 0.018678373 0.019380962 + + APC Point Charges: + -0.743389115 0.372602561 0.370786554 + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 O -6.743 6.000 -0.743 + 2 H -0.627 1.000 0.373 + 3 H -0.629 1.000 0.371 + Total Q -8.000 8.000 -0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 O 6.000 -1.101 -2.067 -3.575 + 2 H 1.000 -0.717 0.774 -0.684 + 3 H 1.000 -0.718 0.776 -0.688 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 2.190e-01 + main loop : 6.554e+00 + epilogue : 9.646e-02 + total : 6.870e+00 + cputime/step: 2.521e-01 ( 26 evaluations, 8 linesearches) + + Time spent doing total step percent + total time 1.034903e+02 3.980396e+00 100.00% + total FFT time 3.938571e+01 1.514835e+00 38.06% + lagrange multipliers 1.853756e-02 7.129829e-04 0.02% + local potentials 5.946069e-01 2.286950e-02 0.57% + non-local potentials 2.104186e+00 8.093024e-02 2.03% + ffm_dgemm 4.724177e-01 1.816991e-02 0.46% + fmf_dgemm 9.726952e-01 3.741135e-02 0.94% + m_diagonalize 1.867953e-03 7.184435e-05 0.00% + mmm_multiply 1.835330e-04 7.058962e-06 0.00% + SCVtrans 6.999500e-04 2.692115e-05 0.00% + + >>> job completed at Mon Feb 20 12:58:38 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Mon Feb 20 12:58:38 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + APC u: 1 0.03269 + APC u: 2 0.01873 + APC u: 3 0.01944 + - self-consistent + + reading formatted psp filename: ./O.vpp + + reading formatted psp filename: ./H.vpp + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 2 + processor grid : 2 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: O valence charge = 6.0 lmax =2 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.700 0.700 0.700 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + O : 1 H : 2 + + initial ion positions (au): + 1 O ( 0.30528 -0.10000 0.06294 ) - atomic mass = 15.995 + 2 H ( 1.51774 0.69702 -0.96856 ) - atomic mass = 1.008 + 3 H ( -0.61443 -1.26514 -0.92461 ) - atomic mass = 1.008 + G.C. ( 0.40286 -0.22271 -0.61007 ) + C.O.M. ( 0.32166 -0.12060 -0.05005 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 17575.98 + lattice: a1 = < 26.000 0.000 0.000 > + a2 = < 0.000 26.000 0.000 > + a3 = < 0.000 0.000 26.000 > + reciprocal: b1 = < 0.242 0.000 0.000 > + b2 = < 0.000 0.242 0.000 > + b3 = < 0.000 0.000 0.242 > + lattice: a = 26.000 b = 26.000 c = 26.000 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) + + Ewald parameters: + energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + Ewald summation: cut radius = 8.276 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Mon Feb 20 12:58:38 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + 10 -1.719887486949e+01 -7.199468e-10 8.526684e-12 + *** tolerance ok. iteration terminated + >>> iteration ended at Mon Feb 20 12:58:46 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + APC Potential: + 0.032692607 0.018731490 0.019435046 + + APC Point Charges: + -0.743603553 0.372702565 0.370900988 + + + total energy : -1.7198874869e+01 ( -5.73296e+00 /ion) + total orbital energy: -4.1192575358e+00 ( -1.02981e+00 /electron) + hartree energy : 1.8011125755e+01 ( 4.50278e+00 /electron) + exc-corr energy : -4.2444760444e+00 ( -1.06112e+00 /electron) + APC energy : -1.0120586085e-02 ( -3.37353e-03 /ion) + ion-ion energy : 3.5941707536e+00 ( 1.19806e+00 /ion) + + kinetic (planewave) : 1.2410180125e+01 ( 3.10255e+00 /electron) + V_local (planewave) : -4.5790391786e+01 ( -1.14476e+01 /electron) + V_nl (planewave) : -1.2569073825e+00 ( -3.14227e-01 /electron) + V_Coul (planewave) : 3.6022251510e+01 ( 9.00556e+00 /electron) + V_xc (planewave) : -5.5043900019e+00 ( -1.37610e+00 /electron) + K.S. V_APC energy : -8.7544296454e-02 ( -2.91814e-02 /ion) + Viral Coefficient : -1.3319256847e+00 + + orbital energy: + -2.7482377e-01 ( -7.478eV) + -3.4429456e-01 ( -9.369eV) + -5.0642677e-01 ( -13.781eV) + -9.3408367e-01 ( -25.418eV) + +== Center of Charge == + +spin up = ( 0.3274 -0.1283 -0.0911 ) +spin down = ( 0.3274 -0.1283 -0.0911 ) + total = ( 0.3274 -0.1283 -0.0911 ) +ionic = ( 0.3419 -0.1460 -0.1894 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 0.1158 -0.1414 -0.7864 ) au +|mu| = 0.8074 au ( 2.0520 Debye ) + + + Ion Forces (au): + 1 O ( 0.00043 -0.00152 0.00500 ) + 2 H ( -0.00109 -0.00170 -0.00190 ) + 3 H ( 0.00228 0.00174 -0.00131 ) + + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - self-consistent + + APC Potential: + 0.032692607 0.018731490 0.019435046 + + APC Point Charges: + -0.743603553 0.372702565 0.370900988 + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 O -6.744 6.000 -0.744 + 2 H -0.627 1.000 0.373 + 3 H -0.629 1.000 0.371 + Total Q -8.000 8.000 0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 O 6.000 -1.103 -2.065 -3.576 + 2 H 1.000 -0.717 0.773 -0.684 + 3 H 1.000 -0.717 0.776 -0.688 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 2.186e-01 + main loop : 7.533e+00 + epilogue : 9.650e-02 + total : 7.848e+00 + cputime/step: 2.511e-01 ( 30 evaluations, 9 linesearches) + + Time spent doing total step percent + total time 1.113648e+02 3.712160e+00 100.00% + total FFT time 4.235557e+01 1.411852e+00 38.03% + lagrange multipliers 1.853756e-02 6.179185e-04 0.02% + local potentials 6.552728e-01 2.184243e-02 0.59% + non-local potentials 2.256693e+00 7.522310e-02 2.03% + ffm_dgemm 5.082342e-01 1.694114e-02 0.46% + fmf_dgemm 1.048584e+00 3.495281e-02 0.94% + m_diagonalize 1.949590e-03 6.498633e-05 0.00% + mmm_multiply 1.973550e-04 6.578500e-06 0.00% + SCVtrans 7.333550e-04 2.444517e-05 0.00% + + >>> job completed at Mon Feb 20 12:58:46 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Mon Feb 20 12:58:46 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + APC u: 1 0.03281 + APC u: 2 0.01879 + APC u: 3 0.01949 + - self-consistent + + reading formatted psp filename: ./O.vpp + + reading formatted psp filename: ./H.vpp + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 2 + processor grid : 2 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: O valence charge = 6.0 lmax =2 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.700 0.700 0.700 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + O : 1 H : 2 + + initial ion positions (au): + 1 O ( 0.30527 -0.10001 0.06300 ) - atomic mass = 15.995 + 2 H ( 1.51778 0.69689 -0.96894 ) - atomic mass = 1.008 + 3 H ( -0.61424 -1.26510 -0.92492 ) - atomic mass = 1.008 + G.C. ( 0.40294 -0.22274 -0.61029 ) + C.O.M. ( 0.32167 -0.12061 -0.05004 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 17575.98 + lattice: a1 = < 26.000 0.000 0.000 > + a2 = < 0.000 26.000 0.000 > + a3 = < 0.000 0.000 26.000 > + reciprocal: b1 = < 0.242 0.000 0.000 > + b2 = < 0.000 0.242 0.000 > + b3 = < 0.000 0.000 0.242 > + lattice: a = 26.000 b = 26.000 c = 26.000 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) + + Ewald parameters: + energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + Ewald summation: cut radius = 8.276 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Mon Feb 20 12:58:46 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + 10 -1.719892131612e+01 -7.898464e-10 8.411012e-12 + *** tolerance ok. iteration terminated + >>> iteration ended at Mon Feb 20 12:58:53 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + APC Potential: + 0.032811295 0.018790019 0.019494618 + + APC Point Charges: + -0.743829157 0.372810198 0.371018959 + + + total energy : -1.7198921316e+01 ( -5.73297e+00 /ion) + total orbital energy: -4.1194088789e+00 ( -1.02985e+00 /electron) + hartree energy : 1.8010750958e+01 ( 4.50269e+00 /electron) + exc-corr energy : -4.2444081521e+00 ( -1.06110e+00 /electron) + APC energy : -1.0168014666e-02 ( -3.38934e-03 /ion) + ion-ion energy : 3.5936106189e+00 ( 1.19787e+00 /ion) + + kinetic (planewave) : 1.2409848854e+01 ( 3.10246e+00 /electron) + V_local (planewave) : -4.5789685270e+01 ( -1.14474e+01 /electron) + V_nl (planewave) : -1.2567727982e+00 ( -3.14193e-01 /electron) + V_Coul (planewave) : 3.6021501916e+01 ( 9.00538e+00 /electron) + V_xc (planewave) : -5.5043015804e+00 ( -1.37608e+00 /electron) + K.S. V_APC energy : -8.7902487999e-02 ( -2.93008e-02 /ion) + Viral Coefficient : -1.3319467406e+00 + + orbital energy: + -2.7485717e-01 ( -7.479eV) + -3.4437897e-01 ( -9.371eV) + -5.0637575e-01 ( -13.779eV) + -9.3409255e-01 ( -25.418eV) + +== Center of Charge == + +spin up = ( 0.3274 -0.1283 -0.0911 ) +spin down = ( 0.3274 -0.1283 -0.0911 ) + total = ( 0.3274 -0.1283 -0.0911 ) +ionic = ( 0.3419 -0.1460 -0.1895 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 0.1159 -0.1415 -0.7870 ) au +|mu| = 0.8080 au ( 2.0536 Debye ) + + + Ion Forces (au): + 1 O ( 0.00050 -0.00151 0.00486 ) + 2 H ( -0.00115 -0.00172 -0.00181 ) + 3 H ( 0.00228 0.00175 -0.00126 ) + + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - self-consistent + + APC Potential: + 0.032811295 0.018790019 0.019494618 + + APC Point Charges: + -0.743829157 0.372810198 0.371018959 + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 O -6.744 6.000 -0.744 + 2 H -0.627 1.000 0.373 + 3 H -0.629 1.000 0.371 + Total Q -8.000 8.000 0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 O 6.000 -1.104 -2.063 -3.577 + 2 H 1.000 -0.717 0.773 -0.683 + 3 H 1.000 -0.717 0.775 -0.687 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 2.188e-01 + main loop : 7.299e+00 + epilogue : 9.706e-02 + total : 7.615e+00 + cputime/step: 2.517e-01 ( 29 evaluations, 9 linesearches) + + Time spent doing total step percent + total time 1.190131e+02 4.103901e+00 100.00% + total FFT time 4.524319e+01 1.560110e+00 38.02% + lagrange multipliers 1.853756e-02 6.392260e-04 0.02% + local potentials 7.144996e-01 2.463792e-02 0.60% + non-local potentials 2.405749e+00 8.295688e-02 2.02% + ffm_dgemm 5.433286e-01 1.873547e-02 0.46% + fmf_dgemm 1.122774e+00 3.871633e-02 0.94% + m_diagonalize 2.034003e-03 7.013803e-05 0.00% + mmm_multiply 2.063150e-04 7.114310e-06 0.00% + SCVtrans 7.696860e-04 2.654090e-05 0.00% + + >>> job completed at Mon Feb 20 12:58:53 2023 <<< diff --git a/examples/QUANTUM/NWChem/log.8Feb23.water.pwdft.qmmm.plugin.2 b/examples/QUANTUM/NWChem/log.8Feb23.water.pwdft.qmmm.plugin.2 index aa3606d029..0e3a015ab6 100644 --- a/examples/QUANTUM/NWChem/log.8Feb23.water.pwdft.qmmm.plugin.2 +++ b/examples/QUANTUM/NWChem/log.8Feb23.water.pwdft.qmmm.plugin.2 @@ -11,7 +11,7 @@ * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Wed Feb 8 15:51:08 2023 <<< + >>> job started at Mon Feb 20 12:59:15 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -31,7 +31,7 @@ writing formatted psp filename: ./H.vpp generating random psi from scratch Warning - Gram-Schmidt being performed on psi2 - - exact norm = 8.00000 norm=8.86148 corrected norm=8.00000 (error=0.86148) + - exact norm = 8.00000 norm=8.87324 corrected norm=8.00000 (error=0.87324) ============== summary of input ================== @@ -109,22 +109,21 @@ ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Wed Feb 8 15:51:09 2023 <<< + >>> iteration started at Mon Feb 20 12:59:15 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 10 steepest descent iterations performed - 10 -1.206279801672e+01 -4.150120e-01 1.996397e-03 - 20 -1.493506122443e+01 -1.422834e-01 1.506682e-03 - 30 -1.540348600009e+01 -2.354360e-02 7.931449e-05 - 40 -1.566981091704e+01 -3.162288e-02 2.353093e-04 - 50 -1.598278441045e+01 -2.666532e-02 2.366148e-04 - 60 -1.616463354121e+01 -1.223350e-02 7.334903e-05 - 70 -1.630473193885e+01 -3.266566e-04 2.297099e-06 - 80 -1.630526899088e+01 -2.459563e-06 7.181128e-09 - 90 -1.630527200045e+01 -1.255258e-08 3.774166e-10 - 100 -1.630527202340e+01 -8.822809e-10 1.152800e-11 + 10 -1.282472121153e+01 -9.484109e-01 1.779210e-02 + 20 -1.504837267799e+01 -5.497331e-02 3.093676e-04 + 30 -1.573162576628e+01 -7.462479e-02 7.497296e-04 + 40 -1.613937990909e+01 -1.991498e-02 1.005273e-04 + 50 -1.630233932354e+01 -1.501744e-03 1.758004e-04 + 60 -1.630525628588e+01 -1.357997e-05 9.037538e-08 + 70 -1.630527187384e+01 -6.875135e-08 2.522005e-09 + 80 -1.630527202279e+01 -1.101618e-09 1.194409e-11 + 90 -1.630527202341e+01 -6.239418e-10 5.440727e-12 *** tolerance ok. iteration terminated - >>> iteration ended at Wed Feb 8 15:51:18 2023 <<< + >>> iteration ended at Mon Feb 20 12:59:23 2023 <<< ============== energy results (Molecule object) ============== @@ -133,23 +132,23 @@ total energy : -1.6305272023e+01 ( -5.43509e+00 /ion) - total orbital energy: -4.4098310387e+00 ( -1.10246e+00 /electron) - hartree energy : 1.6681756106e+01 ( 4.17044e+00 /electron) - exc-corr energy : -4.0100672760e+00 ( -1.00252e+00 /electron) + total orbital energy: -4.4097831376e+00 ( -1.10245e+00 /electron) + hartree energy : 1.6681806876e+01 ( 4.17045e+00 /electron) + exc-corr energy : -4.0100766866e+00 ( -1.00252e+00 /electron) ion-ion energy : 3.5966388474e+00 ( 1.19888e+00 /ion) - kinetic (planewave) : 9.8614028188e+00 ( 2.46535e+00 /electron) - V_local (planewave) : -4.2645184847e+01 ( -1.06613e+01 /electron) - V_nl (planewave) : 2.1018232722e-01 ( 5.25456e-02 /electron) - V_Coul (planewave) : 3.3363512212e+01 ( 8.34088e+00 /electron) - V_xc (planewave) : -5.1997435500e+00 ( -1.29994e+00 /electron) - Viral Coefficient : -1.4471809052e+00 + kinetic (planewave) : 9.8614439976e+00 ( 2.46536e+00 /electron) + V_local (planewave) : -4.2645265326e+01 ( -1.06613e+01 /electron) + V_nl (planewave) : 2.1018026777e-01 ( 5.25451e-02 /electron) + V_Coul (planewave) : 3.3363613752e+01 ( 8.34090e+00 /electron) + V_xc (planewave) : -5.1997558296e+00 ( -1.29994e+00 /electron) + Viral Coefficient : -1.4471741804e+00 orbital energy: - -2.5265267e-01 ( -6.875eV) - -3.5266167e-01 ( -9.596eV) - -5.0407048e-01 ( -13.717eV) - -1.0955307e+00 ( -29.811eV) + -2.5264682e-01 ( -6.875eV) + -3.5265599e-01 ( -9.596eV) + -5.0406540e-01 ( -13.716eV) + -1.0955234e+00 ( -29.811eV) == Center of Charge == @@ -160,7 +159,7 @@ ionic = ( 0.3418 -0.1460 -0.1893 ) == Molecular Dipole wrt Center of Mass == -mu = ( 0.0648 -0.0818 -0.4407 ) au +mu = ( 0.0649 -0.0819 -0.4407 ) au |mu| = 0.4529 au ( 1.1511 Debye ) @@ -191,7 +190,7 @@ mu = ( 0.0648 -0.0818 -0.4407 ) au 1 O -6.416 6.000 -0.416 2 H -0.792 1.000 0.208 3 H -0.792 1.000 0.208 - Total Q -8.000 8.000 -0.000 + Total Q -8.000 8.000 0.000 Gaussian coefficients of model density @@ -208,25 +207,25 @@ mu = ( 0.0648 -0.0818 -0.4407 ) au ----------------- cputime in seconds - prologue : 1.158e-01 - main loop : 9.264e+00 - epilogue : 8.508e-03 - total : 9.388e+00 - cputime/step: 2.932e-02 ( 316 evaluations, 97 linesearches) + prologue : 6.541e-02 + main loop : 7.598e+00 + epilogue : 9.369e-03 + total : 7.673e+00 + cputime/step: 2.846e-02 ( 267 evaluations, 81 linesearches) Time spent doing total step percent - total time 9.361045e+00 2.962356e-02 100.00% - total FFT time 4.391524e+00 1.389723e-02 46.91% - lagrange multipliers 1.000841e-03 3.167218e-06 0.01% - local potentials 4.544660e-04 1.438184e-06 0.00% - non-local potentials 2.664875e-01 8.433148e-04 2.85% - ffm_dgemm 4.429686e-02 1.401799e-04 0.47% - fmf_dgemm 9.898879e-02 3.132557e-04 1.06% - m_diagonalize 6.658380e-04 2.107082e-06 0.01% - mmm_multiply 1.051730e-04 3.328259e-07 0.00% - SCVtrans 2.827170e-04 8.946741e-07 0.00% + total time 7.677869e+00 2.875606e-02 100.00% + total FFT time 2.887458e+00 1.081445e-02 37.61% + lagrange multipliers 2.396212e-03 8.974577e-06 0.03% + local potentials 4.929980e-04 1.846434e-06 0.01% + non-local potentials 2.540346e-01 9.514405e-04 3.31% + ffm_dgemm 8.381994e-02 3.139324e-04 1.09% + fmf_dgemm 8.565055e-02 3.207886e-04 1.12% + m_diagonalize 5.784450e-04 2.166461e-06 0.01% + mmm_multiply 5.265100e-05 1.971948e-07 0.00% + SCVtrans 2.165860e-04 8.111835e-07 0.00% - >>> job completed at Wed Feb 8 15:51:18 2023 <<< + >>> job completed at Mon Feb 20 12:59:23 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -240,7 +239,7 @@ mu = ( 0.0648 -0.0818 -0.4407 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Wed Feb 8 15:51:18 2023 <<< + >>> job started at Mon Feb 20 12:59:23 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -343,17 +342,17 @@ mu = ( 0.0648 -0.0818 -0.4407 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Wed Feb 8 15:51:18 2023 <<< + >>> iteration started at Mon Feb 20 12:59:23 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 10 steepest descent iterations performed - 10 -1.709563334317e+01 -6.201449e-04 4.252710e-06 - 20 -1.709727702922e+01 -1.395575e-05 2.324062e-07 - 30 -1.709728935247e+01 -1.652084e-07 9.382706e-10 - 40 -1.709728957157e+01 -1.886704e-09 1.155902e-11 - 50 -1.709728957460e+01 -8.623040e-10 2.854954e-12 + 10 -1.709563331677e+01 -6.201473e-04 4.252837e-06 + 20 -1.709727702920e+01 -1.395637e-05 2.324058e-07 + 30 -1.709728935245e+01 -1.652119e-07 9.383450e-10 + 40 -1.709728957157e+01 -1.887344e-09 1.156678e-11 + 50 -1.709728957459e+01 -8.627055e-10 2.856983e-12 *** tolerance ok. iteration terminated - >>> iteration ended at Wed Feb 8 15:51:33 2023 <<< + >>> iteration ended at Mon Feb 20 12:59:38 2023 <<< ============== energy results (Molecule object) ============== @@ -362,21 +361,21 @@ mu = ( 0.0648 -0.0818 -0.4407 ) au total energy : -1.7097289575e+01 ( -5.69910e+00 /ion) - total orbital energy: -4.0996983104e+00 ( -1.02492e+00 /electron) - hartree energy : 1.7847984194e+01 ( 4.46200e+00 /electron) - exc-corr energy : -4.2204936652e+00 ( -1.05512e+00 /electron) + total orbital energy: -4.0996983017e+00 ( -1.02492e+00 /electron) + hartree energy : 1.7847984203e+01 ( 4.46200e+00 /electron) + exc-corr energy : -4.2204936664e+00 ( -1.05512e+00 /electron) ion-ion energy : 3.5966388474e+00 ( 1.19888e+00 /ion) - kinetic (planewave) : 1.2079256812e+01 ( 3.01981e+00 /electron) - V_local (planewave) : -4.5359046100e+01 ( -1.13398e+01 /electron) - V_nl (planewave) : -1.0416296625e+00 ( -2.60407e-01 /electron) - V_Coul (planewave) : 3.5695968387e+01 ( 8.92399e+00 /electron) - V_xc (planewave) : -5.4742477473e+00 ( -1.36856e+00 /electron) - Viral Coefficient : -1.3393998798e+00 + kinetic (planewave) : 1.2079256817e+01 ( 3.01981e+00 /electron) + V_local (planewave) : -4.5359046108e+01 ( -1.13398e+01 /electron) + V_nl (planewave) : -1.0416296672e+00 ( -2.60407e-01 /electron) + V_Coul (planewave) : 3.5695968406e+01 ( 8.92399e+00 /electron) + V_xc (planewave) : -5.4742477490e+00 ( -1.36856e+00 /electron) + Viral Coefficient : -1.3393998790e+00 orbital energy: -2.6700298e-01 ( -7.266eV) - -3.3720536e-01 ( -9.176eV) + -3.3720535e-01 ( -9.176eV) -5.0189171e-01 ( -13.657eV) -9.4374911e-01 ( -25.681eV) @@ -420,7 +419,7 @@ mu = ( 0.0958 -0.1200 -0.6599 ) au 1 O -6.631 6.000 -0.631 2 H -0.684 1.000 0.316 3 H -0.685 1.000 0.315 - Total Q -8.000 8.000 0.000 + Total Q -8.000 8.000 -0.000 Gaussian coefficients of model density @@ -437,25 +436,25 @@ mu = ( 0.0958 -0.1200 -0.6599 ) au ----------------- cputime in seconds - prologue : 1.750e-01 - main loop : 1.525e+01 - epilogue : 2.840e-02 - total : 1.546e+01 - cputime/step: 1.038e-01 ( 147 evaluations, 43 linesearches) + prologue : 1.759e-01 + main loop : 1.530e+01 + epilogue : 3.071e-02 + total : 1.551e+01 + cputime/step: 1.041e-01 ( 147 evaluations, 43 linesearches) Time spent doing total step percent - total time 2.486473e+01 1.691478e-01 100.00% - total FFT time 1.180442e+01 8.030220e-02 47.47% - lagrange multipliers 5.373788e-03 3.655638e-05 0.02% - local potentials 1.815201e-03 1.234831e-05 0.01% - non-local potentials 6.301919e-01 4.287020e-03 2.53% - ffm_dgemm 1.205239e-01 8.198904e-04 0.48% - fmf_dgemm 2.346519e-01 1.596271e-03 0.94% - m_diagonalize 9.745520e-04 6.629605e-06 0.00% - mmm_multiply 1.509190e-04 1.026660e-06 0.00% - SCVtrans 4.188950e-04 2.849626e-06 0.00% + total time 2.323960e+01 1.580925e-01 100.00% + total FFT time 9.001530e+00 6.123490e-02 38.73% + lagrange multipliers 1.081922e-02 7.360016e-05 0.05% + local potentials 1.837175e-03 1.249779e-05 0.01% + non-local potentials 6.505598e-01 4.425577e-03 2.80% + ffm_dgemm 2.219660e-01 1.509973e-03 0.96% + fmf_dgemm 2.288675e-01 1.556921e-03 0.98% + m_diagonalize 9.273830e-04 6.308728e-06 0.00% + mmm_multiply 9.796900e-05 6.664558e-07 0.00% + SCVtrans 3.439250e-04 2.339626e-06 0.00% - >>> job completed at Wed Feb 8 15:51:33 2023 <<< + >>> job completed at Mon Feb 20 12:59:38 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -469,7 +468,7 @@ mu = ( 0.0958 -0.1200 -0.6599 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Wed Feb 8 15:51:33 2023 <<< + >>> job started at Mon Feb 20 12:59:38 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -575,17 +574,17 @@ mu = ( 0.0958 -0.1200 -0.6599 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Wed Feb 8 15:51:34 2023 <<< + >>> iteration started at Mon Feb 20 12:59:38 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 10 steepest descent iterations performed - 10 -1.719854750853e+01 -5.739066e-05 1.086836e-06 - 20 -1.719866697103e+01 -1.561353e-06 7.029039e-08 - 30 -1.719867013369e+01 -4.633685e-08 1.534758e-10 - 40 -1.719867027116e+01 -2.335167e-09 4.231098e-11 - 50 -1.719867027638e+01 -8.363159e-10 1.415691e-11 + 10 -1.719854750859e+01 -5.739063e-05 1.086836e-06 + 20 -1.719866697103e+01 -1.561352e-06 7.029033e-08 + 30 -1.719867013369e+01 -4.633695e-08 1.534761e-10 + 40 -1.719867027116e+01 -2.334716e-09 4.231098e-11 + 50 -1.719867027638e+01 -8.351257e-10 1.415691e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Wed Feb 8 15:52:07 2023 <<< + >>> iteration ended at Mon Feb 20 13:00:12 2023 <<< ============== energy results (Molecule object) ============== @@ -601,18 +600,18 @@ mu = ( 0.0958 -0.1200 -0.6599 ) au total energy : -1.7198670276e+01 ( -5.73289e+00 /ion) - total orbital energy: -4.1186005526e+00 ( -1.02965e+00 /electron) + total orbital energy: -4.1186005525e+00 ( -1.02965e+00 /electron) hartree energy : 1.8012763373e+01 ( 4.50319e+00 /electron) - exc-corr energy : -4.2447731088e+00 ( -1.06119e+00 /electron) - APC energy : -9.9121231907e-03 ( -3.30404e-03 /ion) + exc-corr energy : -4.2447731089e+00 ( -1.06119e+00 /electron) + APC energy : -9.9121231916e-03 ( -3.30404e-03 /ion) ion-ion energy : 3.5966383352e+00 ( 1.19888e+00 /ion) kinetic (planewave) : 1.2411600602e+01 ( 3.10290e+00 /electron) V_local (planewave) : -4.5793468974e+01 ( -1.14484e+01 /electron) V_nl (planewave) : -1.2574819137e+00 ( -3.14370e-01 /electron) - V_Coul (planewave) : 3.6025526746e+01 ( 9.00638e+00 /electron) + V_Coul (planewave) : 3.6025526747e+01 ( 9.00638e+00 /electron) V_xc (planewave) : -5.5047770128e+00 ( -1.37619e+00 /electron) - K.S. V_APC energy : -8.5963533405e-02 ( -2.86545e-02 /ion) + K.S. V_APC energy : -8.5963533407e-02 ( -2.86545e-02 /ion) Viral Coefficient : -1.3318347637e+00 orbital energy: @@ -691,25 +690,25 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au ----------------- cputime in seconds - prologue : 2.776e-01 - main loop : 3.341e+01 - epilogue : 8.123e-02 - total : 3.377e+01 - cputime/step: 2.258e-01 ( 148 evaluations, 44 linesearches) + prologue : 2.824e-01 + main loop : 3.353e+01 + epilogue : 8.889e-02 + total : 3.390e+01 + cputime/step: 2.266e-01 ( 148 evaluations, 44 linesearches) Time spent doing total step percent - total time 5.870426e+01 3.966504e-01 100.00% - total FFT time 2.757222e+01 1.862988e-01 46.97% - lagrange multipliers 1.439599e-02 9.727022e-05 0.02% - local potentials 2.612066e-01 1.764910e-03 0.44% - non-local potentials 1.313983e+00 8.878267e-03 2.24% - ffm_dgemm 2.830021e-01 1.912177e-03 0.48% - fmf_dgemm 5.364307e-01 3.624532e-03 0.91% - m_diagonalize 1.321422e-03 8.928527e-06 0.00% - mmm_multiply 2.068650e-04 1.397736e-06 0.00% - SCVtrans 6.028430e-04 4.073264e-06 0.00% + total time 5.719710e+01 3.864669e-01 100.00% + total FFT time 2.218099e+01 1.498716e-01 38.78% + lagrange multipliers 2.714469e-02 1.834101e-04 0.05% + local potentials 2.551341e-01 1.723879e-03 0.45% + non-local potentials 1.391154e+00 9.399686e-03 2.43% + ffm_dgemm 4.908890e-01 3.316818e-03 0.86% + fmf_dgemm 5.523412e-01 3.732035e-03 0.97% + m_diagonalize 1.296268e-03 8.758568e-06 0.00% + mmm_multiply 1.409640e-04 9.524595e-07 0.00% + SCVtrans 4.956650e-04 3.349088e-06 0.00% - >>> job completed at Wed Feb 8 15:52:07 2023 <<< + >>> job completed at Mon Feb 20 13:00:12 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -723,7 +722,7 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Wed Feb 8 15:52:07 2023 <<< + >>> job started at Mon Feb 20 13:00:12 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -822,12 +821,12 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Wed Feb 8 15:52:07 2023 <<< + >>> iteration started at Mon Feb 20 13:00:12 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 10 -1.719867286753e+01 -6.805578e-10 2.321480e-11 + 10 -1.719867286753e+01 -6.807959e-10 2.321477e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Wed Feb 8 15:52:08 2023 <<< + >>> iteration ended at Mon Feb 20 13:00:13 2023 <<< ============== energy results (Molecule object) ============== @@ -843,18 +842,18 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au total energy : -1.7198672868e+01 ( -5.73289e+00 /ion) - total orbital energy: -4.1185877729e+00 ( -1.02965e+00 /electron) + total orbital energy: -4.1185877728e+00 ( -1.02965e+00 /electron) hartree energy : 1.8012764978e+01 ( 4.50319e+00 /electron) exc-corr energy : -4.2447737993e+00 ( -1.06119e+00 /electron) - APC energy : -9.9146481390e-03 ( -3.30488e-03 /ion) + APC energy : -9.9146481408e-03 ( -3.30488e-03 /ion) ion-ion energy : 3.5966070435e+00 ( 1.19887e+00 /ion) kinetic (planewave) : 1.2411604235e+01 ( 3.10290e+00 /electron) V_local (planewave) : -4.5793466800e+01 ( -1.14484e+01 /electron) - V_nl (planewave) : -1.2574773463e+00 ( -3.14369e-01 /electron) + V_nl (planewave) : -1.2574773464e+00 ( -3.14369e-01 /electron) V_Coul (planewave) : 3.6025529957e+01 ( 9.00638e+00 /electron) - V_xc (planewave) : -5.5047778182e+00 ( -1.37619e+00 /electron) - K.S. V_APC energy : -8.5983469376e-02 ( -2.86612e-02 /ion) + V_xc (planewave) : -5.5047778183e+00 ( -1.37619e+00 /electron) + K.S. V_APC energy : -8.5983469374e-02 ( -2.86612e-02 /ion) Viral Coefficient : -1.3318336369e+00 orbital energy: @@ -916,7 +915,7 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au 1 O -6.743 6.000 -0.743 2 H -0.628 1.000 0.372 3 H -0.630 1.000 0.370 - Total Q -8.000 8.000 0.000 + Total Q -8.000 8.000 -0.000 Gaussian coefficients of model density @@ -933,22 +932,2200 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au ----------------- cputime in seconds - prologue : 1.915e-01 - main loop : 9.137e-01 - epilogue : 8.119e-02 - total : 1.186e+00 - cputime/step: 2.284e-01 ( 4 evaluations, 1 linesearches) + prologue : 1.942e-01 + main loop : 9.251e-01 + epilogue : 8.871e-02 + total : 1.208e+00 + cputime/step: 2.313e-01 ( 4 evaluations, 1 linesearches) Time spent doing total step percent - total time 5.992501e+01 1.498125e+01 100.00% - total FFT time 2.799652e+01 6.999131e+00 46.72% - lagrange multipliers 1.439599e-02 3.598998e-03 0.02% - local potentials 2.731576e-01 6.828941e-02 0.46% - non-local potentials 1.343674e+00 3.359185e-01 2.24% - ffm_dgemm 2.875073e-01 7.187682e-02 0.48% - fmf_dgemm 5.430685e-01 1.357671e-01 0.91% - m_diagonalize 1.342049e-03 3.355122e-04 0.00% - mmm_multiply 2.087340e-04 5.218350e-05 0.00% - SCVtrans 6.080600e-04 1.520150e-04 0.00% + total time 5.844822e+01 1.461205e+01 100.00% + total FFT time 2.253788e+01 5.634470e+00 38.56% + lagrange multipliers 2.714469e-02 6.786172e-03 0.05% + local potentials 2.669456e-01 6.673640e-02 0.46% + non-local potentials 1.424462e+00 3.561155e-01 2.44% + ffm_dgemm 4.980762e-01 1.245191e-01 0.85% + fmf_dgemm 5.595647e-01 1.398912e-01 0.96% + m_diagonalize 1.316873e-03 3.292183e-04 0.00% + mmm_multiply 1.425090e-04 3.562725e-05 0.00% + SCVtrans 4.998940e-04 1.249735e-04 0.00% - >>> job completed at Wed Feb 8 15:52:08 2023 <<< + >>> job completed at Mon Feb 20 13:00:13 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Mon Feb 20 13:00:13 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + APC u: 1 0.03219 + APC u: 2 0.01849 + APC u: 3 0.01918 + - self-consistent + + reading formatted psp filename: ./O.vpp + + reading formatted psp filename: ./H.vpp + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 2 + processor grid : 2 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: O valence charge = 6.0 lmax =2 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.700 0.700 0.700 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + O : 1 H : 2 + + initial ion positions (au): + 1 O ( 0.30530 -0.09999 0.06270 ) - atomic mass = 15.995 + 2 H ( 1.51756 0.69753 -0.96698 ) - atomic mass = 1.008 + 3 H ( -0.61520 -1.26530 -0.92331 ) - atomic mass = 1.008 + G.C. ( 0.40256 -0.22259 -0.60920 ) + C.O.M. ( 0.32163 -0.12057 -0.05011 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 17575.98 + lattice: a1 = < 26.000 0.000 0.000 > + a2 = < 0.000 26.000 0.000 > + a3 = < 0.000 0.000 26.000 > + reciprocal: b1 = < 0.242 0.000 0.000 > + b2 = < 0.000 0.242 0.000 > + b3 = < 0.000 0.000 0.242 > + lattice: a = 26.000 b = 26.000 c = 26.000 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) + + Ewald parameters: + energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + Ewald summation: cut radius = 8.276 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Mon Feb 20 13:00:14 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + 10 -1.719868062972e+01 -9.425918e-10 5.922221e-11 + *** tolerance ok. iteration terminated + >>> iteration ended at Mon Feb 20 13:00:16 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + APC Potential: + 0.032194911 0.018485184 0.019184100 + + APC Point Charges: + -0.742638641 0.372241291 0.370397350 + + + total energy : -1.7198680630e+01 ( -5.73289e+00 /ion) + total orbital energy: -4.1185937828e+00 ( -1.02965e+00 /electron) + hartree energy : 1.8012723256e+01 ( 4.50318e+00 /electron) + exc-corr energy : -4.2447666970e+00 ( -1.06119e+00 /electron) + APC energy : -9.9224962706e-03 ( -3.30750e-03 /ion) + ion-ion energy : 3.5965135890e+00 ( 1.19884e+00 /ion) + + kinetic (planewave) : 1.2411587836e+01 ( 3.10290e+00 /electron) + V_local (planewave) : -4.5793387800e+01 ( -1.14483e+01 /electron) + V_nl (planewave) : -1.2574717978e+00 ( -3.14368e-01 /electron) + V_Coul (planewave) : 3.6025446511e+01 ( 9.00636e+00 /electron) + V_xc (planewave) : -5.5047685322e+00 ( -1.37619e+00 /electron) + K.S. V_APC energy : -8.6043480840e-02 ( -2.86812e-02 /ion) + Viral Coefficient : -1.3318345595e+00 + + orbital energy: + -2.7468030e-01 ( -7.474eV) + -3.4394195e-01 ( -9.359eV) + -5.0663062e-01 ( -13.786eV) + -9.3404403e-01 ( -25.417eV) + +== Center of Charge == + +spin up = ( 0.3274 -0.1283 -0.0913 ) +spin down = ( 0.3274 -0.1283 -0.0913 ) + total = ( 0.3274 -0.1283 -0.0913 ) +ionic = ( 0.3418 -0.1460 -0.1893 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 0.1153 -0.1410 -0.7839 ) au +|mu| = 0.8048 au ( 2.0454 Debye ) + + + Ion Forces (au): + 1 O ( 0.00015 -0.00159 0.00561 ) + 2 H ( -0.00084 -0.00158 -0.00227 ) + 3 H ( 0.00230 0.00170 -0.00150 ) + + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - self-consistent + + APC Potential: + 0.032194911 0.018485184 0.019184100 + + APC Point Charges: + -0.742638641 0.372241291 0.370397350 + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 O -6.743 6.000 -0.743 + 2 H -0.628 1.000 0.372 + 3 H -0.630 1.000 0.370 + Total Q -8.000 8.000 -0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 O 6.000 -1.098 -2.075 -3.570 + 2 H 1.000 -0.718 0.776 -0.685 + 3 H 1.000 -0.718 0.778 -0.689 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 1.916e-01 + main loop : 2.278e+00 + epilogue : 8.903e-02 + total : 2.559e+00 + cputime/step: 2.278e-01 ( 10 evaluations, 3 linesearches) + + Time spent doing total step percent + total time 6.103553e+01 6.103553e+00 100.00% + total FFT time 2.342587e+01 2.342587e+00 38.38% + lagrange multipliers 2.714469e-02 2.714469e-03 0.04% + local potentials 2.887727e-01 2.887727e-02 0.47% + non-local potentials 1.486650e+00 1.486650e-01 2.44% + ffm_dgemm 5.165938e-01 5.165938e-02 0.85% + fmf_dgemm 5.811251e-01 5.811251e-02 0.95% + m_diagonalize 1.354440e-03 1.354440e-04 0.00% + mmm_multiply 1.461520e-04 1.461520e-05 0.00% + SCVtrans 5.096160e-04 5.096160e-05 0.00% + + >>> job completed at Mon Feb 20 13:00:16 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Mon Feb 20 13:00:16 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + APC u: 1 0.03223 + APC u: 2 0.01850 + APC u: 3 0.01920 + - self-consistent + + reading formatted psp filename: ./O.vpp + + reading formatted psp filename: ./H.vpp + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 2 + processor grid : 2 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: O valence charge = 6.0 lmax =2 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.700 0.700 0.700 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + O : 1 H : 2 + + initial ion positions (au): + 1 O ( 0.30530 -0.09999 0.06272 ) - atomic mass = 15.995 + 2 H ( 1.51757 0.69750 -0.96708 ) - atomic mass = 1.008 + 3 H ( -0.61515 -1.26529 -0.92340 ) - atomic mass = 1.008 + G.C. ( 0.40258 -0.22259 -0.60925 ) + C.O.M. ( 0.32163 -0.12058 -0.05011 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 17575.98 + lattice: a1 = < 26.000 0.000 0.000 > + a2 = < 0.000 26.000 0.000 > + a3 = < 0.000 0.000 26.000 > + reciprocal: b1 = < 0.242 0.000 0.000 > + b2 = < 0.000 0.242 0.000 > + b3 = < 0.000 0.000 0.242 > + lattice: a = 26.000 b = 26.000 c = 26.000 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) + + Ewald parameters: + energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + Ewald summation: cut radius = 8.276 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Mon Feb 20 13:00:16 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + 10 -1.719869353513e+01 -6.996892e-10 1.974356e-11 + *** tolerance ok. iteration terminated + >>> iteration ended at Mon Feb 20 13:00:20 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + APC Potential: + 0.032228045 0.018501626 0.019200864 + + APC Point Charges: + -0.742700321 0.372273084 0.370427237 + + + total energy : -1.7198693535e+01 ( -5.73290e+00 /ion) + total orbital energy: -4.1186507914e+00 ( -1.02966e+00 /electron) + hartree energy : 1.8012603696e+01 ( 4.50315e+00 /electron) + exc-corr energy : -4.2447443787e+00 ( -1.06119e+00 /electron) + APC energy : -9.9355992608e-03 ( -3.31187e-03 /ion) + ion-ion energy : 3.5963580889e+00 ( 1.19879e+00 /ion) + + kinetic (planewave) : 1.2411482266e+01 ( 3.10287e+00 /electron) + V_local (planewave) : -4.5793167644e+01 ( -1.14483e+01 /electron) + V_nl (planewave) : -1.2574332540e+00 ( -3.14358e-01 /electron) + V_Coul (planewave) : 3.6025207393e+01 ( 9.00630e+00 /electron) + V_xc (planewave) : -5.5047395518e+00 ( -1.37618e+00 /electron) + K.S. V_APC energy : -8.6143289859e-02 ( -2.87144e-02 /ion) + Viral Coefficient : -1.3318419753e+00 + + orbital energy: + -2.7469140e-01 ( -7.475eV) + -3.4396624e-01 ( -9.360eV) + -5.0661933e-01 ( -13.786eV) + -9.3404843e-01 ( -25.417eV) + +== Center of Charge == + +spin up = ( 0.3274 -0.1283 -0.0913 ) +spin down = ( 0.3274 -0.1283 -0.0913 ) + total = ( 0.3274 -0.1283 -0.0913 ) +ionic = ( 0.3418 -0.1460 -0.1893 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 0.1153 -0.1410 -0.7840 ) au +|mu| = 0.8049 au ( 2.0458 Debye ) + + + Ion Forces (au): + 1 O ( 0.00017 -0.00159 0.00555 ) + 2 H ( -0.00085 -0.00159 -0.00225 ) + 3 H ( 0.00230 0.00170 -0.00150 ) + + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - self-consistent + + APC Potential: + 0.032228045 0.018501626 0.019200864 + + APC Point Charges: + -0.742700321 0.372273084 0.370427237 + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 O -6.743 6.000 -0.743 + 2 H -0.628 1.000 0.372 + 3 H -0.630 1.000 0.370 + Total Q -8.000 8.000 -0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 O 6.000 -1.098 -2.075 -3.570 + 2 H 1.000 -0.718 0.776 -0.685 + 3 H 1.000 -0.718 0.778 -0.689 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 1.934e-01 + main loop : 3.645e+00 + epilogue : 8.890e-02 + total : 3.928e+00 + cputime/step: 2.278e-01 ( 16 evaluations, 5 linesearches) + + Time spent doing total step percent + total time 6.499079e+01 4.061924e+00 100.00% + total FFT time 2.485307e+01 1.553317e+00 38.24% + lagrange multipliers 2.714469e-02 1.696543e-03 0.04% + local potentials 3.208754e-01 2.005472e-02 0.49% + non-local potentials 1.577413e+00 9.858830e-02 2.43% + ffm_dgemm 5.462850e-01 3.414281e-02 0.84% + fmf_dgemm 6.172050e-01 3.857532e-02 0.95% + m_diagonalize 1.409547e-03 8.809669e-05 0.00% + mmm_multiply 1.509580e-04 9.434875e-06 0.00% + SCVtrans 5.279350e-04 3.299594e-05 0.00% + + >>> job completed at Mon Feb 20 13:00:20 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Mon Feb 20 13:00:20 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + APC u: 1 0.03227 + APC u: 2 0.01852 + APC u: 3 0.01922 + - self-consistent + + reading formatted psp filename: ./O.vpp + + reading formatted psp filename: ./H.vpp + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 2 + processor grid : 2 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: O valence charge = 6.0 lmax =2 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.700 0.700 0.700 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + O : 1 H : 2 + + initial ion positions (au): + 1 O ( 0.30530 -0.09999 0.06274 ) - atomic mass = 15.995 + 2 H ( 1.51759 0.69745 -0.96723 ) - atomic mass = 1.008 + 3 H ( -0.61508 -1.26528 -0.92351 ) - atomic mass = 1.008 + G.C. ( 0.40260 -0.22261 -0.60934 ) + C.O.M. ( 0.32164 -0.12058 -0.05010 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 17575.98 + lattice: a1 = < 26.000 0.000 0.000 > + a2 = < 0.000 26.000 0.000 > + a3 = < 0.000 0.000 26.000 > + reciprocal: b1 = < 0.242 0.000 0.000 > + b2 = < 0.000 0.242 0.000 > + b3 = < 0.000 0.000 0.242 > + lattice: a = 26.000 b = 26.000 c = 26.000 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) + + Ewald parameters: + energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + Ewald summation: cut radius = 8.276 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Mon Feb 20 13:00:20 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + 10 -1.719871153462e+01 -6.391758e-10 1.229918e-11 + *** tolerance ok. iteration terminated + >>> iteration ended at Mon Feb 20 13:00:24 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + APC Potential: + 0.032274243 0.018524540 0.019224223 + + APC Point Charges: + -0.742788677 0.372316049 0.370472628 + + + total energy : -1.7198711535e+01 ( -5.73290e+00 /ion) + total orbital energy: -4.1187171364e+00 ( -1.02968e+00 /electron) + hartree energy : 1.8012450719e+01 ( 4.50311e+00 /electron) + exc-corr energy : -4.2447163276e+00 ( -1.06118e+00 /electron) + APC energy : -9.9539102235e-03 ( -3.31797e-03 /ion) + ion-ion energy : 3.5961410380e+00 ( 1.19871e+00 /ion) + + kinetic (planewave) : 1.2411346542e+01 ( 3.10284e+00 /electron) + V_local (planewave) : -4.5792882362e+01 ( -1.14482e+01 /electron) + V_nl (planewave) : -1.2573797281e+00 ( -3.14345e-01 /electron) + V_Coul (planewave) : 3.6024901437e+01 ( 9.00623e+00 /electron) + V_xc (planewave) : -5.5047030248e+00 ( -1.37618e+00 /electron) + K.S. V_APC energy : -8.6282495389e-02 ( -2.87608e-02 /ion) + Viral Coefficient : -1.3318509497e+00 + + orbital energy: + -2.7470533e-01 ( -7.475eV) + -3.4399929e-01 ( -9.361eV) + -5.0660134e-01 ( -13.785eV) + -9.3405260e-01 ( -25.417eV) + +== Center of Charge == + +spin up = ( 0.3274 -0.1283 -0.0913 ) +spin down = ( 0.3274 -0.1283 -0.0913 ) + total = ( 0.3274 -0.1283 -0.0913 ) +ionic = ( 0.3418 -0.1460 -0.1893 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 0.1154 -0.1410 -0.7843 ) au +|mu| = 0.8052 au ( 2.0464 Debye ) + + + Ion Forces (au): + 1 O ( 0.00019 -0.00159 0.00550 ) + 2 H ( -0.00088 -0.00160 -0.00222 ) + 3 H ( 0.00230 0.00170 -0.00148 ) + + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - self-consistent + + APC Potential: + 0.032274243 0.018524540 0.019224223 + + APC Point Charges: + -0.742788677 0.372316049 0.370472628 + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 O -6.743 6.000 -0.743 + 2 H -0.628 1.000 0.372 + 3 H -0.630 1.000 0.370 + Total Q -8.000 8.000 -0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 O 6.000 -1.098 -2.074 -3.571 + 2 H 1.000 -0.718 0.775 -0.685 + 3 H 1.000 -0.718 0.778 -0.689 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 1.927e-01 + main loop : 4.317e+00 + epilogue : 8.818e-02 + total : 4.598e+00 + cputime/step: 2.272e-01 ( 19 evaluations, 6 linesearches) + + Time spent doing total step percent + total time 6.961816e+01 3.664114e+00 100.00% + total FFT time 2.654570e+01 1.397142e+00 38.13% + lagrange multipliers 2.714469e-02 1.428668e-03 0.04% + local potentials 3.578721e-01 1.883537e-02 0.51% + non-local potentials 1.681791e+00 8.851531e-02 2.42% + ffm_dgemm 5.817009e-01 3.061584e-02 0.84% + fmf_dgemm 6.604804e-01 3.476212e-02 0.95% + m_diagonalize 1.469262e-03 7.732958e-05 0.00% + mmm_multiply 1.588480e-04 8.360421e-06 0.00% + SCVtrans 5.496380e-04 2.892832e-05 0.00% + + >>> job completed at Mon Feb 20 13:00:25 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Mon Feb 20 13:00:25 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + APC u: 1 0.03233 + APC u: 2 0.01855 + APC u: 3 0.01925 + - self-consistent + + reading formatted psp filename: ./O.vpp + + reading formatted psp filename: ./H.vpp + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 2 + processor grid : 2 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: O valence charge = 6.0 lmax =2 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.700 0.700 0.700 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + O : 1 H : 2 + + initial ion positions (au): + 1 O ( 0.30530 -0.09999 0.06277 ) - atomic mass = 15.995 + 2 H ( 1.51761 0.69739 -0.96741 ) - atomic mass = 1.008 + 3 H ( -0.61499 -1.26526 -0.92367 ) - atomic mass = 1.008 + G.C. ( 0.40264 -0.22262 -0.60944 ) + C.O.M. ( 0.32164 -0.12058 -0.05010 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 17575.98 + lattice: a1 = < 26.000 0.000 0.000 > + a2 = < 0.000 26.000 0.000 > + a3 = < 0.000 0.000 26.000 > + reciprocal: b1 = < 0.242 0.000 0.000 > + b2 = < 0.000 0.242 0.000 > + b3 = < 0.000 0.000 0.242 > + lattice: a = 26.000 b = 26.000 c = 26.000 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) + + Ewald parameters: + energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + Ewald summation: cut radius = 8.276 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Mon Feb 20 13:00:25 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + 10 -1.719873455954e+01 -9.002363e-10 1.652790e-11 + *** tolerance ok. iteration terminated + >>> iteration ended at Mon Feb 20 13:00:29 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + APC Potential: + 0.032333312 0.018553820 0.019254068 + + APC Point Charges: + -0.742896600 0.372369363 0.370527237 + + + total energy : -1.7198734560e+01 ( -5.73291e+00 /ion) + total orbital energy: -4.1187908835e+00 ( -1.02970e+00 /electron) + hartree energy : 1.8012266744e+01 ( 4.50307e+00 /electron) + exc-corr energy : -4.2446829039e+00 ( -1.06117e+00 /electron) + APC energy : -9.9772770239e-03 ( -3.32576e-03 /ion) + ion-ion energy : 3.5958632816e+00 ( 1.19862e+00 /ion) + + kinetic (planewave) : 1.2411184746e+01 ( 3.10280e+00 /electron) + V_local (planewave) : -4.5792534956e+01 ( -1.14481e+01 /electron) + V_nl (planewave) : -1.2573146458e+00 ( -3.14329e-01 /electron) + V_Coul (planewave) : 3.6024533487e+01 ( 9.00613e+00 /electron) + V_xc (planewave) : -5.5046595151e+00 ( -1.37616e+00 /electron) + K.S. V_APC energy : -8.6460451910e-02 ( -2.88202e-02 /ion) + Viral Coefficient : -1.3318612178e+00 + + orbital energy: + -2.7472182e-01 ( -7.476eV) + -3.4404031e-01 ( -9.362eV) + -5.0657672e-01 ( -13.785eV) + -9.3405660e-01 ( -25.417eV) + +== Center of Charge == + +spin up = ( 0.3274 -0.1283 -0.0912 ) +spin down = ( 0.3274 -0.1283 -0.0912 ) + total = ( 0.3274 -0.1283 -0.0912 ) +ionic = ( 0.3418 -0.1460 -0.1893 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 0.1155 -0.1411 -0.7846 ) au +|mu| = 0.8055 au ( 2.0472 Debye ) + + + Ion Forces (au): + 1 O ( 0.00022 -0.00158 0.00544 ) + 2 H ( -0.00091 -0.00162 -0.00217 ) + 3 H ( 0.00230 0.00171 -0.00146 ) + + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - self-consistent + + APC Potential: + 0.032333312 0.018553820 0.019254068 + + APC Point Charges: + -0.742896600 0.372369363 0.370527237 + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 O -6.743 6.000 -0.743 + 2 H -0.628 1.000 0.372 + 3 H -0.629 1.000 0.371 + Total Q -8.000 8.000 0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 O 6.000 -1.099 -2.073 -3.571 + 2 H 1.000 -0.718 0.775 -0.685 + 3 H 1.000 -0.718 0.778 -0.689 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 1.928e-01 + main loop : 4.538e+00 + epilogue : 8.852e-02 + total : 4.819e+00 + cputime/step: 2.269e-01 ( 20 evaluations, 6 linesearches) + + Time spent doing total step percent + total time 7.446701e+01 3.723351e+00 100.00% + total FFT time 2.832434e+01 1.416217e+00 38.04% + lagrange multipliers 2.714469e-02 1.357234e-03 0.04% + local potentials 3.962394e-01 1.981197e-02 0.53% + non-local potentials 1.792085e+00 8.960425e-02 2.41% + ffm_dgemm 6.178273e-01 3.089137e-02 0.83% + fmf_dgemm 7.048099e-01 3.524049e-02 0.95% + m_diagonalize 1.528387e-03 7.641935e-05 0.00% + mmm_multiply 1.662550e-04 8.312750e-06 0.00% + SCVtrans 5.738570e-04 2.869285e-05 0.00% + + >>> job completed at Mon Feb 20 13:00:29 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Mon Feb 20 13:00:29 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + APC u: 1 0.03241 + APC u: 2 0.01859 + APC u: 3 0.01929 + - self-consistent + + reading formatted psp filename: ./O.vpp + + reading formatted psp filename: ./H.vpp + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 2 + processor grid : 2 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: O valence charge = 6.0 lmax =2 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.700 0.700 0.700 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + O : 1 H : 2 + + initial ion positions (au): + 1 O ( 0.30529 -0.10000 0.06280 ) - atomic mass = 15.995 + 2 H ( 1.51764 0.69732 -0.96764 ) - atomic mass = 1.008 + 3 H ( -0.61488 -1.26524 -0.92385 ) - atomic mass = 1.008 + G.C. ( 0.40268 -0.22264 -0.60956 ) + C.O.M. ( 0.32164 -0.12059 -0.05009 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 17575.98 + lattice: a1 = < 26.000 0.000 0.000 > + a2 = < 0.000 26.000 0.000 > + a3 = < 0.000 0.000 26.000 > + reciprocal: b1 = < 0.242 0.000 0.000 > + b2 = < 0.000 0.242 0.000 > + b3 = < 0.000 0.000 0.242 > + lattice: a = 26.000 b = 26.000 c = 26.000 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) + + Ewald parameters: + energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + Ewald summation: cut radius = 8.276 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Mon Feb 20 13:00:30 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + 10 -1.719876252297e+01 -8.461818e-10 1.395325e-11 + *** tolerance ok. iteration terminated + >>> iteration ended at Mon Feb 20 13:00:35 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + APC Potential: + 0.032405008 0.018589332 0.019290258 + + APC Point Charges: + -0.743037468 0.372435991 0.370601477 + + + total energy : -1.7198762523e+01 ( -5.73292e+00 /ion) + total orbital energy: -4.1188886919e+00 ( -1.02972e+00 /electron) + hartree energy : 1.8012034339e+01 ( 4.50301e+00 /electron) + exc-corr energy : -4.2446405558e+00 ( -1.06116e+00 /electron) + APC energy : -1.0005800955e-02 ( -3.33527e-03 /ion) + ion-ion energy : 3.5955258998e+00 ( 1.19851e+00 /ion) + + kinetic (planewave) : 1.2410979437e+01 ( 3.10274e+00 /electron) + V_local (planewave) : -4.5792100254e+01 ( -1.14480e+01 /electron) + V_nl (planewave) : -1.2572322157e+00 ( -3.14308e-01 /electron) + V_Coul (planewave) : 3.6024068679e+01 ( 9.00602e+00 /electron) + V_xc (planewave) : -5.5046043378e+00 ( -1.37615e+00 /electron) + K.S. V_APC energy : -8.6676627332e-02 ( -2.88922e-02 /ion) + Viral Coefficient : -1.3318745884e+00 + + orbital energy: + -2.7474275e-01 ( -7.476eV) + -3.4409137e-01 ( -9.363eV) + -5.0654778e-01 ( -13.784eV) + -9.3406245e-01 ( -25.417eV) + +== Center of Charge == + +spin up = ( 0.3274 -0.1283 -0.0912 ) +spin down = ( 0.3274 -0.1283 -0.0912 ) + total = ( 0.3274 -0.1283 -0.0912 ) +ionic = ( 0.3418 -0.1460 -0.1893 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 0.1155 -0.1411 -0.7849 ) au +|mu| = 0.8058 au ( 2.0481 Debye ) + + + Ion Forces (au): + 1 O ( 0.00027 -0.00157 0.00534 ) + 2 H ( -0.00094 -0.00164 -0.00212 ) + 3 H ( 0.00230 0.00172 -0.00143 ) + + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - self-consistent + + APC Potential: + 0.032405008 0.018589332 0.019290258 + + APC Point Charges: + -0.743037468 0.372435991 0.370601477 + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 O -6.743 6.000 -0.743 + 2 H -0.628 1.000 0.372 + 3 H -0.629 1.000 0.371 + Total Q -8.000 8.000 -0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 O 6.000 -1.100 -2.071 -3.572 + 2 H 1.000 -0.718 0.775 -0.685 + 3 H 1.000 -0.718 0.777 -0.689 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 1.927e-01 + main loop : 5.215e+00 + epilogue : 8.872e-02 + total : 5.496e+00 + cputime/step: 2.267e-01 ( 23 evaluations, 7 linesearches) + + Time spent doing total step percent + total time 7.998954e+01 3.477806e+00 100.00% + total FFT time 3.037212e+01 1.320527e+00 37.97% + lagrange multipliers 2.714469e-02 1.180204e-03 0.03% + local potentials 4.398058e-01 1.912199e-02 0.55% + non-local potentials 1.915285e+00 8.327325e-02 2.39% + ffm_dgemm 6.598032e-01 2.868709e-02 0.82% + fmf_dgemm 7.562256e-01 3.287937e-02 0.95% + m_diagonalize 1.599001e-03 6.952178e-05 0.00% + mmm_multiply 1.751110e-04 7.613522e-06 0.00% + SCVtrans 5.969060e-04 2.595243e-05 0.00% + + >>> job completed at Mon Feb 20 13:00:35 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Mon Feb 20 13:00:35 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + APC u: 1 0.03249 + APC u: 2 0.01863 + APC u: 3 0.01933 + - self-consistent + + reading formatted psp filename: ./O.vpp + + reading formatted psp filename: ./H.vpp + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 2 + processor grid : 2 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: O valence charge = 6.0 lmax =2 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.700 0.700 0.700 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + O : 1 H : 2 + + initial ion positions (au): + 1 O ( 0.30529 -0.10000 0.06284 ) - atomic mass = 15.995 + 2 H ( 1.51767 0.69723 -0.96791 ) - atomic mass = 1.008 + 3 H ( -0.61475 -1.26521 -0.92407 ) - atomic mass = 1.008 + G.C. ( 0.40274 -0.22266 -0.60971 ) + C.O.M. ( 0.32165 -0.12059 -0.05008 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 17575.98 + lattice: a1 = < 26.000 0.000 0.000 > + a2 = < 0.000 26.000 0.000 > + a3 = < 0.000 0.000 26.000 > + reciprocal: b1 = < 0.242 0.000 0.000 > + b2 = < 0.000 0.242 0.000 > + b3 = < 0.000 0.000 0.242 > + lattice: a = 26.000 b = 26.000 c = 26.000 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) + + Ewald parameters: + energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + Ewald summation: cut radius = 8.276 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Mon Feb 20 13:00:35 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + 10 -1.719879531710e+01 -7.113670e-10 9.202899e-12 + *** tolerance ok. iteration terminated + >>> iteration ended at Mon Feb 20 13:00:41 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + APC Potential: + 0.032489033 0.018630914 0.019332623 + + APC Point Charges: + -0.743206670 0.372515004 0.370691667 + + + total energy : -1.7198795317e+01 ( -5.73293e+00 /ion) + total orbital energy: -4.1189981956e+00 ( -1.02975e+00 /electron) + hartree energy : 1.8011767262e+01 ( 4.50294e+00 /electron) + exc-corr energy : -4.2445921602e+00 ( -1.06115e+00 /electron) + APC energy : -1.0039328876e-02 ( -3.34644e-03 /ion) + ion-ion energy : 3.5951302685e+00 ( 1.19838e+00 /ion) + + kinetic (planewave) : 1.2410744939e+01 ( 3.10269e+00 /electron) + V_local (planewave) : -4.5791599222e+01 ( -1.14479e+01 /electron) + V_nl (planewave) : -1.2571371697e+00 ( -3.14284e-01 /electron) + V_Coul (planewave) : 3.6023534525e+01 ( 9.00588e+00 /electron) + V_xc (planewave) : -5.5045412674e+00 ( -1.37614e+00 /electron) + K.S. V_APC energy : -8.6930094012e-02 ( -2.89767e-02 /ion) + Viral Coefficient : -1.3318896824e+00 + + orbital energy: + -2.7476661e-01 ( -7.477eV) + -3.4415074e-01 ( -9.365eV) + -5.0651298e-01 ( -13.783eV) + -9.3406877e-01 ( -25.418eV) + +== Center of Charge == + +spin up = ( 0.3274 -0.1283 -0.0912 ) +spin down = ( 0.3274 -0.1283 -0.0912 ) + total = ( 0.3274 -0.1283 -0.0912 ) +ionic = ( 0.3418 -0.1460 -0.1894 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 0.1156 -0.1412 -0.7854 ) au +|mu| = 0.8063 au ( 2.0493 Debye ) + + + Ion Forces (au): + 1 O ( 0.00032 -0.00155 0.00524 ) + 2 H ( -0.00099 -0.00165 -0.00206 ) + 3 H ( 0.00229 0.00172 -0.00140 ) + + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - self-consistent + + APC Potential: + 0.032489033 0.018630914 0.019332623 + + APC Point Charges: + -0.743206670 0.372515004 0.370691667 + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 O -6.743 6.000 -0.743 + 2 H -0.627 1.000 0.373 + 3 H -0.629 1.000 0.371 + Total Q -8.000 8.000 -0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 O 6.000 -1.100 -2.069 -3.573 + 2 H 1.000 -0.718 0.774 -0.684 + 3 H 1.000 -0.718 0.777 -0.688 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 1.923e-01 + main loop : 5.666e+00 + epilogue : 8.907e-02 + total : 5.948e+00 + cputime/step: 2.267e-01 ( 25 evaluations, 8 linesearches) + + Time spent doing total step percent + total time 8.596590e+01 3.438636e+00 100.00% + total FFT time 3.259459e+01 1.303784e+00 37.92% + lagrange multipliers 2.714469e-02 1.085788e-03 0.03% + local potentials 4.868001e-01 1.947200e-02 0.57% + non-local potentials 2.048151e+00 8.192602e-02 2.38% + ffm_dgemm 7.064098e-01 2.825639e-02 0.82% + fmf_dgemm 8.144868e-01 3.257947e-02 0.95% + m_diagonalize 1.676670e-03 6.706680e-05 0.00% + mmm_multiply 1.853020e-04 7.412080e-06 0.00% + SCVtrans 6.256190e-04 2.502476e-05 0.00% + + >>> job completed at Mon Feb 20 13:00:41 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Mon Feb 20 13:00:41 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + APC u: 1 0.03259 + APC u: 2 0.01868 + APC u: 3 0.01938 + - self-consistent + + reading formatted psp filename: ./O.vpp + + reading formatted psp filename: ./H.vpp + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 2 + processor grid : 2 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: O valence charge = 6.0 lmax =2 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.700 0.700 0.700 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + O : 1 H : 2 + + initial ion positions (au): + 1 O ( 0.30528 -0.10000 0.06289 ) - atomic mass = 15.995 + 2 H ( 1.51771 0.69713 -0.96821 ) - atomic mass = 1.008 + 3 H ( -0.61460 -1.26518 -0.92432 ) - atomic mass = 1.008 + G.C. ( 0.40280 -0.22268 -0.60988 ) + C.O.M. ( 0.32165 -0.12060 -0.05007 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 17575.98 + lattice: a1 = < 26.000 0.000 0.000 > + a2 = < 0.000 26.000 0.000 > + a3 = < 0.000 0.000 26.000 > + reciprocal: b1 = < 0.242 0.000 0.000 > + b2 = < 0.000 0.242 0.000 > + b3 = < 0.000 0.000 0.242 > + lattice: a = 26.000 b = 26.000 c = 26.000 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) + + Ewald parameters: + energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + Ewald summation: cut radius = 8.276 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Mon Feb 20 13:00:41 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + 10 -1.719883281434e+01 -8.212773e-10 9.935378e-12 + *** tolerance ok. iteration terminated + >>> iteration ended at Mon Feb 20 13:00:47 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + APC Potential: + 0.032585034 0.018678373 0.019380962 + + APC Point Charges: + -0.743389268 0.372602597 0.370786671 + + + total energy : -1.7198832814e+01 ( -5.73294e+00 /ion) + total orbital energy: -4.1191196503e+00 ( -1.02978e+00 /electron) + hartree energy : 1.8011465801e+01 ( 4.50287e+00 /electron) + exc-corr energy : -4.2445375332e+00 ( -1.06113e+00 /electron) + APC energy : -1.0077551703e-02 ( -3.35918e-03 /ion) + ion-ion energy : 3.5946779648e+00 ( 1.19823e+00 /ion) + + kinetic (planewave) : 1.2410479209e+01 ( 3.10262e+00 /electron) + V_local (planewave) : -4.5791030717e+01 ( -1.14478e+01 /electron) + V_nl (planewave) : -1.2570296170e+00 ( -3.14257e-01 /electron) + V_Coul (planewave) : 3.6022931603e+01 ( 9.00573e+00 /electron) + V_xc (planewave) : -5.5044701283e+00 ( -1.37612e+00 /electron) + K.S. V_APC energy : -8.7219629076e-02 ( -2.90732e-02 /ion) + Viral Coefficient : -1.3319065752e+00 + + orbital energy: + -2.7479351e-01 ( -7.478eV) + -3.4421825e-01 ( -9.367eV) + -5.0647240e-01 ( -13.782eV) + -9.3407567e-01 ( -25.418eV) + +== Center of Charge == + +spin up = ( 0.3274 -0.1283 -0.0912 ) +spin down = ( 0.3274 -0.1283 -0.0912 ) + total = ( 0.3274 -0.1283 -0.0912 ) +ionic = ( 0.3418 -0.1460 -0.1894 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 0.1157 -0.1413 -0.7859 ) au +|mu| = 0.8068 au ( 2.0505 Debye ) + + + Ion Forces (au): + 1 O ( 0.00037 -0.00154 0.00513 ) + 2 H ( -0.00104 -0.00168 -0.00198 ) + 3 H ( 0.00229 0.00173 -0.00136 ) + + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - self-consistent + + APC Potential: + 0.032585034 0.018678373 0.019380962 + + APC Point Charges: + -0.743389268 0.372602597 0.370786671 + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 O -6.743 6.000 -0.743 + 2 H -0.627 1.000 0.373 + 3 H -0.629 1.000 0.371 + Total Q -8.000 8.000 -0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 O 6.000 -1.101 -2.067 -3.575 + 2 H 1.000 -0.717 0.774 -0.684 + 3 H 1.000 -0.718 0.776 -0.688 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 1.931e-01 + main loop : 5.672e+00 + epilogue : 8.884e-02 + total : 5.954e+00 + cputime/step: 2.269e-01 ( 25 evaluations, 8 linesearches) + + Time spent doing total step percent + total time 9.194512e+01 3.677805e+00 100.00% + total FFT time 3.481826e+01 1.392731e+00 37.87% + lagrange multipliers 2.714469e-02 1.085788e-03 0.03% + local potentials 5.336301e-01 2.134520e-02 0.58% + non-local potentials 2.181308e+00 8.725233e-02 2.37% + ffm_dgemm 7.530801e-01 3.012321e-02 0.82% + fmf_dgemm 8.723730e-01 3.489492e-02 0.95% + m_diagonalize 1.754364e-03 7.017456e-05 0.00% + mmm_multiply 1.935130e-04 7.740520e-06 0.00% + SCVtrans 6.530430e-04 2.612172e-05 0.00% + + >>> job completed at Mon Feb 20 13:00:47 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Mon Feb 20 13:00:47 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + APC u: 1 0.03269 + APC u: 2 0.01873 + APC u: 3 0.01944 + - self-consistent + + reading formatted psp filename: ./O.vpp + + reading formatted psp filename: ./H.vpp + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 2 + processor grid : 2 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: O valence charge = 6.0 lmax =2 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.700 0.700 0.700 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + O : 1 H : 2 + + initial ion positions (au): + 1 O ( 0.30528 -0.10000 0.06294 ) - atomic mass = 15.995 + 2 H ( 1.51774 0.69702 -0.96856 ) - atomic mass = 1.008 + 3 H ( -0.61443 -1.26514 -0.92461 ) - atomic mass = 1.008 + G.C. ( 0.40286 -0.22271 -0.61007 ) + C.O.M. ( 0.32166 -0.12060 -0.05005 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 17575.98 + lattice: a1 = < 26.000 0.000 0.000 > + a2 = < 0.000 26.000 0.000 > + a3 = < 0.000 0.000 26.000 > + reciprocal: b1 = < 0.242 0.000 0.000 > + b2 = < 0.000 0.242 0.000 > + b3 = < 0.000 0.000 0.242 > + lattice: a = 26.000 b = 26.000 c = 26.000 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) + + Ewald parameters: + energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + Ewald summation: cut radius = 8.276 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Mon Feb 20 13:00:47 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + 10 -1.719887486952e+01 -7.188135e-10 8.388433e-12 + *** tolerance ok. iteration terminated + >>> iteration ended at Mon Feb 20 13:00:53 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + APC Potential: + 0.032692607 0.018731490 0.019435046 + + APC Point Charges: + -0.743603917 0.372702677 0.370901241 + + + total energy : -1.7198874870e+01 ( -5.73296e+00 /ion) + total orbital energy: -4.1192579514e+00 ( -1.02981e+00 /electron) + hartree energy : 1.8011125306e+01 ( 4.50278e+00 /electron) + exc-corr energy : -4.2444759539e+00 ( -1.06112e+00 /electron) + APC energy : -1.0120591006e-02 ( -3.37353e-03 /ion) + ion-ion energy : 3.5941707474e+00 ( 1.19806e+00 /ion) + + kinetic (planewave) : 1.2410179676e+01 ( 3.10254e+00 /electron) + V_local (planewave) : -4.5790391092e+01 ( -1.14476e+01 /electron) + V_nl (planewave) : -1.2569072636e+00 ( -3.14227e-01 /electron) + V_Coul (planewave) : 3.6022250612e+01 ( 9.00556e+00 /electron) + V_xc (planewave) : -5.5043898840e+00 ( -1.37610e+00 /electron) + K.S. V_APC energy : -8.7544301393e-02 ( -2.91814e-02 /ion) + Viral Coefficient : -1.3319257302e+00 + + orbital energy: + -2.7482381e-01 ( -7.478eV) + -3.4429460e-01 ( -9.369eV) + -5.0642683e-01 ( -13.781eV) + -9.3408373e-01 ( -25.418eV) + +== Center of Charge == + +spin up = ( 0.3274 -0.1283 -0.0911 ) +spin down = ( 0.3274 -0.1283 -0.0911 ) + total = ( 0.3274 -0.1283 -0.0911 ) +ionic = ( 0.3419 -0.1460 -0.1894 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 0.1158 -0.1414 -0.7864 ) au +|mu| = 0.8074 au ( 2.0520 Debye ) + + + Ion Forces (au): + 1 O ( 0.00043 -0.00152 0.00500 ) + 2 H ( -0.00109 -0.00170 -0.00190 ) + 3 H ( 0.00228 0.00174 -0.00131 ) + + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - self-consistent + + APC Potential: + 0.032692607 0.018731490 0.019435046 + + APC Point Charges: + -0.743603917 0.372702677 0.370901241 + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 O -6.744 6.000 -0.744 + 2 H -0.627 1.000 0.373 + 3 H -0.629 1.000 0.371 + Total Q -8.000 8.000 0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 O 6.000 -1.103 -2.065 -3.576 + 2 H 1.000 -0.717 0.773 -0.684 + 3 H 1.000 -0.717 0.776 -0.688 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 1.938e-01 + main loop : 6.350e+00 + epilogue : 8.858e-02 + total : 6.632e+00 + cputime/step: 2.268e-01 ( 28 evaluations, 9 linesearches) + + Time spent doing total step percent + total time 9.860680e+01 3.521671e+00 100.00% + total FFT time 3.731012e+01 1.332504e+00 37.84% + lagrange multipliers 2.714469e-02 9.694531e-04 0.03% + local potentials 5.853232e-01 2.090440e-02 0.59% + non-local potentials 2.328379e+00 8.315638e-02 2.36% + ffm_dgemm 8.055526e-01 2.876974e-02 0.82% + fmf_dgemm 9.376022e-01 3.348579e-02 0.95% + m_diagonalize 1.842259e-03 6.579496e-05 0.00% + mmm_multiply 2.067880e-04 7.385286e-06 0.00% + SCVtrans 6.823070e-04 2.436811e-05 0.00% + + >>> job completed at Mon Feb 20 13:00:54 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Mon Feb 20 13:00:54 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + APC u: 1 0.03281 + APC u: 2 0.01879 + APC u: 3 0.01949 + - self-consistent + + reading formatted psp filename: ./O.vpp + + reading formatted psp filename: ./H.vpp + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 2 + processor grid : 2 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: O valence charge = 6.0 lmax =2 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.700 0.700 0.700 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + O : 1 H : 2 + + initial ion positions (au): + 1 O ( 0.30527 -0.10001 0.06300 ) - atomic mass = 15.995 + 2 H ( 1.51778 0.69689 -0.96894 ) - atomic mass = 1.008 + 3 H ( -0.61424 -1.26510 -0.92492 ) - atomic mass = 1.008 + G.C. ( 0.40294 -0.22274 -0.61029 ) + C.O.M. ( 0.32167 -0.12061 -0.05004 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 17575.98 + lattice: a1 = < 26.000 0.000 0.000 > + a2 = < 0.000 26.000 0.000 > + a3 = < 0.000 0.000 26.000 > + reciprocal: b1 = < 0.242 0.000 0.000 > + b2 = < 0.000 0.242 0.000 > + b3 = < 0.000 0.000 0.242 > + lattice: a = 26.000 b = 26.000 c = 26.000 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) + + Ewald parameters: + energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + Ewald summation: cut radius = 8.276 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Mon Feb 20 13:00:54 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + 10 -1.719892131617e+01 -7.871641e-10 8.418533e-12 + *** tolerance ok. iteration terminated + >>> iteration ended at Mon Feb 20 13:01:00 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + APC Potential: + 0.032811295 0.018790019 0.019494618 + + APC Point Charges: + -0.743829313 0.372810247 0.371019065 + + + total energy : -1.7198921316e+01 ( -5.73297e+00 /ion) + total orbital energy: -4.1194089039e+00 ( -1.02985e+00 /electron) + hartree energy : 1.8010750921e+01 ( 4.50269e+00 /electron) + exc-corr energy : -4.2444081450e+00 ( -1.06110e+00 /electron) + APC energy : -1.0168016807e-02 ( -3.38934e-03 /ion) + ion-ion energy : 3.5936106097e+00 ( 1.19787e+00 /ion) + + kinetic (planewave) : 1.2409848827e+01 ( 3.10246e+00 /electron) + V_local (planewave) : -4.5789685203e+01 ( -1.14474e+01 /electron) + V_nl (planewave) : -1.2567727989e+00 ( -3.14193e-01 /electron) + V_Coul (planewave) : 3.6021501842e+01 ( 9.00538e+00 /electron) + V_xc (planewave) : -5.5043015709e+00 ( -1.37608e+00 /electron) + K.S. V_APC energy : -8.7902490130e-02 ( -2.93008e-02 /ion) + Viral Coefficient : -1.3319467434e+00 + + orbital energy: + -2.7485717e-01 ( -7.479eV) + -3.4437897e-01 ( -9.371eV) + -5.0637576e-01 ( -13.779eV) + -9.3409255e-01 ( -25.418eV) + +== Center of Charge == + +spin up = ( 0.3274 -0.1283 -0.0911 ) +spin down = ( 0.3274 -0.1283 -0.0911 ) + total = ( 0.3274 -0.1283 -0.0911 ) +ionic = ( 0.3419 -0.1460 -0.1895 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 0.1159 -0.1415 -0.7870 ) au +|mu| = 0.8080 au ( 2.0536 Debye ) + + + Ion Forces (au): + 1 O ( 0.00050 -0.00151 0.00486 ) + 2 H ( -0.00115 -0.00172 -0.00181 ) + 3 H ( 0.00228 0.00175 -0.00126 ) + + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - self-consistent + + APC Potential: + 0.032811295 0.018790019 0.019494618 + + APC Point Charges: + -0.743829313 0.372810247 0.371019065 + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 O -6.744 6.000 -0.744 + 2 H -0.627 1.000 0.373 + 3 H -0.629 1.000 0.371 + Total Q -8.000 8.000 -0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 O 6.000 -1.104 -2.063 -3.577 + 2 H 1.000 -0.717 0.773 -0.683 + 3 H 1.000 -0.717 0.775 -0.687 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 1.925e-01 + main loop : 6.583e+00 + epilogue : 8.882e-02 + total : 6.864e+00 + cputime/step: 2.270e-01 ( 29 evaluations, 9 linesearches) + + Time spent doing total step percent + total time 1.055024e+02 3.638015e+00 100.00% + total FFT time 3.989664e+01 1.375746e+00 37.82% + lagrange multipliers 2.714469e-02 9.360237e-04 0.03% + local potentials 6.390493e-01 2.203618e-02 0.61% + non-local potentials 2.480554e+00 8.553635e-02 2.35% + ffm_dgemm 8.586655e-01 2.960916e-02 0.81% + fmf_dgemm 1.003600e+00 3.460691e-02 0.95% + m_diagonalize 1.931024e-03 6.658703e-05 0.00% + mmm_multiply 2.167160e-04 7.472966e-06 0.00% + SCVtrans 7.112570e-04 2.452610e-05 0.00% + + >>> job completed at Mon Feb 20 13:01:00 2023 <<< diff --git a/examples/QUANTUM/NWChem/log.8Feb23.water.qmmm.mpi.1 b/examples/QUANTUM/NWChem/log.8Feb23.water.qmmm.mpi.1 index 177c9fdf5b..35ec3cac0c 100644 --- a/examples/QUANTUM/NWChem/log.8Feb23.water.qmmm.mpi.1 +++ b/examples/QUANTUM/NWChem/log.8Feb23.water.qmmm.mpi.1 @@ -94,7 +94,7 @@ fix_modify 2 energy yes thermo_style custom step cpu temp ke evdwl ecoul epair emol elong f_2 pe etotal press thermo 1 -run 2 +run 10 Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule Neighbor list info ... update: every = 1 steps, delay = 0 steps, check = yes @@ -115,24 +115,32 @@ Neighbor list info ... bin: standard Per MPI rank memory allocation (min/avg/max) = 7.445 | 7.445 | 7.445 Mbytes Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long f_2 PotEng TotEng Press - 0 0 0 0 0.95937448 -170.68735 -169.72797 3.3962859 0 -10627.878 -10794.209 -10794.209 -374.81058 - 1 1.3827511 1.1713705 0.017458165 0.95934217 -170.68987 -169.73053 3.3804649 0 -10627.878 -10794.229 -10794.211 -376.91596 - 2 4.3658207 4.6633575 0.069502914 0.95924532 -170.70698 -169.74773 3.3333254 0 -10627.871 -10794.286 -10794.216 -383.31463 -Loop time of 4.36586 on 1 procs for 2 steps with 6 atoms + 0 0 0 0 0.95937448 -170.68735 -169.72798 3.3962859 0 -10627.878 -10794.209 -10794.209 -374.81058 + 1 1.3998539 1.1713705 0.017458165 0.95934217 -170.68987 -169.73053 3.3804649 0 -10627.878 -10794.229 -10794.211 -376.91596 + 2 4.2727994 4.6633575 0.069502914 0.95924532 -170.70698 -169.74773 3.3333254 0 -10627.871 -10794.286 -10794.216 -383.31463 + 3 8.6537003 10.410148 0.15515337 0.95908482 -170.73725 -169.77816 3.2558316 0 -10627.857 -10794.38 -10794.224 -393.99 + 4 14.050859 18.303344 0.27279397 0.95886179 -170.78053 -169.82167 3.1495694 0 -10627.837 -10794.509 -10794.236 -408.93357 + 5 19.424842 28.194049 0.42020553 0.9585778 -170.83354 -169.87496 3.016716 0 -10627.813 -10794.671 -10794.251 -428.10518 + 6 25.315002 39.895741 0.59460812 0.95823491 -170.90236 -169.94412 2.8599973 0 -10627.779 -10794.864 -10794.269 -451.5421 + 7 31.945826 53.187854 0.79271445 0.95783553 -170.98485 -170.02702 2.6826348 0 -10627.739 -10795.083 -10794.29 -479.20295 + 8 38.843432 67.819953 1.010792 0.95738252 -171.0742 -170.11682 2.4882829 0 -10627.697 -10795.325 -10794.314 -510.99723 + 9 46.718156 83.516497 1.2447341 0.95687915 -171.17882 -170.22194 2.2809581 0 -10627.645 -10795.586 -10794.342 -546.9588 + 10 54.366233 99.982124 1.4901386 0.95632904 -171.28928 -170.33295 2.0649603 0 -10627.594 -10795.862 -10794.372 -586.9531 +Loop time of 54.3663 on 1 procs for 10 steps with 6 atoms -Performance: 0.004 ns/day, 6063.691 hours/ns, 0.458 timesteps/s, 2.749 atom-step/s +Performance: 0.002 ns/day, 15101.736 hours/ns, 0.184 timesteps/s, 1.104 atom-step/s 100.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 7.572e-06 | 7.572e-06 | 7.572e-06 | 0.0 | 0.00 -Bond | 5.119e-06 | 5.119e-06 | 5.119e-06 | 0.0 | 0.00 +Pair | 3.4059e-05 | 3.4059e-05 | 3.4059e-05 | 0.0 | 0.00 +Bond | 1.1659e-05 | 1.1659e-05 | 1.1659e-05 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 2.881e-06 | 2.881e-06 | 2.881e-06 | 0.0 | 0.00 -Output | 5.439e-05 | 5.439e-05 | 5.439e-05 | 0.0 | 0.00 -Modify | 4.3658 | 4.3658 | 4.3658 | 0.0 |100.00 -Other | | 6.093e-06 | | | 0.00 +Comm | 1.0583e-05 | 1.0583e-05 | 1.0583e-05 | 0.0 | 0.00 +Output | 0.00016554 | 0.00016554 | 0.00016554 | 0.0 | 0.00 +Modify | 54.366 | 54.366 | 54.366 | 0.0 |100.00 +Other | | 1.567e-05 | | | 0.00 Nlocal: 6 ave 6 max 6 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -146,4 +154,4 @@ Ave neighs/atom = 2 Ave special neighs/atom = 1 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:01:11 +Total wall time: 0:01:59 diff --git a/examples/QUANTUM/NWChem/log.8Feb23.water.qmmm.plugin.2 b/examples/QUANTUM/NWChem/log.8Feb23.water.qmmm.plugin.2 index 3dd19335b3..f661cb2c95 100644 --- a/examples/QUANTUM/NWChem/log.8Feb23.water.qmmm.plugin.2 +++ b/examples/QUANTUM/NWChem/log.8Feb23.water.qmmm.plugin.2 @@ -96,8 +96,8 @@ thermo 1 variable p equal extract_setting(world_size) -mdi plugin nwchem_mdi mdi "-role ENGINE -name NWChem -method LINK" extra "template.water.nw water.dimer.nw log.water.pwdft.qmmm.plugin.$p" command "run 1" -run 1 +mdi plugin nwchem_mdi mdi "-role ENGINE -name NWChem -method LINK" extra "template.water.nw water.nw log.water.pwdft.qmmm.plugin.$p" command "run 10" +run 10 Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule Neighbor list info ... update: every = 1 steps, delay = 0 steps, check = yes @@ -118,23 +118,32 @@ Neighbor list info ... bin: standard Per MPI rank memory allocation (min/avg/max) = 7.453 | 7.453 | 7.453 Mbytes Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long f_2 PotEng TotEng Press - 0 0 0 0 0.95937448 -170.68735 -169.72797 3.3962859 0 -10627.878 -10794.209 -10794.209 -374.81058 - 1 1.2206038 1.1713705 0.017458165 0.95934217 -170.68987 -169.73053 3.3804649 0 -10627.878 -10794.229 -10794.211 -376.91596 -Loop time of 1.22062 on 2 procs for 1 steps with 6 atoms + 0 0 0 0 0.95937448 -170.68735 -169.72798 3.3962859 0 -10627.878 -10794.209 -10794.209 -374.81058 + 1 1.2511997 1.1713705 0.017458165 0.95934217 -170.68987 -169.73053 3.3804649 0 -10627.878 -10794.229 -10794.211 -376.91596 + 2 3.8385452 4.6633575 0.069502914 0.95924532 -170.70698 -169.74773 3.3333254 0 -10627.871 -10794.286 -10794.216 -383.31463 + 3 7.7938711 10.410148 0.15515337 0.95908482 -170.73725 -169.77816 3.2558316 0 -10627.857 -10794.38 -10794.224 -393.99 + 4 12.421381 18.303344 0.27279396 0.95886179 -170.78051 -169.82164 3.1495694 0 -10627.837 -10794.509 -10794.236 -408.93334 + 5 17.269932 28.194049 0.42020553 0.9585778 -170.83354 -169.87496 3.016716 0 -10627.813 -10794.671 -10794.251 -428.10518 + 6 22.792492 39.895742 0.59460814 0.95823491 -170.90235 -169.94412 2.8599973 0 -10627.779 -10794.864 -10794.269 -451.54206 + 7 28.768848 53.187856 0.79271447 0.95783553 -170.98485 -170.02701 2.6826348 0 -10627.739 -10795.083 -10794.29 -479.20292 + 8 34.74838 67.819955 1.010792 0.95738253 -171.07427 -170.11688 2.4882829 0 -10627.697 -10795.325 -10794.314 -510.99784 + 9 41.409904 83.516502 1.2447341 0.95687915 -171.17899 -170.22211 2.2809581 0 -10627.645 -10795.586 -10794.342 -546.96024 + 10 48.305399 99.982132 1.4901387 0.95632904 -171.28935 -170.33302 2.0649603 0 -10627.594 -10795.862 -10794.372 -586.95371 +Loop time of 48.3054 on 2 procs for 10 steps with 6 atoms -Performance: 0.007 ns/day, 3390.614 hours/ns, 0.819 timesteps/s, 4.916 atom-step/s -88.7% CPU use with 2 MPI tasks x no OpenMP threads +Performance: 0.002 ns/day, 13418.171 hours/ns, 0.207 timesteps/s, 1.242 atom-step/s +93.0% CPU use with 2 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 4.563e-06 | 4.9165e-06 | 5.27e-06 | 0.0 | 0.00 -Bond | 1.201e-06 | 2.0745e-06 | 2.948e-06 | 0.0 | 0.00 +Pair | 4.6638e-05 | 4.8108e-05 | 4.9577e-05 | 0.0 | 0.00 +Bond | 1.5399e-05 | 2.157e-05 | 2.7741e-05 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 7.511e-06 | 8.0675e-06 | 8.624e-06 | 0.0 | 0.00 -Output | 1.7987e-05 | 1.9748e-05 | 2.151e-05 | 0.0 | 0.00 -Modify | 1.2206 | 1.2206 | 1.2206 | 0.0 |100.00 -Other | | 7.148e-06 | | | 0.00 +Comm | 7.9132e-05 | 8.3424e-05 | 8.7716e-05 | 0.0 | 0.00 +Output | 0.0001854 | 0.00020373 | 0.00022205 | 0.0 | 0.00 +Modify | 48.305 | 48.305 | 48.305 | 0.0 |100.00 +Other | | 4.187e-05 | | | 0.00 Nlocal: 3 ave 4 max 2 min Histogram: 1 0 0 0 0 0 0 0 0 1 @@ -148,4 +157,4 @@ Ave neighs/atom = 2 Ave special neighs/atom = 1 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:01:00 +Total wall time: 0:01:45 diff --git a/src/MDI/fix_mdi_qm.cpp b/src/MDI/fix_mdi_qm.cpp index 4e548a00f6..424c31692b 100644 --- a/src/MDI/fix_mdi_qm.cpp +++ b/src/MDI/fix_mdi_qm.cpp @@ -58,9 +58,9 @@ FixMDIQM::FixMDIQM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) addflag = 1; every = 1; connectflag = 1; + elements = nullptr; mcflag = 0; id_mcfix = nullptr; - elements = nullptr; int iarg = 3; while (iarg < narg) { @@ -96,12 +96,6 @@ FixMDIQM::FixMDIQM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) else error->all(FLERR, "Illegal fix mdi/qm command"); iarg += 2; - } else if (strcmp(arg[iarg],"mc") == 0) { - if (iarg+2 > narg) error->all(FLERR, "Illegal fix mdi/qm command"); - mcflag = 1; - delete[] id_mcfix; - id_mcfix = utils::strdup(arg[iarg+1]); - iarg += 2; } else if (strcmp(arg[iarg], "elements") == 0) { const char *symbols[] = { @@ -132,7 +126,14 @@ FixMDIQM::FixMDIQM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) elements[i] = anum + 1; } iarg += ntypes + 1; - + + } else if (strcmp(arg[iarg],"mc") == 0) { + if (iarg+2 > narg) error->all(FLERR, "Illegal fix mdi/qm command"); + mcflag = 1; + delete[] id_mcfix; + id_mcfix = utils::strdup(arg[iarg+1]); + iarg += 2; + } else error->all(FLERR, "Illegal fix mdi/qm command"); } @@ -143,16 +144,16 @@ FixMDIQM::FixMDIQM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) global_freq = every; extscalar = 1; - peratom_flag = 1; - size_peratom_cols = 3; - peratom_freq = every; - extvector = 0; - if (virialflag) { vector_flag = 1; size_vector = 6; + extvector = 0; } + peratom_flag = 1; + size_peratom_cols = 3; + peratom_freq = every; + if (addflag) { energy_global_flag = 1; virial_global_flag = 1; @@ -202,13 +203,11 @@ FixMDIQM::FixMDIQM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) // initialize outputs qm_energy = 0.0; - if (virialflag) { - for (int i = 0; i < 6; i++) { - qm_virial[i] = 0.0; - virial[i] = 0.0; - } - sumflag = 0; + for (int i = 0; i < 6; i++) { + qm_virial[i] = 0.0; + virial[i] = 0.0; } + sumflag = 0; int nlocal = atom->nlocal; for (int i = 0; i < nlocal; i++) @@ -311,7 +310,7 @@ void FixMDIQM::init() if (ierr) error->all(FLERR, "MDI: >NATOMS command check"); MPI_Bcast(&natoms_exists, 1, MPI_INT, 0, world); - ierr = MDI_Check_command_exists("@DEFAULT", ">NATOMS", mdicomm, &celldispl_exists); + ierr = MDI_Check_command_exists("@DEFAULT", ">CELL_DISPL", mdicomm, &celldispl_exists); if (ierr) error->all(FLERR, "MDI: >CELL_DISPL command check"); MPI_Bcast(&celldispl_exists, 1, MPI_INT, 0, world); @@ -322,6 +321,10 @@ void FixMDIQM::init() ierr = MDI_Check_command_exists("@DEFAULT", ">TYPES", mdicomm, &types_exists); if (ierr) error->all(FLERR, "MDI: >TYPES command check"); MPI_Bcast(&types_exists, 1, MPI_INT, 0, world); + + ierr = MDI_Check_command_exists("@DEFAULT", "all(FLERR, "MDI: destroy(eqm_old); } + } else if (types_exists) { if (new_system) set_tqm(); else { @@ -558,7 +562,7 @@ void FixMDIQM::post_force(int vflag) // qm_virial_symmetric = fix output for global QM virial // note MDI defines virial tensor as intensive (divided by volume), LAMMPS does not - if (vflag && virialflag) { + if (vflag && virialflag && stress_exists) { ierr = MDI_Send_command("all(FLERR, "MDI: natoms > MAXSMALLINT) + error->all(FLERR,"Fix mdi/qm has too many atoms"); + int ncount = atom->natoms; nexclude = 0; @@ -913,10 +922,8 @@ void FixMDIQM::send_natoms() if (natoms_exists) { ierr = MDI_Send_command(">NATOMS", mdicomm); if (ierr) error->all(FLERR, "MDI: >NATOMS command"); - int n = static_cast(atom->natoms); - ierr = MDI_Send(&n, 1, MDI_INT, mdicomm); + ierr = MDI_Send(&nqm, 1, MDI_INT, mdicomm); if (ierr) error->all(FLERR, "MDI: >NATOMS data"); - } else { ierr = MDI_Send_command("all(FLERR, "MDI: natoms) + if (n != nqm) error->all(FLERR, "MDI: Engine has wrong atom count and does not support >NATOMS command"); } } @@ -952,7 +959,7 @@ void FixMDIQM::send_elements() int ierr = MDI_Send_command(">ELEMENTS", mdicomm); if (ierr) error->all(FLERR, "MDI: >ELEMENTS command"); ierr = MDI_Send(eqm, nqm, MDI_INT, mdicomm); - if (ierr) error->all(FLERR, "MDI: >ELEMETNS data"); + if (ierr) error->all(FLERR, "MDI: >ELEMENTS data"); } /* ---------------------------------------------------------------------- diff --git a/src/MDI/fix_mdi_qm.h b/src/MDI/fix_mdi_qm.h index 8b6b0e02f6..b8e06ad1ab 100644 --- a/src/MDI/fix_mdi_qm.h +++ b/src/MDI/fix_mdi_qm.h @@ -62,7 +62,8 @@ class FixMDIQM : public Fix { MDI_Comm mdicomm; int natoms_exists,celldispl_exists,elements_exists,types_exists; - + int stress_exists; + int nmax; // unit conversion factors diff --git a/src/MDI/fix_mdi_qmmm.cpp b/src/MDI/fix_mdi_qmmm.cpp index c04cacaac3..1f4a8c156f 100644 --- a/src/MDI/fix_mdi_qmmm.cpp +++ b/src/MDI/fix_mdi_qmmm.cpp @@ -72,10 +72,6 @@ FixMDIQMMM::FixMDIQMMM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) int iarg = 4; while (iarg < narg) { if (strcmp(arg[iarg], "virial") == 0) { - - // not supported for now - error->all(FLERR,"Fix mdi/qmmm command does not yet support virial option"); - if (iarg + 2 > narg) error->all(FLERR, "Illegal fix mdi/qmmm command"); if (strcmp(arg[iarg + 1], "yes") == 0) virialflag = 1; @@ -93,6 +89,7 @@ FixMDIQMMM::FixMDIQMMM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) else error->all(FLERR, "Illegal fix mdi/qmmm command"); iarg += 2; + } else if (strcmp(arg[iarg], "elements") == 0) { const char *symbols[] = { "H" , "He", "Li", "Be", "B" , "C" , "N" , "O" , "F" , "Ne", @@ -132,75 +129,27 @@ FixMDIQMMM::FixMDIQMMM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) global_freq = 1; extscalar = 1; - /* if (virialflag) { vector_flag = 1; size_vector = 6; + extvector = 0; } - */ - + + peratom_flag = 1; + size_peratom_cols = 3; + peratom_freq = 1; energy_global_flag = 1; + virial_global_flag = 1; thermo_energy = thermo_virial = 1; + comm_forward = 1; comm_reverse = 1; - // nqm = size of fix group = total # of QM atoms - // error if nqm == natoms, should use fix mdi/qm instead - // require 3*nqm be a small INT, so can MPI_Allreduce xqm - // nmm = total # of MM atoms = all non-QM atoms - - nprocs = comm->nprocs; - bigint ngroup = group->count(igroup); - - if (ngroup == 0) error->all(FLERR,"Fix mdi/qmmm has no atoms in quantum group"); - if (ngroup == atom->natoms) error->all(FLERR,"Fix mdi/qmmm has all atoms in quantum group"); - if (3*ngroup > MAXSMALLINT) - error->all(FLERR,"Fix mdi/qmmm quantum group has too many atoms"); - nqm = ngroup; - nmm = atom->natoms - nqm; - - // QM atom memory - - memory->create(qmIDs,nqm,"mdi/qmmm:qmIDs"); - memory->create(xqm,nqm,3,"mdi/qmmm:xqm"); - memory->create(fqm,nqm,3,"mdi/qmmm:fqm"); - memory->create(qqm,nqm,"mdi/qmmm:qqm"); - memory->create(eqm,nqm,"mdi/qmmm:eqm"); - memory->create(qpotential,nqm,"mdi/qmmm:qpotential"); - memory->create(xqm_mine,nqm,3,"mdi/qmmm:xqm_mine"); - memory->create(qqm_mine,nqm,"mdi/qmmm:qqm_mine"); - memory->create(eqm_mine,nqm,"mdi/qmmm:eqm_mine"); - memory->create(qpotential_mine,nqm,"mdi/qmmm:qpotential_mine"); - memory->create(qm2owned,nqm,"mdi/qmmm:qm2owned"); - - // MM atom memory - - memory->create(mmIDs,nmm,"mdi/qmmm:mmIDs"); - memory->create(xmm,nmm,3,"mdi/qmmm:xmm"); - memory->create(fmm,nmm,3,"mdi/qmmm:fmm"); - memory->create(qmm,nmm,"mdi/qmmm:qmm"); - memory->create(emm,nmm,"mdi/qmmm:emm"); - memory->create(xmm_mine,nmm,3,"mdi/qmmm:xmm_mine"); - memory->create(qmm_mine,nmm,"mdi/qmmm:qmm_mine"); - memory->create(emm_mine,nmm,"mdi/qmmm:emm_mine"); - memory->create(mm2owned,nmm,"mdi/qmmm:mm2owned"); - - // create ordered list of QM and MM atoms IDs - - create_qm_list(); - create_mm_list(); - - // peratom Coulombic energy - - ecoul = nullptr; - ncoulmax = 0; - // mdicomm will be initialized in init() // cannot do here for a plugin library, b/c mdi plugin command comes later mdicomm = MDI_COMM_NULL; - first_send = 1; // set MDI unit conversion factors @@ -213,16 +162,68 @@ FixMDIQMMM::FixMDIQMMM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) unit_conversions(); + nprocs = comm->nprocs; + + // QM atom data + + nqm = nqm_last = max_nqm = 0; + + qmIDs = nullptr; + qm2owned = nullptr; + + eqm = nullptr; + tqm = nullptr; + xqm = nullptr; + fqm = nullptr; + qqm = nullptr; + qpotential = nullptr; + + eqm_mine = nullptr; + tqm_mine = nullptr; + xqm_mine = nullptr; + qqm_mine = nullptr; + qpotential_mine = nullptr; + + // MM atom data + + nmm = nmm_last = max_nmm = 0; + + mmIDs = nullptr; + mm2owned = nullptr; + + emm = nullptr; + tmm = nullptr; + xmm = nullptr; + fmm = nullptr; + qmm = nullptr; + + emm_mine = nullptr; + tmm_mine = nullptr; + xmm_mine = nullptr; + qmm_mine = nullptr; + + // peratom Coulombic energy + + ecoul = nullptr; + ncoulmax = 0; + + // per-atom data + + nmax = atom->nmax; + memory->create(array_atom,nmax,3,"mdi/qmmm:array_atom"); + // initialize outputs qm_energy = 0.0; - if (virialflag) { - for (int i = 0; i < 6; i++) { - qm_virial[i] = 0.0; - virial[i] = 0.0; - } - sumflag = 0; + for (int i = 0; i < 6; i++) { + qm_virial[i] = 0.0; + virial[i] = 0.0; } + sumflag = 0; + + int nlocal = atom->nlocal; + for (int i = 0; i < nlocal; i++) + array_atom[i][0] = array_atom[i][1] = array_atom[i][2] = 0.0; } /* ---------------------------------------------------------------------- */ @@ -240,31 +241,40 @@ FixMDIQMMM::~FixMDIQMMM() // clean up - delete [] elements; + delete[] elements; memory->destroy(qmIDs); + memory->destroy(qm2owned); + + memory->destroy(eqm); + memory->destroy(tqm); memory->destroy(xqm); memory->destroy(fqm); memory->destroy(qqm); - memory->destroy(eqm); memory->destroy(qpotential); + + memory->destroy(eqm_mine); + memory->destroy(tqm_mine); memory->destroy(xqm_mine); memory->destroy(qqm_mine); - memory->destroy(eqm_mine); memory->destroy(qpotential_mine); - memory->destroy(qm2owned); memory->destroy(mmIDs); + memory->destroy(mm2owned); + + memory->destroy(emm); + memory->destroy(tmm); memory->destroy(xmm); memory->destroy(fmm); memory->destroy(qmm); - memory->destroy(emm); + + memory->destroy(emm_mine); + memory->destroy(tmm_mine); memory->destroy(xmm_mine); memory->destroy(qmm_mine); - memory->destroy(emm_mine); - memory->destroy(mm2owned); memory->destroy(ecoul); + memory->destroy(array_atom); } /* ---------------------------------------------------------------------- */ @@ -327,11 +337,86 @@ void FixMDIQMMM::init() char *ptrcomm = (char *) lmp->mdicomm; memcpy(&mdicomm, ptrcomm, nbytes); } + + // check which MDI commands engine supports + + int ierr = MDI_Check_command_exists("@DEFAULT", ">NATOMS", mdicomm, &natoms_exists); + if (ierr) error->all(FLERR, "MDI: >NATOMS command check"); + MPI_Bcast(&natoms_exists, 1, MPI_INT, 0, world); + + ierr = MDI_Check_command_exists("@DEFAULT", ">CELL_DISPL", mdicomm, &celldispl_exists); + if (ierr) error->all(FLERR, "MDI: >CELL_DISPL command check"); + MPI_Bcast(&celldispl_exists, 1, MPI_INT, 0, world); + + ierr = MDI_Check_command_exists("@DEFAULT", ">ELEMENTS", mdicomm, &elements_exists); + if (ierr) error->all(FLERR, "MDI: >ELEMENTS command check"); + MPI_Bcast(&elements_exists, 1, MPI_INT, 0, world); + + ierr = MDI_Check_command_exists("@DEFAULT", ">TYPES", mdicomm, &types_exists); + if (ierr) error->all(FLERR, "MDI: >TYPES command check"); + MPI_Bcast(&types_exists, 1, MPI_INT, 0, world); + + ierr = MDI_Check_command_exists("@DEFAULT", "all(FLERR, "MDI: POTENTIAL_AT_NUCLEI", mdicomm, &check1); + if (ierr) error->all(FLERR, "MDI: >POTENTIAL_AT_NUCLEI command check"); + MPI_Bcast(&check1, 1, MPI_INT, 0, world); + + ierr = MDI_Check_command_exists("@DEFAULT", "all(FLERR, "MDI: all(FLERR,"Fix mdi/qmmm potential mode not supported by MDI engine"); + } + + if (mode == DIRECT) { + int check1,check2,check3,check4; + + ierr = MDI_Check_command_exists("@DEFAULT", ">NLATTICE", mdicomm, &check1); + if (ierr) error->all(FLERR, "MDI: >NLATTICE command check"); + MPI_Bcast(&check1, 1, MPI_INT, 0, world); + + ierr = MDI_Check_command_exists("@DEFAULT", ">CLATTICE", mdicomm, &check2); + if (ierr) error->all(FLERR, "MDI: >CLATTICE command check"); + MPI_Bcast(&check2, 1, MPI_INT, 0, world); + + ierr = MDI_Check_command_exists("@DEFAULT", ">LATTICE", mdicomm, &check3); + if (ierr) error->all(FLERR, "MDI: >LATTICE command check"); + MPI_Bcast(&check3, 1, MPI_INT, 0, world); + + ierr = MDI_Check_command_exists("@DEFAULT", "all(FLERR, "MDI: all(FLERR,"Fix mdi/qmmm direct mode not supported by MDI engine"); + + ierr = MDI_Check_command_exists("@DEFAULT", ">LATTICE_ELEMENTS", mdicomm, &check1); + if (ierr) error->all(FLERR, "MDI: >LATTICE_ELEMENTS command check"); + MPI_Bcast(&check1, 1, MPI_INT, 0, world); + + ierr = MDI_Check_command_exists("@DEFAULT", ">LATTICE_TYPES", mdicomm, &check2); + if (ierr) error->all(FLERR, "MDI: >LATTICE_TYPES command check"); + MPI_Bcast(&check2, 1, MPI_INT, 0, world); + + if (elements_exists && !check1) + error->all(FLERR,"Fix mdi/qmmm direct mode elements not supported by MDI engine"); + if (types_exists && !check2) + error->all(FLERR,"Fix mdi/qmmm direct mode types not supported by MDI engine"); + } } - // require per-atom charge for mode = either DIRECT or POTENTIAL - // POTENTIAL mode requires a pair style that calculates only Coulombic interactions - // can also be in conjunction with KSpace solver + // require per-atom charge + // POTENTIAL mode requires pair style to calculate only Coulombic interactions + // can be in conjunction with KSpace solver if (!atom->q_flag) error->all(FLERR,"Fix mdi/qmmm requires per-atom charge"); @@ -343,53 +428,112 @@ void FixMDIQMMM::init() if (!pair_coul) error->all(FLERR,"Fix mdi/qmmm potential requires Coulomb-only pair sub-style"); } - // send info to QM code which is often only needed once - // box size (can be resent) - // count of QM atoms - // DIRECT and POTENTIAL: number of QM atoms, QM elements - // DIRECT only: number of MM atoms, MM elements, MM charges - // NOTE: could test if QM code alreads has NATOMS, which implies it set up itself - // similar to fix mdi/qm + // determine whether a new vs incremental QMMM calc is needed + // new if first run or if + // QM/MM atom counts or QM/MM elements/types or box has changed between runs + // otherwise incremental = subsequent run of same system - if (first_send) { - first_send = 0; - - send_box(); - - int ierr; - - ierr = MDI_Send_command(">NATOMS", mdicomm); - if (ierr) error->all(FLERR, "MDI: >NATOMS command"); - ierr = MDI_Send(&nqm, 1, MDI_INT, mdicomm); - if (ierr) error->all(FLERR, "MDI: >NATOMS data"); + int new_system = 0; + // check if count of QM or MM atoms has changed + // on first run, old counts are 0 + + int nqm_old = nqm; + nqm = set_nqm(); + + if (nqm != nqm_old) { + if (nqm > max_nqm) reallocate_qm(); + create_qm_list(); set_qm2owned(); - set_eqm(); + new_system = 1; + } + + int nmm_old = nmm; + nmm = set_nmm(); + + if (nmm != nmm_old) { + if (nmm > max_nmm) reallocate_mm(); + create_mm_list(); + set_mm2owned(); + new_system = 1; + } + + // check if box has changed + + if (new_system) set_box(); + else { + double old_cell[9],old_cell_displ[3]; + memcpy(old_cell,qm_cell,9*sizeof(double)); + memcpy(old_cell_displ,qm_cell_displ,3*sizeof(double)); + set_box(); + for (int i = 0; i < 9; i++) + if (qm_cell[i] != old_cell[i]) new_system = 1; + for (int i = 0; i < 3; i++) + if (qm_cell_displ[i] != old_cell_displ[i]) new_system = 1; + } + + // check if QM or MM atom elements or types have changed + + if (elements && elements_exists) { + if (new_system) { + set_eqm(); + set_emm(); + } else { + int *eqm_old; + memory->create(eqm_old,nqm,"mdi/qmmm:eqm_old"); + memcpy(eqm_old,eqm,nqm*sizeof(int)); + set_eqm(); + for (int i = 0; i < nqm; i++) + if (eqm[i] != eqm_old[i]) new_system = 1; + memory->destroy(eqm_old); + + int *emm_old; + memory->create(emm_old,nmm,"mdi/qmmm:emm_old"); + memcpy(emm_old,emm,nmm*sizeof(int)); + set_emm(); + for (int i = 0; i < nmm; i++) + if (emm[i] != emm_old[i]) new_system = 1; + memory->destroy(emm_old); + } - ierr = MDI_Send_command(">ELEMENTS", mdicomm); - if (ierr) error->all(FLERR, "MDI: >ELEMENTS command"); - ierr = MDI_Send(eqm, nqm, MDI_INT, mdicomm); - if (ierr) error->all(FLERR, "MDI: >ELEMENTS data"); + } else if (types_exists) { + if (new_system) { + set_tqm(); + set_tmm(); + } else { + int *tqm_old; + memory->create(tqm_old,nqm,"mdi/qmmm:tqm_old"); + memcpy(tqm_old,tqm,nqm*sizeof(int)); + set_tqm(); + for (int i = 0; i < nqm; i++) + if (tqm[i] != tqm_old[i]) new_system = 1; + memory->destroy(tqm_old); + + int *tmm_old; + memory->create(tmm_old,nmm,"mdi/qmmm:tmm_old"); + memcpy(tmm_old,tmm,nmm*sizeof(int)); + set_tmm(); + for (int i = 0; i < nmm; i++) + if (tmm[i] != tmm_old[i]) new_system = 1; + memory->destroy(tmm_old); + } + } + + // if new system, send setup info to MDI engine + // values that often won't change for QMMM simulations + // if not sending elements or types, assume engine initialized itself + + if (new_system) { + send_natoms_qm(); + send_box(); + if (elements && elements_exists) send_elements_qm(); + else if (types_exists) send_types_qm(); + nqm_last = nqm; if (mode == DIRECT) { - ierr = MDI_Send_command(">NLATTICE", mdicomm); - if (ierr) error->all(FLERR, "MDI: >NLATTICE command"); - ierr = MDI_Send(&nmm, 1, MDI_INT, mdicomm); - if (ierr) error->all(FLERR, "MDI: >NLATTICE data"); - - set_mm2owned(); - set_emm(); - - ierr = MDI_Send_command(">LATTICE_ELEMENTS", mdicomm); - if (ierr) error->all(FLERR, "MDI: >LATTICE_ELEMENTS command"); - ierr = MDI_Send(emm, nmm, MDI_INT, mdicomm); - if (ierr) error->all(FLERR, "MDI: >LATTICE_ELEMENTS data"); - - set_qmm(); - ierr = MDI_Send_command(">LATTICE", mdicomm); - if (ierr) error->all(FLERR, "MDI: >LATTICE command"); - ierr = MDI_Send(qmm, nmm, MDI_DOUBLE, mdicomm); - if (ierr) error->all(FLERR, "MDI: >LATTICE data"); + send_natoms_mm(); + if (elements && elements_exists) send_elements_mm(); + else if (types_exists) send_types_mm(); } } } @@ -431,7 +575,7 @@ void FixMDIQMMM::post_neighbor() (4) receive results from QM code ---------------------------------------------------------------------- */ -void FixMDIQMMM::pre_force(int /*vflag*/) +void FixMDIQMMM::pre_force(int vflag) { int ilocal,jlocal; double rsq; @@ -543,7 +687,14 @@ void FixMDIQMMM::pre_force(int /*vflag*/) //double tstart = platform::walltime(); int ierr; - + + // if simulation box dynamically changes, send current box to MDI engine + + if (domain->box_change_size || domain->box_change_shape) { + set_box(); + send_box(); + } + // send current coords of QM atoms to MDI engine ierr = MDI_Send_command(">COORDS", mdicomm); @@ -567,6 +718,7 @@ void FixMDIQMMM::pre_force(int /*vflag*/) ierr = MDI_Recv(&qm_energy, 1, MDI_DOUBLE, mdicomm); if (ierr) error->all(FLERR, "MDI: all(FLERR, "MDI: me == 0) // utils::logmesg(lmp, " time = {:.3f} seconds\n", // platform::walltime() - tstart); - // unit conversion from MDI to LAMMPS - - qm_energy *= mdi2lmp_energy; - - for (int i = 0; i < nqm; i++) { - fqm[i][0] *= mdi2lmp_force; - fqm[i][1] *= mdi2lmp_force; - fqm[i][2] *= mdi2lmp_force; - } - // reset owned charges to QM values // communicate changes to ghost atoms @@ -612,6 +752,56 @@ void FixMDIQMMM::pre_force(int /*vflag*/) comm->forward_comm(this); + // array_atom = fix output for peratom QM forces + // zero array_atom first for MM atoms + + for (int i = 0; i < nlocal; i++) { + array_atom[i][0] = 0.0; + array_atom[i][1] = 0.0; + array_atom[i][2] = 0.0; + } + + for (int i = 0; i < nqm; i++) { + ilocal = qm2owned[i]; + if (ilocal >= 0) { + array_atom[ilocal][0] = fqm[i][0] * mdi2lmp_force; + array_atom[ilocal][1] = fqm[i][1] * mdi2lmp_force; + array_atom[ilocal][2] = fqm[i][2] * mdi2lmp_force; + } + } + + // optionally request stress tensor from MDI engine, convert to 6-value virial + // qm_virial_symmetric = fix output for global QM virial + // note MDI defines virial tensor as intensive (divided by volume), LAMMPS does not + + if (vflag && virialflag && stress_exists) { + ierr = MDI_Send_command("all(FLERR, "MDI: all(FLERR, "MDI: virial + // multiply by volume to make it extensive + // divide by nprocs so each proc stores a portion + // this is b/c ComputePressure expects this as input from a fix + // it will do an MPI_Allreduce and divide by volume + + double volume; + if (domain->dimension == 2) + volume = domain->xprd * domain->yprd; + else if (domain->dimension == 3) + volume = domain->xprd * domain->yprd * domain->zprd; + for (int i = 0; i < 6; i++) virial[i] = qm_virial_symmetric[i] * volume / nprocs; + } + // reset LAMMPS forces to zero // NOTE: what about check in force_clear() for external_force_clear = OPENMP ? // NOTE: what will whichflag be for single snapshot compute of QMMM forces ? @@ -651,20 +841,6 @@ void FixMDIQMMM::post_force_direct(int /*vflag*/) set_xmm(); set_qmm(); - // unit conversion from LAMMPS to MDI - - for (int i = 0; i < nqm; i++) { - xqm[i][0] *= lmp2mdi_length; - xqm[i][1] *= lmp2mdi_length; - xqm[i][2] *= lmp2mdi_length; - } - - for (int i = 0; i < nmm; i++) { - xmm[i][0] *= lmp2mdi_length; - xmm[i][1] *= lmp2mdi_length; - xmm[i][2] *= lmp2mdi_length; - } - // send info to MDI engine with QM and MM atom info // first request for results triggers QM calculation // QM and MM atoms must be in order of ascending atom ID @@ -682,10 +858,14 @@ void FixMDIQMMM::post_force_direct(int /*vflag*/) //MPI_Barrier(world); //double tstart = platform::walltime(); - // MDI calls - // NOTE: add send_box() call when needed for NPT - int ierr; + + // if simulation box dynamically changes, send current box to MDI engine + + if (domain->box_change_size || domain->box_change_shape) { + set_box(); + send_box(); + } // send current coords of QM atoms to MDI engine @@ -710,6 +890,7 @@ void FixMDIQMMM::post_force_direct(int /*vflag*/) ierr = MDI_Recv(&qm_energy, 1, MDI_DOUBLE, mdicomm); if (ierr) error->all(FLERR, "MDI: f; int ilocal; - for (int i = 0; i < nqm; i++) { ilocal = qm2owned[i]; if (ilocal >= 0) { - f[ilocal][0] += fqm[i][0]; - f[ilocal][1] += fqm[i][1]; - f[ilocal][2] += fqm[i][2]; + array_atom[ilocal][0] = fqm[i][0] * mdi2lmp_force; + array_atom[ilocal][1] = fqm[i][1] * mdi2lmp_force; + array_atom[ilocal][2] = fqm[i][2] * mdi2lmp_force; } } for (int i = 0; i < nmm; i++) { ilocal = mm2owned[i]; if (ilocal >= 0) { - f[ilocal][0] += fmm[i][0]; - f[ilocal][1] += fmm[i][1]; - f[ilocal][2] += fmm[i][2]; + array_atom[ilocal][0] = fmm[i][0] * mdi2lmp_force; + array_atom[ilocal][1] = fmm[i][1] * mdi2lmp_force; + array_atom[ilocal][2] = fmm[i][2] * mdi2lmp_force; + } + } + + // add fqm and fmm to LAMMPS forces on respective atoms + + double **f = atom->f; + + for (int i = 0; i < nqm; i++) { + ilocal = qm2owned[i]; + if (ilocal >= 0) { + f[ilocal][0] += fqm[i][0] * mdi2lmp_force; + f[ilocal][1] += fqm[i][1] * mdi2lmp_force; + f[ilocal][2] += fqm[i][2] * mdi2lmp_force; + } + } + + for (int i = 0; i < nmm; i++) { + ilocal = mm2owned[i]; + if (ilocal >= 0) { + f[ilocal][0] += fmm[i][0] * mdi2lmp_force; + f[ilocal][1] += fmm[i][1] * mdi2lmp_force; + f[ilocal][2] += fmm[i][2] * mdi2lmp_force; } } } @@ -864,9 +1049,9 @@ void FixMDIQMMM::post_force_potential(int /*vflag*/) for (int i = 0; i < nqm; i++) { ilocal = qm2owned[i]; if (ilocal >= 0) { - f[ilocal][0] += fqm[i][0]; - f[ilocal][1] += fqm[i][1]; - f[ilocal][2] += fqm[i][2]; + f[ilocal][0] += fqm[i][0] * mdi2lmp_force; + f[ilocal][1] += fqm[i][1] * mdi2lmp_force; + f[ilocal][2] += fqm[i][2] * mdi2lmp_force; } } @@ -975,12 +1160,10 @@ double FixMDIQMMM::compute_scalar() virial from MDI engine ------------------------------------------------------------------------- */ -/* double FixMDIQMMM::compute_vector(int n) { return qm_virial_symmetric[n]; } -*/ /* ---------------------------------------------------------------------- memory usage @@ -1002,6 +1185,112 @@ double FixMDIQMMM::memory_usage() // ---------------------------------------------------------------------- // ---------------------------------------------------------------------- +/* ---------------------------------------------------------------------- + reallocate storage for QM atoms +------------------------------------------------------------------------- */ + +void FixMDIQMMM::reallocate_qm() +{ + max_nqm = nqm; + + memory->destroy(qmIDs); + memory->destroy(qm2owned); + + memory->destroy(eqm); + memory->destroy(tqm); + memory->destroy(xqm); + memory->destroy(fqm); + + memory->destroy(eqm_mine); + memory->destroy(tqm_mine); + memory->destroy(xqm_mine); + + memory->create(qmIDs,max_nqm,"mdi/qm:qmIDs"); + memory->create(qm2owned,max_nqm,"mdi/qm:qm2owned"); + + memory->create(eqm,max_nqm,"mdi/qm:eqm"); + memory->create(tqm,max_nqm,"mdi/qm:tqm"); + memory->create(xqm,max_nqm,3,"mdi/qm:xqm"); + memory->create(fqm,max_nqm,3,"mdi/qm:fqm"); + + memory->create(eqm_mine,max_nqm,"mdi/qm:eqm_mine"); + memory->create(tqm_mine,max_nqm,"mdi/qm:tqm_mine"); + memory->create(xqm_mine,max_nqm,3,"mdi/qm:xqm_mine"); +} + +/* ---------------------------------------------------------------------- + reallocate storage for MM atoms +------------------------------------------------------------------------- */ + +void FixMDIQMMM::reallocate_mm() +{ + max_nqm = nqm; + + memory->destroy(qmIDs); + memory->destroy(qm2owned); + + memory->destroy(eqm); + memory->destroy(tqm); + memory->destroy(xqm); + memory->destroy(fqm); + + memory->destroy(eqm_mine); + memory->destroy(tqm_mine); + memory->destroy(xqm_mine); + + memory->create(qmIDs,max_nqm,"mdi/qm:qmIDs"); + memory->create(qm2owned,max_nqm,"mdi/qm:qm2owned"); + + memory->create(eqm,max_nqm,"mdi/qm:eqm"); + memory->create(tqm,max_nqm,"mdi/qm:tqm"); + memory->create(xqm,max_nqm,3,"mdi/qm:xqm"); + memory->create(fqm,max_nqm,3,"mdi/qm:fqm"); + + memory->create(eqm_mine,max_nqm,"mdi/qm:eqm_mine"); + memory->create(tqm_mine,max_nqm,"mdi/qm:tqm_mine"); + memory->create(xqm_mine,max_nqm,3,"mdi/qm:xqm_mine"); +} + +/* ---------------------------------------------------------------------- + ncount = # of QM atoms = # in fix group + return ncount to set nqm +------------------------------------------------------------------------- */ + +int FixMDIQMMM::set_nqm() +{ + bigint ngroup = group->count(igroup); + + // require 3*nqm be a small INT, so can MPI_Allreduce QM values + + if (3*ngroup > MAXSMALLINT) + error->all(FLERR,"Fix mdi/qmmm has too many quantum atoms"); + + // error if nqm = 0 + // error if nqm = natoms, should use fix mdi/qm instead + + if (ngroup == 0) error->all(FLERR,"Fix mdi/qmmm has no atoms in quantum group"); + if (ngroup == atom->natoms) error->all(FLERR,"Fix mdi/qmmm has all atoms in quantum group"); + + int ncount = ngroup; + return ncount; +} + +/* ---------------------------------------------------------------------- + ncount = # of MM atoms = all non-QM atoms + return ncount to set nmm +------------------------------------------------------------------------- */ + +int FixMDIQMMM::set_nmm() +{ + // require 3*nmm be a small INT, so can MPI_Allreduce xmm + + if (3*(atom->natoms-nqm) > MAXSMALLINT) + error->all(FLERR,"Fix mdi/qmmm has too many classical atoms"); + + int ncount = atom->natoms - nqm; + return ncount; +} + /* ---------------------------------------------------------------------- create sorted list of QM atom IDs ignore excluded atoms if exclude flag if set @@ -1177,37 +1466,27 @@ void FixMDIQMMM::set_mm2owned() /* ---------------------------------------------------------------------- */ -void FixMDIQMMM::set_qqm() +void FixMDIQMMM::set_box() { - for (int i = 0; i < nqm; i++) qqm_mine[i] = 0.0; + qm_cell_displ[0] = domain->boxlo[0] * lmp2mdi_length; + qm_cell_displ[1] = domain->boxlo[1] * lmp2mdi_length; + qm_cell_displ[2] = domain->boxlo[2] * lmp2mdi_length; - double *q = atom->q; - int ilocal; + qm_cell[0] = domain->boxhi[0] - domain->boxlo[0]; + qm_cell[1] = 0.0; + qm_cell[2] = 0.0; + qm_cell[3] = domain->xy; + qm_cell[4] = domain->boxhi[1] - domain->boxlo[1]; + qm_cell[5] = 0.0; + qm_cell[6] = domain->xz; + qm_cell[7] = domain->yz; + qm_cell[8] = domain->boxhi[2] - domain->boxlo[2]; - for (int i = 0; i < nqm; i++) { - ilocal = qm2owned[i]; - if (ilocal >= 0) qqm_mine[i] = q[ilocal]; - } - - MPI_Allreduce(qqm_mine,qqm,nqm,MPI_DOUBLE,MPI_SUM,world); + // convert cell units to bohr + + for (int icell = 0; icell < 9; icell++) qm_cell[icell] *= lmp2mdi_length; } -/* ---------------------------------------------------------------------- */ - -void FixMDIQMMM::set_eqm() -{ - for (int i = 0; i < nqm; i++) eqm_mine[i] = 0; - - int *type = atom->type; - int ilocal; - - for (int i = 0; i < nqm; i++) { - ilocal = qm2owned[i]; - if (ilocal >= 0) eqm_mine[i] = elements[type[ilocal]]; - } - - MPI_Allreduce(eqm_mine,eqm,nqm,MPI_INT,MPI_SUM,world); -} /* ---------------------------------------------------------------------- */ @@ -1230,6 +1509,10 @@ void FixMDIQMMM::set_xqm() xqm_mine[i][2] = x[ilocal][2]; domain->remap(xqm_mine[i]); + + xqm_mine[i][0] *= lmp2mdi_length; + xqm_mine[i][1] *= lmp2mdi_length; + xqm_mine[i][2] *= lmp2mdi_length; } } @@ -1238,36 +1521,53 @@ void FixMDIQMMM::set_xqm() /* ---------------------------------------------------------------------- */ -void FixMDIQMMM::set_emm() +void FixMDIQMMM::set_eqm() { - for (int i = 0; i < nmm; i++) emm_mine[i] = 0; + for (int i = 0; i < nqm; i++) eqm_mine[i] = 0; int *type = atom->type; int ilocal; - for (int i = 0; i < nmm; i++) { - ilocal = mm2owned[i]; - if (ilocal >= 0) emm_mine[i] = elements[type[ilocal]]; + for (int i = 0; i < nqm; i++) { + ilocal = qm2owned[i]; + if (ilocal >= 0) eqm_mine[i] = elements[type[ilocal]]; } - MPI_Allreduce(emm_mine,emm,nmm,MPI_INT,MPI_SUM,world); + MPI_Allreduce(eqm_mine,eqm,nqm,MPI_INT,MPI_SUM,world); } /* ---------------------------------------------------------------------- */ -void FixMDIQMMM::set_qmm() +void FixMDIQMMM::set_tqm() { - for (int i = 0; i < nmm; i++) qmm_mine[i] = 0.0; + for (int i = 0; i < nqm; i++) tqm_mine[i] = 0.0; + + int *type = atom->type; + int ilocal; + + for (int i = 0; i < nqm; i++) { + ilocal = qm2owned[i]; + if (ilocal >= 0) tqm_mine[i] = type[ilocal]; + } + + MPI_Allreduce(tqm_mine,tqm,nqm,MPI_INT,MPI_SUM,world); +} + +/* ---------------------------------------------------------------------- */ + +void FixMDIQMMM::set_qqm() +{ + for (int i = 0; i < nqm; i++) qqm_mine[i] = 0.0; double *q = atom->q; int ilocal; - for (int i = 0; i < nmm; i++) { - ilocal = mm2owned[i]; - if (ilocal >= 0) qmm_mine[i] = q[ilocal]; + for (int i = 0; i < nqm; i++) { + ilocal = qm2owned[i]; + if (ilocal >= 0) qqm_mine[i] = q[ilocal]; } - MPI_Allreduce(qmm_mine,qmm,nmm,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(qqm_mine,qqm,nqm,MPI_DOUBLE,MPI_SUM,world); } /* ---------------------------------------------------------------------- */ @@ -1291,55 +1591,192 @@ void FixMDIQMMM::set_xmm() xmm_mine[i][2] = x[ilocal][2]; domain->remap(xmm_mine[i]); + + xmm_mine[i][0] *= lmp2mdi_length; + xmm_mine[i][1] *= lmp2mdi_length; + xmm_mine[i][2] *= lmp2mdi_length; } } MPI_Allreduce(&xmm_mine[0][0],&xmm[0][0],3*nmm,MPI_DOUBLE,MPI_SUM,world); } +/* ---------------------------------------------------------------------- */ + +void FixMDIQMMM::set_emm() +{ + for (int i = 0; i < nmm; i++) emm_mine[i] = 0; + + int *type = atom->type; + int ilocal; + + for (int i = 0; i < nmm; i++) { + ilocal = mm2owned[i]; + if (ilocal >= 0) emm_mine[i] = elements[type[ilocal]]; + } + + MPI_Allreduce(emm_mine,emm,nmm,MPI_INT,MPI_SUM,world); +} + +/* ---------------------------------------------------------------------- */ + +void FixMDIQMMM::set_tmm() +{ + for (int i = 0; i < nmm; i++) tmm_mine[i] = 0; + + int *type = atom->type; + int ilocal; + + for (int i = 0; i < nmm; i++) { + ilocal = mm2owned[i]; + if (ilocal >= 0) tmm_mine[i] = type[ilocal]; + } + + MPI_Allreduce(tmm_mine,tmm,nmm,MPI_INT,MPI_SUM,world); +} + +/* ---------------------------------------------------------------------- */ + +void FixMDIQMMM::set_qmm() +{ + for (int i = 0; i < nmm; i++) qmm_mine[i] = 0.0; + + double *q = atom->q; + int ilocal; + + for (int i = 0; i < nmm; i++) { + ilocal = mm2owned[i]; + if (ilocal >= 0) qmm_mine[i] = q[ilocal]; + } + + MPI_Allreduce(qmm_mine,qmm,nmm,MPI_DOUBLE,MPI_SUM,world); +} + +/* ---------------------------------------------------------------------- + send LAMMPS QM atom count to MDI engine +------------------------------------------------------------------------- */ + +void FixMDIQMMM::send_natoms_qm() +{ + int ierr; + + // if engine suppports >NATOMS, send it + // if not, require that engine be consistent with LAMMPS + + if (natoms_exists) { + ierr = MDI_Send_command(">NATOMS", mdicomm); + if (ierr) error->all(FLERR, "MDI: >NATOMS command"); + ierr = MDI_Send(&nqm, 1, MDI_INT, mdicomm); + if (ierr) error->all(FLERR, "MDI: >NATOMS data"); + + + } else { + ierr = MDI_Send_command("all(FLERR, "MDI: all(FLERR, "MDI: all(FLERR, "MDI: Engine has wrong atom count and does not support >NATOMS command"); + } +} + +/* ---------------------------------------------------------------------- + send QM atom types to MDI engine +------------------------------------------------------------------------- */ + +void FixMDIQMMM::send_types_qm() +{ + int ierr = MDI_Send_command(">TYPES", mdicomm); + if (ierr) error->all(FLERR, "MDI: >TYPES command"); + ierr = MDI_Send(tqm, nqm, MDI_INT, mdicomm); + if (ierr) error->all(FLERR, "MDI: >TYPES data"); +} + +/* ---------------------------------------------------------------------- + send QM elements to MDI engine = atomic numbers for each type +------------------------------------------------------------------------- */ + +void FixMDIQMMM::send_elements_qm() +{ + int ierr = MDI_Send_command(">ELEMENTS", mdicomm); + if (ierr) error->all(FLERR, "MDI: >ELEMENTS command"); + ierr = MDI_Send(eqm, nqm, MDI_INT, mdicomm); + if (ierr) error->all(FLERR, "MDI: >ELEMENTS data"); +} + /* ---------------------------------------------------------------------- send simulation box size and shape to MDI engine + only send CELL_DISPL if engine supports it ------------------------------------------------------------------------- */ void FixMDIQMMM::send_box() { - double cell[9]; + int ierr; - int cell_displ_exists; - int ierr = MDI_Check_command_exists("@DEFAULT", ">CELL_DISPL", mdicomm, &cell_displ_exists); - if (ierr) error->all(FLERR, "MDI: >CELL_DISPL command check"); - MPI_Bcast(&cell_displ_exists, 1, MPI_INT, 0, world); - - if (cell_displ_exists) { + if (celldispl_exists) { ierr = MDI_Send_command(">CELL_DISPL", mdicomm); if (ierr) error->all(FLERR, "MDI: >CELL_DISPL command"); - cell[0] = domain->boxlo[0] * lmp2mdi_length; - cell[1] = domain->boxlo[1] * lmp2mdi_length; - cell[2] = domain->boxlo[2] * lmp2mdi_length; - ierr = MDI_Send(cell, 3, MDI_DOUBLE, mdicomm); + ierr = MDI_Send(qm_cell_displ, 3, MDI_DOUBLE, mdicomm); if (ierr) error->all(FLERR, "MDI: >CELL_DISPL data"); } ierr = MDI_Send_command(">CELL", mdicomm); if (ierr) error->all(FLERR, "MDI: >CELL command"); - cell[0] = domain->boxhi[0] - domain->boxlo[0]; - cell[1] = 0.0; - cell[2] = 0.0; - cell[3] = domain->xy; - cell[4] = domain->boxhi[1] - domain->boxlo[1]; - cell[5] = 0.0; - cell[6] = domain->xz; - cell[7] = domain->yz; - cell[8] = domain->boxhi[2] - domain->boxlo[2]; - - // convert from LAMMPS to MDI units - - for (int icell = 0; icell < 9; icell++) cell[icell] *= lmp2mdi_length; - - ierr = MDI_Send(cell, 9, MDI_DOUBLE, mdicomm); + ierr = MDI_Send(qm_cell, 9, MDI_DOUBLE, mdicomm); if (ierr) error->all(FLERR, "MDI: >CELL data"); } +/* ---------------------------------------------------------------------- + send LAMMPS MM atom count to MDI engine +------------------------------------------------------------------------- */ + +void FixMDIQMMM::send_natoms_mm() +{ + int ierr = MDI_Send_command(">NLATTICE", mdicomm); + if (ierr) error->all(FLERR, "MDI: >NLATTICE command"); + ierr = MDI_Send(&nmm, 1, MDI_INT, mdicomm); + if (ierr) error->all(FLERR, "MDI: >NLATTICE data"); +} + +/* ---------------------------------------------------------------------- + send MM atom types to MDI engine +------------------------------------------------------------------------- */ + +void FixMDIQMMM::send_types_mm() +{ + int ierr = MDI_Send_command(">LATTICE_TYPES", mdicomm); + if (ierr) error->all(FLERR, "MDI: >LATTICE_TYPES command"); + ierr = MDI_Send(tqm, nqm, MDI_INT, mdicomm); + if (ierr) error->all(FLERR, "MDI: >LATTICE_TYPES data"); +} + +/* ---------------------------------------------------------------------- + send MM elements to MDI engine = atomic numbers for each type +------------------------------------------------------------------------- */ + +void FixMDIQMMM::send_elements_mm() +{ + int ierr = MDI_Send_command(">LATTICE_ELEMENTS", mdicomm); + if (ierr) error->all(FLERR, "MDI: >LATTICE_ELEMENTS command"); + ierr = MDI_Send(emm, nmm, MDI_INT, mdicomm); + if (ierr) error->all(FLERR, "MDI: >LATTICE_ELEMENTS data"); +} + +/* ---------------------------------------------------------------------- + send MM charges to MDI engine +------------------------------------------------------------------------- */ + +void FixMDIQMMM::send_charges_mm() +{ + int ierr = MDI_Send_command(">LATTICE", mdicomm); + if (ierr) error->all(FLERR, "MDI: >LATTICE command"); + ierr = MDI_Send(qmm, nmm, MDI_DOUBLE, mdicomm); + if (ierr) error->all(FLERR, "MDI: >LATTICE data"); +} + /* ---------------------------------------------------------------------- MDI to/from LAMMPS conversion factors ------------------------------------------------------------------------- */ diff --git a/src/MDI/fix_mdi_qmmm.h b/src/MDI/fix_mdi_qmmm.h index 3707b93221..086f339150 100644 --- a/src/MDI/fix_mdi_qmmm.h +++ b/src/MDI/fix_mdi_qmmm.h @@ -42,12 +42,14 @@ class FixMDIQMMM : public Fix { void min_post_neighbor() override; void min_pre_force(int) override; void min_post_force(int) override; + int pack_forward_comm(int, int *, double *, int, int *) override; void unpack_forward_comm(int, int, double *) override; int pack_reverse_comm(int, int, double *) override; void unpack_reverse_comm(int, int *, double *) override; double compute_scalar() override; + double compute_vector(int) override; double memory_usage() override; private: @@ -59,49 +61,57 @@ class FixMDIQMMM : public Fix { int *elements; int mode; // QMMM method = DIRECT or POTENTIAL - int lmpunits; // REAL, METAL, or NATIVE - int first_send; // 1 until initial info passed to MDI engine - + double qm_cell[9],qm_cell_displ[3]; + double qm_energy; double qm_virial[9], qm_virial_symmetric[6]; MDI_Comm mdicomm; + int natoms_exists,celldispl_exists,elements_exists,types_exists; + int stress_exists; + int nmax; + class Pair *pair_coul; // ptr to instance of pair coul variant - // data for QM portion + // QM atom data structs int nqm; // # of QM atoms + int nqm_last,max_nqm; + tagint *qmIDs; // IDs of QM atoms in ascending order - double **xqm,**fqm; // QM coords and forces - double *qqm; // QM charges - int *eqm; // QM atom atomic numbers - double *qpotential; // Coulomb potential - double **xqm_mine; // same values for QM atoms I own - double *qqm_mine; - double *qpotential_mine; - int *eqm_mine; int *qm2owned; // index of local atom for each QM atom // index = -1 if this proc does not own - + + int *eqm,*eqm_mine; + int *tqm,*tqm_mine; + double **xqm,**xqm_mine; + double *qqm,*qqm_mine; + double *qpotential,*qpotential_mine; + double **fqm; + double *ecoul; // peratom Coulombic energy from LAMMPS int ncoulmax; // length of ecoul - // data for MM portion + // MM atom data structs int nmm; // # of MM atoms + int nmm_last,max_nmm; + tagint *mmIDs; // IDs of MM atoms in ascending order - double **xmm,**fmm; // MM coords and forces - double *qmm; // MM charges - int *emm; // MM atom atomic numbers - double **xmm_mine; // same values for MM atoms I own - double *qmm_mine; - int *emm_mine; int *mm2owned; // index of local atom for each MM atom // index = -1 if this proc does not own + int *emm,*emm_mine; + int *tmm,*tmm_mine; + double **xmm,**xmm_mine; + double *qmm,*qmm_mine; + double **fmm; + // unit conversion factors + int lmpunits; // REAL, METAL, or NATIVE + double lmp2mdi_length, mdi2lmp_length; double lmp2mdi_energy, mdi2lmp_energy; double lmp2mdi_force, mdi2lmp_force; @@ -112,22 +122,39 @@ class FixMDIQMMM : public Fix { void post_force_direct(int); void post_force_potential(int); + void reallocate_qm(); + void reallocate_mm(); + + int set_nqm(); + int set_nmm(); + void create_qm_list(); void create_mm_list(); void set_qm2owned(); void set_mm2owned(); + + void set_box(); + void set_xqm(); void set_eqm(); void set_tqm(); void set_qqm(); - void set_xqm(); - void set_emm(); - void set_qmm(); void set_xmm(); - + void set_emm(); + void set_tmm(); + void set_qmm(); + + void send_natoms_qm(); + void send_types_qm(); + void send_elements_qm(); void send_box(); + void send_natoms_mm(); + void send_types_mm(); + void send_elements_mm(); + void send_charges_mm(); + void unit_conversions(); }; From a92c9e3b91e52483340b62447b16f6988e938a8f Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Wed, 22 Feb 2023 19:48:46 -0700 Subject: [PATCH 122/448] cmake: remove pip install from install target --- cmake/CMakeLists.txt | 29 ----------------------------- 1 file changed, 29 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 41229e9cd6..5a30cd5aa5 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -856,35 +856,6 @@ else() ${CMAKE_COMMAND} -E echo "Must build LAMMPS as a shared library to use the Python module") endif() -############################################################################### -# Add LAMMPS python module to "install" target. This is taylored for building -# LAMMPS for package managers and with different prefix settings. -# This requires either a shared library or that the PYTHON package is included. -############################################################################### -if(BUILD_SHARED_LIBS OR PKG_PYTHON) - if(CMAKE_VERSION VERSION_LESS 3.12) - # adjust so we find Python 3 versions before Python 2 on old systems with old CMake - set(Python_ADDITIONAL_VERSIONS 3.12 3.11 3.10 3.9 3.8 3.7 3.6) - find_package(PythonInterp) # Deprecated since version 3.12 - if(PYTHONINTERP_FOUND) - set(Python_EXECUTABLE ${PYTHON_EXECUTABLE}) - endif() - else() - # backward compatibility - if(PYTHON_EXECUTABLE) - set(Python_EXECUTABLE ${PYTHON_EXECUTABLE}) - endif() - find_package(Python COMPONENTS Interpreter) - endif() - if(Python_EXECUTABLE) - file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/python/lib) - file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/python/src) - file(COPY ${LAMMPS_SOURCE_DIR}/version.h DESTINATION ${CMAKE_BINARY_DIR}/python/src) - file(COPY ${LAMMPS_PYTHON_DIR}/README ${LAMMPS_PYTHON_DIR}/pyproject.toml ${LAMMPS_PYTHON_DIR}/setup.py ${LAMMPS_PYTHON_DIR}/lammps DESTINATION ${CMAKE_BINARY_DIR}/python/lib) - install(CODE "if(\"\$ENV{DESTDIR}\" STREQUAL \"\")\n execute_process(COMMAND ${Python_EXECUTABLE} -m pip install -v ${CMAKE_BINARY_DIR}/python/lib --prefix=${CMAKE_INSTALL_PREFIX})\n else()\n execute_process(COMMAND ${Python_EXECUTABLE} -m pip install -v ${CMAKE_BINARY_DIR}/python/lib --prefix=${CMAKE_INSTALL_PREFIX} --root=\$ENV{DESTDIR})\n endif()") - endif() -endif() - include(Testing) include(CodeCoverage) include(CodingStandard) From a3ff40ccf03c53c6173030eb6792dca72d9f70bb Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Feb 2023 23:29:46 -0500 Subject: [PATCH 123/448] fixes to avoid uninitialized or out-of-bounds memory accesses --- src/fix_wall.cpp | 2 ++ src/fix_wall_table.cpp | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/src/fix_wall.cpp b/src/fix_wall.cpp index f7293ffd06..4c4406a34c 100644 --- a/src/fix_wall.cpp +++ b/src/fix_wall.cpp @@ -105,9 +105,11 @@ FixWall::FixWall(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), nwall } if (utils::strmatch(style, "^wall/lepton")) { + estyle[nwall] = sstyle[nwall] = CONSTANT; lstr[nwall] = utils::strdup(arg[iarg + 2]); cutoff[nwall] = utils::numeric(FLERR, arg[iarg + 3], false, lmp); } else if (utils::strmatch(style, "^wall/table")) { + estyle[nwall] = sstyle[nwall] = CONSTANT; fstr[nwall] = utils::strdup(arg[iarg + 2]); kstr[nwall] = utils::strdup(arg[iarg + 3]); cutoff[nwall] = utils::numeric(FLERR, arg[iarg + 4], false, lmp); diff --git a/src/fix_wall_table.cpp b/src/fix_wall_table.cpp index c44864a7bd..dc1dda4504 100644 --- a/src/fix_wall_table.cpp +++ b/src/fix_wall_table.cpp @@ -90,8 +90,13 @@ void FixWallTable::precompute(int m) { double u, mdu; + // always use linear interpolation to determine the offset, since we may be at the + // outer table cutoff and spline interpolation would cause out-of-bounds array accesses + int savedtabstyle = tabstyle; + tabstyle = LINEAR; uf_lookup(m, cutoff[m], u, mdu); offset[m] = u; + tabstyle = savedtabstyle; } /* ---------------------------------------------------------------------- From 0dcb591ee8ee7c2589d0dfb6b65314f239d4156a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Feb 2023 23:31:04 -0500 Subject: [PATCH 124/448] add support to create tables for fix wall/table --- tools/tabulate/tabulate.py | 47 +++++++++++++++++ tools/tabulate/wall_harmonic_tabulate.py | 25 +++++++++ tools/tabulate/wall_multi_tabulate.py | 64 ++++++++++++++++++++++++ 3 files changed, 136 insertions(+) create mode 100755 tools/tabulate/wall_harmonic_tabulate.py create mode 100755 tools/tabulate/wall_multi_tabulate.py diff --git a/tools/tabulate/tabulate.py b/tools/tabulate/tabulate.py index 3bba7c2ecf..c3cb3a256f 100755 --- a/tools/tabulate/tabulate.py +++ b/tools/tabulate/tabulate.py @@ -279,6 +279,53 @@ class DihedralTabulate(Tabulate): if self.args.filename != '-': self.fp.close() +################################################################################ +# create tabulation for fix wall/table +class WallTabulate(Tabulate): + def __init__(self, efunc, ffunc=None, units=None, comment=None): + super(WallTabulate, self).__init__('wall', efunc, ffunc, units, comment) + self.parser.add_argument('--eshift', '-e', dest='eshift', default=False, + action='store_true', + help="Shift potential energy to be zero at outer cutoff") + idx = [a.dest for a in self.parser._actions].index('xmin') + self.parser._actions[idx].required=False + self.parser._actions[idx].default=0.0 + try: + self.args = self.parser.parse_args() + except argparse.ArgumentError: + sys.exit() + + def run(self, label): + # sanity checks + if self.args.num < 2: + self.helpexit('Expect 2 or more points in table for tabulation') + if self.args.xmin < 0.0: + self.helpexit('Inner cutoff must not be negative') + + self.diff = self.args.diff + if not self.forcefunc: + self.diff = True + + table, xzero = mktable(self.tstyle, label, self.args.num, self.args.xmin, self.args.xmax, + self.energyfunc, self.args.diff, self.forcefunc) + print("# Minimum energy of tabulated potential is at %g" % xzero) + offset = 0.0 + if self.args.eshift: + offset=self.energyfunc(self.args.xmax) + + self.openfile(label) + + if self.forcefunc: + diffmin = -numdiff(self.args.xmin, self.forcefunc) + diffmax = -numdiff(self.args.xmax, self.forcefunc) + self.fp.write("N %d FP %- 22.15g %- 22.15g\n\n" % (self.args.num, diffmin, diffmax)) + else: + self.fp.write("N %d\n\n" % (self.args.num)) + + self.writetable(table, offset) + if self.args.filename != '-': + self.fp.close() + ################################################################################ if __name__ == "__main__": sys.exit("The tabulate module is not meant to be executed directly") diff --git a/tools/tabulate/wall_harmonic_tabulate.py b/tools/tabulate/wall_harmonic_tabulate.py new file mode 100755 index 0000000000..9424856dbf --- /dev/null +++ b/tools/tabulate/wall_harmonic_tabulate.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python + +from tabulate import WallTabulate + +################################################################################ +import math + +k = 100.0 +rzero = 4.0 + +def harmonic_force(r): + dr = r - rzero + f = -2.0 * k * dr + return f + +def harmonic_energy(r): + dr = r - rzero + f = k * dr * dr + return f + +################################################################################ + +if __name__ == "__main__": + wtable = WallTabulate(harmonic_energy, harmonic_force, units='real') + wtable.run('HARMONIC') diff --git a/tools/tabulate/wall_multi_tabulate.py b/tools/tabulate/wall_multi_tabulate.py new file mode 100755 index 0000000000..0458a929e2 --- /dev/null +++ b/tools/tabulate/wall_multi_tabulate.py @@ -0,0 +1,64 @@ +#!/usr/bin/env python + +from tabulate import WallTabulate +import os, sys +################################################################################ +import math + +k = 100.0 +rzero = 4.0 +epsilon = 0.02 +sigma = 2.0 +depth = 20.0 +width = 2.0 +rzero = 1.2 + +def harmonic_force(r): + dr = r - rzero + f = -2.0 * k * dr + return f + +def harmonic_energy(r): + dr = r - rzero + f = k * dr * dr + return f + +def lj126_force(r): + f = -4.0*epsilon*(-12.0*math.pow(sigma/r,12.0)/r + 6.0*math.pow(sigma/r,6.0)/r) + return f + +def lj126_energy(r): + f = 4.0*epsilon*(math.pow(sigma/r,12.0) - math.pow(sigma/r,6.0)) + return f + +def morse_energy(r): + ralpha = math.exp(-width*(r-rzero)) + f = depth * (-1.0 + (1.0 - ralpha) * (1.0 - ralpha)) + return f + +def morse_force(r): + ralpha = math.exp(-width*(r-rzero)) + f = -2.0 * depth * width * (1.0 -ralpha) * ralpha + return f + + +################################################################################ + +if __name__ == "__main__": + fname = 'walltab.dat' + if os.path.exists(fname): + os.remove(fname) + sys.argv.append('--filename') + sys.argv.append(fname) + sys.argv.append('--num-points') + sys.argv.append('1000') + sys.argv.append('--inner') + sys.argv.append('0.02') + sys.argv.append('--outer') + sys.argv.append('4.0') + wtable = WallTabulate(harmonic_energy, harmonic_force, units='real') + wtable.run('HARMONIC') + wtable = WallTabulate(lj126_energy, lj126_force, units='real') + wtable.run('LJ126') + wtable = WallTabulate(morse_energy, morse_force, units='real') + wtable.run('MORSE') From ec87c71064ca25172d5b6385b7c4093169434b4d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 23 Feb 2023 00:28:58 -0500 Subject: [PATCH 125/448] add documentation for fix wall/lepton, fix wall/table and WallTabulate() --- doc/src/Commands_fix.rst | 2 + doc/src/Tools.rst | 3 +- doc/src/fix.rst | 2 + doc/src/fix_wall.rst | 257 +++++++++++++++----- doc/utils/sphinx-config/false_positives.txt | 1 + tools/tabulate/README.md | 18 +- tools/tabulate/wall_multi_tabulate.py | 10 +- 7 files changed, 224 insertions(+), 69 deletions(-) diff --git a/doc/src/Commands_fix.rst b/doc/src/Commands_fix.rst index 63adc56ed3..5c164c8f0a 100644 --- a/doc/src/Commands_fix.rst +++ b/doc/src/Commands_fix.rst @@ -263,6 +263,7 @@ OPT. * :doc:`wall/lj1043 ` * :doc:`wall/lj126 ` * :doc:`wall/lj93 (k) ` + * :doc:`wall/lepton ` * :doc:`wall/morse ` * :doc:`wall/piston ` * :doc:`wall/reflect (k) ` @@ -270,4 +271,5 @@ OPT. * :doc:`wall/region ` * :doc:`wall/region/ees ` * :doc:`wall/srd ` + * :doc:`wall/table ` * :doc:`widom ` diff --git a/doc/src/Tools.rst b/doc/src/Tools.rst index 20e3d2c094..2eae1aabc7 100644 --- a/doc/src/Tools.rst +++ b/doc/src/Tools.rst @@ -320,7 +320,8 @@ eam generate tool ----------------------------- The tools/eam_generate directory contains several one-file C programs -that convert an analytic formula into a tabulated :doc:`embedded atom method (EAM) ` setfl potential file. The potentials they +that convert an analytic formula into a tabulated :doc:`embedded atom +method (EAM) ` setfl potential file. The potentials they produce are in the potentials directory, and can be used with the :doc:`pair_style eam/alloy ` command. diff --git a/doc/src/fix.rst b/doc/src/fix.rst index 0a926d570c..ec5922163c 100644 --- a/doc/src/fix.rst +++ b/doc/src/fix.rst @@ -415,6 +415,7 @@ accelerated styles exist. * :doc:`wall/lj1043 ` - Lennard-Jones 10--4--3 wall * :doc:`wall/lj126 ` - Lennard-Jones 12--6 wall * :doc:`wall/lj93 ` - Lennard-Jones 9--3 wall +* :doc:`wall/lepton ` - Custom Lepton expression wall * :doc:`wall/morse ` - Morse potential wall * :doc:`wall/piston ` - moving reflective piston wall * :doc:`wall/reflect ` - reflecting wall(s) @@ -422,6 +423,7 @@ accelerated styles exist. * :doc:`wall/region ` - use region surface as wall * :doc:`wall/region/ees ` - use region surface as wall for ellipsoidal particles * :doc:`wall/srd ` - slip/no-slip wall for SRD particles +* :doc:`wall/table ` - Tabulated potential wall wall * :doc:`widom ` - Widom insertions of atoms or molecules Restrictions diff --git a/doc/src/fix_wall.rst b/doc/src/fix_wall.rst index 9f20470bbc..7b38b6035c 100644 --- a/doc/src/fix_wall.rst +++ b/doc/src/fix_wall.rst @@ -4,7 +4,9 @@ .. index:: fix wall/lj1043 .. index:: fix wall/colloid .. index:: fix wall/harmonic +.. index:: fix wall/lepton .. index:: fix wall/morse +.. index:: fix wall/table fix wall/lj93 command ===================== @@ -23,20 +25,31 @@ fix wall/colloid command fix wall/harmonic command ========================= +fix wall/lepton command +========================= + fix wall/morse command ====================== +fix wall/table command +========================= + Syntax """""" .. parsed-literal:: - fix ID group-ID style face args ... keyword value ... + fix ID group-ID style [tabstyle] [N] face args ... keyword value ... * ID, group-ID are documented in :doc:`fix ` command -* style = *wall/lj93* or *wall/lj126* or *wall/lj1043* or *wall/colloid* or *wall/harmonic* or *wall/morse* +* style = *wall/lj93* or *wall/lj126* or *wall/lj1043* or *wall/colloid* or *wall/harmonic* or *wall/lepton* or *wall/morse* or *wall/table* +* tabstyle = *linear* or *spline* = method of table interpolation (only applies to *wall/table*) +* N = use N values in *linear* or *spline* interpolation (only applies to *wall/table*) * one or more face/arg pairs may be appended * face = *xlo* or *xhi* or *ylo* or *yhi* or *zlo* or *zhi* + +.. spacer + * args for styles *lj93* or *lj126* or *lj1043* or *colloid* or *harmonic* .. parsed-literal:: @@ -50,7 +63,19 @@ Syntax epsilon can be a variable (see below) sigma = size factor for wall-particle interaction (distance units) sigma can be a variable (see below) - cutoff = distance from wall at which wall-particle interaction is cut off (distance units) + cutoff = distance from wall at which wall-particle interactions are cut off (distance units) + +* args for style *lepton* + + .. parsed-literal:: + + args = coord expression cutoff + coord = position of wall = EDGE or constant or variable + EDGE = current lo or hi edge of simulation box + constant = number like 0.0 or -30.0 (distance units) + variable = :doc:`equal-style variable ` like v_x or v_wiggle + expression = Lepton expression for the potential (energy units) + cutoff = distance from wall at which wall-particle interactions are cut off (distance units) * args for style *morse* @@ -67,7 +92,20 @@ Syntax alpha can be a variable (see below) r_0 = distance of the potential minimum from the face of region (distance units) r_0 can be a variable (see below) - cutoff = distance from wall at which wall-particle interaction is cut off (distance units) + cutoff = distance from wall at which wall-particle interactions are cut off (distance units) + +* args for style *table* + + .. parsed-literal:: + + args = coord filename keyword cutoff + coord = position of wall = EDGE or constant or variable + EDGE = current lo or hi edge of simulation box + constant = number like 0.0 or -30.0 (distance units) + variable = :doc:`equal-style variable ` like v_x or v_wiggle + filename = file containing tabulated energy and force values + keyword = section identifier to select a specific table in table file + cutoff = distance from wall at which wall-particle interactions are cut off (distance units) * zero or more keyword/value pairs may be appended * keyword = *units* or *fld* or *pbc* @@ -91,9 +129,13 @@ Examples fix wallhi all wall/lj93 xlo -1.0 1.0 1.0 2.5 units box fix wallhi all wall/lj93 xhi EDGE 1.0 1.0 2.5 + fix wallhi all wall/harmonic xhi EDGE 100.0 0.0 4.0 units box fix wallhi all wall/morse xhi EDGE 1.0 1.0 1.0 2.5 units box fix wallhi all wall/lj126 v_wiggle 23.2 1.0 1.0 2.5 fix zwalls all wall/colloid zlo 0.0 1.0 1.0 0.858 zhi 40.0 1.0 1.0 0.858 + fix xwall mobile wall/table spline 200 EDGE -5.0 walltab.dat HARMONIC 4.0 + fix xwalls mobile wall/lepton xlo -5.0 "k*(r-rc)^2;k=100.0" 4.0 xhi 5.0 "k*(r-rc)^2;k=100.0" 4.0 + Description """"""""""" @@ -103,7 +145,7 @@ wall that interacts with the atoms in the group by generating a force on the atom in a direction perpendicular to the wall. The energy of wall-particle interactions depends on the style. -For style *wall/lj93*, the energy E is given by the 9/3 potential: +For style *wall/lj93*, the energy E is given by the 9-3 Lennard-Jones potential: .. math:: @@ -111,7 +153,7 @@ For style *wall/lj93*, the energy E is given by the 9/3 potential: \left(\frac{\sigma}{r}\right)^3 \right] \qquad r < r_c -For style *wall/lj126*, the energy E is given by the 12/6 potential: +For style *wall/lj126*, the energy E is given by the 12-6 Lennard-Jones potential: .. math:: @@ -119,7 +161,7 @@ For style *wall/lj126*, the energy E is given by the 12/6 potential: \left(\frac{\sigma}{r}\right)^6 \right] \qquad r < r_c -For style *wall/lj1043*, the energy E is given by the 10/4/3 potential: +For style *wall/lj1043*, the energy E is given by the 10-4-3 Lennard-Jones potential: .. math:: @@ -138,8 +180,8 @@ of the :doc:`pair_style colloid ` potential: & \left. - \frac{1}{6} \left(\frac{2R(D+R) + D(D+2R) \left[ \ln D - \ln (D+2R) \right]}{D(D+2R)} \right) \right] \qquad r < r_c -For style *wall/harmonic*, the energy E is given by a harmonic spring -potential: +For style *wall/harmonic*, the energy E is given by a repulsive-only harmonic +spring potential: .. math:: @@ -152,6 +194,56 @@ For style *wall/morse*, the energy E is given by a Morse potential: E = D_0 \left[ e^{- 2 \alpha (r - r_0)} - 2 e^{- \alpha (r - r_0)} \right] \qquad r < r_c +For style *wall/lepton*, the energy E is provided as an Lepton +expression string using "r" as the distance variable. The `Lepton +library `_, that the *wall/lepton* +style interfaces with, evaluates this expression string at run time to +compute the wall-particle energy. It also creates an analytical +representation of the first derivative of this expression with respect +to "r" and then uses that to compute the force between the wall and +atoms in the fix group. The Lepton expression must be either enclosed +in quotes or must not contain any whitespace so that LAMMPS recognizes +it as a single keyword. + +Optionally, the expression may use "rc" to refer to the cutoff distance +for the given wall. Further constants in the expression can be defined +in the same string as additional expressions separated by semi-colons. +The expression "k*(r-rc)^2;k=100.0" represents a repulsive-only harmonic +spring as in fix *wall/harmonic* with a force constant *K* (same as +:math:`\epsilon` above) of 100 energy units. More details on the Lepton +expression strings are given below. + +For style *wall/table*, the energy E and forces are determined from +interpolation tables listed in one or more files as a function of +distance. The interpolation tables are used to evaluate energy and +forces between particles and the wall similar to how analytic formulas +are used for the other wall styles. + +The interpolation tables are created as a pre-computation by fitting +cubic splines to the file values and interpolating energy and force +values at each of *N* distances. During a simulation, the tables are +used to interpolate energy and force values as needed for each wall and +particle separated by a distance *R*\ . The interpolation is done in +one of two styles: *linear* or *spline*\ . + +For the *linear* style, the distance *R* is used to find the 2 +surrounding table values from which an energy or force is computed by +linear interpolation. + +For the *spline* style, cubic spline coefficients are computed and +stored for each of the *N* values in the table, one set of splines for +energy, another for force. Note that these splines are different than +the ones used to pre-compute the *N* values. Those splines were fit +to the *Nfile* values in the tabulated file, where often *Nfile* < +*N*\ . The distance *R* is used to find the appropriate set of spline +coefficients which are used to evaluate a cubic polynomial which +computes the energy or force. + +For each wall a filename and a keyword must be provided as in the +examples above. The filename specifies a file containing tabulated +energy and force values. The keyword specifies a section of the file. +The format of this file is described below. + In all cases, *r* is the distance from the particle to the wall at position *coord*, and :math:`r_c` is the *cutoff* distance at which the particle and wall no longer interact. The energy of the wall @@ -180,11 +272,12 @@ box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent wall position. See examples below. For the *wall/lj93* and *wall/lj126* and *wall/lj1043* styles, -:math:`\epsilon` and :math:`\sigma` are the usual Lennard-Jones parameters, which -determine the strength and size of the particle as it interacts with -the wall. Epsilon has energy units. Note that this :math:`\epsilon` and -:math:`\sigma` may be different than any :math:`\epsilon` or :math:`\sigma` values defined -for a pair style that computes particle-particle interactions. +:math:`\epsilon` and :math:`\sigma` are the usual Lennard-Jones +parameters, which determine the strength and size of the particle as it +interacts with the wall. Epsilon has energy units. Note that this +:math:`\epsilon` and :math:`\sigma` may be different than any +:math:`\epsilon` or :math:`\sigma` values defined for a pair style that +computes particle-particle interactions. The *wall/lj93* interaction is derived by integrating over a 3d half-lattice of Lennard-Jones 12/6 particles. The *wall/lj126* @@ -207,11 +300,11 @@ are the number density of the constituent particles, in the wall and colloid respectively, in units of 1/volume. The *wall/colloid* interaction is derived by integrating over -constituent LJ particles of size :math:`\sigma` within the colloid particle -and a 3d half-lattice of Lennard-Jones 12/6 particles of size :math:`\sigma` -in the wall. As mentioned in the preceding paragraph, the density of -particles in the wall and colloid can be different, as specified by -the :math:`\epsilon` prefactor. +constituent LJ particles of size :math:`\sigma` within the colloid +particle and a 3d half-lattice of Lennard-Jones 12/6 particles of size +:math:`\sigma` in the wall. As mentioned in the preceding paragraph, +the density of particles in the wall and colloid can be different, as +specified by the :math:`\epsilon` prefactor. For the *wall/harmonic* style, :math:`\epsilon` is effectively the spring constant K, and has units (energy/distance\^2). The input parameter @@ -220,20 +313,21 @@ spring is at the *cutoff*\ . This is a repulsive-only spring since the interaction is truncated at the *cutoff* For the *wall/morse* style, the three parameters are in this order: -:math:`D_0` the depth of the potential, :math:`\alpha` the width parameter, and -:math:`r_0` the location of the minimum. :math:`D_0` has energy units, :math:`\alpha` -inverse distance units, and :math:`r_0` distance units. +:math:`D_0` the depth of the potential, :math:`\alpha` the width +parameter, and :math:`r_0` the location of the minimum. :math:`D_0` has +energy units, :math:`\alpha` inverse distance units, and :math:`r_0` +distance units. -For any wall, the :math:`\epsilon` and/or :math:`\sigma` and/or :math:`\alpha` parameter can -be specified -as an :doc:`equal-style variable `, in which case it should be +For any wall that supports them, the :math:`\epsilon` and/or +:math:`\sigma` and/or :math:`\alpha` parameter can be specified as an +:doc:`equal-style variable `, in which case it should be specified as v_name, where name is the variable name. As with a -variable wall position, the variable is evaluated each timestep and -the result becomes the current epsilon or sigma of the wall. -Equal-style variables can specify formulas with various mathematical -functions, and include :doc:`thermo_style ` command -keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent wall interaction. +variable wall position, the variable is evaluated each timestep and the +result becomes the current epsilon or sigma of the wall. Equal-style +variables can specify formulas with various mathematical functions, and +include :doc:`thermo_style ` command keywords for the +simulation box parameters and timestep and elapsed time. Thus it is +easy to specify a time-dependent wall interaction. .. note:: @@ -266,20 +360,19 @@ define the lattice spacings. The *fld* keyword can be used with a *yes* setting to invoke the wall constraint before pairwise interactions are computed. This allows an implicit FLD model using :doc:`pair_style lubricateU ` -to include the wall force in its calculations. If the setting is -*no*, wall forces are imposed after pairwise interactions, in the -usual manner. +to include the wall force in its calculations. If the setting is *no*, +wall forces are imposed after pairwise interactions, in the usual +manner. -The *pbc* keyword can be used with a *yes* setting to allow walls to -be specified in a periodic dimension. See the -:doc:`boundary ` command for options on simulation box -boundaries. The default for *pbc* is *no*, which means the system -must be non-periodic when using a wall. But you may wish to use a -periodic box. E.g. to allow some particles to interact with the wall -via the fix group-ID, and others to pass through it and wrap around a -periodic box. In this case you should ensure that the wall if -sufficiently far enough away from the box boundary. If you do not, -then particles may interact with both the wall and with periodic +The *pbc* keyword can be used with a *yes* setting to allow walls to be +specified in a periodic dimension. See the :doc:`boundary ` +command for options on simulation box boundaries. The default for *pbc* +is *no*, which means the system must be non-periodic when using a wall. +But you may wish to use a periodic box. E.g. to allow some particles to +interact with the wall via the fix group-ID, and others to pass through +it and wrap around a periodic box. In this case you should ensure that +the wall if sufficiently far enough away from the box boundary. If you +do not, then particles may interact with both the wall and with periodic images on the other side of the box, which is probably not what you want. @@ -328,6 +421,57 @@ perturbation on the particles: ---------- +.. include:: lepton_expression.rst + +---------- + +Table file format +""""""""""""""""" + +Suitable tables for use with fix *wall/table* can be created by the +Python code in the ``tools/tabulate`` folder of the LAMMPS source code +distribution. + +The format of a tabulated file is as follows (without the parenthesized +comments): + +.. parsed-literal:: + + # Tabulated wall potential UNITS: real + + HARMONIC (keyword is the first text on a line) + N 100 FP 200 200 + (blank line) + 1 0.04 1568.16 792.00 (index, distance to wall, energy, force) + 2 0.08 1536.64 784.00 + 3 0.12 1505.44 776.00 + ... + 99 3.96 0.16 8.00 + 100 4.00 0 0 + +A section begins with a non-blank line whose first character is not a +"#"; blank lines or lines starting with "#" can be used as comments +between sections. The first line begins with a keyword which identifies +the section. The line can contain additional text, but the initial text +must match the argument specified in the fix *wall/table* command. The +next line lists (in any order) one or more parameters for the table. +Each parameter is a keyword followed by one or more numeric values. + +The parameter "N" is required and its value is the number of table +entries that follow. Note that this may be different than the *N* +specified in the fix *wall/table* command. Let Ntable = *N* in the fix +command, and Nfile = "N" in the tabulated file. What LAMMPS does is a +preliminary interpolation by creating splines using the Nfile tabulated +values as nodal points. It uses these to interpolate as needed to +generate energy and force values at Ntable different points. The +resulting tables of length Ntable are then used as described above, when +computing energy and force for wall-particle interactions. This means that +if you want the interpolation tables of length Ntable to match exactly +what is in the tabulated file (with effectively no preliminary +interpolation), you should set Ntable = Nfile. + +---------- + Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" @@ -354,16 +498,15 @@ fix. This allows to set at which level of the :doc:`r-RESPA ` integrator the fix is adding its forces. Default is the outermost level. -This fix computes a global scalar energy and a global vector of -forces, which can be accessed by various :doc:`output commands -`. Note that the scalar energy is the sum of -interactions with all defined walls. If you want the energy on a -per-wall basis, you need to use multiple fix wall commands. The -length of the vector is equal to the number of walls defined by the -fix. Each vector value is the normal force on a specific wall. Note -that an outward force on a wall will be a negative value for *lo* -walls and a positive value for *hi* walls. The scalar and vector -values calculated by this fix are "extensive". +This fix computes a global scalar energy and a global vector of forces, +which can be accessed by various :doc:`output commands `. +Note that the scalar energy is the sum of interactions with all defined +walls. If you want the energy on a per-wall basis, you need to use +multiple fix wall commands. The length of the vector is equal to the +number of walls defined by the fix. Each vector value is the normal +force on a specific wall. Note that an outward force on a wall will be +a negative value for *lo* walls and a positive value for *hi* walls. +The scalar and vector values calculated by this fix are "extensive". No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run ` command. @@ -386,7 +529,11 @@ invoked by the :doc:`minimize ` command. Restrictions """""""""""" - none + +Fix *wall/lepton* is part of the LEPTON package and only enabled if +LAMMPS was built with this package. See the :doc:`Build package +` page for more info. + Related commands """""""""""""""" diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index fdacbf9c4c..d03300439f 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -3487,6 +3487,7 @@ sz Sz Tabbernor tabinner +tabstyle Tadmor Tafipolsky tagID diff --git a/tools/tabulate/README.md b/tools/tabulate/README.md index fb23e260a1..6f63d03a80 100644 --- a/tools/tabulate/README.md +++ b/tools/tabulate/README.md @@ -6,13 +6,14 @@ table, and angle style table To create tables, you need to define your energy and - optionally - force functions and then an instance of either the PairTabulate(), -BondTabulate(), AngleTabulate(), or DihedralTabulate() class from the -tabulate module and call its run() method to generate the table. Most -of the settings (number of points, minimum, maximum etc.) are provided -as command line flags. The run() method may be called multiple times to -generate multiple tables, for instance after changing parameters of the -energy/force functions. If the force function is not provided, the -force will be determined through numerical differentiation. +BondTabulate(), AngleTabulate(), DihedralTabulate(), or WallTabulate() +class from the tabulate module and call its run() method to generate the +table. Most of the settings (number of points, minimum, maximum etc.) +are provided as command line flags. The run() method may be called +multiple times to generate multiple tables, for instance after changing +parameters of the energy/force functions. If the force function is not +provided, the force will be determined from the energy function through +numerical differentiation. Please see the individual tabulation scripts in this folder for examples: @@ -24,7 +25,8 @@ Please see the individual tabulation scripts in this folder for examples: | angle_harmonic_tabulate.py | creates a table for a harmonic angle potential table | | dihedral_harmonic_tabulate.py | creates a table for a harmonic dihedral potential table | | pair_hybrid_tabulate.py | creates a Morse/Lennard-Jones hybrid potential table with smooth switching | -| pair_zbladd_tabulate.py | creates a table for hybrid/overlay to use ZBL repulsion with an EAM potential | +| wall_harmonic_tabulate.py | creates a table for fix wall/table with a simple repulsive harmonic potential | +| wall_multi_tabulate.py | creates a table for fix wall/table with multiple tables | | ------------------------------|-------------------------------------------------------------------------------| Common command line flags: diff --git a/tools/tabulate/wall_multi_tabulate.py b/tools/tabulate/wall_multi_tabulate.py index 0458a929e2..b1b4aa6cbf 100755 --- a/tools/tabulate/wall_multi_tabulate.py +++ b/tools/tabulate/wall_multi_tabulate.py @@ -11,7 +11,7 @@ epsilon = 0.02 sigma = 2.0 depth = 20.0 width = 2.0 -rzero = 1.2 +r0 = 1.2 def harmonic_force(r): dr = r - rzero @@ -32,12 +32,12 @@ def lj126_energy(r): return f def morse_energy(r): - ralpha = math.exp(-width*(r-rzero)) + ralpha = math.exp(-width*(r-r0)) f = depth * (-1.0 + (1.0 - ralpha) * (1.0 - ralpha)) return f def morse_force(r): - ralpha = math.exp(-width*(r-rzero)) + ralpha = math.exp(-width*(r-r0)) f = -2.0 * depth * width * (1.0 -ralpha) * ralpha return f @@ -51,9 +51,9 @@ if __name__ == "__main__": sys.argv.append('--filename') sys.argv.append(fname) sys.argv.append('--num-points') - sys.argv.append('1000') + sys.argv.append('100') sys.argv.append('--inner') - sys.argv.append('0.02') + sys.argv.append('0.04') sys.argv.append('--outer') sys.argv.append('4.0') wtable = WallTabulate(harmonic_energy, harmonic_force, units='real') From b314f73ef466bee49cc22ba648d4e9744569c5f5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 23 Feb 2023 00:29:57 -0500 Subject: [PATCH 126/448] update .gitignore and fix typo in doc makefile --- doc/Makefile | 2 +- src/.gitignore | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/Makefile b/doc/Makefile index a8e2ba5300..ad80017b7e 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -214,7 +214,7 @@ style_check : $(VENV) package_check : $(VENV) @(\ - . $(VENV)/bin/activate ; env PYTHONWARNINGS= PYTHONDONTWRITEBYTECODE=1 \\ + . $(VENV)/bin/activate ; env PYTHONWARNINGS= PYTHONDONTWRITEBYTECODE=1 \ python utils/check-packages.py -s ../src -d src ;\ deactivate ;\ ) diff --git a/src/.gitignore b/src/.gitignore index 22cb5f1ee0..c49992c53e 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -62,6 +62,8 @@ /angle_lepton.h /dihedral_lepton.cpp /dihedral_lepton.h +/fix_wall_lepton.cpp +/fix_wall_lepton.h /lepton_utils.cpp /lepton_utils.h From 34430c1047dcce1cc67c2d2c925b4a2023423e74 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 23 Feb 2023 00:57:41 -0500 Subject: [PATCH 127/448] add unit tests for fix wall/lepton and fix wall/table --- .../tests/fix-timestep-wall_lepton_const.yaml | 82 +++++++ .../tests/fix-timestep-wall_table_linear.yaml | 82 +++++++ .../tests/fix-timestep-wall_table_spline.yaml | 82 +++++++ unittest/force-styles/tests/wall.table | 204 ++++++++++++++++++ 4 files changed, 450 insertions(+) create mode 100644 unittest/force-styles/tests/fix-timestep-wall_lepton_const.yaml create mode 100644 unittest/force-styles/tests/fix-timestep-wall_table_linear.yaml create mode 100644 unittest/force-styles/tests/fix-timestep-wall_table_spline.yaml create mode 100644 unittest/force-styles/tests/wall.table diff --git a/unittest/force-styles/tests/fix-timestep-wall_lepton_const.yaml b/unittest/force-styles/tests/fix-timestep-wall_lepton_const.yaml new file mode 100644 index 0000000000..947bc6a95a --- /dev/null +++ b/unittest/force-styles/tests/fix-timestep-wall_lepton_const.yaml @@ -0,0 +1,82 @@ +--- +lammps_version: 8 Feb 2023 +date_generated: Thu Feb 23 00:40:51 2023 +epsilon: 4e-14 +skip_tests: +prerequisites: ! | + atom full + fix wall/lepton +pre_commands: ! | + boundary p f p +post_commands: ! | + fix move all nve + fix test solute wall/lepton ylo EDGE "k*(r-rc)^2;k=100.0" 5.0 yhi EDGE "k*(r-rc)^2;k=100.0" 5.0 + fix_modify test virial yes +input_file: in.fourmol +natoms: 29 +run_stress: ! |2- + 0.0000000000000000e+00 -7.2422093200265749e+02 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +global_scalar: 42.69977443532441 +global_vector: ! |- + 2 0 -161.92409617466126 +run_pos: ! |2 + 1 -2.7051715090682593e-01 2.4891718422041942e+00 -1.6687343912524535e-01 + 2 3.1037661579862175e-01 2.9347166386691113e+00 -8.5496435221221156e-01 + 3 -7.0402515865264603e-01 1.2304739304383521e+00 -6.2777422080240730e-01 + 4 -1.5818156002522876e+00 1.4837443919066966e+00 -1.2538703954644463e+00 + 5 -9.0719963033698159e-01 9.2651871779341399e-01 3.9954137559444142e-01 + 6 2.4831695467823400e-01 2.8312974957866005e-01 -1.2314232372542311e+00 + 7 3.4143527599853957e-01 -2.2646552136496162e-02 -2.5292291409504188e+00 + 8 1.1743552256787158e+00 -4.8863229191571117e-01 -6.3783432834416876e-01 + 9 1.3800524227031346e+00 -2.5274721005121037e-01 2.8353985882456578e-01 + 10 2.0510765220197009e+00 -1.4604063740411815e+00 -9.8323745080488900e-01 + 11 1.7878031944407509e+00 -1.9921863272886073e+00 -1.8890602447598965e+00 + 12 3.0063007038317027e+00 -4.9013350489718083e-01 -1.6231898106978369e+00 + 13 4.0515402959160571e+00 -8.9202011606485665e-01 -1.6400005529914481e+00 + 14 2.6066963345462244e+00 -4.1789253964874307e-01 -2.6634003608727506e+00 + 15 2.9695287185264685e+00 5.5422613167055734e-01 -1.2342022021669503e+00 + 16 2.6747029695037297e+00 -2.4124119054292041e+00 -2.3435746152831470e-02 + 17 2.2153577785010934e+00 -2.0897985186506944e+00 1.1963150794337314e+00 + 18 2.1369701704267587e+00 3.0158507413153752e+00 -3.5179348337454122e+00 + 19 1.5355837136075348e+00 2.6255292355297897e+00 -4.2353987779858038e+00 + 20 2.7727573003201997e+00 3.6923910440705336e+00 -3.9330842459619779e+00 + 21 4.9040128073837339e+00 -4.0752348170758461e+00 -3.6210314709795299e+00 + 22 4.3582355554510048e+00 -4.2126119427061379e+00 -4.4612844196307497e+00 + 23 5.7439382849366911e+00 -3.5821957939240279e+00 -3.8766361295959513e+00 + 24 2.0689243582618388e+00 3.1513346906720905e+00 3.1550389755134005e+00 + 25 1.3045351331892774e+00 3.2665125705550957e+00 2.5111855258151388e+00 + 26 2.5809237402747862e+00 4.0117602605470681e+00 3.2212060529139430e+00 + 27 -1.9611343130344261e+00 -4.3563411931314180e+00 2.1098293115505782e+00 + 28 -2.7473562684511403e+00 -4.0200819932374339e+00 1.5830052163432258e+00 + 29 -1.3126000191357743e+00 -3.5962518039473323e+00 2.2746342468733483e+00 +run_vel: ! |2 + 1 8.0432349631399738e-03 1.4401841389211066e-02 4.9594370365888983e-03 + 2 6.1330361195047721e-03 -2.0880295268721639e-02 -2.0467529305087918e-03 + 3 -8.3074380171099371e-03 -1.3074180712034015e-02 -4.0925567431707903e-03 + 4 -3.7694367867060264e-03 -6.5650784618522711e-03 -1.1170951231990144e-03 + 5 -1.1026343955717478e-02 -9.8958287307442973e-03 -2.8423479505575396e-03 + 6 -3.9677127674597606e-02 4.6816039080495052e-02 3.7148638820894170e-02 + 7 9.1033730239907995e-04 -1.0128528243740664e-02 -5.1568250829251872e-02 + 8 7.9064772413549398e-03 -3.3507427942055241e-03 3.4557101116794005e-02 + 9 1.5644169779778431e-03 3.7365552198096001e-03 1.5047408727814703e-02 + 10 2.9201446825927662e-02 -2.9249578944835361e-02 -1.5018077412006624e-02 + 11 -4.7835961594766378e-03 -3.7481385002840358e-03 -2.3464104088049835e-03 + 12 2.2696449755579846e-03 -3.4774139663753189e-04 -3.0640769495163746e-03 + 13 2.7531740375147718e-03 5.8171061651960147e-03 -7.9467453772151639e-04 + 14 3.5246182201851889e-03 -5.7939995452846414e-03 -3.9478431035191398e-03 + 15 -1.8547944555517633e-03 -5.8554729566882438e-03 6.2938485388423842e-03 + 16 1.8681499934669346e-02 -1.3262466149576239e-02 -4.5638651461858082e-02 + 17 -1.2896270037715950e-02 9.7527666092669853e-03 3.7296535331498307e-02 + 18 -8.0065791408039360e-04 -8.6270482947906296e-04 -1.4483041230016354e-03 + 19 1.2452390812060241e-03 -2.5061097279531195e-03 7.2998631045687393e-03 + 20 3.5930057934746205e-03 3.6938851526077724e-03 3.2322732077980833e-03 + 21 -1.4689219756964980e-03 -2.7352107824530941e-04 7.0581625180909957e-04 + 22 -7.0694199165145339e-03 -4.2577148692717511e-03 2.8079117911325202e-04 + 23 6.0446963236685169e-03 -1.4000131545098867e-03 2.5819754799379759e-03 + 24 3.1926371811980193e-04 -9.9445676110986579e-04 1.5000003249577114e-04 + 25 1.3789762510431792e-04 -4.4335895501596235e-03 -8.1808122106664959e-04 + 26 2.0485904106950169e-03 2.7813358601316649e-03 4.3245727251785661e-03 + 27 4.5604120562021738e-04 -1.0305522931717997e-03 2.1188058006115548e-04 + 28 -6.2544520854975905e-03 1.4127711193315927e-03 -1.8429821890767147e-03 + 29 6.4110631581209827e-04 3.1273432740202478e-03 3.7253671096581838e-03 +... diff --git a/unittest/force-styles/tests/fix-timestep-wall_table_linear.yaml b/unittest/force-styles/tests/fix-timestep-wall_table_linear.yaml new file mode 100644 index 0000000000..6291de136a --- /dev/null +++ b/unittest/force-styles/tests/fix-timestep-wall_table_linear.yaml @@ -0,0 +1,82 @@ +--- +lammps_version: 8 Feb 2023 +date_generated: Thu Feb 23 00:56:30 2023 +epsilon: 4e-14 +skip_tests: +prerequisites: ! | + atom full + fix wall/table +pre_commands: ! | + boundary p f p +post_commands: ! | + fix move all nve + fix test solute wall/table linear 2000 ylo EDGE ${input_dir}/wall.table HARMONIC 4.0 yhi EDGE ${input_dir}/wall.table HARMONIC 4.0 + fix_modify test virial yes +input_file: in.fourmol +natoms: 29 +run_stress: ! |2- + 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +global_scalar: 0 +global_vector: ! |- + 2 0 0 +run_pos: ! |2 + 1 -2.7045559775384032e-01 2.4912159905679729e+00 -1.6695851791541888e-01 + 2 3.1004029573899528e-01 2.9612354631094391e+00 -8.5466363037021464e-01 + 3 -7.0398551400789477e-01 1.2305509955830618e+00 -6.2777526944456274e-01 + 4 -1.5818159336499285e+00 1.4837407818929933e+00 -1.2538710836062004e+00 + 5 -9.0719763672789266e-01 9.2652103885675297e-01 3.9954210488374786e-01 + 6 2.4831720524855985e-01 2.8313021497871271e-01 -1.2314233331711453e+00 + 7 3.4143527641386412e-01 -2.2646551041391422e-02 -2.5292291414903052e+00 + 8 1.1743552229100009e+00 -4.8863228565853950e-01 -6.3783432910825522e-01 + 9 1.3800524229500313e+00 -2.5274721030406683e-01 2.8353985887095157e-01 + 10 2.0510765220543883e+00 -1.4604063740302866e+00 -9.8323745081712954e-01 + 11 1.7878031944442556e+00 -1.9921863272948861e+00 -1.8890602447625777e+00 + 12 3.0063007039340053e+00 -4.9013350496963298e-01 -1.6231898107386231e+00 + 13 4.0515402959192999e+00 -8.9202011606653986e-01 -1.6400005529924957e+00 + 14 2.6066963345543819e+00 -4.1789253965514156e-01 -2.6634003608794394e+00 + 15 2.9695287185712913e+00 5.5422613165234025e-01 -1.2342022021790127e+00 + 16 2.6747029695228521e+00 -2.4124119054564295e+00 -2.3435746150616152e-02 + 17 2.2153577785283796e+00 -2.0897985186907717e+00 1.1963150794479436e+00 + 18 2.1369701704080528e+00 3.0158507413593689e+00 -3.5179348337197793e+00 + 19 1.5355837136080202e+00 2.6255292355367410e+00 -4.2353987779869007e+00 + 20 2.7727573003170809e+00 3.6923910440725227e+00 -3.9330842459580020e+00 + 21 4.9040128073837339e+00 -4.0752348170758461e+00 -3.6210314709795299e+00 + 22 4.3582355554510048e+00 -4.2126119427061379e+00 -4.4612844196307497e+00 + 23 5.7439382849366911e+00 -3.5821957939240279e+00 -3.8766361295959513e+00 + 24 2.0689243582422630e+00 3.1513346907271012e+00 3.1550389754828800e+00 + 25 1.3045351331492134e+00 3.2665125705842848e+00 2.5111855257433504e+00 + 26 2.5809237402711274e+00 4.0117602605482832e+00 3.2212060529089896e+00 + 27 -1.9611343130357228e+00 -4.3563411931359752e+00 2.1098293115523705e+00 + 28 -2.7473562684513411e+00 -4.0200819932379330e+00 1.5830052163433954e+00 + 29 -1.3126000191359855e+00 -3.5962518039482929e+00 2.2746342468737835e+00 +run_vel: ! |2 + 1 8.1705744183262381e-03 1.6516406176274288e-02 4.7902264318912917e-03 + 2 5.4501493445687802e-03 5.1791699408496412e-03 -1.4372931530376625e-03 + 3 -8.2298292722385660e-03 -1.2926551614621376e-02 -4.0984181178163838e-03 + 4 -3.7699042590093549e-03 -6.5722892098813894e-03 -1.1184640360133316e-03 + 5 -1.1021961004346581e-02 -9.8906780939336057e-03 -2.8410737829284403e-03 + 6 -3.9676663166400034e-02 4.6817061464710256e-02 3.7148491979476124e-02 + 7 9.1033953013898666e-04 -1.0128524411938794e-02 -5.1568251805019748e-02 + 8 7.9064712058855742e-03 -3.3507254552631780e-03 3.4557098492564629e-02 + 9 1.5644176117320923e-03 3.7365546102722164e-03 1.5047408822037646e-02 + 10 2.9201446820573192e-02 -2.9249578745486147e-02 -1.5018077424322544e-02 + 11 -4.7835961513517542e-03 -3.7481385134185211e-03 -2.3464104142290089e-03 + 12 2.2696451841920681e-03 -3.4774154398130373e-04 -3.0640770327796979e-03 + 13 2.7531740451953164e-03 5.8171061612840502e-03 -7.9467454022160680e-04 + 14 3.5246182371994213e-03 -5.7939995585585529e-03 -3.9478431172751361e-03 + 15 -1.8547943640122950e-03 -5.8554729942777795e-03 6.2938485140538675e-03 + 16 1.8681499973445252e-02 -1.3262466204585334e-02 -4.5638651457003250e-02 + 17 -1.2896269981100378e-02 9.7527665265956451e-03 3.7296535360836762e-02 + 18 -8.0065795562956103e-04 -8.6270473963802124e-04 -1.4483040662692239e-03 + 19 1.2452390821512348e-03 -2.5061097135903924e-03 7.2998631029991060e-03 + 20 3.5930057870507443e-03 3.6938851567332597e-03 3.2322732161078646e-03 + 21 -1.4689219756961610e-03 -2.7352107824530291e-04 7.0581625180892197e-04 + 22 -7.0694199165145105e-03 -4.2577148692717545e-03 2.8079117911323598e-04 + 23 6.0446963236685230e-03 -1.4000131545098772e-03 2.5819754799379716e-03 + 24 3.1926367902287880e-04 -9.9445664749276221e-04 1.4999996959365317e-04 + 25 1.3789754514814532e-04 -4.4335894884532673e-03 -8.1808136725080173e-04 + 26 2.0485904035217588e-03 2.7813358633835962e-03 4.3245727149206761e-03 + 27 4.5604120293369840e-04 -1.0305523026921111e-03 2.1188058381358413e-04 + 28 -6.2544520861855151e-03 1.4127711176146879e-03 -1.8429821884794260e-03 + 29 6.4110631534402174e-04 3.1273432719593824e-03 3.7253671105656736e-03 +... diff --git a/unittest/force-styles/tests/fix-timestep-wall_table_spline.yaml b/unittest/force-styles/tests/fix-timestep-wall_table_spline.yaml new file mode 100644 index 0000000000..6c6c674342 --- /dev/null +++ b/unittest/force-styles/tests/fix-timestep-wall_table_spline.yaml @@ -0,0 +1,82 @@ +--- +lammps_version: 8 Feb 2023 +date_generated: Thu Feb 23 00:56:30 2023 +epsilon: 4e-14 +skip_tests: +prerequisites: ! | + atom full + fix wall/table +pre_commands: ! | + boundary p f p +post_commands: ! | + fix move all nve + fix test solute wall/table spline 200 ylo EDGE ${input_dir}/wall.table HARMONIC 4.0 yhi EDGE ${input_dir}/wall.table HARMONIC 4.0 + fix_modify test virial yes +input_file: in.fourmol +natoms: 29 +run_stress: ! |2- + 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +global_scalar: 0 +global_vector: ! |- + 2 0 0 +run_pos: ! |2 + 1 -2.7045559775384032e-01 2.4912159905679729e+00 -1.6695851791541888e-01 + 2 3.1004029573899528e-01 2.9612354631094391e+00 -8.5466363037021464e-01 + 3 -7.0398551400789477e-01 1.2305509955830618e+00 -6.2777526944456274e-01 + 4 -1.5818159336499285e+00 1.4837407818929933e+00 -1.2538710836062004e+00 + 5 -9.0719763672789266e-01 9.2652103885675297e-01 3.9954210488374786e-01 + 6 2.4831720524855985e-01 2.8313021497871271e-01 -1.2314233331711453e+00 + 7 3.4143527641386412e-01 -2.2646551041391422e-02 -2.5292291414903052e+00 + 8 1.1743552229100009e+00 -4.8863228565853950e-01 -6.3783432910825522e-01 + 9 1.3800524229500313e+00 -2.5274721030406683e-01 2.8353985887095157e-01 + 10 2.0510765220543883e+00 -1.4604063740302866e+00 -9.8323745081712954e-01 + 11 1.7878031944442556e+00 -1.9921863272948861e+00 -1.8890602447625777e+00 + 12 3.0063007039340053e+00 -4.9013350496963298e-01 -1.6231898107386231e+00 + 13 4.0515402959192999e+00 -8.9202011606653986e-01 -1.6400005529924957e+00 + 14 2.6066963345543819e+00 -4.1789253965514156e-01 -2.6634003608794394e+00 + 15 2.9695287185712913e+00 5.5422613165234025e-01 -1.2342022021790127e+00 + 16 2.6747029695228521e+00 -2.4124119054564295e+00 -2.3435746150616152e-02 + 17 2.2153577785283796e+00 -2.0897985186907717e+00 1.1963150794479436e+00 + 18 2.1369701704080528e+00 3.0158507413593689e+00 -3.5179348337197793e+00 + 19 1.5355837136080202e+00 2.6255292355367410e+00 -4.2353987779869007e+00 + 20 2.7727573003170809e+00 3.6923910440725227e+00 -3.9330842459580020e+00 + 21 4.9040128073837339e+00 -4.0752348170758461e+00 -3.6210314709795299e+00 + 22 4.3582355554510048e+00 -4.2126119427061379e+00 -4.4612844196307497e+00 + 23 5.7439382849366911e+00 -3.5821957939240279e+00 -3.8766361295959513e+00 + 24 2.0689243582422630e+00 3.1513346907271012e+00 3.1550389754828800e+00 + 25 1.3045351331492134e+00 3.2665125705842848e+00 2.5111855257433504e+00 + 26 2.5809237402711274e+00 4.0117602605482832e+00 3.2212060529089896e+00 + 27 -1.9611343130357228e+00 -4.3563411931359752e+00 2.1098293115523705e+00 + 28 -2.7473562684513411e+00 -4.0200819932379330e+00 1.5830052163433954e+00 + 29 -1.3126000191359855e+00 -3.5962518039482929e+00 2.2746342468737835e+00 +run_vel: ! |2 + 1 8.1705744183262381e-03 1.6516406176274288e-02 4.7902264318912917e-03 + 2 5.4501493445687802e-03 5.1791699408496412e-03 -1.4372931530376625e-03 + 3 -8.2298292722385660e-03 -1.2926551614621376e-02 -4.0984181178163838e-03 + 4 -3.7699042590093549e-03 -6.5722892098813894e-03 -1.1184640360133316e-03 + 5 -1.1021961004346581e-02 -9.8906780939336057e-03 -2.8410737829284403e-03 + 6 -3.9676663166400034e-02 4.6817061464710256e-02 3.7148491979476124e-02 + 7 9.1033953013898666e-04 -1.0128524411938794e-02 -5.1568251805019748e-02 + 8 7.9064712058855742e-03 -3.3507254552631780e-03 3.4557098492564629e-02 + 9 1.5644176117320923e-03 3.7365546102722164e-03 1.5047408822037646e-02 + 10 2.9201446820573192e-02 -2.9249578745486147e-02 -1.5018077424322544e-02 + 11 -4.7835961513517542e-03 -3.7481385134185211e-03 -2.3464104142290089e-03 + 12 2.2696451841920681e-03 -3.4774154398130373e-04 -3.0640770327796979e-03 + 13 2.7531740451953164e-03 5.8171061612840502e-03 -7.9467454022160680e-04 + 14 3.5246182371994213e-03 -5.7939995585585529e-03 -3.9478431172751361e-03 + 15 -1.8547943640122950e-03 -5.8554729942777795e-03 6.2938485140538675e-03 + 16 1.8681499973445252e-02 -1.3262466204585334e-02 -4.5638651457003250e-02 + 17 -1.2896269981100378e-02 9.7527665265956451e-03 3.7296535360836762e-02 + 18 -8.0065795562956103e-04 -8.6270473963802124e-04 -1.4483040662692239e-03 + 19 1.2452390821512348e-03 -2.5061097135903924e-03 7.2998631029991060e-03 + 20 3.5930057870507443e-03 3.6938851567332597e-03 3.2322732161078646e-03 + 21 -1.4689219756961610e-03 -2.7352107824530291e-04 7.0581625180892197e-04 + 22 -7.0694199165145105e-03 -4.2577148692717545e-03 2.8079117911323598e-04 + 23 6.0446963236685230e-03 -1.4000131545098772e-03 2.5819754799379716e-03 + 24 3.1926367902287880e-04 -9.9445664749276221e-04 1.4999996959365317e-04 + 25 1.3789754514814532e-04 -4.4335894884532673e-03 -8.1808136725080173e-04 + 26 2.0485904035217588e-03 2.7813358633835962e-03 4.3245727149206761e-03 + 27 4.5604120293369840e-04 -1.0305523026921111e-03 2.1188058381358413e-04 + 28 -6.2544520861855151e-03 1.4127711176146879e-03 -1.8429821884794260e-03 + 29 6.4110631534402174e-04 3.1273432719593824e-03 3.7253671105656736e-03 +... diff --git a/unittest/force-styles/tests/wall.table b/unittest/force-styles/tests/wall.table new file mode 100644 index 0000000000..5c2adedd39 --- /dev/null +++ b/unittest/force-styles/tests/wall.table @@ -0,0 +1,204 @@ +# DATE: 2023-02-23 UNITS: real +HARMONIC +N 200 FP 200.000000006796 200.000000002102 + + 1 0.02 1584.04 796 + 2 0.04 1568.16 792 + 3 0.06 1552.36 788 + 4 0.08 1536.64 784 + 5 0.1 1521 780 + 6 0.12 1505.44 776 + 7 0.14 1489.96 772 + 8 0.16 1474.56 768 + 9 0.18 1459.24 764 + 10 0.2 1444 760 + 11 0.22 1428.84 756 + 12 0.24 1413.76 752 + 13 0.26 1398.76 748 + 14 0.28 1383.84 744 + 15 0.3 1369 740 + 16 0.32 1354.24 736 + 17 0.34 1339.56 732 + 18 0.36 1324.96 728 + 19 0.38 1310.44 724 + 20 0.4 1296 720 + 21 0.42 1281.64 716 + 22 0.44 1267.36 712 + 23 0.46 1253.16 708 + 24 0.48 1239.04 704 + 25 0.5 1225 700 + 26 0.52 1211.04 696 + 27 0.54 1197.16 692 + 28 0.56 1183.36 688 + 29 0.58 1169.64 684 + 30 0.6 1156 680 + 31 0.62 1142.44 676 + 32 0.64 1128.96 672 + 33 0.66 1115.56 668 + 34 0.68 1102.24 664 + 35 0.7 1089 660 + 36 0.72 1075.84 656 + 37 0.74 1062.76 652 + 38 0.76 1049.76 648 + 39 0.78 1036.84 644 + 40 0.8 1024 640 + 41 0.82 1011.24 636 + 42 0.84 998.56 632 + 43 0.86 985.96 628 + 44 0.88 973.44 624 + 45 0.9 961 620 + 46 0.92 948.64 616 + 47 0.94 936.36 612 + 48 0.96 924.16 608 + 49 0.98 912.04 604 + 50 1 900 600 + 51 1.02 888.04 596 + 52 1.04 876.16 592 + 53 1.06 864.36 588 + 54 1.08 852.64 584 + 55 1.1 841 580 + 56 1.12 829.44 576 + 57 1.14 817.96 572 + 58 1.16 806.56 568 + 59 1.18 795.24 564 + 60 1.2 784 560 + 61 1.22 772.84 556 + 62 1.24 761.76 552 + 63 1.26 750.76 548 + 64 1.28 739.84 544 + 65 1.3 729 540 + 66 1.32 718.24 536 + 67 1.34 707.56 532 + 68 1.36 696.96 528 + 69 1.38 686.44 524 + 70 1.4 676 520 + 71 1.42 665.64 516 + 72 1.44 655.36 512 + 73 1.46 645.16 508 + 74 1.48 635.04 504 + 75 1.5 625 500 + 76 1.52 615.04 496 + 77 1.54 605.16 492 + 78 1.56 595.36 488 + 79 1.58 585.64 484 + 80 1.6 576 480 + 81 1.62 566.44 476 + 82 1.64 556.96 472 + 83 1.66 547.56 468 + 84 1.68 538.24 464 + 85 1.7 529 460 + 86 1.72 519.84 456 + 87 1.74 510.76 452 + 88 1.76 501.76 448 + 89 1.78 492.84 444 + 90 1.8 484 440 + 91 1.82 475.24 436 + 92 1.84 466.56 432 + 93 1.86 457.96 428 + 94 1.88 449.44 424 + 95 1.9 441 420 + 96 1.92 432.64 416 + 97 1.94 424.36 412 + 98 1.96 416.16 408 + 99 1.98 408.04 404 + 100 2 400 400 + 101 2.02 392.04 396 + 102 2.04 384.16 392 + 103 2.06 376.36 388 + 104 2.08 368.64 384 + 105 2.1 361 380 + 106 2.12 353.44 376 + 107 2.14 345.96 372 + 108 2.16 338.56 368 + 109 2.18 331.24 364 + 110 2.2 324 360 + 111 2.22 316.84 356 + 112 2.24 309.76 352 + 113 2.26 302.76 348 + 114 2.28 295.84 344 + 115 2.3 289 340 + 116 2.32 282.24 336 + 117 2.34 275.56 332 + 118 2.36 268.96 328 + 119 2.38 262.44 324 + 120 2.4 256 320 + 121 2.42 249.64 316 + 122 2.44 243.36 312 + 123 2.46 237.16 308 + 124 2.48 231.04 304 + 125 2.5 225 300 + 126 2.52 219.04 296 + 127 2.54 213.16 292 + 128 2.56 207.36 288 + 129 2.58 201.64 284 + 130 2.6 196 280 + 131 2.62 190.44 276 + 132 2.64 184.96 272 + 133 2.66 179.56 268 + 134 2.68 174.24 264 + 135 2.7 169 260 + 136 2.72 163.84 256 + 137 2.74 158.76 252 + 138 2.76 153.76 248 + 139 2.78 148.84 244 + 140 2.8 144 240 + 141 2.82 139.24 236 + 142 2.84 134.56 232 + 143 2.86 129.96 228 + 144 2.88 125.44 224 + 145 2.9 121 220 + 146 2.92 116.64 216 + 147 2.94 112.36 212 + 148 2.96 108.16 208 + 149 2.98 104.04 204 + 150 3 100 200 + 151 3.02 96.04 196 + 152 3.04 92.16 192 + 153 3.06 88.36 188 + 154 3.08 84.64 184 + 155 3.1 81 180 + 156 3.12 77.44 176 + 157 3.14 73.96 172 + 158 3.16 70.56 168 + 159 3.18 67.24 164 + 160 3.2 64 160 + 161 3.22 60.84 156 + 162 3.24 57.76 152 + 163 3.26 54.76 148 + 164 3.28 51.84 144 + 165 3.3 49 140 + 166 3.32 46.24 136 + 167 3.34 43.56 132 + 168 3.36 40.96 128 + 169 3.38 38.44 124 + 170 3.4 36 120 + 171 3.42 33.64 116 + 172 3.44 31.36 112 + 173 3.46 29.16 108 + 174 3.48 27.04 104 + 175 3.5 25 100 + 176 3.52 23.04 96 + 177 3.54 21.16 92 + 178 3.56 19.36 88 + 179 3.58 17.64 84 + 180 3.6 16 80 + 181 3.62 14.44 76 + 182 3.64 12.96 72 + 183 3.66 11.56 68 + 184 3.68 10.24 64 + 185 3.7 8.99999999999999 60 + 186 3.72 7.83999999999999 56 + 187 3.74 6.75999999999999 52 + 188 3.76 5.75999999999999 48 + 189 3.78 4.83999999999999 44 + 190 3.8 3.99999999999999 39.9999999999999 + 191 3.82 3.23999999999999 35.9999999999999 + 192 3.84 2.55999999999999 31.9999999999999 + 193 3.86 1.96 28 + 194 3.88 1.44 24 + 195 3.9 1 20 + 196 3.92 0.640000000000001 16 + 197 3.94 0.360000000000001 12 + 198 3.96 0.16 8.00000000000001 + 199 3.98 0.0400000000000001 4 + 200 4 0 -0 From 2e5bc2f6b7a379a1996cf7d83f9e028ee7434954 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 23 Feb 2023 01:09:44 -0500 Subject: [PATCH 128/448] add test example for validating custom potentials --- examples/wall/in.wall.lepton | 110 ++ examples/wall/in.wall.table | 129 ++ examples/wall/log.23Feb23.wall.lepton.g++.1 | 894 ++++++++++++++ examples/wall/log.23Feb23.wall.lepton.g++.4 | 894 ++++++++++++++ examples/wall/log.23Feb23.wall.table.g++.1 | 1131 +++++++++++++++++ examples/wall/log.23Feb23.wall.table.g++.4 | 1131 +++++++++++++++++ examples/wall/wall.inc | 16 + examples/wall/walltab.dat | 1212 +++++++++++++++++++ tools/tabulate/wall_multi_tabulate.py | 4 +- 9 files changed, 5519 insertions(+), 2 deletions(-) create mode 100644 examples/wall/in.wall.lepton create mode 100644 examples/wall/in.wall.table create mode 100644 examples/wall/log.23Feb23.wall.lepton.g++.1 create mode 100644 examples/wall/log.23Feb23.wall.lepton.g++.4 create mode 100644 examples/wall/log.23Feb23.wall.table.g++.1 create mode 100644 examples/wall/log.23Feb23.wall.table.g++.4 create mode 100644 examples/wall/wall.inc create mode 100644 examples/wall/walltab.dat diff --git a/examples/wall/in.wall.lepton b/examples/wall/in.wall.lepton new file mode 100644 index 0000000000..76d8e71f01 --- /dev/null +++ b/examples/wall/in.wall.lepton @@ -0,0 +1,110 @@ +units real +atom_style bond +boundary f p p +region box block -5.000000000000001 5.000000000000001 -5 5 -5 5 +create_box 1 box bond/types 1 extra/bond/per/atom 1 extra/special/per/atom 1 + +pair_style zero 5.0 +pair_coeff * * +mass * 1.0 +bond_style zero +bond_coeff * 1.0 + +create_atoms 1 single -4.0 0.0 0.0 +create_atoms 1 single 4.0 0.0 0.0 +create_atoms 1 single -5.0 0.0 0.0 +create_atoms 1 single 5.0 0.0 0.0 +create_bonds single/bond 1 3 1 +create_bonds single/bond 1 4 2 + +group move id 1:2 +write_restart walltest.restart + +variable name string wall-harmonic +include wall.inc + +fix 1 move wall/harmonic xlo -5.0 100 0.0 4.0 xhi 5.0 100 1.0 4.0 +fix_modify 1 energy yes +run 5 post no + +variable name string lepton-harmonic +include wall.inc + +fix 1 move wall/lepton xlo -5.0 "k*(r-rc)^2;k=100.0" 4.0 xhi 5.0 "k*(r-rc)^2;k=100.0" 4.0 +fix_modify 1 energy yes +run 5 post no + +variable name string bond-harmonic +include wall.inc + +bond_style harmonic +bond_coeff 1 100 4.0 +run 5 post no + +variable name string pair-harmonic +include wall.inc + +pair_style harmonic/cut +pair_coeff 1 1 100 4.0 +run 5 post no + +variable eps index 0.02 +variable sig index 2.0 +variable name string wall-lj126 +include wall.inc + +fix 1 move wall/lj126 xlo -5.0 ${eps} ${sig} 4.0 xhi 5.0 ${eps} ${sig} 4.0 +fix_modify 1 energy yes +run 5 post no + +variable name string lepton-lj126 +include wall.inc + +fix 1 move wall/lepton xlo -5.0 "4.0*epsilon*((sigma/r)^12 - (sigma/r)^6);epsilon=v_eps;sigma=v_sig" 4.0 & + xhi 5.0 "4.0*epsilon*((sigma/r)^12 - (sigma/r)^6);epsilon=v_eps;sigma=v_sig" 4.0 +fix_modify 1 energy yes +run 5 post no + +variable name string pair-lj126 +include wall.inc + +pair_style lj/cut 4.0 +pair_coeff 1 1 ${eps} ${sig} +pair_modify shift yes +run 5 post no + +variable d0 index 20.0 +variable al index 2.0 +variable r0 index 1.2 + +variable name string wall-morse +include wall.inc + +fix 1 move wall/morse xlo -5.0 ${d0} ${al} ${r0} 4.0 xhi 5.0 ${d0} ${al} ${r0} 4.0 +fix_modify 1 energy yes +run 5 post no + +variable name string lepton-morse +include wall.inc + +fix 1 move wall/lepton xlo -5.0 "d0*(-1.0 + (1.0 - ralpha) * (1.0 - ralpha));ralpha=exp(-alpha*(r-r0));d0=v_d0;alpha=v_al;r0=v_r0" 4.0 & + xhi 5.0 "d0*(-1.0 + (1.0 - ralpha) * (1.0 - ralpha));ralpha=exp(-alpha*(r-r0));d0=v_d0;alpha=v_al;r0=v_r0" 4.0 +fix_modify 1 energy yes +run 5 post no + +variable name string bond-morse +include wall.inc + +bond_style morse +bond_coeff 1 ${d0} ${al} ${r0} +run 5 post no + +variable name string pair-morse +include wall.inc + +pair_style morse 4.0 +pair_coeff 1 1 ${d0} ${al} ${r0} +pair_modify shift yes +run 5 post no + +shell rm -f walltest.restart diff --git a/examples/wall/in.wall.table b/examples/wall/in.wall.table new file mode 100644 index 0000000000..f5b8232ef8 --- /dev/null +++ b/examples/wall/in.wall.table @@ -0,0 +1,129 @@ +units real +atom_style bond +boundary f p p +region box block -5.000000000000001 5.000000000000001 -5 5 -5 5 +create_box 1 box bond/types 1 extra/bond/per/atom 1 extra/special/per/atom 1 + +pair_style zero 5.0 +pair_coeff * * +mass * 1.0 +bond_style zero +bond_coeff * 1.0 + +create_atoms 1 single -4.0 0.0 0.0 +create_atoms 1 single 4.0 0.0 0.0 +create_atoms 1 single -5.0 0.0 0.0 +create_atoms 1 single 5.0 0.0 0.0 +create_bonds single/bond 1 3 1 +create_bonds single/bond 1 4 2 + +group move id 1:2 +write_restart walltest.restart + +variable name string wall-harmonic +include wall.inc + +fix 1 move wall/harmonic xlo -5.0 100 0.0 4.0 xhi 5.0 100 1.0 4.0 +fix_modify 1 energy yes +run 5 post no + +variable name string table-harmonic +include wall.inc + +fix 1 move wall/table linear 1000 xlo -5.0 walltab.dat HARMONIC 4.0 xhi 5.0 walltab.dat HARMONIC 4.0 +fix_modify 1 energy yes +run 5 post no + +variable name string spline-harmonic +include wall.inc + +fix 1 move wall/table spline 200 xlo -5.0 walltab.dat HARMONIC 4.0 xhi 5.0 walltab.dat HARMONIC 4.0 +fix_modify 1 energy yes +run 5 post no + +variable name string bond-harmonic +include wall.inc + +bond_style harmonic +bond_coeff 1 100 4.0 +run 5 post no + +variable name string pair-harmonic +include wall.inc + +pair_style harmonic/cut +pair_coeff 1 1 100 4.0 +run 5 post no + +variable eps index 0.02 +variable sig index 2.0 +variable name string wall-lj126 +include wall.inc + +fix 1 move wall/lj126 xlo -5.0 ${eps} ${sig} 4.0 xhi 5.0 ${eps} ${sig} 4.0 +fix_modify 1 energy yes +run 5 post no + +variable name string table-lj126 +include wall.inc + +fix 1 move wall/table linear 1000 xlo -5.0 walltab.dat LJ126 4.0 xhi 5.0 walltab.dat LJ126 4.0 +fix_modify 1 energy yes +run 5 post no + +variable name string spline-lj126 +include wall.inc + +fix 1 move wall/table spline 200 xlo -5.0 walltab.dat LJ126 4.0 xhi 5.0 walltab.dat LJ126 4.0 +fix_modify 1 energy yes +run 5 post no + +variable name string pair-lj126 +include wall.inc + +pair_style lj/cut 4.0 +pair_coeff 1 1 ${eps} ${sig} +pair_modify shift yes +run 5 post no + +variable d0 index 20.0 +variable al index 2.0 +variable r0 index 1.2 + +variable name string wall-morse +include wall.inc + +fix 1 move wall/morse xlo -5.0 ${d0} ${al} ${r0} 4.0 xhi 5.0 ${d0} ${al} ${r0} 4.0 +fix_modify 1 energy yes +run 5 post no + +variable name string table-morse +include wall.inc + +fix 1 move wall/table linear 1000 xlo -5.0 walltab.dat MORSE 4.0 xhi 5.0 walltab.dat MORSE 4.0 +fix_modify 1 energy yes +run 5 post no + +variable name string spline-morse +include wall.inc + +fix 1 move wall/table spline 1000 xlo -5.0 walltab.dat MORSE 4.0 xhi 5.0 walltab.dat MORSE 4.0 +fix_modify 1 energy yes +run 5 post no + +variable name string bond-morse +include wall.inc + +bond_style morse +bond_coeff 1 ${d0} ${al} ${r0} +run 5 post no + +variable name string pair-morse +include wall.inc + +pair_style morse 4.0 +pair_coeff 1 1 ${d0} ${al} ${r0} +pair_modify shift yes +run 5 post no + +shell rm -f walltest.restart diff --git a/examples/wall/log.23Feb23.wall.lepton.g++.1 b/examples/wall/log.23Feb23.wall.lepton.g++.1 new file mode 100644 index 0000000000..91fb3a3a53 --- /dev/null +++ b/examples/wall/log.23Feb23.wall.lepton.g++.1 @@ -0,0 +1,894 @@ +LAMMPS (8 Feb 2023) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +units real +atom_style bond +boundary f p p +region box block -5.000000000000001 5.000000000000001 -5 5 -5 5 +create_box 1 box bond/types 1 extra/bond/per/atom 1 extra/special/per/atom 1 +Created orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 1 by 1 MPI processor grid + +pair_style zero 5.0 +pair_coeff * * +mass * 1.0 +bond_style zero +bond_coeff * 1.0 + +create_atoms 1 single -4.0 0.0 0.0 +Created 1 atoms + using lattice units in orthogonal box = (-5 -5 -5) to (5 5 5) + create_atoms CPU = 0.000 seconds +create_atoms 1 single 4.0 0.0 0.0 +Created 1 atoms + using lattice units in orthogonal box = (-5 -5 -5) to (5 5 5) + create_atoms CPU = 0.000 seconds +create_atoms 1 single -5.0 0.0 0.0 +Created 1 atoms + using lattice units in orthogonal box = (-5 -5 -5) to (5 5 5) + create_atoms CPU = 0.000 seconds +create_atoms 1 single 5.0 0.0 0.0 +Created 1 atoms + using lattice units in orthogonal box = (-5 -5 -5) to (5 5 5) + create_atoms CPU = 0.000 seconds +create_bonds single/bond 1 3 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds +create_bonds single/bond 1 4 2 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +group move id 1:2 +2 atoms in group move +write_restart walltest.restart +System init for write_restart ... +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + +variable name string wall-harmonic +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 1 by 1 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.001 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +fix 1 move wall/harmonic xlo -5.0 100 0.0 4.0 xhi 5.0 100 1.0 4.0 +fix_modify 1 energy yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 0 0 1800 1800 0 + 1 16146.37291 6600.295604 144.3878119 1652.527054 1796.914866 0 + 2 59294.04011 24238.149 530.232812 1258.437705 1788.670517 0 + 3 115302.7492 47133.32419 1031.086781 746.8819904 1777.968771 0 + 4 165817.4572 67782.66799 1482.811029 285.5057515 1768.31678 0 + 5 194283.6024 79419.02582 1737.367544 25.51012833 1762.877672 0 +Loop time of 5.837e-05 on 1 procs for 5 steps with 4 atoms + + +variable name string lepton-harmonic +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 1 by 1 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.000 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +fix 1 move wall/lepton xlo -5.0 "k*(r-rc)^2;k=100.0" 4.0 xhi 5.0 "k*(r-rc)^2;k=100.0" 4.0 +fix_modify 1 energy yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 0 0 1800 1800 0 + 1 16146.37291 6600.295604 144.3878119 1652.527054 1796.914866 0 + 2 59294.04011 24238.149 530.232812 1258.437705 1788.670517 0 + 3 115302.7492 47133.32419 1031.086781 746.8819904 1777.968771 0 + 4 165817.4572 67782.66799 1482.811029 285.5057515 1768.31678 0 + 5 194283.6024 79419.02582 1737.367544 25.51012833 1762.877672 0 +Loop time of 0.00343046 on 1 procs for 5 steps with 4 atoms + + +variable name string bond-harmonic +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 1 by 1 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.000 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +bond_style harmonic +bond_coeff 1 100 4.0 +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +WARNING: Communication cutoff 7 is shorter than a bond length based estimate of 8. This may lead to errors. (src/comm.cpp:723) +Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 27427.366 0 1800 1800 900 + 1 16146.37291 36178.74173 144.3878119 1652.527054 1796.914866 826.263527 + 2 59294.04011 58444.6962 530.232812 1258.437705 1788.670517 629.2188524 + 3 115302.7492 83661.44348 1031.086781 746.8819904 1777.968771 373.4409952 + 4 165817.4572 98424.89283 1482.811029 285.5057515 1768.31678 142.7528758 + 5 194283.6024 91313.53086 1737.367544 25.51012833 1762.877672 12.75506417 +Loop time of 6.3996e-05 on 1 procs for 5 steps with 4 atoms + + +variable name string pair-harmonic +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 1 by 1 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.000 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +pair_style harmonic/cut +pair_coeff 1 1 100 4.0 +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6 + ghost atom cutoff = 6 + binsize = 3, bins = 4 4 4 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair harmonic/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.43 | 4.43 | 4.43 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 27427.366 0 1800 1800 900 + 1 16146.37291 36178.74173 144.3878119 1652.527054 1796.914866 826.263527 + 2 59294.04011 58444.6962 530.232812 1258.437705 1788.670517 629.2188524 + 3 115302.7492 83661.44348 1031.086781 746.8819904 1777.968771 373.4409952 + 4 165817.4572 98424.89283 1482.811029 285.5057515 1768.31678 142.7528758 + 5 170540.4005 97560.47089 1525.045619 190.8165235 1715.862142 178.0614593 +Loop time of 5.4513e-05 on 1 procs for 5 steps with 4 atoms + + +variable eps index 0.02 +variable sig index 2.0 +variable name string wall-lj126 +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 1 by 1 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.000 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +fix 1 move wall/lj126 xlo -5.0 ${eps} ${sig} 4.0 xhi 5.0 ${eps} ${sig} 4.0 +fix 1 move wall/lj126 xlo -5.0 0.02 ${sig} 4.0 xhi 5.0 ${eps} ${sig} 4.0 +fix 1 move wall/lj126 xlo -5.0 0.02 2.0 4.0 xhi 5.0 ${eps} ${sig} 4.0 +fix 1 move wall/lj126 xlo -5.0 0.02 2.0 4.0 xhi 5.0 0.02 ${sig} 4.0 +fix 1 move wall/lj126 xlo -5.0 0.02 2.0 4.0 xhi 5.0 0.02 2.0 4.0 +fix_modify 1 energy yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 0 0 645.1224609 645.1224609 0 + 1 178153.8707 72825.53278 1593.128544 0.2259591031 1593.354503 0 + 2 178262.3593 72869.88065 1594.098696 -0.02237405364 1594.076322 0 + 3 178259.9436 72868.89314 1594.077094 -0.003385746252 1594.073708 0 + 4 178259.4975 72868.71081 1594.073105 0 1594.073105 0 + 5 178259.4975 72868.71081 1594.073105 0 1594.073105 0 +WARNING: Bond/angle/dihedral extent > half of periodic box length (src/domain.cpp:936) +Loop time of 5.3398e-05 on 1 procs for 5 steps with 4 atoms + + +variable name string lepton-lj126 +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 1 by 1 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.000 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +fix 1 move wall/lepton xlo -5.0 "4.0*epsilon*((sigma/r)^12 - (sigma/r)^6);epsilon=v_eps;sigma=v_sig" 4.0 xhi 5.0 "4.0*epsilon*((sigma/r)^12 - (sigma/r)^6);epsilon=v_eps;sigma=v_sig" 4.0 +fix_modify 1 energy yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 0 0 645.1224609 645.1224609 0 + 1 178153.8707 72825.53278 1593.128544 0.2259591031 1593.354503 0 + 2 178262.3593 72869.88065 1594.098696 -0.02237405364 1594.076322 0 + 3 178259.9436 72868.89314 1594.077094 -0.003385746252 1594.073708 0 + 4 178259.4975 72868.71081 1594.073105 0 1594.073105 0 + 5 178259.4975 72868.71081 1594.073105 0 1594.073105 0 +WARNING: Bond/angle/dihedral extent > half of periodic box length (src/domain.cpp:936) +Loop time of 0.0051554 on 1 procs for 5 steps with 4 atoms + + +variable name string pair-lj126 +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 1 by 1 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.000 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +pair_style lj/cut 4.0 +pair_coeff 1 1 ${eps} ${sig} +pair_coeff 1 1 0.02 ${sig} +pair_coeff 1 1 0.02 2.0 +pair_modify shift yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6 + ghost atom cutoff = 6 + binsize = 3, bins = 4 4 4 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.43 | 4.43 | 4.43 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 178343.7047 0 645.1224609 645.1224609 322.5612305 + 1 178153.8707 72925.96146 1593.128544 0.2259591031 1593.354503 0.1129795516 + 2 178262.3593 72867.28485 1594.098696 -0.02237405364 1594.076322 -0.01118702682 + 3 178260.8147 72867.80305 1594.084884 -0.007499601847 1594.077384 -0.005806728722 + 4 176007.6835 72778.53677 1573.936415 2.772305717 1576.708721 2.772305717 + 5 1.132219912e+27 4.628275436e+26 1.012479748e+25 3.761972158e+12 1.012479748e+25 3.761972158e+12 +WARNING: Bond/angle/dihedral extent > half of periodic box length (src/domain.cpp:936) +Loop time of 5.4716e-05 on 1 procs for 5 steps with 4 atoms + + +variable d0 index 20.0 +variable al index 2.0 +variable r0 index 1.2 + +variable name string wall-morse +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 1 by 1 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.000 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +fix 1 move wall/morse xlo -5.0 ${d0} ${al} ${r0} 4.0 xhi 5.0 ${d0} ${al} ${r0} 4.0 +fix 1 move wall/morse xlo -5.0 20.0 ${al} ${r0} 4.0 xhi 5.0 ${d0} ${al} ${r0} 4.0 +fix 1 move wall/morse xlo -5.0 20.0 2.0 ${r0} 4.0 xhi 5.0 ${d0} ${al} ${r0} 4.0 +fix 1 move wall/morse xlo -5.0 20.0 2.0 1.2 4.0 xhi 5.0 ${d0} ${al} ${r0} 4.0 +fix 1 move wall/morse xlo -5.0 20.0 2.0 1.2 4.0 xhi 5.0 20.0 ${al} ${r0} 4.0 +fix 1 move wall/morse xlo -5.0 20.0 2.0 1.2 4.0 xhi 5.0 20.0 2.0 ${r0} 4.0 +fix 1 move wall/morse xlo -5.0 20.0 2.0 1.2 4.0 xhi 5.0 20.0 2.0 1.2 4.0 +fix_modify 1 energy yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 0 0 -30.02905654 -30.02905654 0 + 1 144.4114716 59.032354 1.291389498 -31.40065042 -30.10926092 0 + 2 471.9742076 192.9330696 4.220596384 -34.53885647 -30.31826008 0 + 3 784.0772455 320.5141877 7.011556 -37.58109301 -30.56953701 0 + 4 961.8950756 393.2023542 8.601679525 -39.34691775 -30.74523823 0 + 5 996.609681 407.3929504 8.91211246 -39.66353245 -30.75141999 0 +Loop time of 4.8727e-05 on 1 procs for 5 steps with 4 atoms + + +variable name string lepton-morse +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 1 by 1 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.000 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +fix 1 move wall/lepton xlo -5.0 "d0*(-1.0 + (1.0 - ralpha) * (1.0 - ralpha));ralpha=exp(-alpha*(r-r0));d0=v_d0;alpha=v_al;r0=v_r0" 4.0 xhi 5.0 "d0*(-1.0 + (1.0 - ralpha) * (1.0 - ralpha));ralpha=exp(-alpha*(r-r0));d0=v_d0;alpha=v_al;r0=v_r0" 4.0 +fix_modify 1 energy yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 0 0 -30.02905654 -30.02905654 0 + 1 146.0893547 59.71823711 1.30639385 -31.40065042 -30.09425657 0 + 2 485.8091411 198.5884977 4.34431431 -34.55987817 -30.21556386 0 + 3 822.0828974 336.0500941 7.351418888 -37.63613582 -30.28471693 0 + 4 1018.806679 416.4666136 9.110607565 -39.39265114 -30.28204357 0 + 5 1050.331347 429.3532307 9.392514704 -39.63687095 -30.24435625 0 +Loop time of 0.00478609 on 1 procs for 5 steps with 4 atoms + + +variable name string bond-morse +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 1 by 1 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.000 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +bond_style morse +bond_coeff 1 ${d0} ${al} ${r0} +bond_coeff 1 20.0 ${al} ${r0} +bond_coeff 1 20.0 2.0 ${r0} +bond_coeff 1 20.0 2.0 1.2 +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 2683.187147 0 9.675661328 9.675661328 4.837830664 + 1 146.0893547 2514.939772 1.30639385 8.304067455 9.610461305 4.152033728 + 2 485.8091411 2063.804037 4.34431431 5.144839701 9.489154012 2.572419851 + 3 822.0828974 1456.368913 7.351418888 2.06858205 9.420000938 1.034291025 + 4 1018.806679 823.4383177 9.110607565 0.3120667313 9.422674297 0.1560333657 + 5 1050.331347 253.0262957 9.392514704 0.06784692056 9.460361624 0.03392346028 +Loop time of 3.7914e-05 on 1 procs for 5 steps with 4 atoms + + +variable name string pair-morse +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 1 by 1 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.000 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +pair_style morse 4.0 +pair_coeff 1 1 ${d0} ${al} ${r0} +pair_coeff 1 1 20.0 ${al} ${r0} +pair_coeff 1 1 20.0 2.0 ${r0} +pair_coeff 1 1 20.0 2.0 1.2 +pair_modify shift yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6 + ghost atom cutoff = 6 + binsize = 3, bins = 4 4 4 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair morse, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.43 | 4.43 | 4.43 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 2683.187147 0 -30.02905654 -30.02905654 -15.01452827 + 1 146.0893547 2514.939772 1.30639385 -31.40065042 -30.09425657 -15.70032521 + 2 485.8091411 2063.804037 4.34431431 -34.55987817 -30.21556386 -17.27993908 + 3 822.0828974 1456.368913 7.351418888 -37.63613582 -30.28471693 -18.81806791 + 4 1018.806679 823.4383177 9.110607565 -39.39265114 -30.28204357 -19.69632557 + 5 1050.331347 253.0262957 9.392514704 -39.63687095 -30.24435625 -19.81843547 +Loop time of 4.2699e-05 on 1 procs for 5 steps with 4 atoms + + +shell rm -f walltest.restart +Total wall time: 0:00:00 diff --git a/examples/wall/log.23Feb23.wall.lepton.g++.4 b/examples/wall/log.23Feb23.wall.lepton.g++.4 new file mode 100644 index 0000000000..ba630cc5d8 --- /dev/null +++ b/examples/wall/log.23Feb23.wall.lepton.g++.4 @@ -0,0 +1,894 @@ +LAMMPS (8 Feb 2023) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +units real +atom_style bond +boundary f p p +region box block -5.000000000000001 5.000000000000001 -5 5 -5 5 +create_box 1 box bond/types 1 extra/bond/per/atom 1 extra/special/per/atom 1 +Created orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 2 by 2 MPI processor grid + +pair_style zero 5.0 +pair_coeff * * +mass * 1.0 +bond_style zero +bond_coeff * 1.0 + +create_atoms 1 single -4.0 0.0 0.0 +Created 1 atoms + using lattice units in orthogonal box = (-5 -5 -5) to (5 5 5) + create_atoms CPU = 0.000 seconds +create_atoms 1 single 4.0 0.0 0.0 +Created 1 atoms + using lattice units in orthogonal box = (-5 -5 -5) to (5 5 5) + create_atoms CPU = 0.001 seconds +create_atoms 1 single -5.0 0.0 0.0 +Created 1 atoms + using lattice units in orthogonal box = (-5 -5 -5) to (5 5 5) + create_atoms CPU = 0.000 seconds +create_atoms 1 single 5.0 0.0 0.0 +Created 1 atoms + using lattice units in orthogonal box = (-5 -5 -5) to (5 5 5) + create_atoms CPU = 0.000 seconds +create_bonds single/bond 1 3 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds +create_bonds single/bond 1 4 2 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +group move id 1:2 +2 atoms in group move +write_restart walltest.restart +System init for write_restart ... +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + +variable name string wall-harmonic +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 2 by 2 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.001 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +fix 1 move wall/harmonic xlo -5.0 100 0.0 4.0 xhi 5.0 100 1.0 4.0 +fix_modify 1 energy yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 0 0 1800 1800 0 + 1 16146.37291 6600.295604 144.3878119 1652.527054 1796.914866 0 + 2 59294.04011 24238.149 530.232812 1258.437705 1788.670517 0 + 3 115302.7492 47133.32419 1031.086781 746.8819904 1777.968771 0 + 4 165817.4572 67782.66799 1482.811029 285.5057515 1768.31678 0 + 5 194283.6024 79419.02582 1737.367544 25.51012833 1762.877672 0 +Loop time of 0.000225045 on 4 procs for 5 steps with 4 atoms + + +variable name string lepton-harmonic +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 2 by 2 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.001 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +fix 1 move wall/lepton xlo -5.0 "k*(r-rc)^2;k=100.0" 4.0 xhi 5.0 "k*(r-rc)^2;k=100.0" 4.0 +fix_modify 1 energy yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 0 0 1800 1800 0 + 1 16146.37291 6600.295604 144.3878119 1652.527054 1796.914866 0 + 2 59294.04011 24238.149 530.232812 1258.437705 1788.670517 0 + 3 115302.7492 47133.32419 1031.086781 746.8819904 1777.968771 0 + 4 165817.4572 67782.66799 1482.811029 285.5057515 1768.31678 0 + 5 194283.6024 79419.02582 1737.367544 25.51012833 1762.877672 0 +Loop time of 0.00491331 on 4 procs for 5 steps with 4 atoms + + +variable name string bond-harmonic +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 2 by 2 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.001 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +bond_style harmonic +bond_coeff 1 100 4.0 +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +WARNING: Communication cutoff 7 is shorter than a bond length based estimate of 8. This may lead to errors. (src/comm.cpp:723) +Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 27427.366 0 1800 1800 900 + 1 16146.37291 36178.74173 144.3878119 1652.527054 1796.914866 826.263527 + 2 59294.04011 58444.6962 530.232812 1258.437705 1788.670517 629.2188524 + 3 115302.7492 83661.44348 1031.086781 746.8819904 1777.968771 373.4409952 + 4 165817.4572 98424.89283 1482.811029 285.5057515 1768.31678 142.7528758 + 5 194283.6024 91313.53086 1737.367544 25.51012833 1762.877672 12.75506417 +Loop time of 0.000214841 on 4 procs for 5 steps with 4 atoms + + +variable name string pair-harmonic +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 2 by 2 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.001 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +pair_style harmonic/cut +pair_coeff 1 1 100 4.0 +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6 + ghost atom cutoff = 6 + binsize = 3, bins = 4 4 4 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair harmonic/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.38 | 4.56 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 27427.366 0 1800 1800 900 + 1 16146.37291 36178.74173 144.3878119 1652.527054 1796.914866 826.263527 + 2 59294.04011 58444.6962 530.232812 1258.437705 1788.670517 629.2188524 + 3 115302.7492 83661.44348 1031.086781 746.8819904 1777.968771 373.4409952 + 4 165817.4572 98424.89283 1482.811029 285.5057515 1768.31678 142.7528758 + 5 170540.4005 97560.47089 1525.045619 190.8165235 1715.862142 178.0614593 +Loop time of 0.000212697 on 4 procs for 5 steps with 4 atoms + + +variable eps index 0.02 +variable sig index 2.0 +variable name string wall-lj126 +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 2 by 2 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.001 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +fix 1 move wall/lj126 xlo -5.0 ${eps} ${sig} 4.0 xhi 5.0 ${eps} ${sig} 4.0 +fix 1 move wall/lj126 xlo -5.0 0.02 ${sig} 4.0 xhi 5.0 ${eps} ${sig} 4.0 +fix 1 move wall/lj126 xlo -5.0 0.02 2.0 4.0 xhi 5.0 ${eps} ${sig} 4.0 +fix 1 move wall/lj126 xlo -5.0 0.02 2.0 4.0 xhi 5.0 0.02 ${sig} 4.0 +fix 1 move wall/lj126 xlo -5.0 0.02 2.0 4.0 xhi 5.0 0.02 2.0 4.0 +fix_modify 1 energy yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 0 0 645.1224609 645.1224609 0 + 1 178153.8707 72825.53278 1593.128544 0.2259591031 1593.354503 0 + 2 178262.3593 72869.88065 1594.098696 -0.02237405364 1594.076322 0 + 3 178259.9436 72868.89314 1594.077094 -0.003385746252 1594.073708 0 + 4 178259.4975 72868.71081 1594.073105 0 1594.073105 0 + 5 178259.4975 72868.71081 1594.073105 0 1594.073105 0 +WARNING: Bond/angle/dihedral extent > half of periodic box length (src/domain.cpp:936) +Loop time of 0.000207412 on 4 procs for 5 steps with 4 atoms + + +variable name string lepton-lj126 +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 2 by 2 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.001 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +fix 1 move wall/lepton xlo -5.0 "4.0*epsilon*((sigma/r)^12 - (sigma/r)^6);epsilon=v_eps;sigma=v_sig" 4.0 xhi 5.0 "4.0*epsilon*((sigma/r)^12 - (sigma/r)^6);epsilon=v_eps;sigma=v_sig" 4.0 +fix_modify 1 energy yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 0 0 645.1224609 645.1224609 0 + 1 178153.8707 72825.53278 1593.128544 0.2259591031 1593.354503 0 + 2 178262.3593 72869.88065 1594.098696 -0.02237405364 1594.076322 0 + 3 178259.9436 72868.89314 1594.077094 -0.003385746252 1594.073708 0 + 4 178259.4975 72868.71081 1594.073105 0 1594.073105 0 + 5 178259.4975 72868.71081 1594.073105 0 1594.073105 0 +WARNING: Bond/angle/dihedral extent > half of periodic box length (src/domain.cpp:936) +Loop time of 0.00958101 on 4 procs for 5 steps with 4 atoms + + +variable name string pair-lj126 +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 2 by 2 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.001 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +pair_style lj/cut 4.0 +pair_coeff 1 1 ${eps} ${sig} +pair_coeff 1 1 0.02 ${sig} +pair_coeff 1 1 0.02 2.0 +pair_modify shift yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6 + ghost atom cutoff = 6 + binsize = 3, bins = 4 4 4 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.38 | 4.56 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 178343.7047 0 645.1224609 645.1224609 322.5612305 + 1 178153.8707 72925.96146 1593.128544 0.2259591031 1593.354503 0.1129795516 + 2 178262.3593 72867.28485 1594.098696 -0.02237405364 1594.076322 -0.01118702682 + 3 178260.8147 72867.80305 1594.084884 -0.007499601847 1594.077384 -0.005806728722 + 4 176007.6835 72778.53677 1573.936415 2.772305717 1576.708721 2.772305717 + 5 1.132219912e+27 4.628275436e+26 1.012479748e+25 3.761972158e+12 1.012479748e+25 3.761972158e+12 +WARNING: Bond/angle/dihedral extent > half of periodic box length (src/domain.cpp:936) +Loop time of 0.00016574 on 4 procs for 5 steps with 4 atoms + + +variable d0 index 20.0 +variable al index 2.0 +variable r0 index 1.2 + +variable name string wall-morse +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 2 by 2 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.001 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +fix 1 move wall/morse xlo -5.0 ${d0} ${al} ${r0} 4.0 xhi 5.0 ${d0} ${al} ${r0} 4.0 +fix 1 move wall/morse xlo -5.0 20.0 ${al} ${r0} 4.0 xhi 5.0 ${d0} ${al} ${r0} 4.0 +fix 1 move wall/morse xlo -5.0 20.0 2.0 ${r0} 4.0 xhi 5.0 ${d0} ${al} ${r0} 4.0 +fix 1 move wall/morse xlo -5.0 20.0 2.0 1.2 4.0 xhi 5.0 ${d0} ${al} ${r0} 4.0 +fix 1 move wall/morse xlo -5.0 20.0 2.0 1.2 4.0 xhi 5.0 20.0 ${al} ${r0} 4.0 +fix 1 move wall/morse xlo -5.0 20.0 2.0 1.2 4.0 xhi 5.0 20.0 2.0 ${r0} 4.0 +fix 1 move wall/morse xlo -5.0 20.0 2.0 1.2 4.0 xhi 5.0 20.0 2.0 1.2 4.0 +fix_modify 1 energy yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 0 0 -30.02905654 -30.02905654 0 + 1 144.4114716 59.032354 1.291389498 -31.40065042 -30.10926092 0 + 2 471.9742076 192.9330696 4.220596384 -34.53885647 -30.31826008 0 + 3 784.0772455 320.5141877 7.011556 -37.58109301 -30.56953701 0 + 4 961.8950756 393.2023542 8.601679525 -39.34691775 -30.74523823 0 + 5 996.609681 407.3929504 8.91211246 -39.66353245 -30.75141999 0 +Loop time of 0.000162994 on 4 procs for 5 steps with 4 atoms + + +variable name string lepton-morse +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 2 by 2 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.001 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +fix 1 move wall/lepton xlo -5.0 "d0*(-1.0 + (1.0 - ralpha) * (1.0 - ralpha));ralpha=exp(-alpha*(r-r0));d0=v_d0;alpha=v_al;r0=v_r0" 4.0 xhi 5.0 "d0*(-1.0 + (1.0 - ralpha) * (1.0 - ralpha));ralpha=exp(-alpha*(r-r0));d0=v_d0;alpha=v_al;r0=v_r0" 4.0 +fix_modify 1 energy yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 0 0 -30.02905654 -30.02905654 0 + 1 146.0893547 59.71823711 1.30639385 -31.40065042 -30.09425657 0 + 2 485.8091411 198.5884977 4.34431431 -34.55987817 -30.21556386 0 + 3 822.0828974 336.0500941 7.351418888 -37.63613582 -30.28471693 0 + 4 1018.806679 416.4666136 9.110607565 -39.39265114 -30.28204357 0 + 5 1050.331347 429.3532307 9.392514704 -39.63687095 -30.24435625 0 +Loop time of 0.00780516 on 4 procs for 5 steps with 4 atoms + + +variable name string bond-morse +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 2 by 2 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.001 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +bond_style morse +bond_coeff 1 ${d0} ${al} ${r0} +bond_coeff 1 20.0 ${al} ${r0} +bond_coeff 1 20.0 2.0 ${r0} +bond_coeff 1 20.0 2.0 1.2 +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 2683.187147 0 9.675661328 9.675661328 4.837830664 + 1 146.0893547 2514.939772 1.30639385 8.304067455 9.610461305 4.152033728 + 2 485.8091411 2063.804037 4.34431431 5.144839701 9.489154012 2.572419851 + 3 822.0828974 1456.368913 7.351418888 2.06858205 9.420000938 1.034291025 + 4 1018.806679 823.4383177 9.110607565 0.3120667313 9.422674297 0.1560333657 + 5 1050.331347 253.0262957 9.392514704 0.06784692056 9.460361624 0.03392346028 +Loop time of 0.000141974 on 4 procs for 5 steps with 4 atoms + + +variable name string pair-morse +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 2 by 2 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.001 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +pair_style morse 4.0 +pair_coeff 1 1 ${d0} ${al} ${r0} +pair_coeff 1 1 20.0 ${al} ${r0} +pair_coeff 1 1 20.0 2.0 ${r0} +pair_coeff 1 1 20.0 2.0 1.2 +pair_modify shift yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6 + ghost atom cutoff = 6 + binsize = 3, bins = 4 4 4 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair morse, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.38 | 4.56 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 2683.187147 0 -30.02905654 -30.02905654 -15.01452827 + 1 146.0893547 2514.939772 1.30639385 -31.40065042 -30.09425657 -15.70032521 + 2 485.8091411 2063.804037 4.34431431 -34.55987817 -30.21556386 -17.27993908 + 3 822.0828974 1456.368913 7.351418888 -37.63613582 -30.28471693 -18.81806791 + 4 1018.806679 823.4383177 9.110607565 -39.39265114 -30.28204357 -19.69632557 + 5 1050.331347 253.0262957 9.392514704 -39.63687095 -30.24435625 -19.81843547 +Loop time of 0.000196232 on 4 procs for 5 steps with 4 atoms + + +shell rm -f walltest.restart +Total wall time: 0:00:00 diff --git a/examples/wall/log.23Feb23.wall.table.g++.1 b/examples/wall/log.23Feb23.wall.table.g++.1 new file mode 100644 index 0000000000..c03bc61f23 --- /dev/null +++ b/examples/wall/log.23Feb23.wall.table.g++.1 @@ -0,0 +1,1131 @@ +LAMMPS (8 Feb 2023) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +units real +atom_style bond +boundary f p p +region box block -5.000000000000001 5.000000000000001 -5 5 -5 5 +create_box 1 box bond/types 1 extra/bond/per/atom 1 extra/special/per/atom 1 +Created orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 1 by 1 MPI processor grid + +pair_style zero 5.0 +pair_coeff * * +mass * 1.0 +bond_style zero +bond_coeff * 1.0 + +create_atoms 1 single -4.0 0.0 0.0 +Created 1 atoms + using lattice units in orthogonal box = (-5 -5 -5) to (5 5 5) + create_atoms CPU = 0.000 seconds +create_atoms 1 single 4.0 0.0 0.0 +Created 1 atoms + using lattice units in orthogonal box = (-5 -5 -5) to (5 5 5) + create_atoms CPU = 0.000 seconds +create_atoms 1 single -5.0 0.0 0.0 +Created 1 atoms + using lattice units in orthogonal box = (-5 -5 -5) to (5 5 5) + create_atoms CPU = 0.000 seconds +create_atoms 1 single 5.0 0.0 0.0 +Created 1 atoms + using lattice units in orthogonal box = (-5 -5 -5) to (5 5 5) + create_atoms CPU = 0.000 seconds +create_bonds single/bond 1 3 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds +create_bonds single/bond 1 4 2 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +group move id 1:2 +2 atoms in group move +write_restart walltest.restart +System init for write_restart ... +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + +variable name string wall-harmonic +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 1 by 1 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.001 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +fix 1 move wall/harmonic xlo -5.0 100 0.0 4.0 xhi 5.0 100 1.0 4.0 +fix_modify 1 energy yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 0 0 1800 1800 0 + 1 16146.37291 6600.295604 144.3878119 1652.527054 1796.914866 0 + 2 59294.04011 24238.149 530.232812 1258.437705 1788.670517 0 + 3 115302.7492 47133.32419 1031.086781 746.8819904 1777.968771 0 + 4 165817.4572 67782.66799 1482.811029 285.5057515 1768.31678 0 + 5 194283.6024 79419.02582 1737.367544 25.51012833 1762.877672 0 +Loop time of 7.7442e-05 on 1 procs for 5 steps with 4 atoms + + +variable name string table-harmonic +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 1 by 1 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.000 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +fix 1 move wall/table linear 1000 xlo -5.0 walltab.dat HARMONIC 4.0 xhi 5.0 walltab.dat HARMONIC 4.0 +Reading fix wall/table table potential file walltab.dat with DATE: 2023-02-23 +Reading fix wall/table table potential file walltab.dat with DATE: 2023-02-23 +fix_modify 1 energy yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 0 0 1800.000356 1800.000356 0 + 1 16146.37291 6600.295604 144.3878119 1652.527723 1796.915535 0 + 2 59294.04011 24238.149 530.232812 1258.437853 1788.670665 0 + 3 115302.7492 47133.32419 1031.086781 746.8824148 1777.969196 0 + 4 165817.4572 67782.66799 1482.811029 285.5061521 1768.317181 0 + 5 194283.6024 79419.02582 1737.367544 25.51090543 1762.878449 0 +Loop time of 7.9176e-05 on 1 procs for 5 steps with 4 atoms + + +variable name string spline-harmonic +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 1 by 1 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.000 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +fix 1 move wall/table spline 200 xlo -5.0 walltab.dat HARMONIC 4.0 xhi 5.0 walltab.dat HARMONIC 4.0 +Reading fix wall/table table potential file walltab.dat with DATE: 2023-02-23 +Reading fix wall/table table potential file walltab.dat with DATE: 2023-02-23 +fix_modify 1 energy yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 0 0 1800 1800 0 + 1 16146.37291 6600.295604 144.3878119 1652.527054 1796.914866 0 + 2 59294.04011 24238.149 530.232812 1258.437705 1788.670517 0 + 3 115302.7492 47133.32419 1031.086781 746.8819904 1777.968771 0 + 4 165817.4572 67782.66799 1482.811029 285.5057515 1768.31678 0 + 5 194283.6024 79419.02582 1737.367544 25.51012833 1762.877672 0 +Loop time of 7.4164e-05 on 1 procs for 5 steps with 4 atoms + + +variable name string bond-harmonic +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 1 by 1 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.000 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +bond_style harmonic +bond_coeff 1 100 4.0 +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +WARNING: Communication cutoff 7 is shorter than a bond length based estimate of 8. This may lead to errors. (src/comm.cpp:723) +Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 27427.366 0 1800 1800 900 + 1 16146.37291 36178.74173 144.3878119 1652.527054 1796.914866 826.263527 + 2 59294.04011 58444.6962 530.232812 1258.437705 1788.670517 629.2188524 + 3 115302.7492 83661.44348 1031.086781 746.8819904 1777.968771 373.4409952 + 4 165817.4572 98424.89283 1482.811029 285.5057515 1768.31678 142.7528758 + 5 194283.6024 91313.53086 1737.367544 25.51012833 1762.877672 12.75506417 +Loop time of 7.4638e-05 on 1 procs for 5 steps with 4 atoms + + +variable name string pair-harmonic +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 1 by 1 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.000 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +pair_style harmonic/cut +pair_coeff 1 1 100 4.0 +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6 + ghost atom cutoff = 6 + binsize = 3, bins = 4 4 4 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair harmonic/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.43 | 4.43 | 4.43 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 27427.366 0 1800 1800 900 + 1 16146.37291 36178.74173 144.3878119 1652.527054 1796.914866 826.263527 + 2 59294.04011 58444.6962 530.232812 1258.437705 1788.670517 629.2188524 + 3 115302.7492 83661.44348 1031.086781 746.8819904 1777.968771 373.4409952 + 4 165817.4572 98424.89283 1482.811029 285.5057515 1768.31678 142.7528758 + 5 170540.4005 97560.47089 1525.045619 190.8165235 1715.862142 178.0614593 +Loop time of 7.6049e-05 on 1 procs for 5 steps with 4 atoms + + +variable eps index 0.02 +variable sig index 2.0 +variable name string wall-lj126 +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 1 by 1 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.000 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +fix 1 move wall/lj126 xlo -5.0 ${eps} ${sig} 4.0 xhi 5.0 ${eps} ${sig} 4.0 +fix 1 move wall/lj126 xlo -5.0 0.02 ${sig} 4.0 xhi 5.0 ${eps} ${sig} 4.0 +fix 1 move wall/lj126 xlo -5.0 0.02 2.0 4.0 xhi 5.0 ${eps} ${sig} 4.0 +fix 1 move wall/lj126 xlo -5.0 0.02 2.0 4.0 xhi 5.0 0.02 ${sig} 4.0 +fix 1 move wall/lj126 xlo -5.0 0.02 2.0 4.0 xhi 5.0 0.02 2.0 4.0 +fix_modify 1 energy yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 0 0 645.1224609 645.1224609 0 + 1 178153.8707 72825.53278 1593.128544 0.2259591031 1593.354503 0 + 2 178262.3593 72869.88065 1594.098696 -0.02237405364 1594.076322 0 + 3 178259.9436 72868.89314 1594.077094 -0.003385746252 1594.073708 0 + 4 178259.4975 72868.71081 1594.073105 0 1594.073105 0 + 5 178259.4975 72868.71081 1594.073105 0 1594.073105 0 +WARNING: Bond/angle/dihedral extent > half of periodic box length (src/domain.cpp:936) +Loop time of 6.7788e-05 on 1 procs for 5 steps with 4 atoms + + +variable name string table-lj126 +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 1 by 1 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.000 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +fix 1 move wall/table linear 1000 xlo -5.0 walltab.dat LJ126 4.0 xhi 5.0 walltab.dat LJ126 4.0 +Reading fix wall/table table potential file walltab.dat with DATE: 2023-02-23 +WARNING: 1 of 400 force values in table are inconsistent with -dE/dr. +WARNING: Should only be flagged at inflection points (src/fix_wall_table.cpp:244) +Reading fix wall/table table potential file walltab.dat with DATE: 2023-02-23 +WARNING: 1 of 400 force values in table are inconsistent with -dE/dr. +WARNING: Should only be flagged at inflection points (src/fix_wall_table.cpp:244) +fix_modify 1 energy yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 0 0 645.2141852 645.2141852 0 + 1 178212.5398 72849.51549 1593.653189 0.2256644171 1593.878854 0 + 2 178320.9331 72893.82438 1594.622489 -0.02236253394 1594.600126 0 + 3 178318.518 72892.83712 1594.600891 -0.0033818408 1594.597509 0 + 4 178318.0722 72892.6549 1594.596905 0 1594.596905 0 + 5 178318.0722 72892.6549 1594.596905 0 1594.596905 0 +WARNING: Bond/angle/dihedral extent > half of periodic box length (src/domain.cpp:936) +Loop time of 7.0625e-05 on 1 procs for 5 steps with 4 atoms + + +variable name string spline-lj126 +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 1 by 1 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.000 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +fix 1 move wall/table spline 200 xlo -5.0 walltab.dat LJ126 4.0 xhi 5.0 walltab.dat LJ126 4.0 +Reading fix wall/table table potential file walltab.dat with DATE: 2023-02-23 +WARNING: 1 of 400 force values in table are inconsistent with -dE/dr. +WARNING: Should only be flagged at inflection points (src/fix_wall_table.cpp:244) +Reading fix wall/table table potential file walltab.dat with DATE: 2023-02-23 +WARNING: 1 of 400 force values in table are inconsistent with -dE/dr. +WARNING: Should only be flagged at inflection points (src/fix_wall_table.cpp:244) +fix_modify 1 energy yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 0 0 645.3361317 645.3361317 0 + 1 161871.9611 66169.83266 1447.528705 0.3353251002 1447.86403 0 + 2 162015.342 66228.44376 1448.810879 -0.02581160308 1448.785068 0 + 3 162012.784 66227.39811 1448.788005 -0.004635008226 1448.78337 0 + 4 162012.2554 66227.18201 1448.783278 0 1448.783278 0 + 5 162012.2554 66227.18201 1448.783278 0 1448.783278 0 +WARNING: Bond/angle/dihedral extent > half of periodic box length (src/domain.cpp:936) +Loop time of 7.8628e-05 on 1 procs for 5 steps with 4 atoms + + +variable name string pair-lj126 +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 1 by 1 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.000 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +pair_style lj/cut 4.0 +pair_coeff 1 1 ${eps} ${sig} +pair_coeff 1 1 0.02 ${sig} +pair_coeff 1 1 0.02 2.0 +pair_modify shift yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6 + ghost atom cutoff = 6 + binsize = 3, bins = 4 4 4 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.43 | 4.43 | 4.43 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 178343.7047 0 645.1224609 645.1224609 322.5612305 + 1 178153.8707 72925.96146 1593.128544 0.2259591031 1593.354503 0.1129795516 + 2 178262.3593 72867.28485 1594.098696 -0.02237405364 1594.076322 -0.01118702682 + 3 178260.8147 72867.80305 1594.084884 -0.007499601847 1594.077384 -0.005806728722 + 4 176007.6835 72778.53677 1573.936415 2.772305717 1576.708721 2.772305717 + 5 1.132219912e+27 4.628275436e+26 1.012479748e+25 3.761972158e+12 1.012479748e+25 3.761972158e+12 +WARNING: Bond/angle/dihedral extent > half of periodic box length (src/domain.cpp:936) +Loop time of 5.1616e-05 on 1 procs for 5 steps with 4 atoms + + +variable d0 index 20.0 +variable al index 2.0 +variable r0 index 1.2 + +variable name string wall-morse +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 1 by 1 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.000 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +fix 1 move wall/morse xlo -5.0 ${d0} ${al} ${r0} 4.0 xhi 5.0 ${d0} ${al} ${r0} 4.0 +fix 1 move wall/morse xlo -5.0 20.0 ${al} ${r0} 4.0 xhi 5.0 ${d0} ${al} ${r0} 4.0 +fix 1 move wall/morse xlo -5.0 20.0 2.0 ${r0} 4.0 xhi 5.0 ${d0} ${al} ${r0} 4.0 +fix 1 move wall/morse xlo -5.0 20.0 2.0 1.2 4.0 xhi 5.0 ${d0} ${al} ${r0} 4.0 +fix 1 move wall/morse xlo -5.0 20.0 2.0 1.2 4.0 xhi 5.0 20.0 ${al} ${r0} 4.0 +fix 1 move wall/morse xlo -5.0 20.0 2.0 1.2 4.0 xhi 5.0 20.0 2.0 ${r0} 4.0 +fix 1 move wall/morse xlo -5.0 20.0 2.0 1.2 4.0 xhi 5.0 20.0 2.0 1.2 4.0 +fix_modify 1 energy yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 0 0 -30.02905654 -30.02905654 0 + 1 144.4114716 59.032354 1.291389498 -31.40065042 -30.10926092 0 + 2 471.9742076 192.9330696 4.220596384 -34.53885647 -30.31826008 0 + 3 784.0772455 320.5141877 7.011556 -37.58109301 -30.56953701 0 + 4 961.8950756 393.2023542 8.601679525 -39.34691775 -30.74523823 0 + 5 996.609681 407.3929504 8.91211246 -39.66353245 -30.75141999 0 +Loop time of 3.8086e-05 on 1 procs for 5 steps with 4 atoms + + +variable name string table-morse +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 1 by 1 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.000 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +fix 1 move wall/table linear 1000 xlo -5.0 walltab.dat MORSE 4.0 xhi 5.0 walltab.dat MORSE 4.0 +Reading fix wall/table table potential file walltab.dat with DATE: 2023-02-23 +Reading fix wall/table table potential file walltab.dat with DATE: 2023-02-23 +fix_modify 1 energy yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 0 0 -30.0282104 -30.0282104 0 + 1 146.0967469 59.72125889 1.306459954 -31.40033773 -30.09387777 0 + 2 485.8417772 198.6018386 4.344606156 -34.55851819 -30.21391203 0 + 3 822.1558136 336.0799007 7.352070936 -37.63533573 -30.28326479 0 + 4 1018.904947 416.5067832 9.111486314 -39.39200056 -30.28051425 0 + 5 1050.436268 429.3961205 9.393452958 -39.63643565 -30.24298269 0 +Loop time of 3.7571e-05 on 1 procs for 5 steps with 4 atoms + + +variable name string spline-morse +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 1 by 1 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.000 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +fix 1 move wall/table spline 1000 xlo -5.0 walltab.dat MORSE 4.0 xhi 5.0 walltab.dat MORSE 4.0 +Reading fix wall/table table potential file walltab.dat with DATE: 2023-02-23 +Reading fix wall/table table potential file walltab.dat with DATE: 2023-02-23 +fix_modify 1 energy yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 0 0 -30.02905657 -30.02905657 0 + 1 146.0893531 59.71823647 1.306393836 -31.40065068 -30.09425684 0 + 2 485.809133 198.5884944 4.344314238 -34.55987846 -30.21556422 0 + 3 822.0828818 336.0500877 7.351418748 -37.63613601 -30.28471726 0 + 4 1018.80666 416.4666056 9.110607389 -39.39265128 -30.28204389 0 + 5 1050.331328 429.353223 9.392514534 -39.63687099 -30.24435645 0 +Loop time of 4.1369e-05 on 1 procs for 5 steps with 4 atoms + + +variable name string bond-morse +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 1 by 1 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.001 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +bond_style morse +bond_coeff 1 ${d0} ${al} ${r0} +bond_coeff 1 20.0 ${al} ${r0} +bond_coeff 1 20.0 2.0 ${r0} +bond_coeff 1 20.0 2.0 1.2 +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 2683.187147 0 9.675661328 9.675661328 4.837830664 + 1 146.0893547 2514.939772 1.30639385 8.304067455 9.610461305 4.152033728 + 2 485.8091411 2063.804037 4.34431431 5.144839701 9.489154012 2.572419851 + 3 822.0828974 1456.368913 7.351418888 2.06858205 9.420000938 1.034291025 + 4 1018.806679 823.4383177 9.110607565 0.3120667313 9.422674297 0.1560333657 + 5 1050.331347 253.0262957 9.392514704 0.06784692056 9.460361624 0.03392346028 +Loop time of 5.8418e-05 on 1 procs for 5 steps with 4 atoms + + +variable name string pair-morse +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 1 by 1 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.000 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +pair_style morse 4.0 +pair_coeff 1 1 ${d0} ${al} ${r0} +pair_coeff 1 1 20.0 ${al} ${r0} +pair_coeff 1 1 20.0 2.0 ${r0} +pair_coeff 1 1 20.0 2.0 1.2 +pair_modify shift yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6 + ghost atom cutoff = 6 + binsize = 3, bins = 4 4 4 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair morse, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.43 | 4.43 | 4.43 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 2683.187147 0 -30.02905654 -30.02905654 -15.01452827 + 1 146.0893547 2514.939772 1.30639385 -31.40065042 -30.09425657 -15.70032521 + 2 485.8091411 2063.804037 4.34431431 -34.55987817 -30.21556386 -17.27993908 + 3 822.0828974 1456.368913 7.351418888 -37.63613582 -30.28471693 -18.81806791 + 4 1018.806679 823.4383177 9.110607565 -39.39265114 -30.28204357 -19.69632557 + 5 1050.331347 253.0262957 9.392514704 -39.63687095 -30.24435625 -19.81843547 +Loop time of 6.2323e-05 on 1 procs for 5 steps with 4 atoms + + +shell rm -f walltest.restart +Total wall time: 0:00:00 diff --git a/examples/wall/log.23Feb23.wall.table.g++.4 b/examples/wall/log.23Feb23.wall.table.g++.4 new file mode 100644 index 0000000000..d8329f739e --- /dev/null +++ b/examples/wall/log.23Feb23.wall.table.g++.4 @@ -0,0 +1,1131 @@ +LAMMPS (8 Feb 2023) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +units real +atom_style bond +boundary f p p +region box block -5.000000000000001 5.000000000000001 -5 5 -5 5 +create_box 1 box bond/types 1 extra/bond/per/atom 1 extra/special/per/atom 1 +Created orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 2 by 2 MPI processor grid + +pair_style zero 5.0 +pair_coeff * * +mass * 1.0 +bond_style zero +bond_coeff * 1.0 + +create_atoms 1 single -4.0 0.0 0.0 +Created 1 atoms + using lattice units in orthogonal box = (-5 -5 -5) to (5 5 5) + create_atoms CPU = 0.000 seconds +create_atoms 1 single 4.0 0.0 0.0 +Created 1 atoms + using lattice units in orthogonal box = (-5 -5 -5) to (5 5 5) + create_atoms CPU = 0.000 seconds +create_atoms 1 single -5.0 0.0 0.0 +Created 1 atoms + using lattice units in orthogonal box = (-5 -5 -5) to (5 5 5) + create_atoms CPU = 0.000 seconds +create_atoms 1 single 5.0 0.0 0.0 +Created 1 atoms + using lattice units in orthogonal box = (-5 -5 -5) to (5 5 5) + create_atoms CPU = 0.000 seconds +create_bonds single/bond 1 3 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds +create_bonds single/bond 1 4 2 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +group move id 1:2 +2 atoms in group move +write_restart walltest.restart +System init for write_restart ... +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + +variable name string wall-harmonic +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 2 by 2 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.001 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +fix 1 move wall/harmonic xlo -5.0 100 0.0 4.0 xhi 5.0 100 1.0 4.0 +fix_modify 1 energy yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 0 0 1800 1800 0 + 1 16146.37291 6600.295604 144.3878119 1652.527054 1796.914866 0 + 2 59294.04011 24238.149 530.232812 1258.437705 1788.670517 0 + 3 115302.7492 47133.32419 1031.086781 746.8819904 1777.968771 0 + 4 165817.4572 67782.66799 1482.811029 285.5057515 1768.31678 0 + 5 194283.6024 79419.02582 1737.367544 25.51012833 1762.877672 0 +Loop time of 0.000226889 on 4 procs for 5 steps with 4 atoms + + +variable name string table-harmonic +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 2 by 2 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.001 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +fix 1 move wall/table linear 1000 xlo -5.0 walltab.dat HARMONIC 4.0 xhi 5.0 walltab.dat HARMONIC 4.0 +Reading fix wall/table table potential file walltab.dat with DATE: 2023-02-23 +Reading fix wall/table table potential file walltab.dat with DATE: 2023-02-23 +fix_modify 1 energy yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 0 0 1800.000356 1800.000356 0 + 1 16146.37291 6600.295604 144.3878119 1652.527723 1796.915535 0 + 2 59294.04011 24238.149 530.232812 1258.437853 1788.670665 0 + 3 115302.7492 47133.32419 1031.086781 746.8824148 1777.969196 0 + 4 165817.4572 67782.66799 1482.811029 285.5061521 1768.317181 0 + 5 194283.6024 79419.02582 1737.367544 25.51090543 1762.878449 0 +Loop time of 0.000222504 on 4 procs for 5 steps with 4 atoms + + +variable name string spline-harmonic +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 2 by 2 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.001 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +fix 1 move wall/table spline 200 xlo -5.0 walltab.dat HARMONIC 4.0 xhi 5.0 walltab.dat HARMONIC 4.0 +Reading fix wall/table table potential file walltab.dat with DATE: 2023-02-23 +Reading fix wall/table table potential file walltab.dat with DATE: 2023-02-23 +fix_modify 1 energy yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 0 0 1800 1800 0 + 1 16146.37291 6600.295604 144.3878119 1652.527054 1796.914866 0 + 2 59294.04011 24238.149 530.232812 1258.437705 1788.670517 0 + 3 115302.7492 47133.32419 1031.086781 746.8819904 1777.968771 0 + 4 165817.4572 67782.66799 1482.811029 285.5057515 1768.31678 0 + 5 194283.6024 79419.02582 1737.367544 25.51012833 1762.877672 0 +Loop time of 0.000211631 on 4 procs for 5 steps with 4 atoms + + +variable name string bond-harmonic +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 2 by 2 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.001 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +bond_style harmonic +bond_coeff 1 100 4.0 +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +WARNING: Communication cutoff 7 is shorter than a bond length based estimate of 8. This may lead to errors. (src/comm.cpp:723) +Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 27427.366 0 1800 1800 900 + 1 16146.37291 36178.74173 144.3878119 1652.527054 1796.914866 826.263527 + 2 59294.04011 58444.6962 530.232812 1258.437705 1788.670517 629.2188524 + 3 115302.7492 83661.44348 1031.086781 746.8819904 1777.968771 373.4409952 + 4 165817.4572 98424.89283 1482.811029 285.5057515 1768.31678 142.7528758 + 5 194283.6024 91313.53086 1737.367544 25.51012833 1762.877672 12.75506417 +Loop time of 0.00017705 on 4 procs for 5 steps with 4 atoms + + +variable name string pair-harmonic +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 2 by 2 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.001 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +pair_style harmonic/cut +pair_coeff 1 1 100 4.0 +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6 + ghost atom cutoff = 6 + binsize = 3, bins = 4 4 4 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair harmonic/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.38 | 4.56 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 27427.366 0 1800 1800 900 + 1 16146.37291 36178.74173 144.3878119 1652.527054 1796.914866 826.263527 + 2 59294.04011 58444.6962 530.232812 1258.437705 1788.670517 629.2188524 + 3 115302.7492 83661.44348 1031.086781 746.8819904 1777.968771 373.4409952 + 4 165817.4572 98424.89283 1482.811029 285.5057515 1768.31678 142.7528758 + 5 170540.4005 97560.47089 1525.045619 190.8165235 1715.862142 178.0614593 +Loop time of 0.000186388 on 4 procs for 5 steps with 4 atoms + + +variable eps index 0.02 +variable sig index 2.0 +variable name string wall-lj126 +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 2 by 2 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.001 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +fix 1 move wall/lj126 xlo -5.0 ${eps} ${sig} 4.0 xhi 5.0 ${eps} ${sig} 4.0 +fix 1 move wall/lj126 xlo -5.0 0.02 ${sig} 4.0 xhi 5.0 ${eps} ${sig} 4.0 +fix 1 move wall/lj126 xlo -5.0 0.02 2.0 4.0 xhi 5.0 ${eps} ${sig} 4.0 +fix 1 move wall/lj126 xlo -5.0 0.02 2.0 4.0 xhi 5.0 0.02 ${sig} 4.0 +fix 1 move wall/lj126 xlo -5.0 0.02 2.0 4.0 xhi 5.0 0.02 2.0 4.0 +fix_modify 1 energy yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 0 0 645.1224609 645.1224609 0 + 1 178153.8707 72825.53278 1593.128544 0.2259591031 1593.354503 0 + 2 178262.3593 72869.88065 1594.098696 -0.02237405364 1594.076322 0 + 3 178259.9436 72868.89314 1594.077094 -0.003385746252 1594.073708 0 + 4 178259.4975 72868.71081 1594.073105 0 1594.073105 0 + 5 178259.4975 72868.71081 1594.073105 0 1594.073105 0 +WARNING: Bond/angle/dihedral extent > half of periodic box length (src/domain.cpp:936) +Loop time of 0.000258277 on 4 procs for 5 steps with 4 atoms + + +variable name string table-lj126 +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 2 by 2 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.001 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +fix 1 move wall/table linear 1000 xlo -5.0 walltab.dat LJ126 4.0 xhi 5.0 walltab.dat LJ126 4.0 +Reading fix wall/table table potential file walltab.dat with DATE: 2023-02-23 +WARNING: 1 of 400 force values in table are inconsistent with -dE/dr. +WARNING: Should only be flagged at inflection points (src/fix_wall_table.cpp:244) +Reading fix wall/table table potential file walltab.dat with DATE: 2023-02-23 +WARNING: 1 of 400 force values in table are inconsistent with -dE/dr. +WARNING: Should only be flagged at inflection points (src/fix_wall_table.cpp:244) +fix_modify 1 energy yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 0 0 645.2141852 645.2141852 0 + 1 178212.5398 72849.51549 1593.653189 0.2256644171 1593.878854 0 + 2 178320.9331 72893.82438 1594.622489 -0.02236253394 1594.600126 0 + 3 178318.518 72892.83712 1594.600891 -0.0033818408 1594.597509 0 + 4 178318.0722 72892.6549 1594.596905 0 1594.596905 0 + 5 178318.0722 72892.6549 1594.596905 0 1594.596905 0 +WARNING: Bond/angle/dihedral extent > half of periodic box length (src/domain.cpp:936) +Loop time of 0.000230164 on 4 procs for 5 steps with 4 atoms + + +variable name string spline-lj126 +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 2 by 2 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.001 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +fix 1 move wall/table spline 200 xlo -5.0 walltab.dat LJ126 4.0 xhi 5.0 walltab.dat LJ126 4.0 +Reading fix wall/table table potential file walltab.dat with DATE: 2023-02-23 +WARNING: 1 of 400 force values in table are inconsistent with -dE/dr. +WARNING: Should only be flagged at inflection points (src/fix_wall_table.cpp:244) +Reading fix wall/table table potential file walltab.dat with DATE: 2023-02-23 +WARNING: 1 of 400 force values in table are inconsistent with -dE/dr. +WARNING: Should only be flagged at inflection points (src/fix_wall_table.cpp:244) +fix_modify 1 energy yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 0 0 645.3361317 645.3361317 0 + 1 161871.9611 66169.83266 1447.528705 0.3353251002 1447.86403 0 + 2 162015.342 66228.44376 1448.810879 -0.02581160308 1448.785068 0 + 3 162012.784 66227.39811 1448.788005 -0.004635008226 1448.78337 0 + 4 162012.2554 66227.18201 1448.783278 0 1448.783278 0 + 5 162012.2554 66227.18201 1448.783278 0 1448.783278 0 +WARNING: Bond/angle/dihedral extent > half of periodic box length (src/domain.cpp:936) +Loop time of 0.000182437 on 4 procs for 5 steps with 4 atoms + + +variable name string pair-lj126 +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 2 by 2 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.001 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +pair_style lj/cut 4.0 +pair_coeff 1 1 ${eps} ${sig} +pair_coeff 1 1 0.02 ${sig} +pair_coeff 1 1 0.02 2.0 +pair_modify shift yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6 + ghost atom cutoff = 6 + binsize = 3, bins = 4 4 4 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.38 | 4.56 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 178343.7047 0 645.1224609 645.1224609 322.5612305 + 1 178153.8707 72925.96146 1593.128544 0.2259591031 1593.354503 0.1129795516 + 2 178262.3593 72867.28485 1594.098696 -0.02237405364 1594.076322 -0.01118702682 + 3 178260.8147 72867.80305 1594.084884 -0.007499601847 1594.077384 -0.005806728722 + 4 176007.6835 72778.53677 1573.936415 2.772305717 1576.708721 2.772305717 + 5 1.132219912e+27 4.628275436e+26 1.012479748e+25 3.761972158e+12 1.012479748e+25 3.761972158e+12 +WARNING: Bond/angle/dihedral extent > half of periodic box length (src/domain.cpp:936) +Loop time of 0.000170205 on 4 procs for 5 steps with 4 atoms + + +variable d0 index 20.0 +variable al index 2.0 +variable r0 index 1.2 + +variable name string wall-morse +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 2 by 2 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.001 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +fix 1 move wall/morse xlo -5.0 ${d0} ${al} ${r0} 4.0 xhi 5.0 ${d0} ${al} ${r0} 4.0 +fix 1 move wall/morse xlo -5.0 20.0 ${al} ${r0} 4.0 xhi 5.0 ${d0} ${al} ${r0} 4.0 +fix 1 move wall/morse xlo -5.0 20.0 2.0 ${r0} 4.0 xhi 5.0 ${d0} ${al} ${r0} 4.0 +fix 1 move wall/morse xlo -5.0 20.0 2.0 1.2 4.0 xhi 5.0 ${d0} ${al} ${r0} 4.0 +fix 1 move wall/morse xlo -5.0 20.0 2.0 1.2 4.0 xhi 5.0 20.0 ${al} ${r0} 4.0 +fix 1 move wall/morse xlo -5.0 20.0 2.0 1.2 4.0 xhi 5.0 20.0 2.0 ${r0} 4.0 +fix 1 move wall/morse xlo -5.0 20.0 2.0 1.2 4.0 xhi 5.0 20.0 2.0 1.2 4.0 +fix_modify 1 energy yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 0 0 -30.02905654 -30.02905654 0 + 1 144.4114716 59.032354 1.291389498 -31.40065042 -30.10926092 0 + 2 471.9742076 192.9330696 4.220596384 -34.53885647 -30.31826008 0 + 3 784.0772455 320.5141877 7.011556 -37.58109301 -30.56953701 0 + 4 961.8950756 393.2023542 8.601679525 -39.34691775 -30.74523823 0 + 5 996.609681 407.3929504 8.91211246 -39.66353245 -30.75141999 0 +Loop time of 0.000141964 on 4 procs for 5 steps with 4 atoms + + +variable name string table-morse +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 2 by 2 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.001 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +fix 1 move wall/table linear 1000 xlo -5.0 walltab.dat MORSE 4.0 xhi 5.0 walltab.dat MORSE 4.0 +Reading fix wall/table table potential file walltab.dat with DATE: 2023-02-23 +Reading fix wall/table table potential file walltab.dat with DATE: 2023-02-23 +fix_modify 1 energy yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 0 0 -30.0282104 -30.0282104 0 + 1 146.0967469 59.72125889 1.306459954 -31.40033773 -30.09387777 0 + 2 485.8417772 198.6018386 4.344606156 -34.55851819 -30.21391203 0 + 3 822.1558136 336.0799007 7.352070936 -37.63533573 -30.28326479 0 + 4 1018.904947 416.5067832 9.111486314 -39.39200056 -30.28051425 0 + 5 1050.436268 429.3961205 9.393452958 -39.63643565 -30.24298269 0 +Loop time of 0.000146935 on 4 procs for 5 steps with 4 atoms + + +variable name string spline-morse +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 2 by 2 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.001 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +fix 1 move wall/table spline 1000 xlo -5.0 walltab.dat MORSE 4.0 xhi 5.0 walltab.dat MORSE 4.0 +Reading fix wall/table table potential file walltab.dat with DATE: 2023-02-23 +Reading fix wall/table table potential file walltab.dat with DATE: 2023-02-23 +fix_modify 1 energy yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 0 0 -30.02905657 -30.02905657 0 + 1 146.0893531 59.71823647 1.306393836 -31.40065068 -30.09425684 0 + 2 485.809133 198.5884944 4.344314238 -34.55987846 -30.21556422 0 + 3 822.0828818 336.0500877 7.351418748 -37.63613601 -30.28471726 0 + 4 1018.80666 416.4666056 9.110607389 -39.39265128 -30.28204389 0 + 5 1050.331328 429.353223 9.392514534 -39.63687099 -30.24435645 0 +Loop time of 0.000143113 on 4 procs for 5 steps with 4 atoms + + +variable name string bond-morse +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 2 by 2 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.001 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +bond_style morse +bond_coeff 1 ${d0} ${al} ${r0} +bond_coeff 1 20.0 ${al} ${r0} +bond_coeff 1 20.0 2.0 ${r0} +bond_coeff 1 20.0 2.0 1.2 +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7 + ghost atom cutoff = 7 + binsize = 3.5, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 2683.187147 0 9.675661328 9.675661328 4.837830664 + 1 146.0893547 2514.939772 1.30639385 8.304067455 9.610461305 4.152033728 + 2 485.8091411 2063.804037 4.34431431 5.144839701 9.489154012 2.572419851 + 3 822.0828974 1456.368913 7.351418888 2.06858205 9.420000938 1.034291025 + 4 1018.806679 823.4383177 9.110607565 0.3120667313 9.422674297 0.1560333657 + 5 1050.331347 253.0262957 9.392514704 0.06784692056 9.460361624 0.03392346028 +Loop time of 0.000130547 on 4 procs for 5 steps with 4 atoms + + +variable name string pair-morse +include wall.inc + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +read_restart walltest.restart +Reading restart file ... + restart file = 8 Feb 2023, LAMMPS = 8 Feb 2023 + restoring atom style bond from restart + orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 2 by 2 MPI processor grid + restoring pair style zero from restart + restoring bond style zero from restart + 4 atoms + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 1 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_restart CPU = 0.001 seconds +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 1 1 1 + special bond factors coul: 1 1 1 + 1 = max # of 1-2 neighbors + 3 = max # of special neighbors + special bonds CPU = 0.000 seconds + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g + +pair_style morse 4.0 +pair_coeff 1 1 ${d0} ${al} ${r0} +pair_coeff 1 1 20.0 ${al} ${r0} +pair_coeff 1 1 20.0 2.0 ${r0} +pair_coeff 1 1 20.0 2.0 1.2 +pair_modify shift yes +run 5 post no +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6 + ghost atom cutoff = 6 + binsize = 3, bins = 4 4 4 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair morse, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.38 | 4.56 Mbytes + Step Temp Press KinEng PotEng TotEng c_pe + 0 0 2683.187147 0 -30.02905654 -30.02905654 -15.01452827 + 1 146.0893547 2514.939772 1.30639385 -31.40065042 -30.09425657 -15.70032521 + 2 485.8091411 2063.804037 4.34431431 -34.55987817 -30.21556386 -17.27993908 + 3 822.0828974 1456.368913 7.351418888 -37.63613582 -30.28471693 -18.81806791 + 4 1018.806679 823.4383177 9.110607565 -39.39265114 -30.28204357 -19.69632557 + 5 1050.331347 253.0262957 9.392514704 -39.63687095 -30.24435625 -19.81843547 +Loop time of 0.000136551 on 4 procs for 5 steps with 4 atoms + + +shell rm -f walltest.restart +Total wall time: 0:00:00 diff --git a/examples/wall/wall.inc b/examples/wall/wall.inc new file mode 100644 index 0000000000..1b36f2c38e --- /dev/null +++ b/examples/wall/wall.inc @@ -0,0 +1,16 @@ + +clear +read_restart walltest.restart +# log ${name}.log + +compute ea move pe/atom +compute pe move reduce sum c_ea +special_bonds lj/coul 1.0 1.0 1.0 + +thermo_style custom step temp press ke pe etotal c_pe +thermo 1 +thermo_modify format float %14.10g + +fix 0 move nve +# dump 1 all custom 1 ${name}.dump id x fx +# dump_modify 1 format float %20.15g diff --git a/examples/wall/walltab.dat b/examples/wall/walltab.dat new file mode 100644 index 0000000000..53b2b42700 --- /dev/null +++ b/examples/wall/walltab.dat @@ -0,0 +1,1212 @@ +# DATE: 2023-02-23 UNITS: real +HARMONIC +N 400 FP 199.99999998802 200.000000002102 + + 1 0.01 1592.01 798 + 2 0.02 1584.04 796 + 3 0.03 1576.09 794 + 4 0.04 1568.16 792 + 5 0.05 1560.25 790 + 6 0.06 1552.36 788 + 7 0.07 1544.49 786 + 8 0.08 1536.64 784 + 9 0.09 1528.81 782 + 10 0.1 1521 780 + 11 0.11 1513.21 778 + 12 0.12 1505.44 776 + 13 0.13 1497.69 774 + 14 0.14 1489.96 772 + 15 0.15 1482.25 770 + 16 0.16 1474.56 768 + 17 0.17 1466.89 766 + 18 0.18 1459.24 764 + 19 0.19 1451.61 762 + 20 0.2 1444 760 + 21 0.21 1436.41 758 + 22 0.22 1428.84 756 + 23 0.23 1421.29 754 + 24 0.24 1413.76 752 + 25 0.25 1406.25 750 + 26 0.26 1398.76 748 + 27 0.27 1391.29 746 + 28 0.28 1383.84 744 + 29 0.29 1376.41 742 + 30 0.3 1369 740 + 31 0.31 1361.61 738 + 32 0.32 1354.24 736 + 33 0.33 1346.89 734 + 34 0.34 1339.56 732 + 35 0.35 1332.25 730 + 36 0.36 1324.96 728 + 37 0.37 1317.69 726 + 38 0.38 1310.44 724 + 39 0.39 1303.21 722 + 40 0.4 1296 720 + 41 0.41 1288.81 718 + 42 0.42 1281.64 716 + 43 0.43 1274.49 714 + 44 0.44 1267.36 712 + 45 0.45 1260.25 710 + 46 0.46 1253.16 708 + 47 0.47 1246.09 706 + 48 0.48 1239.04 704 + 49 0.49 1232.01 702 + 50 0.5 1225 700 + 51 0.51 1218.01 698 + 52 0.52 1211.04 696 + 53 0.53 1204.09 694 + 54 0.54 1197.16 692 + 55 0.55 1190.25 690 + 56 0.56 1183.36 688 + 57 0.57 1176.49 686 + 58 0.58 1169.64 684 + 59 0.59 1162.81 682 + 60 0.6 1156 680 + 61 0.61 1149.21 678 + 62 0.62 1142.44 676 + 63 0.63 1135.69 674 + 64 0.64 1128.96 672 + 65 0.65 1122.25 670 + 66 0.66 1115.56 668 + 67 0.67 1108.89 666 + 68 0.68 1102.24 664 + 69 0.69 1095.61 662 + 70 0.7 1089 660 + 71 0.71 1082.41 658 + 72 0.72 1075.84 656 + 73 0.73 1069.29 654 + 74 0.74 1062.76 652 + 75 0.75 1056.25 650 + 76 0.76 1049.76 648 + 77 0.77 1043.29 646 + 78 0.78 1036.84 644 + 79 0.79 1030.41 642 + 80 0.8 1024 640 + 81 0.81 1017.61 638 + 82 0.82 1011.24 636 + 83 0.83 1004.89 634 + 84 0.84 998.56 632 + 85 0.85 992.25 630 + 86 0.86 985.96 628 + 87 0.87 979.69 626 + 88 0.88 973.44 624 + 89 0.89 967.21 622 + 90 0.9 961 620 + 91 0.91 954.81 618 + 92 0.92 948.64 616 + 93 0.93 942.49 614 + 94 0.94 936.36 612 + 95 0.95 930.25 610 + 96 0.96 924.16 608 + 97 0.97 918.09 606 + 98 0.98 912.04 604 + 99 0.99 906.01 602 + 100 1 900 600 + 101 1.01 894.01 598 + 102 1.02 888.04 596 + 103 1.03 882.09 594 + 104 1.04 876.16 592 + 105 1.05 870.25 590 + 106 1.06 864.36 588 + 107 1.07 858.49 586 + 108 1.08 852.64 584 + 109 1.09 846.81 582 + 110 1.1 841 580 + 111 1.11 835.21 578 + 112 1.12 829.44 576 + 113 1.13 823.69 574 + 114 1.14 817.96 572 + 115 1.15 812.25 570 + 116 1.16 806.56 568 + 117 1.17 800.89 566 + 118 1.18 795.24 564 + 119 1.19 789.61 562 + 120 1.2 784 560 + 121 1.21 778.41 558 + 122 1.22 772.84 556 + 123 1.23 767.29 554 + 124 1.24 761.76 552 + 125 1.25 756.25 550 + 126 1.26 750.76 548 + 127 1.27 745.29 546 + 128 1.28 739.84 544 + 129 1.29 734.41 542 + 130 1.3 729 540 + 131 1.31 723.61 538 + 132 1.32 718.24 536 + 133 1.33 712.89 534 + 134 1.34 707.56 532 + 135 1.35 702.25 530 + 136 1.36 696.96 528 + 137 1.37 691.69 526 + 138 1.38 686.44 524 + 139 1.39 681.21 522 + 140 1.4 676 520 + 141 1.41 670.81 518 + 142 1.42 665.64 516 + 143 1.43 660.49 514 + 144 1.44 655.36 512 + 145 1.45 650.25 510 + 146 1.46 645.16 508 + 147 1.47 640.09 506 + 148 1.48 635.04 504 + 149 1.49 630.01 502 + 150 1.5 625 500 + 151 1.51 620.01 498 + 152 1.52 615.04 496 + 153 1.53 610.09 494 + 154 1.54 605.16 492 + 155 1.55 600.25 490 + 156 1.56 595.36 488 + 157 1.57 590.49 486 + 158 1.58 585.64 484 + 159 1.59 580.81 482 + 160 1.6 576 480 + 161 1.61 571.21 478 + 162 1.62 566.44 476 + 163 1.63 561.69 474 + 164 1.64 556.96 472 + 165 1.65 552.25 470 + 166 1.66 547.56 468 + 167 1.67 542.89 466 + 168 1.68 538.24 464 + 169 1.69 533.61 462 + 170 1.7 529 460 + 171 1.71 524.41 458 + 172 1.72 519.84 456 + 173 1.73 515.29 454 + 174 1.74 510.76 452 + 175 1.75 506.25 450 + 176 1.76 501.76 448 + 177 1.77 497.29 446 + 178 1.78 492.84 444 + 179 1.79 488.41 442 + 180 1.8 484 440 + 181 1.81 479.61 438 + 182 1.82 475.24 436 + 183 1.83 470.89 434 + 184 1.84 466.56 432 + 185 1.85 462.25 430 + 186 1.86 457.96 428 + 187 1.87 453.69 426 + 188 1.88 449.44 424 + 189 1.89 445.21 422 + 190 1.9 441 420 + 191 1.91 436.81 418 + 192 1.92 432.64 416 + 193 1.93 428.49 414 + 194 1.94 424.36 412 + 195 1.95 420.25 410 + 196 1.96 416.16 408 + 197 1.97 412.09 406 + 198 1.98 408.04 404 + 199 1.99 404.01 402 + 200 2 400 400 + 201 2.01 396.01 398 + 202 2.02 392.04 396 + 203 2.03 388.09 394 + 204 2.04 384.16 392 + 205 2.05 380.25 390 + 206 2.06 376.36 388 + 207 2.07 372.49 386 + 208 2.08 368.64 384 + 209 2.09 364.81 382 + 210 2.1 361 380 + 211 2.11 357.21 378 + 212 2.12 353.44 376 + 213 2.13 349.69 374 + 214 2.14 345.96 372 + 215 2.15 342.25 370 + 216 2.16 338.56 368 + 217 2.17 334.89 366 + 218 2.18 331.24 364 + 219 2.19 327.61 362 + 220 2.2 324 360 + 221 2.21 320.41 358 + 222 2.22 316.84 356 + 223 2.23 313.29 354 + 224 2.24 309.76 352 + 225 2.25 306.25 350 + 226 2.26 302.76 348 + 227 2.27 299.29 346 + 228 2.28 295.84 344 + 229 2.29 292.41 342 + 230 2.3 289 340 + 231 2.31 285.61 338 + 232 2.32 282.24 336 + 233 2.33 278.89 334 + 234 2.34 275.56 332 + 235 2.35 272.25 330 + 236 2.36 268.96 328 + 237 2.37 265.69 326 + 238 2.38 262.44 324 + 239 2.39 259.21 322 + 240 2.4 256 320 + 241 2.41 252.81 318 + 242 2.42 249.64 316 + 243 2.43 246.49 314 + 244 2.44 243.36 312 + 245 2.45 240.25 310 + 246 2.46 237.16 308 + 247 2.47 234.09 306 + 248 2.48 231.04 304 + 249 2.49 228.01 302 + 250 2.5 225 300 + 251 2.51 222.01 298 + 252 2.52 219.04 296 + 253 2.53 216.09 294 + 254 2.54 213.16 292 + 255 2.55 210.25 290 + 256 2.56 207.36 288 + 257 2.57 204.49 286 + 258 2.58 201.64 284 + 259 2.59 198.81 282 + 260 2.6 196 280 + 261 2.61 193.21 278 + 262 2.62 190.44 276 + 263 2.63 187.69 274 + 264 2.64 184.96 272 + 265 2.65 182.25 270 + 266 2.66 179.56 268 + 267 2.67 176.89 266 + 268 2.68 174.24 264 + 269 2.69 171.61 262 + 270 2.7 169 260 + 271 2.71 166.41 258 + 272 2.72 163.84 256 + 273 2.73 161.29 254 + 274 2.74 158.76 252 + 275 2.75 156.25 250 + 276 2.76 153.76 248 + 277 2.77 151.29 246 + 278 2.78 148.84 244 + 279 2.79 146.41 242 + 280 2.8 144 240 + 281 2.81 141.61 238 + 282 2.82 139.24 236 + 283 2.83 136.89 234 + 284 2.84 134.56 232 + 285 2.85 132.25 230 + 286 2.86 129.96 228 + 287 2.87 127.69 226 + 288 2.88 125.44 224 + 289 2.89 123.21 222 + 290 2.9 121 220 + 291 2.91 118.81 218 + 292 2.92 116.64 216 + 293 2.93 114.49 214 + 294 2.94 112.36 212 + 295 2.95 110.25 210 + 296 2.96 108.16 208 + 297 2.97 106.09 206 + 298 2.98 104.04 204 + 299 2.99 102.01 202 + 300 3 100 200 + 301 3.01 98.01 198 + 302 3.02 96.04 196 + 303 3.03 94.09 194 + 304 3.04 92.16 192 + 305 3.05 90.25 190 + 306 3.06 88.36 188 + 307 3.07 86.49 186 + 308 3.08 84.64 184 + 309 3.09 82.81 182 + 310 3.1 81.0000000000001 180 + 311 3.11 79.21 178 + 312 3.12 77.4400000000001 176 + 313 3.13 75.69 174 + 314 3.14 73.9600000000001 172 + 315 3.15 72.25 170 + 316 3.16 70.56 168 + 317 3.17 68.89 166 + 318 3.18 67.2400000000001 164 + 319 3.19 65.61 162 + 320 3.2 64 160 + 321 3.21 62.41 158 + 322 3.22 60.84 156 + 323 3.23 59.29 154 + 324 3.24 57.76 152 + 325 3.25 56.25 150 + 326 3.26 54.76 148 + 327 3.27 53.29 146 + 328 3.28 51.84 144 + 329 3.29 50.41 142 + 330 3.3 49 140 + 331 3.31 47.61 138 + 332 3.32 46.24 136 + 333 3.33 44.89 134 + 334 3.34 43.56 132 + 335 3.35 42.25 130 + 336 3.36 40.96 128 + 337 3.37 39.69 126 + 338 3.38 38.44 124 + 339 3.39 37.21 122 + 340 3.4 36 120 + 341 3.41 34.81 118 + 342 3.42 33.64 116 + 343 3.43 32.49 114 + 344 3.44 31.36 112 + 345 3.45 30.25 110 + 346 3.46 29.16 108 + 347 3.47 28.09 106 + 348 3.48 27.04 104 + 349 3.49 26.01 102 + 350 3.5 25 100 + 351 3.51 24.01 98 + 352 3.52 23.04 96 + 353 3.53 22.09 94 + 354 3.54 21.16 92 + 355 3.55 20.25 90 + 356 3.56 19.36 88 + 357 3.57 18.49 86 + 358 3.58 17.64 84 + 359 3.59 16.81 82 + 360 3.6 16 80.0000000000001 + 361 3.61 15.21 78 + 362 3.62 14.44 76.0000000000001 + 363 3.63 13.69 74 + 364 3.64 12.96 72.0000000000001 + 365 3.65 12.25 70 + 366 3.66 11.56 68.0000000000001 + 367 3.67 10.89 66 + 368 3.68 10.24 64.0000000000001 + 369 3.69 9.61 62 + 370 3.7 9.00000000000002 60.0000000000001 + 371 3.71 8.41 58 + 372 3.72 7.84000000000001 56 + 373 3.73 7.29 54 + 374 3.74 6.76000000000001 52 + 375 3.75 6.25 50 + 376 3.76 5.76000000000001 48 + 377 3.77 5.29 46 + 378 3.78 4.84000000000001 44 + 379 3.79 4.41 42 + 380 3.8 4.00000000000001 40 + 381 3.81 3.61 38 + 382 3.82 3.24000000000001 36 + 383 3.83 2.89 34 + 384 3.84 2.56 32 + 385 3.85 2.25000000000001 30.0000000000001 + 386 3.86 1.96 28 + 387 3.87 1.69000000000001 26.0000000000001 + 388 3.88 1.44 24 + 389 3.89 1.21000000000001 22.0000000000001 + 390 3.9 1 20 + 391 3.91 0.810000000000005 18.0000000000001 + 392 3.92 0.640000000000001 16 + 393 3.93 0.490000000000004 14.0000000000001 + 394 3.94 0.360000000000001 12 + 395 3.95 0.250000000000003 10.0000000000001 + 396 3.96 0.16 8.00000000000001 + 397 3.97 0.0900000000000015 6.00000000000005 + 398 3.98 0.0400000000000001 4 + 399 3.99 0.0100000000000005 2.00000000000005 + 400 4 0 -0 + +LJ126 +N 400 FP 5.1118735962137e+32 -0.00309082031258548 + + 1 0.01 3.27679999999995e+26 3.93215999999997e+29 + 2 0.02 7.999999999992e+22 4.7999999999976e+25 + 3 0.03 6.16587730333692e+20 2.46635092134882e+23 + 4 0.04 1.953124999875e+19 5.8593749998125e+21 + 5 0.05 1.34217727967232e+18 3.22122547160678e+20 + 6 0.06 1.50534113742974e+17 3.01068227595687e+19 + 7 0.07 2.36740987047768e+16 4.0584169245491e+18 + 8 0.08 4.7683715625e+15 7.15255735839844e+17 + 9 0.09 1.16021858535701e+15 1.54695812023214e+17 + 10 0.1 327679994880000 3.93215996928e+16 + 11 0.11 104408943457223 1.1390066716612e+16 + 12 0.12 36751490925145.1 3.67514917824839e+15 + 13 0.13 14064674137985.3 1.29827766169443e+15 + 14 0.14 5779808584731.93 495412193547970 + 15 0.15 2525542893983.11 202043449498347 + 16 0.16 1164152913093.57 87311479926109.3 + 17 0.17 562422536382.565 39700421819385.7 + 18 0.18 283256342383.657 18883761176714.3 + 19 0.19 148049315667.806 9350486531543.45 + 20 0.2 79999920000 4799997600000 + 21 0.21 44546933756.973 2545540777462.22 + 22 0.22 25490420258.9142 1390387791156.62 + 23 0.23 14952537428.7256 780133289834.579 + 24 0.24 8972505590.93106 448625949342.506 + 25 0.25 5497537167.36 263882287349.76 + 26 0.26 3433742019.34244 158480783371.887 + 27 0.27 2183142760.29056 97028860804.3568 + 28 0.28 1411075621.44501 60474897165.3154 + 29 0.29 926125673.822696 38322619763.6554 + 30 0.3 616580707.0211 24663368747.2363 + 31 0.31 416009823.905961 16103717744.5564 + 32 0.32 284212325.932458 10658051629.4343 + 33 0.33 196459888.227809 7144068017.02626 + 34 0.34 137306926.997591 4846185323.48129 + 35 0.35 96966323.2389768 3324607400.77709 + 36 0.36 69152065.1207238 2305108038.94961 + 37 0.37 49775064.9237755 1614358790.00722 + 38 0.38 36143178.5600903 1141390382.96618 + 39 0.39 26463712.6560866 814290467.337231 + 40 0.4 19530000 585918750 + 41 0.41 14521498.0087087 425035227.636584 + 42 0.42 10874798.0545347 310721841.118787 + 43 0.43 8199466.01317535 228833608.99882 + 44 0.44 6222552.56599285 169715600.787249 + 45 0.45 4751638.77735359 126718588.565834 + 46 0.46 3649989.86758843 95224175.8000662 + 47 0.47 2819697.29321996 71998334.9953008 + 48 0.48 2190141.04129116 54758758.8131646 + 49 0.49 1710027.28319849 41882748.66355 + 50 0.5 1341849.6 32208322.56 + 51 0.51 1058006.65523823 24897697.4228116 + 52 0.52 838060.998837605 19342857.3223731 + 53 0.53 666789.987179218 15099746.8961697 + 54 0.54 532790.570446716 11842084.8319641 + 55 0.55 427474.077421262 9328724.96356281 + 56 0.56 344337.465207402 7380438.67822062 + 57 0.57 278431.824939693 5863294.06820348 + 58 0.58 225972.508581954 4676684.59533017 + 59 0.59 184051.546113289 3744655.68033901 + 60 0.6 150424.374483715 3009584.88336429 + 61 0.61 123350.855088644 2427551.68856224 + 62 0.62 101476.166388201 1964927.16046069 + 63 0.63 83741.1380986279 1595849.194324 + 64 0.64 69314.433233103 1300344.11505164 + 65 0.65 57541.0221131564 1062922.4467121 + 66 0.66 47902.8627772938 871524.277886254 + 67 0.67 39988.7686350844 716723.622846053 + 68 0.68 33471.2216469342 591125.556925389 + 69 0.69 28088.4588685097 488907.487779091 + 70 0.7 23630.5794663641 405468.670411373 + 71 0.71 19928.7293797829 337161.358693302 + 72 0.72 16846.6511480469 281083.781572781 + 73 0.73 14274.0582893633 234920.128588064 + 74 0.74 12121.4223978073 196816.419317638 + 75 0.75 10315.8580177291 165283.868420841 + 76 0.76 8797.86354892769 139123.396620918 + 77 0.77 7518.73194262011 117366.462742951 + 78 0.78 6438.48720142382 99228.5368424456 + 79 0.79 5524.23497941619 84072.3974988274 + 80 0.8 4748.84033203125 71379.0893554688 + 81 0.81 4089.86471239314 60724.8728913557 + 82 0.82 3528.70901623885 51762.8763522511 + 83 0.83 3049.92086898724 44208.4488137823 + 84 0.84 2640.63320118397 37827.4351559535 + 85 0.85 2290.10805995704 32426.7645022107 + 86 0.86 1989.36500087798 27846.8755825359 + 87 0.87 1730.87763742956 23955.6046859174 + 88 0.88 1508.32525488308 20643.2413037218 + 89 0.89 1316.38902199036 17818.5184898513 + 90 0.9 1150.58441170462 15405.3533779721 + 91 0.91 1007.12309029864 13340.1912562734 + 92 0.92 882.798845070896 11569.8364467355 + 93 0.93 774.893166074233 10049.6767670538 + 94 0.94 681.096932892021 8742.22695500175 + 95 0.95 599.44532713569 7615.93117817949 + 96 0.96 528.263629303608 6644.17646696409 + 97 0.97 466.121991846633 5804.47824031498 + 98 0.98 411.797629942172 5077.80654581059 + 99 0.99 364.243154342175 4448.0275999211 + 100 1 322.56 3901.44 + 101 1.01 285.976090530384 3426.38882771447 + 102 1.02 253.827030297804 3012.94396513177 + 103 1.03 225.540239747413 2652.63144983911 + 104 1.04 200.621550834657 2338.20872331377 + 105 1.05 178.643862357643 2063.4762716918 + 106 1.06 159.23752308986 1823.11949517041 + 107 1.07 142.082166618064 1612.5757313387 + 108 1.08 126.899767943477 1427.92224653664 + 109 1.09 113.448730008354 1265.78173613026 + 110 1.1 101.518839825454 1123.24247003337 + 111 1.11 90.9269600009698 997.790708555212 + 112 1.12 81.5133431159172 887.25341556569 + 113 1.13 73.1384744523848 789.749627072004 + 114 1.14 65.6803635603396 703.649106551692 + 115 1.15 59.0322176820994 627.537144288344 + 116 1.16 53.1004405144923 560.184545032147 + 117 1.17 47.8029085455291 500.522003491118 + 118 1.18 43.0674845428558 447.618196099855 + 119 1.19 38.8307339338883 400.661024822347 + 120 1.2 35.0368149992191 358.941538195209 + 121 1.21 31.6365181642494 321.84012949674 + 122 1.22 28.5864333536624 288.81467437058 + 123 1.23 25.8482274809145 259.390322524165 + 124 1.24 23.3880167730451 233.150701977299 + 125 1.25 21.1758208568525 209.730331169784 + 126 1.26 19.1850874200435 188.808065217971 + 127 1.27 17.3922778638774 170.101428704978 + 128 1.28 15.7765057268167 153.361709399544 + 129 1.29 14.3192208191916 138.369705888684 + 130 1.3 13.0039329982385 124.93203783215 + 131 1.31 11.8159703573738 112.877940862029 + 132 1.32 10.742267325336 102.056479441995 + 133 1.33 9.77117878844351 92.3341205878234 + 134 1.34 8.89231687835239 83.5926195011401 + 135 1.35 8.09640752156034 75.7271751060856 + 136 1.36 7.37516423666038 68.6448193911968 + 137 1.37 6.72117700043457 62.2630095039278 + 138 1.38 6.12781429229003 56.5083958552413 + 139 1.39 5.58913667505634 51.3157431780328 + 140 1.4 5.09982048453558 46.6269846396698 + 141 1.41 4.65509038531888 42.3903918148852 + 142 1.42 4.25065971041413 38.5598456475375 + 143 1.43 3.88267764071721 35.094195524972 + 144 1.44 3.54768240032668 31.9566953047941 + 145 1.45 3.2425597477324 29.1145066114402 + 146 1.46 2.96450613320954 26.5382609934959 + 147 1.47 2.71099597121152 24.201673631581 + 148 1.48 2.47975254479573 22.0812022357191 + 149 1.49 2.26872211852512 20.1557455917022 + 150 1.5 2.07605088805719 18.406376926131 + 151 1.51 1.90006443978594 16.8161078750468 + 152 1.52 1.73924943332248 15.3696793745607 + 153 1.53 1.59223725404604 14.0533762549498 + 154 1.54 1.45778941308428 12.8548627219953 + 155 1.55 1.3347844984538 11.7630362591856 + 156 1.56 1.22220650419816 10.7678977889214 + 157 1.57 1.11913438462253 9.8604361961486 + 158 1.58 1.0247326985066 9.03252554917343 + 159 1.59 0.938243223797885 8.27683355430592 + 160 1.6 0.858977437019348 7.58673995733261 + 161 1.61 0.786309763707168 6.95626375900101 + 162 1.62 0.719671516833175 6.37999824660786 + 163 1.63 0.658545449541767 5.85305296192972 + 164 1.64 0.602460856799685 5.37100182928644 + 165 1.65 0.550989167855032 4.92983675836218 + 166 1.66 0.50373997784832 4.52592611615155 + 167 1.67 0.460357472616855 4.15597753246054 + 168 1.68 0.420517205774839 3.81700456499657 + 169 1.69 0.383923191614426 3.5062968042922 + 170 1.7 0.350305281326764 3.22139304644752 + 171 1.71 0.319416793547456 2.96005720375087 + 172 1.72 0.291032373340814 2.72025666034601 + 173 1.73 0.264946056498474 2.50014281286752 + 174 1.74 0.240969518481067 2.29803356489672 + 175 1.75 0.218930489512642 2.11239756966217 + 176 1.76 0.198671319277887 1.94184003802907 + 177 1.77 0.180047676399622 1.78508994884384 + 178 1.78 0.162927369412905 1.64098851643657 + 179 1.79 0.147189277323862 1.50847878580419 + 180 1.8 0.132722379065058 1.38659623994277 + 181 1.81 0.119424872251388 1.27446031617392 + 182 1.82 0.107203372615978 1.17126673930439 + 183 1.83 0.0959721863774054 1.07628058922823 + 184 1.84 0.0856526485691159 0.988830029271115 + 185 1.85 0.0761725210595532 0.908300629309384 + 186 1.86 0.0674654446160545 0.834130224582963 + 187 1.87 0.0594704399251235 0.765804257257523 + 188 1.88 0.0521314529832651 0.702851553262425 + 189 1.89 0.0453969407224163 0.644840491811995 + 190 1.9 0.0392194931377522 0.591375529375228 + 191 1.91 0.0335554885481552 0.542094043751032 + 192 1.92 0.0283647789453533 0.49666346738496 + 193 1.93 0.0236104026805308 0.454778682174315 + 194 1.94 0.0192583220005616 0.416159650792266 + 195 1.95 0.0152771831830326 0.380549262054052 + 196 1.96 0.011638097232609 0.347711370081059 + 197 1.97 0.00831443929356093 0.317429009019945 + 198 1.98 0.00528166510655355 0.289502766868822 + 199 1.99 0.00251714299408876 0.263749303573146 + 200 2 0 0.24 + 201 2.01 -0.00228901906429909 0.218099725698431 + 202 2.02 -0.00436768079912425 0.197905714521054 + 203 2.03 -0.00625238164979804 0.179286538232021 + 204 2.04 -0.00795825652836287 0.162121169171087 + 205 2.05 -0.00949927847321568 0.14629812389388 + 206 2.06 -0.0108883501192544 0.131714680474321 + 207 2.07 -0.0121373876814899 0.118276162845335 + 208 2.08 -0.0132573980920064 0.105895286176151 + 209 2.09 -0.0142585498729917 0.0944915578457512 + 210 2.1 -0.0151502382767254 0.0839907290785127 + 211 2.11 -0.0159411451764045 0.0743242927653805 + 212 2.12 -0.016639294149014 0.0654290234070173 + 213 2.13 -0.0172521011527193 0.0572465554886841 + 214 2.14 -0.0177864211660622 0.0497229969341964 + 215 2.15 -0.0182485911242772 0.0428085745916192 + 216 2.16 -0.0186444694589691 0.0364573089797509 + 217 2.17 -0.0189794725209579 0.0306267157746301 + 218 2.18 -0.0192586081420424 0.0252775317419794 + 219 2.19 -0.019486506569534 0.020373463026883 + 220 2.2 -0.0196674489874736 0.0158809538982407 + 221 2.21 -0.0198053938202783 0.0117689742144395 + 222 2.22 -0.0199040009980056 0.0080088240299791 + 223 2.23 -0.0199666543473297 0.00457395390192573 + 224 2.24 -0.0199964822585545 0.00143979958145524 + 225 2.25 -0.019996376766422 -0.00141637010943526 + 226 2.26 -0.019969011171008 -0.00401559331158788 + 227 2.27 -0.0199168563145235 -0.00637734407335522 + 228 2.28 -0.0198421956202703 -0.00851965112057023 + 229 2.29 -0.0197471389912575 -0.0104592072875345 + 230 2.3 -0.0196336356579912 -0.0122114703731947 + 231 2.31 -0.0195034860576381 -0.0137907561215244 + 232 2.32 -0.0193583528200755 -0.0152103239657529 + 233 2.33 -0.0191997709302198 -0.0164824561219656 + 234 2.34 -0.0190291571304174 -0.0176185305682534 + 235 2.35 -0.0188478186215532 -0.0186290884005698 + 236 2.36 -0.0186569611168248 -0.0195238960153759 + 237 2.37 -0.0184576962978232 -0.0203120025316505 + 238 2.38 -0.0182510487186061 -0.0210017928305951 + 239 2.39 -0.0180379621998275 -0.0216010365600731 + 240 2.4 -0.0178193057516615 -0.0221169334222308 + 241 2.41 -0.0175958790612055 -0.0225561550366037 + 242 2.42 -0.0173684175772469 -0.0229248836471039 + 243 2.43 -0.0171375972227052 -0.023228847919412 + 244 2.44 -0.0169040387626965 -0.0234733560552774 + 245 2.45 -0.0166683118539951 -0.0236633264319042 + 246 2.46 -0.0164309387996731 -0.0238033159578182 + 247 2.47 -0.0161923980308578 -0.0238975463212279 + 248 2.48 -0.0159531273358642 -0.0239499282928091 + 249 2.49 -0.0157135268554007 -0.0239640842319152 + 250 2.5 -0.01547396186112 -0.023943368933376 + 251 2.51 -0.0152347653334678 -0.0238908889411751 + 252 2.52 -0.0149962403535728 -0.0238095204453263 + 253 2.53 -0.0147586623228006 -0.0237019258691133 + 254 2.54 -0.0145222810225697 -0.0235705692454532 + 255 2.55 -0.0142873225260751 -0.0234177304734231 + 256 2.56 -0.0140539909726934 -0.0232455185388944 + 257 2.57 -0.0138224702150363 -0.0230558837767028 + 258 2.58 -0.0135929253478739 -0.0228506292457848 + 259 2.59 -0.0133655041274656 -0.0226314212832035 + 260 2.6 -0.013140338289201 -0.0223997992979115 + 261 2.61 -0.012917544770867 -0.0221571848604376 + 262 2.62 -0.0126972268483229 -0.0219048901403872 + 263 2.63 -0.0124794751898578 -0.021644125739692 + 264 2.64 -0.0122643688350524 -0.0213760079659045 + 265 2.65 -0.0120519761035347 -0.0211015655864784 + 266 2.66 -0.0118423554386299 -0.0208217461018842 + 267 2.67 -0.0116355561905371 -0.020537421572559 + 268 2.68 -0.0114316193433321 -0.0202493940320658 + 269 2.69 -0.0112305781897813 -0.0199584005164126 + 270 2.7 -0.0110324589576661 -0.0196651177372457 + 271 2.71 -0.0108372813910468 -0.0193701664245735 + 272 2.72 -0.0106450592896536 -0.0190741153627698 + 273 2.73 -0.0104558010093575 -0.0187774851418501 + 274 2.74 -0.0102695099264674 -0.0184807516443931 + 275 2.75 -0.0100861848683998 -0.018184349286978 + 276 2.76 -0.00990582051308903 -0.0178886740336262 + 277 2.77 -0.00972840775933402 -0.0175940861974542 + 278 2.78 -0.00955393407012526 -0.0173009130455639 + 279 2.79 -0.00938238379084764 -0.0170094512211008 + 280 2.8 -0.0092137384441229 -0.0167199689953997 + 281 2.81 -0.00904797700292975 -0.0164327083622032 + 282 2.82 -0.00888507614352483 -0.0161478869850703 + 283 2.83 -0.00872501047958036 -0.0158657000082945 + 284 2.84 -0.00856775277885475 -0.0155863217409045 + 285 2.85 -0.00841327416362063 -0.0153099072226406 + 286 2.86 -0.00826154429598848 -0.0150365936801558 + 287 2.87 -0.008112531549185 -0.0147665018811108 + 288 2.88 -0.00796620316577118 -0.0144997373932774 + 289 2.89 -0.00782252540371654 -0.0142363917552666 + 290 2.9 -0.00768146367118216 -0.0139765435650238 + 291 2.91 -0.00754298265080599 -0.0137202594918023 + 292 2.92 -0.00740704641422874 -0.0134675952169205 + 293 2.93 -0.0072736185275476 -0.0132185963082382 + 294 2.94 -0.00714266214833727 -0.0129732990329359 + 295 2.95 -0.00701414011483394 -0.0127317311128642 + 296 2.96 -0.00688801502783611 -0.0124939124264287 + 297 2.97 -0.00676424932583852 -0.0122598556607 + 298 2.98 -0.00664280535387939 -0.0120295669171802 + 299 2.99 -0.00652364542654837 -0.0118030462744207 + 300 3 -0.00640673188557149 -0.0115802883104616 + 301 3.01 -0.00629202715236113 -0.0113612825878578 + 302 3.02 -0.00617949377589186 -0.0111460141038675 + 303 3.03 -0.00606909447623864 -0.0109344637081976 + 304 3.04 -0.00596079218409037 -0.010726608490537 + 305 3.05 -0.00585455007653046 -0.0105224221399565 + 306 3.06 -0.00575033160935592 -0.0103218752781076 + 307 3.07 -0.00564810054618798 -0.0101249357680231 + 308 3.08 -0.00554782098460957 -0.0099315690001964 + 309 3.09 -0.00544945737954914 -0.00974173815750352 + 310 3.1 -0.00535297456411485 -0.00955540446042336 + 311 3.11 -0.00525833776806946 -0.00937252739391286 + 312 3.12 -0.00516551263412281 -0.00919306491720141 + 313 3.13 -0.00507446523220689 -0.00901697365768222 + 314 3.14 -0.00498516207188684 -0.00884420908999869 + 315 3.15 -0.00489757011305085 -0.0086747257013485 + 316 3.16 -0.00481165677501198 -0.00850847714395953 + 317 3.17 -0.0047273899441455 -0.00834541637562582 + 318 3.18 -0.00464473798017724 -0.00818549578913289 + 319 3.19 -0.0045636697212299 -0.00802866733134403 + 320 3.2 -0.00448415448772721 -0.00787488261266845 + 321 3.21 -0.0044061620852487 -0.0077240930075819 + 322 3.22 -0.00432966280642131 -0.00757624974682629 + 323 3.23 -0.00425462743192826 -0.00743130400187142 + 324 3.24 -0.00418102723070959 -0.00728920696218331 + 325 3.25 -0.00410883395942396 -0.00714990990580627 + 326 3.26 -0.00403801986123603 -0.00701336426373192 + 327 3.27 -0.00396855766398934 -0.00687952167849605 + 328 3.28 -0.00390042057782043 -0.00674833405741498 + 329 3.29 -0.0038335822922657 -0.00661975362084443 + 330 3.3 -0.00376801697290912 -0.00649373294581906 + 331 3.31 -0.00370369925761526 -0.00637022500540547 + 332 3.32 -0.00364060425238888 -0.00624918320408006 + 333 3.33 -0.00357870752689941 -0.00613056140942109 + 334 3.34 -0.00351798510970581 -0.00601431398038557 + 335 3.35 -0.00345841348321468 -0.0059003957924224 + 336 3.36 -0.00339996957840208 -0.00578876225965695 + 337 3.37 -0.00334263076932723 -0.00567936935436567 + 338 3.38 -0.00328637486746409 -0.00557217362394473 + 339 3.39 -0.00323118011587515 -0.00546713220556294 + 340 3.4 -0.0031770251832493 -0.0053642028386758 + 341 3.41 -0.00312388915782479 -0.00526334387556606 + 342 3.42 -0.00307175154121582 -0.0051645142900641 + 343 3.43 -0.00302059224216055 -0.00506767368459182 + 344 3.44 -0.00297039157020643 -0.00497278229566303 + 345 3.45 -0.00292113022934775 -0.00487980099796471 + 346 3.46 -0.00287278931162898 -0.00478869130713483 + 347 3.47 -0.00282535029072639 -0.00469941538134419 + 348 3.48 -0.0027787950155194 -0.0046119360217826 + 349 3.49 -0.00273310570366224 -0.00452621667214249 + 350 3.5 -0.00268826493516526 -0.00444222141718669 + 351 3.51 -0.00264425564599499 -0.00435991498048109 + 352 3.52 -0.00260106112170057 -0.00427926272136684 + 353 3.53 -0.0025586649910741 -0.00420023063124215 + 354 3.54 -0.00251705121985127 -0.00412278532921804 + 355 3.55 -0.0024762041044583 -0.0040468940572084 + 356 3.56 -0.00243610826581068 -0.00397252467451004 + 357 3.57 -0.00239674864316831 -0.00389964565192452 + 358 3.58 -0.00235811048805159 -0.0038282260654699 + 359 3.59 -0.00232017935822227 -0.0037582355897268 + 360 3.6 -0.0022829411117324 -0.00368964449086024 + 361 3.61 -0.00224638190104462 -0.0036224236193553 + 362 3.62 -0.00221048816722635 -0.00355654440250213 + 363 3.63 -0.00217524663422022 -0.00349197883666304 + 364 3.64 -0.00214064430319279 -0.00342869947935186 + 365 3.65 -0.00210666844696334 -0.00336667944115366 + 366 3.66 -0.00207330660451415 -0.00330589237751054 + 367 3.67 -0.00204054657558338 -0.00324631248039738 + 368 3.68 -0.00200837641534185 -0.00318791446990948 + 369 3.69 -0.00197678442915411 -0.00313067358578226 + 370 3.7 -0.00194575916742469 -0.00307456557886165 + 371 3.71 -0.00191528942052976 -0.00301956670254226 + 372 3.72 -0.00188536421383456 -0.00296565370418886 + 373 3.73 -0.00185597280279656 -0.00291280381655574 + 374 3.74 -0.00182710466815449 -0.00286099474921692 + 375 3.75 -0.00179874951120284 -0.00281020468001918 + 376 3.76 -0.00177089724915176 -0.00276041224656904 + 377 3.77 -0.00174353801057185 -0.00271159653776342 + 378 3.78 -0.00171666213092339 -0.0026637370853732 + 379 3.79 -0.0016902601481694 -0.00261681385568771 + 380 3.8 -0.00166432279847199 -0.00257080724122772 + 381 3.81 -0.00163884101197116 -0.00252569805253342 + 382 3.82 -0.00161380590864532 -0.00248146751003353 + 383 3.83 -0.0015892087942527 -0.00243809723600076 + 384 3.84 -0.00156504115635276 -0.00239556924659847 + 385 3.85 -0.00154129466040667 -0.00235386594402276 + 386 3.86 -0.00151796114595583 -0.0023129701087436 + 387 3.87 -0.00149503262287753 -0.0022728648918484 + 388 3.88 -0.00147250126771658 -0.00223353380749066 + 389 3.89 -0.00145035942009203 -0.00219496072544632 + 390 3.9 -0.00142859957917763 -0.00215712986377968 + 391 3.91 -0.00140721440025518 -0.00212002578162075 + 392 3.92 -0.00138619669133956 -0.00208363337205523 + 393 3.93 -0.00136553940987418 -0.00204793785512849 + 394 3.94 -0.00134523565949593 -0.00201292477096412 + 395 3.95 -0.00132527868686831 -0.00197857997299782 + 396 3.96 -0.00130566187858167 -0.00194488962132692 + 397 3.97 -0.00128637875811934 -0.00191184017617574 + 398 3.98 -0.00126742298288858 -0.00187941839147665 + 399 3.99 -0.00124878834131509 -0.0018476113085668 + 400 4 -0.00123046875 -0.00181640625 + +MORSE +N 400 FP 35629.9118333254 -0.587282451914145 + + 1 0.01 1902.72240342255 8475.28184280469 + 2 0.02 1819.72699525883 8126.18409723003 + 3 0.03 1740.15198891874 7791.10688069349 + 4 0.04 1663.85997942269 7469.49386217661 + 5 0.05 1590.71901464609 7160.81065496952 + 6 0.06 1520.60238022017 6864.54395364299 + 7 0.07 1453.38839289256 6580.20070491139 + 8 0.08 1388.96020201532 6307.30731105669 + 9 0.09 1327.20559884127 6045.40886463566 + 10 0.1 1268.016833322 5794.06841324272 + 11 0.11 1211.29043811285 5552.86625314907 + 12 0.12 1156.92705950192 5321.39925068477 + 13 0.13 1104.83129499106 5099.28019027514 + 14 0.14 1054.9115372676 4886.1371480854 + 15 0.15 1007.0798243158 4681.6128902686 + 16 0.16 961.251695426879 4485.36429485122 + 17 0.17 917.346052875832 4297.06179632881 + 18 0.18 875.285029042485 4116.38885208026 + 19 0.19 834.993858762904 3943.04142974457 + 20 0.2 796.400756705659 3776.72751473709 + 21 0.21 759.436799575541 3617.16663711504 + 22 0.22 724.035812955044 3464.08941703271 + 23 0.23 690.134262601413 3317.23712805663 + 24 0.24 657.671150024154 3176.36127763988 + 25 0.25 626.587912174846 3041.22320408172 + 26 0.26 596.828325087614 2911.59368932575 + 27 0.27 568.33841131505 2787.25258697453 + 28 0.28 541.066351010385 2667.98846492367 + 29 0.29 514.962396512638 2553.59826204124 + 30 0.3 489.978790297042 2443.8869583412 + 31 0.31 466.069686158486 2338.66725812124 + 32 0.32 443.191073500887 2237.75928555576 + 33 0.33 421.300704610396 2140.99029225534 + 34 0.34 400.358024795147 2048.19437632267 + 35 0.35 380.324105278852 1959.21221245358 + 36 0.36 361.161578739974 1873.89079264966 + 37 0.37 342.834577392459 1792.08317712559 + 38 0.38 325.308673508092 1713.64825501114 + 39 0.39 308.550822284476 1638.45051446301 + 40 0.4 292.529306966382 1566.35982181714 + 41 0.41 277.213686131865 1497.25120942645 + 42 0.42 262.574743057994 1431.004671843 + 43 0.43 248.584437084416 1367.50497001672 + 44 0.44 235.215856896169 1306.64144319605 + 45 0.45 222.443175650231 1248.30782822797 + 46 0.46 210.241607873305 1192.40208596672 + 47 0.47 198.587368061129 1138.82623451213 + 48 0.48 187.457630912382 1087.48618900925 + 49 0.49 176.830493132862 1038.29160775156 + 50 0.5 166.684936748154 991.15574434019 + 51 0.51 157.000793865418 945.995305661252 + 52 0.52 147.758712827269 902.730315452694 + 53 0.53 138.940125702962 861.283983241156 + 54 0.54 130.527217064238 821.58257843782 + 55 0.55 122.502893995264 783.555309390595 + 56 0.56 114.85075728809 747.134207197903 + 57 0.57 107.555073776936 712.254014096973 + 58 0.58 100.600749766475 678.852076246914 + 59 0.59 93.9733055110433 646.86824073388 + 60 0.6 87.6588507033701 616.244756632404 + 61 0.61 81.6440609330888 586.926179963529 + 62 0.62 75.9161550768193 558.859282396572 + 63 0.63 70.4628735831318 531.99296354742 + 64 0.64 65.2724576171355 506.278166731982 + 65 0.65 60.3336290308251 481.667798039015 + 66 0.66 55.6355711266481 458.116648591834 + 67 0.67 51.1679101830355 435.581319873578 + 68 0.68 46.9206977118646 414.020151995583 + 69 0.69 42.884393419008 393.393154793176 + 70 0.7 39.0498488402512 373.661941637728 + 71 0.71 35.4082916259559 354.789665858177 + 72 0.72 31.9513104488903 336.740959669411 + 73 0.73 28.6708405106521 319.48187550895 + 74 0.74 25.5591496230812 302.979829687229 + 75 0.75 22.6088248419809 287.20354826048 + 76 0.76 19.8127596313634 272.12301503883 + 77 0.77 17.1641415372893 257.709421645621 + 78 0.78 14.6564403511958 243.935119547271 + 79 0.79 12.2833967433974 230.773573976182 + 80 0.8 10.0390113482036 218.199319672212 + 81 0.81 7.91753428282901 206.187918371172 + 82 0.82 5.91345508297041 194.715917971627 + 83 0.83 4.02149303860052 183.760813313951 + 84 0.84 2.23658791417552 173.301008508213 + 85 0.85 0.553891038074434 163.315780749936 + 86 0.86 -1.03124325331362 153.785245565181 + 87 0.87 -2.52326583086401 144.690323428706 + 88 0.88 -3.92644066081243 136.012707701146 + 89 0.89 -5.24485237860018 127.734833833307 + 90 0.9 -6.48241356088942 119.839849787683 + 91 0.91 -7.64287170767925 112.311587629289 + 92 0.92 -8.72981594598401 105.134536239752 + 93 0.93 -9.74668346608387 98.2938151104532 + 94 0.94 -10.6967657009243 91.7751491722138 + 95 0.95 -11.5832142588242 85.5648446207133 + 96 0.96 -12.4090466192534 79.6497656984179 + 97 0.97 -13.1771516010533 74.0173123953453 + 98 0.98 -13.8902946121092 68.6553990324699 + 99 0.99 -14.5511226891235 63.5524336929966 + 100 1 -15.1621693358015 58.6972984680958 + 101 1.01 -15.7258591674326 54.0793304850075 + 102 1.02 -16.2445123695359 49.6883036866838 + 103 1.03 -16.7203489779348 45.5144113333483 + 104 1.04 -17.1554929873393 41.5482491975195 + 105 1.05 -17.5519762952299 37.7807994251605 + 106 1.06 -17.9117424875755 34.2034150366931 + 107 1.07 -18.2366504726531 30.8078050426491 + 108 1.08 -18.5284779689983 27.5860201497191 + 109 1.09 -18.7889248532685 24.5304390339164 + 110 1.1 -19.0196163735814 21.633755158488 + 111 1.11 -19.2221062336656 18.8889641150824 + 112 1.12 -19.3978795529533 16.2893514675317 + 113 1.13 -19.5483557075404 13.8284810784167 + 114 1.14 -19.6748910567469 11.5001838993623 + 115 1.15 -19.7787815598225 9.29854720676174 + 116 1.16 -19.8612652871621 7.2179042653481 + 117 1.17 -19.9235248302269 5.25282440272129 + 118 1.18 -19.9666896141964 3.39810347860562 + 119 1.19 -19.9918381172225 1.64875473325059 + 120 1.2 -20 -0 + 121 1.21 -19.9921581492237 -1.55273873235457 + 122 1.22 -19.9692506383602 -3.013847421255 + 123 1.23 -19.9321726090268 -4.3875277493673 + 124 1.24 -19.8817780761412 -5.67780459363396 + 125 1.25 -19.8188816598787 -6.88853319663822 + 126 1.26 -19.7442602473552 -8.02340605204834 + 127 1.27 -19.6586545868377 -9.08595951544643 + 128 1.28 -19.5627708171746 -10.0795801514016 + 129 1.29 -19.4572819350303 -11.0075108272193 + 130 1.3 -19.3428292024065 -11.8728565633874 + 131 1.31 -19.2200234968363 -12.678590150347 + 132 1.32 -19.0894466065393 -13.427557540833 + 133 1.33 -18.9516524727388 -14.1224830266698 + 134 1.34 -18.8071683812527 -14.7659742085529 + 135 1.35 -18.6564961053882 -15.3605267670153 + 136 1.36 -18.5001130020867 -15.9085290424514 + 137 1.37 -18.3384730631926 -16.4122664317616 + 138 1.38 -18.1720079236418 -16.8739256088848 + 139 1.39 -18.001127828296 -17.2955985761957 + 140 1.4 -17.8262225590811 -17.6792865534734 + 141 1.41 -17.6476623240207 -18.0269037108782 + 142 1.42 -17.465798609694 -18.3402807521248 + 143 1.43 -17.2809649985868 -18.6211683537929 + 144 1.44 -17.0934779527434 -18.8712404664823 + 145 1.45 -16.9036375650765 -19.0920974832953 + 146 1.46 -16.7117282796322 -19.2852692809131 + 147 1.47 -16.5180195820608 -19.452218138324 + 148 1.48 -16.3227666614918 -19.594341538062 + 149 1.49 -16.126211044964 -19.7129748546237 + 150 1.5 -15.928581205517 -19.8093939345459 + 151 1.51 -15.730093145006 -19.8848175724499 + 152 1.52 -15.5309509526581 -19.9404098871884 + 153 1.53 -15.331347340351 -19.9772826020679 + 154 1.54 -15.1314641555525 -19.9964972329627 + 155 1.55 -14.9314728728242 -19.9990671879842 + 156 1.56 -14.7315350647564 -19.985959782228 + 157 1.57 -14.5318028531651 -19.9580981709777 + 158 1.58 -14.3324193413521 -19.9163632046156 + 159 1.59 -14.1335190281936 -19.8615952083567 + 160 1.6 -13.9352282047958 -19.7945956898053 + 161 1.61 -13.7376653344221 -19.7161289772086 + 162 1.62 -13.540941416375 -19.6269237911736 + 163 1.63 -13.3451603344801 -19.5276747525004 + 164 1.64 -13.1504191908022 -19.4190438286825 + 165 1.65 -12.9568086251922 -19.301661721521 + 166 1.66 -12.7644131212421 -19.1761291982075 + 167 1.67 -12.5733112992032 -19.043018368131 + 168 1.68 -12.3835761963975 -18.902873907581 + 169 1.69 -12.1952755356351 -18.7562142344284 + 170 1.7 -12.0084719821254 -18.6035326347864 + 171 1.71 -11.8232233893546 -18.4452983435722 + 172 1.72 -11.6395830343796 -18.2819575808158 + 173 1.73 -11.4575998429732 -18.1139345454881 + 174 1.74 -11.2773186050363 -17.9416323685501 + 175 1.75 -11.0987801806765 -17.7654340268597 + 176 1.76 -10.9220216973365 -17.5857032195029 + 177 1.77 -10.7470767383414 -17.4027852080613 + 178 1.78 -10.573975523217 -17.2170076222595 + 179 1.79 -10.4027450801192 -17.0286812323863 + 180 1.8 -10.2334094106998 -16.8381006898232 + 181 1.81 -10.0659896477209 -16.6455452369626 + 182 1.82 -9.9005042057181 -16.4512793877484 + 183 1.83 -9.73696892500016 -16.255553580019 + 184 1.84 -9.57539720926177 -16.0586048007915 + 185 1.85 -9.41580015707382 -15.8606571855743 + 186 1.86 -9.25818668750629 -15.6619225927571 + 187 1.87 -9.10256366012748 -15.4626011540838 + 188 1.88 -8.94893598961417 -15.2628818021722 + 189 1.89 -8.79730675519744 -15.0629427760093 + 190 1.9 -8.6476773051599 -14.8629521053111 + 191 1.91 -8.50004735659144 -14.6630680746028 + 192 1.92 -8.35441509060219 -14.463439667839 + 193 1.93 -8.21077724318323 -14.2642069943522 + 194 1.94 -8.06912919189799 -14.065501696887 + 195 1.95 -7.92946503857991 -13.8674473424453 + 196 1.96 -7.79177768820462 -13.6701597966413 + 197 1.97 -7.65605892409823 -13.4737475822347 + 198 1.98 -7.52229947963673 -13.2783122224857 + 199 1.99 -7.39048910658511 -13.0839485699498 + 200 2 -7.26061664021889 -12.8907451213031 + 201 2.01 -7.13267006136484 -12.6987843187702 + 202 2.02 -7.00663655549215 -12.5081428386973 + 203 2.03 -6.88250256897989 -12.3188918677979 + 204 2.04 -6.76025386268163 -12.1310973675737 + 205 2.05 -6.63987556290287 -11.9448203273927 + 206 2.06 -6.52135220990252 -11.7601170066906 + 207 2.07 -6.40466780402486 -11.5770391667397 + 208 2.08 -6.28980584956419 -11.3956342924127 + 209 2.09 -6.17674939646013 -11.2159458043529 + 210 2.1 -6.06548107991761 -11.0380132619435 + 211 2.11 -5.95598315804147 -10.8618725574554 + 212 2.12 -5.84823754757229 -10.6875561017355 + 213 2.13 -5.74222585780607 -10.5150930017845 + 214 2.14 -5.63792942277742 -10.344509230559 + 215 2.15 -5.53532933178209 -10.1758277893176 + 216 2.16 -5.43440645831221 -10.0090688628208 + 217 2.17 -5.33514148747387 -9.84424996767923 + 218 2.18 -5.2375149419544 -9.68138609413398 + 219 2.19 -5.14150720660348 -9.52048984154249 + 220 2.2 -5.04709855168983 -9.36157154783029 + 221 2.21 -4.9542691548924 -9.20463941315987 + 222 2.22 -4.86299912208293 -9.04969961805766 + 223 2.23 -4.77326850695383 -8.89675643622967 + 224 2.24 -4.68505732954364 -8.74581234228797 + 225 2.25 -4.59834559370972 -8.59686811460034 + 226 2.26 -4.51311330359602 -8.44992293346755 + 227 2.27 -4.42934047914158 -8.30497447482397 + 228 2.28 -4.34700717067363 -8.1620189996495 + 229 2.29 -4.26609347262728 -8.02105143927313 + 230 2.3 -4.18657953643199 -7.88206547674124 + 231 2.31 -4.10844558260329 -7.74505362441651 + 232 2.32 -4.03167191207677 -7.61000729796684 + 233 2.33 -3.95623891681951 -7.47691688689685 + 234 2.34 -3.88212708975296 -7.34577182176885 + 235 2.35 -3.80931703401948 -7.21656063825362 + 236 2.36 -3.7377894716237 -7.0892710381459 + 237 2.37 -3.66752525147843 -6.96388994747427 + 238 2.38 -3.5985053568833 -6.84040357182902 + 239 2.39 -3.53071091246377 -6.71879744902762 + 240 2.4 -3.4641231905961 -6.5990564992314 + 241 2.41 -3.39872361734359 -6.48116507262343 + 242 2.42 -3.3344937779277 -6.3651069947523 + 243 2.43 -3.27141542175708 -6.25086560964261 + 244 2.44 -3.20947046703613 -6.13842382076884 + 245 2.45 -3.14864100497424 -6.02776412998507 + 246 2.46 -3.08890930361551 -5.91886867449944 + 247 2.47 -3.03025781130815 -5.81171926197859 + 248 2.48 -2.97266915983187 -5.7062974038635 + 249 2.49 -2.91612616720074 -5.6025843469753 + 250 2.5 -2.86061184015814 -5.50056110348585 + 251 2.51 -2.80610937638002 -5.40020847932522 + 252 2.52 -2.75260216640146 -5.30150710109495 + 253 2.53 -2.70007379528143 -5.20443744155327 + 254 2.54 -2.64850804401945 -5.10897984373557 + 255 2.55 -2.59788889073774 -5.01511454377097 + 256 2.56 -2.54820051164134 -4.92282169245312 + 257 2.57 -2.49942728176866 -4.83208137562115 + 258 2.58 -2.45155377554382 -4.74287363340403 + 259 2.59 -2.40456476714212 -4.65517847837982 + 260 2.6 -2.35844523067906 -4.5689759126988 + 261 2.61 -2.31318034023315 -4.48424594421744 + 262 2.62 -2.26875546971212 -4.40096860168843 + 263 2.63 -2.22515619257182 -4.3191239490499 + 264 2.64 -2.18236828139646 -4.23869209885514 + 265 2.65 -2.14037770734877 -4.15965322488251 + 266 2.66 -2.09917063949799 -4.08198757396348 + 267 2.67 -2.05873344403328 -4.00567547706508 + 268 2.68 -2.01905268336996 -3.93069735966176 + 269 2.69 -1.9801151151554 -3.85703375142971 + 270 2.7 -1.94190769118123 -3.78466529529581 + 271 2.71 -1.90441755620818 -3.71357275587169 + 272 2.72 -1.86763204670949 -3.6437370273021 + 273 2.73 -1.83153868953869 -3.57513914055568 + 274 2.74 -1.79612520052711 -3.50776027018492 + 275 2.75 -1.7613794830164 -3.44158174058097 + 276 2.76 -1.72728962633081 -3.37658503174782 + 277 2.77 -1.69384390419419 -3.31275178461948 + 278 2.78 -1.66103077309585 -3.25006380594246 + 279 2.79 -1.62883887060978 -3.18850307274528 + 280 2.8 -1.59725701367117 -3.12805173641538 + 281 2.81 -1.56627419681391 -3.06869212640333 + 282 2.82 -1.53587959037299 -3.01040675357301 + 283 2.83 -1.506062538655 -2.95317831321585 + 284 2.84 -1.47681255808011 -2.89698968774635 + 285 2.85 -1.44811933529864 -2.84182394909537 + 286 2.86 -1.41997272528513 -2.7876643608168 + 287 2.87 -1.3923627494127 -2.7344943799229 + 288 2.88 -1.36527959351038 -2.68229765846244 + 289 2.89 -1.33871360590588 -2.63105804485558 + 290 2.9 -1.31265529545615 -2.5807595849985 + 291 2.91 -1.287095329568 -2.53138652315042 + 292 2.92 -1.26202453221094 -2.48292330261488 + 293 2.93 -1.23743388192408 -2.43535456622692 + 294 2.94 -1.21331450981923 -2.38866515665682 + 295 2.95 -1.18965769758165 -2.34284011654112 + 296 2.96 -1.16645487547052 -2.2978646884507 + 297 2.97 -1.14369762032031 -2.25372431470548 + 298 2.98 -1.1213776535449 -2.21040463704483 + 299 2.99 -1.09948683914553 -2.16789149616236 + 300 3 -1.07801718172417 -2.12617093111327 + 301 3.01 -1.05696082450334 -2.08522917860231 + 302 3.02 -1.03631004735366 -2.04505267215961 + 303 3.03 -1.01605726483015 -2.00562804121181 + 304 3.04 -0.996195024218316 -1.9669421100551 + 305 3.05 -0.976716003590983 -1.92898189673679 + 306 3.06 -0.957613009876723 -1.89173461185161 + 307 3.07 -0.938878976940747 -1.85518765725859 + 308 3.08 -0.920506963678969 -1.81932862472411 + 309 3.09 -0.902490152126019 -1.78414529449664 + 310 3.1 -0.884821845577815 -1.749625633818 + 311 3.11 -0.867495466729296 -1.71575779537626 + 312 3.12 -0.850504555827964 -1.68253011570466 + 313 3.13 -0.833842768843598 -1.64993111353108 + 314 3.14 -0.81750387565479 -1.61794948808215 + 315 3.15 -0.801481758252578 -1.58657411734597 + 316 3.16 -0.785770408961712 -1.55579405629722 + 317 3.17 -0.770363928679763 -1.52559853508822 + 318 3.18 -0.755256525134567 -1.49597695720933 + 319 3.19 -0.740442511160115 -1.46691889762184 + 320 3.2 -0.725916302991318 -1.43841410086653 + 321 3.21 -0.711672418577733 -1.41045247915071 + 322 3.22 -0.697705475916561 -1.38302411041638 + 323 3.23 -0.68401019140502 -1.35611923639237 + 324 3.24 -0.670581378212263 -1.32972826063263 + 325 3.25 -0.657413944671006 -1.30384174654313 + 326 3.26 -0.644502892688901 -1.27845041539961 + 327 3.27 -0.631843316179772 -1.25354514435816 + 328 3.28 -0.6194303995148 -1.22911696446058 + 329 3.29 -0.60725941599364 -1.20515705863651 + 330 3.3 -0.595325726335532 -1.18165675970391 + 331 3.31 -0.583624777190441 -1.15860754836962 + 332 3.32 -0.57215209967014 -1.13600105123157 + 333 3.33 -0.560903307899276 -1.11382903878399 + 334 3.34 -0.549874097586374 -1.09208342342712 + 335 3.35 -0.539060244614689 -1.07075625748267 + 336 3.36 -0.528457603652897 -1.0498397312161 + 337 3.37 -0.518062106785528 -1.0293261708671 + 338 3.38 -0.507869762162994 -1.00920803668912 + 339 3.39 -0.497876652671245 -0.98947792099903 + 340 3.4 -0.488078934620828 -0.970128546237837 + 341 3.41 -0.478472836455297 -0.951152763043287 + 342 3.42 -0.469054657478829 -0.932543548335185 + 343 3.43 -0.459820766602912 -0.914294003414172 + 344 3.44 -0.450767601112008 -0.89639735207464 + 345 3.45 -0.441891665447958 -0.87884693873245 + 346 3.46 -0.433189530013092 -0.861636226568009 + 347 3.47 -0.424657829991779 -0.844758795685292 + 348 3.48 -0.416293264190357 -0.828208341287285 + 349 3.49 -0.40809259389516 -0.811978671868322 + 350 3.5 -0.400052641748598 -0.796063707423719 + 351 3.51 -0.392170290643024 -0.780457477677113 + 352 3.52 -0.384442482632212 -0.765154120325826 + 353 3.53 -0.376866217860354 -0.750147879304586 + 354 3.54 -0.369438553508263 -0.735433103067872 + 355 3.55 -0.362156602756698 -0.721004242891135 + 356 3.56 -0.355017533766573 -0.706855851191119 + 357 3.57 -0.348018568675832 -0.692982579865472 + 358 3.58 -0.341156982612913 -0.679379178651804 + 359 3.59 -0.334430102726415 -0.666040493506349 + 360 3.6 -0.327835307230984 -0.652961465002335 + 361 3.61 -0.321370024469032 -0.640137126748166 + 362 3.62 -0.31503173198824 -0.62756260382549 + 363 3.63 -0.308817955634535 -0.615233111247194 + 364 3.64 -0.3027262686604 -0.603143952435389 + 365 3.65 -0.296754290848331 -0.591290517719373 + 366 3.66 -0.290899687649171 -0.579668282853603 + 367 3.67 -0.285160169335201 -0.568272807555637 + 368 3.68 -0.279533490167716 -0.55709973406403 + 369 3.69 -0.274017447578963 -0.54614478571615 + 370 3.7 -0.268609881368169 -0.535403765545839 + 371 3.71 -0.263308672911511 -0.524872554900861 + 372 3.72 -0.258111744385805 -0.514547112080069 + 373 3.73 -0.253017058005729 -0.504423470990179 + 374 3.74 -0.248022615274373 -0.494497739822078 + 375 3.75 -0.243126456246943 -0.484766099746521 + 376 3.76 -0.238326658807406 -0.475224803629145 + 377 3.77 -0.233621337957872 -0.465870174764632 + 378 3.78 -0.229008645120563 -0.456698605629917 + 379 3.79 -0.224486767452152 -0.447706556656279 + 380 3.8 -0.220053927170263 -0.43889055502019 + 381 3.81 -0.215708380892004 -0.430247193452744 + 382 3.82 -0.211448418984292 -0.421773129067537 + 383 3.83 -0.207272364925806 -0.413465082206802 + 384 3.84 -0.203178574680398 -0.405319835305661 + 385 3.85 -0.199165436081776 -0.397334231774297 + 386 3.86 -0.195231368229261 -0.38950517489789 + 387 3.87 -0.191374820894459 -0.381829626754123 + 388 3.88 -0.187594273938687 -0.374304607148077 + 389 3.89 -0.183888236740939 -0.366927192564339 + 390 3.9 -0.180255247636283 -0.359694515136119 + 391 3.91 -0.176693873364433 -0.352603761631208 + 392 3.92 -0.173202708528413 -0.34565217245455 + 393 3.93 -0.16978037506312 -0.33883704066727 + 394 3.94 -0.166425521713567 -0.332155711021943 + 395 3.95 -0.163136823522756 -0.325605579013906 + 396 3.96 -0.159912981328916 -0.319184089948422 + 397 3.97 -0.156752721271987 -0.312888738023495 + 398 3.98 -0.153654794309244 -0.306717065428139 + 399 3.99 -0.150617975739817 -0.30066666145589 + 400 4 -0.147641064738004 -0.29473516163338 diff --git a/tools/tabulate/wall_multi_tabulate.py b/tools/tabulate/wall_multi_tabulate.py index b1b4aa6cbf..576889cf75 100755 --- a/tools/tabulate/wall_multi_tabulate.py +++ b/tools/tabulate/wall_multi_tabulate.py @@ -51,9 +51,9 @@ if __name__ == "__main__": sys.argv.append('--filename') sys.argv.append(fname) sys.argv.append('--num-points') - sys.argv.append('100') + sys.argv.append('400') sys.argv.append('--inner') - sys.argv.append('0.04') + sys.argv.append('0.01') sys.argv.append('--outer') sys.argv.append('4.0') wtable = WallTabulate(harmonic_energy, harmonic_force, units='real') From fc0efd43fcedc608900f85d7f614ee896fa021cd Mon Sep 17 00:00:00 2001 From: Matt Bettencourt Date: Mon, 13 Feb 2023 17:07:32 +0100 Subject: [PATCH 129/448] added kokkos functinos to the list of functions registered for ML-IAP --- src/PYTHON/python_impl.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/PYTHON/python_impl.cpp b/src/PYTHON/python_impl.cpp index 9177381a35..57f8ea1cf0 100644 --- a/src/PYTHON/python_impl.cpp +++ b/src/PYTHON/python_impl.cpp @@ -35,6 +35,17 @@ // However, that exposes -too many- headers. #include "mliap_model_python_couple.h" #include "mliap_unified_couple.h" +#ifdef LMP_KOKKOS +#include "mliap_model_python_kokkos.h" +#include "mliap_unified_kokkos.h" +// The above should somehow really be included in the next file. +// We could get around this with cython --capi-reexport-cincludes +// However, that exposes -too many- headers. +#include "mliap_model_python_couple_kokkos.h" +#include "mliap_unified_couple_kokkos.h" + + +#endif #endif using namespace LAMMPS_NS; @@ -71,6 +82,16 @@ PythonImpl::PythonImpl(LAMMPS *lmp) : Pointers(lmp) err = PyImport_AppendInittab("mliap_unified_couple", PyInit_mliap_unified_couple); if (err) error->all(FLERR, "Could not register MLIAPPY unified embedded python module."); +#ifdef LMP_KOKKOS + // Inform python intialization scheme of the mliappy module. + // This -must- happen before python is initialized. + err = PyImport_AppendInittab("mliap_model_python_couple_kokkos", PyInit_mliap_model_python_couple_kokkos); + if (err) error->all(FLERR, "Could not register MLIAPPY embedded python module."); + + err = PyImport_AppendInittab("mliap_unified_couple_kokkos", PyInit_mliap_unified_couple_kokkos); + if (err) error->all(FLERR, "Could not register MLIAPPY unified embedded python module."); + +#endif #endif Py_Initialize(); From cad3c5ba953bf24efe8809095d4f1feeaa1227f9 Mon Sep 17 00:00:00 2001 From: Matt Bettencourt Date: Thu, 23 Feb 2023 15:52:49 +0100 Subject: [PATCH 130/448] Fixed code to run with hippynn --- src/KOKKOS/mliap_unified_couple_kokkos.pyx | 41 ++++++++++++++-------- src/KOKKOS/mliap_unified_kokkos.cpp | 15 ++++---- src/KOKKOS/pair_mliap_kokkos.cpp | 7 ++-- 3 files changed, 38 insertions(+), 25 deletions(-) diff --git a/src/KOKKOS/mliap_unified_couple_kokkos.pyx b/src/KOKKOS/mliap_unified_couple_kokkos.pyx index 37326263d3..5e274d7f36 100644 --- a/src/KOKKOS/mliap_unified_couple_kokkos.pyx +++ b/src/KOKKOS/mliap_unified_couple_kokkos.pyx @@ -115,7 +115,6 @@ cdef create_array(device, void *pointer, shape,is_int): size=1 for i in shape: size = size*i - if ( device == 1): mem = cupy.cuda.UnownedMemory(ptr=int( pointer), owner=None, size=size) memptr = cupy.cuda.MemoryPointer(mem, 0) @@ -146,10 +145,18 @@ cdef class MLIAPDataPy: self.data = NULL def update_pair_energy_cpu(self, eij): - cdef double[:] eij_arr = eij + cdef double[:] eij_arr + try: + eij_arr = eij + except: + eij_arr = eij.detach().numpy().astype(np.double) update_pair_energy(self.data, &eij_arr[0]) def update_pair_energy_gpu(self, eij): - cdef uintptr_t ptr = eij.data.ptr + cdef uintptr_t ptr; + try: + ptr = eij.data.ptr + except: + ptr = eij.data_ptr() update_pair_energy(self.data, ptr) def update_pair_energy(self, eij): if self.data.dev==0: @@ -158,10 +165,18 @@ cdef class MLIAPDataPy: self.update_pair_energy_gpu(eij) def update_pair_forces_cpu(self, fij): - cdef double[:, ::1] fij_arr = fij + cdef double[:, ::1] fij_arr + try: + fij_arr = fij + except: + fij_arr = fij.detach().numpy().astype(np.double) update_pair_forces(self.data, &fij_arr[0][0]) def update_pair_forces_gpu(self, fij): - cdef uintptr_t ptr = fij.data.ptr + cdef uintptr_t ptr + try: + ptr = fij.data.ptr + except: + ptr = fij.data_ptr() update_pair_forces(self.data, ptr) def update_pair_forces(self, fij): if self.data.dev==0: @@ -172,7 +187,8 @@ cdef class MLIAPDataPy: def f(self): if self.data.f is NULL: return None - return cupy.asarray( self.data.f) + return create_array(self.data.dev, self.data.f, [self.ntotal, 3],False) + @property def size_gradforce(self): @@ -205,14 +221,11 @@ cdef class MLIAPDataPy: descriptors_view[:] = value_view print("This code has not been tested or optimized for the GPU, if you are getting this warning optimize descriptors") - @write_only_property - def eatoms(self, value): + @property + def eatoms(self): if self.data.eatoms is NULL: raise ValueError("attempt to set NULL eatoms") - cdef double[:] eatoms_view = &self.data.eatoms[0] - cdef double[:] value_view = value - eatoms_view[:] = value_view - print("This code has not been tested or optimized for the GPU, if you are getting this warning optimize eatoms") + return create_array(self.data.dev, self.data.eatoms, [self.nlistatoms],False) @write_only_property @@ -351,7 +364,7 @@ cdef class MLIAPDataPy: # Interface between C and Python compute functions -cdef class MLIAPUnifiedInterface: +cdef class MLIAPUnifiedInterfaceKokkos: cdef MLIAPDummyModel * model cdef MLIAPDummyDescriptor * descriptor cdef unified_impl @@ -404,7 +417,7 @@ cdef public object mliap_unified_connect_kokkos(char *fname, MLIAPDummyModel * m with open(str_fname, 'rb') as pfile: unified = pickle.load(pfile) - unified_int = MLIAPUnifiedInterface(unified) + unified_int = MLIAPUnifiedInterfaceKokkos(unified) unified_int.model = model unified_int.descriptor = descriptor diff --git a/src/KOKKOS/mliap_unified_kokkos.cpp b/src/KOKKOS/mliap_unified_kokkos.cpp index bfb9193df6..1fdf039473 100644 --- a/src/KOKKOS/mliap_unified_kokkos.cpp +++ b/src/KOKKOS/mliap_unified_kokkos.cpp @@ -269,7 +269,6 @@ MLIAPBuildUnifiedKokkos_t LAMMPS_NS::build_unified(char *unified_fna void LAMMPS_NS::update_pair_energy(MLIAPDataKokkosDevice *data, double *eij) { - double e_total = 0.0; auto d_eatoms = data->eatoms; auto d_pair_i= data->pair_i; const auto nlistatoms = data->nlistatoms; @@ -301,8 +300,13 @@ void LAMMPS_NS::update_pair_forces(MLIAPDataKokkosDevice *data, double *fij) auto j_atoms = data->jatoms; auto vflag = data->vflag; auto rij = data->rij; - int vflag_either=data->pairmliap->vflag_either, vflag_global=data->pairmliap->vflag_global, vflag_atom=data->pairmliap->vflag_atom; + int vflag_global=data->pairmliap->vflag_global, vflag_atom=data->pairmliap->vflag_atom; + if (vflag_atom) { + data->pairmliap->k_vatom.template modify(); + data->pairmliap->k_vatom.template sync(); + } auto d_vatom = data->pairmliap->k_vatom.template view(); + Kokkos::View virial("virial"); Kokkos::parallel_for(data->npairs,KOKKOS_LAMBDA (int ii) { @@ -310,7 +314,6 @@ void LAMMPS_NS::update_pair_forces(MLIAPDataKokkosDevice *data, double *fij) int ii3 = ii * 3; int i = pair_i[ii]; int j = j_atoms[ii]; - // must not count any contribution where i is not a local atom if (i < nlistatoms) { Kokkos::atomic_add(&f[i*3+0], fij[ii3+0]); @@ -335,7 +338,7 @@ void LAMMPS_NS::update_pair_forces(MLIAPDataKokkosDevice *data, double *fij) Kokkos::atomic_add(&virial[4], v[4]); Kokkos::atomic_add(&virial[5], v[5]); } - if (vflag_atom) { + if (vflag_atom ) { Kokkos::atomic_add(&d_vatom(i,0), 0.5*v[0]); Kokkos::atomic_add(&d_vatom(i,1), 0.5*v[1]); Kokkos::atomic_add(&d_vatom(i,2), 0.5*v[2]); @@ -373,15 +376,11 @@ template class MLIAPDummyModelKokkos; template class MLIAPDummyDescriptorKokkos; template MLIAPBuildUnifiedKokkos_t LAMMPS_NS::build_unified(char *unified_fname, MLIAPDataKokkos *data, LAMMPS *lmp, char *coefffilename); -//template void LAMMPS_NS::update_pair_energy(MLIAPDataKokkos *data, double *eij); -//template void LAMMPS_NS::update_pair_forces(MLIAPDataKokkos *data, double *fij); #ifdef LMP_KOKKOS_GPU template class MLIAPDummyModelKokkos; template class MLIAPDummyDescriptorKokkos; template MLIAPBuildUnifiedKokkos_t LAMMPS_NS::build_unified(char *unified_fname, MLIAPDataKokkos *data, LAMMPS *lmp, char *coefffilename); -//template void LAMMPS_NS::update_pair_energy(MLIAPDataKokkos *data, double *eij); -//template void LAMMPS_NS::update_pair_forces(MLIAPDataKokkos *data, double *fij); #endif } #endif diff --git a/src/KOKKOS/pair_mliap_kokkos.cpp b/src/KOKKOS/pair_mliap_kokkos.cpp index 558901c6ff..d19d81e314 100644 --- a/src/KOKKOS/pair_mliap_kokkos.cpp +++ b/src/KOKKOS/pair_mliap_kokkos.cpp @@ -74,7 +74,6 @@ void PairMLIAPKokkos::compute(int eflag, int vflag) int is_kokkos_descriptor = (dynamic_cast*>(descriptor)) != nullptr; auto model_space = is_kokkos_model ? execution_space : Host; auto descriptor_space = is_kokkos_descriptor? execution_space : Host; - // consistency checks if (data->ndescriptors != model->ndescriptors) error->all(FLERR, "Incompatible model and descriptor descriptor count"); @@ -107,12 +106,14 @@ void PairMLIAPKokkos::compute(int eflag, int vflag) k_data->sync(model_space, IELEMS_MASK | DESCRIPTORS_MASK); model->compute_gradients(data); k_data->modified(model_space, BETAS_MASK); - if (eflag_atom) + if (eflag_atom) { k_data->modified(model_space, EATOMS_MASK); + } // calculate force contributions beta_i*dB_i/dR_j atomKK->sync(descriptor_space,F_MASK); k_data->sync(descriptor_space, NUMNEIGHS_MASK | IATOMS_MASK | IELEMS_MASK | ELEMS_MASK | BETAS_MASK | JATOMS_MASK | PAIR_I_MASK | JELEMS_MASK | RIJ_MASK ); + descriptor->compute_forces(data); e_tally(data); @@ -293,7 +294,7 @@ void PairMLIAPKokkos::e_tally(MLIAPData* data) if (eflag_global) eng_vdwl += data->energy; if (eflag_atom) { MLIAPDataKokkos *k_data = static_cast*>(data); - k_data->sync(execution_space, IATOMS_MASK | EATOMS_MASK); + k_data->sync(execution_space, IATOMS_MASK | EATOMS_MASK, true); auto d_iatoms = k_data->k_iatoms.template view(); auto d_eatoms = k_data->k_eatoms.template view(); auto d_eatom = k_eatom.template view(); From 5fb11e3f06e07407b95feb22ff96802a439122e0 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Thu, 23 Feb 2023 18:14:23 +0200 Subject: [PATCH 131/448] Include method declaration in bond_fene.h --- src/MOLECULE/bond_fene.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/MOLECULE/bond_fene.h b/src/MOLECULE/bond_fene.h index eb9e981a32..1628e7a2a2 100644 --- a/src/MOLECULE/bond_fene.h +++ b/src/MOLECULE/bond_fene.h @@ -26,7 +26,7 @@ namespace LAMMPS_NS { class BondFENE : public Bond { public: - BondFENE(class LAMMPS *_lmp) : Bond(_lmp) {} + BondFENE(class LAMMPS *); ~BondFENE() override; void compute(int, int) override; void coeff(int, char **) override; @@ -36,6 +36,7 @@ class BondFENE : public Bond { void read_restart(FILE *) override; void write_data(FILE *) override; double single(int, double, int, int, double &) override; + void born_matrix(int, double, int, int, double &, double &) override; void *extract(const char *, int &) override; protected: From bb75ed50718c1080854713e9dcdb7bdc45c63cb4 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Thu, 23 Feb 2023 18:15:43 +0200 Subject: [PATCH 132/448] Implement born_matrix in bond_fene.cpp --- src/MOLECULE/bond_fene.cpp | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/MOLECULE/bond_fene.cpp b/src/MOLECULE/bond_fene.cpp index 0f279fccb6..7f55c89296 100644 --- a/src/MOLECULE/bond_fene.cpp +++ b/src/MOLECULE/bond_fene.cpp @@ -30,6 +30,13 @@ using MathConst::MY_CUBEROOT2; /* ---------------------------------------------------------------------- */ +BondFENE::BondFENE(LAMMPS *_lmp) : Bond(_lmp) +{ + born_matrix_enable = 1; +} + +/* ---------------------------------------------------------------------- */ + BondFENE::~BondFENE() { if (allocated && !copymode) { @@ -262,6 +269,28 @@ double BondFENE::single(int type, double rsq, int /*i*/, int /*j*/, double &ffor /* ---------------------------------------------------------------------- */ +void BondFENE::born_matrix(int type, double rsq, int /*i*/, int /*j*/, double &du, double &du2) +{ + double r = sqrt(rsq); + double r0sq = r0[type] * r0[type]; + double rlogarg = 1.0 - rsq / r0sq; + + // Contribution from the attractive term + du = k[type] * r / rlogarg; + du2 = k[type] * (1.0 + rsq / r0sq) / (rlogarg * rlogarg); + + // Contribution from the repulsive Lennard-Jones term + if (rsq < MY_CUBEROOT2 * sigma[type] * sigma[type]) { + double sr2 = sigma[type] * sigma[type] / rsq; + double sr6 = sr2 * sr2 * sr2; + + du += 48.0 * epsilon[type] * sr6 * (0.5 - sr6) / r; + du2 += 48.0 * epsilon[type] * sr6 * (13.0 * sr6 - 3.5) / rsq; + } +} + +/* ---------------------------------------------------------------------- */ + void *BondFENE::extract(const char *str, int &dim) { dim = 1; From d3ac4a728da710f018f6b033a7830d5fea17e434 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 23 Feb 2023 15:20:43 -0500 Subject: [PATCH 133/448] fix bug in fix wall/morse that was computing the force incorrectly --- examples/wall/log.23Feb23.wall.lepton.g++.1 | 44 ++++++---------- examples/wall/log.23Feb23.wall.lepton.g++.4 | 50 +++++++----------- examples/wall/log.23Feb23.wall.table.g++.1 | 57 ++++++++------------- examples/wall/log.23Feb23.wall.table.g++.4 | 57 ++++++++------------- src/fix_wall_morse.cpp | 2 +- 5 files changed, 78 insertions(+), 132 deletions(-) diff --git a/examples/wall/log.23Feb23.wall.lepton.g++.1 b/examples/wall/log.23Feb23.wall.lepton.g++.1 index 91fb3a3a53..5d555b2717 100644 --- a/examples/wall/log.23Feb23.wall.lepton.g++.1 +++ b/examples/wall/log.23Feb23.wall.lepton.g++.1 @@ -1,5 +1,4 @@ LAMMPS (8 Feb 2023) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task units real atom_style bond @@ -72,7 +71,6 @@ variable name string wall-harmonic include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -137,14 +135,13 @@ Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes 3 115302.7492 47133.32419 1031.086781 746.8819904 1777.968771 0 4 165817.4572 67782.66799 1482.811029 285.5057515 1768.31678 0 5 194283.6024 79419.02582 1737.367544 25.51012833 1762.877672 0 -Loop time of 5.837e-05 on 1 procs for 5 steps with 4 atoms +Loop time of 7.6828e-05 on 1 procs for 5 steps with 4 atoms variable name string lepton-harmonic include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -209,14 +206,13 @@ Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes 3 115302.7492 47133.32419 1031.086781 746.8819904 1777.968771 0 4 165817.4572 67782.66799 1482.811029 285.5057515 1768.31678 0 5 194283.6024 79419.02582 1737.367544 25.51012833 1762.877672 0 -Loop time of 0.00343046 on 1 procs for 5 steps with 4 atoms +Loop time of 0.00134915 on 1 procs for 5 steps with 4 atoms variable name string bond-harmonic include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -282,14 +278,13 @@ Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes 3 115302.7492 83661.44348 1031.086781 746.8819904 1777.968771 373.4409952 4 165817.4572 98424.89283 1482.811029 285.5057515 1768.31678 142.7528758 5 194283.6024 91313.53086 1737.367544 25.51012833 1762.877672 12.75506417 -Loop time of 6.3996e-05 on 1 procs for 5 steps with 4 atoms +Loop time of 4.6572e-05 on 1 procs for 5 steps with 4 atoms variable name string pair-harmonic include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -354,7 +349,7 @@ Per MPI rank memory allocation (min/avg/max) = 4.43 | 4.43 | 4.43 Mbytes 3 115302.7492 83661.44348 1031.086781 746.8819904 1777.968771 373.4409952 4 165817.4572 98424.89283 1482.811029 285.5057515 1768.31678 142.7528758 5 170540.4005 97560.47089 1525.045619 190.8165235 1715.862142 178.0614593 -Loop time of 5.4513e-05 on 1 procs for 5 steps with 4 atoms +Loop time of 8.4058e-05 on 1 procs for 5 steps with 4 atoms variable eps index 0.02 @@ -363,7 +358,6 @@ variable name string wall-lj126 include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -433,14 +427,13 @@ Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes 4 178259.4975 72868.71081 1594.073105 0 1594.073105 0 5 178259.4975 72868.71081 1594.073105 0 1594.073105 0 WARNING: Bond/angle/dihedral extent > half of periodic box length (src/domain.cpp:936) -Loop time of 5.3398e-05 on 1 procs for 5 steps with 4 atoms +Loop time of 4.3942e-05 on 1 procs for 5 steps with 4 atoms variable name string lepton-lj126 include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -506,14 +499,13 @@ Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes 4 178259.4975 72868.71081 1594.073105 0 1594.073105 0 5 178259.4975 72868.71081 1594.073105 0 1594.073105 0 WARNING: Bond/angle/dihedral extent > half of periodic box length (src/domain.cpp:936) -Loop time of 0.0051554 on 1 procs for 5 steps with 4 atoms +Loop time of 0.00298781 on 1 procs for 5 steps with 4 atoms variable name string pair-lj126 include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -582,7 +574,7 @@ Per MPI rank memory allocation (min/avg/max) = 4.43 | 4.43 | 4.43 Mbytes 4 176007.6835 72778.53677 1573.936415 2.772305717 1576.708721 2.772305717 5 1.132219912e+27 4.628275436e+26 1.012479748e+25 3.761972158e+12 1.012479748e+25 3.761972158e+12 WARNING: Bond/angle/dihedral extent > half of periodic box length (src/domain.cpp:936) -Loop time of 5.4716e-05 on 1 procs for 5 steps with 4 atoms +Loop time of 4.4455e-05 on 1 procs for 5 steps with 4 atoms variable d0 index 20.0 @@ -593,7 +585,6 @@ variable name string wall-morse include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -659,19 +650,18 @@ Neighbor list info ... Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes Step Temp Press KinEng PotEng TotEng c_pe 0 0 0 0 -30.02905654 -30.02905654 0 - 1 144.4114716 59.032354 1.291389498 -31.40065042 -30.10926092 0 - 2 471.9742076 192.9330696 4.220596384 -34.53885647 -30.31826008 0 - 3 784.0772455 320.5141877 7.011556 -37.58109301 -30.56953701 0 - 4 961.8950756 393.2023542 8.601679525 -39.34691775 -30.74523823 0 - 5 996.609681 407.3929504 8.91211246 -39.66353245 -30.75141999 0 -Loop time of 4.8727e-05 on 1 procs for 5 steps with 4 atoms + 1 146.0893547 59.71823711 1.30639385 -31.40065042 -30.09425657 0 + 2 485.8091411 198.5884977 4.34431431 -34.55987817 -30.21556386 0 + 3 822.0828974 336.0500941 7.351418888 -37.63613582 -30.28471693 0 + 4 1018.806679 416.4666136 9.110607565 -39.39265114 -30.28204357 0 + 5 1050.331347 429.3532307 9.392514704 -39.63687095 -30.24435625 0 +Loop time of 7.6505e-05 on 1 procs for 5 steps with 4 atoms variable name string lepton-morse include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -736,14 +726,13 @@ Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes 3 822.0828974 336.0500941 7.351418888 -37.63613582 -30.28471693 0 4 1018.806679 416.4666136 9.110607565 -39.39265114 -30.28204357 0 5 1050.331347 429.3532307 9.392514704 -39.63687095 -30.24435625 0 -Loop time of 0.00478609 on 1 procs for 5 steps with 4 atoms +Loop time of 0.00266357 on 1 procs for 5 steps with 4 atoms variable name string bond-morse include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -811,14 +800,13 @@ Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes 3 822.0828974 1456.368913 7.351418888 2.06858205 9.420000938 1.034291025 4 1018.806679 823.4383177 9.110607565 0.3120667313 9.422674297 0.1560333657 5 1050.331347 253.0262957 9.392514704 0.06784692056 9.460361624 0.03392346028 -Loop time of 3.7914e-05 on 1 procs for 5 steps with 4 atoms +Loop time of 0.000120428 on 1 procs for 5 steps with 4 atoms variable name string pair-morse include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -887,7 +875,7 @@ Per MPI rank memory allocation (min/avg/max) = 4.43 | 4.43 | 4.43 Mbytes 3 822.0828974 1456.368913 7.351418888 -37.63613582 -30.28471693 -18.81806791 4 1018.806679 823.4383177 9.110607565 -39.39265114 -30.28204357 -19.69632557 5 1050.331347 253.0262957 9.392514704 -39.63687095 -30.24435625 -19.81843547 -Loop time of 4.2699e-05 on 1 procs for 5 steps with 4 atoms +Loop time of 3.6356e-05 on 1 procs for 5 steps with 4 atoms shell rm -f walltest.restart diff --git a/examples/wall/log.23Feb23.wall.lepton.g++.4 b/examples/wall/log.23Feb23.wall.lepton.g++.4 index ba630cc5d8..7820f2a9ae 100644 --- a/examples/wall/log.23Feb23.wall.lepton.g++.4 +++ b/examples/wall/log.23Feb23.wall.lepton.g++.4 @@ -1,5 +1,4 @@ LAMMPS (8 Feb 2023) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task units real atom_style bond @@ -22,7 +21,7 @@ Created 1 atoms create_atoms 1 single 4.0 0.0 0.0 Created 1 atoms using lattice units in orthogonal box = (-5 -5 -5) to (5 5 5) - create_atoms CPU = 0.001 seconds + create_atoms CPU = 0.000 seconds create_atoms 1 single -5.0 0.0 0.0 Created 1 atoms using lattice units in orthogonal box = (-5 -5 -5) to (5 5 5) @@ -48,7 +47,7 @@ Finding 1-2 1-3 1-4 neighbors ... 0 = max # of 1-3 neighbors 0 = max # of 1-4 neighbors 3 = max # of special neighbors - special bonds CPU = 0.000 seconds + special bonds CPU = 0.001 seconds group move id 1:2 2 atoms in group move @@ -72,7 +71,6 @@ variable name string wall-harmonic include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -137,14 +135,13 @@ Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes 3 115302.7492 47133.32419 1031.086781 746.8819904 1777.968771 0 4 165817.4572 67782.66799 1482.811029 285.5057515 1768.31678 0 5 194283.6024 79419.02582 1737.367544 25.51012833 1762.877672 0 -Loop time of 0.000225045 on 4 procs for 5 steps with 4 atoms +Loop time of 0.000266179 on 4 procs for 5 steps with 4 atoms variable name string lepton-harmonic include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -209,14 +206,13 @@ Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes 3 115302.7492 47133.32419 1031.086781 746.8819904 1777.968771 0 4 165817.4572 67782.66799 1482.811029 285.5057515 1768.31678 0 5 194283.6024 79419.02582 1737.367544 25.51012833 1762.877672 0 -Loop time of 0.00491331 on 4 procs for 5 steps with 4 atoms +Loop time of 0.00230794 on 4 procs for 5 steps with 4 atoms variable name string bond-harmonic include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -282,14 +278,13 @@ Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes 3 115302.7492 83661.44348 1031.086781 746.8819904 1777.968771 373.4409952 4 165817.4572 98424.89283 1482.811029 285.5057515 1768.31678 142.7528758 5 194283.6024 91313.53086 1737.367544 25.51012833 1762.877672 12.75506417 -Loop time of 0.000214841 on 4 procs for 5 steps with 4 atoms +Loop time of 0.000358068 on 4 procs for 5 steps with 4 atoms variable name string pair-harmonic include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -354,7 +349,7 @@ Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.38 | 4.56 Mbytes 3 115302.7492 83661.44348 1031.086781 746.8819904 1777.968771 373.4409952 4 165817.4572 98424.89283 1482.811029 285.5057515 1768.31678 142.7528758 5 170540.4005 97560.47089 1525.045619 190.8165235 1715.862142 178.0614593 -Loop time of 0.000212697 on 4 procs for 5 steps with 4 atoms +Loop time of 0.000341881 on 4 procs for 5 steps with 4 atoms variable eps index 0.02 @@ -363,7 +358,6 @@ variable name string wall-lj126 include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -433,14 +427,13 @@ Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes 4 178259.4975 72868.71081 1594.073105 0 1594.073105 0 5 178259.4975 72868.71081 1594.073105 0 1594.073105 0 WARNING: Bond/angle/dihedral extent > half of periodic box length (src/domain.cpp:936) -Loop time of 0.000207412 on 4 procs for 5 steps with 4 atoms +Loop time of 0.000345376 on 4 procs for 5 steps with 4 atoms variable name string lepton-lj126 include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -506,14 +499,13 @@ Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes 4 178259.4975 72868.71081 1594.073105 0 1594.073105 0 5 178259.4975 72868.71081 1594.073105 0 1594.073105 0 WARNING: Bond/angle/dihedral extent > half of periodic box length (src/domain.cpp:936) -Loop time of 0.00958101 on 4 procs for 5 steps with 4 atoms +Loop time of 0.00332789 on 4 procs for 5 steps with 4 atoms variable name string pair-lj126 include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -582,7 +574,7 @@ Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.38 | 4.56 Mbytes 4 176007.6835 72778.53677 1573.936415 2.772305717 1576.708721 2.772305717 5 1.132219912e+27 4.628275436e+26 1.012479748e+25 3.761972158e+12 1.012479748e+25 3.761972158e+12 WARNING: Bond/angle/dihedral extent > half of periodic box length (src/domain.cpp:936) -Loop time of 0.00016574 on 4 procs for 5 steps with 4 atoms +Loop time of 0.000404238 on 4 procs for 5 steps with 4 atoms variable d0 index 20.0 @@ -593,7 +585,6 @@ variable name string wall-morse include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -659,19 +650,18 @@ Neighbor list info ... Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes Step Temp Press KinEng PotEng TotEng c_pe 0 0 0 0 -30.02905654 -30.02905654 0 - 1 144.4114716 59.032354 1.291389498 -31.40065042 -30.10926092 0 - 2 471.9742076 192.9330696 4.220596384 -34.53885647 -30.31826008 0 - 3 784.0772455 320.5141877 7.011556 -37.58109301 -30.56953701 0 - 4 961.8950756 393.2023542 8.601679525 -39.34691775 -30.74523823 0 - 5 996.609681 407.3929504 8.91211246 -39.66353245 -30.75141999 0 -Loop time of 0.000162994 on 4 procs for 5 steps with 4 atoms + 1 146.0893547 59.71823711 1.30639385 -31.40065042 -30.09425657 0 + 2 485.8091411 198.5884977 4.34431431 -34.55987817 -30.21556386 0 + 3 822.0828974 336.0500941 7.351418888 -37.63613582 -30.28471693 0 + 4 1018.806679 416.4666136 9.110607565 -39.39265114 -30.28204357 0 + 5 1050.331347 429.3532307 9.392514704 -39.63687095 -30.24435625 0 +Loop time of 0.000748817 on 4 procs for 5 steps with 4 atoms variable name string lepton-morse include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -736,14 +726,13 @@ Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes 3 822.0828974 336.0500941 7.351418888 -37.63613582 -30.28471693 0 4 1018.806679 416.4666136 9.110607565 -39.39265114 -30.28204357 0 5 1050.331347 429.3532307 9.392514704 -39.63687095 -30.24435625 0 -Loop time of 0.00780516 on 4 procs for 5 steps with 4 atoms +Loop time of 0.00347272 on 4 procs for 5 steps with 4 atoms variable name string bond-morse include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -762,7 +751,7 @@ Finding 1-2 1-3 1-4 neighbors ... 0 = max # of 1-3 neighbors 0 = max # of 1-4 neighbors 3 = max # of special neighbors - special bonds CPU = 0.000 seconds + special bonds CPU = 0.001 seconds read_restart CPU = 0.001 seconds # log ${name}.log @@ -811,14 +800,13 @@ Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes 3 822.0828974 1456.368913 7.351418888 2.06858205 9.420000938 1.034291025 4 1018.806679 823.4383177 9.110607565 0.3120667313 9.422674297 0.1560333657 5 1050.331347 253.0262957 9.392514704 0.06784692056 9.460361624 0.03392346028 -Loop time of 0.000141974 on 4 procs for 5 steps with 4 atoms +Loop time of 0.000859458 on 4 procs for 5 steps with 4 atoms variable name string pair-morse include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -887,7 +875,7 @@ Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.38 | 4.56 Mbytes 3 822.0828974 1456.368913 7.351418888 -37.63613582 -30.28471693 -18.81806791 4 1018.806679 823.4383177 9.110607565 -39.39265114 -30.28204357 -19.69632557 5 1050.331347 253.0262957 9.392514704 -39.63687095 -30.24435625 -19.81843547 -Loop time of 0.000196232 on 4 procs for 5 steps with 4 atoms +Loop time of 0.00029769 on 4 procs for 5 steps with 4 atoms shell rm -f walltest.restart diff --git a/examples/wall/log.23Feb23.wall.table.g++.1 b/examples/wall/log.23Feb23.wall.table.g++.1 index c03bc61f23..f734be7403 100644 --- a/examples/wall/log.23Feb23.wall.table.g++.1 +++ b/examples/wall/log.23Feb23.wall.table.g++.1 @@ -1,5 +1,4 @@ LAMMPS (8 Feb 2023) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task units real atom_style bond @@ -22,7 +21,7 @@ Created 1 atoms create_atoms 1 single 4.0 0.0 0.0 Created 1 atoms using lattice units in orthogonal box = (-5 -5 -5) to (5 5 5) - create_atoms CPU = 0.000 seconds + create_atoms CPU = 0.001 seconds create_atoms 1 single -5.0 0.0 0.0 Created 1 atoms using lattice units in orthogonal box = (-5 -5 -5) to (5 5 5) @@ -72,7 +71,6 @@ variable name string wall-harmonic include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -137,14 +135,13 @@ Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes 3 115302.7492 47133.32419 1031.086781 746.8819904 1777.968771 0 4 165817.4572 67782.66799 1482.811029 285.5057515 1768.31678 0 5 194283.6024 79419.02582 1737.367544 25.51012833 1762.877672 0 -Loop time of 7.7442e-05 on 1 procs for 5 steps with 4 atoms +Loop time of 4.6507e-05 on 1 procs for 5 steps with 4 atoms variable name string table-harmonic include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -211,14 +208,13 @@ Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes 3 115302.7492 47133.32419 1031.086781 746.8824148 1777.969196 0 4 165817.4572 67782.66799 1482.811029 285.5061521 1768.317181 0 5 194283.6024 79419.02582 1737.367544 25.51090543 1762.878449 0 -Loop time of 7.9176e-05 on 1 procs for 5 steps with 4 atoms +Loop time of 5.7549e-05 on 1 procs for 5 steps with 4 atoms variable name string spline-harmonic include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -285,14 +281,13 @@ Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes 3 115302.7492 47133.32419 1031.086781 746.8819904 1777.968771 0 4 165817.4572 67782.66799 1482.811029 285.5057515 1768.31678 0 5 194283.6024 79419.02582 1737.367544 25.51012833 1762.877672 0 -Loop time of 7.4164e-05 on 1 procs for 5 steps with 4 atoms +Loop time of 7.285e-05 on 1 procs for 5 steps with 4 atoms variable name string bond-harmonic include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -358,14 +353,13 @@ Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes 3 115302.7492 83661.44348 1031.086781 746.8819904 1777.968771 373.4409952 4 165817.4572 98424.89283 1482.811029 285.5057515 1768.31678 142.7528758 5 194283.6024 91313.53086 1737.367544 25.51012833 1762.877672 12.75506417 -Loop time of 7.4638e-05 on 1 procs for 5 steps with 4 atoms +Loop time of 4.5844e-05 on 1 procs for 5 steps with 4 atoms variable name string pair-harmonic include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -430,7 +424,7 @@ Per MPI rank memory allocation (min/avg/max) = 4.43 | 4.43 | 4.43 Mbytes 3 115302.7492 83661.44348 1031.086781 746.8819904 1777.968771 373.4409952 4 165817.4572 98424.89283 1482.811029 285.5057515 1768.31678 142.7528758 5 170540.4005 97560.47089 1525.045619 190.8165235 1715.862142 178.0614593 -Loop time of 7.6049e-05 on 1 procs for 5 steps with 4 atoms +Loop time of 4.6409e-05 on 1 procs for 5 steps with 4 atoms variable eps index 0.02 @@ -439,7 +433,6 @@ variable name string wall-lj126 include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -509,14 +502,13 @@ Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes 4 178259.4975 72868.71081 1594.073105 0 1594.073105 0 5 178259.4975 72868.71081 1594.073105 0 1594.073105 0 WARNING: Bond/angle/dihedral extent > half of periodic box length (src/domain.cpp:936) -Loop time of 6.7788e-05 on 1 procs for 5 steps with 4 atoms +Loop time of 4.3816e-05 on 1 procs for 5 steps with 4 atoms variable name string table-lj126 include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -588,14 +580,13 @@ Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes 4 178318.0722 72892.6549 1594.596905 0 1594.596905 0 5 178318.0722 72892.6549 1594.596905 0 1594.596905 0 WARNING: Bond/angle/dihedral extent > half of periodic box length (src/domain.cpp:936) -Loop time of 7.0625e-05 on 1 procs for 5 steps with 4 atoms +Loop time of 4.2027e-05 on 1 procs for 5 steps with 4 atoms variable name string spline-lj126 include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -667,14 +658,13 @@ Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes 4 162012.2554 66227.18201 1448.783278 0 1448.783278 0 5 162012.2554 66227.18201 1448.783278 0 1448.783278 0 WARNING: Bond/angle/dihedral extent > half of periodic box length (src/domain.cpp:936) -Loop time of 7.8628e-05 on 1 procs for 5 steps with 4 atoms +Loop time of 7.5223e-05 on 1 procs for 5 steps with 4 atoms variable name string pair-lj126 include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -743,7 +733,7 @@ Per MPI rank memory allocation (min/avg/max) = 4.43 | 4.43 | 4.43 Mbytes 4 176007.6835 72778.53677 1573.936415 2.772305717 1576.708721 2.772305717 5 1.132219912e+27 4.628275436e+26 1.012479748e+25 3.761972158e+12 1.012479748e+25 3.761972158e+12 WARNING: Bond/angle/dihedral extent > half of periodic box length (src/domain.cpp:936) -Loop time of 5.1616e-05 on 1 procs for 5 steps with 4 atoms +Loop time of 8.0904e-05 on 1 procs for 5 steps with 4 atoms variable d0 index 20.0 @@ -754,7 +744,6 @@ variable name string wall-morse include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -820,19 +809,18 @@ Neighbor list info ... Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes Step Temp Press KinEng PotEng TotEng c_pe 0 0 0 0 -30.02905654 -30.02905654 0 - 1 144.4114716 59.032354 1.291389498 -31.40065042 -30.10926092 0 - 2 471.9742076 192.9330696 4.220596384 -34.53885647 -30.31826008 0 - 3 784.0772455 320.5141877 7.011556 -37.58109301 -30.56953701 0 - 4 961.8950756 393.2023542 8.601679525 -39.34691775 -30.74523823 0 - 5 996.609681 407.3929504 8.91211246 -39.66353245 -30.75141999 0 -Loop time of 3.8086e-05 on 1 procs for 5 steps with 4 atoms + 1 146.0893547 59.71823711 1.30639385 -31.40065042 -30.09425657 0 + 2 485.8091411 198.5884977 4.34431431 -34.55987817 -30.21556386 0 + 3 822.0828974 336.0500941 7.351418888 -37.63613582 -30.28471693 0 + 4 1018.806679 416.4666136 9.110607565 -39.39265114 -30.28204357 0 + 5 1050.331347 429.3532307 9.392514704 -39.63687095 -30.24435625 0 +Loop time of 7.721e-05 on 1 procs for 5 steps with 4 atoms variable name string table-morse include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -899,14 +887,13 @@ Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes 3 822.1558136 336.0799007 7.352070936 -37.63533573 -30.28326479 0 4 1018.904947 416.5067832 9.111486314 -39.39200056 -30.28051425 0 5 1050.436268 429.3961205 9.393452958 -39.63643565 -30.24298269 0 -Loop time of 3.7571e-05 on 1 procs for 5 steps with 4 atoms +Loop time of 5.4273e-05 on 1 procs for 5 steps with 4 atoms variable name string spline-morse include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -973,14 +960,13 @@ Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes 3 822.0828818 336.0500877 7.351418748 -37.63613601 -30.28471726 0 4 1018.80666 416.4666056 9.110607389 -39.39265128 -30.28204389 0 5 1050.331328 429.353223 9.392514534 -39.63687099 -30.24435645 0 -Loop time of 4.1369e-05 on 1 procs for 5 steps with 4 atoms +Loop time of 3.4052e-05 on 1 procs for 5 steps with 4 atoms variable name string bond-morse include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -1000,7 +986,7 @@ Finding 1-2 1-3 1-4 neighbors ... 0 = max # of 1-4 neighbors 3 = max # of special neighbors special bonds CPU = 0.000 seconds - read_restart CPU = 0.001 seconds + read_restart CPU = 0.000 seconds # log ${name}.log compute ea move pe/atom @@ -1048,14 +1034,13 @@ Per MPI rank memory allocation (min/avg/max) = 4.429 | 4.429 | 4.429 Mbytes 3 822.0828974 1456.368913 7.351418888 2.06858205 9.420000938 1.034291025 4 1018.806679 823.4383177 9.110607565 0.3120667313 9.422674297 0.1560333657 5 1050.331347 253.0262957 9.392514704 0.06784692056 9.460361624 0.03392346028 -Loop time of 5.8418e-05 on 1 procs for 5 steps with 4 atoms +Loop time of 7.2553e-05 on 1 procs for 5 steps with 4 atoms variable name string pair-morse include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -1124,7 +1109,7 @@ Per MPI rank memory allocation (min/avg/max) = 4.43 | 4.43 | 4.43 Mbytes 3 822.0828974 1456.368913 7.351418888 -37.63613582 -30.28471693 -18.81806791 4 1018.806679 823.4383177 9.110607565 -39.39265114 -30.28204357 -19.69632557 5 1050.331347 253.0262957 9.392514704 -39.63687095 -30.24435625 -19.81843547 -Loop time of 6.2323e-05 on 1 procs for 5 steps with 4 atoms +Loop time of 4.2481e-05 on 1 procs for 5 steps with 4 atoms shell rm -f walltest.restart diff --git a/examples/wall/log.23Feb23.wall.table.g++.4 b/examples/wall/log.23Feb23.wall.table.g++.4 index d8329f739e..8b0e9e0902 100644 --- a/examples/wall/log.23Feb23.wall.table.g++.4 +++ b/examples/wall/log.23Feb23.wall.table.g++.4 @@ -1,5 +1,4 @@ LAMMPS (8 Feb 2023) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task units real atom_style bond @@ -48,7 +47,7 @@ Finding 1-2 1-3 1-4 neighbors ... 0 = max # of 1-3 neighbors 0 = max # of 1-4 neighbors 3 = max # of special neighbors - special bonds CPU = 0.000 seconds + special bonds CPU = 0.001 seconds group move id 1:2 2 atoms in group move @@ -72,7 +71,6 @@ variable name string wall-harmonic include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -103,7 +101,7 @@ Finding 1-2 1-3 1-4 neighbors ... special bond factors coul: 1 1 1 1 = max # of 1-2 neighbors 3 = max # of special neighbors - special bonds CPU = 0.000 seconds + special bonds CPU = 0.001 seconds thermo_style custom step temp press ke pe etotal c_pe thermo 1 @@ -137,14 +135,13 @@ Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes 3 115302.7492 47133.32419 1031.086781 746.8819904 1777.968771 0 4 165817.4572 67782.66799 1482.811029 285.5057515 1768.31678 0 5 194283.6024 79419.02582 1737.367544 25.51012833 1762.877672 0 -Loop time of 0.000226889 on 4 procs for 5 steps with 4 atoms +Loop time of 0.000766029 on 4 procs for 5 steps with 4 atoms variable name string table-harmonic include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -211,14 +208,13 @@ Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes 3 115302.7492 47133.32419 1031.086781 746.8824148 1777.969196 0 4 165817.4572 67782.66799 1482.811029 285.5061521 1768.317181 0 5 194283.6024 79419.02582 1737.367544 25.51090543 1762.878449 0 -Loop time of 0.000222504 on 4 procs for 5 steps with 4 atoms +Loop time of 0.000395044 on 4 procs for 5 steps with 4 atoms variable name string spline-harmonic include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -285,14 +281,13 @@ Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes 3 115302.7492 47133.32419 1031.086781 746.8819904 1777.968771 0 4 165817.4572 67782.66799 1482.811029 285.5057515 1768.31678 0 5 194283.6024 79419.02582 1737.367544 25.51012833 1762.877672 0 -Loop time of 0.000211631 on 4 procs for 5 steps with 4 atoms +Loop time of 0.00033613 on 4 procs for 5 steps with 4 atoms variable name string bond-harmonic include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -358,14 +353,13 @@ Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes 3 115302.7492 83661.44348 1031.086781 746.8819904 1777.968771 373.4409952 4 165817.4572 98424.89283 1482.811029 285.5057515 1768.31678 142.7528758 5 194283.6024 91313.53086 1737.367544 25.51012833 1762.877672 12.75506417 -Loop time of 0.00017705 on 4 procs for 5 steps with 4 atoms +Loop time of 0.000380067 on 4 procs for 5 steps with 4 atoms variable name string pair-harmonic include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -430,7 +424,7 @@ Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.38 | 4.56 Mbytes 3 115302.7492 83661.44348 1031.086781 746.8819904 1777.968771 373.4409952 4 165817.4572 98424.89283 1482.811029 285.5057515 1768.31678 142.7528758 5 170540.4005 97560.47089 1525.045619 190.8165235 1715.862142 178.0614593 -Loop time of 0.000186388 on 4 procs for 5 steps with 4 atoms +Loop time of 0.000337009 on 4 procs for 5 steps with 4 atoms variable eps index 0.02 @@ -439,7 +433,6 @@ variable name string wall-lj126 include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -509,14 +502,13 @@ Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes 4 178259.4975 72868.71081 1594.073105 0 1594.073105 0 5 178259.4975 72868.71081 1594.073105 0 1594.073105 0 WARNING: Bond/angle/dihedral extent > half of periodic box length (src/domain.cpp:936) -Loop time of 0.000258277 on 4 procs for 5 steps with 4 atoms +Loop time of 0.000404521 on 4 procs for 5 steps with 4 atoms variable name string table-lj126 include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -588,14 +580,13 @@ Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes 4 178318.0722 72892.6549 1594.596905 0 1594.596905 0 5 178318.0722 72892.6549 1594.596905 0 1594.596905 0 WARNING: Bond/angle/dihedral extent > half of periodic box length (src/domain.cpp:936) -Loop time of 0.000230164 on 4 procs for 5 steps with 4 atoms +Loop time of 0.000334746 on 4 procs for 5 steps with 4 atoms variable name string spline-lj126 include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -667,14 +658,13 @@ Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes 4 162012.2554 66227.18201 1448.783278 0 1448.783278 0 5 162012.2554 66227.18201 1448.783278 0 1448.783278 0 WARNING: Bond/angle/dihedral extent > half of periodic box length (src/domain.cpp:936) -Loop time of 0.000182437 on 4 procs for 5 steps with 4 atoms +Loop time of 0.000345529 on 4 procs for 5 steps with 4 atoms variable name string pair-lj126 include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -743,7 +733,7 @@ Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.38 | 4.56 Mbytes 4 176007.6835 72778.53677 1573.936415 2.772305717 1576.708721 2.772305717 5 1.132219912e+27 4.628275436e+26 1.012479748e+25 3.761972158e+12 1.012479748e+25 3.761972158e+12 WARNING: Bond/angle/dihedral extent > half of periodic box length (src/domain.cpp:936) -Loop time of 0.000170205 on 4 procs for 5 steps with 4 atoms +Loop time of 0.000315196 on 4 procs for 5 steps with 4 atoms variable d0 index 20.0 @@ -754,7 +744,6 @@ variable name string wall-morse include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -820,19 +809,18 @@ Neighbor list info ... Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes Step Temp Press KinEng PotEng TotEng c_pe 0 0 0 0 -30.02905654 -30.02905654 0 - 1 144.4114716 59.032354 1.291389498 -31.40065042 -30.10926092 0 - 2 471.9742076 192.9330696 4.220596384 -34.53885647 -30.31826008 0 - 3 784.0772455 320.5141877 7.011556 -37.58109301 -30.56953701 0 - 4 961.8950756 393.2023542 8.601679525 -39.34691775 -30.74523823 0 - 5 996.609681 407.3929504 8.91211246 -39.66353245 -30.75141999 0 -Loop time of 0.000141964 on 4 procs for 5 steps with 4 atoms + 1 146.0893547 59.71823711 1.30639385 -31.40065042 -30.09425657 0 + 2 485.8091411 198.5884977 4.34431431 -34.55987817 -30.21556386 0 + 3 822.0828974 336.0500941 7.351418888 -37.63613582 -30.28471693 0 + 4 1018.806679 416.4666136 9.110607565 -39.39265114 -30.28204357 0 + 5 1050.331347 429.3532307 9.392514704 -39.63687095 -30.24435625 0 +Loop time of 0.000711295 on 4 procs for 5 steps with 4 atoms variable name string table-morse include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -899,14 +887,13 @@ Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes 3 822.1558136 336.0799007 7.352070936 -37.63533573 -30.28326479 0 4 1018.904947 416.5067832 9.111486314 -39.39200056 -30.28051425 0 5 1050.436268 429.3961205 9.393452958 -39.63643565 -30.24298269 0 -Loop time of 0.000146935 on 4 procs for 5 steps with 4 atoms +Loop time of 0.000302153 on 4 procs for 5 steps with 4 atoms variable name string spline-morse include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -973,14 +960,13 @@ Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes 3 822.0828818 336.0500877 7.351418748 -37.63613601 -30.28471726 0 4 1018.80666 416.4666056 9.110607389 -39.39265128 -30.28204389 0 5 1050.331328 429.353223 9.392514534 -39.63687099 -30.24435645 0 -Loop time of 0.000143113 on 4 procs for 5 steps with 4 atoms +Loop time of 0.000295181 on 4 procs for 5 steps with 4 atoms variable name string bond-morse include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -1048,14 +1034,13 @@ Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.379 | 4.559 Mbytes 3 822.0828974 1456.368913 7.351418888 2.06858205 9.420000938 1.034291025 4 1018.806679 823.4383177 9.110607565 0.3120667313 9.422674297 0.1560333657 5 1050.331347 253.0262957 9.392514704 0.06784692056 9.460361624 0.03392346028 -Loop time of 0.000130547 on 4 procs for 5 steps with 4 atoms +Loop time of 0.000710295 on 4 procs for 5 steps with 4 atoms variable name string pair-morse include wall.inc clear -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task read_restart walltest.restart Reading restart file ... @@ -1124,7 +1109,7 @@ Per MPI rank memory allocation (min/avg/max) = 4.32 | 4.38 | 4.56 Mbytes 3 822.0828974 1456.368913 7.351418888 -37.63613582 -30.28471693 -18.81806791 4 1018.806679 823.4383177 9.110607565 -39.39265114 -30.28204357 -19.69632557 5 1050.331347 253.0262957 9.392514704 -39.63687095 -30.24435625 -19.81843547 -Loop time of 0.000136551 on 4 procs for 5 steps with 4 atoms +Loop time of 0.000297435 on 4 procs for 5 steps with 4 atoms shell rm -f walltest.restart diff --git a/src/fix_wall_morse.cpp b/src/fix_wall_morse.cpp index 7ec3ed2ab5..6c5eee885d 100644 --- a/src/fix_wall_morse.cpp +++ b/src/fix_wall_morse.cpp @@ -71,7 +71,7 @@ void FixWallMorse::wall_particle(int m, int which, double coord) } double dr = delta - sigma[m]; double dexp = exp(-alpha[m] * dr); - fwall = side * coeff1[m] * (dexp * dexp - dexp) / delta; + fwall = side * coeff1[m] * (dexp * dexp - dexp); ewall[0] += epsilon[m] * (dexp * dexp - 2.0 * dexp) - offset[m]; f[i][dim] -= fwall; ewall[m + 1] += fwall; From 6b9911dd743f3213b8936a69d392f9e9fdbe6bce Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 23 Feb 2023 15:28:21 -0500 Subject: [PATCH 134/448] update unit test for correct fix wall/morse --- .../tests/fix-timestep-wall_morse_const.yaml | 124 +++++++++--------- 1 file changed, 62 insertions(+), 62 deletions(-) diff --git a/unittest/force-styles/tests/fix-timestep-wall_morse_const.yaml b/unittest/force-styles/tests/fix-timestep-wall_morse_const.yaml index 89290d9d7d..391070609f 100644 --- a/unittest/force-styles/tests/fix-timestep-wall_morse_const.yaml +++ b/unittest/force-styles/tests/fix-timestep-wall_morse_const.yaml @@ -1,6 +1,6 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:01 2022 +lammps_version: 8 Feb 2023 +date_generated: Thu Feb 23 15:26:55 2023 epsilon: 4e-14 skip_tests: prerequisites: ! | @@ -15,68 +15,68 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |2- - 0.0000000000000000e+00 -1.6447328969000660e+03 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -global_scalar: -715.4154062573953 + 0.0000000000000000e+00 -7.4088044731917480e+03 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +global_scalar: -860.4604684981359 global_vector: ! |- - 2 0 -362.76807567062644 + 2 0 -1661.6917920590186 run_pos: ! |2 - 1 -2.7045893790409276e-01 2.5008322800634093e+00 -1.6714018607090519e-01 - 2 3.0963184116147618e-01 3.0014595399936281e+00 -8.5430140686816214e-01 - 3 -7.0384894984747937e-01 1.2309015375308219e+00 -6.2768436035697617e-01 - 4 -1.5818176791640250e+00 1.4837231080448017e+00 -1.2538740983093204e+00 - 5 -9.0718849446796412e-01 9.2653164987898939e-01 3.9954632131545287e-01 - 6 2.4831839235845354e-01 2.8313265654301789e-01 -1.2314236357880461e+00 - 7 3.4143526822589915e-01 -2.2646538152574006e-02 -2.5292291434660381e+00 - 8 1.1743552107695057e+00 -4.8863225989226533e-01 -6.3783434531274807e-01 - 9 1.3800524241606595e+00 -2.5274721157120961e-01 2.8353985893838241e-01 - 10 2.0510765222277745e+00 -1.4604063739388657e+00 -9.8323745091734549e-01 - 11 1.7878031944633563e+00 -1.9921863273237430e+00 -1.8890602447741953e+00 - 12 3.0063007043413612e+00 -4.9013350523119031e-01 -1.6231898109107055e+00 - 13 4.0515402959324174e+00 -8.9202011607291531e-01 -1.6400005529969197e+00 - 14 2.6066963345867493e+00 -4.1789253967796969e-01 -2.6634003609064330e+00 - 15 2.9695287187403183e+00 5.5422613159536682e-01 -1.2342022022307726e+00 - 16 2.6747029696074671e+00 -2.4124119055741526e+00 -2.3435746141560052e-02 - 17 2.2153577786599099e+00 -2.0897985188852957e+00 1.1963150795174466e+00 - 18 2.1369701703250228e+00 3.0158507415756075e+00 -3.5179348336071414e+00 - 19 1.5355837136078994e+00 2.6255292355588757e+00 -4.2353987779851296e+00 - 20 2.7727573003071933e+00 3.6923910440783931e+00 -3.9330842459453148e+00 - 21 4.9040128073837348e+00 -4.0752348170758461e+00 -3.6210314709795308e+00 - 22 4.3582355554510048e+00 -4.2126119427061379e+00 -4.4612844196307497e+00 + 1 -2.7052284503817647e-01 2.5377015779332015e+00 -1.6774875378942034e-01 + 2 3.0838020114212900e-01 3.1365125714942814e+00 -8.5319486865475569e-01 + 3 -7.0337031356085378e-01 1.2321701278769190e+00 -6.2734420450713768e-01 + 4 -1.5818244447736622e+00 1.4836560550089251e+00 -1.2538854411390039e+00 + 5 -9.0715422690957381e-01 9.2657174436972001e-01 3.9956243697054195e-01 + 6 2.4832286843402734e-01 2.8314189926636496e-01 -1.2314248449469583e+00 + 7 3.4143523635211903e-01 -2.2646489955513913e-02 -2.5292291519080385e+00 + 8 1.1743551641371968e+00 -4.8863216431954298e-01 -6.3783440815706915e-01 + 9 1.3800524287137592e+00 -2.5274721633920649e-01 2.8353985915157709e-01 + 10 2.0510765228876604e+00 -1.4604063735798947e+00 -9.8323745129680751e-01 + 11 1.7878031945360704e+00 -1.9921863274327181e+00 -1.8890602448178007e+00 + 12 3.0063007058665141e+00 -4.9013350620738022e-01 -1.6231898115581911e+00 + 13 4.0515402959817353e+00 -8.9202011609685838e-01 -1.6400005530136157e+00 + 14 2.6066963347079004e+00 -4.1789253976309604e-01 -2.6634003610076054e+00 + 15 2.9695287193709681e+00 5.5422613138408361e-01 -1.2342022024260366e+00 + 16 2.6747029699261105e+00 -2.4124119060177067e+00 -2.3435746107727345e-02 + 17 2.2153577791583658e+00 -2.0897985196245372e+00 1.1963150797810624e+00 + 18 2.1369701700141044e+00 3.0158507424085670e+00 -3.5179348331855556e+00 + 19 1.5355837136077577e+00 2.6255292356409377e+00 -4.2353987779789071e+00 + 20 2.7727573002707873e+00 3.6923910441005812e+00 -3.9330842458985629e+00 + 21 4.9040128073837366e+00 -4.0752348170758461e+00 -3.6210314709795313e+00 + 22 4.3582355554510057e+00 -4.2126119427061379e+00 -4.4612844196307497e+00 23 5.7439382849366911e+00 -3.5821957939240279e+00 -3.8766361295959513e+00 - 24 2.0689243581498653e+00 3.1513346909599651e+00 3.1550389753492256e+00 - 25 1.3045351329547377e+00 3.2665125707112610e+00 2.5111855254067215e+00 - 26 2.5809237402542604e+00 4.0117602605530056e+00 3.2212060528871826e+00 - 27 -1.9611343130419832e+00 -4.3563411931577498e+00 2.1098293115609912e+00 - 28 -2.7473562684536628e+00 -4.0200819932434282e+00 1.5830052163452875e+00 - 29 -1.3126000191369560e+00 -3.5962518039526832e+00 2.2746342468757565e+00 + 24 2.0689243578022922e+00 3.1513346918494771e+00 3.1550389748497025e+00 + 25 1.3045351322134413e+00 3.2665125712054777e+00 2.5111855241267289e+00 + 26 2.5809237401898266e+00 4.0117602605713625e+00 3.2212060528040980e+00 + 27 -1.9611343130657364e+00 -4.3563411932404206e+00 2.1098293115936815e+00 + 28 -2.7473562684585944e+00 -4.0200819932554426e+00 1.5830052163493729e+00 + 29 -1.3126000191406215e+00 -3.5962518039692939e+00 2.2746342468831999e+00 run_vel: ! |2 - 1 8.1789148947012790e-03 2.6011139448739451e-02 4.4419168461127482e-03 - 2 4.6260716342741079e-03 4.5085766258259774e-02 -7.0825186386967308e-04 - 3 -7.9721954985889319e-03 -1.2268783977531032e-02 -3.9361845956729386e-03 - 4 -3.7725559552080636e-03 -6.6074130975376346e-03 -1.1239964478779332e-03 - 5 -1.1002605235858455e-02 -9.8680015994752728e-03 -2.8327888280266942e-03 - 6 -3.9674547907414821e-02 4.6822592792817204e-02 3.7148318739351066e-02 - 7 9.1031746047128470e-04 -1.0128481892033168e-02 -5.1568253048218646e-02 - 8 7.9064457287878788e-03 -3.3506582863990068e-03 3.4557045247921400e-02 - 9 1.5644208034781776e-03 3.7365512668284797e-03 1.5047408581112285e-02 - 10 2.9201446942760539e-02 -2.9249577856792598e-02 -1.5018077696249433e-02 - 11 -4.7835960986765723e-03 -3.7481385797508478e-03 -2.3464104367979396e-03 - 12 2.2696460154049596e-03 -3.4774207770823769e-04 -3.0640773817331617e-03 - 13 2.7531740760828424e-03 5.8171061464595821e-03 -7.9467455065097717e-04 - 14 3.5246183046552903e-03 -5.7939996060507011e-03 -3.9478431727489067e-03 - 15 -1.8547940192371359e-03 -5.8554731130000919e-03 6.2938484079631211e-03 - 16 1.8681500141579217e-02 -1.3262466439236464e-02 -4.5638651434422119e-02 - 17 -1.2896269711984213e-02 9.7527661294105131e-03 3.7296535503389051e-02 - 18 -8.0065813058176056e-04 -8.6270429918499042e-04 -1.4483038312432231e-03 - 19 1.2452390823893668e-03 -2.5061096678311726e-03 7.2998631081901150e-03 - 20 3.5930057672106052e-03 3.6938851692874418e-03 3.2322732421069351e-03 - 21 -1.4689219756942099e-03 -2.7352107824552571e-04 7.0581625180796419e-04 - 22 -7.0694199165143787e-03 -4.2577148692717762e-03 2.8079117911313845e-04 - 23 6.0446963236686149e-03 -1.4000131545098178e-03 2.5819754799379282e-03 - 24 3.1926349353317952e-04 -9.9445617038915342e-04 1.4999970019575790e-04 - 25 1.3789715718110098e-04 -4.4335892217948255e-03 -8.1808204442383866e-04 - 26 2.0485903705729164e-03 2.7813358762743667e-03 4.3245726703719217e-03 - 27 4.5604119012943235e-04 -1.0305523473710114e-03 2.1188060159221209e-04 - 28 -6.2544520902254328e-03 1.4127711077263102e-03 -1.8429821850450522e-03 - 29 6.4110631319827462e-04 3.1273432626741622e-03 3.7253671146110553e-03 + 1 8.1150399525879938e-03 6.2469278935841172e-02 3.3151656604757515e-03 + 2 2.1567380411534119e-03 1.7915358216757693e-01 1.4693442192945936e-03 + 3 -7.1017845324814833e-03 -9.9511431531007291e-03 -3.3513817570289613e-03 + 4 -3.7830796561061893e-03 -6.7399523607674736e-03 -1.1446225458905915e-03 + 5 -1.0930964471138178e-02 -9.7830218971492900e-03 -2.8011654927760140e-03 + 6 -3.9666631417159662e-02 4.6843374202377414e-02 3.7147439358181544e-02 + 7 9.1023281310935661e-04 -1.0128325648562678e-02 -5.1568260731589974e-02 + 8 7.9063456532381289e-03 -3.3504119308433618e-03 3.4556841455369552e-02 + 9 1.5644327139035345e-03 3.7365387627339643e-03 1.5047407499366916e-02 + 10 2.9201447428873879e-02 -2.9249574477797566e-02 -1.5018078715987209e-02 + 11 -4.7835958975253005e-03 -3.7481388302490464e-03 -2.3464105205019963e-03 + 12 2.2696491096390347e-03 -3.4774406295422266e-04 -3.0640786872695716e-03 + 13 2.7531741917975823e-03 5.8171060908898987e-03 -7.9467458985718424e-04 + 14 3.5246185557631796e-03 -5.7939997826183271e-03 -3.9478433795418670e-03 + 15 -1.8547927399342281e-03 -5.8554735533316513e-03 6.2938480095073527e-03 + 16 1.8681500769926061e-02 -1.3262467318026393e-02 -4.5638651349980318e-02 + 17 -1.2896268698689695e-02 9.7527646273574461e-03 3.7296536040864851e-02 + 18 -8.0065877706055109e-04 -8.6270259764277839e-04 -1.4483029635571510e-03 + 19 1.2452390851199488e-03 -2.5061094984920639e-03 7.2998631241499162e-03 + 20 3.5930056948307956e-03 3.6938852174526323e-03 3.2322733371807980e-03 + 21 -1.4689219756868180e-03 -2.7352107824634250e-04 7.0581625180429135e-04 + 22 -7.0694199165138548e-03 -4.2577148692718603e-03 2.8079117911282870e-04 + 23 6.0446963236688717e-03 -1.4000131545096391e-03 2.5819754799378150e-03 + 24 3.1926280192234435e-04 -9.9445434351455022e-04 1.4999870519578711e-04 + 25 1.3789568252928821e-04 -4.4335881727435517e-03 -8.1808460956663540e-04 + 26 2.0485902447450752e-03 2.7813359267364313e-03 4.3245725007170490e-03 + 27 4.5604114182182037e-04 -1.0305525160278991e-03 2.1188066858079724e-04 + 28 -6.2544520979275183e-03 1.4127710874880792e-03 -1.8429821780491747e-03 + 29 6.4110630514945563e-04 3.1273432277213126e-03 3.7253671297833627e-03 ... From 2d4f2532ae0604393cddf566a564dbbce0d3ea26 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Thu, 23 Feb 2023 14:58:59 -0700 Subject: [PATCH 135/448] Allow fix_deform/kk to use rigid bodies --- src/KOKKOS/fix_deform_kokkos.cpp | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/src/KOKKOS/fix_deform_kokkos.cpp b/src/KOKKOS/fix_deform_kokkos.cpp index cdfbeb1a60..d49e335986 100644 --- a/src/KOKKOS/fix_deform_kokkos.cpp +++ b/src/KOKKOS/fix_deform_kokkos.cpp @@ -315,14 +315,13 @@ void FixDeformKokkos::end_of_step() int nlocal = atom->nlocal; domainKK->x2lamda(nlocal); - //for (i = 0; i < nlocal; i++) - // if (mask[i] & groupbit) - // domain->x2lamda(x[i],x[i]); - if (rfix.size() > 0) - error->all(FLERR,"Cannot (yet) use rigid bodies with fix deform and Kokkos"); - //for (i = 0; i < nrigid; i++) - // modify->fix[rfix[i]]->deform(0); + if (rfix.size() > 0) { + atomKK->sync(Host,ALL_MASK); + for (auto &ifix : rfix) + ifix->deform(0); + atomKK->modified(Host,ALL_MASK); + } } // reset global and local box to new size/shape @@ -355,13 +354,13 @@ void FixDeformKokkos::end_of_step() int nlocal = atom->nlocal; domainKK->lamda2x(nlocal); - //for (i = 0; i < nlocal; i++) - // if (mask[i] & groupbit) - // domain->lamda2x(x[i],x[i]); - //if (nrigid) - // for (i = 0; i < nrigid; i++) - // modify->fix[rfix[i]]->deform(1); + if (rfix.size() > 0) { + atomKK->sync(Host,ALL_MASK); + for (auto &ifix : rfix) + ifix->deform(1); + atomKK->modified(Host,ALL_MASK); + } } // redo KSpace coeffs since box has changed From e61092464143452d5149e0fb005910c78533c301 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Fri, 24 Feb 2023 08:48:40 +0200 Subject: [PATCH 136/448] Include method declaration in dihedral_opls.h --- src/MOLECULE/dihedral_opls.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/MOLECULE/dihedral_opls.h b/src/MOLECULE/dihedral_opls.h index c6286b3b6f..82180cf323 100644 --- a/src/MOLECULE/dihedral_opls.h +++ b/src/MOLECULE/dihedral_opls.h @@ -33,6 +33,7 @@ class DihedralOPLS : public Dihedral { void write_restart(FILE *) override; void read_restart(FILE *) override; void write_data(FILE *) override; + void born_matrix(int, int, int, int, int, double &, double &) override; protected: double *k1, *k2, *k3, *k4; From c35b32961b28b1509643b7c905c7c049aca13391 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Fri, 24 Feb 2023 08:51:25 +0200 Subject: [PATCH 137/448] Implement born_matrix in dihedral_opls.cpp --- src/MOLECULE/dihedral_opls.cpp | 99 ++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) diff --git a/src/MOLECULE/dihedral_opls.cpp b/src/MOLECULE/dihedral_opls.cpp index af34cd24db..eced454d68 100644 --- a/src/MOLECULE/dihedral_opls.cpp +++ b/src/MOLECULE/dihedral_opls.cpp @@ -37,6 +37,7 @@ static constexpr double SMALLER = 0.00001; DihedralOPLS::DihedralOPLS(LAMMPS *_lmp) : Dihedral(_lmp) { writedata = 1; + born_matrix_enable = 1; } /* ---------------------------------------------------------------------- */ @@ -332,3 +333,101 @@ void DihedralOPLS::write_data(FILE *fp) for (int i = 1; i <= atom->ndihedraltypes; i++) fprintf(fp, "%d %g %g %g %g\n", i, 2.0 * k1[i], 2.0 * k2[i], 2.0 * k3[i], 2.0 * k4[i]); } + +/* ----------------------------------------------------------------------*/ + +void DihedralOPLS::born_matrix(int nd, int i1, int i2, int i3, int i4, + double &du, double &du2) +{ + double vb1x, vb1y, vb1z, vb2x, vb2y, vb2z, vb3x, vb3y, vb3z, vb2xm, vb2ym, vb2zm; + double sb1, sb3, rb1, rb3, c0, b1mag2, b1mag, b2mag2; + double b2mag, b3mag2, b3mag, ctmp, r12c1, c1mag, r12c2; + double c2mag, sc1, sc2, s12, c; + double cx, cy, cz, cmag, dx, phi, si, sin2; + + double **x = atom->x; + int **dihedrallist = neighbor->dihedrallist; + + int type = dihedrallist[nd][4]; + + // 1st bond + vb1x = x[i1][0] - x[i2][0]; + vb1y = x[i1][1] - x[i2][1]; + vb1z = x[i1][2] - x[i2][2]; + + // 2nd bond + vb2x = x[i3][0] - x[i2][0]; + vb2y = x[i3][1] - x[i2][1]; + vb2z = x[i3][2] - x[i2][2]; + + vb2xm = -vb2x; + vb2ym = -vb2y; + vb2zm = -vb2z; + + // 3rd bond + vb3x = x[i4][0] - x[i3][0]; + vb3y = x[i4][1] - x[i3][1]; + vb3z = x[i4][2] - x[i3][2]; + + // c0 calculation + sb1 = 1.0 / (vb1x * vb1x + vb1y * vb1y + vb1z * vb1z); + sb3 = 1.0 / (vb3x * vb3x + vb3y * vb3y + vb3z * vb3z); + + rb1 = sqrt(sb1); + rb3 = sqrt(sb3); + + c0 = (vb1x * vb3x + vb1y * vb3y + vb1z * vb3z) * rb1 * rb3; + + // 1st and 2nd angle + b1mag2 = vb1x * vb1x + vb1y * vb1y + vb1z * vb1z; + b1mag = sqrt(b1mag2); + b2mag2 = vb2x * vb2x + vb2y * vb2y + vb2z * vb2z; + b2mag = sqrt(b2mag2); + b3mag2 = vb3x * vb3x + vb3y * vb3y + vb3z * vb3z; + b3mag = sqrt(b3mag2); + + ctmp = vb1x * vb2x + vb1y * vb2y + vb1z * vb2z; + r12c1 = 1.0 / (b1mag * b2mag); + c1mag = ctmp * r12c1; + + ctmp = vb2xm * vb3x + vb2ym * vb3y + vb2zm * vb3z; + r12c2 = 1.0 / (b2mag * b3mag); + c2mag = ctmp * r12c2; + + // cos and sin of 2 angles and final c + sin2 = MAX(1.0 - c1mag * c1mag, 0.0); + sc1 = sqrt(sin2); + if (sc1 < SMALL) sc1 = SMALL; + sc1 = 1.0 / sc1; + + sin2 = MAX(1.0 - c2mag * c2mag, 0.0); + sc2 = sqrt(sin2); + if (sc2 < SMALL) sc2 = SMALL; + sc2 = 1.0 / sc2; + + s12 = sc1 * sc2; + c = (c0 + c1mag * c2mag) * s12; + + cx = vb1y * vb2z - vb1z * vb2y; + cy = vb1z * vb2x - vb1x * vb2z; + cz = vb1x * vb2y - vb1y * vb2x; + cmag = sqrt(cx * cx + cy * cy + cz * cz); + dx = (cx * vb3x + cy * vb3y + cz * vb3z) / cmag / b3mag; + + // error check + if (c > 1.0 + TOLERANCE || c < (-1.0 - TOLERANCE)) problem(FLERR, i1, i2, i3, i4); + + if (c > 1.0) c = 1.0; + if (c < -1.0) c = -1.0; + + phi = acos(c); + if (dx < 0.0) phi *= -1.0; + si = sin(phi); + if (fabs(si) < SMALLER) si = SMALLER; + + du = k1[type] - 2.0 * k2[type] * sin(2.0 * phi) / si + 3.0 * k3[type] * sin(3.0 * phi) / si + - 4.0 * k4[type] * sin(4.0 * phi) / si; + du2 = (4.0 * k2[type] * si * cos(2.0 * phi) - 2.0 * k2[type] * sin(2.0 * phi) + - 9.0 * k3[type] * si * cos(3.0 * phi) + 3.0 * k3[type] * sin(3.0 * phi) + + 16.0 * k4[type] * si * cos(4.0 * phi) - 4.0 * k4[type] * sin(4.0 * phi)) / (si * si * si); +} From c4bf0f0ab52eec3ee8734a0455e8c3c4b14250e8 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Fri, 24 Feb 2023 09:39:38 +0200 Subject: [PATCH 138/448] Include method declaration in dihedral_multi_harmonic.h --- src/MOLECULE/dihedral_multi_harmonic.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/MOLECULE/dihedral_multi_harmonic.h b/src/MOLECULE/dihedral_multi_harmonic.h index 4780028181..45f1112b4f 100644 --- a/src/MOLECULE/dihedral_multi_harmonic.h +++ b/src/MOLECULE/dihedral_multi_harmonic.h @@ -33,6 +33,7 @@ class DihedralMultiHarmonic : public Dihedral { void write_restart(FILE *) override; void read_restart(FILE *) override; void write_data(FILE *) override; + void born_matrix(int, int, int, int, int, double &, double &) override; protected: double *a1, *a2, *a3, *a4, *a5; From 3ea04477157e66514031af4831e3014398fd467f Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Fri, 24 Feb 2023 09:41:52 +0200 Subject: [PATCH 139/448] Implement born_matrix in dihedral_multi_harmonic.cpp --- src/MOLECULE/dihedral_multi_harmonic.cpp | 85 ++++++++++++++++++++++++ 1 file changed, 85 insertions(+) diff --git a/src/MOLECULE/dihedral_multi_harmonic.cpp b/src/MOLECULE/dihedral_multi_harmonic.cpp index 11213b59cd..8e6685cac9 100644 --- a/src/MOLECULE/dihedral_multi_harmonic.cpp +++ b/src/MOLECULE/dihedral_multi_harmonic.cpp @@ -36,6 +36,7 @@ static constexpr double SMALL = 0.001; DihedralMultiHarmonic::DihedralMultiHarmonic(LAMMPS *_lmp) : Dihedral(_lmp) { writedata = 1; + born_matrix_enable = 1; } /* ---------------------------------------------------------------------- */ @@ -322,3 +323,87 @@ void DihedralMultiHarmonic::write_data(FILE *fp) for (int i = 1; i <= atom->ndihedraltypes; i++) fprintf(fp, "%d %g %g %g %g %g\n", i, a1[i], a2[i], a3[i], a4[i], a5[i]); } + +/* ---------------------------------------------------------------------- */ + +void DihedralMultiHarmonic::born_matrix(int nd, int i1, int i2, int i3, int i4, + double &du, double &du2) +{ + double vb1x, vb1y, vb1z, vb2x, vb2y, vb2z, vb3x, vb3y, vb3z, vb2xm, vb2ym, vb2zm; + double sb1, sb3, rb1, rb3, c0, b1mag2, b1mag, b2mag2; + double b2mag, b3mag2, b3mag, ctmp, r12c1, c1mag, r12c2; + double c2mag, sc1, sc2, s12, c; + double sin2; + + double **x = atom->x; + int **dihedrallist = neighbor->dihedrallist; + + int type = dihedrallist[nd][4]; + + // 1st bond + vb1x = x[i1][0] - x[i2][0]; + vb1y = x[i1][1] - x[i2][1]; + vb1z = x[i1][2] - x[i2][2]; + + // 2nd bond + vb2x = x[i3][0] - x[i2][0]; + vb2y = x[i3][1] - x[i2][1]; + vb2z = x[i3][2] - x[i2][2]; + + vb2xm = -vb2x; + vb2ym = -vb2y; + vb2zm = -vb2z; + + // 3rd bond + vb3x = x[i4][0] - x[i3][0]; + vb3y = x[i4][1] - x[i3][1]; + vb3z = x[i4][2] - x[i3][2]; + + // c0 calculation + sb1 = 1.0 / (vb1x * vb1x + vb1y * vb1y + vb1z * vb1z); + sb3 = 1.0 / (vb3x * vb3x + vb3y * vb3y + vb3z * vb3z); + + rb1 = sqrt(sb1); + rb3 = sqrt(sb3); + + c0 = (vb1x * vb3x + vb1y * vb3y + vb1z * vb3z) * rb1 * rb3; + + // 1st and 2nd angle + b1mag2 = vb1x * vb1x + vb1y * vb1y + vb1z * vb1z; + b1mag = sqrt(b1mag2); + b2mag2 = vb2x * vb2x + vb2y * vb2y + vb2z * vb2z; + b2mag = sqrt(b2mag2); + b3mag2 = vb3x * vb3x + vb3y * vb3y + vb3z * vb3z; + b3mag = sqrt(b3mag2); + + ctmp = vb1x * vb2x + vb1y * vb2y + vb1z * vb2z; + r12c1 = 1.0 / (b1mag * b2mag); + c1mag = ctmp * r12c1; + + ctmp = vb2xm * vb3x + vb2ym * vb3y + vb2zm * vb3z; + r12c2 = 1.0 / (b2mag * b3mag); + c2mag = ctmp * r12c2; + + // cos and sin of 2 angles and final c + sin2 = MAX(1.0 - c1mag * c1mag, 0.0); + sc1 = sqrt(sin2); + if (sc1 < SMALL) sc1 = SMALL; + sc1 = 1.0 / sc1; + + sin2 = MAX(1.0 - c2mag * c2mag, 0.0); + sc2 = sqrt(sin2); + if (sc2 < SMALL) sc2 = SMALL; + sc2 = 1.0 / sc2; + + s12 = sc1 * sc2; + c = (c0 + c1mag * c2mag) * s12; + + // error check + if (c > 1.0 + TOLERANCE || c < (-1.0 - TOLERANCE)) problem(FLERR, i1, i2, i3, i4); + + if (c > 1.0) c = 1.0; + if (c < -1.0) c = -1.0; + + du = a2[type] + c * (2.0 * a3[type] + c * (3.0 * a4[type] + c * 4.0 * a5[type])); + du2 = 2.0 * a3[type] + 6.0 * c * (a4[type] + 2.0 * a5[type] * c); +} From 885c4d76093435b0bcf8caa1515ec9f85cf439c6 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Fri, 24 Feb 2023 11:56:22 +0200 Subject: [PATCH 140/448] Include method declaration in bond_fene_nm.h --- src/EXTRA-MOLECULE/bond_fene_nm.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/EXTRA-MOLECULE/bond_fene_nm.h b/src/EXTRA-MOLECULE/bond_fene_nm.h index 07da20e425..4e9899648b 100644 --- a/src/EXTRA-MOLECULE/bond_fene_nm.h +++ b/src/EXTRA-MOLECULE/bond_fene_nm.h @@ -35,6 +35,7 @@ class BondFENENM : public BondFENE { void read_restart(FILE *) override; void write_data(FILE *) override; double single(int, double, int, int, double &) override; + void born_matrix(int, double, int, int, double &, double &) override; void *extract(const char *, int &) override; protected: From a32440cdef5f90ea1daa812394304c640d2e9193 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Fri, 24 Feb 2023 11:58:42 +0200 Subject: [PATCH 141/448] Implement born_matrix in bond_fene_nm.cpp --- src/EXTRA-MOLECULE/bond_fene_nm.cpp | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/src/EXTRA-MOLECULE/bond_fene_nm.cpp b/src/EXTRA-MOLECULE/bond_fene_nm.cpp index 5451479881..59f60379bd 100644 --- a/src/EXTRA-MOLECULE/bond_fene_nm.cpp +++ b/src/EXTRA-MOLECULE/bond_fene_nm.cpp @@ -28,7 +28,10 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -BondFENENM::BondFENENM(LAMMPS *lmp) : BondFENE(lmp), nn(nullptr), mm(nullptr) {} +BondFENENM::BondFENENM(LAMMPS *lmp) : BondFENE(lmp), nn(nullptr), mm(nullptr) +{ + born_matrix_enable = 1; +} /* ---------------------------------------------------------------------- */ @@ -270,6 +273,27 @@ double BondFENENM::single(int type, double rsq, int /*i*/, int /*j*/, double &ff /* ---------------------------------------------------------------------- */ +void BondFENENM::born_matrix(int type, double rsq, int /*i*/, int /*j*/, double &du, double &du2) +{ + double r = sqrt(rsq); + double r0sq = r0[type] * r0[type]; + double rlogarg = 1.0 - rsq / r0sq; + + // Contribution from the attractive term + du = k[type] * r / rlogarg; + du2 = k[type] * (1.0 + rsq / r0sq) / (rlogarg * rlogarg); + + // Contribution from the repulsive Lennard-Jones term + if (rsq < sigma[type] * sigma[type]) { + double prefactor = epsilon[type] * nn[type] * mm[type] / (nn[type] - mm[type]); + du += prefactor * (pow(sigma[type] / r, mm[type]) - pow(sigma[type] / r, nn[type])) / r; + du2 += prefactor * ((nn[type] + 1.0) * pow(sigma[type] / r, nn[type]) - + (mm[type] + 1.0) * pow(sigma[type] / r, mm[type])) / rsq; + } +} + +/* ---------------------------------------------------------------------- */ + void *BondFENENM::extract(const char *str, int &dim) { dim = 1; From f264631267fc8bd170b3c32f0a70fc8c870c4012 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Fri, 24 Feb 2023 12:24:45 +0200 Subject: [PATCH 142/448] Include method declaration in pair_nm_cut.h --- src/EXTRA-PAIR/pair_nm_cut.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/EXTRA-PAIR/pair_nm_cut.h b/src/EXTRA-PAIR/pair_nm_cut.h index ab91747252..a9a800af23 100644 --- a/src/EXTRA-PAIR/pair_nm_cut.h +++ b/src/EXTRA-PAIR/pair_nm_cut.h @@ -40,6 +40,7 @@ class PairNMCut : public Pair { void write_data(FILE *) override; void write_data_all(FILE *) override; double single(int, int, int, int, double, double, double, double &) override; + void born_matrix(int, int, int, int, double, double, double, double &, double &) override; void *extract(const char *, int &) override; protected: From 8ba61e11a24b94929fe68b22585245d078aa0d84 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Fri, 24 Feb 2023 12:25:55 +0200 Subject: [PATCH 143/448] Implement born_matrix in pair_nm_cut.cpp --- src/EXTRA-PAIR/pair_nm_cut.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/EXTRA-PAIR/pair_nm_cut.cpp b/src/EXTRA-PAIR/pair_nm_cut.cpp index 18b5810abc..3156ec224d 100644 --- a/src/EXTRA-PAIR/pair_nm_cut.cpp +++ b/src/EXTRA-PAIR/pair_nm_cut.cpp @@ -36,6 +36,7 @@ using namespace MathConst; PairNMCut::PairNMCut(LAMMPS *lmp) : Pair(lmp) { + born_matrix_enable = 1; writedata = 1; } @@ -416,6 +417,25 @@ double PairNMCut::single(int /*i*/, int /*j*/, int itype, int jtype, /* ---------------------------------------------------------------------- */ +void PairNMCut::born_matrix(int /*i*/, int /*j*/, int itype, int jtype, double rsq, + double /*factor_coul*/, double factor_lj, double &dupair, + double &du2pair) +{ + double r = sqrt(rsq); + double prefactor = e0nm[itype][jtype]*nm[itype][jtype]; + + double du = prefactor * + (r0m[itype][jtype]/pow(r,mm[itype][jtype]) - r0n[itype][jtype]/pow(r,nn[itype][jtype])) / r; + double du2 = prefactor * + (r0n[itype][jtype]*(nn[itype][jtype] + 1.0) / pow(r,nn[itype][jtype]) - + r0m[itype][jtype]*(mm[itype][jtype] + 1.0) / pow(r,mm[itype][jtype])) / rsq; + + dupair = factor_lj * du; + du2pair = factor_lj * du2; +} + +/* ---------------------------------------------------------------------- */ + void *PairNMCut::extract(const char *str, int &dim) { dim = 2; From d831562e1fb3f45dce34ecf79c5347b1e8fb8ca9 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Fri, 24 Feb 2023 12:27:53 +0200 Subject: [PATCH 144/448] Fixing typo in equation for fene/nm --- doc/src/bond_fene.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/bond_fene.rst b/doc/src/bond_fene.rst index be7775489a..24b3a4e1e2 100644 --- a/doc/src/bond_fene.rst +++ b/doc/src/bond_fene.rst @@ -51,7 +51,7 @@ in the same form as in pair style :doc:`nm/cut `. The bond energy is th .. math:: - E = -0.5 K r_0^2 \ln \left[ 1 - \left(\frac{r}{R_0}\right)^2\right] + \frac{E_0}{(n-m)} \left[ m \left(\frac{r_0}{r}\right)^n - n \left(\frac{r_0}{r}\right)^m \right] + E = -0.5 K R_0^2 \ln \left[ 1 - \left(\frac{r}{R_0}\right)^2\right] + \frac{E_0}{(n-m)} \left[ m \left(\frac{r_0}{r}\right)^n - n \left(\frac{r_0}{r}\right)^m \right] Similar to the *fene* style, the generalized Lennard-Jones is cut off at the potential minimum, :math:`r_0`, to be repulsive only. The following From de98704e1ec3f0e7fcaa8ac9a18fbd203d790e49 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 24 Feb 2023 07:46:56 -0700 Subject: [PATCH 145/448] more syncing of fix mdi/qm and mdi/qmmm --- examples/QUANTUM/LATTE/latte_mdi.py | 9 +- examples/QUANTUM/NWChem/in.series | 3 +- examples/QUANTUM/NWChem/in.series.plugin | 6 +- examples/QUANTUM/NWChem/in.water.qmmm | 2 + examples/QUANTUM/NWChem/in.water.qmmm.plugin | 2 + examples/QUANTUM/NWChem/nwchem_mdi.py | 14 +- examples/QUANTUM/NWChem/template.w.nw | 3 + examples/QUANTUM/PySCF/in.water.qmmm | 4 +- examples/QUANTUM/PySCF/in.water.qmmm.plugin | 2 + examples/QUANTUM/PySCF/pyscf_mdi.py | 9 +- src/MDI/fix_mdi_qm.cpp | 45 ++-- src/MDI/fix_mdi_qmmm.cpp | 213 ++++++++++++------- src/MDI/fix_mdi_qmmm.h | 2 +- 13 files changed, 191 insertions(+), 123 deletions(-) diff --git a/examples/QUANTUM/LATTE/latte_mdi.py b/examples/QUANTUM/LATTE/latte_mdi.py index bece816ba9..2469591216 100644 --- a/examples/QUANTUM/LATTE/latte_mdi.py +++ b/examples/QUANTUM/LATTE/latte_mdi.py @@ -84,9 +84,10 @@ mm_forces = None # print error message and halt # -------------------------------------------- -def error(txt): +def error(txt,mpiexists=1): if me == 0: print("ERROR:",txt) - world.Abort() + if mpiexists: world.Abort() + sys.exit() # -------------------------------------------- # process non-MDI command-line options to LATTE @@ -741,12 +742,12 @@ if __name__== "__main__": arg = args[iarg] if arg == "-mdi" or arg == "--mdi": if narg > iarg+1: mdi_option = sys.argv[iarg+1] - else: error("LATTE -mdi argument not provided") + else: error("LATTE -mdi argument not provided",0) iarg += 1 else: other_options.append(arg) iarg += 1 - if not mdi_option: error("LATTE -mdi option not provided") + if not mdi_option: error("LATTE -mdi option not provided",0) # call MDI_Init with just -mdi option diff --git a/examples/QUANTUM/NWChem/in.series b/examples/QUANTUM/NWChem/in.series index 93bb6c8ac0..64fb2992c6 100644 --- a/examples/QUANTUM/NWChem/in.series +++ b/examples/QUANTUM/NWChem/in.series @@ -1,7 +1,6 @@ # multiple W conformations with NWChem -# NOTE: these files still need work with PWDFT -# w.bcc_222, w.fcc_001, w.sc_001 +# w.bcc_222 w.fcc_001 w.sc_001 variable datafile index w.bcc w.diamond variable p equal extract_setting(world_size) diff --git a/examples/QUANTUM/NWChem/in.series.plugin b/examples/QUANTUM/NWChem/in.series.plugin index 07811314f7..323c2a0749 100644 --- a/examples/QUANTUM/NWChem/in.series.plugin +++ b/examples/QUANTUM/NWChem/in.series.plugin @@ -1,9 +1,9 @@ # multiple W conformations with NWChem -# NOTE: these files still need work with PWDFT -# w.bcc_222, w.fcc_001, w.sc_001 +#w.bcc_222 +# w.fcc_001 -variable datafile index w.bcc w.diamond +variable datafile index w.bcc w.diamond #w.sc_001 variable p equal extract_setting(world_size) label loop diff --git a/examples/QUANTUM/NWChem/in.water.qmmm b/examples/QUANTUM/NWChem/in.water.qmmm index 94fb36099a..fd15bcc417 100644 --- a/examples/QUANTUM/NWChem/in.water.qmmm +++ b/examples/QUANTUM/NWChem/in.water.qmmm @@ -43,6 +43,8 @@ pair_coeff * * coul/cut neighbor 1.0 bin neigh_modify delay 0 every 1 check yes +velocity all create 300.0 87287 loop geom + # QMMM dynamics timestep 0.1 diff --git a/examples/QUANTUM/NWChem/in.water.qmmm.plugin b/examples/QUANTUM/NWChem/in.water.qmmm.plugin index ba510fbcda..1310cdfa12 100644 --- a/examples/QUANTUM/NWChem/in.water.qmmm.plugin +++ b/examples/QUANTUM/NWChem/in.water.qmmm.plugin @@ -43,6 +43,8 @@ pair_coeff * * coul/cut neighbor 1.0 bin neigh_modify delay 0 every 1 check yes +velocity all create 300.0 87287 loop geom + # QMMM dynamics timestep 0.1 diff --git a/examples/QUANTUM/NWChem/nwchem_mdi.py b/examples/QUANTUM/NWChem/nwchem_mdi.py index 826072cd25..ca564b88ed 100644 --- a/examples/QUANTUM/NWChem/nwchem_mdi.py +++ b/examples/QUANTUM/NWChem/nwchem_mdi.py @@ -95,9 +95,10 @@ mm_forces = None # print error message and halt # -------------------------------------------- -def error(txt): +def error(txt,mpiexists=1): if me == 0: print("ERROR:",txt) - world.Abort() + if mpiexists: world.Abort() + sys.exit() # -------------------------------------------- # process non-MDI options to PWDFT @@ -480,6 +481,8 @@ def evaluate(): if mode == QMMM: #print("QMMM minimizer") + #print("COORDS",qm_coords) + #print("POTENTIAL",qm_potential) time1 = time.time() nwerr = libpwdft.\ c_lammps_pspw_qmmm_minimizer_filename(c_world,qm_coords,qm_potential, @@ -497,6 +500,7 @@ def evaluate(): elif mode == AIMD: #print("AIMD minimizer") + #print("COORDS",qm_coords) time1 = time.time() nwerr = libpwdft.\ c_lammps_pspw_aimd_minimizer_filename(c_world,qm_coords,qm_forces, @@ -505,6 +509,8 @@ def evaluate(): qm_pe = c_qm_pe.value time2 = time.time() if me == 0: print("Time for PWDFT aimd:",time2-time1) + #print("PE",qm_pe) + #print("FORCE",qm_forces) # clear flags for all MDI commands for next QM evaluation @@ -644,12 +650,12 @@ if __name__== "__main__": arg = args[iarg] if arg == "-mdi" or arg == "--mdi": if narg > iarg+1: mdi_option = sys.argv[iarg+1] - else: error("NWChem -mdi argument not provided") + else: error("NWChem -mdi argument not provided",0) iarg += 1 else: other_options.append(arg) iarg += 1 - if not mdi_option: error("NWChem -mdi option not provided") + if not mdi_option: error("NWChem -mdi option not provided",0) # call MDI_Init with just -mdi option diff --git a/examples/QUANTUM/NWChem/template.w.nw b/examples/QUANTUM/NWChem/template.w.nw index 720faf87fa..f0a9359bff 100644 --- a/examples/QUANTUM/NWChem/template.w.nw +++ b/examples/QUANTUM/NWChem/template.w.nw @@ -11,6 +11,9 @@ nwpw initialize_wavefunction on cutoff 10.0 xc pbe + ewald_rcut 3.0 + ewald_ncut 8 + time_step 0.1 end task pspw gradient diff --git a/examples/QUANTUM/PySCF/in.water.qmmm b/examples/QUANTUM/PySCF/in.water.qmmm index ee983a12b1..1b19ed9ab2 100644 --- a/examples/QUANTUM/PySCF/in.water.qmmm +++ b/examples/QUANTUM/PySCF/in.water.qmmm @@ -30,6 +30,8 @@ set group qm charge 0.0 neighbor 2.0 bin neigh_modify delay 0 every 1 check yes +velocity all create 300.0 87287 loop geom + # QMMM dynamics timestep 2.0 @@ -43,4 +45,4 @@ thermo_style custom step cpu temp ke evdwl ecoul epair emol elong & f_2 pe etotal press thermo 1 -run 2 +run 10 diff --git a/examples/QUANTUM/PySCF/in.water.qmmm.plugin b/examples/QUANTUM/PySCF/in.water.qmmm.plugin index 257ae38a43..9ac3818c73 100644 --- a/examples/QUANTUM/PySCF/in.water.qmmm.plugin +++ b/examples/QUANTUM/PySCF/in.water.qmmm.plugin @@ -30,6 +30,8 @@ set group qm charge 0.0 neighbor 2.0 bin neigh_modify delay 0 every 1 check yes +velocity all create 300.0 87287 loop geom + # QMMM dynamics timestep 2.0 diff --git a/examples/QUANTUM/PySCF/pyscf_mdi.py b/examples/QUANTUM/PySCF/pyscf_mdi.py index e1a9d8c7dc..f4d330d590 100644 --- a/examples/QUANTUM/PySCF/pyscf_mdi.py +++ b/examples/QUANTUM/PySCF/pyscf_mdi.py @@ -106,9 +106,9 @@ dm_previous = None # print error message and halt # -------------------------------------------- -def error(txt): - if me == 0: print("ERROR:",txt,mpiexists=1) - if mpiexists: world.abort() +def error(txt,mpiexists=1): + if me == 0: print("ERROR:",txt) + if mpiexists: world.Abort() sys.exit() # -------------------------------------------- @@ -191,7 +191,7 @@ def mdi_engine(other_options): mdi.MDI_Register_Command("@DEFAULT","LATTICE_FORCES") + mdi.MDI_Register_Command("@DEFAULT","all(FLERR, "MDI: all(FLERR, "MDI: all(FLERR, "MDI: all(FLERR, "MDI: all(FLERR, "MDI: virial - // multiply by volume to make it extensive - // divide by nprocs so each proc stores a portion - // this is b/c ComputePressure expects this as input from a fix - // it will do an MPI_Allreduce and divide by volume - - if (vflag && virialflag && addflag) { - double volume; - if (domain->dimension == 2) - volume = domain->xprd * domain->yprd; - else if (domain->dimension == 3) + // optionally set fix->virial + // multiply by volume to make it extensive + // divide by nprocs so each proc stores a portion + // this is b/c ComputePressure expects this as input from a fix + // it will do an MPI_Allreduce and divide by volume + + if (addflag) { + double volume; + if (domain->dimension == 2) + volume = domain->xprd * domain->yprd; + else if (domain->dimension == 3) volume = domain->xprd * domain->yprd * domain->zprd; - for (int i = 0; i < 6; i++) virial[i] = qm_virial_symmetric[i] * volume / nprocs; + for (int i = 0; i < 6; i++) virial[i] = qm_virial_symmetric[i] * volume / nprocs; + } } } diff --git a/src/MDI/fix_mdi_qmmm.cpp b/src/MDI/fix_mdi_qmmm.cpp index 1f4a8c156f..67ce0a44f9 100644 --- a/src/MDI/fix_mdi_qmmm.cpp +++ b/src/MDI/fix_mdi_qmmm.cpp @@ -477,7 +477,7 @@ void FixMDIQMMM::init() if (elements && elements_exists) { if (new_system) { set_eqm(); - set_emm(); + if (mode == DIRECT) set_emm(); } else { int *eqm_old; memory->create(eqm_old,nqm,"mdi/qmmm:eqm_old"); @@ -487,19 +487,21 @@ void FixMDIQMMM::init() if (eqm[i] != eqm_old[i]) new_system = 1; memory->destroy(eqm_old); - int *emm_old; - memory->create(emm_old,nmm,"mdi/qmmm:emm_old"); - memcpy(emm_old,emm,nmm*sizeof(int)); - set_emm(); - for (int i = 0; i < nmm; i++) - if (emm[i] != emm_old[i]) new_system = 1; - memory->destroy(emm_old); + if (mode == DIRECT) { + int *emm_old; + memory->create(emm_old,nmm,"mdi/qmmm:emm_old"); + memcpy(emm_old,emm,nmm*sizeof(int)); + set_emm(); + for (int i = 0; i < nmm; i++) + if (emm[i] != emm_old[i]) new_system = 1; + memory->destroy(emm_old); + } } } else if (types_exists) { if (new_system) { set_tqm(); - set_tmm(); + if (mode == DIRECT) set_tmm(); } else { int *tqm_old; memory->create(tqm_old,nqm,"mdi/qmmm:tqm_old"); @@ -509,13 +511,15 @@ void FixMDIQMMM::init() if (tqm[i] != tqm_old[i]) new_system = 1; memory->destroy(tqm_old); - int *tmm_old; - memory->create(tmm_old,nmm,"mdi/qmmm:tmm_old"); - memcpy(tmm_old,tmm,nmm*sizeof(int)); - set_tmm(); - for (int i = 0; i < nmm; i++) - if (tmm[i] != tmm_old[i]) new_system = 1; - memory->destroy(tmm_old); + if (mode == DIRECT) { + int *tmm_old; + memory->create(tmm_old,nmm,"mdi/qmmm:tmm_old"); + memcpy(tmm_old,tmm,nmm*sizeof(int)); + set_tmm(); + for (int i = 0; i < nmm; i++) + if (tmm[i] != tmm_old[i]) new_system = 1; + memory->destroy(tmm_old); + } } } @@ -534,6 +538,8 @@ void FixMDIQMMM::init() send_natoms_mm(); if (elements && elements_exists) send_elements_mm(); else if (types_exists) send_types_mm(); + set_qmm(); + send_charges_mm(); } } } @@ -628,7 +634,7 @@ void FixMDIQMMM::pre_force(int vflag) // subtract Qj/Rij energy for QM I interacting with all other QM J atoms // use xqm_mine and qqm_mine for all QM atoms - set_xqm(); + set_xqm(0); set_qqm(); for (int i = 0; i < nqm; i++) qpotential_mine[i] = 0.0; @@ -662,7 +668,8 @@ void FixMDIQMMM::pre_force(int vflag) MPI_Allreduce(qpotential_mine,qpotential,nqm,MPI_DOUBLE,MPI_SUM,world); // unit conversion from LAMMPS to MDI - + // must be done here, rather than in set_xqm() + for (int i = 0; i < nqm; i++) { xqm[i][0] *= lmp2mdi_length; xqm[i][1] *= lmp2mdi_length; @@ -736,6 +743,16 @@ void FixMDIQMMM::pre_force(int vflag) if (ierr) error->all(FLERR, "MDI: all(FLERR, "MDI: all(FLERR, "MDI: me == 0) @@ -769,18 +786,11 @@ void FixMDIQMMM::pre_force(int vflag) array_atom[ilocal][2] = fqm[i][2] * mdi2lmp_force; } } - - // optionally request stress tensor from MDI engine, convert to 6-value virial + // qm_virial_symmetric = fix output for global QM virial - // note MDI defines virial tensor as intensive (divided by volume), LAMMPS does not + // MDI defines virial tensor as intensive (divided by volume), LAMMPS does not if (vflag && virialflag && stress_exists) { - ierr = MDI_Send_command("all(FLERR, "MDI: all(FLERR, "MDI: virial - // multiply by volume to make it extensive + // multiply by volume to make it extensive // divide by nprocs so each proc stores a portion // this is b/c ComputePressure expects this as input from a fix // it will do an MPI_Allreduce and divide by volume @@ -829,29 +838,18 @@ void FixMDIQMMM::post_force(int vflag) (3) receive results from QM code ---------------------------------------------------------------------- */ -void FixMDIQMMM::post_force_direct(int /*vflag*/) +void FixMDIQMMM::post_force_direct(int vflag) { - // setup QM inputs: - // xqm = atom coords - // setup MM inputs: - // xmm = atom coords - // qmm = charges on MM atoms + // setup QM inputs: xqm = atom coords + // setup MM inputs: xmm = atom coords - set_xqm(); + set_xqm(1); set_xmm(); - set_qmm(); - // send info to MDI engine with QM and MM atom info + // MDI communication with engine // first request for results triggers QM calculation - // QM and MM atoms must be in order of ascending atom ID - // inputs: - // xqm = QM atom coords, mapped into periodic box - // xmm = MM atom coords, mapped into periodic box - // qmm = MM atom charges - // outputs: - // qm_energy = QM contribution to energy of entire system - // fqm = forces on QM atoms - // fmm = forces on MM atoms + // inputs: xqm, xmm + // outputs: qm_energy, fqm, fmm //if (comm->me == 0) utils::logmesg(lmp, "Invoking QM code ...\n"); @@ -907,9 +905,17 @@ void FixMDIQMMM::post_force_direct(int /*vflag*/) ierr = MDI_Recv(&fmm[0][0], 3 * nmm, MDI_DOUBLE, mdicomm); if (ierr) error->all(FLERR, "MDI: all(FLERR, "MDI: all(FLERR, "MDI: me == 0) // utils::logmesg(lmp, " time = {:.3f} seconds\n", @@ -957,6 +963,31 @@ void FixMDIQMMM::post_force_direct(int /*vflag*/) f[ilocal][2] += fmm[i][2] * mdi2lmp_force; } } + + // qm_virial_symmetric = fix output for global QM virial + // MDI defines virial tensor as intensive (divided by volume), LAMMPS does not + + if (vflag && virialflag && stress_exists) { + qm_virial_symmetric[0] = qm_virial[0] * mdi2lmp_pressure; + qm_virial_symmetric[1] = qm_virial[4] * mdi2lmp_pressure; + qm_virial_symmetric[2] = qm_virial[8] * mdi2lmp_pressure; + qm_virial_symmetric[3] = 0.5 * (qm_virial[1] + qm_virial[3]) * mdi2lmp_pressure; + qm_virial_symmetric[4] = 0.5 * (qm_virial[2] + qm_virial[6]) * mdi2lmp_pressure; + qm_virial_symmetric[5] = 0.5 * (qm_virial[5] + qm_virial[7]) * mdi2lmp_pressure; + + // set fix->virial + // multiply by volume to make it extensive + // divide by nprocs so each proc stores a portion + // this is b/c ComputePressure expects this as input from a fix + // it will do an MPI_Allreduce and divide by volume + + double volume; + if (domain->dimension == 2) + volume = domain->xprd * domain->yprd; + else if (domain->dimension == 3) + volume = domain->xprd * domain->yprd * domain->zprd; + for (int i = 0; i < 6; i++) virial[i] = qm_virial_symmetric[i] * volume / nprocs; + } } /* ---------------------------------------------------------------------- @@ -1200,22 +1231,30 @@ void FixMDIQMMM::reallocate_qm() memory->destroy(tqm); memory->destroy(xqm); memory->destroy(fqm); + memory->destroy(qqm); + memory->destroy(qpotential); memory->destroy(eqm_mine); memory->destroy(tqm_mine); memory->destroy(xqm_mine); + memory->destroy(qqm_mine); + memory->destroy(qpotential_mine); - memory->create(qmIDs,max_nqm,"mdi/qm:qmIDs"); - memory->create(qm2owned,max_nqm,"mdi/qm:qm2owned"); + memory->create(qmIDs,max_nqm,"mdi/qmmm:qmIDs"); + memory->create(qm2owned,max_nqm,"mdi/qmmm:qm2owned"); - memory->create(eqm,max_nqm,"mdi/qm:eqm"); - memory->create(tqm,max_nqm,"mdi/qm:tqm"); - memory->create(xqm,max_nqm,3,"mdi/qm:xqm"); - memory->create(fqm,max_nqm,3,"mdi/qm:fqm"); + memory->create(eqm,max_nqm,"mdi/qmmm:eqm"); + memory->create(tqm,max_nqm,"mdi/qmmm:tqm"); + memory->create(xqm,max_nqm,3,"mdi/qmmm:xqm"); + memory->create(fqm,max_nqm,3,"mdi/qmmm:fqm"); + memory->create(qqm,max_nqm,"mdi/qmmm:qqm"); + memory->create(qpotential,max_nqm,"mdi/qmmm:qpotential"); - memory->create(eqm_mine,max_nqm,"mdi/qm:eqm_mine"); - memory->create(tqm_mine,max_nqm,"mdi/qm:tqm_mine"); - memory->create(xqm_mine,max_nqm,3,"mdi/qm:xqm_mine"); + memory->create(eqm_mine,max_nqm,"mdi/qmmm:eqm_mine"); + memory->create(tqm_mine,max_nqm,"mdi/qmmm:tqm_mine"); + memory->create(xqm_mine,max_nqm,3,"mdi/qmmm:xqm_mine"); + memory->create(qqm_mine,max_nqm,"mdi/qmmm:qqm_mine"); + memory->create(qpotential_mine,max_nqm,"mdi/qmmm:qpotential_mine"); } /* ---------------------------------------------------------------------- @@ -1224,31 +1263,35 @@ void FixMDIQMMM::reallocate_qm() void FixMDIQMMM::reallocate_mm() { - max_nqm = nqm; + max_nmm = nmm; - memory->destroy(qmIDs); - memory->destroy(qm2owned); + memory->destroy(mmIDs); + memory->destroy(mm2owned); - memory->destroy(eqm); - memory->destroy(tqm); - memory->destroy(xqm); - memory->destroy(fqm); + memory->destroy(emm); + memory->destroy(tmm); + memory->destroy(xmm); + memory->destroy(qmm); + memory->destroy(fmm); - memory->destroy(eqm_mine); - memory->destroy(tqm_mine); - memory->destroy(xqm_mine); + memory->destroy(emm_mine); + memory->destroy(tmm_mine); + memory->destroy(xmm_mine); + memory->destroy(qmm_mine); - memory->create(qmIDs,max_nqm,"mdi/qm:qmIDs"); - memory->create(qm2owned,max_nqm,"mdi/qm:qm2owned"); + memory->create(mmIDs,max_nmm,"mdi/qmmm:mmIDs"); + memory->create(mm2owned,max_nmm,"mdi/qmmm:mm2owned"); - memory->create(eqm,max_nqm,"mdi/qm:eqm"); - memory->create(tqm,max_nqm,"mdi/qm:tqm"); - memory->create(xqm,max_nqm,3,"mdi/qm:xqm"); - memory->create(fqm,max_nqm,3,"mdi/qm:fqm"); + memory->create(emm,max_nmm,"mdi/qmmm:emm"); + memory->create(tmm,max_nmm,"mdi/qmmm:tmm"); + memory->create(xmm,max_nmm,3,"mdi/qmmm:xmm"); + memory->create(qmm,max_nmm,"mdi/qmmm:qmm"); + memory->create(fmm,max_nmm,3,"mdi/qmmm:fmm"); - memory->create(eqm_mine,max_nqm,"mdi/qm:eqm_mine"); - memory->create(tqm_mine,max_nqm,"mdi/qm:tqm_mine"); - memory->create(xqm_mine,max_nqm,3,"mdi/qm:xqm_mine"); + memory->create(emm_mine,max_nmm,"mdi/qmmm:emm_mine"); + memory->create(tmm_mine,max_nmm,"mdi/qmmm:tmm_mine"); + memory->create(xmm_mine,max_nmm,3,"mdi/qmmm:xmm_mine"); + memory->create(qmm_mine,max_nmm,"mdi/qmmm:qmm_mine"); } /* ---------------------------------------------------------------------- @@ -1488,9 +1531,13 @@ void FixMDIQMMM::set_box() } -/* ---------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + fill xqm with QM atom coords + if convert, perform LAMMPS to MDI unit conversion + else no conver (used by POTENTIAL mode to subtract QM/QM Coulombics) +---------------------------------------------------------------------- */ -void FixMDIQMMM::set_xqm() +void FixMDIQMMM::set_xqm(int convert) { for (int i = 0; i < nqm; i++) { xqm_mine[i][0] = 0.0; @@ -1510,9 +1557,11 @@ void FixMDIQMMM::set_xqm() domain->remap(xqm_mine[i]); - xqm_mine[i][0] *= lmp2mdi_length; - xqm_mine[i][1] *= lmp2mdi_length; - xqm_mine[i][2] *= lmp2mdi_length; + if (convert) { + xqm_mine[i][0] *= lmp2mdi_length; + xqm_mine[i][1] *= lmp2mdi_length; + xqm_mine[i][2] *= lmp2mdi_length; + } } } diff --git a/src/MDI/fix_mdi_qmmm.h b/src/MDI/fix_mdi_qmmm.h index 086f339150..0b1265010c 100644 --- a/src/MDI/fix_mdi_qmmm.h +++ b/src/MDI/fix_mdi_qmmm.h @@ -136,7 +136,7 @@ class FixMDIQMMM : public Fix { void set_box(); - void set_xqm(); + void set_xqm(int); void set_eqm(); void set_tqm(); void set_qqm(); From 37d6014f40a90dff296be12f7c7c9d64897bbae9 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 24 Feb 2023 13:32:58 -0700 Subject: [PATCH 146/448] updated doc pages and README files --- doc/src/fix_mdi_qm.rst | 11 +- doc/src/fix_mdi_qmmm.rst | 200 ++++++++++++++------------ examples/QUANTUM/LATTE/README | 27 ++-- examples/QUANTUM/NWChem/README | 26 +++- examples/QUANTUM/NWChem/nwchem_mdi.py | 2 +- examples/QUANTUM/PySCF/README | 28 ++-- examples/QUANTUM/PySCF/pyscf_mdi.py | 2 +- 7 files changed, 168 insertions(+), 128 deletions(-) diff --git a/doc/src/fix_mdi_qm.rst b/doc/src/fix_mdi_qm.rst index a960cd8c7d..08fc07aa4e 100644 --- a/doc/src/fix_mdi_qm.rst +++ b/doc/src/fix_mdi_qm.rst @@ -110,8 +110,9 @@ codes in either mode. ---------- The *virial* keyword setting of yes or no determines whether LAMMPS -will request the QM code to also compute and return a symmetric virial -tensor for the system. +will request the QM code to also compute and return the QM +contribution to a stress tensor for the system which LAMMPS will +convert to a 6-element symmetric virial tensor. The *add* keyword setting of *yes* or *no* determines whether the energy and forces and virial returned by the QM code will be added to @@ -281,12 +282,6 @@ This command is part of the MDI package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. -The QM code does not currently compute and return per-atom energy or -per-atom virial contributions. So they will not show up as part of -the calculations performed by the :doc:`compute pe/atom -` or :doc:`compute stress/atom ` -commands. - To use LAMMPS as an MDI driver in conjunction with other MDI-enabled codes (MD or QM codes), the :doc:`units ` command should be used to specify *real* or *metal* units. This will ensure the correct diff --git a/doc/src/fix_mdi_qmmm.rst b/doc/src/fix_mdi_qmmm.rst index c093726ec6..ddc11e2454 100644 --- a/doc/src/fix_mdi_qmmm.rst +++ b/doc/src/fix_mdi_qmmm.rst @@ -41,7 +41,7 @@ Description This command enables LAMMPS to act as a client with another server code to perform a coupled QMMM (quantum-mechanics/molecular-mechanics) -simulation. LAMMPS will perform classical MD (molecular-mechnanics +simulation. LAMMPS will perform classical MD (molecular mechnanics or MM) for the (typically larger) MM portion of the system. A quantum mechanics code will calculate quantum energy and forces for the QM portion of the system. The two codes work together to calculate the @@ -50,18 +50,11 @@ atoms. The QM server code must support use of the `MDI Library `_ as explained below. -The partitioning of the system between QM and MM atoms is determined -by the specified group. Atoms in that group are QM atoms; the remaining -atoms are MM atoms. The input script should - -need to remove bonds/etc between QM atoms -currently no bonds between QM/MM atoms are allowed -need to be able to compute Coulomb only portion of the force - field in a pair style, use hybrid -must be a charged system - -explain the 2 algs: DIRECT and POTENTIAL - +The partitioning of the system between QM and MM atoms is as follows. +Atoms in the specified group are QM atoms; the remaining atoms are MM +atoms. The input script should thus define this partitioning. +See additional information below about other requirements for an input +script to use this fix and perform a QMMM simulation. The code coupling performed by this command is done via the `MDI Library `_. @@ -71,29 +64,107 @@ support for MDI. See the :doc:`Howto mdi ` page for more information about how LAMMPS can operate as either an MDI driver or engine. -The examples/mdi directory contains input scripts using this fix in -the various use cases discussed below. In each case, two instances of -LAMMPS are used, once as an MDI driver, once as an MDI engine -(surrogate for a QM code). The examples/mdi/README file explains how -to launch two codes so that they communicate via the MDI library using -either MPI or sockets. Any QM code that supports MDI could be used in -place of LAMMPS acting as a QM surrogate. See the :doc:`Howto mdi +The examples/QUANTUM directory has sub-directories with example input +scripts using this fix in tandem with different QM codes. The README +files in the sub-directories explain how to download and build the +various QM codes. They also explain how to launch LAMMPS and the QM +code so that they communicate via the MDI library using either MPI or +sockets. Any QM code that supports MDI could be used in addition to +those discussed in the sub-directories. See the :doc:`Howto mdi ` page for a current list (March 2022) of such QM codes. Note that an engine code can support MDI in either or both of two modes. It can be used as a stand-alone code, launched at the same time as LAMMPS. Or it can be used as a plugin library, which LAMMPS loads. See the :doc:`mdi plugin ` command for how to trigger -LAMMPS to load a plugin library. The examples/mdi/README file -explains how to launch the two codes in either mode. +LAMMPS to load a plugin library. The examples/QUANTUM sub-directory +README files explains how to launch the two codes in either mode. ---------- +The *mode* setting determines which QMMM coupling algorithm is used. +LAMMPS currently supports *direct* and *potential* algorithms, based +on the *mode* setting. Both algorithms should give reasonably +accurate results, but some QM codes support only one of the two modes. +E.g. in the examples/QUANTUM directory, PySCF supports only *direct*, +NWChem supports only *potential*, and LATTE currently supports +neither, so it cannot be used for QMMM simulations using this fix. + +The *direct* option passes the coordinates and charges of each MM atom +to the quantum code, in addition to the coordinates of each QM atom. +The quantum code returns forces on each QM atom as well as forces on +each MM atom. The latter is effectively the force on MM atoms due to +the QM atoms. + +The input script for performing a *direct* mode QMMM simulation should +do the following: + +* delete all bonds (angles, dihedrals, etc) bewteen QM atoms +* set the charge on each QM atom to zero +* define no bonds (angles, dihederals, etc) which involve both QM and MM atoms +* define a force field (pair, bonds, angles, optional kspace) for the entire system + +The first two bullet can be performed using the :doc:`delete_bonds +` and :doc:`set ` commands. + +The third bullet is required to have a consistent model, but is not +checked by LAMMPS. + +The fourth bullet implies that non-bonded non-Coulombic interactions +(e.g. van der Waals) between QM/QM and QM/MM pairs of atoms are +computed by LAMMPS. + +See the examples/QUANTUM/PySCF/in.* files for examples of input scripts +for QMMM simulations using the *direct* mode. + +The *potential* option passes the coordinates of each QM atom and a +Coulomb potential for each QM atom to the quantum code. The latter is +calculated by performing a Coulombics-only calculation for the entire +system, subtracting all QM/QM pairwise Coulombic terms, and dividing +the Coulomb energy on each QM atom by the charge of the QM atom. The +potential value represents the Coulombic influence of all the MM atoms +on each QM atom. + +The quantum code returns forces and charge on each QM atom. The new +charges on the QM atom are used to re-calculate the MM force field, +resulting in altered forces on the MM atoms. + +The input script for performing a *potential* mode QMMM simulation +should do the following: + +* delete all bonds (angles, dihedrals, etc) bewteen QM atoms +* define a hybrid pair style which includes a Coulomb-only pair sub-style +* define no bonds (angles, dihederals, etc) which involve both QM and MM atoms +* define a force field (pair, bonds, angles, optional kspace) for the entire system + +The first operation can be performed using the :doc:`delete_bonds +` command. See the examples/QUANTUM/NWChem/in.* files +for examples of how to do this. + +The second operation is necessary so that this fix can calculate the Coulomb +potentail for the QM atoms. + +The third bullet is required to have a consistent model, but is not +checked by LAMMPS. + +The fourth bullet implies that non-bonded non-Coulombic interactions +(e.g. van der Waals) between QM/QM and QM/MM pairs of atoms are +computed by LAMMPS. However, some QM codes do not want the MM code +(LAMMPS) to compute QM/QM van der Waals interactions. NWChem is an +example. In this case, the coefficients for thoes interactions need +to be turned off, which typically requires the atom types for the QM atoms +be different than those for the MM atoms. + +See the examples/QUANTUM/NWChem/in.* files for examples of input +scripts for QMMM simulations using the *potential* mode. Those scripts +also illustrate how to turn off QM/QM van der Waals interactions. + ---------- -The *virial* keyword setting of yes or no determines whether -LAMMPS will request the QM code to also compute and return -a 6-element symmetric virial tensor for the system. +The *virial* keyword setting of yes or no determines whether LAMMPS +will request the QM code to also compute and return the QM +contribution to a stress tensor for the system which LAMMPS will +convert to a 6-element symmetric virial tensor. The *connect* keyword determines whether this fix performs a one-time connection to the QM code. The default is *yes*. The only time a @@ -123,60 +194,6 @@ initialized so that the atom type values are consistent in both codes. ---------- -The following 3 example use cases are illustrated in the examples/mdi -directory. See its README file for more details. - -(1) To run an ab initio MD (AIMD) dynamics simulation, or an energy -minimization with QM forces, or a multi-replica NEB calculation, use -*add yes* and *every 1* (the defaults). This is so that every time -LAMMPS needs energy and forces, the QM code will be invoked. - -Both LAMMPS and the QM code should define the same system (simulation -box, atoms and their types) in their respective input scripts. Note -that on this scenario, it may not be necessary for LAMMPS to define a -pair style or use a neighbor list. - -LAMMPS will then perform the timestepping or minimization iterations -for the simulation. At the point in each timestep or iteration when -LAMMPS needs the force on each atom, it communicates with the engine -code. It sends the current simulation box size and shape (if they -change dynamically, e.g. during an NPT simulation), and the current -atom coordinates. The engine code computes quantum forces on each -atom and the total energy of the system and returns them to LAMMPS. - -Note that if the AIMD simulation is an NPT or NPH model, or the energy -minimization includes :doc:`fix box relax ` to -equilibrate the box size/shape, then LAMMPS computes a pressure. This -means the *virial* keyword should be set to *yes* so that the QM -contribution to the pressure can be included. - -(2) To run dynamics with a LAMMPS interatomic potential, and evaluate -the QM energy and forces once every 1000 steps, use *add no* and -*every 1000*. This could be useful for using an MD run to generate -randomized configurations which are then passed to the QM code to -produce training data for a machine learning potential. A :doc:`dump -custom ` command could be invoked every 1000 steps to dump the -atom coordinates and QM forces to a file. Likewise the QM energy and -virial could be output with the :doc:`thermo_style custom -` command. - -(3) To do a QM evaluation of energy and forces for a series of *N* -independent systems (simulation box and atoms), use *add no* and -*every 1*. Write a LAMMPS input script which loops over the *N* -systems. See the :doc:`Howto multiple ` doc page for -details on looping and removing old systems. The series of systems -could be initialized by reading them from data files with -:doc:`read_data ` commands. Or, for example, by using the -:doc:`lattice ` , :doc:`create_atoms `, -:doc:`delete_atoms `, and/or :doc:`displace_atoms -random ` commands to generate a series of different -systems. At the end of the loop perform :doc:`run 0 ` and -:doc:`write_dump ` commands to invoke the QM code and -output the QM energy and forces. As in (2) this be useful to produce -QM data for training a machine learning potential. - ----------- - Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" @@ -187,15 +204,13 @@ The :doc:`fix_modify ` *energy* option is supported by this fix to add the potential energy computed by the QM code to the global potential energy of the system as part of :doc:`thermodynamic output `. The default setting for this fix is -:doc:`fix_modify energy yes `, unless the *add* keyword is -set to *no*, in which case the default setting is *no*. +:doc:`fix_modify energy yes `. The :doc:`fix_modify ` *virial* option is supported by this fix to add the contribution computed by the QM code to the global pressure of the system as part of :doc:`thermodynamic output `. The default setting for this fix is :doc:`fix_modify -virial yes `, unless the *add* keyword is set to *no*, in -which case the default setting is *no*. +virial yes `. This fix computes a global scalar which can be accessed by various :doc:`output commands `. The scalar is the energy @@ -212,22 +227,23 @@ vxx, vyy, vzz, vxy, vxz, vyz. The values will be in pressure This fix also computes a peratom array with 3 columns which contains the peratom forces returned by the QM code. It can likewise be -accessed by various :doc:`output commands `. +accessed by various :doc:`output commands `. Note that +for *direct* mode this will be quantum forces on both QM and MM atoms. +For *potential* mode it will only be quantum forces on QM atoms; the +forces for MM atoms will be zero. No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run ` command. -Assuming the *add* keyword is set to *yes* (the default), the forces -computed by the QM code are used during an energy minimization, -invoked by the :doc:`minimize ` command. +The forces computed by the QM code are used during an energy +minimization, invoked by the :doc:`minimize ` command. .. note:: If you want the potential energy associated with the QM forces to be included in the total potential energy of the system (the quantity being minimized), you MUST not disable the - :doc:`fix_modify ` *energy* option for this fix, which - means the *add* keyword should also be set to *yes* (the default). + :doc:`fix_modify ` *energy* option for this fix. Restrictions @@ -237,12 +253,6 @@ This command is part of the MDI package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. -The QM code does not currently compute and return per-atom energy or -per-atom virial contributions. So they will not show up as part of -the calculations performed by the :doc:`compute pe/atom -` or :doc:`compute stress/atom ` -commands. - To use LAMMPS as an MDI driver in conjunction with other MDI-enabled codes (MD or QM codes), the :doc:`units ` command should be used to specify *real* or *metal* units. This will ensure the correct diff --git a/examples/QUANTUM/LATTE/README b/examples/QUANTUM/LATTE/README index 73c147ad07..a7fb95308c 100644 --- a/examples/QUANTUM/LATTE/README +++ b/examples/QUANTUM/LATTE/README @@ -1,14 +1,25 @@ # Test runs with coupling of LAMMPS and LATTE -Step 1: build LAMMPS -Step 2: download/build MDI code coupling package -Step 3: download/build LATTE -Step 4: perform test runs in any of 3 modes +Step 0: What LATTE currently supports +Step 1: Build LAMMPS +Step 2: Download/build MDI code coupling package +Step 3: Download/build LATTE +Step 4: Perform test runs in any of 3 modes --------------------------------- --------------------------------- -Step 1: build LAMMPS +Step 0: What LATTE currently supports + +LATTE can be used with fix mdi/qm to perform QM calculations of an +entire system, but not with fix mdi/qmmm to perform QMMM simulations. +LATTE can calculate a QM energy and virial as well as QM forces on +each atom. + +--------------------------------- +--------------------------------- + +Step 1: Build LAMMPS The MDI and molecule packags are needed. Copy the final LAMMPS executable into the examples/QUANTUM/LATTE directory. @@ -33,7 +44,7 @@ CMake: --------------------------------- --------------------------------- -Step 2: download/build MDI code coupling package +Step 2: Download/build MDI code coupling package (a) clone the MDI Git repo @@ -71,7 +82,7 @@ will need: --------------------------------- --------------------------------- -Step 3: download/build LATTE +Step 3: Download/build LATTE (a) clone the skimLATTE repo @@ -101,7 +112,7 @@ For (t)csh: --------------------------------- --------------------------------- -Step 4: perform test runs in any of 3 modes +Step 4: Perform test runs in any of 3 modes These tests are in lammps/examples/QUANTUM/LATTE diff --git a/examples/QUANTUM/NWChem/README b/examples/QUANTUM/NWChem/README index b0e69c68fc..9fbe229147 100644 --- a/examples/QUANTUM/NWChem/README +++ b/examples/QUANTUM/NWChem/README @@ -1,14 +1,26 @@ # Test runs with coupling of LAMMPS and NWChem PWDFT +Step 0: What NWChem currently supports Step 1: build LAMMPS -Step 2: download/build MDI code coupling package -Step 3: download/build NWChem PWDFT -Step 4: perform test runs in any of 3 modes +Step 2: Download/build MDI code coupling package +Step 3: Download/build NWChem PWDFT +Step 4: Perform test runs in any of 3 modes --------------------------------- --------------------------------- -Step 1: build LAMMPS +Step 0: What NWChem currently supports + +NWChem can be used with fix mdi/qm to perform QM calculations of an +entire system and with fix mdi/qmmm for QMMM simulations. For QMMM it +can use the potential mode of fix mdi/qmmm, but not the direct mode. +NWChem can calculate a QM energy and QM forces on each atom, but it +cannot compute a QM stress tensor. + +--------------------------------- +--------------------------------- + +Step 1: Build LAMMPS The MDI and molecule packags are needed. Copy the final LAMMPS executable into the examples/QUANTUM/NWChem directory. @@ -33,7 +45,7 @@ CMake: --------------------------------- --------------------------------- -Step 2: download/build MDI code coupling package +Step 2: Download/build MDI code coupling package (a) clone the MDI Git repo @@ -71,7 +83,7 @@ NWChem will need: --------------------------------- --------------------------------- -Step 3: download/build NWChem PWDFT +Step 3: Download/build NWChem PWDFT (a) clone the PWDFT Git repo @@ -101,7 +113,7 @@ For (t)csh: --------------------------------- --------------------------------- -Step 4: perform test runs in any of 3 modes +Step 4: Perform test runs in any of 3 modes These tests are in lammps/examples/QUANTUM/NWChem diff --git a/examples/QUANTUM/NWChem/nwchem_mdi.py b/examples/QUANTUM/NWChem/nwchem_mdi.py index ca564b88ed..0eed404348 100644 --- a/examples/QUANTUM/NWChem/nwchem_mdi.py +++ b/examples/QUANTUM/NWChem/nwchem_mdi.py @@ -162,7 +162,7 @@ def mdi_engine(other_options): mdi.MDI_Register_Command("@DEFAULT","LATTICE_FORCES") - mdi.MDI_Register_Command("@DEFAULT"," Date: Fri, 24 Feb 2023 15:41:04 -0500 Subject: [PATCH 147/448] WIP --- examples/PACKAGES/alchemy/h2o.mol | 62 ++++++++++++ examples/PACKAGES/alchemy/h3o+.mol | 39 ++++++++ examples/PACKAGES/alchemy/in.twowater | 53 ++++++++++ examples/PACKAGES/alchemy/oh-.mol | 24 +++++ src/REPLICA/fix_alchemy.cpp | 134 ++++++++++++++++++++++++++ src/REPLICA/fix_alchemy.h | 49 ++++++++++ 6 files changed, 361 insertions(+) create mode 100644 examples/PACKAGES/alchemy/h2o.mol create mode 100644 examples/PACKAGES/alchemy/h3o+.mol create mode 100644 examples/PACKAGES/alchemy/in.twowater create mode 100644 examples/PACKAGES/alchemy/oh-.mol create mode 100644 src/REPLICA/fix_alchemy.cpp create mode 100644 src/REPLICA/fix_alchemy.h diff --git a/examples/PACKAGES/alchemy/h2o.mol b/examples/PACKAGES/alchemy/h2o.mol new file mode 100644 index 0000000000..e5a5e4fe93 --- /dev/null +++ b/examples/PACKAGES/alchemy/h2o.mol @@ -0,0 +1,62 @@ +# Water molecule. SPC/E model. + +3 atoms +2 bonds +1 angles + +Coords + +1 1.12456 0.09298 1.27452 +2 1.53683 0.75606 1.89928 +3 0.49482 0.56390 0.65678 + +Types + +1 1 +2 2 +3 2 + +Charges + +1 -0.8472 +2 0.4236 +3 0.4236 + +Bonds + +1 1 1 2 +2 1 1 3 + +Angles + +1 1 2 1 3 + +Shake Flags + +1 1 +2 1 +3 1 + +Shake Atoms + +1 1 2 3 +2 1 2 3 +3 1 2 3 + +Shake Bond Types + +1 1 1 1 +2 1 1 1 +3 1 1 1 + +Special Bond Counts + +1 2 0 0 +2 1 1 0 +3 1 1 0 + +Special Bonds + +1 2 3 +2 1 3 +3 1 2 diff --git a/examples/PACKAGES/alchemy/h3o+.mol b/examples/PACKAGES/alchemy/h3o+.mol new file mode 100644 index 0000000000..699438e7a4 --- /dev/null +++ b/examples/PACKAGES/alchemy/h3o+.mol @@ -0,0 +1,39 @@ +# Hydronium ion. SPC/E model. + +4 atoms +3 bonds +3 angles + +Coords + +1 0.00000 1.00000 0.00000 +2 0.00000 0.00000 0.00000 +3 0.00000 -0.50000 -0.8660 +4 0.00000 -0.50000 0.8660 + +Types + +1 2 +2 1 +3 2 +4 2 + +Charges + +1 0.56775 +2 -0.70305 +3 0.56775 +4 0.56775 + +Bonds + +1 1 2 1 +2 1 2 3 +3 1 2 4 + +Angles + +1 1 1 2 3 +1 1 3 2 4 +1 1 1 2 4 + diff --git a/examples/PACKAGES/alchemy/in.twowater b/examples/PACKAGES/alchemy/in.twowater new file mode 100644 index 0000000000..62e0dacd60 --- /dev/null +++ b/examples/PACKAGES/alchemy/in.twowater @@ -0,0 +1,53 @@ +# set up names for two partitions with different topologies +variable name world twowater twoions + +units real +atom_style full +atom_modify map array +region box block -10 10 -10 10 -10 10 +boundary m m m +create_box 2 box bond/types 1 angle/types 1 & + extra/bond/per/atom 3 extra/angle/per/atom 3 extra/special/per/atom 3 + +mass 1 15.9994 +mass 2 1.008 + +pair_style lj/cut/coul/cut 10.0 +pair_coeff 1 1 0.1553 3.166 +pair_coeff 1 2 0.0 1.0 +pair_coeff 2 2 0.0 1.0 + +bond_style harmonic +bond_coeff 1 1000.0 1.0 + +angle_style harmonic +angle_coeff 1 100.0 109.47 + +molecule water h2o.mol +molecule hydronium h3o+.mol +molecule hydroxyl oh-.mol + + +timestep 0.1 + +# generate different topologies with the same number of atoms +if "${name} == twowater" then & + "create_atoms 0 single -2.0 0.0 0.0 mol water 453624" & + "create_atoms 0 single 2.0 0.0 0.0 mol water 767353" & +else & + "create_atoms 0 single 2.0 0.0 0.0 mol hydroxyl 767353" & + "create_atoms 0 single -2.0 0.0 0.0 mol hydronium 453624" + +velocity all create 100 5463576 + +fix 1 all nve +fix 2 all alchemy + +dump 1 all atom 100 ${name}.lammpstrj +dump_modify 1 sort id + +thermo_style custom step temp press etotal pe ke f_2[*] +thermo 100 + +reset_timestep 100 +run 10000 start 0 stop 20000 diff --git a/examples/PACKAGES/alchemy/oh-.mol b/examples/PACKAGES/alchemy/oh-.mol new file mode 100644 index 0000000000..782d1fa88f --- /dev/null +++ b/examples/PACKAGES/alchemy/oh-.mol @@ -0,0 +1,24 @@ +# Hydroxyl ion. SPC/E model. + +2 atoms +1 bonds + +Coords + +1 0.5 0.0 0.0 +2 -0.5 0.0 0.0 + +Types + +1 1 +2 2 + +Charges + +1 -1.1354 +2 0.1354 + +Bonds + +1 1 1 2 + diff --git a/src/REPLICA/fix_alchemy.cpp b/src/REPLICA/fix_alchemy.cpp new file mode 100644 index 0000000000..da10f8261f --- /dev/null +++ b/src/REPLICA/fix_alchemy.cpp @@ -0,0 +1,134 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "fix_alchemy.h" + +#include "atom.h" +#include "comm.h" +#include "error.h" +#include "memory.h" +#include "universe.h" +#include "update.h" + +using namespace LAMMPS_NS; +using namespace FixConst; + +/* ---------------------------------------------------------------------- */ + +static double get_lambda(const bigint &step, const bigint &begin, const bigint &end, int iworld) +{ + double lambda = step - begin; + if (lambda != 0.0) lambda /= end - begin; + if (iworld == 0) lambda = 1.0 - lambda; + return lambda; +} + +/* ---------------------------------------------------------------------- */ + +FixAlchemy::FixAlchemy(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), coordbuf(nullptr) +{ + lambda = epot[0] = epot[1] = 0.0; + + no_change_box = 1; + vector_flag = 1; + size_vector = 3; + extvector = 0; + + // set up communicators + if (universe->nworlds != 2) error->all(FLERR, "Must use exactly two partitions"); + int color = comm->me; + int key = universe->iworld; + MPI_Comm_split(universe->uworld, color, key, &samerank); + + if (narg != 3) error->all(FLERR, "Incorrect number of arguments for fix alchemy"); +} + +/* ---------------------------------------------------------------------- */ + +FixAlchemy::~FixAlchemy() +{ + MPI_Comm_free(&samerank); +} + +/* ---------------------------------------------------------------------- */ + +int FixAlchemy::setmask() +{ + int mask = 0; + mask |= POST_INTEGRATE; + mask |= POST_FORCE; + return mask; +} + +/* ---------------------------------------------------------------------- */ + +void FixAlchemy::init() {} + +/* ---------------------------------------------------------------------- */ + +void FixAlchemy::setup(int /*vflag*/) +{ + const int nall = atom->nlocal; + const auto tag = atom->tag; + const auto x = atom->x; + + memory->destroy(coordbuf); + memory->create(coordbuf, 4 * sizeof(double) * nall, "alchemy:coordbuf"); + + if (universe->iworld == 0) { + int m = 0; + for (int i = 0; i < nall; ++i) { + coordbuf[m++] = ubuf(tag[i]).d; + coordbuf[m++] = x[i][0]; + coordbuf[m++] = x[i][1]; + coordbuf[m++] = x[i][2]; + } + } + + MPI_Bcast(coordbuf, 4 * nall, MPI_DOUBLE, 0, samerank); + + if (universe->iworld == 1) { + int m = 0; + for (int i = 0; i < nall; ++i) { + tagint mytag = (tagint) ubuf(coordbuf[m++]).i; + x[atom->map(mytag)][0] = coordbuf[m++]; + x[atom->map(mytag)][1] = coordbuf[m++]; + x[atom->map(mytag)][2] = coordbuf[m++]; + } + } + + lambda = get_lambda(update->ntimestep, update->beginstep, update->endstep, universe->iworld); +} + +/* ---------------------------------------------------------------------- */ + +void FixAlchemy::post_integrate() +{ + int nall = 3 * (atom->nlocal + atom->nghost); + // MPI_Bcast(&atom->x[0][0], nall, MPI_DOUBLE, 0, samerank); +} + +/* ---------------------------------------------------------------------- */ + +void FixAlchemy::post_force(int /*vflag*/) +{ + lambda = get_lambda(update->ntimestep, update->beginstep, update->endstep, universe->iworld); +} + +/* ---------------------------------------------------------------------- */ + +double FixAlchemy::compute_vector(int n) +{ + if (n == 0) return lambda; + return epot[n - 1]; +} diff --git a/src/REPLICA/fix_alchemy.h b/src/REPLICA/fix_alchemy.h new file mode 100644 index 0000000000..2c48b5b4e7 --- /dev/null +++ b/src/REPLICA/fix_alchemy.h @@ -0,0 +1,49 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef FIX_CLASS +// clang-format off +FixStyle(alchemy,FixAlchemy); +// clang-format on +#else + +#ifndef LMP_FIX_ALCHEMY_H +#define LMP_FIX_ALCHEMY_H + +#include "fix.h" + +namespace LAMMPS_NS { + +class FixAlchemy : public Fix { + public: + FixAlchemy(class LAMMPS *, int, char **); + ~FixAlchemy() override; + + int setmask() override; + void init() override; + void setup(int) override; + void post_integrate() override; + void post_force(int) override; + double compute_vector(int) override; + + protected: + MPI_Comm samerank; + MPI_Comm rankzero; + double *coordbuf; + double lambda; // changes from 0 to 1 during run + double epot[2]; // last (unscaled) potential energy from each replica +}; +} // namespace LAMMPS_NS + +#endif +#endif From ea6ec5c70fd47ace94fb99ea20595d26d68c8528 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 24 Feb 2023 13:41:59 -0700 Subject: [PATCH 148/448] more doc updates --- doc/src/Howto_mdi.rst | 63 +++++++++++++++++-------------------------- 1 file changed, 25 insertions(+), 38 deletions(-) diff --git a/doc/src/Howto_mdi.rst b/doc/src/Howto_mdi.rst index 9a26aa9243..8d59a6a596 100644 --- a/doc/src/Howto_mdi.rst +++ b/doc/src/Howto_mdi.rst @@ -76,6 +76,13 @@ or to evaluate the quantum energy and forces for a series of independent systems. The examples/mdi directory has example input scripts for all of these use cases. +The package also has a `fix mdi/qmmm ` command in which +LAMMPS operates as an MDI driver in conjunction with a quantum +mechanics code as an MDI engine to perform QMMM simulations. The +LAMMPS input script partitions the system into QM and MM (molecular +mechanics) atoms. As described below the examples/QUANTUM directory +has examples for coupling to 3 different quantum codes in this manner. + ---------- The examples/mdi directory contains Python scripts and LAMMPS input @@ -118,46 +125,26 @@ library. ------------- -Currently there are at least two quantum DFT codes which have direct -MDI support, `Quantum ESPRESSO (QE) -`_ and `INQ -`_. There are also several QM -codes which have indirect support through QCEngine or i-PI. The -former means they require a wrapper program (QCEngine) with MDI +As of Feb 2023, these are quantum codes with MDI support provided via +Python wrapper scripts included in the LAMMPS distribution. These can +be used with the fix mdi/qm and fix mdi/qmmm commands to perform QM +calculations of an entire system (e.g. AIMD) or QMMM simulations. +See the examples/QUANTUM sub-directories for more details: + +* LATTE - AIMD only +* PySCF - QMMM only +* NWChem - AIMD or QMMM + +There are also at least two quantum codes which have direct MDI +support, `Quantum ESPRESSO (QE) `_ +and `INQ `_. There are also +several QM codes which have indirect support through QCEngine or i-PI. +The former means they require a wrapper program (QCEngine) with MDI support which writes/read files to pass data to the quantum code itself. The list of QCEngine-supported and i-PI-supported quantum codes is on the `MDI webpage `_. -Here is how to build QE as a stand-alone ``pw.x`` file which can be -used in stand-alone mode: - -.. code-block:: bash - - git clone --branch mdi_plugin https://github.com/MolSSI-MDI/q-e.git /q-e - build the executable pw.x, following the `QE build guide `_ - -Here is how to build QE as a shared library which can be used in plugin mode, -which results in a libqemdi.so file in /q-e/MDI/src: - -.. code-block:: bash - - git clone --branch mdi_plugin https://github.com/MolSSI-MDI/q-e.git /q-e - cd /q-e - ./configure --enable-parallel --enable-openmp --enable-shared FFLAGS="-fPIC" FCFLAGS="-fPIC" CFLAGS="-fPIC" foxflags="-fPIC" try_foxflags="-fPIC" - make -j 4 mdi - -INQ cannot be built as a stand-alone code; it is by design a library. -Here is how to build INQ as a shared library which can be used in -plugin mode, which results in a libinqmdi.so file in -/inq/build/examples: - -.. code-block:: bash - - git clone --branch mdi --recurse-submodules https://gitlab.com/taylor-a-barnes/inq.git /inq - cd /inq - mkdir -p build - cd build - ../configure --prefix=/install - make -j 4 - make install +These direct- and indirect-support codes should be usable for full +system calculations (e.g. AIMD). Whether they support QMMM models +depends on the individual QM code. From fae044213069ac2cabada2d29106397d72f1328b Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 24 Feb 2023 15:50:03 -0700 Subject: [PATCH 149/448] rerun examples with latest version --- examples/QUANTUM/LATTE/README | 21 + ...8Feb23.ch4.mpi.1 => log.24Feb23.ch4.mpi.1} | 18 +- ....ch4.plugin.1 => log.24Feb23.ch4.plugin.1} | 20 +- ...phene.mpi.1 => log.24Feb23.graphene.mpi.1} | 20 +- ...plugin.1 => log.24Feb23.graphene.plugin.1} | 22 +- ....series.mpi.1 => log.24Feb23.series.mpi.1} | 22 +- ...s.plugin.1 => log.24Feb23.series.plugin.1} | 26 +- ...ucrose.mpi.1 => log.24Feb23.sucrose.mpi.1} | 20 +- ....plugin.1 => log.24Feb23.sucrose.plugin.1} | 22 +- ...8Feb23.uo2.mpi.1 => log.24Feb23.uo2.mpi.1} | 16 +- ....uo2.plugin.1 => log.24Feb23.uo2.plugin.1} | 20 +- ....min.mpi.1 => log.24Feb23.water.min.mpi.1} | 46 +- ...lugin.1 => log.24Feb23.water.min.plugin.1} | 44 +- ...23.water.mpi.1 => log.24Feb23.water.mpi.1} | 22 +- ...er.plugin.1 => log.24Feb23.water.plugin.1} | 26 +- examples/QUANTUM/NWChem/README | 12 +- examples/QUANTUM/NWChem/in.series | 5 +- examples/QUANTUM/NWChem/in.series.plugin | 6 +- ....series.mpi.1 => log.24Feb23.series.mpi.1} | 6 +- ...s.plugin.1 => log.24Feb23.series.plugin.1} | 6 +- ...cc.1 => log.24Feb23.series.plugin.w.bcc.1} | 8 +- ... => log.24Feb23.series.plugin.w.diamond.1} | 18 +- .../log.24Feb23.series.plugin.w.sc_001.1 | 59 + .../NWChem/log.24Feb23.series.pwdft.mpi.1 | 4116 +++++++++++++++++ .../NWChem/log.24Feb23.series.pwdft.plugin.1 | 2396 ++++++++++ ...ies.w.bcc.1 => log.24Feb23.series.w.bcc.1} | 10 +- .../NWChem/log.24Feb23.series.w.bcc_222.1 | 0 ...amond.1 => log.24Feb23.series.w.diamond.1} | 18 +- .../NWChem/log.24Feb23.series.w.fcc_001.1 | 0 .../NWChem/log.24Feb23.series.w.sc_001.1 | 60 + ...i.2 => log.24Feb23.water.pwdft.qmmm.mpi.2} | 2969 ++++++------ ... => log.24Feb23.water.pwdft.qmmm.plugin.2} | 2977 ++++++------ ...mmm.mpi.1 => log.24Feb23.water.qmmm.mpi.1} | 42 +- ...ugin.2 => log.24Feb23.water.qmmm.plugin.2} | 46 +- ...8 => log.24Feb23.zeolite.pwdft.qmmm.mpi.8} | 442 +- ...> log.24Feb23.zeolite.pwdft.qmmm.plugin.8} | 441 +- ...m.mpi.1 => log.24Feb23.zeolite.qmmm.mpi.1} | 26 +- ...in.8 => log.24Feb23.zeolite.qmmm.plugin.8} | 26 +- .../NWChem/log.8Feb23.series.pwdft.mpi.1 | 725 --- .../NWChem/log.8Feb23.series.pwdft.plugin.1 | 725 --- examples/QUANTUM/NWChem/log.8Feb23.water.mm.1 | 113 - .../QUANTUM/NWChem/log.8Feb23.zeolite.mm.1 | 186 - examples/QUANTUM/PySCF/README | 21 + examples/QUANTUM/PySCF/in.water.qmmm.plugin | 2 +- ....mixture.mm.1 => log.24Feb23.mixture.mm.1} | 0 ...m.mpi.1 => log.24Feb23.mixture.qmmm.mpi.1} | 26 +- ...in.1 => log.24Feb23.mixture.qmmm.plugin.1} | 30 +- ...mmm.mpi.1 => log.24Feb23.water.qmmm.mpi.1} | 38 +- ...ugin.1 => log.24Feb23.water.qmmm.plugin.1} | 42 +- 49 files changed, 10485 insertions(+), 5477 deletions(-) rename examples/QUANTUM/LATTE/{log.8Feb23.ch4.mpi.1 => log.24Feb23.ch4.mpi.1} (85%) rename examples/QUANTUM/LATTE/{log.8Feb23.ch4.plugin.1 => log.24Feb23.ch4.plugin.1} (84%) rename examples/QUANTUM/LATTE/{log.8Feb23.graphene.mpi.1 => log.24Feb23.graphene.mpi.1} (82%) rename examples/QUANTUM/LATTE/{log.8Feb23.graphene.plugin.1 => log.24Feb23.graphene.plugin.1} (81%) rename examples/QUANTUM/LATTE/{log.8Feb23.series.mpi.1 => log.24Feb23.series.mpi.1} (91%) rename examples/QUANTUM/LATTE/{log.8Feb23.series.plugin.1 => log.24Feb23.series.plugin.1} (90%) rename examples/QUANTUM/LATTE/{log.8Feb23.sucrose.mpi.1 => log.24Feb23.sucrose.mpi.1} (83%) rename examples/QUANTUM/LATTE/{log.8Feb23.sucrose.plugin.1 => log.24Feb23.sucrose.plugin.1} (83%) rename examples/QUANTUM/LATTE/{log.8Feb23.uo2.mpi.1 => log.24Feb23.uo2.mpi.1} (82%) rename examples/QUANTUM/LATTE/{log.8Feb23.uo2.plugin.1 => log.24Feb23.uo2.plugin.1} (80%) rename examples/QUANTUM/LATTE/{log.8Feb23.water.min.mpi.1 => log.24Feb23.water.min.mpi.1} (68%) rename examples/QUANTUM/LATTE/{log.8Feb23.water.min.plugin.1 => log.24Feb23.water.min.plugin.1} (70%) rename examples/QUANTUM/LATTE/{log.8Feb23.water.mpi.1 => log.24Feb23.water.mpi.1} (82%) rename examples/QUANTUM/LATTE/{log.8Feb23.water.plugin.1 => log.24Feb23.water.plugin.1} (80%) rename examples/QUANTUM/NWChem/{log.8Feb23.series.mpi.1 => log.24Feb23.series.mpi.1} (74%) rename examples/QUANTUM/NWChem/{log.8Feb23.series.plugin.1 => log.24Feb23.series.plugin.1} (74%) rename examples/QUANTUM/NWChem/{log.8Feb23.series.plugin.w.bcc.1 => log.24Feb23.series.plugin.w.bcc.1} (89%) rename examples/QUANTUM/NWChem/{log.8Feb23.series.plugin.w.diamond.1 => log.24Feb23.series.plugin.w.diamond.1} (79%) create mode 100644 examples/QUANTUM/NWChem/log.24Feb23.series.plugin.w.sc_001.1 create mode 100644 examples/QUANTUM/NWChem/log.24Feb23.series.pwdft.mpi.1 create mode 100644 examples/QUANTUM/NWChem/log.24Feb23.series.pwdft.plugin.1 rename examples/QUANTUM/NWChem/{log.8Feb23.series.w.bcc.1 => log.24Feb23.series.w.bcc.1} (86%) create mode 100644 examples/QUANTUM/NWChem/log.24Feb23.series.w.bcc_222.1 rename examples/QUANTUM/NWChem/{log.8Feb23.series.w.diamond.1 => log.24Feb23.series.w.diamond.1} (78%) create mode 100644 examples/QUANTUM/NWChem/log.24Feb23.series.w.fcc_001.1 create mode 100644 examples/QUANTUM/NWChem/log.24Feb23.series.w.sc_001.1 rename examples/QUANTUM/NWChem/{log.8Feb23.water.pwdft.qmmm.mpi.2 => log.24Feb23.water.pwdft.qmmm.mpi.2} (66%) rename examples/QUANTUM/NWChem/{log.8Feb23.water.pwdft.qmmm.plugin.2 => log.24Feb23.water.pwdft.qmmm.plugin.2} (66%) rename examples/QUANTUM/NWChem/{log.8Feb23.water.qmmm.mpi.1 => log.24Feb23.water.qmmm.mpi.1} (61%) rename examples/QUANTUM/NWChem/{log.8Feb23.water.qmmm.plugin.2 => log.24Feb23.water.qmmm.plugin.2} (61%) rename examples/QUANTUM/NWChem/{log.8Feb23.zeolite.pwdft.qmmm.mpi.8 => log.24Feb23.zeolite.pwdft.qmmm.mpi.8} (74%) rename examples/QUANTUM/NWChem/{log.8Feb23.zeolite.pwdft.qmmm.plugin.8 => log.24Feb23.zeolite.pwdft.qmmm.plugin.8} (75%) rename examples/QUANTUM/NWChem/{log.8Feb23.zeolite.qmmm.mpi.1 => log.24Feb23.zeolite.qmmm.mpi.1} (83%) rename examples/QUANTUM/NWChem/{log.8Feb23.zeolite.qmmm.plugin.8 => log.24Feb23.zeolite.qmmm.plugin.8} (84%) delete mode 100644 examples/QUANTUM/NWChem/log.8Feb23.series.pwdft.mpi.1 delete mode 100644 examples/QUANTUM/NWChem/log.8Feb23.series.pwdft.plugin.1 delete mode 100644 examples/QUANTUM/NWChem/log.8Feb23.water.mm.1 delete mode 100644 examples/QUANTUM/NWChem/log.8Feb23.zeolite.mm.1 rename examples/QUANTUM/PySCF/{log.8Feb23.mixture.mm.1 => log.24Feb23.mixture.mm.1} (100%) rename examples/QUANTUM/PySCF/{log.8Feb23.mixture.qmmm.mpi.1 => log.24Feb23.mixture.qmmm.mpi.1} (86%) rename examples/QUANTUM/PySCF/{log.8Feb23.mixture.qmmm.plugin.1 => log.24Feb23.mixture.qmmm.plugin.1} (85%) rename examples/QUANTUM/PySCF/{log.8Feb23.water.qmmm.mpi.1 => log.24Feb23.water.qmmm.mpi.1} (62%) rename examples/QUANTUM/PySCF/{log.8Feb23.water.qmmm.plugin.1 => log.24Feb23.water.qmmm.plugin.1} (61%) diff --git a/examples/QUANTUM/LATTE/README b/examples/QUANTUM/LATTE/README index a7fb95308c..28efbf3507 100644 --- a/examples/QUANTUM/LATTE/README +++ b/examples/QUANTUM/LATTE/README @@ -16,6 +16,27 @@ entire system, but not with fix mdi/qmmm to perform QMMM simulations. LATTE can calculate a QM energy and virial as well as QM forces on each atom. +LATTE does not support MPI parallelism, so run it on a single MPI +task. But it does support multi-threading via OpenMP. By default it +will use all the threads available on your compute node. Depending on +the size of the problem and your hardware, it may be faster to run on +fewer threads. Thus for a production run it is a good idea to do some +short runs first with different thread counts to test performance. + +For example, these commands will set the OpenMP thread count (to 4) +before performing a run. Unsetting the environment variable will +revert to the default (use all available threads). + +bash: +% export OMP_NUM_THREADS=4 +% unset OMP_NUM_THREADS + +(t)csh: +% setenv OMP_NUM_THREADS 4 +% unsetenv OMP_NUM_THREADS + +All the example log files in this directory were run with OMP_NUM_THREADS = 1 + --------------------------------- --------------------------------- diff --git a/examples/QUANTUM/LATTE/log.8Feb23.ch4.mpi.1 b/examples/QUANTUM/LATTE/log.24Feb23.ch4.mpi.1 similarity index 85% rename from examples/QUANTUM/LATTE/log.8Feb23.ch4.mpi.1 rename to examples/QUANTUM/LATTE/log.24Feb23.ch4.mpi.1 index bf3edde763..bed9c8ac60 100644 --- a/examples/QUANTUM/LATTE/log.8Feb23.ch4.mpi.1 +++ b/examples/QUANTUM/LATTE/log.24Feb23.ch4.mpi.1 @@ -78,21 +78,21 @@ Per MPI rank memory allocation (min/avg/max) = 6.027 | 6.027 | 6.027 Mbytes 80 5.1636049 -23.983039 -23.980369 297.94883 90 13.368191 -23.987306 -23.980394 192.91153 100 7.0848846 -23.984037 -23.980374 -269.0214 -Loop time of 0.206985 on 1 procs for 100 steps with 5 atoms +Loop time of 0.13604 on 1 procs for 100 steps with 5 atoms -Performance: 10.436 ns/day, 2.300 hours/ns, 483.127 timesteps/s, 2.416 katom-step/s -100.0% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 15.878 ns/day, 1.512 hours/ns, 735.079 timesteps/s, 3.675 katom-step/s +99.3% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 3.489e-06 | 3.489e-06 | 3.489e-06 | 0.0 | 0.00 -Bond | 2.248e-06 | 2.248e-06 | 2.248e-06 | 0.0 | 0.00 +Pair | 3.348e-06 | 3.348e-06 | 3.348e-06 | 0.0 | 0.00 +Bond | 2.237e-06 | 2.237e-06 | 2.237e-06 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 1.0075e-05 | 1.0075e-05 | 1.0075e-05 | 0.0 | 0.00 -Output | 3.7574e-05 | 3.7574e-05 | 3.7574e-05 | 0.0 | 0.02 -Modify | 0.20692 | 0.20692 | 0.20692 | 0.0 | 99.97 -Other | | 1.617e-05 | | | 0.01 +Comm | 1.0553e-05 | 1.0553e-05 | 1.0553e-05 | 0.0 | 0.01 +Output | 4.264e-05 | 4.264e-05 | 4.264e-05 | 0.0 | 0.03 +Modify | 0.13597 | 0.13597 | 0.13597 | 0.0 | 99.95 +Other | | 1.515e-05 | | | 0.01 Nlocal: 5 ave 5 max 5 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/QUANTUM/LATTE/log.8Feb23.ch4.plugin.1 b/examples/QUANTUM/LATTE/log.24Feb23.ch4.plugin.1 similarity index 84% rename from examples/QUANTUM/LATTE/log.8Feb23.ch4.plugin.1 rename to examples/QUANTUM/LATTE/log.24Feb23.ch4.plugin.1 index 0ea57e1475..2ab2e5dc78 100644 --- a/examples/QUANTUM/LATTE/log.8Feb23.ch4.plugin.1 +++ b/examples/QUANTUM/LATTE/log.24Feb23.ch4.plugin.1 @@ -18,7 +18,7 @@ Finding 1-2 1-3 1-4 neighbors ... 0 = max # of 1-4 neighbors 1 = max # of special neighbors special bonds CPU = 0.000 seconds - read_data CPU = 0.004 seconds + read_data CPU = 0.003 seconds # replicate system if requested @@ -80,21 +80,21 @@ Per MPI rank memory allocation (min/avg/max) = 6.027 | 6.027 | 6.027 Mbytes 80 5.1636049 -23.983039 -23.980369 297.94883 90 13.368191 -23.987306 -23.980394 192.91153 100 7.0848846 -23.984037 -23.980374 -269.0214 -Loop time of 0.136887 on 1 procs for 100 steps with 5 atoms +Loop time of 0.1213 on 1 procs for 100 steps with 5 atoms -Performance: 15.779 ns/day, 1.521 hours/ns, 730.528 timesteps/s, 3.653 katom-step/s -161.9% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 17.807 ns/day, 1.348 hours/ns, 824.404 timesteps/s, 4.122 katom-step/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 9.73e-06 | 9.73e-06 | 9.73e-06 | 0.0 | 0.01 -Bond | 3.788e-06 | 3.788e-06 | 3.788e-06 | 0.0 | 0.00 +Pair | 1.0677e-05 | 1.0677e-05 | 1.0677e-05 | 0.0 | 0.01 +Bond | 3.272e-06 | 3.272e-06 | 3.272e-06 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 2.8569e-05 | 2.8569e-05 | 2.8569e-05 | 0.0 | 0.02 -Output | 9.5789e-05 | 9.5789e-05 | 9.5789e-05 | 0.0 | 0.07 -Modify | 0.1367 | 0.1367 | 0.1367 | 0.0 | 99.86 -Other | | 4.791e-05 | | | 0.03 +Comm | 2.6324e-05 | 2.6324e-05 | 2.6324e-05 | 0.0 | 0.02 +Output | 8.975e-05 | 8.975e-05 | 8.975e-05 | 0.0 | 0.07 +Modify | 0.12112 | 0.12112 | 0.12112 | 0.0 | 99.85 +Other | | 4.71e-05 | | | 0.04 Nlocal: 5 ave 5 max 5 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/QUANTUM/LATTE/log.8Feb23.graphene.mpi.1 b/examples/QUANTUM/LATTE/log.24Feb23.graphene.mpi.1 similarity index 82% rename from examples/QUANTUM/LATTE/log.8Feb23.graphene.mpi.1 rename to examples/QUANTUM/LATTE/log.24Feb23.graphene.mpi.1 index db90ce1c67..cc9b842062 100644 --- a/examples/QUANTUM/LATTE/log.8Feb23.graphene.mpi.1 +++ b/examples/QUANTUM/LATTE/log.24Feb23.graphene.mpi.1 @@ -65,28 +65,28 @@ Neighbor list info ... pair build: half/bin/newton/tri stencil: half/bin/3d/tri bin: standard -Per MPI rank memory allocation (min/avg/max) = 6.03 | 6.03 | 6.03 Mbytes +Per MPI rank memory allocation (min/avg/max) = 6.032 | 6.032 | 6.032 Mbytes Step Temp PotEng TotEng Press 0 100 -247.46002 -247.05931 63327.854 5 826.57726 -250.37499 -247.06284 62186.684 10 2683.9104 -257.82775 -247.07314 59699.92 15 4697.8879 -265.91019 -247.08545 57703.843 20 5758.1468 -270.16276 -247.0895 57792.304 -Loop time of 3.05205 on 1 procs for 20 steps with 32 atoms +Loop time of 2.08088 on 1 procs for 20 steps with 32 atoms -Performance: 0.142 ns/day, 169.558 hours/ns, 6.553 timesteps/s, 209.695 atom-step/s +Performance: 0.208 ns/day, 115.604 hours/ns, 9.611 timesteps/s, 307.563 atom-step/s 100.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 5.69e-06 | 5.69e-06 | 5.69e-06 | 0.0 | 0.00 -Bond | 9.35e-07 | 9.35e-07 | 9.35e-07 | 0.0 | 0.00 +Pair | 2.699e-06 | 2.699e-06 | 2.699e-06 | 0.0 | 0.00 +Bond | 6.76e-07 | 6.76e-07 | 6.76e-07 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 1.3983e-05 | 1.3983e-05 | 1.3983e-05 | 0.0 | 0.00 -Output | 3.6243e-05 | 3.6243e-05 | 3.6243e-05 | 0.0 | 0.00 -Modify | 3.052 | 3.052 | 3.052 | 0.0 |100.00 -Other | | 1.742e-05 | | | 0.00 +Comm | 1.1723e-05 | 1.1723e-05 | 1.1723e-05 | 0.0 | 0.00 +Output | 3.0408e-05 | 3.0408e-05 | 3.0408e-05 | 0.0 | 0.00 +Modify | 2.0808 | 2.0808 | 2.0808 | 0.0 |100.00 +Other | | 1.043e-05 | | | 0.00 Nlocal: 32 ave 32 max 32 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -100,4 +100,4 @@ Ave neighs/atom = 1.5 Ave special neighs/atom = 0 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:00:03 +Total wall time: 0:00:02 diff --git a/examples/QUANTUM/LATTE/log.8Feb23.graphene.plugin.1 b/examples/QUANTUM/LATTE/log.24Feb23.graphene.plugin.1 similarity index 81% rename from examples/QUANTUM/LATTE/log.8Feb23.graphene.plugin.1 rename to examples/QUANTUM/LATTE/log.24Feb23.graphene.plugin.1 index 86f4bc7c37..d60a7f3dd1 100644 --- a/examples/QUANTUM/LATTE/log.8Feb23.graphene.plugin.1 +++ b/examples/QUANTUM/LATTE/log.24Feb23.graphene.plugin.1 @@ -67,28 +67,28 @@ Neighbor list info ... pair build: half/bin/newton/tri stencil: half/bin/3d/tri bin: standard -Per MPI rank memory allocation (min/avg/max) = 6.03 | 6.03 | 6.03 Mbytes +Per MPI rank memory allocation (min/avg/max) = 6.032 | 6.032 | 6.032 Mbytes Step Temp PotEng TotEng Press 0 100 -247.46002 -247.05931 63327.854 5 826.57726 -250.37499 -247.06284 62186.684 10 2683.9104 -257.82775 -247.07314 59699.92 15 4697.8879 -265.91019 -247.08545 57703.843 20 5758.1468 -270.16276 -247.0895 57792.304 -Loop time of 4.91692 on 1 procs for 20 steps with 32 atoms +Loop time of 2.09211 on 1 procs for 20 steps with 32 atoms -Performance: 0.088 ns/day, 273.162 hours/ns, 4.068 timesteps/s, 130.163 atom-step/s -564.0% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 0.206 ns/day, 116.229 hours/ns, 9.560 timesteps/s, 305.911 atom-step/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 1.2813e-05 | 1.2813e-05 | 1.2813e-05 | 0.0 | 0.00 -Bond | 2.863e-06 | 2.863e-06 | 2.863e-06 | 0.0 | 0.00 +Pair | 7.006e-06 | 7.006e-06 | 7.006e-06 | 0.0 | 0.00 +Bond | 1.479e-06 | 1.479e-06 | 1.479e-06 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 4.143e-05 | 4.143e-05 | 4.143e-05 | 0.0 | 0.00 -Output | 0.047766 | 0.047766 | 0.047766 | 0.0 | 0.97 -Modify | 4.869 | 4.869 | 4.869 | 0.0 | 99.03 -Other | | 6.209e-05 | | | 0.00 +Comm | 1.952e-05 | 1.952e-05 | 1.952e-05 | 0.0 | 0.00 +Output | 5.83e-05 | 5.83e-05 | 5.83e-05 | 0.0 | 0.00 +Modify | 2.092 | 2.092 | 2.092 | 0.0 | 99.99 +Other | | 3.168e-05 | | | 0.00 Nlocal: 32 ave 32 max 32 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -102,4 +102,4 @@ Ave neighs/atom = 1.5 Ave special neighs/atom = 0 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:00:05 +Total wall time: 0:00:02 diff --git a/examples/QUANTUM/LATTE/log.8Feb23.series.mpi.1 b/examples/QUANTUM/LATTE/log.24Feb23.series.mpi.1 similarity index 91% rename from examples/QUANTUM/LATTE/log.8Feb23.series.mpi.1 rename to examples/QUANTUM/LATTE/log.24Feb23.series.mpi.1 index 60d60388fe..5dfea3175e 100644 --- a/examples/QUANTUM/LATTE/log.8Feb23.series.mpi.1 +++ b/examples/QUANTUM/LATTE/log.24Feb23.series.mpi.1 @@ -42,10 +42,10 @@ Finding 1-2 1-3 1-4 neighbors ... WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) -Per MPI rank memory allocation (min/avg/max) = 5.238 | 5.238 | 5.238 Mbytes +Per MPI rank memory allocation (min/avg/max) = 5.239 | 5.239 | 5.239 Mbytes Step Temp PotEng TotEng Press 0 0 -50.539026 -50.539026 -120855.18 -Loop time of 2.54e-07 on 1 procs for 0 steps with 6 atoms +Loop time of 3.1e-07 on 1 procs for 0 steps with 6 atoms 0.0% CPU use with 1 MPI tasks x no OpenMP threads @@ -58,7 +58,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 2.54e-07 | | |100.00 +Other | | 3.1e-07 | | |100.00 Nlocal: 6 ave 6 max 6 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -115,12 +115,12 @@ Finding 1-2 1-3 1-4 neighbors ... WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) -Per MPI rank memory allocation (min/avg/max) = 5.238 | 5.238 | 5.238 Mbytes +Per MPI rank memory allocation (min/avg/max) = 5.239 | 5.239 | 5.239 Mbytes Step Temp PotEng TotEng Press 0 0 -78.155585 -78.155585 -99929.253 -Loop time of 3.78e-07 on 1 procs for 0 steps with 9 atoms +Loop time of 5.28e-07 on 1 procs for 0 steps with 9 atoms -264.6% CPU use with 1 MPI tasks x no OpenMP threads +189.4% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -131,7 +131,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 3.78e-07 | | |100.00 +Other | | 5.28e-07 | | |100.00 Nlocal: 9 ave 9 max 9 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -188,12 +188,12 @@ Finding 1-2 1-3 1-4 neighbors ... WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) -Per MPI rank memory allocation (min/avg/max) = 5.238 | 5.238 | 5.238 Mbytes +Per MPI rank memory allocation (min/avg/max) = 5.239 | 5.239 | 5.239 Mbytes Step Temp PotEng TotEng Press 0 0 -102.35715 -102.35715 -31036.694 -Loop time of 4.53e-07 on 1 procs for 0 steps with 12 atoms +Loop time of 4.09e-07 on 1 procs for 0 steps with 12 atoms -220.8% CPU use with 1 MPI tasks x no OpenMP threads +0.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -204,7 +204,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 4.53e-07 | | |100.00 +Other | | 4.09e-07 | | |100.00 Nlocal: 12 ave 12 max 12 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/QUANTUM/LATTE/log.8Feb23.series.plugin.1 b/examples/QUANTUM/LATTE/log.24Feb23.series.plugin.1 similarity index 90% rename from examples/QUANTUM/LATTE/log.8Feb23.series.plugin.1 rename to examples/QUANTUM/LATTE/log.24Feb23.series.plugin.1 index 0dbffdfe17..7afe809289 100644 --- a/examples/QUANTUM/LATTE/log.8Feb23.series.plugin.1 +++ b/examples/QUANTUM/LATTE/log.24Feb23.series.plugin.1 @@ -24,7 +24,7 @@ Finding 1-2 1-3 1-4 neighbors ... 0 = max # of 1-4 neighbors 1 = max # of special neighbors special bonds CPU = 0.000 seconds - read_data CPU = 0.003 seconds + read_data CPU = 0.004 seconds neighbor 0.3 bin neigh_modify every 1 delay 0 check yes @@ -40,12 +40,12 @@ run 0 WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) -Per MPI rank memory allocation (min/avg/max) = 5.238 | 5.238 | 5.238 Mbytes +Per MPI rank memory allocation (min/avg/max) = 5.239 | 5.239 | 5.239 Mbytes Step Temp PotEng TotEng Press 0 0 -50.539026 -50.539026 -120855.18 -Loop time of 7.62e-07 on 1 procs for 0 steps with 6 atoms +Loop time of 5.2e-07 on 1 procs for 0 steps with 6 atoms -524.9% CPU use with 1 MPI tasks x no OpenMP threads +384.6% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -56,7 +56,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 7.62e-07 | | |100.00 +Other | | 5.2e-07 | | |100.00 Nlocal: 6 ave 6 max 6 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -113,12 +113,12 @@ run 0 WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) -Per MPI rank memory allocation (min/avg/max) = 5.238 | 5.238 | 5.238 Mbytes +Per MPI rank memory allocation (min/avg/max) = 5.239 | 5.239 | 5.239 Mbytes Step Temp PotEng TotEng Press 0 0 -78.155585 -78.155585 -99929.253 -Loop time of 6.86e-07 on 1 procs for 0 steps with 9 atoms +Loop time of 5.5e-07 on 1 procs for 0 steps with 9 atoms -583.1% CPU use with 1 MPI tasks x no OpenMP threads +181.8% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -129,7 +129,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 6.86e-07 | | |100.00 +Other | | 5.5e-07 | | |100.00 Nlocal: 9 ave 9 max 9 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -186,12 +186,12 @@ run 0 WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) -Per MPI rank memory allocation (min/avg/max) = 5.238 | 5.238 | 5.238 Mbytes +Per MPI rank memory allocation (min/avg/max) = 5.239 | 5.239 | 5.239 Mbytes Step Temp PotEng TotEng Press 0 0 -102.35715 -102.35715 -31036.694 -Loop time of 9.07e-07 on 1 procs for 0 steps with 12 atoms +Loop time of 4.96e-07 on 1 procs for 0 steps with 12 atoms -882.0% CPU use with 1 MPI tasks x no OpenMP threads +201.6% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -202,7 +202,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 9.07e-07 | | |100.00 +Other | | 4.96e-07 | | |100.00 Nlocal: 12 ave 12 max 12 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/QUANTUM/LATTE/log.8Feb23.sucrose.mpi.1 b/examples/QUANTUM/LATTE/log.24Feb23.sucrose.mpi.1 similarity index 83% rename from examples/QUANTUM/LATTE/log.8Feb23.sucrose.mpi.1 rename to examples/QUANTUM/LATTE/log.24Feb23.sucrose.mpi.1 index 259ea8c5fd..6c4a9aab54 100644 --- a/examples/QUANTUM/LATTE/log.8Feb23.sucrose.mpi.1 +++ b/examples/QUANTUM/LATTE/log.24Feb23.sucrose.mpi.1 @@ -65,7 +65,7 @@ Neighbor list info ... pair build: half/bin/newton stencil: half/bin/3d bin: standard -Per MPI rank memory allocation (min/avg/max) = 6.055 | 6.055 | 6.055 Mbytes +Per MPI rank memory allocation (min/avg/max) = 6.059 | 6.059 | 6.059 Mbytes Step Temp PotEng TotEng Press 0 100 -251.26616 -250.69742 107.21668 10 66.857941 -251.07691 -250.69666 -492.79612 @@ -78,21 +78,21 @@ Per MPI rank memory allocation (min/avg/max) = 6.055 | 6.055 | 6.055 Mbytes 80 38.818553 -250.91757 -250.69679 -13.26722 90 53.942805 -251.00391 -250.69711 -245.17309 100 49.969604 -250.98104 -250.69684 -243.79969 -Loop time of 16.5307 on 1 procs for 100 steps with 45 atoms +Loop time of 11.1859 on 1 procs for 100 steps with 45 atoms -Performance: 0.131 ns/day, 183.675 hours/ns, 6.049 timesteps/s, 272.220 atom-step/s +Performance: 0.193 ns/day, 124.287 hours/ns, 8.940 timesteps/s, 402.293 atom-step/s 100.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 1.8626e-05 | 1.8626e-05 | 1.8626e-05 | 0.0 | 0.00 -Bond | 5.206e-06 | 5.206e-06 | 5.206e-06 | 0.0 | 0.00 +Pair | 1.0375e-05 | 1.0375e-05 | 1.0375e-05 | 0.0 | 0.00 +Bond | 3.912e-06 | 3.912e-06 | 3.912e-06 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 1.3114e-05 | 1.3114e-05 | 1.3114e-05 | 0.0 | 0.00 -Output | 0.00013326 | 0.00013326 | 0.00013326 | 0.0 | 0.00 -Modify | 16.531 | 16.531 | 16.531 | 0.0 |100.00 -Other | | 6.971e-05 | | | 0.00 +Comm | 1.3481e-05 | 1.3481e-05 | 1.3481e-05 | 0.0 | 0.00 +Output | 0.00010279 | 0.00010279 | 0.00010279 | 0.0 | 0.00 +Modify | 11.186 | 11.186 | 11.186 | 0.0 |100.00 +Other | | 6.822e-05 | | | 0.00 Nlocal: 45 ave 45 max 45 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -106,4 +106,4 @@ Ave neighs/atom = 1.3111111 Ave special neighs/atom = 0 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:00:16 +Total wall time: 0:00:11 diff --git a/examples/QUANTUM/LATTE/log.8Feb23.sucrose.plugin.1 b/examples/QUANTUM/LATTE/log.24Feb23.sucrose.plugin.1 similarity index 83% rename from examples/QUANTUM/LATTE/log.8Feb23.sucrose.plugin.1 rename to examples/QUANTUM/LATTE/log.24Feb23.sucrose.plugin.1 index 9890641f54..66cec96e63 100644 --- a/examples/QUANTUM/LATTE/log.8Feb23.sucrose.plugin.1 +++ b/examples/QUANTUM/LATTE/log.24Feb23.sucrose.plugin.1 @@ -67,7 +67,7 @@ Neighbor list info ... pair build: half/bin/newton stencil: half/bin/3d bin: standard -Per MPI rank memory allocation (min/avg/max) = 6.055 | 6.055 | 6.055 Mbytes +Per MPI rank memory allocation (min/avg/max) = 6.059 | 6.059 | 6.059 Mbytes Step Temp PotEng TotEng Press 0 100 -251.26616 -250.69742 107.21668 10 66.857941 -251.07691 -250.69666 -492.79612 @@ -80,21 +80,21 @@ Per MPI rank memory allocation (min/avg/max) = 6.055 | 6.055 | 6.055 Mbytes 80 38.818553 -250.91757 -250.69679 -13.26722 90 53.942805 -251.00391 -250.69711 -245.17309 100 49.969604 -250.98104 -250.69684 -243.79969 -Loop time of 26.8476 on 1 procs for 100 steps with 45 atoms +Loop time of 9.70267 on 1 procs for 100 steps with 45 atoms -Performance: 0.080 ns/day, 298.306 hours/ns, 3.725 timesteps/s, 167.613 atom-step/s -553.3% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 0.223 ns/day, 107.807 hours/ns, 10.306 timesteps/s, 463.790 atom-step/s +99.9% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 6.7375e-05 | 6.7375e-05 | 6.7375e-05 | 0.0 | 0.00 -Bond | 1.8658e-05 | 1.8658e-05 | 1.8658e-05 | 0.0 | 0.00 +Pair | 2.7045e-05 | 2.7045e-05 | 2.7045e-05 | 0.0 | 0.00 +Bond | 9.684e-06 | 9.684e-06 | 9.684e-06 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 8.5578e-05 | 8.5578e-05 | 8.5578e-05 | 0.0 | 0.00 -Output | 0.099643 | 0.099643 | 0.099643 | 0.0 | 0.37 -Modify | 26.747 | 26.747 | 26.747 | 0.0 | 99.63 -Other | | 0.0003245 | | | 0.00 +Comm | 5.1297e-05 | 5.1297e-05 | 5.1297e-05 | 0.0 | 0.00 +Output | 0.00015901 | 0.00015901 | 0.00015901 | 0.0 | 0.00 +Modify | 9.7023 | 9.7023 | 9.7023 | 0.0 |100.00 +Other | | 0.0001426 | | | 0.00 Nlocal: 45 ave 45 max 45 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -108,4 +108,4 @@ Ave neighs/atom = 1.3111111 Ave special neighs/atom = 0 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:00:27 +Total wall time: 0:00:09 diff --git a/examples/QUANTUM/LATTE/log.8Feb23.uo2.mpi.1 b/examples/QUANTUM/LATTE/log.24Feb23.uo2.mpi.1 similarity index 82% rename from examples/QUANTUM/LATTE/log.8Feb23.uo2.mpi.1 rename to examples/QUANTUM/LATTE/log.24Feb23.uo2.mpi.1 index 478e789292..bda48c652d 100644 --- a/examples/QUANTUM/LATTE/log.8Feb23.uo2.mpi.1 +++ b/examples/QUANTUM/LATTE/log.24Feb23.uo2.mpi.1 @@ -39,28 +39,28 @@ thermo 5 run 20 WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) -Per MPI rank memory allocation (min/avg/max) = 5.238 | 5.238 | 5.238 Mbytes +Per MPI rank memory allocation (min/avg/max) = 5.239 | 5.239 | 5.239 Mbytes Step Temp PotEng TotEng Press 0 300 -50.539026 -50.345136 -120197.58 5 349.9977 -50.576715 -50.350511 -119686.74 10 428.81071 -50.636477 -50.359336 -118824.24 15 532.96198 -50.716083 -50.371629 -117598.48 20 657.59195 -50.812448 -50.387446 -115993.96 -Loop time of 0.685388 on 1 procs for 20 steps with 6 atoms +Loop time of 0.405086 on 1 procs for 20 steps with 6 atoms -Performance: 0.630 ns/day, 38.077 hours/ns, 29.181 timesteps/s, 175.083 atom-step/s +Performance: 1.066 ns/day, 22.505 hours/ns, 49.372 timesteps/s, 296.234 atom-step/s 100.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- Pair | 0 | 0 | 0 | 0.0 | 0.00 -Bond | 5.62e-07 | 5.62e-07 | 5.62e-07 | 0.0 | 0.00 +Bond | 6.57e-07 | 6.57e-07 | 6.57e-07 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 3.734e-06 | 3.734e-06 | 3.734e-06 | 0.0 | 0.00 -Output | 2.4426e-05 | 2.4426e-05 | 2.4426e-05 | 0.0 | 0.00 -Modify | 0.68535 | 0.68535 | 0.68535 | 0.0 |100.00 -Other | | 5.523e-06 | | | 0.00 +Comm | 3.381e-06 | 3.381e-06 | 3.381e-06 | 0.0 | 0.00 +Output | 2.2822e-05 | 2.2822e-05 | 2.2822e-05 | 0.0 | 0.01 +Modify | 0.40505 | 0.40505 | 0.40505 | 0.0 | 99.99 +Other | | 8.061e-06 | | | 0.00 Nlocal: 6 ave 6 max 6 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/QUANTUM/LATTE/log.8Feb23.uo2.plugin.1 b/examples/QUANTUM/LATTE/log.24Feb23.uo2.plugin.1 similarity index 80% rename from examples/QUANTUM/LATTE/log.8Feb23.uo2.plugin.1 rename to examples/QUANTUM/LATTE/log.24Feb23.uo2.plugin.1 index 1071aaf011..d688aeca7e 100644 --- a/examples/QUANTUM/LATTE/log.8Feb23.uo2.plugin.1 +++ b/examples/QUANTUM/LATTE/log.24Feb23.uo2.plugin.1 @@ -18,7 +18,7 @@ Finding 1-2 1-3 1-4 neighbors ... 0 = max # of 1-4 neighbors 1 = max # of special neighbors special bonds CPU = 0.000 seconds - read_data CPU = 0.003 seconds + read_data CPU = 0.001 seconds velocity all create 300.0 87287 loop geom @@ -40,28 +40,28 @@ mdi plugin latte_mdi mdi "-role ENGINE -name LATTE -method LINK" run 20 WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) -Per MPI rank memory allocation (min/avg/max) = 5.238 | 5.238 | 5.238 Mbytes +Per MPI rank memory allocation (min/avg/max) = 5.239 | 5.239 | 5.239 Mbytes Step Temp PotEng TotEng Press 0 300 -50.539026 -50.345136 -120197.58 5 349.9977 -50.576715 -50.350511 -119686.74 10 428.81071 -50.636477 -50.359336 -118824.24 15 532.96198 -50.716083 -50.371629 -117598.48 20 657.59195 -50.812448 -50.387446 -115993.96 -Loop time of 0.493269 on 1 procs for 20 steps with 6 atoms +Loop time of 0.589696 on 1 procs for 20 steps with 6 atoms -Performance: 0.876 ns/day, 27.404 hours/ns, 40.546 timesteps/s, 243.275 atom-step/s -326.9% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 0.733 ns/day, 32.761 hours/ns, 33.916 timesteps/s, 203.495 atom-step/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- Pair | 0 | 0 | 0 | 0.0 | 0.00 -Bond | 2.061e-06 | 2.061e-06 | 2.061e-06 | 0.0 | 0.00 +Bond | 2.421e-06 | 2.421e-06 | 2.421e-06 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 1.411e-05 | 1.411e-05 | 1.411e-05 | 0.0 | 0.00 -Output | 5.6957e-05 | 5.6957e-05 | 5.6957e-05 | 0.0 | 0.01 -Modify | 0.49316 | 0.49316 | 0.49316 | 0.0 | 99.98 -Other | | 3.15e-05 | | | 0.01 +Comm | 3.874e-05 | 3.874e-05 | 3.874e-05 | 0.0 | 0.01 +Output | 0.00014713 | 0.00014713 | 0.00014713 | 0.0 | 0.02 +Modify | 0.58943 | 0.58943 | 0.58943 | 0.0 | 99.95 +Other | | 8.234e-05 | | | 0.01 Nlocal: 6 ave 6 max 6 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/QUANTUM/LATTE/log.8Feb23.water.min.mpi.1 b/examples/QUANTUM/LATTE/log.24Feb23.water.min.mpi.1 similarity index 68% rename from examples/QUANTUM/LATTE/log.8Feb23.water.min.mpi.1 rename to examples/QUANTUM/LATTE/log.24Feb23.water.min.mpi.1 index bf8336e353..bb47f0d46e 100644 --- a/examples/QUANTUM/LATTE/log.8Feb23.water.min.mpi.1 +++ b/examples/QUANTUM/LATTE/log.24Feb23.water.min.mpi.1 @@ -18,7 +18,7 @@ Finding 1-2 1-3 1-4 neighbors ... 0 = max # of 1-4 neighbors 1 = max # of special neighbors special bonds CPU = 0.000 seconds - read_data CPU = 0.001 seconds + read_data CPU = 0.002 seconds # replicate system if requested @@ -68,40 +68,40 @@ Neighbor list info ... Parameters for fire: dmax delaystep dtgrow dtshrink alpha0 alphashrink tmax tmin integrator halfstepback abcfire 0.1 20 1.1 0.5 0.25 0.99 10 0.02 eulerimplicit yes no -Per MPI rank memory allocation (min/avg/max) = 6.005 | 6.005 | 6.005 Mbytes +Per MPI rank memory allocation (min/avg/max) = 6.007 | 6.007 | 6.007 Mbytes Step Temp PotEng TotEng Press - 0 0 0 0 0 - 10 899.1524 -108.14682 -105.47365 73033.936 + 0 0 -104.95596 -104.95596 48235.444 + 10 899.15241 -108.14682 -105.47365 73033.936 20 1939.7634 -109.75294 -103.98606 40647.182 - 30 4.831893 -110.23114 -110.21677 5660.776 - 40 50.735819 -110.29132 -110.14048 4890.8986 - 50 153.92 -110.3956 -109.938 5046.3911 - 60 3.0178397 -110.52031 -110.51134 1964.2114 - 70 26.161763 -110.55445 -110.47667 1839.5114 - 78 69.53487 -110.60152 -110.39479 2086.0227 -Loop time of 3.38506 on 1 procs for 78 steps with 24 atoms + 30 4.8318933 -110.23114 -110.21677 5660.7758 + 40 50.735818 -110.29132 -110.14048 4890.8986 + 50 153.92 -110.3956 -109.938 5046.391 + 60 3.0178396 -110.52031 -110.51134 1964.2113 + 70 26.161764 -110.55445 -110.47667 1839.5114 + 78 69.534871 -110.60152 -110.39479 2086.0227 +Loop time of 2.29667 on 1 procs for 78 steps with 24 atoms -100.0% CPU use with 1 MPI tasks x no OpenMP threads +99.8% CPU use with 1 MPI tasks x no OpenMP threads Minimization stats: Stopping criterion = energy tolerance Energy initial, next-to-last, final = - 0 -110.594257523513 -110.601518955915 - Force two-norm initial, final = 0 0.28249145 - Force max component initial, final = 0 0.096323097 + -104.955956572959 -110.594257523308 -110.601518955935 + Force two-norm initial, final = 19.119006 0.28249145 + Force max component initial, final = 11.775801 0.096323091 Final line search alpha, max atom move = 0 0 Iterations, force evaluations = 78 81 MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 7.116e-06 | 7.116e-06 | 7.116e-06 | 0.0 | 0.00 -Bond | 2.222e-06 | 2.222e-06 | 2.222e-06 | 0.0 | 0.00 -Neigh | 1.7255e-05 | 1.7255e-05 | 1.7255e-05 | 0.0 | 0.00 -Comm | 4.8011e-05 | 4.8011e-05 | 4.8011e-05 | 0.0 | 0.00 -Output | 4.5107e-05 | 4.5107e-05 | 4.5107e-05 | 0.0 | 0.00 -Modify | 3.3849 | 3.3849 | 3.3849 | 0.0 | 99.99 -Other | | 6.706e-05 | | | 0.00 +Pair | 7.084e-06 | 7.084e-06 | 7.084e-06 | 0.0 | 0.00 +Bond | 3.108e-06 | 3.108e-06 | 3.108e-06 | 0.0 | 0.00 +Neigh | 1.7989e-05 | 1.7989e-05 | 1.7989e-05 | 0.0 | 0.00 +Comm | 3.7812e-05 | 3.7812e-05 | 3.7812e-05 | 0.0 | 0.00 +Output | 3.5572e-05 | 3.5572e-05 | 3.5572e-05 | 0.0 | 0.00 +Modify | 2.2965 | 2.2965 | 2.2965 | 0.0 | 99.99 +Other | | 6.848e-05 | | | 0.00 Nlocal: 24 ave 24 max 24 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -115,4 +115,4 @@ Ave neighs/atom = 1.0833333 Ave special neighs/atom = 0 Neighbor list builds = 2 Dangerous builds = 0 -Total wall time: 0:00:03 +Total wall time: 0:00:02 diff --git a/examples/QUANTUM/LATTE/log.8Feb23.water.min.plugin.1 b/examples/QUANTUM/LATTE/log.24Feb23.water.min.plugin.1 similarity index 70% rename from examples/QUANTUM/LATTE/log.8Feb23.water.min.plugin.1 rename to examples/QUANTUM/LATTE/log.24Feb23.water.min.plugin.1 index afe59f36da..362345e0b9 100644 --- a/examples/QUANTUM/LATTE/log.8Feb23.water.min.plugin.1 +++ b/examples/QUANTUM/LATTE/log.24Feb23.water.min.plugin.1 @@ -18,7 +18,7 @@ Finding 1-2 1-3 1-4 neighbors ... 0 = max # of 1-4 neighbors 1 = max # of special neighbors special bonds CPU = 0.000 seconds - read_data CPU = 0.001 seconds + read_data CPU = 0.005 seconds # replicate system if requested @@ -70,40 +70,40 @@ Neighbor list info ... Parameters for fire: dmax delaystep dtgrow dtshrink alpha0 alphashrink tmax tmin integrator halfstepback abcfire 0.1 20 1.1 0.5 0.25 0.99 10 0.02 eulerimplicit yes no -Per MPI rank memory allocation (min/avg/max) = 6.005 | 6.005 | 6.005 Mbytes +Per MPI rank memory allocation (min/avg/max) = 6.007 | 6.007 | 6.007 Mbytes Step Temp PotEng TotEng Press - 0 0 0 0 0 - 10 899.1524 -108.14682 -105.47365 73033.936 + 0 0 -104.95596 -104.95596 48235.444 + 10 899.15241 -108.14682 -105.47365 73033.936 20 1939.7634 -109.75294 -103.98606 40647.182 - 30 4.831893 -110.23114 -110.21677 5660.776 - 40 50.735819 -110.29132 -110.14048 4890.8986 - 50 153.92 -110.3956 -109.938 5046.3911 - 60 3.0178397 -110.52031 -110.51134 1964.2114 - 70 26.161763 -110.55445 -110.47667 1839.5114 - 78 69.53487 -110.60152 -110.39479 2086.0227 -Loop time of 2.7873 on 1 procs for 78 steps with 24 atoms + 30 4.8318933 -110.23114 -110.21677 5660.7758 + 40 50.735818 -110.29132 -110.14048 4890.8986 + 50 153.92 -110.3956 -109.938 5046.391 + 60 3.0178396 -110.52031 -110.51134 1964.2113 + 70 26.161764 -110.55445 -110.47667 1839.5114 + 78 69.534871 -110.60152 -110.39479 2086.0227 +Loop time of 2.24854 on 1 procs for 78 steps with 24 atoms -381.8% CPU use with 1 MPI tasks x no OpenMP threads +100.0% CPU use with 1 MPI tasks x no OpenMP threads Minimization stats: Stopping criterion = energy tolerance Energy initial, next-to-last, final = - 0 -110.594257523513 -110.601518955916 - Force two-norm initial, final = 0 0.28249145 - Force max component initial, final = 0 0.096323097 + -104.955956572959 -110.594257523308 -110.601518955935 + Force two-norm initial, final = 19.119006 0.28249145 + Force max component initial, final = 11.775801 0.096323091 Final line search alpha, max atom move = 0 0 Iterations, force evaluations = 78 81 MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 2.5459e-05 | 2.5459e-05 | 2.5459e-05 | 0.0 | 0.00 -Bond | 6.18e-06 | 6.18e-06 | 6.18e-06 | 0.0 | 0.00 -Neigh | 2.0887e-05 | 2.0887e-05 | 2.0887e-05 | 0.0 | 0.00 -Comm | 8.5176e-05 | 8.5176e-05 | 8.5176e-05 | 0.0 | 0.00 -Output | 9.412e-05 | 9.412e-05 | 9.412e-05 | 0.0 | 0.00 -Modify | 2.7869 | 2.7869 | 2.7869 | 0.0 | 99.98 -Other | | 0.0002202 | | | 0.01 +Pair | 4.5748e-05 | 4.5748e-05 | 4.5748e-05 | 0.0 | 0.00 +Bond | 4.621e-06 | 4.621e-06 | 4.621e-06 | 0.0 | 0.00 +Neigh | 2.4358e-05 | 2.4358e-05 | 2.4358e-05 | 0.0 | 0.00 +Comm | 0.00012166 | 0.00012166 | 0.00012166 | 0.0 | 0.01 +Output | 0.00011285 | 0.00011285 | 0.00011285 | 0.0 | 0.01 +Modify | 2.2478 | 2.2478 | 2.2478 | 0.0 | 99.97 +Other | | 0.0004278 | | | 0.02 Nlocal: 24 ave 24 max 24 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/QUANTUM/LATTE/log.8Feb23.water.mpi.1 b/examples/QUANTUM/LATTE/log.24Feb23.water.mpi.1 similarity index 82% rename from examples/QUANTUM/LATTE/log.8Feb23.water.mpi.1 rename to examples/QUANTUM/LATTE/log.24Feb23.water.mpi.1 index 8712cd1da3..cd2a3d01c9 100644 --- a/examples/QUANTUM/LATTE/log.8Feb23.water.mpi.1 +++ b/examples/QUANTUM/LATTE/log.24Feb23.water.mpi.1 @@ -65,7 +65,7 @@ Neighbor list info ... pair build: half/bin/newton stencil: half/bin/3d bin: standard -Per MPI rank memory allocation (min/avg/max) = 6.005 | 6.005 | 6.005 Mbytes +Per MPI rank memory allocation (min/avg/max) = 6.007 | 6.007 | 6.007 Mbytes Step Temp PotEng TotEng Press 0 0 -104.95596 -104.95596 48235.444 10 336.53106 -105.96027 -104.95977 97996.851 @@ -78,21 +78,21 @@ Per MPI rank memory allocation (min/avg/max) = 6.005 | 6.005 | 6.005 Mbytes 80 999.80278 -107.93147 -104.95907 36700.735 90 998.77487 -107.9257 -104.95636 107233.54 100 1281.4438 -108.76963 -104.95992 49702.389 -Loop time of 3.33625 on 1 procs for 100 steps with 24 atoms +Loop time of 2.73762 on 1 procs for 100 steps with 24 atoms -Performance: 0.647 ns/day, 37.069 hours/ns, 29.974 timesteps/s, 719.370 atom-step/s +Performance: 0.789 ns/day, 30.418 hours/ns, 36.528 timesteps/s, 876.675 atom-step/s 100.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 6.741e-06 | 6.741e-06 | 6.741e-06 | 0.0 | 0.00 -Bond | 2.864e-06 | 2.864e-06 | 2.864e-06 | 0.0 | 0.00 -Neigh | 1.816e-05 | 1.816e-05 | 1.816e-05 | 0.0 | 0.00 -Comm | 7.144e-05 | 7.144e-05 | 7.144e-05 | 0.0 | 0.00 -Output | 5.3539e-05 | 5.3539e-05 | 5.3539e-05 | 0.0 | 0.00 -Modify | 3.3361 | 3.3361 | 3.3361 | 0.0 | 99.99 -Other | | 2.634e-05 | | | 0.00 +Pair | 7.088e-06 | 7.088e-06 | 7.088e-06 | 0.0 | 0.00 +Bond | 3.433e-06 | 3.433e-06 | 3.433e-06 | 0.0 | 0.00 +Neigh | 2.0689e-05 | 2.0689e-05 | 2.0689e-05 | 0.0 | 0.00 +Comm | 5.1883e-05 | 5.1883e-05 | 5.1883e-05 | 0.0 | 0.00 +Output | 7.6376e-05 | 7.6376e-05 | 7.6376e-05 | 0.0 | 0.00 +Modify | 2.7374 | 2.7374 | 2.7374 | 0.0 | 99.99 +Other | | 3.262e-05 | | | 0.00 Nlocal: 24 ave 24 max 24 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -106,4 +106,4 @@ Ave neighs/atom = 1.2916667 Ave special neighs/atom = 0 Neighbor list builds = 2 Dangerous builds = 0 -Total wall time: 0:00:03 +Total wall time: 0:00:02 diff --git a/examples/QUANTUM/LATTE/log.8Feb23.water.plugin.1 b/examples/QUANTUM/LATTE/log.24Feb23.water.plugin.1 similarity index 80% rename from examples/QUANTUM/LATTE/log.8Feb23.water.plugin.1 rename to examples/QUANTUM/LATTE/log.24Feb23.water.plugin.1 index 4e102d1b41..cc39f70dde 100644 --- a/examples/QUANTUM/LATTE/log.8Feb23.water.plugin.1 +++ b/examples/QUANTUM/LATTE/log.24Feb23.water.plugin.1 @@ -18,7 +18,7 @@ Finding 1-2 1-3 1-4 neighbors ... 0 = max # of 1-4 neighbors 1 = max # of special neighbors special bonds CPU = 0.000 seconds - read_data CPU = 0.002 seconds + read_data CPU = 0.001 seconds # replicate system if requested @@ -67,7 +67,7 @@ Neighbor list info ... pair build: half/bin/newton stencil: half/bin/3d bin: standard -Per MPI rank memory allocation (min/avg/max) = 6.005 | 6.005 | 6.005 Mbytes +Per MPI rank memory allocation (min/avg/max) = 6.007 | 6.007 | 6.007 Mbytes Step Temp PotEng TotEng Press 0 0 -104.95596 -104.95596 48235.444 10 336.53106 -105.96027 -104.95977 97996.851 @@ -80,21 +80,21 @@ Per MPI rank memory allocation (min/avg/max) = 6.005 | 6.005 | 6.005 Mbytes 80 999.80278 -107.93147 -104.95907 36700.735 90 998.77487 -107.9257 -104.95636 107233.54 100 1281.4438 -108.76963 -104.95992 49702.389 -Loop time of 3.97845 on 1 procs for 100 steps with 24 atoms +Loop time of 2.11666 on 1 procs for 100 steps with 24 atoms -Performance: 0.543 ns/day, 44.205 hours/ns, 25.135 timesteps/s, 603.251 atom-step/s -369.4% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 1.020 ns/day, 23.518 hours/ns, 47.244 timesteps/s, 1.134 katom-step/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 2.8286e-05 | 2.8286e-05 | 2.8286e-05 | 0.0 | 0.00 -Bond | 7.551e-06 | 7.551e-06 | 7.551e-06 | 0.0 | 0.00 -Neigh | 2.2321e-05 | 2.2321e-05 | 2.2321e-05 | 0.0 | 0.00 -Comm | 0.00013151 | 0.00013151 | 0.00013151 | 0.0 | 0.00 -Output | 0.00016294 | 0.00016294 | 0.00016294 | 0.0 | 0.00 -Modify | 3.9779 | 3.9779 | 3.9779 | 0.0 | 99.99 -Other | | 0.000173 | | | 0.00 +Pair | 2.4966e-05 | 2.4966e-05 | 2.4966e-05 | 0.0 | 0.00 +Bond | 6.266e-06 | 6.266e-06 | 6.266e-06 | 0.0 | 0.00 +Neigh | 1.9178e-05 | 1.9178e-05 | 1.9178e-05 | 0.0 | 0.00 +Comm | 9.3879e-05 | 9.3879e-05 | 9.3879e-05 | 0.0 | 0.00 +Output | 0.00012448 | 0.00012448 | 0.00012448 | 0.0 | 0.01 +Modify | 2.1163 | 2.1163 | 2.1163 | 0.0 | 99.98 +Other | | 0.0001056 | | | 0.00 Nlocal: 24 ave 24 max 24 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -108,4 +108,4 @@ Ave neighs/atom = 1.2916667 Ave special neighs/atom = 0 Neighbor list builds = 2 Dangerous builds = 0 -Total wall time: 0:00:04 +Total wall time: 0:00:02 diff --git a/examples/QUANTUM/NWChem/README b/examples/QUANTUM/NWChem/README index 9fbe229147..24b51ef803 100644 --- a/examples/QUANTUM/NWChem/README +++ b/examples/QUANTUM/NWChem/README @@ -1,7 +1,7 @@ # Test runs with coupling of LAMMPS and NWChem PWDFT -Step 0: What NWChem currently supports -Step 1: build LAMMPS +Step 0: What NWChem/PWDF currently supports +Step 1: Build LAMMPS Step 2: Download/build MDI code coupling package Step 3: Download/build NWChem PWDFT Step 4: Perform test runs in any of 3 modes @@ -9,14 +9,16 @@ Step 4: Perform test runs in any of 3 modes --------------------------------- --------------------------------- -Step 0: What NWChem currently supports +Step 0: What NWChem/PWDFT currently supports -NWChem can be used with fix mdi/qm to perform QM calculations of an +PWDFT can be used with fix mdi/qm to perform QM calculations of an entire system and with fix mdi/qmmm for QMMM simulations. For QMMM it can use the potential mode of fix mdi/qmmm, but not the direct mode. -NWChem can calculate a QM energy and QM forces on each atom, but it +PWDFT can calculate a QM energy and QM forces on each atom, but it cannot compute a QM stress tensor. +PWDFT supports MPI parallelism, but not threading parallelism. + --------------------------------- --------------------------------- diff --git a/examples/QUANTUM/NWChem/in.series b/examples/QUANTUM/NWChem/in.series index 64fb2992c6..f9f24863eb 100644 --- a/examples/QUANTUM/NWChem/in.series +++ b/examples/QUANTUM/NWChem/in.series @@ -1,8 +1,9 @@ # multiple W conformations with NWChem -# w.bcc_222 w.fcc_001 w.sc_001 +# configs that don't currently work well +# w.bcc_222 w.fcc_001 -variable datafile index w.bcc w.diamond +variable datafile index w.bcc w.diamond w.sc_001 variable p equal extract_setting(world_size) mdi connect diff --git a/examples/QUANTUM/NWChem/in.series.plugin b/examples/QUANTUM/NWChem/in.series.plugin index 323c2a0749..e37d5d6705 100644 --- a/examples/QUANTUM/NWChem/in.series.plugin +++ b/examples/QUANTUM/NWChem/in.series.plugin @@ -1,9 +1,9 @@ # multiple W conformations with NWChem -#w.bcc_222 -# w.fcc_001 +# configs that don't currently work well +# w.bcc_222 w.fcc_001 -variable datafile index w.bcc w.diamond #w.sc_001 +variable datafile index w.bcc w.diamond w.sc_001 variable p equal extract_setting(world_size) label loop diff --git a/examples/QUANTUM/NWChem/log.8Feb23.series.mpi.1 b/examples/QUANTUM/NWChem/log.24Feb23.series.mpi.1 similarity index 74% rename from examples/QUANTUM/NWChem/log.8Feb23.series.mpi.1 rename to examples/QUANTUM/NWChem/log.24Feb23.series.mpi.1 index b5db3f12c6..785b8c452b 100644 --- a/examples/QUANTUM/NWChem/log.8Feb23.series.mpi.1 +++ b/examples/QUANTUM/NWChem/log.24Feb23.series.mpi.1 @@ -1,10 +1,10 @@ LAMMPS (22 Dec 2022) # multiple W conformations with NWChem -# NOTE: these files still need work with PWDFT -# w.bcc_222, w.fcc_001, w.sc_001 +# configs that don't currently work well +# w.bcc_222 w.fcc_001 -variable datafile index w.bcc w.diamond +variable datafile index w.bcc w.diamond w.sc_001 variable p equal extract_setting(world_size) mdi connect diff --git a/examples/QUANTUM/NWChem/log.8Feb23.series.plugin.1 b/examples/QUANTUM/NWChem/log.24Feb23.series.plugin.1 similarity index 74% rename from examples/QUANTUM/NWChem/log.8Feb23.series.plugin.1 rename to examples/QUANTUM/NWChem/log.24Feb23.series.plugin.1 index d643c985de..39a2d57d41 100644 --- a/examples/QUANTUM/NWChem/log.8Feb23.series.plugin.1 +++ b/examples/QUANTUM/NWChem/log.24Feb23.series.plugin.1 @@ -1,10 +1,10 @@ LAMMPS (22 Dec 2022) # multiple W conformations with NWChem -# NOTE: these files still need work with PWDFT -# w.bcc_222, w.fcc_001, w.sc_001 +# configs that don't currently work well +# w.bcc_222 w.fcc_001 -variable datafile index w.bcc w.diamond +variable datafile index w.bcc w.diamond w.sc_001 variable p equal extract_setting(world_size) label loop diff --git a/examples/QUANTUM/NWChem/log.8Feb23.series.plugin.w.bcc.1 b/examples/QUANTUM/NWChem/log.24Feb23.series.plugin.w.bcc.1 similarity index 89% rename from examples/QUANTUM/NWChem/log.8Feb23.series.plugin.w.bcc.1 rename to examples/QUANTUM/NWChem/log.24Feb23.series.plugin.w.bcc.1 index 0e8b76f345..0fc62eec7b 100644 --- a/examples/QUANTUM/NWChem/log.8Feb23.series.plugin.w.bcc.1 +++ b/examples/QUANTUM/NWChem/log.24Feb23.series.plugin.w.bcc.1 @@ -24,10 +24,10 @@ WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) Per MPI rank memory allocation (min/avg/max) = 2.301 | 2.301 | 2.301 Mbytes Step Temp E_pair E_mol TotEng Press - 0 0 0 0 -577.92971 2.3613806e-305 -Loop time of 8.46e-07 on 1 procs for 0 steps with 2 atoms + 0 0 0 0 -548.43494 0 +Loop time of 5.76e-07 on 1 procs for 0 steps with 2 atoms -118.2% CPU use with 1 MPI tasks x no OpenMP threads +0.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -37,7 +37,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 8.46e-07 | | |100.00 +Other | | 5.76e-07 | | |100.00 Nlocal: 2 ave 2 max 2 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/QUANTUM/NWChem/log.8Feb23.series.plugin.w.diamond.1 b/examples/QUANTUM/NWChem/log.24Feb23.series.plugin.w.diamond.1 similarity index 79% rename from examples/QUANTUM/NWChem/log.8Feb23.series.plugin.w.diamond.1 rename to examples/QUANTUM/NWChem/log.24Feb23.series.plugin.w.diamond.1 index 4604c76cd4..e3354a122f 100644 --- a/examples/QUANTUM/NWChem/log.8Feb23.series.plugin.w.diamond.1 +++ b/examples/QUANTUM/NWChem/log.24Feb23.series.plugin.w.diamond.1 @@ -24,10 +24,10 @@ WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) Per MPI rank memory allocation (min/avg/max) = 2.301 | 2.301 | 2.301 Mbytes Step Temp E_pair E_mol TotEng Press - 0 0 0 0 -1052.9159 2.3613806e-305 -Loop time of 5.96e-07 on 1 procs for 0 steps with 4 atoms + 0 0 0 0 -984.24541 0 +Loop time of 5.74e-07 on 1 procs for 0 steps with 4 atoms -167.8% CPU use with 1 MPI tasks x no OpenMP threads +174.2% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -37,7 +37,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 5.96e-07 | | |100.00 +Other | | 5.74e-07 | | |100.00 Nlocal: 4 ave 4 max 4 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -56,4 +56,12 @@ Dangerous builds = 0 next datafile jump SELF loop -Total wall time: 0:00:00 + + units metal + atom_style atomic + atom_modify map yes + comm_modify cutoff 2.0 + + log log.series.plugin.${datafile}.$p + log log.series.plugin.w.sc_001.$p + log log.series.plugin.w.sc_001.1 diff --git a/examples/QUANTUM/NWChem/log.24Feb23.series.plugin.w.sc_001.1 b/examples/QUANTUM/NWChem/log.24Feb23.series.plugin.w.sc_001.1 new file mode 100644 index 0000000000..b7a0d7a3a5 --- /dev/null +++ b/examples/QUANTUM/NWChem/log.24Feb23.series.plugin.w.sc_001.1 @@ -0,0 +1,59 @@ + + read_data data.${datafile} + read_data data.w.sc_001 +Reading data file ... + orthogonal box = (0 0 0) to (2.5123846 2.5123846 50.099077) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 9 atoms + read_data CPU = 0.000 seconds + + mass 1 183.84 + + neighbor 1.0 bin + neigh_modify delay 0 every 1 check yes + + fix 1 all mdi/qm elements W + fix_modify 1 energy yes + + #dump 1 all custom 1 dump.series.plugin.${datafile} id x y z fx fy fz + + mdi plugin nwchem_mdi mdi "-role ENGINE -name LATTE -method LINK" extra "template.w.nw w.nw log.series.pwdft.plugin.$p" command "run 0" +run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) +Per MPI rank memory allocation (min/avg/max) = 2.302 | 2.302 | 2.302 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0 0 0 -2524.2082 0 +Loop time of 5.65e-07 on 1 procs for 0 steps with 9 atoms + +177.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 5.65e-07 | | |100.00 + +Nlocal: 9 ave 9 max 9 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 27 ave 27 max 27 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + clear + +next datafile + +jump SELF loop +Total wall time: 0:00:21 diff --git a/examples/QUANTUM/NWChem/log.24Feb23.series.pwdft.mpi.1 b/examples/QUANTUM/NWChem/log.24Feb23.series.pwdft.mpi.1 new file mode 100644 index 0000000000..3d6de3c0dd --- /dev/null +++ b/examples/QUANTUM/NWChem/log.24Feb23.series.pwdft.mpi.1 @@ -0,0 +1,4116 @@ + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:17:08 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + generating 1d pseudopotential file: ./W.psp + + writing formatted psp filename: ./W.vpp + generating random psi from scratch + Warning - Gram-Schmidt being performed on psi2 + - exact norm = 12 norm=12.2903 corrected norm=12 (error=0.290271) + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.532 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 2 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.99088 2.99088 2.99088 ) - atomic mass = 183.951 + G.C. ( 1.49544 1.49544 1.49544 ) + C.O.M. ( 1.49544 1.49544 1.49544 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 6 ( 6 per task) down = 6 ( 6 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.982 0.000 0.000 > + a2 = < 0.000 5.982 0.000 > + a3 = < 0.000 0.000 5.982 > + reciprocal: b1 = < 1.050 0.000 0.000 > + b2 = < 0.000 1.050 0.000 > + b3 = < 0.000 0.000 1.050 > + lattice: a = 5.982 b = 5.982 c = 5.982 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 10.000 fft = 10 x 10 x 10 ( 171 waves 171 per task) + wavefnc cutoff = 5.000 fft = 10 x 10 x 10 ( 62 waves 62 per task) + + Ewald parameters: + energy cutoff = 10.000 fft = 10 x 10 x 10 ( 171 waves 171 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 3.71078182) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:17:09 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -1.674215046115e+01 -8.251196e-02 9.196301e-04 + 20 -1.749771236403e+01 -1.002147e-01 1.472766e-03 + 30 -1.823150320727e+01 -3.534576e-02 3.524284e-04 + 40 -1.846047982908e+01 -2.204551e-02 2.446432e-04 + 50 -1.868365376681e+01 -1.854154e-02 2.029002e-04 + 60 -1.881117950998e+01 -4.287319e-04 1.464725e-05 + 70 -1.881133499557e+01 -6.036766e-08 1.955112e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:17:09 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 6.00000 down= 6.00000 (real space) + + + total energy : -1.8811334996e+01 ( -9.40567e+00 /ion) + total orbital energy: 6.3205159164e+00 ( 1.05342e+00 /electron) + hartree energy : 1.5018043194e-01 ( 2.50301e-02 /electron) + exc-corr energy : -9.2446725740e+00 ( -1.54078e+00 /electron) + ion-ion energy : -2.1902017722e+01 ( -1.09510e+01 /ion) + + kinetic (planewave) : 1.2028654702e+01 ( 2.00478e+00 /electron) + V_local (planewave) : 9.8433605672e+00 ( 1.64056e+00 /electron) + V_nl (planewave) : -9.6868404003e+00 ( -1.61447e+00 /electron) + V_Coul (planewave) : 3.0036086388e-01 ( 5.00601e-02 /electron) + V_xc (planewave) : -6.1650198159e+00 ( -1.02750e+00 /electron) + Viral Coefficient : -4.7454506982e-01 + + orbital energy: + 6.7570236e-01 ( 18.387eV) + 6.7570093e-01 ( 18.387eV) + 6.7569918e-01 ( 18.387eV) + 4.5449701e-01 ( 12.368eV) + 4.5449681e-01 ( 12.368eV) + 2.2416167e-01 ( 6.100eV) + +== Center of Charge == + +spin up = ( 0.0000 -0.0000 0.0000 ) +spin down = ( 0.0000 -0.0000 0.0000 ) + total = ( 0.0000 -0.0000 0.0000 ) +ionic = ( 1.4954 1.4954 1.4954 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 17.9450 17.9453 17.9452 ) au +|mu| = 31.0820 au ( 78.9979 Debye ) + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 4.221e-01 + main loop : 1.112e-01 + epilogue : 1.810e-04 + total : 5.335e-01 + cputime/step: 3.958e-04 ( 281 evaluations, 69 linesearches) + + Time spent doing total step percent + total time 5.354079e-01 1.905366e-03 100.00% + total FFT time 2.252566e-02 8.016248e-05 4.21% + lagrange multipliers 2.499160e-04 8.893808e-07 0.05% + local potentials 3.723000e-06 1.324911e-08 0.00% + non-local potentials 1.662679e-03 5.917007e-06 0.31% + ffm_dgemm 5.448580e-04 1.938996e-06 0.10% + fmf_dgemm 7.621260e-04 2.712192e-06 0.14% + m_diagonalize 2.418520e-04 8.606833e-07 0.05% + mmm_multiply 4.825200e-05 1.717153e-07 0.01% + SCVtrans 5.023800e-05 1.787829e-07 0.01% + + >>> job completed at Fri Feb 24 15:17:09 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:17:09 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + psi grids are being converted: + -----------------------------: + converting .... psi:1 spin:1 + converting .... psi:2 spin:1 + converting .... psi:3 spin:1 + converting .... psi:4 spin:1 + converting .... psi:5 spin:1 + converting .... psi:6 spin:1 + + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.536 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 2 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.99088 2.99088 2.99088 ) - atomic mass = 183.951 + G.C. ( 1.49544 1.49544 1.49544 ) + C.O.M. ( 1.49544 1.49544 1.49544 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 6 ( 6 per task) down = 6 ( 6 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.982 0.000 0.000 > + a2 = < 0.000 5.982 0.000 > + a3 = < 0.000 0.000 5.982 > + reciprocal: b1 = < 1.050 0.000 0.000 > + b2 = < 0.000 1.050 0.000 > + b3 = < 0.000 0.000 1.050 > + lattice: a = 5.982 b = 5.982 c = 5.982 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 20.000 fft = 14 x 14 x 14 ( 463 waves 463 per task) + wavefnc cutoff = 10.000 fft = 14 x 14 x 14 ( 171 waves 171 per task) + + Ewald parameters: + energy cutoff = 20.000 fft = 14 x 14 x 14 ( 463 waves 463 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 3.71078182) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:17:09 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -2.015461227870e+01 -1.152391e-06 1.541098e-08 + 20 -2.015461250697e+01 -6.884596e-08 1.359336e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:17:09 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 6.00000 down= 6.00000 (real space) + + + total energy : -2.0154612507e+01 ( -1.00773e+01 /ion) + total orbital energy: 5.1934744194e+00 ( 8.65579e-01 /electron) + hartree energy : 2.9548501467e-01 ( 4.92475e-02 /electron) + exc-corr energy : -9.4995084169e+00 ( -1.58325e+00 /electron) + ion-ion energy : -2.1902017722e+01 ( -1.09510e+01 /ion) + + kinetic (planewave) : 1.4375731298e+01 ( 2.39596e+00 /electron) + V_local (planewave) : 1.1537789121e+01 ( 1.92296e+00 /electron) + V_nl (planewave) : -1.4962091802e+01 ( -2.49368e+00 /electron) + V_Coul (planewave) : 5.9097002933e-01 ( 9.84950e-02 /electron) + V_xc (planewave) : -6.3489242272e+00 ( -1.05815e+00 /electron) + Viral Coefficient : -6.3873320169e-01 + + orbital energy: + 5.4868319e-01 ( 14.931eV) + 5.4868125e-01 ( 14.930eV) + 5.4867927e-01 ( 14.930eV) + 3.7006985e-01 ( 10.070eV) + 3.7006983e-01 ( 10.070eV) + 2.1055382e-01 ( 5.730eV) + +== Center of Charge == + +spin up = ( 0.0000 -0.0000 0.0000 ) +spin down = ( 0.0000 -0.0000 0.0000 ) + total = ( 0.0000 -0.0000 0.0000 ) +ionic = ( 1.4954 1.4954 1.4954 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 17.9452 17.9453 17.9453 ) au +|mu| = 31.0821 au ( 78.9982 Debye ) + + + Ion Forces (au): + 1 W ( 0.00000 -0.00000 0.00000 ) + 2 W ( 0.00000 -0.00000 0.00000 ) + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 3.517e-02 + main loop : 6.438e-02 + epilogue : 7.300e-04 + total : 1.003e-01 + cputime/step: 1.215e-03 ( 53 evaluations, 12 linesearches) + + Time spent doing total step percent + total time 6.359576e-01 1.199920e-02 100.00% + total FFT time 4.368675e-02 8.242784e-04 6.87% + lagrange multipliers 3.567910e-04 6.731906e-06 0.06% + local potentials 1.288300e-05 2.430755e-07 0.00% + non-local potentials 2.660545e-03 5.019896e-05 0.42% + ffm_dgemm 7.837750e-04 1.478821e-05 0.12% + fmf_dgemm 1.127194e-03 2.126781e-05 0.18% + m_diagonalize 3.013810e-04 5.686434e-06 0.05% + mmm_multiply 5.726400e-05 1.080453e-06 0.01% + SCVtrans 5.970600e-05 1.126528e-06 0.01% + + >>> job completed at Fri Feb 24 15:17:09 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:17:09 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + generating random psi from scratch + Warning - Gram-Schmidt being performed on psi2 + - exact norm = 24 norm=24.6349 corrected norm=24 (error=0.634911) + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.591 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 4 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.66457 0.00000 1.88413 ) - atomic mass = 183.951 + 3 W ( 2.66457 2.66457 3.76827 ) - atomic mass = 183.951 + 4 W ( 0.00000 2.66457 5.65240 ) - atomic mass = 183.951 + G.C. ( 1.33228 1.33228 2.82620 ) + C.O.M. ( 1.33228 1.33228 2.82620 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 12 ( 12 per task) down = 12 ( 12 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.329 0.000 0.000 > + a2 = < 0.000 5.329 0.000 > + a3 = < 0.000 0.000 7.537 > + reciprocal: b1 = < 1.179 0.000 0.000 > + b2 = < 0.000 1.179 0.000 > + b3 = < 0.000 0.000 0.834 > + lattice: a = 5.329 b = 5.329 c = 7.537 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 10.000 fft = 10 x 10 x 12 ( 160 waves 160 per task) + wavefnc cutoff = 5.000 fft = 10 x 10 x 12 ( 62 waves 62 per task) + + Ewald parameters: + energy cutoff = 10.000 fft = 10 x 10 x 12 ( 160 waves 160 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz = 1.68382487 (alpha = 2.71431215 rs = 3.71078182) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:17:09 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -6.055830132329e+00 -3.950403e-02 1.828100e-06 + 20 -6.385809714715e+00 -3.894785e-02 1.758309e-06 + 30 -6.711168070530e+00 -3.840461e-02 1.691928e-06 + 40 -7.032007984384e+00 -3.787299e-02 1.628803e-06 + 50 -7.348421375629e+00 -3.735174e-02 1.568781e-06 + 60 -7.660489824954e+00 -3.683964e-02 1.511713e-06 + 70 -7.968285124894e+00 -3.633557e-02 1.457453e-06 + 80 -8.271869852255e+00 -3.583846e-02 1.405859e-06 + 90 -8.571297960274e+00 -3.534732e-02 1.356792e-06 + 100 -8.866615388055e+00 -3.486124e-02 1.310118e-06 + 110 -9.157860684583e+00 -3.437936e-02 1.265708e-06 + 120 -9.445065644289e+00 -3.390092e-02 1.223435e-06 + 130 -9.728255950944e+00 -3.342523e-02 1.183180e-06 + 140 -1.000745182635e+01 -3.295167e-02 1.144828e-06 + 150 -1.028266868013e+01 -3.247971e-02 1.108268e-06 + 160 -1.055391775670e+01 -3.200889e-02 1.073396e-06 + 170 -1.082120677550e+01 -3.153881e-02 1.040111e-06 + 180 -1.108454056030e+01 -3.106918e-02 1.008319e-06 + 190 -1.134392165365e+01 -3.059975e-02 9.779312e-07 + 200 -1.159935091250e+01 -3.013035e-02 9.488616e-07 + 210 -1.185082808097e+01 -2.966088e-02 9.210311e-07 + 220 -2.307658315652e+01 -2.660051e+00 3.534559e-02 + 230 -3.129825644760e+01 -8.384921e-02 8.831546e-04 + 240 -3.157478329913e+01 -8.501628e-03 7.365980e-05 + 250 -3.162757137408e+01 -3.007578e-03 8.118567e-04 + 260 -3.166852145652e+01 -6.760182e-03 2.472568e-03 + 270 -3.176521423332e+01 -6.489845e-03 3.635301e-04 + 280 -3.179220352327e+01 -2.631131e-05 6.062148e-07 + 290 -3.179228652997e+01 -8.831259e-07 3.208422e-08 + 300 -3.179228729957e+01 -5.132388e-08 1.166168e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:17:11 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 12.00000 down= 12.00000 (real space) + + + total energy : -3.1792287300e+01 ( -7.94807e+00 /ion) + total orbital energy: 2.6841552423e+01 ( 2.23680e+00 /electron) + hartree energy : 8.0875740830e-01 ( 6.73965e-02 /electron) + exc-corr energy : -2.2041168198e+01 ( -1.83676e+00 /electron) + ion-ion energy : -5.1462581522e+01 ( -1.28656e+01 /ion) + + kinetic (planewave) : 3.6677604642e+01 ( 3.05647e+00 /electron) + V_local (planewave) : 3.8319838624e+01 ( 3.19332e+00 /electron) + V_nl (planewave) : -3.4094738254e+01 ( -2.84123e+00 /electron) + V_Coul (planewave) : 1.6175148166e+00 ( 1.34793e-01 /electron) + V_xc (planewave) : -1.5678667407e+01 ( -1.30656e+00 /electron) + Viral Coefficient : -2.6817597046e-01 + + orbital energy: + 1.4446153e+00 ( 39.310eV) + 1.4446141e+00 ( 39.310eV) + 1.2075227e+00 ( 32.859eV) + 1.2075208e+00 ( 32.859eV) + 1.2040031e+00 ( 32.763eV) + 1.1965068e+00 ( 32.559eV) + 1.1964933e+00 ( 32.558eV) + 1.0077700e+00 ( 27.423eV) + 9.8716725e-01 ( 26.862eV) + 8.7232872e-01 ( 23.737eV) + 8.7232366e-01 ( 23.737eV) + 7.7991047e-01 ( 21.223eV) + +== Center of Charge == + +spin up = ( -0.0000 0.0000 0.0000 ) +spin down = ( -0.0000 0.0000 0.0000 ) + total = ( -0.0000 0.0000 0.0000 ) +ionic = ( 1.3323 1.3323 2.8262 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 31.9749 31.9747 67.8288 ) au +|mu| = 81.5200 au ( 207.1913 Debye ) + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 3.353e-02 + main loop : 1.843e+00 + epilogue : 2.252e-03 + total : 1.879e+00 + cputime/step: 1.145e-03 ( 1609 evaluations, 294 linesearches) + + Time spent doing total step percent + total time 2.516344e+00 1.563918e-03 100.00% + total FFT time 2.118846e-01 1.316872e-04 8.42% + lagrange multipliers 4.042236e-03 2.512266e-06 0.16% + local potentials 1.690100e-05 1.050404e-08 0.00% + non-local potentials 3.378008e-02 2.099445e-05 1.34% + ffm_dgemm 1.149993e-02 7.147251e-06 0.46% + fmf_dgemm 1.886915e-02 1.172726e-05 0.75% + m_diagonalize 4.742182e-03 2.947285e-06 0.19% + mmm_multiply 1.167435e-03 7.255656e-07 0.05% + SCVtrans 7.065190e-04 4.391044e-07 0.03% + + >>> job completed at Fri Feb 24 15:17:11 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:17:11 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + psi grids are being converted: + -----------------------------: + converting .... psi:1 spin:1 + converting .... psi:2 spin:1 + converting .... psi:3 spin:1 + converting .... psi:4 spin:1 + converting .... psi:5 spin:1 + converting .... psi:6 spin:1 + converting .... psi:7 spin:1 + converting .... psi:8 spin:1 + converting .... psi:9 spin:1 + converting .... psi:10 spin:1 + converting .... psi:11 spin:1 + converting .... psi:12 spin:1 + + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.595 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 4 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.66457 0.00000 1.88413 ) - atomic mass = 183.951 + 3 W ( 2.66457 2.66457 3.76827 ) - atomic mass = 183.951 + 4 W ( 0.00000 2.66457 5.65240 ) - atomic mass = 183.951 + G.C. ( 1.33228 1.33228 2.82620 ) + C.O.M. ( 1.33228 1.33228 2.82620 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 12 ( 12 per task) down = 12 ( 12 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.329 0.000 0.000 > + a2 = < 0.000 5.329 0.000 > + a3 = < 0.000 0.000 7.537 > + reciprocal: b1 = < 1.179 0.000 0.000 > + b2 = < 0.000 1.179 0.000 > + b3 = < 0.000 0.000 0.834 > + lattice: a = 5.329 b = 5.329 c = 7.537 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 20.000 fft = 12 x 12 x 16 ( 460 waves 460 per task) + wavefnc cutoff = 10.000 fft = 12 x 12 x 16 ( 160 waves 160 per task) + + Ewald parameters: + energy cutoff = 20.000 fft = 12 x 12 x 16 ( 460 waves 460 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz = 1.68382487 (alpha = 2.71431215 rs = 3.71078182) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:17:11 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -3.617033061710e+01 -3.447767e-05 2.051315e-07 + 20 -3.617035193509e+01 -9.144932e-08 2.233123e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:17:11 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 12.00000 down= 12.00000 (real space) + + + total energy : -3.6170351935e+01 ( -9.04259e+00 /ion) + total orbital energy: 2.3048851372e+01 ( 1.92074e+00 /electron) + hartree energy : 1.2466960309e+00 ( 1.03891e-01 /electron) + exc-corr energy : -2.2474177760e+01 ( -1.87285e+00 /electron) + ion-ion energy : -5.1462581522e+01 ( -1.28656e+01 /ion) + + kinetic (planewave) : 4.2172537419e+01 ( 3.51438e+00 /electron) + V_local (planewave) : 4.2389901334e+01 ( 3.53249e+00 /electron) + V_nl (planewave) : -4.8042727436e+01 ( -4.00356e+00 /electron) + V_Coul (planewave) : 2.4933920618e+00 ( 2.07783e-01 /electron) + V_xc (planewave) : -1.5964252007e+01 ( -1.33035e+00 /electron) + Viral Coefficient : -4.5346301687e-01 + + orbital energy: + 1.2694201e+00 ( 34.543eV) + 1.2694200e+00 ( 34.543eV) + 1.0542936e+00 ( 28.689eV) + 1.0542930e+00 ( 28.689eV) + 1.0521347e+00 ( 28.630eV) + 1.0163764e+00 ( 27.657eV) + 1.0163729e+00 ( 27.657eV) + 8.0982926e-01 ( 22.037eV) + 7.9408393e-01 ( 21.608eV) + 7.3283710e-01 ( 19.942eV) + 7.2768246e-01 ( 19.801eV) + 7.2768240e-01 ( 19.801eV) + +== Center of Charge == + +spin up = ( -0.0000 0.0000 -0.0000 ) +spin down = ( -0.0000 0.0000 -0.0000 ) + total = ( -0.0000 0.0000 -0.0000 ) +ionic = ( 1.3323 1.3323 2.8262 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 31.9748 31.9748 67.8288 ) au +|mu| = 81.5201 au ( 207.1914 Debye ) + + + Ion Forces (au): + 1 W ( -0.00006 0.00001 0.00000 ) + 2 W ( -0.00006 0.00001 -0.00000 ) + 3 W ( 0.00005 -0.00001 0.00000 ) + 4 W ( 0.00006 -0.00001 -0.00000 ) + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 2.092e-01 + main loop : 1.621e-01 + epilogue : 2.184e-03 + total : 3.735e-01 + cputime/step: 2.457e-03 ( 66 evaluations, 16 linesearches) + + Time spent doing total step percent + total time 2.891602e+00 4.381216e-02 100.00% + total FFT time 2.323204e-01 3.520005e-03 8.03% + lagrange multipliers 4.868200e-03 7.376061e-05 0.17% + local potentials 4.891700e-05 7.411667e-07 0.00% + non-local potentials 3.949778e-02 5.984511e-04 1.37% + ffm_dgemm 1.337231e-02 2.026108e-04 0.46% + fmf_dgemm 2.186952e-02 3.313564e-04 0.76% + m_diagonalize 5.134010e-03 7.778803e-05 0.18% + mmm_multiply 1.244951e-03 1.886289e-05 0.04% + SCVtrans 7.485450e-04 1.134159e-05 0.03% + + >>> job completed at Fri Feb 24 15:17:11 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:17:11 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + generating random psi from scratch + Warning - Gram-Schmidt being performed on psi2 + - exact norm = 108 norm=113.313 corrected norm=108 (error=5.31316) + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.473 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 18 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 28.34589 ) - atomic mass = 183.951 + 2 W ( 12.68921 2.44204 30.07267 ) - atomic mass = 183.951 + 3 W ( 8.45947 4.88408 31.79946 ) - atomic mass = 183.951 + 4 W ( 21.14868 7.32612 33.52624 ) - atomic mass = 183.951 + 5 W ( 12.68921 2.44204 35.25302 ) - atomic mass = 183.951 + 6 W ( 8.45947 4.88408 36.97980 ) - atomic mass = 183.951 + 7 W ( 4.22974 7.32612 38.70659 ) - atomic mass = 183.951 + 8 W ( 12.68921 2.44204 40.43337 ) - atomic mass = 183.951 + 9 W ( 8.45947 4.88408 42.16015 ) - atomic mass = 183.951 + 10 W ( 4.22974 7.32612 43.88693 ) - atomic mass = 183.951 + 11 W ( 12.68921 2.44204 45.61372 ) - atomic mass = 183.951 + 12 W ( 8.45947 4.88408 47.34050 ) - atomic mass = 183.951 + 13 W ( 4.22974 7.32612 49.06728 ) - atomic mass = 183.951 + 14 W ( 12.68921 2.44204 50.79406 ) - atomic mass = 183.951 + 15 W ( 8.45947 4.88408 52.52085 ) - atomic mass = 183.951 + 16 W ( 4.22974 7.32612 54.24763 ) - atomic mass = 183.951 + 17 W ( 12.68921 2.44204 55.97441 ) - atomic mass = 183.951 + 18 W ( 8.45947 4.88408 57.70119 ) - atomic mass = 183.951 + G.C. ( 9.16443 4.47707 43.02354 ) + C.O.M. ( 9.16443 4.47707 43.02354 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 54 ( 54 per task) down = 54 ( 54 per task) + + supercell: + volume = 10665.55 + lattice: a1 = < 16.919 0.000 0.000 > + a2 = < 4.230 7.326 0.000 > + a3 = < 0.000 0.000 86.047 > + reciprocal: b1 = < 0.371 -0.214 0.000 > + b2 = < 0.000 0.858 0.000 > + b3 = < 0.000 0.000 0.073 > + lattice: a = 16.919 b = 8.459 c = 86.047 + alpha = 90.000 beta = 90.000 gamma = 60.000 + density cutoff = 10.000 fft = 24 x 12 x 126 ( 7980 waves 7980 per task) + wavefnc cutoff = 5.000 fft = 24 x 12 x 126 ( 2885 waves 2885 per task) + + Ewald parameters: + energy cutoff = 10.000 fft = 24 x 12 x 126 ( 7980 waves 7980 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz = -5.39277004 (alpha = -8.69310192 rs = 13.65520583) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:17:12 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -1.257495359341e+02 -3.464359e+00 1.247211e-02 + 20 -1.447882093226e+02 -1.221705e+00 4.803697e-03 + 30 -1.529288323360e+02 -5.695469e-01 2.365631e-03 + 40 -1.568708672638e+02 -2.882918e-01 1.244294e-03 + 50 -1.590399861897e+02 -1.748691e-01 7.706837e-04 + 60 -1.604951580834e+02 -1.263110e-01 5.585834e-04 + 70 -1.615709521550e+02 -9.309404e-02 4.070485e-04 + 80 -1.623452921480e+02 -6.566580e-02 2.838812e-04 + 90 -1.628901962570e+02 -4.649726e-02 2.001141e-04 + 100 -1.632840522410e+02 -3.427733e-02 1.475104e-04 + 110 -1.635803584250e+02 -2.618586e-02 1.130174e-04 + 120 -1.638093987980e+02 -2.040919e-02 8.862512e-05 + 130 -1.639890655720e+02 -1.609396e-02 7.052487e-05 + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:18:12 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + generating random psi from scratch + Warning - Gram-Schmidt being performed on psi2 + - exact norm = 12 norm=12.2903 corrected norm=12 (error=0.290271) + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.532 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 2 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.99088 2.99088 2.99088 ) - atomic mass = 183.951 + G.C. ( 1.49544 1.49544 1.49544 ) + C.O.M. ( 1.49544 1.49544 1.49544 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 6 ( 6 per task) down = 6 ( 6 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.982 0.000 0.000 > + a2 = < 0.000 5.982 0.000 > + a3 = < 0.000 0.000 5.982 > + reciprocal: b1 = < 1.050 0.000 0.000 > + b2 = < 0.000 1.050 0.000 > + b3 = < 0.000 0.000 1.050 > + lattice: a = 5.982 b = 5.982 c = 5.982 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 10.000 fft = 10 x 10 x 10 ( 171 waves 171 per task) + wavefnc cutoff = 5.000 fft = 10 x 10 x 10 ( 62 waves 62 per task) + + Ewald parameters: + energy cutoff = 10.000 fft = 10 x 10 x 10 ( 171 waves 171 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 3.71078182) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:18:12 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -1.674215046115e+01 -8.251196e-02 9.196301e-04 + 20 -1.749771236403e+01 -1.002147e-01 1.472766e-03 + 30 -1.823150320727e+01 -3.534576e-02 3.524284e-04 + 40 -1.846047982908e+01 -2.204551e-02 2.446432e-04 + 50 -1.868365376681e+01 -1.854154e-02 2.029002e-04 + 60 -1.881117950998e+01 -4.287319e-04 1.464725e-05 + 70 -1.881133499557e+01 -6.036766e-08 1.955112e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:18:12 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 6.00000 down= 6.00000 (real space) + + + total energy : -1.8811334996e+01 ( -9.40567e+00 /ion) + total orbital energy: 6.3205159164e+00 ( 1.05342e+00 /electron) + hartree energy : 1.5018043194e-01 ( 2.50301e-02 /electron) + exc-corr energy : -9.2446725740e+00 ( -1.54078e+00 /electron) + ion-ion energy : -2.1902017722e+01 ( -1.09510e+01 /ion) + + kinetic (planewave) : 1.2028654702e+01 ( 2.00478e+00 /electron) + V_local (planewave) : 9.8433605672e+00 ( 1.64056e+00 /electron) + V_nl (planewave) : -9.6868404003e+00 ( -1.61447e+00 /electron) + V_Coul (planewave) : 3.0036086388e-01 ( 5.00601e-02 /electron) + V_xc (planewave) : -6.1650198159e+00 ( -1.02750e+00 /electron) + Viral Coefficient : -4.7454506982e-01 + + orbital energy: + 6.7570236e-01 ( 18.387eV) + 6.7570093e-01 ( 18.387eV) + 6.7569918e-01 ( 18.387eV) + 4.5449701e-01 ( 12.368eV) + 4.5449681e-01 ( 12.368eV) + 2.2416167e-01 ( 6.100eV) + +== Center of Charge == + +spin up = ( 0.0000 -0.0000 0.0000 ) +spin down = ( 0.0000 -0.0000 0.0000 ) + total = ( 0.0000 -0.0000 0.0000 ) +ionic = ( 1.4954 1.4954 1.4954 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 17.9450 17.9453 17.9452 ) au +|mu| = 31.0820 au ( 78.9979 Debye ) + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 2.609e-02 + main loop : 1.104e-01 + epilogue : 1.730e-04 + total : 1.367e-01 + cputime/step: 3.930e-04 ( 281 evaluations, 69 linesearches) + + Time spent doing total step percent + total time 1.379650e-01 4.909786e-04 100.00% + total FFT time 2.255524e-02 8.026776e-05 16.35% + lagrange multipliers 2.559860e-04 9.109822e-07 0.19% + local potentials 3.873000e-06 1.378292e-08 0.00% + non-local potentials 1.679673e-03 5.977484e-06 1.22% + ffm_dgemm 5.301410e-04 1.886623e-06 0.38% + fmf_dgemm 7.524170e-04 2.677641e-06 0.55% + m_diagonalize 2.372140e-04 8.441779e-07 0.17% + mmm_multiply 4.599200e-05 1.636726e-07 0.03% + SCVtrans 4.989500e-05 1.775623e-07 0.04% + + >>> job completed at Fri Feb 24 15:18:12 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:18:12 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + psi grids are being converted: + -----------------------------: + converting .... psi:1 spin:1 + converting .... psi:2 spin:1 + converting .... psi:3 spin:1 + converting .... psi:4 spin:1 + converting .... psi:5 spin:1 + converting .... psi:6 spin:1 + + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.536 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 2 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.99088 2.99088 2.99088 ) - atomic mass = 183.951 + G.C. ( 1.49544 1.49544 1.49544 ) + C.O.M. ( 1.49544 1.49544 1.49544 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 6 ( 6 per task) down = 6 ( 6 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.982 0.000 0.000 > + a2 = < 0.000 5.982 0.000 > + a3 = < 0.000 0.000 5.982 > + reciprocal: b1 = < 1.050 0.000 0.000 > + b2 = < 0.000 1.050 0.000 > + b3 = < 0.000 0.000 1.050 > + lattice: a = 5.982 b = 5.982 c = 5.982 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 20.000 fft = 14 x 14 x 14 ( 463 waves 463 per task) + wavefnc cutoff = 10.000 fft = 14 x 14 x 14 ( 171 waves 171 per task) + + Ewald parameters: + energy cutoff = 20.000 fft = 14 x 14 x 14 ( 463 waves 463 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 3.71078182) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:18:12 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -2.015461227870e+01 -1.152391e-06 1.541098e-08 + 20 -2.015461250697e+01 -6.884596e-08 1.359336e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:18:12 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 6.00000 down= 6.00000 (real space) + + + total energy : -2.0154612507e+01 ( -1.00773e+01 /ion) + total orbital energy: 5.1934744194e+00 ( 8.65579e-01 /electron) + hartree energy : 2.9548501467e-01 ( 4.92475e-02 /electron) + exc-corr energy : -9.4995084169e+00 ( -1.58325e+00 /electron) + ion-ion energy : -2.1902017722e+01 ( -1.09510e+01 /ion) + + kinetic (planewave) : 1.4375731298e+01 ( 2.39596e+00 /electron) + V_local (planewave) : 1.1537789121e+01 ( 1.92296e+00 /electron) + V_nl (planewave) : -1.4962091802e+01 ( -2.49368e+00 /electron) + V_Coul (planewave) : 5.9097002933e-01 ( 9.84950e-02 /electron) + V_xc (planewave) : -6.3489242272e+00 ( -1.05815e+00 /electron) + Viral Coefficient : -6.3873320169e-01 + + orbital energy: + 5.4868319e-01 ( 14.931eV) + 5.4868125e-01 ( 14.930eV) + 5.4867927e-01 ( 14.930eV) + 3.7006985e-01 ( 10.070eV) + 3.7006983e-01 ( 10.070eV) + 2.1055382e-01 ( 5.730eV) + +== Center of Charge == + +spin up = ( 0.0000 -0.0000 0.0000 ) +spin down = ( 0.0000 -0.0000 0.0000 ) + total = ( 0.0000 -0.0000 0.0000 ) +ionic = ( 1.4954 1.4954 1.4954 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 17.9452 17.9453 17.9453 ) au +|mu| = 31.0821 au ( 78.9982 Debye ) + + + Ion Forces (au): + 1 W ( 0.00000 -0.00000 0.00000 ) + 2 W ( 0.00000 -0.00000 0.00000 ) + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 3.547e-02 + main loop : 6.480e-02 + epilogue : 7.350e-04 + total : 1.010e-01 + cputime/step: 1.223e-03 ( 53 evaluations, 12 linesearches) + + Time spent doing total step percent + total time 2.392505e-01 4.514160e-03 100.00% + total FFT time 4.375828e-02 8.256278e-04 18.29% + lagrange multipliers 3.668260e-04 6.921245e-06 0.15% + local potentials 1.290900e-05 2.435660e-07 0.01% + non-local potentials 2.668669e-03 5.035225e-05 1.12% + ffm_dgemm 7.706410e-04 1.454040e-05 0.32% + fmf_dgemm 1.125526e-03 2.123634e-05 0.47% + m_diagonalize 2.963020e-04 5.590604e-06 0.12% + mmm_multiply 5.492700e-05 1.036358e-06 0.02% + SCVtrans 6.026800e-05 1.137132e-06 0.03% + + >>> job completed at Fri Feb 24 15:18:12 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:18:12 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + generating random psi from scratch + Warning - Gram-Schmidt being performed on psi2 + - exact norm = 24 norm=24.6349 corrected norm=24 (error=0.634911) + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.591 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 4 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.66457 0.00000 1.88413 ) - atomic mass = 183.951 + 3 W ( 2.66457 2.66457 3.76827 ) - atomic mass = 183.951 + 4 W ( 0.00000 2.66457 5.65240 ) - atomic mass = 183.951 + G.C. ( 1.33228 1.33228 2.82620 ) + C.O.M. ( 1.33228 1.33228 2.82620 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 12 ( 12 per task) down = 12 ( 12 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.329 0.000 0.000 > + a2 = < 0.000 5.329 0.000 > + a3 = < 0.000 0.000 7.537 > + reciprocal: b1 = < 1.179 0.000 0.000 > + b2 = < 0.000 1.179 0.000 > + b3 = < 0.000 0.000 0.834 > + lattice: a = 5.329 b = 5.329 c = 7.537 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 10.000 fft = 10 x 10 x 12 ( 160 waves 160 per task) + wavefnc cutoff = 5.000 fft = 10 x 10 x 12 ( 62 waves 62 per task) + + Ewald parameters: + energy cutoff = 10.000 fft = 10 x 10 x 12 ( 160 waves 160 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz = 1.68382487 (alpha = 2.71431215 rs = 3.71078182) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:18:12 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -6.055830132329e+00 -3.950403e-02 1.828100e-06 + 20 -6.385809714715e+00 -3.894785e-02 1.758309e-06 + 30 -6.711168070530e+00 -3.840461e-02 1.691928e-06 + 40 -7.032007984384e+00 -3.787299e-02 1.628803e-06 + 50 -7.348421375629e+00 -3.735174e-02 1.568781e-06 + 60 -7.660489824954e+00 -3.683964e-02 1.511713e-06 + 70 -7.968285124894e+00 -3.633557e-02 1.457453e-06 + 80 -8.271869852255e+00 -3.583846e-02 1.405859e-06 + 90 -8.571297960274e+00 -3.534732e-02 1.356792e-06 + 100 -8.866615388055e+00 -3.486124e-02 1.310118e-06 + 110 -9.157860684583e+00 -3.437936e-02 1.265708e-06 + 120 -9.445065644289e+00 -3.390092e-02 1.223435e-06 + 130 -9.728255950944e+00 -3.342523e-02 1.183180e-06 + 140 -1.000745182635e+01 -3.295167e-02 1.144828e-06 + 150 -1.028266868013e+01 -3.247971e-02 1.108268e-06 + 160 -1.055391775670e+01 -3.200889e-02 1.073396e-06 + 170 -1.082120677550e+01 -3.153881e-02 1.040111e-06 + 180 -1.108454056030e+01 -3.106918e-02 1.008319e-06 + 190 -1.134392165365e+01 -3.059975e-02 9.779312e-07 + 200 -1.159935091250e+01 -3.013035e-02 9.488616e-07 + 210 -1.185082808097e+01 -2.966088e-02 9.210311e-07 + 220 -2.307658315652e+01 -2.660051e+00 3.534559e-02 + 230 -3.129825644760e+01 -8.384921e-02 8.831546e-04 + 240 -3.157478329913e+01 -8.501628e-03 7.365980e-05 + 250 -3.162757137408e+01 -3.007578e-03 8.118567e-04 + 260 -3.166852145652e+01 -6.760182e-03 2.472568e-03 + 270 -3.176521423332e+01 -6.489845e-03 3.635301e-04 + 280 -3.179220352327e+01 -2.631131e-05 6.062148e-07 + 290 -3.179228652997e+01 -8.831259e-07 3.208422e-08 + 300 -3.179228729957e+01 -5.132388e-08 1.166168e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:18:14 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 12.00000 down= 12.00000 (real space) + + + total energy : -3.1792287300e+01 ( -7.94807e+00 /ion) + total orbital energy: 2.6841552423e+01 ( 2.23680e+00 /electron) + hartree energy : 8.0875740830e-01 ( 6.73965e-02 /electron) + exc-corr energy : -2.2041168198e+01 ( -1.83676e+00 /electron) + ion-ion energy : -5.1462581522e+01 ( -1.28656e+01 /ion) + + kinetic (planewave) : 3.6677604642e+01 ( 3.05647e+00 /electron) + V_local (planewave) : 3.8319838624e+01 ( 3.19332e+00 /electron) + V_nl (planewave) : -3.4094738254e+01 ( -2.84123e+00 /electron) + V_Coul (planewave) : 1.6175148166e+00 ( 1.34793e-01 /electron) + V_xc (planewave) : -1.5678667407e+01 ( -1.30656e+00 /electron) + Viral Coefficient : -2.6817597046e-01 + + orbital energy: + 1.4446153e+00 ( 39.310eV) + 1.4446141e+00 ( 39.310eV) + 1.2075227e+00 ( 32.859eV) + 1.2075208e+00 ( 32.859eV) + 1.2040031e+00 ( 32.763eV) + 1.1965068e+00 ( 32.559eV) + 1.1964933e+00 ( 32.558eV) + 1.0077700e+00 ( 27.423eV) + 9.8716725e-01 ( 26.862eV) + 8.7232872e-01 ( 23.737eV) + 8.7232366e-01 ( 23.737eV) + 7.7991047e-01 ( 21.223eV) + +== Center of Charge == + +spin up = ( -0.0000 0.0000 0.0000 ) +spin down = ( -0.0000 0.0000 0.0000 ) + total = ( -0.0000 0.0000 0.0000 ) +ionic = ( 1.3323 1.3323 2.8262 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 31.9749 31.9747 67.8288 ) au +|mu| = 81.5200 au ( 207.1913 Debye ) + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 3.422e-02 + main loop : 1.668e+00 + epilogue : 2.330e-04 + total : 1.703e+00 + cputime/step: 1.037e-03 ( 1609 evaluations, 294 linesearches) + + Time spent doing total step percent + total time 1.943853e+00 1.208112e-03 100.00% + total FFT time 1.988299e-01 1.235736e-04 10.23% + lagrange multipliers 3.994508e-03 2.482603e-06 0.21% + local potentials 1.711900e-05 1.063953e-08 0.00% + non-local potentials 3.079812e-02 1.914116e-05 1.58% + ffm_dgemm 1.029855e-02 6.400592e-06 0.53% + fmf_dgemm 1.705348e-02 1.059881e-05 0.88% + m_diagonalize 3.946935e-03 2.453036e-06 0.20% + mmm_multiply 1.035682e-03 6.436805e-07 0.05% + SCVtrans 6.631020e-04 4.121206e-07 0.03% + + >>> job completed at Fri Feb 24 15:18:14 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:18:14 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + psi grids are being converted: + -----------------------------: + converting .... psi:1 spin:1 + converting .... psi:2 spin:1 + converting .... psi:3 spin:1 + converting .... psi:4 spin:1 + converting .... psi:5 spin:1 + converting .... psi:6 spin:1 + converting .... psi:7 spin:1 + converting .... psi:8 spin:1 + converting .... psi:9 spin:1 + converting .... psi:10 spin:1 + converting .... psi:11 spin:1 + converting .... psi:12 spin:1 + + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.595 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 4 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.66457 0.00000 1.88413 ) - atomic mass = 183.951 + 3 W ( 2.66457 2.66457 3.76827 ) - atomic mass = 183.951 + 4 W ( 0.00000 2.66457 5.65240 ) - atomic mass = 183.951 + G.C. ( 1.33228 1.33228 2.82620 ) + C.O.M. ( 1.33228 1.33228 2.82620 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 12 ( 12 per task) down = 12 ( 12 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.329 0.000 0.000 > + a2 = < 0.000 5.329 0.000 > + a3 = < 0.000 0.000 7.537 > + reciprocal: b1 = < 1.179 0.000 0.000 > + b2 = < 0.000 1.179 0.000 > + b3 = < 0.000 0.000 0.834 > + lattice: a = 5.329 b = 5.329 c = 7.537 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 20.000 fft = 12 x 12 x 16 ( 460 waves 460 per task) + wavefnc cutoff = 10.000 fft = 12 x 12 x 16 ( 160 waves 160 per task) + + Ewald parameters: + energy cutoff = 20.000 fft = 12 x 12 x 16 ( 460 waves 460 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz = 1.68382487 (alpha = 2.71431215 rs = 3.71078182) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:18:14 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -3.617033061710e+01 -3.447767e-05 2.051315e-07 + 20 -3.617035193509e+01 -9.144932e-08 2.233123e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:18:14 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 12.00000 down= 12.00000 (real space) + + + total energy : -3.6170351935e+01 ( -9.04259e+00 /ion) + total orbital energy: 2.3048851372e+01 ( 1.92074e+00 /electron) + hartree energy : 1.2466960309e+00 ( 1.03891e-01 /electron) + exc-corr energy : -2.2474177760e+01 ( -1.87285e+00 /electron) + ion-ion energy : -5.1462581522e+01 ( -1.28656e+01 /ion) + + kinetic (planewave) : 4.2172537419e+01 ( 3.51438e+00 /electron) + V_local (planewave) : 4.2389901334e+01 ( 3.53249e+00 /electron) + V_nl (planewave) : -4.8042727436e+01 ( -4.00356e+00 /electron) + V_Coul (planewave) : 2.4933920618e+00 ( 2.07783e-01 /electron) + V_xc (planewave) : -1.5964252007e+01 ( -1.33035e+00 /electron) + Viral Coefficient : -4.5346301687e-01 + + orbital energy: + 1.2694201e+00 ( 34.543eV) + 1.2694200e+00 ( 34.543eV) + 1.0542936e+00 ( 28.689eV) + 1.0542930e+00 ( 28.689eV) + 1.0521347e+00 ( 28.630eV) + 1.0163764e+00 ( 27.657eV) + 1.0163729e+00 ( 27.657eV) + 8.0982926e-01 ( 22.037eV) + 7.9408393e-01 ( 21.608eV) + 7.3283710e-01 ( 19.942eV) + 7.2768246e-01 ( 19.801eV) + 7.2768240e-01 ( 19.801eV) + +== Center of Charge == + +spin up = ( -0.0000 0.0000 -0.0000 ) +spin down = ( -0.0000 0.0000 -0.0000 ) + total = ( -0.0000 0.0000 -0.0000 ) +ionic = ( 1.3323 1.3323 2.8262 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 31.9748 31.9748 67.8288 ) au +|mu| = 81.5201 au ( 207.1914 Debye ) + + + Ion Forces (au): + 1 W ( -0.00006 0.00001 0.00000 ) + 2 W ( -0.00006 0.00001 -0.00000 ) + 3 W ( 0.00005 -0.00001 0.00000 ) + 4 W ( 0.00006 -0.00001 -0.00000 ) + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 4.075e-02 + main loop : 9.259e-02 + epilogue : 1.541e-03 + total : 1.349e-01 + cputime/step: 1.403e-03 ( 66 evaluations, 16 linesearches) + + Time spent doing total step percent + total time 2.078999e+00 3.149998e-02 100.00% + total FFT time 2.101608e-01 3.184254e-03 10.11% + lagrange multipliers 4.359836e-03 6.605812e-05 0.21% + local potentials 3.280600e-05 4.970606e-07 0.00% + non-local potentials 3.407038e-02 5.162179e-04 1.64% + ffm_dgemm 1.133438e-02 1.717330e-04 0.55% + fmf_dgemm 1.879531e-02 2.847774e-04 0.90% + m_diagonalize 4.177315e-03 6.329265e-05 0.20% + mmm_multiply 1.080105e-03 1.636523e-05 0.05% + SCVtrans 6.877800e-04 1.042091e-05 0.03% + + >>> job completed at Fri Feb 24 15:18:14 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:18:14 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + generating random psi from scratch + Warning - Gram-Schmidt being performed on psi2 + - exact norm = 108 norm=112.229 corrected norm=108 (error=4.2289) + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.473 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 18 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 56.69178 ) - atomic mass = 183.951 + 2 W ( 4.22974 4.22974 62.67353 ) - atomic mass = 183.951 + 3 W ( 0.00000 0.00000 68.65528 ) - atomic mass = 183.951 + 4 W ( 4.22974 4.22974 74.63703 ) - atomic mass = 183.951 + 5 W ( 0.00000 0.00000 80.61878 ) - atomic mass = 183.951 + 6 W ( 4.22974 4.22974 86.60053 ) - atomic mass = 183.951 + 7 W ( 0.00000 0.00000 92.58228 ) - atomic mass = 183.951 + 8 W ( 4.22974 4.22974 98.56403 ) - atomic mass = 183.951 + 9 W ( 0.00000 0.00000 104.54578 ) - atomic mass = 183.951 + 10 W ( 4.22974 4.22974 110.52753 ) - atomic mass = 183.951 + 11 W ( 0.00000 0.00000 116.50928 ) - atomic mass = 183.951 + 12 W ( 4.22974 4.22974 122.49103 ) - atomic mass = 183.951 + 13 W ( 0.00000 0.00000 128.47278 ) - atomic mass = 183.951 + 14 W ( 4.22974 4.22974 134.45454 ) - atomic mass = 183.951 + 15 W ( 0.00000 0.00000 140.43629 ) - atomic mass = 183.951 + 16 W ( 4.22974 4.22974 146.41804 ) - atomic mass = 183.951 + 17 W ( 0.00000 0.00000 152.39979 ) - atomic mass = 183.951 + 18 W ( 4.22974 4.22974 158.38154 ) - atomic mass = 183.951 + G.C. ( 2.11487 2.11487 107.53666 ) + C.O.M. ( 2.11487 2.11487 107.53666 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 54 ( 54 per task) down = 54 ( 54 per task) + + supercell: + volume = 15391.22 + lattice: a1 = < 8.459 0.000 0.000 > + a2 = < 0.000 8.459 0.000 > + a3 = < 0.000 0.000 215.073 > + reciprocal: b1 = < 0.743 0.000 0.000 > + b2 = < 0.000 0.743 0.000 > + b3 = < 0.000 0.000 0.029 > + lattice: a = 8.459 b = 8.459 c = 215.073 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 10.000 fft = 14 x 14 x 320 ( 11562 waves 11562 per task) + wavefnc cutoff = 5.000 fft = 14 x 14 x 320 ( 4131 waves 4131 per task) + + Ewald parameters: + energy cutoff = 10.000 fft = 14 x 14 x 320 ( 11562 waves 11562 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz =-41.45048086 (alpha =-66.81784163 rs = 15.43102707) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:18:15 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -4.708836988701e+01 -2.074508e+00 6.085500e-04 + 20 -6.382918523929e+01 -1.560307e+00 6.496852e-04 + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:18:38 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + generating random psi from scratch + Warning - Gram-Schmidt being performed on psi2 + - exact norm = 12 norm=12.2903 corrected norm=12 (error=0.290271) + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.532 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 2 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.99088 2.99088 2.99088 ) - atomic mass = 183.951 + G.C. ( 1.49544 1.49544 1.49544 ) + C.O.M. ( 1.49544 1.49544 1.49544 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 6 ( 6 per task) down = 6 ( 6 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.982 0.000 0.000 > + a2 = < 0.000 5.982 0.000 > + a3 = < 0.000 0.000 5.982 > + reciprocal: b1 = < 1.050 0.000 0.000 > + b2 = < 0.000 1.050 0.000 > + b3 = < 0.000 0.000 1.050 > + lattice: a = 5.982 b = 5.982 c = 5.982 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 10.000 fft = 10 x 10 x 10 ( 171 waves 171 per task) + wavefnc cutoff = 5.000 fft = 10 x 10 x 10 ( 62 waves 62 per task) + + Ewald parameters: + energy cutoff = 10.000 fft = 10 x 10 x 10 ( 171 waves 171 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 3.71078182) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:18:38 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -1.674215046115e+01 -8.251196e-02 9.196301e-04 + 20 -1.749771236403e+01 -1.002147e-01 1.472766e-03 + 30 -1.823150320727e+01 -3.534576e-02 3.524284e-04 + 40 -1.846047982908e+01 -2.204551e-02 2.446432e-04 + 50 -1.868365376681e+01 -1.854154e-02 2.029002e-04 + 60 -1.881117950998e+01 -4.287319e-04 1.464725e-05 + 70 -1.881133499557e+01 -6.036766e-08 1.955112e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:18:38 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 6.00000 down= 6.00000 (real space) + + + total energy : -1.8811334996e+01 ( -9.40567e+00 /ion) + total orbital energy: 6.3205159164e+00 ( 1.05342e+00 /electron) + hartree energy : 1.5018043194e-01 ( 2.50301e-02 /electron) + exc-corr energy : -9.2446725740e+00 ( -1.54078e+00 /electron) + ion-ion energy : -2.1902017722e+01 ( -1.09510e+01 /ion) + + kinetic (planewave) : 1.2028654702e+01 ( 2.00478e+00 /electron) + V_local (planewave) : 9.8433605672e+00 ( 1.64056e+00 /electron) + V_nl (planewave) : -9.6868404003e+00 ( -1.61447e+00 /electron) + V_Coul (planewave) : 3.0036086388e-01 ( 5.00601e-02 /electron) + V_xc (planewave) : -6.1650198159e+00 ( -1.02750e+00 /electron) + Viral Coefficient : -4.7454506982e-01 + + orbital energy: + 6.7570236e-01 ( 18.387eV) + 6.7570093e-01 ( 18.387eV) + 6.7569918e-01 ( 18.387eV) + 4.5449701e-01 ( 12.368eV) + 4.5449681e-01 ( 12.368eV) + 2.2416167e-01 ( 6.100eV) + +== Center of Charge == + +spin up = ( 0.0000 -0.0000 0.0000 ) +spin down = ( 0.0000 -0.0000 0.0000 ) + total = ( 0.0000 -0.0000 0.0000 ) +ionic = ( 1.4954 1.4954 1.4954 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 17.9450 17.9453 17.9452 ) au +|mu| = 31.0820 au ( 78.9979 Debye ) + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 2.524e-02 + main loop : 1.109e-01 + epilogue : 1.700e-04 + total : 1.363e-01 + cputime/step: 3.947e-04 ( 281 evaluations, 69 linesearches) + + Time spent doing total step percent + total time 1.376261e-01 4.897725e-04 100.00% + total FFT time 2.259259e-02 8.040066e-05 16.42% + lagrange multipliers 2.496160e-04 8.883132e-07 0.18% + local potentials 4.057000e-06 1.443772e-08 0.00% + non-local potentials 1.697206e-03 6.039879e-06 1.23% + ffm_dgemm 5.312040e-04 1.890406e-06 0.39% + fmf_dgemm 7.488590e-04 2.664979e-06 0.54% + m_diagonalize 2.523380e-04 8.980000e-07 0.18% + mmm_multiply 4.641000e-05 1.651601e-07 0.03% + SCVtrans 4.654400e-05 1.656370e-07 0.03% + + >>> job completed at Fri Feb 24 15:18:38 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:18:38 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + psi grids are being converted: + -----------------------------: + converting .... psi:1 spin:1 + converting .... psi:2 spin:1 + converting .... psi:3 spin:1 + converting .... psi:4 spin:1 + converting .... psi:5 spin:1 + converting .... psi:6 spin:1 + + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.536 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 2 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.99088 2.99088 2.99088 ) - atomic mass = 183.951 + G.C. ( 1.49544 1.49544 1.49544 ) + C.O.M. ( 1.49544 1.49544 1.49544 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 6 ( 6 per task) down = 6 ( 6 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.982 0.000 0.000 > + a2 = < 0.000 5.982 0.000 > + a3 = < 0.000 0.000 5.982 > + reciprocal: b1 = < 1.050 0.000 0.000 > + b2 = < 0.000 1.050 0.000 > + b3 = < 0.000 0.000 1.050 > + lattice: a = 5.982 b = 5.982 c = 5.982 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 20.000 fft = 14 x 14 x 14 ( 463 waves 463 per task) + wavefnc cutoff = 10.000 fft = 14 x 14 x 14 ( 171 waves 171 per task) + + Ewald parameters: + energy cutoff = 20.000 fft = 14 x 14 x 14 ( 463 waves 463 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 3.71078182) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:18:38 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -2.015461227870e+01 -1.152391e-06 1.541098e-08 + 20 -2.015461250697e+01 -6.884596e-08 1.359336e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:18:38 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 6.00000 down= 6.00000 (real space) + + + total energy : -2.0154612507e+01 ( -1.00773e+01 /ion) + total orbital energy: 5.1934744194e+00 ( 8.65579e-01 /electron) + hartree energy : 2.9548501467e-01 ( 4.92475e-02 /electron) + exc-corr energy : -9.4995084169e+00 ( -1.58325e+00 /electron) + ion-ion energy : -2.1902017722e+01 ( -1.09510e+01 /ion) + + kinetic (planewave) : 1.4375731298e+01 ( 2.39596e+00 /electron) + V_local (planewave) : 1.1537789121e+01 ( 1.92296e+00 /electron) + V_nl (planewave) : -1.4962091802e+01 ( -2.49368e+00 /electron) + V_Coul (planewave) : 5.9097002933e-01 ( 9.84950e-02 /electron) + V_xc (planewave) : -6.3489242272e+00 ( -1.05815e+00 /electron) + Viral Coefficient : -6.3873320169e-01 + + orbital energy: + 5.4868319e-01 ( 14.931eV) + 5.4868125e-01 ( 14.930eV) + 5.4867927e-01 ( 14.930eV) + 3.7006985e-01 ( 10.070eV) + 3.7006983e-01 ( 10.070eV) + 2.1055382e-01 ( 5.730eV) + +== Center of Charge == + +spin up = ( 0.0000 -0.0000 0.0000 ) +spin down = ( 0.0000 -0.0000 0.0000 ) + total = ( 0.0000 -0.0000 0.0000 ) +ionic = ( 1.4954 1.4954 1.4954 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 17.9452 17.9453 17.9453 ) au +|mu| = 31.0821 au ( 78.9982 Debye ) + + + Ion Forces (au): + 1 W ( 0.00000 -0.00000 0.00000 ) + 2 W ( 0.00000 -0.00000 0.00000 ) + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 3.589e-02 + main loop : 6.538e-02 + epilogue : 7.730e-04 + total : 1.020e-01 + cputime/step: 1.234e-03 ( 53 evaluations, 12 linesearches) + + Time spent doing total step percent + total time 2.398962e-01 4.526344e-03 100.00% + total FFT time 4.397847e-02 8.297825e-04 18.33% + lagrange multipliers 3.621910e-04 6.833792e-06 0.15% + local potentials 1.360700e-05 2.567358e-07 0.01% + non-local potentials 2.715955e-03 5.124443e-05 1.13% + ffm_dgemm 7.720380e-04 1.456675e-05 0.32% + fmf_dgemm 1.121002e-03 2.115098e-05 0.47% + m_diagonalize 3.119640e-04 5.886113e-06 0.13% + mmm_multiply 5.513100e-05 1.040208e-06 0.02% + SCVtrans 5.648300e-05 1.065717e-06 0.02% + + >>> job completed at Fri Feb 24 15:18:38 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:18:38 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + generating random psi from scratch + Warning - Gram-Schmidt being performed on psi2 + - exact norm = 24 norm=24.6349 corrected norm=24 (error=0.634911) + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.591 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 4 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.66457 0.00000 1.88413 ) - atomic mass = 183.951 + 3 W ( 2.66457 2.66457 3.76827 ) - atomic mass = 183.951 + 4 W ( 0.00000 2.66457 5.65240 ) - atomic mass = 183.951 + G.C. ( 1.33228 1.33228 2.82620 ) + C.O.M. ( 1.33228 1.33228 2.82620 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 12 ( 12 per task) down = 12 ( 12 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.329 0.000 0.000 > + a2 = < 0.000 5.329 0.000 > + a3 = < 0.000 0.000 7.537 > + reciprocal: b1 = < 1.179 0.000 0.000 > + b2 = < 0.000 1.179 0.000 > + b3 = < 0.000 0.000 0.834 > + lattice: a = 5.329 b = 5.329 c = 7.537 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 10.000 fft = 10 x 10 x 12 ( 160 waves 160 per task) + wavefnc cutoff = 5.000 fft = 10 x 10 x 12 ( 62 waves 62 per task) + + Ewald parameters: + energy cutoff = 10.000 fft = 10 x 10 x 12 ( 160 waves 160 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz = 1.68382487 (alpha = 2.71431215 rs = 3.71078182) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:18:38 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -6.055830132329e+00 -3.950403e-02 1.828100e-06 + 20 -6.385809714715e+00 -3.894785e-02 1.758309e-06 + 30 -6.711168070530e+00 -3.840461e-02 1.691928e-06 + 40 -7.032007984384e+00 -3.787299e-02 1.628803e-06 + 50 -7.348421375629e+00 -3.735174e-02 1.568781e-06 + 60 -7.660489824954e+00 -3.683964e-02 1.511713e-06 + 70 -7.968285124894e+00 -3.633557e-02 1.457453e-06 + 80 -8.271869852255e+00 -3.583846e-02 1.405859e-06 + 90 -8.571297960274e+00 -3.534732e-02 1.356792e-06 + 100 -8.866615388055e+00 -3.486124e-02 1.310118e-06 + 110 -9.157860684583e+00 -3.437936e-02 1.265708e-06 + 120 -9.445065644289e+00 -3.390092e-02 1.223435e-06 + 130 -9.728255950944e+00 -3.342523e-02 1.183180e-06 + 140 -1.000745182635e+01 -3.295167e-02 1.144828e-06 + 150 -1.028266868013e+01 -3.247971e-02 1.108268e-06 + 160 -1.055391775670e+01 -3.200889e-02 1.073396e-06 + 170 -1.082120677550e+01 -3.153881e-02 1.040111e-06 + 180 -1.108454056030e+01 -3.106918e-02 1.008319e-06 + 190 -1.134392165365e+01 -3.059975e-02 9.779312e-07 + 200 -1.159935091250e+01 -3.013035e-02 9.488616e-07 + 210 -1.185082808097e+01 -2.966088e-02 9.210311e-07 + 220 -2.307658315652e+01 -2.660051e+00 3.534559e-02 + 230 -3.129825644760e+01 -8.384921e-02 8.831546e-04 + 240 -3.157478329913e+01 -8.501628e-03 7.365980e-05 + 250 -3.162757137408e+01 -3.007578e-03 8.118567e-04 + 260 -3.166852145652e+01 -6.760182e-03 2.472568e-03 + 270 -3.176521423332e+01 -6.489845e-03 3.635301e-04 + 280 -3.179220352327e+01 -2.631131e-05 6.062148e-07 + 290 -3.179228652997e+01 -8.831259e-07 3.208422e-08 + 300 -3.179228729957e+01 -5.132388e-08 1.166168e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:18:40 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 12.00000 down= 12.00000 (real space) + + + total energy : -3.1792287300e+01 ( -7.94807e+00 /ion) + total orbital energy: 2.6841552423e+01 ( 2.23680e+00 /electron) + hartree energy : 8.0875740830e-01 ( 6.73965e-02 /electron) + exc-corr energy : -2.2041168198e+01 ( -1.83676e+00 /electron) + ion-ion energy : -5.1462581522e+01 ( -1.28656e+01 /ion) + + kinetic (planewave) : 3.6677604642e+01 ( 3.05647e+00 /electron) + V_local (planewave) : 3.8319838624e+01 ( 3.19332e+00 /electron) + V_nl (planewave) : -3.4094738254e+01 ( -2.84123e+00 /electron) + V_Coul (planewave) : 1.6175148166e+00 ( 1.34793e-01 /electron) + V_xc (planewave) : -1.5678667407e+01 ( -1.30656e+00 /electron) + Viral Coefficient : -2.6817597046e-01 + + orbital energy: + 1.4446153e+00 ( 39.310eV) + 1.4446141e+00 ( 39.310eV) + 1.2075227e+00 ( 32.859eV) + 1.2075208e+00 ( 32.859eV) + 1.2040031e+00 ( 32.763eV) + 1.1965068e+00 ( 32.559eV) + 1.1964933e+00 ( 32.558eV) + 1.0077700e+00 ( 27.423eV) + 9.8716725e-01 ( 26.862eV) + 8.7232872e-01 ( 23.737eV) + 8.7232366e-01 ( 23.737eV) + 7.7991047e-01 ( 21.223eV) + +== Center of Charge == + +spin up = ( -0.0000 0.0000 0.0000 ) +spin down = ( -0.0000 0.0000 0.0000 ) + total = ( -0.0000 0.0000 0.0000 ) +ionic = ( 1.3323 1.3323 2.8262 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 31.9749 31.9747 67.8288 ) au +|mu| = 81.5200 au ( 207.1913 Debye ) + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 3.425e-02 + main loop : 1.670e+00 + epilogue : 2.360e-04 + total : 1.705e+00 + cputime/step: 1.038e-03 ( 1609 evaluations, 294 linesearches) + + Time spent doing total step percent + total time 1.952966e+00 1.213776e-03 100.00% + total FFT time 1.982451e-01 1.232101e-04 10.15% + lagrange multipliers 4.059472e-03 2.522978e-06 0.21% + local potentials 1.779100e-05 1.105718e-08 0.00% + non-local potentials 3.088589e-02 1.919571e-05 1.58% + ffm_dgemm 1.048618e-02 6.517201e-06 0.54% + fmf_dgemm 1.706496e-02 1.060594e-05 0.87% + m_diagonalize 4.001445e-03 2.486914e-06 0.20% + mmm_multiply 1.083454e-03 6.733710e-07 0.06% + SCVtrans 6.580950e-04 4.090087e-07 0.03% + + >>> job completed at Fri Feb 24 15:18:40 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:18:40 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + psi grids are being converted: + -----------------------------: + converting .... psi:1 spin:1 + converting .... psi:2 spin:1 + converting .... psi:3 spin:1 + converting .... psi:4 spin:1 + converting .... psi:5 spin:1 + converting .... psi:6 spin:1 + converting .... psi:7 spin:1 + converting .... psi:8 spin:1 + converting .... psi:9 spin:1 + converting .... psi:10 spin:1 + converting .... psi:11 spin:1 + converting .... psi:12 spin:1 + + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.595 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 4 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.66457 0.00000 1.88413 ) - atomic mass = 183.951 + 3 W ( 2.66457 2.66457 3.76827 ) - atomic mass = 183.951 + 4 W ( 0.00000 2.66457 5.65240 ) - atomic mass = 183.951 + G.C. ( 1.33228 1.33228 2.82620 ) + C.O.M. ( 1.33228 1.33228 2.82620 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 12 ( 12 per task) down = 12 ( 12 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.329 0.000 0.000 > + a2 = < 0.000 5.329 0.000 > + a3 = < 0.000 0.000 7.537 > + reciprocal: b1 = < 1.179 0.000 0.000 > + b2 = < 0.000 1.179 0.000 > + b3 = < 0.000 0.000 0.834 > + lattice: a = 5.329 b = 5.329 c = 7.537 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 20.000 fft = 12 x 12 x 16 ( 460 waves 460 per task) + wavefnc cutoff = 10.000 fft = 12 x 12 x 16 ( 160 waves 160 per task) + + Ewald parameters: + energy cutoff = 20.000 fft = 12 x 12 x 16 ( 460 waves 460 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz = 1.68382487 (alpha = 2.71431215 rs = 3.71078182) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:18:40 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -3.617033061710e+01 -3.447767e-05 2.051315e-07 + 20 -3.617035193509e+01 -9.144932e-08 2.233123e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:18:40 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 12.00000 down= 12.00000 (real space) + + + total energy : -3.6170351935e+01 ( -9.04259e+00 /ion) + total orbital energy: 2.3048851372e+01 ( 1.92074e+00 /electron) + hartree energy : 1.2466960309e+00 ( 1.03891e-01 /electron) + exc-corr energy : -2.2474177760e+01 ( -1.87285e+00 /electron) + ion-ion energy : -5.1462581522e+01 ( -1.28656e+01 /ion) + + kinetic (planewave) : 4.2172537419e+01 ( 3.51438e+00 /electron) + V_local (planewave) : 4.2389901334e+01 ( 3.53249e+00 /electron) + V_nl (planewave) : -4.8042727436e+01 ( -4.00356e+00 /electron) + V_Coul (planewave) : 2.4933920618e+00 ( 2.07783e-01 /electron) + V_xc (planewave) : -1.5964252007e+01 ( -1.33035e+00 /electron) + Viral Coefficient : -4.5346301687e-01 + + orbital energy: + 1.2694201e+00 ( 34.543eV) + 1.2694200e+00 ( 34.543eV) + 1.0542936e+00 ( 28.689eV) + 1.0542930e+00 ( 28.689eV) + 1.0521347e+00 ( 28.630eV) + 1.0163764e+00 ( 27.657eV) + 1.0163729e+00 ( 27.657eV) + 8.0982926e-01 ( 22.037eV) + 7.9408393e-01 ( 21.608eV) + 7.3283710e-01 ( 19.942eV) + 7.2768246e-01 ( 19.801eV) + 7.2768240e-01 ( 19.801eV) + +== Center of Charge == + +spin up = ( -0.0000 0.0000 -0.0000 ) +spin down = ( -0.0000 0.0000 -0.0000 ) + total = ( -0.0000 0.0000 -0.0000 ) +ionic = ( 1.3323 1.3323 2.8262 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 31.9748 31.9748 67.8288 ) au +|mu| = 81.5201 au ( 207.1914 Debye ) + + + Ion Forces (au): + 1 W ( -0.00006 0.00001 0.00000 ) + 2 W ( -0.00006 0.00001 -0.00000 ) + 3 W ( 0.00005 -0.00001 0.00000 ) + 4 W ( 0.00006 -0.00001 -0.00000 ) + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 4.137e-02 + main loop : 9.543e-02 + epilogue : 1.789e-03 + total : 1.386e-01 + cputime/step: 1.446e-03 ( 66 evaluations, 16 linesearches) + + Time spent doing total step percent + total time 2.091810e+00 3.169409e-02 100.00% + total FFT time 2.099361e-01 3.180850e-03 10.04% + lagrange multipliers 4.426488e-03 6.706800e-05 0.21% + local potentials 3.575100e-05 5.416818e-07 0.00% + non-local potentials 3.424697e-02 5.188935e-04 1.64% + ffm_dgemm 1.156122e-02 1.751700e-04 0.55% + fmf_dgemm 1.888972e-02 2.862079e-04 0.90% + m_diagonalize 4.247227e-03 6.435192e-05 0.20% + mmm_multiply 1.132024e-03 1.715188e-05 0.05% + SCVtrans 6.838130e-04 1.036080e-05 0.03% + + >>> job completed at Fri Feb 24 15:18:40 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:18:40 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + generating random psi from scratch + Warning - Gram-Schmidt being performed on psi2 + - exact norm = 54 norm=55.9896 corrected norm=54 (error=1.98964) + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.774 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 9 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 28.34589 ) - atomic mass = 183.951 + 2 W ( 0.00000 0.00000 33.09361 ) - atomic mass = 183.951 + 3 W ( 0.00000 0.00000 37.84133 ) - atomic mass = 183.951 + 4 W ( 0.00000 0.00000 42.58905 ) - atomic mass = 183.951 + 5 W ( 0.00000 0.00000 47.33676 ) - atomic mass = 183.951 + 6 W ( 0.00000 0.00000 52.08448 ) - atomic mass = 183.951 + 7 W ( 0.00000 0.00000 56.83220 ) - atomic mass = 183.951 + 8 W ( 0.00000 0.00000 61.57992 ) - atomic mass = 183.951 + 9 W ( 0.00000 0.00000 66.32764 ) - atomic mass = 183.951 + G.C. ( 0.00000 0.00000 47.33676 ) + C.O.M. ( 0.00000 0.00000 47.33676 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 27 ( 27 per task) down = 27 ( 27 per task) + + supercell: + volume = 2134.02 + lattice: a1 = < 4.748 0.000 0.000 > + a2 = < 0.000 4.748 0.000 > + a3 = < 0.000 0.000 94.674 > + reciprocal: b1 = < 1.323 0.000 0.000 > + b2 = < 0.000 1.323 0.000 > + b3 = < 0.000 0.000 0.066 > + lattice: a = 4.748 b = 4.748 c = 94.674 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 10.000 fft = 8 x 8 x 140 ( 1654 waves 1654 per task) + wavefnc cutoff = 5.000 fft = 8 x 8 x 140 ( 614 waves 614 per task) + + Ewald parameters: + energy cutoff = 10.000 fft = 8 x 8 x 140 ( 1654 waves 1654 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz =-28.56716969 (alpha =-46.05004769 rs = 7.98674752) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:18:40 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -1.537543929874e+01 -2.016560e+00 3.077105e-03 + 20 -3.254785807349e+01 -1.663493e+00 2.853796e-03 + 30 -4.810772454500e+01 -1.411329e+00 2.524724e-03 + 40 -5.924331815603e+01 -8.722325e-01 1.601473e-03 + 50 -6.598737094914e+01 -5.386274e-01 1.018644e-03 + 60 -7.047458695974e+01 -3.842901e-01 7.275415e-04 + 70 -7.391410353045e+01 -3.094978e-01 5.927380e-04 + 80 -7.675659679950e+01 -2.575519e-01 5.074834e-04 + 90 -7.908051946463e+01 -2.066346e-01 4.202545e-04 + 100 -8.091371386799e+01 -1.620794e-01 3.417256e-04 + 110 -8.236293503847e+01 -1.299053e-01 2.852820e-04 + 120 -8.354092927149e+01 -1.068684e-01 2.434477e-04 + 130 -8.451154165098e+01 -8.805956e-02 2.067634e-04 + 140 -8.530664269190e+01 -7.198981e-02 1.738582e-04 + 150 -8.596030731896e+01 -5.983311e-02 1.488597e-04 + 160 -8.651711846167e+01 -5.225598e-02 1.343065e-04 + 170 -8.701856676886e+01 -4.832242e-02 1.282183e-04 + 180 -8.748424331332e+01 -4.442332e-02 1.222405e-04 + 190 -8.787610642248e+01 -3.338040e-02 9.947921e-05 + 200 -8.811847068979e+01 -1.693656e-02 5.903923e-05 + 210 -8.830054273921e+01 -3.581922e-03 6.916884e-05 + 220 -8.831280544154e+01 -5.396840e-05 7.863732e-07 + 230 -8.831301827046e+01 -3.445163e-06 4.311563e-08 + 240 -8.831302766242e+01 -1.599960e-07 7.829532e-10 + 250 -8.831302775935e+01 -9.692576e-08 4.617615e-10 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:18:50 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 27.00000 down= 27.00000 (real space) + + + total energy : -8.8313027759e+01 ( -9.81256e+00 /ion) + total orbital energy: -5.1543739929e+00 ( -1.90903e-01 /electron) + hartree energy : 1.9217358728e+03 ( 7.11754e+01 /electron) + exc-corr energy : -4.2845603491e+01 ( -1.58687e+00 /electron) + ion-ion energy : 1.8531858410e+03 ( 2.05910e+02 /ion) + + kinetic (planewave) : 4.3121050224e+01 ( 1.59708e+00 /electron) + V_local (planewave) : -3.8291999293e+03 ( -1.41822e+02 /electron) + V_nl (planewave) : -3.4310258960e+01 ( -1.27075e+00 /electron) + V_Coul (planewave) : 3.8434717456e+03 ( 1.42351e+02 /electron) + V_xc (planewave) : -2.8236981532e+01 ( -1.04581e+00 /electron) + Viral Coefficient : -1.1195326637e+00 + + orbital energy: + 1.2651002e-01 ( 3.443eV) + 1.8839147e-02 ( 0.513eV) + 1.5118032e-02 ( 0.411eV) + -2.7745187e-03 ( -0.075eV) + -4.3030191e-03 ( -0.117eV) + -4.6545708e-03 ( -0.127eV) + -1.4954346e-02 ( -0.407eV) + -1.6336988e-02 ( -0.445eV) + -2.5371336e-02 ( -0.690eV) + -3.3327415e-02 ( -0.907eV) + -3.4658629e-02 ( -0.943eV) + -4.4732074e-02 ( -1.217eV) + -5.0668501e-02 ( -1.379eV) + -5.6656231e-02 ( -1.542eV) + -5.6949941e-02 ( -1.550eV) + -6.8047676e-02 ( -1.852eV) + -9.2316879e-02 ( -2.512eV) + -9.7184443e-02 ( -2.645eV) + -1.2662593e-01 ( -3.446eV) + -1.4011181e-01 ( -3.813eV) + -1.7225396e-01 ( -4.687eV) + -2.0713982e-01 ( -5.637eV) + -2.4175322e-01 ( -6.578eV) + -2.7471999e-01 ( -7.476eV) + -3.0358991e-01 ( -8.261eV) + -3.2631421e-01 ( -8.880eV) + -3.4220877e-01 ( -9.312eV) + +== Center of Charge == + +spin up = ( 0.0000 -0.0000 -0.0000 ) +spin down = ( 0.0000 -0.0000 -0.0000 ) + total = ( 0.0000 -0.0000 -0.0000 ) +ionic = ( 0.0000 0.0000 47.3368 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( -0.0001 0.0000 2556.1878 ) au +|mu| = 2556.1878 au ( 6496.8070 Debye ) + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 3.833e-01 + main loop : 9.703e+00 + epilogue : 2.261e-03 + total : 1.009e+01 + cputime/step: 9.993e-03 ( 971 evaluations, 241 linesearches) + + Time spent doing total step percent + total time 1.218305e+01 1.254691e-02 100.00% + total FFT time 1.232095e+00 1.268893e-03 10.11% + lagrange multipliers 1.072657e-01 1.104693e-04 0.88% + local potentials 1.345550e-04 1.385736e-07 0.00% + non-local potentials 9.516212e-01 9.800424e-04 7.81% + ffm_dgemm 3.333505e-01 3.433063e-04 2.74% + fmf_dgemm 7.178644e-01 7.393042e-04 5.89% + m_diagonalize 2.038534e-02 2.099417e-05 0.17% + mmm_multiply 6.906521e-03 7.112792e-06 0.06% + SCVtrans 2.262612e-03 2.330187e-06 0.02% + + >>> job completed at Fri Feb 24 15:18:50 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:18:50 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + psi grids are being converted: + -----------------------------: + converting .... psi:1 spin:1 + converting .... psi:2 spin:1 + converting .... psi:3 spin:1 + converting .... psi:4 spin:1 + converting .... psi:5 spin:1 + converting .... psi:6 spin:1 + converting .... psi:7 spin:1 + converting .... psi:8 spin:1 + converting .... psi:9 spin:1 + converting .... psi:10 spin:1 + converting .... psi:11 spin:1 + converting .... psi:12 spin:1 + converting .... psi:13 spin:1 + converting .... psi:14 spin:1 + converting .... psi:15 spin:1 + converting .... psi:16 spin:1 + converting .... psi:17 spin:1 + converting .... psi:18 spin:1 + converting .... psi:19 spin:1 + converting .... psi:20 spin:1 + converting .... psi:21 spin:1 + converting .... psi:22 spin:1 + converting .... psi:23 spin:1 + converting .... psi:24 spin:1 + converting .... psi:25 spin:1 + converting .... psi:26 spin:1 + converting .... psi:27 spin:1 + + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.778 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 9 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 28.34589 ) - atomic mass = 183.951 + 2 W ( 0.00000 0.00000 33.09361 ) - atomic mass = 183.951 + 3 W ( 0.00000 0.00000 37.84133 ) - atomic mass = 183.951 + 4 W ( 0.00000 0.00000 42.58905 ) - atomic mass = 183.951 + 5 W ( 0.00000 0.00000 47.33677 ) - atomic mass = 183.951 + 6 W ( 0.00000 0.00000 52.08449 ) - atomic mass = 183.951 + 7 W ( 0.00000 0.00000 56.83220 ) - atomic mass = 183.951 + 8 W ( 0.00000 0.00000 61.57992 ) - atomic mass = 183.951 + 9 W ( 0.00000 0.00000 66.32764 ) - atomic mass = 183.951 + G.C. ( 0.00000 0.00000 47.33677 ) + C.O.M. ( 0.00000 0.00000 47.33677 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 27 ( 27 per task) down = 27 ( 27 per task) + + supercell: + volume = 2134.02 + lattice: a1 = < 4.748 0.000 0.000 > + a2 = < 0.000 4.748 0.000 > + a3 = < 0.000 0.000 94.674 > + reciprocal: b1 = < 1.323 0.000 0.000 > + b2 = < 0.000 1.323 0.000 > + b3 = < 0.000 0.000 0.066 > + lattice: a = 4.748 b = 4.748 c = 94.674 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 20.000 fft = 12 x 12 x 192 ( 4574 waves 4574 per task) + wavefnc cutoff = 10.000 fft = 12 x 12 x 192 ( 1654 waves 1654 per task) + + Ewald parameters: + energy cutoff = 20.000 fft = 12 x 12 x 192 ( 4574 waves 4574 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz =-28.56716969 (alpha =-46.05004769 rs = 7.98674752) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:18:51 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -9.275052119381e+01 -2.122242e-03 2.935377e-05 + 20 -9.275868040192e+01 -9.515326e-05 2.529918e-06 + 30 -9.275878712055e+01 -1.142202e-06 1.213725e-08 + 40 -9.275883858492e+01 -3.931136e-05 2.900787e-06 + 50 -9.275989368099e+01 -1.676866e-04 3.620223e-06 + 60 -9.276172965263e+01 -1.366180e-04 1.437493e-06 + 70 -9.276242641237e+01 -4.950588e-05 9.514774e-07 + 80 -9.276275885983e+01 -2.351096e-05 4.450692e-07 + 90 -9.276288269800e+01 -6.609562e-06 1.250224e-07 + 100 -9.276292451479e+01 -2.485196e-06 4.417831e-08 + 110 -9.276293769116e+01 -6.446969e-07 1.169540e-08 + 120 -9.276294176248e+01 -2.348768e-07 4.151375e-09 + 130 -9.276294233017e+01 -9.807081e-08 1.296479e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:19:02 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 27.00000 down= 27.00000 (real space) + + + total energy : -9.2762942330e+01 ( -1.03070e+01 /ion) + total orbital energy: -5.0623378840e+00 ( -1.87494e-01 /electron) + hartree energy : 1.9260817620e+03 ( 7.13364e+01 /electron) + exc-corr energy : -4.3777835977e+01 ( -1.62140e+00 /electron) + ion-ion energy : 1.8531856136e+03 ( 2.05910e+02 /ion) + + kinetic (planewave) : 5.2807679120e+01 ( 1.95584e+00 /electron) + V_local (planewave) : -3.8274779701e+03 ( -1.41758e+02 /electron) + V_nl (planewave) : -5.3582190935e+01 ( -1.98453e+00 /electron) + V_Coul (planewave) : 3.8521635239e+03 ( 1.42673e+02 /electron) + V_xc (planewave) : -2.8973379949e+01 ( -1.07309e+00 /electron) + Viral Coefficient : -1.0958636692e+00 + + orbital energy: + 1.0091573e-01 ( 2.746eV) + 4.2336667e-02 ( 1.152eV) + 2.1250054e-02 ( 0.578eV) + -4.9936494e-03 ( -0.136eV) + -3.0518213e-02 ( -0.830eV) + -3.4502515e-02 ( -0.939eV) + -4.1369266e-02 ( -1.126eV) + -5.3099040e-02 ( -1.445eV) + -5.7197969e-02 ( -1.556eV) + -5.8820459e-02 ( -1.601eV) + -6.6577151e-02 ( -1.812eV) + -6.8252501e-02 ( -1.857eV) + -7.4315282e-02 ( -2.022eV) + -9.2483451e-02 ( -2.517eV) + -9.7091101e-02 ( -2.642eV) + -9.8701112e-02 ( -2.686eV) + -9.9172297e-02 ( -2.699eV) + -1.1503130e-01 ( -3.130eV) + -1.2350704e-01 ( -3.361eV) + -1.2461151e-01 ( -3.391eV) + -1.3767779e-01 ( -3.746eV) + -1.5539558e-01 ( -4.229eV) + -1.8177422e-01 ( -4.946eV) + -2.1054366e-01 ( -5.729eV) + -2.3653121e-01 ( -6.436eV) + -2.6484631e-01 ( -7.207eV) + -2.6865877e-01 ( -7.311eV) + +== Center of Charge == + +spin up = ( 0.0037 0.0007 0.0001 ) +spin down = ( 0.0037 0.0007 0.0001 ) + total = ( 0.0037 0.0007 0.0001 ) +ionic = ( 0.0000 0.0000 47.3368 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( -0.2017 -0.0359 2556.1810 ) au +|mu| = 2556.1810 au ( 6496.7896 Debye ) + + + Ion Forces (au): + 1 W ( -0.00665 -0.00100 -0.21569 ) + 2 W ( 0.00352 0.00053 -0.00769 ) + 3 W ( 0.00252 0.00038 -0.00345 ) + 4 W ( 0.00056 0.00009 0.00018 ) + 5 W ( 0.00014 0.00003 -0.00010 ) + 6 W ( 0.00056 0.00011 -0.00037 ) + 7 W ( 0.00249 0.00051 0.00324 ) + 8 W ( 0.00347 0.00072 0.00752 ) + 9 W ( -0.00655 -0.00135 0.21561 ) + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 5.469e-01 + main loop : 1.180e+01 + epilogue : 2.687e-02 + total : 1.238e+01 + cputime/step: 2.689e-02 ( 439 evaluations, 124 linesearches) + + Time spent doing total step percent + total time 2.458279e+01 5.599725e-02 100.00% + total FFT time 2.459232e+00 5.601895e-03 10.00% + lagrange multipliers 1.624546e-01 3.700560e-04 0.66% + local potentials 5.490970e-04 1.250790e-06 0.00% + non-local potentials 2.201277e+00 5.014299e-03 8.95% + ffm_dgemm 8.148809e-01 1.856221e-03 3.31% + fmf_dgemm 1.682853e+00 3.833377e-03 6.85% + m_diagonalize 2.945842e-02 6.710345e-05 0.12% + mmm_multiply 9.795465e-03 2.231313e-05 0.04% + SCVtrans 3.374611e-03 7.687041e-06 0.01% + + >>> job completed at Fri Feb 24 15:19:02 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:20:07 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + generating random psi from scratch + Warning - Gram-Schmidt being performed on psi2 + - exact norm = 12 norm=12.2903 corrected norm=12 (error=0.290271) + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.532 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 2 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.99088 2.99088 2.99088 ) - atomic mass = 183.951 + G.C. ( 1.49544 1.49544 1.49544 ) + C.O.M. ( 1.49544 1.49544 1.49544 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 6 ( 6 per task) down = 6 ( 6 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.982 0.000 0.000 > + a2 = < 0.000 5.982 0.000 > + a3 = < 0.000 0.000 5.982 > + reciprocal: b1 = < 1.050 0.000 0.000 > + b2 = < 0.000 1.050 0.000 > + b3 = < 0.000 0.000 1.050 > + lattice: a = 5.982 b = 5.982 c = 5.982 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 10.000 fft = 10 x 10 x 10 ( 171 waves 171 per task) + wavefnc cutoff = 5.000 fft = 10 x 10 x 10 ( 62 waves 62 per task) + + Ewald parameters: + energy cutoff = 10.000 fft = 10 x 10 x 10 ( 171 waves 171 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 3.71078182) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:20:07 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -1.674215046115e+01 -8.251196e-02 9.196301e-04 + 20 -1.749771236403e+01 -1.002147e-01 1.472766e-03 + 30 -1.823150320727e+01 -3.534576e-02 3.524284e-04 + 40 -1.846047982908e+01 -2.204551e-02 2.446432e-04 + 50 -1.868365376681e+01 -1.854154e-02 2.029002e-04 + 60 -1.881117950998e+01 -4.287319e-04 1.464725e-05 + 70 -1.881133499557e+01 -6.036766e-08 1.955112e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:20:07 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 6.00000 down= 6.00000 (real space) + + + total energy : -1.8811334996e+01 ( -9.40567e+00 /ion) + total orbital energy: 6.3205159164e+00 ( 1.05342e+00 /electron) + hartree energy : 1.5018043194e-01 ( 2.50301e-02 /electron) + exc-corr energy : -9.2446725740e+00 ( -1.54078e+00 /electron) + ion-ion energy : -2.1902017722e+01 ( -1.09510e+01 /ion) + + kinetic (planewave) : 1.2028654702e+01 ( 2.00478e+00 /electron) + V_local (planewave) : 9.8433605672e+00 ( 1.64056e+00 /electron) + V_nl (planewave) : -9.6868404003e+00 ( -1.61447e+00 /electron) + V_Coul (planewave) : 3.0036086388e-01 ( 5.00601e-02 /electron) + V_xc (planewave) : -6.1650198159e+00 ( -1.02750e+00 /electron) + Viral Coefficient : -4.7454506982e-01 + + orbital energy: + 6.7570236e-01 ( 18.387eV) + 6.7570093e-01 ( 18.387eV) + 6.7569918e-01 ( 18.387eV) + 4.5449701e-01 ( 12.368eV) + 4.5449681e-01 ( 12.368eV) + 2.2416167e-01 ( 6.100eV) + +== Center of Charge == + +spin up = ( 0.0000 -0.0000 0.0000 ) +spin down = ( 0.0000 -0.0000 0.0000 ) + total = ( 0.0000 -0.0000 0.0000 ) +ionic = ( 1.4954 1.4954 1.4954 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 17.9450 17.9453 17.9452 ) au +|mu| = 31.0820 au ( 78.9979 Debye ) + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 2.697e-02 + main loop : 1.105e-01 + epilogue : 2.850e-04 + total : 1.378e-01 + cputime/step: 3.933e-04 ( 281 evaluations, 69 linesearches) + + Time spent doing total step percent + total time 1.395954e-01 4.967806e-04 100.00% + total FFT time 2.252745e-02 8.016885e-05 16.14% + lagrange multipliers 2.573430e-04 9.158114e-07 0.18% + local potentials 3.645000e-06 1.297153e-08 0.00% + non-local potentials 1.679224e-03 5.975886e-06 1.20% + ffm_dgemm 5.371630e-04 1.911612e-06 0.38% + fmf_dgemm 7.437690e-04 2.646865e-06 0.53% + m_diagonalize 2.406510e-04 8.564093e-07 0.17% + mmm_multiply 4.706100e-05 1.674769e-07 0.03% + SCVtrans 4.836400e-05 1.721139e-07 0.03% + + >>> job completed at Fri Feb 24 15:20:07 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:20:07 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + psi grids are being converted: + -----------------------------: + converting .... psi:1 spin:1 + converting .... psi:2 spin:1 + converting .... psi:3 spin:1 + converting .... psi:4 spin:1 + converting .... psi:5 spin:1 + converting .... psi:6 spin:1 + + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.536 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 2 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.99088 2.99088 2.99088 ) - atomic mass = 183.951 + G.C. ( 1.49544 1.49544 1.49544 ) + C.O.M. ( 1.49544 1.49544 1.49544 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 6 ( 6 per task) down = 6 ( 6 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.982 0.000 0.000 > + a2 = < 0.000 5.982 0.000 > + a3 = < 0.000 0.000 5.982 > + reciprocal: b1 = < 1.050 0.000 0.000 > + b2 = < 0.000 1.050 0.000 > + b3 = < 0.000 0.000 1.050 > + lattice: a = 5.982 b = 5.982 c = 5.982 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 20.000 fft = 14 x 14 x 14 ( 463 waves 463 per task) + wavefnc cutoff = 10.000 fft = 14 x 14 x 14 ( 171 waves 171 per task) + + Ewald parameters: + energy cutoff = 20.000 fft = 14 x 14 x 14 ( 463 waves 463 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 3.71078182) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:20:07 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -2.015461227870e+01 -1.152391e-06 1.541098e-08 + 20 -2.015461250697e+01 -6.884596e-08 1.359336e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:20:07 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 6.00000 down= 6.00000 (real space) + + + total energy : -2.0154612507e+01 ( -1.00773e+01 /ion) + total orbital energy: 5.1934744194e+00 ( 8.65579e-01 /electron) + hartree energy : 2.9548501467e-01 ( 4.92475e-02 /electron) + exc-corr energy : -9.4995084169e+00 ( -1.58325e+00 /electron) + ion-ion energy : -2.1902017722e+01 ( -1.09510e+01 /ion) + + kinetic (planewave) : 1.4375731298e+01 ( 2.39596e+00 /electron) + V_local (planewave) : 1.1537789121e+01 ( 1.92296e+00 /electron) + V_nl (planewave) : -1.4962091802e+01 ( -2.49368e+00 /electron) + V_Coul (planewave) : 5.9097002933e-01 ( 9.84950e-02 /electron) + V_xc (planewave) : -6.3489242272e+00 ( -1.05815e+00 /electron) + Viral Coefficient : -6.3873320169e-01 + + orbital energy: + 5.4868319e-01 ( 14.931eV) + 5.4868125e-01 ( 14.930eV) + 5.4867927e-01 ( 14.930eV) + 3.7006985e-01 ( 10.070eV) + 3.7006983e-01 ( 10.070eV) + 2.1055382e-01 ( 5.730eV) + +== Center of Charge == + +spin up = ( 0.0000 -0.0000 0.0000 ) +spin down = ( 0.0000 -0.0000 0.0000 ) + total = ( 0.0000 -0.0000 0.0000 ) +ionic = ( 1.4954 1.4954 1.4954 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 17.9452 17.9453 17.9453 ) au +|mu| = 31.0821 au ( 78.9982 Debye ) + + + Ion Forces (au): + 1 W ( 0.00000 -0.00000 0.00000 ) + 2 W ( 0.00000 -0.00000 0.00000 ) + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 3.479e-02 + main loop : 6.340e-02 + epilogue : 7.400e-04 + total : 9.893e-02 + cputime/step: 1.196e-03 ( 53 evaluations, 12 linesearches) + + Time spent doing total step percent + total time 2.387721e-01 4.505133e-03 100.00% + total FFT time 4.329802e-02 8.169438e-04 18.13% + lagrange multipliers 3.635460e-04 6.859358e-06 0.15% + local potentials 1.191200e-05 2.247547e-07 0.00% + non-local potentials 2.695370e-03 5.085604e-05 1.13% + ffm_dgemm 7.719950e-04 1.456594e-05 0.32% + fmf_dgemm 1.109215e-03 2.092858e-05 0.46% + m_diagonalize 2.991510e-04 5.644358e-06 0.13% + mmm_multiply 5.592000e-05 1.055094e-06 0.02% + SCVtrans 5.805700e-05 1.095415e-06 0.02% + + >>> job completed at Fri Feb 24 15:20:07 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:20:07 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + generating random psi from scratch + Warning - Gram-Schmidt being performed on psi2 + - exact norm = 24 norm=24.6349 corrected norm=24 (error=0.634911) + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.591 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 4 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.66457 0.00000 1.88413 ) - atomic mass = 183.951 + 3 W ( 2.66457 2.66457 3.76827 ) - atomic mass = 183.951 + 4 W ( 0.00000 2.66457 5.65240 ) - atomic mass = 183.951 + G.C. ( 1.33228 1.33228 2.82620 ) + C.O.M. ( 1.33228 1.33228 2.82620 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 12 ( 12 per task) down = 12 ( 12 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.329 0.000 0.000 > + a2 = < 0.000 5.329 0.000 > + a3 = < 0.000 0.000 7.537 > + reciprocal: b1 = < 1.179 0.000 0.000 > + b2 = < 0.000 1.179 0.000 > + b3 = < 0.000 0.000 0.834 > + lattice: a = 5.329 b = 5.329 c = 7.537 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 10.000 fft = 10 x 10 x 12 ( 160 waves 160 per task) + wavefnc cutoff = 5.000 fft = 10 x 10 x 12 ( 62 waves 62 per task) + + Ewald parameters: + energy cutoff = 10.000 fft = 10 x 10 x 12 ( 160 waves 160 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz = 1.68382487 (alpha = 2.71431215 rs = 3.71078182) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:20:07 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -6.055830132329e+00 -3.950403e-02 1.828100e-06 + 20 -6.385809714715e+00 -3.894785e-02 1.758309e-06 + 30 -6.711168070530e+00 -3.840461e-02 1.691928e-06 + 40 -7.032007984384e+00 -3.787299e-02 1.628803e-06 + 50 -7.348421375629e+00 -3.735174e-02 1.568781e-06 + 60 -7.660489824954e+00 -3.683964e-02 1.511713e-06 + 70 -7.968285124894e+00 -3.633557e-02 1.457453e-06 + 80 -8.271869852255e+00 -3.583846e-02 1.405859e-06 + 90 -8.571297960274e+00 -3.534732e-02 1.356792e-06 + 100 -8.866615388055e+00 -3.486124e-02 1.310118e-06 + 110 -9.157860684583e+00 -3.437936e-02 1.265708e-06 + 120 -9.445065644289e+00 -3.390092e-02 1.223435e-06 + 130 -9.728255950944e+00 -3.342523e-02 1.183180e-06 + 140 -1.000745182635e+01 -3.295167e-02 1.144828e-06 + 150 -1.028266868013e+01 -3.247971e-02 1.108268e-06 + 160 -1.055391775670e+01 -3.200889e-02 1.073396e-06 + 170 -1.082120677550e+01 -3.153881e-02 1.040111e-06 + 180 -1.108454056030e+01 -3.106918e-02 1.008319e-06 + 190 -1.134392165365e+01 -3.059975e-02 9.779312e-07 + 200 -1.159935091250e+01 -3.013035e-02 9.488616e-07 + 210 -1.185082808097e+01 -2.966088e-02 9.210311e-07 + 220 -2.307658315652e+01 -2.660051e+00 3.534559e-02 + 230 -3.129825644760e+01 -8.384921e-02 8.831546e-04 + 240 -3.157478329913e+01 -8.501628e-03 7.365980e-05 + 250 -3.162757137408e+01 -3.007578e-03 8.118567e-04 + 260 -3.166852145652e+01 -6.760182e-03 2.472568e-03 + 270 -3.176521423332e+01 -6.489845e-03 3.635301e-04 + 280 -3.179220352327e+01 -2.631131e-05 6.062148e-07 + 290 -3.179228652997e+01 -8.831259e-07 3.208422e-08 + 300 -3.179228729957e+01 -5.132388e-08 1.166168e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:20:09 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 12.00000 down= 12.00000 (real space) + + + total energy : -3.1792287300e+01 ( -7.94807e+00 /ion) + total orbital energy: 2.6841552423e+01 ( 2.23680e+00 /electron) + hartree energy : 8.0875740830e-01 ( 6.73965e-02 /electron) + exc-corr energy : -2.2041168198e+01 ( -1.83676e+00 /electron) + ion-ion energy : -5.1462581522e+01 ( -1.28656e+01 /ion) + + kinetic (planewave) : 3.6677604642e+01 ( 3.05647e+00 /electron) + V_local (planewave) : 3.8319838624e+01 ( 3.19332e+00 /electron) + V_nl (planewave) : -3.4094738254e+01 ( -2.84123e+00 /electron) + V_Coul (planewave) : 1.6175148166e+00 ( 1.34793e-01 /electron) + V_xc (planewave) : -1.5678667407e+01 ( -1.30656e+00 /electron) + Viral Coefficient : -2.6817597046e-01 + + orbital energy: + 1.4446153e+00 ( 39.310eV) + 1.4446141e+00 ( 39.310eV) + 1.2075227e+00 ( 32.859eV) + 1.2075208e+00 ( 32.859eV) + 1.2040031e+00 ( 32.763eV) + 1.1965068e+00 ( 32.559eV) + 1.1964933e+00 ( 32.558eV) + 1.0077700e+00 ( 27.423eV) + 9.8716725e-01 ( 26.862eV) + 8.7232872e-01 ( 23.737eV) + 8.7232366e-01 ( 23.737eV) + 7.7991047e-01 ( 21.223eV) + +== Center of Charge == + +spin up = ( -0.0000 0.0000 0.0000 ) +spin down = ( -0.0000 0.0000 0.0000 ) + total = ( -0.0000 0.0000 0.0000 ) +ionic = ( 1.3323 1.3323 2.8262 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 31.9749 31.9747 67.8288 ) au +|mu| = 81.5200 au ( 207.1913 Debye ) + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 3.382e-02 + main loop : 1.646e+00 + epilogue : 2.230e-04 + total : 1.680e+00 + cputime/step: 1.023e-03 ( 1609 evaluations, 294 linesearches) + + Time spent doing total step percent + total time 1.920998e+00 1.193908e-03 100.00% + total FFT time 1.960416e-01 1.218406e-04 10.21% + lagrange multipliers 3.914261e-03 2.432729e-06 0.20% + local potentials 1.610100e-05 1.000684e-08 0.00% + non-local potentials 3.058647e-02 1.900961e-05 1.59% + ffm_dgemm 1.031510e-02 6.410878e-06 0.54% + fmf_dgemm 1.689123e-02 1.049797e-05 0.88% + m_diagonalize 3.920411e-03 2.436551e-06 0.20% + mmm_multiply 1.054590e-03 6.554319e-07 0.05% + SCVtrans 6.705100e-04 4.167247e-07 0.03% + + >>> job completed at Fri Feb 24 15:20:09 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:20:09 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + psi grids are being converted: + -----------------------------: + converting .... psi:1 spin:1 + converting .... psi:2 spin:1 + converting .... psi:3 spin:1 + converting .... psi:4 spin:1 + converting .... psi:5 spin:1 + converting .... psi:6 spin:1 + converting .... psi:7 spin:1 + converting .... psi:8 spin:1 + converting .... psi:9 spin:1 + converting .... psi:10 spin:1 + converting .... psi:11 spin:1 + converting .... psi:12 spin:1 + + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.595 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 4 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.66457 0.00000 1.88413 ) - atomic mass = 183.951 + 3 W ( 2.66457 2.66457 3.76827 ) - atomic mass = 183.951 + 4 W ( 0.00000 2.66457 5.65240 ) - atomic mass = 183.951 + G.C. ( 1.33228 1.33228 2.82620 ) + C.O.M. ( 1.33228 1.33228 2.82620 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 12 ( 12 per task) down = 12 ( 12 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.329 0.000 0.000 > + a2 = < 0.000 5.329 0.000 > + a3 = < 0.000 0.000 7.537 > + reciprocal: b1 = < 1.179 0.000 0.000 > + b2 = < 0.000 1.179 0.000 > + b3 = < 0.000 0.000 0.834 > + lattice: a = 5.329 b = 5.329 c = 7.537 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 20.000 fft = 12 x 12 x 16 ( 460 waves 460 per task) + wavefnc cutoff = 10.000 fft = 12 x 12 x 16 ( 160 waves 160 per task) + + Ewald parameters: + energy cutoff = 20.000 fft = 12 x 12 x 16 ( 460 waves 460 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz = 1.68382487 (alpha = 2.71431215 rs = 3.71078182) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:20:09 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -3.617033061710e+01 -3.447767e-05 2.051315e-07 + 20 -3.617035193509e+01 -9.144932e-08 2.233123e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:20:09 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 12.00000 down= 12.00000 (real space) + + + total energy : -3.6170351935e+01 ( -9.04259e+00 /ion) + total orbital energy: 2.3048851372e+01 ( 1.92074e+00 /electron) + hartree energy : 1.2466960309e+00 ( 1.03891e-01 /electron) + exc-corr energy : -2.2474177760e+01 ( -1.87285e+00 /electron) + ion-ion energy : -5.1462581522e+01 ( -1.28656e+01 /ion) + + kinetic (planewave) : 4.2172537419e+01 ( 3.51438e+00 /electron) + V_local (planewave) : 4.2389901334e+01 ( 3.53249e+00 /electron) + V_nl (planewave) : -4.8042727436e+01 ( -4.00356e+00 /electron) + V_Coul (planewave) : 2.4933920618e+00 ( 2.07783e-01 /electron) + V_xc (planewave) : -1.5964252007e+01 ( -1.33035e+00 /electron) + Viral Coefficient : -4.5346301687e-01 + + orbital energy: + 1.2694201e+00 ( 34.543eV) + 1.2694200e+00 ( 34.543eV) + 1.0542936e+00 ( 28.689eV) + 1.0542930e+00 ( 28.689eV) + 1.0521347e+00 ( 28.630eV) + 1.0163764e+00 ( 27.657eV) + 1.0163729e+00 ( 27.657eV) + 8.0982926e-01 ( 22.037eV) + 7.9408393e-01 ( 21.608eV) + 7.3283710e-01 ( 19.942eV) + 7.2768246e-01 ( 19.801eV) + 7.2768240e-01 ( 19.801eV) + +== Center of Charge == + +spin up = ( -0.0000 0.0000 -0.0000 ) +spin down = ( -0.0000 0.0000 -0.0000 ) + total = ( -0.0000 0.0000 -0.0000 ) +ionic = ( 1.3323 1.3323 2.8262 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 31.9748 31.9748 67.8288 ) au +|mu| = 81.5201 au ( 207.1914 Debye ) + + + Ion Forces (au): + 1 W ( -0.00006 0.00001 0.00000 ) + 2 W ( -0.00006 0.00001 -0.00000 ) + 3 W ( 0.00005 -0.00001 0.00000 ) + 4 W ( 0.00006 -0.00001 -0.00000 ) + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 4.026e-02 + main loop : 9.175e-02 + epilogue : 1.533e-03 + total : 1.335e-01 + cputime/step: 1.390e-03 ( 66 evaluations, 16 linesearches) + + Time spent doing total step percent + total time 2.054788e+00 3.113315e-02 100.00% + total FFT time 2.072722e-01 3.140488e-03 10.09% + lagrange multipliers 4.277675e-03 6.481326e-05 0.21% + local potentials 3.325500e-05 5.038636e-07 0.00% + non-local potentials 3.383816e-02 5.126994e-04 1.65% + ffm_dgemm 1.137015e-02 1.722750e-04 0.55% + fmf_dgemm 1.860525e-02 2.818978e-04 0.91% + m_diagonalize 4.147088e-03 6.283467e-05 0.20% + mmm_multiply 1.097756e-03 1.663267e-05 0.05% + SCVtrans 6.952610e-04 1.053426e-05 0.03% + + >>> job completed at Fri Feb 24 15:20:09 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:20:09 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + generating random psi from scratch + Warning - Gram-Schmidt being performed on psi2 + - exact norm = 54 norm=55.9896 corrected norm=54 (error=1.98964) + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.774 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 9 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 28.34589 ) - atomic mass = 183.951 + 2 W ( 0.00000 0.00000 33.09361 ) - atomic mass = 183.951 + 3 W ( 0.00000 0.00000 37.84133 ) - atomic mass = 183.951 + 4 W ( 0.00000 0.00000 42.58905 ) - atomic mass = 183.951 + 5 W ( 0.00000 0.00000 47.33676 ) - atomic mass = 183.951 + 6 W ( 0.00000 0.00000 52.08448 ) - atomic mass = 183.951 + 7 W ( 0.00000 0.00000 56.83220 ) - atomic mass = 183.951 + 8 W ( 0.00000 0.00000 61.57992 ) - atomic mass = 183.951 + 9 W ( 0.00000 0.00000 66.32764 ) - atomic mass = 183.951 + G.C. ( 0.00000 0.00000 47.33676 ) + C.O.M. ( 0.00000 0.00000 47.33676 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 27 ( 27 per task) down = 27 ( 27 per task) + + supercell: + volume = 2134.02 + lattice: a1 = < 4.748 0.000 0.000 > + a2 = < 0.000 4.748 0.000 > + a3 = < 0.000 0.000 94.674 > + reciprocal: b1 = < 1.323 0.000 0.000 > + b2 = < 0.000 1.323 0.000 > + b3 = < 0.000 0.000 0.066 > + lattice: a = 4.748 b = 4.748 c = 94.674 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 10.000 fft = 8 x 8 x 140 ( 1654 waves 1654 per task) + wavefnc cutoff = 5.000 fft = 8 x 8 x 140 ( 614 waves 614 per task) + + Ewald parameters: + energy cutoff = 10.000 fft = 8 x 8 x 140 ( 1654 waves 1654 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz =-28.56716969 (alpha =-46.05004769 rs = 7.98674752) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:20:09 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -1.537543929874e+01 -2.016560e+00 3.077105e-03 + 20 -3.254785807349e+01 -1.663493e+00 2.853796e-03 + 30 -4.810772454500e+01 -1.411329e+00 2.524724e-03 + 40 -5.924331815603e+01 -8.722325e-01 1.601473e-03 + 50 -6.598737094914e+01 -5.386274e-01 1.018644e-03 + 60 -7.047458695974e+01 -3.842901e-01 7.275415e-04 + 70 -7.391410353045e+01 -3.094978e-01 5.927380e-04 + 80 -7.675659679950e+01 -2.575519e-01 5.074834e-04 + 90 -7.908051946463e+01 -2.066346e-01 4.202545e-04 + 100 -8.091371386799e+01 -1.620794e-01 3.417256e-04 + 110 -8.236293503847e+01 -1.299053e-01 2.852820e-04 + 120 -8.354092927149e+01 -1.068684e-01 2.434477e-04 + 130 -8.451154165098e+01 -8.805956e-02 2.067634e-04 + 140 -8.530664269190e+01 -7.198981e-02 1.738582e-04 + 150 -8.596030731896e+01 -5.983311e-02 1.488597e-04 + 160 -8.651711846167e+01 -5.225598e-02 1.343065e-04 + 170 -8.701856676886e+01 -4.832242e-02 1.282183e-04 + 180 -8.748424331332e+01 -4.442332e-02 1.222405e-04 + 190 -8.787610642248e+01 -3.338040e-02 9.947921e-05 + 200 -8.811847068979e+01 -1.693656e-02 5.903923e-05 + 210 -8.830054273921e+01 -3.581922e-03 6.916884e-05 + 220 -8.831280544154e+01 -5.396840e-05 7.863732e-07 + 230 -8.831301827046e+01 -3.445163e-06 4.311563e-08 + 240 -8.831302766242e+01 -1.599960e-07 7.829532e-10 + 250 -8.831302775935e+01 -9.692576e-08 4.617615e-10 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:20:19 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 27.00000 down= 27.00000 (real space) + + + total energy : -8.8313027759e+01 ( -9.81256e+00 /ion) + total orbital energy: -5.1543739929e+00 ( -1.90903e-01 /electron) + hartree energy : 1.9217358728e+03 ( 7.11754e+01 /electron) + exc-corr energy : -4.2845603491e+01 ( -1.58687e+00 /electron) + ion-ion energy : 1.8531858410e+03 ( 2.05910e+02 /ion) + + kinetic (planewave) : 4.3121050224e+01 ( 1.59708e+00 /electron) + V_local (planewave) : -3.8291999293e+03 ( -1.41822e+02 /electron) + V_nl (planewave) : -3.4310258960e+01 ( -1.27075e+00 /electron) + V_Coul (planewave) : 3.8434717456e+03 ( 1.42351e+02 /electron) + V_xc (planewave) : -2.8236981532e+01 ( -1.04581e+00 /electron) + Viral Coefficient : -1.1195326637e+00 + + orbital energy: + 1.2651002e-01 ( 3.443eV) + 1.8839147e-02 ( 0.513eV) + 1.5118032e-02 ( 0.411eV) + -2.7745187e-03 ( -0.075eV) + -4.3030191e-03 ( -0.117eV) + -4.6545708e-03 ( -0.127eV) + -1.4954346e-02 ( -0.407eV) + -1.6336988e-02 ( -0.445eV) + -2.5371336e-02 ( -0.690eV) + -3.3327415e-02 ( -0.907eV) + -3.4658629e-02 ( -0.943eV) + -4.4732074e-02 ( -1.217eV) + -5.0668501e-02 ( -1.379eV) + -5.6656231e-02 ( -1.542eV) + -5.6949941e-02 ( -1.550eV) + -6.8047676e-02 ( -1.852eV) + -9.2316879e-02 ( -2.512eV) + -9.7184443e-02 ( -2.645eV) + -1.2662593e-01 ( -3.446eV) + -1.4011181e-01 ( -3.813eV) + -1.7225396e-01 ( -4.687eV) + -2.0713982e-01 ( -5.637eV) + -2.4175322e-01 ( -6.578eV) + -2.7471999e-01 ( -7.476eV) + -3.0358991e-01 ( -8.261eV) + -3.2631421e-01 ( -8.880eV) + -3.4220877e-01 ( -9.312eV) + +== Center of Charge == + +spin up = ( 0.0000 -0.0000 -0.0000 ) +spin down = ( 0.0000 -0.0000 -0.0000 ) + total = ( 0.0000 -0.0000 -0.0000 ) +ionic = ( 0.0000 0.0000 47.3368 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( -0.0001 0.0000 2556.1878 ) au +|mu| = 2556.1878 au ( 6496.8070 Debye ) + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 3.187e-01 + main loop : 9.670e+00 + epilogue : 2.445e-03 + total : 9.991e+00 + cputime/step: 9.959e-03 ( 971 evaluations, 241 linesearches) + + Time spent doing total step percent + total time 1.204904e+01 1.240890e-02 100.00% + total FFT time 1.224732e+00 1.261310e-03 10.16% + lagrange multipliers 1.105284e-01 1.138294e-04 0.92% + local potentials 1.142570e-04 1.176694e-07 0.00% + non-local potentials 9.456276e-01 9.738699e-04 7.85% + ffm_dgemm 3.384693e-01 3.485780e-04 2.81% + fmf_dgemm 7.139291e-01 7.352514e-04 5.93% + m_diagonalize 2.069621e-02 2.131433e-05 0.17% + mmm_multiply 6.767109e-03 6.969216e-06 0.06% + SCVtrans 2.193267e-03 2.258771e-06 0.02% + + >>> job completed at Fri Feb 24 15:20:19 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:20:19 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + psi grids are being converted: + -----------------------------: + converting .... psi:1 spin:1 + converting .... psi:2 spin:1 + converting .... psi:3 spin:1 + converting .... psi:4 spin:1 + converting .... psi:5 spin:1 + converting .... psi:6 spin:1 + converting .... psi:7 spin:1 + converting .... psi:8 spin:1 + converting .... psi:9 spin:1 + converting .... psi:10 spin:1 + converting .... psi:11 spin:1 + converting .... psi:12 spin:1 + converting .... psi:13 spin:1 + converting .... psi:14 spin:1 + converting .... psi:15 spin:1 + converting .... psi:16 spin:1 + converting .... psi:17 spin:1 + converting .... psi:18 spin:1 + converting .... psi:19 spin:1 + converting .... psi:20 spin:1 + converting .... psi:21 spin:1 + converting .... psi:22 spin:1 + converting .... psi:23 spin:1 + converting .... psi:24 spin:1 + converting .... psi:25 spin:1 + converting .... psi:26 spin:1 + converting .... psi:27 spin:1 + + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.778 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 9 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 28.34589 ) - atomic mass = 183.951 + 2 W ( 0.00000 0.00000 33.09361 ) - atomic mass = 183.951 + 3 W ( 0.00000 0.00000 37.84133 ) - atomic mass = 183.951 + 4 W ( 0.00000 0.00000 42.58905 ) - atomic mass = 183.951 + 5 W ( 0.00000 0.00000 47.33677 ) - atomic mass = 183.951 + 6 W ( 0.00000 0.00000 52.08449 ) - atomic mass = 183.951 + 7 W ( 0.00000 0.00000 56.83220 ) - atomic mass = 183.951 + 8 W ( 0.00000 0.00000 61.57992 ) - atomic mass = 183.951 + 9 W ( 0.00000 0.00000 66.32764 ) - atomic mass = 183.951 + G.C. ( 0.00000 0.00000 47.33677 ) + C.O.M. ( 0.00000 0.00000 47.33677 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 27 ( 27 per task) down = 27 ( 27 per task) + + supercell: + volume = 2134.02 + lattice: a1 = < 4.748 0.000 0.000 > + a2 = < 0.000 4.748 0.000 > + a3 = < 0.000 0.000 94.674 > + reciprocal: b1 = < 1.323 0.000 0.000 > + b2 = < 0.000 1.323 0.000 > + b3 = < 0.000 0.000 0.066 > + lattice: a = 4.748 b = 4.748 c = 94.674 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 20.000 fft = 12 x 12 x 192 ( 4574 waves 4574 per task) + wavefnc cutoff = 10.000 fft = 12 x 12 x 192 ( 1654 waves 1654 per task) + + Ewald parameters: + energy cutoff = 20.000 fft = 12 x 12 x 192 ( 4574 waves 4574 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz =-28.56716969 (alpha =-46.05004769 rs = 7.98674752) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:20:19 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -9.275052119381e+01 -2.122242e-03 2.935377e-05 + 20 -9.275868040192e+01 -9.515326e-05 2.529918e-06 + 30 -9.275878712055e+01 -1.142202e-06 1.213725e-08 + 40 -9.275883858492e+01 -3.931136e-05 2.900787e-06 + 50 -9.275989368099e+01 -1.676866e-04 3.620223e-06 + 60 -9.276172965263e+01 -1.366180e-04 1.437493e-06 + 70 -9.276242641237e+01 -4.950588e-05 9.514774e-07 + 80 -9.276275885983e+01 -2.351096e-05 4.450692e-07 + 90 -9.276288269800e+01 -6.609562e-06 1.250224e-07 + 100 -9.276292451479e+01 -2.485196e-06 4.417831e-08 + 110 -9.276293769116e+01 -6.446969e-07 1.169540e-08 + 120 -9.276294176248e+01 -2.348768e-07 4.151375e-09 + 130 -9.276294233017e+01 -9.807081e-08 1.296479e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:20:31 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 27.00000 down= 27.00000 (real space) + + + total energy : -9.2762942330e+01 ( -1.03070e+01 /ion) + total orbital energy: -5.0623378840e+00 ( -1.87494e-01 /electron) + hartree energy : 1.9260817620e+03 ( 7.13364e+01 /electron) + exc-corr energy : -4.3777835977e+01 ( -1.62140e+00 /electron) + ion-ion energy : 1.8531856136e+03 ( 2.05910e+02 /ion) + + kinetic (planewave) : 5.2807679120e+01 ( 1.95584e+00 /electron) + V_local (planewave) : -3.8274779701e+03 ( -1.41758e+02 /electron) + V_nl (planewave) : -5.3582190935e+01 ( -1.98453e+00 /electron) + V_Coul (planewave) : 3.8521635239e+03 ( 1.42673e+02 /electron) + V_xc (planewave) : -2.8973379949e+01 ( -1.07309e+00 /electron) + Viral Coefficient : -1.0958636692e+00 + + orbital energy: + 1.0091573e-01 ( 2.746eV) + 4.2336667e-02 ( 1.152eV) + 2.1250054e-02 ( 0.578eV) + -4.9936494e-03 ( -0.136eV) + -3.0518213e-02 ( -0.830eV) + -3.4502515e-02 ( -0.939eV) + -4.1369266e-02 ( -1.126eV) + -5.3099040e-02 ( -1.445eV) + -5.7197969e-02 ( -1.556eV) + -5.8820459e-02 ( -1.601eV) + -6.6577151e-02 ( -1.812eV) + -6.8252501e-02 ( -1.857eV) + -7.4315282e-02 ( -2.022eV) + -9.2483451e-02 ( -2.517eV) + -9.7091101e-02 ( -2.642eV) + -9.8701112e-02 ( -2.686eV) + -9.9172297e-02 ( -2.699eV) + -1.1503130e-01 ( -3.130eV) + -1.2350704e-01 ( -3.361eV) + -1.2461151e-01 ( -3.391eV) + -1.3767779e-01 ( -3.746eV) + -1.5539558e-01 ( -4.229eV) + -1.8177422e-01 ( -4.946eV) + -2.1054366e-01 ( -5.729eV) + -2.3653121e-01 ( -6.436eV) + -2.6484631e-01 ( -7.207eV) + -2.6865877e-01 ( -7.311eV) + +== Center of Charge == + +spin up = ( 0.0037 0.0007 0.0001 ) +spin down = ( 0.0037 0.0007 0.0001 ) + total = ( 0.0037 0.0007 0.0001 ) +ionic = ( 0.0000 0.0000 47.3368 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( -0.2017 -0.0359 2556.1810 ) au +|mu| = 2556.1810 au ( 6496.7896 Debye ) + + + Ion Forces (au): + 1 W ( -0.00665 -0.00100 -0.21569 ) + 2 W ( 0.00352 0.00053 -0.00769 ) + 3 W ( 0.00252 0.00038 -0.00345 ) + 4 W ( 0.00056 0.00009 0.00018 ) + 5 W ( 0.00014 0.00003 -0.00010 ) + 6 W ( 0.00056 0.00011 -0.00037 ) + 7 W ( 0.00249 0.00051 0.00324 ) + 8 W ( 0.00347 0.00072 0.00752 ) + 9 W ( -0.00655 -0.00135 0.21561 ) + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 5.446e-01 + main loop : 1.186e+01 + epilogue : 2.640e-02 + total : 1.244e+01 + cputime/step: 2.703e-02 ( 439 evaluations, 124 linesearches) + + Time spent doing total step percent + total time 2.449926e+01 5.580697e-02 100.00% + total FFT time 2.455086e+00 5.592451e-03 10.02% + lagrange multipliers 1.675931e-01 3.817611e-04 0.68% + local potentials 5.291750e-04 1.205410e-06 0.00% + non-local potentials 2.198267e+00 5.007442e-03 8.97% + ffm_dgemm 8.172981e-01 1.861727e-03 3.34% + fmf_dgemm 1.676412e+00 3.818707e-03 6.84% + m_diagonalize 2.979409e-02 6.786809e-05 0.12% + mmm_multiply 9.669247e-03 2.202562e-05 0.04% + SCVtrans 3.365135e-03 7.665456e-06 0.01% + + >>> job completed at Fri Feb 24 15:20:31 2023 <<< diff --git a/examples/QUANTUM/NWChem/log.24Feb23.series.pwdft.plugin.1 b/examples/QUANTUM/NWChem/log.24Feb23.series.pwdft.plugin.1 new file mode 100644 index 0000000000..2f71e04c95 --- /dev/null +++ b/examples/QUANTUM/NWChem/log.24Feb23.series.pwdft.plugin.1 @@ -0,0 +1,2396 @@ + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:20:41 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + generating random psi from scratch + Warning - Gram-Schmidt being performed on psi2 + - exact norm = 12 norm=12.2903 corrected norm=12 (error=0.290271) + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.532 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 2 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.99088 2.99088 2.99088 ) - atomic mass = 183.951 + G.C. ( 1.49544 1.49544 1.49544 ) + C.O.M. ( 1.49544 1.49544 1.49544 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 6 ( 6 per task) down = 6 ( 6 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.982 0.000 0.000 > + a2 = < 0.000 5.982 0.000 > + a3 = < 0.000 0.000 5.982 > + reciprocal: b1 = < 1.050 0.000 0.000 > + b2 = < 0.000 1.050 0.000 > + b3 = < 0.000 0.000 1.050 > + lattice: a = 5.982 b = 5.982 c = 5.982 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 10.000 fft = 10 x 10 x 10 ( 171 waves 171 per task) + wavefnc cutoff = 5.000 fft = 10 x 10 x 10 ( 62 waves 62 per task) + + Ewald parameters: + energy cutoff = 10.000 fft = 10 x 10 x 10 ( 171 waves 171 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 3.71078182) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:20:41 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -1.674215046115e+01 -8.251196e-02 9.196301e-04 + 20 -1.749771236403e+01 -1.002147e-01 1.472766e-03 + 30 -1.823150320727e+01 -3.534576e-02 3.524284e-04 + 40 -1.846047982908e+01 -2.204551e-02 2.446432e-04 + 50 -1.868365376681e+01 -1.854154e-02 2.029002e-04 + 60 -1.881117950998e+01 -4.287319e-04 1.464725e-05 + 70 -1.881133499557e+01 -6.036766e-08 1.955112e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:20:41 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 6.00000 down= 6.00000 (real space) + + + total energy : -1.8811334996e+01 ( -9.40567e+00 /ion) + total orbital energy: 6.3205159164e+00 ( 1.05342e+00 /electron) + hartree energy : 1.5018043194e-01 ( 2.50301e-02 /electron) + exc-corr energy : -9.2446725740e+00 ( -1.54078e+00 /electron) + ion-ion energy : -2.1902017722e+01 ( -1.09510e+01 /ion) + + kinetic (planewave) : 1.2028654702e+01 ( 2.00478e+00 /electron) + V_local (planewave) : 9.8433605672e+00 ( 1.64056e+00 /electron) + V_nl (planewave) : -9.6868404003e+00 ( -1.61447e+00 /electron) + V_Coul (planewave) : 3.0036086388e-01 ( 5.00601e-02 /electron) + V_xc (planewave) : -6.1650198159e+00 ( -1.02750e+00 /electron) + Viral Coefficient : -4.7454506982e-01 + + orbital energy: + 6.7570236e-01 ( 18.387eV) + 6.7570093e-01 ( 18.387eV) + 6.7569918e-01 ( 18.387eV) + 4.5449701e-01 ( 12.368eV) + 4.5449681e-01 ( 12.368eV) + 2.2416167e-01 ( 6.100eV) + +== Center of Charge == + +spin up = ( 0.0000 -0.0000 0.0000 ) +spin down = ( 0.0000 -0.0000 0.0000 ) + total = ( 0.0000 -0.0000 0.0000 ) +ionic = ( 1.4954 1.4954 1.4954 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 17.9450 17.9453 17.9452 ) au +|mu| = 31.0820 au ( 78.9979 Debye ) + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 4.358e-01 + main loop : 1.057e-01 + epilogue : 1.640e-04 + total : 5.416e-01 + cputime/step: 3.760e-04 ( 281 evaluations, 69 linesearches) + + Time spent doing total step percent + total time 1.455736e-01 5.180557e-04 100.00% + total FFT time 2.148429e-02 7.645657e-05 14.76% + lagrange multipliers 2.458190e-04 8.748007e-07 0.17% + local potentials 2.979000e-06 1.060142e-08 0.00% + non-local potentials 1.632231e-03 5.808651e-06 1.12% + ffm_dgemm 5.114960e-04 1.820270e-06 0.35% + fmf_dgemm 7.225530e-04 2.571363e-06 0.50% + m_diagonalize 2.341520e-04 8.332811e-07 0.16% + mmm_multiply 4.423900e-05 1.574342e-07 0.03% + SCVtrans 4.798400e-05 1.707616e-07 0.03% + + >>> job completed at Fri Feb 24 15:20:41 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:20:41 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + psi grids are being converted: + -----------------------------: + converting .... psi:1 spin:1 + converting .... psi:2 spin:1 + converting .... psi:3 spin:1 + converting .... psi:4 spin:1 + converting .... psi:5 spin:1 + converting .... psi:6 spin:1 + + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.536 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 2 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.99088 2.99088 2.99088 ) - atomic mass = 183.951 + G.C. ( 1.49544 1.49544 1.49544 ) + C.O.M. ( 1.49544 1.49544 1.49544 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 6 ( 6 per task) down = 6 ( 6 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.982 0.000 0.000 > + a2 = < 0.000 5.982 0.000 > + a3 = < 0.000 0.000 5.982 > + reciprocal: b1 = < 1.050 0.000 0.000 > + b2 = < 0.000 1.050 0.000 > + b3 = < 0.000 0.000 1.050 > + lattice: a = 5.982 b = 5.982 c = 5.982 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 20.000 fft = 14 x 14 x 14 ( 463 waves 463 per task) + wavefnc cutoff = 10.000 fft = 14 x 14 x 14 ( 171 waves 171 per task) + + Ewald parameters: + energy cutoff = 20.000 fft = 14 x 14 x 14 ( 463 waves 463 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 3.71078182) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:20:41 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -2.015461227870e+01 -1.152391e-06 1.541098e-08 + 20 -2.015461250697e+01 -6.884596e-08 1.359336e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:20:41 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 6.00000 down= 6.00000 (real space) + + + total energy : -2.0154612507e+01 ( -1.00773e+01 /ion) + total orbital energy: 5.1934744194e+00 ( 8.65579e-01 /electron) + hartree energy : 2.9548501467e-01 ( 4.92475e-02 /electron) + exc-corr energy : -9.4995084169e+00 ( -1.58325e+00 /electron) + ion-ion energy : -2.1902017722e+01 ( -1.09510e+01 /ion) + + kinetic (planewave) : 1.4375731298e+01 ( 2.39596e+00 /electron) + V_local (planewave) : 1.1537789121e+01 ( 1.92296e+00 /electron) + V_nl (planewave) : -1.4962091802e+01 ( -2.49368e+00 /electron) + V_Coul (planewave) : 5.9097002933e-01 ( 9.84950e-02 /electron) + V_xc (planewave) : -6.3489242272e+00 ( -1.05815e+00 /electron) + Viral Coefficient : -6.3873320169e-01 + + orbital energy: + 5.4868319e-01 ( 14.931eV) + 5.4868125e-01 ( 14.930eV) + 5.4867927e-01 ( 14.930eV) + 3.7006985e-01 ( 10.070eV) + 3.7006983e-01 ( 10.070eV) + 2.1055382e-01 ( 5.730eV) + +== Center of Charge == + +spin up = ( 0.0000 -0.0000 0.0000 ) +spin down = ( 0.0000 -0.0000 0.0000 ) + total = ( 0.0000 -0.0000 0.0000 ) +ionic = ( 1.4954 1.4954 1.4954 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 17.9452 17.9453 17.9453 ) au +|mu| = 31.0821 au ( 78.9982 Debye ) + + + Ion Forces (au): + 1 W ( 0.00000 -0.00000 0.00000 ) + 2 W ( 0.00000 -0.00000 0.00000 ) + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 3.487e-02 + main loop : 6.484e-02 + epilogue : 7.700e-04 + total : 1.005e-01 + cputime/step: 1.223e-03 ( 53 evaluations, 12 linesearches) + + Time spent doing total step percent + total time 2.462677e-01 4.646561e-03 100.00% + total FFT time 4.271251e-02 8.058965e-04 17.34% + lagrange multipliers 3.560350e-04 6.717642e-06 0.14% + local potentials 1.200200e-05 2.264528e-07 0.00% + non-local potentials 2.658581e-03 5.016191e-05 1.08% + ffm_dgemm 7.502480e-04 1.415562e-05 0.30% + fmf_dgemm 1.098637e-03 2.072900e-05 0.45% + m_diagonalize 2.931850e-04 5.531792e-06 0.12% + mmm_multiply 5.320400e-05 1.003849e-06 0.02% + SCVtrans 5.806000e-05 1.095472e-06 0.02% + + >>> job completed at Fri Feb 24 15:20:41 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:20:41 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + generating random psi from scratch + Warning - Gram-Schmidt being performed on psi2 + - exact norm = 24 norm=24.6349 corrected norm=24 (error=0.634911) + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.591 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 4 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.66457 0.00000 1.88413 ) - atomic mass = 183.951 + 3 W ( 2.66457 2.66457 3.76827 ) - atomic mass = 183.951 + 4 W ( 0.00000 2.66457 5.65240 ) - atomic mass = 183.951 + G.C. ( 1.33228 1.33228 2.82620 ) + C.O.M. ( 1.33228 1.33228 2.82620 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 12 ( 12 per task) down = 12 ( 12 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.329 0.000 0.000 > + a2 = < 0.000 5.329 0.000 > + a3 = < 0.000 0.000 7.537 > + reciprocal: b1 = < 1.179 0.000 0.000 > + b2 = < 0.000 1.179 0.000 > + b3 = < 0.000 0.000 0.834 > + lattice: a = 5.329 b = 5.329 c = 7.537 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 10.000 fft = 10 x 10 x 12 ( 160 waves 160 per task) + wavefnc cutoff = 5.000 fft = 10 x 10 x 12 ( 62 waves 62 per task) + + Ewald parameters: + energy cutoff = 10.000 fft = 10 x 10 x 12 ( 160 waves 160 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz = 1.68382487 (alpha = 2.71431215 rs = 3.71078182) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:20:41 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -6.055830132329e+00 -3.950403e-02 1.828100e-06 + 20 -6.385809714715e+00 -3.894785e-02 1.758309e-06 + 30 -6.711168070530e+00 -3.840461e-02 1.691928e-06 + 40 -7.032007984384e+00 -3.787299e-02 1.628803e-06 + 50 -7.348421375629e+00 -3.735174e-02 1.568781e-06 + 60 -7.660489824954e+00 -3.683964e-02 1.511713e-06 + 70 -7.968285124894e+00 -3.633557e-02 1.457453e-06 + 80 -8.271869852255e+00 -3.583846e-02 1.405859e-06 + 90 -8.571297960274e+00 -3.534732e-02 1.356792e-06 + 100 -8.866615388055e+00 -3.486124e-02 1.310118e-06 + 110 -9.157860684583e+00 -3.437936e-02 1.265708e-06 + 120 -9.445065644289e+00 -3.390092e-02 1.223435e-06 + 130 -9.728255950944e+00 -3.342523e-02 1.183180e-06 + 140 -1.000745182635e+01 -3.295167e-02 1.144828e-06 + 150 -1.028266868013e+01 -3.247971e-02 1.108268e-06 + 160 -1.055391775670e+01 -3.200889e-02 1.073396e-06 + 170 -1.082120677550e+01 -3.153881e-02 1.040111e-06 + 180 -1.108454056030e+01 -3.106918e-02 1.008319e-06 + 190 -1.134392165365e+01 -3.059975e-02 9.779312e-07 + 200 -1.159935091250e+01 -3.013035e-02 9.488616e-07 + 210 -1.185082808097e+01 -2.966088e-02 9.210311e-07 + 220 -2.307658315652e+01 -2.660051e+00 3.534559e-02 + 230 -3.129825644760e+01 -8.384921e-02 8.831546e-04 + 240 -3.157478329913e+01 -8.501628e-03 7.365980e-05 + 250 -3.162757137408e+01 -3.007578e-03 8.118567e-04 + 260 -3.166852145652e+01 -6.760182e-03 2.472568e-03 + 270 -3.176521423332e+01 -6.489845e-03 3.635301e-04 + 280 -3.179220352327e+01 -2.631131e-05 6.062148e-07 + 290 -3.179228652997e+01 -8.831259e-07 3.208422e-08 + 300 -3.179228729957e+01 -5.132388e-08 1.166168e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:20:43 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 12.00000 down= 12.00000 (real space) + + + total energy : -3.1792287300e+01 ( -7.94807e+00 /ion) + total orbital energy: 2.6841552423e+01 ( 2.23680e+00 /electron) + hartree energy : 8.0875740830e-01 ( 6.73965e-02 /electron) + exc-corr energy : -2.2041168198e+01 ( -1.83676e+00 /electron) + ion-ion energy : -5.1462581522e+01 ( -1.28656e+01 /ion) + + kinetic (planewave) : 3.6677604642e+01 ( 3.05647e+00 /electron) + V_local (planewave) : 3.8319838624e+01 ( 3.19332e+00 /electron) + V_nl (planewave) : -3.4094738254e+01 ( -2.84123e+00 /electron) + V_Coul (planewave) : 1.6175148166e+00 ( 1.34793e-01 /electron) + V_xc (planewave) : -1.5678667407e+01 ( -1.30656e+00 /electron) + Viral Coefficient : -2.6817597046e-01 + + orbital energy: + 1.4446153e+00 ( 39.310eV) + 1.4446141e+00 ( 39.310eV) + 1.2075227e+00 ( 32.859eV) + 1.2075208e+00 ( 32.859eV) + 1.2040031e+00 ( 32.763eV) + 1.1965068e+00 ( 32.559eV) + 1.1964933e+00 ( 32.558eV) + 1.0077700e+00 ( 27.423eV) + 9.8716725e-01 ( 26.862eV) + 8.7232872e-01 ( 23.737eV) + 8.7232366e-01 ( 23.737eV) + 7.7991047e-01 ( 21.223eV) + +== Center of Charge == + +spin up = ( -0.0000 0.0000 0.0000 ) +spin down = ( -0.0000 0.0000 0.0000 ) + total = ( -0.0000 0.0000 0.0000 ) +ionic = ( 1.3323 1.3323 2.8262 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 31.9749 31.9747 67.8288 ) au +|mu| = 81.5200 au ( 207.1913 Debye ) + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 3.338e-02 + main loop : 1.605e+00 + epilogue : 2.560e-04 + total : 1.638e+00 + cputime/step: 9.974e-04 ( 1609 evaluations, 294 linesearches) + + Time spent doing total step percent + total time 1.888264e+00 1.173564e-03 100.00% + total FFT time 1.932814e-01 1.201252e-04 10.24% + lagrange multipliers 3.952486e-03 2.456486e-06 0.21% + local potentials 1.612500e-05 1.002175e-08 0.00% + non-local potentials 3.030321e-02 1.883357e-05 1.60% + ffm_dgemm 1.006300e-02 6.254193e-06 0.53% + fmf_dgemm 1.661634e-02 1.032712e-05 0.88% + m_diagonalize 3.872325e-03 2.406666e-06 0.21% + mmm_multiply 9.897250e-04 6.151181e-07 0.05% + SCVtrans 5.881430e-04 3.655333e-07 0.03% + + >>> job completed at Fri Feb 24 15:20:43 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:20:43 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + psi grids are being converted: + -----------------------------: + converting .... psi:1 spin:1 + converting .... psi:2 spin:1 + converting .... psi:3 spin:1 + converting .... psi:4 spin:1 + converting .... psi:5 spin:1 + converting .... psi:6 spin:1 + converting .... psi:7 spin:1 + converting .... psi:8 spin:1 + converting .... psi:9 spin:1 + converting .... psi:10 spin:1 + converting .... psi:11 spin:1 + converting .... psi:12 spin:1 + + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.595 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 4 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.66457 0.00000 1.88413 ) - atomic mass = 183.951 + 3 W ( 2.66457 2.66457 3.76827 ) - atomic mass = 183.951 + 4 W ( 0.00000 2.66457 5.65240 ) - atomic mass = 183.951 + G.C. ( 1.33228 1.33228 2.82620 ) + C.O.M. ( 1.33228 1.33228 2.82620 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 12 ( 12 per task) down = 12 ( 12 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.329 0.000 0.000 > + a2 = < 0.000 5.329 0.000 > + a3 = < 0.000 0.000 7.537 > + reciprocal: b1 = < 1.179 0.000 0.000 > + b2 = < 0.000 1.179 0.000 > + b3 = < 0.000 0.000 0.834 > + lattice: a = 5.329 b = 5.329 c = 7.537 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 20.000 fft = 12 x 12 x 16 ( 460 waves 460 per task) + wavefnc cutoff = 10.000 fft = 12 x 12 x 16 ( 160 waves 160 per task) + + Ewald parameters: + energy cutoff = 20.000 fft = 12 x 12 x 16 ( 460 waves 460 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz = 1.68382487 (alpha = 2.71431215 rs = 3.71078182) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:20:43 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -3.617033061710e+01 -3.447767e-05 2.051315e-07 + 20 -3.617035193509e+01 -9.144932e-08 2.233123e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:20:43 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 12.00000 down= 12.00000 (real space) + + + total energy : -3.6170351935e+01 ( -9.04259e+00 /ion) + total orbital energy: 2.3048851372e+01 ( 1.92074e+00 /electron) + hartree energy : 1.2466960309e+00 ( 1.03891e-01 /electron) + exc-corr energy : -2.2474177760e+01 ( -1.87285e+00 /electron) + ion-ion energy : -5.1462581522e+01 ( -1.28656e+01 /ion) + + kinetic (planewave) : 4.2172537419e+01 ( 3.51438e+00 /electron) + V_local (planewave) : 4.2389901334e+01 ( 3.53249e+00 /electron) + V_nl (planewave) : -4.8042727436e+01 ( -4.00356e+00 /electron) + V_Coul (planewave) : 2.4933920618e+00 ( 2.07783e-01 /electron) + V_xc (planewave) : -1.5964252007e+01 ( -1.33035e+00 /electron) + Viral Coefficient : -4.5346301687e-01 + + orbital energy: + 1.2694201e+00 ( 34.543eV) + 1.2694200e+00 ( 34.543eV) + 1.0542936e+00 ( 28.689eV) + 1.0542930e+00 ( 28.689eV) + 1.0521347e+00 ( 28.630eV) + 1.0163764e+00 ( 27.657eV) + 1.0163729e+00 ( 27.657eV) + 8.0982926e-01 ( 22.037eV) + 7.9408393e-01 ( 21.608eV) + 7.3283710e-01 ( 19.942eV) + 7.2768246e-01 ( 19.801eV) + 7.2768240e-01 ( 19.801eV) + +== Center of Charge == + +spin up = ( -0.0000 0.0000 -0.0000 ) +spin down = ( -0.0000 0.0000 -0.0000 ) + total = ( -0.0000 0.0000 -0.0000 ) +ionic = ( 1.3323 1.3323 2.8262 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 31.9748 31.9748 67.8288 ) au +|mu| = 81.5201 au ( 207.1914 Debye ) + + + Ion Forces (au): + 1 W ( -0.00006 0.00001 0.00000 ) + 2 W ( -0.00006 0.00001 -0.00000 ) + 3 W ( 0.00005 -0.00001 0.00000 ) + 4 W ( 0.00006 -0.00001 -0.00000 ) + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 4.121e-02 + main loop : 2.864e-01 + epilogue : 2.864e-03 + total : 3.305e-01 + cputime/step: 4.339e-03 ( 66 evaluations, 16 linesearches) + + Time spent doing total step percent + total time 2.219040e+00 3.362181e-02 100.00% + total FFT time 2.258103e-01 3.421368e-03 10.18% + lagrange multipliers 4.316719e-03 6.540483e-05 0.19% + local potentials 3.744600e-05 5.673636e-07 0.00% + non-local potentials 3.955901e-02 5.993790e-04 1.78% + ffm_dgemm 1.328333e-02 2.012625e-04 0.60% + fmf_dgemm 2.267217e-02 3.435178e-04 1.02% + m_diagonalize 4.615726e-03 6.993524e-05 0.21% + mmm_multiply 1.144970e-03 1.734803e-05 0.05% + SCVtrans 6.751840e-04 1.023006e-05 0.03% + + >>> job completed at Fri Feb 24 15:20:43 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:20:43 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + generating random psi from scratch + Warning - Gram-Schmidt being performed on psi2 + - exact norm = 54 norm=55.9896 corrected norm=54 (error=1.98964) + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.774 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 9 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 28.34589 ) - atomic mass = 183.951 + 2 W ( 0.00000 0.00000 33.09361 ) - atomic mass = 183.951 + 3 W ( 0.00000 0.00000 37.84133 ) - atomic mass = 183.951 + 4 W ( 0.00000 0.00000 42.58905 ) - atomic mass = 183.951 + 5 W ( 0.00000 0.00000 47.33676 ) - atomic mass = 183.951 + 6 W ( 0.00000 0.00000 52.08448 ) - atomic mass = 183.951 + 7 W ( 0.00000 0.00000 56.83220 ) - atomic mass = 183.951 + 8 W ( 0.00000 0.00000 61.57992 ) - atomic mass = 183.951 + 9 W ( 0.00000 0.00000 66.32764 ) - atomic mass = 183.951 + G.C. ( 0.00000 0.00000 47.33676 ) + C.O.M. ( 0.00000 0.00000 47.33676 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 27 ( 27 per task) down = 27 ( 27 per task) + + supercell: + volume = 2134.02 + lattice: a1 = < 4.748 0.000 0.000 > + a2 = < 0.000 4.748 0.000 > + a3 = < 0.000 0.000 94.674 > + reciprocal: b1 = < 1.323 0.000 0.000 > + b2 = < 0.000 1.323 0.000 > + b3 = < 0.000 0.000 0.066 > + lattice: a = 4.748 b = 4.748 c = 94.674 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 10.000 fft = 8 x 8 x 140 ( 1654 waves 1654 per task) + wavefnc cutoff = 5.000 fft = 8 x 8 x 140 ( 614 waves 614 per task) + + Ewald parameters: + energy cutoff = 10.000 fft = 8 x 8 x 140 ( 1654 waves 1654 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz =-28.56716969 (alpha =-46.05004769 rs = 7.98674752) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:20:43 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -1.537543929874e+01 -2.016560e+00 3.077105e-03 + 20 -3.254785807349e+01 -1.663493e+00 2.853796e-03 + 30 -4.810772454500e+01 -1.411329e+00 2.524724e-03 + 40 -5.924331815603e+01 -8.722325e-01 1.601473e-03 + 50 -6.598737094914e+01 -5.386274e-01 1.018644e-03 + 60 -7.047458695974e+01 -3.842901e-01 7.275415e-04 + 70 -7.391410353045e+01 -3.094978e-01 5.927380e-04 + 80 -7.675659679950e+01 -2.575519e-01 5.074834e-04 + 90 -7.908051946463e+01 -2.066346e-01 4.202545e-04 + 100 -8.091371386799e+01 -1.620794e-01 3.417256e-04 + 110 -8.236293503847e+01 -1.299053e-01 2.852820e-04 + 120 -8.354092927149e+01 -1.068684e-01 2.434477e-04 + 130 -8.451154165098e+01 -8.805956e-02 2.067634e-04 + 140 -8.530664269190e+01 -7.198981e-02 1.738582e-04 + 150 -8.596030731896e+01 -5.983311e-02 1.488597e-04 + 160 -8.651711846167e+01 -5.225598e-02 1.343065e-04 + 170 -8.701856676886e+01 -4.832242e-02 1.282183e-04 + 180 -8.748424331332e+01 -4.442332e-02 1.222405e-04 + 190 -8.787610642248e+01 -3.338040e-02 9.947921e-05 + 200 -8.811847068979e+01 -1.693656e-02 5.903923e-05 + 210 -8.830054273921e+01 -3.581922e-03 6.916884e-05 + 220 -8.831280544154e+01 -5.396840e-05 7.863732e-07 + 230 -8.831301827046e+01 -3.445163e-06 4.311563e-08 + 240 -8.831302766242e+01 -1.599960e-07 7.829532e-10 + 250 -8.831302775935e+01 -9.692576e-08 4.617615e-10 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:20:52 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 27.00000 down= 27.00000 (real space) + + + total energy : -8.8313027759e+01 ( -9.81256e+00 /ion) + total orbital energy: -5.1543739929e+00 ( -1.90903e-01 /electron) + hartree energy : 1.9217358728e+03 ( 7.11754e+01 /electron) + exc-corr energy : -4.2845603491e+01 ( -1.58687e+00 /electron) + ion-ion energy : 1.8531858410e+03 ( 2.05910e+02 /ion) + + kinetic (planewave) : 4.3121050224e+01 ( 1.59708e+00 /electron) + V_local (planewave) : -3.8291999293e+03 ( -1.41822e+02 /electron) + V_nl (planewave) : -3.4310258960e+01 ( -1.27075e+00 /electron) + V_Coul (planewave) : 3.8434717456e+03 ( 1.42351e+02 /electron) + V_xc (planewave) : -2.8236981532e+01 ( -1.04581e+00 /electron) + Viral Coefficient : -1.1195326637e+00 + + orbital energy: + 1.2651002e-01 ( 3.443eV) + 1.8839147e-02 ( 0.513eV) + 1.5118032e-02 ( 0.411eV) + -2.7745187e-03 ( -0.075eV) + -4.3030191e-03 ( -0.117eV) + -4.6545708e-03 ( -0.127eV) + -1.4954346e-02 ( -0.407eV) + -1.6336988e-02 ( -0.445eV) + -2.5371336e-02 ( -0.690eV) + -3.3327415e-02 ( -0.907eV) + -3.4658629e-02 ( -0.943eV) + -4.4732074e-02 ( -1.217eV) + -5.0668501e-02 ( -1.379eV) + -5.6656231e-02 ( -1.542eV) + -5.6949941e-02 ( -1.550eV) + -6.8047676e-02 ( -1.852eV) + -9.2316879e-02 ( -2.512eV) + -9.7184443e-02 ( -2.645eV) + -1.2662593e-01 ( -3.446eV) + -1.4011181e-01 ( -3.813eV) + -1.7225396e-01 ( -4.687eV) + -2.0713982e-01 ( -5.637eV) + -2.4175322e-01 ( -6.578eV) + -2.7471999e-01 ( -7.476eV) + -3.0358991e-01 ( -8.261eV) + -3.2631421e-01 ( -8.880eV) + -3.4220877e-01 ( -9.312eV) + +== Center of Charge == + +spin up = ( 0.0000 -0.0000 -0.0000 ) +spin down = ( 0.0000 -0.0000 -0.0000 ) + total = ( 0.0000 -0.0000 -0.0000 ) +ionic = ( 0.0000 0.0000 47.3368 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( -0.0001 0.0000 2556.1878 ) au +|mu| = 2556.1878 au ( 6496.8070 Debye ) + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 3.822e-01 + main loop : 8.069e+00 + epilogue : 2.043e-03 + total : 8.453e+00 + cputime/step: 8.310e-03 ( 971 evaluations, 241 linesearches) + + Time spent doing total step percent + total time 1.067845e+01 1.099737e-02 100.00% + total FFT time 1.073346e+00 1.105403e-03 10.05% + lagrange multipliers 8.767165e-02 9.029006e-05 0.82% + local potentials 1.346950e-04 1.387178e-07 0.00% + non-local potentials 8.071419e-01 8.312481e-04 7.56% + ffm_dgemm 2.842234e-01 2.927121e-04 2.66% + fmf_dgemm 6.105121e-01 6.287457e-04 5.72% + m_diagonalize 1.826974e-02 1.881538e-05 0.17% + mmm_multiply 5.996149e-03 6.175231e-06 0.06% + SCVtrans 2.036032e-03 2.096840e-06 0.02% + + >>> job completed at Fri Feb 24 15:20:52 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:20:52 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + psi grids are being converted: + -----------------------------: + converting .... psi:1 spin:1 + converting .... psi:2 spin:1 + converting .... psi:3 spin:1 + converting .... psi:4 spin:1 + converting .... psi:5 spin:1 + converting .... psi:6 spin:1 + converting .... psi:7 spin:1 + converting .... psi:8 spin:1 + converting .... psi:9 spin:1 + converting .... psi:10 spin:1 + converting .... psi:11 spin:1 + converting .... psi:12 spin:1 + converting .... psi:13 spin:1 + converting .... psi:14 spin:1 + converting .... psi:15 spin:1 + converting .... psi:16 spin:1 + converting .... psi:17 spin:1 + converting .... psi:18 spin:1 + converting .... psi:19 spin:1 + converting .... psi:20 spin:1 + converting .... psi:21 spin:1 + converting .... psi:22 spin:1 + converting .... psi:23 spin:1 + converting .... psi:24 spin:1 + converting .... psi:25 spin:1 + converting .... psi:26 spin:1 + converting .... psi:27 spin:1 + + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.778 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 9 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 28.34589 ) - atomic mass = 183.951 + 2 W ( 0.00000 0.00000 33.09361 ) - atomic mass = 183.951 + 3 W ( 0.00000 0.00000 37.84133 ) - atomic mass = 183.951 + 4 W ( 0.00000 0.00000 42.58905 ) - atomic mass = 183.951 + 5 W ( 0.00000 0.00000 47.33677 ) - atomic mass = 183.951 + 6 W ( 0.00000 0.00000 52.08449 ) - atomic mass = 183.951 + 7 W ( 0.00000 0.00000 56.83220 ) - atomic mass = 183.951 + 8 W ( 0.00000 0.00000 61.57992 ) - atomic mass = 183.951 + 9 W ( 0.00000 0.00000 66.32764 ) - atomic mass = 183.951 + G.C. ( 0.00000 0.00000 47.33677 ) + C.O.M. ( 0.00000 0.00000 47.33677 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 27 ( 27 per task) down = 27 ( 27 per task) + + supercell: + volume = 2134.02 + lattice: a1 = < 4.748 0.000 0.000 > + a2 = < 0.000 4.748 0.000 > + a3 = < 0.000 0.000 94.674 > + reciprocal: b1 = < 1.323 0.000 0.000 > + b2 = < 0.000 1.323 0.000 > + b3 = < 0.000 0.000 0.066 > + lattice: a = 4.748 b = 4.748 c = 94.674 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 20.000 fft = 12 x 12 x 192 ( 4574 waves 4574 per task) + wavefnc cutoff = 10.000 fft = 12 x 12 x 192 ( 1654 waves 1654 per task) + + Ewald parameters: + energy cutoff = 20.000 fft = 12 x 12 x 192 ( 4574 waves 4574 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz =-28.56716969 (alpha =-46.05004769 rs = 7.98674752) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:20:52 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -9.275052119381e+01 -2.122242e-03 2.935377e-05 + 20 -9.275868040192e+01 -9.515326e-05 2.529918e-06 + 30 -9.275878712055e+01 -1.142202e-06 1.213725e-08 + 40 -9.275883858492e+01 -3.931136e-05 2.900787e-06 + 50 -9.275989368099e+01 -1.676866e-04 3.620223e-06 + 60 -9.276172965263e+01 -1.366180e-04 1.437493e-06 + 70 -9.276242641237e+01 -4.950588e-05 9.514774e-07 + 80 -9.276275885983e+01 -2.351096e-05 4.450692e-07 + 90 -9.276288269800e+01 -6.609562e-06 1.250224e-07 + 100 -9.276292451479e+01 -2.485196e-06 4.417831e-08 + 110 -9.276293769116e+01 -6.446969e-07 1.169540e-08 + 120 -9.276294176248e+01 -2.348768e-07 4.151375e-09 + 130 -9.276294233017e+01 -9.807081e-08 1.296479e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:21:02 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 27.00000 down= 27.00000 (real space) + + + total energy : -9.2762942330e+01 ( -1.03070e+01 /ion) + total orbital energy: -5.0623378840e+00 ( -1.87494e-01 /electron) + hartree energy : 1.9260817620e+03 ( 7.13364e+01 /electron) + exc-corr energy : -4.3777835977e+01 ( -1.62140e+00 /electron) + ion-ion energy : 1.8531856136e+03 ( 2.05910e+02 /ion) + + kinetic (planewave) : 5.2807679120e+01 ( 1.95584e+00 /electron) + V_local (planewave) : -3.8274779701e+03 ( -1.41758e+02 /electron) + V_nl (planewave) : -5.3582190935e+01 ( -1.98453e+00 /electron) + V_Coul (planewave) : 3.8521635239e+03 ( 1.42673e+02 /electron) + V_xc (planewave) : -2.8973379949e+01 ( -1.07309e+00 /electron) + Viral Coefficient : -1.0958636692e+00 + + orbital energy: + 1.0091573e-01 ( 2.746eV) + 4.2336667e-02 ( 1.152eV) + 2.1250054e-02 ( 0.578eV) + -4.9936494e-03 ( -0.136eV) + -3.0518213e-02 ( -0.830eV) + -3.4502515e-02 ( -0.939eV) + -4.1369266e-02 ( -1.126eV) + -5.3099040e-02 ( -1.445eV) + -5.7197969e-02 ( -1.556eV) + -5.8820459e-02 ( -1.601eV) + -6.6577151e-02 ( -1.812eV) + -6.8252501e-02 ( -1.857eV) + -7.4315282e-02 ( -2.022eV) + -9.2483451e-02 ( -2.517eV) + -9.7091101e-02 ( -2.642eV) + -9.8701112e-02 ( -2.686eV) + -9.9172297e-02 ( -2.699eV) + -1.1503130e-01 ( -3.130eV) + -1.2350704e-01 ( -3.361eV) + -1.2461151e-01 ( -3.391eV) + -1.3767779e-01 ( -3.746eV) + -1.5539558e-01 ( -4.229eV) + -1.8177422e-01 ( -4.946eV) + -2.1054366e-01 ( -5.729eV) + -2.3653121e-01 ( -6.436eV) + -2.6484631e-01 ( -7.207eV) + -2.6865877e-01 ( -7.311eV) + +== Center of Charge == + +spin up = ( 0.0037 0.0007 0.0001 ) +spin down = ( 0.0037 0.0007 0.0001 ) + total = ( 0.0037 0.0007 0.0001 ) +ionic = ( 0.0000 0.0000 47.3368 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( -0.2017 -0.0359 2556.1810 ) au +|mu| = 2556.1810 au ( 6496.7896 Debye ) + + + Ion Forces (au): + 1 W ( -0.00665 -0.00100 -0.21569 ) + 2 W ( 0.00352 0.00053 -0.00769 ) + 3 W ( 0.00252 0.00038 -0.00345 ) + 4 W ( 0.00056 0.00009 0.00018 ) + 5 W ( 0.00014 0.00003 -0.00010 ) + 6 W ( 0.00056 0.00011 -0.00037 ) + 7 W ( 0.00249 0.00051 0.00324 ) + 8 W ( 0.00347 0.00072 0.00752 ) + 9 W ( -0.00655 -0.00135 0.21561 ) + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 4.685e-01 + main loop : 1.019e+01 + epilogue : 2.268e-02 + total : 1.068e+01 + cputime/step: 2.321e-02 ( 439 evaluations, 124 linesearches) + + Time spent doing total step percent + total time 2.137152e+01 4.868227e-02 100.00% + total FFT time 2.134465e+00 4.862108e-03 9.99% + lagrange multipliers 1.350824e-01 3.077048e-04 0.63% + local potentials 4.644930e-04 1.058071e-06 0.00% + non-local potentials 1.888708e+00 4.302296e-03 8.84% + ffm_dgemm 6.968704e-01 1.587404e-03 3.26% + fmf_dgemm 1.440728e+00 3.281840e-03 6.74% + m_diagonalize 2.611095e-02 5.947825e-05 0.12% + mmm_multiply 8.450231e-03 1.924882e-05 0.04% + SCVtrans 2.974830e-03 6.776378e-06 0.01% + + >>> job completed at Fri Feb 24 15:21:02 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:28:59 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + generating random psi from scratch + Warning - Gram-Schmidt being performed on psi2 + - exact norm = 12 norm=12.2903 corrected norm=12 (error=0.290271) + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.532 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 2 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.99088 2.99088 2.99088 ) - atomic mass = 183.951 + G.C. ( 1.49544 1.49544 1.49544 ) + C.O.M. ( 1.49544 1.49544 1.49544 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 6 ( 6 per task) down = 6 ( 6 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.982 0.000 0.000 > + a2 = < 0.000 5.982 0.000 > + a3 = < 0.000 0.000 5.982 > + reciprocal: b1 = < 1.050 0.000 0.000 > + b2 = < 0.000 1.050 0.000 > + b3 = < 0.000 0.000 1.050 > + lattice: a = 5.982 b = 5.982 c = 5.982 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 10.000 fft = 10 x 10 x 10 ( 171 waves 171 per task) + wavefnc cutoff = 5.000 fft = 10 x 10 x 10 ( 62 waves 62 per task) + + Ewald parameters: + energy cutoff = 10.000 fft = 10 x 10 x 10 ( 171 waves 171 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 3.71078182) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:28:59 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -1.674215046115e+01 -8.251196e-02 9.196301e-04 + 20 -1.749771236403e+01 -1.002147e-01 1.472766e-03 + 30 -1.823150320727e+01 -3.534576e-02 3.524284e-04 + 40 -1.846047982908e+01 -2.204551e-02 2.446432e-04 + 50 -1.868365376681e+01 -1.854154e-02 2.029002e-04 + 60 -1.881117950998e+01 -4.287319e-04 1.464725e-05 + 70 -1.881133499557e+01 -6.036766e-08 1.955112e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:28:59 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 6.00000 down= 6.00000 (real space) + + + total energy : -1.8811334996e+01 ( -9.40567e+00 /ion) + total orbital energy: 6.3205159164e+00 ( 1.05342e+00 /electron) + hartree energy : 1.5018043194e-01 ( 2.50301e-02 /electron) + exc-corr energy : -9.2446725740e+00 ( -1.54078e+00 /electron) + ion-ion energy : -2.1902017722e+01 ( -1.09510e+01 /ion) + + kinetic (planewave) : 1.2028654702e+01 ( 2.00478e+00 /electron) + V_local (planewave) : 9.8433605672e+00 ( 1.64056e+00 /electron) + V_nl (planewave) : -9.6868404003e+00 ( -1.61447e+00 /electron) + V_Coul (planewave) : 3.0036086388e-01 ( 5.00601e-02 /electron) + V_xc (planewave) : -6.1650198159e+00 ( -1.02750e+00 /electron) + Viral Coefficient : -4.7454506982e-01 + + orbital energy: + 6.7570236e-01 ( 18.387eV) + 6.7570093e-01 ( 18.387eV) + 6.7569918e-01 ( 18.387eV) + 4.5449701e-01 ( 12.368eV) + 4.5449681e-01 ( 12.368eV) + 2.2416167e-01 ( 6.100eV) + +== Center of Charge == + +spin up = ( 0.0000 -0.0000 0.0000 ) +spin down = ( 0.0000 -0.0000 0.0000 ) + total = ( 0.0000 -0.0000 0.0000 ) +ionic = ( 1.4954 1.4954 1.4954 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 17.9450 17.9453 17.9452 ) au +|mu| = 31.0820 au ( 78.9979 Debye ) + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 3.997e-01 + main loop : 1.020e-01 + epilogue : 3.020e-04 + total : 5.020e-01 + cputime/step: 3.631e-04 ( 281 evaluations, 69 linesearches) + + Time spent doing total step percent + total time 1.426288e-01 5.075756e-04 100.00% + total FFT time 2.077359e-02 7.392736e-05 14.56% + lagrange multipliers 2.339130e-04 8.324306e-07 0.16% + local potentials 3.102000e-06 1.103915e-08 0.00% + non-local potentials 1.598382e-03 5.688192e-06 1.12% + ffm_dgemm 4.879580e-04 1.736505e-06 0.34% + fmf_dgemm 6.939140e-04 2.469445e-06 0.49% + m_diagonalize 2.252850e-04 8.017260e-07 0.16% + mmm_multiply 4.285000e-05 1.524911e-07 0.03% + SCVtrans 4.666400e-05 1.660641e-07 0.03% + + >>> job completed at Fri Feb 24 15:28:59 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:28:59 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + psi grids are being converted: + -----------------------------: + converting .... psi:1 spin:1 + converting .... psi:2 spin:1 + converting .... psi:3 spin:1 + converting .... psi:4 spin:1 + converting .... psi:5 spin:1 + converting .... psi:6 spin:1 + + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.536 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 2 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.99088 2.99088 2.99088 ) - atomic mass = 183.951 + G.C. ( 1.49544 1.49544 1.49544 ) + C.O.M. ( 1.49544 1.49544 1.49544 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 6 ( 6 per task) down = 6 ( 6 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.982 0.000 0.000 > + a2 = < 0.000 5.982 0.000 > + a3 = < 0.000 0.000 5.982 > + reciprocal: b1 = < 1.050 0.000 0.000 > + b2 = < 0.000 1.050 0.000 > + b3 = < 0.000 0.000 1.050 > + lattice: a = 5.982 b = 5.982 c = 5.982 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 20.000 fft = 14 x 14 x 14 ( 463 waves 463 per task) + wavefnc cutoff = 10.000 fft = 14 x 14 x 14 ( 171 waves 171 per task) + + Ewald parameters: + energy cutoff = 20.000 fft = 14 x 14 x 14 ( 463 waves 463 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 3.71078182) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:28:59 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -2.015461227870e+01 -1.152391e-06 1.541098e-08 + 20 -2.015461250697e+01 -6.884596e-08 1.359336e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:28:59 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 6.00000 down= 6.00000 (real space) + + + total energy : -2.0154612507e+01 ( -1.00773e+01 /ion) + total orbital energy: 5.1934744194e+00 ( 8.65579e-01 /electron) + hartree energy : 2.9548501467e-01 ( 4.92475e-02 /electron) + exc-corr energy : -9.4995084169e+00 ( -1.58325e+00 /electron) + ion-ion energy : -2.1902017722e+01 ( -1.09510e+01 /ion) + + kinetic (planewave) : 1.4375731298e+01 ( 2.39596e+00 /electron) + V_local (planewave) : 1.1537789121e+01 ( 1.92296e+00 /electron) + V_nl (planewave) : -1.4962091802e+01 ( -2.49368e+00 /electron) + V_Coul (planewave) : 5.9097002933e-01 ( 9.84950e-02 /electron) + V_xc (planewave) : -6.3489242272e+00 ( -1.05815e+00 /electron) + Viral Coefficient : -6.3873320169e-01 + + orbital energy: + 5.4868319e-01 ( 14.931eV) + 5.4868125e-01 ( 14.930eV) + 5.4867927e-01 ( 14.930eV) + 3.7006985e-01 ( 10.070eV) + 3.7006983e-01 ( 10.070eV) + 2.1055382e-01 ( 5.730eV) + +== Center of Charge == + +spin up = ( 0.0000 -0.0000 0.0000 ) +spin down = ( 0.0000 -0.0000 0.0000 ) + total = ( 0.0000 -0.0000 0.0000 ) +ionic = ( 1.4954 1.4954 1.4954 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 17.9452 17.9453 17.9453 ) au +|mu| = 31.0821 au ( 78.9982 Debye ) + + + Ion Forces (au): + 1 W ( 0.00000 -0.00000 0.00000 ) + 2 W ( 0.00000 -0.00000 0.00000 ) + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 3.350e-02 + main loop : 6.453e-02 + epilogue : 7.280e-04 + total : 9.876e-02 + cputime/step: 1.218e-03 ( 53 evaluations, 12 linesearches) + + Time spent doing total step percent + total time 2.416496e-01 4.559426e-03 100.00% + total FFT time 4.204099e-02 7.932262e-04 17.40% + lagrange multipliers 3.477750e-04 6.561792e-06 0.14% + local potentials 1.297200e-05 2.447547e-07 0.01% + non-local potentials 2.653162e-03 5.005966e-05 1.10% + ffm_dgemm 7.273210e-04 1.372304e-05 0.30% + fmf_dgemm 1.055990e-03 1.992434e-05 0.44% + m_diagonalize 2.849180e-04 5.375811e-06 0.12% + mmm_multiply 5.157100e-05 9.730377e-07 0.02% + SCVtrans 5.634600e-05 1.063132e-06 0.02% + + >>> job completed at Fri Feb 24 15:28:59 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:28:59 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + generating random psi from scratch + Warning - Gram-Schmidt being performed on psi2 + - exact norm = 24 norm=24.6349 corrected norm=24 (error=0.634911) + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.591 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 4 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.66457 0.00000 1.88413 ) - atomic mass = 183.951 + 3 W ( 2.66457 2.66457 3.76827 ) - atomic mass = 183.951 + 4 W ( 0.00000 2.66457 5.65240 ) - atomic mass = 183.951 + G.C. ( 1.33228 1.33228 2.82620 ) + C.O.M. ( 1.33228 1.33228 2.82620 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 12 ( 12 per task) down = 12 ( 12 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.329 0.000 0.000 > + a2 = < 0.000 5.329 0.000 > + a3 = < 0.000 0.000 7.537 > + reciprocal: b1 = < 1.179 0.000 0.000 > + b2 = < 0.000 1.179 0.000 > + b3 = < 0.000 0.000 0.834 > + lattice: a = 5.329 b = 5.329 c = 7.537 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 10.000 fft = 10 x 10 x 12 ( 160 waves 160 per task) + wavefnc cutoff = 5.000 fft = 10 x 10 x 12 ( 62 waves 62 per task) + + Ewald parameters: + energy cutoff = 10.000 fft = 10 x 10 x 12 ( 160 waves 160 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz = 1.68382487 (alpha = 2.71431215 rs = 3.71078182) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:28:59 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -6.055830132329e+00 -3.950403e-02 1.828100e-06 + 20 -6.385809714715e+00 -3.894785e-02 1.758309e-06 + 30 -6.711168070530e+00 -3.840461e-02 1.691928e-06 + 40 -7.032007984384e+00 -3.787299e-02 1.628803e-06 + 50 -7.348421375629e+00 -3.735174e-02 1.568781e-06 + 60 -7.660489824954e+00 -3.683964e-02 1.511713e-06 + 70 -7.968285124894e+00 -3.633557e-02 1.457453e-06 + 80 -8.271869852255e+00 -3.583846e-02 1.405859e-06 + 90 -8.571297960274e+00 -3.534732e-02 1.356792e-06 + 100 -8.866615388055e+00 -3.486124e-02 1.310118e-06 + 110 -9.157860684583e+00 -3.437936e-02 1.265708e-06 + 120 -9.445065644289e+00 -3.390092e-02 1.223435e-06 + 130 -9.728255950944e+00 -3.342523e-02 1.183180e-06 + 140 -1.000745182635e+01 -3.295167e-02 1.144828e-06 + 150 -1.028266868013e+01 -3.247971e-02 1.108268e-06 + 160 -1.055391775670e+01 -3.200889e-02 1.073396e-06 + 170 -1.082120677550e+01 -3.153881e-02 1.040111e-06 + 180 -1.108454056030e+01 -3.106918e-02 1.008319e-06 + 190 -1.134392165365e+01 -3.059975e-02 9.779312e-07 + 200 -1.159935091250e+01 -3.013035e-02 9.488616e-07 + 210 -1.185082808097e+01 -2.966088e-02 9.210311e-07 + 220 -2.307658315652e+01 -2.660051e+00 3.534559e-02 + 230 -3.129825644760e+01 -8.384921e-02 8.831546e-04 + 240 -3.157478329913e+01 -8.501628e-03 7.365980e-05 + 250 -3.162757137408e+01 -3.007578e-03 8.118567e-04 + 260 -3.166852145652e+01 -6.760182e-03 2.472568e-03 + 270 -3.176521423332e+01 -6.489845e-03 3.635301e-04 + 280 -3.179220352327e+01 -2.631131e-05 6.062148e-07 + 290 -3.179228652997e+01 -8.831259e-07 3.208422e-08 + 300 -3.179228729957e+01 -5.132388e-08 1.166168e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:29:01 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 12.00000 down= 12.00000 (real space) + + + total energy : -3.1792287300e+01 ( -7.94807e+00 /ion) + total orbital energy: 2.6841552423e+01 ( 2.23680e+00 /electron) + hartree energy : 8.0875740830e-01 ( 6.73965e-02 /electron) + exc-corr energy : -2.2041168198e+01 ( -1.83676e+00 /electron) + ion-ion energy : -5.1462581522e+01 ( -1.28656e+01 /ion) + + kinetic (planewave) : 3.6677604642e+01 ( 3.05647e+00 /electron) + V_local (planewave) : 3.8319838624e+01 ( 3.19332e+00 /electron) + V_nl (planewave) : -3.4094738254e+01 ( -2.84123e+00 /electron) + V_Coul (planewave) : 1.6175148166e+00 ( 1.34793e-01 /electron) + V_xc (planewave) : -1.5678667407e+01 ( -1.30656e+00 /electron) + Viral Coefficient : -2.6817597046e-01 + + orbital energy: + 1.4446153e+00 ( 39.310eV) + 1.4446141e+00 ( 39.310eV) + 1.2075227e+00 ( 32.859eV) + 1.2075208e+00 ( 32.859eV) + 1.2040031e+00 ( 32.763eV) + 1.1965068e+00 ( 32.559eV) + 1.1964933e+00 ( 32.558eV) + 1.0077700e+00 ( 27.423eV) + 9.8716725e-01 ( 26.862eV) + 8.7232872e-01 ( 23.737eV) + 8.7232366e-01 ( 23.737eV) + 7.7991047e-01 ( 21.223eV) + +== Center of Charge == + +spin up = ( -0.0000 0.0000 0.0000 ) +spin down = ( -0.0000 0.0000 0.0000 ) + total = ( -0.0000 0.0000 0.0000 ) +ionic = ( 1.3323 1.3323 2.8262 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 31.9749 31.9747 67.8288 ) au +|mu| = 81.5200 au ( 207.1913 Debye ) + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 3.334e-02 + main loop : 1.548e+00 + epilogue : 2.560e-04 + total : 1.581e+00 + cputime/step: 9.618e-04 ( 1609 evaluations, 294 linesearches) + + Time spent doing total step percent + total time 1.826692e+00 1.135297e-03 100.00% + total FFT time 1.862587e-01 1.157605e-04 10.20% + lagrange multipliers 3.785279e-03 2.352566e-06 0.21% + local potentials 1.706600e-05 1.060659e-08 0.00% + non-local potentials 2.940054e-02 1.827255e-05 1.61% + ffm_dgemm 9.762918e-03 6.067693e-06 0.53% + fmf_dgemm 1.612580e-02 1.002225e-05 0.88% + m_diagonalize 3.766893e-03 2.341139e-06 0.21% + mmm_multiply 9.820350e-04 6.103387e-07 0.05% + SCVtrans 5.929350e-04 3.685115e-07 0.03% + + >>> job completed at Fri Feb 24 15:29:01 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:29:01 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + psi grids are being converted: + -----------------------------: + converting .... psi:1 spin:1 + converting .... psi:2 spin:1 + converting .... psi:3 spin:1 + converting .... psi:4 spin:1 + converting .... psi:5 spin:1 + converting .... psi:6 spin:1 + converting .... psi:7 spin:1 + converting .... psi:8 spin:1 + converting .... psi:9 spin:1 + converting .... psi:10 spin:1 + converting .... psi:11 spin:1 + converting .... psi:12 spin:1 + + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.595 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 4 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.66457 0.00000 1.88413 ) - atomic mass = 183.951 + 3 W ( 2.66457 2.66457 3.76827 ) - atomic mass = 183.951 + 4 W ( 0.00000 2.66457 5.65240 ) - atomic mass = 183.951 + G.C. ( 1.33228 1.33228 2.82620 ) + C.O.M. ( 1.33228 1.33228 2.82620 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 12 ( 12 per task) down = 12 ( 12 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.329 0.000 0.000 > + a2 = < 0.000 5.329 0.000 > + a3 = < 0.000 0.000 7.537 > + reciprocal: b1 = < 1.179 0.000 0.000 > + b2 = < 0.000 1.179 0.000 > + b3 = < 0.000 0.000 0.834 > + lattice: a = 5.329 b = 5.329 c = 7.537 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 20.000 fft = 12 x 12 x 16 ( 460 waves 460 per task) + wavefnc cutoff = 10.000 fft = 12 x 12 x 16 ( 160 waves 160 per task) + + Ewald parameters: + energy cutoff = 20.000 fft = 12 x 12 x 16 ( 460 waves 460 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz = 1.68382487 (alpha = 2.71431215 rs = 3.71078182) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:29:01 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -3.617033061710e+01 -3.447767e-05 2.051315e-07 + 20 -3.617035193509e+01 -9.144932e-08 2.233123e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:29:01 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 12.00000 down= 12.00000 (real space) + + + total energy : -3.6170351935e+01 ( -9.04259e+00 /ion) + total orbital energy: 2.3048851372e+01 ( 1.92074e+00 /electron) + hartree energy : 1.2466960309e+00 ( 1.03891e-01 /electron) + exc-corr energy : -2.2474177760e+01 ( -1.87285e+00 /electron) + ion-ion energy : -5.1462581522e+01 ( -1.28656e+01 /ion) + + kinetic (planewave) : 4.2172537419e+01 ( 3.51438e+00 /electron) + V_local (planewave) : 4.2389901334e+01 ( 3.53249e+00 /electron) + V_nl (planewave) : -4.8042727436e+01 ( -4.00356e+00 /electron) + V_Coul (planewave) : 2.4933920618e+00 ( 2.07783e-01 /electron) + V_xc (planewave) : -1.5964252007e+01 ( -1.33035e+00 /electron) + Viral Coefficient : -4.5346301687e-01 + + orbital energy: + 1.2694201e+00 ( 34.543eV) + 1.2694200e+00 ( 34.543eV) + 1.0542936e+00 ( 28.689eV) + 1.0542930e+00 ( 28.689eV) + 1.0521347e+00 ( 28.630eV) + 1.0163764e+00 ( 27.657eV) + 1.0163729e+00 ( 27.657eV) + 8.0982926e-01 ( 22.037eV) + 7.9408393e-01 ( 21.608eV) + 7.3283710e-01 ( 19.942eV) + 7.2768246e-01 ( 19.801eV) + 7.2768240e-01 ( 19.801eV) + +== Center of Charge == + +spin up = ( -0.0000 0.0000 -0.0000 ) +spin down = ( -0.0000 0.0000 -0.0000 ) + total = ( -0.0000 0.0000 -0.0000 ) +ionic = ( 1.3323 1.3323 2.8262 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 31.9748 31.9748 67.8288 ) au +|mu| = 81.5201 au ( 207.1914 Debye ) + + + Ion Forces (au): + 1 W ( -0.00006 0.00001 0.00000 ) + 2 W ( -0.00006 0.00001 -0.00000 ) + 3 W ( 0.00005 -0.00001 0.00000 ) + 4 W ( 0.00006 -0.00001 -0.00000 ) + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 4.004e-02 + main loop : 8.792e-02 + epilogue : 1.494e-03 + total : 1.295e-01 + cputime/step: 1.332e-03 ( 66 evaluations, 16 linesearches) + + Time spent doing total step percent + total time 1.956435e+00 2.964296e-02 100.00% + total FFT time 1.970198e-01 2.985148e-03 10.07% + lagrange multipliers 4.139054e-03 6.271294e-05 0.21% + local potentials 3.264100e-05 4.945606e-07 0.00% + non-local potentials 3.254549e-02 4.931134e-04 1.66% + ffm_dgemm 1.077761e-02 1.632972e-04 0.55% + fmf_dgemm 1.782622e-02 2.700943e-04 0.91% + m_diagonalize 3.999186e-03 6.059373e-05 0.20% + mmm_multiply 1.025057e-03 1.553117e-05 0.05% + SCVtrans 6.170460e-04 9.349182e-06 0.03% + + >>> job completed at Fri Feb 24 15:29:01 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:29:01 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + generating random psi from scratch + Warning - Gram-Schmidt being performed on psi2 + - exact norm = 54 norm=55.9896 corrected norm=54 (error=1.98964) + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.774 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 9 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 28.34589 ) - atomic mass = 183.951 + 2 W ( 0.00000 0.00000 33.09361 ) - atomic mass = 183.951 + 3 W ( 0.00000 0.00000 37.84133 ) - atomic mass = 183.951 + 4 W ( 0.00000 0.00000 42.58905 ) - atomic mass = 183.951 + 5 W ( 0.00000 0.00000 47.33676 ) - atomic mass = 183.951 + 6 W ( 0.00000 0.00000 52.08448 ) - atomic mass = 183.951 + 7 W ( 0.00000 0.00000 56.83220 ) - atomic mass = 183.951 + 8 W ( 0.00000 0.00000 61.57992 ) - atomic mass = 183.951 + 9 W ( 0.00000 0.00000 66.32764 ) - atomic mass = 183.951 + G.C. ( 0.00000 0.00000 47.33676 ) + C.O.M. ( 0.00000 0.00000 47.33676 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 27 ( 27 per task) down = 27 ( 27 per task) + + supercell: + volume = 2134.02 + lattice: a1 = < 4.748 0.000 0.000 > + a2 = < 0.000 4.748 0.000 > + a3 = < 0.000 0.000 94.674 > + reciprocal: b1 = < 1.323 0.000 0.000 > + b2 = < 0.000 1.323 0.000 > + b3 = < 0.000 0.000 0.066 > + lattice: a = 4.748 b = 4.748 c = 94.674 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 10.000 fft = 8 x 8 x 140 ( 1654 waves 1654 per task) + wavefnc cutoff = 5.000 fft = 8 x 8 x 140 ( 614 waves 614 per task) + + Ewald parameters: + energy cutoff = 10.000 fft = 8 x 8 x 140 ( 1654 waves 1654 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz =-28.56716969 (alpha =-46.05004769 rs = 7.98674752) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:29:01 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -1.537543929874e+01 -2.016560e+00 3.077105e-03 + 20 -3.254785807349e+01 -1.663493e+00 2.853796e-03 + 30 -4.810772454500e+01 -1.411329e+00 2.524724e-03 + 40 -5.924331815603e+01 -8.722325e-01 1.601473e-03 + 50 -6.598737094914e+01 -5.386274e-01 1.018644e-03 + 60 -7.047458695974e+01 -3.842901e-01 7.275415e-04 + 70 -7.391410353045e+01 -3.094978e-01 5.927380e-04 + 80 -7.675659679950e+01 -2.575519e-01 5.074834e-04 + 90 -7.908051946463e+01 -2.066346e-01 4.202545e-04 + 100 -8.091371386799e+01 -1.620794e-01 3.417256e-04 + 110 -8.236293503847e+01 -1.299053e-01 2.852820e-04 + 120 -8.354092927149e+01 -1.068684e-01 2.434477e-04 + 130 -8.451154165098e+01 -8.805956e-02 2.067634e-04 + 140 -8.530664269190e+01 -7.198981e-02 1.738582e-04 + 150 -8.596030731896e+01 -5.983311e-02 1.488597e-04 + 160 -8.651711846167e+01 -5.225598e-02 1.343065e-04 + 170 -8.701856676886e+01 -4.832242e-02 1.282183e-04 + 180 -8.748424331332e+01 -4.442332e-02 1.222405e-04 + 190 -8.787610642248e+01 -3.338040e-02 9.947921e-05 + 200 -8.811847068979e+01 -1.693656e-02 5.903923e-05 + 210 -8.830054273921e+01 -3.581922e-03 6.916884e-05 + 220 -8.831280544154e+01 -5.396840e-05 7.863732e-07 + 230 -8.831301827046e+01 -3.445163e-06 4.311563e-08 + 240 -8.831302766242e+01 -1.599960e-07 7.829532e-10 + 250 -8.831302775935e+01 -9.692576e-08 4.617615e-10 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:29:10 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 27.00000 down= 27.00000 (real space) + + + total energy : -8.8313027759e+01 ( -9.81256e+00 /ion) + total orbital energy: -5.1543739929e+00 ( -1.90903e-01 /electron) + hartree energy : 1.9217358728e+03 ( 7.11754e+01 /electron) + exc-corr energy : -4.2845603491e+01 ( -1.58687e+00 /electron) + ion-ion energy : 1.8531858410e+03 ( 2.05910e+02 /ion) + + kinetic (planewave) : 4.3121050224e+01 ( 1.59708e+00 /electron) + V_local (planewave) : -3.8291999293e+03 ( -1.41822e+02 /electron) + V_nl (planewave) : -3.4310258960e+01 ( -1.27075e+00 /electron) + V_Coul (planewave) : 3.8434717456e+03 ( 1.42351e+02 /electron) + V_xc (planewave) : -2.8236981532e+01 ( -1.04581e+00 /electron) + Viral Coefficient : -1.1195326637e+00 + + orbital energy: + 1.2651002e-01 ( 3.443eV) + 1.8839147e-02 ( 0.513eV) + 1.5118032e-02 ( 0.411eV) + -2.7745187e-03 ( -0.075eV) + -4.3030191e-03 ( -0.117eV) + -4.6545708e-03 ( -0.127eV) + -1.4954346e-02 ( -0.407eV) + -1.6336988e-02 ( -0.445eV) + -2.5371336e-02 ( -0.690eV) + -3.3327415e-02 ( -0.907eV) + -3.4658629e-02 ( -0.943eV) + -4.4732074e-02 ( -1.217eV) + -5.0668501e-02 ( -1.379eV) + -5.6656231e-02 ( -1.542eV) + -5.6949941e-02 ( -1.550eV) + -6.8047676e-02 ( -1.852eV) + -9.2316879e-02 ( -2.512eV) + -9.7184443e-02 ( -2.645eV) + -1.2662593e-01 ( -3.446eV) + -1.4011181e-01 ( -3.813eV) + -1.7225396e-01 ( -4.687eV) + -2.0713982e-01 ( -5.637eV) + -2.4175322e-01 ( -6.578eV) + -2.7471999e-01 ( -7.476eV) + -3.0358991e-01 ( -8.261eV) + -3.2631421e-01 ( -8.880eV) + -3.4220877e-01 ( -9.312eV) + +== Center of Charge == + +spin up = ( 0.0000 -0.0000 -0.0000 ) +spin down = ( 0.0000 -0.0000 -0.0000 ) + total = ( 0.0000 -0.0000 -0.0000 ) +ionic = ( 0.0000 0.0000 47.3368 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( -0.0001 0.0000 2556.1878 ) au +|mu| = 2556.1878 au ( 6496.8070 Debye ) + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 3.137e-01 + main loop : 8.214e+00 + epilogue : 1.993e-03 + total : 8.530e+00 + cputime/step: 8.459e-03 ( 971 evaluations, 241 linesearches) + + Time spent doing total step percent + total time 1.049025e+01 1.080355e-02 100.00% + total FFT time 1.059479e+00 1.091122e-03 10.10% + lagrange multipliers 8.753689e-02 9.015128e-05 0.83% + local potentials 1.162330e-04 1.197044e-07 0.00% + non-local potentials 8.105549e-01 8.347630e-04 7.73% + ffm_dgemm 2.886437e-01 2.972643e-04 2.75% + fmf_dgemm 6.242469e-01 6.428907e-04 5.95% + m_diagonalize 1.797765e-02 1.851457e-05 0.17% + mmm_multiply 6.072983e-03 6.254359e-06 0.06% + SCVtrans 2.162798e-03 2.227392e-06 0.02% + + >>> job completed at Fri Feb 24 15:29:10 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:29:10 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + psi grids are being converted: + -----------------------------: + converting .... psi:1 spin:1 + converting .... psi:2 spin:1 + converting .... psi:3 spin:1 + converting .... psi:4 spin:1 + converting .... psi:5 spin:1 + converting .... psi:6 spin:1 + converting .... psi:7 spin:1 + converting .... psi:8 spin:1 + converting .... psi:9 spin:1 + converting .... psi:10 spin:1 + converting .... psi:11 spin:1 + converting .... psi:12 spin:1 + converting .... psi:13 spin:1 + converting .... psi:14 spin:1 + converting .... psi:15 spin:1 + converting .... psi:16 spin:1 + converting .... psi:17 spin:1 + converting .... psi:18 spin:1 + converting .... psi:19 spin:1 + converting .... psi:20 spin:1 + converting .... psi:21 spin:1 + converting .... psi:22 spin:1 + converting .... psi:23 spin:1 + converting .... psi:24 spin:1 + converting .... psi:25 spin:1 + converting .... psi:26 spin:1 + converting .... psi:27 spin:1 + + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.778 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 9 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 28.34589 ) - atomic mass = 183.951 + 2 W ( 0.00000 0.00000 33.09361 ) - atomic mass = 183.951 + 3 W ( 0.00000 0.00000 37.84133 ) - atomic mass = 183.951 + 4 W ( 0.00000 0.00000 42.58905 ) - atomic mass = 183.951 + 5 W ( 0.00000 0.00000 47.33677 ) - atomic mass = 183.951 + 6 W ( 0.00000 0.00000 52.08449 ) - atomic mass = 183.951 + 7 W ( 0.00000 0.00000 56.83220 ) - atomic mass = 183.951 + 8 W ( 0.00000 0.00000 61.57992 ) - atomic mass = 183.951 + 9 W ( 0.00000 0.00000 66.32764 ) - atomic mass = 183.951 + G.C. ( 0.00000 0.00000 47.33677 ) + C.O.M. ( 0.00000 0.00000 47.33677 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 27 ( 27 per task) down = 27 ( 27 per task) + + supercell: + volume = 2134.02 + lattice: a1 = < 4.748 0.000 0.000 > + a2 = < 0.000 4.748 0.000 > + a3 = < 0.000 0.000 94.674 > + reciprocal: b1 = < 1.323 0.000 0.000 > + b2 = < 0.000 1.323 0.000 > + b3 = < 0.000 0.000 0.066 > + lattice: a = 4.748 b = 4.748 c = 94.674 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 20.000 fft = 12 x 12 x 192 ( 4574 waves 4574 per task) + wavefnc cutoff = 10.000 fft = 12 x 12 x 192 ( 1654 waves 1654 per task) + + Ewald parameters: + energy cutoff = 20.000 fft = 12 x 12 x 192 ( 4574 waves 4574 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz =-28.56716969 (alpha =-46.05004769 rs = 7.98674752) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:29:10 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -9.275052119381e+01 -2.122242e-03 2.935377e-05 + 20 -9.275868040192e+01 -9.515326e-05 2.529918e-06 + 30 -9.275878712055e+01 -1.142202e-06 1.213725e-08 + 40 -9.275883858492e+01 -3.931136e-05 2.900787e-06 + 50 -9.275989368099e+01 -1.676866e-04 3.620223e-06 + 60 -9.276172965263e+01 -1.366180e-04 1.437493e-06 + 70 -9.276242641237e+01 -4.950588e-05 9.514774e-07 + 80 -9.276275885983e+01 -2.351096e-05 4.450692e-07 + 90 -9.276288269800e+01 -6.609562e-06 1.250224e-07 + 100 -9.276292451479e+01 -2.485196e-06 4.417831e-08 + 110 -9.276293769116e+01 -6.446969e-07 1.169540e-08 + 120 -9.276294176248e+01 -2.348768e-07 4.151375e-09 + 130 -9.276294233017e+01 -9.807081e-08 1.296479e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:29:21 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 27.00000 down= 27.00000 (real space) + + + total energy : -9.2762942330e+01 ( -1.03070e+01 /ion) + total orbital energy: -5.0623378840e+00 ( -1.87494e-01 /electron) + hartree energy : 1.9260817620e+03 ( 7.13364e+01 /electron) + exc-corr energy : -4.3777835977e+01 ( -1.62140e+00 /electron) + ion-ion energy : 1.8531856136e+03 ( 2.05910e+02 /ion) + + kinetic (planewave) : 5.2807679120e+01 ( 1.95584e+00 /electron) + V_local (planewave) : -3.8274779701e+03 ( -1.41758e+02 /electron) + V_nl (planewave) : -5.3582190935e+01 ( -1.98453e+00 /electron) + V_Coul (planewave) : 3.8521635239e+03 ( 1.42673e+02 /electron) + V_xc (planewave) : -2.8973379949e+01 ( -1.07309e+00 /electron) + Viral Coefficient : -1.0958636692e+00 + + orbital energy: + 1.0091573e-01 ( 2.746eV) + 4.2336667e-02 ( 1.152eV) + 2.1250054e-02 ( 0.578eV) + -4.9936494e-03 ( -0.136eV) + -3.0518213e-02 ( -0.830eV) + -3.4502515e-02 ( -0.939eV) + -4.1369266e-02 ( -1.126eV) + -5.3099040e-02 ( -1.445eV) + -5.7197969e-02 ( -1.556eV) + -5.8820459e-02 ( -1.601eV) + -6.6577151e-02 ( -1.812eV) + -6.8252501e-02 ( -1.857eV) + -7.4315282e-02 ( -2.022eV) + -9.2483451e-02 ( -2.517eV) + -9.7091101e-02 ( -2.642eV) + -9.8701112e-02 ( -2.686eV) + -9.9172297e-02 ( -2.699eV) + -1.1503130e-01 ( -3.130eV) + -1.2350704e-01 ( -3.361eV) + -1.2461151e-01 ( -3.391eV) + -1.3767779e-01 ( -3.746eV) + -1.5539558e-01 ( -4.229eV) + -1.8177422e-01 ( -4.946eV) + -2.1054366e-01 ( -5.729eV) + -2.3653121e-01 ( -6.436eV) + -2.6484631e-01 ( -7.207eV) + -2.6865877e-01 ( -7.311eV) + +== Center of Charge == + +spin up = ( 0.0037 0.0007 0.0001 ) +spin down = ( 0.0037 0.0007 0.0001 ) + total = ( 0.0037 0.0007 0.0001 ) +ionic = ( 0.0000 0.0000 47.3368 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( -0.2017 -0.0359 2556.1810 ) au +|mu| = 2556.1810 au ( 6496.7896 Debye ) + + + Ion Forces (au): + 1 W ( -0.00665 -0.00100 -0.21569 ) + 2 W ( 0.00352 0.00053 -0.00769 ) + 3 W ( 0.00252 0.00038 -0.00345 ) + 4 W ( 0.00056 0.00009 0.00018 ) + 5 W ( 0.00014 0.00003 -0.00010 ) + 6 W ( 0.00056 0.00011 -0.00037 ) + 7 W ( 0.00249 0.00051 0.00324 ) + 8 W ( 0.00347 0.00072 0.00752 ) + 9 W ( -0.00655 -0.00135 0.21561 ) + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 4.693e-01 + main loop : 1.043e+01 + epilogue : 2.300e-02 + total : 1.092e+01 + cputime/step: 2.375e-02 ( 439 evaluations, 124 linesearches) + + Time spent doing total step percent + total time 2.141551e+01 4.878249e-02 100.00% + total FFT time 2.135531e+00 4.864536e-03 9.97% + lagrange multipliers 1.438961e-01 3.277815e-04 0.67% + local potentials 4.699060e-04 1.070401e-06 0.00% + non-local potentials 1.918834e+00 4.370920e-03 8.96% + ffm_dgemm 7.128095e-01 1.623712e-03 3.33% + fmf_dgemm 1.468991e+00 3.346221e-03 6.86% + m_diagonalize 2.585836e-02 5.890287e-05 0.12% + mmm_multiply 8.551421e-03 1.947932e-05 0.04% + SCVtrans 3.197823e-03 7.284335e-06 0.01% + + >>> job completed at Fri Feb 24 15:29:21 2023 <<< diff --git a/examples/QUANTUM/NWChem/log.8Feb23.series.w.bcc.1 b/examples/QUANTUM/NWChem/log.24Feb23.series.w.bcc.1 similarity index 86% rename from examples/QUANTUM/NWChem/log.8Feb23.series.w.bcc.1 rename to examples/QUANTUM/NWChem/log.24Feb23.series.w.bcc.1 index 9cde0168ff..e3aefced14 100644 --- a/examples/QUANTUM/NWChem/log.8Feb23.series.w.bcc.1 +++ b/examples/QUANTUM/NWChem/log.24Feb23.series.w.bcc.1 @@ -6,7 +6,7 @@ Reading data file ... 1 by 1 by 1 MPI processor grid reading atoms ... 2 atoms - read_data CPU = 0.000 seconds + read_data CPU = 0.001 seconds mass 1 183.84 @@ -23,10 +23,10 @@ WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) Per MPI rank memory allocation (min/avg/max) = 2.301 | 2.301 | 2.301 Mbytes Step Temp E_pair E_mol TotEng Press - 0 0 0 0 -577.92971 2.3538612e-305 -Loop time of 5.01e-07 on 1 procs for 0 steps with 2 atoms + 0 0 0 0 -548.43494 0 +Loop time of 5.19e-07 on 1 procs for 0 steps with 2 atoms -0.0% CPU use with 1 MPI tasks x no OpenMP threads +192.7% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -36,7 +36,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 5.01e-07 | | |100.00 +Other | | 5.19e-07 | | |100.00 Nlocal: 2 ave 2 max 2 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/QUANTUM/NWChem/log.24Feb23.series.w.bcc_222.1 b/examples/QUANTUM/NWChem/log.24Feb23.series.w.bcc_222.1 new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/QUANTUM/NWChem/log.8Feb23.series.w.diamond.1 b/examples/QUANTUM/NWChem/log.24Feb23.series.w.diamond.1 similarity index 78% rename from examples/QUANTUM/NWChem/log.8Feb23.series.w.diamond.1 rename to examples/QUANTUM/NWChem/log.24Feb23.series.w.diamond.1 index 5465f5bbef..34e82651e3 100644 --- a/examples/QUANTUM/NWChem/log.8Feb23.series.w.diamond.1 +++ b/examples/QUANTUM/NWChem/log.24Feb23.series.w.diamond.1 @@ -23,10 +23,10 @@ WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) Per MPI rank memory allocation (min/avg/max) = 2.301 | 2.301 | 2.301 Mbytes Step Temp E_pair E_mol TotEng Press - 0 0 0 0 -1052.9159 2.3538612e-305 -Loop time of 6.97e-07 on 1 procs for 0 steps with 4 atoms + 0 0 0 0 -984.24541 0 +Loop time of 5.69e-07 on 1 procs for 0 steps with 4 atoms -143.5% CPU use with 1 MPI tasks x no OpenMP threads +175.7% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -36,7 +36,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 6.97e-07 | | |100.00 +Other | | 5.69e-07 | | |100.00 Nlocal: 4 ave 4 max 4 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -56,5 +56,11 @@ next datafile jump SELF loop -mdi exit -Total wall time: 0:00:00 + units metal + atom_style atomic + atom_modify map yes + comm_modify cutoff 2.0 + + log log.series.${datafile}.$p + log log.series.w.sc_001.$p + log log.series.w.sc_001.1 diff --git a/examples/QUANTUM/NWChem/log.24Feb23.series.w.fcc_001.1 b/examples/QUANTUM/NWChem/log.24Feb23.series.w.fcc_001.1 new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/QUANTUM/NWChem/log.24Feb23.series.w.sc_001.1 b/examples/QUANTUM/NWChem/log.24Feb23.series.w.sc_001.1 new file mode 100644 index 0000000000..b2739a6069 --- /dev/null +++ b/examples/QUANTUM/NWChem/log.24Feb23.series.w.sc_001.1 @@ -0,0 +1,60 @@ + + read_data data.${datafile} + read_data data.w.sc_001 +Reading data file ... + orthogonal box = (0 0 0) to (2.5123846 2.5123846 50.099077) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 9 atoms + read_data CPU = 0.000 seconds + + mass 1 183.84 + + neighbor 1.0 bin + neigh_modify delay 0 every 1 check yes + + fix 1 all mdi/qm elements W connect no + fix_modify 1 energy yes + + #dump 1 all custom 1 dump.series.${datafile}.$p id x y z fx fy fz + + run 0 +WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) +Per MPI rank memory allocation (min/avg/max) = 2.302 | 2.302 | 2.302 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0 0 0 -2524.2082 0 +Loop time of 6.32e-07 on 1 procs for 0 steps with 9 atoms + +158.2% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 6.32e-07 | | |100.00 + +Nlocal: 9 ave 9 max 9 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 27 ave 27 max 27 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + clear + +next datafile + +jump SELF loop + +mdi exit +Total wall time: 0:00:24 diff --git a/examples/QUANTUM/NWChem/log.8Feb23.water.pwdft.qmmm.mpi.2 b/examples/QUANTUM/NWChem/log.24Feb23.water.pwdft.qmmm.mpi.2 similarity index 66% rename from examples/QUANTUM/NWChem/log.8Feb23.water.pwdft.qmmm.mpi.2 rename to examples/QUANTUM/NWChem/log.24Feb23.water.pwdft.qmmm.mpi.2 index a1e9ff42ea..d2a376218b 100644 --- a/examples/QUANTUM/NWChem/log.8Feb23.water.pwdft.qmmm.mpi.2 +++ b/examples/QUANTUM/NWChem/log.24Feb23.water.pwdft.qmmm.mpi.2 @@ -11,11 +11,13 @@ * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Mon Feb 20 12:56:54 2023 <<< + >>> job started at Fri Feb 24 15:21:13 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + generating 1d pseudopotential file: ./O.psp + generating 1d pseudopotential file: ./H.psp initializing nwpw_APC object ---------------------------- @@ -31,7 +33,7 @@ writing formatted psp filename: ./H.vpp generating random psi from scratch Warning - Gram-Schmidt being performed on psi2 - - exact norm = 8.00000 norm=8.87324 corrected norm=8.00000 (error=0.87324) + - exact norm = 8.00000 norm=8.87321 corrected norm=8.00000 (error=0.87321) ============== summary of input ================== @@ -109,21 +111,20 @@ ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Mon Feb 20 12:56:54 2023 <<< + >>> iteration started at Fri Feb 24 15:21:13 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - - 10 steepest descent iterations performed - 10 -1.282472121153e+01 -9.484109e-01 1.779210e-02 - 20 -1.504837267799e+01 -5.497331e-02 3.093676e-04 - 30 -1.573162576628e+01 -7.462479e-02 7.497296e-04 - 40 -1.613937990909e+01 -1.991498e-02 1.005273e-04 - 50 -1.630233932354e+01 -1.501744e-03 1.758004e-04 - 60 -1.630525628588e+01 -1.357997e-05 9.037538e-08 - 70 -1.630527187384e+01 -6.875138e-08 2.522005e-09 - 80 -1.630527202279e+01 -1.101633e-09 1.198576e-11 - 90 -1.630527202342e+01 -6.267697e-10 5.596876e-12 + - 15 steepest descent iterations performed + 10 7.089050560355e+00 -3.582537e+00 6.691960e-04 + 20 -1.361280767460e+01 -6.011694e-01 7.883683e-03 + 30 -1.520563524147e+01 -6.939811e-02 8.410800e-04 + 40 -1.621678465147e+01 -2.325456e-02 3.928303e-04 + 50 -1.630501568133e+01 -6.649672e-04 3.407175e-05 + 60 -1.630527117024e+01 -6.605818e-07 7.042042e-09 + 70 -1.630527201766e+01 -3.772506e-09 2.820925e-11 + 80 -1.630527202296e+01 -9.484040e-10 1.063105e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Mon Feb 20 12:57:02 2023 <<< + >>> iteration ended at Fri Feb 24 15:21:24 2023 <<< ============== energy results (Molecule object) ============== @@ -132,23 +133,23 @@ total energy : -1.6305272023e+01 ( -5.43509e+00 /ion) - total orbital energy: -4.4097830748e+00 ( -1.10245e+00 /electron) - hartree energy : 1.6681806943e+01 ( 4.17045e+00 /electron) - exc-corr energy : -4.0100766982e+00 ( -1.00252e+00 /electron) + total orbital energy: -4.4097516270e+00 ( -1.10244e+00 /electron) + hartree energy : 1.6681840243e+01 ( 4.17046e+00 /electron) + exc-corr energy : -4.0100831603e+00 ( -1.00252e+00 /electron) ion-ion energy : 3.5966388474e+00 ( 1.19888e+00 /ion) - kinetic (planewave) : 9.8614440164e+00 ( 2.46536e+00 /electron) - V_local (planewave) : -4.2645265382e+01 ( -1.06613e+01 /electron) - V_nl (planewave) : 2.1018025023e-01 ( 5.25451e-02 /electron) - V_Coul (planewave) : 3.3363613885e+01 ( 8.34090e+00 /electron) - V_xc (planewave) : -5.1997558448e+00 ( -1.29994e+00 /electron) - Viral Coefficient : -1.4471741732e+00 + kinetic (planewave) : 9.8614765175e+00 ( 2.46537e+00 /electron) + V_local (planewave) : -4.2645329892e+01 ( -1.06613e+01 /electron) + V_nl (planewave) : 2.1018542134e-01 ( 5.25464e-02 /electron) + V_Coul (planewave) : 3.3363680486e+01 ( 8.34092e+00 /electron) + V_xc (planewave) : -5.1997641601e+00 ( -1.29994e+00 /electron) + Viral Coefficient : -1.4471695105e+00 orbital energy: - -2.5264681e-01 ( -6.875eV) - -3.5265599e-01 ( -9.596eV) - -5.0406539e-01 ( -13.716eV) - -1.0955234e+00 ( -29.811eV) + -2.5264288e-01 ( -6.875eV) + -3.5265246e-01 ( -9.596eV) + -5.0406233e-01 ( -13.716eV) + -1.0955181e+00 ( -29.811eV) == Center of Charge == @@ -159,7 +160,7 @@ ionic = ( 0.3418 -0.1460 -0.1893 ) == Molecular Dipole wrt Center of Mass == -mu = ( 0.0649 -0.0819 -0.4407 ) au +mu = ( 0.0649 -0.0820 -0.4407 ) au |mu| = 0.4529 au ( 1.1511 Debye ) @@ -190,7 +191,7 @@ mu = ( 0.0649 -0.0819 -0.4407 ) au 1 O -6.416 6.000 -0.416 2 H -0.792 1.000 0.208 3 H -0.792 1.000 0.208 - Total Q -8.000 8.000 0.000 + Total Q -8.000 8.000 -0.000 Gaussian coefficients of model density @@ -207,25 +208,25 @@ mu = ( 0.0649 -0.0819 -0.4407 ) au ----------------- cputime in seconds - prologue : 7.414e-02 - main loop : 7.386e+00 - epilogue : 8.115e-02 - total : 7.541e+00 - cputime/step: 2.777e-02 ( 266 evaluations, 81 linesearches) + prologue : 1.651e-01 + main loop : 1.070e+01 + epilogue : 1.107e-02 + total : 1.088e+01 + cputime/step: 3.334e-02 ( 321 evaluations, 74 linesearches) Time spent doing total step percent - total time 7.548425e+00 2.837754e-02 100.00% - total FFT time 2.858014e+00 1.074441e-02 37.86% - lagrange multipliers 1.130411e-03 4.249665e-06 0.01% - local potentials 4.969310e-04 1.868162e-06 0.01% - non-local potentials 2.217145e-01 8.335133e-04 2.94% - ffm_dgemm 3.650624e-02 1.372415e-04 0.48% - fmf_dgemm 7.934406e-02 2.982860e-04 1.05% - m_diagonalize 5.609470e-04 2.108823e-06 0.01% - mmm_multiply 5.398400e-05 2.029474e-07 0.00% - SCVtrans 2.167840e-04 8.149774e-07 0.00% + total time 1.088195e+01 3.390017e-02 100.00% + total FFT time 3.089919e+00 9.625917e-03 28.39% + lagrange multipliers 7.903565e-03 2.462170e-05 0.07% + local potentials 4.879860e-04 1.520206e-06 0.00% + non-local potentials 2.865222e-01 8.925924e-04 2.63% + ffm_dgemm 4.862987e-02 1.514949e-04 0.45% + fmf_dgemm 9.401141e-02 2.928704e-04 0.86% + m_diagonalize 6.033740e-04 1.879670e-06 0.01% + mmm_multiply 8.365600e-05 2.606106e-07 0.00% + SCVtrans 2.262810e-04 7.049252e-07 0.00% - >>> job completed at Mon Feb 20 12:57:02 2023 <<< + >>> job completed at Fri Feb 24 15:21:24 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -239,7 +240,7 @@ mu = ( 0.0649 -0.0819 -0.4407 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Mon Feb 20 12:57:02 2023 <<< + >>> job started at Fri Feb 24 15:21:24 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -342,17 +343,17 @@ mu = ( 0.0649 -0.0819 -0.4407 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Mon Feb 20 12:57:03 2023 <<< + >>> iteration started at Fri Feb 24 15:21:24 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - - 10 steepest descent iterations performed - 10 -1.709563331682e+01 -6.201474e-04 4.252837e-06 - 20 -1.709727702920e+01 -1.395637e-05 2.324058e-07 - 30 -1.709728935245e+01 -1.652115e-07 9.383449e-10 - 40 -1.709728957157e+01 -1.887361e-09 1.156676e-11 - 50 -1.709728957459e+01 -8.626913e-10 2.856988e-12 + - 15 steepest descent iterations performed + 10 -1.709552616063e+01 -9.067013e-04 1.096191e-05 + 20 -1.709727426392e+01 -1.254198e-05 1.221740e-07 + 30 -1.709728930760e+01 -1.755586e-07 2.870571e-09 + 40 -1.709728957060e+01 -2.322675e-09 1.887065e-11 + 50 -1.709728957412e+01 -8.859047e-10 2.923518e-12 *** tolerance ok. iteration terminated - >>> iteration ended at Mon Feb 20 12:57:21 2023 <<< + >>> iteration ended at Fri Feb 24 15:21:42 2023 <<< ============== energy results (Molecule object) ============== @@ -360,24 +361,24 @@ mu = ( 0.0649 -0.0819 -0.4407 ) au number of electrons: spin up= 4.00000 down= 4.00000 (real space) - total energy : -1.7097289575e+01 ( -5.69910e+00 /ion) - total orbital energy: -4.0996983017e+00 ( -1.02492e+00 /electron) - hartree energy : 1.7847984203e+01 ( 4.46200e+00 /electron) - exc-corr energy : -4.2204936664e+00 ( -1.05512e+00 /electron) + total energy : -1.7097289574e+01 ( -5.69910e+00 /ion) + total orbital energy: -4.0997000514e+00 ( -1.02493e+00 /electron) + hartree energy : 1.7847982432e+01 ( 4.46200e+00 /electron) + exc-corr energy : -4.2204935359e+00 ( -1.05512e+00 /electron) ion-ion energy : 3.5966388474e+00 ( 1.19888e+00 /ion) - kinetic (planewave) : 1.2079256817e+01 ( 3.01981e+00 /electron) - V_local (planewave) : -4.5359046108e+01 ( -1.13398e+01 /electron) - V_nl (planewave) : -1.0416296672e+00 ( -2.60407e-01 /electron) - V_Coul (planewave) : 3.5695968406e+01 ( 8.92399e+00 /electron) - V_xc (planewave) : -5.4742477490e+00 ( -1.36856e+00 /electron) - Viral Coefficient : -1.3393998790e+00 + kinetic (planewave) : 1.2079267853e+01 ( 3.01982e+00 /electron) + V_local (planewave) : -4.5359049925e+01 ( -1.13398e+01 /electron) + V_nl (planewave) : -1.0416352451e+00 ( -2.60409e-01 /electron) + V_Coul (planewave) : 3.5695964864e+01 ( 8.92399e+00 /electron) + V_xc (planewave) : -5.4742475975e+00 ( -1.36856e+00 /electron) + Viral Coefficient : -1.3393997137e+00 orbital energy: - -2.6700298e-01 ( -7.266eV) - -3.3720535e-01 ( -9.176eV) - -5.0189171e-01 ( -13.657eV) - -9.4374911e-01 ( -25.681eV) + -2.6700325e-01 ( -7.266eV) + -3.3720556e-01 ( -9.176eV) + -5.0189188e-01 ( -13.657eV) + -9.4374933e-01 ( -25.681eV) == Center of Charge == @@ -419,7 +420,7 @@ mu = ( 0.0958 -0.1200 -0.6599 ) au 1 O -6.631 6.000 -0.631 2 H -0.684 1.000 0.316 3 H -0.685 1.000 0.315 - Total Q -8.000 8.000 -0.000 + Total Q -8.000 8.000 0.000 Gaussian coefficients of model density @@ -436,25 +437,25 @@ mu = ( 0.0958 -0.1200 -0.6599 ) au ----------------- cputime in seconds - prologue : 6.445e-01 - main loop : 1.828e+01 - epilogue : 3.521e-02 - total : 1.896e+01 - cputime/step: 1.243e-01 ( 147 evaluations, 43 linesearches) + prologue : 2.196e-01 + main loop : 1.797e+01 + epilogue : 3.373e-02 + total : 1.823e+01 + cputime/step: 1.175e-01 ( 153 evaluations, 43 linesearches) Time spent doing total step percent - total time 2.675356e+01 1.819970e-01 100.00% - total FFT time 1.037673e+01 7.059000e-02 38.79% - lagrange multipliers 7.427833e-03 5.052948e-05 0.03% - local potentials 2.559497e-03 1.741154e-05 0.01% - non-local potentials 6.055847e-01 4.119623e-03 2.26% - ffm_dgemm 1.195172e-01 8.130420e-04 0.45% - fmf_dgemm 2.443493e-01 1.662240e-03 0.91% - m_diagonalize 1.001444e-03 6.812544e-06 0.00% - mmm_multiply 9.446600e-05 6.426259e-07 0.00% - SCVtrans 3.680540e-04 2.503769e-06 0.00% + total time 2.914616e+01 1.904977e-01 100.00% + total FFT time 8.491301e+00 5.549870e-02 29.13% + lagrange multipliers 1.597690e-02 1.044242e-04 0.05% + local potentials 2.137926e-03 1.397337e-05 0.01% + non-local potentials 6.779523e-01 4.431061e-03 2.33% + ffm_dgemm 1.292102e-01 8.445109e-04 0.44% + fmf_dgemm 2.557188e-01 1.671365e-03 0.88% + m_diagonalize 1.039458e-03 6.793843e-06 0.00% + mmm_multiply 1.326820e-04 8.672026e-07 0.00% + SCVtrans 3.666890e-04 2.396660e-06 0.00% - >>> job completed at Mon Feb 20 12:57:21 2023 <<< + >>> job completed at Fri Feb 24 15:21:42 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -468,7 +469,7 @@ mu = ( 0.0958 -0.1200 -0.6599 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Mon Feb 20 12:57:21 2023 <<< + >>> job started at Fri Feb 24 15:21:42 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -574,17 +575,17 @@ mu = ( 0.0958 -0.1200 -0.6599 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Mon Feb 20 12:57:21 2023 <<< + >>> iteration started at Fri Feb 24 15:21:42 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - - 10 steepest descent iterations performed - 10 -1.719854750859e+01 -5.739063e-05 1.086836e-06 - 20 -1.719866697103e+01 -1.561352e-06 7.029033e-08 - 30 -1.719867013369e+01 -4.633683e-08 1.534761e-10 - 40 -1.719867027116e+01 -2.334851e-09 4.231103e-11 - 50 -1.719867027638e+01 -8.357333e-10 1.415687e-11 + - 15 steepest descent iterations performed + 10 -1.719850750633e+01 -7.489611e-05 1.916852e-06 + 20 -1.719866545101e+01 -1.621992e-06 1.219779e-08 + 30 -1.719867005773e+01 -6.392141e-08 5.380553e-10 + 40 -1.719867026700e+01 -2.809305e-09 2.902516e-11 + 50 -1.719867027685e+01 -8.940333e-10 2.138434e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Mon Feb 20 12:57:59 2023 <<< + >>> iteration ended at Fri Feb 24 15:22:20 2023 <<< ============== energy results (Molecule object) ============== @@ -596,29 +597,29 @@ mu = ( 0.0958 -0.1200 -0.6599 ) au 0.032168321 0.018471985 0.019170642 APC Point Charges: - -0.742599484 0.372218634 0.370380850 + -0.742594436 0.372215878 0.370378558 - total energy : -1.7198670276e+01 ( -5.73289e+00 /ion) - total orbital energy: -4.1186005524e+00 ( -1.02965e+00 /electron) - hartree energy : 1.8012763373e+01 ( 4.50319e+00 /electron) - exc-corr energy : -4.2447731089e+00 ( -1.06119e+00 /electron) - APC energy : -9.9121231919e-03 ( -3.30404e-03 /ion) + total energy : -1.7198670277e+01 ( -5.73289e+00 /ion) + total orbital energy: -4.1185950705e+00 ( -1.02965e+00 /electron) + hartree energy : 1.8012769231e+01 ( 4.50319e+00 /electron) + exc-corr energy : -4.2447746684e+00 ( -1.06119e+00 /electron) + APC energy : -9.9120556529e-03 ( -3.30402e-03 /ion) ion-ion energy : 3.5966383352e+00 ( 1.19888e+00 /ion) - kinetic (planewave) : 1.2411600602e+01 ( 3.10290e+00 /electron) - V_local (planewave) : -4.5793468975e+01 ( -1.14484e+01 /electron) - V_nl (planewave) : -1.2574819138e+00 ( -3.14370e-01 /electron) - V_Coul (planewave) : 3.6025526747e+01 ( 9.00638e+00 /electron) - V_xc (planewave) : -5.5047770129e+00 ( -1.37619e+00 /electron) - K.S. V_APC energy : -8.5963533407e-02 ( -2.86545e-02 /ion) - Viral Coefficient : -1.3318347637e+00 + kinetic (planewave) : 1.2411625114e+01 ( 3.10291e+00 /electron) + V_local (planewave) : -4.5793490062e+01 ( -1.14484e+01 /electron) + V_nl (planewave) : -1.2574896366e+00 ( -3.14372e-01 /electron) + V_Coul (planewave) : 3.6025538461e+01 ( 9.00638e+00 /electron) + V_xc (planewave) : -5.5047789472e+00 ( -1.37619e+00 /electron) + K.S. V_APC energy : -8.5963465868e-02 ( -2.86545e-02 /ion) + Viral Coefficient : -1.3318336666e+00 orbital energy: - -2.7467794e-01 ( -7.474eV) - -3.4392861e-01 ( -9.359eV) - -5.0664632e-01 ( -13.787eV) - -9.3404742e-01 ( -25.417eV) + -2.7467713e-01 ( -7.474eV) + -3.4392777e-01 ( -9.359eV) + -5.0664594e-01 ( -13.787eV) + -9.3404670e-01 ( -25.417eV) == Center of Charge == @@ -662,7 +663,7 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au 0.032168321 0.018471985 0.019170642 APC Point Charges: - -0.742599484 0.372218634 0.370380850 + -0.742594436 0.372215878 0.370378558 charge analysis on each atom @@ -690,25 +691,25 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au ----------------- cputime in seconds - prologue : 3.135e-01 - main loop : 3.740e+01 - epilogue : 9.586e-02 - total : 3.781e+01 - cputime/step: 2.527e-01 ( 148 evaluations, 44 linesearches) + prologue : 3.181e-01 + main loop : 3.806e+01 + epilogue : 9.161e-02 + total : 3.847e+01 + cputime/step: 2.409e-01 ( 158 evaluations, 46 linesearches) Time spent doing total step percent - total time 6.464663e+01 4.368016e-01 100.00% - total FFT time 2.516005e+01 1.700003e-01 38.92% - lagrange multipliers 1.853756e-02 1.252538e-04 0.03% - local potentials 2.839844e-01 1.918813e-03 0.44% - non-local potentials 1.327892e+00 8.972243e-03 2.05% - ffm_dgemm 2.970267e-01 2.006937e-03 0.46% - fmf_dgemm 6.109663e-01 4.128151e-03 0.95% - m_diagonalize 1.406131e-03 9.500885e-06 0.00% - mmm_multiply 1.389650e-04 9.389527e-07 0.00% - SCVtrans 5.343670e-04 3.610588e-06 0.00% + total time 6.766889e+01 4.282841e-01 100.00% + total FFT time 1.932203e+01 1.222913e-01 28.55% + lagrange multipliers 3.219883e-02 2.037901e-04 0.05% + local potentials 2.973460e-01 1.881937e-03 0.44% + non-local potentials 1.436583e+00 9.092295e-03 2.12% + ffm_dgemm 3.027219e-01 1.915962e-03 0.45% + fmf_dgemm 6.203377e-01 3.926188e-03 0.92% + m_diagonalize 1.390513e-03 8.800715e-06 0.00% + mmm_multiply 1.933130e-04 1.223500e-06 0.00% + SCVtrans 5.217430e-04 3.302171e-06 0.00% - >>> job completed at Mon Feb 20 12:57:59 2023 <<< + >>> job completed at Fri Feb 24 15:22:20 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -722,7 +723,7 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Mon Feb 20 12:57:59 2023 <<< + >>> job started at Fri Feb 24 15:22:21 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -735,9 +736,9 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au APC gamma: 0 0.60000 APC gamma: 1 0.90000 APC gamma: 2 1.35000 - APC u: 1 0.03217 - APC u: 2 0.01848 - APC u: 3 0.01917 + APC u: 1 0.03222 + APC u: 2 0.01845 + APC u: 3 0.01924 - self-consistent reading formatted psp filename: ./O.vpp @@ -781,11 +782,11 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au O : 1 H : 2 initial ion positions (au): - 1 O ( 0.30530 -0.09999 0.06269 ) - atomic mass = 15.995 - 2 H ( 1.51755 0.69755 -0.96692 ) - atomic mass = 1.008 - 3 H ( -0.61523 -1.26531 -0.92326 ) - atomic mass = 1.008 - G.C. ( 0.40254 -0.22258 -0.60916 ) - C.O.M. ( 0.32163 -0.12057 -0.05011 ) + 1 O ( 0.30503 -0.09919 0.06234 ) - atomic mass = 15.995 + 2 H ( 1.52203 0.69367 -0.97143 ) - atomic mass = 1.008 + 3 H ( -0.61843 -1.26564 -0.91994 ) - atomic mass = 1.008 + G.C. ( 0.40288 -0.22372 -0.60968 ) + C.O.M. ( 0.32146 -0.12010 -0.05049 ) real space Electric field: Electric Field (au) = ( 0.00000 0.00000 0.00000 ) @@ -821,12 +822,14 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Mon Feb 20 12:57:59 2023 <<< + >>> iteration started at Fri Feb 24 15:22:21 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 10 -1.719867286753e+01 -6.807603e-10 2.321482e-11 + 10 -1.719868650088e+01 -1.191274e-07 1.696566e-09 + 20 -1.719868671143e+01 -2.961066e-09 1.371379e-10 + 30 -1.719868671344e+01 -8.149925e-10 3.387972e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Mon Feb 20 12:58:00 2023 <<< + >>> iteration ended at Fri Feb 24 15:22:37 2023 <<< ============== energy results (Molecule object) ============== @@ -835,50 +838,50 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au APC Potential: - 0.032174976 0.018475289 0.019174010 + 0.032223202 0.018452127 0.019238906 APC Point Charges: - -0.742603988 0.372221498 0.370382490 + -0.742376012 0.372052606 0.370323406 - total energy : -1.7198672868e+01 ( -5.73289e+00 /ion) - total orbital energy: -4.1185877728e+00 ( -1.02965e+00 /electron) - hartree energy : 1.8012764978e+01 ( 4.50319e+00 /electron) - exc-corr energy : -4.2447737993e+00 ( -1.06119e+00 /electron) - APC energy : -9.9146481410e-03 ( -3.30488e-03 /ion) - ion-ion energy : 3.5966070435e+00 ( 1.19887e+00 /ion) + total energy : -1.7198686713e+01 ( -5.73290e+00 /ion) + total orbital energy: -4.1166502885e+00 ( -1.02916e+00 /electron) + hartree energy : 1.8007018470e+01 ( 4.50175e+00 /electron) + exc-corr energy : -4.2437902824e+00 ( -1.06095e+00 /electron) + APC energy : -9.9319531287e-03 ( -3.31065e-03 /ion) + ion-ion energy : 3.5890677515e+00 ( 1.19636e+00 /ion) - kinetic (planewave) : 1.2411604235e+01 ( 3.10290e+00 /electron) - V_local (planewave) : -4.5793466800e+01 ( -1.14484e+01 /electron) - V_nl (planewave) : -1.2574773464e+00 ( -3.14369e-01 /electron) - V_Coul (planewave) : 3.6025529957e+01 ( 9.00638e+00 /electron) - V_xc (planewave) : -5.5047778183e+00 ( -1.37619e+00 /electron) - K.S. V_APC energy : -8.5983469377e-02 ( -2.86612e-02 /ion) - Viral Coefficient : -1.3318336369e+00 + kinetic (planewave) : 1.2407479136e+01 ( 3.10187e+00 /electron) + V_local (planewave) : -4.5778699818e+01 ( -1.14447e+01 /electron) + V_nl (planewave) : -1.2559710907e+00 ( -3.13993e-01 /electron) + V_Coul (planewave) : 3.6014036940e+01 ( 9.00351e+00 /electron) + V_xc (planewave) : -5.5034954556e+00 ( -1.37587e+00 /electron) + K.S. V_APC energy : -8.6141073670e-02 ( -2.87137e-02 /ion) + Viral Coefficient : -1.3317878067e+00 orbital energy: - -2.7467727e-01 ( -7.474eV) - -3.4393166e-01 ( -9.359eV) - -5.0664047e-01 ( -13.786eV) - -9.3404449e-01 ( -25.417eV) + -2.7460161e-01 ( -7.472eV) + -3.4383641e-01 ( -9.356eV) + -5.0628239e-01 ( -13.777eV) + -9.3360475e-01 ( -25.405eV) == Center of Charge == -spin up = ( 0.3274 -0.1283 -0.0913 ) -spin down = ( 0.3274 -0.1283 -0.0913 ) - total = ( 0.3274 -0.1283 -0.0913 ) -ionic = ( 0.3418 -0.1460 -0.1893 ) +spin up = ( 0.3272 -0.1280 -0.0917 ) +spin down = ( 0.3272 -0.1280 -0.0917 ) + total = ( 0.3272 -0.1280 -0.0917 ) +ionic = ( 0.3417 -0.1459 -0.1897 ) == Molecular Dipole wrt Center of Mass == -mu = ( 0.1153 -0.1410 -0.7838 ) au -|mu| = 0.8047 au ( 2.0451 Debye ) +mu = ( 0.1158 -0.1433 -0.7837 ) au +|mu| = 0.8051 au ( 2.0461 Debye ) Ion Forces (au): - 1 O ( 0.00016 -0.00158 0.00552 ) - 2 H ( -0.00083 -0.00158 -0.00229 ) - 3 H ( 0.00230 0.00170 -0.00151 ) + 1 O ( 0.00121 -0.00087 0.00470 ) + 2 H ( -0.00200 -0.00237 -0.00137 ) + 3 H ( 0.00241 0.00177 -0.00154 ) @@ -901,10 +904,10 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au - self-consistent APC Potential: - 0.032174976 0.018475289 0.019174010 + 0.032223202 0.018452127 0.019238906 APC Point Charges: - -0.742603988 0.372221498 0.370382490 + -0.742376012 0.372052606 0.370323406 charge analysis on each atom @@ -912,7 +915,7 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au no atom Qelc Qion Qtotal ----- ---- ------- ------- ------- - 1 O -6.743 6.000 -0.743 + 1 O -6.742 6.000 -0.742 2 H -0.628 1.000 0.372 3 H -0.630 1.000 0.370 Total Q -8.000 8.000 0.000 @@ -923,34 +926,34 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au no atom g=0.000 g=0.600 g=0.900 g=1.350 ----- ---- ------- ------- ------- ------- - 1 O 6.000 -1.098 -2.076 -3.570 - 2 H 1.000 -0.718 0.776 -0.685 - 3 H 1.000 -0.718 0.778 -0.689 + 1 O 6.000 -1.096 -2.076 -3.570 + 2 H 1.000 -0.717 0.776 -0.686 + 3 H 1.000 -0.719 0.780 -0.690 output psi to filename: ./nwchemex.movecs ----------------- cputime in seconds - prologue : 2.214e-01 - main loop : 1.030e+00 - epilogue : 9.611e-02 - total : 1.348e+00 - cputime/step: 2.576e-01 ( 4 evaluations, 1 linesearches) + prologue : 2.151e-01 + main loop : 1.673e+01 + epilogue : 9.486e-02 + total : 1.704e+01 + cputime/step: 2.424e-01 ( 69 evaluations, 22 linesearches) Time spent doing total step percent - total time 6.604688e+01 1.651172e+01 100.00% - total FFT time 2.555931e+01 6.389827e+00 38.70% - lagrange multipliers 1.853756e-02 4.634389e-03 0.03% - local potentials 2.971789e-01 7.429473e-02 0.45% - non-local potentials 1.360641e+00 3.401602e-01 2.06% - ffm_dgemm 3.019507e-01 7.548767e-02 0.46% - fmf_dgemm 6.190920e-01 1.547730e-01 0.94% - m_diagonalize 1.429935e-03 3.574837e-04 0.00% - mmm_multiply 1.401450e-04 3.503625e-05 0.00% - SCVtrans 5.391370e-04 1.347842e-04 0.00% + total time 8.474417e+01 1.228176e+00 100.00% + total FFT time 2.406928e+01 3.488302e-01 28.40% + lagrange multipliers 3.219883e-02 4.666497e-04 0.04% + local potentials 4.298287e-01 6.229401e-03 0.51% + non-local potentials 1.774054e+00 2.571092e-02 2.09% + ffm_dgemm 3.831397e-01 5.552749e-03 0.45% + fmf_dgemm 7.904935e-01 1.145643e-02 0.93% + m_diagonalize 1.603273e-03 2.323584e-05 0.00% + mmm_multiply 2.215800e-04 3.211304e-06 0.00% + SCVtrans 5.952880e-04 8.627362e-06 0.00% - >>> job completed at Mon Feb 20 12:58:00 2023 <<< + >>> job completed at Fri Feb 24 15:22:38 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -964,7 +967,7 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Mon Feb 20 12:58:00 2023 <<< + >>> job started at Fri Feb 24 15:22:38 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -977,9 +980,9 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au APC gamma: 0 0.60000 APC gamma: 1 0.90000 APC gamma: 2 1.35000 - APC u: 1 0.03219 - APC u: 2 0.01849 - APC u: 3 0.01918 + APC u: 1 0.03229 + APC u: 2 0.01844 + APC u: 3 0.01931 - self-consistent reading formatted psp filename: ./O.vpp @@ -1023,11 +1026,11 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au O : 1 H : 2 initial ion positions (au): - 1 O ( 0.30530 -0.09999 0.06270 ) - atomic mass = 15.995 - 2 H ( 1.51756 0.69753 -0.96698 ) - atomic mass = 1.008 - 3 H ( -0.61520 -1.26530 -0.92331 ) - atomic mass = 1.008 - G.C. ( 0.40256 -0.22259 -0.60920 ) - C.O.M. ( 0.32163 -0.12057 -0.05011 ) + 1 O ( 0.30476 -0.09839 0.06200 ) - atomic mass = 15.995 + 2 H ( 1.52650 0.68976 -0.97599 ) - atomic mass = 1.008 + 3 H ( -0.62160 -1.26596 -0.91667 ) - atomic mass = 1.008 + G.C. ( 0.40322 -0.22486 -0.61022 ) + C.O.M. ( 0.32130 -0.11963 -0.05087 ) real space Electric field: Electric Field (au) = ( 0.00000 0.00000 0.00000 ) @@ -1063,12 +1066,14 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Mon Feb 20 12:58:01 2023 <<< + >>> iteration started at Fri Feb 24 15:22:38 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 10 -1.719868062972e+01 -9.419665e-10 5.922204e-11 + 10 -1.719870171703e+01 -1.219497e-07 1.764004e-09 + 20 -1.719870193981e+01 -3.368982e-09 1.558810e-10 + 30 -1.719870194210e+01 -9.363497e-10 3.900300e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Mon Feb 20 12:58:03 2023 <<< + >>> iteration ended at Fri Feb 24 15:22:55 2023 <<< ============== energy results (Molecule object) ============== @@ -1077,50 +1082,50 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au APC Potential: - 0.032194911 0.018485184 0.019184100 + 0.032291213 0.018438825 0.019314020 APC Point Charges: - -0.742638641 0.372241291 0.370397350 + -0.742099302 0.371855945 0.370243357 - total energy : -1.7198680630e+01 ( -5.73289e+00 /ion) - total orbital energy: -4.1185937828e+00 ( -1.02965e+00 /electron) - hartree energy : 1.8012723256e+01 ( 4.50318e+00 /electron) - exc-corr energy : -4.2447666970e+00 ( -1.06119e+00 /electron) - APC energy : -9.9224962705e-03 ( -3.30750e-03 /ion) - ion-ion energy : 3.5965135890e+00 ( 1.19884e+00 /ion) + total energy : -1.7198701942e+01 ( -5.73290e+00 /ion) + total orbital energy: -4.1147470461e+00 ( -1.02869e+00 /electron) + hartree energy : 1.8001173039e+01 ( 4.50029e+00 /electron) + exc-corr energy : -4.2427911326e+00 ( -1.06070e+00 /electron) + APC energy : -9.9558122358e-03 ( -3.31860e-03 /ion) + ion-ion energy : 3.5814159310e+00 ( 1.19381e+00 /ion) - kinetic (planewave) : 1.2411587836e+01 ( 3.10290e+00 /electron) - V_local (planewave) : -4.5793387800e+01 ( -1.14483e+01 /electron) - V_nl (planewave) : -1.2574717978e+00 ( -3.14368e-01 /electron) - V_Coul (planewave) : 3.6025446512e+01 ( 9.00636e+00 /electron) - V_xc (planewave) : -5.5047685322e+00 ( -1.37619e+00 /electron) - K.S. V_APC energy : -8.6043480840e-02 ( -2.86812e-02 /ion) - Viral Coefficient : -1.3318345595e+00 + kinetic (planewave) : 1.2403251297e+01 ( 3.10081e+00 /electron) + V_local (planewave) : -4.5763742197e+01 ( -1.14409e+01 /electron) + V_nl (planewave) : -1.2544095856e+00 ( -3.13602e-01 /electron) + V_Coul (planewave) : 3.6002346078e+01 ( 9.00059e+00 /electron) + V_xc (planewave) : -5.5021926385e+00 ( -1.37555e+00 /electron) + K.S. V_APC energy : -8.6356518226e-02 ( -2.87855e-02 /ion) + Viral Coefficient : -1.3317474545e+00 orbital energy: - -2.7468030e-01 ( -7.474eV) - -3.4394195e-01 ( -9.359eV) - -5.0663062e-01 ( -13.786eV) - -9.3404403e-01 ( -25.417eV) + -2.7453321e-01 ( -7.470eV) + -3.4375720e-01 ( -9.354eV) + -5.0591516e-01 ( -13.767eV) + -9.3316795e-01 ( -25.393eV) == Center of Charge == -spin up = ( 0.3274 -0.1283 -0.0913 ) -spin down = ( 0.3274 -0.1283 -0.0913 ) - total = ( 0.3274 -0.1283 -0.0913 ) -ionic = ( 0.3418 -0.1460 -0.1893 ) +spin up = ( 0.3271 -0.1276 -0.0921 ) +spin down = ( 0.3271 -0.1276 -0.0921 ) + total = ( 0.3271 -0.1276 -0.0921 ) +ionic = ( 0.3417 -0.1458 -0.1901 ) == Molecular Dipole wrt Center of Mass == -mu = ( 0.1153 -0.1410 -0.7839 ) au -|mu| = 0.8048 au ( 2.0454 Debye ) +mu = ( 0.1164 -0.1456 -0.7836 ) au +|mu| = 0.8054 au ( 2.0471 Debye ) Ion Forces (au): - 1 O ( 0.00015 -0.00159 0.00561 ) - 2 H ( -0.00084 -0.00158 -0.00227 ) - 3 H ( 0.00230 0.00170 -0.00150 ) + 1 O ( 0.00229 -0.00020 0.00378 ) + 2 H ( -0.00318 -0.00315 -0.00044 ) + 3 H ( 0.00250 0.00183 -0.00155 ) @@ -1143,10 +1148,10 @@ mu = ( 0.1153 -0.1410 -0.7839 ) au - self-consistent APC Potential: - 0.032194911 0.018485184 0.019184100 + 0.032291213 0.018438825 0.019314020 APC Point Charges: - -0.742638641 0.372241291 0.370397350 + -0.742099302 0.371855945 0.370243357 charge analysis on each atom @@ -1154,7 +1159,251 @@ mu = ( 0.1153 -0.1410 -0.7839 ) au no atom Qelc Qion Qtotal ----- ---- ------- ------- ------- - 1 O -6.743 6.000 -0.743 + 1 O -6.742 6.000 -0.742 + 2 H -0.628 1.000 0.372 + 3 H -0.630 1.000 0.370 + Total Q -8.000 8.000 -0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 O 6.000 -1.095 -2.076 -3.571 + 2 H 1.000 -0.716 0.776 -0.687 + 3 H 1.000 -0.720 0.781 -0.691 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 2.179e-01 + main loop : 1.686e+01 + epilogue : 9.253e-02 + total : 1.717e+01 + cputime/step: 2.408e-01 ( 70 evaluations, 22 linesearches) + + Time spent doing total step percent + total time 1.019417e+02 1.456311e+00 100.00% + total FFT time 2.883893e+01 4.119847e-01 28.29% + lagrange multipliers 3.219883e-02 4.599833e-04 0.03% + local potentials 5.648793e-01 8.069705e-03 0.55% + non-local potentials 2.116254e+00 3.023219e-02 2.08% + ffm_dgemm 4.622931e-01 6.604187e-03 0.45% + fmf_dgemm 9.608198e-01 1.372600e-02 0.94% + m_diagonalize 1.790052e-03 2.557217e-05 0.00% + mmm_multiply 2.506550e-04 3.580786e-06 0.00% + SCVtrans 6.784630e-04 9.692329e-06 0.00% + + >>> job completed at Fri Feb 24 15:22:55 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:22:55 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + APC u: 1 0.03237 + APC u: 2 0.01843 + APC u: 3 0.01940 + - self-consistent + + reading formatted psp filename: ./O.vpp + + reading formatted psp filename: ./H.vpp + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 2 + processor grid : 2 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: O valence charge = 6.0 lmax =2 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.700 0.700 0.700 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + O : 1 H : 2 + + initial ion positions (au): + 1 O ( 0.30449 -0.09760 0.06166 ) - atomic mass = 15.995 + 2 H ( 1.53096 0.68583 -0.98057 ) - atomic mass = 1.008 + 3 H ( -0.62475 -1.26628 -0.91343 ) - atomic mass = 1.008 + G.C. ( 0.40357 -0.22602 -0.61078 ) + C.O.M. ( 0.32113 -0.11916 -0.05124 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 17575.98 + lattice: a1 = < 26.000 0.000 0.000 > + a2 = < 0.000 26.000 0.000 > + a3 = < 0.000 0.000 26.000 > + reciprocal: b1 = < 0.242 0.000 0.000 > + b2 = < 0.000 0.242 0.000 > + b3 = < 0.000 0.000 0.242 > + lattice: a = 26.000 b = 26.000 c = 26.000 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) + + Ewald parameters: + energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + Ewald summation: cut radius = 8.276 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:22:55 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + 10 -1.719871563015e+01 -1.218310e-07 1.769858e-09 + 20 -1.719871585343e+01 -3.402761e-09 1.567384e-10 + 30 -1.719871585576e+01 -9.502941e-10 3.917663e-11 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:23:12 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + APC Potential: + 0.032372199 0.018432048 0.019395932 + + APC Point Charges: + -0.741841140 0.371670396 0.370170744 + + + total energy : -1.7198715856e+01 ( -5.73291e+00 /ion) + total orbital energy: -4.1128639060e+00 ( -1.02822e+00 /electron) + hartree energy : 1.7995291172e+01 ( 4.49882e+00 /electron) + exc-corr energy : -4.2417862685e+00 ( -1.06045e+00 /electron) + APC energy : -9.9845760943e-03 ( -3.32819e-03 /ion) + ion-ion energy : 3.5737175467e+00 ( 1.19124e+00 /ion) + + kinetic (planewave) : 1.2399002379e+01 ( 3.09975e+00 /electron) + V_local (planewave) : -4.5748727380e+01 ( -1.14372e+01 /electron) + V_nl (planewave) : -1.2528389227e+00 ( -3.13210e-01 /electron) + V_Coul (planewave) : 3.5990582344e+01 ( 8.99765e+00 /electron) + V_xc (planewave) : -5.5008823261e+00 ( -1.37522e+00 /electron) + K.S. V_APC energy : -8.6610194056e-02 ( -2.88701e-02 /ion) + Viral Coefficient : -1.3317092602e+00 + + orbital energy: + -2.7446845e-01 ( -7.469eV) + -3.4368652e-01 ( -9.352eV) + -5.0554322e-01 ( -13.757eV) + -9.3273377e-01 ( -25.381eV) + +== Center of Charge == + +spin up = ( 0.3270 -0.1273 -0.0926 ) +spin down = ( 0.3270 -0.1273 -0.0926 ) + total = ( 0.3270 -0.1273 -0.0926 ) +ionic = ( 0.3416 -0.1458 -0.1905 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 0.1169 -0.1479 -0.7835 ) au +|mu| = 0.8059 au ( 2.0482 Debye ) + + + Ion Forces (au): + 1 O ( 0.00335 0.00044 0.00285 ) + 2 H ( -0.00435 -0.00391 0.00049 ) + 3 H ( 0.00260 0.00191 -0.00155 ) + + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - self-consistent + + APC Potential: + 0.032372199 0.018432048 0.019395932 + + APC Point Charges: + -0.741841140 0.371670396 0.370170744 + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 O -6.742 6.000 -0.742 2 H -0.628 1.000 0.372 3 H -0.630 1.000 0.370 Total Q -8.000 8.000 0.000 @@ -1165,34 +1414,34 @@ mu = ( 0.1153 -0.1410 -0.7839 ) au no atom g=0.000 g=0.600 g=0.900 g=1.350 ----- ---- ------- ------- ------- ------- - 1 O 6.000 -1.098 -2.075 -3.570 - 2 H 1.000 -0.718 0.776 -0.685 - 3 H 1.000 -0.718 0.778 -0.689 + 1 O 6.000 -1.094 -2.077 -3.571 + 2 H 1.000 -0.716 0.776 -0.688 + 3 H 1.000 -0.720 0.783 -0.692 output psi to filename: ./nwchemex.movecs ----------------- cputime in seconds - prologue : 2.155e-01 - main loop : 2.533e+00 - epilogue : 9.702e-02 - total : 2.846e+00 - cputime/step: 2.533e-01 ( 10 evaluations, 3 linesearches) + prologue : 2.123e-01 + main loop : 1.659e+01 + epilogue : 9.235e-02 + total : 1.689e+01 + cputime/step: 2.404e-01 ( 69 evaluations, 22 linesearches) Time spent doing total step percent - total time 6.891974e+01 6.891974e+00 100.00% - total FFT time 2.655430e+01 2.655430e+00 38.53% - lagrange multipliers 1.853756e-02 1.853756e-03 0.03% - local potentials 3.212521e-01 3.212521e-02 0.47% - non-local potentials 1.421658e+00 1.421658e-01 2.06% - ffm_dgemm 3.142734e-01 3.142734e-02 0.46% - fmf_dgemm 6.436336e-01 6.436336e-02 0.93% - m_diagonalize 1.469026e-03 1.469026e-04 0.00% - mmm_multiply 1.431810e-04 1.431810e-05 0.00% - SCVtrans 5.508620e-04 5.508620e-05 0.00% + total time 1.188644e+02 1.722673e+00 100.00% + total FFT time 3.353913e+01 4.860744e-01 28.22% + lagrange multipliers 3.219883e-02 4.666497e-04 0.03% + local potentials 6.977565e-01 1.011241e-02 0.59% + non-local potentials 2.451990e+00 3.553608e-02 2.06% + ffm_dgemm 5.405846e-01 7.834559e-03 0.45% + fmf_dgemm 1.131584e+00 1.639977e-02 0.95% + m_diagonalize 1.980797e-03 2.870720e-05 0.00% + mmm_multiply 2.799330e-04 4.057000e-06 0.00% + SCVtrans 7.528130e-04 1.091033e-05 0.00% - >>> job completed at Mon Feb 20 12:58:03 2023 <<< + >>> job completed at Fri Feb 24 15:23:12 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -1206,7 +1455,7 @@ mu = ( 0.1153 -0.1410 -0.7839 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Mon Feb 20 12:58:03 2023 <<< + >>> job started at Fri Feb 24 15:23:12 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -1219,9 +1468,9 @@ mu = ( 0.1153 -0.1410 -0.7839 ) au APC gamma: 0 0.60000 APC gamma: 1 0.90000 APC gamma: 2 1.35000 - APC u: 1 0.03223 - APC u: 2 0.01850 - APC u: 3 0.01920 + APC u: 1 0.03247 + APC u: 2 0.01843 + APC u: 3 0.01948 - self-consistent reading formatted psp filename: ./O.vpp @@ -1265,11 +1514,11 @@ mu = ( 0.1153 -0.1410 -0.7839 ) au O : 1 H : 2 initial ion positions (au): - 1 O ( 0.30530 -0.09999 0.06272 ) - atomic mass = 15.995 - 2 H ( 1.51757 0.69750 -0.96708 ) - atomic mass = 1.008 - 3 H ( -0.61515 -1.26529 -0.92340 ) - atomic mass = 1.008 - G.C. ( 0.40258 -0.22259 -0.60925 ) - C.O.M. ( 0.32163 -0.12058 -0.05011 ) + 1 O ( 0.30423 -0.09680 0.06133 ) - atomic mass = 15.995 + 2 H ( 1.53539 0.68185 -0.98518 ) - atomic mass = 1.008 + 3 H ( -0.62787 -1.26659 -0.91023 ) - atomic mass = 1.008 + G.C. ( 0.40391 -0.22718 -0.61136 ) + C.O.M. ( 0.32096 -0.11869 -0.05162 ) real space Electric field: Electric Field (au) = ( 0.00000 0.00000 0.00000 ) @@ -1305,12 +1554,14 @@ mu = ( 0.1153 -0.1410 -0.7839 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Mon Feb 20 12:58:03 2023 <<< + >>> iteration started at Fri Feb 24 15:23:12 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 10 -1.719869353513e+01 -6.999983e-10 1.974356e-11 + 10 -1.719872820987e+01 -1.215314e-07 1.769459e-09 + 20 -1.719872843272e+01 -3.399670e-09 1.562326e-10 + 30 -1.719872843505e+01 -9.484324e-10 3.915468e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Mon Feb 20 12:58:08 2023 <<< + >>> iteration ended at Fri Feb 24 15:23:29 2023 <<< ============== energy results (Molecule object) ============== @@ -1319,50 +1570,50 @@ mu = ( 0.1153 -0.1410 -0.7839 ) au APC Potential: - 0.032228045 0.018501626 0.019200864 + 0.032465951 0.018431736 0.019484558 APC Point Charges: - -0.742700321 0.372273084 0.370427237 + -0.741609837 0.371499653 0.370110183 - total energy : -1.7198693535e+01 ( -5.73290e+00 /ion) - total orbital energy: -4.1186507914e+00 ( -1.02966e+00 /electron) - hartree energy : 1.8012603696e+01 ( 4.50315e+00 /electron) - exc-corr energy : -4.2447443787e+00 ( -1.06119e+00 /electron) - APC energy : -9.9355992614e-03 ( -3.31187e-03 /ion) - ion-ion energy : 3.5963580889e+00 ( 1.19879e+00 /ion) + total energy : -1.7198728435e+01 ( -5.73291e+00 /ion) + total orbital energy: -4.1110073728e+00 ( -1.02775e+00 /electron) + hartree energy : 1.7989401156e+01 ( 4.49735e+00 /electron) + exc-corr energy : -4.2407804478e+00 ( -1.06020e+00 /electron) + APC energy : -1.0018252085e-02 ( -3.33942e-03 /ion) + ion-ion energy : 3.5660066499e+00 ( 1.18867e+00 /ion) - kinetic (planewave) : 1.2411482266e+01 ( 3.10287e+00 /electron) - V_local (planewave) : -4.5793167644e+01 ( -1.14483e+01 /electron) - V_nl (planewave) : -1.2574332540e+00 ( -3.14358e-01 /electron) - V_Coul (planewave) : 3.6025207393e+01 ( 9.00630e+00 /electron) - V_xc (planewave) : -5.5047395518e+00 ( -1.37618e+00 /electron) - K.S. V_APC energy : -8.6143289858e-02 ( -2.87144e-02 /ion) - Viral Coefficient : -1.3318419753e+00 + kinetic (planewave) : 1.2394754030e+01 ( 3.09869e+00 /electron) + V_local (planewave) : -4.5733724837e+01 ( -1.14334e+01 /electron) + V_nl (planewave) : -1.2512681425e+00 ( -3.12817e-01 /electron) + V_Coul (planewave) : 3.5978802311e+01 ( 8.99470e+00 /electron) + V_xc (planewave) : -5.4995707345e+00 ( -1.37489e+00 /electron) + K.S. V_APC energy : -8.6901408886e-02 ( -2.89671e-02 /ion) + Viral Coefficient : -1.3316731710e+00 orbital energy: - -2.7469140e-01 ( -7.475eV) - -3.4396624e-01 ( -9.360eV) - -5.0661933e-01 ( -13.786eV) - -9.3404843e-01 ( -25.417eV) + -2.7440738e-01 ( -7.467eV) + -3.4362437e-01 ( -9.351eV) + -5.0516815e-01 ( -13.746eV) + -9.3230378e-01 ( -25.369eV) == Center of Charge == -spin up = ( 0.3274 -0.1283 -0.0913 ) -spin down = ( 0.3274 -0.1283 -0.0913 ) - total = ( 0.3274 -0.1283 -0.0913 ) -ionic = ( 0.3418 -0.1460 -0.1893 ) +spin up = ( 0.3269 -0.1269 -0.0930 ) +spin down = ( 0.3269 -0.1269 -0.0930 ) + total = ( 0.3269 -0.1269 -0.0930 ) +ionic = ( 0.3416 -0.1457 -0.1909 ) == Molecular Dipole wrt Center of Mass == -mu = ( 0.1153 -0.1410 -0.7840 ) au -|mu| = 0.8049 au ( 2.0458 Debye ) +mu = ( 0.1175 -0.1502 -0.7835 ) au +|mu| = 0.8064 au ( 2.0494 Debye ) Ion Forces (au): - 1 O ( 0.00017 -0.00159 0.00555 ) - 2 H ( -0.00085 -0.00159 -0.00225 ) - 3 H ( 0.00230 0.00170 -0.00150 ) + 1 O ( 0.00441 0.00105 0.00191 ) + 2 H ( -0.00551 -0.00464 0.00141 ) + 3 H ( 0.00270 0.00198 -0.00155 ) @@ -1385,10 +1636,10 @@ mu = ( 0.1153 -0.1410 -0.7840 ) au - self-consistent APC Potential: - 0.032228045 0.018501626 0.019200864 + 0.032465951 0.018431736 0.019484558 APC Point Charges: - -0.742700321 0.372273084 0.370427237 + -0.741609837 0.371499653 0.370110183 charge analysis on each atom @@ -1396,8 +1647,8 @@ mu = ( 0.1153 -0.1410 -0.7840 ) au no atom Qelc Qion Qtotal ----- ---- ------- ------- ------- - 1 O -6.743 6.000 -0.743 - 2 H -0.628 1.000 0.372 + 1 O -6.742 6.000 -0.742 + 2 H -0.629 1.000 0.371 3 H -0.630 1.000 0.370 Total Q -8.000 8.000 -0.000 @@ -1407,34 +1658,34 @@ mu = ( 0.1153 -0.1410 -0.7840 ) au no atom g=0.000 g=0.600 g=0.900 g=1.350 ----- ---- ------- ------- ------- ------- - 1 O 6.000 -1.098 -2.075 -3.570 - 2 H 1.000 -0.718 0.776 -0.685 - 3 H 1.000 -0.718 0.778 -0.689 + 1 O 6.000 -1.092 -2.077 -3.572 + 2 H 1.000 -0.715 0.775 -0.689 + 3 H 1.000 -0.721 0.784 -0.693 output psi to filename: ./nwchemex.movecs ----------------- cputime in seconds - prologue : 2.168e-01 - main loop : 4.041e+00 - epilogue : 9.647e-02 - total : 4.355e+00 - cputime/step: 2.526e-01 ( 16 evaluations, 5 linesearches) + prologue : 2.118e-01 + main loop : 1.680e+01 + epilogue : 9.271e-02 + total : 1.710e+01 + cputime/step: 2.399e-01 ( 70 evaluations, 22 linesearches) Time spent doing total step percent - total time 7.330040e+01 4.581275e+00 100.00% - total FFT time 2.814649e+01 1.759155e+00 38.40% - lagrange multipliers 1.853756e-02 1.158597e-03 0.03% - local potentials 3.566399e-01 2.228999e-02 0.49% - non-local potentials 1.510575e+00 9.441093e-02 2.06% - ffm_dgemm 3.342546e-01 2.089091e-02 0.46% - fmf_dgemm 6.844001e-01 4.277501e-02 0.93% - m_diagonalize 1.524933e-03 9.530831e-05 0.00% - mmm_multiply 1.479840e-04 9.249000e-06 0.00% - SCVtrans 5.729420e-04 3.580887e-05 0.00% + total time 1.359911e+02 1.942731e+00 100.00% + total FFT time 3.828495e+01 5.469279e-01 28.15% + lagrange multipliers 3.219883e-02 4.599833e-04 0.02% + local potentials 8.319622e-01 1.188517e-02 0.61% + non-local potentials 2.790823e+00 3.986890e-02 2.05% + ffm_dgemm 6.194457e-01 8.849225e-03 0.46% + fmf_dgemm 1.303682e+00 1.862403e-02 0.96% + m_diagonalize 2.164352e-03 3.091931e-05 0.00% + mmm_multiply 3.095400e-04 4.422000e-06 0.00% + SCVtrans 8.382380e-04 1.197483e-05 0.00% - >>> job completed at Mon Feb 20 12:58:08 2023 <<< + >>> job completed at Fri Feb 24 15:23:29 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -1448,7 +1699,7 @@ mu = ( 0.1153 -0.1410 -0.7840 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Mon Feb 20 12:58:08 2023 <<< + >>> job started at Fri Feb 24 15:23:29 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -1461,9 +1712,9 @@ mu = ( 0.1153 -0.1410 -0.7840 ) au APC gamma: 0 0.60000 APC gamma: 1 0.90000 APC gamma: 2 1.35000 - APC u: 1 0.03227 - APC u: 2 0.01852 - APC u: 3 0.01922 + APC u: 1 0.03257 + APC u: 2 0.01844 + APC u: 3 0.01958 - self-consistent reading formatted psp filename: ./O.vpp @@ -1507,11 +1758,11 @@ mu = ( 0.1153 -0.1410 -0.7840 ) au O : 1 H : 2 initial ion positions (au): - 1 O ( 0.30530 -0.09999 0.06274 ) - atomic mass = 15.995 - 2 H ( 1.51759 0.69745 -0.96723 ) - atomic mass = 1.008 - 3 H ( -0.61508 -1.26528 -0.92351 ) - atomic mass = 1.008 - G.C. ( 0.40260 -0.22261 -0.60934 ) - C.O.M. ( 0.32164 -0.12058 -0.05010 ) + 1 O ( 0.30396 -0.09600 0.06100 ) - atomic mass = 15.995 + 2 H ( 1.53978 0.67784 -0.98978 ) - atomic mass = 1.008 + 3 H ( -0.63097 -1.26689 -0.90706 ) - atomic mass = 1.008 + G.C. ( 0.40425 -0.22835 -0.61195 ) + C.O.M. ( 0.32080 -0.11822 -0.05199 ) real space Electric field: Electric Field (au) = ( 0.00000 0.00000 0.00000 ) @@ -1547,12 +1798,14 @@ mu = ( 0.1153 -0.1410 -0.7840 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Mon Feb 20 12:58:08 2023 <<< + >>> iteration started at Fri Feb 24 15:23:29 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 10 -1.719871153462e+01 -6.391829e-10 1.247001e-11 + 10 -1.719873952441e+01 -1.209993e-07 1.761267e-09 + 20 -1.719873974629e+01 -3.384447e-09 1.553970e-10 + 30 -1.719873974860e+01 -9.436718e-10 3.898850e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Mon Feb 20 12:58:13 2023 <<< + >>> iteration ended at Fri Feb 24 15:23:46 2023 <<< ============== energy results (Molecule object) ============== @@ -1561,50 +1814,50 @@ mu = ( 0.1153 -0.1410 -0.7840 ) au APC Potential: - 0.032274243 0.018524540 0.019224223 + 0.032572202 0.018437800 0.019579779 APC Point Charges: - -0.742788734 0.372316065 0.370472669 + -0.741407334 0.371345217 0.370062118 - total energy : -1.7198711535e+01 ( -5.73290e+00 /ion) - total orbital energy: -4.1187171989e+00 ( -1.02968e+00 /electron) - hartree energy : 1.8012450652e+01 ( 4.50311e+00 /electron) - exc-corr energy : -4.2447163138e+00 ( -1.06118e+00 /electron) - APC energy : -9.9539109772e-03 ( -3.31797e-03 /ion) - ion-ion energy : 3.5961410380e+00 ( 1.19871e+00 /ion) + total energy : -1.7198739749e+01 ( -5.73291e+00 /ion) + total orbital energy: -4.1091860492e+00 ( -1.02730e+00 /electron) + hartree energy : 1.7983528229e+01 ( 4.49588e+00 /electron) + exc-corr energy : -4.2397779517e+00 ( -1.05994e+00 /electron) + APC energy : -1.0056746161e-02 ( -3.35225e-03 /ion) + ion-ion energy : 3.5583165560e+00 ( 1.18611e+00 /ion) - kinetic (planewave) : 1.2411346474e+01 ( 3.10284e+00 /electron) - V_local (planewave) : -4.5792882262e+01 ( -1.14482e+01 /electron) - V_nl (planewave) : -1.2573797074e+00 ( -3.14345e-01 /electron) - V_Coul (planewave) : 3.6024901303e+01 ( 9.00623e+00 /electron) - V_xc (planewave) : -5.5047030067e+00 ( -1.37618e+00 /electron) - K.S. V_APC energy : -8.6282496144e-02 ( -2.87608e-02 /ion) - Viral Coefficient : -1.3318509565e+00 + kinetic (planewave) : 1.2390524480e+01 ( 3.09763e+00 /electron) + V_local (planewave) : -4.5718799386e+01 ( -1.14297e+01 /electron) + V_nl (planewave) : -1.2497041476e+00 ( -3.12426e-01 /electron) + V_Coul (planewave) : 3.5967056459e+01 ( 8.99176e+00 /electron) + V_xc (planewave) : -5.4982634541e+00 ( -1.37457e+00 /electron) + K.S. V_APC energy : -8.7229217678e-02 ( -2.90764e-02 /ion) + Viral Coefficient : -1.3316393956e+00 orbital energy: - -2.7470534e-01 ( -7.475eV) - -3.4399929e-01 ( -9.361eV) - -5.0660135e-01 ( -13.785eV) - -9.3405261e-01 ( -25.417eV) + -2.7435034e-01 ( -7.466eV) + -3.4357105e-01 ( -9.349eV) + -5.0479174e-01 ( -13.736eV) + -9.3187989e-01 ( -25.358eV) == Center of Charge == -spin up = ( 0.3274 -0.1283 -0.0913 ) -spin down = ( 0.3274 -0.1283 -0.0913 ) - total = ( 0.3274 -0.1283 -0.0913 ) -ionic = ( 0.3418 -0.1460 -0.1893 ) +spin up = ( 0.3268 -0.1266 -0.0934 ) +spin down = ( 0.3268 -0.1266 -0.0934 ) + total = ( 0.3268 -0.1266 -0.0934 ) +ionic = ( 0.3416 -0.1456 -0.1914 ) == Molecular Dipole wrt Center of Mass == -mu = ( 0.1154 -0.1410 -0.7843 ) au -|mu| = 0.8052 au ( 2.0464 Debye ) +mu = ( 0.1180 -0.1526 -0.7835 ) au +|mu| = 0.8069 au ( 2.0509 Debye ) Ion Forces (au): - 1 O ( 0.00019 -0.00159 0.00550 ) - 2 H ( -0.00088 -0.00160 -0.00222 ) - 3 H ( 0.00230 0.00170 -0.00148 ) + 1 O ( 0.00544 0.00164 0.00098 ) + 2 H ( -0.00665 -0.00535 0.00233 ) + 3 H ( 0.00280 0.00206 -0.00154 ) @@ -1627,10 +1880,10 @@ mu = ( 0.1154 -0.1410 -0.7843 ) au - self-consistent APC Potential: - 0.032274243 0.018524540 0.019224223 + 0.032572202 0.018437800 0.019579779 APC Point Charges: - -0.742788734 0.372316065 0.370472669 + -0.741407334 0.371345217 0.370062118 charge analysis on each atom @@ -1638,735 +1891,9 @@ mu = ( 0.1154 -0.1410 -0.7843 ) au no atom Qelc Qion Qtotal ----- ---- ------- ------- ------- - 1 O -6.743 6.000 -0.743 - 2 H -0.628 1.000 0.372 + 1 O -6.741 6.000 -0.741 + 2 H -0.629 1.000 0.371 3 H -0.630 1.000 0.370 - Total Q -8.000 8.000 -0.000 - - - Gaussian coefficients of model density - -------------------------------------- - - no atom g=0.000 g=0.600 g=0.900 g=1.350 - ----- ---- ------- ------- ------- ------- - 1 O 6.000 -1.098 -2.074 -3.571 - 2 H 1.000 -0.718 0.775 -0.685 - 3 H 1.000 -0.718 0.778 -0.689 - - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 2.186e-01 - main loop : 5.048e+00 - epilogue : 9.642e-02 - total : 5.363e+00 - cputime/step: 2.524e-01 ( 20 evaluations, 6 linesearches) - - Time spent doing total step percent - total time 7.869780e+01 3.934890e+00 100.00% - total FFT time 3.014250e+01 1.507125e+00 38.30% - lagrange multipliers 1.853756e-02 9.268778e-04 0.02% - local potentials 3.996467e-01 1.998233e-02 0.51% - non-local potentials 1.617431e+00 8.087154e-02 2.06% - ffm_dgemm 3.582917e-01 1.791458e-02 0.46% - fmf_dgemm 7.342104e-01 3.671052e-02 0.93% - m_diagonalize 1.589426e-03 7.947130e-05 0.00% - mmm_multiply 1.561670e-04 7.808350e-06 0.00% - SCVtrans 5.951140e-04 2.975570e-05 0.00% - - >>> job completed at Mon Feb 20 12:58:13 2023 <<< - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Mon Feb 20 12:58:13 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - initializing nwpw_APC object - ---------------------------- - nga = 3 ngs = 9 - Gc = 2.50000 - APC gamma: 0 0.60000 - APC gamma: 1 0.90000 - APC gamma: 2 1.35000 - APC u: 1 0.03233 - APC u: 2 0.01855 - APC u: 3 0.01925 - - self-consistent - - reading formatted psp filename: ./O.vpp - - reading formatted psp filename: ./H.vpp - input psi exists, reading from file: ./nwchemex.movecs - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 2 - processor grid : 2 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: O valence charge = 6.0 lmax =2 - comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp - pseudopotential type = 0 - highest angular component = 2 - local potential used = 2 - number of non-local projections = 4 - cutoff = 0.700 0.700 0.700 - 2: H valence charge = 1.0 lmax =1 - comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp - pseudopotential type = 0 - highest angular component = 1 - local potential used = 1 - number of non-local projections = 1 - cutoff = 0.800 0.800 - - total charge = 0.000 - - atom composition: - O : 1 H : 2 - - initial ion positions (au): - 1 O ( 0.30530 -0.09999 0.06277 ) - atomic mass = 15.995 - 2 H ( 1.51761 0.69739 -0.96741 ) - atomic mass = 1.008 - 3 H ( -0.61499 -1.26526 -0.92367 ) - atomic mass = 1.008 - G.C. ( 0.40264 -0.22262 -0.60944 ) - C.O.M. ( 0.32164 -0.12058 -0.05010 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) - - supercell: - volume = 17575.98 - lattice: a1 = < 26.000 0.000 0.000 > - a2 = < 0.000 26.000 0.000 > - a3 = < 0.000 0.000 26.000 > - reciprocal: b1 = < 0.242 0.000 0.000 > - b2 = < 0.000 0.242 0.000 > - b3 = < 0.000 0.000 0.242 > - lattice: a = 26.000 b = 26.000 c = 26.000 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) - wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) - - Ewald parameters: - energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) - Ewald summation: cut radius = 8.276 and 1 - Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) - - technical parameters: - fixed step: time step = 5.80 ficticious mass = 400000.00 - tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Mon Feb 20 12:58:13 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - 10 -1.719873455954e+01 -9.004282e-10 1.658504e-11 - *** tolerance ok. iteration terminated - >>> iteration ended at Mon Feb 20 12:58:18 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 4.00000 down= 4.00000 (real space) - - - APC Potential: - 0.032333312 0.018553820 0.019254068 - - APC Point Charges: - -0.742896601 0.372369359 0.370527242 - - - total energy : -1.7198734560e+01 ( -5.73291e+00 /ion) - total orbital energy: -4.1187908301e+00 ( -1.02970e+00 /electron) - hartree energy : 1.8012266800e+01 ( 4.50307e+00 /electron) - exc-corr energy : -4.2446829147e+00 ( -1.06117e+00 /electron) - APC energy : -9.9772770331e-03 ( -3.32576e-03 /ion) - ion-ion energy : 3.5958632818e+00 ( 1.19862e+00 /ion) - - kinetic (planewave) : 1.2411184797e+01 ( 3.10280e+00 /electron) - V_local (planewave) : -4.5792535047e+01 ( -1.14481e+01 /electron) - V_nl (planewave) : -1.2573146519e+00 ( -3.14329e-01 /electron) - V_Coul (planewave) : 3.6024533601e+01 ( 9.00613e+00 /electron) - V_xc (planewave) : -5.5046595290e+00 ( -1.37616e+00 /electron) - K.S. V_APC energy : -8.6460451912e-02 ( -2.88202e-02 /ion) - Viral Coefficient : -1.3318612121e+00 - - orbital energy: - -2.7472181e-01 ( -7.476eV) - -3.4404030e-01 ( -9.362eV) - -5.0657671e-01 ( -13.785eV) - -9.3405659e-01 ( -25.417eV) - -== Center of Charge == - -spin up = ( 0.3274 -0.1283 -0.0912 ) -spin down = ( 0.3274 -0.1283 -0.0912 ) - total = ( 0.3274 -0.1283 -0.0912 ) -ionic = ( 0.3418 -0.1460 -0.1893 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( 0.1155 -0.1411 -0.7846 ) au -|mu| = 0.8055 au ( 2.0472 Debye ) - - - Ion Forces (au): - 1 O ( 0.00022 -0.00158 0.00544 ) - 2 H ( -0.00091 -0.00162 -0.00217 ) - 3 H ( 0.00230 0.00171 -0.00146 ) - - - -************************************************************* -** ** -** PSPW Atomic Point Charge (APC) Analysis ** -** ** -** Point charge analysis based on paper by P.E. Blochl ** -** (J. Chem. Phys. vol 103, page 7422, 1995) ** -** ** -************************************************************* - - nwpw_APC object - --------------- - nga = 3 ngs = 9 - Gc = 2.50000 - APC gamma: 0 0.60000 - APC gamma: 1 0.90000 - APC gamma: 2 1.35000 - - self-consistent - - APC Potential: - 0.032333312 0.018553820 0.019254068 - - APC Point Charges: - -0.742896601 0.372369359 0.370527242 - - - charge analysis on each atom - ---------------------------- - - no atom Qelc Qion Qtotal - ----- ---- ------- ------- ------- - 1 O -6.743 6.000 -0.743 - 2 H -0.628 1.000 0.372 - 3 H -0.629 1.000 0.371 - Total Q -8.000 8.000 -0.000 - - - Gaussian coefficients of model density - -------------------------------------- - - no atom g=0.000 g=0.600 g=0.900 g=1.350 - ----- ---- ------- ------- ------- ------- - 1 O 6.000 -1.099 -2.073 -3.571 - 2 H 1.000 -0.718 0.775 -0.685 - 3 H 1.000 -0.718 0.778 -0.689 - - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 2.190e-01 - main loop : 5.030e+00 - epilogue : 9.607e-02 - total : 5.345e+00 - cputime/step: 2.515e-01 ( 20 evaluations, 6 linesearches) - - Time spent doing total step percent - total time 8.407153e+01 4.203577e+00 100.00% - total FFT time 3.212332e+01 1.606166e+00 38.21% - lagrange multipliers 1.853756e-02 9.268778e-04 0.02% - local potentials 4.424081e-01 2.212040e-02 0.53% - non-local potentials 1.722736e+00 8.613678e-02 2.05% - ffm_dgemm 3.823353e-01 1.911676e-02 0.45% - fmf_dgemm 7.841598e-01 3.920799e-02 0.93% - m_diagonalize 1.651995e-03 8.259975e-05 0.00% - mmm_multiply 1.620050e-04 8.100250e-06 0.00% - SCVtrans 6.166230e-04 3.083115e-05 0.00% - - >>> job completed at Mon Feb 20 12:58:18 2023 <<< - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Mon Feb 20 12:58:18 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - initializing nwpw_APC object - ---------------------------- - nga = 3 ngs = 9 - Gc = 2.50000 - APC gamma: 0 0.60000 - APC gamma: 1 0.90000 - APC gamma: 2 1.35000 - APC u: 1 0.03241 - APC u: 2 0.01859 - APC u: 3 0.01929 - - self-consistent - - reading formatted psp filename: ./O.vpp - - reading formatted psp filename: ./H.vpp - input psi exists, reading from file: ./nwchemex.movecs - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 2 - processor grid : 2 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: O valence charge = 6.0 lmax =2 - comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp - pseudopotential type = 0 - highest angular component = 2 - local potential used = 2 - number of non-local projections = 4 - cutoff = 0.700 0.700 0.700 - 2: H valence charge = 1.0 lmax =1 - comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp - pseudopotential type = 0 - highest angular component = 1 - local potential used = 1 - number of non-local projections = 1 - cutoff = 0.800 0.800 - - total charge = 0.000 - - atom composition: - O : 1 H : 2 - - initial ion positions (au): - 1 O ( 0.30529 -0.10000 0.06280 ) - atomic mass = 15.995 - 2 H ( 1.51764 0.69732 -0.96764 ) - atomic mass = 1.008 - 3 H ( -0.61488 -1.26524 -0.92385 ) - atomic mass = 1.008 - G.C. ( 0.40268 -0.22264 -0.60956 ) - C.O.M. ( 0.32164 -0.12059 -0.05009 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) - - supercell: - volume = 17575.98 - lattice: a1 = < 26.000 0.000 0.000 > - a2 = < 0.000 26.000 0.000 > - a3 = < 0.000 0.000 26.000 > - reciprocal: b1 = < 0.242 0.000 0.000 > - b2 = < 0.000 0.242 0.000 > - b3 = < 0.000 0.000 0.242 > - lattice: a = 26.000 b = 26.000 c = 26.000 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) - wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) - - Ewald parameters: - energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) - Ewald summation: cut radius = 8.276 and 1 - Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) - - technical parameters: - fixed step: time step = 5.80 ficticious mass = 400000.00 - tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Mon Feb 20 12:58:19 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - 10 -1.719876252297e+01 -8.458514e-10 1.397970e-11 - *** tolerance ok. iteration terminated - >>> iteration ended at Mon Feb 20 12:58:24 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 4.00000 down= 4.00000 (real space) - - - APC Potential: - 0.032405008 0.018589332 0.019290258 - - APC Point Charges: - -0.743037479 0.372435994 0.370601485 - - - total energy : -1.7198762523e+01 ( -5.73292e+00 /ion) - total orbital energy: -4.1188886861e+00 ( -1.02972e+00 /electron) - hartree energy : 1.8012034347e+01 ( 4.50301e+00 /electron) - exc-corr energy : -4.2446405568e+00 ( -1.06116e+00 /electron) - APC energy : -1.0005801103e-02 ( -3.33527e-03 /ion) - ion-ion energy : 3.5955259013e+00 ( 1.19851e+00 /ion) - - kinetic (planewave) : 1.2410979445e+01 ( 3.10274e+00 /electron) - V_local (planewave) : -4.5792100268e+01 ( -1.14480e+01 /electron) - V_nl (planewave) : -1.2572322176e+00 ( -3.14308e-01 /electron) - V_Coul (planewave) : 3.6024068694e+01 ( 9.00602e+00 /electron) - V_xc (planewave) : -5.5046043391e+00 ( -1.37615e+00 /electron) - K.S. V_APC energy : -8.6676627471e-02 ( -2.88922e-02 /ion) - Viral Coefficient : -1.3318745877e+00 - - orbital energy: - -2.7474275e-01 ( -7.476eV) - -3.4409137e-01 ( -9.363eV) - -5.0654777e-01 ( -13.784eV) - -9.3406245e-01 ( -25.417eV) - -== Center of Charge == - -spin up = ( 0.3274 -0.1283 -0.0912 ) -spin down = ( 0.3274 -0.1283 -0.0912 ) - total = ( 0.3274 -0.1283 -0.0912 ) -ionic = ( 0.3418 -0.1460 -0.1893 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( 0.1155 -0.1411 -0.7849 ) au -|mu| = 0.8058 au ( 2.0481 Debye ) - - - Ion Forces (au): - 1 O ( 0.00027 -0.00157 0.00534 ) - 2 H ( -0.00094 -0.00164 -0.00212 ) - 3 H ( 0.00230 0.00172 -0.00143 ) - - - -************************************************************* -** ** -** PSPW Atomic Point Charge (APC) Analysis ** -** ** -** Point charge analysis based on paper by P.E. Blochl ** -** (J. Chem. Phys. vol 103, page 7422, 1995) ** -** ** -************************************************************* - - nwpw_APC object - --------------- - nga = 3 ngs = 9 - Gc = 2.50000 - APC gamma: 0 0.60000 - APC gamma: 1 0.90000 - APC gamma: 2 1.35000 - - self-consistent - - APC Potential: - 0.032405008 0.018589332 0.019290258 - - APC Point Charges: - -0.743037479 0.372435994 0.370601485 - - - charge analysis on each atom - ---------------------------- - - no atom Qelc Qion Qtotal - ----- ---- ------- ------- ------- - 1 O -6.743 6.000 -0.743 - 2 H -0.628 1.000 0.372 - 3 H -0.629 1.000 0.371 - Total Q -8.000 8.000 -0.000 - - - Gaussian coefficients of model density - -------------------------------------- - - no atom g=0.000 g=0.600 g=0.900 g=1.350 - ----- ---- ------- ------- ------- ------- - 1 O 6.000 -1.100 -2.071 -3.572 - 2 H 1.000 -0.718 0.775 -0.685 - 3 H 1.000 -0.718 0.777 -0.689 - - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 2.169e-01 - main loop : 5.549e+00 - epilogue : 9.666e-02 - total : 5.862e+00 - cputime/step: 2.522e-01 ( 22 evaluations, 7 linesearches) - - Time spent doing total step percent - total time 8.996191e+01 4.089178e+00 100.00% - total FFT time 3.431704e+01 1.559865e+00 38.15% - lagrange multipliers 1.853756e-02 8.426161e-04 0.02% - local potentials 4.888440e-01 2.222018e-02 0.54% - non-local potentials 1.838714e+00 8.357793e-02 2.04% - ffm_dgemm 4.096886e-01 1.862221e-02 0.46% - fmf_dgemm 8.410623e-01 3.823010e-02 0.93% - m_diagonalize 1.719907e-03 7.817759e-05 0.00% - mmm_multiply 1.688500e-04 7.675000e-06 0.00% - SCVtrans 6.422730e-04 2.919423e-05 0.00% - - >>> job completed at Mon Feb 20 12:58:24 2023 <<< - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Mon Feb 20 12:58:24 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - initializing nwpw_APC object - ---------------------------- - nga = 3 ngs = 9 - Gc = 2.50000 - APC gamma: 0 0.60000 - APC gamma: 1 0.90000 - APC gamma: 2 1.35000 - APC u: 1 0.03249 - APC u: 2 0.01863 - APC u: 3 0.01933 - - self-consistent - - reading formatted psp filename: ./O.vpp - - reading formatted psp filename: ./H.vpp - input psi exists, reading from file: ./nwchemex.movecs - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 2 - processor grid : 2 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: O valence charge = 6.0 lmax =2 - comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp - pseudopotential type = 0 - highest angular component = 2 - local potential used = 2 - number of non-local projections = 4 - cutoff = 0.700 0.700 0.700 - 2: H valence charge = 1.0 lmax =1 - comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp - pseudopotential type = 0 - highest angular component = 1 - local potential used = 1 - number of non-local projections = 1 - cutoff = 0.800 0.800 - - total charge = 0.000 - - atom composition: - O : 1 H : 2 - - initial ion positions (au): - 1 O ( 0.30529 -0.10000 0.06284 ) - atomic mass = 15.995 - 2 H ( 1.51767 0.69723 -0.96791 ) - atomic mass = 1.008 - 3 H ( -0.61475 -1.26521 -0.92407 ) - atomic mass = 1.008 - G.C. ( 0.40274 -0.22266 -0.60971 ) - C.O.M. ( 0.32165 -0.12059 -0.05008 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) - - supercell: - volume = 17575.98 - lattice: a1 = < 26.000 0.000 0.000 > - a2 = < 0.000 26.000 0.000 > - a3 = < 0.000 0.000 26.000 > - reciprocal: b1 = < 0.242 0.000 0.000 > - b2 = < 0.000 0.242 0.000 > - b3 = < 0.000 0.000 0.242 > - lattice: a = 26.000 b = 26.000 c = 26.000 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) - wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) - - Ewald parameters: - energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) - Ewald summation: cut radius = 8.276 and 1 - Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) - - technical parameters: - fixed step: time step = 5.80 ficticious mass = 400000.00 - tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Mon Feb 20 12:58:25 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - 10 -1.719879531709e+01 -7.102408e-10 9.201048e-12 - *** tolerance ok. iteration terminated - >>> iteration ended at Mon Feb 20 12:58:31 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 4.00000 down= 4.00000 (real space) - - - APC Potential: - 0.032489033 0.018630914 0.019332623 - - APC Point Charges: - -0.743206677 0.372515007 0.370691670 - - - total energy : -1.7198795317e+01 ( -5.73293e+00 /ion) - total orbital energy: -4.1189981928e+00 ( -1.02975e+00 /electron) - hartree energy : 1.8011767269e+01 ( 4.50294e+00 /electron) - exc-corr energy : -4.2445921613e+00 ( -1.06115e+00 /electron) - APC energy : -1.0039328954e-02 ( -3.34644e-03 /ion) - ion-ion energy : 3.5951302716e+00 ( 1.19838e+00 /ion) - - kinetic (planewave) : 1.2410744945e+01 ( 3.10269e+00 /electron) - V_local (planewave) : -4.5791599233e+01 ( -1.14479e+01 /electron) - V_nl (planewave) : -1.2571371729e+00 ( -3.14284e-01 /electron) - V_Coul (planewave) : 3.6023534537e+01 ( 9.00588e+00 /electron) - V_xc (planewave) : -5.5045412688e+00 ( -1.37614e+00 /electron) - K.S. V_APC energy : -8.6930094076e-02 ( -2.89767e-02 /ion) - Viral Coefficient : -1.3318896820e+00 - - orbital energy: - -2.7476660e-01 ( -7.477eV) - -3.4415074e-01 ( -9.365eV) - -5.0651298e-01 ( -13.783eV) - -9.3406877e-01 ( -25.418eV) - -== Center of Charge == - -spin up = ( 0.3274 -0.1283 -0.0912 ) -spin down = ( 0.3274 -0.1283 -0.0912 ) - total = ( 0.3274 -0.1283 -0.0912 ) -ionic = ( 0.3418 -0.1460 -0.1894 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( 0.1156 -0.1412 -0.7854 ) au -|mu| = 0.8063 au ( 2.0493 Debye ) - - - Ion Forces (au): - 1 O ( 0.00032 -0.00155 0.00524 ) - 2 H ( -0.00099 -0.00165 -0.00206 ) - 3 H ( 0.00229 0.00172 -0.00140 ) - - - -************************************************************* -** ** -** PSPW Atomic Point Charge (APC) Analysis ** -** ** -** Point charge analysis based on paper by P.E. Blochl ** -** (J. Chem. Phys. vol 103, page 7422, 1995) ** -** ** -************************************************************* - - nwpw_APC object - --------------- - nga = 3 ngs = 9 - Gc = 2.50000 - APC gamma: 0 0.60000 - APC gamma: 1 0.90000 - APC gamma: 2 1.35000 - - self-consistent - - APC Potential: - 0.032489033 0.018630914 0.019332623 - - APC Point Charges: - -0.743206677 0.372515007 0.370691670 - - - charge analysis on each atom - ---------------------------- - - no atom Qelc Qion Qtotal - ----- ---- ------- ------- ------- - 1 O -6.743 6.000 -0.743 - 2 H -0.627 1.000 0.373 - 3 H -0.629 1.000 0.371 Total Q -8.000 8.000 0.000 @@ -2375,34 +1902,34 @@ mu = ( 0.1156 -0.1412 -0.7854 ) au no atom g=0.000 g=0.600 g=0.900 g=1.350 ----- ---- ------- ------- ------- ------- - 1 O 6.000 -1.100 -2.069 -3.573 - 2 H 1.000 -0.718 0.774 -0.684 - 3 H 1.000 -0.718 0.777 -0.688 + 1 O 6.000 -1.091 -2.077 -3.573 + 2 H 1.000 -0.714 0.775 -0.690 + 3 H 1.000 -0.722 0.785 -0.694 output psi to filename: ./nwchemex.movecs ----------------- cputime in seconds - prologue : 2.187e-01 - main loop : 6.290e+00 - epilogue : 9.636e-02 - total : 6.605e+00 - cputime/step: 2.516e-01 ( 25 evaluations, 8 linesearches) + prologue : 2.121e-01 + main loop : 1.661e+01 + epilogue : 9.208e-02 + total : 1.691e+01 + cputime/step: 2.407e-01 ( 69 evaluations, 22 linesearches) Time spent doing total step percent - total time 9.659261e+01 3.863704e+00 100.00% - total FFT time 3.679339e+01 1.471736e+00 38.09% - lagrange multipliers 1.853756e-02 7.415022e-04 0.02% - local potentials 5.407295e-01 2.162918e-02 0.56% - non-local potentials 1.969077e+00 7.876308e-02 2.04% - ffm_dgemm 4.406609e-01 1.762644e-02 0.46% - fmf_dgemm 9.064759e-01 3.625904e-02 0.94% - m_diagonalize 1.792913e-03 7.171652e-05 0.00% - mmm_multiply 1.760680e-04 7.042720e-06 0.00% - SCVtrans 6.711410e-04 2.684564e-05 0.00% + total time 1.529324e+02 2.216412e+00 100.00% + total FFT time 4.299154e+01 6.230657e-01 28.11% + lagrange multipliers 3.219883e-02 4.666497e-04 0.02% + local potentials 9.639591e-01 1.397042e-02 0.63% + non-local potentials 3.124697e+00 4.528546e-02 2.04% + ffm_dgemm 6.976735e-01 1.011121e-02 0.46% + fmf_dgemm 1.474900e+00 2.137537e-02 0.96% + m_diagonalize 2.352395e-03 3.409268e-05 0.00% + mmm_multiply 3.376260e-04 4.893130e-06 0.00% + SCVtrans 9.183650e-04 1.330964e-05 0.00% - >>> job completed at Mon Feb 20 12:58:31 2023 <<< + >>> job completed at Fri Feb 24 15:23:46 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -2416,249 +1943,7 @@ mu = ( 0.1156 -0.1412 -0.7854 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Mon Feb 20 12:58:31 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - initializing nwpw_APC object - ---------------------------- - nga = 3 ngs = 9 - Gc = 2.50000 - APC gamma: 0 0.60000 - APC gamma: 1 0.90000 - APC gamma: 2 1.35000 - APC u: 1 0.03259 - APC u: 2 0.01868 - APC u: 3 0.01938 - - self-consistent - - reading formatted psp filename: ./O.vpp - - reading formatted psp filename: ./H.vpp - input psi exists, reading from file: ./nwchemex.movecs - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 2 - processor grid : 2 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: O valence charge = 6.0 lmax =2 - comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp - pseudopotential type = 0 - highest angular component = 2 - local potential used = 2 - number of non-local projections = 4 - cutoff = 0.700 0.700 0.700 - 2: H valence charge = 1.0 lmax =1 - comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp - pseudopotential type = 0 - highest angular component = 1 - local potential used = 1 - number of non-local projections = 1 - cutoff = 0.800 0.800 - - total charge = 0.000 - - atom composition: - O : 1 H : 2 - - initial ion positions (au): - 1 O ( 0.30528 -0.10000 0.06289 ) - atomic mass = 15.995 - 2 H ( 1.51771 0.69713 -0.96821 ) - atomic mass = 1.008 - 3 H ( -0.61460 -1.26518 -0.92432 ) - atomic mass = 1.008 - G.C. ( 0.40280 -0.22268 -0.60988 ) - C.O.M. ( 0.32165 -0.12060 -0.05007 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) - - supercell: - volume = 17575.98 - lattice: a1 = < 26.000 0.000 0.000 > - a2 = < 0.000 26.000 0.000 > - a3 = < 0.000 0.000 26.000 > - reciprocal: b1 = < 0.242 0.000 0.000 > - b2 = < 0.000 0.242 0.000 > - b3 = < 0.000 0.000 0.242 > - lattice: a = 26.000 b = 26.000 c = 26.000 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) - wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) - - Ewald parameters: - energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) - Ewald summation: cut radius = 8.276 and 1 - Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) - - technical parameters: - fixed step: time step = 5.80 ficticious mass = 400000.00 - tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Mon Feb 20 12:58:31 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - 10 -1.719883281433e+01 -8.204957e-10 9.681253e-12 - *** tolerance ok. iteration terminated - >>> iteration ended at Mon Feb 20 12:58:38 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 4.00000 down= 4.00000 (real space) - - - APC Potential: - 0.032585034 0.018678373 0.019380962 - - APC Point Charges: - -0.743389115 0.372602561 0.370786554 - - - total energy : -1.7198832814e+01 ( -5.73294e+00 /ion) - total orbital energy: -4.1191195979e+00 ( -1.02978e+00 /electron) - hartree energy : 1.8011465862e+01 ( 4.50287e+00 /electron) - exc-corr energy : -4.2445375438e+00 ( -1.06113e+00 /electron) - APC energy : -1.0077549648e-02 ( -3.35918e-03 /ion) - ion-ion energy : 3.5946779696e+00 ( 1.19823e+00 /ion) - - kinetic (planewave) : 1.2410479252e+01 ( 3.10262e+00 /electron) - V_local (planewave) : -4.5791030795e+01 ( -1.14478e+01 /electron) - V_nl (planewave) : -1.2570296369e+00 ( -3.14257e-01 /electron) - V_Coul (planewave) : 3.6022931725e+01 ( 9.00573e+00 /electron) - V_xc (planewave) : -5.5044701428e+00 ( -1.37612e+00 /electron) - K.S. V_APC energy : -8.7219627004e-02 ( -2.90732e-02 /ion) - Viral Coefficient : -1.3319065698e+00 - - orbital energy: - -2.7479350e-01 ( -7.478eV) - -3.4421824e-01 ( -9.367eV) - -5.0647239e-01 ( -13.782eV) - -9.3407566e-01 ( -25.418eV) - -== Center of Charge == - -spin up = ( 0.3274 -0.1283 -0.0912 ) -spin down = ( 0.3274 -0.1283 -0.0912 ) - total = ( 0.3274 -0.1283 -0.0912 ) -ionic = ( 0.3418 -0.1460 -0.1894 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( 0.1157 -0.1413 -0.7859 ) au -|mu| = 0.8068 au ( 2.0505 Debye ) - - - Ion Forces (au): - 1 O ( 0.00037 -0.00154 0.00513 ) - 2 H ( -0.00104 -0.00168 -0.00198 ) - 3 H ( 0.00229 0.00173 -0.00136 ) - - - -************************************************************* -** ** -** PSPW Atomic Point Charge (APC) Analysis ** -** ** -** Point charge analysis based on paper by P.E. Blochl ** -** (J. Chem. Phys. vol 103, page 7422, 1995) ** -** ** -************************************************************* - - nwpw_APC object - --------------- - nga = 3 ngs = 9 - Gc = 2.50000 - APC gamma: 0 0.60000 - APC gamma: 1 0.90000 - APC gamma: 2 1.35000 - - self-consistent - - APC Potential: - 0.032585034 0.018678373 0.019380962 - - APC Point Charges: - -0.743389115 0.372602561 0.370786554 - - - charge analysis on each atom - ---------------------------- - - no atom Qelc Qion Qtotal - ----- ---- ------- ------- ------- - 1 O -6.743 6.000 -0.743 - 2 H -0.627 1.000 0.373 - 3 H -0.629 1.000 0.371 - Total Q -8.000 8.000 -0.000 - - - Gaussian coefficients of model density - -------------------------------------- - - no atom g=0.000 g=0.600 g=0.900 g=1.350 - ----- ---- ------- ------- ------- ------- - 1 O 6.000 -1.101 -2.067 -3.575 - 2 H 1.000 -0.717 0.774 -0.684 - 3 H 1.000 -0.718 0.776 -0.688 - - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 2.190e-01 - main loop : 6.554e+00 - epilogue : 9.646e-02 - total : 6.870e+00 - cputime/step: 2.521e-01 ( 26 evaluations, 8 linesearches) - - Time spent doing total step percent - total time 1.034903e+02 3.980396e+00 100.00% - total FFT time 3.938571e+01 1.514835e+00 38.06% - lagrange multipliers 1.853756e-02 7.129829e-04 0.02% - local potentials 5.946069e-01 2.286950e-02 0.57% - non-local potentials 2.104186e+00 8.093024e-02 2.03% - ffm_dgemm 4.724177e-01 1.816991e-02 0.46% - fmf_dgemm 9.726952e-01 3.741135e-02 0.94% - m_diagonalize 1.867953e-03 7.184435e-05 0.00% - mmm_multiply 1.835330e-04 7.058962e-06 0.00% - SCVtrans 6.999500e-04 2.692115e-05 0.00% - - >>> job completed at Mon Feb 20 12:58:38 2023 <<< - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Mon Feb 20 12:58:38 2023 <<< + >>> job started at Fri Feb 24 15:23:46 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -2672,8 +1957,8 @@ mu = ( 0.1157 -0.1413 -0.7859 ) au APC gamma: 1 0.90000 APC gamma: 2 1.35000 APC u: 1 0.03269 - APC u: 2 0.01873 - APC u: 3 0.01944 + APC u: 2 0.01845 + APC u: 3 0.01968 - self-consistent reading formatted psp filename: ./O.vpp @@ -2717,11 +2002,11 @@ mu = ( 0.1157 -0.1413 -0.7859 ) au O : 1 H : 2 initial ion positions (au): - 1 O ( 0.30528 -0.10000 0.06294 ) - atomic mass = 15.995 - 2 H ( 1.51774 0.69702 -0.96856 ) - atomic mass = 1.008 - 3 H ( -0.61443 -1.26514 -0.92461 ) - atomic mass = 1.008 - G.C. ( 0.40286 -0.22271 -0.61007 ) - C.O.M. ( 0.32166 -0.12060 -0.05005 ) + 1 O ( 0.30370 -0.09520 0.06067 ) - atomic mass = 15.995 + 2 H ( 1.54412 0.67378 -0.99439 ) - atomic mass = 1.008 + 3 H ( -0.63405 -1.26719 -0.90393 ) - atomic mass = 1.008 + G.C. ( 0.40459 -0.22954 -0.61255 ) + C.O.M. ( 0.32064 -0.11775 -0.05236 ) real space Electric field: Electric Field (au) = ( 0.00000 0.00000 0.00000 ) @@ -2757,12 +2042,14 @@ mu = ( 0.1157 -0.1413 -0.7859 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Mon Feb 20 12:58:38 2023 <<< + >>> iteration started at Fri Feb 24 15:23:46 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 10 -1.719887486949e+01 -7.199468e-10 8.526684e-12 + 10 -1.719874972509e+01 -1.202287e-07 1.744875e-09 + 20 -1.719874994548e+01 -3.358913e-09 1.537448e-10 + 30 -1.719874994777e+01 -9.346657e-10 3.862702e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Mon Feb 20 12:58:46 2023 <<< + >>> iteration ended at Fri Feb 24 15:24:03 2023 <<< ============== energy results (Molecule object) ============== @@ -2771,50 +2058,50 @@ mu = ( 0.1157 -0.1413 -0.7859 ) au APC Potential: - 0.032692607 0.018731490 0.019435046 + 0.032690629 0.018450122 0.019681445 APC Point Charges: - -0.743603553 0.372702565 0.370900988 + -0.741234582 0.371207932 0.370026650 - total energy : -1.7198874869e+01 ( -5.73296e+00 /ion) - total orbital energy: -4.1192575358e+00 ( -1.02981e+00 /electron) - hartree energy : 1.8011125755e+01 ( 4.50278e+00 /electron) - exc-corr energy : -4.2444760444e+00 ( -1.06112e+00 /electron) - APC energy : -1.0120586085e-02 ( -3.37353e-03 /ion) - ion-ion energy : 3.5941707536e+00 ( 1.19806e+00 /ion) + total energy : -1.7198749948e+01 ( -5.73292e+00 /ion) + total orbital energy: -4.1074074957e+00 ( -1.02685e+00 /electron) + hartree energy : 1.7977697756e+01 ( 4.49442e+00 /electron) + exc-corr energy : -4.2387830902e+00 ( -1.05970e+00 /electron) + APC energy : -1.0099933573e-02 ( -3.36664e-03 /ion) + ion-ion energy : 3.5506797216e+00 ( 1.18356e+00 /ion) - kinetic (planewave) : 1.2410180125e+01 ( 3.10255e+00 /electron) - V_local (planewave) : -4.5790391786e+01 ( -1.14476e+01 /electron) - V_nl (planewave) : -1.2569073825e+00 ( -3.14227e-01 /electron) - V_Coul (planewave) : 3.6022251510e+01 ( 9.00556e+00 /electron) - V_xc (planewave) : -5.5043900019e+00 ( -1.37610e+00 /electron) - K.S. V_APC energy : -8.7544296454e-02 ( -2.91814e-02 /ion) - Viral Coefficient : -1.3319256847e+00 + kinetic (planewave) : 1.2386331596e+01 ( 3.09658e+00 /electron) + V_local (planewave) : -4.5704015104e+01 ( -1.14260e+01 /electron) + V_nl (planewave) : -1.2481533873e+00 ( -3.12038e-01 /electron) + V_Coul (planewave) : 3.5955395512e+01 ( 8.98885e+00 /electron) + V_xc (planewave) : -5.4969661130e+00 ( -1.37424e+00 /electron) + K.S. V_APC energy : -8.7592493252e-02 ( -2.91975e-02 /ion) + Viral Coefficient : -1.3316080684e+00 orbital energy: - -2.7482377e-01 ( -7.478eV) - -3.4429456e-01 ( -9.369eV) - -5.0642677e-01 ( -13.781eV) - -9.3408367e-01 ( -25.418eV) + -2.7429757e-01 ( -7.464eV) + -3.4352675e-01 ( -9.348eV) + -5.0441561e-01 ( -13.726eV) + -9.3146382e-01 ( -25.347eV) == Center of Charge == -spin up = ( 0.3274 -0.1283 -0.0911 ) -spin down = ( 0.3274 -0.1283 -0.0911 ) - total = ( 0.3274 -0.1283 -0.0911 ) -ionic = ( 0.3419 -0.1460 -0.1894 ) +spin up = ( 0.3267 -0.1262 -0.0938 ) +spin down = ( 0.3267 -0.1262 -0.0938 ) + total = ( 0.3267 -0.1262 -0.0938 ) +ionic = ( 0.3415 -0.1456 -0.1918 ) == Molecular Dipole wrt Center of Mass == -mu = ( 0.1158 -0.1414 -0.7864 ) au -|mu| = 0.8074 au ( 2.0520 Debye ) +mu = ( 0.1186 -0.1549 -0.7836 ) au +|mu| = 0.8075 au ( 2.0524 Debye ) Ion Forces (au): - 1 O ( 0.00043 -0.00152 0.00500 ) - 2 H ( -0.00109 -0.00170 -0.00190 ) - 3 H ( 0.00228 0.00174 -0.00131 ) + 1 O ( 0.00646 0.00219 0.00005 ) + 2 H ( -0.00778 -0.00604 0.00324 ) + 3 H ( 0.00291 0.00215 -0.00153 ) @@ -2837,10 +2124,10 @@ mu = ( 0.1158 -0.1414 -0.7864 ) au - self-consistent APC Potential: - 0.032692607 0.018731490 0.019435046 + 0.032690629 0.018450122 0.019681445 APC Point Charges: - -0.743603553 0.372702565 0.370900988 + -0.741234582 0.371207932 0.370026650 charge analysis on each atom @@ -2848,10 +2135,10 @@ mu = ( 0.1158 -0.1414 -0.7864 ) au no atom Qelc Qion Qtotal ----- ---- ------- ------- ------- - 1 O -6.744 6.000 -0.744 - 2 H -0.627 1.000 0.373 - 3 H -0.629 1.000 0.371 - Total Q -8.000 8.000 0.000 + 1 O -6.741 6.000 -0.741 + 2 H -0.629 1.000 0.371 + 3 H -0.630 1.000 0.370 + Total Q -8.000 8.000 -0.000 Gaussian coefficients of model density @@ -2859,34 +2146,34 @@ mu = ( 0.1158 -0.1414 -0.7864 ) au no atom g=0.000 g=0.600 g=0.900 g=1.350 ----- ---- ------- ------- ------- ------- - 1 O 6.000 -1.103 -2.065 -3.576 - 2 H 1.000 -0.717 0.773 -0.684 - 3 H 1.000 -0.717 0.776 -0.688 + 1 O 6.000 -1.090 -2.077 -3.574 + 2 H 1.000 -0.713 0.775 -0.691 + 3 H 1.000 -0.722 0.786 -0.694 output psi to filename: ./nwchemex.movecs ----------------- cputime in seconds - prologue : 2.186e-01 - main loop : 7.533e+00 - epilogue : 9.650e-02 - total : 7.848e+00 - cputime/step: 2.511e-01 ( 30 evaluations, 9 linesearches) + prologue : 2.125e-01 + main loop : 1.682e+01 + epilogue : 9.162e-02 + total : 1.713e+01 + cputime/step: 2.404e-01 ( 70 evaluations, 22 linesearches) Time spent doing total step percent - total time 1.113648e+02 3.712160e+00 100.00% - total FFT time 4.235557e+01 1.411852e+00 38.03% - lagrange multipliers 1.853756e-02 6.179185e-04 0.02% - local potentials 6.552728e-01 2.184243e-02 0.59% - non-local potentials 2.256693e+00 7.522310e-02 2.03% - ffm_dgemm 5.082342e-01 1.694114e-02 0.46% - fmf_dgemm 1.048584e+00 3.495281e-02 0.94% - m_diagonalize 1.949590e-03 6.498633e-05 0.00% - mmm_multiply 1.973550e-04 6.578500e-06 0.00% - SCVtrans 7.333550e-04 2.444517e-05 0.00% + total time 1.700924e+02 2.429892e+00 100.00% + total FFT time 4.776459e+01 6.823513e-01 28.08% + lagrange multipliers 3.219883e-02 4.599833e-04 0.02% + local potentials 1.098758e+00 1.569654e-02 0.65% + non-local potentials 3.463642e+00 4.948060e-02 2.04% + ffm_dgemm 7.773590e-01 1.110513e-02 0.46% + fmf_dgemm 1.645667e+00 2.350953e-02 0.97% + m_diagonalize 2.534141e-03 3.620201e-05 0.00% + mmm_multiply 3.674490e-04 5.249271e-06 0.00% + SCVtrans 9.900060e-04 1.414294e-05 0.00% - >>> job completed at Mon Feb 20 12:58:46 2023 <<< + >>> job completed at Fri Feb 24 15:24:03 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -2900,7 +2187,7 @@ mu = ( 0.1158 -0.1414 -0.7864 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Mon Feb 20 12:58:46 2023 <<< + >>> job started at Fri Feb 24 15:24:03 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -2913,9 +2200,9 @@ mu = ( 0.1158 -0.1414 -0.7864 ) au APC gamma: 0 0.60000 APC gamma: 1 0.90000 APC gamma: 2 1.35000 - APC u: 1 0.03281 - APC u: 2 0.01879 - APC u: 3 0.01949 + APC u: 1 0.03282 + APC u: 2 0.01847 + APC u: 3 0.01979 - self-consistent reading formatted psp filename: ./O.vpp @@ -2959,11 +2246,11 @@ mu = ( 0.1158 -0.1414 -0.7864 ) au O : 1 H : 2 initial ion positions (au): - 1 O ( 0.30527 -0.10001 0.06300 ) - atomic mass = 15.995 - 2 H ( 1.51778 0.69689 -0.96894 ) - atomic mass = 1.008 - 3 H ( -0.61424 -1.26510 -0.92492 ) - atomic mass = 1.008 - G.C. ( 0.40294 -0.22274 -0.61029 ) - C.O.M. ( 0.32167 -0.12061 -0.05004 ) + 1 O ( 0.30343 -0.09439 0.06035 ) - atomic mass = 15.995 + 2 H ( 1.54840 0.66966 -0.99899 ) - atomic mass = 1.008 + 3 H ( -0.63710 -1.26748 -0.90083 ) - atomic mass = 1.008 + G.C. ( 0.40491 -0.23074 -0.61316 ) + C.O.M. ( 0.32047 -0.11729 -0.05273 ) real space Electric field: Electric Field (au) = ( 0.00000 0.00000 0.00000 ) @@ -2999,12 +2286,14 @@ mu = ( 0.1158 -0.1414 -0.7864 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Mon Feb 20 12:58:46 2023 <<< + >>> iteration started at Fri Feb 24 15:24:03 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 10 -1.719892131612e+01 -7.898464e-10 8.411012e-12 + 10 -1.719875903611e+01 -1.191965e-07 1.720239e-09 + 20 -1.719875925446e+01 -3.321944e-09 1.519031e-10 + 30 -1.719875925672e+01 -9.223200e-10 3.814911e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Mon Feb 20 12:58:53 2023 <<< + >>> iteration ended at Fri Feb 24 15:24:20 2023 <<< ============== energy results (Molecule object) ============== @@ -3013,50 +2302,50 @@ mu = ( 0.1158 -0.1414 -0.7864 ) au APC Potential: - 0.032811295 0.018790019 0.019494618 + 0.032820855 0.018468557 0.019789376 APC Point Charges: - -0.743829157 0.372810198 0.371018959 + -0.741092724 0.371089271 0.370003454 - total energy : -1.7198921316e+01 ( -5.73297e+00 /ion) - total orbital energy: -4.1194088789e+00 ( -1.02985e+00 /electron) - hartree energy : 1.8010750958e+01 ( 4.50269e+00 /electron) - exc-corr energy : -4.2444081521e+00 ( -1.06110e+00 /electron) - APC energy : -1.0168014666e-02 ( -3.38934e-03 /ion) - ion-ion energy : 3.5936106189e+00 ( 1.19787e+00 /ion) + total energy : -1.7198759257e+01 ( -5.73292e+00 /ion) + total orbital energy: -4.1056786450e+00 ( -1.02642e+00 /electron) + hartree energy : 1.7971934649e+01 ( 4.49298e+00 /electron) + exc-corr energy : -4.2378000541e+00 ( -1.05945e+00 /electron) + APC energy : -1.0147675671e-02 ( -3.38256e-03 /ion) + ion-ion energy : 3.5431276392e+00 ( 1.18104e+00 /ion) - kinetic (planewave) : 1.2409848854e+01 ( 3.10246e+00 /electron) - V_local (planewave) : -4.5789685270e+01 ( -1.14474e+01 /electron) - V_nl (planewave) : -1.2567727982e+00 ( -3.14193e-01 /electron) - V_Coul (planewave) : 3.6021501916e+01 ( 9.00538e+00 /electron) - V_xc (planewave) : -5.5043015804e+00 ( -1.37608e+00 /electron) - K.S. V_APC energy : -8.7902487999e-02 ( -2.93008e-02 /ion) - Viral Coefficient : -1.3319467406e+00 + kinetic (planewave) : 1.2382192937e+01 ( 3.09555e+00 /electron) + V_local (planewave) : -4.5689434243e+01 ( -1.14224e+01 /electron) + V_nl (planewave) : -1.2466224529e+00 ( -3.11656e-01 /electron) + V_Coul (planewave) : 3.5943869299e+01 ( 8.98597e+00 /electron) + V_xc (planewave) : -5.4956841849e+00 ( -1.37392e+00 /electron) + K.S. V_APC energy : -8.7989943255e-02 ( -2.93300e-02 /ion) + Viral Coefficient : -1.3315792821e+00 orbital energy: - -2.7485717e-01 ( -7.479eV) - -3.4437897e-01 ( -9.371eV) - -5.0637575e-01 ( -13.779eV) - -9.3409255e-01 ( -25.418eV) + -2.7424923e-01 ( -7.463eV) + -3.4349159e-01 ( -9.347eV) + -5.0404133e-01 ( -13.716eV) + -9.3105717e-01 ( -25.336eV) == Center of Charge == -spin up = ( 0.3274 -0.1283 -0.0911 ) -spin down = ( 0.3274 -0.1283 -0.0911 ) - total = ( 0.3274 -0.1283 -0.0911 ) -ionic = ( 0.3419 -0.1460 -0.1895 ) +spin up = ( 0.3266 -0.1259 -0.0942 ) +spin down = ( 0.3266 -0.1259 -0.0942 ) + total = ( 0.3266 -0.1259 -0.0942 ) +ionic = ( 0.3415 -0.1455 -0.1922 ) == Molecular Dipole wrt Center of Mass == -mu = ( 0.1159 -0.1415 -0.7870 ) au -|mu| = 0.8080 au ( 2.0536 Debye ) +mu = ( 0.1192 -0.1573 -0.7837 ) au +|mu| = 0.8082 au ( 2.0541 Debye ) Ion Forces (au): - 1 O ( 0.00050 -0.00151 0.00486 ) - 2 H ( -0.00115 -0.00172 -0.00181 ) - 3 H ( 0.00228 0.00175 -0.00126 ) + 1 O ( 0.00745 0.00272 -0.00088 ) + 2 H ( -0.00888 -0.00669 0.00413 ) + 3 H ( 0.00301 0.00223 -0.00150 ) @@ -3079,10 +2368,10 @@ mu = ( 0.1159 -0.1415 -0.7870 ) au - self-consistent APC Potential: - 0.032811295 0.018790019 0.019494618 + 0.032820855 0.018468557 0.019789376 APC Point Charges: - -0.743829157 0.372810198 0.371018959 + -0.741092724 0.371089271 0.370003454 charge analysis on each atom @@ -3090,9 +2379,253 @@ mu = ( 0.1159 -0.1415 -0.7870 ) au no atom Qelc Qion Qtotal ----- ---- ------- ------- ------- - 1 O -6.744 6.000 -0.744 - 2 H -0.627 1.000 0.373 - 3 H -0.629 1.000 0.371 + 1 O -6.741 6.000 -0.741 + 2 H -0.629 1.000 0.371 + 3 H -0.630 1.000 0.370 + Total Q -8.000 8.000 -0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 O 6.000 -1.090 -2.076 -3.575 + 2 H 1.000 -0.712 0.775 -0.692 + 3 H 1.000 -0.723 0.788 -0.695 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 2.090e-01 + main loop : 1.658e+01 + epilogue : 9.267e-02 + total : 1.688e+01 + cputime/step: 2.403e-01 ( 69 evaluations, 22 linesearches) + + Time spent doing total step percent + total time 1.870016e+02 2.710168e+00 100.00% + total FFT time 5.246375e+01 7.603443e-01 28.06% + lagrange multipliers 3.219883e-02 4.666497e-04 0.02% + local potentials 1.231018e+00 1.784085e-02 0.66% + non-local potentials 3.798777e+00 5.505474e-02 2.03% + ffm_dgemm 8.556586e-01 1.240085e-02 0.46% + fmf_dgemm 1.817975e+00 2.634747e-02 0.97% + m_diagonalize 2.717328e-03 3.938157e-05 0.00% + mmm_multiply 3.963870e-04 5.744739e-06 0.00% + SCVtrans 1.064728e-03 1.543084e-05 0.00% + + >>> job completed at Fri Feb 24 15:24:20 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:24:20 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + APC u: 1 0.03296 + APC u: 2 0.01849 + APC u: 3 0.01990 + - self-consistent + + reading formatted psp filename: ./O.vpp + + reading formatted psp filename: ./H.vpp + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 2 + processor grid : 2 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: O valence charge = 6.0 lmax =2 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.700 0.700 0.700 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + O : 1 H : 2 + + initial ion positions (au): + 1 O ( 0.30318 -0.09359 0.06003 ) - atomic mass = 15.995 + 2 H ( 1.55261 0.66549 -1.00356 ) - atomic mass = 1.008 + 3 H ( -0.64013 -1.26776 -0.89777 ) - atomic mass = 1.008 + G.C. ( 0.40522 -0.23195 -0.61377 ) + C.O.M. ( 0.32031 -0.11682 -0.05310 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 17575.98 + lattice: a1 = < 26.000 0.000 0.000 > + a2 = < 0.000 26.000 0.000 > + a3 = < 0.000 0.000 26.000 > + reciprocal: b1 = < 0.242 0.000 0.000 > + b2 = < 0.000 0.242 0.000 > + b3 = < 0.000 0.000 0.242 > + lattice: a = 26.000 b = 26.000 c = 26.000 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) + + Ewald parameters: + energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + Ewald summation: cut radius = 8.276 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:24:20 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + 10 -1.719876774792e+01 -1.179609e-07 1.688321e-09 + 20 -1.719876796378e+01 -3.274007e-09 1.497515e-10 + 30 -1.719876796600e+01 -9.055405e-10 3.769551e-11 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:24:37 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + APC Potential: + 0.032962447 0.018492933 0.019903356 + + APC Point Charges: + -0.740982365 0.370989910 0.369992456 + + + total energy : -1.7198767966e+01 ( -5.73292e+00 /ion) + total orbital energy: -4.1040065377e+00 ( -1.02600e+00 /electron) + hartree energy : 1.7966262512e+01 ( 4.49157e+00 /electron) + exc-corr energy : -4.2368328182e+00 ( -1.05921e+00 /electron) + APC energy : -1.0199808630e-02 ( -3.39994e-03 /ion) + ion-ion energy : 3.5356907458e+00 ( 1.17856e+00 /ion) + + kinetic (planewave) : 1.2378124744e+01 ( 3.09453e+00 /electron) + V_local (planewave) : -4.5675116221e+01 ( -1.14188e+01 /electron) + V_nl (planewave) : -1.2451172190e+00 ( -3.11279e-01 /electron) + V_Coul (planewave) : 3.5932525024e+01 ( 8.98313e+00 /electron) + V_xc (planewave) : -5.4944228654e+00 ( -1.37361e+00 /electron) + K.S. V_APC energy : -8.8420099391e-02 ( -2.94734e-02 /ion) + Viral Coefficient : -1.3315531733e+00 + + orbital energy: + -2.7420556e-01 ( -7.462eV) + -3.4346574e-01 ( -9.346eV) + -5.0367045e-01 ( -13.706eV) + -9.3066152e-01 ( -25.325eV) + +== Center of Charge == + +spin up = ( 0.3265 -0.1255 -0.0947 ) +spin down = ( 0.3265 -0.1255 -0.0947 ) + total = ( 0.3265 -0.1255 -0.0947 ) +ionic = ( 0.3414 -0.1455 -0.1926 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 0.1197 -0.1597 -0.7839 ) au +|mu| = 0.8089 au ( 2.0560 Debye ) + + + Ion Forces (au): + 1 O ( 0.00841 0.00321 -0.00180 ) + 2 H ( -0.00995 -0.00731 0.00501 ) + 3 H ( 0.00312 0.00233 -0.00147 ) + + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - self-consistent + + APC Potential: + 0.032962447 0.018492933 0.019903356 + + APC Point Charges: + -0.740982365 0.370989910 0.369992456 + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 O -6.741 6.000 -0.741 + 2 H -0.629 1.000 0.371 + 3 H -0.630 1.000 0.370 Total Q -8.000 8.000 0.000 @@ -3101,31 +2634,519 @@ mu = ( 0.1159 -0.1415 -0.7870 ) au no atom g=0.000 g=0.600 g=0.900 g=1.350 ----- ---- ------- ------- ------- ------- - 1 O 6.000 -1.104 -2.063 -3.577 - 2 H 1.000 -0.717 0.773 -0.683 - 3 H 1.000 -0.717 0.775 -0.687 + 1 O 6.000 -1.089 -2.075 -3.577 + 2 H 1.000 -0.711 0.774 -0.693 + 3 H 1.000 -0.723 0.789 -0.696 output psi to filename: ./nwchemex.movecs ----------------- cputime in seconds - prologue : 2.188e-01 - main loop : 7.299e+00 - epilogue : 9.706e-02 - total : 7.615e+00 - cputime/step: 2.517e-01 ( 29 evaluations, 9 linesearches) + prologue : 2.127e-01 + main loop : 1.684e+01 + epilogue : 9.244e-02 + total : 1.715e+01 + cputime/step: 2.406e-01 ( 70 evaluations, 22 linesearches) Time spent doing total step percent - total time 1.190131e+02 4.103901e+00 100.00% - total FFT time 4.524319e+01 1.560110e+00 38.02% - lagrange multipliers 1.853756e-02 6.392260e-04 0.02% - local potentials 7.144996e-01 2.463792e-02 0.60% - non-local potentials 2.405749e+00 8.295688e-02 2.02% - ffm_dgemm 5.433286e-01 1.873547e-02 0.46% - fmf_dgemm 1.122774e+00 3.871633e-02 0.94% - m_diagonalize 2.034003e-03 7.013803e-05 0.00% - mmm_multiply 2.063150e-04 7.114310e-06 0.00% - SCVtrans 7.696860e-04 2.654090e-05 0.00% + total time 2.041779e+02 2.916827e+00 100.00% + total FFT time 5.722964e+01 8.175664e-01 28.03% + lagrange multipliers 3.219883e-02 4.599833e-04 0.02% + local potentials 1.365665e+00 1.950950e-02 0.67% + non-local potentials 4.138432e+00 5.912045e-02 2.03% + ffm_dgemm 9.341649e-01 1.334521e-02 0.46% + fmf_dgemm 1.989104e+00 2.841577e-02 0.97% + m_diagonalize 2.904906e-03 4.149866e-05 0.00% + mmm_multiply 4.271440e-04 6.102057e-06 0.00% + SCVtrans 1.133048e-03 1.618640e-05 0.00% - >>> job completed at Mon Feb 20 12:58:53 2023 <<< + >>> job completed at Fri Feb 24 15:24:37 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:24:37 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + APC u: 1 0.03311 + APC u: 2 0.01852 + APC u: 3 0.02002 + - self-consistent + + reading formatted psp filename: ./O.vpp + + reading formatted psp filename: ./H.vpp + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 2 + processor grid : 2 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: O valence charge = 6.0 lmax =2 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.700 0.700 0.700 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + O : 1 H : 2 + + initial ion positions (au): + 1 O ( 0.30292 -0.09278 0.05972 ) - atomic mass = 15.995 + 2 H ( 1.55675 0.66124 -1.00811 ) - atomic mass = 1.008 + 3 H ( -0.64312 -1.26803 -0.89474 ) - atomic mass = 1.008 + G.C. ( 0.40552 -0.23319 -0.61438 ) + C.O.M. ( 0.32015 -0.11636 -0.05346 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 17575.98 + lattice: a1 = < 26.000 0.000 0.000 > + a2 = < 0.000 26.000 0.000 > + a3 = < 0.000 0.000 26.000 > + reciprocal: b1 = < 0.242 0.000 0.000 > + b2 = < 0.000 0.242 0.000 > + b3 = < 0.000 0.000 0.242 > + lattice: a = 26.000 b = 26.000 c = 26.000 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) + + Ewald parameters: + energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + Ewald summation: cut radius = 8.276 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:24:37 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + 10 -1.719877621179e+01 -1.165157e-07 1.648981e-09 + 20 -1.719877642471e+01 -3.218958e-09 1.465438e-10 + 30 -1.719877642689e+01 -8.878089e-10 3.673901e-11 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:24:54 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + APC Potential: + 0.033114919 0.018523052 0.020023140 + + APC Point Charges: + -0.740903142 0.370909892 0.369993250 + + + total energy : -1.7198776427e+01 ( -5.73293e+00 /ion) + total orbital energy: -4.1023989735e+00 ( -1.02560e+00 /electron) + hartree energy : 1.7960702853e+01 ( 4.49018e+00 /electron) + exc-corr energy : -4.2358849974e+00 ( -1.05897e+00 /electron) + APC energy : -1.0256137654e-02 ( -3.41871e-03 /ion) + ion-ion energy : 3.5283983492e+00 ( 1.17613e+00 /ion) + + kinetic (planewave) : 1.2374141517e+01 ( 3.09354e+00 /electron) + V_local (planewave) : -4.5661116425e+01 ( -1.14153e+01 /electron) + V_nl (planewave) : -1.2436428987e+00 ( -3.10911e-01 /electron) + V_Coul (planewave) : 3.5921405705e+01 ( 8.98035e+00 /electron) + V_xc (planewave) : -5.4931868725e+00 ( -1.37330e+00 /electron) + K.S. V_APC energy : -8.8881312498e-02 ( -2.96271e-02 /ion) + Viral Coefficient : -1.3315299868e+00 + + orbital energy: + -2.7416691e-01 ( -7.461eV) + -3.4344946e-01 ( -9.346eV) + -5.0330458e-01 ( -13.696eV) + -9.3027854e-01 ( -25.314eV) + +== Center of Charge == + +spin up = ( 0.3264 -0.1252 -0.0951 ) +spin down = ( 0.3264 -0.1252 -0.0951 ) + total = ( 0.3264 -0.1252 -0.0951 ) +ionic = ( 0.3414 -0.1454 -0.1931 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 0.1203 -0.1621 -0.7842 ) au +|mu| = 0.8097 au ( 2.0580 Debye ) + + + Ion Forces (au): + 1 O ( 0.00933 0.00367 -0.00270 ) + 2 H ( -0.01100 -0.00790 0.00586 ) + 3 H ( 0.00323 0.00242 -0.00144 ) + + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - self-consistent + + APC Potential: + 0.033114919 0.018523052 0.020023140 + + APC Point Charges: + -0.740903142 0.370909892 0.369993250 + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 O -6.741 6.000 -0.741 + 2 H -0.629 1.000 0.371 + 3 H -0.630 1.000 0.370 + Total Q -8.000 8.000 0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 O 6.000 -1.089 -2.074 -3.578 + 2 H 1.000 -0.710 0.774 -0.693 + 3 H 1.000 -0.724 0.790 -0.696 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 2.134e-01 + main loop : 1.662e+01 + epilogue : 9.251e-02 + total : 1.692e+01 + cputime/step: 2.408e-01 ( 69 evaluations, 22 linesearches) + + Time spent doing total step percent + total time 2.211262e+02 3.204727e+00 100.00% + total FFT time 6.193820e+01 8.976551e-01 28.01% + lagrange multipliers 3.219883e-02 4.666497e-04 0.01% + local potentials 1.498146e+00 2.171226e-02 0.68% + non-local potentials 4.472692e+00 6.482163e-02 2.02% + ffm_dgemm 1.013158e+00 1.468345e-02 0.46% + fmf_dgemm 2.159346e+00 3.129486e-02 0.98% + m_diagonalize 3.087728e-03 4.474968e-05 0.00% + mmm_multiply 4.593240e-04 6.656870e-06 0.00% + SCVtrans 1.206779e-03 1.748955e-05 0.00% + + >>> job completed at Fri Feb 24 15:24:54 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:24:54 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + APC u: 1 0.03328 + APC u: 2 0.01856 + APC u: 3 0.02015 + - self-consistent + + reading formatted psp filename: ./O.vpp + + reading formatted psp filename: ./H.vpp + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 2 + processor grid : 2 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: O valence charge = 6.0 lmax =2 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.700 0.700 0.700 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + O : 1 H : 2 + + initial ion positions (au): + 1 O ( 0.30267 -0.09197 0.05940 ) - atomic mass = 15.995 + 2 H ( 1.56079 0.65693 -1.01263 ) - atomic mass = 1.008 + 3 H ( -0.64609 -1.26829 -0.89174 ) - atomic mass = 1.008 + G.C. ( 0.40579 -0.23444 -0.61499 ) + C.O.M. ( 0.31999 -0.11589 -0.05383 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 17575.98 + lattice: a1 = < 26.000 0.000 0.000 > + a2 = < 0.000 26.000 0.000 > + a3 = < 0.000 0.000 26.000 > + reciprocal: b1 = < 0.242 0.000 0.000 > + b2 = < 0.000 0.242 0.000 > + b3 = < 0.000 0.000 0.242 > + lattice: a = 26.000 b = 26.000 c = 26.000 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) + + Ewald parameters: + energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + Ewald summation: cut radius = 8.276 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:24:54 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + 10 -1.719878482168e+01 -1.148433e-07 1.602192e-09 + 20 -1.719878503116e+01 -3.152156e-09 1.428693e-10 + 30 -1.719878503329e+01 -8.665708e-10 3.580971e-11 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:25:11 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + APC Potential: + 0.033277730 0.018558691 0.020148449 + + APC Point Charges: + -0.740855675 0.370850186 0.370005489 + + + total energy : -1.7198785033e+01 ( -5.73293e+00 /ion) + total orbital energy: -4.1008620171e+00 ( -1.02522e+00 /electron) + hartree energy : 1.7955277635e+01 ( 4.48882e+00 /electron) + exc-corr energy : -4.2349602576e+00 ( -1.05874e+00 /electron) + APC energy : -1.0316464614e-02 ( -3.43882e-03 /ion) + ion-ion energy : 3.5212785627e+00 ( 1.17376e+00 /ion) + + kinetic (planewave) : 1.2370258043e+01 ( 3.09256e+00 /electron) + V_local (planewave) : -4.5647489400e+01 ( -1.14119e+01 /electron) + V_nl (planewave) : -1.2422049330e+00 ( -3.10551e-01 /electron) + V_Coul (planewave) : 3.5910555270e+01 ( 8.97764e+00 /electron) + V_xc (planewave) : -5.4919809967e+00 ( -1.37300e+00 /electron) + K.S. V_APC energy : -8.9371781545e-02 ( -2.97906e-02 /ion) + Viral Coefficient : -1.3315098200e+00 + + orbital energy: + -2.7413340e-01 ( -7.460eV) + -3.4344283e-01 ( -9.346eV) + -5.0294515e-01 ( -13.686eV) + -9.2990962e-01 ( -25.304eV) + +== Center of Charge == + +spin up = ( 0.3262 -0.1248 -0.0954 ) +spin down = ( 0.3262 -0.1248 -0.0954 ) + total = ( 0.3262 -0.1248 -0.0954 ) +ionic = ( 0.3413 -0.1454 -0.1935 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 0.1208 -0.1646 -0.7844 ) au +|mu| = 0.8105 au ( 2.0601 Debye ) + + + Ion Forces (au): + 1 O ( 0.01022 0.00409 -0.00359 ) + 2 H ( -0.01200 -0.00845 0.00669 ) + 3 H ( 0.00333 0.00251 -0.00139 ) + + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - self-consistent + + APC Potential: + 0.033277730 0.018558691 0.020148449 + + APC Point Charges: + -0.740855675 0.370850186 0.370005489 + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 O -6.741 6.000 -0.741 + 2 H -0.629 1.000 0.371 + 3 H -0.630 1.000 0.370 + Total Q -8.000 8.000 0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 O 6.000 -1.088 -2.073 -3.580 + 2 H 1.000 -0.709 0.774 -0.694 + 3 H 1.000 -0.724 0.791 -0.697 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 2.152e-01 + main loop : 1.685e+01 + epilogue : 9.250e-02 + total : 1.716e+01 + cputime/step: 2.407e-01 ( 70 evaluations, 22 linesearches) + + Time spent doing total step percent + total time 2.383116e+02 3.404451e+00 100.00% + total FFT time 6.670926e+01 9.529894e-01 27.99% + lagrange multipliers 3.219883e-02 4.599833e-04 0.01% + local potentials 1.633177e+00 2.333109e-02 0.69% + non-local potentials 4.810871e+00 6.872673e-02 2.02% + ffm_dgemm 1.093199e+00 1.561712e-02 0.46% + fmf_dgemm 2.333036e+00 3.332908e-02 0.98% + m_diagonalize 3.275008e-03 4.678583e-05 0.00% + mmm_multiply 4.867030e-04 6.952900e-06 0.00% + SCVtrans 1.284188e-03 1.834554e-05 0.00% + + >>> job completed at Fri Feb 24 15:25:11 2023 <<< diff --git a/examples/QUANTUM/NWChem/log.8Feb23.water.pwdft.qmmm.plugin.2 b/examples/QUANTUM/NWChem/log.24Feb23.water.pwdft.qmmm.plugin.2 similarity index 66% rename from examples/QUANTUM/NWChem/log.8Feb23.water.pwdft.qmmm.plugin.2 rename to examples/QUANTUM/NWChem/log.24Feb23.water.pwdft.qmmm.plugin.2 index 0e3a015ab6..803b663521 100644 --- a/examples/QUANTUM/NWChem/log.8Feb23.water.pwdft.qmmm.plugin.2 +++ b/examples/QUANTUM/NWChem/log.24Feb23.water.pwdft.qmmm.plugin.2 @@ -11,7 +11,7 @@ * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Mon Feb 20 12:59:15 2023 <<< + >>> job started at Fri Feb 24 15:36:02 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -31,7 +31,7 @@ writing formatted psp filename: ./H.vpp generating random psi from scratch Warning - Gram-Schmidt being performed on psi2 - - exact norm = 8.00000 norm=8.87324 corrected norm=8.00000 (error=0.87324) + - exact norm = 8.00000 norm=8.87321 corrected norm=8.00000 (error=0.87321) ============== summary of input ================== @@ -109,21 +109,20 @@ ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Mon Feb 20 12:59:15 2023 <<< + >>> iteration started at Fri Feb 24 15:36:02 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - - 10 steepest descent iterations performed - 10 -1.282472121153e+01 -9.484109e-01 1.779210e-02 - 20 -1.504837267799e+01 -5.497331e-02 3.093676e-04 - 30 -1.573162576628e+01 -7.462479e-02 7.497296e-04 - 40 -1.613937990909e+01 -1.991498e-02 1.005273e-04 - 50 -1.630233932354e+01 -1.501744e-03 1.758004e-04 - 60 -1.630525628588e+01 -1.357997e-05 9.037538e-08 - 70 -1.630527187384e+01 -6.875135e-08 2.522005e-09 - 80 -1.630527202279e+01 -1.101618e-09 1.194409e-11 - 90 -1.630527202341e+01 -6.239418e-10 5.440727e-12 + - 15 steepest descent iterations performed + 10 7.089050560355e+00 -3.582537e+00 6.691960e-04 + 20 -1.361280767460e+01 -6.011694e-01 7.883683e-03 + 30 -1.520563524147e+01 -6.939811e-02 8.410800e-04 + 40 -1.621678465147e+01 -2.325456e-02 3.928303e-04 + 50 -1.630501568133e+01 -6.649672e-04 3.407175e-05 + 60 -1.630527117024e+01 -6.605818e-07 7.042042e-09 + 70 -1.630527201766e+01 -3.772506e-09 2.820925e-11 + 80 -1.630527202296e+01 -9.484040e-10 1.063105e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Mon Feb 20 12:59:23 2023 <<< + >>> iteration ended at Fri Feb 24 15:36:11 2023 <<< ============== energy results (Molecule object) ============== @@ -132,23 +131,23 @@ total energy : -1.6305272023e+01 ( -5.43509e+00 /ion) - total orbital energy: -4.4097831376e+00 ( -1.10245e+00 /electron) - hartree energy : 1.6681806876e+01 ( 4.17045e+00 /electron) - exc-corr energy : -4.0100766866e+00 ( -1.00252e+00 /electron) + total orbital energy: -4.4097516270e+00 ( -1.10244e+00 /electron) + hartree energy : 1.6681840243e+01 ( 4.17046e+00 /electron) + exc-corr energy : -4.0100831603e+00 ( -1.00252e+00 /electron) ion-ion energy : 3.5966388474e+00 ( 1.19888e+00 /ion) - kinetic (planewave) : 9.8614439976e+00 ( 2.46536e+00 /electron) - V_local (planewave) : -4.2645265326e+01 ( -1.06613e+01 /electron) - V_nl (planewave) : 2.1018026777e-01 ( 5.25451e-02 /electron) - V_Coul (planewave) : 3.3363613752e+01 ( 8.34090e+00 /electron) - V_xc (planewave) : -5.1997558296e+00 ( -1.29994e+00 /electron) - Viral Coefficient : -1.4471741804e+00 + kinetic (planewave) : 9.8614765175e+00 ( 2.46537e+00 /electron) + V_local (planewave) : -4.2645329892e+01 ( -1.06613e+01 /electron) + V_nl (planewave) : 2.1018542134e-01 ( 5.25464e-02 /electron) + V_Coul (planewave) : 3.3363680486e+01 ( 8.34092e+00 /electron) + V_xc (planewave) : -5.1997641601e+00 ( -1.29994e+00 /electron) + Viral Coefficient : -1.4471695105e+00 orbital energy: - -2.5264682e-01 ( -6.875eV) - -3.5265599e-01 ( -9.596eV) - -5.0406540e-01 ( -13.716eV) - -1.0955234e+00 ( -29.811eV) + -2.5264288e-01 ( -6.875eV) + -3.5265246e-01 ( -9.596eV) + -5.0406233e-01 ( -13.716eV) + -1.0955181e+00 ( -29.811eV) == Center of Charge == @@ -159,7 +158,7 @@ ionic = ( 0.3418 -0.1460 -0.1893 ) == Molecular Dipole wrt Center of Mass == -mu = ( 0.0649 -0.0819 -0.4407 ) au +mu = ( 0.0649 -0.0820 -0.4407 ) au |mu| = 0.4529 au ( 1.1511 Debye ) @@ -190,7 +189,7 @@ mu = ( 0.0649 -0.0819 -0.4407 ) au 1 O -6.416 6.000 -0.416 2 H -0.792 1.000 0.208 3 H -0.792 1.000 0.208 - Total Q -8.000 8.000 0.000 + Total Q -8.000 8.000 -0.000 Gaussian coefficients of model density @@ -207,25 +206,25 @@ mu = ( 0.0649 -0.0819 -0.4407 ) au ----------------- cputime in seconds - prologue : 6.541e-02 - main loop : 7.598e+00 - epilogue : 9.369e-03 - total : 7.673e+00 - cputime/step: 2.846e-02 ( 267 evaluations, 81 linesearches) + prologue : 1.132e-01 + main loop : 9.352e+00 + epilogue : 8.307e-03 + total : 9.473e+00 + cputime/step: 2.913e-02 ( 321 evaluations, 74 linesearches) Time spent doing total step percent - total time 7.677869e+00 2.875606e-02 100.00% - total FFT time 2.887458e+00 1.081445e-02 37.61% - lagrange multipliers 2.396212e-03 8.974577e-06 0.03% - local potentials 4.929980e-04 1.846434e-06 0.01% - non-local potentials 2.540346e-01 9.514405e-04 3.31% - ffm_dgemm 8.381994e-02 3.139324e-04 1.09% - fmf_dgemm 8.565055e-02 3.207886e-04 1.12% - m_diagonalize 5.784450e-04 2.166461e-06 0.01% - mmm_multiply 5.265100e-05 1.971948e-07 0.00% - SCVtrans 2.165860e-04 8.111835e-07 0.00% + total time 9.443260e+00 2.941826e-02 100.00% + total FFT time 2.670474e+00 8.319235e-03 28.28% + lagrange multipliers 6.575587e-03 2.048469e-05 0.07% + local potentials 4.501420e-04 1.402312e-06 0.00% + non-local potentials 2.709856e-01 8.441918e-04 2.87% + ffm_dgemm 4.360340e-02 1.358361e-04 0.46% + fmf_dgemm 8.802816e-02 2.742310e-04 0.93% + m_diagonalize 5.288340e-04 1.647458e-06 0.01% + mmm_multiply 7.064400e-05 2.200748e-07 0.00% + SCVtrans 2.730270e-04 8.505514e-07 0.00% - >>> job completed at Mon Feb 20 12:59:23 2023 <<< + >>> job completed at Fri Feb 24 15:36:11 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -239,7 +238,7 @@ mu = ( 0.0649 -0.0819 -0.4407 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Mon Feb 20 12:59:23 2023 <<< + >>> job started at Fri Feb 24 15:36:11 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -342,17 +341,17 @@ mu = ( 0.0649 -0.0819 -0.4407 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Mon Feb 20 12:59:23 2023 <<< + >>> iteration started at Fri Feb 24 15:36:12 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - - 10 steepest descent iterations performed - 10 -1.709563331677e+01 -6.201473e-04 4.252837e-06 - 20 -1.709727702920e+01 -1.395637e-05 2.324058e-07 - 30 -1.709728935245e+01 -1.652119e-07 9.383450e-10 - 40 -1.709728957157e+01 -1.887344e-09 1.156678e-11 - 50 -1.709728957459e+01 -8.627055e-10 2.856983e-12 + - 15 steepest descent iterations performed + 10 -1.709552616063e+01 -9.067013e-04 1.096191e-05 + 20 -1.709727426392e+01 -1.254198e-05 1.221740e-07 + 30 -1.709728930760e+01 -1.755586e-07 2.870571e-09 + 40 -1.709728957060e+01 -2.322675e-09 1.887065e-11 + 50 -1.709728957412e+01 -8.859047e-10 2.923518e-12 *** tolerance ok. iteration terminated - >>> iteration ended at Mon Feb 20 12:59:38 2023 <<< + >>> iteration ended at Fri Feb 24 15:36:27 2023 <<< ============== energy results (Molecule object) ============== @@ -360,24 +359,24 @@ mu = ( 0.0649 -0.0819 -0.4407 ) au number of electrons: spin up= 4.00000 down= 4.00000 (real space) - total energy : -1.7097289575e+01 ( -5.69910e+00 /ion) - total orbital energy: -4.0996983017e+00 ( -1.02492e+00 /electron) - hartree energy : 1.7847984203e+01 ( 4.46200e+00 /electron) - exc-corr energy : -4.2204936664e+00 ( -1.05512e+00 /electron) + total energy : -1.7097289574e+01 ( -5.69910e+00 /ion) + total orbital energy: -4.0997000514e+00 ( -1.02493e+00 /electron) + hartree energy : 1.7847982432e+01 ( 4.46200e+00 /electron) + exc-corr energy : -4.2204935359e+00 ( -1.05512e+00 /electron) ion-ion energy : 3.5966388474e+00 ( 1.19888e+00 /ion) - kinetic (planewave) : 1.2079256817e+01 ( 3.01981e+00 /electron) - V_local (planewave) : -4.5359046108e+01 ( -1.13398e+01 /electron) - V_nl (planewave) : -1.0416296672e+00 ( -2.60407e-01 /electron) - V_Coul (planewave) : 3.5695968406e+01 ( 8.92399e+00 /electron) - V_xc (planewave) : -5.4742477490e+00 ( -1.36856e+00 /electron) - Viral Coefficient : -1.3393998790e+00 + kinetic (planewave) : 1.2079267853e+01 ( 3.01982e+00 /electron) + V_local (planewave) : -4.5359049925e+01 ( -1.13398e+01 /electron) + V_nl (planewave) : -1.0416352451e+00 ( -2.60409e-01 /electron) + V_Coul (planewave) : 3.5695964864e+01 ( 8.92399e+00 /electron) + V_xc (planewave) : -5.4742475975e+00 ( -1.36856e+00 /electron) + Viral Coefficient : -1.3393997137e+00 orbital energy: - -2.6700298e-01 ( -7.266eV) - -3.3720535e-01 ( -9.176eV) - -5.0189171e-01 ( -13.657eV) - -9.4374911e-01 ( -25.681eV) + -2.6700325e-01 ( -7.266eV) + -3.3720556e-01 ( -9.176eV) + -5.0189188e-01 ( -13.657eV) + -9.4374933e-01 ( -25.681eV) == Center of Charge == @@ -419,7 +418,7 @@ mu = ( 0.0958 -0.1200 -0.6599 ) au 1 O -6.631 6.000 -0.631 2 H -0.684 1.000 0.316 3 H -0.685 1.000 0.315 - Total Q -8.000 8.000 -0.000 + Total Q -8.000 8.000 0.000 Gaussian coefficients of model density @@ -436,25 +435,25 @@ mu = ( 0.0958 -0.1200 -0.6599 ) au ----------------- cputime in seconds - prologue : 1.759e-01 - main loop : 1.530e+01 - epilogue : 3.071e-02 - total : 1.551e+01 - cputime/step: 1.041e-01 ( 147 evaluations, 43 linesearches) + prologue : 1.760e-01 + main loop : 1.544e+01 + epilogue : 2.727e-02 + total : 1.564e+01 + cputime/step: 1.009e-01 ( 153 evaluations, 43 linesearches) Time spent doing total step percent - total time 2.323960e+01 1.580925e-01 100.00% - total FFT time 9.001530e+00 6.123490e-02 38.73% - lagrange multipliers 1.081922e-02 7.360016e-05 0.05% - local potentials 1.837175e-03 1.249779e-05 0.01% - non-local potentials 6.505598e-01 4.425577e-03 2.80% - ffm_dgemm 2.219660e-01 1.509973e-03 0.96% - fmf_dgemm 2.288675e-01 1.556921e-03 0.98% - m_diagonalize 9.273830e-04 6.308728e-06 0.00% - mmm_multiply 9.796900e-05 6.664558e-07 0.00% - SCVtrans 3.439250e-04 2.339626e-06 0.00% + total time 2.512266e+01 1.642004e-01 100.00% + total FFT time 7.228765e+00 4.724683e-02 28.77% + lagrange multipliers 1.332931e-02 8.711969e-05 0.05% + local potentials 2.540088e-03 1.660188e-05 0.01% + non-local potentials 6.403892e-01 4.185550e-03 2.55% + ffm_dgemm 1.154356e-01 7.544813e-04 0.46% + fmf_dgemm 2.257187e-01 1.475285e-03 0.90% + m_diagonalize 8.679170e-04 5.672660e-06 0.00% + mmm_multiply 1.086730e-04 7.102810e-07 0.00% + SCVtrans 4.051150e-04 2.647810e-06 0.00% - >>> job completed at Mon Feb 20 12:59:38 2023 <<< + >>> job completed at Fri Feb 24 15:36:27 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -468,7 +467,7 @@ mu = ( 0.0958 -0.1200 -0.6599 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Mon Feb 20 12:59:38 2023 <<< + >>> job started at Fri Feb 24 15:36:27 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -574,17 +573,17 @@ mu = ( 0.0958 -0.1200 -0.6599 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Mon Feb 20 12:59:38 2023 <<< + >>> iteration started at Fri Feb 24 15:36:27 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - - 10 steepest descent iterations performed - 10 -1.719854750859e+01 -5.739063e-05 1.086836e-06 - 20 -1.719866697103e+01 -1.561352e-06 7.029033e-08 - 30 -1.719867013369e+01 -4.633695e-08 1.534761e-10 - 40 -1.719867027116e+01 -2.334716e-09 4.231098e-11 - 50 -1.719867027638e+01 -8.351257e-10 1.415691e-11 + - 15 steepest descent iterations performed + 10 -1.719850750633e+01 -7.489611e-05 1.916852e-06 + 20 -1.719866545102e+01 -1.621993e-06 1.219779e-08 + 30 -1.719867005773e+01 -6.392208e-08 5.380553e-10 + 40 -1.719867026700e+01 -2.808584e-09 2.902516e-11 + 50 -1.719867027685e+01 -8.939232e-10 2.123599e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Mon Feb 20 13:00:12 2023 <<< + >>> iteration ended at Fri Feb 24 15:37:01 2023 <<< ============== energy results (Molecule object) ============== @@ -596,29 +595,29 @@ mu = ( 0.0958 -0.1200 -0.6599 ) au 0.032168321 0.018471985 0.019170642 APC Point Charges: - -0.742599484 0.372218634 0.370380850 + -0.742594440 0.372215881 0.370378559 - total energy : -1.7198670276e+01 ( -5.73289e+00 /ion) - total orbital energy: -4.1186005525e+00 ( -1.02965e+00 /electron) - hartree energy : 1.8012763373e+01 ( 4.50319e+00 /electron) - exc-corr energy : -4.2447731089e+00 ( -1.06119e+00 /electron) - APC energy : -9.9121231916e-03 ( -3.30404e-03 /ion) + total energy : -1.7198670277e+01 ( -5.73289e+00 /ion) + total orbital energy: -4.1185951135e+00 ( -1.02965e+00 /electron) + hartree energy : 1.8012769185e+01 ( 4.50319e+00 /electron) + exc-corr energy : -4.2447746588e+00 ( -1.06119e+00 /electron) + APC energy : -9.9120557142e-03 ( -3.30402e-03 /ion) ion-ion energy : 3.5966383352e+00 ( 1.19888e+00 /ion) - kinetic (planewave) : 1.2411600602e+01 ( 3.10290e+00 /electron) - V_local (planewave) : -4.5793468974e+01 ( -1.14484e+01 /electron) - V_nl (planewave) : -1.2574819137e+00 ( -3.14370e-01 /electron) - V_Coul (planewave) : 3.6025526747e+01 ( 9.00638e+00 /electron) - V_xc (planewave) : -5.5047770128e+00 ( -1.37619e+00 /electron) - K.S. V_APC energy : -8.5963533407e-02 ( -2.86545e-02 /ion) - Viral Coefficient : -1.3318347637e+00 + kinetic (planewave) : 1.2411625022e+01 ( 3.10291e+00 /electron) + V_local (planewave) : -4.5793489955e+01 ( -1.14484e+01 /electron) + V_nl (planewave) : -1.2574896151e+00 ( -3.14372e-01 /electron) + V_Coul (planewave) : 3.6025538370e+01 ( 9.00638e+00 /electron) + V_xc (planewave) : -5.5047789350e+00 ( -1.37619e+00 /electron) + K.S. V_APC energy : -8.5963465929e-02 ( -2.86545e-02 /ion) + Viral Coefficient : -1.3318336726e+00 orbital energy: - -2.7467794e-01 ( -7.474eV) - -3.4392861e-01 ( -9.359eV) - -5.0664632e-01 ( -13.787eV) - -9.3404742e-01 ( -25.417eV) + -2.7467714e-01 ( -7.474eV) + -3.4392777e-01 ( -9.359eV) + -5.0664594e-01 ( -13.787eV) + -9.3404671e-01 ( -25.417eV) == Center of Charge == @@ -662,7 +661,7 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au 0.032168321 0.018471985 0.019170642 APC Point Charges: - -0.742599484 0.372218634 0.370380850 + -0.742594440 0.372215881 0.370378559 charge analysis on each atom @@ -690,25 +689,25 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au ----------------- cputime in seconds - prologue : 2.824e-01 - main loop : 3.353e+01 - epilogue : 8.889e-02 - total : 3.390e+01 - cputime/step: 2.266e-01 ( 148 evaluations, 44 linesearches) + prologue : 2.886e-01 + main loop : 3.407e+01 + epilogue : 7.946e-02 + total : 3.443e+01 + cputime/step: 2.143e-01 ( 159 evaluations, 46 linesearches) Time spent doing total step percent - total time 5.719710e+01 3.864669e-01 100.00% - total FFT time 2.218099e+01 1.498716e-01 38.78% - lagrange multipliers 2.714469e-02 1.834101e-04 0.05% - local potentials 2.551341e-01 1.723879e-03 0.45% - non-local potentials 1.391154e+00 9.399686e-03 2.43% - ffm_dgemm 4.908890e-01 3.316818e-03 0.86% - fmf_dgemm 5.523412e-01 3.732035e-03 0.97% - m_diagonalize 1.296268e-03 8.758568e-06 0.00% - mmm_multiply 1.409640e-04 9.524595e-07 0.00% - SCVtrans 4.956650e-04 3.349088e-06 0.00% + total time 5.961894e+01 3.749619e-01 100.00% + total FFT time 1.705569e+01 1.072685e-01 28.61% + lagrange multipliers 2.770001e-02 1.742139e-04 0.05% + local potentials 2.728062e-01 1.715762e-03 0.46% + non-local potentials 1.365814e+00 8.590024e-03 2.29% + ffm_dgemm 2.722403e-01 1.712203e-03 0.46% + fmf_dgemm 5.543930e-01 3.486748e-03 0.93% + m_diagonalize 1.230453e-03 7.738698e-06 0.00% + mmm_multiply 1.692010e-04 1.064157e-06 0.00% + SCVtrans 5.798710e-04 3.646987e-06 0.00% - >>> job completed at Mon Feb 20 13:00:12 2023 <<< + >>> job completed at Fri Feb 24 15:37:02 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -722,7 +721,7 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Mon Feb 20 13:00:12 2023 <<< + >>> job started at Fri Feb 24 15:37:02 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -735,9 +734,9 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au APC gamma: 0 0.60000 APC gamma: 1 0.90000 APC gamma: 2 1.35000 - APC u: 1 0.03217 - APC u: 2 0.01848 - APC u: 3 0.01917 + APC u: 1 0.03222 + APC u: 2 0.01845 + APC u: 3 0.01924 - self-consistent reading formatted psp filename: ./O.vpp @@ -781,11 +780,11 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au O : 1 H : 2 initial ion positions (au): - 1 O ( 0.30530 -0.09999 0.06269 ) - atomic mass = 15.995 - 2 H ( 1.51755 0.69755 -0.96692 ) - atomic mass = 1.008 - 3 H ( -0.61523 -1.26531 -0.92326 ) - atomic mass = 1.008 - G.C. ( 0.40254 -0.22258 -0.60916 ) - C.O.M. ( 0.32163 -0.12057 -0.05011 ) + 1 O ( 0.30503 -0.09919 0.06234 ) - atomic mass = 15.995 + 2 H ( 1.52203 0.69367 -0.97143 ) - atomic mass = 1.008 + 3 H ( -0.61843 -1.26564 -0.91994 ) - atomic mass = 1.008 + G.C. ( 0.40288 -0.22372 -0.60968 ) + C.O.M. ( 0.32146 -0.12010 -0.05049 ) real space Electric field: Electric Field (au) = ( 0.00000 0.00000 0.00000 ) @@ -821,12 +820,14 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Mon Feb 20 13:00:12 2023 <<< + >>> iteration started at Fri Feb 24 15:37:02 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 10 -1.719867286753e+01 -6.807959e-10 2.321477e-11 + 10 -1.719868650088e+01 -1.191269e-07 1.696551e-09 + 20 -1.719868671143e+01 -2.961354e-09 1.370154e-10 + 30 -1.719868671344e+01 -8.142145e-10 3.386329e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Mon Feb 20 13:00:13 2023 <<< + >>> iteration ended at Fri Feb 24 15:37:17 2023 <<< ============== energy results (Molecule object) ============== @@ -835,50 +836,50 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au APC Potential: - 0.032174976 0.018475289 0.019174010 + 0.032223202 0.018452127 0.019238906 APC Point Charges: - -0.742603988 0.372221498 0.370382490 + -0.742375948 0.372052525 0.370323423 - total energy : -1.7198672868e+01 ( -5.73289e+00 /ion) - total orbital energy: -4.1185877728e+00 ( -1.02965e+00 /electron) - hartree energy : 1.8012764978e+01 ( 4.50319e+00 /electron) - exc-corr energy : -4.2447737993e+00 ( -1.06119e+00 /electron) - APC energy : -9.9146481408e-03 ( -3.30488e-03 /ion) - ion-ion energy : 3.5966070435e+00 ( 1.19887e+00 /ion) + total energy : -1.7198686713e+01 ( -5.73290e+00 /ion) + total orbital energy: -4.1166502420e+00 ( -1.02916e+00 /electron) + hartree energy : 1.8007018520e+01 ( 4.50175e+00 /electron) + exc-corr energy : -4.2437902939e+00 ( -1.06095e+00 /electron) + APC energy : -9.9319522413e-03 ( -3.31065e-03 /ion) + ion-ion energy : 3.5890677516e+00 ( 1.19636e+00 /ion) - kinetic (planewave) : 1.2411604235e+01 ( 3.10290e+00 /electron) - V_local (planewave) : -4.5793466800e+01 ( -1.14484e+01 /electron) - V_nl (planewave) : -1.2574773464e+00 ( -3.14369e-01 /electron) - V_Coul (planewave) : 3.6025529957e+01 ( 9.00638e+00 /electron) - V_xc (planewave) : -5.5047778183e+00 ( -1.37619e+00 /electron) - K.S. V_APC energy : -8.5983469374e-02 ( -2.86612e-02 /ion) - Viral Coefficient : -1.3318336369e+00 + kinetic (planewave) : 1.2407479151e+01 ( 3.10187e+00 /electron) + V_local (planewave) : -4.5778699896e+01 ( -1.14447e+01 /electron) + V_nl (planewave) : -1.2559710660e+00 ( -3.13993e-01 /electron) + V_Coul (planewave) : 3.6014037040e+01 ( 9.00351e+00 /electron) + V_xc (planewave) : -5.5034954705e+00 ( -1.37587e+00 /electron) + K.S. V_APC energy : -8.6141072782e-02 ( -2.87137e-02 /ion) + Viral Coefficient : -1.3317878025e+00 orbital energy: - -2.7467727e-01 ( -7.474eV) - -3.4393166e-01 ( -9.359eV) - -5.0664047e-01 ( -13.786eV) - -9.3404449e-01 ( -25.417eV) + -2.7460160e-01 ( -7.472eV) + -3.4383640e-01 ( -9.356eV) + -5.0628238e-01 ( -13.777eV) + -9.3360474e-01 ( -25.405eV) == Center of Charge == -spin up = ( 0.3274 -0.1283 -0.0913 ) -spin down = ( 0.3274 -0.1283 -0.0913 ) - total = ( 0.3274 -0.1283 -0.0913 ) -ionic = ( 0.3418 -0.1460 -0.1893 ) +spin up = ( 0.3272 -0.1280 -0.0917 ) +spin down = ( 0.3272 -0.1280 -0.0917 ) + total = ( 0.3272 -0.1280 -0.0917 ) +ionic = ( 0.3417 -0.1459 -0.1897 ) == Molecular Dipole wrt Center of Mass == -mu = ( 0.1153 -0.1410 -0.7838 ) au -|mu| = 0.8047 au ( 2.0451 Debye ) +mu = ( 0.1158 -0.1433 -0.7837 ) au +|mu| = 0.8051 au ( 2.0461 Debye ) Ion Forces (au): - 1 O ( 0.00016 -0.00158 0.00552 ) - 2 H ( -0.00083 -0.00158 -0.00229 ) - 3 H ( 0.00230 0.00170 -0.00151 ) + 1 O ( 0.00121 -0.00087 0.00470 ) + 2 H ( -0.00200 -0.00237 -0.00137 ) + 3 H ( 0.00241 0.00177 -0.00154 ) @@ -901,10 +902,10 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au - self-consistent APC Potential: - 0.032174976 0.018475289 0.019174010 + 0.032223202 0.018452127 0.019238906 APC Point Charges: - -0.742603988 0.372221498 0.370382490 + -0.742375948 0.372052525 0.370323423 charge analysis on each atom @@ -912,977 +913,9 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au no atom Qelc Qion Qtotal ----- ---- ------- ------- ------- - 1 O -6.743 6.000 -0.743 + 1 O -6.742 6.000 -0.742 2 H -0.628 1.000 0.372 3 H -0.630 1.000 0.370 - Total Q -8.000 8.000 -0.000 - - - Gaussian coefficients of model density - -------------------------------------- - - no atom g=0.000 g=0.600 g=0.900 g=1.350 - ----- ---- ------- ------- ------- ------- - 1 O 6.000 -1.098 -2.076 -3.570 - 2 H 1.000 -0.718 0.776 -0.685 - 3 H 1.000 -0.718 0.778 -0.689 - - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 1.942e-01 - main loop : 9.251e-01 - epilogue : 8.871e-02 - total : 1.208e+00 - cputime/step: 2.313e-01 ( 4 evaluations, 1 linesearches) - - Time spent doing total step percent - total time 5.844822e+01 1.461205e+01 100.00% - total FFT time 2.253788e+01 5.634470e+00 38.56% - lagrange multipliers 2.714469e-02 6.786172e-03 0.05% - local potentials 2.669456e-01 6.673640e-02 0.46% - non-local potentials 1.424462e+00 3.561155e-01 2.44% - ffm_dgemm 4.980762e-01 1.245191e-01 0.85% - fmf_dgemm 5.595647e-01 1.398912e-01 0.96% - m_diagonalize 1.316873e-03 3.292183e-04 0.00% - mmm_multiply 1.425090e-04 3.562725e-05 0.00% - SCVtrans 4.998940e-04 1.249735e-04 0.00% - - >>> job completed at Mon Feb 20 13:00:13 2023 <<< - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Mon Feb 20 13:00:13 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - initializing nwpw_APC object - ---------------------------- - nga = 3 ngs = 9 - Gc = 2.50000 - APC gamma: 0 0.60000 - APC gamma: 1 0.90000 - APC gamma: 2 1.35000 - APC u: 1 0.03219 - APC u: 2 0.01849 - APC u: 3 0.01918 - - self-consistent - - reading formatted psp filename: ./O.vpp - - reading formatted psp filename: ./H.vpp - input psi exists, reading from file: ./nwchemex.movecs - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 2 - processor grid : 2 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: O valence charge = 6.0 lmax =2 - comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp - pseudopotential type = 0 - highest angular component = 2 - local potential used = 2 - number of non-local projections = 4 - cutoff = 0.700 0.700 0.700 - 2: H valence charge = 1.0 lmax =1 - comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp - pseudopotential type = 0 - highest angular component = 1 - local potential used = 1 - number of non-local projections = 1 - cutoff = 0.800 0.800 - - total charge = 0.000 - - atom composition: - O : 1 H : 2 - - initial ion positions (au): - 1 O ( 0.30530 -0.09999 0.06270 ) - atomic mass = 15.995 - 2 H ( 1.51756 0.69753 -0.96698 ) - atomic mass = 1.008 - 3 H ( -0.61520 -1.26530 -0.92331 ) - atomic mass = 1.008 - G.C. ( 0.40256 -0.22259 -0.60920 ) - C.O.M. ( 0.32163 -0.12057 -0.05011 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) - - supercell: - volume = 17575.98 - lattice: a1 = < 26.000 0.000 0.000 > - a2 = < 0.000 26.000 0.000 > - a3 = < 0.000 0.000 26.000 > - reciprocal: b1 = < 0.242 0.000 0.000 > - b2 = < 0.000 0.242 0.000 > - b3 = < 0.000 0.000 0.242 > - lattice: a = 26.000 b = 26.000 c = 26.000 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) - wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) - - Ewald parameters: - energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) - Ewald summation: cut radius = 8.276 and 1 - Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) - - technical parameters: - fixed step: time step = 5.80 ficticious mass = 400000.00 - tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Mon Feb 20 13:00:14 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - 10 -1.719868062972e+01 -9.425918e-10 5.922221e-11 - *** tolerance ok. iteration terminated - >>> iteration ended at Mon Feb 20 13:00:16 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 4.00000 down= 4.00000 (real space) - - - APC Potential: - 0.032194911 0.018485184 0.019184100 - - APC Point Charges: - -0.742638641 0.372241291 0.370397350 - - - total energy : -1.7198680630e+01 ( -5.73289e+00 /ion) - total orbital energy: -4.1185937828e+00 ( -1.02965e+00 /electron) - hartree energy : 1.8012723256e+01 ( 4.50318e+00 /electron) - exc-corr energy : -4.2447666970e+00 ( -1.06119e+00 /electron) - APC energy : -9.9224962706e-03 ( -3.30750e-03 /ion) - ion-ion energy : 3.5965135890e+00 ( 1.19884e+00 /ion) - - kinetic (planewave) : 1.2411587836e+01 ( 3.10290e+00 /electron) - V_local (planewave) : -4.5793387800e+01 ( -1.14483e+01 /electron) - V_nl (planewave) : -1.2574717978e+00 ( -3.14368e-01 /electron) - V_Coul (planewave) : 3.6025446511e+01 ( 9.00636e+00 /electron) - V_xc (planewave) : -5.5047685322e+00 ( -1.37619e+00 /electron) - K.S. V_APC energy : -8.6043480840e-02 ( -2.86812e-02 /ion) - Viral Coefficient : -1.3318345595e+00 - - orbital energy: - -2.7468030e-01 ( -7.474eV) - -3.4394195e-01 ( -9.359eV) - -5.0663062e-01 ( -13.786eV) - -9.3404403e-01 ( -25.417eV) - -== Center of Charge == - -spin up = ( 0.3274 -0.1283 -0.0913 ) -spin down = ( 0.3274 -0.1283 -0.0913 ) - total = ( 0.3274 -0.1283 -0.0913 ) -ionic = ( 0.3418 -0.1460 -0.1893 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( 0.1153 -0.1410 -0.7839 ) au -|mu| = 0.8048 au ( 2.0454 Debye ) - - - Ion Forces (au): - 1 O ( 0.00015 -0.00159 0.00561 ) - 2 H ( -0.00084 -0.00158 -0.00227 ) - 3 H ( 0.00230 0.00170 -0.00150 ) - - - -************************************************************* -** ** -** PSPW Atomic Point Charge (APC) Analysis ** -** ** -** Point charge analysis based on paper by P.E. Blochl ** -** (J. Chem. Phys. vol 103, page 7422, 1995) ** -** ** -************************************************************* - - nwpw_APC object - --------------- - nga = 3 ngs = 9 - Gc = 2.50000 - APC gamma: 0 0.60000 - APC gamma: 1 0.90000 - APC gamma: 2 1.35000 - - self-consistent - - APC Potential: - 0.032194911 0.018485184 0.019184100 - - APC Point Charges: - -0.742638641 0.372241291 0.370397350 - - - charge analysis on each atom - ---------------------------- - - no atom Qelc Qion Qtotal - ----- ---- ------- ------- ------- - 1 O -6.743 6.000 -0.743 - 2 H -0.628 1.000 0.372 - 3 H -0.630 1.000 0.370 - Total Q -8.000 8.000 -0.000 - - - Gaussian coefficients of model density - -------------------------------------- - - no atom g=0.000 g=0.600 g=0.900 g=1.350 - ----- ---- ------- ------- ------- ------- - 1 O 6.000 -1.098 -2.075 -3.570 - 2 H 1.000 -0.718 0.776 -0.685 - 3 H 1.000 -0.718 0.778 -0.689 - - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 1.916e-01 - main loop : 2.278e+00 - epilogue : 8.903e-02 - total : 2.559e+00 - cputime/step: 2.278e-01 ( 10 evaluations, 3 linesearches) - - Time spent doing total step percent - total time 6.103553e+01 6.103553e+00 100.00% - total FFT time 2.342587e+01 2.342587e+00 38.38% - lagrange multipliers 2.714469e-02 2.714469e-03 0.04% - local potentials 2.887727e-01 2.887727e-02 0.47% - non-local potentials 1.486650e+00 1.486650e-01 2.44% - ffm_dgemm 5.165938e-01 5.165938e-02 0.85% - fmf_dgemm 5.811251e-01 5.811251e-02 0.95% - m_diagonalize 1.354440e-03 1.354440e-04 0.00% - mmm_multiply 1.461520e-04 1.461520e-05 0.00% - SCVtrans 5.096160e-04 5.096160e-05 0.00% - - >>> job completed at Mon Feb 20 13:00:16 2023 <<< - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Mon Feb 20 13:00:16 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - initializing nwpw_APC object - ---------------------------- - nga = 3 ngs = 9 - Gc = 2.50000 - APC gamma: 0 0.60000 - APC gamma: 1 0.90000 - APC gamma: 2 1.35000 - APC u: 1 0.03223 - APC u: 2 0.01850 - APC u: 3 0.01920 - - self-consistent - - reading formatted psp filename: ./O.vpp - - reading formatted psp filename: ./H.vpp - input psi exists, reading from file: ./nwchemex.movecs - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 2 - processor grid : 2 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: O valence charge = 6.0 lmax =2 - comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp - pseudopotential type = 0 - highest angular component = 2 - local potential used = 2 - number of non-local projections = 4 - cutoff = 0.700 0.700 0.700 - 2: H valence charge = 1.0 lmax =1 - comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp - pseudopotential type = 0 - highest angular component = 1 - local potential used = 1 - number of non-local projections = 1 - cutoff = 0.800 0.800 - - total charge = 0.000 - - atom composition: - O : 1 H : 2 - - initial ion positions (au): - 1 O ( 0.30530 -0.09999 0.06272 ) - atomic mass = 15.995 - 2 H ( 1.51757 0.69750 -0.96708 ) - atomic mass = 1.008 - 3 H ( -0.61515 -1.26529 -0.92340 ) - atomic mass = 1.008 - G.C. ( 0.40258 -0.22259 -0.60925 ) - C.O.M. ( 0.32163 -0.12058 -0.05011 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) - - supercell: - volume = 17575.98 - lattice: a1 = < 26.000 0.000 0.000 > - a2 = < 0.000 26.000 0.000 > - a3 = < 0.000 0.000 26.000 > - reciprocal: b1 = < 0.242 0.000 0.000 > - b2 = < 0.000 0.242 0.000 > - b3 = < 0.000 0.000 0.242 > - lattice: a = 26.000 b = 26.000 c = 26.000 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) - wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) - - Ewald parameters: - energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) - Ewald summation: cut radius = 8.276 and 1 - Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) - - technical parameters: - fixed step: time step = 5.80 ficticious mass = 400000.00 - tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Mon Feb 20 13:00:16 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - 10 -1.719869353513e+01 -6.996892e-10 1.974356e-11 - *** tolerance ok. iteration terminated - >>> iteration ended at Mon Feb 20 13:00:20 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 4.00000 down= 4.00000 (real space) - - - APC Potential: - 0.032228045 0.018501626 0.019200864 - - APC Point Charges: - -0.742700321 0.372273084 0.370427237 - - - total energy : -1.7198693535e+01 ( -5.73290e+00 /ion) - total orbital energy: -4.1186507914e+00 ( -1.02966e+00 /electron) - hartree energy : 1.8012603696e+01 ( 4.50315e+00 /electron) - exc-corr energy : -4.2447443787e+00 ( -1.06119e+00 /electron) - APC energy : -9.9355992608e-03 ( -3.31187e-03 /ion) - ion-ion energy : 3.5963580889e+00 ( 1.19879e+00 /ion) - - kinetic (planewave) : 1.2411482266e+01 ( 3.10287e+00 /electron) - V_local (planewave) : -4.5793167644e+01 ( -1.14483e+01 /electron) - V_nl (planewave) : -1.2574332540e+00 ( -3.14358e-01 /electron) - V_Coul (planewave) : 3.6025207393e+01 ( 9.00630e+00 /electron) - V_xc (planewave) : -5.5047395518e+00 ( -1.37618e+00 /electron) - K.S. V_APC energy : -8.6143289859e-02 ( -2.87144e-02 /ion) - Viral Coefficient : -1.3318419753e+00 - - orbital energy: - -2.7469140e-01 ( -7.475eV) - -3.4396624e-01 ( -9.360eV) - -5.0661933e-01 ( -13.786eV) - -9.3404843e-01 ( -25.417eV) - -== Center of Charge == - -spin up = ( 0.3274 -0.1283 -0.0913 ) -spin down = ( 0.3274 -0.1283 -0.0913 ) - total = ( 0.3274 -0.1283 -0.0913 ) -ionic = ( 0.3418 -0.1460 -0.1893 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( 0.1153 -0.1410 -0.7840 ) au -|mu| = 0.8049 au ( 2.0458 Debye ) - - - Ion Forces (au): - 1 O ( 0.00017 -0.00159 0.00555 ) - 2 H ( -0.00085 -0.00159 -0.00225 ) - 3 H ( 0.00230 0.00170 -0.00150 ) - - - -************************************************************* -** ** -** PSPW Atomic Point Charge (APC) Analysis ** -** ** -** Point charge analysis based on paper by P.E. Blochl ** -** (J. Chem. Phys. vol 103, page 7422, 1995) ** -** ** -************************************************************* - - nwpw_APC object - --------------- - nga = 3 ngs = 9 - Gc = 2.50000 - APC gamma: 0 0.60000 - APC gamma: 1 0.90000 - APC gamma: 2 1.35000 - - self-consistent - - APC Potential: - 0.032228045 0.018501626 0.019200864 - - APC Point Charges: - -0.742700321 0.372273084 0.370427237 - - - charge analysis on each atom - ---------------------------- - - no atom Qelc Qion Qtotal - ----- ---- ------- ------- ------- - 1 O -6.743 6.000 -0.743 - 2 H -0.628 1.000 0.372 - 3 H -0.630 1.000 0.370 - Total Q -8.000 8.000 -0.000 - - - Gaussian coefficients of model density - -------------------------------------- - - no atom g=0.000 g=0.600 g=0.900 g=1.350 - ----- ---- ------- ------- ------- ------- - 1 O 6.000 -1.098 -2.075 -3.570 - 2 H 1.000 -0.718 0.776 -0.685 - 3 H 1.000 -0.718 0.778 -0.689 - - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 1.934e-01 - main loop : 3.645e+00 - epilogue : 8.890e-02 - total : 3.928e+00 - cputime/step: 2.278e-01 ( 16 evaluations, 5 linesearches) - - Time spent doing total step percent - total time 6.499079e+01 4.061924e+00 100.00% - total FFT time 2.485307e+01 1.553317e+00 38.24% - lagrange multipliers 2.714469e-02 1.696543e-03 0.04% - local potentials 3.208754e-01 2.005472e-02 0.49% - non-local potentials 1.577413e+00 9.858830e-02 2.43% - ffm_dgemm 5.462850e-01 3.414281e-02 0.84% - fmf_dgemm 6.172050e-01 3.857532e-02 0.95% - m_diagonalize 1.409547e-03 8.809669e-05 0.00% - mmm_multiply 1.509580e-04 9.434875e-06 0.00% - SCVtrans 5.279350e-04 3.299594e-05 0.00% - - >>> job completed at Mon Feb 20 13:00:20 2023 <<< - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Mon Feb 20 13:00:20 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - initializing nwpw_APC object - ---------------------------- - nga = 3 ngs = 9 - Gc = 2.50000 - APC gamma: 0 0.60000 - APC gamma: 1 0.90000 - APC gamma: 2 1.35000 - APC u: 1 0.03227 - APC u: 2 0.01852 - APC u: 3 0.01922 - - self-consistent - - reading formatted psp filename: ./O.vpp - - reading formatted psp filename: ./H.vpp - input psi exists, reading from file: ./nwchemex.movecs - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 2 - processor grid : 2 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: O valence charge = 6.0 lmax =2 - comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp - pseudopotential type = 0 - highest angular component = 2 - local potential used = 2 - number of non-local projections = 4 - cutoff = 0.700 0.700 0.700 - 2: H valence charge = 1.0 lmax =1 - comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp - pseudopotential type = 0 - highest angular component = 1 - local potential used = 1 - number of non-local projections = 1 - cutoff = 0.800 0.800 - - total charge = 0.000 - - atom composition: - O : 1 H : 2 - - initial ion positions (au): - 1 O ( 0.30530 -0.09999 0.06274 ) - atomic mass = 15.995 - 2 H ( 1.51759 0.69745 -0.96723 ) - atomic mass = 1.008 - 3 H ( -0.61508 -1.26528 -0.92351 ) - atomic mass = 1.008 - G.C. ( 0.40260 -0.22261 -0.60934 ) - C.O.M. ( 0.32164 -0.12058 -0.05010 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) - - supercell: - volume = 17575.98 - lattice: a1 = < 26.000 0.000 0.000 > - a2 = < 0.000 26.000 0.000 > - a3 = < 0.000 0.000 26.000 > - reciprocal: b1 = < 0.242 0.000 0.000 > - b2 = < 0.000 0.242 0.000 > - b3 = < 0.000 0.000 0.242 > - lattice: a = 26.000 b = 26.000 c = 26.000 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) - wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) - - Ewald parameters: - energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) - Ewald summation: cut radius = 8.276 and 1 - Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) - - technical parameters: - fixed step: time step = 5.80 ficticious mass = 400000.00 - tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Mon Feb 20 13:00:20 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - 10 -1.719871153462e+01 -6.391758e-10 1.229918e-11 - *** tolerance ok. iteration terminated - >>> iteration ended at Mon Feb 20 13:00:24 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 4.00000 down= 4.00000 (real space) - - - APC Potential: - 0.032274243 0.018524540 0.019224223 - - APC Point Charges: - -0.742788677 0.372316049 0.370472628 - - - total energy : -1.7198711535e+01 ( -5.73290e+00 /ion) - total orbital energy: -4.1187171364e+00 ( -1.02968e+00 /electron) - hartree energy : 1.8012450719e+01 ( 4.50311e+00 /electron) - exc-corr energy : -4.2447163276e+00 ( -1.06118e+00 /electron) - APC energy : -9.9539102235e-03 ( -3.31797e-03 /ion) - ion-ion energy : 3.5961410380e+00 ( 1.19871e+00 /ion) - - kinetic (planewave) : 1.2411346542e+01 ( 3.10284e+00 /electron) - V_local (planewave) : -4.5792882362e+01 ( -1.14482e+01 /electron) - V_nl (planewave) : -1.2573797281e+00 ( -3.14345e-01 /electron) - V_Coul (planewave) : 3.6024901437e+01 ( 9.00623e+00 /electron) - V_xc (planewave) : -5.5047030248e+00 ( -1.37618e+00 /electron) - K.S. V_APC energy : -8.6282495389e-02 ( -2.87608e-02 /ion) - Viral Coefficient : -1.3318509497e+00 - - orbital energy: - -2.7470533e-01 ( -7.475eV) - -3.4399929e-01 ( -9.361eV) - -5.0660134e-01 ( -13.785eV) - -9.3405260e-01 ( -25.417eV) - -== Center of Charge == - -spin up = ( 0.3274 -0.1283 -0.0913 ) -spin down = ( 0.3274 -0.1283 -0.0913 ) - total = ( 0.3274 -0.1283 -0.0913 ) -ionic = ( 0.3418 -0.1460 -0.1893 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( 0.1154 -0.1410 -0.7843 ) au -|mu| = 0.8052 au ( 2.0464 Debye ) - - - Ion Forces (au): - 1 O ( 0.00019 -0.00159 0.00550 ) - 2 H ( -0.00088 -0.00160 -0.00222 ) - 3 H ( 0.00230 0.00170 -0.00148 ) - - - -************************************************************* -** ** -** PSPW Atomic Point Charge (APC) Analysis ** -** ** -** Point charge analysis based on paper by P.E. Blochl ** -** (J. Chem. Phys. vol 103, page 7422, 1995) ** -** ** -************************************************************* - - nwpw_APC object - --------------- - nga = 3 ngs = 9 - Gc = 2.50000 - APC gamma: 0 0.60000 - APC gamma: 1 0.90000 - APC gamma: 2 1.35000 - - self-consistent - - APC Potential: - 0.032274243 0.018524540 0.019224223 - - APC Point Charges: - -0.742788677 0.372316049 0.370472628 - - - charge analysis on each atom - ---------------------------- - - no atom Qelc Qion Qtotal - ----- ---- ------- ------- ------- - 1 O -6.743 6.000 -0.743 - 2 H -0.628 1.000 0.372 - 3 H -0.630 1.000 0.370 - Total Q -8.000 8.000 -0.000 - - - Gaussian coefficients of model density - -------------------------------------- - - no atom g=0.000 g=0.600 g=0.900 g=1.350 - ----- ---- ------- ------- ------- ------- - 1 O 6.000 -1.098 -2.074 -3.571 - 2 H 1.000 -0.718 0.775 -0.685 - 3 H 1.000 -0.718 0.778 -0.689 - - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 1.927e-01 - main loop : 4.317e+00 - epilogue : 8.818e-02 - total : 4.598e+00 - cputime/step: 2.272e-01 ( 19 evaluations, 6 linesearches) - - Time spent doing total step percent - total time 6.961816e+01 3.664114e+00 100.00% - total FFT time 2.654570e+01 1.397142e+00 38.13% - lagrange multipliers 2.714469e-02 1.428668e-03 0.04% - local potentials 3.578721e-01 1.883537e-02 0.51% - non-local potentials 1.681791e+00 8.851531e-02 2.42% - ffm_dgemm 5.817009e-01 3.061584e-02 0.84% - fmf_dgemm 6.604804e-01 3.476212e-02 0.95% - m_diagonalize 1.469262e-03 7.732958e-05 0.00% - mmm_multiply 1.588480e-04 8.360421e-06 0.00% - SCVtrans 5.496380e-04 2.892832e-05 0.00% - - >>> job completed at Mon Feb 20 13:00:25 2023 <<< - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Mon Feb 20 13:00:25 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - initializing nwpw_APC object - ---------------------------- - nga = 3 ngs = 9 - Gc = 2.50000 - APC gamma: 0 0.60000 - APC gamma: 1 0.90000 - APC gamma: 2 1.35000 - APC u: 1 0.03233 - APC u: 2 0.01855 - APC u: 3 0.01925 - - self-consistent - - reading formatted psp filename: ./O.vpp - - reading formatted psp filename: ./H.vpp - input psi exists, reading from file: ./nwchemex.movecs - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 2 - processor grid : 2 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: O valence charge = 6.0 lmax =2 - comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp - pseudopotential type = 0 - highest angular component = 2 - local potential used = 2 - number of non-local projections = 4 - cutoff = 0.700 0.700 0.700 - 2: H valence charge = 1.0 lmax =1 - comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp - pseudopotential type = 0 - highest angular component = 1 - local potential used = 1 - number of non-local projections = 1 - cutoff = 0.800 0.800 - - total charge = 0.000 - - atom composition: - O : 1 H : 2 - - initial ion positions (au): - 1 O ( 0.30530 -0.09999 0.06277 ) - atomic mass = 15.995 - 2 H ( 1.51761 0.69739 -0.96741 ) - atomic mass = 1.008 - 3 H ( -0.61499 -1.26526 -0.92367 ) - atomic mass = 1.008 - G.C. ( 0.40264 -0.22262 -0.60944 ) - C.O.M. ( 0.32164 -0.12058 -0.05010 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) - - supercell: - volume = 17575.98 - lattice: a1 = < 26.000 0.000 0.000 > - a2 = < 0.000 26.000 0.000 > - a3 = < 0.000 0.000 26.000 > - reciprocal: b1 = < 0.242 0.000 0.000 > - b2 = < 0.000 0.242 0.000 > - b3 = < 0.000 0.000 0.242 > - lattice: a = 26.000 b = 26.000 c = 26.000 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) - wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) - - Ewald parameters: - energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) - Ewald summation: cut radius = 8.276 and 1 - Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) - - technical parameters: - fixed step: time step = 5.80 ficticious mass = 400000.00 - tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Mon Feb 20 13:00:25 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - 10 -1.719873455954e+01 -9.002363e-10 1.652790e-11 - *** tolerance ok. iteration terminated - >>> iteration ended at Mon Feb 20 13:00:29 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 4.00000 down= 4.00000 (real space) - - - APC Potential: - 0.032333312 0.018553820 0.019254068 - - APC Point Charges: - -0.742896600 0.372369363 0.370527237 - - - total energy : -1.7198734560e+01 ( -5.73291e+00 /ion) - total orbital energy: -4.1187908835e+00 ( -1.02970e+00 /electron) - hartree energy : 1.8012266744e+01 ( 4.50307e+00 /electron) - exc-corr energy : -4.2446829039e+00 ( -1.06117e+00 /electron) - APC energy : -9.9772770239e-03 ( -3.32576e-03 /ion) - ion-ion energy : 3.5958632816e+00 ( 1.19862e+00 /ion) - - kinetic (planewave) : 1.2411184746e+01 ( 3.10280e+00 /electron) - V_local (planewave) : -4.5792534956e+01 ( -1.14481e+01 /electron) - V_nl (planewave) : -1.2573146458e+00 ( -3.14329e-01 /electron) - V_Coul (planewave) : 3.6024533487e+01 ( 9.00613e+00 /electron) - V_xc (planewave) : -5.5046595151e+00 ( -1.37616e+00 /electron) - K.S. V_APC energy : -8.6460451910e-02 ( -2.88202e-02 /ion) - Viral Coefficient : -1.3318612178e+00 - - orbital energy: - -2.7472182e-01 ( -7.476eV) - -3.4404031e-01 ( -9.362eV) - -5.0657672e-01 ( -13.785eV) - -9.3405660e-01 ( -25.417eV) - -== Center of Charge == - -spin up = ( 0.3274 -0.1283 -0.0912 ) -spin down = ( 0.3274 -0.1283 -0.0912 ) - total = ( 0.3274 -0.1283 -0.0912 ) -ionic = ( 0.3418 -0.1460 -0.1893 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( 0.1155 -0.1411 -0.7846 ) au -|mu| = 0.8055 au ( 2.0472 Debye ) - - - Ion Forces (au): - 1 O ( 0.00022 -0.00158 0.00544 ) - 2 H ( -0.00091 -0.00162 -0.00217 ) - 3 H ( 0.00230 0.00171 -0.00146 ) - - - -************************************************************* -** ** -** PSPW Atomic Point Charge (APC) Analysis ** -** ** -** Point charge analysis based on paper by P.E. Blochl ** -** (J. Chem. Phys. vol 103, page 7422, 1995) ** -** ** -************************************************************* - - nwpw_APC object - --------------- - nga = 3 ngs = 9 - Gc = 2.50000 - APC gamma: 0 0.60000 - APC gamma: 1 0.90000 - APC gamma: 2 1.35000 - - self-consistent - - APC Potential: - 0.032333312 0.018553820 0.019254068 - - APC Point Charges: - -0.742896600 0.372369363 0.370527237 - - - charge analysis on each atom - ---------------------------- - - no atom Qelc Qion Qtotal - ----- ---- ------- ------- ------- - 1 O -6.743 6.000 -0.743 - 2 H -0.628 1.000 0.372 - 3 H -0.629 1.000 0.371 Total Q -8.000 8.000 0.000 @@ -1891,34 +924,34 @@ mu = ( 0.1155 -0.1411 -0.7846 ) au no atom g=0.000 g=0.600 g=0.900 g=1.350 ----- ---- ------- ------- ------- ------- - 1 O 6.000 -1.099 -2.073 -3.571 - 2 H 1.000 -0.718 0.775 -0.685 - 3 H 1.000 -0.718 0.778 -0.689 + 1 O 6.000 -1.096 -2.076 -3.570 + 2 H 1.000 -0.717 0.776 -0.686 + 3 H 1.000 -0.719 0.780 -0.690 output psi to filename: ./nwchemex.movecs ----------------- cputime in seconds - prologue : 1.928e-01 - main loop : 4.538e+00 - epilogue : 8.852e-02 - total : 4.819e+00 - cputime/step: 2.269e-01 ( 20 evaluations, 6 linesearches) + prologue : 1.864e-01 + main loop : 1.491e+01 + epilogue : 7.967e-02 + total : 1.518e+01 + cputime/step: 2.131e-01 ( 70 evaluations, 22 linesearches) Time spent doing total step percent - total time 7.446701e+01 3.723351e+00 100.00% - total FFT time 2.832434e+01 1.416217e+00 38.04% - lagrange multipliers 2.714469e-02 1.357234e-03 0.04% - local potentials 3.962394e-01 1.981197e-02 0.53% - non-local potentials 1.792085e+00 8.960425e-02 2.41% - ffm_dgemm 6.178273e-01 3.089137e-02 0.83% - fmf_dgemm 7.048099e-01 3.524049e-02 0.95% - m_diagonalize 1.528387e-03 7.641935e-05 0.00% - mmm_multiply 1.662550e-04 8.312750e-06 0.00% - SCVtrans 5.738570e-04 2.869285e-05 0.00% + total time 7.483701e+01 1.069100e+00 100.00% + total FFT time 2.134523e+01 3.049319e-01 28.52% + lagrange multipliers 2.770001e-02 3.957144e-04 0.04% + local potentials 3.948498e-01 5.640711e-03 0.53% + non-local potentials 1.688850e+00 2.412643e-02 2.26% + ffm_dgemm 3.442074e-01 4.917248e-03 0.46% + fmf_dgemm 7.092531e-01 1.013219e-02 0.95% + m_diagonalize 1.408884e-03 2.012691e-05 0.00% + mmm_multiply 1.976730e-04 2.823900e-06 0.00% + SCVtrans 6.549420e-04 9.356314e-06 0.00% - >>> job completed at Mon Feb 20 13:00:29 2023 <<< + >>> job completed at Fri Feb 24 15:37:17 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -1932,7 +965,7 @@ mu = ( 0.1155 -0.1411 -0.7846 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Mon Feb 20 13:00:29 2023 <<< + >>> job started at Fri Feb 24 15:37:17 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -1945,9 +978,9 @@ mu = ( 0.1155 -0.1411 -0.7846 ) au APC gamma: 0 0.60000 APC gamma: 1 0.90000 APC gamma: 2 1.35000 - APC u: 1 0.03241 - APC u: 2 0.01859 - APC u: 3 0.01929 + APC u: 1 0.03229 + APC u: 2 0.01844 + APC u: 3 0.01931 - self-consistent reading formatted psp filename: ./O.vpp @@ -1991,11 +1024,11 @@ mu = ( 0.1155 -0.1411 -0.7846 ) au O : 1 H : 2 initial ion positions (au): - 1 O ( 0.30529 -0.10000 0.06280 ) - atomic mass = 15.995 - 2 H ( 1.51764 0.69732 -0.96764 ) - atomic mass = 1.008 - 3 H ( -0.61488 -1.26524 -0.92385 ) - atomic mass = 1.008 - G.C. ( 0.40268 -0.22264 -0.60956 ) - C.O.M. ( 0.32164 -0.12059 -0.05009 ) + 1 O ( 0.30476 -0.09839 0.06200 ) - atomic mass = 15.995 + 2 H ( 1.52650 0.68976 -0.97599 ) - atomic mass = 1.008 + 3 H ( -0.62160 -1.26596 -0.91667 ) - atomic mass = 1.008 + G.C. ( 0.40322 -0.22486 -0.61022 ) + C.O.M. ( 0.32130 -0.11963 -0.05087 ) real space Electric field: Electric Field (au) = ( 0.00000 0.00000 0.00000 ) @@ -2031,12 +1064,14 @@ mu = ( 0.1155 -0.1411 -0.7846 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Mon Feb 20 13:00:30 2023 <<< + >>> iteration started at Fri Feb 24 15:37:17 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 10 -1.719876252297e+01 -8.461818e-10 1.395325e-11 + 10 -1.719870171705e+01 -1.219371e-07 1.763819e-09 + 20 -1.719870193981e+01 -3.368804e-09 1.554026e-10 + 30 -1.719870194212e+01 -9.379342e-10 3.872352e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Mon Feb 20 13:00:35 2023 <<< + >>> iteration ended at Fri Feb 24 15:37:32 2023 <<< ============== energy results (Molecule object) ============== @@ -2045,50 +1080,50 @@ mu = ( 0.1155 -0.1411 -0.7846 ) au APC Potential: - 0.032405008 0.018589332 0.019290258 + 0.032291213 0.018438825 0.019314020 APC Point Charges: - -0.743037468 0.372435991 0.370601477 + -0.742098949 0.371855642 0.370243306 - total energy : -1.7198762523e+01 ( -5.73292e+00 /ion) - total orbital energy: -4.1188886919e+00 ( -1.02972e+00 /electron) - hartree energy : 1.8012034339e+01 ( 4.50301e+00 /electron) - exc-corr energy : -4.2446405558e+00 ( -1.06116e+00 /electron) - APC energy : -1.0005800955e-02 ( -3.33527e-03 /ion) - ion-ion energy : 3.5955258998e+00 ( 1.19851e+00 /ion) + total energy : -1.7198701942e+01 ( -5.73290e+00 /ion) + total orbital energy: -4.1147472356e+00 ( -1.02869e+00 /electron) + hartree energy : 1.8001172841e+01 ( 4.50029e+00 /electron) + exc-corr energy : -4.2427911083e+00 ( -1.06070e+00 /electron) + APC energy : -9.9558073873e-03 ( -3.31860e-03 /ion) + ion-ion energy : 3.5814159310e+00 ( 1.19381e+00 /ion) - kinetic (planewave) : 1.2410979437e+01 ( 3.10274e+00 /electron) - V_local (planewave) : -4.5792100254e+01 ( -1.14480e+01 /electron) - V_nl (planewave) : -1.2572322157e+00 ( -3.14308e-01 /electron) - V_Coul (planewave) : 3.6024068679e+01 ( 9.00602e+00 /electron) - V_xc (planewave) : -5.5046043378e+00 ( -1.37615e+00 /electron) - K.S. V_APC energy : -8.6676627332e-02 ( -2.88922e-02 /ion) - Viral Coefficient : -1.3318745884e+00 + kinetic (planewave) : 1.2403251121e+01 ( 3.10081e+00 /electron) + V_local (planewave) : -4.5763741972e+01 ( -1.14409e+01 /electron) + V_nl (planewave) : -1.2544094603e+00 ( -3.13602e-01 /electron) + V_Coul (planewave) : 3.6002345682e+01 ( 9.00059e+00 /electron) + V_xc (planewave) : -5.5021926056e+00 ( -1.37555e+00 /electron) + K.S. V_APC energy : -8.6356513377e-02 ( -2.87855e-02 /ion) + Viral Coefficient : -1.3317474745e+00 orbital energy: - -2.7474275e-01 ( -7.476eV) - -3.4409137e-01 ( -9.363eV) - -5.0654778e-01 ( -13.784eV) - -9.3406245e-01 ( -25.417eV) + -2.7453323e-01 ( -7.470eV) + -3.4375723e-01 ( -9.354eV) + -5.0591518e-01 ( -13.767eV) + -9.3316798e-01 ( -25.393eV) == Center of Charge == -spin up = ( 0.3274 -0.1283 -0.0912 ) -spin down = ( 0.3274 -0.1283 -0.0912 ) - total = ( 0.3274 -0.1283 -0.0912 ) -ionic = ( 0.3418 -0.1460 -0.1893 ) +spin up = ( 0.3271 -0.1276 -0.0921 ) +spin down = ( 0.3271 -0.1276 -0.0921 ) + total = ( 0.3271 -0.1276 -0.0921 ) +ionic = ( 0.3417 -0.1458 -0.1901 ) == Molecular Dipole wrt Center of Mass == -mu = ( 0.1155 -0.1411 -0.7849 ) au -|mu| = 0.8058 au ( 2.0481 Debye ) +mu = ( 0.1164 -0.1456 -0.7836 ) au +|mu| = 0.8054 au ( 2.0471 Debye ) Ion Forces (au): - 1 O ( 0.00027 -0.00157 0.00534 ) - 2 H ( -0.00094 -0.00164 -0.00212 ) - 3 H ( 0.00230 0.00172 -0.00143 ) + 1 O ( 0.00229 -0.00020 0.00378 ) + 2 H ( -0.00318 -0.00315 -0.00044 ) + 3 H ( 0.00250 0.00183 -0.00155 ) @@ -2111,10 +1146,10 @@ mu = ( 0.1155 -0.1411 -0.7849 ) au - self-consistent APC Potential: - 0.032405008 0.018589332 0.019290258 + 0.032291213 0.018438825 0.019314020 APC Point Charges: - -0.743037468 0.372435991 0.370601477 + -0.742098949 0.371855642 0.370243306 charge analysis on each atom @@ -2122,10 +1157,10 @@ mu = ( 0.1155 -0.1411 -0.7849 ) au no atom Qelc Qion Qtotal ----- ---- ------- ------- ------- - 1 O -6.743 6.000 -0.743 + 1 O -6.742 6.000 -0.742 2 H -0.628 1.000 0.372 - 3 H -0.629 1.000 0.371 - Total Q -8.000 8.000 -0.000 + 3 H -0.630 1.000 0.370 + Total Q -8.000 8.000 0.000 Gaussian coefficients of model density @@ -2133,34 +1168,34 @@ mu = ( 0.1155 -0.1411 -0.7849 ) au no atom g=0.000 g=0.600 g=0.900 g=1.350 ----- ---- ------- ------- ------- ------- - 1 O 6.000 -1.100 -2.071 -3.572 - 2 H 1.000 -0.718 0.775 -0.685 - 3 H 1.000 -0.718 0.777 -0.689 + 1 O 6.000 -1.095 -2.076 -3.571 + 2 H 1.000 -0.716 0.776 -0.687 + 3 H 1.000 -0.720 0.781 -0.691 output psi to filename: ./nwchemex.movecs ----------------- cputime in seconds - prologue : 1.927e-01 - main loop : 5.215e+00 - epilogue : 8.872e-02 - total : 5.496e+00 - cputime/step: 2.267e-01 ( 23 evaluations, 7 linesearches) + prologue : 1.845e-01 + main loop : 1.471e+01 + epilogue : 7.953e-02 + total : 1.498e+01 + cputime/step: 2.132e-01 ( 69 evaluations, 22 linesearches) Time spent doing total step percent - total time 7.998954e+01 3.477806e+00 100.00% - total FFT time 3.037212e+01 1.320527e+00 37.97% - lagrange multipliers 2.714469e-02 1.180204e-03 0.03% - local potentials 4.398058e-01 1.912199e-02 0.55% - non-local potentials 1.915285e+00 8.327325e-02 2.39% - ffm_dgemm 6.598032e-01 2.868709e-02 0.82% - fmf_dgemm 7.562256e-01 3.287937e-02 0.95% - m_diagonalize 1.599001e-03 6.952178e-05 0.00% - mmm_multiply 1.751110e-04 7.613522e-06 0.00% - SCVtrans 5.969060e-04 2.595243e-05 0.00% + total time 8.984342e+01 1.302079e+00 100.00% + total FFT time 2.557525e+01 3.706558e-01 28.47% + lagrange multipliers 2.770001e-02 4.014494e-04 0.03% + local potentials 5.165274e-01 7.485904e-03 0.57% + non-local potentials 2.005381e+00 2.906349e-02 2.23% + ffm_dgemm 4.152934e-01 6.018744e-03 0.46% + fmf_dgemm 8.630479e-01 1.250794e-02 0.96% + m_diagonalize 1.593157e-03 2.308923e-05 0.00% + mmm_multiply 2.208580e-04 3.200841e-06 0.00% + SCVtrans 7.428100e-04 1.076536e-05 0.00% - >>> job completed at Mon Feb 20 13:00:35 2023 <<< + >>> job completed at Fri Feb 24 15:37:32 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -2174,7 +1209,7 @@ mu = ( 0.1155 -0.1411 -0.7849 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Mon Feb 20 13:00:35 2023 <<< + >>> job started at Fri Feb 24 15:37:32 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -2187,9 +1222,9 @@ mu = ( 0.1155 -0.1411 -0.7849 ) au APC gamma: 0 0.60000 APC gamma: 1 0.90000 APC gamma: 2 1.35000 - APC u: 1 0.03249 - APC u: 2 0.01863 - APC u: 3 0.01933 + APC u: 1 0.03237 + APC u: 2 0.01843 + APC u: 3 0.01940 - self-consistent reading formatted psp filename: ./O.vpp @@ -2233,11 +1268,11 @@ mu = ( 0.1155 -0.1411 -0.7849 ) au O : 1 H : 2 initial ion positions (au): - 1 O ( 0.30529 -0.10000 0.06284 ) - atomic mass = 15.995 - 2 H ( 1.51767 0.69723 -0.96791 ) - atomic mass = 1.008 - 3 H ( -0.61475 -1.26521 -0.92407 ) - atomic mass = 1.008 - G.C. ( 0.40274 -0.22266 -0.60971 ) - C.O.M. ( 0.32165 -0.12059 -0.05008 ) + 1 O ( 0.30449 -0.09760 0.06166 ) - atomic mass = 15.995 + 2 H ( 1.53096 0.68583 -0.98057 ) - atomic mass = 1.008 + 3 H ( -0.62475 -1.26628 -0.91343 ) - atomic mass = 1.008 + G.C. ( 0.40357 -0.22602 -0.61078 ) + C.O.M. ( 0.32113 -0.11916 -0.05124 ) real space Electric field: Electric Field (au) = ( 0.00000 0.00000 0.00000 ) @@ -2273,12 +1308,14 @@ mu = ( 0.1155 -0.1411 -0.7849 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Mon Feb 20 13:00:35 2023 <<< + >>> iteration started at Fri Feb 24 15:37:32 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 10 -1.719879531710e+01 -7.113670e-10 9.202899e-12 + 10 -1.719871563023e+01 -1.217943e-07 1.769172e-09 + 20 -1.719871585343e+01 -3.400775e-09 1.566525e-10 + 30 -1.719871585575e+01 -9.490755e-10 3.915450e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Mon Feb 20 13:00:41 2023 <<< + >>> iteration ended at Fri Feb 24 15:37:47 2023 <<< ============== energy results (Molecule object) ============== @@ -2287,50 +1324,50 @@ mu = ( 0.1155 -0.1411 -0.7849 ) au APC Potential: - 0.032489033 0.018630914 0.019332623 + 0.032372199 0.018432048 0.019395932 APC Point Charges: - -0.743206670 0.372515004 0.370691667 + -0.741841124 0.371670391 0.370170734 - total energy : -1.7198795317e+01 ( -5.73293e+00 /ion) - total orbital energy: -4.1189981956e+00 ( -1.02975e+00 /electron) - hartree energy : 1.8011767262e+01 ( 4.50294e+00 /electron) - exc-corr energy : -4.2445921602e+00 ( -1.06115e+00 /electron) - APC energy : -1.0039328876e-02 ( -3.34644e-03 /ion) - ion-ion energy : 3.5951302685e+00 ( 1.19838e+00 /ion) + total energy : -1.7198715856e+01 ( -5.73291e+00 /ion) + total orbital energy: -4.1128639120e+00 ( -1.02822e+00 /electron) + hartree energy : 1.7995291163e+01 ( 4.49882e+00 /electron) + exc-corr energy : -4.2417862671e+00 ( -1.06045e+00 /electron) + APC energy : -9.9845758877e-03 ( -3.32819e-03 /ion) + ion-ion energy : 3.5737175440e+00 ( 1.19124e+00 /ion) - kinetic (planewave) : 1.2410744939e+01 ( 3.10269e+00 /electron) - V_local (planewave) : -4.5791599222e+01 ( -1.14479e+01 /electron) - V_nl (planewave) : -1.2571371697e+00 ( -3.14284e-01 /electron) - V_Coul (planewave) : 3.6023534525e+01 ( 9.00588e+00 /electron) - V_xc (planewave) : -5.5045412674e+00 ( -1.37614e+00 /electron) - K.S. V_APC energy : -8.6930094012e-02 ( -2.89767e-02 /ion) - Viral Coefficient : -1.3318896824e+00 + kinetic (planewave) : 1.2399002370e+01 ( 3.09975e+00 /electron) + V_local (planewave) : -4.5748727366e+01 ( -1.14372e+01 /electron) + V_nl (planewave) : -1.2528389179e+00 ( -3.13210e-01 /electron) + V_Coul (planewave) : 3.5990582326e+01 ( 8.99765e+00 /electron) + V_xc (planewave) : -5.5008823242e+00 ( -1.37522e+00 /electron) + K.S. V_APC energy : -8.6610193852e-02 ( -2.88701e-02 /ion) + Viral Coefficient : -1.3317092609e+00 orbital energy: - -2.7476661e-01 ( -7.477eV) - -3.4415074e-01 ( -9.365eV) - -5.0651298e-01 ( -13.783eV) - -9.3406877e-01 ( -25.418eV) + -2.7446845e-01 ( -7.469eV) + -3.4368652e-01 ( -9.352eV) + -5.0554322e-01 ( -13.757eV) + -9.3273377e-01 ( -25.381eV) == Center of Charge == -spin up = ( 0.3274 -0.1283 -0.0912 ) -spin down = ( 0.3274 -0.1283 -0.0912 ) - total = ( 0.3274 -0.1283 -0.0912 ) -ionic = ( 0.3418 -0.1460 -0.1894 ) +spin up = ( 0.3270 -0.1273 -0.0926 ) +spin down = ( 0.3270 -0.1273 -0.0926 ) + total = ( 0.3270 -0.1273 -0.0926 ) +ionic = ( 0.3416 -0.1458 -0.1905 ) == Molecular Dipole wrt Center of Mass == -mu = ( 0.1156 -0.1412 -0.7854 ) au -|mu| = 0.8063 au ( 2.0493 Debye ) +mu = ( 0.1169 -0.1479 -0.7835 ) au +|mu| = 0.8059 au ( 2.0482 Debye ) Ion Forces (au): - 1 O ( 0.00032 -0.00155 0.00524 ) - 2 H ( -0.00099 -0.00165 -0.00206 ) - 3 H ( 0.00229 0.00172 -0.00140 ) + 1 O ( 0.00335 0.00044 0.00285 ) + 2 H ( -0.00435 -0.00391 0.00049 ) + 3 H ( 0.00260 0.00191 -0.00155 ) @@ -2353,10 +1390,10 @@ mu = ( 0.1156 -0.1412 -0.7854 ) au - self-consistent APC Potential: - 0.032489033 0.018630914 0.019332623 + 0.032372199 0.018432048 0.019395932 APC Point Charges: - -0.743206670 0.372515004 0.370691667 + -0.741841124 0.371670391 0.370170734 charge analysis on each atom @@ -2364,9 +1401,9 @@ mu = ( 0.1156 -0.1412 -0.7854 ) au no atom Qelc Qion Qtotal ----- ---- ------- ------- ------- - 1 O -6.743 6.000 -0.743 - 2 H -0.627 1.000 0.373 - 3 H -0.629 1.000 0.371 + 1 O -6.742 6.000 -0.742 + 2 H -0.628 1.000 0.372 + 3 H -0.630 1.000 0.370 Total Q -8.000 8.000 -0.000 @@ -2375,34 +1412,34 @@ mu = ( 0.1156 -0.1412 -0.7854 ) au no atom g=0.000 g=0.600 g=0.900 g=1.350 ----- ---- ------- ------- ------- ------- - 1 O 6.000 -1.100 -2.069 -3.573 - 2 H 1.000 -0.718 0.774 -0.684 - 3 H 1.000 -0.718 0.777 -0.688 + 1 O 6.000 -1.094 -2.077 -3.571 + 2 H 1.000 -0.716 0.776 -0.688 + 3 H 1.000 -0.720 0.783 -0.692 output psi to filename: ./nwchemex.movecs ----------------- cputime in seconds - prologue : 1.923e-01 - main loop : 5.666e+00 - epilogue : 8.907e-02 - total : 5.948e+00 - cputime/step: 2.267e-01 ( 25 evaluations, 8 linesearches) + prologue : 1.854e-01 + main loop : 1.472e+01 + epilogue : 7.945e-02 + total : 1.499e+01 + cputime/step: 2.133e-01 ( 69 evaluations, 22 linesearches) Time spent doing total step percent - total time 8.596590e+01 3.438636e+00 100.00% - total FFT time 3.259459e+01 1.303784e+00 37.92% - lagrange multipliers 2.714469e-02 1.085788e-03 0.03% - local potentials 4.868001e-01 1.947200e-02 0.57% - non-local potentials 2.048151e+00 8.192602e-02 2.38% - ffm_dgemm 7.064098e-01 2.825639e-02 0.82% - fmf_dgemm 8.144868e-01 3.257947e-02 0.95% - m_diagonalize 1.676670e-03 6.706680e-05 0.00% - mmm_multiply 1.853020e-04 7.412080e-06 0.00% - SCVtrans 6.256190e-04 2.502476e-05 0.00% + total time 1.048592e+02 1.519698e+00 100.00% + total FFT time 2.981387e+01 4.320850e-01 28.43% + lagrange multipliers 2.770001e-02 4.014494e-04 0.03% + local potentials 6.370326e-01 9.232357e-03 0.61% + non-local potentials 2.322153e+00 3.365439e-02 2.21% + ffm_dgemm 4.864077e-01 7.049387e-03 0.46% + fmf_dgemm 1.017373e+00 1.474454e-02 0.97% + m_diagonalize 1.773788e-03 2.570707e-05 0.00% + mmm_multiply 2.417260e-04 3.503275e-06 0.00% + SCVtrans 8.274320e-04 1.199177e-05 0.00% - >>> job completed at Mon Feb 20 13:00:41 2023 <<< + >>> job completed at Fri Feb 24 15:37:47 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -2416,7 +1453,7 @@ mu = ( 0.1156 -0.1412 -0.7854 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Mon Feb 20 13:00:41 2023 <<< + >>> job started at Fri Feb 24 15:37:47 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -2429,9 +1466,9 @@ mu = ( 0.1156 -0.1412 -0.7854 ) au APC gamma: 0 0.60000 APC gamma: 1 0.90000 APC gamma: 2 1.35000 - APC u: 1 0.03259 - APC u: 2 0.01868 - APC u: 3 0.01938 + APC u: 1 0.03247 + APC u: 2 0.01843 + APC u: 3 0.01948 - self-consistent reading formatted psp filename: ./O.vpp @@ -2475,11 +1512,11 @@ mu = ( 0.1156 -0.1412 -0.7854 ) au O : 1 H : 2 initial ion positions (au): - 1 O ( 0.30528 -0.10000 0.06289 ) - atomic mass = 15.995 - 2 H ( 1.51771 0.69713 -0.96821 ) - atomic mass = 1.008 - 3 H ( -0.61460 -1.26518 -0.92432 ) - atomic mass = 1.008 - G.C. ( 0.40280 -0.22268 -0.60988 ) - C.O.M. ( 0.32165 -0.12060 -0.05007 ) + 1 O ( 0.30423 -0.09680 0.06133 ) - atomic mass = 15.995 + 2 H ( 1.53539 0.68185 -0.98518 ) - atomic mass = 1.008 + 3 H ( -0.62787 -1.26659 -0.91023 ) - atomic mass = 1.008 + G.C. ( 0.40391 -0.22718 -0.61136 ) + C.O.M. ( 0.32096 -0.11869 -0.05162 ) real space Electric field: Electric Field (au) = ( 0.00000 0.00000 0.00000 ) @@ -2515,12 +1552,14 @@ mu = ( 0.1156 -0.1412 -0.7854 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Mon Feb 20 13:00:41 2023 <<< + >>> iteration started at Fri Feb 24 15:37:47 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 10 -1.719883281434e+01 -8.212773e-10 9.935378e-12 + 10 -1.719872820986e+01 -1.215313e-07 1.769468e-09 + 20 -1.719872843271e+01 -3.399332e-09 1.563800e-10 + 30 -1.719872843504e+01 -9.486847e-10 3.917318e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Mon Feb 20 13:00:47 2023 <<< + >>> iteration ended at Fri Feb 24 15:38:02 2023 <<< ============== energy results (Molecule object) ============== @@ -2529,50 +1568,50 @@ mu = ( 0.1156 -0.1412 -0.7854 ) au APC Potential: - 0.032585034 0.018678373 0.019380962 + 0.032465951 0.018431736 0.019484558 APC Point Charges: - -0.743389268 0.372602597 0.370786671 + -0.741609917 0.371499753 0.370110164 - total energy : -1.7198832814e+01 ( -5.73294e+00 /ion) - total orbital energy: -4.1191196503e+00 ( -1.02978e+00 /electron) - hartree energy : 1.8011465801e+01 ( 4.50287e+00 /electron) - exc-corr energy : -4.2445375332e+00 ( -1.06113e+00 /electron) - APC energy : -1.0077551703e-02 ( -3.35918e-03 /ion) - ion-ion energy : 3.5946779648e+00 ( 1.19823e+00 /ion) + total energy : -1.7198728435e+01 ( -5.73291e+00 /ion) + total orbital energy: -4.1110074280e+00 ( -1.02775e+00 /electron) + hartree energy : 1.7989401091e+01 ( 4.49735e+00 /electron) + exc-corr energy : -4.2407804329e+00 ( -1.06020e+00 /electron) + APC energy : -1.0018253238e-02 ( -3.33942e-03 /ion) + ion-ion energy : 3.5660066445e+00 ( 1.18867e+00 /ion) - kinetic (planewave) : 1.2410479209e+01 ( 3.10262e+00 /electron) - V_local (planewave) : -4.5791030717e+01 ( -1.14478e+01 /electron) - V_nl (planewave) : -1.2570296170e+00 ( -3.14257e-01 /electron) - V_Coul (planewave) : 3.6022931603e+01 ( 9.00573e+00 /electron) - V_xc (planewave) : -5.5044701283e+00 ( -1.37612e+00 /electron) - K.S. V_APC energy : -8.7219629076e-02 ( -2.90732e-02 /ion) - Viral Coefficient : -1.3319065752e+00 + kinetic (planewave) : 1.2394754009e+01 ( 3.09869e+00 /electron) + V_local (planewave) : -4.5733724730e+01 ( -1.14334e+01 /electron) + V_nl (planewave) : -1.2512681727e+00 ( -3.12817e-01 /electron) + V_Coul (planewave) : 3.5978802181e+01 ( 8.99470e+00 /electron) + V_xc (planewave) : -5.4995707151e+00 ( -1.37489e+00 /electron) + K.S. V_APC energy : -8.6901410047e-02 ( -2.89671e-02 /ion) + Viral Coefficient : -1.3316731760e+00 orbital energy: - -2.7479351e-01 ( -7.478eV) - -3.4421825e-01 ( -9.367eV) - -5.0647240e-01 ( -13.782eV) - -9.3407567e-01 ( -25.418eV) + -2.7440739e-01 ( -7.467eV) + -3.4362438e-01 ( -9.351eV) + -5.0516816e-01 ( -13.746eV) + -9.3230379e-01 ( -25.369eV) == Center of Charge == -spin up = ( 0.3274 -0.1283 -0.0912 ) -spin down = ( 0.3274 -0.1283 -0.0912 ) - total = ( 0.3274 -0.1283 -0.0912 ) -ionic = ( 0.3418 -0.1460 -0.1894 ) +spin up = ( 0.3269 -0.1269 -0.0930 ) +spin down = ( 0.3269 -0.1269 -0.0930 ) + total = ( 0.3269 -0.1269 -0.0930 ) +ionic = ( 0.3416 -0.1457 -0.1909 ) == Molecular Dipole wrt Center of Mass == -mu = ( 0.1157 -0.1413 -0.7859 ) au -|mu| = 0.8068 au ( 2.0505 Debye ) +mu = ( 0.1175 -0.1502 -0.7835 ) au +|mu| = 0.8064 au ( 2.0494 Debye ) Ion Forces (au): - 1 O ( 0.00037 -0.00154 0.00513 ) - 2 H ( -0.00104 -0.00168 -0.00198 ) - 3 H ( 0.00229 0.00173 -0.00136 ) + 1 O ( 0.00441 0.00105 0.00191 ) + 2 H ( -0.00551 -0.00464 0.00141 ) + 3 H ( 0.00270 0.00198 -0.00155 ) @@ -2595,10 +1634,10 @@ mu = ( 0.1157 -0.1413 -0.7859 ) au - self-consistent APC Potential: - 0.032585034 0.018678373 0.019380962 + 0.032465951 0.018431736 0.019484558 APC Point Charges: - -0.743389268 0.372602597 0.370786671 + -0.741609917 0.371499753 0.370110164 charge analysis on each atom @@ -2606,10 +1645,10 @@ mu = ( 0.1157 -0.1413 -0.7859 ) au no atom Qelc Qion Qtotal ----- ---- ------- ------- ------- - 1 O -6.743 6.000 -0.743 - 2 H -0.627 1.000 0.373 - 3 H -0.629 1.000 0.371 - Total Q -8.000 8.000 -0.000 + 1 O -6.742 6.000 -0.742 + 2 H -0.629 1.000 0.371 + 3 H -0.630 1.000 0.370 + Total Q -8.000 8.000 0.000 Gaussian coefficients of model density @@ -2617,34 +1656,34 @@ mu = ( 0.1157 -0.1413 -0.7859 ) au no atom g=0.000 g=0.600 g=0.900 g=1.350 ----- ---- ------- ------- ------- ------- - 1 O 6.000 -1.101 -2.067 -3.575 - 2 H 1.000 -0.717 0.774 -0.684 - 3 H 1.000 -0.718 0.776 -0.688 + 1 O 6.000 -1.092 -2.077 -3.572 + 2 H 1.000 -0.715 0.775 -0.689 + 3 H 1.000 -0.721 0.784 -0.693 output psi to filename: ./nwchemex.movecs ----------------- cputime in seconds - prologue : 1.931e-01 - main loop : 5.672e+00 - epilogue : 8.884e-02 - total : 5.954e+00 - cputime/step: 2.269e-01 ( 25 evaluations, 8 linesearches) + prologue : 1.844e-01 + main loop : 1.508e+01 + epilogue : 7.972e-02 + total : 1.534e+01 + cputime/step: 2.185e-01 ( 69 evaluations, 22 linesearches) Time spent doing total step percent - total time 9.194512e+01 3.677805e+00 100.00% - total FFT time 3.481826e+01 1.392731e+00 37.87% - lagrange multipliers 2.714469e-02 1.085788e-03 0.03% - local potentials 5.336301e-01 2.134520e-02 0.58% - non-local potentials 2.181308e+00 8.725233e-02 2.37% - ffm_dgemm 7.530801e-01 3.012321e-02 0.82% - fmf_dgemm 8.723730e-01 3.489492e-02 0.95% - m_diagonalize 1.754364e-03 7.017456e-05 0.00% - mmm_multiply 1.935130e-04 7.740520e-06 0.00% - SCVtrans 6.530430e-04 2.612172e-05 0.00% + total time 1.202296e+02 1.742458e+00 100.00% + total FFT time 3.418173e+01 4.953874e-01 28.43% + lagrange multipliers 2.770001e-02 4.014494e-04 0.02% + local potentials 7.595677e-01 1.100823e-02 0.63% + non-local potentials 2.645585e+00 3.834181e-02 2.20% + ffm_dgemm 5.602690e-01 8.119841e-03 0.47% + fmf_dgemm 1.175396e+00 1.703473e-02 0.98% + m_diagonalize 1.971332e-03 2.857003e-05 0.00% + mmm_multiply 2.742840e-04 3.975130e-06 0.00% + SCVtrans 9.132550e-04 1.323558e-05 0.00% - >>> job completed at Mon Feb 20 13:00:47 2023 <<< + >>> job completed at Fri Feb 24 15:38:02 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -2658,7 +1697,251 @@ mu = ( 0.1157 -0.1413 -0.7859 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Mon Feb 20 13:00:47 2023 <<< + >>> job started at Fri Feb 24 15:38:02 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + APC u: 1 0.03257 + APC u: 2 0.01844 + APC u: 3 0.01958 + - self-consistent + + reading formatted psp filename: ./O.vpp + + reading formatted psp filename: ./H.vpp + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 2 + processor grid : 2 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: O valence charge = 6.0 lmax =2 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.700 0.700 0.700 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + O : 1 H : 2 + + initial ion positions (au): + 1 O ( 0.30396 -0.09600 0.06100 ) - atomic mass = 15.995 + 2 H ( 1.53978 0.67784 -0.98978 ) - atomic mass = 1.008 + 3 H ( -0.63097 -1.26689 -0.90706 ) - atomic mass = 1.008 + G.C. ( 0.40425 -0.22835 -0.61195 ) + C.O.M. ( 0.32080 -0.11822 -0.05199 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 17575.98 + lattice: a1 = < 26.000 0.000 0.000 > + a2 = < 0.000 26.000 0.000 > + a3 = < 0.000 0.000 26.000 > + reciprocal: b1 = < 0.242 0.000 0.000 > + b2 = < 0.000 0.242 0.000 > + b3 = < 0.000 0.000 0.242 > + lattice: a = 26.000 b = 26.000 c = 26.000 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) + + Ewald parameters: + energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + Ewald summation: cut radius = 8.276 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:38:02 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + 10 -1.719873952436e+01 -1.210124e-07 1.761503e-09 + 20 -1.719873974626e+01 -3.384773e-09 1.558265e-10 + 30 -1.719873974856e+01 -9.415757e-10 3.924430e-11 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:38:17 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + APC Potential: + 0.032572202 0.018437800 0.019579779 + + APC Point Charges: + -0.741407648 0.371345485 0.370062163 + + + total energy : -1.7198739749e+01 ( -5.73291e+00 /ion) + total orbital energy: -4.1091858717e+00 ( -1.02730e+00 /electron) + hartree energy : 1.7983528406e+01 ( 4.49588e+00 /electron) + exc-corr energy : -4.2397779732e+00 ( -1.05994e+00 /electron) + APC energy : -1.0056750555e-02 ( -3.35225e-03 /ion) + ion-ion energy : 3.5583165480e+00 ( 1.18611e+00 /ion) + + kinetic (planewave) : 1.2390524637e+01 ( 3.09763e+00 /electron) + V_local (planewave) : -4.5718799579e+01 ( -1.14297e+01 /electron) + V_nl (planewave) : -1.2497042596e+00 ( -3.12426e-01 /electron) + V_Coul (planewave) : 3.5967056813e+01 ( 8.99176e+00 /electron) + V_xc (planewave) : -5.4982634832e+00 ( -1.37457e+00 /electron) + K.S. V_APC energy : -8.7229222083e-02 ( -2.90764e-02 /ion) + Viral Coefficient : -1.3316393770e+00 + + orbital energy: + -2.7435032e-01 ( -7.466eV) + -3.4357103e-01 ( -9.349eV) + -5.0479172e-01 ( -13.736eV) + -9.3187987e-01 ( -25.358eV) + +== Center of Charge == + +spin up = ( 0.3268 -0.1266 -0.0934 ) +spin down = ( 0.3268 -0.1266 -0.0934 ) + total = ( 0.3268 -0.1266 -0.0934 ) +ionic = ( 0.3416 -0.1456 -0.1914 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 0.1180 -0.1526 -0.7835 ) au +|mu| = 0.8069 au ( 2.0509 Debye ) + + + Ion Forces (au): + 1 O ( 0.00544 0.00164 0.00098 ) + 2 H ( -0.00665 -0.00535 0.00233 ) + 3 H ( 0.00280 0.00206 -0.00154 ) + + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - self-consistent + + APC Potential: + 0.032572202 0.018437800 0.019579779 + + APC Point Charges: + -0.741407648 0.371345485 0.370062163 + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 O -6.741 6.000 -0.741 + 2 H -0.629 1.000 0.371 + 3 H -0.630 1.000 0.370 + Total Q -8.000 8.000 0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 O 6.000 -1.091 -2.077 -3.573 + 2 H 1.000 -0.714 0.775 -0.690 + 3 H 1.000 -0.722 0.785 -0.694 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 1.859e-01 + main loop : 1.513e+01 + epilogue : 8.564e-02 + total : 1.541e+01 + cputime/step: 2.162e-01 ( 70 evaluations, 22 linesearches) + + Time spent doing total step percent + total time 1.356640e+02 1.938057e+00 100.00% + total FFT time 3.855053e+01 5.507218e-01 28.42% + lagrange multipliers 2.770001e-02 3.957144e-04 0.02% + local potentials 8.837432e-01 1.262490e-02 0.65% + non-local potentials 2.971914e+00 4.245591e-02 2.19% + ffm_dgemm 6.336332e-01 9.051903e-03 0.47% + fmf_dgemm 1.331620e+00 1.902314e-02 0.98% + m_diagonalize 2.158650e-03 3.083786e-05 0.00% + mmm_multiply 2.969320e-04 4.241886e-06 0.00% + SCVtrans 9.962090e-04 1.423156e-05 0.00% + + >>> job completed at Fri Feb 24 15:38:18 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:38:18 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -2672,8 +1955,8 @@ mu = ( 0.1157 -0.1413 -0.7859 ) au APC gamma: 1 0.90000 APC gamma: 2 1.35000 APC u: 1 0.03269 - APC u: 2 0.01873 - APC u: 3 0.01944 + APC u: 2 0.01845 + APC u: 3 0.01968 - self-consistent reading formatted psp filename: ./O.vpp @@ -2717,11 +2000,11 @@ mu = ( 0.1157 -0.1413 -0.7859 ) au O : 1 H : 2 initial ion positions (au): - 1 O ( 0.30528 -0.10000 0.06294 ) - atomic mass = 15.995 - 2 H ( 1.51774 0.69702 -0.96856 ) - atomic mass = 1.008 - 3 H ( -0.61443 -1.26514 -0.92461 ) - atomic mass = 1.008 - G.C. ( 0.40286 -0.22271 -0.61007 ) - C.O.M. ( 0.32166 -0.12060 -0.05005 ) + 1 O ( 0.30370 -0.09520 0.06067 ) - atomic mass = 15.995 + 2 H ( 1.54412 0.67378 -0.99439 ) - atomic mass = 1.008 + 3 H ( -0.63405 -1.26719 -0.90393 ) - atomic mass = 1.008 + G.C. ( 0.40459 -0.22954 -0.61255 ) + C.O.M. ( 0.32064 -0.11775 -0.05236 ) real space Electric field: Electric Field (au) = ( 0.00000 0.00000 0.00000 ) @@ -2757,12 +2040,14 @@ mu = ( 0.1157 -0.1413 -0.7859 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Mon Feb 20 13:00:47 2023 <<< + >>> iteration started at Fri Feb 24 15:38:18 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 10 -1.719887486952e+01 -7.188135e-10 8.388433e-12 + 10 -1.719874972499e+01 -1.202626e-07 1.745497e-09 + 20 -1.719874994545e+01 -3.359311e-09 1.543546e-10 + 30 -1.719874994772e+01 -9.330776e-10 3.890141e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Mon Feb 20 13:00:53 2023 <<< + >>> iteration ended at Fri Feb 24 15:38:33 2023 <<< ============== energy results (Molecule object) ============== @@ -2771,50 +2056,50 @@ mu = ( 0.1157 -0.1413 -0.7859 ) au APC Potential: - 0.032692607 0.018731490 0.019435046 + 0.032690629 0.018450122 0.019681445 APC Point Charges: - -0.743603917 0.372702677 0.370901241 + -0.741234970 0.371208293 0.370026677 - total energy : -1.7198874870e+01 ( -5.73296e+00 /ion) - total orbital energy: -4.1192579514e+00 ( -1.02981e+00 /electron) - hartree energy : 1.8011125306e+01 ( 4.50278e+00 /electron) - exc-corr energy : -4.2444759539e+00 ( -1.06112e+00 /electron) - APC energy : -1.0120591006e-02 ( -3.37353e-03 /ion) - ion-ion energy : 3.5941707474e+00 ( 1.19806e+00 /ion) + total energy : -1.7198749948e+01 ( -5.73292e+00 /ion) + total orbital energy: -4.1074073869e+00 ( -1.02685e+00 /electron) + hartree energy : 1.7977697859e+01 ( 4.49442e+00 /electron) + exc-corr energy : -4.2387830953e+00 ( -1.05970e+00 /electron) + APC energy : -1.0099939064e-02 ( -3.36665e-03 /ion) + ion-ion energy : 3.5506797133e+00 ( 1.18356e+00 /ion) - kinetic (planewave) : 1.2410179676e+01 ( 3.10254e+00 /electron) - V_local (planewave) : -4.5790391092e+01 ( -1.14476e+01 /electron) - V_nl (planewave) : -1.2569072636e+00 ( -3.14227e-01 /electron) - V_Coul (planewave) : 3.6022250612e+01 ( 9.00556e+00 /electron) - V_xc (planewave) : -5.5043898840e+00 ( -1.37610e+00 /electron) - K.S. V_APC energy : -8.7544301393e-02 ( -2.91814e-02 /ion) - Viral Coefficient : -1.3319257302e+00 + kinetic (planewave) : 1.2386331728e+01 ( 3.09658e+00 /electron) + V_local (planewave) : -4.5704015185e+01 ( -1.14260e+01 /electron) + V_nl (planewave) : -1.2481535280e+00 ( -3.12038e-01 /electron) + V_Coul (planewave) : 3.5955395719e+01 ( 8.98885e+00 /electron) + V_xc (planewave) : -5.4969661207e+00 ( -1.37424e+00 /electron) + K.S. V_APC energy : -8.7592498755e-02 ( -2.91975e-02 /ion) + Viral Coefficient : -1.3316080561e+00 orbital energy: - -2.7482381e-01 ( -7.478eV) - -3.4429460e-01 ( -9.369eV) - -5.0642683e-01 ( -13.781eV) - -9.3408373e-01 ( -25.418eV) + -2.7429756e-01 ( -7.464eV) + -3.4352673e-01 ( -9.348eV) + -5.0441560e-01 ( -13.726eV) + -9.3146380e-01 ( -25.347eV) == Center of Charge == -spin up = ( 0.3274 -0.1283 -0.0911 ) -spin down = ( 0.3274 -0.1283 -0.0911 ) - total = ( 0.3274 -0.1283 -0.0911 ) -ionic = ( 0.3419 -0.1460 -0.1894 ) +spin up = ( 0.3267 -0.1262 -0.0938 ) +spin down = ( 0.3267 -0.1262 -0.0938 ) + total = ( 0.3267 -0.1262 -0.0938 ) +ionic = ( 0.3415 -0.1456 -0.1918 ) == Molecular Dipole wrt Center of Mass == -mu = ( 0.1158 -0.1414 -0.7864 ) au -|mu| = 0.8074 au ( 2.0520 Debye ) +mu = ( 0.1186 -0.1549 -0.7836 ) au +|mu| = 0.8075 au ( 2.0524 Debye ) Ion Forces (au): - 1 O ( 0.00043 -0.00152 0.00500 ) - 2 H ( -0.00109 -0.00170 -0.00190 ) - 3 H ( 0.00228 0.00174 -0.00131 ) + 1 O ( 0.00646 0.00219 0.00005 ) + 2 H ( -0.00778 -0.00604 0.00324 ) + 3 H ( 0.00291 0.00215 -0.00153 ) @@ -2837,10 +2122,10 @@ mu = ( 0.1158 -0.1414 -0.7864 ) au - self-consistent APC Potential: - 0.032692607 0.018731490 0.019435046 + 0.032690629 0.018450122 0.019681445 APC Point Charges: - -0.743603917 0.372702677 0.370901241 + -0.741234970 0.371208293 0.370026677 charge analysis on each atom @@ -2848,10 +2133,10 @@ mu = ( 0.1158 -0.1414 -0.7864 ) au no atom Qelc Qion Qtotal ----- ---- ------- ------- ------- - 1 O -6.744 6.000 -0.744 - 2 H -0.627 1.000 0.373 - 3 H -0.629 1.000 0.371 - Total Q -8.000 8.000 0.000 + 1 O -6.741 6.000 -0.741 + 2 H -0.629 1.000 0.371 + 3 H -0.630 1.000 0.370 + Total Q -8.000 8.000 -0.000 Gaussian coefficients of model density @@ -2859,34 +2144,34 @@ mu = ( 0.1158 -0.1414 -0.7864 ) au no atom g=0.000 g=0.600 g=0.900 g=1.350 ----- ---- ------- ------- ------- ------- - 1 O 6.000 -1.103 -2.065 -3.576 - 2 H 1.000 -0.717 0.773 -0.684 - 3 H 1.000 -0.717 0.776 -0.688 + 1 O 6.000 -1.090 -2.077 -3.574 + 2 H 1.000 -0.713 0.775 -0.691 + 3 H 1.000 -0.722 0.786 -0.694 output psi to filename: ./nwchemex.movecs ----------------- cputime in seconds - prologue : 1.938e-01 - main loop : 6.350e+00 - epilogue : 8.858e-02 - total : 6.632e+00 - cputime/step: 2.268e-01 ( 28 evaluations, 9 linesearches) + prologue : 2.009e-01 + main loop : 1.508e+01 + epilogue : 7.948e-02 + total : 1.536e+01 + cputime/step: 2.155e-01 ( 70 evaluations, 22 linesearches) Time spent doing total step percent - total time 9.860680e+01 3.521671e+00 100.00% - total FFT time 3.731012e+01 1.332504e+00 37.84% - lagrange multipliers 2.714469e-02 9.694531e-04 0.03% - local potentials 5.853232e-01 2.090440e-02 0.59% - non-local potentials 2.328379e+00 8.315638e-02 2.36% - ffm_dgemm 8.055526e-01 2.876974e-02 0.82% - fmf_dgemm 9.376022e-01 3.348579e-02 0.95% - m_diagonalize 1.842259e-03 6.579496e-05 0.00% - mmm_multiply 2.067880e-04 7.385286e-06 0.00% - SCVtrans 6.823070e-04 2.436811e-05 0.00% + total time 1.510580e+02 2.157972e+00 100.00% + total FFT time 4.290913e+01 6.129876e-01 28.41% + lagrange multipliers 2.770001e-02 3.957144e-04 0.02% + local potentials 1.007041e+00 1.438630e-02 0.67% + non-local potentials 3.297171e+00 4.710244e-02 2.18% + ffm_dgemm 7.058073e-01 1.008296e-02 0.47% + fmf_dgemm 1.487577e+00 2.125110e-02 0.98% + m_diagonalize 2.364530e-03 3.377900e-05 0.00% + mmm_multiply 3.226130e-04 4.608757e-06 0.00% + SCVtrans 1.072642e-03 1.532346e-05 0.00% - >>> job completed at Mon Feb 20 13:00:54 2023 <<< + >>> job completed at Fri Feb 24 15:38:33 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -2900,7 +2185,7 @@ mu = ( 0.1158 -0.1414 -0.7864 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Mon Feb 20 13:00:54 2023 <<< + >>> job started at Fri Feb 24 15:38:33 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -2913,9 +2198,9 @@ mu = ( 0.1158 -0.1414 -0.7864 ) au APC gamma: 0 0.60000 APC gamma: 1 0.90000 APC gamma: 2 1.35000 - APC u: 1 0.03281 - APC u: 2 0.01879 - APC u: 3 0.01949 + APC u: 1 0.03282 + APC u: 2 0.01847 + APC u: 3 0.01979 - self-consistent reading formatted psp filename: ./O.vpp @@ -2959,11 +2244,11 @@ mu = ( 0.1158 -0.1414 -0.7864 ) au O : 1 H : 2 initial ion positions (au): - 1 O ( 0.30527 -0.10001 0.06300 ) - atomic mass = 15.995 - 2 H ( 1.51778 0.69689 -0.96894 ) - atomic mass = 1.008 - 3 H ( -0.61424 -1.26510 -0.92492 ) - atomic mass = 1.008 - G.C. ( 0.40294 -0.22274 -0.61029 ) - C.O.M. ( 0.32167 -0.12061 -0.05004 ) + 1 O ( 0.30343 -0.09439 0.06035 ) - atomic mass = 15.995 + 2 H ( 1.54840 0.66966 -0.99899 ) - atomic mass = 1.008 + 3 H ( -0.63710 -1.26748 -0.90083 ) - atomic mass = 1.008 + G.C. ( 0.40491 -0.23074 -0.61316 ) + C.O.M. ( 0.32047 -0.11729 -0.05273 ) real space Electric field: Electric Field (au) = ( 0.00000 0.00000 0.00000 ) @@ -2999,12 +2284,14 @@ mu = ( 0.1158 -0.1414 -0.7864 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Mon Feb 20 13:00:54 2023 <<< + >>> iteration started at Fri Feb 24 15:38:33 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 10 -1.719892131617e+01 -7.871641e-10 8.418533e-12 + 10 -1.719875903598e+01 -1.192421e-07 1.721068e-09 + 20 -1.719875925443e+01 -3.322963e-09 1.518403e-10 + 30 -1.719875925670e+01 -9.227143e-10 3.815349e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Mon Feb 20 13:01:00 2023 <<< + >>> iteration ended at Fri Feb 24 15:38:48 2023 <<< ============== energy results (Molecule object) ============== @@ -3013,50 +2300,50 @@ mu = ( 0.1158 -0.1414 -0.7864 ) au APC Potential: - 0.032811295 0.018790019 0.019494618 + 0.032820855 0.018468557 0.019789376 APC Point Charges: - -0.743829313 0.372810247 0.371019065 + -0.741092654 0.371089165 0.370003489 - total energy : -1.7198921316e+01 ( -5.73297e+00 /ion) - total orbital energy: -4.1194089039e+00 ( -1.02985e+00 /electron) - hartree energy : 1.8010750921e+01 ( 4.50269e+00 /electron) - exc-corr energy : -4.2444081450e+00 ( -1.06110e+00 /electron) - APC energy : -1.0168016807e-02 ( -3.38934e-03 /ion) - ion-ion energy : 3.5936106097e+00 ( 1.19787e+00 /ion) + total energy : -1.7198759257e+01 ( -5.73292e+00 /ion) + total orbital energy: -4.1056785712e+00 ( -1.02642e+00 /electron) + hartree energy : 1.7971934722e+01 ( 4.49298e+00 /electron) + exc-corr energy : -4.2378000709e+00 ( -1.05945e+00 /electron) + APC energy : -1.0147674617e-02 ( -3.38256e-03 /ion) + ion-ion energy : 3.5431276332e+00 ( 1.18104e+00 /ion) - kinetic (planewave) : 1.2409848827e+01 ( 3.10246e+00 /electron) - V_local (planewave) : -4.5789685203e+01 ( -1.14474e+01 /electron) - V_nl (planewave) : -1.2567727989e+00 ( -3.14193e-01 /electron) - V_Coul (planewave) : 3.6021501842e+01 ( 9.00538e+00 /electron) - V_xc (planewave) : -5.5043015709e+00 ( -1.37608e+00 /electron) - K.S. V_APC energy : -8.7902490130e-02 ( -2.93008e-02 /ion) - Viral Coefficient : -1.3319467434e+00 + kinetic (planewave) : 1.2382192965e+01 ( 3.09555e+00 /electron) + V_local (planewave) : -4.5689434351e+01 ( -1.14224e+01 /electron) + V_nl (planewave) : -1.2466224221e+00 ( -3.11656e-01 /electron) + V_Coul (planewave) : 3.5943869444e+01 ( 8.98597e+00 /electron) + V_xc (planewave) : -5.4956842067e+00 ( -1.37392e+00 /electron) + K.S. V_APC energy : -8.7989942212e-02 ( -2.93300e-02 /ion) + Viral Coefficient : -1.3315792754e+00 orbital energy: - -2.7485717e-01 ( -7.479eV) - -3.4437897e-01 ( -9.371eV) - -5.0637576e-01 ( -13.779eV) - -9.3409255e-01 ( -25.418eV) + -2.7424922e-01 ( -7.463eV) + -3.4349158e-01 ( -9.347eV) + -5.0404132e-01 ( -13.716eV) + -9.3105716e-01 ( -25.336eV) == Center of Charge == -spin up = ( 0.3274 -0.1283 -0.0911 ) -spin down = ( 0.3274 -0.1283 -0.0911 ) - total = ( 0.3274 -0.1283 -0.0911 ) -ionic = ( 0.3419 -0.1460 -0.1895 ) +spin up = ( 0.3266 -0.1259 -0.0942 ) +spin down = ( 0.3266 -0.1259 -0.0942 ) + total = ( 0.3266 -0.1259 -0.0942 ) +ionic = ( 0.3415 -0.1455 -0.1922 ) == Molecular Dipole wrt Center of Mass == -mu = ( 0.1159 -0.1415 -0.7870 ) au -|mu| = 0.8080 au ( 2.0536 Debye ) +mu = ( 0.1192 -0.1573 -0.7837 ) au +|mu| = 0.8082 au ( 2.0541 Debye ) Ion Forces (au): - 1 O ( 0.00050 -0.00151 0.00486 ) - 2 H ( -0.00115 -0.00172 -0.00181 ) - 3 H ( 0.00228 0.00175 -0.00126 ) + 1 O ( 0.00745 0.00272 -0.00088 ) + 2 H ( -0.00888 -0.00669 0.00413 ) + 3 H ( 0.00301 0.00223 -0.00150 ) @@ -3079,10 +2366,10 @@ mu = ( 0.1159 -0.1415 -0.7870 ) au - self-consistent APC Potential: - 0.032811295 0.018790019 0.019494618 + 0.032820855 0.018468557 0.019789376 APC Point Charges: - -0.743829313 0.372810247 0.371019065 + -0.741092654 0.371089165 0.370003489 charge analysis on each atom @@ -3090,9 +2377,9 @@ mu = ( 0.1159 -0.1415 -0.7870 ) au no atom Qelc Qion Qtotal ----- ---- ------- ------- ------- - 1 O -6.744 6.000 -0.744 - 2 H -0.627 1.000 0.373 - 3 H -0.629 1.000 0.371 + 1 O -6.741 6.000 -0.741 + 2 H -0.629 1.000 0.371 + 3 H -0.630 1.000 0.370 Total Q -8.000 8.000 -0.000 @@ -3101,31 +2388,763 @@ mu = ( 0.1159 -0.1415 -0.7870 ) au no atom g=0.000 g=0.600 g=0.900 g=1.350 ----- ---- ------- ------- ------- ------- - 1 O 6.000 -1.104 -2.063 -3.577 - 2 H 1.000 -0.717 0.773 -0.683 - 3 H 1.000 -0.717 0.775 -0.687 + 1 O 6.000 -1.090 -2.076 -3.575 + 2 H 1.000 -0.712 0.775 -0.692 + 3 H 1.000 -0.723 0.788 -0.695 output psi to filename: ./nwchemex.movecs ----------------- cputime in seconds - prologue : 1.925e-01 - main loop : 6.583e+00 - epilogue : 8.882e-02 - total : 6.864e+00 - cputime/step: 2.270e-01 ( 29 evaluations, 9 linesearches) + prologue : 1.852e-01 + main loop : 1.503e+01 + epilogue : 7.935e-02 + total : 1.530e+01 + cputime/step: 2.147e-01 ( 70 evaluations, 22 linesearches) Time spent doing total step percent - total time 1.055024e+02 3.638015e+00 100.00% - total FFT time 3.989664e+01 1.375746e+00 37.82% - lagrange multipliers 2.714469e-02 9.360237e-04 0.03% - local potentials 6.390493e-01 2.203618e-02 0.61% - non-local potentials 2.480554e+00 8.553635e-02 2.35% - ffm_dgemm 8.586655e-01 2.960916e-02 0.81% - fmf_dgemm 1.003600e+00 3.460691e-02 0.95% - m_diagonalize 1.931024e-03 6.658703e-05 0.00% - mmm_multiply 2.167160e-04 7.472966e-06 0.00% - SCVtrans 7.112570e-04 2.452610e-05 0.00% + total time 1.663930e+02 2.377044e+00 100.00% + total FFT time 4.725231e+01 6.750330e-01 28.40% + lagrange multipliers 2.770001e-02 3.957144e-04 0.02% + local potentials 1.129230e+00 1.613185e-02 0.68% + non-local potentials 3.622172e+00 5.174532e-02 2.18% + ffm_dgemm 7.790205e-01 1.112886e-02 0.47% + fmf_dgemm 1.644238e+00 2.348911e-02 0.99% + m_diagonalize 2.559593e-03 3.656561e-05 0.00% + mmm_multiply 3.530830e-04 5.044043e-06 0.00% + SCVtrans 1.156750e-03 1.652500e-05 0.00% - >>> job completed at Mon Feb 20 13:01:00 2023 <<< + >>> job completed at Fri Feb 24 15:38:48 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:38:48 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + APC u: 1 0.03296 + APC u: 2 0.01849 + APC u: 3 0.01990 + - self-consistent + + reading formatted psp filename: ./O.vpp + + reading formatted psp filename: ./H.vpp + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 2 + processor grid : 2 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: O valence charge = 6.0 lmax =2 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.700 0.700 0.700 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + O : 1 H : 2 + + initial ion positions (au): + 1 O ( 0.30318 -0.09359 0.06003 ) - atomic mass = 15.995 + 2 H ( 1.55261 0.66549 -1.00356 ) - atomic mass = 1.008 + 3 H ( -0.64013 -1.26776 -0.89777 ) - atomic mass = 1.008 + G.C. ( 0.40522 -0.23195 -0.61377 ) + C.O.M. ( 0.32031 -0.11682 -0.05310 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 17575.98 + lattice: a1 = < 26.000 0.000 0.000 > + a2 = < 0.000 26.000 0.000 > + a3 = < 0.000 0.000 26.000 > + reciprocal: b1 = < 0.242 0.000 0.000 > + b2 = < 0.000 0.242 0.000 > + b3 = < 0.000 0.000 0.242 > + lattice: a = 26.000 b = 26.000 c = 26.000 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) + + Ewald parameters: + energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + Ewald summation: cut radius = 8.276 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:38:48 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + 10 -1.719876774793e+01 -1.179461e-07 1.688046e-09 + 20 -1.719876796376e+01 -3.274653e-09 1.497207e-10 + 30 -1.719876796597e+01 -9.055015e-10 3.768875e-11 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:39:04 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + APC Potential: + 0.032962447 0.018492933 0.019903356 + + APC Point Charges: + -0.740982360 0.370989907 0.369992453 + + + total energy : -1.7198767966e+01 ( -5.73292e+00 /ion) + total orbital energy: -4.1040065398e+00 ( -1.02600e+00 /electron) + hartree energy : 1.7966262506e+01 ( 4.49157e+00 /electron) + exc-corr energy : -4.2368328173e+00 ( -1.05921e+00 /electron) + APC energy : -1.0199808564e-02 ( -3.39994e-03 /ion) + ion-ion energy : 3.5356907419e+00 ( 1.17856e+00 /ion) + + kinetic (planewave) : 1.2378124739e+01 ( 3.09453e+00 /electron) + V_local (planewave) : -4.5675116209e+01 ( -1.14188e+01 /electron) + V_nl (planewave) : -1.2451172169e+00 ( -3.11279e-01 /electron) + V_Coul (planewave) : 3.5932525011e+01 ( 8.98313e+00 /electron) + V_xc (planewave) : -5.4944228641e+00 ( -1.37361e+00 /electron) + K.S. V_APC energy : -8.8420099331e-02 ( -2.94734e-02 /ion) + Viral Coefficient : -1.3315531735e+00 + + orbital energy: + -2.7420556e-01 ( -7.462eV) + -3.4346574e-01 ( -9.346eV) + -5.0367045e-01 ( -13.706eV) + -9.3066152e-01 ( -25.325eV) + +== Center of Charge == + +spin up = ( 0.3265 -0.1255 -0.0947 ) +spin down = ( 0.3265 -0.1255 -0.0947 ) + total = ( 0.3265 -0.1255 -0.0947 ) +ionic = ( 0.3414 -0.1455 -0.1926 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 0.1197 -0.1597 -0.7839 ) au +|mu| = 0.8089 au ( 2.0560 Debye ) + + + Ion Forces (au): + 1 O ( 0.00841 0.00321 -0.00180 ) + 2 H ( -0.00995 -0.00731 0.00501 ) + 3 H ( 0.00312 0.00233 -0.00147 ) + + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - self-consistent + + APC Potential: + 0.032962447 0.018492933 0.019903356 + + APC Point Charges: + -0.740982360 0.370989907 0.369992453 + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 O -6.741 6.000 -0.741 + 2 H -0.629 1.000 0.371 + 3 H -0.630 1.000 0.370 + Total Q -8.000 8.000 -0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 O 6.000 -1.089 -2.075 -3.577 + 2 H 1.000 -0.711 0.774 -0.693 + 3 H 1.000 -0.723 0.789 -0.696 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 1.838e-01 + main loop : 1.505e+01 + epilogue : 8.071e-02 + total : 1.532e+01 + cputime/step: 2.151e-01 ( 70 evaluations, 22 linesearches) + + Time spent doing total step percent + total time 1.817423e+02 2.596318e+00 100.00% + total FFT time 5.160324e+01 7.371891e-01 28.39% + lagrange multipliers 2.770001e-02 3.957144e-04 0.02% + local potentials 1.251543e+00 1.787919e-02 0.69% + non-local potentials 3.948653e+00 5.640933e-02 2.17% + ffm_dgemm 8.518783e-01 1.216969e-02 0.47% + fmf_dgemm 1.801103e+00 2.573004e-02 0.99% + m_diagonalize 2.756033e-03 3.937190e-05 0.00% + mmm_multiply 3.777040e-04 5.395771e-06 0.00% + SCVtrans 1.244777e-03 1.778253e-05 0.00% + + >>> job completed at Fri Feb 24 15:39:04 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:39:04 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + APC u: 1 0.03311 + APC u: 2 0.01852 + APC u: 3 0.02002 + - self-consistent + + reading formatted psp filename: ./O.vpp + + reading formatted psp filename: ./H.vpp + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 2 + processor grid : 2 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: O valence charge = 6.0 lmax =2 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.700 0.700 0.700 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + O : 1 H : 2 + + initial ion positions (au): + 1 O ( 0.30292 -0.09278 0.05972 ) - atomic mass = 15.995 + 2 H ( 1.55675 0.66124 -1.00811 ) - atomic mass = 1.008 + 3 H ( -0.64312 -1.26803 -0.89474 ) - atomic mass = 1.008 + G.C. ( 0.40552 -0.23319 -0.61438 ) + C.O.M. ( 0.32015 -0.11636 -0.05346 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 17575.98 + lattice: a1 = < 26.000 0.000 0.000 > + a2 = < 0.000 26.000 0.000 > + a3 = < 0.000 0.000 26.000 > + reciprocal: b1 = < 0.242 0.000 0.000 > + b2 = < 0.000 0.242 0.000 > + b3 = < 0.000 0.000 0.242 > + lattice: a = 26.000 b = 26.000 c = 26.000 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) + + Ewald parameters: + energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + Ewald summation: cut radius = 8.276 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:39:04 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + 10 -1.719877621178e+01 -1.165163e-07 1.648981e-09 + 20 -1.719877642470e+01 -3.218972e-09 1.467855e-10 + 30 -1.719877642687e+01 -8.877059e-10 3.689561e-11 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:39:19 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + APC Potential: + 0.033114919 0.018523052 0.020023140 + + APC Point Charges: + -0.740903327 0.370910054 0.369993273 + + + total energy : -1.7198776427e+01 ( -5.73293e+00 /ion) + total orbital energy: -4.1023988644e+00 ( -1.02560e+00 /electron) + hartree energy : 1.7960702965e+01 ( 4.49018e+00 /electron) + exc-corr energy : -4.2358850111e+00 ( -1.05897e+00 /electron) + APC energy : -1.0256140317e-02 ( -3.41871e-03 /ion) + ion-ion energy : 3.5283983474e+00 ( 1.17613e+00 /ion) + + kinetic (planewave) : 1.2374141616e+01 ( 3.09354e+00 /electron) + V_local (planewave) : -4.5661116551e+01 ( -1.14153e+01 /electron) + V_nl (planewave) : -1.2436429671e+00 ( -3.10911e-01 /electron) + V_Coul (planewave) : 3.5921405929e+01 ( 8.98035e+00 /electron) + V_xc (planewave) : -5.4931868910e+00 ( -1.37330e+00 /electron) + K.S. V_APC energy : -8.8881315163e-02 ( -2.96271e-02 /ion) + Viral Coefficient : -1.3315299753e+00 + + orbital energy: + -2.7416689e-01 ( -7.461eV) + -3.4344944e-01 ( -9.346eV) + -5.0330457e-01 ( -13.696eV) + -9.3027853e-01 ( -25.314eV) + +== Center of Charge == + +spin up = ( 0.3264 -0.1252 -0.0951 ) +spin down = ( 0.3264 -0.1252 -0.0951 ) + total = ( 0.3264 -0.1252 -0.0951 ) +ionic = ( 0.3414 -0.1454 -0.1931 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 0.1203 -0.1621 -0.7842 ) au +|mu| = 0.8097 au ( 2.0580 Debye ) + + + Ion Forces (au): + 1 O ( 0.00933 0.00367 -0.00270 ) + 2 H ( -0.01100 -0.00790 0.00586 ) + 3 H ( 0.00323 0.00242 -0.00144 ) + + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - self-consistent + + APC Potential: + 0.033114919 0.018523052 0.020023140 + + APC Point Charges: + -0.740903327 0.370910054 0.369993273 + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 O -6.741 6.000 -0.741 + 2 H -0.629 1.000 0.371 + 3 H -0.630 1.000 0.370 + Total Q -8.000 8.000 -0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 O 6.000 -1.089 -2.074 -3.578 + 2 H 1.000 -0.710 0.774 -0.693 + 3 H 1.000 -0.724 0.790 -0.696 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 1.884e-01 + main loop : 1.509e+01 + epilogue : 8.094e-02 + total : 1.536e+01 + cputime/step: 2.155e-01 ( 70 evaluations, 22 linesearches) + + Time spent doing total step percent + total time 1.971258e+02 2.816083e+00 100.00% + total FFT time 5.596337e+01 7.994767e-01 28.39% + lagrange multipliers 2.770001e-02 3.957144e-04 0.01% + local potentials 1.374475e+00 1.963536e-02 0.70% + non-local potentials 4.274452e+00 6.106360e-02 2.17% + ffm_dgemm 9.247135e-01 1.321019e-02 0.47% + fmf_dgemm 1.956741e+00 2.795345e-02 0.99% + m_diagonalize 2.942782e-03 4.203974e-05 0.00% + mmm_multiply 4.013750e-04 5.733929e-06 0.00% + SCVtrans 1.324074e-03 1.891534e-05 0.00% + + >>> job completed at Fri Feb 24 15:39:19 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Fri Feb 24 15:39:19 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + initializing nwpw_APC object + ---------------------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + APC u: 1 0.03328 + APC u: 2 0.01856 + APC u: 3 0.02015 + - self-consistent + + reading formatted psp filename: ./O.vpp + + reading formatted psp filename: ./H.vpp + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 2 + processor grid : 2 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: O valence charge = 6.0 lmax =2 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 2 + local potential used = 2 + number of non-local projections = 4 + cutoff = 0.700 0.700 0.700 + 2: H valence charge = 1.0 lmax =1 + comment = Parameterized (Chem.Phys.Lett., vol 322, page 447) Hamman psp + pseudopotential type = 0 + highest angular component = 1 + local potential used = 1 + number of non-local projections = 1 + cutoff = 0.800 0.800 + + total charge = 0.000 + + atom composition: + O : 1 H : 2 + + initial ion positions (au): + 1 O ( 0.30267 -0.09197 0.05940 ) - atomic mass = 15.995 + 2 H ( 1.56079 0.65693 -1.01263 ) - atomic mass = 1.008 + 3 H ( -0.64609 -1.26829 -0.89174 ) - atomic mass = 1.008 + G.C. ( 0.40579 -0.23444 -0.61499 ) + C.O.M. ( 0.31999 -0.11589 -0.05383 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 4 ( 4 per task) down = 4 ( 4 per task) + + supercell: + volume = 17575.98 + lattice: a1 = < 26.000 0.000 0.000 > + a2 = < 0.000 26.000 0.000 > + a3 = < 0.000 0.000 26.000 > + reciprocal: b1 = < 0.242 0.000 0.000 > + b2 = < 0.000 0.242 0.000 > + b3 = < 0.000 0.000 0.242 > + lattice: a = 26.000 b = 26.000 c = 26.000 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + wavefnc cutoff = 30.000 fft = 96 x 96 x 96 ( 69013 waves 34507 per task) + + Ewald parameters: + energy cutoff = 60.000 fft = 96 x 96 x 96 ( 195216 waves 97608 per task) + Ewald summation: cut radius = 8.276 and 1 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 16.12910517) + + technical parameters: + fixed step: time step = 5.80 ficticious mass = 400000.00 + tolerance = 1.000e-09 (energy) 1.000e+00 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Fri Feb 24 15:39:19 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + 10 -1.719878482165e+01 -1.148640e-07 1.602574e-09 + 20 -1.719878503117e+01 -3.151882e-09 1.429151e-10 + 30 -1.719878503330e+01 -8.673275e-10 3.582155e-11 + *** tolerance ok. iteration terminated + >>> iteration ended at Fri Feb 24 15:39:34 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 4.00000 down= 4.00000 (real space) + + + APC Potential: + 0.033277730 0.018558691 0.020148449 + + APC Point Charges: + -0.740855684 0.370850189 0.370005495 + + + total energy : -1.7198785033e+01 ( -5.73293e+00 /ion) + total orbital energy: -4.1008620140e+00 ( -1.02522e+00 /electron) + hartree energy : 1.7955277640e+01 ( 4.48882e+00 /electron) + exc-corr energy : -4.2349602584e+00 ( -1.05874e+00 /electron) + APC energy : -1.0316464732e-02 ( -3.43882e-03 /ion) + ion-ion energy : 3.5212785645e+00 ( 1.17376e+00 /ion) + + kinetic (planewave) : 1.2370258048e+01 ( 3.09256e+00 /electron) + V_local (planewave) : -4.5647489409e+01 ( -1.14119e+01 /electron) + V_nl (planewave) : -1.2422049358e+00 ( -3.10551e-01 /electron) + V_Coul (planewave) : 3.5910555280e+01 ( 8.97764e+00 /electron) + V_xc (planewave) : -5.4919809978e+00 ( -1.37300e+00 /electron) + K.S. V_APC energy : -8.9371781661e-02 ( -2.97906e-02 /ion) + Viral Coefficient : -1.3315098196e+00 + + orbital energy: + -2.7413340e-01 ( -7.460eV) + -3.4344283e-01 ( -9.346eV) + -5.0294515e-01 ( -13.686eV) + -9.2990962e-01 ( -25.304eV) + +== Center of Charge == + +spin up = ( 0.3262 -0.1248 -0.0954 ) +spin down = ( 0.3262 -0.1248 -0.0954 ) + total = ( 0.3262 -0.1248 -0.0954 ) +ionic = ( 0.3413 -0.1454 -0.1935 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 0.1208 -0.1646 -0.7844 ) au +|mu| = 0.8105 au ( 2.0601 Debye ) + + + Ion Forces (au): + 1 O ( 0.01022 0.00409 -0.00359 ) + 2 H ( -0.01200 -0.00845 0.00669 ) + 3 H ( 0.00333 0.00251 -0.00139 ) + + + +************************************************************* +** ** +** PSPW Atomic Point Charge (APC) Analysis ** +** ** +** Point charge analysis based on paper by P.E. Blochl ** +** (J. Chem. Phys. vol 103, page 7422, 1995) ** +** ** +************************************************************* + + nwpw_APC object + --------------- + nga = 3 ngs = 9 + Gc = 2.50000 + APC gamma: 0 0.60000 + APC gamma: 1 0.90000 + APC gamma: 2 1.35000 + - self-consistent + + APC Potential: + 0.033277730 0.018558691 0.020148449 + + APC Point Charges: + -0.740855684 0.370850189 0.370005495 + + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + ----- ---- ------- ------- ------- + 1 O -6.741 6.000 -0.741 + 2 H -0.629 1.000 0.371 + 3 H -0.630 1.000 0.370 + Total Q -8.000 8.000 -0.000 + + + Gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + ----- ---- ------- ------- ------- ------- + 1 O 6.000 -1.088 -2.073 -3.580 + 2 H 1.000 -0.709 0.774 -0.694 + 3 H 1.000 -0.724 0.791 -0.697 + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 1.876e-01 + main loop : 1.500e+01 + epilogue : 8.115e-02 + total : 1.527e+01 + cputime/step: 2.143e-01 ( 70 evaluations, 22 linesearches) + + Time spent doing total step percent + total time 2.124248e+02 3.034640e+00 100.00% + total FFT time 6.029227e+01 8.613181e-01 28.38% + lagrange multipliers 2.770001e-02 3.957144e-04 0.01% + local potentials 1.496944e+00 2.138492e-02 0.70% + non-local potentials 4.598708e+00 6.569583e-02 2.16% + ffm_dgemm 9.972296e-01 1.424614e-02 0.47% + fmf_dgemm 2.112001e+00 3.017144e-02 0.99% + m_diagonalize 3.129735e-03 4.471050e-05 0.00% + mmm_multiply 4.250280e-04 6.071829e-06 0.00% + SCVtrans 1.411684e-03 2.016691e-05 0.00% + + >>> job completed at Fri Feb 24 15:39:34 2023 <<< diff --git a/examples/QUANTUM/NWChem/log.8Feb23.water.qmmm.mpi.1 b/examples/QUANTUM/NWChem/log.24Feb23.water.qmmm.mpi.1 similarity index 61% rename from examples/QUANTUM/NWChem/log.8Feb23.water.qmmm.mpi.1 rename to examples/QUANTUM/NWChem/log.24Feb23.water.qmmm.mpi.1 index 35ec3cac0c..ab4f74d988 100644 --- a/examples/QUANTUM/NWChem/log.8Feb23.water.qmmm.mpi.1 +++ b/examples/QUANTUM/NWChem/log.24Feb23.water.qmmm.mpi.1 @@ -82,6 +82,8 @@ pair_coeff * * coul/cut neighbor 1.0 bin neigh_modify delay 0 every 1 check yes +velocity all create 300.0 87287 loop geom + # QMMM dynamics timestep 0.1 @@ -115,32 +117,32 @@ Neighbor list info ... bin: standard Per MPI rank memory allocation (min/avg/max) = 7.445 | 7.445 | 7.445 Mbytes Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long f_2 PotEng TotEng Press - 0 0 0 0 0.95937448 -170.68735 -169.72798 3.3962859 0 -10627.878 -10794.209 -10794.209 -374.81058 - 1 1.3998539 1.1713705 0.017458165 0.95934217 -170.68987 -169.73053 3.3804649 0 -10627.878 -10794.229 -10794.211 -376.91596 - 2 4.2727994 4.6633575 0.069502914 0.95924532 -170.70698 -169.74773 3.3333254 0 -10627.871 -10794.286 -10794.216 -383.31463 - 3 8.6537003 10.410148 0.15515337 0.95908482 -170.73725 -169.77816 3.2558316 0 -10627.857 -10794.38 -10794.224 -393.99 - 4 14.050859 18.303344 0.27279397 0.95886179 -170.78053 -169.82167 3.1495694 0 -10627.837 -10794.509 -10794.236 -408.93357 - 5 19.424842 28.194049 0.42020553 0.9585778 -170.83354 -169.87496 3.016716 0 -10627.813 -10794.671 -10794.251 -428.10518 - 6 25.315002 39.895741 0.59460812 0.95823491 -170.90236 -169.94412 2.8599973 0 -10627.779 -10794.864 -10794.269 -451.5421 - 7 31.945826 53.187854 0.79271445 0.95783553 -170.98485 -170.02702 2.6826348 0 -10627.739 -10795.083 -10794.29 -479.20295 - 8 38.843432 67.819953 1.010792 0.95738252 -171.0742 -170.11682 2.4882829 0 -10627.697 -10795.325 -10794.314 -510.99723 - 9 46.718156 83.516497 1.2447341 0.95687915 -171.17882 -170.22194 2.2809581 0 -10627.645 -10795.586 -10794.342 -546.9588 - 10 54.366233 99.982124 1.4901386 0.95632904 -171.28928 -170.33295 2.0649603 0 -10627.594 -10795.862 -10794.372 -586.9531 -Loop time of 54.3663 on 1 procs for 10 steps with 6 atoms + 0 0 300 4.4712151 0.95937448 -170.68507 -169.7257 3.3962859 0 -10627.88 -10794.209 -10789.738 -296.31483 + 1 17.075269 304.678 4.5409362 0.95696149 -170.42801 -169.47105 3.3391714 0 -10628.16 -10794.292 -10789.751 -305.47131 + 2 34.27241 311.21028 4.6382937 0.9544861 -170.14558 -169.1911 3.25367 0 -10628.467 -10794.404 -10789.766 -318.76873 + 3 51.195376 319.44283 4.7609921 0.9519482 -169.87321 -168.92126 3.1420353 0 -10628.766 -10794.545 -10789.784 -336.5052 + 4 68.32214 329.18599 4.9062046 0.94934821 -169.61529 -168.66594 3.0070837 0 -10629.053 -10794.712 -10789.806 -358.70074 + 5 85.263316 340.2199 5.0706544 0.94668697 -169.37336 -168.42667 2.8521374 0 -10629.326 -10794.901 -10789.83 -385.34191 + 6 102.42331 352.29871 5.2506777 0.94396585 -169.14843 -168.20446 2.6809583 0 -10629.585 -10795.108 -10789.857 -416.40137 + 7 119.33258 365.15522 5.4422918 0.94118664 -168.94159 -168.0004 2.4976729 0 -10629.827 -10795.33 -10789.888 -451.84095 + 8 136.50864 378.50608 5.6412736 0.93835162 -168.75364 -167.81529 2.3066899 0 -10630.053 -10795.562 -10789.921 -491.60675 + 9 153.45724 392.05743 5.8432436 0.93546349 -168.58491 -167.64945 2.1126114 0 -10630.263 -10795.8 -10789.956 -535.62553 + 10 170.64253 405.51042 6.0437477 0.9325254 -168.43613 -167.50361 1.9201417 0 -10630.455 -10796.038 -10789.994 -583.81036 +Loop time of 170.643 on 1 procs for 10 steps with 6 atoms -Performance: 0.002 ns/day, 15101.736 hours/ns, 0.184 timesteps/s, 1.104 atom-step/s +Performance: 0.001 ns/day, 47400.708 hours/ns, 0.059 timesteps/s, 0.352 atom-step/s 100.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 3.4059e-05 | 3.4059e-05 | 3.4059e-05 | 0.0 | 0.00 -Bond | 1.1659e-05 | 1.1659e-05 | 1.1659e-05 | 0.0 | 0.00 +Pair | 4.7066e-05 | 4.7066e-05 | 4.7066e-05 | 0.0 | 0.00 +Bond | 2.3501e-05 | 2.3501e-05 | 2.3501e-05 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 1.0583e-05 | 1.0583e-05 | 1.0583e-05 | 0.0 | 0.00 -Output | 0.00016554 | 0.00016554 | 0.00016554 | 0.0 | 0.00 -Modify | 54.366 | 54.366 | 54.366 | 0.0 |100.00 -Other | | 1.567e-05 | | | 0.00 +Comm | 1.4251e-05 | 1.4251e-05 | 1.4251e-05 | 0.0 | 0.00 +Output | 0.00021231 | 0.00021231 | 0.00021231 | 0.0 | 0.00 +Modify | 170.64 | 170.64 | 170.64 | 0.0 |100.00 +Other | | 1.698e-05 | | | 0.00 Nlocal: 6 ave 6 max 6 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -154,4 +156,4 @@ Ave neighs/atom = 2 Ave special neighs/atom = 1 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:01:59 +Total wall time: 0:03:58 diff --git a/examples/QUANTUM/NWChem/log.8Feb23.water.qmmm.plugin.2 b/examples/QUANTUM/NWChem/log.24Feb23.water.qmmm.plugin.2 similarity index 61% rename from examples/QUANTUM/NWChem/log.8Feb23.water.qmmm.plugin.2 rename to examples/QUANTUM/NWChem/log.24Feb23.water.qmmm.plugin.2 index f661cb2c95..3f7045076e 100644 --- a/examples/QUANTUM/NWChem/log.8Feb23.water.qmmm.plugin.2 +++ b/examples/QUANTUM/NWChem/log.24Feb23.water.qmmm.plugin.2 @@ -29,7 +29,7 @@ Finding 1-2 1-3 1-4 neighbors ... 1 = max # of 1-4 neighbors 2 = max # of special neighbors special bonds CPU = 0.000 seconds - read_data CPU = 0.003 seconds + read_data CPU = 0.002 seconds # QM atoms are 1st water # MM atoms are 2nd water @@ -82,6 +82,8 @@ pair_coeff * * coul/cut neighbor 1.0 bin neigh_modify delay 0 every 1 check yes +velocity all create 300.0 87287 loop geom + # QMMM dynamics timestep 0.1 @@ -118,32 +120,32 @@ Neighbor list info ... bin: standard Per MPI rank memory allocation (min/avg/max) = 7.453 | 7.453 | 7.453 Mbytes Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long f_2 PotEng TotEng Press - 0 0 0 0 0.95937448 -170.68735 -169.72798 3.3962859 0 -10627.878 -10794.209 -10794.209 -374.81058 - 1 1.2511997 1.1713705 0.017458165 0.95934217 -170.68987 -169.73053 3.3804649 0 -10627.878 -10794.229 -10794.211 -376.91596 - 2 3.8385452 4.6633575 0.069502914 0.95924532 -170.70698 -169.74773 3.3333254 0 -10627.871 -10794.286 -10794.216 -383.31463 - 3 7.7938711 10.410148 0.15515337 0.95908482 -170.73725 -169.77816 3.2558316 0 -10627.857 -10794.38 -10794.224 -393.99 - 4 12.421381 18.303344 0.27279396 0.95886179 -170.78051 -169.82164 3.1495694 0 -10627.837 -10794.509 -10794.236 -408.93334 - 5 17.269932 28.194049 0.42020553 0.9585778 -170.83354 -169.87496 3.016716 0 -10627.813 -10794.671 -10794.251 -428.10518 - 6 22.792492 39.895742 0.59460814 0.95823491 -170.90235 -169.94412 2.8599973 0 -10627.779 -10794.864 -10794.269 -451.54206 - 7 28.768848 53.187856 0.79271447 0.95783553 -170.98485 -170.02701 2.6826348 0 -10627.739 -10795.083 -10794.29 -479.20292 - 8 34.74838 67.819955 1.010792 0.95738253 -171.07427 -170.11688 2.4882829 0 -10627.697 -10795.325 -10794.314 -510.99784 - 9 41.409904 83.516502 1.2447341 0.95687915 -171.17899 -170.22211 2.2809581 0 -10627.645 -10795.586 -10794.342 -546.96024 - 10 48.305399 99.982132 1.4901387 0.95632904 -171.28935 -170.33302 2.0649603 0 -10627.594 -10795.862 -10794.372 -586.95371 -Loop time of 48.3054 on 2 procs for 10 steps with 6 atoms + 0 0 300 4.4712151 0.95937448 -170.68507 -169.7257 3.3962859 0 -10627.88 -10794.209 -10789.738 -296.31485 + 1 15.217945 304.678 4.5409362 0.95696149 -170.42798 -169.47102 3.3391714 0 -10628.16 -10794.292 -10789.751 -305.47106 + 2 30.224117 311.2103 4.638294 0.9544861 -170.14543 -169.19094 3.25367 0 -10628.467 -10794.404 -10789.766 -318.76733 + 3 45.240076 319.44288 4.7609928 0.9519482 -169.8732 -168.92125 3.1420353 0 -10628.766 -10794.545 -10789.784 -336.50512 + 4 60.610333 329.18604 4.9062053 0.94934821 -169.61533 -168.66598 3.0070837 0 -10629.053 -10794.712 -10789.806 -358.70105 + 5 76.045449 340.21992 5.0706548 0.94668697 -169.3735 -168.42681 2.8521374 0 -10629.326 -10794.901 -10789.83 -385.34313 + 6 91.439055 352.2987 5.2506775 0.94396585 -169.1486 -168.20464 2.6809583 0 -10629.584 -10795.108 -10789.857 -416.4029 + 7 106.77383 365.15519 5.4422913 0.94118664 -168.94156 -168.00037 2.497673 0 -10629.827 -10795.33 -10789.888 -451.84068 + 8 122.12298 378.50604 5.641273 0.93835162 -168.75364 -167.81529 2.3066899 0 -10630.053 -10795.562 -10789.921 -491.60674 + 9 137.5072 392.05738 5.8432429 0.93546349 -168.58499 -167.64953 2.1126114 0 -10630.263 -10795.8 -10789.956 -535.62626 + 10 152.80585 405.51036 6.0437468 0.9325254 -168.43613 -167.50361 1.9201417 0 -10630.455 -10796.038 -10789.994 -583.81041 +Loop time of 152.806 on 2 procs for 10 steps with 6 atoms -Performance: 0.002 ns/day, 13418.171 hours/ns, 0.207 timesteps/s, 1.242 atom-step/s -93.0% CPU use with 2 MPI tasks x no OpenMP threads +Performance: 0.001 ns/day, 42446.073 hours/ns, 0.065 timesteps/s, 0.393 atom-step/s +95.1% CPU use with 2 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 4.6638e-05 | 4.8108e-05 | 4.9577e-05 | 0.0 | 0.00 -Bond | 1.5399e-05 | 2.157e-05 | 2.7741e-05 | 0.0 | 0.00 +Pair | 4.9233e-05 | 5.1075e-05 | 5.2917e-05 | 0.0 | 0.00 +Bond | 1.3827e-05 | 2.121e-05 | 2.8592e-05 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 7.9132e-05 | 8.3424e-05 | 8.7716e-05 | 0.0 | 0.00 -Output | 0.0001854 | 0.00020373 | 0.00022205 | 0.0 | 0.00 -Modify | 48.305 | 48.305 | 48.305 | 0.0 |100.00 -Other | | 4.187e-05 | | | 0.00 +Comm | 7.811e-05 | 8.3101e-05 | 8.8091e-05 | 0.0 | 0.00 +Output | 0.00017716 | 0.00019425 | 0.00021135 | 0.0 | 0.00 +Modify | 152.81 | 152.81 | 152.81 | 0.0 |100.00 +Other | | 4.045e-05 | | | 0.00 Nlocal: 3 ave 4 max 2 min Histogram: 1 0 0 0 0 0 0 0 0 1 @@ -157,4 +159,4 @@ Ave neighs/atom = 2 Ave special neighs/atom = 1 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:01:45 +Total wall time: 0:03:32 diff --git a/examples/QUANTUM/NWChem/log.8Feb23.zeolite.pwdft.qmmm.mpi.8 b/examples/QUANTUM/NWChem/log.24Feb23.zeolite.pwdft.qmmm.mpi.8 similarity index 74% rename from examples/QUANTUM/NWChem/log.8Feb23.zeolite.pwdft.qmmm.mpi.8 rename to examples/QUANTUM/NWChem/log.24Feb23.zeolite.pwdft.qmmm.mpi.8 index 79c41a6583..a8306da7b4 100644 --- a/examples/QUANTUM/NWChem/log.8Feb23.zeolite.pwdft.qmmm.mpi.8 +++ b/examples/QUANTUM/NWChem/log.24Feb23.zeolite.pwdft.qmmm.mpi.8 @@ -11,11 +11,12 @@ * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Wed Feb 8 15:56:29 2023 <<< + >>> job started at Fri Feb 24 15:27:06 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + generating 1d pseudopotential file: ./C.psp initializing nwpw_APC object ---------------------------- @@ -31,7 +32,7 @@ writing formatted psp filename: ./H.vpp generating random psi from scratch Warning - Gram-Schmidt being performed on psi2 - - exact norm = 8.00000 norm=11.14999 corrected norm=8.00000 (error=3.14999) + - exact norm = 8.00000 norm=11.20054 corrected norm=8.00000 (error=3.20054) ============== summary of input ================== @@ -111,19 +112,20 @@ ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Wed Feb 8 15:56:30 2023 <<< + >>> iteration started at Fri Feb 24 15:27:07 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - - 10 steepest descent iterations performed - 10 -4.015778017555e+00 -8.950880e-01 9.521525e-03 - 20 -7.168607288639e+00 -1.211657e-01 6.666735e-04 - 30 -7.792688812721e+00 -3.040395e-02 9.684556e-05 - 40 -8.000542056573e+00 -6.282802e-02 2.041443e-03 - 50 -8.004880148959e+00 -4.414040e-06 1.088767e-08 - 60 -8.004884700760e+00 -1.109801e-08 4.722130e-10 - 70 -8.004884709359e+00 -7.697469e-10 5.533625e-12 + - 15 steepest descent iterations performed + 10 2.212667000976e+01 -9.073869e-02 3.070996e-08 + 20 3.043497017603e+01 -1.156230e-01 3.079984e-08 + 30 -3.268576229723e+00 -8.019197e-01 1.544403e-03 + 40 -6.163954158559e+00 -2.156913e-01 1.343751e-03 + 50 -7.761069972067e+00 -6.910690e-02 9.971562e-04 + 60 -8.004618980049e+00 -2.445677e-04 2.207620e-06 + 70 -8.004884338953e+00 -3.872844e-07 5.817324e-09 + 80 -8.004884709510e+00 -5.000125e-10 2.370000e-12 *** tolerance ok. iteration terminated - >>> iteration ended at Wed Feb 8 15:56:34 2023 <<< + >>> iteration ended at Fri Feb 24 15:27:11 2023 <<< ============== energy results (Molecule object) ============== @@ -131,36 +133,36 @@ number of electrons: spin up= 4.00000 down= 4.00000 (real space) - total energy : -8.0048847094e+00 ( -1.60098e+00 /ion) - total orbital energy: -3.3307050256e+00 ( -8.32676e-01 /electron) - hartree energy : 1.1149965251e+01 ( 2.78749e+00 /electron) - exc-corr energy : -3.1592096400e+00 ( -7.89802e-01 /electron) + total energy : -8.0048847095e+00 ( -1.60098e+00 /ion) + total orbital energy: -3.3307444815e+00 ( -8.32686e-01 /electron) + hartree energy : 1.1149923043e+01 ( 2.78748e+00 /electron) + exc-corr energy : -3.1592006040e+00 ( -7.89800e-01 /electron) ion-ion energy : 5.5453342775e+00 ( 1.10907e+00 /ion) - kinetic (planewave) : 6.0258056329e+00 ( 1.50645e+00 /electron) - V_local (planewave) : -2.6995520036e+01 ( -6.74888e+00 /electron) - V_nl (planewave) : -5.7126019492e-01 ( -1.42815e-01 /electron) - V_Coul (planewave) : 2.2299930502e+01 ( 5.57498e+00 /electron) - V_xc (planewave) : -4.0896609298e+00 ( -1.02242e+00 /electron) - Viral Coefficient : -1.5527402025e+00 + kinetic (planewave) : 6.0257777697e+00 ( 1.50644e+00 /electron) + V_local (planewave) : -2.6995463905e+01 ( -6.74887e+00 /electron) + V_nl (planewave) : -5.7125528990e-01 ( -1.42814e-01 /electron) + V_Coul (planewave) : 2.2299846085e+01 ( 5.57496e+00 /electron) + V_xc (planewave) : -4.0896491410e+00 ( -1.02241e+00 /electron) + Viral Coefficient : -1.5527493062e+00 orbital energy: - -3.4457408e-01 ( -9.376eV) - -3.4457426e-01 ( -9.376eV) - -3.4460416e-01 ( -9.377eV) - -6.3160002e-01 ( -17.187eV) + -3.4457879e-01 ( -9.377eV) + -3.4457910e-01 ( -9.377eV) + -3.4460887e-01 ( -9.377eV) + -6.3160548e-01 ( -17.187eV) == Center of Charge == -spin up = ( 0.0000 0.0000 -0.0000 ) -spin down = ( 0.0000 0.0000 -0.0000 ) - total = ( 0.0000 0.0000 -0.0000 ) +spin up = ( 0.0000 -0.0000 0.0000 ) +spin down = ( 0.0000 -0.0000 0.0000 ) + total = ( 0.0000 -0.0000 0.0000 ) ionic = ( 0.0000 0.0000 0.0000 ) == Molecular Dipole wrt Center of Mass == -mu = ( -0.0000 -0.0000 0.0000 ) au -|mu| = 0.0000 au ( 0.0001 Debye ) +mu = ( -0.0000 0.0000 -0.0000 ) au +|mu| = 0.0000 au ( 0.0000 Debye ) ************************************************************* @@ -211,25 +213,25 @@ mu = ( -0.0000 -0.0000 0.0000 ) au ----------------- cputime in seconds - prologue : 1.786e-01 - main loop : 4.206e+00 - epilogue : 1.733e-02 - total : 4.402e+00 - cputime/step: 1.993e-02 ( 211 evaluations, 64 linesearches) + prologue : 2.451e-01 + main loop : 4.109e+00 + epilogue : 7.546e-03 + total : 4.362e+00 + cputime/step: 1.062e-02 ( 387 evaluations, 80 linesearches) Time spent doing total step percent - total time 4.408692e+00 2.089428e-02 100.00% - total FFT time 2.193133e+00 1.039399e-02 49.75% - lagrange multipliers 5.547700e-04 2.629242e-06 0.01% - local potentials 2.238790e-04 1.061038e-06 0.01% - non-local potentials 8.471583e-02 4.014968e-04 1.92% - ffm_dgemm 1.942205e-02 9.204764e-05 0.44% - fmf_dgemm 4.509609e-02 2.137255e-04 1.02% - m_diagonalize 1.102093e-03 5.223190e-06 0.02% - mmm_multiply 1.631320e-04 7.731374e-07 0.00% - SCVtrans 2.999520e-04 1.421573e-06 0.01% + total time 4.374464e+00 1.130352e-02 100.00% + total FFT time 1.931506e+00 4.990970e-03 44.15% + lagrange multipliers 4.511191e-03 1.165682e-05 0.10% + local potentials 1.157610e-04 2.991240e-07 0.00% + non-local potentials 1.392419e-01 3.597982e-04 3.18% + ffm_dgemm 3.299335e-02 8.525414e-05 0.75% + fmf_dgemm 1.698146e-02 4.387973e-05 0.39% + m_diagonalize 9.489770e-04 2.452137e-06 0.02% + mmm_multiply 1.395860e-04 3.606873e-07 0.00% + SCVtrans 3.330280e-04 8.605375e-07 0.01% - >>> job completed at Wed Feb 8 15:56:34 2023 <<< + >>> job completed at Fri Feb 24 15:27:11 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -243,7 +245,7 @@ mu = ( -0.0000 -0.0000 0.0000 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Wed Feb 8 15:56:34 2023 <<< + >>> job started at Fri Feb 24 15:27:11 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -348,15 +350,15 @@ mu = ( -0.0000 -0.0000 0.0000 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Wed Feb 8 15:56:34 2023 <<< + >>> iteration started at Fri Feb 24 15:27:11 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - - 10 steepest descent iterations performed - 10 -8.100895220690e+00 -2.003351e-05 1.957562e-07 - 20 -8.100916865599e+00 -5.848813e-08 2.094199e-09 - 30 -8.100916942703e+00 -7.799379e-10 2.384248e-12 + - 15 steepest descent iterations performed + 10 -8.100886401637e+00 -2.403715e-05 2.050736e-07 + 20 -8.100916832098e+00 -5.390028e-08 8.935025e-10 + 30 -8.100916942729e+00 -6.377725e-10 2.740636e-12 *** tolerance ok. iteration terminated - >>> iteration ended at Wed Feb 8 15:56:41 2023 <<< + >>> iteration ended at Fri Feb 24 15:27:18 2023 <<< ============== energy results (Molecule object) ============== @@ -365,34 +367,34 @@ mu = ( -0.0000 -0.0000 0.0000 ) au total energy : -8.1009169427e+00 ( -1.62018e+00 /ion) - total orbital energy: -3.3061472580e+00 ( -8.26537e-01 /electron) - hartree energy : 1.1275956608e+01 ( 2.81899e+00 /electron) - exc-corr energy : -3.1783715095e+00 ( -7.94593e-01 /electron) + total orbital energy: -3.3061482981e+00 ( -8.26537e-01 /electron) + hartree energy : 1.1275955423e+01 ( 2.81899e+00 /electron) + exc-corr energy : -3.1783710151e+00 ( -7.94593e-01 /electron) ion-ion energy : 5.5453342775e+00 ( 1.10907e+00 /ion) - kinetic (planewave) : 6.2996005772e+00 ( 1.57490e+00 /electron) - V_local (planewave) : -2.7309843346e+01 ( -6.82746e+00 /electron) - V_nl (planewave) : -7.3359354921e-01 ( -1.83398e-01 /electron) - V_Coul (planewave) : 2.2551913216e+01 ( 5.63798e+00 /electron) - V_xc (planewave) : -4.1142241551e+00 ( -1.02856e+00 /electron) - Viral Coefficient : -1.5248185528e+00 + kinetic (planewave) : 6.2995969593e+00 ( 1.57490e+00 /electron) + V_local (planewave) : -2.7309842579e+01 ( -6.82746e+00 /electron) + V_nl (planewave) : -7.3359000842e-01 ( -1.83398e-01 /electron) + V_Coul (planewave) : 2.2551910846e+01 ( 5.63798e+00 /electron) + V_xc (planewave) : -4.1142235159e+00 ( -1.02856e+00 /electron) + Viral Coefficient : -1.5248190193e+00 orbital energy: - -3.4481150e-01 ( -9.383eV) - -3.4482363e-01 ( -9.383eV) - -3.4482363e-01 ( -9.383eV) - -6.1861486e-01 ( -16.834eV) + -3.4481163e-01 ( -9.383eV) + -3.4482376e-01 ( -9.383eV) + -3.4482376e-01 ( -9.383eV) + -6.1861499e-01 ( -16.834eV) == Center of Charge == -spin up = ( 0.0000 0.0000 -0.0000 ) -spin down = ( 0.0000 0.0000 -0.0000 ) - total = ( 0.0000 0.0000 -0.0000 ) +spin up = ( 0.0000 -0.0000 -0.0000 ) +spin down = ( 0.0000 -0.0000 -0.0000 ) + total = ( 0.0000 -0.0000 -0.0000 ) ionic = ( 0.0000 0.0000 0.0000 ) == Molecular Dipole wrt Center of Mass == -mu = ( -0.0000 -0.0000 0.0000 ) au +mu = ( -0.0000 0.0000 0.0000 ) au |mu| = 0.0000 au ( 0.0000 Debye ) @@ -444,25 +446,25 @@ mu = ( -0.0000 -0.0000 0.0000 ) au ----------------- cputime in seconds - prologue : 4.379e-01 - main loop : 6.488e+00 - epilogue : 5.221e-02 - total : 6.978e+00 - cputime/step: 6.424e-02 ( 101 evaluations, 29 linesearches) + prologue : 2.790e-01 + main loop : 6.826e+00 + epilogue : 3.635e-02 + total : 7.141e+00 + cputime/step: 6.320e-02 ( 108 evaluations, 30 linesearches) Time spent doing total step percent - total time 1.139487e+01 1.128205e-01 100.00% - total FFT time 5.865261e+00 5.807189e-02 51.47% - lagrange multipliers 3.433015e-03 3.399025e-05 0.03% - local potentials 1.343883e-03 1.330577e-05 0.01% - non-local potentials 1.975934e-01 1.956370e-03 1.73% - ffm_dgemm 4.447183e-02 4.403152e-04 0.39% - fmf_dgemm 1.131250e-01 1.120050e-03 0.99% - m_diagonalize 1.733021e-03 1.715862e-05 0.02% - mmm_multiply 2.365410e-04 2.341990e-06 0.00% - SCVtrans 4.573300e-04 4.528020e-06 0.00% + total time 1.153347e+01 1.067914e-01 100.00% + total FFT time 4.965503e+00 4.597688e-02 43.05% + lagrange multipliers 7.390648e-03 6.843193e-05 0.06% + local potentials 8.757480e-04 8.108778e-06 0.01% + non-local potentials 3.060991e-01 2.834251e-03 2.65% + ffm_dgemm 8.191361e-02 7.584594e-04 0.71% + fmf_dgemm 5.746136e-02 5.320496e-04 0.50% + m_diagonalize 1.522323e-03 1.409558e-05 0.01% + mmm_multiply 1.963460e-04 1.818019e-06 0.00% + SCVtrans 4.729490e-04 4.379157e-06 0.00% - >>> job completed at Wed Feb 8 15:56:41 2023 <<< + >>> job completed at Fri Feb 24 15:27:18 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -476,7 +478,7 @@ mu = ( -0.0000 -0.0000 0.0000 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Wed Feb 8 15:56:41 2023 <<< + >>> job started at Fri Feb 24 15:27:18 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -586,17 +588,17 @@ mu = ( -0.0000 -0.0000 0.0000 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Wed Feb 8 15:56:41 2023 <<< + >>> iteration started at Fri Feb 24 15:27:18 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - - 10 steepest descent iterations performed - 10 -8.182128680765e+00 -3.844484e-04 4.693677e-06 - 20 -8.182836770720e+00 -8.984170e-06 1.844113e-07 - 30 -8.182846855483e+00 -6.492675e-08 4.761580e-10 - 40 -8.182847052166e+00 -2.253451e-09 2.453871e-11 - 50 -8.182847055172e+00 -5.631176e-10 5.612076e-12 + - 15 steepest descent iterations performed + 10 -8.182002552577e+00 -6.061960e-04 1.730027e-05 + 20 -8.182838159664e+00 -7.879714e-06 9.545575e-08 + 30 -8.182846891944e+00 -7.012609e-08 7.247563e-10 + 40 -8.182847052999e+00 -1.416657e-09 8.184430e-12 + 50 -8.182847053862e+00 -8.627232e-10 2.687794e-12 *** tolerance ok. iteration terminated - >>> iteration ended at Wed Feb 8 15:56:59 2023 <<< + >>> iteration ended at Fri Feb 24 15:27:33 2023 <<< ============== energy results (Molecule object) ============== @@ -608,29 +610,29 @@ mu = ( -0.0000 -0.0000 0.0000 ) au 0.085935751 0.006829099 0.010413934 0.010145375 0.013730210 APC Point Charges: - -1.525560306 0.390019630 0.381030472 0.381747893 0.372762311 + -1.525526267 0.390010478 0.381021996 0.381739362 0.372754430 - total energy : -8.1828470552e+00 ( -1.63657e+00 /ion) - total orbital energy: -4.5638815795e+00 ( -1.14097e+00 /electron) - hartree energy : 1.1599530214e+01 ( 2.89988e+00 /electron) - exc-corr energy : -3.2070422925e+00 ( -8.01761e-01 /electron) - APC energy : -1.1547758094e-01 ( -2.30955e-02 /ion) + total energy : -8.1828470539e+00 ( -1.63657e+00 /ion) + total orbital energy: -4.5638883941e+00 ( -1.14097e+00 /electron) + hartree energy : 1.1599523312e+01 ( 2.89988e+00 /electron) + exc-corr energy : -3.2070424736e+00 ( -8.01761e-01 /electron) + APC energy : -1.1547500130e-01 ( -2.30950e-02 /ion) ion-ion energy : 5.5453335893e+00 ( 1.10907e+00 /ion) - kinetic (planewave) : 6.3978328075e+00 ( 1.59946e+00 /electron) - V_local (planewave) : -2.9282909182e+01 ( -7.32073e+00 /electron) - V_nl (planewave) : -7.2332000982e-01 ( -1.80830e-01 /electron) - V_Coul (planewave) : 2.3199060429e+01 ( 5.79977e+00 /electron) - V_xc (planewave) : -4.1545456243e+00 ( -1.03864e+00 /electron) - K.S. V_APC energy : -1.6032053986e+00 ( -3.20641e-01 /ion) - Viral Coefficient : -1.7133480535e+00 + kinetic (planewave) : 6.3978294148e+00 ( 1.59946e+00 /electron) + V_local (planewave) : -2.9282894508e+01 ( -7.32072e+00 /electron) + V_nl (planewave) : -7.2332420570e-01 ( -1.80831e-01 /electron) + V_Coul (planewave) : 2.3199046623e+01 ( 5.79976e+00 /electron) + V_xc (planewave) : -4.1545457187e+00 ( -1.03864e+00 /electron) + K.S. V_APC energy : -1.6032028190e+00 ( -3.20641e-01 /ion) + Viral Coefficient : -1.7133494969e+00 orbital energy: - -4.9914292e-01 ( -13.582eV) - -4.9954295e-01 ( -13.593eV) - -4.9993932e-01 ( -13.604eV) - -7.8331560e-01 ( -21.315eV) + -4.9914369e-01 ( -13.582eV) + -4.9954375e-01 ( -13.593eV) + -4.9994015e-01 ( -13.604eV) + -7.8331660e-01 ( -21.315eV) == Center of Charge == @@ -642,15 +644,15 @@ ionic = ( 0.0000 0.0000 0.0000 ) == Molecular Dipole wrt Center of Mass == mu = ( -0.0153 -0.0154 -0.0200 ) au -|mu| = 0.0295 au ( 0.0751 Debye ) +|mu| = 0.0295 au ( 0.0750 Debye ) Ion Forces (au): 1 C ( -0.00017 -0.00015 -0.00020 ) 2 H ( -0.00045 0.01416 0.00973 ) - 3 H ( -0.00046 -0.01307 0.00829 ) + 3 H ( -0.00047 -0.01307 0.00829 ) 4 H ( 0.01229 -0.00047 -0.00962 ) - 5 H ( -0.01121 -0.00048 -0.00820 ) + 5 H ( -0.01120 -0.00048 -0.00820 ) @@ -676,7 +678,7 @@ mu = ( -0.0153 -0.0154 -0.0200 ) au 0.085935751 0.006829099 0.010413934 0.010145375 0.013730210 APC Point Charges: - -1.525560306 0.390019630 0.381030472 0.381747893 0.372762311 + -1.525526267 0.390010478 0.381021996 0.381739362 0.372754430 charge analysis on each atom @@ -697,7 +699,7 @@ mu = ( -0.0153 -0.0154 -0.0200 ) au no atom g=0.000 g=0.600 g=0.900 g=1.350 ----- ---- ------- ------- ------- ------- - 1 C 4.000 -1.892 4.158 -7.792 + 1 C 4.000 -1.892 4.158 -7.791 2 H 1.000 -0.930 1.102 -0.782 3 H 1.000 -0.950 1.144 -0.813 4 H 1.000 -0.948 1.140 -0.811 @@ -708,25 +710,25 @@ mu = ( -0.0153 -0.0154 -0.0200 ) au ----------------- cputime in seconds - prologue : 5.422e-01 - main loop : 1.812e+01 - epilogue : 9.268e-02 - total : 1.876e+01 - cputime/step: 1.224e-01 ( 148 evaluations, 43 linesearches) + prologue : 5.439e-01 + main loop : 1.494e+01 + epilogue : 9.720e-02 + total : 1.558e+01 + cputime/step: 1.030e-01 ( 145 evaluations, 41 linesearches) Time spent doing total step percent - total time 3.017935e+01 2.039145e-01 100.00% - total FFT time 1.415918e+01 9.567014e-02 46.92% - lagrange multipliers 7.619617e-03 5.148390e-05 0.03% - local potentials 7.416089e-02 5.010871e-04 0.25% - non-local potentials 5.762971e-01 3.893900e-03 1.91% - ffm_dgemm 1.678614e-01 1.134199e-03 0.56% - fmf_dgemm 1.782454e-01 1.204361e-03 0.59% - m_diagonalize 2.671832e-03 1.805292e-05 0.01% - mmm_multiply 3.340680e-04 2.257216e-06 0.00% - SCVtrans 6.646140e-04 4.490635e-06 0.00% + total time 2.715432e+01 1.872712e-01 100.00% + total FFT time 8.435628e+00 5.817674e-02 31.07% + lagrange multipliers 1.385636e-02 9.556110e-05 0.05% + local potentials 1.495277e-01 1.031226e-03 0.55% + non-local potentials 6.332409e-01 4.367178e-03 2.33% + ffm_dgemm 1.396381e-01 9.630211e-04 0.51% + fmf_dgemm 1.942377e-01 1.339570e-03 0.72% + m_diagonalize 2.358284e-03 1.626403e-05 0.01% + mmm_multiply 2.838490e-04 1.957579e-06 0.00% + SCVtrans 7.066190e-04 4.873234e-06 0.00% - >>> job completed at Wed Feb 8 15:57:00 2023 <<< + >>> job completed at Fri Feb 24 15:27:33 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -740,7 +742,7 @@ mu = ( -0.0153 -0.0154 -0.0200 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Wed Feb 8 15:57:00 2023 <<< + >>> job started at Fri Feb 24 15:27:33 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -843,14 +845,14 @@ mu = ( -0.0153 -0.0154 -0.0200 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Wed Feb 8 15:57:00 2023 <<< + >>> iteration started at Fri Feb 24 15:27:34 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 10 -8.182830536671e+00 -2.198652e-07 2.257910e-09 - 20 -8.182830900760e+00 -4.320878e-09 9.756130e-11 - 30 -8.182830904807e+00 -8.551471e-10 2.468876e-11 + 10 -8.182830536518e+00 -2.197608e-07 2.256621e-09 + 20 -8.182830900682e+00 -4.328632e-09 9.765043e-11 + 30 -8.182830904722e+00 -8.535181e-10 2.468428e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Wed Feb 8 15:57:09 2023 <<< + >>> iteration ended at Fri Feb 24 15:27:43 2023 <<< ============== energy results (Molecule object) ============== @@ -859,32 +861,32 @@ mu = ( -0.0153 -0.0154 -0.0200 ) au APC Potential: - 0.085920347 0.006933668 0.010451606 0.010183255 0.013955978 + 0.085920346 0.006933668 0.010451605 0.010183254 0.013955978 APC Point Charges: - -1.526802509 0.389888661 0.380616073 0.381187474 0.375110300 + -1.526802283 0.389888597 0.380616017 0.381187413 0.375110256 - total energy : -8.1828309048e+00 ( -1.63657e+00 /ion) - total orbital energy: -4.5679466158e+00 ( -1.14199e+00 /electron) - hartree energy : 1.1610278783e+01 ( 2.90257e+00 /electron) - exc-corr energy : -3.2089794404e+00 ( -8.02245e-01 /electron) - APC energy : -1.1538523247e-01 ( -2.30770e-02 /ion) - ion-ion energy : 5.5582546679e+00 ( 1.11165e+00 /ion) + total energy : -8.1828309047e+00 ( -1.63657e+00 /ion) + total orbital energy: -4.5679465555e+00 ( -1.14199e+00 /electron) + hartree energy : 1.1610278762e+01 ( 2.90257e+00 /electron) + exc-corr energy : -3.2089794445e+00 ( -8.02245e-01 /electron) + APC energy : -1.1538521623e-01 ( -2.30770e-02 /ion) + ion-ion energy : 5.5582545959e+00 ( 1.11165e+00 /ion) - kinetic (planewave) : 6.4047222006e+00 ( 1.60118e+00 /electron) - V_local (planewave) : -2.9310995062e+01 ( -7.32775e+00 /electron) - V_nl (planewave) : -7.2516605994e-01 ( -1.81292e-01 /electron) - V_Coul (planewave) : 2.3220557565e+01 ( 5.80514e+00 /electron) - V_xc (planewave) : -4.1570652598e+00 ( -1.03927e+00 /electron) - K.S. V_APC energy : -1.6044392388e+00 ( -3.20888e-01 /ion) - Viral Coefficient : -1.7132154171e+00 + kinetic (planewave) : 6.4047222364e+00 ( 1.60118e+00 /electron) + V_local (planewave) : -2.9310994972e+01 ( -7.32775e+00 /electron) + V_nl (planewave) : -7.2516607956e-01 ( -1.81292e-01 /electron) + V_Coul (planewave) : 2.3220557524e+01 ( 5.80514e+00 /electron) + V_xc (planewave) : -4.1570652645e+00 ( -1.03927e+00 /electron) + K.S. V_APC energy : -1.6044392132e+00 ( -3.20888e-01 /ion) + Viral Coefficient : -1.7132154037e+00 orbital energy: -4.9948563e-01 ( -13.592eV) - -4.9986442e-01 ( -13.602eV) - -5.0066216e-01 ( -13.624eV) - -7.8396110e-01 ( -21.333eV) + -4.9986441e-01 ( -13.602eV) + -5.0066215e-01 ( -13.624eV) + -7.8396109e-01 ( -21.333eV) == Center of Charge == @@ -927,10 +929,10 @@ mu = ( -0.0068 -0.0137 -0.0188 ) au - self-consistent APC Potential: - 0.085920347 0.006933668 0.010451606 0.010183255 0.013955978 + 0.085920346 0.006933668 0.010451605 0.010183254 0.013955978 APC Point Charges: - -1.526802509 0.389888661 0.380616073 0.381187474 0.375110300 + -1.526802283 0.389888597 0.380616017 0.381187413 0.375110256 charge analysis on each atom @@ -962,25 +964,25 @@ mu = ( -0.0068 -0.0137 -0.0188 ) au ----------------- cputime in seconds - prologue : 4.772e-01 - main loop : 9.445e+00 - epilogue : 1.125e-01 - total : 1.003e+01 - cputime/step: 1.312e-01 ( 72 evaluations, 23 linesearches) + prologue : 4.748e-01 + main loop : 8.894e+00 + epilogue : 1.337e-01 + total : 9.502e+00 + cputime/step: 1.235e-01 ( 72 evaluations, 23 linesearches) Time spent doing total step percent - total time 4.022872e+01 5.587322e-01 100.00% - total FFT time 1.813947e+01 2.519370e-01 45.09% - lagrange multipliers 7.619617e-03 1.058280e-04 0.02% - local potentials 1.263603e-01 1.755004e-03 0.31% - non-local potentials 7.727920e-01 1.073322e-02 1.92% - ffm_dgemm 2.334360e-01 3.242167e-03 0.58% - fmf_dgemm 2.255183e-01 3.132199e-03 0.56% - m_diagonalize 3.190662e-03 4.431475e-05 0.01% - mmm_multiply 3.924980e-04 5.451361e-06 0.00% - SCVtrans 7.899210e-04 1.097112e-05 0.00% + total time 3.667277e+01 5.093441e-01 100.00% + total FFT time 1.041664e+01 1.446756e-01 28.40% + lagrange multipliers 1.385636e-02 1.924494e-04 0.04% + local potentials 2.487152e-01 3.454378e-03 0.68% + non-local potentials 8.225840e-01 1.142478e-02 2.24% + ffm_dgemm 1.764834e-01 2.451159e-03 0.48% + fmf_dgemm 3.026922e-01 4.204059e-03 0.83% + m_diagonalize 2.869274e-03 3.985103e-05 0.01% + mmm_multiply 3.413670e-04 4.741208e-06 0.00% + SCVtrans 8.394070e-04 1.165843e-05 0.00% - >>> job completed at Wed Feb 8 15:57:10 2023 <<< + >>> job completed at Fri Feb 24 15:27:43 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -994,7 +996,7 @@ mu = ( -0.0068 -0.0137 -0.0188 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Wed Feb 8 15:57:10 2023 <<< + >>> job started at Fri Feb 24 15:27:43 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -1097,14 +1099,14 @@ mu = ( -0.0068 -0.0137 -0.0188 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Wed Feb 8 15:57:10 2023 <<< + >>> iteration started at Fri Feb 24 15:27:43 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 10 -8.182810981362e+00 -2.215215e-07 2.285198e-09 - 20 -8.182811349830e+00 -4.407653e-09 9.901772e-11 - 30 -8.182811353958e+00 -8.776340e-10 2.526748e-11 + 10 -8.182810981296e+00 -2.215203e-07 2.287391e-09 + 20 -8.182811349779e+00 -4.397116e-09 9.867630e-11 + 30 -8.182811353896e+00 -8.712249e-10 2.529314e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Wed Feb 8 15:57:21 2023 <<< + >>> iteration ended at Fri Feb 24 15:27:52 2023 <<< ============== energy results (Molecule object) ============== @@ -1113,32 +1115,32 @@ mu = ( -0.0068 -0.0137 -0.0188 ) au APC Potential: - 0.085906808 0.007038030 0.010488848 0.010220348 0.014180798 + 0.085906808 0.007038029 0.010488847 0.010220347 0.014180797 APC Point Charges: - -1.528276144 0.389813708 0.380247588 0.380646334 0.377568513 + -1.528276296 0.389813767 0.380247595 0.380646249 0.377568684 - total energy : -8.1828113540e+00 ( -1.63656e+00 /ion) - total orbital energy: -4.5719732484e+00 ( -1.14299e+00 /electron) - hartree energy : 1.1620965821e+01 ( 2.90524e+00 /electron) - exc-corr energy : -3.2109106335e+00 ( -8.02728e-01 /electron) - APC energy : -1.1531288395e-01 ( -2.30626e-02 /ion) - ion-ion energy : 5.5711221982e+00 ( 1.11422e+00 /ion) + total energy : -8.1828113539e+00 ( -1.63656e+00 /ion) + total orbital energy: -4.5719731943e+00 ( -1.14299e+00 /electron) + hartree energy : 1.1620965705e+01 ( 2.90524e+00 /electron) + exc-corr energy : -3.2109106077e+00 ( -8.02728e-01 /electron) + APC energy : -1.1531289664e-01 ( -2.30626e-02 /ion) + ion-ion energy : 5.5711220539e+00 ( 1.11422e+00 /ion) - kinetic (planewave) : 6.4116085838e+00 ( 1.60290e+00 /electron) - V_local (planewave) : -2.9338922678e+01 ( -7.33473e+00 /electron) - V_nl (planewave) : -7.2701402584e-01 ( -1.81754e-01 /electron) - V_Coul (planewave) : 2.3241931642e+01 ( 5.81048e+00 /electron) - V_xc (planewave) : -4.1595767700e+00 ( -1.03989e+00 /electron) - K.S. V_APC energy : -1.6056522647e+00 ( -3.21130e-01 /ion) - Viral Coefficient : -1.7130774109e+00 + kinetic (planewave) : 6.4116085002e+00 ( 1.60290e+00 /electron) + V_local (planewave) : -2.9338922355e+01 ( -7.33473e+00 /electron) + V_nl (planewave) : -7.2701401240e-01 ( -1.81754e-01 /electron) + V_Coul (planewave) : 2.3241931410e+01 ( 5.81048e+00 /electron) + V_xc (planewave) : -4.1595767371e+00 ( -1.03989e+00 /electron) + K.S. V_APC energy : -1.6056522586e+00 ( -3.21130e-01 /ion) + Viral Coefficient : -1.7130774117e+00 orbital energy: - -4.9974206e-01 ( -13.599eV) - -5.0024035e-01 ( -13.612eV) - -5.0140336e-01 ( -13.644eV) - -7.8460086e-01 ( -21.350eV) + -4.9974205e-01 ( -13.599eV) + -5.0024034e-01 ( -13.612eV) + -5.0140335e-01 ( -13.644eV) + -7.8460085e-01 ( -21.350eV) == Center of Charge == @@ -1181,10 +1183,10 @@ mu = ( 0.0018 -0.0121 -0.0176 ) au - self-consistent APC Potential: - 0.085906808 0.007038030 0.010488848 0.010220348 0.014180798 + 0.085906808 0.007038029 0.010488847 0.010220347 0.014180797 APC Point Charges: - -1.528276144 0.389813708 0.380247588 0.380646334 0.377568513 + -1.528276296 0.389813767 0.380247595 0.380646249 0.377568684 charge analysis on each atom @@ -1197,7 +1199,7 @@ mu = ( 0.0018 -0.0121 -0.0176 ) au 3 H -0.620 1.000 0.380 4 H -0.619 1.000 0.381 5 H -0.622 1.000 0.378 - Total Q -8.000 8.000 0.000 + Total Q -8.000 8.000 -0.000 Gaussian coefficients of model density @@ -1216,22 +1218,22 @@ mu = ( 0.0018 -0.0121 -0.0176 ) au ----------------- cputime in seconds - prologue : 4.783e-01 - main loop : 1.113e+01 - epilogue : 1.139e-01 - total : 1.172e+01 - cputime/step: 1.504e-01 ( 74 evaluations, 23 linesearches) + prologue : 4.743e-01 + main loop : 9.021e+00 + epilogue : 9.163e-02 + total : 9.587e+00 + cputime/step: 1.236e-01 ( 73 evaluations, 23 linesearches) Time spent doing total step percent - total time 5.197492e+01 7.023638e-01 100.00% - total FFT time 2.295612e+01 3.102178e-01 44.17% - lagrange multipliers 7.619617e-03 1.029678e-04 0.01% - local potentials 1.648023e-01 2.227059e-03 0.32% - non-local potentials 1.002162e+00 1.354273e-02 1.93% - ffm_dgemm 3.261426e-01 4.407333e-03 0.63% - fmf_dgemm 2.617078e-01 3.536592e-03 0.50% - m_diagonalize 3.708355e-03 5.011291e-05 0.01% - mmm_multiply 4.554440e-04 6.154649e-06 0.00% - SCVtrans 9.115970e-04 1.231888e-05 0.00% + total time 4.627295e+01 6.338760e-01 100.00% + total FFT time 1.312363e+01 1.797758e-01 28.36% + lagrange multipliers 1.385636e-02 1.898131e-04 0.03% + local potentials 2.924758e-01 4.006517e-03 0.63% + non-local potentials 1.023527e+00 1.402092e-02 2.21% + ffm_dgemm 2.467424e-01 3.380033e-03 0.53% + fmf_dgemm 3.436315e-01 4.707281e-03 0.74% + m_diagonalize 3.309592e-03 4.533688e-05 0.01% + mmm_multiply 3.842540e-04 5.263753e-06 0.00% + SCVtrans 9.530720e-04 1.305578e-05 0.00% - >>> job completed at Wed Feb 8 15:57:21 2023 <<< + >>> job completed at Fri Feb 24 15:27:53 2023 <<< diff --git a/examples/QUANTUM/NWChem/log.8Feb23.zeolite.pwdft.qmmm.plugin.8 b/examples/QUANTUM/NWChem/log.24Feb23.zeolite.pwdft.qmmm.plugin.8 similarity index 75% rename from examples/QUANTUM/NWChem/log.8Feb23.zeolite.pwdft.qmmm.plugin.8 rename to examples/QUANTUM/NWChem/log.24Feb23.zeolite.pwdft.qmmm.plugin.8 index 46037ff870..e39182b4f5 100644 --- a/examples/QUANTUM/NWChem/log.8Feb23.zeolite.pwdft.qmmm.plugin.8 +++ b/examples/QUANTUM/NWChem/log.24Feb23.zeolite.pwdft.qmmm.plugin.8 @@ -11,7 +11,7 @@ * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Wed Feb 8 15:53:23 2023 <<< + >>> job started at Fri Feb 24 15:34:51 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -31,7 +31,7 @@ writing formatted psp filename: ./H.vpp generating random psi from scratch Warning - Gram-Schmidt being performed on psi2 - - exact norm = 8.00000 norm=11.14999 corrected norm=8.00000 (error=3.14999) + - exact norm = 8.00000 norm=11.20054 corrected norm=8.00000 (error=3.20054) ============== summary of input ================== @@ -111,19 +111,20 @@ ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Wed Feb 8 15:53:24 2023 <<< + >>> iteration started at Fri Feb 24 15:34:51 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - - 10 steepest descent iterations performed - 10 -4.015778017555e+00 -8.950880e-01 9.521525e-03 - 20 -7.168607288639e+00 -1.211657e-01 6.666735e-04 - 30 -7.792688812721e+00 -3.040395e-02 9.684556e-05 - 40 -8.000542056573e+00 -6.282802e-02 2.041443e-03 - 50 -8.004880148959e+00 -4.414040e-06 1.088767e-08 - 60 -8.004884700760e+00 -1.109801e-08 4.722130e-10 - 70 -8.004884709359e+00 -7.697469e-10 5.533625e-12 + - 15 steepest descent iterations performed + 10 2.212667000976e+01 -9.073869e-02 3.070996e-08 + 20 3.043497017603e+01 -1.156230e-01 3.079984e-08 + 30 -3.268576229723e+00 -8.019197e-01 1.544403e-03 + 40 -6.163954158559e+00 -2.156913e-01 1.343751e-03 + 50 -7.761069972067e+00 -6.910690e-02 9.971562e-04 + 60 -8.004618980049e+00 -2.445677e-04 2.207620e-06 + 70 -8.004884338953e+00 -3.872844e-07 5.817324e-09 + 80 -8.004884709510e+00 -5.000125e-10 2.370000e-12 *** tolerance ok. iteration terminated - >>> iteration ended at Wed Feb 8 15:53:26 2023 <<< + >>> iteration ended at Fri Feb 24 15:34:55 2023 <<< ============== energy results (Molecule object) ============== @@ -131,36 +132,36 @@ number of electrons: spin up= 4.00000 down= 4.00000 (real space) - total energy : -8.0048847094e+00 ( -1.60098e+00 /ion) - total orbital energy: -3.3307050256e+00 ( -8.32676e-01 /electron) - hartree energy : 1.1149965251e+01 ( 2.78749e+00 /electron) - exc-corr energy : -3.1592096400e+00 ( -7.89802e-01 /electron) + total energy : -8.0048847095e+00 ( -1.60098e+00 /ion) + total orbital energy: -3.3307444815e+00 ( -8.32686e-01 /electron) + hartree energy : 1.1149923043e+01 ( 2.78748e+00 /electron) + exc-corr energy : -3.1592006040e+00 ( -7.89800e-01 /electron) ion-ion energy : 5.5453342775e+00 ( 1.10907e+00 /ion) - kinetic (planewave) : 6.0258056329e+00 ( 1.50645e+00 /electron) - V_local (planewave) : -2.6995520036e+01 ( -6.74888e+00 /electron) - V_nl (planewave) : -5.7126019492e-01 ( -1.42815e-01 /electron) - V_Coul (planewave) : 2.2299930502e+01 ( 5.57498e+00 /electron) - V_xc (planewave) : -4.0896609298e+00 ( -1.02242e+00 /electron) - Viral Coefficient : -1.5527402025e+00 + kinetic (planewave) : 6.0257777697e+00 ( 1.50644e+00 /electron) + V_local (planewave) : -2.6995463905e+01 ( -6.74887e+00 /electron) + V_nl (planewave) : -5.7125528990e-01 ( -1.42814e-01 /electron) + V_Coul (planewave) : 2.2299846085e+01 ( 5.57496e+00 /electron) + V_xc (planewave) : -4.0896491410e+00 ( -1.02241e+00 /electron) + Viral Coefficient : -1.5527493062e+00 orbital energy: - -3.4457408e-01 ( -9.376eV) - -3.4457426e-01 ( -9.376eV) - -3.4460416e-01 ( -9.377eV) - -6.3160002e-01 ( -17.187eV) + -3.4457879e-01 ( -9.377eV) + -3.4457910e-01 ( -9.377eV) + -3.4460887e-01 ( -9.377eV) + -6.3160548e-01 ( -17.187eV) == Center of Charge == -spin up = ( 0.0000 0.0000 -0.0000 ) -spin down = ( 0.0000 0.0000 -0.0000 ) - total = ( 0.0000 0.0000 -0.0000 ) +spin up = ( 0.0000 -0.0000 0.0000 ) +spin down = ( 0.0000 -0.0000 0.0000 ) + total = ( 0.0000 -0.0000 0.0000 ) ionic = ( 0.0000 0.0000 0.0000 ) == Molecular Dipole wrt Center of Mass == -mu = ( -0.0000 -0.0000 0.0000 ) au -|mu| = 0.0000 au ( 0.0001 Debye ) +mu = ( -0.0000 0.0000 -0.0000 ) au +|mu| = 0.0000 au ( 0.0000 Debye ) ************************************************************* @@ -211,25 +212,25 @@ mu = ( -0.0000 -0.0000 0.0000 ) au ----------------- cputime in seconds - prologue : 1.742e-01 - main loop : 2.083e+00 - epilogue : 9.147e-03 - total : 2.266e+00 - cputime/step: 9.872e-03 ( 211 evaluations, 64 linesearches) + prologue : 1.595e-01 + main loop : 3.787e+00 + epilogue : 9.482e-03 + total : 3.956e+00 + cputime/step: 9.785e-03 ( 387 evaluations, 80 linesearches) Time spent doing total step percent - total time 2.278449e+00 1.079834e-02 100.00% - total FFT time 1.020844e+00 4.838124e-03 44.80% - lagrange multipliers 4.572630e-04 2.167123e-06 0.02% - local potentials 1.859130e-04 8.811043e-07 0.01% - non-local potentials 4.943391e-02 2.342839e-04 2.17% - ffm_dgemm 8.815237e-03 4.177837e-05 0.39% - fmf_dgemm 1.954608e-02 9.263544e-05 0.86% - m_diagonalize 7.713290e-04 3.655588e-06 0.03% - mmm_multiply 8.567000e-05 4.060190e-07 0.00% - SCVtrans 2.960850e-04 1.403246e-06 0.01% + total time 4.010368e+00 1.036271e-02 100.00% + total FFT time 1.438542e+00 3.717162e-03 35.87% + lagrange multipliers 3.241243e-03 8.375305e-06 0.08% + local potentials 1.960790e-04 5.066641e-07 0.00% + non-local potentials 1.082494e-01 2.797142e-04 2.70% + ffm_dgemm 2.214324e-02 5.721767e-05 0.55% + fmf_dgemm 2.273377e-02 5.874360e-05 0.57% + m_diagonalize 9.632340e-04 2.488977e-06 0.02% + mmm_multiply 1.514320e-04 3.912972e-07 0.00% + SCVtrans 4.638540e-04 1.198589e-06 0.01% - >>> job completed at Wed Feb 8 15:53:26 2023 <<< + >>> job completed at Fri Feb 24 15:34:55 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -243,7 +244,7 @@ mu = ( -0.0000 -0.0000 0.0000 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Wed Feb 8 15:53:26 2023 <<< + >>> job started at Fri Feb 24 15:34:55 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -348,15 +349,15 @@ mu = ( -0.0000 -0.0000 0.0000 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Wed Feb 8 15:53:26 2023 <<< + >>> iteration started at Fri Feb 24 15:34:55 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - - 10 steepest descent iterations performed - 10 -8.100895220690e+00 -2.003351e-05 1.957562e-07 - 20 -8.100916865599e+00 -5.848813e-08 2.094199e-09 - 30 -8.100916942703e+00 -7.799379e-10 2.384248e-12 + - 15 steepest descent iterations performed + 10 -8.100886401637e+00 -2.403715e-05 2.050736e-07 + 20 -8.100916832098e+00 -5.390028e-08 8.935025e-10 + 30 -8.100916942729e+00 -6.377725e-10 2.740636e-12 *** tolerance ok. iteration terminated - >>> iteration ended at Wed Feb 8 15:53:32 2023 <<< + >>> iteration ended at Fri Feb 24 15:35:01 2023 <<< ============== energy results (Molecule object) ============== @@ -365,34 +366,34 @@ mu = ( -0.0000 -0.0000 0.0000 ) au total energy : -8.1009169427e+00 ( -1.62018e+00 /ion) - total orbital energy: -3.3061472580e+00 ( -8.26537e-01 /electron) - hartree energy : 1.1275956608e+01 ( 2.81899e+00 /electron) - exc-corr energy : -3.1783715095e+00 ( -7.94593e-01 /electron) + total orbital energy: -3.3061482981e+00 ( -8.26537e-01 /electron) + hartree energy : 1.1275955423e+01 ( 2.81899e+00 /electron) + exc-corr energy : -3.1783710151e+00 ( -7.94593e-01 /electron) ion-ion energy : 5.5453342775e+00 ( 1.10907e+00 /ion) - kinetic (planewave) : 6.2996005772e+00 ( 1.57490e+00 /electron) - V_local (planewave) : -2.7309843346e+01 ( -6.82746e+00 /electron) - V_nl (planewave) : -7.3359354921e-01 ( -1.83398e-01 /electron) - V_Coul (planewave) : 2.2551913216e+01 ( 5.63798e+00 /electron) - V_xc (planewave) : -4.1142241551e+00 ( -1.02856e+00 /electron) - Viral Coefficient : -1.5248185528e+00 + kinetic (planewave) : 6.2995969593e+00 ( 1.57490e+00 /electron) + V_local (planewave) : -2.7309842579e+01 ( -6.82746e+00 /electron) + V_nl (planewave) : -7.3359000842e-01 ( -1.83398e-01 /electron) + V_Coul (planewave) : 2.2551910846e+01 ( 5.63798e+00 /electron) + V_xc (planewave) : -4.1142235159e+00 ( -1.02856e+00 /electron) + Viral Coefficient : -1.5248190193e+00 orbital energy: - -3.4481150e-01 ( -9.383eV) - -3.4482363e-01 ( -9.383eV) - -3.4482363e-01 ( -9.383eV) - -6.1861486e-01 ( -16.834eV) + -3.4481163e-01 ( -9.383eV) + -3.4482376e-01 ( -9.383eV) + -3.4482376e-01 ( -9.383eV) + -6.1861499e-01 ( -16.834eV) == Center of Charge == -spin up = ( 0.0000 0.0000 -0.0000 ) -spin down = ( 0.0000 0.0000 -0.0000 ) - total = ( 0.0000 0.0000 -0.0000 ) +spin up = ( 0.0000 -0.0000 -0.0000 ) +spin down = ( 0.0000 -0.0000 -0.0000 ) + total = ( 0.0000 -0.0000 -0.0000 ) ionic = ( 0.0000 0.0000 0.0000 ) == Molecular Dipole wrt Center of Mass == -mu = ( -0.0000 -0.0000 0.0000 ) au +mu = ( -0.0000 0.0000 0.0000 ) au |mu| = 0.0000 au ( 0.0000 Debye ) @@ -444,25 +445,25 @@ mu = ( -0.0000 -0.0000 0.0000 ) au ----------------- cputime in seconds - prologue : 2.849e-01 - main loop : 5.779e+00 - epilogue : 4.663e-02 - total : 6.110e+00 - cputime/step: 5.722e-02 ( 101 evaluations, 29 linesearches) + prologue : 2.732e-01 + main loop : 5.622e+00 + epilogue : 3.173e-02 + total : 5.927e+00 + cputime/step: 5.206e-02 ( 108 evaluations, 30 linesearches) Time spent doing total step percent - total time 8.400430e+00 8.317258e-02 100.00% - total FFT time 4.201003e+00 4.159409e-02 50.01% - lagrange multipliers 1.781674e-03 1.764034e-05 0.02% - local potentials 7.814670e-04 7.737297e-06 0.01% - non-local potentials 1.435040e-01 1.420832e-03 1.71% - ffm_dgemm 3.030902e-02 3.000893e-04 0.36% - fmf_dgemm 7.135694e-02 7.065043e-04 0.85% - m_diagonalize 1.315323e-03 1.302300e-05 0.02% - mmm_multiply 1.583110e-04 1.567436e-06 0.00% - SCVtrans 4.757190e-04 4.710089e-06 0.01% + total time 9.955325e+00 9.217893e-02 100.00% + total FFT time 3.803579e+00 3.521833e-02 38.21% + lagrange multipliers 6.129098e-03 5.675091e-05 0.06% + local potentials 5.926650e-04 5.487639e-06 0.01% + non-local potentials 2.428148e-01 2.248285e-03 2.44% + ffm_dgemm 6.414881e-02 5.939704e-04 0.64% + fmf_dgemm 4.714669e-02 4.365434e-04 0.47% + m_diagonalize 1.474902e-03 1.365650e-05 0.01% + mmm_multiply 2.004250e-04 1.855787e-06 0.00% + SCVtrans 6.219350e-04 5.758657e-06 0.01% - >>> job completed at Wed Feb 8 15:53:32 2023 <<< + >>> job completed at Fri Feb 24 15:35:01 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -476,7 +477,7 @@ mu = ( -0.0000 -0.0000 0.0000 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Wed Feb 8 15:53:32 2023 <<< + >>> job started at Fri Feb 24 15:35:01 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -586,17 +587,17 @@ mu = ( -0.0000 -0.0000 0.0000 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Wed Feb 8 15:53:32 2023 <<< + >>> iteration started at Fri Feb 24 15:35:01 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - - 10 steepest descent iterations performed - 10 -8.182128680761e+00 -3.844484e-04 4.693677e-06 - 20 -8.182836770717e+00 -8.984171e-06 1.844113e-07 - 30 -8.182846855489e+00 -6.493413e-08 4.761580e-10 - 40 -8.182847052170e+00 -2.255520e-09 2.453873e-11 - 50 -8.182847055168e+00 -5.575682e-10 5.612073e-12 + - 15 steepest descent iterations performed + 10 -8.182002552580e+00 -6.061960e-04 1.730027e-05 + 20 -8.182838159662e+00 -7.879711e-06 9.545575e-08 + 30 -8.182846891946e+00 -7.013153e-08 7.247563e-10 + 40 -8.182847052998e+00 -1.414195e-09 8.198303e-12 + 50 -8.182847053858e+00 -8.599947e-10 2.632630e-12 *** tolerance ok. iteration terminated - >>> iteration ended at Wed Feb 8 15:53:51 2023 <<< + >>> iteration ended at Fri Feb 24 15:35:19 2023 <<< ============== energy results (Molecule object) ============== @@ -608,29 +609,29 @@ mu = ( -0.0000 -0.0000 0.0000 ) au 0.085935751 0.006829099 0.010413934 0.010145375 0.013730210 APC Point Charges: - -1.525560306 0.390019630 0.381030472 0.381747893 0.372762311 + -1.525526135 0.390010439 0.381021964 0.381739329 0.372754403 - total energy : -8.1828470552e+00 ( -1.63657e+00 /ion) - total orbital energy: -4.5638815796e+00 ( -1.14097e+00 /electron) - hartree energy : 1.1599530214e+01 ( 2.89988e+00 /electron) - exc-corr energy : -3.2070422925e+00 ( -8.01761e-01 /electron) - APC energy : -1.1547758094e-01 ( -2.30955e-02 /ion) + total energy : -8.1828470539e+00 ( -1.63657e+00 /ion) + total orbital energy: -4.5638880791e+00 ( -1.14097e+00 /electron) + hartree energy : 1.1599523650e+01 ( 2.89988e+00 /electron) + exc-corr energy : -3.2070425516e+00 ( -8.01761e-01 /electron) + APC energy : -1.1547499126e-01 ( -2.30950e-02 /ion) ion-ion energy : 5.5453335893e+00 ( 1.10907e+00 /ion) - kinetic (planewave) : 6.3978328075e+00 ( 1.59946e+00 /electron) - V_local (planewave) : -2.9282909182e+01 ( -7.32073e+00 /electron) - V_nl (planewave) : -7.2332000981e-01 ( -1.80830e-01 /electron) - V_Coul (planewave) : 2.3199060429e+01 ( 5.79977e+00 /electron) - V_xc (planewave) : -4.1545456243e+00 ( -1.03864e+00 /electron) - K.S. V_APC energy : -1.6032053986e+00 ( -3.20641e-01 /ion) - Viral Coefficient : -1.7133480535e+00 + kinetic (planewave) : 6.3978296529e+00 ( 1.59946e+00 /electron) + V_local (planewave) : -2.9282894985e+01 ( -7.32072e+00 /electron) + V_nl (planewave) : -7.2332422699e-01 ( -1.80831e-01 /electron) + V_Coul (planewave) : 2.3199047300e+01 ( 5.79976e+00 /electron) + V_xc (planewave) : -4.1545458200e+00 ( -1.03864e+00 /electron) + K.S. V_APC energy : -1.6032028089e+00 ( -3.20641e-01 /ion) + Viral Coefficient : -1.7133494211e+00 orbital energy: - -4.9914292e-01 ( -13.582eV) - -4.9954295e-01 ( -13.593eV) - -4.9993932e-01 ( -13.604eV) - -7.8331560e-01 ( -21.315eV) + -4.9914365e-01 ( -13.582eV) + -4.9954371e-01 ( -13.593eV) + -4.9994012e-01 ( -13.604eV) + -7.8331656e-01 ( -21.315eV) == Center of Charge == @@ -642,15 +643,15 @@ ionic = ( 0.0000 0.0000 0.0000 ) == Molecular Dipole wrt Center of Mass == mu = ( -0.0153 -0.0154 -0.0200 ) au -|mu| = 0.0295 au ( 0.0751 Debye ) +|mu| = 0.0295 au ( 0.0750 Debye ) Ion Forces (au): 1 C ( -0.00017 -0.00015 -0.00020 ) 2 H ( -0.00045 0.01416 0.00973 ) - 3 H ( -0.00046 -0.01307 0.00829 ) + 3 H ( -0.00047 -0.01307 0.00829 ) 4 H ( 0.01229 -0.00047 -0.00962 ) - 5 H ( -0.01121 -0.00048 -0.00820 ) + 5 H ( -0.01120 -0.00048 -0.00820 ) @@ -676,7 +677,7 @@ mu = ( -0.0153 -0.0154 -0.0200 ) au 0.085935751 0.006829099 0.010413934 0.010145375 0.013730210 APC Point Charges: - -1.525560306 0.390019630 0.381030472 0.381747893 0.372762311 + -1.525526135 0.390010439 0.381021964 0.381739329 0.372754403 charge analysis on each atom @@ -697,7 +698,7 @@ mu = ( -0.0153 -0.0154 -0.0200 ) au no atom g=0.000 g=0.600 g=0.900 g=1.350 ----- ---- ------- ------- ------- ------- - 1 C 4.000 -1.892 4.158 -7.792 + 1 C 4.000 -1.892 4.158 -7.791 2 H 1.000 -0.930 1.102 -0.782 3 H 1.000 -0.950 1.144 -0.813 4 H 1.000 -0.948 1.140 -0.811 @@ -708,25 +709,25 @@ mu = ( -0.0153 -0.0154 -0.0200 ) au ----------------- cputime in seconds - prologue : 5.263e-01 - main loop : 1.846e+01 - epilogue : 1.217e-01 - total : 1.911e+01 - cputime/step: 1.247e-01 ( 148 evaluations, 43 linesearches) + prologue : 5.228e-01 + main loop : 1.749e+01 + epilogue : 8.364e-02 + total : 1.810e+01 + cputime/step: 1.198e-01 ( 146 evaluations, 41 linesearches) Time spent doing total step percent - total time 2.754640e+01 1.861243e-01 100.00% - total FFT time 1.098499e+01 7.422291e-02 39.88% - lagrange multipliers 7.489317e-03 5.060349e-05 0.03% - local potentials 2.026095e-01 1.368983e-03 0.74% - non-local potentials 5.138643e-01 3.472056e-03 1.87% - ffm_dgemm 1.103650e-01 7.457098e-04 0.40% - fmf_dgemm 3.017589e-01 2.038911e-03 1.10% - m_diagonalize 2.166272e-03 1.463697e-05 0.01% - mmm_multiply 2.679840e-04 1.810703e-06 0.00% - SCVtrans 7.423470e-04 5.015858e-06 0.00% + total time 2.808223e+01 1.923440e-01 100.00% + total FFT time 9.399366e+00 6.437922e-02 33.47% + lagrange multipliers 1.506629e-02 1.031937e-04 0.05% + local potentials 6.734369e-02 4.612581e-04 0.24% + non-local potentials 6.385224e-01 4.373441e-03 2.27% + ffm_dgemm 2.097046e-01 1.436333e-03 0.75% + fmf_dgemm 1.108857e-01 7.594912e-04 0.39% + m_diagonalize 2.215479e-03 1.517451e-05 0.01% + mmm_multiply 2.865570e-04 1.962719e-06 0.00% + SCVtrans 8.248870e-04 5.649911e-06 0.00% - >>> job completed at Wed Feb 8 15:53:51 2023 <<< + >>> job completed at Fri Feb 24 15:35:19 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -740,7 +741,7 @@ mu = ( -0.0153 -0.0154 -0.0200 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Wed Feb 8 15:53:51 2023 <<< + >>> job started at Fri Feb 24 15:35:19 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -843,14 +844,14 @@ mu = ( -0.0153 -0.0154 -0.0200 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Wed Feb 8 15:53:51 2023 <<< + >>> iteration started at Fri Feb 24 15:35:19 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 10 -8.182830536670e+00 -2.198616e-07 2.257910e-09 - 20 -8.182830900766e+00 -4.323230e-09 9.756129e-11 - 30 -8.182830904812e+00 -8.606698e-10 2.468875e-11 + 10 -8.182830536518e+00 -2.197736e-07 2.256651e-09 + 20 -8.182830900676e+00 -4.318915e-09 9.765466e-11 + 30 -8.182830904722e+00 -8.524523e-10 2.468493e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Wed Feb 8 15:54:02 2023 <<< + >>> iteration ended at Fri Feb 24 15:35:28 2023 <<< ============== energy results (Molecule object) ============== @@ -859,32 +860,32 @@ mu = ( -0.0153 -0.0154 -0.0200 ) au APC Potential: - 0.085920347 0.006933668 0.010451606 0.010183255 0.013955978 + 0.085920346 0.006933668 0.010451605 0.010183254 0.013955978 APC Point Charges: - -1.526802509 0.389888661 0.380616073 0.381187474 0.375110300 + -1.526802274 0.389888594 0.380616014 0.381187411 0.375110254 - total energy : -8.1828309048e+00 ( -1.63657e+00 /ion) - total orbital energy: -4.5679466158e+00 ( -1.14199e+00 /electron) - hartree energy : 1.1610278783e+01 ( 2.90257e+00 /electron) - exc-corr energy : -3.2089794404e+00 ( -8.02245e-01 /electron) - APC energy : -1.1538523248e-01 ( -2.30770e-02 /ion) - ion-ion energy : 5.5582546679e+00 ( 1.11165e+00 /ion) + total energy : -8.1828309047e+00 ( -1.63657e+00 /ion) + total orbital energy: -4.5679465528e+00 ( -1.14199e+00 /electron) + hartree energy : 1.1610278766e+01 ( 2.90257e+00 /electron) + exc-corr energy : -3.2089794457e+00 ( -8.02245e-01 /electron) + APC energy : -1.1538521550e-01 ( -2.30770e-02 /ion) + ion-ion energy : 5.5582545966e+00 ( 1.11165e+00 /ion) - kinetic (planewave) : 6.4047222006e+00 ( 1.60118e+00 /electron) - V_local (planewave) : -2.9310995062e+01 ( -7.32775e+00 /electron) - V_nl (planewave) : -7.2516605994e-01 ( -1.81292e-01 /electron) - V_Coul (planewave) : 2.3220557565e+01 ( 5.80514e+00 /electron) - V_xc (planewave) : -4.1570652598e+00 ( -1.03927e+00 /electron) - K.S. V_APC energy : -1.6044392388e+00 ( -3.20888e-01 /ion) - Viral Coefficient : -1.7132154171e+00 + kinetic (planewave) : 6.4047222399e+00 ( 1.60118e+00 /electron) + V_local (planewave) : -2.9310994978e+01 ( -7.32775e+00 /electron) + V_nl (planewave) : -7.2516608071e-01 ( -1.81292e-01 /electron) + V_Coul (planewave) : 2.3220557532e+01 ( 5.80514e+00 /electron) + V_xc (planewave) : -4.1570652661e+00 ( -1.03927e+00 /electron) + K.S. V_APC energy : -1.6044392126e+00 ( -3.20888e-01 /ion) + Viral Coefficient : -1.7132154029e+00 orbital energy: -4.9948563e-01 ( -13.592eV) - -4.9986442e-01 ( -13.602eV) - -5.0066216e-01 ( -13.624eV) - -7.8396110e-01 ( -21.333eV) + -4.9986441e-01 ( -13.602eV) + -5.0066215e-01 ( -13.624eV) + -7.8396109e-01 ( -21.333eV) == Center of Charge == @@ -927,10 +928,10 @@ mu = ( -0.0068 -0.0137 -0.0188 ) au - self-consistent APC Potential: - 0.085920347 0.006933668 0.010451606 0.010183255 0.013955978 + 0.085920346 0.006933668 0.010451605 0.010183254 0.013955978 APC Point Charges: - -1.526802509 0.389888661 0.380616073 0.381187474 0.375110300 + -1.526802274 0.389888594 0.380616014 0.381187411 0.375110254 charge analysis on each atom @@ -943,7 +944,7 @@ mu = ( -0.0068 -0.0137 -0.0188 ) au 3 H -0.619 1.000 0.381 4 H -0.619 1.000 0.381 5 H -0.625 1.000 0.375 - Total Q -8.000 8.000 0.000 + Total Q -8.000 8.000 -0.000 Gaussian coefficients of model density @@ -962,25 +963,25 @@ mu = ( -0.0068 -0.0137 -0.0188 ) au ----------------- cputime in seconds - prologue : 4.457e-01 - main loop : 1.008e+01 - epilogue : 1.214e-01 - total : 1.065e+01 - cputime/step: 1.401e-01 ( 72 evaluations, 23 linesearches) + prologue : 4.440e-01 + main loop : 8.313e+00 + epilogue : 8.275e-02 + total : 8.840e+00 + cputime/step: 1.155e-01 ( 72 evaluations, 23 linesearches) Time spent doing total step percent - total time 3.821082e+01 5.307058e-01 100.00% - total FFT time 1.458493e+01 2.025685e-01 38.17% - lagrange multipliers 7.489317e-03 1.040183e-04 0.02% - local potentials 3.211965e-01 4.461062e-03 0.84% - non-local potentials 7.197763e-01 9.996893e-03 1.88% - ffm_dgemm 1.575028e-01 2.187538e-03 0.41% - fmf_dgemm 4.452963e-01 6.184671e-03 1.17% - m_diagonalize 2.645946e-03 3.674925e-05 0.01% - mmm_multiply 3.386200e-04 4.703056e-06 0.00% - SCVtrans 8.651730e-04 1.201629e-05 0.00% + total time 3.693778e+01 5.130248e-01 100.00% + total FFT time 1.187153e+01 1.648824e-01 32.14% + lagrange multipliers 1.506629e-02 2.092540e-04 0.04% + local potentials 1.061810e-01 1.474735e-03 0.29% + non-local potentials 8.305631e-01 1.153560e-02 2.25% + ffm_dgemm 2.775519e-01 3.854887e-03 0.75% + fmf_dgemm 1.455879e-01 2.022055e-03 0.39% + m_diagonalize 2.586739e-03 3.592693e-05 0.01% + mmm_multiply 3.378180e-04 4.691917e-06 0.00% + SCVtrans 9.386530e-04 1.303685e-05 0.00% - >>> job completed at Wed Feb 8 15:54:02 2023 <<< + >>> job completed at Fri Feb 24 15:35:28 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -994,7 +995,7 @@ mu = ( -0.0068 -0.0137 -0.0188 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Wed Feb 8 15:54:02 2023 <<< + >>> job started at Fri Feb 24 15:35:28 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -1097,14 +1098,14 @@ mu = ( -0.0068 -0.0137 -0.0188 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Wed Feb 8 15:54:02 2023 <<< + >>> iteration started at Fri Feb 24 15:35:28 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 10 -8.182810981368e+00 -2.215195e-07 2.287400e-09 - 20 -8.182811349844e+00 -4.393533e-09 9.867317e-11 - 30 -8.182811353959e+00 -8.771881e-10 2.529355e-11 + 10 -8.182810981303e+00 -2.215175e-07 2.287391e-09 + 20 -8.182811349783e+00 -4.390625e-09 9.867638e-11 + 30 -8.182811353905e+00 -8.746959e-10 2.529312e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Wed Feb 8 15:54:11 2023 <<< + >>> iteration ended at Fri Feb 24 15:35:38 2023 <<< ============== energy results (Molecule object) ============== @@ -1113,32 +1114,32 @@ mu = ( -0.0068 -0.0137 -0.0188 ) au APC Potential: - 0.085906808 0.007038030 0.010488848 0.010220348 0.014180798 + 0.085906808 0.007038029 0.010488847 0.010220347 0.014180797 APC Point Charges: - -1.528276314 0.389813772 0.380247600 0.380646254 0.377568689 + -1.528276296 0.389813767 0.380247595 0.380646249 0.377568684 - total energy : -8.1828113540e+00 ( -1.63656e+00 /ion) - total orbital energy: -4.5719732441e+00 ( -1.14299e+00 /electron) - hartree energy : 1.1620965825e+01 ( 2.90524e+00 /electron) - exc-corr energy : -3.2109106291e+00 ( -8.02728e-01 /electron) - APC energy : -1.1531289640e-01 ( -2.30626e-02 /ion) - ion-ion energy : 5.5711221982e+00 ( 1.11422e+00 /ion) + total energy : -8.1828113539e+00 ( -1.63656e+00 /ion) + total orbital energy: -4.5719731947e+00 ( -1.14299e+00 /electron) + hartree energy : 1.1620965706e+01 ( 2.90524e+00 /electron) + exc-corr energy : -3.2109106079e+00 ( -8.02728e-01 /electron) + APC energy : -1.1531289663e-01 ( -2.30626e-02 /ion) + ion-ion energy : 5.5711220553e+00 ( 1.11422e+00 /ion) - kinetic (planewave) : 6.4116085768e+00 ( 1.60290e+00 /electron) - V_local (planewave) : -2.9338922673e+01 ( -7.33473e+00 /electron) - V_nl (planewave) : -7.2701403268e-01 ( -1.81754e-01 /electron) - V_Coul (planewave) : 2.3241931649e+01 ( 5.81048e+00 /electron) - V_xc (planewave) : -4.1595767650e+00 ( -1.03989e+00 /electron) - K.S. V_APC energy : -1.6056522771e+00 ( -3.21130e-01 /ion) - Viral Coefficient : -1.7130774110e+00 + kinetic (planewave) : 6.4116085011e+00 ( 1.60290e+00 /electron) + V_local (planewave) : -2.9338922358e+01 ( -7.33473e+00 /electron) + V_nl (planewave) : -7.2701401263e-01 ( -1.81754e-01 /electron) + V_Coul (planewave) : 2.3241931412e+01 ( 5.81048e+00 /electron) + V_xc (planewave) : -4.1595767374e+00 ( -1.03989e+00 /electron) + K.S. V_APC energy : -1.6056522587e+00 ( -3.21130e-01 /ion) + Viral Coefficient : -1.7130774117e+00 orbital energy: - -4.9974206e-01 ( -13.599eV) - -5.0024035e-01 ( -13.612eV) - -5.0140336e-01 ( -13.644eV) - -7.8460086e-01 ( -21.350eV) + -4.9974205e-01 ( -13.599eV) + -5.0024034e-01 ( -13.612eV) + -5.0140335e-01 ( -13.644eV) + -7.8460085e-01 ( -21.350eV) == Center of Charge == @@ -1181,10 +1182,10 @@ mu = ( 0.0018 -0.0121 -0.0176 ) au - self-consistent APC Potential: - 0.085906808 0.007038030 0.010488848 0.010220348 0.014180798 + 0.085906808 0.007038029 0.010488847 0.010220347 0.014180797 APC Point Charges: - -1.528276314 0.389813772 0.380247600 0.380646254 0.377568689 + -1.528276296 0.389813767 0.380247595 0.380646249 0.377568684 charge analysis on each atom @@ -1216,22 +1217,22 @@ mu = ( 0.0018 -0.0121 -0.0176 ) au ----------------- cputime in seconds - prologue : 4.416e-01 - main loop : 8.849e+00 - epilogue : 1.055e-01 - total : 9.396e+00 - cputime/step: 1.212e-01 ( 73 evaluations, 23 linesearches) + prologue : 4.353e-01 + main loop : 9.961e+00 + epilogue : 1.226e-01 + total : 1.052e+01 + cputime/step: 1.364e-01 ( 73 evaluations, 23 linesearches) Time spent doing total step percent - total time 4.761673e+01 6.522840e-01 100.00% - total FFT time 1.783951e+01 2.443769e-01 37.46% - lagrange multipliers 7.489317e-03 1.025934e-04 0.02% - local potentials 4.193141e-01 5.744029e-03 0.88% - non-local potentials 9.015404e-01 1.234987e-02 1.89% - ffm_dgemm 1.961643e-01 2.687183e-03 0.41% - fmf_dgemm 5.577137e-01 7.639914e-03 1.17% - m_diagonalize 3.102278e-03 4.249696e-05 0.01% - mmm_multiply 4.003660e-04 5.484466e-06 0.00% - SCVtrans 9.871140e-04 1.352211e-05 0.00% + total time 4.747262e+01 6.503098e-01 100.00% + total FFT time 1.409904e+01 1.931375e-01 29.70% + lagrange multipliers 1.506629e-02 2.063875e-04 0.03% + local potentials 2.250200e-01 3.082466e-03 0.47% + non-local potentials 1.034927e+00 1.417708e-02 2.18% + ffm_dgemm 3.267232e-01 4.475660e-03 0.69% + fmf_dgemm 2.866943e-01 3.927320e-03 0.60% + m_diagonalize 3.005182e-03 4.116688e-05 0.01% + mmm_multiply 3.852970e-04 5.278041e-06 0.00% + SCVtrans 1.084624e-03 1.485786e-05 0.00% - >>> job completed at Wed Feb 8 15:54:11 2023 <<< + >>> job completed at Fri Feb 24 15:35:38 2023 <<< diff --git a/examples/QUANTUM/NWChem/log.8Feb23.zeolite.qmmm.mpi.1 b/examples/QUANTUM/NWChem/log.24Feb23.zeolite.qmmm.mpi.1 similarity index 83% rename from examples/QUANTUM/NWChem/log.8Feb23.zeolite.qmmm.mpi.1 rename to examples/QUANTUM/NWChem/log.24Feb23.zeolite.qmmm.mpi.1 index a93c389066..cbb18d73a4 100644 --- a/examples/QUANTUM/NWChem/log.8Feb23.zeolite.qmmm.mpi.1 +++ b/examples/QUANTUM/NWChem/log.24Feb23.zeolite.qmmm.mpi.1 @@ -29,7 +29,7 @@ Finding 1-2 1-3 1-4 neighbors ... 3 = max # of 1-4 neighbors 4 = max # of special neighbors special bonds CPU = 0.000 seconds - read_data CPU = 0.003 seconds + read_data CPU = 0.011 seconds # MM atoms are Si,O # QM atoms are C,H @@ -132,24 +132,24 @@ run 2 Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule Per MPI rank memory allocation (min/avg/max) = 9.773 | 9.773 | 9.773 Mbytes Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long f_2 PotEng TotEng Press - 0 0 300 2.9471313 -106.25003 -1065.0377 -1171.2878 0 0 -198.98094 -1370.2687 -1367.3216 -636.94701 - 1 10.047862 299.91218 2.9462686 -106.24961 -1065.1058 -1171.3554 0 0 -198.90989 -1370.2653 -1367.3191 -659.48199 - 2 21.795158 299.81521 2.945316 -106.24919 -1065.1818 -1171.431 0 0 -198.83143 -1370.2624 -1367.3171 -684.54098 -Loop time of 21.7952 on 1 procs for 2 steps with 77 atoms + 0 0 300 2.9471313 -106.25003 -1065.0366 -1171.2866 0 0 -198.982 -1370.2686 -1367.3215 -636.5915 + 1 9.5176351 299.91213 2.9462681 -106.24961 -1065.1058 -1171.3554 0 0 -198.9099 -1370.2653 -1367.3191 -659.4799 + 2 19.118171 299.81516 2.9453155 -106.24919 -1065.1818 -1171.431 0 0 -198.83143 -1370.2624 -1367.3171 -684.54277 +Loop time of 19.1182 on 1 procs for 2 steps with 77 atoms -Performance: 0.001 ns/day, 30271.086 hours/ns, 0.092 timesteps/s, 7.066 atom-step/s +Performance: 0.001 ns/day, 26553.057 hours/ns, 0.105 timesteps/s, 8.055 atom-step/s 100.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.00029526 | 0.00029526 | 0.00029526 | 0.0 | 0.00 -Bond | 3.746e-06 | 3.746e-06 | 3.746e-06 | 0.0 | 0.00 +Pair | 0.00039501 | 0.00039501 | 0.00039501 | 0.0 | 0.00 +Bond | 3.707e-06 | 3.707e-06 | 3.707e-06 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 1.3152e-05 | 1.3152e-05 | 1.3152e-05 | 0.0 | 0.00 -Output | 5.9651e-05 | 5.9651e-05 | 5.9651e-05 | 0.0 | 0.00 -Modify | 21.795 | 21.795 | 21.795 | 0.0 |100.00 -Other | | 1.083e-05 | | | 0.00 +Comm | 1.4217e-05 | 1.4217e-05 | 1.4217e-05 | 0.0 | 0.00 +Output | 7.0836e-05 | 7.0836e-05 | 7.0836e-05 | 0.0 | 0.00 +Modify | 19.118 | 19.118 | 19.118 | 0.0 |100.00 +Other | | 1.073e-05 | | | 0.00 Nlocal: 77 ave 77 max 77 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -163,4 +163,4 @@ Ave neighs/atom = 40.857143 Ave special neighs/atom = 0 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:00:51 +Total wall time: 0:00:46 diff --git a/examples/QUANTUM/NWChem/log.8Feb23.zeolite.qmmm.plugin.8 b/examples/QUANTUM/NWChem/log.24Feb23.zeolite.qmmm.plugin.8 similarity index 84% rename from examples/QUANTUM/NWChem/log.8Feb23.zeolite.qmmm.plugin.8 rename to examples/QUANTUM/NWChem/log.24Feb23.zeolite.qmmm.plugin.8 index 0cef485c0b..e8934eda24 100644 --- a/examples/QUANTUM/NWChem/log.8Feb23.zeolite.qmmm.plugin.8 +++ b/examples/QUANTUM/NWChem/log.24Feb23.zeolite.qmmm.plugin.8 @@ -56,7 +56,7 @@ pair_coeff 1 2 buck 27029.419922 0.19385082 148.099091 pair_coeff 1 3 lj/cut 0.09087 3.613 pair_coeff 1 4 lj/cut 0.0344258 3.238 pair_coeff 2 3 lj/cut 0.1419429 3.1 -pair_coeff 2 4 lj/cut 0.035857762359063315 1.932779 # same as water dimer +pair_coeff 2 4 lj/cut 0.035857762359063315 1.932779 # same as water pair_coeff 3 3 lj/cut 0.0 3.4 pair_coeff 4 4 lj/cut 0.0 2.65 @@ -135,24 +135,24 @@ run 2 Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule Per MPI rank memory allocation (min/avg/max) = 9.612 | 9.612 | 9.612 Mbytes Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long f_2 PotEng TotEng Press - 0 0 300 2.9471313 -106.25003 -1065.0377 -1171.2878 0 0 -198.98094 -1370.2687 -1367.3216 -636.94701 - 1 10.663086 299.91218 2.9462686 -106.24961 -1065.1058 -1171.3554 0 0 -198.90989 -1370.2653 -1367.3191 -659.482 - 2 20.069001 299.81521 2.945316 -106.24919 -1065.1818 -1171.431 0 0 -198.83143 -1370.2624 -1367.3171 -684.54276 -Loop time of 20.069 on 8 procs for 2 steps with 77 atoms + 0 0 300 2.9471313 -106.25003 -1065.0366 -1171.2866 0 0 -198.982 -1370.2686 -1367.3215 -636.59012 + 1 8.8530796 299.91213 2.9462681 -106.24961 -1065.1058 -1171.3554 0 0 -198.9099 -1370.2653 -1367.3191 -659.4798 + 2 19.38784 299.81516 2.9453155 -106.24919 -1065.1818 -1171.431 0 0 -198.83143 -1370.2624 -1367.3171 -684.54277 +Loop time of 19.3879 on 8 procs for 2 steps with 77 atoms -Performance: 0.001 ns/day, 27873.676 hours/ns, 0.100 timesteps/s, 7.674 atom-step/s -97.7% CPU use with 8 MPI tasks x no OpenMP threads +Performance: 0.001 ns/day, 26927.617 hours/ns, 0.103 timesteps/s, 7.943 atom-step/s +97.2% CPU use with 8 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 3.7853e-05 | 7.1816e-05 | 0.00015043 | 0.0 | 0.00 -Bond | 2.509e-06 | 3.1355e-06 | 4.813e-06 | 0.0 | 0.00 +Pair | 4.0782e-05 | 7.3511e-05 | 0.00014727 | 0.0 | 0.00 +Bond | 2.187e-06 | 2.916e-06 | 3.961e-06 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 7.6476e-05 | 0.00015375 | 0.00018447 | 0.0 | 0.00 -Output | 8.3258e-05 | 8.9853e-05 | 0.00010303 | 0.0 | 0.00 -Modify | 20.069 | 20.069 | 20.069 | 0.0 |100.00 -Other | | 4.15e-05 | | | 0.00 +Comm | 7.767e-05 | 0.00015066 | 0.000182 | 0.0 | 0.00 +Output | 8.065e-05 | 8.458e-05 | 0.00010015 | 0.0 | 0.00 +Modify | 19.388 | 19.388 | 19.388 | 0.0 |100.00 +Other | | 4.056e-05 | | | 0.00 Nlocal: 9.625 ave 20 max 3 min Histogram: 1 2 1 0 1 2 0 0 0 1 diff --git a/examples/QUANTUM/NWChem/log.8Feb23.series.pwdft.mpi.1 b/examples/QUANTUM/NWChem/log.8Feb23.series.pwdft.mpi.1 deleted file mode 100644 index 90e2458ed3..0000000000 --- a/examples/QUANTUM/NWChem/log.8Feb23.series.pwdft.mpi.1 +++ /dev/null @@ -1,725 +0,0 @@ - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Wed Feb 8 15:54:30 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - writing formatted psp filename: ./W.vpp - generating random psi from scratch - Warning - Gram-Schmidt being performed on psi2 - - exact norm = 12 norm=12.4399 corrected norm=12 (error=0.439878) - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 1 - processor grid : 1 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: W valence charge = 6.0 lmax =2 - comment = Troullier-Martins pseudopotential - pseudopotential type = 0 - highest angular component = 2 - local potential used = 0 - number of non-local projections = 8 - semicore corrections inlcuded = 1.800 (radius) 4.532 (charge) - cutoff = 2.389 3.185 2.244 - - total charge = 0.000 - - atom composition: - W : 2 - - initial ion positions (au): - 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 - 2 W ( 2.99088 2.99088 2.99088 ) - atomic mass = 183.951 - G.C. ( 1.49544 1.49544 1.49544 ) - C.O.M. ( 1.49544 1.49544 1.49544 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 6 ( 6 per task) down = 6 ( 6 per task) - - supercell: - volume = 214.04 - lattice: a1 = < 5.982 0.000 0.000 > - a2 = < 0.000 5.982 0.000 > - a3 = < 0.000 0.000 5.982 > - reciprocal: b1 = < 1.050 0.000 0.000 > - b2 = < 0.000 1.050 0.000 > - b3 = < 0.000 0.000 1.050 > - lattice: a = 5.982 b = 5.982 c = 5.982 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 10.000 fft = 10 x 10 x 10 ( 171 waves 171 per task) - wavefnc cutoff = 5.000 fft = 10 x 10 x 10 ( 62 waves 62 per task) - - Ewald parameters: - energy cutoff = 10.000 fft = 10 x 10 x 10 ( 171 waves 171 per task) - Ewald summation: cut radius = 1.904 and 1 - Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 3.71078182) - - technical parameters: - fixed step: time step = 5.80 ficticious mass = 400000.00 - tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Wed Feb 8 15:54:30 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - - 10 steepest descent iterations performed - 10 -1.708816420389e+01 -2.241680e-01 2.492794e-03 - 20 -1.905311322397e+01 -1.075101e-01 9.399452e-04 - 30 -1.958772952424e+01 -4.100623e-02 3.486639e-04 - 40 -1.998528675502e+01 -3.159736e-02 2.833077e-04 - 50 -2.015674839165e+01 -1.012189e-03 3.920512e-05 - 60 -2.015924714018e+01 -9.524059e-05 3.548660e-05 - 70 -2.015944170667e+01 -1.607819e-05 5.414864e-06 - 80 -2.015946503285e+01 -8.423156e-07 1.645114e-07 - 90 -2.015946835363e+01 -1.954822e-07 3.754719e-08 - 100 -2.015946869692e+01 -9.810346e-08 4.474449e-09 - *** tolerance ok. iteration terminated - >>> iteration ended at Wed Feb 8 15:54:31 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 5.00000 down= 5.00000 (real space) - - - total energy : -2.0159468697e+01 ( -1.00797e+01 /ion) - total orbital energy: 5.1058644255e+00 ( 8.50977e-01 /electron) - hartree energy : 8.5016689728e-02 ( 1.41694e-02 /electron) - exc-corr energy : -8.1926599847e+00 ( -1.36544e+00 /electron) - ion-ion energy : -2.1902017710e+01 ( -1.09510e+01 /ion) - - kinetic (planewave) : 9.2934723839e+00 ( 1.54891e+00 /electron) - V_local (planewave) : 8.1075657962e+00 ( 1.35126e+00 /electron) - V_nl (planewave) : -7.5508458716e+00 ( -1.25847e+00 /electron) - V_Coul (planewave) : 1.7003337946e-01 ( 2.83389e-02 /electron) - V_xc (planewave) : -4.9143612625e+00 ( -8.19060e-01 /electron) - Viral Coefficient : -4.5059669684e-01 - - orbital energy: - 6.7894851e-01 ( 18.475eV) - 6.7894804e-01 ( 18.475eV) - 4.7881075e-01 ( 13.029eV) - 4.6795217e-01 ( 12.734eV) - 2.4827275e-01 ( 6.756eV) - 1.2228165e-09 ( 0.000eV) - -== Center of Charge == - -spin up = ( -0.0000 0.0000 -0.0000 ) -spin down = ( -0.0000 0.0000 -0.0000 ) - total = ( -0.0000 0.0000 -0.0000 ) -ionic = ( 1.4954 1.4954 1.4954 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( 17.9453 17.9452 17.9453 ) au -|mu| = 31.0821 au ( 78.9982 Debye ) - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 2.907e-02 - main loop : 1.004e-01 - epilogue : 1.870e-04 - total : 1.297e-01 - cputime/step: 3.304e-04 ( 304 evaluations, 93 linesearches) - - Time spent doing total step percent - total time 1.322631e-01 4.350761e-04 100.00% - total FFT time 4.995464e-02 1.643245e-04 37.77% - lagrange multipliers 5.076800e-05 1.670000e-07 0.04% - local potentials 3.725000e-06 1.225329e-08 0.00% - non-local potentials 1.856634e-03 6.107349e-06 1.40% - ffm_dgemm 6.068270e-04 1.996141e-06 0.46% - fmf_dgemm 1.002816e-03 3.298737e-06 0.76% - m_diagonalize 3.252760e-04 1.069987e-06 0.25% - mmm_multiply 8.684300e-05 2.856678e-07 0.07% - SCVtrans 6.873300e-05 2.260954e-07 0.05% - - >>> job completed at Wed Feb 8 15:54:31 2023 <<< - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Wed Feb 8 15:54:31 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - writing formatted psp filename: ./W.vpp - psi grids are being converted: - -----------------------------: - converting .... psi:1 spin:1 - converting .... psi:2 spin:1 - converting .... psi:3 spin:1 - converting .... psi:4 spin:1 - converting .... psi:5 spin:1 - converting .... psi:6 spin:1 - - input psi exists, reading from file: ./nwchemex.movecs - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 1 - processor grid : 1 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: W valence charge = 6.0 lmax =2 - comment = Troullier-Martins pseudopotential - pseudopotential type = 0 - highest angular component = 2 - local potential used = 0 - number of non-local projections = 8 - semicore corrections inlcuded = 1.800 (radius) 4.536 (charge) - cutoff = 2.389 3.185 2.244 - - total charge = 0.000 - - atom composition: - W : 2 - - initial ion positions (au): - 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 - 2 W ( 2.99088 2.99088 2.99088 ) - atomic mass = 183.951 - G.C. ( 1.49544 1.49544 1.49544 ) - C.O.M. ( 1.49544 1.49544 1.49544 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 6 ( 6 per task) down = 6 ( 6 per task) - - supercell: - volume = 214.04 - lattice: a1 = < 5.982 0.000 0.000 > - a2 = < 0.000 5.982 0.000 > - a3 = < 0.000 0.000 5.982 > - reciprocal: b1 = < 1.050 0.000 0.000 > - b2 = < 0.000 1.050 0.000 > - b3 = < 0.000 0.000 1.050 > - lattice: a = 5.982 b = 5.982 c = 5.982 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 20.000 fft = 14 x 14 x 14 ( 463 waves 463 per task) - wavefnc cutoff = 10.000 fft = 14 x 14 x 14 ( 171 waves 171 per task) - - Ewald parameters: - energy cutoff = 20.000 fft = 14 x 14 x 14 ( 463 waves 463 per task) - Ewald summation: cut radius = 1.904 and 1 - Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 3.71078182) - - technical parameters: - fixed step: time step = 5.80 ficticious mass = 400000.00 - tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Wed Feb 8 15:54:31 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - - 10 steepest descent iterations performed - 10 -2.123852173470e+01 -1.701822e-06 1.823996e-08 - 20 -2.123852523532e+01 -1.768295e-08 1.488081e-10 - *** tolerance ok. iteration terminated - >>> iteration ended at Wed Feb 8 15:54:31 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 5.00000 down= 5.00000 (real space) - - - total energy : -2.1238525235e+01 ( -1.06193e+01 /ion) - total orbital energy: 4.1856287995e+00 ( 6.97605e-01 /electron) - hartree energy : 1.8249301478e-01 ( 3.04155e-02 /electron) - exc-corr energy : -8.4273499426e+00 ( -1.40456e+00 /electron) - ion-ion energy : -2.1902017722e+01 ( -1.09510e+01 /ion) - - kinetic (planewave) : 1.1347791251e+01 ( 1.89130e+00 /electron) - V_local (planewave) : 9.5182220550e+00 ( 1.58637e+00 /electron) - V_nl (planewave) : -1.1957663891e+01 ( -1.99294e+00 /electron) - V_Coul (planewave) : 3.6498602956e-01 ( 6.08310e-02 /electron) - V_xc (planewave) : -5.0877066444e+00 ( -8.47951e-01 /electron) - Viral Coefficient : -6.3115035278e-01 - - orbital energy: - 5.4500741e-01 ( 14.831eV) - 5.4500728e-01 ( 14.831eV) - 3.8896747e-01 ( 10.584eV) - 3.7572955e-01 ( 10.224eV) - 2.3810268e-01 ( 6.479eV) - -1.0451709e-16 ( -0.000eV) - -== Center of Charge == - -spin up = ( -0.0000 -0.0000 -0.0000 ) -spin down = ( -0.0000 -0.0000 -0.0000 ) - total = ( -0.0000 -0.0000 -0.0000 ) -ionic = ( 1.4954 1.4954 1.4954 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( 17.9453 17.9453 17.9453 ) au -|mu| = 31.0821 au ( 78.9982 Debye ) - - - Ion Forces (au): - 1 W ( -0.00000 0.00000 0.00000 ) - 2 W ( -0.00000 -0.00000 0.00000 ) - - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 3.769e-02 - main loop : 7.563e-02 - epilogue : 6.960e-04 - total : 1.140e-01 - cputime/step: 1.260e-03 ( 60 evaluations, 16 linesearches) - - Time spent doing total step percent - total time 2.465272e-01 4.108787e-03 100.00% - total FFT time 9.983296e-02 1.663883e-03 40.50% - lagrange multipliers 1.398700e-04 2.331167e-06 0.06% - local potentials 1.354200e-05 2.257000e-07 0.01% - non-local potentials 2.966487e-03 4.944145e-05 1.20% - ffm_dgemm 8.991500e-04 1.498583e-05 0.36% - fmf_dgemm 1.509976e-03 2.516627e-05 0.61% - m_diagonalize 4.034020e-04 6.723367e-06 0.16% - mmm_multiply 1.026590e-04 1.710983e-06 0.04% - SCVtrans 8.243300e-05 1.373883e-06 0.03% - - >>> job completed at Wed Feb 8 15:54:31 2023 <<< - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Wed Feb 8 15:54:31 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - writing formatted psp filename: ./W.vpp - generating random psi from scratch - Warning - Gram-Schmidt being performed on psi2 - - exact norm = 24 norm=24.6534 corrected norm=24 (error=0.65341) - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 1 - processor grid : 1 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: W valence charge = 6.0 lmax =2 - comment = Troullier-Martins pseudopotential - pseudopotential type = 0 - highest angular component = 2 - local potential used = 0 - number of non-local projections = 8 - semicore corrections inlcuded = 1.800 (radius) 4.591 (charge) - cutoff = 2.389 3.185 2.244 - - total charge = 0.000 - - atom composition: - W : 4 - - initial ion positions (au): - 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 - 2 W ( 2.66457 0.00000 1.88413 ) - atomic mass = 183.951 - 3 W ( 2.66457 2.66457 3.76827 ) - atomic mass = 183.951 - 4 W ( 0.00000 2.66457 5.65240 ) - atomic mass = 183.951 - G.C. ( 1.33228 1.33228 2.82620 ) - C.O.M. ( 1.33228 1.33228 2.82620 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 12 ( 12 per task) down = 12 ( 12 per task) - - supercell: - volume = 214.04 - lattice: a1 = < 5.329 0.000 0.000 > - a2 = < 0.000 5.329 0.000 > - a3 = < 0.000 0.000 7.537 > - reciprocal: b1 = < 1.179 0.000 0.000 > - b2 = < 0.000 1.179 0.000 > - b3 = < 0.000 0.000 0.834 > - lattice: a = 5.329 b = 5.329 c = 7.537 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 10.000 fft = 10 x 10 x 12 ( 160 waves 160 per task) - wavefnc cutoff = 5.000 fft = 10 x 10 x 12 ( 62 waves 62 per task) - - Ewald parameters: - energy cutoff = 10.000 fft = 10 x 10 x 12 ( 160 waves 160 per task) - Ewald summation: cut radius = 1.696 and 1 - Mandelung Wigner-Seitz = 1.68382487 (alpha = 2.71431215 rs = 3.71078182) - - technical parameters: - fixed step: time step = 5.80 ficticious mass = 400000.00 - tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Wed Feb 8 15:54:31 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - - 10 steepest descent iterations performed - 10 -3.263325288087e+01 -2.370052e-01 2.755915e-03 - 20 -3.342232241827e+01 -5.863540e-02 2.971603e-04 - 30 -3.391324997303e+01 -3.187197e-02 1.546984e-04 - 40 -3.413597312443e+01 -2.155176e-02 1.238590e-04 - 50 -3.438373510198e+01 -2.450980e-02 1.027256e-04 - 60 -3.455017548679e+01 -9.891297e-03 4.618600e-05 - 70 -3.464713762751e+01 -1.297081e-03 6.690651e-05 - 80 -3.465330146645e+01 -8.056294e-04 7.652741e-04 - 90 -3.466599502278e+01 -8.084057e-04 1.644931e-04 - 100 -3.466738274142e+01 -4.655569e-05 6.208520e-06 - 110 -3.466755259026e+01 -6.106702e-06 9.485566e-07 - 120 -3.466757480938e+01 -5.729432e-07 6.423950e-08 - 130 -3.466757780500e+01 -9.928726e-08 1.501512e-08 - *** tolerance ok. iteration terminated - >>> iteration ended at Wed Feb 8 15:54:31 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 11.00000 down= 11.00000 (real space) - - - total energy : -3.4667577805e+01 ( -8.66689e+00 /ion) - total orbital energy: 2.4064172121e+01 ( 2.00535e+00 /electron) - hartree energy : 6.5304190697e-01 ( 5.44202e-02 /electron) - exc-corr energy : -2.0726372095e+01 ( -1.72720e+00 /electron) - ion-ion energy : -5.1462578555e+01 ( -1.28656e+01 /ion) - - kinetic (planewave) : 3.2744878583e+01 ( 2.72874e+00 /electron) - V_local (planewave) : 3.5170322604e+01 ( 2.93086e+00 /electron) - V_nl (planewave) : -3.1046870249e+01 ( -2.58724e+00 /electron) - V_Coul (planewave) : 1.3060838139e+00 ( 1.08840e-01 /electron) - V_xc (planewave) : -1.4110242631e+01 ( -1.17585e+00 /electron) - Viral Coefficient : -2.6510119560e-01 - - orbital energy: - 1.4424311e+00 ( 39.251eV) - 1.2160817e+00 ( 33.092eV) - 1.2090712e+00 ( 32.901eV) - 1.2054584e+00 ( 32.802eV) - 1.1963001e+00 ( 32.553eV) - 1.1954706e+00 ( 32.531eV) - 9.9977937e-01 ( 27.206eV) - 9.9502181e-01 ( 27.076eV) - 8.8723317e-01 ( 24.143eV) - 8.8678761e-01 ( 24.131eV) - 7.9845106e-01 ( 21.727eV) - 4.8910438e-09 ( 0.000eV) - -== Center of Charge == - -spin up = ( -0.0000 -0.0000 -0.0252 ) -spin down = ( -0.0000 -0.0000 -0.0252 ) - total = ( -0.0000 -0.0000 -0.0252 ) -ionic = ( 1.3323 1.3323 2.8262 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( 31.9757 31.9749 68.4348 ) au -|mu| = 82.0253 au ( 208.4756 Debye ) - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 3.574e-02 - main loop : 2.296e-01 - epilogue : 2.510e-04 - total : 2.656e-01 - cputime/step: 5.506e-04 ( 417 evaluations, 130 linesearches) - - Time spent doing total step percent - total time 5.140170e-01 1.232655e-03 100.00% - total FFT time 2.234995e-01 5.359700e-04 43.48% - lagrange multipliers 3.276480e-04 7.857266e-07 0.06% - local potentials 1.836000e-05 4.402878e-08 0.00% - non-local potentials 1.061595e-02 2.545792e-05 2.07% - ffm_dgemm 3.946196e-03 9.463300e-06 0.77% - fmf_dgemm 6.759673e-03 1.621025e-05 1.32% - m_diagonalize 2.016443e-03 4.835595e-06 0.39% - mmm_multiply 4.805990e-04 1.152516e-06 0.09% - SCVtrans 2.609230e-04 6.257146e-07 0.05% - - >>> job completed at Wed Feb 8 15:54:31 2023 <<< - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Wed Feb 8 15:54:31 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - writing formatted psp filename: ./W.vpp - psi grids are being converted: - -----------------------------: - converting .... psi:1 spin:1 - converting .... psi:2 spin:1 - converting .... psi:3 spin:1 - converting .... psi:4 spin:1 - converting .... psi:5 spin:1 - converting .... psi:6 spin:1 - converting .... psi:7 spin:1 - converting .... psi:8 spin:1 - converting .... psi:9 spin:1 - converting .... psi:10 spin:1 - converting .... psi:11 spin:1 - converting .... psi:12 spin:1 - - input psi exists, reading from file: ./nwchemex.movecs - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 1 - processor grid : 1 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: W valence charge = 6.0 lmax =2 - comment = Troullier-Martins pseudopotential - pseudopotential type = 0 - highest angular component = 2 - local potential used = 0 - number of non-local projections = 8 - semicore corrections inlcuded = 1.800 (radius) 4.595 (charge) - cutoff = 2.389 3.185 2.244 - - total charge = 0.000 - - atom composition: - W : 4 - - initial ion positions (au): - 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 - 2 W ( 2.66457 0.00000 1.88413 ) - atomic mass = 183.951 - 3 W ( 2.66457 2.66457 3.76827 ) - atomic mass = 183.951 - 4 W ( 0.00000 2.66457 5.65240 ) - atomic mass = 183.951 - G.C. ( 1.33228 1.33228 2.82620 ) - C.O.M. ( 1.33228 1.33228 2.82620 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 12 ( 12 per task) down = 12 ( 12 per task) - - supercell: - volume = 214.04 - lattice: a1 = < 5.329 0.000 0.000 > - a2 = < 0.000 5.329 0.000 > - a3 = < 0.000 0.000 7.537 > - reciprocal: b1 = < 1.179 0.000 0.000 > - b2 = < 0.000 1.179 0.000 > - b3 = < 0.000 0.000 0.834 > - lattice: a = 5.329 b = 5.329 c = 7.537 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 20.000 fft = 12 x 12 x 16 ( 460 waves 460 per task) - wavefnc cutoff = 10.000 fft = 12 x 12 x 16 ( 160 waves 160 per task) - - Ewald parameters: - energy cutoff = 20.000 fft = 12 x 12 x 16 ( 460 waves 460 per task) - Ewald summation: cut radius = 1.696 and 1 - Mandelung Wigner-Seitz = 1.68382487 (alpha = 2.71431215 rs = 3.71078182) - - technical parameters: - fixed step: time step = 5.80 ficticious mass = 400000.00 - tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Wed Feb 8 15:54:31 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - - 10 steepest descent iterations performed - 10 -3.869390116272e+01 -6.903668e-05 1.222538e-06 - 20 -3.869394600954e+01 -2.584005e-08 7.565630e-10 - *** tolerance ok. iteration terminated - >>> iteration ended at Wed Feb 8 15:54:31 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 11.00000 down= 11.00000 (real space) - - - total energy : -3.8693946010e+01 ( -9.67349e+00 /ion) - total orbital energy: 2.0571849938e+01 ( 1.71432e+00 /electron) - hartree energy : 1.0464327958e+00 ( 8.72027e-02 /electron) - exc-corr energy : -2.1151466566e+01 ( -1.76262e+00 /electron) - ion-ion energy : -5.1462581523e+01 ( -1.28656e+01 /ion) - - kinetic (planewave) : 3.7980397820e+01 ( 3.16503e+00 /electron) - V_local (planewave) : 3.8936852411e+01 ( 3.24474e+00 /electron) - V_nl (planewave) : -4.4043580948e+01 ( -3.67030e+00 /electron) - V_Coul (planewave) : 2.0928655917e+00 ( 1.74405e-01 /electron) - V_xc (planewave) : -1.4394684937e+01 ( -1.19956e+00 /electron) - Viral Coefficient : -4.5835612267e-01 - - orbital energy: - 1.2624273e+00 ( 34.353eV) - 1.0588423e+00 ( 28.813eV) - 1.0519217e+00 ( 28.624eV) - 1.0510387e+00 ( 28.600eV) - 1.0124484e+00 ( 27.550eV) - 1.0116561e+00 ( 27.529eV) - 7.9997475e-01 ( 21.769eV) - 7.9985716e-01 ( 21.765eV) - 7.5624184e-01 ( 20.579eV) - 7.4126320e-01 ( 20.171eV) - 7.4025353e-01 ( 20.143eV) - 1.6826541e-12 ( 0.000eV) - -== Center of Charge == - -spin up = ( -0.0000 -0.0000 -0.0237 ) -spin down = ( -0.0000 -0.0000 -0.0237 ) - total = ( -0.0000 -0.0000 -0.0237 ) -ionic = ( 1.3323 1.3323 2.8262 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( 31.9750 31.9748 68.3970 ) au -|mu| = 81.9935 au ( 208.3948 Debye ) - - - Ion Forces (au): - 1 W ( -0.00005 -0.00003 0.52530 ) - 2 W ( 0.00004 0.00003 -0.52538 ) - 3 W ( 0.00004 0.00002 0.52530 ) - 4 W ( -0.00005 -0.00002 -0.52538 ) - - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 4.245e-02 - main loop : 6.749e-02 - epilogue : 8.180e-04 - total : 1.108e-01 - cputime/step: 1.007e-03 ( 67 evaluations, 18 linesearches) - - Time spent doing total step percent - total time 6.250279e-01 9.328775e-03 100.00% - total FFT time 2.586332e-01 3.860197e-03 41.38% - lagrange multipliers 6.249210e-04 9.327179e-06 0.10% - local potentials 3.540200e-05 5.283881e-07 0.01% - non-local potentials 1.400041e-02 2.089614e-04 2.24% - ffm_dgemm 5.165183e-03 7.709228e-05 0.83% - fmf_dgemm 8.843997e-03 1.320000e-04 1.41% - m_diagonalize 2.293617e-03 3.423309e-05 0.37% - mmm_multiply 5.365630e-04 8.008403e-06 0.09% - SCVtrans 2.880560e-04 4.299343e-06 0.05% - - >>> job completed at Wed Feb 8 15:54:31 2023 <<< diff --git a/examples/QUANTUM/NWChem/log.8Feb23.series.pwdft.plugin.1 b/examples/QUANTUM/NWChem/log.8Feb23.series.pwdft.plugin.1 deleted file mode 100644 index 54edf864b0..0000000000 --- a/examples/QUANTUM/NWChem/log.8Feb23.series.pwdft.plugin.1 +++ /dev/null @@ -1,725 +0,0 @@ - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Wed Feb 8 15:50:51 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - writing formatted psp filename: ./W.vpp - generating random psi from scratch - Warning - Gram-Schmidt being performed on psi2 - - exact norm = 12 norm=12.4399 corrected norm=12 (error=0.439878) - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 1 - processor grid : 1 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: W valence charge = 6.0 lmax =2 - comment = Troullier-Martins pseudopotential - pseudopotential type = 0 - highest angular component = 2 - local potential used = 0 - number of non-local projections = 8 - semicore corrections inlcuded = 1.800 (radius) 4.532 (charge) - cutoff = 2.389 3.185 2.244 - - total charge = 0.000 - - atom composition: - W : 2 - - initial ion positions (au): - 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 - 2 W ( 2.99088 2.99088 2.99088 ) - atomic mass = 183.951 - G.C. ( 1.49544 1.49544 1.49544 ) - C.O.M. ( 1.49544 1.49544 1.49544 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 6 ( 6 per task) down = 6 ( 6 per task) - - supercell: - volume = 214.04 - lattice: a1 = < 5.982 0.000 0.000 > - a2 = < 0.000 5.982 0.000 > - a3 = < 0.000 0.000 5.982 > - reciprocal: b1 = < 1.050 0.000 0.000 > - b2 = < 0.000 1.050 0.000 > - b3 = < 0.000 0.000 1.050 > - lattice: a = 5.982 b = 5.982 c = 5.982 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 10.000 fft = 10 x 10 x 10 ( 171 waves 171 per task) - wavefnc cutoff = 5.000 fft = 10 x 10 x 10 ( 62 waves 62 per task) - - Ewald parameters: - energy cutoff = 10.000 fft = 10 x 10 x 10 ( 171 waves 171 per task) - Ewald summation: cut radius = 1.904 and 1 - Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 3.71078182) - - technical parameters: - fixed step: time step = 5.80 ficticious mass = 400000.00 - tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Wed Feb 8 15:50:51 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - - 10 steepest descent iterations performed - 10 -1.708816420389e+01 -2.241680e-01 2.492794e-03 - 20 -1.905311322397e+01 -1.075101e-01 9.399452e-04 - 30 -1.958772952424e+01 -4.100623e-02 3.486639e-04 - 40 -1.998528675502e+01 -3.159736e-02 2.833077e-04 - 50 -2.015674839165e+01 -1.012189e-03 3.920512e-05 - 60 -2.015924714018e+01 -9.524059e-05 3.548660e-05 - 70 -2.015944170667e+01 -1.607819e-05 5.414864e-06 - 80 -2.015946503285e+01 -8.423156e-07 1.645114e-07 - 90 -2.015946835363e+01 -1.954822e-07 3.754719e-08 - 100 -2.015946869692e+01 -9.810346e-08 4.474449e-09 - *** tolerance ok. iteration terminated - >>> iteration ended at Wed Feb 8 15:50:51 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 5.00000 down= 5.00000 (real space) - - - total energy : -2.0159468697e+01 ( -1.00797e+01 /ion) - total orbital energy: 5.1058644255e+00 ( 8.50977e-01 /electron) - hartree energy : 8.5016689728e-02 ( 1.41694e-02 /electron) - exc-corr energy : -8.1926599847e+00 ( -1.36544e+00 /electron) - ion-ion energy : -2.1902017710e+01 ( -1.09510e+01 /ion) - - kinetic (planewave) : 9.2934723839e+00 ( 1.54891e+00 /electron) - V_local (planewave) : 8.1075657962e+00 ( 1.35126e+00 /electron) - V_nl (planewave) : -7.5508458716e+00 ( -1.25847e+00 /electron) - V_Coul (planewave) : 1.7003337946e-01 ( 2.83389e-02 /electron) - V_xc (planewave) : -4.9143612625e+00 ( -8.19060e-01 /electron) - Viral Coefficient : -4.5059669684e-01 - - orbital energy: - 6.7894851e-01 ( 18.475eV) - 6.7894804e-01 ( 18.475eV) - 4.7881075e-01 ( 13.029eV) - 4.6795217e-01 ( 12.734eV) - 2.4827275e-01 ( 6.756eV) - 1.2228165e-09 ( 0.000eV) - -== Center of Charge == - -spin up = ( -0.0000 0.0000 -0.0000 ) -spin down = ( -0.0000 0.0000 -0.0000 ) - total = ( -0.0000 0.0000 -0.0000 ) -ionic = ( 1.4954 1.4954 1.4954 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( 17.9453 17.9452 17.9453 ) au -|mu| = 31.0821 au ( 78.9982 Debye ) - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 3.177e-01 - main loop : 9.053e-02 - epilogue : 3.190e-04 - total : 4.086e-01 - cputime/step: 2.978e-04 ( 304 evaluations, 93 linesearches) - - Time spent doing total step percent - total time 1.350798e-01 4.443414e-04 100.00% - total FFT time 4.500482e-02 1.480422e-04 33.32% - lagrange multipliers 4.477900e-05 1.472993e-07 0.03% - local potentials 2.774000e-06 9.125000e-09 0.00% - non-local potentials 1.656622e-03 5.449414e-06 1.23% - ffm_dgemm 5.521080e-04 1.816145e-06 0.41% - fmf_dgemm 8.953870e-04 2.945352e-06 0.66% - m_diagonalize 3.079610e-04 1.013030e-06 0.23% - mmm_multiply 7.758400e-05 2.552105e-07 0.06% - SCVtrans 6.425500e-05 2.113651e-07 0.05% - - >>> job completed at Wed Feb 8 15:50:51 2023 <<< - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Wed Feb 8 15:50:51 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - writing formatted psp filename: ./W.vpp - psi grids are being converted: - -----------------------------: - converting .... psi:1 spin:1 - converting .... psi:2 spin:1 - converting .... psi:3 spin:1 - converting .... psi:4 spin:1 - converting .... psi:5 spin:1 - converting .... psi:6 spin:1 - - input psi exists, reading from file: ./nwchemex.movecs - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 1 - processor grid : 1 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: W valence charge = 6.0 lmax =2 - comment = Troullier-Martins pseudopotential - pseudopotential type = 0 - highest angular component = 2 - local potential used = 0 - number of non-local projections = 8 - semicore corrections inlcuded = 1.800 (radius) 4.536 (charge) - cutoff = 2.389 3.185 2.244 - - total charge = 0.000 - - atom composition: - W : 2 - - initial ion positions (au): - 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 - 2 W ( 2.99088 2.99088 2.99088 ) - atomic mass = 183.951 - G.C. ( 1.49544 1.49544 1.49544 ) - C.O.M. ( 1.49544 1.49544 1.49544 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 6 ( 6 per task) down = 6 ( 6 per task) - - supercell: - volume = 214.04 - lattice: a1 = < 5.982 0.000 0.000 > - a2 = < 0.000 5.982 0.000 > - a3 = < 0.000 0.000 5.982 > - reciprocal: b1 = < 1.050 0.000 0.000 > - b2 = < 0.000 1.050 0.000 > - b3 = < 0.000 0.000 1.050 > - lattice: a = 5.982 b = 5.982 c = 5.982 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 20.000 fft = 14 x 14 x 14 ( 463 waves 463 per task) - wavefnc cutoff = 10.000 fft = 14 x 14 x 14 ( 171 waves 171 per task) - - Ewald parameters: - energy cutoff = 20.000 fft = 14 x 14 x 14 ( 463 waves 463 per task) - Ewald summation: cut radius = 1.904 and 1 - Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 3.71078182) - - technical parameters: - fixed step: time step = 5.80 ficticious mass = 400000.00 - tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Wed Feb 8 15:50:51 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - - 10 steepest descent iterations performed - 10 -2.123852173470e+01 -1.701822e-06 1.823996e-08 - 20 -2.123852523532e+01 -1.768295e-08 1.488081e-10 - *** tolerance ok. iteration terminated - >>> iteration ended at Wed Feb 8 15:50:51 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 5.00000 down= 5.00000 (real space) - - - total energy : -2.1238525235e+01 ( -1.06193e+01 /ion) - total orbital energy: 4.1856287995e+00 ( 6.97605e-01 /electron) - hartree energy : 1.8249301478e-01 ( 3.04155e-02 /electron) - exc-corr energy : -8.4273499426e+00 ( -1.40456e+00 /electron) - ion-ion energy : -2.1902017722e+01 ( -1.09510e+01 /ion) - - kinetic (planewave) : 1.1347791251e+01 ( 1.89130e+00 /electron) - V_local (planewave) : 9.5182220550e+00 ( 1.58637e+00 /electron) - V_nl (planewave) : -1.1957663891e+01 ( -1.99294e+00 /electron) - V_Coul (planewave) : 3.6498602956e-01 ( 6.08310e-02 /electron) - V_xc (planewave) : -5.0877066444e+00 ( -8.47951e-01 /electron) - Viral Coefficient : -6.3115035278e-01 - - orbital energy: - 5.4500741e-01 ( 14.831eV) - 5.4500728e-01 ( 14.831eV) - 3.8896747e-01 ( 10.584eV) - 3.7572955e-01 ( 10.224eV) - 2.3810268e-01 ( 6.479eV) - -1.0451709e-16 ( -0.000eV) - -== Center of Charge == - -spin up = ( -0.0000 -0.0000 -0.0000 ) -spin down = ( -0.0000 -0.0000 -0.0000 ) - total = ( -0.0000 -0.0000 -0.0000 ) -ionic = ( 1.4954 1.4954 1.4954 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( 17.9453 17.9453 17.9453 ) au -|mu| = 31.0821 au ( 78.9982 Debye ) - - - Ion Forces (au): - 1 W ( -0.00000 0.00000 0.00000 ) - 2 W ( -0.00000 -0.00000 0.00000 ) - - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 3.265e-02 - main loop : 6.849e-02 - epilogue : 6.800e-04 - total : 1.018e-01 - cputime/step: 1.142e-03 ( 60 evaluations, 16 linesearches) - - Time spent doing total step percent - total time 2.371587e-01 3.952646e-03 100.00% - total FFT time 9.016565e-02 1.502761e-03 38.02% - lagrange multipliers 1.203740e-04 2.006233e-06 0.05% - local potentials 1.235200e-05 2.058667e-07 0.01% - non-local potentials 2.684057e-03 4.473428e-05 1.13% - ffm_dgemm 8.151720e-04 1.358620e-05 0.34% - fmf_dgemm 1.364254e-03 2.273757e-05 0.58% - m_diagonalize 3.855290e-04 6.425483e-06 0.16% - mmm_multiply 9.124900e-05 1.520817e-06 0.04% - SCVtrans 7.666300e-05 1.277717e-06 0.03% - - >>> job completed at Wed Feb 8 15:50:51 2023 <<< - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Wed Feb 8 15:50:51 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - writing formatted psp filename: ./W.vpp - generating random psi from scratch - Warning - Gram-Schmidt being performed on psi2 - - exact norm = 24 norm=24.6534 corrected norm=24 (error=0.65341) - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 1 - processor grid : 1 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: W valence charge = 6.0 lmax =2 - comment = Troullier-Martins pseudopotential - pseudopotential type = 0 - highest angular component = 2 - local potential used = 0 - number of non-local projections = 8 - semicore corrections inlcuded = 1.800 (radius) 4.591 (charge) - cutoff = 2.389 3.185 2.244 - - total charge = 0.000 - - atom composition: - W : 4 - - initial ion positions (au): - 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 - 2 W ( 2.66457 0.00000 1.88413 ) - atomic mass = 183.951 - 3 W ( 2.66457 2.66457 3.76827 ) - atomic mass = 183.951 - 4 W ( 0.00000 2.66457 5.65240 ) - atomic mass = 183.951 - G.C. ( 1.33228 1.33228 2.82620 ) - C.O.M. ( 1.33228 1.33228 2.82620 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 12 ( 12 per task) down = 12 ( 12 per task) - - supercell: - volume = 214.04 - lattice: a1 = < 5.329 0.000 0.000 > - a2 = < 0.000 5.329 0.000 > - a3 = < 0.000 0.000 7.537 > - reciprocal: b1 = < 1.179 0.000 0.000 > - b2 = < 0.000 1.179 0.000 > - b3 = < 0.000 0.000 0.834 > - lattice: a = 5.329 b = 5.329 c = 7.537 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 10.000 fft = 10 x 10 x 12 ( 160 waves 160 per task) - wavefnc cutoff = 5.000 fft = 10 x 10 x 12 ( 62 waves 62 per task) - - Ewald parameters: - energy cutoff = 10.000 fft = 10 x 10 x 12 ( 160 waves 160 per task) - Ewald summation: cut radius = 1.696 and 1 - Mandelung Wigner-Seitz = 1.68382487 (alpha = 2.71431215 rs = 3.71078182) - - technical parameters: - fixed step: time step = 5.80 ficticious mass = 400000.00 - tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Wed Feb 8 15:50:51 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - - 10 steepest descent iterations performed - 10 -3.263325288087e+01 -2.370052e-01 2.755915e-03 - 20 -3.342232241827e+01 -5.863540e-02 2.971603e-04 - 30 -3.391324997303e+01 -3.187197e-02 1.546984e-04 - 40 -3.413597312443e+01 -2.155176e-02 1.238590e-04 - 50 -3.438373510198e+01 -2.450980e-02 1.027256e-04 - 60 -3.455017548679e+01 -9.891297e-03 4.618600e-05 - 70 -3.464713762751e+01 -1.297081e-03 6.690651e-05 - 80 -3.465330146645e+01 -8.056294e-04 7.652741e-04 - 90 -3.466599502278e+01 -8.084057e-04 1.644931e-04 - 100 -3.466738274142e+01 -4.655569e-05 6.208520e-06 - 110 -3.466755259026e+01 -6.106702e-06 9.485566e-07 - 120 -3.466757480938e+01 -5.729432e-07 6.423950e-08 - 130 -3.466757780500e+01 -9.928726e-08 1.501512e-08 - *** tolerance ok. iteration terminated - >>> iteration ended at Wed Feb 8 15:50:52 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 11.00000 down= 11.00000 (real space) - - - total energy : -3.4667577805e+01 ( -8.66689e+00 /ion) - total orbital energy: 2.4064172121e+01 ( 2.00535e+00 /electron) - hartree energy : 6.5304190697e-01 ( 5.44202e-02 /electron) - exc-corr energy : -2.0726372095e+01 ( -1.72720e+00 /electron) - ion-ion energy : -5.1462578555e+01 ( -1.28656e+01 /ion) - - kinetic (planewave) : 3.2744878583e+01 ( 2.72874e+00 /electron) - V_local (planewave) : 3.5170322604e+01 ( 2.93086e+00 /electron) - V_nl (planewave) : -3.1046870249e+01 ( -2.58724e+00 /electron) - V_Coul (planewave) : 1.3060838139e+00 ( 1.08840e-01 /electron) - V_xc (planewave) : -1.4110242631e+01 ( -1.17585e+00 /electron) - Viral Coefficient : -2.6510119560e-01 - - orbital energy: - 1.4424311e+00 ( 39.251eV) - 1.2160817e+00 ( 33.092eV) - 1.2090712e+00 ( 32.901eV) - 1.2054584e+00 ( 32.802eV) - 1.1963001e+00 ( 32.553eV) - 1.1954706e+00 ( 32.531eV) - 9.9977937e-01 ( 27.206eV) - 9.9502181e-01 ( 27.076eV) - 8.8723317e-01 ( 24.143eV) - 8.8678761e-01 ( 24.131eV) - 7.9845106e-01 ( 21.727eV) - 4.8910438e-09 ( 0.000eV) - -== Center of Charge == - -spin up = ( -0.0000 -0.0000 -0.0252 ) -spin down = ( -0.0000 -0.0000 -0.0252 ) - total = ( -0.0000 -0.0000 -0.0252 ) -ionic = ( 1.3323 1.3323 2.8262 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( 31.9757 31.9749 68.4348 ) au -|mu| = 82.0253 au ( 208.4756 Debye ) - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 3.165e-02 - main loop : 2.041e-01 - epilogue : 2.420e-04 - total : 2.360e-01 - cputime/step: 4.895e-04 ( 417 evaluations, 130 linesearches) - - Time spent doing total step percent - total time 4.768254e-01 1.143466e-03 100.00% - total FFT time 1.999377e-01 4.794670e-04 41.93% - lagrange multipliers 2.882320e-04 6.912038e-07 0.06% - local potentials 1.690100e-05 4.052998e-08 0.00% - non-local potentials 9.458152e-03 2.268142e-05 1.98% - ffm_dgemm 3.570522e-03 8.562403e-06 0.75% - fmf_dgemm 6.136461e-03 1.471573e-05 1.29% - m_diagonalize 1.844062e-03 4.422211e-06 0.39% - mmm_multiply 4.760850e-04 1.141691e-06 0.10% - SCVtrans 2.489650e-04 5.970384e-07 0.05% - - >>> job completed at Wed Feb 8 15:50:52 2023 <<< - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Wed Feb 8 15:50:52 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - writing formatted psp filename: ./W.vpp - psi grids are being converted: - -----------------------------: - converting .... psi:1 spin:1 - converting .... psi:2 spin:1 - converting .... psi:3 spin:1 - converting .... psi:4 spin:1 - converting .... psi:5 spin:1 - converting .... psi:6 spin:1 - converting .... psi:7 spin:1 - converting .... psi:8 spin:1 - converting .... psi:9 spin:1 - converting .... psi:10 spin:1 - converting .... psi:11 spin:1 - converting .... psi:12 spin:1 - - input psi exists, reading from file: ./nwchemex.movecs - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 1 - processor grid : 1 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: W valence charge = 6.0 lmax =2 - comment = Troullier-Martins pseudopotential - pseudopotential type = 0 - highest angular component = 2 - local potential used = 0 - number of non-local projections = 8 - semicore corrections inlcuded = 1.800 (radius) 4.595 (charge) - cutoff = 2.389 3.185 2.244 - - total charge = 0.000 - - atom composition: - W : 4 - - initial ion positions (au): - 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 - 2 W ( 2.66457 0.00000 1.88413 ) - atomic mass = 183.951 - 3 W ( 2.66457 2.66457 3.76827 ) - atomic mass = 183.951 - 4 W ( 0.00000 2.66457 5.65240 ) - atomic mass = 183.951 - G.C. ( 1.33228 1.33228 2.82620 ) - C.O.M. ( 1.33228 1.33228 2.82620 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 12 ( 12 per task) down = 12 ( 12 per task) - - supercell: - volume = 214.04 - lattice: a1 = < 5.329 0.000 0.000 > - a2 = < 0.000 5.329 0.000 > - a3 = < 0.000 0.000 7.537 > - reciprocal: b1 = < 1.179 0.000 0.000 > - b2 = < 0.000 1.179 0.000 > - b3 = < 0.000 0.000 0.834 > - lattice: a = 5.329 b = 5.329 c = 7.537 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 20.000 fft = 12 x 12 x 16 ( 460 waves 460 per task) - wavefnc cutoff = 10.000 fft = 12 x 12 x 16 ( 160 waves 160 per task) - - Ewald parameters: - energy cutoff = 20.000 fft = 12 x 12 x 16 ( 460 waves 460 per task) - Ewald summation: cut radius = 1.696 and 1 - Mandelung Wigner-Seitz = 1.68382487 (alpha = 2.71431215 rs = 3.71078182) - - technical parameters: - fixed step: time step = 5.80 ficticious mass = 400000.00 - tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Wed Feb 8 15:50:52 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - - 10 steepest descent iterations performed - 10 -3.869390116272e+01 -6.903668e-05 1.222538e-06 - 20 -3.869394600954e+01 -2.584005e-08 7.565630e-10 - *** tolerance ok. iteration terminated - >>> iteration ended at Wed Feb 8 15:50:52 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 11.00000 down= 11.00000 (real space) - - - total energy : -3.8693946010e+01 ( -9.67349e+00 /ion) - total orbital energy: 2.0571849938e+01 ( 1.71432e+00 /electron) - hartree energy : 1.0464327958e+00 ( 8.72027e-02 /electron) - exc-corr energy : -2.1151466566e+01 ( -1.76262e+00 /electron) - ion-ion energy : -5.1462581523e+01 ( -1.28656e+01 /ion) - - kinetic (planewave) : 3.7980397820e+01 ( 3.16503e+00 /electron) - V_local (planewave) : 3.8936852411e+01 ( 3.24474e+00 /electron) - V_nl (planewave) : -4.4043580948e+01 ( -3.67030e+00 /electron) - V_Coul (planewave) : 2.0928655917e+00 ( 1.74405e-01 /electron) - V_xc (planewave) : -1.4394684937e+01 ( -1.19956e+00 /electron) - Viral Coefficient : -4.5835612267e-01 - - orbital energy: - 1.2624273e+00 ( 34.353eV) - 1.0588423e+00 ( 28.813eV) - 1.0519217e+00 ( 28.624eV) - 1.0510387e+00 ( 28.600eV) - 1.0124484e+00 ( 27.550eV) - 1.0116561e+00 ( 27.529eV) - 7.9997475e-01 ( 21.769eV) - 7.9985716e-01 ( 21.765eV) - 7.5624184e-01 ( 20.579eV) - 7.4126320e-01 ( 20.171eV) - 7.4025353e-01 ( 20.143eV) - 1.6826541e-12 ( 0.000eV) - -== Center of Charge == - -spin up = ( -0.0000 -0.0000 -0.0237 ) -spin down = ( -0.0000 -0.0000 -0.0237 ) - total = ( -0.0000 -0.0000 -0.0237 ) -ionic = ( 1.3323 1.3323 2.8262 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( 31.9750 31.9748 68.3970 ) au -|mu| = 81.9935 au ( 208.3948 Debye ) - - - Ion Forces (au): - 1 W ( -0.00005 -0.00003 0.52530 ) - 2 W ( 0.00004 0.00003 -0.52538 ) - 3 W ( 0.00004 0.00002 0.52530 ) - 4 W ( -0.00005 -0.00002 -0.52538 ) - - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 3.828e-02 - main loop : 6.028e-02 - epilogue : 7.240e-04 - total : 9.929e-02 - cputime/step: 8.998e-04 ( 67 evaluations, 18 linesearches) - - Time spent doing total step percent - total time 5.763748e-01 8.602609e-03 100.00% - total FFT time 2.314689e-01 3.454759e-03 40.16% - lagrange multipliers 5.522480e-04 8.242507e-06 0.10% - local potentials 3.313000e-05 4.944776e-07 0.01% - non-local potentials 1.250012e-02 1.865689e-04 2.17% - ffm_dgemm 4.586577e-03 6.845637e-05 0.80% - fmf_dgemm 7.988636e-03 1.192334e-04 1.39% - m_diagonalize 2.089830e-03 3.119149e-05 0.36% - mmm_multiply 5.259960e-04 7.850687e-06 0.09% - SCVtrans 2.736630e-04 4.084522e-06 0.05% - - >>> job completed at Wed Feb 8 15:50:52 2023 <<< diff --git a/examples/QUANTUM/NWChem/log.8Feb23.water.mm.1 b/examples/QUANTUM/NWChem/log.8Feb23.water.mm.1 deleted file mode 100644 index 5382b7bf45..0000000000 --- a/examples/QUANTUM/NWChem/log.8Feb23.water.mm.1 +++ /dev/null @@ -1,113 +0,0 @@ -LAMMPS (22 Dec 2022) -# MM for water dimer - -units real -atom_style full - -bond_style harmonic -angle_style harmonic - -read_data data.water.mm -Reading data file ... - orthogonal box = (-6.879301 -6.879301 -6.879301) to (6.879301 6.879301 6.879301) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 6 atoms - scanning bonds ... - 2 = max bonds/atom - scanning angles ... - 1 = max angles/atom - reading bonds ... - 4 bonds - reading angles ... - 2 angles -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 2 = max # of 1-2 neighbors - 1 = max # of 1-3 neighbors - 1 = max # of 1-4 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.002 seconds - -group mm molecule 1 -3 atoms in group mm -group qm molecule 2 -3 atoms in group qm - -# pair style must define stand-alone short-range Coulombics - -pair_style lj/cut/coul/cut 6.0 -pair_coeff 1 1 0.13506 3.166 -pair_coeff 2 2 0.0 1.0 - -velocity all create 300.0 458732 - -neighbor 1.0 bin -neigh_modify delay 0 every 1 check yes - -fix 1 all nve - -timestep 1.0 - -thermo_style custom step cpu temp ke evdwl ecoul epair emol elong pe etotal press - -thermo 1 - -run 10 -Generated 1 of 1 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 7 - ghost atom cutoff = 7 - binsize = 3.5, bins = 4 4 4 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut/coul/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 6.563 | 6.563 | 6.563 Mbytes - Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long PotEng TotEng Press - 0 0 300 4.4712151 0.85234387 -7.098978 -6.2466342 7.0772152 0 0.83058103 5.3017961 2175.106 - 1 5.713e-06 225.99525 3.3682446 0.8007398 -7.3015666 -6.5008268 8.5760055 0 2.0751787 5.4434233 2118.0755 - 2 1.3911e-05 469.03888 6.990579 0.76268142 -7.9866866 -7.2240051 5.1752925 0 -2.0487126 4.9418664 1120.4766 - 3 2.0968e-05 612.19697 9.1242144 0.73936944 -8.8769967 -8.1376272 3.6503739 0 -4.4872533 4.636961 -512.84502 - 4 2.7903e-05 403.86959 6.0192927 0.72702099 -9.5085408 -8.7815198 7.8103639 0 -0.97115599 5.0481367 -2105.3508 - 5 3.4588e-05 188.60671 2.8110039 0.71855703 -9.4937724 -8.7752154 11.456673 0 2.6814579 5.4924617 -2759.3498 - 6 4.1451e-05 335.57585 5.0014393 0.70667511 -8.8207473 -8.1140722 8.3295226 0 0.2154504 5.2168897 -2014.8891 - 7 4.8086e-05 612.66738 9.1312254 0.68733606 -7.8404266 -7.1530905 2.6947578 0 -4.4583327 4.6728927 -320.45402 - 8 5.4692e-05 564.8702 8.4188539 0.66167633 -6.986773 -6.3250967 2.6797166 0 -3.6453801 4.7734737 1333.6188 - 9 6.2607e-05 274.91926 4.0974105 0.63494004 -6.5543479 -5.9194079 7.1781603 0 1.2587524 5.3561629 2192.6187 - 10 6.9584e-05 227.65402 3.3929669 0.61324726 -6.6534611 -6.0402139 8.0914403 0 2.0512265 5.4441934 2041.4853 -Loop time of 7.479e-05 on 1 procs for 10 steps with 6 atoms - -Performance: 11552.347 ns/day, 0.002 hours/ns, 133707.715 timesteps/s, 802.246 katom-step/s -0.0% CPU use with 1 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 5.382e-06 | 5.382e-06 | 5.382e-06 | 0.0 | 7.20 -Bond | 4.817e-06 | 4.817e-06 | 4.817e-06 | 0.0 | 6.44 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 4.71e-06 | 4.71e-06 | 4.71e-06 | 0.0 | 6.30 -Output | 5.2372e-05 | 5.2372e-05 | 5.2372e-05 | 0.0 | 70.03 -Modify | 2.931e-06 | 2.931e-06 | 2.931e-06 | 0.0 | 3.92 -Other | | 4.578e-06 | | | 6.12 - -Nlocal: 6 ave 6 max 6 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 56 ave 56 max 56 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 9 ave 9 max 9 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 9 -Ave neighs/atom = 1.5 -Ave special neighs/atom = 2 -Neighbor list builds = 0 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/QUANTUM/NWChem/log.8Feb23.zeolite.mm.1 b/examples/QUANTUM/NWChem/log.8Feb23.zeolite.mm.1 deleted file mode 100644 index dd4c4175e6..0000000000 --- a/examples/QUANTUM/NWChem/log.8Feb23.zeolite.mm.1 +++ /dev/null @@ -1,186 +0,0 @@ -LAMMPS (22 Dec 2022) -# MM for SiO2 zeolite with one methane molecule - -# CHIK potential -# EPL, Carre, Horbach, Ispas, Kob, 82, 17001 (2008) -# B = 1/rho - -#q Si = 1.910418 -#q O = -0.955209 -#A OO = 659.595398 eV -#B OO = 2.590066 1/Ang -#C OO = 26.836679 eV-Ang^6 -#A SiO = 27029.419922 eV -#B SiO = 5.158606 1/Ang -#C SiO = 148.099091 eV-Ang^6 -#A SiSi = 3150.462646 eV -#B SiSi = 2.851451 1/Ang -#C SiSi = 626.7519553 eV-Ang^6 - -# LJ params for methane and O from Table 1 -# Bhatia and Nicholson, J Phys Chem C, 2012, 116, 2344-2355. - -#q C = -0.66 -#Q H = 0.165 -#sigma C = 0.34 nm -#sigma H = 0.265 nm -#sigma O = 0.28 nm -#eps/kB C = 55.082 K = 0.004745993 eV -#eps/kB H = 7.905 K = 0.000681113 eV -#eps/kB O = 492.7 K = 0.0424522 eV - -# LJ params for silicon -#e-Journal of Surf Sci and Nanotech, Inui and Iwasaki, 15, 40-49 (2017) - -#sigma Si = 3.826 Ang -#eps Si = 17.4 meV = 0.0174 eV - -# C-H bond and methane angle params - -#OPLS C-H bond k = 29.40 ev/Ang^2 -#C-H bond r0 = 1.09 Angs -#methane angles = 109.5 degrees -#C-H angle k/kB = 2000 K/rad^2 - -# conversions - -#1 eV = 11606 K -#1 eV = 23.0609 kcal/mole -#1 kcal/mole = 503.2761 K -#1 kcal = 4.814 kJoule - -# ------------------------- - -units metal -atom_style full - -bond_style harmonic -angle_style harmonic - -read_data data.zeolite -Reading data file ... - orthogonal box = (-5.9266 -5.9266 -5.9266) to (5.9926 5.9926 5.9926) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 77 atoms - scanning bonds ... - 4 = max bonds/atom - scanning angles ... - 6 = max angles/atom - reading bonds ... - 4 bonds - reading angles ... - 6 angles -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 4 = max # of 1-2 neighbors - 3 = max # of 1-3 neighbors - 3 = max # of 1-4 neighbors - 4 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.005 seconds - -group mm type 1 2 -72 atoms in group mm -group qm type 3 4 -5 atoms in group qm - -# pair style must define stand-alone short-range Coulombics -# arithmetic mixing - -pair_style hybrid/overlay buck 6.5 lj/cut 6.5 coul/cut 6.5 - -pair_coeff 1 1 buck 3150.462646 0.35032282 626.7519553 -pair_coeff 2 2 buck 659.595398 0.38609055 26.836679 -pair_coeff 1 2 buck 27029.419922 0.19385082 148.099091 -pair_coeff 1 2 buck 27029.419922 0.19385082 148.099091 -pair_coeff 1 3 lj/cut 0.009087 3.613 -pair_coeff 1 4 lj/cut 0.00344258 3.238 -pair_coeff 2 3 lj/cut 0.01419429 3.1 -pair_coeff 2 4 lj/cut 0.00537724 2.725 -pair_coeff 3 3 lj/cut 0.004746 3.4 -pair_coeff 4 4 lj/cut 0.00068111 2.65 -pair_coeff * * coul/cut - -bond_style harmonic -bond_coeff 1 29.40 1.09 - -angle_style harmonic -angle_coeff 1 0.172325 109.5 - -#velocity all create 300.0 458732 - -neighbor 1.0 bin -neigh_modify delay 0 every 1 check yes - -# dynamic or frozen zeolite - -fix 1 all nve -#fix 1 qm nve - -timestep 0.0001 - -thermo_style custom step cpu temp ke evdwl ecoul epair emol elong pe etotal press - -thermo 1 - -run 3 -Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 7.5 - ghost atom cutoff = 7.5 - binsize = 3.75, bins = 4 4 4 - 3 neighbor lists, perpetual/occasional/extra = 3 0 0 - (1) pair buck, perpetual, skip from (3) - attributes: half, newton on - pair build: skip - stencil: none - bin: none - (2) pair lj/cut, perpetual, skip from (3) - attributes: half, newton on - pair build: skip - stencil: none - bin: none - (3) pair coul/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 9.513 | 9.513 | 9.513 Mbytes - Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long PotEng TotEng Press - 0 0 0 0 -102.55051 -1039.5685 -1142.119 2.7005254e-07 0 -1142.119 -1142.119 11439.684 - 1 8.3058e-05 0.055395011 0.00054418791 -102.55035 -1039.5692 -1142.1196 3.3571313e-07 0 -1142.1196 -1142.119 11439.469 - 2 0.00015372 0.22147045 0.002175675 -102.54986 -1039.5713 -1142.1212 9.2762791e-07 0 -1142.1212 -1142.119 11438.832 - 3 0.000223969 0.49789878 0.0048912436 -102.54905 -1039.5748 -1142.1239 3.2194644e-06 0 -1142.1239 -1142.119 11437.796 -Loop time of 0.000228308 on 1 procs for 3 steps with 77 atoms - -Performance: 113.531 ns/day, 0.211 hours/ns, 13140.144 timesteps/s, 1.012 Matom-step/s -33.3% CPU use with 1 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.00020213 | 0.00020213 | 0.00020213 | 0.0 | 88.53 -Bond | 2.326e-06 | 2.326e-06 | 2.326e-06 | 0.0 | 1.02 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 6.354e-06 | 6.354e-06 | 6.354e-06 | 0.0 | 2.78 -Output | 1.362e-05 | 1.362e-05 | 1.362e-05 | 0.0 | 5.97 -Modify | 1.804e-06 | 1.804e-06 | 1.804e-06 | 0.0 | 0.79 -Other | | 2.073e-06 | | | 0.91 - -Nlocal: 77 ave 77 max 77 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1066 ave 1066 max 1066 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 3136 ave 3136 max 3136 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 3136 -Ave neighs/atom = 40.727273 -Ave special neighs/atom = 0.25974026 -Neighbor list builds = 0 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/QUANTUM/PySCF/README b/examples/QUANTUM/PySCF/README index 15e3efbfb1..48cde06768 100644 --- a/examples/QUANTUM/PySCF/README +++ b/examples/QUANTUM/PySCF/README @@ -17,6 +17,27 @@ it can use the direct mode of fix mdi/qmmm, but not the potential mode. PySCF can calculate a QM energy and QM forces on each atom, but it cannot compute a QM stress tensor. +PySCF does not support MPI parallelism, so run it on a single MPI task. +But it does support multi-threading via OpenMP. By default it will use +all the threads available on your compute node. Depending on the size +of the problem and your hardware, it may be faster to run on fewer threads. +Thus for a production run it is a good idea to do some short runs first +with different thread counts to test performance. + +For example, these commands will set the OpenMP thread count (to 4) +before performing a run. Unsetting the environment variable will +revert to the default (use all available threads). + +bash: +% export OMP_NUM_THREADS=4 +% unset OMP_NUM_THREADS + +(t)csh: +% setenv OMP_NUM_THREADS 4 +% unsetenv OMP_NUM_THREADS + +All the example log files in this directory were run with OMP_NUM_THREADS = 1 + --------------------------------- --------------------------------- diff --git a/examples/QUANTUM/PySCF/in.water.qmmm.plugin b/examples/QUANTUM/PySCF/in.water.qmmm.plugin index 9ac3818c73..6c8e932593 100644 --- a/examples/QUANTUM/PySCF/in.water.qmmm.plugin +++ b/examples/QUANTUM/PySCF/in.water.qmmm.plugin @@ -47,4 +47,4 @@ thermo_style custom step cpu temp ke evdwl ecoul epair emol elong & thermo 1 mdi plugin pyscf_mdi mdi "-role ENGINE -name PySCF -method LINK" & - extra "-pbc no" command "run 2" + extra "-pbc no" command "run 10" diff --git a/examples/QUANTUM/PySCF/log.8Feb23.mixture.mm.1 b/examples/QUANTUM/PySCF/log.24Feb23.mixture.mm.1 similarity index 100% rename from examples/QUANTUM/PySCF/log.8Feb23.mixture.mm.1 rename to examples/QUANTUM/PySCF/log.24Feb23.mixture.mm.1 diff --git a/examples/QUANTUM/PySCF/log.8Feb23.mixture.qmmm.mpi.1 b/examples/QUANTUM/PySCF/log.24Feb23.mixture.qmmm.mpi.1 similarity index 86% rename from examples/QUANTUM/PySCF/log.8Feb23.mixture.qmmm.mpi.1 rename to examples/QUANTUM/PySCF/log.24Feb23.mixture.qmmm.mpi.1 index ed65ee1dc3..c0278739f4 100644 --- a/examples/QUANTUM/PySCF/log.8Feb23.mixture.qmmm.mpi.1 +++ b/examples/QUANTUM/PySCF/log.24Feb23.mixture.qmmm.mpi.1 @@ -87,7 +87,7 @@ Finding 1-2 1-3 1-4 neighbors ... 1 = max # of 1-3 neighbors 1 = max # of 1-4 neighbors 4 = max # of special neighbors - special bonds CPU = 0.000 seconds + special bonds CPU = 0.001 seconds set group qm charge 0.0 Setting atom values ... 9 settings made for charge @@ -121,24 +121,24 @@ Generated 21 of 21 mixed pair_coeff terms from arithmetic mixing rule Per MPI rank memory allocation (min/avg/max) = 26.88 | 26.88 | 26.88 Mbytes Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long f_2 PotEng TotEng Press 0 0 0 0 103310.44 35284.412 88790.313 863.33521 -49804.536 -349295.05 -259641.4 -259641.4 897319.08 - 1 16.658724 631.94375 5801.8092 97293.123 35284.413 82773 863.33444 -49804.536 -349294.57 -265658.24 -259856.43 852336.04 - 2 34.242441 2211.4634 20303.213 82388.368 35284.413 67868.246 863.33213 -49804.536 -349292.7 -280561.12 -260257.91 741101.53 -Loop time of 34.2425 on 1 procs for 2 steps with 3081 atoms + 1 14.688336 631.94375 5801.8092 97293.123 35284.413 82773 863.33444 -49804.536 -349294.57 -265658.24 -259856.43 852336.04 + 2 29.934743 2211.4634 20303.213 82388.368 35284.413 67868.246 863.33213 -49804.536 -349292.7 -280561.12 -260257.91 741101.53 +Loop time of 29.9348 on 1 procs for 2 steps with 3081 atoms -Performance: 0.000 ns/day, 475589.761 hours/ns, 0.058 timesteps/s, 179.952 atom-step/s +Performance: 0.000 ns/day, 415760.629 hours/ns, 0.067 timesteps/s, 205.848 atom-step/s 100.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.048944 | 0.048944 | 0.048944 | 0.0 | 0.14 -Bond | 0.00014683 | 0.00014683 | 0.00014683 | 0.0 | 0.00 -Kspace | 0.0043212 | 0.0043212 | 0.0043212 | 0.0 | 0.01 +Pair | 0.046402 | 0.046402 | 0.046402 | 0.0 | 0.16 +Bond | 0.00014049 | 0.00014049 | 0.00014049 | 0.0 | 0.00 +Kspace | 0.0040776 | 0.0040776 | 0.0040776 | 0.0 | 0.01 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.00016665 | 0.00016665 | 0.00016665 | 0.0 | 0.00 -Output | 9.4962e-05 | 9.4962e-05 | 9.4962e-05 | 0.0 | 0.00 -Modify | 34.189 | 34.189 | 34.189 | 0.0 | 99.84 -Other | | 8.974e-05 | | | 0.00 +Comm | 0.00015243 | 0.00015243 | 0.00015243 | 0.0 | 0.00 +Output | 8.9222e-05 | 8.9222e-05 | 8.9222e-05 | 0.0 | 0.00 +Modify | 29.884 | 29.884 | 29.884 | 0.0 | 99.83 +Other | | 8.394e-05 | | | 0.00 Nlocal: 3081 ave 3081 max 3081 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -152,4 +152,4 @@ Ave neighs/atom = 574.95521 Ave special neighs/atom = 1.9941577 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:00:53 +Total wall time: 0:00:46 diff --git a/examples/QUANTUM/PySCF/log.8Feb23.mixture.qmmm.plugin.1 b/examples/QUANTUM/PySCF/log.24Feb23.mixture.qmmm.plugin.1 similarity index 85% rename from examples/QUANTUM/PySCF/log.8Feb23.mixture.qmmm.plugin.1 rename to examples/QUANTUM/PySCF/log.24Feb23.mixture.qmmm.plugin.1 index 09c2c77fe1..970b9b2578 100644 --- a/examples/QUANTUM/PySCF/log.8Feb23.mixture.qmmm.plugin.1 +++ b/examples/QUANTUM/PySCF/log.24Feb23.mixture.qmmm.plugin.1 @@ -37,8 +37,8 @@ Finding 1-2 1-3 1-4 neighbors ... 3 = max # of 1-3 neighbors 3 = max # of 1-4 neighbors 4 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.013 seconds + special bonds CPU = 0.000 seconds + read_data CPU = 0.014 seconds # QM atoms are IDs 1 to 9 # MM atoms are remaining atoms @@ -123,24 +123,24 @@ Generated 21 of 21 mixed pair_coeff terms from arithmetic mixing rule Per MPI rank memory allocation (min/avg/max) = 26.88 | 26.88 | 26.88 Mbytes Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long f_2 PotEng TotEng Press 0 0 0 0 103310.44 35284.412 88790.313 863.33521 -49804.536 -349295.05 -259641.4 -259641.4 897319.08 - 1 19.294168 631.94375 5801.8092 97293.123 35284.413 82773 863.33444 -49804.536 -349294.57 -265658.24 -259856.43 852336.04 - 2 40.905414 2211.4634 20303.213 82388.368 35284.413 67868.246 863.33213 -49804.536 -349292.7 -280561.12 -260257.91 741101.53 -Loop time of 40.9172 on 1 procs for 2 steps with 3081 atoms + 1 12.796377 631.94375 5801.8092 97293.123 35284.413 82773 863.33444 -49804.536 -349294.57 -265658.24 -259856.43 852336.04 + 2 26.237305 2211.4634 20303.213 82388.368 35284.413 67868.246 863.33213 -49804.536 -349292.7 -280561.12 -260257.91 741101.53 +Loop time of 26.2373 on 1 procs for 2 steps with 3081 atoms -Performance: 0.000 ns/day, 568294.642 hours/ns, 0.049 timesteps/s, 150.597 atom-step/s -759.6% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 0.000 ns/day, 364407.298 hours/ns, 0.076 timesteps/s, 234.856 atom-step/s +93.8% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.074194 | 0.074194 | 0.074194 | 0.0 | 0.18 -Bond | 0.00021377 | 0.00021377 | 0.00021377 | 0.0 | 0.00 -Kspace | 0.005728 | 0.005728 | 0.005728 | 0.0 | 0.01 +Pair | 0.043604 | 0.043604 | 0.043604 | 0.0 | 0.17 +Bond | 0.00012543 | 0.00012543 | 0.00012543 | 0.0 | 0.00 +Kspace | 0.0037225 | 0.0037225 | 0.0037225 | 0.0 | 0.01 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.00021094 | 0.00021094 | 0.00021094 | 0.0 | 0.00 -Output | 0.011886 | 0.011886 | 0.011886 | 0.0 | 0.03 -Modify | 40.825 | 40.825 | 40.825 | 0.0 | 99.77 -Other | | 0.0001314 | | | 0.00 +Comm | 0.00016799 | 0.00016799 | 0.00016799 | 0.0 | 0.00 +Output | 7.5957e-05 | 7.5957e-05 | 7.5957e-05 | 0.0 | 0.00 +Modify | 26.19 | 26.19 | 26.19 | 0.0 | 99.82 +Other | | 0.0001029 | | | 0.00 Nlocal: 3081 ave 3081 max 3081 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -154,4 +154,4 @@ Ave neighs/atom = 574.95521 Ave special neighs/atom = 1.9941577 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:01:06 +Total wall time: 0:00:41 diff --git a/examples/QUANTUM/PySCF/log.8Feb23.water.qmmm.mpi.1 b/examples/QUANTUM/PySCF/log.24Feb23.water.qmmm.mpi.1 similarity index 62% rename from examples/QUANTUM/PySCF/log.8Feb23.water.qmmm.mpi.1 rename to examples/QUANTUM/PySCF/log.24Feb23.water.qmmm.mpi.1 index c5a2155ee9..4f0d028959 100644 --- a/examples/QUANTUM/PySCF/log.8Feb23.water.qmmm.mpi.1 +++ b/examples/QUANTUM/PySCF/log.24Feb23.water.qmmm.mpi.1 @@ -93,6 +93,8 @@ Setting atom values ... neighbor 2.0 bin neigh_modify delay 0 every 1 check yes +velocity all create 300.0 87287 loop geom + # QMMM dynamics timestep 2.0 @@ -105,7 +107,7 @@ fix_modify 2 energy yes thermo_style custom step cpu temp ke evdwl ecoul epair emol elong f_2 pe etotal press thermo 1 -run 2 +run 10 PPPM initialization ... using 12-bit tables for long-range coulomb (../kspace.cpp:342) G vector (1/distance) = 0.19767375 @@ -118,25 +120,33 @@ PPPM initialization ... Generated 1 of 1 mixed pair_coeff terms from arithmetic mixing rule Per MPI rank memory allocation (min/avg/max) = 7.165 | 7.165 | 7.165 Mbytes Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long f_2 PotEng TotEng Press - 0 0 0 0 -0.001256507 37.096223 -0.0091688448 0.95028479 -37.104135 -47941.423 -47940.482 -47940.482 -11.65711 - 1 2.1383388 274.73153 4.0946125 -0.001258094 37.106014 -0.0088915927 0.62503382 -37.113647 -47947.815 -47947.199 -47943.104 5.9530005 - 2 4.182352 121.44569 1.8100327 -0.0012589509 37.125978 -0.0083996825 0.32331257 -37.133119 -47938.851 -47938.536 -47936.726 14.80352 -Loop time of 4.18244 on 1 procs for 2 steps with 6 atoms + 0 0 300 4.4712151 -0.001256507 37.096223 -0.0091688448 0.95028479 -37.104135 -47941.423 -47940.482 -47936.011 -5.0247548 + 1 0.42459858 513.16174 7.6481883 -0.0012517531 37.10766 -0.0088283103 1.3202413 -37.115237 -47947.2 -47945.888 -47938.24 -15.573296 + 2 0.83921968 476.87607 7.1073848 -0.0012428971 37.140547 -0.0078675595 0.14078812 -37.147172 -47942.073 -47941.94 -47934.833 14.589522 + 3 1.282638 552.16606 8.2295107 -0.0012247602 37.169663 -0.0070877422 0.97249224 -37.175526 -47943.52 -47942.554 -47934.325 32.307164 + 4 1.7239672 311.70888 4.6457248 -0.001214705 37.181636 -0.0067643983 0.92481745 -37.187186 -47938.682 -47937.764 -47933.119 0.56846893 + 5 2.1677443 545.29773 8.1271448 -0.0012142012 37.183759 -0.0065649512 1.9626978 -37.18911 -47947.023 -47945.067 -47936.939 -16.524268 + 6 2.5938431 471.76687 7.0312372 -0.0012147223 37.184705 -0.0063050524 1.0470598 -37.189795 -47935.826 -47934.786 -47927.754 6.8724083 + 7 3.1976738 920.71804 13.722428 -0.0012039124 37.17538 -0.0062927565 1.1513661 -37.180469 -47936.811 -47935.666 -47921.943 41.323834 + 8 4.2646583 371.42423 5.5357253 -0.0012015277 37.147481 -0.0067304894 0.30070096 -37.15301 -47926.094 -47925.8 -47920.264 9.8713538 + 9 4.7956361 1313.1283 19.57093 -0.0012060837 37.113576 -0.0073073483 0.92112803 -37.119677 -47946.778 -47945.864 -47926.294 0.79539496 + 10 5.338625 1925.297 28.694723 -0.0012122897 37.098911 -0.0073851867 1.0565498 -37.105084 -47893.124 -47892.075 -47863.381 31.561748 +Loop time of 5.33864 on 1 procs for 10 steps with 6 atoms -Performance: 0.083 ns/day, 290.447 hours/ns, 0.478 timesteps/s, 2.869 atom-step/s +Performance: 0.324 ns/day, 74.148 hours/ns, 1.873 timesteps/s, 11.239 atom-step/s 100.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 1.3909e-05 | 1.3909e-05 | 1.3909e-05 | 0.0 | 0.00 -Bond | 9.667e-06 | 9.667e-06 | 9.667e-06 | 0.0 | 0.00 -Kspace | 0.00031926 | 0.00031926 | 0.00031926 | 0.0 | 0.01 +Pair | 3.4767e-05 | 3.4767e-05 | 3.4767e-05 | 0.0 | 0.00 +Bond | 1.9833e-05 | 1.9833e-05 | 1.9833e-05 | 0.0 | 0.00 +Kspace | 0.0012215 | 0.0012215 | 0.0012215 | 0.0 | 0.02 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 6.235e-06 | 6.235e-06 | 6.235e-06 | 0.0 | 0.00 -Output | 0.00011152 | 0.00011152 | 0.00011152 | 0.0 | 0.00 -Modify | 4.182 | 4.182 | 4.182 | 0.0 | 99.99 -Other | | 2.225e-05 | | | 0.00 +Comm | 1.1826e-05 | 1.1826e-05 | 1.1826e-05 | 0.0 | 0.00 +Output | 0.00019799 | 0.00019799 | 0.00019799 | 0.0 | 0.00 +Modify | 5.3371 | 5.3371 | 5.3371 | 0.0 | 99.97 +Other | | 1.674e-05 | | | 0.00 Nlocal: 6 ave 6 max 6 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -150,4 +160,4 @@ Ave neighs/atom = 2.5 Ave special neighs/atom = 1 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:00:06 +Total wall time: 0:00:05 diff --git a/examples/QUANTUM/PySCF/log.8Feb23.water.qmmm.plugin.1 b/examples/QUANTUM/PySCF/log.24Feb23.water.qmmm.plugin.1 similarity index 61% rename from examples/QUANTUM/PySCF/log.8Feb23.water.qmmm.plugin.1 rename to examples/QUANTUM/PySCF/log.24Feb23.water.qmmm.plugin.1 index 799b0a3f5c..c4881c3972 100644 --- a/examples/QUANTUM/PySCF/log.8Feb23.water.qmmm.plugin.1 +++ b/examples/QUANTUM/PySCF/log.24Feb23.water.qmmm.plugin.1 @@ -93,6 +93,8 @@ Setting atom values ... neighbor 2.0 bin neigh_modify delay 0 every 1 check yes +velocity all create 300.0 87287 loop geom + # QMMM dynamics timestep 2.0 @@ -106,8 +108,8 @@ thermo_style custom step cpu temp ke evdwl ecoul epair emol elong thermo 1 -mdi plugin pyscf_mdi mdi "-role ENGINE -name PySCF -method LINK" extra "-pbc no" command "run 2" -run 2 +mdi plugin pyscf_mdi mdi "-role ENGINE -name PySCF -method LINK" extra "-pbc no" command "run 10" +run 10 PPPM initialization ... using 12-bit tables for long-range coulomb (../kspace.cpp:342) G vector (1/distance) = 0.19767375 @@ -120,25 +122,33 @@ PPPM initialization ... Generated 1 of 1 mixed pair_coeff terms from arithmetic mixing rule Per MPI rank memory allocation (min/avg/max) = 7.165 | 7.165 | 7.165 Mbytes Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long f_2 PotEng TotEng Press - 0 0 0 0 -0.001256507 37.096223 -0.0091688448 0.95028479 -37.104135 -47941.423 -47940.482 -47940.482 -11.65711 - 1 13.839254 274.73153 4.0946125 -0.001258094 37.106014 -0.0088915927 0.62503382 -37.113647 -47947.815 -47947.199 -47943.104 5.9530005 - 2 28.396141 121.44569 1.8100327 -0.0012589509 37.125978 -0.0083996825 0.32331257 -37.133119 -47938.851 -47938.536 -47936.726 14.80352 -Loop time of 28.3962 on 1 procs for 2 steps with 6 atoms + 0 0 300 4.4712151 -0.001256507 37.096223 -0.0091688448 0.95028479 -37.104135 -47941.423 -47940.482 -47936.011 -5.0247548 + 1 0.42885217 513.16174 7.6481883 -0.0012517531 37.10766 -0.0088283103 1.3202413 -37.115237 -47947.2 -47945.888 -47938.24 -15.573296 + 2 0.84949757 476.87607 7.1073848 -0.0012428971 37.140547 -0.0078675595 0.14078812 -37.147172 -47942.073 -47941.94 -47934.833 14.589522 + 3 1.2984619 552.16606 8.2295107 -0.0012247602 37.169663 -0.0070877422 0.97249224 -37.175526 -47943.52 -47942.554 -47934.325 32.307164 + 4 1.8060644 311.70888 4.6457248 -0.001214705 37.181636 -0.0067643983 0.92481745 -37.187186 -47938.682 -47937.764 -47933.119 0.56846893 + 5 2.5658572 545.29773 8.1271448 -0.0012142012 37.183759 -0.0065649512 1.9626978 -37.18911 -47947.023 -47945.067 -47936.939 -16.524268 + 6 3.0435932 471.76687 7.0312372 -0.0012147223 37.184705 -0.0063050524 1.0470598 -37.189795 -47935.826 -47934.786 -47927.754 6.8724083 + 7 3.5418257 920.71804 13.722428 -0.0012039124 37.17538 -0.0062927565 1.1513661 -37.180469 -47936.811 -47935.666 -47921.943 41.323834 + 8 4.0084852 371.42423 5.5357253 -0.0012015277 37.147481 -0.0067304894 0.30070096 -37.15301 -47926.094 -47925.8 -47920.264 9.8713538 + 9 4.4922341 1313.1283 19.57093 -0.0012060837 37.113576 -0.0073073483 0.92112803 -37.119677 -47946.778 -47945.864 -47926.294 0.79539496 + 10 4.9903309 1925.297 28.694723 -0.0012122897 37.098911 -0.0073851867 1.0565498 -37.105084 -47893.124 -47892.075 -47863.381 31.561748 +Loop time of 4.99035 on 1 procs for 10 steps with 6 atoms -Performance: 0.012 ns/day, 1971.958 hours/ns, 0.070 timesteps/s, 0.423 atom-step/s -747.8% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 0.346 ns/day, 69.310 hours/ns, 2.004 timesteps/s, 12.023 atom-step/s +98.3% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 1.4093e-05 | 1.4093e-05 | 1.4093e-05 | 0.0 | 0.00 -Bond | 9.672e-06 | 9.672e-06 | 9.672e-06 | 0.0 | 0.00 -Kspace | 0.00032919 | 0.00032919 | 0.00032919 | 0.0 | 0.00 +Pair | 4.0513e-05 | 4.0513e-05 | 4.0513e-05 | 0.0 | 0.00 +Bond | 2.9012e-05 | 2.9012e-05 | 2.9012e-05 | 0.0 | 0.00 +Kspace | 0.0010946 | 0.0010946 | 0.0010946 | 0.0 | 0.02 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 6.136e-06 | 6.136e-06 | 6.136e-06 | 0.0 | 0.00 -Output | 0.00012034 | 0.00012034 | 0.00012034 | 0.0 | 0.00 -Modify | 28.396 | 28.396 | 28.396 | 0.0 |100.00 -Other | | 1.567e-05 | | | 0.00 +Comm | 2.2333e-05 | 2.2333e-05 | 2.2333e-05 | 0.0 | 0.00 +Output | 0.00026201 | 0.00026201 | 0.00026201 | 0.0 | 0.01 +Modify | 4.9889 | 4.9889 | 4.9889 | 0.0 | 99.97 +Other | | 2.45e-05 | | | 0.00 Nlocal: 6 ave 6 max 6 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -152,4 +162,4 @@ Ave neighs/atom = 2.5 Ave special neighs/atom = 1 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:00:43 +Total wall time: 0:00:05 From 7d3b9e4ddac1b9ec341c7e1d0d21d123d481a728 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 24 Feb 2023 16:27:15 -0700 Subject: [PATCH 150/448] another doc page change --- doc/src/mdi.rst | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/doc/src/mdi.rst b/doc/src/mdi.rst index 2f7fc65852..cdb5e432cc 100644 --- a/doc/src/mdi.rst +++ b/doc/src/mdi.rst @@ -17,7 +17,7 @@ Syntax *engine* args = zero or more keyword/args pairs keywords = *elements* *elements* args = N_1 N_2 ... N_ntypes - N_1,N_2,...N_ntypes = atomic number for each of ntypes LAMMPS atom types + N_1,N_2,...N_ntypes = chemical symbol for each of ntypes LAMMPS atom types *plugin* args = name keyword value keyword value ... name = name of plugin library (e.g., *lammps* means a liblammps.so library will be loaded) keyword/value pairs in any order, some are required, some are optional @@ -35,7 +35,7 @@ Examples .. code-block:: LAMMPS mdi engine - mdi engine elements 13 29 + mdi engine elements Al Cu mdi plugin lammps mdi "-role ENGINE -name lammps -method LINK" & infile in.aimd.engine extra "-log log.aimd.engine.plugin" & command "run 5" @@ -173,13 +173,16 @@ commands, which are described further below. atom type values are consistent in both codes, then the >TYPES command can be used. If not, the optional *elements* keyword can be used to specify what element each LAMMPS atom type corresponds - to. This is specified by the atomic number of the element (e.g., 13 - for Al). An atomic number must be specified for each of the ntypes - LAMMPS atom types. Ntypes is typically specified via the - create_box command or in the data file read by the read_data - command. In this has been done, the MDI driver can send an - >ELEMENTS command to the LAMMPS driver with the atomic number of - each atom. + to. This is specified by the chemical symbol of the element, + e.g. C or Al or Si. A symbol must be specified for each of the + ntypes LAMMPS atom types. Each LAMMPS type must map to a unique + element; two or more types cannot map to the same element. Ntypes + is typically specified via the :doc:`create_box ` + command or in the data file read by the :doc:`read_data + ` command. Once this has been done, the MDI driver can + send an >ELEMENTS command to the LAMMPS driver with the atomic + number of each atom and the LAMMPS engine will be able to map it to + a LAMMPS atom type. The MD and OPTG commands perform an entire MD simulation or energy minimization (to convergence) with no communication from the driver From 7a4b23938eb5c7875347b846231784a78fbc58ef Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 24 Feb 2023 19:00:12 -0500 Subject: [PATCH 151/448] update example so we can use the simpler communication pattern --- examples/PACKAGES/alchemy/h3o+.mol | 39 -------------- examples/PACKAGES/alchemy/in.twowater | 75 +++++++++++++++++++-------- examples/PACKAGES/alchemy/oh-.mol | 24 --------- 3 files changed, 54 insertions(+), 84 deletions(-) delete mode 100644 examples/PACKAGES/alchemy/h3o+.mol delete mode 100644 examples/PACKAGES/alchemy/oh-.mol diff --git a/examples/PACKAGES/alchemy/h3o+.mol b/examples/PACKAGES/alchemy/h3o+.mol deleted file mode 100644 index 699438e7a4..0000000000 --- a/examples/PACKAGES/alchemy/h3o+.mol +++ /dev/null @@ -1,39 +0,0 @@ -# Hydronium ion. SPC/E model. - -4 atoms -3 bonds -3 angles - -Coords - -1 0.00000 1.00000 0.00000 -2 0.00000 0.00000 0.00000 -3 0.00000 -0.50000 -0.8660 -4 0.00000 -0.50000 0.8660 - -Types - -1 2 -2 1 -3 2 -4 2 - -Charges - -1 0.56775 -2 -0.70305 -3 0.56775 -4 0.56775 - -Bonds - -1 1 2 1 -2 1 2 3 -3 1 2 4 - -Angles - -1 1 1 2 3 -1 1 3 2 4 -1 1 1 2 4 - diff --git a/examples/PACKAGES/alchemy/in.twowater b/examples/PACKAGES/alchemy/in.twowater index 62e0dacd60..dd246666bf 100644 --- a/examples/PACKAGES/alchemy/in.twowater +++ b/examples/PACKAGES/alchemy/in.twowater @@ -1,12 +1,16 @@ -# set up names for two partitions with different topologies +# Example for alchemical transformation of two water molecules into a hydronium and hydroxyl ion +# WARNING: This input is for demonstrating the method. +# Force field parameters are made up and not suitable for production simulations. + +# set up names for two partitions with different topologies for output files. variable name world twowater twoions units real atom_style full atom_modify map array -region box block -10 10 -10 10 -10 10 -boundary m m m -create_box 2 box bond/types 1 angle/types 1 & +region box block -5 5 -5 5 -5 5 +boundary p p p +create_box 2 box bond/types 2 angle/types 2 & extra/bond/per/atom 3 extra/angle/per/atom 3 extra/special/per/atom 3 mass 1 15.9994 @@ -18,36 +22,65 @@ pair_coeff 1 2 0.0 1.0 pair_coeff 2 2 0.0 1.0 bond_style harmonic -bond_coeff 1 1000.0 1.0 +bond_coeff * 1000.0 1.0 angle_style harmonic -angle_coeff 1 100.0 109.47 +angle_coeff * 100.0 109.47 molecule water h2o.mol -molecule hydronium h3o+.mol -molecule hydroxyl oh-.mol +# create the two molecules we want to transform ... +create_atoms 0 single -2.0 0.0 0.0 mol water 453624 +create_atoms 0 single 2.0 0.0 0.0 mol water 767353 -timestep 0.1 +# ... and put them in a group +group transform id 1:6 + +# now fill the box with more water +create_atoms 0 random 32 34564 NULL mol water 25367 overlap 1.4 + +# change topology and settings for the two states +# we cannot simply create a different topology directly or +# load a different data file because the order and position +# of all atoms must be maintained across both replica + +# for that we first have to remove everything. +delete_bonds transform bond 1 +delete_bonds transform angle 1 remove # generate different topologies with the same number of atoms if "${name} == twowater" then & - "create_atoms 0 single -2.0 0.0 0.0 mol water 453624" & - "create_atoms 0 single 2.0 0.0 0.0 mol water 767353" & + "create_bonds single/bond 2 1 2" & + "create_bonds single/bond 2 1 3" & + "create_bonds single/bond 2 4 5" & + "create_bonds single/bond 2 4 6" & + "create_bonds single/angle 2 2 1 3" & + "create_bonds single/angle 2 5 4 6" & else & - "create_atoms 0 single 2.0 0.0 0.0 mol hydroxyl 767353" & - "create_atoms 0 single -2.0 0.0 0.0 mol hydronium 453624" + "create_bonds single/bond 2 1 2" & + "create_bonds single/bond 2 3 4" & + "create_bonds single/bond 2 4 5" & + "create_bonds single/bond 2 4 6" & + "create_bonds single/angle 2 3 4 5" & + "create_bonds single/angle 2 5 4 6" & + "create_bonds single/angle 2 3 4 6" & + "set atom 1 charge -1.1354" & + "set atom 2 charge 0.1354" & + "set atom 3 charge 0.56775" & + "set atom 4 charge -0.70305" & + "set atom 5*6 charge 0.56775" -velocity all create 100 5463576 +velocity all create 300.0 5463576 +timestep 0.2 -fix 1 all nve +fix 1 all nvt temp 300 300 1.0 fix 2 all alchemy +fix 3 all shake 0.0001 50 1000 b 1 a 1 -dump 1 all atom 100 ${name}.lammpstrj -dump_modify 1 sort id +if "${name} == twowater" then & + "dump 1 all atom 100 ${name}.lammpstrj" & + "dump_modify 1 sort id" -thermo_style custom step temp press etotal pe ke f_2[*] +thermo_style custom step temp press etotal density pe ke f_2[*] thermo 100 - -reset_timestep 100 -run 10000 start 0 stop 20000 +run 20000 diff --git a/examples/PACKAGES/alchemy/oh-.mol b/examples/PACKAGES/alchemy/oh-.mol deleted file mode 100644 index 782d1fa88f..0000000000 --- a/examples/PACKAGES/alchemy/oh-.mol +++ /dev/null @@ -1,24 +0,0 @@ -# Hydroxyl ion. SPC/E model. - -2 atoms -1 bonds - -Coords - -1 0.5 0.0 0.0 -2 -0.5 0.0 0.0 - -Types - -1 1 -2 2 - -Charges - -1 -1.1354 -2 0.1354 - -Bonds - -1 1 1 2 - From 6d12f7925b136bac654160bb52a13ad026f7e16f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 24 Feb 2023 19:00:53 -0500 Subject: [PATCH 152/448] first working implementation of fix alchemy. still w/o support for pressure and variable cell. --- src/.gitignore | 4 +- src/REPLICA/fix_alchemy.cpp | 75 ++++++++++++++++++++----------------- src/REPLICA/fix_alchemy.h | 6 +-- 3 files changed, 45 insertions(+), 40 deletions(-) diff --git a/src/.gitignore b/src/.gitignore index 8f0f577a45..9da19ca982 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -1531,8 +1531,8 @@ /fix_langevin_drude.h /fix_mol_swap.cpp /fix_mol_swap.h -/fix_pimd.cpp -/fix_pimd.h +/fix_alchemy.cpp +/fix_alchemy.h /fix_pimd_nvt.cpp /fix_pimd_nvt.h /fix_qbmsst.cpp diff --git a/src/REPLICA/fix_alchemy.cpp b/src/REPLICA/fix_alchemy.cpp index da10f8261f..104212cb9b 100644 --- a/src/REPLICA/fix_alchemy.cpp +++ b/src/REPLICA/fix_alchemy.cpp @@ -15,8 +15,11 @@ #include "atom.h" #include "comm.h" +#include "compute.h" #include "error.h" #include "memory.h" +#include "modify.h" +#include "respa.h" #include "universe.h" #include "update.h" @@ -35,14 +38,17 @@ static double get_lambda(const bigint &step, const bigint &begin, const bigint & /* ---------------------------------------------------------------------- */ -FixAlchemy::FixAlchemy(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), coordbuf(nullptr) +FixAlchemy::FixAlchemy(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { + if (narg != 3) error->all(FLERR, "Incorrect number of arguments for fix alchemy"); + lambda = epot[0] = epot[1] = 0.0; no_change_box = 1; vector_flag = 1; - size_vector = 3; + size_vector = 4; extvector = 0; + ilevel_respa = 0; // set up communicators if (universe->nworlds != 2) error->all(FLERR, "Must use exactly two partitions"); @@ -50,7 +56,8 @@ FixAlchemy::FixAlchemy(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), int key = universe->iworld; MPI_Comm_split(universe->uworld, color, key, &samerank); - if (narg != 3) error->all(FLERR, "Incorrect number of arguments for fix alchemy"); + id_pe = std::string(id) + "_pe"; + modify->add_compute(id_pe + " all pe"); } /* ---------------------------------------------------------------------- */ @@ -58,6 +65,7 @@ FixAlchemy::FixAlchemy(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), FixAlchemy::~FixAlchemy() { MPI_Comm_free(&samerank); + modify->delete_compute(id_pe); } /* ---------------------------------------------------------------------- */ @@ -76,53 +84,50 @@ void FixAlchemy::init() {} /* ---------------------------------------------------------------------- */ -void FixAlchemy::setup(int /*vflag*/) +void FixAlchemy::setup(int vflag) { - const int nall = atom->nlocal; - const auto tag = atom->tag; - const auto x = atom->x; - - memory->destroy(coordbuf); - memory->create(coordbuf, 4 * sizeof(double) * nall, "alchemy:coordbuf"); - - if (universe->iworld == 0) { - int m = 0; - for (int i = 0; i < nall; ++i) { - coordbuf[m++] = ubuf(tag[i]).d; - coordbuf[m++] = x[i][0]; - coordbuf[m++] = x[i][1]; - coordbuf[m++] = x[i][2]; - } + if (utils::strmatch(update->integrate_style, "^respa")) { + auto respa = dynamic_cast(update->integrate); + respa->copy_flevel_f(ilevel_respa); + post_force_respa(vflag, ilevel_respa, 0); + respa->copy_f_flevel(ilevel_respa); + } else { + post_force(vflag); } - - MPI_Bcast(coordbuf, 4 * nall, MPI_DOUBLE, 0, samerank); - - if (universe->iworld == 1) { - int m = 0; - for (int i = 0; i < nall; ++i) { - tagint mytag = (tagint) ubuf(coordbuf[m++]).i; - x[atom->map(mytag)][0] = coordbuf[m++]; - x[atom->map(mytag)][1] = coordbuf[m++]; - x[atom->map(mytag)][2] = coordbuf[m++]; - } - } - - lambda = get_lambda(update->ntimestep, update->beginstep, update->endstep, universe->iworld); } /* ---------------------------------------------------------------------- */ void FixAlchemy::post_integrate() { - int nall = 3 * (atom->nlocal + atom->nghost); - // MPI_Bcast(&atom->x[0][0], nall, MPI_DOUBLE, 0, samerank); + const int nall = atom->nlocal + atom->nghost; + MPI_Bcast(&atom->x[0][0], 3 * nall, MPI_DOUBLE, 0, samerank); } /* ---------------------------------------------------------------------- */ void FixAlchemy::post_force(int /*vflag*/) { + const int nall = atom->nlocal; + auto f = atom->f; lambda = get_lambda(update->ntimestep, update->beginstep, update->endstep, universe->iworld); + + double *commbuf = new double[3 * nall]; + int m = 0; + for (int i = 0; i < nall; ++i) { + commbuf[m++] = f[i][0] * lambda; + commbuf[m++] = f[i][1] * lambda; + commbuf[m++] = f[i][2] * lambda; + } + MPI_Allreduce(commbuf, &f[0][0], 3 * nall, MPI_DOUBLE, MPI_SUM, samerank); + + auto pe = modify->get_compute_by_id(id_pe); + commbuf[0] = commbuf[1] = commbuf[2] = 0.0; + commbuf[universe->iworld] = pe->compute_scalar() / comm->nprocs; + commbuf[2] = lambda * pe->compute_scalar() / comm->nprocs; + MPI_Allreduce(commbuf, epot, 3, MPI_DOUBLE, MPI_SUM, universe->uworld); + delete[] commbuf; + pe->addstep(update->ntimestep + 1); } /* ---------------------------------------------------------------------- */ diff --git a/src/REPLICA/fix_alchemy.h b/src/REPLICA/fix_alchemy.h index 2c48b5b4e7..0457d12735 100644 --- a/src/REPLICA/fix_alchemy.h +++ b/src/REPLICA/fix_alchemy.h @@ -38,10 +38,10 @@ class FixAlchemy : public Fix { protected: MPI_Comm samerank; - MPI_Comm rankzero; - double *coordbuf; + std::string id_pe; double lambda; // changes from 0 to 1 during run - double epot[2]; // last (unscaled) potential energy from each replica + double epot[3]; // last (unscaled) potential energy from each replica and combined energy + int ilevel_respa; }; } // namespace LAMMPS_NS From fdf514823827068675aabd4d856cfe050b509e90 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 24 Feb 2023 22:55:23 -0500 Subject: [PATCH 153/448] don't store topology information with ghost atoms. they will be ignored. --- src/create_bonds.cpp | 47 ++++++++++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/src/create_bonds.cpp b/src/create_bonds.cpp index c6d3f1838e..5355ce2b7c 100644 --- a/src/create_bonds.cpp +++ b/src/create_bonds.cpp @@ -319,8 +319,6 @@ void CreateBonds::many() void CreateBonds::single_bond() { - int m; - // check that 2 atoms exist const int nlocal = atom->nlocal; @@ -341,7 +339,8 @@ void CreateBonds::single_bond() int **bond_type = atom->bond_type; tagint **bond_atom = atom->bond_atom; - if ((m = idx1) >= 0) { + int m = idx1; + if ((m >= 0) && (m < nlocal)) { if (num_bond[m] == atom->bond_per_atom) error->one(FLERR, "New bond exceeded bonds per atom in create_bonds"); bond_type[m][num_bond[m]] = btype; @@ -352,7 +351,8 @@ void CreateBonds::single_bond() if (force->newton_bond) return; - if ((m = idx2) >= 0) { + m = idx2; + if ((m >= 0) && (m < nlocal)) { if (num_bond[m] == atom->bond_per_atom) error->one(FLERR, "New bond exceeded bonds per atom in create_bonds"); bond_type[m][num_bond[m]] = btype; @@ -365,8 +365,6 @@ void CreateBonds::single_bond() void CreateBonds::single_angle() { - int m; - // check that 3 atoms exist const int nlocal = atom->nlocal; @@ -391,7 +389,8 @@ void CreateBonds::single_angle() tagint **angle_atom2 = atom->angle_atom2; tagint **angle_atom3 = atom->angle_atom3; - if ((m = idx2) >= 0) { + int m = idx2; + if ((m >= 0) && (m < nlocal)) { if (num_angle[m] == atom->angle_per_atom) error->one(FLERR, "New angle exceeded angles per atom in create_bonds"); angle_type[m][num_angle[m]] = atype; @@ -404,7 +403,8 @@ void CreateBonds::single_angle() if (force->newton_bond) return; - if ((m = idx1) >= 0) { + m = idx1; + if ((m >= 0) && (m < nlocal)) { if (num_angle[m] == atom->angle_per_atom) error->one(FLERR, "New angle exceeded angles per atom in create_bonds"); angle_type[m][num_angle[m]] = atype; @@ -414,7 +414,8 @@ void CreateBonds::single_angle() num_angle[m]++; } - if ((m = idx3) >= 0) { + m = idx3; + if ((m >= 0) && (m < nlocal)) { if (num_angle[m] == atom->angle_per_atom) error->one(FLERR, "New angle exceeded angles per atom in create_bonds"); angle_type[m][num_angle[m]] = atype; @@ -429,8 +430,6 @@ void CreateBonds::single_angle() void CreateBonds::single_dihedral() { - int m; - // check that 4 atoms exist const int nlocal = atom->nlocal; @@ -458,7 +457,8 @@ void CreateBonds::single_dihedral() tagint **dihedral_atom3 = atom->dihedral_atom3; tagint **dihedral_atom4 = atom->dihedral_atom4; - if ((m = idx2) >= 0) { + int m = idx2; + if ((m >= 0) && (m < nlocal)) { if (num_dihedral[m] == atom->dihedral_per_atom) error->one(FLERR, "New dihedral exceeded dihedrals per atom in create_bonds"); dihedral_type[m][num_dihedral[m]] = dtype; @@ -472,7 +472,8 @@ void CreateBonds::single_dihedral() if (force->newton_bond) return; - if ((m = idx1) >= 0) { + m = idx1; + if ((m >= 0) && (m < nlocal)) { if (num_dihedral[m] == atom->dihedral_per_atom) error->one(FLERR, "New dihedral exceeded dihedrals per atom in create_bonds"); dihedral_type[m][num_dihedral[m]] = dtype; @@ -483,7 +484,8 @@ void CreateBonds::single_dihedral() num_dihedral[m]++; } - if ((m = idx3) >= 0) { + m = idx3; + if ((m >= 0) && (m < nlocal)) { if (num_dihedral[m] == atom->dihedral_per_atom) error->one(FLERR, "New dihedral exceeded dihedrals per atom in create_bonds"); dihedral_type[m][num_dihedral[m]] = dtype; @@ -494,7 +496,8 @@ void CreateBonds::single_dihedral() num_dihedral[m]++; } - if ((m = idx4) >= 0) { + m = idx4; + if ((m >= 0) && (m < nlocal)) { if (num_dihedral[m] == atom->dihedral_per_atom) error->one(FLERR, "New dihedral exceeded dihedrals per atom in create_bonds"); dihedral_type[m][num_dihedral[m]] = dtype; @@ -510,8 +513,6 @@ void CreateBonds::single_dihedral() void CreateBonds::single_improper() { - int m; - // check that 4 atoms exist const int nlocal = atom->nlocal; @@ -539,7 +540,8 @@ void CreateBonds::single_improper() tagint **improper_atom3 = atom->improper_atom3; tagint **improper_atom4 = atom->improper_atom4; - if ((m = idx2) >= 0) { + int m = idx2; + if ((m >= 0) && (m < nlocal)) { if (num_improper[m] == atom->improper_per_atom) error->one(FLERR, "New improper exceeded impropers per atom in create_bonds"); improper_type[m][num_improper[m]] = dtype; @@ -553,7 +555,8 @@ void CreateBonds::single_improper() if (force->newton_bond) return; - if ((m = idx1) >= 0) { + m = idx1; + if ((m >= 0) && (m < nlocal)) { if (num_improper[m] == atom->improper_per_atom) error->one(FLERR, "New improper exceeded impropers per atom in create_bonds"); improper_type[m][num_improper[m]] = dtype; @@ -564,7 +567,8 @@ void CreateBonds::single_improper() num_improper[m]++; } - if ((m = idx3) >= 0) { + m = idx3; + if ((m >= 0) && (m < nlocal)) { if (num_improper[m] == atom->improper_per_atom) error->one(FLERR, "New improper exceeded impropers per atom in create_bonds"); improper_type[m][num_improper[m]] = dtype; @@ -575,7 +579,8 @@ void CreateBonds::single_improper() num_improper[m]++; } - if ((m = idx4) >= 0) { + m = idx4; + if ((m >= 0) && (m < nlocal)) { if (num_improper[m] == atom->improper_per_atom) error->one(FLERR, "New improper exceeded impropers per atom in create_bonds"); improper_type[m][num_improper[m]] = dtype; From 724218604545795ed4d900065bdc87da2e5b8fb3 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 25 Feb 2023 10:34:25 -0500 Subject: [PATCH 154/448] add compute pressure/alchemy so it can be used with fix npt --- examples/PACKAGES/alchemy/in.twowater | 30 ++++--- src/.gitignore | 2 + src/REPLICA/compute_pressure_alchemy.cpp | 102 +++++++++++++++++++++++ src/REPLICA/compute_pressure_alchemy.h | 41 +++++++++ src/REPLICA/fix_alchemy.cpp | 89 +++++++++++++++----- src/REPLICA/fix_alchemy.h | 11 ++- 6 files changed, 241 insertions(+), 34 deletions(-) create mode 100644 src/REPLICA/compute_pressure_alchemy.cpp create mode 100644 src/REPLICA/compute_pressure_alchemy.h diff --git a/examples/PACKAGES/alchemy/in.twowater b/examples/PACKAGES/alchemy/in.twowater index dd246666bf..63089d23c5 100644 --- a/examples/PACKAGES/alchemy/in.twowater +++ b/examples/PACKAGES/alchemy/in.twowater @@ -1,8 +1,8 @@ # Example for alchemical transformation of two water molecules into a hydronium and hydroxyl ion -# WARNING: This input is for demonstrating the method. -# Force field parameters are made up and not suitable for production simulations. +# WARNING: This input is intended for demonstrating the method, only +# The force field parameters are made up and NOT suitable for production simulations. -# set up names for two partitions with different topologies for output files. +# set up different names for two partitions variable name world twowater twoions units real @@ -36,19 +36,19 @@ create_atoms 0 single 2.0 0.0 0.0 mol water 767353 # ... and put them in a group group transform id 1:6 -# now fill the box with more water -create_atoms 0 random 32 34564 NULL mol water 25367 overlap 1.4 +# now fill the rest of the box with more water +create_atoms 0 random 32 34564 NULL mol water 25367 overlap 1.33 # change topology and settings for the two states # we cannot simply create a different topology directly or # load a different data file because the order and position # of all atoms must be maintained across both replica -# for that we first have to remove everything. +# we first have to remove all topology data in the transform group delete_bonds transform bond 1 delete_bonds transform angle 1 remove -# generate different topologies with the same number of atoms +# then generate different topologies for the two partitions. select by name. if "${name} == twowater" then & "create_bonds single/bond 2 1 2" & "create_bonds single/bond 2 1 3" & @@ -73,14 +73,22 @@ else & velocity all create 300.0 5463576 timestep 0.2 -fix 1 all nvt temp 300 300 1.0 -fix 2 all alchemy -fix 3 all shake 0.0001 50 1000 b 1 a 1 +# since the trajectory and forces are kept identical through fix alchemy +# we can even do fix npt simulations, but we need to use the "mixed" pressure +fix integrate all npt temp 300 300 1.0 iso 1.0 1.0 10.0 +fix transform all alchemy +compute pressure all pressure/alchemy transform +fix_modify integrate press pressure + +# only need to output a dump file form one partition if "${name} == twowater" then & "dump 1 all atom 100 ${name}.lammpstrj" & "dump_modify 1 sort id" -thermo_style custom step temp press etotal density pe ke f_2[*] +thermo_style custom step temp press etotal density pe ke f_transform[1] f_transform[4] +thermo_modify colname f_transform[1] lambda colname f_transform[4] EPot_mixed +thermo_modify press pressure + thermo 100 run 20000 diff --git a/src/.gitignore b/src/.gitignore index 9da19ca982..0d73a7911d 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -1465,6 +1465,8 @@ /zstd_file_writer.cpp /zstd_file_writer.h +/compute_pressure_alchemy.cpp +/compute_pressure_alchemy.h /atom_vec_smd.cpp /atom_vec_smd.h /compute_saed.cpp diff --git a/src/REPLICA/compute_pressure_alchemy.cpp b/src/REPLICA/compute_pressure_alchemy.cpp new file mode 100644 index 0000000000..d19ea1b893 --- /dev/null +++ b/src/REPLICA/compute_pressure_alchemy.cpp @@ -0,0 +1,102 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "compute_pressure_alchemy.h" + +#include "domain.h" +#include "error.h" +#include "fix.h" +#include "modify.h" +#include "update.h" + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +ComputePressureAlchemy::ComputePressureAlchemy(LAMMPS *lmp, int narg, char **arg) : + Compute(lmp, narg, arg) +{ + if (narg != 4) error->all(FLERR, "Illegal compute pressure/alchemy command"); + if (igroup) error->all(FLERR, "Compute pressure/alchemy must use group all"); + + scalar_flag = vector_flag = 1; + size_vector = 6; + extscalar = 0; + extvector = 0; + pressflag = 1; + timeflag = 1; + + id_fix = arg[3]; + if (!modify->get_fix_by_id(id_fix)) + error->all(FLERR, "Could not find compute pressure/alchemy fix ID {} for fix alchemy", id_fix); + + vector = new double[size_vector]; +} + +/* ---------------------------------------------------------------------- */ + +ComputePressureAlchemy::~ComputePressureAlchemy() +{ + delete[] vector; +} + +/* ---------------------------------------------------------------------- */ + +void ComputePressureAlchemy::init() +{ + + fix = modify->get_fix_by_id(id_fix); + if (!fix) + error->all(FLERR, "Could not find compute pressure/alchemy fix ID {} for fix alchemy", id_fix); + + int dim = 0; + void *ptr = fix->extract("pressure", dim); + if (!ptr || (dim != 1)) error->all(FLERR, "Could not extract pressure from fix alchemy"); +} + +/* ---------------------------------------------------------------------- + compute total pressure from tensor, averaged over Pxx, Pyy, Pzz +------------------------------------------------------------------------- */ + +double ComputePressureAlchemy::compute_scalar() +{ + invoked_scalar = update->ntimestep; + if (update->vflag_global != invoked_scalar) + error->all(FLERR, "Virial was not tallied on needed timestep"); + + compute_vector(); + + if (domain->dimension == 3) { + scalar = (vector[0] + vector[1] + vector[2]) / 3.0; + } else { + scalar = (vector[0] + vector[1]) / 2.0; + } + return scalar; +} + +/* ---------------------------------------------------------------------- + extract compute combined system pressure tensor from alchemy fix +------------------------------------------------------------------------- */ + +void ComputePressureAlchemy::compute_vector() +{ + invoked_vector = update->ntimestep; + if (update->vflag_global != invoked_vector) + error->all(FLERR, "Virial was not tallied on needed timestep"); + + int dim = 0; + double *pressure = (double *) fix->extract("pressure", dim); + if (!pressure || (dim != 1)) error->all(FLERR, "Could not extract pressure from fix alchemy"); + + for (int i = 0; i < 6; i++) vector[i] = pressure[i]; +} diff --git a/src/REPLICA/compute_pressure_alchemy.h b/src/REPLICA/compute_pressure_alchemy.h new file mode 100644 index 0000000000..0ce0039587 --- /dev/null +++ b/src/REPLICA/compute_pressure_alchemy.h @@ -0,0 +1,41 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef COMPUTE_CLASS +// clang-format off +ComputeStyle(pressure/alchemy,ComputePressureAlchemy); +// clang-format on +#else + +#ifndef LMP_COMPUTE_PRESSURE_ALCHEMY_H +#define LMP_COMPUTE_PRESSURE_ALCHEMY_H + +#include "compute.h" + +namespace LAMMPS_NS { + +class ComputePressureAlchemy : public Compute { + public: + ComputePressureAlchemy(class LAMMPS *, int, char **); + ~ComputePressureAlchemy() override; + void init() override; + double compute_scalar() override; + void compute_vector() override; + + protected: + class Fix *fix; + std::string id_fix; +}; +} // namespace LAMMPS_NS +#endif +#endif diff --git a/src/REPLICA/fix_alchemy.cpp b/src/REPLICA/fix_alchemy.cpp index 104212cb9b..75b4c4cb73 100644 --- a/src/REPLICA/fix_alchemy.cpp +++ b/src/REPLICA/fix_alchemy.cpp @@ -23,6 +23,8 @@ #include "universe.h" #include "update.h" +#include + using namespace LAMMPS_NS; using namespace FixConst; @@ -38,26 +40,46 @@ static double get_lambda(const bigint &step, const bigint &begin, const bigint & /* ---------------------------------------------------------------------- */ -FixAlchemy::FixAlchemy(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) +FixAlchemy::FixAlchemy(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), commbuf(nullptr) { if (narg != 3) error->all(FLERR, "Incorrect number of arguments for fix alchemy"); lambda = epot[0] = epot[1] = 0.0; + for (int i = 0; i < 6; ++i) pressure[i] = 0.0; no_change_box = 1; vector_flag = 1; - size_vector = 4; + size_vector = 10; extvector = 0; ilevel_respa = 0; + nmax = 6; - // set up communicators + // set up rank-to-rank communicator if (universe->nworlds != 2) error->all(FLERR, "Must use exactly two partitions"); int color = comm->me; int key = universe->iworld; MPI_Comm_split(universe->uworld, color, key, &samerank); + // check that we have the same domain decomposition on all ranks + int my_nlocal[2] = {0, 0}; + int all_nlocal[2] = {0, 0}; + my_nlocal[universe->iworld] = atom->nlocal; + MPI_Allreduce(my_nlocal, all_nlocal, 2, MPI_INT, MPI_SUM, samerank); + int fail = (all_nlocal[0] == all_nlocal[1]) ? 0 : 1; + int allfail = 0; + MPI_Allreduce(&fail, &allfail, 1, MPI_INT, MPI_MAX, universe->uworld); + if (allfail) + error->all(FLERR, "Number of atoms and domain decomposition must match for both partitions"); + id_pe = std::string(id) + "_pe"; - modify->add_compute(id_pe + " all pe"); + pe = modify->add_compute(id_pe + " all pe"); + pe->addstep(update->ntimestep); + id_temp = std::string(id) + "_temp"; + temp = modify->add_compute(id_temp + " all temp"); + temp->addstep(update->ntimestep); + id_press = std::string(id) + "_press"; + press = modify->add_compute(id_press + " all pressure " + id_temp); + press->addstep(update->ntimestep); } /* ---------------------------------------------------------------------- */ @@ -66,6 +88,9 @@ FixAlchemy::~FixAlchemy() { MPI_Comm_free(&samerank); modify->delete_compute(id_pe); + modify->delete_compute(id_temp); + modify->delete_compute(id_press); + memory->destroy(commbuf); } /* ---------------------------------------------------------------------- */ @@ -80,7 +105,13 @@ int FixAlchemy::setmask() /* ---------------------------------------------------------------------- */ -void FixAlchemy::init() {} +void FixAlchemy::init() +{ + int onenmax = MAX(nmax, 3 * atom->nmax); + MPI_Allreduce(&onenmax, &nmax, 1, MPI_INT, MPI_MAX, universe->uworld); + memory->destroy(commbuf); + memory->create(commbuf, sizeof(double) * nmax, "alchemy:nmax"); +} /* ---------------------------------------------------------------------- */ @@ -108,26 +139,31 @@ void FixAlchemy::post_integrate() void FixAlchemy::post_force(int /*vflag*/) { - const int nall = atom->nlocal; - auto f = atom->f; + if (3 * atom->nmax > nmax) { + nmax = 3 * atom->nmax; + memory->grow(commbuf, sizeof(double) * atom->nmax, "alchemy:commbuf"); + } + + const int nall = 3 * atom->nlocal; + double *f = &atom->f[0][0]; lambda = get_lambda(update->ntimestep, update->beginstep, update->endstep, universe->iworld); - double *commbuf = new double[3 * nall]; - int m = 0; - for (int i = 0; i < nall; ++i) { - commbuf[m++] = f[i][0] * lambda; - commbuf[m++] = f[i][1] * lambda; - commbuf[m++] = f[i][2] * lambda; - } - MPI_Allreduce(commbuf, &f[0][0], 3 * nall, MPI_DOUBLE, MPI_SUM, samerank); + for (int i = 0; i < nall; ++i) commbuf[i] = f[i] * lambda; + MPI_Allreduce(commbuf, f, nall, MPI_DOUBLE, MPI_SUM, samerank); - auto pe = modify->get_compute_by_id(id_pe); + // sum up potential energy + const double scalefac = 1.0 / comm->nprocs; commbuf[0] = commbuf[1] = commbuf[2] = 0.0; - commbuf[universe->iworld] = pe->compute_scalar() / comm->nprocs; - commbuf[2] = lambda * pe->compute_scalar() / comm->nprocs; + commbuf[universe->iworld] = scalefac * pe->compute_scalar(); + commbuf[2] = lambda * scalefac * pe->compute_scalar(); MPI_Allreduce(commbuf, epot, 3, MPI_DOUBLE, MPI_SUM, universe->uworld); - delete[] commbuf; pe->addstep(update->ntimestep + 1); + + // sum up pressure + press->compute_vector(); + for (int i = 0; i < 6; ++i) commbuf[i] = lambda * scalefac * press->vector[i]; + MPI_Allreduce(commbuf, pressure, 6, MPI_DOUBLE, MPI_SUM, universe->uworld); + press->addstep(update->ntimestep + 1); } /* ---------------------------------------------------------------------- */ @@ -135,5 +171,18 @@ void FixAlchemy::post_force(int /*vflag*/) double FixAlchemy::compute_vector(int n) { if (n == 0) return lambda; - return epot[n - 1]; + if ((n > 0) && (n < 4)) return epot[n - 1]; + return pressure[n - 4]; +} + +/* ---------------------------------------------------------------------- */ + +void *FixAlchemy::extract(const char *str, int &dim) +{ + dim = 0; + if (strcmp(str, "lambda") == 0) { return λ } + if (strcmp(str, "pe") == 0) { return &epot[2]; } + dim = 1; + if (strcmp(str, "pressure") == 0) { return pressure; } + return nullptr; } diff --git a/src/REPLICA/fix_alchemy.h b/src/REPLICA/fix_alchemy.h index 0457d12735..9794629db3 100644 --- a/src/REPLICA/fix_alchemy.h +++ b/src/REPLICA/fix_alchemy.h @@ -35,13 +35,18 @@ class FixAlchemy : public Fix { void post_integrate() override; void post_force(int) override; double compute_vector(int) override; + void *extract(const char *, int &) override; protected: MPI_Comm samerank; - std::string id_pe; - double lambda; // changes from 0 to 1 during run - double epot[3]; // last (unscaled) potential energy from each replica and combined energy + double *commbuf; + class Compute *pe, *temp, *press; + std::string id_pe, id_temp, id_press; + double lambda; // changes from 0 to 1 during run + double epot[3]; // last (unscaled) potential energy from each replica and combined energy + double pressure[6]; // joined pressure int ilevel_respa; + int nmax; }; } // namespace LAMMPS_NS From c288a20077effb1bcb588cd166e88ebdcfb46cf0 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 25 Feb 2023 11:14:56 -0500 Subject: [PATCH 155/448] add progress information to screen or universe logfile --- examples/PACKAGES/alchemy/in.twowater | 12 +- .../alchemy/log.25Feb23.twowater.g++.4 | 13 + .../alchemy/log.25Feb23.twowater.g++.4.0 | 408 +++++++++++++++++ .../alchemy/log.25Feb23.twowater.g++.4.1 | 433 ++++++++++++++++++ src/REPLICA/fix_alchemy.cpp | 19 + src/REPLICA/fix_alchemy.h | 1 + 6 files changed, 880 insertions(+), 6 deletions(-) create mode 100644 examples/PACKAGES/alchemy/log.25Feb23.twowater.g++.4 create mode 100644 examples/PACKAGES/alchemy/log.25Feb23.twowater.g++.4.0 create mode 100644 examples/PACKAGES/alchemy/log.25Feb23.twowater.g++.4.1 diff --git a/examples/PACKAGES/alchemy/in.twowater b/examples/PACKAGES/alchemy/in.twowater index 63089d23c5..8c19eab215 100644 --- a/examples/PACKAGES/alchemy/in.twowater +++ b/examples/PACKAGES/alchemy/in.twowater @@ -73,18 +73,18 @@ else & velocity all create 300.0 5463576 timestep 0.2 -# since the trajectory and forces are kept identical through fix alchemy -# we can even do fix npt simulations, but we need to use the "mixed" pressure +# since the trajectory and forces are kept identical through fix alchemy, +# we can do fix npt simulations, but we must use the "mixed" pressure fix integrate all npt temp 300 300 1.0 iso 1.0 1.0 10.0 fix transform all alchemy compute pressure all pressure/alchemy transform fix_modify integrate press pressure -# only need to output a dump file form one partition -if "${name} == twowater" then & - "dump 1 all atom 100 ${name}.lammpstrj" & - "dump_modify 1 sort id" +# only need to output a dump file from one partition +# if "${name} == twowater" then & +# "dump 1 all atom 100 ${name}.lammpstrj" & +# "dump_modify 1 sort id" thermo_style custom step temp press etotal density pe ke f_transform[1] f_transform[4] thermo_modify colname f_transform[1] lambda colname f_transform[4] EPot_mixed diff --git a/examples/PACKAGES/alchemy/log.25Feb23.twowater.g++.4 b/examples/PACKAGES/alchemy/log.25Feb23.twowater.g++.4 new file mode 100644 index 0000000000..18375012d0 --- /dev/null +++ b/examples/PACKAGES/alchemy/log.25Feb23.twowater.g++.4 @@ -0,0 +1,13 @@ +LAMMPS (8 Feb 2023) +Running on 2 partitions of processors +Starting alchemical transformation at 0% + Alchemical transformation progress: 10% + Alchemical transformation progress: 20% + Alchemical transformation progress: 30% + Alchemical transformation progress: 40% + Alchemical transformation progress: 50% + Alchemical transformation progress: 60% + Alchemical transformation progress: 70% + Alchemical transformation progress: 80% + Alchemical transformation progress: 90% + Alchemical transformation progress: 100% diff --git a/examples/PACKAGES/alchemy/log.25Feb23.twowater.g++.4.0 b/examples/PACKAGES/alchemy/log.25Feb23.twowater.g++.4.0 new file mode 100644 index 0000000000..7717dae784 --- /dev/null +++ b/examples/PACKAGES/alchemy/log.25Feb23.twowater.g++.4.0 @@ -0,0 +1,408 @@ +LAMMPS (8 Feb 2023) +Processor partition = 0 + using 1 OpenMP thread(s) per MPI task +# Example for alchemical transformation of two water molecules into a hydronium and hydroxyl ion +# WARNING: This input is intended for demonstrating the method, only +# The force field parameters are made up and NOT suitable for production simulations. + +# set up different names for two partitions +variable name world twowater twoions + +units real +atom_style full +atom_modify map array +region box block -5 5 -5 5 -5 5 +boundary p p p +create_box 2 box bond/types 2 angle/types 2 extra/bond/per/atom 3 extra/angle/per/atom 3 extra/special/per/atom 3 +Created orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 1 by 2 MPI processor grid + +mass 1 15.9994 +mass 2 1.008 + +pair_style lj/cut/coul/cut 10.0 +pair_coeff 1 1 0.1553 3.166 +pair_coeff 1 2 0.0 1.0 +pair_coeff 2 2 0.0 1.0 + +bond_style harmonic +bond_coeff * 1000.0 1.0 + +angle_style harmonic +angle_coeff * 100.0 109.47 + +molecule water h2o.mol +Read molecule template water: + 1 molecules + 0 fragments + 3 atoms with max type 2 + 2 bonds with max type 1 + 1 angles with max type 1 + 0 dihedrals with max type 0 + 0 impropers with max type 0 + +# create the two molecules we want to transform ... +create_atoms 0 single -2.0 0.0 0.0 mol water 453624 +Created 3 atoms + using lattice units in orthogonal box = (-5 -5 -5) to (5 5 5) + create_atoms CPU = 0.003 seconds +create_atoms 0 single 2.0 0.0 0.0 mol water 767353 +Created 3 atoms + using lattice units in orthogonal box = (-5 -5 -5) to (5 5 5) + create_atoms CPU = 0.000 seconds + +# ... and put them in a group +group transform id 1:6 +6 atoms in group transform + +# now fill the rest of the box with more water +create_atoms 0 random 32 34564 NULL mol water 25367 overlap 1.33 +Created 96 atoms + using lattice units in orthogonal box = (-5 -5 -5) to (5 5 5) + create_atoms CPU = 0.001 seconds + +# change topology and settings for the two states +# we cannot simply create a different topology directly or +# load a different data file because the order and position +# of all atoms must be maintained across both replica + +# we first have to remove all topology data in the transform group +delete_bonds transform bond 1 +System init for delete_bonds ... +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 12 + ghost atom cutoff = 12 + binsize = 6, bins = 2 2 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut/coul/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Deleting bonds ... + 68 total bonds, 64 turned on, 4 turned off + 34 total angles, 34 turned on, 0 turned off + 0 total dihedrals, 0 turned on, 0 turned off + 0 total impropers, 0 turned on, 0 turned off +delete_bonds transform angle 1 remove +System init for delete_bonds ... +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Deleting bonds ... + 64 total bonds, 64 turned on, 0 turned off + 32 total angles, 32 turned on, 0 turned off + 0 total dihedrals, 0 turned on, 0 turned off + 0 total impropers, 0 turned on, 0 turned off + +# then generate different topologies for the two partitions. select by name. +if "${name} == twowater" then "create_bonds single/bond 2 1 2" "create_bonds single/bond 2 1 3" "create_bonds single/bond 2 4 5" "create_bonds single/bond 2 4 6" "create_bonds single/angle 2 2 1 3" "create_bonds single/angle 2 5 4 6" else "create_bonds single/bond 2 1 2" "create_bonds single/bond 2 3 4" "create_bonds single/bond 2 4 5" "create_bonds single/bond 2 4 6" "create_bonds single/angle 2 3 4 5" "create_bonds single/angle 2 5 4 6" "create_bonds single/angle 2 3 4 6" "set atom 1 charge -1.1354" "set atom 2 charge 0.1354" "set atom 3 charge 0.56775" "set atom 4 charge -0.70305" "set atom 5*6 charge 0.56775" +create_bonds single/bond 2 1 2 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 7 = max # of special neighbors + special bonds CPU = 0.000 seconds +create_bonds single/bond 2 1 3 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 7 = max # of special neighbors + special bonds CPU = 0.000 seconds +create_bonds single/bond 2 4 5 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 7 = max # of special neighbors + special bonds CPU = 0.000 seconds +create_bonds single/bond 2 4 6 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 7 = max # of special neighbors + special bonds CPU = 0.000 seconds +create_bonds single/angle 2 2 1 3 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 7 = max # of special neighbors + special bonds CPU = 0.000 seconds +create_bonds single/angle 2 5 4 6 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 7 = max # of special neighbors + special bonds CPU = 0.000 seconds + +velocity all create 300.0 5463576 +timestep 0.2 + +# since the trajectory and forces are kept identical through fix alchemy, +# we can do fix npt simulations, but we must use the "mixed" pressure + +fix integrate all npt temp 300 300 1.0 iso 1.0 1.0 10.0 +fix transform all alchemy +compute pressure all pressure/alchemy transform +fix_modify integrate press pressure + +# only need to output a dump file from one partition +# if "${name} == twowater" then # "dump 1 all atom 100 ${name}.lammpstrj" # "dump_modify 1 sort id" + +thermo_style custom step temp press etotal density pe ke f_transform[1] f_transform[4] +thermo_modify colname f_transform[1] lambda colname f_transform[4] EPot_mixed +thermo_modify press pressure + +thermo 100 +run 20000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 7.535 | 7.535 | 7.535 Mbytes + Step Temp Press TotEng Density PotEng KinEng lambda EPot_mixed + 0 300 184631.17 -802.19609 1.0171193 -892.51464 90.318545 1 -892.51464 + 100 293.4335 -513.97927 189.09028 0.3029684 100.74865 88.341623 0.995 207.29243 + 200 320.81838 1513.3 111.09325 0.64509407 14.507087 96.586165 0.99 46.402434 + 300 261.53825 -3808.6942 -538.67351 0.88817871 -617.41269 78.739179 0.985 -614.76481 + 400 308.32444 1375.0327 -804.08042 0.97694485 -896.90513 92.824715 0.98 -897.24386 + 500 292.60623 -12843.384 -1141.5985 1.0140814 -1229.691 88.092563 0.975 -1221.948 + 600 326.16112 91608.645 2882.4855 1.0263567 2784.2908 98.194659 0.97 2786.0743 + 700 317.22811 -60420.408 -1517.0601 0.9919143 -1612.5654 95.505272 0.965 -1616.7677 + 800 309.94673 -56793.931 -1549.4612 1.0024958 -1642.7743 93.313126 0.96 -1640.8606 + 900 272.80718 -5076.2282 -1266.6775 1.0141078 -1348.8093 82.131824 0.955 -1357.1812 + 1000 346.52557 -16919.192 -1406.675 1.0170322 -1511.0006 104.32562 0.95 -1514.1398 + 1100 300.62984 -51826.972 -2469.2821 1.0063592 -2559.7903 90.508164 0.945 -2565.9668 + 1200 293.72767 45222.698 2039.1938 1.0272336 1950.7636 88.430186 0.94 1951.1683 + 1300 289.4971 94600.203 2184.5096 1.0298091 2097.3531 87.156524 0.935 2088.1011 + 1400 328.98666 35468.53 1816.723 1.0198467 1717.6777 99.045321 0.93 1716.9268 + 1500 392.9407 41220.21 1820.7312 1.0194044 1702.4317 118.29944 0.925 1690.6416 + 1600 284.90093 -37995.141 -2439.9256 1.0068497 -2525.6984 85.772791 0.92 -2529.5874 + 1700 267.67454 25275.255 1612.5912 1.0313556 1532.0046 80.586582 0.915 1520.9695 + 1800 247.16495 -68222.994 -2699.1903 1.0018048 -2773.6022 74.41193 0.91 -2788.9545 + 1900 328.41849 -51979.665 -2339.7432 1.0154952 -2438.6175 98.874268 0.905 -2461.3422 + 2000 313.8715 21726.003 1473.9594 1.018831 1379.4647 94.494725 0.9 1363.0739 + 2100 296.07341 66130.11 1379.1597 1.0224882 1290.0233 89.136398 0.895 1272.1884 + 2200 282.67889 51746.464 2376.377 1.0362683 2291.2732 85.103821 0.89 2276.1488 + 2300 281.04207 -71937.759 -2791.0867 1.0111968 -2875.6977 84.611035 0.885 -2892.2526 + 2400 321.00806 -51658.758 -2507.6376 1.0168161 -2604.2809 96.643269 0.88 -2622.9732 + 2500 288.95906 49645.753 2361.024 1.0355648 2274.0295 86.99454 0.875 2275.0348 + 2600 303.0064 -48470.216 -1973.9561 1.000439 -2065.1798 91.223657 0.87 -2082.5895 + 2700 361.7083 54973.584 1929.0772 1.0223169 1820.1806 108.89656 0.865 1817.1972 + 2800 289.27827 33564.017 1783.5154 1.0257088 1696.4248 87.090642 0.86 1682.9162 + 2900 283.94365 -47190.274 -2286.9529 1.0059224 -2372.4375 85.484591 0.855 -2395.9575 + 3000 337.10996 61988.686 2289.363 1.0258 2187.8721 101.49094 0.85 2168.1085 + 3100 305.28249 -50123.109 -1913.7375 1.0143567 -2005.6464 91.9089 0.845 -2040.3453 + 3200 270.19471 -18114.265 -1961.3048 1.0132413 -2042.6502 81.345309 0.84 -2076.9595 + 3300 263.39996 -109301.89 -2351.6647 0.99956867 -2430.9643 79.299671 0.835 -2471.0269 + 3400 249.01722 -37585.949 -2423.3849 1.0080932 -2498.3544 74.969576 0.83 -2537.734 + 3500 267.88868 65528.865 2164.3882 1.0390872 2083.7372 80.651054 0.825 2061.6421 + 3600 351.46458 -67583.574 -2861.4561 1.0059621 -2967.2687 105.81256 0.82 -3004.5028 + 3700 332.82565 -61204.843 -2275.2765 1.0053485 -2375.4776 100.20109 0.815 -2415.4435 + 3800 298.0279 61123.085 1951.1943 1.020672 1861.4695 89.724819 0.81 1831.9734 + 3900 317.04715 43210.045 1848.3875 1.0287838 1752.9367 95.450792 0.805 1721.1961 + 4000 261.75174 -111920.72 -3274.707 0.99457106 -3353.5105 78.803455 0.8 -3394.3528 + 4100 338.34245 89763.083 2115.4809 1.0318272 2013.6189 101.86199 0.795 1973.419 + 4200 288.52623 19989.792 1758.0617 1.0204119 1671.1975 86.86423 0.79 1633.1439 + 4300 322.05593 -33791.403 -2107.1643 1.0155065 -2204.1231 96.958741 0.785 -2246.4353 + 4400 280.59054 -27839.599 -1534.3265 1.0123506 -1618.8016 84.475096 0.78 -1672.1425 + 4500 296.08336 75206.112 2789.7494 1.0329133 2700.61 89.139393 0.775 2670.4908 + 4600 288.02094 -67445.101 -2983.5242 0.99579107 -3070.2363 86.712106 0.77 -3132.6352 + 4700 332.21641 -83964.647 -2746.0748 1.0053915 -2846.0925 100.01768 0.765 -2916.6652 + 4800 305.52557 -93111.682 -2354.6562 0.99824941 -2446.6383 91.982082 0.76 -2514.039 + 4900 272.82262 -53664.198 -2790.1342 0.99527907 -2872.2707 82.136472 0.755 -2947.2062 + 5000 288.96388 39846.089 1975.7895 1.0371205 1888.7935 86.99599 0.75 1833.3716 + 5100 293.25543 -71819.425 -2916.8817 0.99452016 -3005.1697 88.288011 0.745 -3069.7618 + 5200 296.16486 -64484.821 -2416.0381 1.0153125 -2505.2021 89.163931 0.74 -2589.6878 + 5300 342.07246 60255.985 1749.8984 1.0306374 1646.9134 102.98496 0.735 1608.5673 + 5400 295.53315 61421.189 1620.6432 1.0334762 1531.6695 88.973746 0.73 1492.0969 + 5500 285.1755 24845.113 1144.9009 1.0335035 1059.0454 85.855455 0.725 1014.0263 + 5600 276.79246 66244.072 1523.3405 1.0251134 1440.0089 83.331641 0.72 1390.9078 + 5700 288.43485 14629.129 1208.7278 1.02997 1121.8911 86.836719 0.715 1074.3779 + 5800 276.64233 59262.97 914.26981 1.0332305 830.98336 83.286443 0.71 763.27415 + 5900 358.25384 -111203.23 -3370.7104 1.006331 -3478.567 107.85655 0.705 -3561.6283 + 6000 327.82233 -62936.335 -1881.2426 1.0106476 -1979.9373 98.694786 0.7 -2062.107 + 6100 309.86553 -59110.381 -2698.4147 1.0076375 -2791.7034 93.28868 0.695 -2870.9566 + 6200 294.95752 -58011.845 -1819.201 1.0161986 -1908.0014 88.800448 0.69 -1971.2586 + 6300 307.27252 59016.127 1186.0709 1.0225343 1093.5629 92.508022 0.685 1032.9616 + 6400 292.21611 -118857.83 -2992.9227 1.0031304 -3080.8978 87.975114 0.68 -3175.9068 + 6500 332.21108 97132.547 2290.2726 1.0349752 2190.2565 100.01607 0.675 2121.4674 + 6600 321.93985 -50017.836 -2484.5919 1.0076385 -2581.5157 96.923796 0.67 -2673.6819 + 6700 299.07231 -98136.241 -3013.1584 1.0106261 -3103.1976 90.039252 0.665 -3194.0694 + 6800 285.33731 28487.407 455.68104 1.017186 369.77687 85.904169 0.66 294.02418 + 6900 296.41387 50054.533 2028.1018 1.0445934 1938.8629 89.238897 0.655 1851.1397 + 7000 318.34109 -71579.897 -3114.0324 1.007304 -3209.8728 95.840345 0.65 -3305.5715 + 7100 317.2192 12370.315 1139.7687 1.0177238 1044.2661 95.502589 0.645 961.68146 + 7200 289.91091 43944.333 1213.4685 1.0302599 1126.1874 87.281105 0.64 1039.3329 + 7300 324.81227 42859.173 1288.5297 1.0300698 1190.7411 97.788572 0.635 1083.5764 + 7400 305.72634 76516.72 2404.9462 1.0580673 2312.9036 92.042527 0.63 2218.3674 + 7500 283.77479 -87225.247 -3401.4354 0.9936609 -3486.8692 85.433754 0.625 -3581.9003 + 7600 318.72048 16084.995 1848.3396 1.0296163 1752.385 95.954566 0.62 1653.5125 + 7700 307.36895 74007.024 1754.8928 1.0363553 1662.3558 92.537054 0.615 1572.8568 + 7800 297.44704 28693.429 1261.5958 1.0206402 1172.0459 89.549946 0.61 1093.5903 + 7900 288.47173 -94644.76 -2455.4369 1.0095244 -2542.2847 86.847823 0.605 -2648.2974 + 8000 280.5001 63255.987 1584.7287 1.020587 1500.2808 84.44787 0.6 1418.7144 + 8100 320.23351 68383.584 2300.142 1.0419027 2203.7319 96.410082 0.595 2111.2616 + 8200 354.86765 50012.316 1350.3752 1.0292074 1243.5381 106.8371 0.59 1149.0631 + 8300 278.8859 24200.145 772.82478 1.0232468 688.86288 83.961894 0.585 569.83331 + 8400 295.95754 -12010.401 1078.6687 1.0200526 989.56716 89.101514 0.58 872.63254 + 8500 289.57525 -64114.236 -3017.5291 1.0062613 -3104.7091 87.18005 0.575 -3227.8592 + 8600 329.23192 15948.893 1427.4791 1.0271511 1328.3599 99.119161 0.57 1211.3868 + 8700 327.45998 39407.811 1697.908 1.0343756 1599.3223 98.585695 0.565 1480.9482 + 8800 296.99753 18017.036 871.11717 1.0178295 781.70256 89.414616 0.56 657.09357 + 8900 289.10016 79527.35 2536.8041 1.0462904 2449.7671 87.037018 0.555 2338.4742 + 9000 260.53308 -51430.717 -2680.1664 1.0040128 -2758.603 78.436561 0.55 -2894.7913 + 9100 314.17867 40043.249 2043.6144 1.0361707 1949.0272 94.5872 0.545 1836.5399 + 9200 362.21236 -55153.163 -2232.4614 1.0102652 -2341.5097 109.04831 0.54 -2497.8765 + 9300 266.62049 -72193.959 -2980.9254 1.0063615 -3061.1946 80.269248 0.535 -3225.2604 + 9400 259.59316 7674.9295 1378.2484 1.0326879 1300.0948 78.153588 0.53 1171.7119 + 9500 278.72962 -33127.835 -2581.8908 1.0163553 -2665.8057 83.914845 0.525 -2805.1711 + 9600 299.09039 24570.664 1839.3275 1.025317 1749.2828 90.044695 0.52 1631.8392 + 9700 336.65655 37767.059 1415.9074 1.0245842 1314.5529 101.35443 0.515 1218.4022 + 9800 279.68112 -55007.939 -2548.4947 1.0129837 -2632.696 84.201305 0.51 -2775.6909 + 9900 300.55694 14964.424 1332.287 1.0176315 1241.8008 90.486218 0.505 1127.7276 + 10000 276.77193 -75638.817 -3100.7483 1.0019055 -3184.0738 83.325459 0.5 -3341.663 + 10100 316.26926 61548.301 2406.8933 1.0427988 2311.6767 95.216598 0.495 2206.7159 + 10200 297.28171 56814.839 2073.2348 1.0270036 1983.7347 89.500171 0.49 1859.0176 + 10300 276.84774 83572.576 1920.2202 1.0322243 1836.8719 83.348283 0.485 1704.2233 + 10400 263.28687 -16549.994 1144.9186 1.0177296 1065.6529 79.265623 0.48 940.36339 + 10500 332.79252 47379.311 1538.8168 1.0223403 1438.6257 100.19112 0.475 1301.3762 + 10600 329.01105 39299.248 1330.9914 1.0230094 1231.9387 99.052663 0.47 1077.5639 + 10700 339.21335 -4217.0313 981.9193 1.0235915 879.79511 102.12419 0.465 741.87272 + 10800 297.11192 -80013.424 -3682.9794 1.0009566 -3772.4285 89.449054 0.46 -3958.8283 + 10900 299.63096 47783.864 1833.1832 1.0435283 1742.9757 90.207441 0.455 1620.9328 + 11000 363.58243 67370.65 1769.9236 1.0450565 1660.4628 109.46079 0.45 1543.803 + 11100 306.04664 50246.004 1323.7676 1.0341876 1231.6287 92.138957 0.445 1063.5345 + 11200 255.68488 43750.967 2205.2392 1.0530607 2128.2623 76.976955 0.44 1986.9636 + 11300 271.71957 -40289.299 -3083.4093 1.0168497 -3165.2137 81.804388 0.435 -3344.1558 + 11400 291.74007 -115249.24 -3319.2153 1.0067921 -3407.0471 87.831795 0.43 -3569.0256 + 11500 270.22077 28235.119 596.78348 1.0195886 515.43032 81.353155 0.425 373.78255 + 11600 297.08506 29790.701 1031.3514 1.0317561 941.91046 89.440969 0.42 803.92835 + 11700 295.33119 -101140.58 -3068.1166 1.0107252 -3157.0295 88.912943 0.415 -3348.5652 + 11800 308.77287 -120312.75 -3553.1266 0.99681611 -3646.0863 92.95972 0.41 -3835.4663 + 11900 293.86337 82287.969 1847.0953 1.0331446 1758.6242 88.47104 0.405 1625.4846 + 12000 279.9866 27919.689 2249.3175 1.0384909 2165.0242 84.293273 0.4 2028.6311 + 12100 292.19439 47035.018 1220.3593 1.0210948 1132.3908 87.968573 0.395 976.68113 + 12200 317.78325 46886.483 2039.3721 1.0310567 1943.6997 95.672401 0.39 1763.6359 + 12300 357.44038 51492.35 1898.3396 1.0414835 1790.7279 107.61165 0.385 1638.1905 + 12400 288.16042 -50528.478 -2837.5599 1.0130798 -2924.314 86.7541 0.38 -3115.1383 + 12500 300.37356 -114034.29 -3091.586 1.0130272 -3182.017 90.431009 0.375 -3364.511 + 12600 265.4402 73960.28 1297.3012 1.0343798 1217.3873 79.913907 0.37 1094.544 + 12700 287.07994 22722.337 1711.9055 1.0268893 1625.4767 86.428809 0.365 1490.443 + 12800 315.39745 46072.191 926.21362 1.0205906 831.25949 94.954129 0.36 662.83753 + 12900 307.48549 -120472.73 -3181.5418 1.005689 -3274.1139 92.57214 0.355 -3469.7834 + 13000 291.00577 -59154.878 -2652.0402 1.012821 -2739.6509 87.610727 0.35 -2966.2448 + 13100 318.37718 86703.775 2087.145 1.036209 1991.2938 95.851211 0.345 1819.7078 + 13200 280.41509 -107033.79 -2683.9682 1.0135499 -2768.3905 84.422277 0.34 -2953.8355 + 13300 275.01919 112086.85 2632.1169 1.0437945 2549.3192 82.797775 0.335 2394.6707 + 13400 299.46547 -111959.62 -3475.4354 0.98732074 -3565.593 90.157617 0.33 -3792.6798 + 13500 275.65631 17625.49 1762.6531 1.0255473 1679.6636 82.989588 0.325 1521.2745 + 13600 302.63525 122466.63 2853.8095 1.0438137 2762.6976 91.111917 0.32 2611.7188 + 13700 302.21323 -94399.663 -3003.7573 1.0068914 -3094.7422 90.984863 0.315 -3328.4539 + 13800 305.70483 30039.825 1792.3286 1.0225478 1700.2926 92.036052 0.31 1502.8476 + 13900 273.15564 -27822.597 -2346.6702 1.0131002 -2428.9069 82.236732 0.305 -2683.7804 + 14000 257.14635 -1821.0012 1378.2522 1.0172653 1300.8352 77.416947 0.3 1067.8821 + 14100 323.74174 -76139.363 -2747.4152 1.0139806 -2844.8814 97.466276 0.295 -3052.598 + 14200 274.99913 54440.943 983.27131 1.0186356 900.47957 82.791736 0.29 767.64274 + 14300 291.8774 1281.7286 1258.7881 1.0214356 1170.915 87.873139 0.285 1042.8585 + 14400 308.97245 -47961.551 -2680.7892 1.0155221 -2773.809 93.019806 0.28 -3007.3204 + 14500 311.05309 86026.739 2115.2413 1.0311818 2021.5951 93.646208 0.275 1830.5463 + 14600 269.27432 -12972.747 971.48792 1.0172239 890.41971 81.068214 0.27 711.81484 + 14700 262.20739 -77722.459 -3215.6796 1.0029421 -3294.6202 78.940634 0.265 -3537.1929 + 14800 300.33592 -107332.8 -2798.6664 1.0126785 -2889.086 90.419677 0.26 -3125.8439 + 14900 307.0173 -73204.94 -2652.7275 1.016875 -2745.1587 92.431185 0.255 -3016.0143 + 15000 334.08711 64440.709 1615.3385 1.0369481 1514.7576 100.58087 0.25 1323.9179 + 15100 293.46703 35179.395 2020.1996 1.0331703 1931.8479 88.351717 0.245 1768.9681 + 15200 307.80546 54006.291 1111.7619 1.0246134 1019.0935 92.668471 0.24 822.22754 + 15300 336.59792 33832.907 1282.8271 1.0242407 1181.4903 101.33678 0.235 956.25285 + 15400 285.46526 -99629.94 -2336.7535 1.0041261 -2422.6962 85.942688 0.23 -2730.1887 + 15500 269.15938 122546.45 3012.0792 1.0318941 2931.0456 81.033612 0.225 2695.4331 + 15600 294.50818 -104733.19 -1914.0242 1.0017241 -2002.6894 88.665166 0.22 -2281.5773 + 15700 321.05125 -40438.501 -1721.9536 1.0125007 -1818.6099 96.656271 0.215 -2084.0893 + 15800 303.22185 -42224.408 -2145.481 1.0090867 -2236.7695 91.288521 0.21 -2506.3355 + 15900 281.65025 78652.063 2791.9418 1.0460521 2707.1477 84.794136 0.205 2500.7128 + 16000 286.5056 63174.412 1725.0409 1.0185277 1638.785 86.255897 0.2 1442.2427 + 16100 271.74574 -75051.584 -2101.5778 1.0091727 -2183.3901 81.812265 0.195 -2447.1967 + 16200 266.40007 -64120.09 -2223.3693 1.0064388 -2303.5722 80.202888 0.19 -2525.4243 + 16300 330.67137 46204.124 1837.3168 1.0271037 1737.7643 99.552523 0.185 1529.8186 + 16400 310.94573 18510.676 1531.823 1.0188695 1438.2091 93.613887 0.18 1195.3041 + 16500 270.29191 79005.409 1989.9392 1.0354088 1908.5646 81.374574 0.175 1678.7342 + 16600 334.24108 17143.221 1644.1483 1.0230561 1543.521 100.62723 0.17 1379.3215 + 16700 292.28721 -78618.031 -2768.3997 0.99940789 -2856.3962 87.996518 0.165 -3087.379 + 16800 346.09157 -69398.937 -2647.1375 1.0153026 -2751.3325 104.19496 0.16 -3011.3476 + 16900 284.37042 39314.526 2287.7061 1.0343186 2202.093 85.613074 0.155 2045.8316 + 17000 281.69389 86032.163 1817.9125 1.0237583 1733.1052 84.807275 0.15 1528.8391 + 17100 297.2629 55128.393 2617.4156 1.0419182 2527.9211 89.494508 0.145 2369.0347 + 17200 328.81472 47063.86 1880.9768 1.0364627 1781.9832 98.993555 0.14 1526.7115 + 17300 313.41363 -46685.063 -2310.803 1.008117 -2405.1599 94.356878 0.135 -2685.8034 + 17400 288.17114 68721.523 2771.6788 1.0429105 2684.9215 86.757326 0.13 2490.5845 + 17500 260.01702 -23324.539 -1436.6738 1.0100415 -1514.955 78.281195 0.125 -1812.4813 + 17600 297.6633 72795.463 2635.741 1.0362827 2546.126 89.615054 0.12 2336.0152 + 17700 301.02937 93833.118 2690.518 1.0276466 2599.8896 90.628448 0.115 2364.8751 + 17800 238.92837 -78317.212 -2175.2589 1.0084077 -2247.1911 71.932208 0.11 -2579.4429 + 17900 299.27724 -65278.891 -2589.1173 1.0034773 -2679.2182 90.10095 0.105 -2987.498 + 18000 315.15753 -72437.481 -2338.6068 1.0136139 -2433.4887 94.881898 0.1 -2718.125 + 18100 268.39411 -42194.209 -2285.3824 1.0108104 -2366.1856 80.803219 0.095 -2656.3853 + 18200 284.91941 40905.162 2045.1299 1.0266185 1959.3515 85.778354 0.09 1723.6803 + 18300 329.41629 -56526.814 -2104.8386 1.0137784 -2204.0133 99.174667 0.085 -2540.6829 + 18400 293.16732 -22085.551 -1652.5444 1.0163557 -1740.8059 88.261484 0.08 -2052.7864 + 18500 276.28141 29367.359 2314.5497 1.0270087 2231.3719 83.177784 0.075 1971.9405 + 18600 331.18031 94669.124 2466.3928 1.0225403 2366.6871 99.705745 0.07 2081.8675 + 18700 265.4491 49872.536 2571.9864 1.0255308 2492.0698 79.916587 0.065 2260.4261 + 18800 314.51042 60758.629 2560.3258 1.0300818 2465.6387 94.687078 0.06 2219.6547 + 18900 317.70309 66345.835 1768.2041 1.0248229 1672.5558 95.648268 0.055 1410.3087 + 19000 291.39831 -96336.931 -2448.6251 1.0100498 -2536.354 87.728905 0.05 -2805.9396 + 19100 303.37353 -21421.495 -2012.0929 0.99771284 -2103.4271 91.334186 0.045 -2436.2173 + 19200 293.92948 36383.881 2042.0163 1.0251299 1953.5254 88.490944 0.04 1633.579 + 19300 287.24409 -46691.027 -2399.698 1.0112067 -2486.1762 86.478228 0.035 -2811.3506 + 19400 333.42205 21152.63 1524.8699 1.0189912 1424.4893 100.38065 0.03 1118.2463 + 19500 309.17989 60445.761 2298.6966 1.0338543 2205.6144 93.082259 0.025 1928.6181 + 19600 255.92246 -32795.547 -1724.7933 1.0157044 -1801.8418 77.04848 0.02 -2213.9484 + 19700 342.62332 33538.746 2439.138 1.0225905 2335.9872 103.1508 0.015 2081.9185 + 19800 295.68946 81474.342 2308.3249 1.0240743 2219.3041 89.020804 0.01 1910.5545 + 19900 306.4947 43488.052 2330.4958 1.0222707 2238.222 92.27385 0.005 1957.4368 + 20000 313.31679 -25133.284 -1161.6979 1.0163289 -1256.0256 94.327722 0 -1649.7551 +Loop time of 11.8252 on 2 procs for 20000 steps with 102 atoms + +Performance: 29.226 ns/day, 0.821 hours/ns, 1691.296 timesteps/s, 172.512 katom-step/s +99.3% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 6.8298 | 8.6298 | 10.43 | 61.3 | 72.98 +Bond | 0.045072 | 0.045296 | 0.045519 | 0.1 | 0.38 +Neigh | 0.10567 | 0.10572 | 0.10577 | 0.0 | 0.89 +Comm | 0.73714 | 2.5381 | 4.3392 | 113.0 | 21.46 +Output | 0.0032977 | 0.0035468 | 0.003796 | 0.4 | 0.03 +Modify | 0.43872 | 0.44155 | 0.44438 | 0.4 | 3.73 +Other | | 0.06121 | | | 0.52 + +Nlocal: 51 ave 51 max 51 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Nghost: 3317 ave 3317 max 3317 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Neighs: 18320 ave 21941 max 14699 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 36640 +Ave neighs/atom = 359.21569 +Ave special neighs/atom = 2 +Neighbor list builds = 181 +Dangerous builds = 0 +Total wall time: 0:00:11 diff --git a/examples/PACKAGES/alchemy/log.25Feb23.twowater.g++.4.1 b/examples/PACKAGES/alchemy/log.25Feb23.twowater.g++.4.1 new file mode 100644 index 0000000000..8fa06d5677 --- /dev/null +++ b/examples/PACKAGES/alchemy/log.25Feb23.twowater.g++.4.1 @@ -0,0 +1,433 @@ +LAMMPS (8 Feb 2023) +Processor partition = 1 + using 1 OpenMP thread(s) per MPI task +# Example for alchemical transformation of two water molecules into a hydronium and hydroxyl ion +# WARNING: This input is intended for demonstrating the method, only +# The force field parameters are made up and NOT suitable for production simulations. + +# set up different names for two partitions +variable name world twowater twoions + +units real +atom_style full +atom_modify map array +region box block -5 5 -5 5 -5 5 +boundary p p p +create_box 2 box bond/types 2 angle/types 2 extra/bond/per/atom 3 extra/angle/per/atom 3 extra/special/per/atom 3 +Created orthogonal box = (-5 -5 -5) to (5 5 5) + 1 by 1 by 2 MPI processor grid + +mass 1 15.9994 +mass 2 1.008 + +pair_style lj/cut/coul/cut 10.0 +pair_coeff 1 1 0.1553 3.166 +pair_coeff 1 2 0.0 1.0 +pair_coeff 2 2 0.0 1.0 + +bond_style harmonic +bond_coeff * 1000.0 1.0 + +angle_style harmonic +angle_coeff * 100.0 109.47 + +molecule water h2o.mol +Read molecule template water: + 1 molecules + 0 fragments + 3 atoms with max type 2 + 2 bonds with max type 1 + 1 angles with max type 1 + 0 dihedrals with max type 0 + 0 impropers with max type 0 + +# create the two molecules we want to transform ... +create_atoms 0 single -2.0 0.0 0.0 mol water 453624 +Created 3 atoms + using lattice units in orthogonal box = (-5 -5 -5) to (5 5 5) + create_atoms CPU = 0.004 seconds +create_atoms 0 single 2.0 0.0 0.0 mol water 767353 +Created 3 atoms + using lattice units in orthogonal box = (-5 -5 -5) to (5 5 5) + create_atoms CPU = 0.000 seconds + +# ... and put them in a group +group transform id 1:6 +6 atoms in group transform + +# now fill the rest of the box with more water +create_atoms 0 random 32 34564 NULL mol water 25367 overlap 1.33 +Created 96 atoms + using lattice units in orthogonal box = (-5 -5 -5) to (5 5 5) + create_atoms CPU = 0.001 seconds + +# change topology and settings for the two states +# we cannot simply create a different topology directly or +# load a different data file because the order and position +# of all atoms must be maintained across both replica + +# we first have to remove all topology data in the transform group +delete_bonds transform bond 1 +System init for delete_bonds ... +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 12 + ghost atom cutoff = 12 + binsize = 6, bins = 2 2 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut/coul/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Deleting bonds ... + 68 total bonds, 64 turned on, 4 turned off + 34 total angles, 34 turned on, 0 turned off + 0 total dihedrals, 0 turned on, 0 turned off + 0 total impropers, 0 turned on, 0 turned off +delete_bonds transform angle 1 remove +System init for delete_bonds ... +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Deleting bonds ... + 64 total bonds, 64 turned on, 0 turned off + 32 total angles, 32 turned on, 0 turned off + 0 total dihedrals, 0 turned on, 0 turned off + 0 total impropers, 0 turned on, 0 turned off + +# then generate different topologies for the two partitions. select by name. +if "${name} == twowater" then "create_bonds single/bond 2 1 2" "create_bonds single/bond 2 1 3" "create_bonds single/bond 2 4 5" "create_bonds single/bond 2 4 6" "create_bonds single/angle 2 2 1 3" "create_bonds single/angle 2 5 4 6" else "create_bonds single/bond 2 1 2" "create_bonds single/bond 2 3 4" "create_bonds single/bond 2 4 5" "create_bonds single/bond 2 4 6" "create_bonds single/angle 2 3 4 5" "create_bonds single/angle 2 5 4 6" "create_bonds single/angle 2 3 4 6" "set atom 1 charge -1.1354" "set atom 2 charge 0.1354" "set atom 3 charge 0.56775" "set atom 4 charge -0.70305" "set atom 5*6 charge 0.56775" +create_bonds single/bond 2 1 2 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 7 = max # of special neighbors + special bonds CPU = 0.000 seconds +create_bonds single/bond 2 3 4 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 7 = max # of special neighbors + special bonds CPU = 0.000 seconds +create_bonds single/bond 2 4 5 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 7 = max # of special neighbors + special bonds CPU = 0.000 seconds +create_bonds single/bond 2 4 6 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 3 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 2 = max # of 1-4 neighbors + 7 = max # of special neighbors + special bonds CPU = 0.000 seconds +create_bonds single/angle 2 3 4 5 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 3 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 2 = max # of 1-4 neighbors + 7 = max # of special neighbors + special bonds CPU = 0.000 seconds +create_bonds single/angle 2 5 4 6 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 3 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 2 = max # of 1-4 neighbors + 7 = max # of special neighbors + special bonds CPU = 0.000 seconds +create_bonds single/angle 2 3 4 6 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 3 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 2 = max # of 1-4 neighbors + 7 = max # of special neighbors + special bonds CPU = 0.000 seconds +set atom 1 charge -1.1354 +Setting atom values ... + 1 settings made for charge +set atom 2 charge 0.1354 +Setting atom values ... + 1 settings made for charge +set atom 3 charge 0.56775 +Setting atom values ... + 1 settings made for charge +set atom 4 charge -0.70305 +Setting atom values ... + 1 settings made for charge +set atom 5*6 charge 0.56775 +Setting atom values ... + 2 settings made for charge + +velocity all create 300.0 5463576 +timestep 0.2 + +# since the trajectory and forces are kept identical through fix alchemy, +# we can do fix npt simulations, but we must use the "mixed" pressure + +fix integrate all npt temp 300 300 1.0 iso 1.0 1.0 10.0 +fix transform all alchemy +compute pressure all pressure/alchemy transform +fix_modify integrate press pressure + +# only need to output a dump file from one partition +# if "${name} == twowater" then # "dump 1 all atom 100 ${name}.lammpstrj" # "dump_modify 1 sort id" + +thermo_style custom step temp press etotal density pe ke f_transform[1] f_transform[4] +thermo_modify colname f_transform[1] lambda colname f_transform[4] EPot_mixed +thermo_modify press pressure + +thermo 100 +run 20000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +WARNING: Bond/angle/dihedral extent > half of periodic box length (src/domain.cpp:936) +Per MPI rank memory allocation (min/avg/max) = 7.535 | 7.535 | 7.535 Mbytes + Step Temp Press TotEng Density PotEng KinEng lambda EPot_mixed + 0 300 184631.17 10769.267 1.0171193 10678.948 90.318545 0 -892.51464 + 100 293.4335 -513.97927 21497.846 0.3029684 21409.505 88.341623 0.005 207.29243 + 200 320.81838 1513.3 3300.6279 0.64509407 3204.0418 96.586165 0.01 46.402434 + 300 261.53825 -3808.6942 -362.14861 0.88817871 -440.88779 78.739179 0.015 -614.76481 + 400 308.32444 1375.0327 -821.01681 0.97694485 -913.84152 92.824715 0.02 -897.24386 + 500 292.60623 -12843.384 -831.87625 1.0140814 -919.96881 88.092563 0.025 -1221.948 + 600 326.16112 91608.645 2941.9339 1.0263567 2843.7393 98.194659 0.03 2786.0743 + 700 317.22811 -60420.408 -1637.1259 0.9919143 -1732.6311 95.505272 0.035 -1616.7677 + 800 309.94673 -56793.931 -1501.6195 1.0024958 -1594.9326 93.313126 0.04 -1640.8606 + 900 272.80718 -5076.2282 -1452.719 1.0141078 -1534.8508 82.131824 0.045 -1357.1812 + 1000 346.52557 -16919.192 -1469.4601 1.0170322 -1573.7857 104.32562 0.05 -1514.1398 + 1100 300.62984 -51826.972 -2581.5818 1.0063592 -2672.09 90.508164 0.055 -2565.9668 + 1200 293.72767 45222.698 2045.9381 1.0272336 1957.5079 88.430186 0.06 1951.1683 + 1300 289.4971 94600.203 2042.1709 1.0298091 1955.0144 87.156524 0.065 2088.1011 + 1400 328.98666 35468.53 1805.9965 1.0198467 1706.9512 99.045321 0.07 1716.9268 + 1500 392.9407 41220.21 1663.5291 1.0194044 1545.2297 118.29944 0.075 1690.6416 + 1600 284.90093 -37995.141 -2488.5372 1.0068497 -2574.31 85.772791 0.08 -2529.5874 + 1700 267.67454 25275.255 1482.7666 1.0313556 1402.18 80.586582 0.085 1520.9695 + 1800 247.16495 -68222.994 -2869.7712 1.0018048 -2944.1832 74.41193 0.09 -2788.9545 + 1900 328.41849 -51979.665 -2578.9515 1.0154952 -2677.8258 98.874268 0.095 -2461.3422 + 2000 313.8715 21726.003 1310.0519 1.018831 1215.5571 94.494725 0.1 1363.0739 + 2100 296.07341 66130.11 1209.3035 1.0224882 1120.1671 89.136398 0.105 1272.1884 + 2200 282.67889 51746.464 2238.8823 1.0362683 2153.7785 85.103821 0.11 2276.1488 + 2300 281.04207 -71937.759 -2935.0422 1.0111968 -3019.6532 84.611035 0.115 -2892.2526 + 2400 321.00806 -51658.758 -2663.4071 1.0168161 -2760.0503 96.643269 0.12 -2622.9732 + 2500 288.95906 49645.753 2369.0667 1.0355648 2282.0722 86.99454 0.125 2275.0348 + 2600 303.0064 -48470.216 -2107.8769 1.000439 -2199.1005 91.223657 0.13 -2082.5895 + 2700 361.7083 54973.584 1906.9779 1.0223169 1798.0813 108.89656 0.135 1817.1972 + 2800 289.27827 33564.017 1687.0255 1.0257088 1599.9349 87.090642 0.14 1682.9162 + 2900 283.94365 -47190.274 -2449.1599 1.0059224 -2534.6445 85.484591 0.145 -2395.9575 + 3000 337.10996 61988.686 2157.6059 1.0258 2056.115 101.49094 0.15 2168.1085 + 3100 305.28249 -50123.109 -2137.6015 1.0143567 -2229.5104 91.9089 0.155 -2040.3453 + 3200 270.19471 -18114.265 -2175.7381 1.0132413 -2257.0834 81.345309 0.16 -2076.9595 + 3300 263.39996 -109301.89 -2594.4684 0.99956867 -2673.7681 79.299671 0.165 -2471.0269 + 3400 249.01722 -37585.949 -2655.0291 1.0080932 -2729.9987 74.969576 0.17 -2537.734 + 3500 267.88868 65528.865 2038.1308 1.0390872 1957.4797 80.651054 0.175 2061.6421 + 3600 351.46458 -67583.574 -3068.3126 1.0059621 -3174.1251 105.81256 0.18 -3004.5028 + 3700 332.82565 -61204.843 -2491.3087 1.0053485 -2591.5097 100.20109 0.185 -2415.4435 + 3800 298.0279 61123.085 1795.9521 1.020672 1706.2273 89.724819 0.19 1831.9734 + 3900 317.04715 43210.045 1685.6151 1.0287838 1590.1643 95.450792 0.195 1721.1961 + 4000 261.75174 -111920.72 -3478.9188 0.99457106 -3557.7223 78.803455 0.2 -3394.3528 + 4100 338.34245 89763.083 1919.3836 1.0318272 1817.5216 101.86199 0.205 1973.419 + 4200 288.52623 19989.792 1576.8543 1.0204119 1489.99 86.86423 0.21 1633.1439 + 4300 322.05593 -33791.403 -2303.9654 1.0155065 -2400.9242 96.958741 0.215 -2246.4353 + 4400 280.59054 -27839.599 -1776.7852 1.0123506 -1861.2603 84.475096 0.22 -1672.1425 + 4500 296.08336 75206.112 2655.8862 1.0329133 2566.7468 89.139393 0.225 2670.4908 + 4600 288.02094 -67445.101 -3254.8238 0.99579107 -3341.5359 86.712106 0.23 -3132.6352 + 4700 332.21641 -83964.647 -3046.3841 1.0053915 -3146.4017 100.01768 0.235 -2916.6652 + 4800 305.52557 -93111.682 -2635.4926 0.99824941 -2727.4747 91.982082 0.24 -2514.039 + 4900 272.82262 -53664.198 -3095.9932 0.99527907 -3178.1297 82.136472 0.245 -2947.2062 + 5000 288.96388 39846.089 1754.1018 1.0371205 1667.1058 86.99599 0.25 1833.3716 + 5100 293.25543 -71819.425 -3170.1841 0.99452016 -3258.4721 88.288011 0.255 -3069.7618 + 5200 296.16486 -64484.821 -2740.9832 1.0153125 -2830.1471 89.163931 0.26 -2589.6878 + 5300 342.07246 60255.985 1605.1961 1.0306374 1502.2111 102.98496 0.265 1608.5673 + 5400 295.53315 61421.189 1474.0782 1.0334762 1385.1045 88.973746 0.27 1492.0969 + 5500 285.1755 24845.113 981.19505 1.0335035 895.3396 85.855455 0.275 1014.0263 + 5600 276.79246 66244.072 1347.9794 1.0251134 1264.6478 83.331641 0.28 1390.9078 + 5700 288.43485 14629.129 1042.0147 1.02997 955.17799 86.836719 0.285 1074.3779 + 5800 276.64233 59262.97 680.78976 1.0332305 597.50331 83.286443 0.29 763.27415 + 5900 358.25384 -111203.23 -3652.2742 1.006331 -3760.1307 107.85655 0.295 -3561.6283 + 6000 327.82233 -62936.335 -2155.1414 1.0106476 -2253.8362 98.694786 0.3 -2062.107 + 6100 309.86553 -59110.381 -2958.2613 1.0076375 -3051.5499 93.28868 0.305 -2870.9566 + 6200 294.95752 -58011.845 -2023.2564 1.0161986 -2112.0569 88.800448 0.31 -1971.2586 + 6300 307.27252 59016.127 993.68575 1.0225343 901.17773 92.508022 0.315 1032.9616 + 6400 292.21611 -118857.83 -3289.8257 1.0031304 -3377.8009 87.975114 0.32 -3175.9068 + 6500 332.21108 97132.547 2078.6137 1.0349752 1978.5976 100.01607 0.325 2121.4674 + 6600 321.93985 -50017.836 -2763.8832 1.0076385 -2860.807 96.923796 0.33 -2673.6819 + 6700 299.07231 -98136.241 -3284.4174 1.0106261 -3374.4566 90.039252 0.335 -3194.0694 + 6800 285.33731 28487.407 232.87902 1.017186 146.97485 85.904169 0.34 294.02418 + 6900 296.41387 50054.533 1773.8315 1.0445934 1684.5926 89.238897 0.345 1851.1397 + 7000 318.34109 -71579.897 -3387.4573 1.007304 -3483.2977 95.840345 0.35 -3305.5715 + 7100 317.2192 12370.315 907.13585 1.0177238 811.63326 95.502589 0.355 961.68146 + 7200 289.91091 43944.333 972.20602 1.0302599 884.92492 87.281105 0.36 1039.3329 + 7300 324.81227 42859.173 994.92755 1.0300698 897.13897 97.788572 0.365 1083.5764 + 7400 305.72634 76516.72 2149.4427 1.0580673 2057.4002 92.042527 0.37 2218.3674 + 7500 283.77479 -87225.247 -3654.8517 0.9936609 -3740.2855 85.433754 0.375 -3581.9003 + 7600 318.72048 16084.995 1588.1487 1.0296163 1492.1941 95.954566 0.38 1653.5125 + 7700 307.36895 74007.024 1522.4279 1.0363553 1429.8909 92.537054 0.385 1572.8568 + 7800 297.44704 28693.429 1060.4277 1.0206402 970.87774 89.549946 0.39 1093.5903 + 7900 288.47173 -94644.76 -2723.8234 1.0095244 -2810.6712 86.847823 0.395 -2648.2974 + 8000 280.5001 63255.987 1380.8125 1.020587 1296.3647 84.44787 0.4 1418.7144 + 8100 320.23351 68383.584 2071.8202 1.0419027 1975.4101 96.410082 0.405 2111.2616 + 8200 354.86765 50012.316 1119.9483 1.0292074 1013.1112 106.8371 0.41 1149.0631 + 8300 278.8859 24200.145 486.00653 1.0232468 402.04464 83.961894 0.415 569.83331 + 8400 295.95754 -12010.401 800.25292 1.0200526 711.1514 89.101514 0.42 872.63254 + 8500 289.57525 -64114.236 -3307.2939 1.0062613 -3394.4739 87.18005 0.425 -3227.8592 + 8600 329.23192 15948.893 1155.4486 1.0271511 1056.3294 99.119161 0.43 1211.3868 + 8700 327.45998 39407.811 1425.7837 1.0343756 1327.198 98.585695 0.435 1480.9482 + 8800 296.99753 18017.036 587.91493 1.0178295 498.50031 89.414616 0.44 657.09357 + 8900 289.10016 79527.35 2286.7077 1.0462904 2199.6707 87.037018 0.445 2338.4742 + 9000 260.53308 -51430.717 -2982.8072 1.0040128 -3061.2437 78.436561 0.45 -2894.7913 + 9100 314.17867 40043.249 1796.3896 1.0361707 1701.8024 94.5872 0.455 1836.5399 + 9200 362.21236 -55153.163 -2572.3893 1.0102652 -2681.4376 109.04831 0.46 -2497.8765 + 9300 266.62049 -72193.959 -3333.755 1.0063615 -3414.0242 80.269248 0.465 -3225.2604 + 9400 259.59316 7674.9295 1105.0933 1.0326879 1026.9397 78.153588 0.47 1171.7119 + 9500 278.72962 -33127.835 -2875.2917 1.0163553 -2959.2065 83.914845 0.475 -2805.1711 + 9600 299.09039 24570.664 1594.6533 1.025317 1504.6086 90.044695 0.48 1631.8392 + 9700 336.65655 37767.059 1217.6584 1.0245842 1116.3039 101.35443 0.485 1218.4022 + 9800 279.68112 -55007.939 -2840.321 1.0129837 -2924.5223 84.201305 0.49 -2775.6909 + 9900 300.55694 14964.424 1101.8362 1.0176315 1011.35 90.486218 0.495 1127.7276 + 10000 276.77193 -75638.817 -3415.9268 1.0019055 -3499.2523 83.325459 0.5 -3341.663 + 10100 316.26926 61548.301 2199.0502 1.0427988 2103.8336 95.216598 0.505 2206.7159 + 10200 297.28171 56814.839 1828.6916 1.0270036 1739.1915 89.500171 0.51 1859.0176 + 10300 276.84774 83572.576 1662.6501 1.0322243 1579.3018 83.348283 0.515 1704.2233 + 10400 263.28687 -16549.994 903.97712 1.0177296 824.71149 79.265623 0.52 940.36339 + 10500 332.79252 47379.311 1277.3892 1.0223403 1177.1981 100.19112 0.525 1301.3762 + 10600 329.01105 39299.248 1039.7181 1.0230094 940.66548 99.052663 0.53 1077.5639 + 10700 339.21335 -4217.0313 724.12043 1.0235915 621.99624 102.12419 0.535 741.87272 + 10800 297.11192 -80013.424 -4028.1643 1.0009566 -4117.6134 89.449054 0.54 -3958.8283 + 10900 299.63096 47783.864 1609.2512 1.0435283 1519.0437 90.207441 0.545 1620.9328 + 11000 363.58243 67370.65 1557.8148 1.0450565 1448.354 109.46079 0.55 1543.803 + 11100 306.04664 50246.004 1020.8953 1.0341876 928.75637 92.138957 0.555 1063.5345 + 11200 255.68488 43750.967 1952.9201 1.0530607 1875.9431 76.976955 0.56 1986.9636 + 11300 271.71957 -40289.299 -3400.121 1.0168497 -3481.9254 81.804388 0.565 -3344.1558 + 11400 291.74007 -115249.24 -3603.3881 1.0067921 -3691.2199 87.831795 0.57 -3569.0256 + 11500 270.22077 28235.119 350.43952 1.0195886 269.08637 81.353155 0.575 373.78255 + 11600 297.08506 29790.701 793.45124 1.0317561 704.01027 89.440969 0.58 803.92835 + 11700 295.33119 -101140.58 -3395.5279 1.0107252 -3484.4409 88.912943 0.585 -3348.5652 + 11800 308.77287 -120312.75 -3874.1096 0.99681611 -3967.0693 92.95972 0.59 -3835.4663 + 11900 293.86337 82287.969 1623.3312 1.0331446 1534.8602 88.47104 0.595 1625.4846 + 12000 279.9866 27919.689 2021.9956 1.0384909 1937.7024 84.293273 0.6 2028.6311 + 12100 292.19439 47035.018 962.98803 1.0210948 875.01946 87.968573 0.605 976.68113 + 12200 317.78325 46886.483 1744.1855 1.0310567 1648.5131 95.672401 0.61 1763.6359 + 12300 357.44038 51492.35 1650.3113 1.0414835 1542.6996 107.61165 0.615 1638.1905 + 12400 288.16042 -50528.478 -3145.341 1.0130798 -3232.0951 86.7541 0.62 -3115.1383 + 12500 300.37356 -114034.29 -3383.5763 1.0130272 -3474.0074 90.431009 0.625 -3364.511 + 12600 265.4402 73960.28 1102.3119 1.0343798 1022.398 79.913907 0.63 1094.544 + 12700 287.07994 22722.337 1499.2541 1.0268893 1412.8252 86.428809 0.635 1490.443 + 12800 315.39745 46072.191 663.05431 1.0205906 568.10018 94.954129 0.64 662.83753 + 12900 307.48549 -120472.73 -3484.9054 1.005689 -3577.4775 92.57214 0.645 -3469.7834 + 13000 291.00577 -59154.878 -3000.6461 1.012821 -3088.2569 87.610727 0.65 -2966.2448 + 13100 318.37718 86703.775 1825.1817 1.036209 1729.3305 95.851211 0.655 1819.7078 + 13200 280.41509 -107033.79 -2964.9455 1.0135499 -3049.3678 84.422277 0.66 -2953.8355 + 13300 275.01919 112086.85 2399.5628 1.0437945 2316.765 82.797775 0.665 2394.6707 + 13400 299.46547 -111959.62 -3814.3709 0.98732074 -3904.5286 90.157617 0.67 -3792.6798 + 13500 275.65631 17625.49 1528.0027 1.0255473 1445.0131 82.989588 0.675 1521.2745 + 13600 302.63525 122466.63 2631.7819 1.0438137 2540.67 91.111917 0.68 2611.7188 + 13700 302.21323 -94399.663 -3344.9423 1.0068914 -3435.9271 90.984863 0.685 -3328.4539 + 13800 305.70483 30039.825 1506.1765 1.0225478 1414.1404 92.036052 0.69 1502.8476 + 13900 273.15564 -27822.597 -2713.3946 1.0131002 -2795.6313 82.236732 0.695 -2683.7804 + 14000 257.14635 -1821.0012 1045.462 1.0172653 968.04508 77.416947 0.7 1067.8821 + 14100 323.74174 -76139.363 -3042.0486 1.0139806 -3139.5149 97.466276 0.705 -3052.598 + 14200 274.99913 54440.943 796.17718 1.0186356 713.38545 82.791736 0.71 767.64274 + 14300 291.8774 1281.7286 1079.6881 1.0214356 991.81498 87.873139 0.715 1042.8585 + 14400 308.97245 -47961.551 -3005.1106 1.0155221 -3098.1304 93.019806 0.72 -3007.3204 + 14500 311.05309 86026.739 1851.7257 1.0311818 1758.0795 93.646208 0.725 1830.5463 + 14600 269.27432 -12972.747 726.82371 1.0172239 645.7555 81.068214 0.73 711.81484 + 14700 262.20739 -77722.459 -3545.7104 1.0029421 -3624.651 78.940634 0.735 -3537.1929 + 14800 300.33592 -107332.8 -3118.6094 1.0126785 -3209.0291 90.419677 0.74 -3125.8439 + 14900 307.0173 -73204.94 -3016.2921 1.016875 -3108.7233 92.431185 0.745 -3016.0143 + 15000 334.08711 64440.709 1360.8856 1.0369481 1260.3047 100.58087 0.75 1323.9179 + 15100 293.46703 35179.395 1804.4648 1.0331703 1716.1131 88.351717 0.755 1768.9681 + 15200 307.80546 54006.291 852.72781 1.0246134 760.05934 92.668471 0.76 822.22754 + 15300 336.59792 33832.907 988.39905 1.0242407 887.06227 101.33678 0.765 956.25285 + 15400 285.46526 -99629.94 -2736.0944 1.0041261 -2822.0371 85.942688 0.77 -2730.1887 + 15500 269.15938 122546.45 2708.063 1.0318941 2627.0294 81.033612 0.775 2695.4331 + 15600 294.50818 -104733.19 -2271.5729 1.0017241 -2360.238 88.665166 0.78 -2281.5773 + 15700 321.05125 -40438.501 -2060.144 1.0125007 -2156.8002 96.656271 0.785 -2084.0893 + 15800 303.22185 -42224.408 -2486.7037 1.0090867 -2577.9922 91.288521 0.79 -2506.3355 + 15900 281.65025 78652.063 2532.2753 1.0460521 2447.4812 84.794136 0.795 2500.7128 + 16000 286.5056 63174.412 1479.3631 1.0185277 1393.1072 86.255897 0.8 1442.2427 + 16100 271.74574 -75051.584 -2429.2879 1.0091727 -2511.1002 81.812265 0.805 -2447.1967 + 16200 266.40007 -64120.09 -2497.2609 1.0064388 -2577.4638 80.202888 0.81 -2525.4243 + 16300 330.67137 46204.124 1582.1688 1.0271037 1482.6162 99.552523 0.815 1529.8186 + 16400 310.94573 18510.676 1235.5974 1.0188695 1141.9835 93.613887 0.82 1195.3041 + 16500 270.29191 79005.409 1711.3568 1.0354088 1629.9822 81.374574 0.825 1678.7342 + 16600 334.24108 17143.221 1446.3175 1.0230561 1345.6903 100.62723 0.83 1379.3215 + 16700 292.28721 -78618.031 -3045.0258 0.99940789 -3133.0223 87.996518 0.835 -3087.379 + 16800 346.09157 -69398.937 -2956.6793 1.0153026 -3060.8742 104.19496 0.84 -3011.3476 + 16900 284.37042 39314.526 2102.7814 1.0343186 2017.1683 85.613074 0.845 2045.8316 + 17000 281.69389 86032.163 1577.5995 1.0237583 1492.7922 84.807275 0.85 1528.8391 + 17100 297.2629 55128.393 2431.5835 1.0419182 2342.089 89.494508 0.855 2369.0347 + 17200 328.81472 47063.86 1584.1492 1.0364627 1485.1556 98.993555 0.86 1526.7115 + 17300 313.41363 -46685.063 -2635.2463 1.008117 -2729.6032 94.356878 0.865 -2685.8034 + 17400 288.17114 68721.523 2548.303 1.0429105 2461.5456 86.757326 0.87 2490.5845 + 17500 260.01702 -23324.539 -1776.7039 1.0100415 -1854.9851 78.281195 0.875 -1812.4813 + 17600 297.6633 72795.463 2396.9788 1.0362827 2307.3638 89.615054 0.88 2336.0152 + 17700 301.02937 93833.118 2424.9649 1.0276466 2334.3364 90.628448 0.885 2364.8751 + 17800 238.92837 -78317.212 -2548.5755 1.0084077 -2620.5077 71.932208 0.89 -2579.4429 + 17900 299.27724 -65278.891 -2933.564 1.0034773 -3023.6649 90.10095 0.895 -2987.498 + 18000 315.15753 -72437.481 -2654.8693 1.0136139 -2749.7512 94.881898 0.9 -2718.125 + 18100 268.39411 -42194.209 -2606.045 1.0108104 -2686.8482 80.803219 0.905 -2656.3853 + 18200 284.91941 40905.162 1786.1505 1.0266185 1700.3722 85.778354 0.91 1723.6803 + 18300 329.41629 -56526.814 -2472.7835 1.0137784 -2571.9582 99.174667 0.915 -2540.6829 + 18400 293.16732 -22085.551 -1991.6537 1.0163557 -2079.9152 88.261484 0.92 -2052.7864 + 18500 276.28141 29367.359 2034.0833 1.0270087 1950.9056 83.177784 0.925 1971.9405 + 18600 331.18031 94669.124 2160.1352 1.0225403 2060.4295 99.705745 0.93 2081.8675 + 18700 265.4491 49872.536 2324.2391 1.0255308 2244.3225 79.916587 0.935 2260.4261 + 18800 314.51042 60758.629 2298.6407 1.0300818 2203.9536 94.687078 0.94 2219.6547 + 18900 317.70309 66345.835 1490.6939 1.0248229 1395.0457 95.648268 0.945 1410.3087 + 19000 291.39831 -96336.931 -2732.3994 1.0100498 -2820.1283 87.728905 0.95 -2805.9396 + 19100 303.37353 -21421.495 -2360.5644 0.99771284 -2451.8986 91.334186 0.955 -2436.2173 + 19200 293.92948 36383.881 1708.7388 1.0251299 1620.2479 88.490944 0.96 1633.579 + 19300 287.24409 -46691.027 -2736.6663 1.0112067 -2823.1445 86.478228 0.965 -2811.3506 + 19400 333.42205 21152.63 1209.1556 1.0189912 1108.7749 100.38065 0.97 1118.2463 + 19500 309.17989 60445.761 2014.5979 1.0338543 1921.5157 93.082259 0.975 1928.6181 + 19600 255.92246 -32795.547 -2145.3103 1.0157044 -2222.3587 77.04848 0.98 -2213.9484 + 19700 342.62332 33538.746 2181.2002 1.0225905 2078.0494 103.1508 0.985 2081.9185 + 19800 295.68946 81474.342 1996.4567 1.0240743 1907.4359 89.020804 0.99 1910.5545 + 19900 306.4947 43488.052 2048.2997 1.0222707 1956.0258 92.27385 0.995 1957.4368 + 20000 313.31679 -25133.284 -1555.4274 1.0163289 -1649.7551 94.327722 1 -1649.7551 +Loop time of 11.8253 on 2 procs for 20000 steps with 102 atoms + +Performance: 29.226 ns/day, 0.821 hours/ns, 1691.295 timesteps/s, 172.512 katom-step/s +99.3% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 6.8508 | 8.6272 | 10.404 | 60.5 | 72.96 +Bond | 0.045829 | 0.046542 | 0.047256 | 0.3 | 0.39 +Neigh | 0.10781 | 0.10791 | 0.108 | 0.0 | 0.91 +Comm | 0.75178 | 2.5281 | 4.3045 | 111.7 | 21.38 +Output | 0.0032916 | 0.0035722 | 0.0038527 | 0.5 | 0.03 +Modify | 0.44867 | 0.45212 | 0.45556 | 0.5 | 3.82 +Other | | 0.05976 | | | 0.51 + +Nlocal: 51 ave 51 max 51 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Nghost: 3317 ave 3317 max 3317 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Neighs: 18319.5 ave 21940 max 14699 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 36639 +Ave neighs/atom = 359.20588 +Ave special neighs/atom = 2.0196078 +Neighbor list builds = 181 +Dangerous builds = 0 +Total wall time: 0:00:11 diff --git a/src/REPLICA/fix_alchemy.cpp b/src/REPLICA/fix_alchemy.cpp index 75b4c4cb73..b0c8d6799d 100644 --- a/src/REPLICA/fix_alchemy.cpp +++ b/src/REPLICA/fix_alchemy.cpp @@ -45,6 +45,7 @@ FixAlchemy::FixAlchemy(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), if (narg != 3) error->all(FLERR, "Incorrect number of arguments for fix alchemy"); lambda = epot[0] = epot[1] = 0.0; + progress = 0; for (int i = 0; i < 6; ++i) pressure[i] = 0.0; no_change_box = 1; @@ -125,6 +126,13 @@ void FixAlchemy::setup(int vflag) } else { post_force(vflag); } + + if (universe->me == 0) { + progress = static_cast(100.0 - lambda * 100.0); + auto msg = fmt::format("Starting alchemical transformation at {:>3d}%\n", progress); + if (universe->uscreen) fmt::print(universe->uscreen, msg); + if (universe->ulogfile) fmt::print(universe->ulogfile, msg); + } } /* ---------------------------------------------------------------------- */ @@ -164,6 +172,17 @@ void FixAlchemy::post_force(int /*vflag*/) for (int i = 0; i < 6; ++i) commbuf[i] = lambda * scalefac * press->vector[i]; MPI_Allreduce(commbuf, pressure, 6, MPI_DOUBLE, MPI_SUM, universe->uworld); press->addstep(update->ntimestep + 1); + + // print progress info + if (universe->me == 0) { + int status = static_cast(100.0 - lambda * 100.0); + if ((status / 10) > (progress / 10)) { + progress = status; + auto msg = fmt::format(" Alchemical transformation progress: {:>3d}%\n", progress); + if (universe->uscreen) fmt::print(universe->uscreen, msg); + if (universe->ulogfile) fmt::print(universe->ulogfile, msg); + } + } } /* ---------------------------------------------------------------------- */ diff --git a/src/REPLICA/fix_alchemy.h b/src/REPLICA/fix_alchemy.h index 9794629db3..f0dd7bde04 100644 --- a/src/REPLICA/fix_alchemy.h +++ b/src/REPLICA/fix_alchemy.h @@ -45,6 +45,7 @@ class FixAlchemy : public Fix { double lambda; // changes from 0 to 1 during run double epot[3]; // last (unscaled) potential energy from each replica and combined energy double pressure[6]; // joined pressure + int progress; // for progress indicator int ilevel_respa; int nmax; }; From 81b0bb47be24eda4acb7e3a73fb943245c93fb28 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 25 Feb 2023 12:03:05 -0500 Subject: [PATCH 156/448] allow dynamic groups with fix oneway --- src/EXTRA-FIX/fix_oneway.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/EXTRA-FIX/fix_oneway.cpp b/src/EXTRA-FIX/fix_oneway.cpp index d514a081f1..f31781d936 100644 --- a/src/EXTRA-FIX/fix_oneway.cpp +++ b/src/EXTRA-FIX/fix_oneway.cpp @@ -35,6 +35,7 @@ FixOneWay::FixOneWay(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), region(nullptr), idregion(nullptr) { direction = NONE; + dynamic_group_allow = 1; if (narg < 6) error->all(FLERR, "Illegal fix oneway command"); From d691d1db78de193a4d3015827316c1f1f707ecb2 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 25 Feb 2023 12:42:10 -0500 Subject: [PATCH 157/448] synchronize box dimensions at the beginning and when needed --- src/REPLICA/fix_alchemy.cpp | 28 ++++++++++++++++++++++++++++ src/REPLICA/fix_alchemy.h | 1 + 2 files changed, 29 insertions(+) diff --git a/src/REPLICA/fix_alchemy.cpp b/src/REPLICA/fix_alchemy.cpp index b0c8d6799d..ea89b1a016 100644 --- a/src/REPLICA/fix_alchemy.cpp +++ b/src/REPLICA/fix_alchemy.cpp @@ -16,6 +16,7 @@ #include "atom.h" #include "comm.h" #include "compute.h" +#include "domain.h" #include "error.h" #include "memory.h" #include "modify.h" @@ -106,12 +107,35 @@ int FixAlchemy::setmask() /* ---------------------------------------------------------------------- */ +static void synchronize_box(Domain *domain, MPI_Comm samerank) +{ + MPI_Bcast(&domain->boxlo[0], 3, MPI_DOUBLE, 0, samerank); + MPI_Bcast(&domain->boxhi[0], 3, MPI_DOUBLE, 0, samerank); + MPI_Bcast(&domain->yz, 1, MPI_DOUBLE, 0, samerank); + MPI_Bcast(&domain->xz, 1, MPI_DOUBLE, 0, samerank); + MPI_Bcast(&domain->xy, 1, MPI_DOUBLE, 0, samerank); + domain->set_global_box(); + domain->set_local_box(); +} + +/* ---------------------------------------------------------------------- */ + void FixAlchemy::init() { int onenmax = MAX(nmax, 3 * atom->nmax); MPI_Allreduce(&onenmax, &nmax, 1, MPI_INT, MPI_MAX, universe->uworld); memory->destroy(commbuf); memory->create(commbuf, sizeof(double) * nmax, "alchemy:nmax"); + + if (modify->get_fix_by_style("^balance").size() > 0) + error->all(FLERR, "Fix alchemy is not compatible with load balancing"); + + // synchronize box dimensions, determine if resync during run will be needed. + synchronize_box(domain, samerank); + + sync_box = 0; + for (auto ifix : modify->get_fix_list()) + if (ifix->box_change) sync_box = 1; } /* ---------------------------------------------------------------------- */ @@ -141,6 +165,10 @@ void FixAlchemy::post_integrate() { const int nall = atom->nlocal + atom->nghost; MPI_Bcast(&atom->x[0][0], 3 * nall, MPI_DOUBLE, 0, samerank); + + // synchronize box dimensions, if needed + if (sync_box) synchronize_box(domain, samerank); +} } /* ---------------------------------------------------------------------- */ diff --git a/src/REPLICA/fix_alchemy.h b/src/REPLICA/fix_alchemy.h index f0dd7bde04..ea342fa0ea 100644 --- a/src/REPLICA/fix_alchemy.h +++ b/src/REPLICA/fix_alchemy.h @@ -46,6 +46,7 @@ class FixAlchemy : public Fix { double epot[3]; // last (unscaled) potential energy from each replica and combined energy double pressure[6]; // joined pressure int progress; // for progress indicator + int sync_box; // 1 of box dimensions need to be synchronized int ilevel_respa; int nmax; }; From 60129958c85aa91193a6d9e256bba5b972b88c2c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 25 Feb 2023 12:47:49 -0500 Subject: [PATCH 158/448] refactor how properties computed by the fix are accessed lambda is no an (intensive) scalar property and the vector property only has the potential energies. pressure is accessed via compute pressure/alchemy. --- examples/PACKAGES/alchemy/in.twowater | 4 +- .../alchemy/log.25Feb23.twowater.g++.4.0 | 22 +++++----- .../alchemy/log.25Feb23.twowater.g++.4.1 | 24 +++++------ src/REPLICA/fix_alchemy.cpp | 43 +++++++++++-------- src/REPLICA/fix_alchemy.h | 1 + 5 files changed, 52 insertions(+), 42 deletions(-) diff --git a/examples/PACKAGES/alchemy/in.twowater b/examples/PACKAGES/alchemy/in.twowater index 8c19eab215..6e1727de5a 100644 --- a/examples/PACKAGES/alchemy/in.twowater +++ b/examples/PACKAGES/alchemy/in.twowater @@ -86,8 +86,8 @@ fix_modify integrate press pressure # "dump 1 all atom 100 ${name}.lammpstrj" & # "dump_modify 1 sort id" -thermo_style custom step temp press etotal density pe ke f_transform[1] f_transform[4] -thermo_modify colname f_transform[1] lambda colname f_transform[4] EPot_mixed +thermo_style custom step temp press etotal density pe ke f_transform f_transform[3] +thermo_modify colname f_transform lambda colname f_transform[3] EPot_mixed thermo_modify press pressure thermo 100 diff --git a/examples/PACKAGES/alchemy/log.25Feb23.twowater.g++.4.0 b/examples/PACKAGES/alchemy/log.25Feb23.twowater.g++.4.0 index 7717dae784..fc652dded7 100644 --- a/examples/PACKAGES/alchemy/log.25Feb23.twowater.g++.4.0 +++ b/examples/PACKAGES/alchemy/log.25Feb23.twowater.g++.4.0 @@ -167,8 +167,8 @@ fix_modify integrate press pressure # only need to output a dump file from one partition # if "${name} == twowater" then # "dump 1 all atom 100 ${name}.lammpstrj" # "dump_modify 1 sort id" -thermo_style custom step temp press etotal density pe ke f_transform[1] f_transform[4] -thermo_modify colname f_transform[1] lambda colname f_transform[4] EPot_mixed +thermo_style custom step temp press etotal density pe ke f_transform f_transform[3] +thermo_modify colname f_transform lambda colname f_transform[3] EPot_mixed thermo_modify press pressure thermo 100 @@ -377,21 +377,21 @@ Per MPI rank memory allocation (min/avg/max) = 7.535 | 7.535 | 7.535 Mbytes 19800 295.68946 81474.342 2308.3249 1.0240743 2219.3041 89.020804 0.01 1910.5545 19900 306.4947 43488.052 2330.4958 1.0222707 2238.222 92.27385 0.005 1957.4368 20000 313.31679 -25133.284 -1161.6979 1.0163289 -1256.0256 94.327722 0 -1649.7551 -Loop time of 11.8252 on 2 procs for 20000 steps with 102 atoms +Loop time of 11.7903 on 2 procs for 20000 steps with 102 atoms -Performance: 29.226 ns/day, 0.821 hours/ns, 1691.296 timesteps/s, 172.512 katom-step/s +Performance: 29.312 ns/day, 0.819 hours/ns, 1696.311 timesteps/s, 173.024 katom-step/s 99.3% CPU use with 2 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 6.8298 | 8.6298 | 10.43 | 61.3 | 72.98 -Bond | 0.045072 | 0.045296 | 0.045519 | 0.1 | 0.38 -Neigh | 0.10567 | 0.10572 | 0.10577 | 0.0 | 0.89 -Comm | 0.73714 | 2.5381 | 4.3392 | 113.0 | 21.46 -Output | 0.0032977 | 0.0035468 | 0.003796 | 0.4 | 0.03 -Modify | 0.43872 | 0.44155 | 0.44438 | 0.4 | 3.73 -Other | | 0.06121 | | | 0.52 +Pair | 6.8605 | 8.6071 | 10.354 | 59.5 | 73.00 +Bond | 0.044148 | 0.044761 | 0.045375 | 0.3 | 0.38 +Neigh | 0.10568 | 0.10573 | 0.10578 | 0.0 | 0.90 +Comm | 0.74919 | 2.4939 | 4.2386 | 110.5 | 21.15 +Output | 0.0033838 | 0.0036358 | 0.0038879 | 0.4 | 0.03 +Modify | 0.46825 | 0.47526 | 0.48227 | 1.0 | 4.03 +Other | | 0.05993 | | | 0.51 Nlocal: 51 ave 51 max 51 min Histogram: 2 0 0 0 0 0 0 0 0 0 diff --git a/examples/PACKAGES/alchemy/log.25Feb23.twowater.g++.4.1 b/examples/PACKAGES/alchemy/log.25Feb23.twowater.g++.4.1 index 8fa06d5677..e1d32eb1c7 100644 --- a/examples/PACKAGES/alchemy/log.25Feb23.twowater.g++.4.1 +++ b/examples/PACKAGES/alchemy/log.25Feb23.twowater.g++.4.1 @@ -45,7 +45,7 @@ Read molecule template water: create_atoms 0 single -2.0 0.0 0.0 mol water 453624 Created 3 atoms using lattice units in orthogonal box = (-5 -5 -5) to (5 5 5) - create_atoms CPU = 0.004 seconds + create_atoms CPU = 0.003 seconds create_atoms 0 single 2.0 0.0 0.0 mol water 767353 Created 3 atoms using lattice units in orthogonal box = (-5 -5 -5) to (5 5 5) @@ -191,8 +191,8 @@ fix_modify integrate press pressure # only need to output a dump file from one partition # if "${name} == twowater" then # "dump 1 all atom 100 ${name}.lammpstrj" # "dump_modify 1 sort id" -thermo_style custom step temp press etotal density pe ke f_transform[1] f_transform[4] -thermo_modify colname f_transform[1] lambda colname f_transform[4] EPot_mixed +thermo_style custom step temp press etotal density pe ke f_transform f_transform[3] +thermo_modify colname f_transform lambda colname f_transform[3] EPot_mixed thermo_modify press pressure thermo 100 @@ -402,21 +402,21 @@ Per MPI rank memory allocation (min/avg/max) = 7.535 | 7.535 | 7.535 Mbytes 19800 295.68946 81474.342 1996.4567 1.0240743 1907.4359 89.020804 0.99 1910.5545 19900 306.4947 43488.052 2048.2997 1.0222707 1956.0258 92.27385 0.995 1957.4368 20000 313.31679 -25133.284 -1555.4274 1.0163289 -1649.7551 94.327722 1 -1649.7551 -Loop time of 11.8253 on 2 procs for 20000 steps with 102 atoms +Loop time of 11.7903 on 2 procs for 20000 steps with 102 atoms -Performance: 29.226 ns/day, 0.821 hours/ns, 1691.295 timesteps/s, 172.512 katom-step/s +Performance: 29.312 ns/day, 0.819 hours/ns, 1696.310 timesteps/s, 173.024 katom-step/s 99.3% CPU use with 2 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 6.8508 | 8.6272 | 10.404 | 60.5 | 72.96 -Bond | 0.045829 | 0.046542 | 0.047256 | 0.3 | 0.39 -Neigh | 0.10781 | 0.10791 | 0.108 | 0.0 | 0.91 -Comm | 0.75178 | 2.5281 | 4.3045 | 111.7 | 21.38 -Output | 0.0032916 | 0.0035722 | 0.0038527 | 0.5 | 0.03 -Modify | 0.44867 | 0.45212 | 0.45556 | 0.5 | 3.82 -Other | | 0.05976 | | | 0.51 +Pair | 6.8748 | 8.631 | 10.387 | 59.8 | 73.20 +Bond | 0.04667 | 0.047105 | 0.04754 | 0.2 | 0.40 +Neigh | 0.10858 | 0.10862 | 0.10866 | 0.0 | 0.92 +Comm | 0.74367 | 2.4997 | 4.2558 | 111.1 | 21.20 +Output | 0.0034405 | 0.0037033 | 0.003966 | 0.4 | 0.03 +Modify | 0.4338 | 0.4388 | 0.4438 | 0.8 | 3.72 +Other | | 0.06136 | | | 0.52 Nlocal: 51 ave 51 max 51 min Histogram: 2 0 0 0 0 0 0 0 0 0 diff --git a/src/REPLICA/fix_alchemy.cpp b/src/REPLICA/fix_alchemy.cpp index ea89b1a016..6a65c0d116 100644 --- a/src/REPLICA/fix_alchemy.cpp +++ b/src/REPLICA/fix_alchemy.cpp @@ -31,33 +31,27 @@ using namespace FixConst; /* ---------------------------------------------------------------------- */ -static double get_lambda(const bigint &step, const bigint &begin, const bigint &end, int iworld) -{ - double lambda = step - begin; - if (lambda != 0.0) lambda /= end - begin; - if (iworld == 0) lambda = 1.0 - lambda; - return lambda; -} - -/* ---------------------------------------------------------------------- */ - FixAlchemy::FixAlchemy(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), commbuf(nullptr) { if (narg != 3) error->all(FLERR, "Incorrect number of arguments for fix alchemy"); + if (universe->nworlds != 2) error->all(FLERR, "Must use exactly two partitions"); - lambda = epot[0] = epot[1] = 0.0; + lambda = epot[0] = epot[1] = epot[2] = 0.0; progress = 0; for (int i = 0; i < 6; ++i) pressure[i] = 0.0; no_change_box = 1; + time_depend = 1; + scalar_flag = 1; + extscalar = 0; vector_flag = 1; - size_vector = 10; - extvector = 0; + size_vector = 3; + extvector = 1; ilevel_respa = 0; nmax = 6; + sync_box = 0; // set up rank-to-rank communicator - if (universe->nworlds != 2) error->all(FLERR, "Must use exactly two partitions"); int color = comm->me; int key = universe->iworld; MPI_Comm_split(universe->uworld, color, key, &samerank); @@ -163,12 +157,22 @@ void FixAlchemy::setup(int vflag) void FixAlchemy::post_integrate() { + // synchronize atom positions const int nall = atom->nlocal + atom->nghost; MPI_Bcast(&atom->x[0][0], 3 * nall, MPI_DOUBLE, 0, samerank); // synchronize box dimensions, if needed if (sync_box) synchronize_box(domain, samerank); } + +/* ---------------------------------------------------------------------- */ + +static double get_lambda(const bigint &step, const bigint &begin, const bigint &end, int iworld) +{ + double lambda = step - begin; + if (lambda != 0.0) lambda /= end - begin; + if (iworld == 0) lambda = 1.0 - lambda; + return lambda; } /* ---------------------------------------------------------------------- */ @@ -215,11 +219,16 @@ void FixAlchemy::post_force(int /*vflag*/) /* ---------------------------------------------------------------------- */ +double FixAlchemy::compute_scalar() +{ + return lambda; +} + +/* ---------------------------------------------------------------------- */ + double FixAlchemy::compute_vector(int n) { - if (n == 0) return lambda; - if ((n > 0) && (n < 4)) return epot[n - 1]; - return pressure[n - 4]; + return epot[n]; } /* ---------------------------------------------------------------------- */ diff --git a/src/REPLICA/fix_alchemy.h b/src/REPLICA/fix_alchemy.h index ea342fa0ea..86c58a7b78 100644 --- a/src/REPLICA/fix_alchemy.h +++ b/src/REPLICA/fix_alchemy.h @@ -34,6 +34,7 @@ class FixAlchemy : public Fix { void setup(int) override; void post_integrate() override; void post_force(int) override; + double compute_scalar() override; double compute_vector(int) override; void *extract(const char *, int &) override; From 828b70fbfa45b43ef88852beb51c4891fa2cfc8b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 25 Feb 2023 13:58:58 -0500 Subject: [PATCH 159/448] silence warning --- doc/src/fix_pimd.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/fix_pimd.rst b/doc/src/fix_pimd.rst index 0a4f9a38fb..84c6e47c1f 100644 --- a/doc/src/fix_pimd.rst +++ b/doc/src/fix_pimd.rst @@ -1,7 +1,7 @@ .. index:: fix pimd/nvt fix pimd/nvt command -================ +==================== Syntax """""" From 2bad63c68e9906f16e7511405e2258d0be1fda9f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 25 Feb 2023 13:58:23 -0500 Subject: [PATCH 160/448] add documentation --- doc/src/Commands_compute.rst | 1 + doc/src/Commands_fix.rst | 1 + doc/src/compute.rst | 1 + doc/src/compute_pressure_alchemy.rst | 80 +++++++++++++++++++++ doc/src/fix.rst | 1 + doc/src/fix_alchemy.rst | 104 +++++++++++++++++++++++++++ src/REPLICA/fix_alchemy.cpp | 13 +++- 7 files changed, 200 insertions(+), 1 deletion(-) create mode 100644 doc/src/compute_pressure_alchemy.rst create mode 100644 doc/src/fix_alchemy.rst diff --git a/doc/src/Commands_compute.rst b/doc/src/Commands_compute.rst index aaa899ef66..c2753b2afc 100644 --- a/doc/src/Commands_compute.rst +++ b/doc/src/Commands_compute.rst @@ -104,6 +104,7 @@ KOKKOS, o = OPENMP, t = OPT. * :doc:`pe/tally ` * :doc:`plasticity/atom ` * :doc:`pressure ` + * :doc:`pressure/alchemy ` * :doc:`pressure/uef ` * :doc:`property/atom ` * :doc:`property/chunk ` diff --git a/doc/src/Commands_fix.rst b/doc/src/Commands_fix.rst index d275b33eba..5b331af1aa 100644 --- a/doc/src/Commands_fix.rst +++ b/doc/src/Commands_fix.rst @@ -29,6 +29,7 @@ OPT. * :doc:`adapt/fep ` * :doc:`addforce ` * :doc:`addtorque ` + * :doc:`alchemy ` * :doc:`amoeba/bitorsion ` * :doc:`amoeba/pitorsion ` * :doc:`append/atoms ` diff --git a/doc/src/compute.rst b/doc/src/compute.rst index 72ea31bbb4..3d74b3884e 100644 --- a/doc/src/compute.rst +++ b/doc/src/compute.rst @@ -258,6 +258,7 @@ The individual style names on the :doc:`Commands compute ` pag * :doc:`pe/tally ` - potential energy between two groups of atoms via the tally callback mechanism * :doc:`plasticity/atom ` - Peridynamic plasticity for each atom * :doc:`pressure ` - total pressure and pressure tensor +* :doc:`pressure/alchemy ` - mixed system total pressure and pressure tensor for :doc:`fix alchemy ` runs * :doc:`pressure/uef ` - pressure tensor in the reference frame of an applied flow field * :doc:`property/atom ` - convert atom attributes to per-atom vectors/arrays * :doc:`property/chunk ` - extract various per-chunk attributes diff --git a/doc/src/compute_pressure_alchemy.rst b/doc/src/compute_pressure_alchemy.rst new file mode 100644 index 0000000000..bdf9802e20 --- /dev/null +++ b/doc/src/compute_pressure_alchemy.rst @@ -0,0 +1,80 @@ +.. index:: compute pressure/alchemy + +compute pressure/alchemy command +================================ + +Syntax +"""""" + +.. code-block:: LAMMPS + + compute ID group-ID pressure/alchemy fix-ID + +* ID, group-ID are documented in :doc:`compute ` command +* pressure/alchemy = style name of this compute command +* fix-ID = ID of :doc:`fix alchemy ` command + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix trans all alchemy + compute mixed all pressure/alchemy trans + thermo_modify press mixed + +Description +""""""""""" + +.. versionadded:: TBD + +Define a compute style that makes the "mixed" system pressure available +for a system that uses the :doc:`fix alchemy ` command to +transform one topology to another. This can be used in combination with +either :doc:`thermo_modify press ` or :doc:`fix_modify +press ` to output and access a pressure consistent with the +simulated combined two topology system. + +The actual pressure is determined with :doc:`compute pressure +` commands that are internally used by :doc:`fix +alchemy ` for each topology individually and then combined. +This command just extracts the information from the fix. + +The ``examples/PACKAGES/alchemy`` folder contains an example input for this command. + +---------- + +Output info +""""""""""" + +This compute calculates a global scalar (the pressure) and a global +vector of length 6 (the pressure tensor), which can be accessed by +indices 1--6. These values can be used by any command that uses global +scalar or vector values from a compute as input. See the :doc:`Howto +output ` page for an overview of LAMMPS output options. + +The ordering of values in the symmetric pressure tensor is as follows: +:math:`p_{xx},` :math:`p_{yy},` :math:`p_{zz},` :math:`p_{xy},` +:math:`p_{xz},` :math:`p_{yz}.` + +The scalar and vector values calculated by this compute are "intensive". +The scalar and vector values will be in pressure :doc:`units `. + +Restrictions +"""""""""""" + +This compute is part of the REPLICA package. It is only enabled if +LAMMPS was built with that package. See the :doc:`Build package +` page for more info. + + +Related commands +"""""""""""""""" + +:doc:`fix alchemy `, :doc:`compute pressure `, +:doc:`thermo_modify `, :doc:`fix_modify ` + +Default +""""""" + +none diff --git a/doc/src/fix.rst b/doc/src/fix.rst index 2dfe97a3ec..71f8bf9e16 100644 --- a/doc/src/fix.rst +++ b/doc/src/fix.rst @@ -181,6 +181,7 @@ accelerated styles exist. * :doc:`adapt/fep ` - enhanced version of fix adapt * :doc:`addforce ` - add a force to each atom * :doc:`addtorque ` - add a torque to a group of atoms +* :doc:`alchemy ` - perform an "alchemical transformation" between two partitions * :doc:`amoeba/bitorsion ` - torsion/torsion terms in AMOEBA force field * :doc:`amoeba/pitorsion ` - 6-body terms in AMOEBA force field * :doc:`append/atoms ` - append atoms to a running simulation diff --git a/doc/src/fix_alchemy.rst b/doc/src/fix_alchemy.rst new file mode 100644 index 0000000000..1ee9acc629 --- /dev/null +++ b/doc/src/fix_alchemy.rst @@ -0,0 +1,104 @@ +.. index:: fix alchemy + +fix alchemy command +=================== + +Syntax +"""""" + +.. parsed-literal:: + + fix ID group-ID alchemy + +* ID, group-ID are documented in :doc:`fix ` command +* alchemy = style name of this fix command + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix trans all alchemy + +Description +""""""""""" + +.. versionadded:: TBD + +This fix command enables running an "alchemical transformation" MD +simulation between two topologies (i.e. the same number and positions of +atoms, but differences in atom parameters like type, charge, bonds, +angles and so on). For this a :ref:`multi-partition run ` is +required with exactly two partitions. During the MD run, the fix will +will determine a factor :math:`\lambda_p` that will be linearly ramped +*down* from 1.0 to 0.0 for the *first* partition (*p=0*) and ramped *up* +from 0.0 to 1.0 for the *second* partition (*p=1*). The forces used for +the propagation of the atoms will be the sum of the forces of the two +systems combined and scaled with their respective :math:`\lambda_p` +factor. This allows to perform transformations that are not easily +possible with :doc:`fix adapt ` or :doc:`fix adapt/fep +`. + +Due to the specifics of the implementation, the initial geometry and +dimensions of the system must be exactly the same and the fix will +synchronize them during the run. It is thus not possible to initialize +the two partitions by reading different data files or creating different +systems from scratch, but rather they have to be started from the same +system and then the desired modifications need to be applied to the +system of the second partition. The commands :doc:`fix adapt ` +or :doc:`fix adapt/fep ` could be used for simulations +where the requirements for fix alchemy are not given. + +The ``examples/PACKAGES/alchemy`` folder contains example inputs for +this command. + +---------- + +Restart, fix_modify, output, run start/stop, minimize info +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +No information about this fix is written to :doc:`binary restart files `. +None of the :doc:`fix_modify ` options are relevant to this fix. + +This fix stores a global scalar (the current value of :math:`\lambda_p`) +and a global vector or length 3 which contains the potential energy of +the first partition, the second partition and the combined value, +respectively. The global scalar is unitless and "intensive", the vector +is in :doc:`energy units ` and "extensive". This values can be +used by any command that uses a global value from a fix as input. See +the :doc:`Howto output ` doc page for an overview of +LAMMPS output options. + +The value of :math:`\lambda_p` is influenced by the *start/stop* keywords +of the :doc:`run ` command. Without them it will be ramped +linearly from 1.0 to 0.0 or 0.0 to 1.0 during the steps of a run, with +*start/stop* keywords the ramp us from the *start* time step to the +*stop* timestep. This allows to break down a simulation over multiple +*run* commands or to continue transparently from a restart. + +This fix is not invoked during :doc:`energy minimization `. + +Restrictions +"""""""""""" + +This fix is part of the REPLICA package. It is only enabled if LAMMPS +was built with that package. See the :doc:`Build package +` page for more info. + +There may be only one instance of this fix in use at any time. + +This fix requires to perform a :ref:`multi-partition run ` +with *exactly* two partitions. + +This fix is *not* compatible with :doc:`load balancing `. + +Related commands +"""""""""""""""" + +:doc:`compute pressure/alchemy ` command, +:doc:`fix adapt ` command + +Default +""""""" + +none diff --git a/src/REPLICA/fix_alchemy.cpp b/src/REPLICA/fix_alchemy.cpp index 6a65c0d116..18e55603b9 100644 --- a/src/REPLICA/fix_alchemy.cpp +++ b/src/REPLICA/fix_alchemy.cpp @@ -51,12 +51,14 @@ FixAlchemy::FixAlchemy(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), nmax = 6; sync_box = 0; - // set up rank-to-rank communicator + // set up rank-to-rank communicator for inter-partition communication + int color = comm->me; int key = universe->iworld; MPI_Comm_split(universe->uworld, color, key, &samerank); // check that we have the same domain decomposition on all ranks + int my_nlocal[2] = {0, 0}; int all_nlocal[2] = {0, 0}; my_nlocal[universe->iworld] = atom->nlocal; @@ -124,7 +126,11 @@ void FixAlchemy::init() if (modify->get_fix_by_style("^balance").size() > 0) error->all(FLERR, "Fix alchemy is not compatible with load balancing"); + if (modify->get_fix_by_style("^alchemy").size() > 1) + error->all(FLERR, "There may only one fix alchemy at a time"); + // synchronize box dimensions, determine if resync during run will be needed. + synchronize_box(domain, samerank); sync_box = 0; @@ -158,10 +164,12 @@ void FixAlchemy::setup(int vflag) void FixAlchemy::post_integrate() { // synchronize atom positions + const int nall = atom->nlocal + atom->nghost; MPI_Bcast(&atom->x[0][0], 3 * nall, MPI_DOUBLE, 0, samerank); // synchronize box dimensions, if needed + if (sync_box) synchronize_box(domain, samerank); } @@ -192,6 +200,7 @@ void FixAlchemy::post_force(int /*vflag*/) MPI_Allreduce(commbuf, f, nall, MPI_DOUBLE, MPI_SUM, samerank); // sum up potential energy + const double scalefac = 1.0 / comm->nprocs; commbuf[0] = commbuf[1] = commbuf[2] = 0.0; commbuf[universe->iworld] = scalefac * pe->compute_scalar(); @@ -200,12 +209,14 @@ void FixAlchemy::post_force(int /*vflag*/) pe->addstep(update->ntimestep + 1); // sum up pressure + press->compute_vector(); for (int i = 0; i < 6; ++i) commbuf[i] = lambda * scalefac * press->vector[i]; MPI_Allreduce(commbuf, pressure, 6, MPI_DOUBLE, MPI_SUM, universe->uworld); press->addstep(update->ntimestep + 1); // print progress info + if (universe->me == 0) { int status = static_cast(100.0 - lambda * 100.0); if ((status / 10) > (progress / 10)) { From bb17541c30a018176dcf419f9d4266bc26969854 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 25 Feb 2023 15:09:01 -0500 Subject: [PATCH 161/448] add simple example for transforming a pure metal into an alloy --- doc/src/fix_alchemy.rst | 19 +- examples/PACKAGES/alchemy/AlCu.eam.alloy | 1 + examples/PACKAGES/alchemy/in.alloy | 39 ++++ examples/PACKAGES/alchemy/in.twowater | 6 +- .../PACKAGES/alchemy/log.25Feb23.alloy.g++.4 | 13 ++ .../alchemy/log.25Feb23.alloy.g++.4.0 | 165 +++++++++++++++++ .../alchemy/log.25Feb23.alloy.g++.4.1 | 168 ++++++++++++++++++ 7 files changed, 406 insertions(+), 5 deletions(-) create mode 120000 examples/PACKAGES/alchemy/AlCu.eam.alloy create mode 100644 examples/PACKAGES/alchemy/in.alloy create mode 100644 examples/PACKAGES/alchemy/log.25Feb23.alloy.g++.4 create mode 100644 examples/PACKAGES/alchemy/log.25Feb23.alloy.g++.4.0 create mode 100644 examples/PACKAGES/alchemy/log.25Feb23.alloy.g++.4.1 diff --git a/doc/src/fix_alchemy.rst b/doc/src/fix_alchemy.rst index 1ee9acc629..26ff4589a5 100644 --- a/doc/src/fix_alchemy.rst +++ b/doc/src/fix_alchemy.rst @@ -49,8 +49,23 @@ system of the second partition. The commands :doc:`fix adapt ` or :doc:`fix adapt/fep ` could be used for simulations where the requirements for fix alchemy are not given. -The ``examples/PACKAGES/alchemy`` folder contains example inputs for -this command. +The commands below demonstrate how this can be done for the example of +transforming a pure copper system into a copper aluminum bronze. + +.. code-block:: LAMMPS + + create_box 2 box + create_atoms 1 box + pair_style eam/alloy + pair_coeff * * AlCu.eam.alloy Cu Al + + # replace 5% of copper with aluminum on the second partition only + variable name world pure alloy + if "${name} == alloy" then & + "set type 1 type/fraction 2 0.05 6745234" + +The ``examples/PACKAGES/alchemy`` folder contains complete example +inputs for this command. ---------- diff --git a/examples/PACKAGES/alchemy/AlCu.eam.alloy b/examples/PACKAGES/alchemy/AlCu.eam.alloy new file mode 120000 index 0000000000..c9470b2084 --- /dev/null +++ b/examples/PACKAGES/alchemy/AlCu.eam.alloy @@ -0,0 +1 @@ +../../../potentials/AlCu.eam.alloy \ No newline at end of file diff --git a/examples/PACKAGES/alchemy/in.alloy b/examples/PACKAGES/alchemy/in.alloy new file mode 100644 index 0000000000..f041157ee6 --- /dev/null +++ b/examples/PACKAGES/alchemy/in.alloy @@ -0,0 +1,39 @@ +# Example for an alchemical transformation simulation of pure copper into an aluminium bronze + +# set up different names for two partitions +variable name world pure alloy + +# create pure copper system +units metal +lattice fcc 3.75 +region box block 0 6 0 6 0 6 +create_box 2 box + +timestep 0.002 +create_atoms 1 box +displace_atoms all random 0.3 0.3 0.3 57845645 +pair_style eam/alloy +pair_coeff * * AlCu.eam.alloy Cu Al + +# replace 5% of copper with aluminium on the second partition only +if "${name} == alloy" then & + "set type 1 type/fraction 2 0.05 6745234" + +velocity all create 5000.0 6567345 +fix 1 all nvt temp 2500.0 500.0 0.002 +fix 2 all alchemy + +compute pressure all pressure/alchemy 2 + +# only need to output a dump file from one partition +#if "${name} == alloy" then & +# "dump 1 all custom 100 ${name}.lammpstrj id type element x y z" & +# "dump_modify 1 element Cu Al" + +thermo_style custom step temp press etotal density pe ke f_2 f_2[3] +thermo_modify colname f_2 lambda colname f_2[3] EPot_mixed +thermo_modify press pressure + +thermo 100 +run 10000 post no + diff --git a/examples/PACKAGES/alchemy/in.twowater b/examples/PACKAGES/alchemy/in.twowater index 6e1727de5a..ae48436f5f 100644 --- a/examples/PACKAGES/alchemy/in.twowater +++ b/examples/PACKAGES/alchemy/in.twowater @@ -1,6 +1,6 @@ -# Example for alchemical transformation of two water molecules into a hydronium and hydroxyl ion -# WARNING: This input is intended for demonstrating the method, only -# The force field parameters are made up and NOT suitable for production simulations. +# Example for an alchemical transformation of two water molecules into a hydronium and hydroxyl ion +# WARNING: This input is intended for demonstrating the method only, +# the force field parameters are mostly made up and NOT suitable for production simulations. # set up different names for two partitions variable name world twowater twoions diff --git a/examples/PACKAGES/alchemy/log.25Feb23.alloy.g++.4 b/examples/PACKAGES/alchemy/log.25Feb23.alloy.g++.4 new file mode 100644 index 0000000000..18375012d0 --- /dev/null +++ b/examples/PACKAGES/alchemy/log.25Feb23.alloy.g++.4 @@ -0,0 +1,13 @@ +LAMMPS (8 Feb 2023) +Running on 2 partitions of processors +Starting alchemical transformation at 0% + Alchemical transformation progress: 10% + Alchemical transformation progress: 20% + Alchemical transformation progress: 30% + Alchemical transformation progress: 40% + Alchemical transformation progress: 50% + Alchemical transformation progress: 60% + Alchemical transformation progress: 70% + Alchemical transformation progress: 80% + Alchemical transformation progress: 90% + Alchemical transformation progress: 100% diff --git a/examples/PACKAGES/alchemy/log.25Feb23.alloy.g++.4.0 b/examples/PACKAGES/alchemy/log.25Feb23.alloy.g++.4.0 new file mode 100644 index 0000000000..4b45cdedcf --- /dev/null +++ b/examples/PACKAGES/alchemy/log.25Feb23.alloy.g++.4.0 @@ -0,0 +1,165 @@ +LAMMPS (8 Feb 2023) +Processor partition = 0 + using 1 OpenMP thread(s) per MPI task +# Example for an alchemical transformation simulation of pure copper into an aluminium bronze + +# set up different names for two partitions +variable name world pure alloy + +# create pure copper system +units metal +lattice fcc 3.75 +Lattice spacing in x,y,z = 3.75 3.75 3.75 +region box block 0 6 0 6 0 6 +create_box 2 box +Created orthogonal box = (0 0 0) to (22.5 22.5 22.5) + 1 by 1 by 2 MPI processor grid + +timestep 0.002 +create_atoms 1 box +Created 864 atoms + using lattice units in orthogonal box = (0 0 0) to (22.5 22.5 22.5) + create_atoms CPU = 0.000 seconds +displace_atoms all random 0.3 0.3 0.3 57845645 +Displacing atoms ... +pair_style eam/alloy +pair_coeff * * AlCu.eam.alloy Cu Al +Reading eam/alloy potential file AlCu.eam.alloy with DATE: 2008-10-01 + +# replace 5% of copper with aluminium on the second partition only +if "${name} == alloy" then "set type 1 type/fraction 2 0.05 6745234" + +velocity all create 5000.0 6567345 +fix 1 all nvt temp 2500.0 500.0 0.002 +fix 2 all alchemy + +compute pressure all pressure/alchemy 2 + +# only need to output a dump file from one partition +#if "${name} == alloy" then # "dump 1 all custom 100 ${name}.lammpstrj id type element x y z" # "dump_modify 1 element Cu Al" + +thermo_style custom step temp press etotal density pe ke f_2 f_2[3] +thermo_modify colname f_2 lambda colname f_2[3] EPot_mixed +thermo_modify press pressure + +thermo 100 +run 10000 post no +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 8.6825 + ghost atom cutoff = 8.6825 + binsize = 4.34125, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair eam/alloy, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.474 | 3.474 | 3.474 Mbytes + Step Temp Press TotEng Density PotEng KinEng lambda EPot_mixed + 0 5000 2135632.8 10911.637 8.0039334 10353.88 557.75753 1 10353.88 + 100 2424.8703 98461.445 -2402.724 8.0039334 -2673.222 270.49793 0.99 -2673.3837 + 200 2404.4922 111478.55 -2381.5114 8.0039334 -2649.7361 268.22473 0.98 -2650.057 + 300 2388.2899 109429.75 -2387.7985 8.0039334 -2654.2158 266.41733 0.97 -2654.7075 + 400 2377.6418 97114.07 -2409.7114 8.0039334 -2674.9409 265.22953 0.96 -2675.755 + 500 2371.5028 98285.746 -2408.3248 8.0039334 -2672.8695 264.54471 0.95 -2673.6895 + 600 2368.0363 101125.13 -2402.9816 8.0039334 -2667.1396 264.15802 0.94 -2668.238 + 700 2364.8386 96916.491 -2410.1795 8.0039334 -2673.9808 263.80131 0.93 -2675.3394 + 800 2361.5815 101050.97 -2404.7579 8.0039334 -2668.1958 263.43797 0.92 -2669.6797 + 900 2355.1085 95290.542 -2416.4508 8.0039334 -2679.1667 262.7159 0.91 -2681.0381 + 1000 2344.579 90348.199 -2430.3553 8.0039334 -2691.8966 261.54132 0.9 -2693.7969 + 1100 2328.7808 87089.44 -2435.1426 8.0039334 -2694.9216 259.779 0.89 -2696.9199 + 1200 2310.0924 89628.642 -2438.4943 8.0039334 -2696.1886 257.69429 0.88 -2698.4983 + 1300 2288.2762 92771.824 -2430.0042 8.0039334 -2685.2648 255.26065 0.87 -2687.6406 + 1400 2258.3028 83029.221 -2451.9432 8.0039334 -2703.8603 251.91707 0.86 -2706.638 + 1500 2226.5131 83386 -2452.9658 8.0039334 -2701.3367 248.37089 0.85 -2704.0915 + 1600 2192.5777 81801.467 -2460.6692 8.0039334 -2705.2546 244.58535 0.84 -2708.3304 + 1700 2158.7421 84933.294 -2456.2782 8.0039334 -2697.0891 240.81093 0.83 -2700.142 + 1800 2123.8912 76700.779 -2474.2534 8.0039334 -2711.1767 236.92327 0.82 -2714.6978 + 1900 2091.3912 82568.985 -2469.6316 8.0039334 -2702.9295 233.29783 0.81 -2706.5643 + 2000 2061.868 79024.983 -2476.3262 8.0039334 -2706.3307 230.00448 0.8 -2710.7 + 2100 2036.179 72408.502 -2493.6936 8.0039334 -2720.8324 227.13884 0.79 -2725.1617 + 2200 2014.0161 81172.694 -2479.0525 8.0039334 -2703.719 224.66652 0.78 -2708.4618 + 2300 1996.2707 78029.129 -2485.3835 8.0039334 -2708.0706 222.687 0.77 -2712.5894 + 2400 1982.6409 79691.571 -2483.2441 8.0039334 -2704.4107 221.16658 0.76 -2709.4434 + 2500 1971.6774 75015.359 -2493.8754 8.0039334 -2713.819 219.94358 0.75 -2719.4159 + 2600 1963.0369 74845.99 -2493.3203 8.0039334 -2712.3 218.97972 0.74 -2718.1619 + 2700 1955.2025 76756.042 -2491.6282 8.0039334 -2709.7339 218.10578 0.73 -2716.0963 + 2800 1947.4326 70627.84 -2507.5853 8.0039334 -2724.8243 217.23904 0.72 -2730.7999 + 2900 1939.4308 70852.114 -2508.8277 8.0039334 -2725.1742 216.34642 0.71 -2731.5024 + 3000 1929.3184 75867.616 -2497.0826 8.0039334 -2712.301 215.21837 0.7 -2718.4146 + 3100 1916.202 68984.855 -2517.8316 8.0039334 -2731.5868 213.75522 0.69 -2738.0966 + 3200 1901.363 73304.621 -2508.0281 8.0039334 -2720.128 212.09991 0.68 -2727.1933 + 3300 1881.196 69447.29 -2513.9782 8.0039334 -2723.8285 209.85024 0.67 -2730.768 + 3400 1856.1833 64973.868 -2526.8095 8.0039334 -2733.8695 207.06004 0.66 -2741.4173 + 3500 1829.7246 64688.566 -2528.8664 8.0039334 -2732.9749 204.10853 0.65 -2740.986 + 3600 1800.1245 56451.766 -2547.6377 8.0039334 -2748.4443 200.80659 0.64 -2756.4626 + 3700 1771.5886 68268.147 -2530.5906 8.0039334 -2728.214 197.62337 0.63 -2735.8618 + 3800 1740.3894 64187.24 -2539.0772 8.0039334 -2733.2202 194.14306 0.62 -2742.67 + 3900 1709.6971 61697.296 -2548.5651 8.0039334 -2739.2844 190.71928 0.61 -2748.648 + 4000 1680.6126 58960.336 -2557.3154 8.0039334 -2744.7902 187.47487 0.6 -2753.7317 + 4100 1653.386 49607.708 -2575.5217 8.0039334 -2759.9594 184.43769 0.59 -2769.1633 + 4200 1628.5806 59615.376 -2562.3155 8.0039334 -2743.9861 181.67062 0.58 -2753.41 + 4300 1605.7638 57213.496 -2568.9241 8.0039334 -2748.0495 179.12536 0.57 -2758.0401 + 4400 1586.3539 57319.854 -2567.3656 8.0039334 -2744.3258 176.96016 0.56 -2754.0451 + 4500 1569.1762 51130.713 -2581.1996 8.0039334 -2756.2435 175.04397 0.55 -2767.0321 + 4600 1554.2279 51209.179 -2582.5415 8.0039334 -2755.918 173.37646 0.54 -2767.2662 + 4700 1541.2064 51391.73 -2584.9958 8.0039334 -2756.9197 171.92389 0.53 -2768.7565 + 4800 1529.3566 48164.466 -2590.6042 8.0039334 -2761.2062 170.60203 0.52 -2773.7243 + 4900 1517.8359 47270.397 -2595.8724 8.0039334 -2765.1893 169.31688 0.51 -2777.023 + 5000 1506.2157 46127.507 -2595.6789 8.0039334 -2763.6995 168.02063 0.5 -2777.2298 + 5100 1494.4675 45092.69 -2600.075 8.0039334 -2766.7851 166.7101 0.49 -2779.7181 + 5200 1480.2051 41485.775 -2607.0151 8.0039334 -2772.1342 165.1191 0.48 -2785.5483 + 5300 1465.1748 39849.775 -2612.3292 8.0039334 -2775.7716 163.44246 0.47 -2788.9493 + 5400 1447.9857 39330.898 -2615.0485 8.0039334 -2776.5735 161.52498 0.46 -2790.3996 + 5500 1427.9752 35674.647 -2624.4226 8.0039334 -2783.7154 159.29278 0.45 -2797.922 + 5600 1406.1138 33960.907 -2630.1163 8.0039334 -2786.9704 156.85411 0.44 -2801.8887 + 5700 1383.2834 39122.559 -2621.0951 8.0039334 -2775.4025 154.30734 0.43 -2790.3487 + 5800 1357.4953 34996.372 -2632.2759 8.0039334 -2783.7065 151.43064 0.42 -2798.8306 + 5900 1331.345 30380.598 -2640.9488 8.0039334 -2789.4624 148.51354 0.41 -2804.9873 + 6000 1304.5621 26910.214 -2652.7787 8.0039334 -2798.3046 145.52587 0.4 -2814.8623 + 6100 1278.2361 34273.343 -2642.9208 8.0039334 -2785.51 142.58917 0.39 -2801.9949 + 6200 1251.7315 29640.216 -2651.6543 8.0039334 -2791.2868 139.63253 0.38 -2807.555 + 6300 1226.3243 25302.881 -2660.8448 8.0039334 -2797.6431 136.79832 0.37 -2815.3412 + 6400 1202.0501 23978.218 -2668.9812 8.0039334 -2803.0717 134.09049 0.36 -2820.0498 + 6500 1178.656 25315.547 -2668.8266 8.0039334 -2800.3074 131.48085 0.35 -2817.3114 + 6600 1156.9362 22676.36 -2673.1256 8.0039334 -2802.1835 129.05797 0.34 -2819.6239 + 6700 1163.8953 22497.41 -2674.4164 8.0039334 -2804.2506 129.83427 0.33 -2821.3556 + 6800 1123.3867 18193.925 -2685.3997 8.0039334 -2810.7152 125.31548 0.32 -2830.2267 + 6900 1147.6164 19451.295 -2682.5112 8.0039334 -2810.5295 128.01834 0.31 -2830.1189 + 7000 1096.0437 16757.031 -2689.5567 8.0039334 -2811.822 122.26532 0.3 -2832.475 + 7100 1065.1232 11734.429 -2703.0123 8.0039334 -2821.8284 118.8161 0.29 -2841.8886 + 7200 1048.459 15187.579 -2697.6953 8.0039334 -2814.6525 116.95718 0.28 -2834.2885 + 7300 1067.9311 13697.721 -2698.4027 8.0039334 -2817.532 119.12932 0.27 -2838.9073 + 7400 998.4963 13330.213 -2707.915 8.0039334 -2819.2987 111.38377 0.26 -2840.2979 + 7500 1023.6105 7070.7227 -2712.3293 8.0039334 -2826.5146 114.18529 0.25 -2848.8706 + 7600 970.8256 7694.074 -2717.03 8.0039334 -2825.3271 108.29706 0.24 -2848.0154 + 7700 966.64807 2336.6244 -2727.1914 8.0039334 -2835.0224 107.83105 0.23 -2858.6468 + 7800 961.41051 564.58952 -2731.2826 8.0039334 -2838.5294 107.24679 0.22 -2862.4362 + 7900 880.63112 3569.7496 -2734.8614 8.0039334 -2833.0971 98.235727 0.21 -2857.2329 + 8000 904.4189 -883.03123 -2738.386 8.0039334 -2839.2753 100.88929 0.2 -2864.1778 + 8100 901.36129 -977.71992 -2739.797 8.0039334 -2840.3452 100.54821 0.19 -2864.7239 + 8200 834.53102 2535.4088 -2741.7378 8.0039334 -2834.831 93.093191 0.18 -2859.9007 + 8300 830.12299 -6039.909 -2755.2151 8.0039334 -2847.8166 92.601469 0.17 -2873.9613 + 8400 807.63492 -5386.015 -2755.7433 8.0039334 -2845.8362 90.092891 0.16 -2872.8494 + 8500 792.64609 -6372.4363 -2758.8515 8.0039334 -2847.2724 88.420864 0.15 -2874.8424 + 8600 758.58937 -11610.225 -2770.2002 8.0039334 -2854.822 84.621786 0.14 -2882.1413 + 8700 758.23023 -10178.597 -2769.9169 8.0039334 -2854.4986 84.581724 0.13 -2881.6683 + 8800 743.6008 -12026.268 -2776.0268 8.0039334 -2858.9766 82.949788 0.12 -2886.1335 + 8900 734.90694 -17472.954 -2783.3532 8.0039334 -2865.3332 81.979975 0.11 -2893.7244 + 9000 707.10989 -17006.609 -2785.8037 8.0039334 -2864.6829 78.879173 0.1 -2893.2911 + 9100 695.13334 -20282.325 -2793.2101 8.0039334 -2870.7532 77.543171 0.09 -2899.891 + 9200 642.26078 -20368.748 -2798.1031 8.0039334 -2869.7483 71.645157 0.08 -2899.7706 + 9300 641.79203 -21031.839 -2798.6175 8.0039334 -2870.2104 71.592866 0.07 -2901.0899 + 9400 640.84125 -20243.066 -2799.2216 8.0039334 -2870.7084 71.486807 0.06 -2901.4655 + 9500 609.96498 -23936.746 -2809.3896 8.0039334 -2877.4321 68.042512 0.05 -2908.2797 + 9600 574.1911 -26956.034 -2817.6178 8.0039334 -2881.6696 64.051882 0.04 -2912.6742 + 9700 567.47641 -28321.949 -2818.8602 8.0039334 -2882.163 63.302848 0.03 -2914.4223 + 9800 520.37758 -31000.6 -2828.0252 8.0039334 -2886.0741 58.048903 0.02 -2918.4921 + 9900 506.49368 -32223.744 -2830.1705 8.0039334 -2886.6706 56.500132 0.01 -2920.4741 + 10000 507.13597 -33930.476 -2834.3236 8.0039334 -2890.8954 56.571781 0 -2924.5423 +Loop time of 19.2208 on 2 procs for 10000 steps with 864 atoms + + +Total wall time: 0:00:19 diff --git a/examples/PACKAGES/alchemy/log.25Feb23.alloy.g++.4.1 b/examples/PACKAGES/alchemy/log.25Feb23.alloy.g++.4.1 new file mode 100644 index 0000000000..9f928692ed --- /dev/null +++ b/examples/PACKAGES/alchemy/log.25Feb23.alloy.g++.4.1 @@ -0,0 +1,168 @@ +LAMMPS (8 Feb 2023) +Processor partition = 1 + using 1 OpenMP thread(s) per MPI task +# Example for an alchemical transformation simulation of pure copper into an aluminium bronze + +# set up different names for two partitions +variable name world pure alloy + +# create pure copper system +units metal +lattice fcc 3.75 +Lattice spacing in x,y,z = 3.75 3.75 3.75 +region box block 0 6 0 6 0 6 +create_box 2 box +Created orthogonal box = (0 0 0) to (22.5 22.5 22.5) + 1 by 1 by 2 MPI processor grid + +timestep 0.002 +create_atoms 1 box +Created 864 atoms + using lattice units in orthogonal box = (0 0 0) to (22.5 22.5 22.5) + create_atoms CPU = 0.000 seconds +displace_atoms all random 0.3 0.3 0.3 57845645 +Displacing atoms ... +pair_style eam/alloy +pair_coeff * * AlCu.eam.alloy Cu Al +Reading eam/alloy potential file AlCu.eam.alloy with DATE: 2008-10-01 + +# replace 5% of copper with aluminium on the second partition only +if "${name} == alloy" then "set type 1 type/fraction 2 0.05 6745234" +set type 1 type/fraction 2 0.05 6745234 +Setting atom values ... + 37 settings made for type/fraction + +velocity all create 5000.0 6567345 +fix 1 all nvt temp 2500.0 500.0 0.002 +fix 2 all alchemy + +compute pressure all pressure/alchemy 2 + +# only need to output a dump file from one partition +#if "${name} == alloy" then # "dump 1 all custom 100 ${name}.lammpstrj id type element x y z" # "dump_modify 1 element Cu Al" + +thermo_style custom step temp press etotal density pe ke f_2 f_2[3] +thermo_modify colname f_2 lambda colname f_2[3] EPot_mixed +thermo_modify press pressure + +thermo 100 +run 10000 post no +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 8.6825 + ghost atom cutoff = 8.6825 + binsize = 4.34125, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair eam/alloy, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.474 | 3.474 | 3.474 Mbytes + Step Temp Press TotEng Density PotEng KinEng lambda EPot_mixed + 0 5000 2135632.8 11134.401 7.8067107 10576.643 557.75753 0 10353.88 + 100 2502.4638 98461.445 -2410.2394 7.8067107 -2689.393 279.1536 0.01 -2673.3837 + 200 2471.2133 111478.55 -2390.1144 7.8067107 -2665.7819 275.66756 0.02 -2650.057 + 300 2442.869 109429.75 -2398.101 7.8067107 -2670.6067 272.50571 0.03 -2654.7075 + 400 2420.4514 97114.07 -2425.2882 7.8067107 -2695.2932 270.005 0.04 -2675.755 + 500 2403.3496 98285.746 -2421.1707 7.8067107 -2689.268 268.09727 0.05 -2673.6895 + 600 2388.6644 101125.13 -2418.9873 7.8067107 -2685.4464 266.45911 0.06 -2668.238 + 700 2372.4091 96916.491 -2428.7444 7.8067107 -2693.3902 264.64581 0.07 -2675.3394 + 800 2356.5786 101050.97 -2423.8648 7.8067107 -2686.7446 262.87989 0.08 -2669.6797 + 900 2337.3256 95290.542 -2439.2282 7.8067107 -2699.9604 260.73219 0.09 -2681.0381 + 1000 2314.6552 90348.199 -2452.6965 7.8067107 -2710.8998 258.20327 0.1 -2693.7969 + 1100 2288.9862 87089.44 -2457.7481 7.8067107 -2713.088 255.33986 0.11 -2696.9199 + 1200 2263.1553 89628.642 -2462.9772 7.8067107 -2715.4356 252.45838 0.12 -2698.4983 + 1300 2238.1696 92771.824 -2453.8691 7.8067107 -2703.5403 249.67118 0.13 -2687.6406 + 1400 2209.3333 83029.221 -2477.2462 7.8067107 -2723.7006 246.45446 0.14 -2706.638 + 1500 2181.9468 83386 -2476.3027 7.8067107 -2719.7022 243.39945 0.15 -2704.0915 + 1600 2156.3929 81801.467 -2483.9294 7.8067107 -2724.4783 240.54887 0.16 -2708.3304 + 1700 2133.221 84933.294 -2477.0832 7.8067107 -2715.0473 237.96401 0.17 -2700.142 + 1800 2110.4496 76700.779 -2495.3147 7.8067107 -2730.7386 235.42383 0.18 -2714.6978 + 1900 2091.8774 82568.985 -2488.7082 7.8067107 -2722.0603 233.35207 0.19 -2706.5643 + 2000 2074.8972 79024.983 -2496.7194 7.8067107 -2728.1773 231.45791 0.2 -2710.7 + 2100 2059.7023 72408.502 -2511.6849 7.8067107 -2741.4478 229.76289 0.21 -2725.1617 + 2200 2046.5649 81172.694 -2496.9796 7.8067107 -2725.277 228.2974 0.22 -2708.4618 + 2300 2033.9024 78029.129 -2500.8329 7.8067107 -2727.7178 226.88488 0.23 -2712.5894 + 2400 2022.0535 79691.571 -2499.8173 7.8067107 -2725.3804 225.56311 0.24 -2709.4434 + 2500 2008.7841 75015.359 -2512.1238 7.8067107 -2736.2067 224.08289 0.25 -2719.4159 + 2600 1995.175 74845.99 -2512.2807 7.8067107 -2734.8455 222.56477 0.26 -2718.1619 + 2700 1979.2542 76756.042 -2512.5095 7.8067107 -2733.2983 220.78879 0.27 -2716.0963 + 2800 1961.2518 70627.84 -2527.3853 7.8067107 -2746.1659 218.78059 0.28 -2730.7999 + 2900 1942.4706 70852.114 -2530.3101 7.8067107 -2746.9956 216.68552 0.29 -2731.5024 + 3000 1922.0973 75867.616 -2518.2668 7.8067107 -2732.6796 214.41284 0.3 -2718.4146 + 3100 1898.9538 68984.855 -2540.7552 7.8067107 -2752.5863 211.83116 0.31 -2738.0966 + 3200 1874.9107 73304.621 -2533.0578 7.8067107 -2742.2069 209.14911 0.32 -2727.1933 + 3300 1848.9824 69447.29 -2538.6006 7.8067107 -2744.8574 206.25677 0.33 -2730.768 + 3400 1821.4108 64973.868 -2552.8877 7.8067107 -2756.0688 203.18111 0.34 -2741.4173 + 3500 1795.4926 64688.566 -2555.5739 7.8067107 -2755.8638 200.2899 0.35 -2740.986 + 3600 1769.4009 56451.766 -2573.338 7.8067107 -2770.7174 197.37934 0.36 -2756.4626 + 3700 1745.5646 68268.147 -2554.1634 7.8067107 -2748.8838 194.72036 0.37 -2735.8618 + 3800 1721.4956 64187.24 -2566.0526 7.8067107 -2758.088 192.03542 0.38 -2742.67 + 3900 1699.517 61697.296 -2573.7098 7.8067107 -2763.2935 189.58368 0.39 -2748.648 + 4000 1680.2819 58960.336 -2579.7058 7.8067107 -2767.1438 187.43798 0.4 -2753.7317 + 4100 1662.2079 49607.708 -2596.9862 7.8067107 -2782.408 185.42179 0.41 -2769.1633 + 4200 1645.509 59615.376 -2582.865 7.8067107 -2766.424 183.55901 0.42 -2753.41 + 4300 1628.9336 57213.496 -2589.5734 7.8067107 -2771.2834 181.71 0.43 -2758.0401 + 4400 1614.2369 57319.854 -2586.3446 7.8067107 -2766.4151 180.07055 0.44 -2754.0451 + 4500 1598.6946 51130.713 -2601.8813 7.8067107 -2780.2181 178.33679 0.45 -2767.0321 + 4600 1583.2816 51209.179 -2603.9706 7.8067107 -2780.5881 176.61745 0.46 -2767.2662 + 4700 1567.3743 51391.73 -2607.2614 7.8067107 -2782.1044 174.84296 0.47 -2768.7565 + 4800 1550.9245 48164.466 -2614.2775 7.8067107 -2787.2854 173.00797 0.48 -2773.7243 + 4900 1532.697 47270.397 -2618.365 7.8067107 -2789.3397 170.97466 0.49 -2777.023 + 5000 1513.7604 46127.507 -2621.8979 7.8067107 -2790.7601 168.86225 0.5 -2777.2298 + 5100 1494.431 45092.69 -2625.438 7.8067107 -2792.144 166.70602 0.51 -2779.7181 + 5200 1472.5263 41485.775 -2633.6681 7.8067107 -2797.9306 164.26252 0.52 -2785.5483 + 5300 1450.7978 39849.775 -2638.7965 7.8067107 -2800.6352 161.83868 0.53 -2788.9493 + 5400 1428.063 39330.898 -2642.8749 7.8067107 -2802.1774 159.30258 0.54 -2790.3996 + 5500 1404.4139 35674.647 -2652.8811 7.8067107 -2809.5456 156.66449 0.55 -2797.922 + 5600 1380.8619 33960.907 -2659.5731 7.8067107 -2813.6103 154.03722 0.56 -2801.8887 + 5700 1357.9957 39122.559 -2650.1374 7.8067107 -2801.6239 151.48646 0.57 -2790.3487 + 5800 1334.8385 34996.372 -2660.8794 7.8067107 -2809.7826 148.90324 0.58 -2798.8306 + 5900 1312.6203 30380.598 -2669.3511 7.8067107 -2815.7758 146.42476 0.59 -2804.9873 + 6000 1290.7337 26910.214 -2681.9175 7.8067107 -2825.9008 143.98328 0.6 -2814.8623 + 6100 1269.6552 34273.343 -2670.9025 7.8067107 -2812.5345 141.63195 0.61 -2801.9949 + 6200 1249.4502 29640.216 -2678.1477 7.8067107 -2817.5258 139.37805 0.62 -2807.555 + 6300 1229.8377 25302.881 -2688.545 7.8067107 -2825.7352 137.19025 0.63 -2815.3412 + 6400 1211.0142 23978.218 -2694.5096 7.8067107 -2829.6 135.09045 0.64 -2820.0498 + 6500 1192.3094 25315.547 -2693.4635 7.8067107 -2826.4674 133.0039 0.65 -2817.3114 + 6600 1174.741 22676.36 -2697.5642 7.8067107 -2828.6083 131.04413 0.66 -2819.6239 + 6700 1117.0829 22497.41 -2705.1682 7.8067107 -2829.7804 124.61228 0.67 -2821.3556 + 6800 1125.4062 18193.925 -2713.8679 7.8067107 -2839.4086 125.54075 0.68 -2830.2267 + 6900 1142.0728 19451.295 -2711.5199 7.8067107 -2838.9199 127.39994 0.69 -2830.1189 + 7000 1148.9469 16757.031 -2713.1595 7.8067107 -2841.3263 128.16676 0.7 -2832.475 + 7100 1044.2332 11734.429 -2733.5965 7.8067107 -2850.0822 116.48578 0.71 -2841.8886 + 7200 1052.3967 15187.579 -2724.5284 7.8067107 -2841.9248 117.39644 0.72 -2834.2885 + 7300 1045.9123 13697.721 -2730.1401 7.8067107 -2846.8132 116.67309 0.73 -2838.9073 + 7400 1082.9806 13330.213 -2726.8679 7.8067107 -2847.676 120.80812 0.74 -2840.2979 + 7500 980.30736 7070.7227 -2746.9678 7.8067107 -2856.3226 109.35476 0.75 -2848.8706 + 7600 982.86602 7694.074 -2745.5399 7.8067107 -2855.1801 109.64018 0.76 -2848.0154 + 7700 958.27863 2336.6244 -2758.806 7.8067107 -2865.7035 106.89742 0.77 -2858.6468 + 7800 991.25495 564.58952 -2758.6032 7.8067107 -2869.1791 110.57598 0.78 -2862.4362 + 7900 901.65217 3569.7496 -2763.0681 7.8067107 -2863.6488 100.58066 0.79 -2857.2329 + 8000 871.00782 -883.03123 -2773.2412 7.8067107 -2870.4035 97.162233 0.8 -2864.1778 + 8100 873.73598 -977.71992 -2772.9758 7.8067107 -2870.4424 97.466563 0.81 -2864.7239 + 8200 859.27838 2535.4088 -2769.5501 7.8067107 -2865.4039 95.853797 0.82 -2859.9007 + 8300 874.88664 -6039.909 -2781.7213 7.8067107 -2879.3163 97.594921 0.83 -2873.9613 + 8400 810.33098 -5386.015 -2787.6011 7.8067107 -2877.9947 90.393641 0.84 -2872.8494 + 8500 812.50682 -6372.4363 -2789.0713 7.8067107 -2879.7077 90.636359 0.85 -2874.8424 + 8600 792.27145 -11610.225 -2798.2095 7.8067107 -2886.5886 88.379073 0.86 -2882.1413 + 8700 737.92522 -10178.597 -2803.4114 7.8067107 -2885.7281 82.316669 0.87 -2881.6683 + 8800 744.31065 -12026.268 -2806.8078 7.8067107 -2889.8367 83.028973 0.88 -2886.1335 + 8900 709.31385 -17472.954 -2818.1084 7.8067107 -2897.2334 79.125027 0.89 -2893.7244 + 9000 704.20763 -17006.609 -2817.9144 7.8067107 -2896.4698 78.555422 0.9 -2893.2911 + 9100 697.72956 -20282.325 -2824.94 7.8067107 -2902.7728 77.832782 0.91 -2899.891 + 9200 696.15397 -20368.748 -2824.7243 7.8067107 -2902.3813 77.657023 0.92 -2899.7706 + 9300 627.98752 -21031.839 -2833.3613 7.8067107 -2903.4142 70.052953 0.93 -2901.0899 + 9400 603.4933 -20243.066 -2836.1082 7.8067107 -2903.4288 67.320586 0.94 -2901.4655 + 9500 599.69375 -23936.746 -2843.0066 7.8067107 -2909.9033 66.89674 0.95 -2908.2797 + 9600 587.42611 -26956.034 -2848.4377 7.8067107 -2913.966 65.528267 0.96 -2912.6742 + 9700 567.47718 -28321.949 -2852.1171 7.8067107 -2915.42 63.302933 0.97 -2914.4223 + 9800 524.81105 -31000.6 -2860.6103 7.8067107 -2919.1537 58.543462 0.98 -2918.4921 + 9900 507.60008 -32223.744 -2864.192 7.8067107 -2920.8155 56.623552 0.99 -2920.4741 + 10000 521.28866 -33930.476 -2866.3918 7.8067107 -2924.5423 58.150534 1 -2924.5423 +Loop time of 19.2208 on 2 procs for 10000 steps with 864 atoms + + +Total wall time: 0:00:19 From c9b22ba04fa4035b734ad2d95f5acc22640f620f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 25 Feb 2023 17:17:41 -0500 Subject: [PATCH 162/448] mention pair style hybrid/scaled as alternative --- doc/src/fix_alchemy.rst | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/doc/src/fix_alchemy.rst b/doc/src/fix_alchemy.rst index 26ff4589a5..7a5ee71021 100644 --- a/doc/src/fix_alchemy.rst +++ b/doc/src/fix_alchemy.rst @@ -36,8 +36,8 @@ from 0.0 to 1.0 for the *second* partition (*p=1*). The forces used for the propagation of the atoms will be the sum of the forces of the two systems combined and scaled with their respective :math:`\lambda_p` factor. This allows to perform transformations that are not easily -possible with :doc:`fix adapt ` or :doc:`fix adapt/fep -`. +possible with :doc:`pair style hybrid/scaled `, :doc:`fix +adapt ` or :doc:`fix adapt/fep `. Due to the specifics of the implementation, the initial geometry and dimensions of the system must be exactly the same and the fix will @@ -45,12 +45,14 @@ synchronize them during the run. It is thus not possible to initialize the two partitions by reading different data files or creating different systems from scratch, but rather they have to be started from the same system and then the desired modifications need to be applied to the -system of the second partition. The commands :doc:`fix adapt ` -or :doc:`fix adapt/fep ` could be used for simulations -where the requirements for fix alchemy are not given. +system of the second partition. The commands :doc:`pair style +hybrid/scaled `, :doc:`fix adapt ` or :doc:`fix +adapt/fep ` could be used for simulations where the +requirements for fix alchemy are not given. -The commands below demonstrate how this can be done for the example of -transforming a pure copper system into a copper aluminum bronze. +The commands below demonstrate how the setup for the second partition +can be done for the example of transforming a pure copper system into a +copper/aluminum bronze. .. code-block:: LAMMPS @@ -111,7 +113,8 @@ Related commands """""""""""""""" :doc:`compute pressure/alchemy ` command, -:doc:`fix adapt ` command +:doc:`fix adapt ` command, :doc:`fix adapt/fep ` +command, :doc:`pair_style hybrid/scaled ` command. Default """"""" From 666be5c3d90268fc80baa3e5427ce1432b11685e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 25 Feb 2023 23:46:58 -0500 Subject: [PATCH 163/448] add log files for example run --- .../pimd/para-h2/log.25Feb23.scp.g++.8 | 2 + .../pimd/para-h2/log.25Feb23.scp.g++.8.0 | 199 ++++++++++++++++++ .../pimd/para-h2/log.25Feb23.scp.g++.8.1 | 197 +++++++++++++++++ .../pimd/para-h2/log.25Feb23.scp.g++.8.2 | 197 +++++++++++++++++ .../pimd/para-h2/log.25Feb23.scp.g++.8.3 | 197 +++++++++++++++++ .../pimd/para-h2/log.25Feb23.scp.g++.8.4 | 197 +++++++++++++++++ .../pimd/para-h2/log.25Feb23.scp.g++.8.5 | 197 +++++++++++++++++ .../pimd/para-h2/log.25Feb23.scp.g++.8.6 | 197 +++++++++++++++++ .../pimd/para-h2/log.25Feb23.scp.g++.8.7 | 197 +++++++++++++++++ 9 files changed, 1580 insertions(+) create mode 100644 examples/PACKAGES/pimd/para-h2/log.25Feb23.scp.g++.8 create mode 100644 examples/PACKAGES/pimd/para-h2/log.25Feb23.scp.g++.8.0 create mode 100644 examples/PACKAGES/pimd/para-h2/log.25Feb23.scp.g++.8.1 create mode 100644 examples/PACKAGES/pimd/para-h2/log.25Feb23.scp.g++.8.2 create mode 100644 examples/PACKAGES/pimd/para-h2/log.25Feb23.scp.g++.8.3 create mode 100644 examples/PACKAGES/pimd/para-h2/log.25Feb23.scp.g++.8.4 create mode 100644 examples/PACKAGES/pimd/para-h2/log.25Feb23.scp.g++.8.5 create mode 100644 examples/PACKAGES/pimd/para-h2/log.25Feb23.scp.g++.8.6 create mode 100644 examples/PACKAGES/pimd/para-h2/log.25Feb23.scp.g++.8.7 diff --git a/examples/PACKAGES/pimd/para-h2/log.25Feb23.scp.g++.8 b/examples/PACKAGES/pimd/para-h2/log.25Feb23.scp.g++.8 new file mode 100644 index 0000000000..14b41c14f3 --- /dev/null +++ b/examples/PACKAGES/pimd/para-h2/log.25Feb23.scp.g++.8 @@ -0,0 +1,2 @@ +LAMMPS (8 Feb 2023) +Running on 8 partitions of processors diff --git a/examples/PACKAGES/pimd/para-h2/log.25Feb23.scp.g++.8.0 b/examples/PACKAGES/pimd/para-h2/log.25Feb23.scp.g++.8.0 new file mode 100644 index 0000000000..037ad3f2d3 --- /dev/null +++ b/examples/PACKAGES/pimd/para-h2/log.25Feb23.scp.g++.8.0 @@ -0,0 +1,199 @@ +LAMMPS (8 Feb 2023) +Processor partition = 0 +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +variable ibead uloop 32 pad +variable out_freq string 100 +variable job_name string H2 + +units real +atom_style full +pair_style table linear 10000 + +neighbor 2.0 bin +neigh_modify every 1 delay 0 check no + +read_data H2.data +Reading data file ... + orthogonal box = (0 0 0) to (19.71219 19.71219 19.71219) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 180 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +pair_coeff 1 * pair.table PAIR_H2 +WARNING: 5852 of 18000 force values in table PAIR_H2 are inconsistent with -dE/dr. +WARNING: Should only be flagged at inflection points (src/pair_table.cpp:466) + +timestep 0.001 + +velocity all create 1.0 1985 rot yes dist gaussian + +fix 1 all pimd/nvt method nmpimd fmass 1.0 temp 25.0 nhc 4 + +thermo_style custom step temp pe etotal pzz f_1[1] f_1[2] f_1[3] +thermo_modify colname f_1[1] espring colname f_1[2] T_ring colname f_1[3] virial +thermo ${out_freq} +thermo 100 + +#dump dcd all dcd ${out_freq} ${job_name}_${ibead}.dcd + +#restart ${out_freq} ${job_name}_${ibead}.restart1 ${job_name}_${ibead}.restart2 + +run 10000 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Fix pimd/nvt -P/(beta^2 * hbar^2) = -2.0510430e-01 (kcal/mol/A^2) + +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 11.55117 + ghost atom cutoff = 11.55117 + binsize = 5.775585, bins = 4 4 4 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair table, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 11.97 | 11.97 | 11.97 Mbytes + Step Temp PotEng TotEng Pzz espring T_ring virial + 0 1 -50.292986 -49.759421 16.18218 0 2.4190752e-312 4.331435e-14 + 100 1.0017926 -50.292812 -49.758291 16.197861 4.265072e-05 0.99622709 -0.027624534 + 200 1.0071966 -50.292414 -49.755009 16.235286 0.00017002327 1.0016011 -0.055248299 + 300 1.0162913 -50.291757 -49.7495 16.297361 0.00038044032 1.0106453 -0.082873452 + 400 1.0292116 -50.290849 -49.741697 16.38451 0.00067129747 1.0234938 -0.11047807 + 500 1.046152 -50.289692 -49.731502 16.497053 0.0010393068 1.0403401 -0.13806207 + 600 1.0673727 -50.288298 -49.718785 16.634959 0.0014807685 1.0614428 -0.16561253 + 700 1.0932075 -50.286675 -49.703378 16.798983 0.0019918311 1.0871342 -0.19314289 + 800 1.1240754 -50.284828 -49.68506 16.990234 0.0025687136 1.1178306 -0.22065895 + 900 1.1604938 -50.28276 -49.663562 17.210179 0.0032078786 1.1540466 -0.24818038 + 1000 1.2030968 -50.280481 -49.638551 17.460167 0.0039061562 1.196413 -0.27572028 + 1100 1.2526583 -50.277991 -49.609616 17.742341 0.0046608267 1.2456991 -0.30331246 + 1200 1.3101204 -50.275294 -49.576259 18.059364 0.0054696709 1.3028419 -0.33099732 + 1300 1.3766308 -50.272386 -49.537864 18.415203 0.0063309999 1.3689828 -0.35880748 + 1400 1.4535894 -50.269262 -49.493677 18.814095 0.007243672 1.4455139 -0.38678366 + 1500 1.5427084 -50.265919 -49.442783 19.261431 0.0082071044 1.5341378 -0.41499269 + 1600 1.6460882 -50.262344 -49.384049 19.763852 0.0092212862 1.6369433 -0.44348166 + 1700 1.7663158 -50.25853 -49.316086 20.329991 0.010286796 1.756503 -0.47232409 + 1800 1.9065905 -50.254461 -49.237171 20.96974 0.01140483 1.8959983 -0.50158483 + 1900 2.0708856 -50.250115 -49.145163 21.696809 0.012577241 2.0593807 -0.53134846 + 2000 2.2641571 -50.245477 -49.037402 22.525956 0.013806592 2.2515785 -0.5617101 + 2100 2.4926123 -50.240516 -48.910546 23.477847 0.015096239 2.4787644 -0.59276642 + 2200 2.7640541 -50.2352 -48.760398 24.577541 0.01645042 2.7486983 -0.62463764 + 2300 3.088323 -50.229491 -48.58167 25.856282 0.017874391 3.0711656 -0.65745388 + 2400 3.4778567 -50.223344 -48.367681 27.353194 0.01937458 3.4585353 -0.69135912 + 2500 3.9483938 -50.216703 -48.109978 29.11873 0.020958791 3.9264583 -0.72652121 + 2600 4.5198403 -50.209503 -47.797875 31.215234 0.02263645 4.4947301 -0.76313188 + 2700 5.2173107 -50.201663 -47.417889 33.721815 0.024418904 5.1883257 -0.80140558 + 2800 6.0723283 -50.193089 -46.953107 36.73757 0.026319777 6.0385931 -0.84159436 + 2900 7.1241213 -50.183668 -46.382487 40.38551 0.028355393 7.0845429 -0.88396874 + 3000 8.4208727 -50.173266 -45.680183 44.816478 0.030545255 8.3740901 -0.9288431 + 3100 10.020649 -50.161717 -44.81505 50.212214 0.032912578 9.9649788 -0.97656436 + 3200 11.991558 -50.148837 -43.750561 56.786471 0.035484852 11.924938 -1.0275116 + 3300 14.410456 -50.134392 -42.445477 64.781319 0.038294377 14.330398 -1.0821007 + 3400 17.359303 -50.11813 -40.855813 74.455919 0.041378722 17.262863 -1.14076 + 3500 20.918126 -50.099744 -38.938564 86.068376 0.044780961 20.801915 -1.2039443 + 3600 25.153676 -50.078895 -36.657774 99.840861 0.048549564 25.013933 -1.2720773 + 3700 30.103431 -50.055212 -33.993075 115.91254 0.052737712 29.93619 -1.3455663 + 3800 35.755845 -50.028299 -30.950232 134.28175 0.057401834 35.557201 -1.4247605 + 3900 42.029581 -49.997746 -27.572232 154.74519 0.062599126 41.796084 -1.5098692 + 4000 48.756702 -49.963159 -23.948289 176.84543 0.06838392 48.485832 -1.6010084 + 4100 55.676392 -49.924188 -20.217214 199.84979 0.074802896 55.367079 -1.6980754 + 4200 62.445716 -49.880563 -16.561714 222.7783 0.081889414 62.098795 -1.8007866 + 4300 68.671023 -49.832118 -13.191664 244.49021 0.089657516 68.289518 -1.9086164 + 4400 73.957826 -49.778843 -10.317535 263.82539 0.098096488 73.546949 -2.0208305 + 4500 77.969954 -49.7209 -8.1188616 279.77238 0.10716704 77.536788 -2.1364913 + 4600 80.483598 -49.658617 -6.7153862 291.6285 0.11680011 80.036467 -2.254524 + 4700 81.421471 -49.592506 -6.1488596 299.10183 0.12689894 80.969129 -2.3737378 + 4800 80.857888 -49.523204 -6.3802649 302.3328 0.13734453 80.408677 -2.492954 + 4900 78.994781 -49.451459 -7.3026086 301.83334 0.14800388 78.555921 -2.6110228 + 5000 76.117367 -49.378045 -8.7644823 298.36557 0.15873983 75.694493 -2.7269278 + 5100 72.542745 -49.303735 -10.597466 292.79593 0.16942116 72.139729 -2.8398052 + 5200 68.573953 -49.22923 -12.640569 285.96472 0.17993138 68.192987 -2.949009 + 5300 64.467624 -49.155126 -14.757458 278.59037 0.19017535 64.10947 -3.0540851 + 5400 60.41785 -49.081671 -16.844821 271.22804 0.20008281 60.082195 -3.1546148 + 5500 56.554431 -49.009666 -18.834201 264.2355 0.20960898 56.24024 -3.250862 + 5600 52.95111 -48.938861 -20.686002 257.84121 0.21873248 52.656937 -3.3428291 + 5700 49.638794 -48.869827 -22.384304 252.12886 0.22745138 49.363023 -3.4305128 + 5800 46.619514 -48.801888 -23.927347 247.13356 0.23577844 46.360517 -3.5141755 + 5900 43.878389 -48.73593 -25.323958 242.80111 0.24373625 43.634621 -3.5942967 + 6000 41.392437 -48.671406 -26.585851 239.09246 0.25135296 41.162479 -3.6710953 + 6100 39.136252 -48.60798 -27.726246 235.9541 0.25865905 38.918828 -3.7449553 + 6200 37.085195 -48.545774 -28.758412 233.32233 0.26568495 36.879167 -3.8159439 + 6300 35.216896 -48.484909 -29.694407 231.1392 0.27245965 35.021246 -3.884503 + 6400 33.511732 -48.42458 -30.543893 229.37842 0.2790099 33.325556 -3.9507385 + 6500 31.952789 -48.365385 -31.316496 227.98228 0.2853599 31.775274 -4.0149897 + 6600 30.525576 -48.307233 -32.019853 226.91697 0.29153132 30.35599 -4.0774486 + 6700 29.217672 -48.24981 -32.660283 226.16022 0.29754342 29.055351 -4.1382338 + 6800 28.018378 -48.192803 -33.243177 225.69366 0.30341329 27.862721 -4.1974677 + 6900 26.918418 -48.136622 -33.773896 225.48194 0.30915615 26.768871 -4.2553485 + 7000 25.909681 -48.08096 -34.256461 225.51257 0.31478562 25.765738 -4.311968 + 7100 24.985015 -48.025534 -34.694405 225.77479 0.32031392 24.84621 -4.3675242 + 7200 24.138072 -47.970746 -35.091516 226.24048 0.32575216 24.003972 -4.4219335 + 7300 23.36317 -47.916089 -35.450319 226.90757 0.33111051 23.233375 -4.4754578 + 7400 22.655198 -47.861976 -35.773956 227.75054 0.33639834 22.529336 -4.5280134 + 7500 22.009532 -47.808135 -36.064618 228.76407 0.34162439 21.887257 -4.5797622 + 7600 21.421974 -47.754508 -36.324492 229.93785 0.34679689 21.302963 -4.6307739 + 7700 20.888691 -47.700827 -36.555352 231.26801 0.35192361 20.772643 -4.6812057 + 7800 20.406177 -47.64705 -36.759028 232.73618 0.35701201 20.292809 -4.7306795 + 7900 19.971205 -47.593833 -36.937897 234.33449 0.36206923 19.860254 -4.7798815 + 8000 19.580795 -47.540435 -37.092808 236.06384 0.36710221 19.472013 -4.8285632 + 8100 19.232176 -47.487281 -37.225665 237.90655 0.37211768 19.125331 -4.8768578 + 8200 18.922755 -47.4341 -37.33758 239.86116 0.37712221 18.817628 -4.9247735 + 8300 18.650078 -47.380856 -37.429827 241.92202 0.38212226 18.546466 -4.972363 + 8400 18.4118 -47.327508 -37.503616 244.08393 0.38712418 18.309512 -5.0196756 + 8500 18.205651 -47.273789 -37.559891 246.34742 0.3921342 18.104508 -5.06671 + 8600 18.029398 -47.219424 -37.599568 248.71065 0.39715848 17.929235 -5.1133124 + 8700 17.880815 -47.165549 -37.624972 251.14475 0.4022031 17.781477 -5.1600447 + 8800 17.757645 -47.110958 -37.636101 253.66312 0.40727406 17.658991 -5.2066259 + 8900 17.657573 -47.056554 -37.635091 256.25454 0.41237724 17.559475 -5.2531731 + 9000 17.578197 -47.001835 -37.622724 258.91696 0.41751847 17.48054 -5.2996769 + 9100 17.517006 -46.946535 -37.600073 261.64727 0.42270345 17.41969 -5.3462575 + 9200 17.471368 -46.890625 -37.568515 264.44427 0.42793776 17.374305 -5.3925966 + 9300 17.438519 -46.834765 -37.530181 267.28872 0.43322691 17.341639 -5.4391596 + 9400 17.415579 -46.778464 -37.486121 270.18178 0.43857628 17.318826 -5.485798 + 9500 17.399563 -46.721685 -37.437887 273.11812 0.44399119 17.302899 -5.5325337 + 9600 17.387425 -46.664405 -37.387083 276.08982 0.44947693 17.290829 -5.5793912 + 9700 17.376109 -46.606364 -37.335081 279.09236 0.45503878 17.279575 -5.6264788 + 9800 17.362615 -46.547755 -37.283671 282.11747 0.46068208 17.266156 -5.6736623 + 9900 17.344087 -46.488783 -37.234585 285.15699 0.46641232 17.247731 -5.7209993 + 10000 17.317913 -46.42918 -37.188947 288.20641 0.4722352 17.221703 -5.7685405 +Loop time of 14.691 on 1 procs for 10000 steps with 180 atoms + +Performance: 0.059 ns/day, 408.083 hours/ns, 680.689 timesteps/s, 122.524 katom-step/s +96.5% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 3.0453 | 3.0453 | 3.0453 | 0.0 | 20.73 +Bond | 0.00108 | 0.00108 | 0.00108 | 0.0 | 0.01 +Neigh | 6.6815 | 6.6815 | 6.6815 | 0.0 | 45.48 +Comm | 0.55477 | 0.55477 | 0.55477 | 0.0 | 3.78 +Output | 0.0028885 | 0.0028885 | 0.0028885 | 0.0 | 0.02 +Modify | 4.3341 | 4.3341 | 4.3341 | 0.0 | 29.50 +Other | | 0.07136 | | | 0.49 + +Nlocal: 180 ave 180 max 180 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1510 ave 1510 max 1510 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 13729 ave 13729 max 13729 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 13729 +Ave neighs/atom = 76.272222 +Ave special neighs/atom = 0 +Neighbor list builds = 10000 +Dangerous builds not checked +Total wall time: 0:00:14 diff --git a/examples/PACKAGES/pimd/para-h2/log.25Feb23.scp.g++.8.1 b/examples/PACKAGES/pimd/para-h2/log.25Feb23.scp.g++.8.1 new file mode 100644 index 0000000000..cd5ea56a2e --- /dev/null +++ b/examples/PACKAGES/pimd/para-h2/log.25Feb23.scp.g++.8.1 @@ -0,0 +1,197 @@ +LAMMPS (8 Feb 2023) +Processor partition = 1 +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +variable ibead uloop 32 pad +variable out_freq string 100 +variable job_name string H2 + +units real +atom_style full +pair_style table linear 10000 + +neighbor 2.0 bin +neigh_modify every 1 delay 0 check no + +read_data H2.data +Reading data file ... + orthogonal box = (0 0 0) to (19.71219 19.71219 19.71219) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 180 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +pair_coeff 1 * pair.table PAIR_H2 +WARNING: 5852 of 18000 force values in table PAIR_H2 are inconsistent with -dE/dr. +WARNING: Should only be flagged at inflection points (src/pair_table.cpp:466) + +timestep 0.001 + +velocity all create 1.0 1985 rot yes dist gaussian + +fix 1 all pimd/nvt method nmpimd fmass 1.0 temp 25.0 nhc 4 + +thermo_style custom step temp pe etotal pzz f_1[1] f_1[2] f_1[3] +thermo_modify colname f_1[1] espring colname f_1[2] T_ring colname f_1[3] virial +thermo ${out_freq} +thermo 100 + +#dump dcd all dcd ${out_freq} ${job_name}_${ibead}.dcd + +#restart ${out_freq} ${job_name}_${ibead}.restart1 ${job_name}_${ibead}.restart2 + +run 10000 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 11.55117 + ghost atom cutoff = 11.55117 + binsize = 5.775585, bins = 4 4 4 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair table, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 11.97 | 11.97 | 11.97 Mbytes + Step Temp PotEng TotEng Pzz espring T_ring virial + 0 1 -50.292986 -49.759421 16.18218 0 0 4.331435e-14 + 100 1.0008585 -50.292908 -49.758885 16.189586 7.3078196e-06 4.6642574 -0.013945396 + 200 1.0034473 -50.292787 -49.757382 16.20341 2.9015288e-05 4.6763219 -0.027851725 + 300 1.0078065 -50.292593 -49.754863 16.225711 6.4500006e-05 4.6966366 -0.041662754 + 400 1.0140035 -50.29233 -49.751293 16.257176 0.00011280318 4.7255165 -0.055352542 + 500 1.022135 -50.292004 -49.746629 16.297097 0.000172727 4.7634112 -0.068879202 + 600 1.0323282 -50.291621 -49.740807 16.346105 0.00024293886 4.810914 -0.082221014 + 700 1.044744 -50.291188 -49.733749 16.404167 0.00032206529 4.8687751 -0.095360512 + 800 1.0595808 -50.290712 -49.725357 16.471712 0.00040876559 4.9379182 -0.10826526 + 900 1.0770788 -50.290199 -49.715507 16.549069 0.00050178229 5.0194635 -0.1209272 + 1000 1.0975268 -50.289655 -49.704053 16.636751 0.00059997025 5.1147563 -0.13335203 + 1100 1.1212697 -50.289087 -49.690817 16.735749 0.00070230922 5.2254045 -0.14552504 + 1200 1.1487191 -50.288499 -49.675582 16.846901 0.00080790454 5.3533259 -0.15745048 + 1300 1.1803661 -50.287894 -49.658092 16.971484 0.00091598038 5.5008089 -0.16912662 + 1400 1.2167975 -50.287272 -49.638032 17.111786 0.001025869 5.6705884 -0.18056175 + 1500 1.2587169 -50.286644 -49.615037 17.26922 0.0011369979 5.8659438 -0.19176702 + 1600 1.3069713 -50.286008 -49.588654 17.446637 0.0012488773 6.0908216 -0.20274823 + 1700 1.3625842 -50.285365 -49.558338 17.646978 0.0013610874 6.349992 -0.21351296 + 1800 1.4267987 -50.284719 -49.523429 17.874056 0.0014732674 6.6492481 -0.2240754 + 1900 1.5011316 -50.284073 -49.483122 18.132347 0.0015851058 6.9956586 -0.23443788 + 2000 1.5874426 -50.283426 -49.436422 18.428012 0.0016963317 7.3978897 -0.24461477 + 2100 1.6880217 -50.282783 -49.382113 18.767914 0.0018067084 7.866614 -0.25461336 + 2200 1.805701 -50.282144 -49.318685 19.160875 0.0019160281 8.4150298 -0.26443254 + 2300 1.9439951 -50.281509 -49.244262 19.617751 0.0020241086 9.0595157 -0.27408815 + 2400 2.1072772 -50.280879 -49.15651 20.152728 0.0021307926 9.8204522 -0.28357876 + 2500 2.3009976 -50.28026 -49.052528 20.78256 0.0022359485 10.723239 -0.29290505 + 2600 2.5319494 -50.279651 -48.928691 21.528586 0.0023394759 11.799534 -0.30206821 + 2700 2.8085834 -50.279048 -48.780486 22.417919 0.0024413142 13.088719 -0.31106836 + 2800 3.1413661 -50.278457 -48.602334 23.483643 0.0025414581 14.639572 -0.31990395 + 2900 3.5431594 -50.277876 -48.38737 24.766603 0.0026399801 16.512032 -0.32855403 + 3000 4.029577 -50.277305 -48.127264 26.316279 0.0027370628 18.778862 -0.33702346 + 3100 4.6192292 -50.276739 -47.81208 28.192254 0.0028330445 21.526793 -0.3452905 + 3200 5.333716 -50.276174 -47.43029 30.464107 0.0029284791 24.856485 -0.35332773 + 3300 6.1971481 -50.275605 -46.969024 33.208128 0.0030242128 28.8803 -0.36114465 + 3400 7.2349012 -50.27502 -46.41473 36.506582 0.0031214781 33.716495 -0.36868512 + 3500 8.4712457 -50.274401 -45.754441 40.437918 0.0032219998 39.478178 -0.37595678 + 3600 9.9255066 -50.273728 -44.977825 45.065017 0.0033281047 46.255407 -0.38292345 + 3700 11.606561 -50.27297 -44.080116 50.41841 0.0034428151 54.089554 -0.38955061 + 3800 13.505865 -50.272095 -43.065838 56.472981 0.0035698989 62.940797 -0.39583139 + 3900 15.589837 -50.271059 -41.952868 63.125206 0.0037138374 72.652639 -0.40173444 + 4000 17.793286 -50.26982 -40.775945 70.171007 0.0038796665 82.921278 -0.40724146 + 4100 20.016352 -50.26833 -39.588305 77.297059 0.0040726574 93.281337 -0.350557 + 4200 22.127692 -50.266548 -38.459986 84.091411 0.0042978175 103.12072 -0.42427987 + 4300 23.975875 -50.264442 -37.471754 90.07826 0.0045592402 111.73373 -0.44332019 + 4400 25.408871 -50.262001 -36.704717 94.780152 0.0048593802 118.41186 -0.4712594 + 4500 26.298516 -50.259233 -36.227265 97.796601 0.0051983826 122.55783 -0.48751932 + 4600 26.564146 -50.256176 -36.082477 98.874143 0.0055736202 123.79574 -0.50751557 + 4700 26.188683 -50.252888 -36.279523 97.96053 0.0059795748 122.04598 -0.53463961 + 4800 25.22218 -50.249455 -36.791783 95.211762 0.0064081371 117.54183 -0.56057187 + 4900 23.771743 -50.245971 -37.562201 90.960801 0.0068493041 110.78242 -0.58649549 + 5000 21.981009 -50.242542 -38.514245 85.651619 0.0072921623 102.43714 -0.58569676 + 5100 20.005118 -50.239262 -39.565231 79.762203 0.0077259803 93.228984 -0.58814947 + 5200 17.987555 -50.236217 -40.638687 73.732022 0.0081412203 83.826622 -0.64456631 + 5300 16.043551 -50.23346 -41.673183 67.91308 0.0085303062 74.767062 -0.66253179 + 5400 14.252123 -50.231042 -42.626609 62.542995 0.0088880521 66.418547 -0.67647833 + 5500 12.656267 -50.228973 -43.476032 57.750687 0.0092117291 58.981452 -0.69035428 + 5600 11.269006 -50.227253 -44.214506 53.573237 0.0095008225 52.516458 -0.70182381 + 5700 10.082247 -50.225863 -44.846329 49.983875 0.0097565822 46.985857 -0.71107461 + 5800 9.075711 -50.224777 -45.382295 46.920816 0.0099814848 42.295142 -0.72796918 + 5900 8.2241323 -50.223954 -45.835845 44.308503 0.010178713 38.326566 -0.7341011 + 6000 7.5020778 -50.223364 -46.220518 42.071534 0.010351726 34.961607 -0.73860614 + 6100 6.8865776 -50.222972 -46.548535 40.142111 0.010503944 32.093218 -0.74169302 + 6200 6.3581625 -50.222743 -46.83025 38.464555 0.010638555 29.630669 -0.74355815 + 6300 5.9009471 -50.222651 -47.074112 36.993223 0.010758413 27.499927 -0.72351831 + 6400 5.5022478 -50.222668 -47.286861 35.692229 0.010866003 25.641886 -0.72491142 + 6500 5.1520445 -50.222775 -47.473825 34.533075 0.010963451 24.009849 -0.72550196 + 6600 4.842444 -50.222956 -47.639197 33.493966 0.011052555 22.567032 -0.72539576 + 6700 4.5672154 -50.223194 -47.786287 32.557859 0.011134828 21.284396 -0.72468094 + 6800 4.3214112 -50.22348 -47.917726 31.710288 0.011211542 20.138885 -0.69977477 + 6900 4.1010719 -50.223805 -48.035616 30.941022 0.011283771 19.112047 -0.6977173 + 7000 3.9029992 -50.224161 -48.141657 30.240625 0.011352422 18.188977 -0.69521625 + 7100 3.7245829 -50.22454 -48.237233 29.602229 0.011418274 17.357512 -0.69232721 + 7200 3.5636708 -50.224941 -48.323491 29.019374 0.011482 16.60762 -0.68909561 + 7300 3.4184697 -50.225359 -48.401383 28.487117 0.011544187 15.930946 -0.68553322 + 7400 3.2874703 -50.225791 -48.471712 28.00136 0.011605358 15.320455 -0.68167743 + 7500 3.1693898 -50.226236 -48.53516 27.5579 0.01166598 14.77017 -0.67389187 + 7600 3.0631284 -50.226689 -48.592311 27.15399 0.011726479 14.274964 -0.66987688 + 7700 2.9677349 -50.227151 -48.643671 26.786563 0.011787244 13.830406 -0.66561073 + 7800 2.8823804 -50.227616 -48.689679 26.453373 0.011848631 13.432632 -0.66110134 + 7900 2.8063371 -50.228091 -48.730728 26.151709 0.011910973 13.078251 -0.65637083 + 8000 2.7389612 -50.228567 -48.767153 25.879876 0.011974573 12.764262 -0.65142182 + 8100 2.6796793 -50.229048 -48.799265 25.636155 0.01203971 12.487993 -0.64626697 + 8200 2.6279769 -50.229528 -48.827332 25.418653 0.012106636 12.247046 -0.64092634 + 8300 2.583388 -50.230009 -48.851603 25.225967 0.012175578 12.039251 -0.63576886 + 8400 2.5454874 -50.230488 -48.872305 25.056681 0.012246734 11.862624 -0.63004687 + 8500 2.5138825 -50.230965 -48.889645 24.909342 0.012320275 11.715337 -0.62413585 + 8600 2.4882074 -50.231439 -48.903818 24.782526 0.012396346 11.595685 -0.65229004 + 8700 2.468117 -50.231904 -48.915003 24.674923 0.012475068 11.502059 -0.64624002 + 8800 2.4532823 -50.232364 -48.923378 24.585268 0.012556541 11.432925 -0.6399876 + 8900 2.4433865 -50.232811 -48.929106 24.512562 0.012640854 11.386808 -0.63354 + 9000 2.4381226 -50.233249 -48.932352 24.45498 0.012728083 11.362277 -0.62690844 + 9100 2.4371917 -50.233668 -48.933268 24.411953 0.012818306 11.357939 -0.62009589 + 9200 2.4403031 -50.234074 -48.932014 24.381442 0.012911605 11.372438 -0.61311776 + 9300 2.4471754 -50.234458 -48.928731 24.362769 0.013008072 11.404465 -0.60599097 + 9400 2.4575396 -50.234822 -48.923565 24.354135 0.013107819 11.452765 -0.60061336 + 9500 2.4711435 -50.235157 -48.916642 24.354998 0.013210974 11.516163 -0.59323525 + 9600 2.4877569 -50.235465 -48.908085 24.363855 0.013317688 11.593585 -0.58576008 + 9700 2.5071778 -50.235743 -48.898 24.380012 0.013428136 11.684092 -0.57821051 + 9800 2.5292388 -50.235983 -48.886469 24.402788 0.013542514 11.786902 -0.57061067 + 9900 2.5538131 -50.236185 -48.873559 24.431609 0.013661041 11.901424 -0.56299206 + 10000 2.5808184 -50.236346 -48.859312 24.466316 0.013783954 12.027276 -0.55538687 +Loop time of 14.691 on 1 procs for 10000 steps with 180 atoms + +Performance: 0.059 ns/day, 408.083 hours/ns, 680.690 timesteps/s, 122.524 katom-step/s +98.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 2.8924 | 2.8924 | 2.8924 | 0.0 | 19.69 +Bond | 0.00092288 | 0.00092288 | 0.00092288 | 0.0 | 0.01 +Neigh | 6.5718 | 6.5718 | 6.5718 | 0.0 | 44.73 +Comm | 0.55162 | 0.55162 | 0.55162 | 0.0 | 3.75 +Output | 0.0029431 | 0.0029431 | 0.0029431 | 0.0 | 0.02 +Modify | 4.6104 | 4.6104 | 4.6104 | 0.0 | 31.38 +Other | | 0.06102 | | | 0.42 + +Nlocal: 180 ave 180 max 180 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1510 ave 1510 max 1510 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 13680 ave 13680 max 13680 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 13680 +Ave neighs/atom = 76 +Ave special neighs/atom = 0 +Neighbor list builds = 10000 +Dangerous builds not checked +Total wall time: 0:00:14 diff --git a/examples/PACKAGES/pimd/para-h2/log.25Feb23.scp.g++.8.2 b/examples/PACKAGES/pimd/para-h2/log.25Feb23.scp.g++.8.2 new file mode 100644 index 0000000000..5ac1655e40 --- /dev/null +++ b/examples/PACKAGES/pimd/para-h2/log.25Feb23.scp.g++.8.2 @@ -0,0 +1,197 @@ +LAMMPS (8 Feb 2023) +Processor partition = 2 +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +variable ibead uloop 32 pad +variable out_freq string 100 +variable job_name string H2 + +units real +atom_style full +pair_style table linear 10000 + +neighbor 2.0 bin +neigh_modify every 1 delay 0 check no + +read_data H2.data +Reading data file ... + orthogonal box = (0 0 0) to (19.71219 19.71219 19.71219) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 180 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +pair_coeff 1 * pair.table PAIR_H2 +WARNING: 5852 of 18000 force values in table PAIR_H2 are inconsistent with -dE/dr. +WARNING: Should only be flagged at inflection points (src/pair_table.cpp:466) + +timestep 0.001 + +velocity all create 1.0 1985 rot yes dist gaussian + +fix 1 all pimd/nvt method nmpimd fmass 1.0 temp 25.0 nhc 4 + +thermo_style custom step temp pe etotal pzz f_1[1] f_1[2] f_1[3] +thermo_modify colname f_1[1] espring colname f_1[2] T_ring colname f_1[3] virial +thermo ${out_freq} +thermo 100 + +#dump dcd all dcd ${out_freq} ${job_name}_${ibead}.dcd + +#restart ${out_freq} ${job_name}_${ibead}.restart1 ${job_name}_${ibead}.restart2 + +run 10000 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 11.55117 + ghost atom cutoff = 11.55117 + binsize = 5.775585, bins = 4 4 4 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair table, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 11.97 | 11.97 | 11.97 Mbytes + Step Temp PotEng TotEng Pzz espring T_ring virial + 0 1 -50.292986 -49.759421 16.18218 0 0 4.331435e-14 + 100 1.0008585 -50.292972 -49.758949 16.185544 6.2619058e-07 4.6642574 -0.0025876701 + 200 1.0034473 -50.292959 -49.757555 16.193637 2.4778684e-06 4.6763219 -0.0051513312 + 300 1.0078065 -50.292946 -49.755216 16.20654 5.4785827e-06 4.6966366 -0.0076677455 + 400 1.0140035 -50.292935 -49.751898 16.224472 9.5136721e-06 4.7255165 -0.010116117 + 500 1.022135 -50.292924 -49.747548 16.247769 1.4445387e-05 4.7634112 -0.012478816 + 600 1.0323281 -50.292913 -49.742099 16.276857 2.0128019e-05 4.810914 -0.014741354 + 700 1.044744 -50.292903 -49.735464 16.312269 2.6420278e-05 4.868775 -0.01689316 + 800 1.0595807 -50.292893 -49.727538 16.354636 3.3193675e-05 4.9379181 -0.018925599 + 900 1.0770788 -50.292883 -49.718191 16.404759 4.0337059e-05 5.0194633 -0.020834008 + 1000 1.0975267 -50.292873 -49.707271 16.463535 4.7758112e-05 5.114756 -0.022615739 + 1100 1.1212696 -50.292864 -49.694594 16.532005 5.5382858e-05 5.2254042 -0.024272115 + 1200 1.1487191 -50.292855 -49.679939 16.611504 6.3154057e-05 5.3533255 -0.025805429 + 1300 1.180366 -50.292847 -49.663045 16.703525 7.1029151e-05 5.5008084 -0.027221135 + 1400 1.2167974 -50.292839 -49.643599 16.809904 7.8978147e-05 5.6705878 -0.028525093 + 1500 1.2587168 -50.292831 -49.621224 16.932872 8.6981686e-05 5.8659431 -0.029723588 + 1600 1.3069711 -50.292824 -49.59547 17.075101 9.5029394e-05 6.0908207 -0.030823313 + 1700 1.362584 -50.292817 -49.56579 17.239763 0.00010311856 6.3499909 -0.031831844 + 1800 1.4267984 -50.29281 -49.53152 17.430752 0.00011125314 6.6492468 -0.032756757 + 1900 1.5011313 -50.292803 -49.491852 17.652797 0.00011944307 6.995657 -0.033606551 + 2000 1.5874422 -50.292796 -49.445792 17.911722 0.00012770381 7.3978879 -0.034390022 + 2100 1.6880212 -50.292789 -49.39212 18.214723 0.00013605623 7.866612 -0.035116463 + 2200 1.8057005 -50.292782 -49.329324 18.570726 0.00014452669 8.4150275 -0.035795677 + 2300 1.9439945 -50.292774 -49.255527 18.990774 0.00015314733 9.0595131 -0.036438481 + 2400 2.1072765 -50.292765 -49.168396 19.488686 0.00016195668 9.8204493 -0.037057048 + 2500 2.3009969 -50.292755 -49.065024 20.081627 0.00017100046 10.723236 -0.037663926 + 2600 2.5319487 -50.292742 -48.941783 20.791154 0.00018033268 11.799531 -0.038274916 + 2700 2.8085828 -50.292725 -48.794164 21.644055 0.00019001711 13.088716 -0.038907942 + 2800 3.1413656 -50.292704 -48.616581 22.673549 0.00020012896 14.63957 -0.039579122 + 2900 3.5431592 -50.292679 -48.402173 23.920341 0.00021075711 16.512031 -0.040310879 + 3000 4.0295773 -50.292645 -48.142604 25.434299 0.00022200654 18.778864 -0.041129941 + 3100 4.6192303 -50.292603 -47.827943 27.274622 0.00023400135 21.526798 -0.042063049 + 3200 5.3337183 -50.292548 -47.446663 29.510189 0.00024688797 24.856495 -0.043138944 + 3300 6.1971521 -50.292476 -46.985893 32.218076 0.00026083874 28.880319 -0.044388363 + 3400 7.2349077 -50.292383 -46.432089 35.479408 0.00027605543 33.716526 -0.04584988 + 3500 8.4712558 -50.292263 -45.772298 39.371841 0.00029277252 39.478225 -0.04755723 + 3600 9.9255215 -50.292106 -44.996195 43.95768 0.00031125948 46.255476 -0.04955234 + 3700 11.606583 -50.291907 -44.099041 49.265647 0.00033182131 54.089653 -0.051868152 + 3800 13.505895 -50.291653 -43.08538 55.269674 0.00035479603 62.940934 -0.060893692 + 3900 15.589876 -50.291332 -41.973119 61.864426 0.00038054772 72.652823 -0.064129637 + 4000 17.793337 -50.290932 -40.79703 68.843904 0.00040945342 82.921517 -0.070448746 + 4100 20.016417 -50.290444 -39.610385 75.893194 0.0004418827 93.281639 -0.087116518 + 4200 22.127771 -50.289857 -38.483253 82.59793 0.00047816979 103.12109 -0.097527157 + 4300 23.975968 -50.289169 -37.496432 88.481352 0.00051857989 111.73416 -0.10722194 + 4400 25.408977 -50.288385 -36.731045 93.065749 0.00056327427 118.41235 -0.11892611 + 4500 26.298632 -50.287506 -36.255477 95.950674 0.0006122807 122.55837 -0.1303584 + 4600 26.564268 -50.286547 -36.112784 96.88563 0.00066547749 123.79631 -0.14166752 + 4700 26.188807 -50.285529 -36.312099 95.820823 0.00072259756 122.04656 -0.15261419 + 4800 25.222299 -50.284475 -36.826739 92.916226 0.00078325554 117.54238 -0.16209083 + 4900 23.771855 -50.283413 -37.599583 88.509238 0.00084699472 110.78294 -0.17260047 + 5000 21.98111 -50.282357 -38.554006 83.049726 0.00091334478 102.43761 -0.18258656 + 5100 20.005206 -50.281326 -39.607248 77.020285 0.0009818775 93.229392 -0.17186696 + 5200 17.987631 -50.28033 -40.68276 70.86497 0.0010522474 83.826973 -0.18260146 + 5300 16.043616 -50.279377 -41.719065 64.938011 0.0011242079 74.767366 -0.18655435 + 5400 14.252181 -50.278457 -42.673992 59.48099 0.0011976018 66.41882 -0.20222138 + 5500 12.656323 -50.277568 -43.524597 54.622777 0.0012723319 58.981714 -0.21168712 + 5600 11.269064 -50.276696 -44.263917 50.401002 0.0013483229 52.516731 -0.20187998 + 5700 10.082312 -50.275828 -44.896259 46.788408 0.0014254889 46.986161 -0.22324171 + 5800 9.0757866 -50.274951 -45.432429 43.722025 0.0015037137 42.295494 -0.23860695 + 5900 8.2242212 -50.274058 -45.885902 41.123761 0.0015828465 38.326981 -0.25414759 + 6000 7.5021821 -50.273138 -46.270236 38.916656 0.0016627103 34.962093 -0.26976048 + 6100 6.8866987 -50.272182 -46.597681 37.031655 0.0017431162 32.093783 -0.28539248 + 6200 6.3583012 -50.27119 -46.878623 35.410368 0.0018238791 29.631315 -0.30095674 + 6300 5.9011035 -50.270159 -47.121537 34.005676 0.0019048302 27.500656 -0.31640935 + 6400 5.502422 -50.269086 -47.333186 32.779933 0.0019858256 25.642698 -0.33171137 + 6500 5.1522361 -50.267972 -47.518919 31.703747 0.0020667509 24.010742 -0.34682514 + 6600 4.8426527 -50.266817 -47.682947 30.753955 0.0021475225 22.568004 -0.36173006 + 6700 4.5674405 -50.265625 -47.828599 29.911814 0.0022280866 21.285445 -0.37640709 + 6800 4.3216522 -50.264395 -47.958513 29.163452 0.0023084174 20.140008 -0.39085666 + 6900 4.1013282 -50.26313 -48.074805 28.496518 0.0023885139 19.113242 -0.40506248 + 7000 3.9032702 -50.261831 -48.179183 27.90194 0.0024683969 18.19024 -0.41901469 + 7100 3.724868 -50.2605 -48.273041 27.371896 0.0025481062 17.35884 -0.43272933 + 7200 3.5639695 -50.259138 -48.357529 26.89966 0.0026276974 16.609012 -0.44620638 + 7300 3.4187816 -50.257743 -48.433601 26.480439 0.0027072396 15.932399 -0.45945212 + 7400 3.2877948 -50.256318 -48.502066 26.109145 0.0027868133 15.321967 -0.47246434 + 7500 3.1697267 -50.254865 -48.56361 25.781971 0.0028665077 14.77174 -0.48526006 + 7600 3.0634774 -50.25338 -48.618816 25.495767 0.0029464195 14.276591 -0.49784679 + 7700 2.9680959 -50.251868 -48.668196 25.247434 0.0030266508 13.832088 -0.51022378 + 7800 2.8827533 -50.250324 -48.712188 25.034584 0.0031073072 13.43437 -0.52242006 + 7900 2.8067218 -50.248752 -48.751183 24.854648 0.0031884966 13.080044 -0.53441576 + 8000 2.739358 -50.247146 -48.78552 24.705902 0.0032703269 12.766111 -0.54625728 + 8100 2.6800884 -50.245512 -48.815511 24.586269 0.003352905 12.4899 -0.55792685 + 8200 2.6283988 -50.243847 -48.841426 24.493934 0.0034363346 12.249013 -0.56944906 + 8300 2.5838233 -50.242148 -48.86351 24.42802 0.0035207151 12.041279 -0.58082697 + 8400 2.5459368 -50.240416 -48.881994 24.386467 0.0036061405 11.864719 -0.59207404 + 8500 2.5143471 -50.23866 -48.897093 24.367425 0.0036926982 11.717503 -0.6031939 + 8600 2.4886884 -50.236867 -48.90899 24.370737 0.0037804687 11.597926 -0.61420631 + 8700 2.4686158 -50.235045 -48.917878 24.393872 0.003869526 11.504383 -0.62511248 + 8800 2.4538005 -50.233192 -48.92393 24.436221 0.0039599381 11.43534 -0.63592614 + 8900 2.4439261 -50.231311 -48.927318 24.495987 0.0040517678 11.389323 -0.64665221 + 9000 2.4386859 -50.229399 -48.928202 24.571919 0.0041450744 11.364902 -0.65730127 + 9100 2.4377812 -50.227462 -48.926747 24.662499 0.0042399143 11.360686 -0.66787619 + 9200 2.4409216 -50.225498 -48.923108 24.766278 0.0043363422 11.375321 -0.67839903 + 9300 2.447826 -50.223507 -48.917432 24.882071 0.0044344105 11.407497 -0.68886647 + 9400 2.4582258 -50.22149 -48.909866 25.008577 0.0045341695 11.455963 -0.69927895 + 9500 2.471869 -50.219451 -48.900548 25.143849 0.0046356651 11.519544 -0.70966102 + 9600 2.4885255 -50.217386 -48.889596 25.286999 0.004738938 11.597167 -0.6940583 + 9700 2.5079938 -50.215302 -48.877125 25.436871 0.0048440213 11.687895 -0.70437543 + 9800 2.5301066 -50.213198 -48.863222 25.59205 0.0049509399 11.790946 -0.71464807 + 9900 2.5547371 -50.211072 -48.847954 25.752316 0.0050597095 11.90573 -0.72487926 + 10000 2.5818031 -50.208928 -48.831368 25.916904 0.0051703368 12.031865 -0.73506701 +Loop time of 14.691 on 1 procs for 10000 steps with 180 atoms + +Performance: 0.059 ns/day, 408.083 hours/ns, 680.690 timesteps/s, 122.524 katom-step/s +96.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 2.9104 | 2.9104 | 2.9104 | 0.0 | 19.81 +Bond | 0.00098079 | 0.00098079 | 0.00098079 | 0.0 | 0.01 +Neigh | 6.6139 | 6.6139 | 6.6139 | 0.0 | 45.02 +Comm | 0.55394 | 0.55394 | 0.55394 | 0.0 | 3.77 +Output | 0.0030074 | 0.0030074 | 0.0030074 | 0.0 | 0.02 +Modify | 4.5374 | 4.5374 | 4.5374 | 0.0 | 30.89 +Other | | 0.07132 | | | 0.49 + +Nlocal: 180 ave 180 max 180 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1510 ave 1510 max 1510 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 13680 ave 13680 max 13680 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 13680 +Ave neighs/atom = 76 +Ave special neighs/atom = 0 +Neighbor list builds = 10000 +Dangerous builds not checked +Total wall time: 0:00:14 diff --git a/examples/PACKAGES/pimd/para-h2/log.25Feb23.scp.g++.8.3 b/examples/PACKAGES/pimd/para-h2/log.25Feb23.scp.g++.8.3 new file mode 100644 index 0000000000..c105df63e9 --- /dev/null +++ b/examples/PACKAGES/pimd/para-h2/log.25Feb23.scp.g++.8.3 @@ -0,0 +1,197 @@ +LAMMPS (8 Feb 2023) +Processor partition = 3 +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +variable ibead uloop 32 pad +variable out_freq string 100 +variable job_name string H2 + +units real +atom_style full +pair_style table linear 10000 + +neighbor 2.0 bin +neigh_modify every 1 delay 0 check no + +read_data H2.data +Reading data file ... + orthogonal box = (0 0 0) to (19.71219 19.71219 19.71219) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 180 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +pair_coeff 1 * pair.table PAIR_H2 +WARNING: 5852 of 18000 force values in table PAIR_H2 are inconsistent with -dE/dr. +WARNING: Should only be flagged at inflection points (src/pair_table.cpp:466) + +timestep 0.001 + +velocity all create 1.0 1985 rot yes dist gaussian + +fix 1 all pimd/nvt method nmpimd fmass 1.0 temp 25.0 nhc 4 + +thermo_style custom step temp pe etotal pzz f_1[1] f_1[2] f_1[3] +thermo_modify colname f_1[1] espring colname f_1[2] T_ring colname f_1[3] virial +thermo ${out_freq} +thermo 100 + +#dump dcd all dcd ${out_freq} ${job_name}_${ibead}.dcd + +#restart ${out_freq} ${job_name}_${ibead}.restart1 ${job_name}_${ibead}.restart2 + +run 10000 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 11.55117 + ghost atom cutoff = 11.55117 + binsize = 5.775585, bins = 4 4 4 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair table, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 11.97 | 11.97 | 11.97 Mbytes + Step Temp PotEng TotEng Pzz espring T_ring virial + 0 1 -50.292986 -49.759421 16.18218 0 0 4.331435e-14 + 100 0.99799183 -50.292972 -49.760479 16.176371 6.2763683e-07 15.879159 -0.0023935093 + 200 0.99208279 -50.292959 -49.763618 16.157336 2.500618e-06 15.785139 -0.0047805057 + 300 0.98260503 -50.292946 -49.768662 16.126279 5.5906177e-06 15.634338 -0.0071546335 + 400 0.97006821 -50.292934 -49.775339 16.085102 9.8548762e-06 15.434863 -0.0095106986 + 500 0.955104 -50.292922 -49.783311 16.036202 1.5241599e-05 15.196766 -0.011844212 + 600 0.93840578 -50.292908 -49.792208 15.982141 2.1695575e-05 14.931079 -0.014152859 + 700 0.92067359 -50.292894 -49.801655 15.925466 2.9163075e-05 14.64894 -0.016435757 + 800 0.90257158 -50.292879 -49.811298 15.868564 3.7595562e-05 14.360917 -0.018694156 + 900 0.88470062 -50.292862 -49.820817 15.813472 4.6952156e-05 14.07657 -0.020928907 + 1000 0.8675856 -50.292845 -49.829932 15.761951 5.7201072e-05 13.804251 -0.02314186 + 1100 0.85167476 -50.292826 -49.838402 15.715517 6.8320318e-05 13.551092 -0.025333843 + 1200 0.83734746 -50.292806 -49.846027 15.675218 8.0297954e-05 13.323129 -0.027508552 + 1300 0.8249274 -50.292785 -49.852632 15.642038 9.3132154e-05 13.125512 -0.0296698 + 1400 0.81469844 -50.292762 -49.858068 15.616792 0.00010683122 12.962757 -0.031821941 + 1500 0.80692178 -50.292739 -49.862194 15.600226 0.00012141373 12.839022 -0.033969494 + 1600 0.80185336 -50.292715 -49.864874 15.593117 0.0001369088 12.758378 -0.03611606 + 1700 0.79976156 -50.29269 -49.865965 15.596227 0.00015335664 12.725095 -0.038264652 + 1800 0.80094541 -50.292664 -49.865307 15.610404 0.00017080942 12.743931 -0.040416801 + 1900 0.80575383 -50.292637 -49.862715 15.636702 0.00018933238 12.820439 -0.042573524 + 2000 0.81460711 -50.292611 -49.857965 15.67644 0.00020900552 12.961304 -0.044736822 + 2100 0.82802133 -50.292583 -49.85078 15.731301 0.0002299256 13.174739 -0.046906382 + 2200 0.84663738 -50.292556 -49.84082 15.80341 0.00025220879 13.470941 -0.049081478 + 2300 0.87125571 -50.292527 -49.827656 15.895377 0.00027599404 13.862646 -0.051261652 + 2400 0.90287869 -50.292499 -49.810754 16.010541 0.00030144708 14.365803 -0.053443791 + 2500 0.94276179 -50.29247 -49.789446 16.15309 0.00032876555 15.000388 -0.055625674 + 2600 0.99247509 -50.292441 -49.762891 16.328426 0.00035818508 15.791381 -0.05780423 + 2700 1.0539754 -50.292412 -49.730048 16.543118 0.00038998665 16.76992 -0.059974442 + 2800 1.1296876 -50.292383 -49.689621 16.805367 0.00042450539 17.974586 -0.062128128 + 2900 1.2225906 -50.292352 -49.640021 17.125302 0.00046214072 19.452774 -0.064255792 + 3000 1.3362969 -50.292321 -49.57932 17.515126 0.000503368 21.261968 -0.066348705 + 3100 1.4751081 -50.292289 -49.505223 17.989435 0.0005487512 23.47061 -0.068394944 + 3200 1.6440125 -50.292255 -49.415068 18.56525 0.00059895625 26.158066 -0.070379528 + 3300 1.8485766 -50.292217 -49.305881 19.26156 0.00065476359 29.412908 -0.0722905 + 3400 2.0946636 -50.292172 -49.174533 20.098518 0.0007170785 33.328425 -0.070298499 + 3500 2.3878963 -50.292118 -49.01802 21.095116 0.00078693603 37.994084 -0.072718799 + 3600 2.7327825 -50.29205 -48.833933 22.267046 0.00086549715 43.481606 -0.071117313 + 3700 3.1314509 -50.291962 -48.621129 23.621508 0.00095403112 49.824863 -0.073902505 + 3800 3.5820285 -50.29185 -48.380605 25.151938 0.0010538788 56.994053 -0.082019029 + 3900 4.0768347 -50.291704 -48.116448 26.832847 0.0011663922 64.86697 -0.093365693 + 4000 4.6007622 -50.291519 -47.836714 28.612446 0.0012928467 73.203239 -0.10732489 + 4100 5.1304133 -50.29129 -47.553881 30.411364 0.0014343275 81.630577 -0.1197723 + 4200 5.6346502 -50.291011 -47.284558 32.123915 0.0015915962 89.653545 -0.13080997 + 4300 6.0770777 -50.290676 -47.04816 33.627475 0.0017649532 96.693059 -0.14165463 + 4400 6.4205234 -50.29029 -46.864523 34.796349 0.0019541156 102.15766 -0.15242678 + 4500 6.6328782 -50.28986 -46.750789 35.522716 0.0021581361 105.53646 -0.16280564 + 4600 6.692974 -50.289399 -46.718262 35.736356 0.0023753855 106.49265 -0.17244062 + 4700 6.5948627 -50.28892 -46.770133 35.418562 0.0026036121 104.93159 -0.18097864 + 4800 6.3491738 -50.288443 -46.900746 34.606797 0.0028400768 101.02241 -0.18808564 + 4900 5.981108 -50.287983 -47.096673 33.387033 0.0030817487 95.166073 -0.19348598 + 5000 5.5256727 -50.287549 -47.339243 31.878041 0.0033255323 87.919593 -0.19697013 + 5100 5.0215378 -50.287155 -47.607839 30.209726 0.0035684934 79.898246 -0.19841014 + 5200 4.5051017 -50.286803 -47.883038 28.504102 0.0038080527 71.681174 -0.19776394 + 5300 4.0060458 -50.286489 -48.149003 26.860164 0.0040421233 63.74064 -0.19507702 + 5400 3.5450327 -50.286205 -48.394699 25.34642 0.0042691817 56.405409 -0.17980245 + 5500 3.1335349 -50.28594 -48.613996 23.999815 0.0044882701 49.858022 -0.17499889 + 5600 2.7752591 -50.28568 -48.804899 22.832197 0.0046989433 44.157456 -0.1804676 + 5700 2.468384 -50.285415 -48.968371 21.836436 0.0049011768 39.274732 -0.17203381 + 5800 2.2078676 -50.285131 -49.10709 20.994608 0.0050952576 35.129626 -0.17967923 + 5900 1.9873283 -50.284819 -49.22445 20.285865 0.0052816779 31.620602 -0.18651596 + 6000 1.8003086 -50.284474 -49.323892 19.687668 0.0054610429 28.64491 -0.19262321 + 6100 1.640963 -50.284092 -49.408531 19.181029 0.0056340011 26.109545 -0.1982684 + 6200 1.50433 -50.283675 -49.481017 18.749125 0.0058011964 23.935562 -0.19911595 + 6300 1.3863531 -50.283219 -49.543509 18.379087 0.0059632392 22.058419 -0.20020649 + 6400 1.2837837 -50.28273 -49.597748 18.059898 0.0061206908 20.426426 -0.20439271 + 6500 1.1940433 -50.282206 -49.645106 17.783505 0.0062740588 18.998556 -0.19989782 + 6600 1.1150882 -50.281655 -49.686683 17.543117 0.0064237975 17.742293 -0.20427813 + 6700 1.0452925 -50.281076 -49.723345 17.333683 0.0065703119 16.631765 -0.20875566 + 6800 0.98335363 -50.28048 -49.755796 17.150648 0.0067139628 15.646249 -0.21165511 + 6900 0.92821916 -50.279858 -49.784593 16.991122 0.0068550735 14.768998 -0.21447191 + 7000 0.87903062 -50.279219 -49.810199 16.85215 0.0069939349 13.986354 -0.21690274 + 7100 0.83508106 -50.27857 -49.833 16.730809 0.0071308114 13.287068 -0.21879935 + 7200 0.79578318 -50.277905 -49.853302 16.625931 0.007265945 12.661795 -0.24086146 + 7300 0.76064516 -50.277227 -49.871373 16.535639 0.0073995599 12.10271 -0.24389998 + 7400 0.72925259 -50.27654 -49.887437 16.458538 0.0075318653 11.603219 -0.24724178 + 7500 0.70125479 -50.275848 -49.901683 16.39318 0.0076630586 11.157743 -0.24974257 + 7600 0.67635448 -50.275145 -49.914266 16.338958 0.0077933274 10.761551 -0.26938357 + 7700 0.65430014 -50.274434 -49.925322 16.294582 0.0079228516 10.410642 -0.27182741 + 7800 0.63488023 -50.273717 -49.934967 16.259573 0.0080518043 10.10165 -0.27327965 + 7900 0.61791898 -50.272993 -49.943293 16.233056 0.0081803536 9.8317776 -0.23270163 + 8000 0.60327334 -50.272261 -49.950375 16.214226 0.0083086629 9.5987492 -0.21174158 + 8100 0.59083054 -50.271521 -49.956274 16.203107 0.008436892 9.4007703 -0.20591477 + 8200 0.580506 -50.270774 -49.961036 16.198733 0.0085651973 9.2364955 -0.20633623 + 8300 0.57224102 -50.270016 -49.964688 16.201153 0.0086937323 9.1049904 -0.21200577 + 8400 0.56599941 -50.26925 -49.967252 16.209734 0.0088226478 9.0056795 -0.21499276 + 8500 0.56176264 -50.268474 -49.968737 16.224404 0.0089520921 8.9382678 -0.22565885 + 8600 0.55952259 -50.267687 -49.969145 16.244765 0.0090822109 8.9026261 -0.23453558 + 8700 0.55927158 -50.26689 -49.968482 16.270388 0.0092131476 8.8986323 -0.23126478 + 8800 0.56098987 -50.266078 -49.966754 16.301455 0.009345043 8.9259722 -0.23759225 + 8900 0.56463156 -50.265253 -49.963985 16.338219 0.0094780352 8.9839155 -0.25830691 + 9000 0.57011105 -50.264414 -49.960222 16.379852 0.0096122592 9.0711003 -0.24455142 + 9100 0.57729304 -50.263559 -49.955536 16.42695 0.0097478463 9.1853737 -0.25035816 + 9200 0.5859895 -50.262689 -49.950026 16.479216 0.0098849239 9.3237441 -0.2560083 + 9300 0.59596674 -50.261803 -49.943816 16.536984 0.010023615 9.482493 -0.26141076 + 9400 0.60696386 -50.2609 -49.937045 16.600194 0.010164037 9.6574694 -0.26654733 + 9500 0.61872142 -50.259982 -49.929854 16.669166 0.010306303 9.8445453 -0.2741745 + 9600 0.63101587 -50.259043 -49.922355 16.744325 0.010450522 10.040164 -0.27940426 + 9700 0.64369292 -50.258089 -49.914637 16.82549 0.010596798 10.24187 -0.28435931 + 9800 0.65669202 -50.257118 -49.906731 16.913131 0.010745233 10.4487 -0.28904477 + 9900 0.67005575 -50.256133 -49.898615 17.007446 0.01089593 10.661331 -0.29344272 + 10000 0.68392108 -50.25513 -49.890213 17.108905 0.011048996 10.881944 -0.29755711 +Loop time of 14.691 on 1 procs for 10000 steps with 180 atoms + +Performance: 0.059 ns/day, 408.083 hours/ns, 680.690 timesteps/s, 122.524 katom-step/s +98.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 2.8325 | 2.8325 | 2.8325 | 0.0 | 19.28 +Bond | 0.0010203 | 0.0010203 | 0.0010203 | 0.0 | 0.01 +Neigh | 6.5808 | 6.5808 | 6.5808 | 0.0 | 44.80 +Comm | 0.55003 | 0.55003 | 0.55003 | 0.0 | 3.74 +Output | 0.0030145 | 0.0030145 | 0.0030145 | 0.0 | 0.02 +Modify | 4.6599 | 4.6599 | 4.6599 | 0.0 | 31.72 +Other | | 0.06363 | | | 0.43 + +Nlocal: 180 ave 180 max 180 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1510 ave 1510 max 1510 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 13680 ave 13680 max 13680 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 13680 +Ave neighs/atom = 76 +Ave special neighs/atom = 0 +Neighbor list builds = 10000 +Dangerous builds not checked +Total wall time: 0:00:14 diff --git a/examples/PACKAGES/pimd/para-h2/log.25Feb23.scp.g++.8.4 b/examples/PACKAGES/pimd/para-h2/log.25Feb23.scp.g++.8.4 new file mode 100644 index 0000000000..cf64a9f262 --- /dev/null +++ b/examples/PACKAGES/pimd/para-h2/log.25Feb23.scp.g++.8.4 @@ -0,0 +1,197 @@ +LAMMPS (8 Feb 2023) +Processor partition = 4 +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +variable ibead uloop 32 pad +variable out_freq string 100 +variable job_name string H2 + +units real +atom_style full +pair_style table linear 10000 + +neighbor 2.0 bin +neigh_modify every 1 delay 0 check no + +read_data H2.data +Reading data file ... + orthogonal box = (0 0 0) to (19.71219 19.71219 19.71219) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 180 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +pair_coeff 1 * pair.table PAIR_H2 +WARNING: 5852 of 18000 force values in table PAIR_H2 are inconsistent with -dE/dr. +WARNING: Should only be flagged at inflection points (src/pair_table.cpp:466) + +timestep 0.001 + +velocity all create 1.0 1985 rot yes dist gaussian + +fix 1 all pimd/nvt method nmpimd fmass 1.0 temp 25.0 nhc 4 + +thermo_style custom step temp pe etotal pzz f_1[1] f_1[2] f_1[3] +thermo_modify colname f_1[1] espring colname f_1[2] T_ring colname f_1[3] virial +thermo ${out_freq} +thermo 100 + +#dump dcd all dcd ${out_freq} ${job_name}_${ibead}.dcd + +#restart ${out_freq} ${job_name}_${ibead}.restart1 ${job_name}_${ibead}.restart2 + +run 10000 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 11.55117 + ghost atom cutoff = 11.55117 + binsize = 5.775585, bins = 4 4 4 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair table, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 11.97 | 11.97 | 11.97 Mbytes + Step Temp PotEng TotEng Pzz espring T_ring virial + 0 1 -50.292986 -49.759421 16.18218 0 0 4.331435e-14 + 100 0.99799183 -50.292972 -49.760479 16.17637 1.1826193e-13 15.879159 -0.0025913805 + 200 0.99208279 -50.292959 -49.763618 16.157337 7.489305e-12 15.785139 -0.0051808234 + 300 0.98260503 -50.292946 -49.768662 16.126285 8.3895453e-11 15.634338 -0.0077662384 + 400 0.97006821 -50.292933 -49.775339 16.085117 4.6129385e-10 15.434863 -0.010346287 + 500 0.955104 -50.292921 -49.783311 16.036242 1.7157587e-09 15.196766 -0.012920943 + 600 0.93840577 -50.292907 -49.792206 15.982224 4.9828406e-09 14.931079 -0.015491155 + 700 0.92067358 -50.292891 -49.801652 15.925608 1.2201305e-08 14.64894 -0.018055916 + 800 0.90257157 -50.292875 -49.811294 15.868782 2.6375763e-08 14.360917 -0.020616424 + 900 0.88470061 -50.292856 -49.820811 15.813794 5.1849593e-08 14.07657 -0.02317448 + 1000 0.86758559 -50.292836 -49.829923 15.762447 9.4579685e-08 13.804251 -0.025732882 + 1100 0.85167475 -50.292814 -49.83839 15.716171 1.6240678e-07 13.551092 -0.028294045 + 1200 0.83734745 -50.29279 -49.846011 15.676049 2.6532099e-07 13.323128 -0.030863385 + 1300 0.82492738 -50.292764 -49.852612 15.643102 4.1573034e-07 13.125511 -0.033446749 + 1400 0.81469842 -50.292737 -49.858042 15.618114 6.287493e-07 12.962757 -0.036050518 + 1500 0.80692176 -50.292706 -49.862161 15.601972 9.2253166e-07 12.839022 -0.038681006 + 1600 0.80185333 -50.292674 -49.864833 15.595319 1.3186783e-06 12.758377 -0.041346087 + 1700 0.79976154 -50.292639 -49.865914 15.598922 1.8427553e-06 12.725095 -0.044055451 + 1800 0.80094538 -50.2926 -49.865244 15.613674 2.524964e-06 12.743931 -0.046819731 + 1900 0.80575381 -50.292559 -49.862637 15.640669 3.4010112e-06 12.820438 -0.049651934 + 2000 0.81460709 -50.292514 -49.857868 15.681364 4.5132409e-06 12.961304 -0.052564979 + 2100 0.82802133 -50.292465 -49.850661 15.73743 5.9121027e-06 13.174739 -0.055577058 + 2200 0.84663739 -50.29241 -49.840674 15.810925 7.658054e-06 13.470942 -0.058707326 + 2300 0.87125574 -50.292349 -49.827477 15.904535 9.82402e-06 13.862647 -0.061977077 + 2400 0.90287875 -50.29228 -49.810536 16.021749 1.2498571e-05 14.365804 -0.065412927 + 2500 0.94276188 -50.292203 -49.789178 16.16688 1.5790021e-05 15.000389 -0.069043572 + 2600 0.99247524 -50.292117 -49.762567 16.345151 1.9831692e-05 15.791384 -0.072902664 + 2700 1.0539756 -50.292019 -49.729655 16.56334 2.4788664e-05 16.769923 -0.077026939 + 2800 1.1296879 -50.291903 -49.689141 16.830177 3.0866362e-05 17.97459 -0.081462018 + 2900 1.222591 -50.29177 -49.639438 17.155398 3.8321389e-05 19.45278 -0.086262136 + 3000 1.3362974 -50.291614 -49.578613 17.551553 4.7474995e-05 21.261976 -0.091484095 + 3100 1.4751088 -50.291433 -49.504367 18.033555 5.872952e-05 23.47062 -0.097184337 + 3200 1.6440134 -50.291218 -49.41403 18.618802 7.2587889e-05 26.158079 -0.10344427 + 3300 1.8485776 -50.290963 -49.304627 19.3265 8.9675809e-05 29.412924 -0.11033444 + 3400 2.0946648 -50.290659 -49.17302 20.177003 0.00011076549 33.328444 -0.11794183 + 3500 2.3878978 -50.290296 -49.016197 21.189599 0.00013679846 37.994106 -0.12634541 + 3600 2.7327842 -50.289862 -48.831744 22.380493 0.0001689033 43.481633 -0.13563052 + 3700 3.1314527 -50.289342 -48.618508 23.757417 0.00020840179 49.824892 -0.1458703 + 3800 3.5820304 -50.288721 -48.377475 25.31432 0.00025679499 56.994084 -0.15714078 + 3900 4.0768367 -50.287983 -48.112726 27.026228 0.0003157187 64.867001 -0.1694959 + 4000 4.6007641 -50.287108 -47.832302 28.841926 0.0003868587 73.203268 -0.18296156 + 4100 5.1304148 -50.286087 -47.548677 30.682328 0.00047181946 81.6306 -0.19756083 + 4200 5.6346511 -50.284903 -47.278451 32.442736 0.00057194846 89.653559 -0.21328268 + 4300 6.0770778 -50.283545 -47.041029 33.999964 0.00068813116 96.69306 -0.23008376 + 4400 6.4205225 -50.282013 -46.856246 35.229403 0.00082058594 102.15765 -0.24791296 + 4500 6.6328762 -50.280301 -46.74123 36.023883 0.0009687004 105.53643 -0.26668503 + 4600 6.6929711 -50.278423 -46.707288 36.312847 0.0011309529 106.49261 -0.28630381 + 4700 6.5948589 -50.27639 -46.757604 36.078132 0.0013049526 104.93153 -0.3066628 + 4800 6.3491697 -50.274211 -46.886517 35.357678 0.0014876083 101.02235 -0.32764627 + 4900 5.9811042 -50.271915 -47.080607 34.23668 0.0016754063 95.166014 -0.34912704 + 5000 5.5256699 -50.269516 -47.321212 32.833829 0.001864752 87.919547 -0.37098454 + 5100 5.0215364 -50.267032 -47.587716 31.279327 0.002052314 79.898224 -0.39310129 + 5200 4.5051023 -50.264473 -47.860708 29.694368 0.0022353117 71.681183 -0.41536062 + 5300 4.0060486 -50.261854 -48.124367 28.177158 0.0024117009 63.740684 -0.43765657 + 5400 3.5450378 -50.259179 -48.367671 26.795368 0.0025802379 56.405491 -0.45989585 + 5500 3.1335423 -50.256452 -48.584504 25.585853 0.0027404289 49.858139 -0.48198401 + 5600 2.7752685 -50.253675 -48.772889 24.559285 0.0028923937 44.157606 -0.50383681 + 5700 2.4683952 -50.250848 -48.933799 23.707506 0.0030366865 39.27491 -0.52540813 + 5800 2.2078802 -50.247975 -49.069927 23.012724 0.0031741148 35.129826 -0.54664422 + 5900 1.987342 -50.245052 -49.184676 22.453088 0.0033055867 31.62082 -0.56749825 + 6000 1.8003231 -50.242086 -49.281496 22.005599 0.0034320005 28.645141 -0.5879444 + 6100 1.6409782 -50.239078 -49.363509 21.650929 0.0035541789 26.109787 -0.6079799 + 6200 1.5043457 -50.236031 -49.433365 21.372354 0.0036728367 23.935811 -0.62757526 + 6300 1.3863692 -50.23295 -49.493232 21.15608 0.0037885737 22.058674 -0.64672985 + 6400 1.2838 -50.229836 -49.544845 20.99171 0.0039018814 20.426685 -0.66545129 + 6500 1.1940599 -50.2267 -49.589591 20.870492 0.0040131566 18.998819 -0.68374953 + 6600 1.115105 -50.223537 -49.628556 20.785791 0.0041227168 17.742559 -0.70162987 + 6700 1.0453095 -50.220351 -49.66261 20.732525 0.0042308155 16.632035 -0.7190951 + 6800 0.98337083 -50.217149 -49.692456 20.706334 0.0043376557 15.646523 -0.73616716 + 6900 0.92823665 -50.213933 -49.718658 20.703509 0.0044434008 14.769276 -0.75286641 + 7000 0.87904844 -50.210704 -49.741675 20.721268 0.0045481845 13.986637 -0.7692006 + 7100 0.83509929 -50.207463 -49.761883 20.757758 0.0046521178 13.287358 -0.78517926 + 7200 0.79580187 -50.204208 -49.779596 20.810709 0.0047552948 12.662092 -0.80082697 + 7300 0.76066442 -50.200945 -49.795082 20.878241 0.0048577976 12.103016 -0.8161606 + 7400 0.72927251 -50.197671 -49.808557 20.959362 0.0049596993 11.603536 -0.83120088 + 7500 0.70127548 -50.194387 -49.820211 21.052437 0.0050610673 11.158072 -0.84595004 + 7600 0.67637608 -50.191091 -49.830201 21.156826 0.005161965 10.761895 -0.86043159 + 7700 0.65432278 -50.187783 -49.838659 21.271416 0.0052624536 10.411002 -0.87466503 + 7800 0.63490405 -50.184459 -49.845696 21.395737 0.0053625933 10.102029 -0.88866261 + 7900 0.61794415 -50.181125 -49.851412 21.52846 0.0054624448 9.8321781 -0.90243744 + 8000 0.60330004 -50.177777 -49.855877 21.669443 0.0055620701 9.599174 -0.91600112 + 8100 0.59085898 -50.174411 -49.859149 21.81797 0.0056615336 9.4012229 -0.92936588 + 8200 0.58053641 -50.171025 -49.861271 21.974141 0.0057609033 9.2369793 -0.94255403 + 8300 0.57227364 -50.16762 -49.862274 22.13688 0.0058602524 9.1055094 -0.95557385 + 8400 0.5660345 -50.164193 -49.862177 22.306138 0.0059596607 9.0062378 -0.9684373 + 8500 0.56180048 -50.160744 -49.860987 22.48185 0.0060592167 8.9388698 -0.98115048 + 8600 0.55956345 -50.15727 -49.858706 22.663291 0.0061590199 8.9032763 -0.9937296 + 8700 0.55931575 -50.15377 -49.855339 22.850832 0.0062591826 8.899335 -1.0061868 + 8800 0.56103758 -50.150241 -49.850891 23.043918 0.006359832 8.9267313 -1.0185265 + 8900 0.564683 -50.146681 -49.845386 23.242887 0.0064611118 8.984734 -1.0307694 + 9000 0.57016633 -50.143095 -49.838874 23.44706 0.0065631821 9.0719798 -1.0429186 + 9100 0.57735215 -50.139473 -49.831418 23.657034 0.0066662188 9.1863142 -1.0549883 + 9200 0.58605231 -50.13582 -49.823123 23.872662 0.0067704103 9.3247434 -1.0669874 + 9300 0.59603298 -50.132131 -49.814109 24.094175 0.0068759533 9.483547 -1.078929 + 9400 0.60703315 -50.128412 -49.80452 24.321354 0.0069830466 9.6585719 -1.0908215 + 9500 0.61879332 -50.124656 -49.79449 24.554693 0.0070918841 9.8456893 -1.1026826 + 9600 0.63108995 -50.120866 -49.784139 24.794372 0.0072026473 10.041342 -1.1145246 + 9700 0.64376884 -50.117043 -49.773551 25.040354 0.0073154993 10.243078 -1.1263585 + 9800 0.6567696 -50.113185 -49.762755 25.293643 0.00743058 10.449934 -1.1381891 + 9900 0.67013503 -50.109296 -49.751736 25.553866 0.0075480045 10.662593 -1.150037 + 10000 0.68400233 -50.105373 -49.740413 25.821695 0.007667864 10.883237 -1.1619081 +Loop time of 14.691 on 1 procs for 10000 steps with 180 atoms + +Performance: 0.059 ns/day, 408.083 hours/ns, 680.690 timesteps/s, 122.524 katom-step/s +96.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 2.9541 | 2.9541 | 2.9541 | 0.0 | 20.11 +Bond | 0.00096595 | 0.00096595 | 0.00096595 | 0.0 | 0.01 +Neigh | 6.6965 | 6.6965 | 6.6965 | 0.0 | 45.58 +Comm | 0.55386 | 0.55386 | 0.55386 | 0.0 | 3.77 +Output | 0.0030352 | 0.0030352 | 0.0030352 | 0.0 | 0.02 +Modify | 4.4131 | 4.4131 | 4.4131 | 0.0 | 30.04 +Other | | 0.06945 | | | 0.47 + +Nlocal: 180 ave 180 max 180 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1510 ave 1510 max 1510 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 13680 ave 13680 max 13680 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 13680 +Ave neighs/atom = 76 +Ave special neighs/atom = 0 +Neighbor list builds = 10000 +Dangerous builds not checked +Total wall time: 0:00:14 diff --git a/examples/PACKAGES/pimd/para-h2/log.25Feb23.scp.g++.8.5 b/examples/PACKAGES/pimd/para-h2/log.25Feb23.scp.g++.8.5 new file mode 100644 index 0000000000..46e98fcbe1 --- /dev/null +++ b/examples/PACKAGES/pimd/para-h2/log.25Feb23.scp.g++.8.5 @@ -0,0 +1,197 @@ +LAMMPS (8 Feb 2023) +Processor partition = 5 +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +variable ibead uloop 32 pad +variable out_freq string 100 +variable job_name string H2 + +units real +atom_style full +pair_style table linear 10000 + +neighbor 2.0 bin +neigh_modify every 1 delay 0 check no + +read_data H2.data +Reading data file ... + orthogonal box = (0 0 0) to (19.71219 19.71219 19.71219) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 180 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +pair_coeff 1 * pair.table PAIR_H2 +WARNING: 5852 of 18000 force values in table PAIR_H2 are inconsistent with -dE/dr. +WARNING: Should only be flagged at inflection points (src/pair_table.cpp:466) + +timestep 0.001 + +velocity all create 1.0 1985 rot yes dist gaussian + +fix 1 all pimd/nvt method nmpimd fmass 1.0 temp 25.0 nhc 4 + +thermo_style custom step temp pe etotal pzz f_1[1] f_1[2] f_1[3] +thermo_modify colname f_1[1] espring colname f_1[2] T_ring colname f_1[3] virial +thermo ${out_freq} +thermo 100 + +#dump dcd all dcd ${out_freq} ${job_name}_${ibead}.dcd + +#restart ${out_freq} ${job_name}_${ibead}.restart1 ${job_name}_${ibead}.restart2 + +run 10000 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 11.55117 + ghost atom cutoff = 11.55117 + binsize = 5.775585, bins = 4 4 4 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair table, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 11.97 | 11.97 | 11.97 Mbytes + Step Temp PotEng TotEng Pzz espring T_ring virial + 0 1 -50.292986 -49.759421 16.18218 0 0 4.331435e-14 + 100 0.9951423 -50.292972 -49.761999 16.167253 6.8948763e-13 27.030021 -0.0025924671 + 200 0.98099313 -50.292959 -49.769535 16.12199 4.364663e-11 26.645702 -0.0051895017 + 300 0.95873287 -50.292945 -49.781399 16.050646 4.8814317e-10 26.041069 -0.0077954546 + 400 0.93006021 -50.292933 -49.796685 15.959334 2.6734695e-09 25.262263 -0.010415337 + 500 0.89689329 -50.29292 -49.814369 15.854928 9.8711643e-09 24.361385 -0.013055676 + 600 0.86110024 -50.292904 -49.833451 15.743908 2.8339559e-08 23.389175 -0.015723485 + 700 0.82431428 -50.292887 -49.853062 15.63173 6.8290594e-08 22.389996 -0.018423373 + 800 0.78784526 -50.292868 -49.872501 15.522613 1.4463127e-07 21.399426 -0.021164155 + 900 0.7526687 -50.292845 -49.891248 15.419533 2.77427e-07 20.443961 -0.023953669 + 1000 0.71946253 -50.29282 -49.90894 15.324327 4.9211825e-07 19.542016 -0.026800589 + 1100 0.6886647 -50.29279 -49.925343 15.237994 8.1957891e-07 18.705487 -0.029714543 + 1200 0.66053403 -50.292757 -49.940319 15.160974 1.2961277e-06 17.941403 -0.032707733 + 1300 0.63520454 -50.292719 -49.953796 15.093459 1.963599e-06 17.253404 -0.035794247 + 1400 0.61273022 -50.292676 -49.965745 15.035373 2.869563e-06 16.642957 -0.03898766 + 1500 0.59312003 -50.292628 -49.976159 14.9866 4.0677665e-06 16.110306 -0.042305977 + 1600 0.57636482 -50.292572 -49.985044 14.947135 5.6188557e-06 15.655201 -0.045764398 + 1700 0.56245786 -50.292508 -49.992401 14.916846 7.5914412e-06 15.277461 -0.049383169 + 1800 0.55141125 -50.292438 -49.998224 14.895701 1.0063569e-05 14.977413 -0.053180653 + 1900 0.54326954 -50.292356 -50.002487 14.8841 1.3124682e-05 14.756269 -0.057185281 + 2000 0.53812235 -50.292262 -50.005139 14.882365 1.6878177e-05 14.616461 -0.06142508 + 2100 0.53611706 -50.292157 -50.006103 14.891003 2.1444699e-05 14.561993 -0.065932846 + 2200 0.5374728 -50.292036 -50.005259 14.911208 2.6966349e-05 14.598818 -0.070740681 + 2300 0.54249683 -50.291895 -50.002438 14.944078 3.3612057e-05 14.73528 -0.075893774 + 2400 0.55160424 -50.291734 -49.997418 14.991434 4.1584413e-05 14.982655 -0.081441387 + 2500 0.56534189 -50.291548 -49.989902 15.055565 5.1128356e-05 15.355797 -0.08743341 + 2600 0.58441729 -50.291332 -49.979508 15.139015 6.2542191e-05 15.873922 -0.093934223 + 2700 0.60973261 -50.291079 -49.965747 15.245349 7.6191529e-05 16.561536 -0.10101976 + 2800 0.64242331 -50.290782 -49.948007 15.379156 9.2526793e-05 17.44948 -0.10876973 + 2900 0.68389894 -50.290432 -49.925527 15.54557 0.00011210502 18.576039 -0.11728634 + 3000 0.7358813 -50.29002 -49.89738 15.751474 0.00013561664 19.987983 -0.12666711 + 3100 0.80043068 -50.289531 -49.862449 16.004894 0.00016391766 21.741271 -0.13702882 + 3200 0.87994476 -50.288947 -49.819439 16.314811 0.00019806723 23.901029 -0.14852041 + 3300 0.97710684 -50.288249 -49.766899 16.691936 0.00023936963 26.540142 -0.16126751 + 3400 1.0947513 -50.287415 -49.703294 17.14741 0.00028941795 29.735596 -0.17542667 + 3500 1.2356068 -50.286413 -49.627136 17.692223 0.00035013447 33.561511 -0.19115489 + 3600 1.401879 -50.285209 -49.537215 18.336419 0.00042379924 38.077789 -0.20858771 + 3700 1.5946465 -50.283764 -49.432917 19.085164 0.00051305445 43.313732 -0.22786881 + 3800 1.8130867 -50.282042 -49.314643 19.93789 0.00062086813 49.246998 -0.24911566 + 3900 2.0536114 -50.279989 -49.184254 20.885144 0.0007504384 55.780123 -0.27238956 + 4000 2.3090877 -50.277563 -49.045514 21.903844 0.00090502091 62.71936 -0.29774099 + 4100 2.5684074 -50.274725 -48.904312 22.957566 0.00108767 69.762993 -0.32513211 + 4200 2.8167154 -50.271434 -48.768533 23.996177 0.0013008998 76.507527 -0.35448596 + 4300 3.036538 -50.267666 -48.647475 24.959984 0.0015462956 82.478341 -0.38565277 + 4400 3.2098498 -50.263408 -48.550744 25.787127 0.0018241308 87.185831 -0.41841744 + 4500 3.3207993 -50.258668 -48.486806 26.421384 0.0021330655 90.199435 -0.45253018 + 4600 3.3584953 -50.253474 -48.461498 26.823507 0.0024700053 91.223334 -0.48770345 + 4700 3.3191098 -50.247864 -48.476903 26.979088 0.002830177 90.153547 -0.523627 + 4800 3.2066723 -50.24189 -48.530922 26.900395 0.0032074389 87.099523 -0.55998518 + 4900 3.032313 -50.235626 -48.61769 26.623396 0.0035947863 82.363581 -0.59650144 + 5000 2.8121843 -50.229136 -48.728653 26.202501 0.0039849754 76.384452 -0.63291394 + 5100 2.5646536 -50.222488 -48.854078 25.698898 0.0043711592 69.661033 -0.66900289 + 5200 2.3074927 -50.215744 -48.984547 25.172075 0.0047474367 62.676038 -0.70458409 + 5300 2.0556743 -50.208948 -49.112112 24.671889 0.0051092373 55.836155 -0.73953676 + 5400 1.8201204 -50.202145 -49.230993 24.233676 0.0054535012 49.438049 -0.77374738 + 5500 1.6074397 -50.195362 -49.337688 23.877579 0.0057786579 43.661222 -0.80716644 + 5600 1.4204402 -50.188613 -49.430716 23.612103 0.0060844379 38.581947 -0.83975723 + 5700 1.2590781 -50.181911 -49.510111 23.435375 0.0063715815 34.199035 -0.8715173 + 5800 1.1215024 -50.175255 -49.576861 23.340009 0.0066415095 30.462209 -0.90243963 + 5900 1.0049565 -50.168645 -49.632435 23.316226 0.0068960167 27.296594 -0.93254359 + 6000 0.90642655 -50.162073 -49.678436 23.35333 0.0071370232 24.620327 -0.96187362 + 6100 0.82303426 -50.15554 -49.716398 23.441044 0.0073664003 22.355228 -0.99044001 + 6200 0.75222945 -50.149036 -49.747672 23.571168 0.0075858646 20.432031 -1.0182716 + 6300 0.69185157 -50.142555 -49.773408 23.736184 0.0077969274 18.792049 -1.0454141 + 6400 0.64011849 -50.1361 -49.794555 23.930273 0.0080008828 17.386876 -1.0718977 + 6500 0.59558258 -50.129659 -49.811877 24.148617 0.0081988179 16.177194 -1.0977481 + 6600 0.55707711 -50.123229 -49.825992 24.387764 0.0083916354 15.131309 -1.1230042 + 6700 0.52366443 -50.11681 -49.837401 24.644278 0.0085800803 14.223755 -1.1476911 + 6800 0.49459087 -50.110398 -49.846502 24.915585 0.0087647672 13.43406 -1.1718456 + 6900 0.46924933 -50.103993 -49.853618 25.199975 0.0089462046 12.745734 -1.1954836 + 7000 0.44714908 -50.09759 -49.859007 25.495663 0.0091248169 12.145448 -1.2186489 + 7100 0.42789171 -50.09119 -49.862882 25.801204 0.0093009621 11.62238 -1.2413589 + 7200 0.41115213 -50.084791 -49.865415 26.115435 0.0094749465 11.1677 -1.2636357 + 7300 0.39666341 -50.078389 -49.866743 26.43778 0.0096470373 10.774158 -1.2855199 + 7400 0.38420469 -50.071981 -49.866983 26.767492 0.0098174711 10.435755 -1.3070246 + 7500 0.37359146 -50.065568 -49.866233 27.103933 0.0099864621 10.147478 -1.3281809 + 7600 0.36466763 -50.059148 -49.864574 27.446285 0.010154207 9.9050896 -1.3490095 + 7700 0.35729911 -50.052716 -49.862074 27.794551 0.010320892 9.7049462 -1.3695395 + 7800 0.35136861 -50.046271 -49.858793 28.148371 0.010486691 9.5438621 -1.3897895 + 7900 0.34677153 -50.039813 -49.854788 28.507205 0.010651775 9.4189963 -1.4097881 + 8000 0.34341297 -50.033336 -49.850103 28.870887 0.010816309 9.3277714 -1.4295506 + 8100 0.34120579 -50.026841 -49.844785 29.238802 0.010980456 9.2678199 -1.4491058 + 8200 0.3400696 -50.020321 -49.838872 29.611242 0.011144377 9.2369587 -1.4684765 + 8300 0.33993073 -50.013777 -49.832402 29.987651 0.011308235 9.2331869 -1.4876802 + 8400 0.34072278 -50.007208 -49.82541 30.367811 0.011472193 9.2547003 -1.5067423 + 8500 0.34238718 -50.000608 -49.817922 30.75172 0.011636417 9.2999089 -1.5256766 + 8600 0.34487349 -49.993976 -49.809964 31.138912 0.011801076 9.3674418 -1.5445114 + 8700 0.34813839 -49.987308 -49.801554 31.529558 0.011966343 9.4561231 -1.5632615 + 8800 0.35214326 -49.980605 -49.792714 31.923412 0.012132398 9.5649031 -1.5819515 + 8900 0.35684992 -49.973862 -49.783459 32.320438 0.012299427 9.6927453 -1.6005873 + 9000 0.36221521 -49.967079 -49.773813 32.720589 0.012467623 9.8384771 -1.6191906 + 9100 0.36818518 -49.96025 -49.763799 33.12412 0.012637186 10.000633 -1.6377754 + 9200 0.3746904 -49.953378 -49.753456 33.530521 0.012808324 10.177328 -1.6563518 + 9300 0.3816439 -49.946457 -49.742826 33.940033 0.01298125 10.366198 -1.6749285 + 9400 0.3889426 -49.939487 -49.73196 34.352706 0.013156185 10.564445 -1.6935206 + 9500 0.39647284 -49.932468 -49.720924 34.768109 0.01333335 10.768982 -1.712126 + 9600 0.40411904 -49.925391 -49.709767 35.186397 0.013512971 10.976668 -1.7307508 + 9700 0.41177414 -49.918266 -49.698558 35.606965 0.013695276 11.184595 -1.7493922 + 9800 0.41934973 -49.911084 -49.687333 36.03058 0.013880493 11.390363 -1.7680484 + 9900 0.42678411 -49.903846 -49.676129 36.456503 0.014068856 11.592295 -1.7867244 + 10000 0.43404714 -49.896555 -49.664963 36.884919 0.014260602 11.789574 -1.8054063 +Loop time of 14.691 on 1 procs for 10000 steps with 180 atoms + +Performance: 0.059 ns/day, 408.083 hours/ns, 680.690 timesteps/s, 122.524 katom-step/s +98.3% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 2.9459 | 2.9459 | 2.9459 | 0.0 | 20.05 +Bond | 0.0010983 | 0.0010983 | 0.0010983 | 0.0 | 0.01 +Neigh | 6.4646 | 6.4646 | 6.4646 | 0.0 | 44.00 +Comm | 0.54538 | 0.54538 | 0.54538 | 0.0 | 3.71 +Output | 0.0030317 | 0.0030317 | 0.0030317 | 0.0 | 0.02 +Modify | 4.662 | 4.662 | 4.662 | 0.0 | 31.73 +Other | | 0.06897 | | | 0.47 + +Nlocal: 180 ave 180 max 180 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1510 ave 1510 max 1510 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 13680 ave 13680 max 13680 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 13680 +Ave neighs/atom = 76 +Ave special neighs/atom = 0 +Neighbor list builds = 10000 +Dangerous builds not checked +Total wall time: 0:00:14 diff --git a/examples/PACKAGES/pimd/para-h2/log.25Feb23.scp.g++.8.6 b/examples/PACKAGES/pimd/para-h2/log.25Feb23.scp.g++.8.6 new file mode 100644 index 0000000000..ae27b84d32 --- /dev/null +++ b/examples/PACKAGES/pimd/para-h2/log.25Feb23.scp.g++.8.6 @@ -0,0 +1,197 @@ +LAMMPS (8 Feb 2023) +Processor partition = 6 +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +variable ibead uloop 32 pad +variable out_freq string 100 +variable job_name string H2 + +units real +atom_style full +pair_style table linear 10000 + +neighbor 2.0 bin +neigh_modify every 1 delay 0 check no + +read_data H2.data +Reading data file ... + orthogonal box = (0 0 0) to (19.71219 19.71219 19.71219) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 180 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +pair_coeff 1 * pair.table PAIR_H2 +WARNING: 5852 of 18000 force values in table PAIR_H2 are inconsistent with -dE/dr. +WARNING: Should only be flagged at inflection points (src/pair_table.cpp:466) + +timestep 0.001 + +velocity all create 1.0 1985 rot yes dist gaussian + +fix 1 all pimd/nvt method nmpimd fmass 1.0 temp 25.0 nhc 4 + +thermo_style custom step temp pe etotal pzz f_1[1] f_1[2] f_1[3] +thermo_modify colname f_1[1] espring colname f_1[2] T_ring colname f_1[3] virial +thermo ${out_freq} +thermo 100 + +#dump dcd all dcd ${out_freq} ${job_name}_${ibead}.dcd + +#restart ${out_freq} ${job_name}_${ibead}.restart1 ${job_name}_${ibead}.restart2 + +run 10000 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 11.55117 + ghost atom cutoff = 11.55117 + binsize = 5.775585, bins = 4 4 4 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair table, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 11.97 | 11.97 | 11.97 Mbytes + Step Temp PotEng TotEng Pzz espring T_ring virial + 0 1 -50.292986 -49.759421 16.18218 0 0 4.331435e-14 + 100 0.9951423 -50.292972 -49.761999 16.167254 3.663073e-06 27.030021 -0.0025950927 + 200 0.98099313 -50.292958 -49.769535 16.121999 1.4652294e-05 26.645702 -0.0052104718 + 300 0.95873287 -50.292945 -49.781399 16.050672 3.2966429e-05 26.041069 -0.0078660339 + 400 0.93006021 -50.292932 -49.796684 15.959387 5.8599875e-05 25.262263 -0.010582044 + 500 0.89689329 -50.292917 -49.814366 15.855074 9.1539141e-05 24.361385 -0.013380753 + 600 0.86110024 -50.292898 -49.833445 15.744205 0.00013176059 23.389175 -0.016282487 + 700 0.82431428 -50.292877 -49.853052 15.632253 0.00017923062 22.389996 -0.019305323 + 800 0.78784526 -50.29285 -49.872483 15.523595 0.00023390859 21.399426 -0.022473781 + 900 0.7526687 -50.292816 -49.891219 15.421094 0.00029575217 20.443961 -0.025805439 + 1000 0.71946253 -50.292776 -49.908896 15.326586 0.0003647244 19.542016 -0.029318877 + 1100 0.6886647 -50.292726 -49.925279 15.241234 0.00044080156 18.705487 -0.033035613 + 1200 0.66053404 -50.292668 -49.94023 15.165485 0.00052398138 17.941403 -0.036980816 + 1300 0.63520455 -50.292595 -49.953672 15.099745 0.00061429107 17.253404 -0.041183239 + 1400 0.61273022 -50.292511 -49.965579 15.043883 0.00071179519 16.642957 -0.045662316 + 1500 0.59312004 -50.29241 -49.975942 14.99787 0.00081660341 16.110306 -0.050440479 + 1600 0.57636482 -50.292289 -49.984761 14.961722 0.00092887845 15.655202 -0.055550832 + 1700 0.56245787 -50.292149 -49.992041 14.935319 0.0010488445 15.277461 -0.061027295 + 1800 0.55141126 -50.291984 -49.99777 14.919091 0.0011767964 14.977414 -0.066900795 + 1900 0.54326956 -50.291792 -50.001923 14.913094 0.0013131107 14.756269 -0.073216193 + 2000 0.53812238 -50.29157 -50.004447 14.917947 0.0014582582 14.616462 -0.080017237 + 2100 0.53611709 -50.291312 -50.005259 14.934473 0.0016128191 14.561994 -0.087363239 + 2200 0.53747284 -50.291009 -50.004233 14.964038 0.0017775021 14.598819 -0.095297839 + 2300 0.54249688 -50.290657 -50.001199 15.008081 0.0019531669 14.735282 -0.10390758 + 2400 0.5516043 -50.290246 -49.995929 15.068555 0.0021408527 14.982657 -0.11326027 + 2500 0.56534197 -50.289766 -49.988119 15.147769 0.0023418123 15.355799 -0.12345646 + 2600 0.58441738 -50.289207 -49.977382 15.249155 0.0025575544 15.873925 -0.13459188 + 2700 0.60973272 -50.28855 -49.963218 15.376625 0.0027898943 16.561539 -0.14680402 + 2800 0.64242344 -50.287778 -49.945003 15.535379 0.0030410156 17.449483 -0.16021499 + 2900 0.68389909 -50.286869 -49.921964 15.731194 0.003313542 18.576043 -0.1749965 + 3000 0.73588147 -50.28579 -49.893149 15.972304 0.0036106211 19.987987 -0.19131687 + 3100 0.80043087 -50.284508 -49.857426 16.267625 0.0039360184 21.741276 -0.20938994 + 3200 0.87994497 -50.282984 -49.813476 16.627323 0.0042942181 23.901035 -0.229419 + 3300 0.97710707 -50.281162 -49.759812 17.064318 0.0046905236 26.540149 -0.25165651 + 3400 1.0947515 -50.278979 -49.694858 17.591402 0.0051311469 29.735603 -0.27634359 + 3500 1.2356071 -50.276358 -49.617081 18.222808 0.0056232657 33.561517 -0.30373125 + 3600 1.4018792 -50.273211 -49.525217 18.97057 0.0061750242 38.077795 -0.33406344 + 3700 1.5946467 -50.269438 -49.41859 19.844391 0.0067954397 43.313738 -0.36756248 + 3800 1.8130868 -50.264926 -49.297526 20.847335 0.0074941739 49.247003 -0.4044001 + 3900 2.0536116 -50.259558 -49.163823 21.972799 0.0082811282 55.780127 -0.44468343 + 4000 2.3090877 -50.253214 -49.021165 23.203274 0.0091658295 62.719362 -0.48844585 + 4100 2.5684074 -50.245778 -48.875365 24.50535 0.010156603 69.762993 -0.53559997 + 4200 2.8167153 -50.237155 -48.734254 25.832794 0.011259571 76.507524 -0.58595872 + 4300 3.0365377 -50.22728 -48.607089 27.128084 0.012477576 82.478334 -0.63920669 + 4400 3.2098494 -50.216129 -48.503465 28.32938 0.013809186 87.18582 -0.69492156 + 4500 3.3207987 -50.203729 -48.431867 29.380289 0.015247971 90.19942 -0.75258375 + 4600 3.3584946 -50.190151 -48.398176 30.239405 0.016782256 91.223315 -0.81162394 + 4700 3.319109 -50.175529 -48.404569 30.887433 0.01839546 90.153525 -0.87142276 + 4800 3.2066714 -50.160034 -48.449067 31.329923 0.020067061 87.099499 -0.93139568 + 4900 3.0323121 -50.14386 -48.525924 31.596801 0.021774071 82.363558 -0.99098372 + 5000 2.8121835 -50.127216 -48.626733 31.734704 0.02349282 76.384432 -1.04971 + 5100 2.5646531 -50.11031 -48.741901 31.798135 0.025200765 69.661019 -1.1071803 + 5200 2.3074925 -50.093317 -48.86212 31.840218 0.026878076 62.676032 -1.16309 + 5300 2.0556744 -50.076391 -48.979555 31.905031 0.028508785 55.836159 -1.217247 + 5400 1.820121 -50.059654 -49.088501 32.023732 0.030081384 49.438064 -1.2695269 + 5500 1.6074407 -50.04318 -49.185506 32.214415 0.031588873 43.661248 -1.319891 + 5600 1.4204416 -50.02701 -49.269112 32.484092 0.033028319 38.581985 -1.3683615 + 5700 1.2590798 -50.011162 -49.339361 32.830285 0.034400107 34.199083 -1.4149934 + 5800 1.1215045 -49.995631 -49.397236 33.245821 0.035707041 30.462267 -1.4598878 + 5900 1.0049589 -49.980399 -49.444188 33.721747 0.03695346 27.29666 -1.5031416 + 6000 0.90642926 -49.965438 -49.4818 34.248321 0.038144494 24.620401 -1.5448741 + 6100 0.82303723 -49.950718 -49.511574 34.817039 0.039285497 22.355309 -1.585191 + 6200 0.75223267 -49.936211 -49.534846 35.419814 0.040381668 20.432118 -1.6242074 + 6300 0.69185501 -49.921889 -49.552739 36.050843 0.041437835 18.792142 -1.6620216 + 6400 0.64012215 -49.907725 -49.566179 36.704661 0.042458347 17.386976 -1.6987306 + 6500 0.59558646 -49.893699 -49.575915 37.378286 0.04344705 16.177299 -1.7344148 + 6600 0.55708121 -49.879794 -49.582555 38.067181 0.044407312 15.131421 -1.7691453 + 6700 0.52366875 -49.865988 -49.586576 38.769884 0.045342063 14.223873 -1.8030059 + 6800 0.49459542 -49.852276 -49.588377 39.48355 0.046253857 13.434184 -1.8360506 + 6900 0.46925412 -49.838637 -49.58826 40.206955 0.047144922 12.745864 -1.8683386 + 7000 0.44715411 -49.825066 -49.58648 40.938794 0.048017218 12.145585 -1.8999205 + 7100 0.427897 -49.811553 -49.583243 41.677982 0.048872484 11.622524 -1.9308529 + 7200 0.4111577 -49.798086 -49.578707 42.423605 0.049712274 11.167851 -1.9611851 + 7300 0.39666926 -49.784662 -49.573013 43.175155 0.050538 10.774317 -1.9909515 + 7400 0.38421083 -49.771272 -49.56627 43.931762 0.051350953 10.435921 -2.0202015 + 7500 0.37359789 -49.757907 -49.558568 44.69348 0.052152332 10.147653 -2.0489622 + 7600 0.36467436 -49.744563 -49.549985 45.459725 0.052943262 9.9052723 -2.0772881 + 7700 0.35730613 -49.731235 -49.540589 46.229921 0.053724811 9.7051368 -2.1052027 + 7800 0.3513759 -49.717911 -49.530429 47.004627 0.054498005 9.54406 -2.1327445 + 7900 0.34677906 -49.704589 -49.51956 47.78318 0.055263836 9.419201 -2.1599468 + 8000 0.34342073 -49.691262 -49.508025 48.565675 0.056023277 9.327982 -2.1868375 + 8100 0.34121371 -49.677922 -49.495862 49.351802 0.056777286 9.2680351 -2.2134444 + 8200 0.34007764 -49.664566 -49.483112 50.141603 0.057526819 9.2371771 -2.2397997 + 8300 0.33993883 -49.651181 -49.469802 50.935241 0.05827283 9.2334067 -2.2659331 + 8400 0.34073085 -49.637766 -49.455963 51.732654 0.059016284 9.2549196 -2.2918688 + 8500 0.34239516 -49.62431 -49.441619 52.534019 0.059758157 9.3001256 -2.317626 + 8600 0.3448813 -49.610812 -49.426796 53.338612 0.060499441 9.367654 -2.3432261 + 8700 0.34814597 -49.597265 -49.411506 54.147073 0.061241149 9.4563288 -2.3686991 + 8800 0.35215054 -49.583658 -49.395763 54.959512 0.061984314 9.5651009 -2.3940587 + 8900 0.35685687 -49.569985 -49.379579 55.776434 0.062729991 9.692934 -2.419329 + 9000 0.36222181 -49.556241 -49.362972 56.597626 0.063479254 9.8386562 -2.4445253 + 9100 0.36819143 -49.54242 -49.345966 57.423306 0.064233198 10.000803 -2.469667 + 9200 0.37469636 -49.528518 -49.328593 58.253634 0.064992931 10.17749 -2.4947681 + 9300 0.38164964 -49.514521 -49.310886 59.088869 0.065759574 10.366354 -2.5198522 + 9400 0.38894823 -49.500427 -49.292898 59.929378 0.066534253 10.564598 -2.5449285 + 9500 0.3964785 -49.486229 -49.274681 60.775174 0.067318101 10.769135 -2.5700196 + 9600 0.4041249 -49.471917 -49.25629 61.626259 0.068112253 10.976827 -2.5951326 + 9700 0.41178035 -49.457494 -49.237782 62.482132 0.06891785 11.184764 -2.6202815 + 9800 0.41935645 -49.44294 -49.219186 63.343831 0.069736042 11.390545 -2.6454805 + 9900 0.42679147 -49.428257 -49.200536 64.211037 0.070567996 11.592495 -2.670741 + 10000 0.43405521 -49.413432 -49.181835 65.08463 0.071414903 11.789793 -2.6960774 +Loop time of 14.691 on 1 procs for 10000 steps with 180 atoms + +Performance: 0.059 ns/day, 408.083 hours/ns, 680.690 timesteps/s, 122.524 katom-step/s +95.3% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 3.1084 | 3.1084 | 3.1084 | 0.0 | 21.16 +Bond | 0.0010414 | 0.0010414 | 0.0010414 | 0.0 | 0.01 +Neigh | 6.6306 | 6.6306 | 6.6306 | 0.0 | 45.13 +Comm | 0.56093 | 0.56093 | 0.56093 | 0.0 | 3.82 +Output | 0.002951 | 0.002951 | 0.002951 | 0.0 | 0.02 +Modify | 4.3177 | 4.3177 | 4.3177 | 0.0 | 29.39 +Other | | 0.06942 | | | 0.47 + +Nlocal: 180 ave 180 max 180 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1510 ave 1510 max 1510 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 13680 ave 13680 max 13680 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 13680 +Ave neighs/atom = 76 +Ave special neighs/atom = 0 +Neighbor list builds = 10000 +Dangerous builds not checked +Total wall time: 0:00:14 diff --git a/examples/PACKAGES/pimd/para-h2/log.25Feb23.scp.g++.8.7 b/examples/PACKAGES/pimd/para-h2/log.25Feb23.scp.g++.8.7 new file mode 100644 index 0000000000..ac54d52847 --- /dev/null +++ b/examples/PACKAGES/pimd/para-h2/log.25Feb23.scp.g++.8.7 @@ -0,0 +1,197 @@ +LAMMPS (8 Feb 2023) +Processor partition = 7 +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +variable ibead uloop 32 pad +variable out_freq string 100 +variable job_name string H2 + +units real +atom_style full +pair_style table linear 10000 + +neighbor 2.0 bin +neigh_modify every 1 delay 0 check no + +read_data H2.data +Reading data file ... + orthogonal box = (0 0 0) to (19.71219 19.71219 19.71219) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 180 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.002 seconds + +pair_coeff 1 * pair.table PAIR_H2 +WARNING: 5852 of 18000 force values in table PAIR_H2 are inconsistent with -dE/dr. +WARNING: Should only be flagged at inflection points (src/pair_table.cpp:466) + +timestep 0.001 + +velocity all create 1.0 1985 rot yes dist gaussian + +fix 1 all pimd/nvt method nmpimd fmass 1.0 temp 25.0 nhc 4 + +thermo_style custom step temp pe etotal pzz f_1[1] f_1[2] f_1[3] +thermo_modify colname f_1[1] espring colname f_1[2] T_ring colname f_1[3] virial +thermo ${out_freq} +thermo 100 + +#dump dcd all dcd ${out_freq} ${job_name}_${ibead}.dcd + +#restart ${out_freq} ${job_name}_${ibead}.restart1 ${job_name}_${ibead}.restart2 + +run 10000 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 11.55117 + ghost atom cutoff = 11.55117 + binsize = 5.775585, bins = 4 4 4 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair table, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 11.97 | 11.97 | 11.97 Mbytes + Step Temp PotEng TotEng Pzz espring T_ring virial + 0 1 -50.292986 -49.759421 16.18218 0 0 4.331435e-14 + 100 0.99396717 -50.292908 -49.762562 16.16754 3.6546345e-06 31.630244 -0.01511026 + 200 0.97647843 -50.292785 -49.77177 16.117482 1.4519126e-05 31.073714 -0.030258999 + 300 0.94920978 -50.292584 -49.786119 16.040198 3.2307193e-05 30.205965 -0.045469889 + 400 0.91451321 -50.292301 -49.804349 15.94486 5.6578376e-05 29.101843 -0.060775514 + 500 0.87495051 -50.291935 -49.825092 15.839811 8.6783378e-05 27.84287 -0.07621024 + 600 0.83290521 -50.291484 -49.847075 15.733867 0.00012231241 26.504895 -0.091795014 + 700 0.79035049 -50.290943 -49.869239 15.633262 0.0001625386 25.150709 -0.10756384 + 800 0.74877056 -50.29031 -49.890792 15.542706 0.00020685191 23.827543 -0.12353621 + 900 0.70918842 -50.289582 -49.911184 15.465561 0.00025468227 22.567951 -0.13974782 + 1000 0.67224667 -50.288756 -49.930069 15.403036 0.00030551305 21.392383 -0.15621567 + 1100 0.63830199 -50.287828 -49.947252 15.356514 0.00035888685 20.312188 -0.17298512 + 1200 0.60751172 -50.286791 -49.962644 15.325845 0.0004144061 19.332373 -0.19008041 + 1300 0.57990404 -50.285641 -49.976225 15.311509 0.00047173031 18.453835 -0.20753645 + 1400 0.5554312 -50.284374 -49.988015 15.313263 0.00053057146 17.675055 -0.22539174 + 1500 0.53400813 -50.282975 -49.998047 15.33133 0.00059068877 16.993325 -0.24369544 + 1600 0.51553984 -50.281444 -50.00637 15.365561 0.00065188331 16.405623 -0.26248285 + 1700 0.49994085 -50.279767 -50.013016 15.416271 0.00071399304 15.909229 -0.28182209 + 1800 0.48714931 -50.277932 -50.018006 15.48387 0.00077688833 15.502174 -0.30176215 + 1900 0.47713797 -50.275928 -50.021344 15.569019 0.00084046832 15.183591 -0.32238808 + 2000 0.46992375 -50.273735 -50.023 15.673314 0.00090465799 14.954018 -0.3437631 + 2100 0.46557711 -50.271332 -50.022917 15.797801 0.00096940607 14.815698 -0.36598703 + 2200 0.46423244 -50.2687 -50.021002 15.944553 0.0010346838 14.772908 -0.38915619 + 2300 0.46610038 -50.26581 -50.017115 16.115839 0.0011004847 14.83235 -0.41338963 + 2400 0.47148286 -50.262625 -50.011058 16.314677 0.0011668255 15.003632 -0.43882597 + 2500 0.48079165 -50.259109 -50.002575 16.545079 0.0012337477 15.299859 -0.46562537 + 2600 0.49457102 -50.255212 -49.991327 16.811386 0.0013013219 15.738349 -0.49395245 + 2700 0.51352449 -50.250875 -49.976877 17.11979 0.0013696525 16.341491 -0.52401609 + 2800 0.53854543 -50.246032 -49.958683 17.477089 0.0014388859 17.137712 -0.55604082 + 2900 0.57074936 -50.240596 -49.936064 17.892199 0.0015092207 18.162513 -0.59030618 + 3000 0.61150422 -50.234467 -49.90819 18.375616 0.001580922 19.459423 -0.62708735 + 3100 0.66245096 -50.227523 -49.874062 18.939819 0.0016543394 21.080662 -0.66672955 + 3200 0.72550205 -50.219616 -49.832514 19.60023 0.0017299293 23.087088 -0.70958417 + 3300 0.80279929 -50.210579 -49.782233 20.37383 0.0018082826 25.546857 -0.75603924 + 3400 0.89660476 -50.200203 -49.721806 21.28012 0.0018901552 28.531956 -0.80651501 + 3500 1.0090938 -50.188252 -49.649835 22.340233 0.0019765002 32.111606 -0.86141363 + 3600 1.1420183 -50.174459 -49.565118 23.57558 0.0020684981 36.34156 -0.92115194 + 3700 1.2962221 -50.158518 -49.466899 25.006266 0.0021675754 41.248667 -0.98609175 + 3800 1.4710194 -50.140107 -49.355223 26.648455 0.0022754045 46.811106 -1.0565325 + 3900 1.6635051 -50.118886 -49.231298 28.511102 0.0023938687 52.936429 -1.1326688 + 4000 1.8679372 -50.094526 -49.097861 30.592386 0.0025249809 59.441913 -1.214555 + 4100 2.075405 -50.066723 -48.95936 32.878933 0.0026707445 66.044 -1.3020682 + 4200 2.2740293 -50.035234 -48.821891 35.342354 0.0028329538 72.364666 -1.394874 + 4300 2.449883 -49.999912 -48.69274 37.94169 0.0030129483 77.96072 -1.4924536 + 4400 2.5886538 -49.960721 -48.579506 40.62924 0.0032113484 82.376716 -1.5940701 + 4500 2.6778127 -49.917775 -48.488988 43.35421 0.0034278221 85.21395 -1.6987968 + 4600 2.7088053 -49.871336 -48.426012 46.071925 0.0036609337 86.200203 -1.8055903 + 4700 2.6786752 -49.821807 -48.39256 48.749456 0.0039081229 85.241397 -1.9133555 + 4800 2.5906421 -49.769708 -48.387433 51.369043 0.0041658356 82.439989 -2.0209603 + 4900 2.4534656 -49.71564 -48.406557 53.929171 0.0044297991 78.074727 -2.1273728 + 5000 2.2797967 -49.660246 -48.443826 56.439389 0.0046953978 72.548196 -2.2316692 + 5100 2.0839917 -49.60414 -48.492195 58.917167 0.0049580886 66.317246 -2.3330819 + 5200 1.8799454 -49.547898 -48.544825 61.38072 0.0052137855 59.824039 -2.4310487 + 5300 1.6794028 -49.492001 -48.59593 63.845702 0.0054591569 53.442329 -2.5251887 + 5400 1.4910004 -49.436812 -48.641266 66.323664 0.0056917984 47.446947 -2.6153153 + 5500 1.3200581 -49.382602 -48.678265 68.81759 0.0059102724 42.007182 -2.7013892 + 5600 1.1689597 -49.32954 -48.705824 71.326608 0.0061140319 37.198896 -2.7834961 + 5700 1.0378669 -49.277687 -48.723917 73.847293 0.0063032634 33.027232 -2.8618238 + 5800 0.92551081 -49.227051 -48.733231 76.373912 0.0064786911 29.451811 -2.9366159 + 5900 0.82988009 -49.177354 -48.734559 78.907054 0.0066413821 26.408629 -3.0079862 + 6000 0.74872148 -49.128988 -48.729496 81.429069 0.0067925784 23.825981 -3.0765541 + 6100 0.6798481 -49.081399 -48.718656 83.949013 0.0069335708 21.634277 -3.1425093 + 6200 0.62129621 -49.034965 -48.703463 86.450184 0.0070656124 19.771026 -3.2059256 + 6300 0.5713815 -48.989354 -48.684484 88.938306 0.0071898691 18.182629 -3.2671248 + 6400 0.52869861 -48.944483 -48.662388 91.411964 0.0073073957 16.824365 -3.326325 + 6500 0.49209369 -48.900284 -48.63772 93.869881 0.00741913 15.659515 -3.383704 + 6600 0.4606278 -48.85645 -48.610675 96.319181 0.0075258972 14.6582 -3.4393879 + 6700 0.4335401 -48.813153 -48.581831 98.754093 0.0076284202 13.796209 -3.4935699 + 6800 0.41021495 -48.770575 -48.551698 101.16784 0.0077273325 13.053951 -3.546418 + 6900 0.39015391 -48.728202 -48.520029 103.57385 0.0078231904 12.415565 -3.5980989 + 7000 0.37295279 -48.686464 -48.487469 105.95986 0.0079164859 11.868187 -3.6485312 + 7100 0.35828286 -48.645075 -48.453908 108.33347 0.008007657 11.401357 -3.6979091 + 7200 0.34587564 -48.603786 -48.419239 110.70102 0.0080970974 11.006532 -3.7462688 + 7300 0.33551045 -48.563011 -48.383994 113.05147 0.0081851643 10.676688 -3.7937749 + 7400 0.32700405 -48.5225 -48.348023 115.39114 0.008272185 10.405996 -3.8404567 + 7500 0.32020193 -48.481991 -48.311143 117.72756 0.0083584619 10.189537 -3.8863461 + 7600 0.31497086 -48.441913 -48.273856 120.0495 0.008444277 10.023073 -3.9315862 + 7700 0.31119256 -48.401778 -48.235736 122.37022 0.0085298943 9.9028389 -3.9761586 + 7800 0.30875834 -48.362027 -48.197284 124.67777 0.0086155626 9.8253766 -4.020194 + 7900 0.30756489 -48.322398 -48.158292 126.9798 0.0087015164 9.7873982 -4.0637137 + 8000 0.30751134 -48.282865 -48.118788 129.27742 0.0087879767 9.7856943 -4.1067668 + 8100 0.30849789 -48.243167 -48.078563 131.57737 0.0088751511 9.8170884 -4.1492332 + 8200 0.31042593 -48.203515 -48.037882 133.87491 0.0089632335 9.8784428 -4.1915847 + 8300 0.31319977 -48.163874 -47.996762 136.17056 0.0090524039 9.9667128 -4.2336145 + 8400 0.3167294 -48.124228 -47.955232 138.46555 0.0091428273 10.079033 -4.2753558 + 8500 0.32093339 -48.084773 -47.913534 140.75426 0.0092346543 10.212814 -4.3167737 + 8600 0.32574097 -48.045251 -47.871447 143.04447 0.0093280205 10.365802 -4.3579897 + 8700 0.33109202 -48.005633 -47.828974 145.33751 0.0094230472 10.536084 -4.3990428 + 8800 0.33693414 -47.965895 -47.786118 147.63516 0.0095198428 10.721993 -4.4399711 + 8900 0.34321684 -47.926004 -47.742875 149.9379 0.009618504 10.921922 -4.4808086 + 9000 0.34988367 -47.885934 -47.699248 152.24678 0.0097191181 11.134076 -4.5215921 + 9100 0.35686443 -47.845658 -47.655247 154.56358 0.0098217652 11.356219 -4.5623394 + 9200 0.3640698 -47.805147 -47.610893 156.88915 0.0099265208 11.58551 -4.6030874 + 9300 0.37139091 -47.764138 -47.565977 159.23099 0.010033457 11.818484 -4.6439479 + 9400 0.37870543 -47.722844 -47.52078 161.5788 0.010142648 12.051248 -4.6846276 + 9500 0.38588975 -47.68146 -47.475562 163.93728 0.010254165 12.279869 -4.7255143 + 9600 0.39283543 -47.639735 -47.430132 166.30871 0.010368088 12.500896 -4.7664862 + 9700 0.39946605 -47.597406 -47.384265 168.70114 0.010484497 12.711897 -4.8075181 + 9800 0.40575037 -47.55491 -47.338416 171.10373 0.010603483 12.911878 -4.848721 + 9900 0.41170816 -47.511756 -47.292083 173.53055 0.010725141 13.101469 -4.8900195 + 10000 0.41740707 -47.468384 -47.245671 175.97095 0.010849577 13.282821 -4.9315123 +Loop time of 14.691 on 1 procs for 10000 steps with 180 atoms + +Performance: 0.059 ns/day, 408.083 hours/ns, 680.690 timesteps/s, 122.524 katom-step/s +97.9% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 2.9822 | 2.9822 | 2.9822 | 0.0 | 20.30 +Bond | 0.00090722 | 0.00090722 | 0.00090722 | 0.0 | 0.01 +Neigh | 6.5119 | 6.5119 | 6.5119 | 0.0 | 44.33 +Comm | 0.55377 | 0.55377 | 0.55377 | 0.0 | 3.77 +Output | 0.0024523 | 0.0024523 | 0.0024523 | 0.0 | 0.02 +Modify | 4.5713 | 4.5713 | 4.5713 | 0.0 | 31.12 +Other | | 0.06845 | | | 0.47 + +Nlocal: 180 ave 180 max 180 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1510 ave 1510 max 1510 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 13712 ave 13712 max 13712 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 13712 +Ave neighs/atom = 76.177778 +Ave special neighs/atom = 0 +Neighbor list builds = 10000 +Dangerous builds not checked +Total wall time: 0:00:14 From 3e2b5dd9d30acef544af055c588cab71ef689312 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 25 Feb 2023 23:47:11 -0500 Subject: [PATCH 164/448] small cleanup --- src/REPLICA/fix_pimd_nvt.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/REPLICA/fix_pimd_nvt.cpp b/src/REPLICA/fix_pimd_nvt.cpp index 89d9a4127f..8f34df0b83 100644 --- a/src/REPLICA/fix_pimd_nvt.cpp +++ b/src/REPLICA/fix_pimd_nvt.cpp @@ -29,6 +29,7 @@ #include "error.h" #include "force.h" #include "math_const.h" +#include "math_special.h" #include "memory.h" #include "universe.h" #include "update.h" @@ -40,6 +41,8 @@ using namespace LAMMPS_NS; using namespace FixConst; using namespace MathConst; +using MathSpecial::powint; + enum { PIMD, NMPIMD, CMD }; /* ---------------------------------------------------------------------- */ @@ -234,7 +237,7 @@ void FixPIMDNVT::init() if (method == CMD || method == NMPIMD) nmpimd_init(); else - for (int i = 1; i <= atom->ntypes; i++) mass[i] = atom->mass[i] / np * fmass; + for (int i = 1; i <= atom->ntypes; i++) mass[i] = atom->mass[i] * inverse_np * fmass; if (!nhc_ready) nhc_init(); } @@ -468,8 +471,8 @@ void FixPIMDNVT::nmpimd_init() // Set up eigenvectors for non-degenerated modes for (int i = 0; i < np; i++) { - M_x2xp[0][i] = 1.0 / np; - if (np % 2 == 0) M_x2xp[np - 1][i] = 1.0 / np * pow(-1.0, i); + M_x2xp[0][i] = inverse_np; + if (np % 2 == 0) M_x2xp[np - 1][i] = inverse_np * powint(-1.0, i); } // Set up eigenvectors for degenerated modes @@ -880,8 +883,8 @@ int FixPIMDNVT::size_restart(int /*nlocal*/) double FixPIMDNVT::compute_vector(int n) { - if (n == 0) { return spring_energy; } - if (n == 1) { return t_sys; } - if (n == 2) { return virial; } + if (n == 0) return spring_energy; + if (n == 1) return t_sys; + if (n == 2) return virial; return 0.0; } From 76c879c388c32e2bc62d879c9496a77c6c27c177 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 26 Feb 2023 00:16:03 -0500 Subject: [PATCH 165/448] make sure that output variables are initialized --- src/REPLICA/fix_pimd_nvt.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/REPLICA/fix_pimd_nvt.cpp b/src/REPLICA/fix_pimd_nvt.cpp index 8f34df0b83..1f2f29f35c 100644 --- a/src/REPLICA/fix_pimd_nvt.cpp +++ b/src/REPLICA/fix_pimd_nvt.cpp @@ -72,6 +72,8 @@ FixPIMDNVT::FixPIMDNVT(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) nhc_eta_dotdot = nullptr; nhc_eta_mass = nullptr; + spring_energy = t_sys = virial = 0.0; + method = PIMD; fmass = 1.0; nhc_temp = 298.15; From 2bd6cde4e822b51af6e6e4d796cffb8a8fff2f65 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 26 Feb 2023 00:19:39 -0500 Subject: [PATCH 166/448] add reference output --- .../pimd/prot-hairpin/log.25Feb23.scp.g++.8 | 2 + .../pimd/prot-hairpin/log.25Feb23.scp.g++.8.0 | 148 ++++++++++++++++++ .../pimd/prot-hairpin/log.25Feb23.scp.g++.8.1 | 146 +++++++++++++++++ .../pimd/prot-hairpin/log.25Feb23.scp.g++.8.2 | 146 +++++++++++++++++ .../pimd/prot-hairpin/log.25Feb23.scp.g++.8.3 | 146 +++++++++++++++++ .../pimd/prot-hairpin/log.25Feb23.scp.g++.8.4 | 146 +++++++++++++++++ .../pimd/prot-hairpin/log.25Feb23.scp.g++.8.5 | 146 +++++++++++++++++ .../pimd/prot-hairpin/log.25Feb23.scp.g++.8.6 | 146 +++++++++++++++++ .../pimd/prot-hairpin/log.25Feb23.scp.g++.8.7 | 146 +++++++++++++++++ 9 files changed, 1172 insertions(+) create mode 100644 examples/PACKAGES/pimd/prot-hairpin/log.25Feb23.scp.g++.8 create mode 100644 examples/PACKAGES/pimd/prot-hairpin/log.25Feb23.scp.g++.8.0 create mode 100644 examples/PACKAGES/pimd/prot-hairpin/log.25Feb23.scp.g++.8.1 create mode 100644 examples/PACKAGES/pimd/prot-hairpin/log.25Feb23.scp.g++.8.2 create mode 100644 examples/PACKAGES/pimd/prot-hairpin/log.25Feb23.scp.g++.8.3 create mode 100644 examples/PACKAGES/pimd/prot-hairpin/log.25Feb23.scp.g++.8.4 create mode 100644 examples/PACKAGES/pimd/prot-hairpin/log.25Feb23.scp.g++.8.5 create mode 100644 examples/PACKAGES/pimd/prot-hairpin/log.25Feb23.scp.g++.8.6 create mode 100644 examples/PACKAGES/pimd/prot-hairpin/log.25Feb23.scp.g++.8.7 diff --git a/examples/PACKAGES/pimd/prot-hairpin/log.25Feb23.scp.g++.8 b/examples/PACKAGES/pimd/prot-hairpin/log.25Feb23.scp.g++.8 new file mode 100644 index 0000000000..14b41c14f3 --- /dev/null +++ b/examples/PACKAGES/pimd/prot-hairpin/log.25Feb23.scp.g++.8 @@ -0,0 +1,2 @@ +LAMMPS (8 Feb 2023) +Running on 8 partitions of processors diff --git a/examples/PACKAGES/pimd/prot-hairpin/log.25Feb23.scp.g++.8.0 b/examples/PACKAGES/pimd/prot-hairpin/log.25Feb23.scp.g++.8.0 new file mode 100644 index 0000000000..873d412bf1 --- /dev/null +++ b/examples/PACKAGES/pimd/prot-hairpin/log.25Feb23.scp.g++.8.0 @@ -0,0 +1,148 @@ +LAMMPS (8 Feb 2023) +Processor partition = 0 +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +variable ibead uloop 8 pad + +units real +neigh_modify delay 2 every 1 + +atom_style full +bond_style harmonic +angle_style charmm +dihedral_style charmm +improper_style harmonic + +pair_style lj/charmm/coul/long 11 12 +pair_modify mix arithmetic +kspace_style pppm 1e-4 + +read_data system.data +Reading data file ... + orthogonal box = (-23.109 -22.733 -23.141) to (22.853 22.912 22.8) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 8674 atoms + reading velocities ... + 8674 velocities + scanning bonds ... + 4 = max bonds/atom + scanning angles ... + 6 = max angles/atom + scanning dihedrals ... + 18 = max dihedrals/atom + scanning impropers ... + 1 = max impropers/atom + reading bonds ... + 5869 bonds + reading angles ... + 3264 angles + reading dihedrals ... + 708 dihedrals + reading impropers ... + 38 impropers +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 4 = max # of 1-2 neighbors + 9 = max # of 1-3 neighbors + 17 = max # of 1-4 neighbors + 21 = max # of special neighbors + special bonds CPU = 0.004 seconds + read_data CPU = 0.138 seconds +#read_restart system_${ibead}.rest1 +special_bonds charmm + +fix 1 all pimd/nvt method nmpimd fmass 1.0 temp 300.0 nhc 4 sp 2.0 + +thermo 10 +thermo_style custom step temp pe etotal f_1[1] f_1[2] f_1[3] +thermo_modify colname f_1[1] espring colname f_1[2] T_ring colname f_1[3] virial +timestep 0.08 + +# restart 100 system_${ibead}.rest1 system_${ibead}.rest2 + +group prot id <= 256 +256 atoms in group prot +# dump 1 prot dcd 100 prot_${ibead}.dcd + +run 200 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) + G vector (1/distance) = 0.22071363 + grid = 20 20 20 + stencil order = 5 + estimated absolute RMS force accuracy = 0.024910591 + estimated relative force accuracy = 7.5017505e-05 + using double precision KISS FFT + 3d grid and FFT values/proc = 15625 8000 +Generated 231 of 231 mixed pair_coeff terms from arithmetic mixing rule +Fix pimd/nvt -P/(beta^2 * hbar^2) = -2.9535019e+01 (kcal/mol/A^2) + +Neighbor list info ... + update: every = 1 steps, delay = 2 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 7 7 7 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/charmm/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +WARNING: Inconsistent image flags (src/domain.cpp:815) +Per MPI rank memory allocation (min/avg/max) = 84.59 | 84.59 | 84.59 Mbytes + Step Temp PotEng TotEng espring T_ring virial + 0 306.20099 -26166.171 -18250.089 0 0 -676.31071 + 10 131.27164 -24353.129 -20959.421 307.69774 131.25651 -622.84631 + 20 173.87922 -20639.595 -16144.371 903.19698 173.85917 -146.32235 + 30 174.36894 -14805.957 -10298.072 2123.5094 174.34883 1001.9707 + 40 209.39721 -9107.42 -3693.9648 3643.8992 209.37307 2169.6179 + 50 224.56543 -4755.7551 1049.8374 5433.6153 224.53954 3077.7538 + 60 236.84365 -1848.0123 4275.0036 7420.6008 236.81634 3690.4423 + 70 251.60145 -545.63452 5958.9084 9472.1666 251.57244 3930.8483 + 80 259.97884 -310.2814 6410.8387 11592.586 259.94887 4052.0897 + 90 266.56259 -619.03771 6272.2892 13763.979 266.53186 3895.0106 + 100 277.74387 -1327.8055 5852.5862 15788.989 277.71185 3691.775 + 110 278.73044 -1998.5 5207.397 17723.605 278.69831 2838.6857 + 120 286.74106 -2688.0018 4724.9903 19437.173 286.70801 2354.3367 + 130 284.45763 -3484.7277 3869.2319 20933.859 284.42484 2037.2135 + 140 290.24681 -4412.7819 3090.8428 22113.049 290.21335 1802.8857 + 150 294.32521 -5490.1829 2118.8788 23005.855 294.29127 1927.3626 + 160 293.9109 -6586.1293 1012.2214 23597.9 293.87701 2198.3058 + 170 290.52772 -7737.8309 -226.94392 23882.219 290.49423 2454.2765 + 180 289.91516 -8766.2419 -1271.1912 23875.129 289.88174 2549.258 + 190 292.57992 -9618.0848 -2054.1432 23580.482 292.54619 2605.4823 + 200 295.4078 -10200.536 -2563.4865 23028.461 295.37374 2587.5531 +Loop time of 35.3333 on 1 procs for 200 steps with 8674 atoms + +Performance: 0.039 ns/day, 613.425 hours/ns, 5.660 timesteps/s, 49.098 katom-step/s +99.3% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 27.689 | 27.689 | 27.689 | 0.0 | 78.37 +Bond | 0.1312 | 0.1312 | 0.1312 | 0.0 | 0.37 +Kspace | 2.4446 | 2.4446 | 2.4446 | 0.0 | 6.92 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.12014 | 0.12014 | 0.12014 | 0.0 | 0.34 +Output | 0.0020193 | 0.0020193 | 0.0020193 | 0.0 | 0.01 +Modify | 4.886 | 4.886 | 4.886 | 0.0 | 13.83 +Other | | 0.05992 | | | 0.17 + +Nlocal: 8674 ave 8674 max 8674 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 27366 ave 27366 max 27366 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 4.48585e+06 ave 4.48585e+06 max 4.48585e+06 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 4485849 +Ave neighs/atom = 517.16036 +Ave special neighs/atom = 2.2573207 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:35 diff --git a/examples/PACKAGES/pimd/prot-hairpin/log.25Feb23.scp.g++.8.1 b/examples/PACKAGES/pimd/prot-hairpin/log.25Feb23.scp.g++.8.1 new file mode 100644 index 0000000000..51a69030c2 --- /dev/null +++ b/examples/PACKAGES/pimd/prot-hairpin/log.25Feb23.scp.g++.8.1 @@ -0,0 +1,146 @@ +LAMMPS (8 Feb 2023) +Processor partition = 1 +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +variable ibead uloop 8 pad + +units real +neigh_modify delay 2 every 1 + +atom_style full +bond_style harmonic +angle_style charmm +dihedral_style charmm +improper_style harmonic + +pair_style lj/charmm/coul/long 11 12 +pair_modify mix arithmetic +kspace_style pppm 1e-4 + +read_data system.data +Reading data file ... + orthogonal box = (-23.109 -22.733 -23.141) to (22.853 22.912 22.8) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 8674 atoms + reading velocities ... + 8674 velocities + scanning bonds ... + 4 = max bonds/atom + scanning angles ... + 6 = max angles/atom + scanning dihedrals ... + 18 = max dihedrals/atom + scanning impropers ... + 1 = max impropers/atom + reading bonds ... + 5869 bonds + reading angles ... + 3264 angles + reading dihedrals ... + 708 dihedrals + reading impropers ... + 38 impropers +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 4 = max # of 1-2 neighbors + 9 = max # of 1-3 neighbors + 17 = max # of 1-4 neighbors + 21 = max # of special neighbors + special bonds CPU = 0.004 seconds + read_data CPU = 0.139 seconds +#read_restart system_${ibead}.rest1 +special_bonds charmm + +fix 1 all pimd/nvt method nmpimd fmass 1.0 temp 300.0 nhc 4 sp 2.0 + +thermo 10 +thermo_style custom step temp pe etotal f_1[1] f_1[2] f_1[3] +thermo_modify colname f_1[1] espring colname f_1[2] T_ring colname f_1[3] virial +timestep 0.08 + +# restart 100 system_${ibead}.rest1 system_${ibead}.rest2 + +group prot id <= 256 +256 atoms in group prot +# dump 1 prot dcd 100 prot_${ibead}.dcd + +run 200 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) + G vector (1/distance) = 0.22071363 + grid = 20 20 20 + stencil order = 5 + estimated absolute RMS force accuracy = 0.024910591 + estimated relative force accuracy = 7.5017505e-05 + using double precision KISS FFT + 3d grid and FFT values/proc = 15625 8000 +Generated 231 of 231 mixed pair_coeff terms from arithmetic mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 2 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 7 7 7 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/charmm/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +WARNING: Inconsistent image flags (src/domain.cpp:815) +Per MPI rank memory allocation (min/avg/max) = 84.59 | 84.59 | 84.59 Mbytes + Step Temp PotEng TotEng espring T_ring virial + 0 306.20099 -26166.171 -18250.089 0 0 -676.31071 + 10 64.17217 -26206.83 -24547.814 19.798491 300.69483 -715.39964 + 20 68.220475 -26516.716 -24753.042 40.042407 319.66418 -514.11207 + 30 57.966715 -26566.219 -25067.631 92.36071 271.61761 32.199121 + 40 49.627434 -26115.147 -24832.15 156.77313 232.54181 589.56751 + 50 50.238512 -24830.72 -23531.926 251.81147 235.40517 1098.4708 + 60 56.338925 -22753.456 -21296.951 361.53524 263.99019 1897.4199 + 70 54.380851 -19964.7 -18558.815 512.1854 254.81514 2327.9231 + 80 56.718808 -16822.195 -15355.868 692.48978 265.77022 2784.4839 + 90 57.350586 -13726.44 -12243.78 926.0914 268.73058 3260.3863 + 100 57.262365 -11280.793 -9800.4136 1186.0078 268.3172 3554.7754 + 110 58.507688 -9681.3843 -8168.8105 1483.328 274.15247 3368.3688 + 120 58.690757 -9008.7198 -7491.4132 1803.3617 275.01029 2974.5497 + 130 58.623212 -9097.3273 -7581.7669 2143.6544 274.69379 2535.9822 + 140 59.453502 -9689.6967 -8152.6711 2490.8635 278.58432 1947.3155 + 150 59.231787 -10601.929 -9070.635 2837.9543 277.54542 1774.9432 + 160 58.39319 -11413.85 -9904.2362 3183.3024 273.61596 1744.3579 + 170 60.201493 -12074.462 -10518.099 3515.6508 282.08922 1744.1497 + 180 59.592955 -12415.79 -10875.16 3827.6991 279.23776 1935.0884 + 190 59.698333 -12625.161 -11081.806 4120.4275 279.73154 1962.5444 + 200 59.87495 -12794.677 -11246.756 4387.202 280.55912 1854.7836 +Loop time of 35.3334 on 1 procs for 200 steps with 8674 atoms + +Performance: 0.039 ns/day, 613.427 hours/ns, 5.660 timesteps/s, 49.098 katom-step/s +97.8% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 27.948 | 27.948 | 27.948 | 0.0 | 79.10 +Bond | 0.12842 | 0.12842 | 0.12842 | 0.0 | 0.36 +Kspace | 2.4577 | 2.4577 | 2.4577 | 0.0 | 6.96 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.11986 | 0.11986 | 0.11986 | 0.0 | 0.34 +Output | 0.0021166 | 0.0021166 | 0.0021166 | 0.0 | 0.01 +Modify | 4.617 | 4.617 | 4.617 | 0.0 | 13.07 +Other | | 0.06042 | | | 0.17 + +Nlocal: 8674 ave 8674 max 8674 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 27366 ave 27366 max 27366 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 4.48585e+06 ave 4.48585e+06 max 4.48585e+06 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 4485849 +Ave neighs/atom = 517.16036 +Ave special neighs/atom = 2.2573207 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:35 diff --git a/examples/PACKAGES/pimd/prot-hairpin/log.25Feb23.scp.g++.8.2 b/examples/PACKAGES/pimd/prot-hairpin/log.25Feb23.scp.g++.8.2 new file mode 100644 index 0000000000..03d6c04804 --- /dev/null +++ b/examples/PACKAGES/pimd/prot-hairpin/log.25Feb23.scp.g++.8.2 @@ -0,0 +1,146 @@ +LAMMPS (8 Feb 2023) +Processor partition = 2 +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +variable ibead uloop 8 pad + +units real +neigh_modify delay 2 every 1 + +atom_style full +bond_style harmonic +angle_style charmm +dihedral_style charmm +improper_style harmonic + +pair_style lj/charmm/coul/long 11 12 +pair_modify mix arithmetic +kspace_style pppm 1e-4 + +read_data system.data +Reading data file ... + orthogonal box = (-23.109 -22.733 -23.141) to (22.853 22.912 22.8) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 8674 atoms + reading velocities ... + 8674 velocities + scanning bonds ... + 4 = max bonds/atom + scanning angles ... + 6 = max angles/atom + scanning dihedrals ... + 18 = max dihedrals/atom + scanning impropers ... + 1 = max impropers/atom + reading bonds ... + 5869 bonds + reading angles ... + 3264 angles + reading dihedrals ... + 708 dihedrals + reading impropers ... + 38 impropers +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 4 = max # of 1-2 neighbors + 9 = max # of 1-3 neighbors + 17 = max # of 1-4 neighbors + 21 = max # of special neighbors + special bonds CPU = 0.004 seconds + read_data CPU = 0.139 seconds +#read_restart system_${ibead}.rest1 +special_bonds charmm + +fix 1 all pimd/nvt method nmpimd fmass 1.0 temp 300.0 nhc 4 sp 2.0 + +thermo 10 +thermo_style custom step temp pe etotal f_1[1] f_1[2] f_1[3] +thermo_modify colname f_1[1] espring colname f_1[2] T_ring colname f_1[3] virial +timestep 0.08 + +# restart 100 system_${ibead}.rest1 system_${ibead}.rest2 + +group prot id <= 256 +256 atoms in group prot +# dump 1 prot dcd 100 prot_${ibead}.dcd + +run 200 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) + G vector (1/distance) = 0.22071363 + grid = 20 20 20 + stencil order = 5 + estimated absolute RMS force accuracy = 0.024910591 + estimated relative force accuracy = 7.5017505e-05 + using double precision KISS FFT + 3d grid and FFT values/proc = 15625 8000 +Generated 231 of 231 mixed pair_coeff terms from arithmetic mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 2 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 7 7 7 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/charmm/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +WARNING: Inconsistent image flags (src/domain.cpp:815) +Per MPI rank memory allocation (min/avg/max) = 84.59 | 84.59 | 84.59 Mbytes + Step Temp PotEng TotEng espring T_ring virial + 0 306.20099 -26166.171 -18250.089 0 0 -676.31071 + 10 64.17182 -26152.123 -24493.117 2.6867435 300.69318 -871.30328 + 20 68.223719 -26376.797 -24613.039 8.6943178 319.67938 -734.6258 + 30 57.962426 -26437.775 -24939.297 20.196606 271.59751 -442.97527 + 40 49.527052 -26345.74 -25065.339 36.486067 232.07145 -109.57718 + 50 50.00573 -26013.669 -24720.893 64.828577 234.31441 90.23132 + 60 56.176816 -25453.583 -24001.268 104.35099 263.23058 350.85294 + 70 54.335616 -24764.408 -23359.692 168.84911 254.60318 370.58559 + 80 56.386432 -24068.851 -22611.117 255.96556 264.21279 359.85013 + 90 57.394261 -23487.859 -22004.071 377.57122 268.93523 350.57006 + 100 56.595909 -23070.567 -21607.418 531.24569 265.19435 380.72648 + 110 56.785626 -22692.803 -21224.749 716.4839 266.08332 119.53289 + 120 57.068588 -22142.475 -20667.105 936.74977 267.4092 53.114976 + 130 57.211273 -21289.908 -19810.849 1184.7712 268.0778 165.3536 + 140 58.110208 -20136.125 -18633.827 1461.5509 272.28998 268.40059 + 150 57.980844 -18752.784 -17253.831 1762.042 271.68381 732.81511 + 160 58.120526 -17237.742 -15735.177 2083.496 272.33833 1353.819 + 170 58.192327 -15808.132 -14303.711 2418.0799 272.67477 1963.8895 + 180 59.169638 -14676.59 -13146.903 2755.6611 277.2542 2483.717 + 190 60.190674 -13997.692 -12441.609 3096.3553 282.03852 2865.7644 + 200 60.619191 -13706.35 -12139.188 3426.2396 284.04645 2830.1842 +Loop time of 35.3333 on 1 procs for 200 steps with 8674 atoms + +Performance: 0.039 ns/day, 613.425 hours/ns, 5.660 timesteps/s, 49.098 katom-step/s +99.2% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 27.558 | 27.558 | 27.558 | 0.0 | 77.99 +Bond | 0.1313 | 0.1313 | 0.1313 | 0.0 | 0.37 +Kspace | 2.4344 | 2.4344 | 2.4344 | 0.0 | 6.89 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.11913 | 0.11913 | 0.11913 | 0.0 | 0.34 +Output | 0.0022372 | 0.0022372 | 0.0022372 | 0.0 | 0.01 +Modify | 5.0291 | 5.0291 | 5.0291 | 0.0 | 14.23 +Other | | 0.05932 | | | 0.17 + +Nlocal: 8674 ave 8674 max 8674 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 27366 ave 27366 max 27366 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 4.48585e+06 ave 4.48585e+06 max 4.48585e+06 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 4485849 +Ave neighs/atom = 517.16036 +Ave special neighs/atom = 2.2573207 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:35 diff --git a/examples/PACKAGES/pimd/prot-hairpin/log.25Feb23.scp.g++.8.3 b/examples/PACKAGES/pimd/prot-hairpin/log.25Feb23.scp.g++.8.3 new file mode 100644 index 0000000000..5e15398b16 --- /dev/null +++ b/examples/PACKAGES/pimd/prot-hairpin/log.25Feb23.scp.g++.8.3 @@ -0,0 +1,146 @@ +LAMMPS (8 Feb 2023) +Processor partition = 3 +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +variable ibead uloop 8 pad + +units real +neigh_modify delay 2 every 1 + +atom_style full +bond_style harmonic +angle_style charmm +dihedral_style charmm +improper_style harmonic + +pair_style lj/charmm/coul/long 11 12 +pair_modify mix arithmetic +kspace_style pppm 1e-4 + +read_data system.data +Reading data file ... + orthogonal box = (-23.109 -22.733 -23.141) to (22.853 22.912 22.8) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 8674 atoms + reading velocities ... + 8674 velocities + scanning bonds ... + 4 = max bonds/atom + scanning angles ... + 6 = max angles/atom + scanning dihedrals ... + 18 = max dihedrals/atom + scanning impropers ... + 1 = max impropers/atom + reading bonds ... + 5869 bonds + reading angles ... + 3264 angles + reading dihedrals ... + 708 dihedrals + reading impropers ... + 38 impropers +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 4 = max # of 1-2 neighbors + 9 = max # of 1-3 neighbors + 17 = max # of 1-4 neighbors + 21 = max # of special neighbors + special bonds CPU = 0.015 seconds + read_data CPU = 0.153 seconds +#read_restart system_${ibead}.rest1 +special_bonds charmm + +fix 1 all pimd/nvt method nmpimd fmass 1.0 temp 300.0 nhc 4 sp 2.0 + +thermo 10 +thermo_style custom step temp pe etotal f_1[1] f_1[2] f_1[3] +thermo_modify colname f_1[1] espring colname f_1[2] T_ring colname f_1[3] virial +timestep 0.08 + +# restart 100 system_${ibead}.rest1 system_${ibead}.rest2 + +group prot id <= 256 +256 atoms in group prot +# dump 1 prot dcd 100 prot_${ibead}.dcd + +run 200 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) + G vector (1/distance) = 0.22071363 + grid = 20 20 20 + stencil order = 5 + estimated absolute RMS force accuracy = 0.024910591 + estimated relative force accuracy = 7.5017505e-05 + using double precision KISS FFT + 3d grid and FFT values/proc = 15625 8000 +Generated 231 of 231 mixed pair_coeff terms from arithmetic mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 2 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 7 7 7 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/charmm/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +WARNING: Inconsistent image flags (src/domain.cpp:815) +Per MPI rank memory allocation (min/avg/max) = 84.59 | 84.59 | 84.59 Mbytes + Step Temp PotEng TotEng espring T_ring virial + 0 306.20099 -26166.171 -18250.089 0 0 -676.31071 + 10 23.892089 -26194.747 -25577.075 6.0651132 382.22935 -806.80519 + 20 27.051257 -26510.555 -25811.21 19.798054 432.77021 -722.7628 + 30 27.053581 -26558.283 -25858.879 46.409761 432.8074 -314.77439 + 40 19.1336 -26301.271 -25806.618 80.715535 306.1023 33.240778 + 50 19.277021 -25564.199 -25065.839 122.0411 308.39678 420.32166 + 60 20.762569 -24490.516 -23953.751 171.68786 332.16281 922.0134 + 70 18.895283 -23277.775 -22789.283 228.13302 302.28967 1340.4892 + 80 20.103678 -22119.758 -21600.026 293.69148 321.62176 1692.277 + 90 18.733051 -21236.09 -20751.793 371.14173 299.69426 2111.5887 + 100 18.287299 -20684.674 -20211.9 458.53118 292.56305 2434.0418 + 110 18.012563 -20345.727 -19880.056 560.10663 288.16778 2560.064 + 120 17.92092 -19998.225 -19534.923 676.3247 286.70167 2752.7643 + 130 17.494577 -19524.549 -19072.269 808.35795 279.88096 3081.7784 + 140 17.122298 -18815.761 -18373.106 957.14076 273.92518 3209.6451 + 150 17.447826 -17981.659 -17530.588 1123.5613 279.13303 3627.9284 + 160 17.6202 -17066.393 -16610.866 1310.1872 281.8907 4230.0427 + 170 17.370561 -16269.055 -15819.981 1507.5411 277.89693 4602.925 + 180 17.444401 -15692.511 -15241.529 1720.5033 279.07824 5000.4081 + 190 17.587192 -15476.239 -15021.565 1938.8703 281.36263 5063.6159 + 200 18.000638 -15470.948 -15005.586 2164.2187 287.977 4707.0585 +Loop time of 35.3335 on 1 procs for 200 steps with 8674 atoms + +Performance: 0.039 ns/day, 613.428 hours/ns, 5.660 timesteps/s, 49.098 katom-step/s +99.5% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 27.094 | 27.094 | 27.094 | 0.0 | 76.68 +Bond | 0.1276 | 0.1276 | 0.1276 | 0.0 | 0.36 +Kspace | 2.3873 | 2.3873 | 2.3873 | 0.0 | 6.76 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.11312 | 0.11312 | 0.11312 | 0.0 | 0.32 +Output | 0.0020657 | 0.0020657 | 0.0020657 | 0.0 | 0.01 +Modify | 5.5507 | 5.5507 | 5.5507 | 0.0 | 15.71 +Other | | 0.05892 | | | 0.17 + +Nlocal: 8674 ave 8674 max 8674 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 27366 ave 27366 max 27366 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 4.48585e+06 ave 4.48585e+06 max 4.48585e+06 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 4485849 +Ave neighs/atom = 517.16036 +Ave special neighs/atom = 2.2573207 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:35 diff --git a/examples/PACKAGES/pimd/prot-hairpin/log.25Feb23.scp.g++.8.4 b/examples/PACKAGES/pimd/prot-hairpin/log.25Feb23.scp.g++.8.4 new file mode 100644 index 0000000000..997a4c1acd --- /dev/null +++ b/examples/PACKAGES/pimd/prot-hairpin/log.25Feb23.scp.g++.8.4 @@ -0,0 +1,146 @@ +LAMMPS (8 Feb 2023) +Processor partition = 4 +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +variable ibead uloop 8 pad + +units real +neigh_modify delay 2 every 1 + +atom_style full +bond_style harmonic +angle_style charmm +dihedral_style charmm +improper_style harmonic + +pair_style lj/charmm/coul/long 11 12 +pair_modify mix arithmetic +kspace_style pppm 1e-4 + +read_data system.data +Reading data file ... + orthogonal box = (-23.109 -22.733 -23.141) to (22.853 22.912 22.8) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 8674 atoms + reading velocities ... + 8674 velocities + scanning bonds ... + 4 = max bonds/atom + scanning angles ... + 6 = max angles/atom + scanning dihedrals ... + 18 = max dihedrals/atom + scanning impropers ... + 1 = max impropers/atom + reading bonds ... + 5869 bonds + reading angles ... + 3264 angles + reading dihedrals ... + 708 dihedrals + reading impropers ... + 38 impropers +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 4 = max # of 1-2 neighbors + 9 = max # of 1-3 neighbors + 17 = max # of 1-4 neighbors + 21 = max # of special neighbors + special bonds CPU = 0.004 seconds + read_data CPU = 0.138 seconds +#read_restart system_${ibead}.rest1 +special_bonds charmm + +fix 1 all pimd/nvt method nmpimd fmass 1.0 temp 300.0 nhc 4 sp 2.0 + +thermo 10 +thermo_style custom step temp pe etotal f_1[1] f_1[2] f_1[3] +thermo_modify colname f_1[1] espring colname f_1[2] T_ring colname f_1[3] virial +timestep 0.08 + +# restart 100 system_${ibead}.rest1 system_${ibead}.rest2 + +group prot id <= 256 +256 atoms in group prot +# dump 1 prot dcd 100 prot_${ibead}.dcd + +run 200 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) + G vector (1/distance) = 0.22071363 + grid = 20 20 20 + stencil order = 5 + estimated absolute RMS force accuracy = 0.024910591 + estimated relative force accuracy = 7.5017505e-05 + using double precision KISS FFT + 3d grid and FFT values/proc = 15625 8000 +Generated 231 of 231 mixed pair_coeff terms from arithmetic mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 2 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 7 7 7 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/charmm/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +WARNING: Inconsistent image flags (src/domain.cpp:815) +Per MPI rank memory allocation (min/avg/max) = 84.59 | 84.59 | 84.59 Mbytes + Step Temp PotEng TotEng espring T_ring virial + 0 306.20099 -26166.171 -18250.089 0 0 -676.31071 + 10 23.892095 -26119.899 -25502.227 4.2771563 382.22944 -813.96512 + 20 27.051103 -26287.602 -25588.262 15.607084 432.76775 -745.77933 + 30 27.042026 -26290.973 -25591.867 35.550734 432.62253 -326.69805 + 40 19.133546 -26173.654 -25679.002 70.11544 306.10144 -11.324153 + 50 19.302675 -25883.61 -25384.586 121.68648 308.8072 290.09295 + 60 20.704866 -25425.468 -24890.194 201.50535 331.23967 650.74045 + 70 18.95281 -24809.575 -24319.596 321.84847 303.21 967.87686 + 80 20.178541 -24115.258 -23593.591 491.86818 322.81943 1230.7506 + 90 18.755289 -23448.841 -22963.969 726.07287 300.05003 1426.7932 + 100 18.159265 -22868.418 -22398.954 1013.598 290.51475 1609.3405 + 110 17.922985 -22283.38 -21820.025 1355.5366 286.7347 1483.5981 + 120 17.617358 -21583.469 -21128.015 1747.6539 281.84524 1444.208 + 130 17.233206 -20748.165 -20302.643 2173.0115 275.6995 1597.8139 + 140 17.06066 -19726.034 -19284.972 2629.6918 272.9391 1704.3744 + 150 17.004216 -18648.306 -18208.703 3099.2098 272.0361 2025.6026 + 160 17.414218 -17588.638 -17138.435 3580.8838 278.59537 2747.2565 + 170 17.295959 -16669.449 -16222.304 4058.5589 276.70344 3432.2976 + 180 17.706054 -15991.367 -15533.62 4524.6837 283.26421 4008.5413 + 190 17.649786 -15623.329 -15167.037 4968.3076 282.36402 4251.4209 + 200 17.914982 -15484.434 -15021.286 5382.5961 286.60667 4187.5146 +Loop time of 35.3335 on 1 procs for 200 steps with 8674 atoms + +Performance: 0.039 ns/day, 613.428 hours/ns, 5.660 timesteps/s, 49.098 katom-step/s +98.1% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 27.644 | 27.644 | 27.644 | 0.0 | 78.24 +Bond | 0.1292 | 0.1292 | 0.1292 | 0.0 | 0.37 +Kspace | 2.4108 | 2.4108 | 2.4108 | 0.0 | 6.82 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.12913 | 0.12913 | 0.12913 | 0.0 | 0.37 +Output | 0.0021704 | 0.0021704 | 0.0021704 | 0.0 | 0.01 +Modify | 4.959 | 4.959 | 4.959 | 0.0 | 14.03 +Other | | 0.05951 | | | 0.17 + +Nlocal: 8674 ave 8674 max 8674 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 27366 ave 27366 max 27366 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 4.48585e+06 ave 4.48585e+06 max 4.48585e+06 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 4485849 +Ave neighs/atom = 517.16036 +Ave special neighs/atom = 2.2573207 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:35 diff --git a/examples/PACKAGES/pimd/prot-hairpin/log.25Feb23.scp.g++.8.5 b/examples/PACKAGES/pimd/prot-hairpin/log.25Feb23.scp.g++.8.5 new file mode 100644 index 0000000000..840f0e9011 --- /dev/null +++ b/examples/PACKAGES/pimd/prot-hairpin/log.25Feb23.scp.g++.8.5 @@ -0,0 +1,146 @@ +LAMMPS (8 Feb 2023) +Processor partition = 5 +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +variable ibead uloop 8 pad + +units real +neigh_modify delay 2 every 1 + +atom_style full +bond_style harmonic +angle_style charmm +dihedral_style charmm +improper_style harmonic + +pair_style lj/charmm/coul/long 11 12 +pair_modify mix arithmetic +kspace_style pppm 1e-4 + +read_data system.data +Reading data file ... + orthogonal box = (-23.109 -22.733 -23.141) to (22.853 22.912 22.8) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 8674 atoms + reading velocities ... + 8674 velocities + scanning bonds ... + 4 = max bonds/atom + scanning angles ... + 6 = max angles/atom + scanning dihedrals ... + 18 = max dihedrals/atom + scanning impropers ... + 1 = max impropers/atom + reading bonds ... + 5869 bonds + reading angles ... + 3264 angles + reading dihedrals ... + 708 dihedrals + reading impropers ... + 38 impropers +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 4 = max # of 1-2 neighbors + 9 = max # of 1-3 neighbors + 17 = max # of 1-4 neighbors + 21 = max # of special neighbors + special bonds CPU = 0.004 seconds + read_data CPU = 0.139 seconds +#read_restart system_${ibead}.rest1 +special_bonds charmm + +fix 1 all pimd/nvt method nmpimd fmass 1.0 temp 300.0 nhc 4 sp 2.0 + +thermo 10 +thermo_style custom step temp pe etotal f_1[1] f_1[2] f_1[3] +thermo_modify colname f_1[1] espring colname f_1[2] T_ring colname f_1[3] virial +timestep 0.08 + +# restart 100 system_${ibead}.rest1 system_${ibead}.rest2 + +group prot id <= 256 +256 atoms in group prot +# dump 1 prot dcd 100 prot_${ibead}.dcd + +run 200 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) + G vector (1/distance) = 0.22071363 + grid = 20 20 20 + stencil order = 5 + estimated absolute RMS force accuracy = 0.024910591 + estimated relative force accuracy = 7.5017505e-05 + using double precision KISS FFT + 3d grid and FFT values/proc = 15625 8000 +Generated 231 of 231 mixed pair_coeff terms from arithmetic mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 2 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 7 7 7 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/charmm/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +WARNING: Inconsistent image flags (src/domain.cpp:815) +Per MPI rank memory allocation (min/avg/max) = 84.59 | 84.59 | 84.59 Mbytes + Step Temp PotEng TotEng espring T_ring virial + 0 306.20099 -26166.171 -18250.089 0 0 -676.31071 + 10 14.020019 -26051.605 -25689.152 7.3596437 382.89455 -789.8534 + 20 15.752865 -25975.95 -25568.698 25.331469 430.21956 -594.00538 + 30 17.181375 -25873.108 -25428.926 57.426817 469.23297 -181.78718 + 40 11.772036 -25785.82 -25481.483 101.0172 321.50089 318.12089 + 50 11.907234 -25813.038 -25505.205 157.46734 325.19321 630.72419 + 60 12.407378 -25738.74 -25417.978 232.72881 338.85245 1042.2805 + 70 11.569463 -25485.646 -25186.546 331.59654 315.9685 1219.4474 + 80 12.423569 -25007.927 -24686.746 455.84829 339.29462 1585.4189 + 90 11.222078 -24360.128 -24070.009 610.51406 306.48124 1770.0165 + 100 10.746584 -23649.481 -23371.654 794.88729 293.49524 1751.0868 + 110 10.688659 -22906.499 -22630.17 1011.4935 291.91326 1164.4167 + 120 10.413653 -22131.25 -21862.03 1258.7802 284.40268 494.75639 + 130 10.207431 -21354.621 -21090.733 1532.012 278.77066 -85.33744 + 140 9.9484212 -20506.422 -20249.23 1833.2006 271.69695 -582.25635 + 150 9.8592991 -19641.288 -19386.399 2150.5002 269.26298 -860.97106 + 160 9.9476229 -18750.371 -18493.199 2484.32 271.67515 -781.67257 + 170 9.9050652 -17855.648 -17599.576 2822.3305 270.51287 -564.01235 + 180 9.9461836 -17049.565 -16792.431 3164.947 271.63584 -414.44888 + 190 9.9650455 -16346.398 -16088.776 3500.8641 272.15097 -250.509 + 200 10.114117 -15721.822 -15460.346 3824.3372 276.22219 -539.50977 +Loop time of 35.3336 on 1 procs for 200 steps with 8674 atoms + +Performance: 0.039 ns/day, 613.431 hours/ns, 5.660 timesteps/s, 49.098 katom-step/s +98.8% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 27.569 | 27.569 | 27.569 | 0.0 | 78.03 +Bond | 0.13166 | 0.13166 | 0.13166 | 0.0 | 0.37 +Kspace | 2.4398 | 2.4398 | 2.4398 | 0.0 | 6.91 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.12114 | 0.12114 | 0.12114 | 0.0 | 0.34 +Output | 0.0022707 | 0.0022707 | 0.0022707 | 0.0 | 0.01 +Modify | 5.0103 | 5.0103 | 5.0103 | 0.0 | 14.18 +Other | | 0.05914 | | | 0.17 + +Nlocal: 8674 ave 8674 max 8674 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 27366 ave 27366 max 27366 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 4.48585e+06 ave 4.48585e+06 max 4.48585e+06 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 4485849 +Ave neighs/atom = 517.16036 +Ave special neighs/atom = 2.2573207 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:35 diff --git a/examples/PACKAGES/pimd/prot-hairpin/log.25Feb23.scp.g++.8.6 b/examples/PACKAGES/pimd/prot-hairpin/log.25Feb23.scp.g++.8.6 new file mode 100644 index 0000000000..a98694339b --- /dev/null +++ b/examples/PACKAGES/pimd/prot-hairpin/log.25Feb23.scp.g++.8.6 @@ -0,0 +1,146 @@ +LAMMPS (8 Feb 2023) +Processor partition = 6 +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +variable ibead uloop 8 pad + +units real +neigh_modify delay 2 every 1 + +atom_style full +bond_style harmonic +angle_style charmm +dihedral_style charmm +improper_style harmonic + +pair_style lj/charmm/coul/long 11 12 +pair_modify mix arithmetic +kspace_style pppm 1e-4 + +read_data system.data +Reading data file ... + orthogonal box = (-23.109 -22.733 -23.141) to (22.853 22.912 22.8) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 8674 atoms + reading velocities ... + 8674 velocities + scanning bonds ... + 4 = max bonds/atom + scanning angles ... + 6 = max angles/atom + scanning dihedrals ... + 18 = max dihedrals/atom + scanning impropers ... + 1 = max impropers/atom + reading bonds ... + 5869 bonds + reading angles ... + 3264 angles + reading dihedrals ... + 708 dihedrals + reading impropers ... + 38 impropers +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 4 = max # of 1-2 neighbors + 9 = max # of 1-3 neighbors + 17 = max # of 1-4 neighbors + 21 = max # of special neighbors + special bonds CPU = 0.004 seconds + read_data CPU = 0.139 seconds +#read_restart system_${ibead}.rest1 +special_bonds charmm + +fix 1 all pimd/nvt method nmpimd fmass 1.0 temp 300.0 nhc 4 sp 2.0 + +thermo 10 +thermo_style custom step temp pe etotal f_1[1] f_1[2] f_1[3] +thermo_modify colname f_1[1] espring colname f_1[2] T_ring colname f_1[3] virial +timestep 0.08 + +# restart 100 system_${ibead}.rest1 system_${ibead}.rest2 + +group prot id <= 256 +256 atoms in group prot +# dump 1 prot dcd 100 prot_${ibead}.dcd + +run 200 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) + G vector (1/distance) = 0.22071363 + grid = 20 20 20 + stencil order = 5 + estimated absolute RMS force accuracy = 0.024910591 + estimated relative force accuracy = 7.5017505e-05 + using double precision KISS FFT + 3d grid and FFT values/proc = 15625 8000 +Generated 231 of 231 mixed pair_coeff terms from arithmetic mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 2 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 7 7 7 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/charmm/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +WARNING: Inconsistent image flags (src/domain.cpp:815) +Per MPI rank memory allocation (min/avg/max) = 84.59 | 84.59 | 84.59 Mbytes + Step Temp PotEng TotEng espring T_ring virial + 0 306.20099 -26166.171 -18250.089 0 0 -676.31071 + 10 14.02002 -25861.333 -25498.879 45.268744 382.8946 -722.47561 + 20 15.752886 -25289.441 -24882.188 135.42322 430.22014 -482.48877 + 30 17.181691 -24659.071 -24214.881 316.76011 469.24159 115.80651 + 40 11.76983 -24165.345 -23861.065 544.21259 321.44065 710.32531 + 50 11.904289 -24034.29 -23726.534 812.12301 325.1128 1057.7309 + 60 12.409559 -23964.986 -23644.167 1115.614 338.91201 1490.6948 + 70 11.53241 -23718.204 -23420.061 1442.0767 314.95657 1654.3805 + 80 12.377693 -23123.366 -22803.371 1794.1167 338.04173 2019.537 + 90 11.21341 -22129.26 -21839.365 2172.5974 306.24451 2037.5349 + 100 10.778526 -20922.126 -20643.474 2553.3173 294.36759 1922.6067 + 110 10.656113 -19666.579 -19391.091 2944.1884 291.02442 1115.4533 + 120 10.374573 -18508.305 -18240.096 3331.7564 283.3354 401.15223 + 130 10.057534 -17613.953 -17353.939 3714.254 274.67688 -248.49945 + 140 9.7972276 -16953.726 -16700.443 4076.4386 267.56777 -841.79062 + 150 9.8266474 -16502.516 -16248.472 4422.7241 268.37124 -1155.8854 + 160 9.9655308 -16127.142 -15869.507 4748.4514 272.16422 -1094.1994 + 170 9.9292831 -15818.923 -15562.225 5045.9331 271.17428 -884.00102 + 180 10.157102 -15473.205 -15210.618 5313.5511 277.39613 -553.25499 + 190 10.068063 -15095.751 -14835.466 5545.0144 274.96443 -237.36247 + 200 10.155151 -14754.017 -14491.48 5742.1288 277.34285 -332.89648 +Loop time of 35.3338 on 1 procs for 200 steps with 8674 atoms + +Performance: 0.039 ns/day, 613.434 hours/ns, 5.660 timesteps/s, 49.098 katom-step/s +97.5% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 27.875 | 27.875 | 27.875 | 0.0 | 78.89 +Bond | 0.12707 | 0.12707 | 0.12707 | 0.0 | 0.36 +Kspace | 2.4348 | 2.4348 | 2.4348 | 0.0 | 6.89 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.11906 | 0.11906 | 0.11906 | 0.0 | 0.34 +Output | 0.0021503 | 0.0021503 | 0.0021503 | 0.0 | 0.01 +Modify | 4.7164 | 4.7164 | 4.7164 | 0.0 | 13.35 +Other | | 0.05955 | | | 0.17 + +Nlocal: 8674 ave 8674 max 8674 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 27366 ave 27366 max 27366 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 4.48585e+06 ave 4.48585e+06 max 4.48585e+06 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 4485849 +Ave neighs/atom = 517.16036 +Ave special neighs/atom = 2.2573207 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:35 diff --git a/examples/PACKAGES/pimd/prot-hairpin/log.25Feb23.scp.g++.8.7 b/examples/PACKAGES/pimd/prot-hairpin/log.25Feb23.scp.g++.8.7 new file mode 100644 index 0000000000..55f561c6ec --- /dev/null +++ b/examples/PACKAGES/pimd/prot-hairpin/log.25Feb23.scp.g++.8.7 @@ -0,0 +1,146 @@ +LAMMPS (8 Feb 2023) +Processor partition = 7 +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +variable ibead uloop 8 pad + +units real +neigh_modify delay 2 every 1 + +atom_style full +bond_style harmonic +angle_style charmm +dihedral_style charmm +improper_style harmonic + +pair_style lj/charmm/coul/long 11 12 +pair_modify mix arithmetic +kspace_style pppm 1e-4 + +read_data system.data +Reading data file ... + orthogonal box = (-23.109 -22.733 -23.141) to (22.853 22.912 22.8) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 8674 atoms + reading velocities ... + 8674 velocities + scanning bonds ... + 4 = max bonds/atom + scanning angles ... + 6 = max angles/atom + scanning dihedrals ... + 18 = max dihedrals/atom + scanning impropers ... + 1 = max impropers/atom + reading bonds ... + 5869 bonds + reading angles ... + 3264 angles + reading dihedrals ... + 708 dihedrals + reading impropers ... + 38 impropers +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 4 = max # of 1-2 neighbors + 9 = max # of 1-3 neighbors + 17 = max # of 1-4 neighbors + 21 = max # of special neighbors + special bonds CPU = 0.004 seconds + read_data CPU = 0.138 seconds +#read_restart system_${ibead}.rest1 +special_bonds charmm + +fix 1 all pimd/nvt method nmpimd fmass 1.0 temp 300.0 nhc 4 sp 2.0 + +thermo 10 +thermo_style custom step temp pe etotal f_1[1] f_1[2] f_1[3] +thermo_modify colname f_1[1] espring colname f_1[2] T_ring colname f_1[3] virial +timestep 0.08 + +# restart 100 system_${ibead}.rest1 system_${ibead}.rest2 + +group prot id <= 256 +256 atoms in group prot +# dump 1 prot dcd 100 prot_${ibead}.dcd + +run 200 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) + G vector (1/distance) = 0.22071363 + grid = 20 20 20 + stencil order = 5 + estimated absolute RMS force accuracy = 0.024910591 + estimated relative force accuracy = 7.5017505e-05 + using double precision KISS FFT + 3d grid and FFT values/proc = 15625 8000 +Generated 231 of 231 mixed pair_coeff terms from arithmetic mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 2 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 7 7 7 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/charmm/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +WARNING: Inconsistent image flags (src/domain.cpp:815) +Per MPI rank memory allocation (min/avg/max) = 84.59 | 84.59 | 84.59 Mbytes + Step Temp PotEng TotEng espring T_ring virial + 0 306.20099 -26166.171 -18250.089 0 0 -676.31071 + 10 11.858328 -24949.912 -24643.343 11.21746 379.42274 -589.42772 + 20 13.313433 -22332.782 -21988.595 25.891404 425.98075 -189.42618 + 30 14.492332 -18605.094 -18230.43 60.87232 463.70115 853.22726 + 40 10.100576 -15158.156 -14897.03 103.87947 323.18115 1870.5664 + 50 10.437976 -12976.762 -12706.913 161.50852 333.97672 2649.3283 + 60 10.544993 -11868.561 -11595.946 225.58416 337.40089 3264.9267 + 70 9.756396 -11851.23 -11599.002 303.66274 312.16868 3549.9084 + 80 10.642372 -12316.225 -12041.092 392.92619 340.51663 3853.3301 + 90 9.3834726 -12853.33 -12610.744 501.5373 300.2365 3943.7218 + 100 8.9858656 -13254.517 -13022.21 619.67563 287.51455 3852.5038 + 110 8.9674385 -13407.55 -13175.719 752.87088 286.92495 3047.0516 + 120 8.7200626 -13430.184 -13204.748 897.34682 279.00983 2614.6547 + 130 8.4404226 -13413.462 -13195.256 1051.1979 270.06239 2361.7563 + 140 8.1867868 -13405.663 -13194.013 1215.2723 261.94697 2042.4666 + 150 8.26024 -13427.11 -13213.561 1389.0864 264.29721 2179.5219 + 160 8.2139102 -13403.956 -13191.605 1573.9454 262.81482 2489.6486 + 170 8.2258918 -13367.291 -13154.631 1768.2198 263.19819 2793.6911 + 180 8.4548603 -13245.62 -13027.04 1968.4468 270.52434 3070.2942 + 190 8.4589955 -12920.954 -12702.268 2174.1321 270.65665 3360.4993 + 200 8.537811 -12448.973 -12228.248 2382.746 273.17846 3370.2077 +Loop time of 35.3334 on 1 procs for 200 steps with 8674 atoms + +Performance: 0.039 ns/day, 613.428 hours/ns, 5.660 timesteps/s, 49.098 katom-step/s +99.1% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 27.709 | 27.709 | 27.709 | 0.0 | 78.42 +Bond | 0.13165 | 0.13165 | 0.13165 | 0.0 | 0.37 +Kspace | 2.4416 | 2.4416 | 2.4416 | 0.0 | 6.91 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.12826 | 0.12826 | 0.12826 | 0.0 | 0.36 +Output | 0.002116 | 0.002116 | 0.002116 | 0.0 | 0.01 +Modify | 4.863 | 4.863 | 4.863 | 0.0 | 13.76 +Other | | 0.05754 | | | 0.16 + +Nlocal: 8674 ave 8674 max 8674 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 27366 ave 27366 max 27366 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 4.48585e+06 ave 4.48585e+06 max 4.48585e+06 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 4485849 +Ave neighs/atom = 517.16036 +Ave special neighs/atom = 2.2573207 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:35 From 0b5acdca51fe8f1de48914ee0a6fd6831ff49fe4 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 26 Feb 2023 13:47:11 -0500 Subject: [PATCH 167/448] convert hard error about invalid atom masses from EAM potentials to warning --- src/atom.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/atom.cpp b/src/atom.cpp index 32285758c0..610ac809fe 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -1914,11 +1914,15 @@ void Atom::set_mass(const char *file, int line, const char *str, int type_offset void Atom::set_mass(const char *file, int line, int itype, double value) { - if (mass == nullptr) error->all(file,line, "Cannot set mass for atom style {}", atom_style); + if (mass == nullptr) + error->all(file,line, "Cannot set per-type mass for atom style {}", atom_style); if (itype < 1 || itype > ntypes) error->all(file,line,"Invalid type {} for atom mass {}", itype, value); - if (value <= 0.0) error->all(file,line,"Invalid atom mass value {}", value); - + if (value <= 0.0) { + if (comm->me == 0) + error->warning(file,line,"Ignoring invalid mass value {} for atom type {}", value, itype); + return; + } mass[itype] = value; mass_setflag[itype] = 1; } From 8368b78f23d25ba6643684c8fd8d11aea0501bc0 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 26 Feb 2023 13:52:31 -0500 Subject: [PATCH 168/448] document the change in mass handling --- doc/src/pair_eam.rst | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/doc/src/pair_eam.rst b/doc/src/pair_eam.rst index 27347b77f0..654f49c166 100644 --- a/doc/src/pair_eam.rst +++ b/doc/src/pair_eam.rst @@ -116,11 +116,12 @@ are parameterized in terms of LAMMPS :doc:`metal units `. .. note:: - Note that unlike for other potentials, cutoffs for EAM - potentials are not set in the pair_style or pair_coeff command; they - are specified in the EAM potential files themselves. Likewise, the - EAM potential files list atomic masses; thus you do not need to use - the :doc:`mass ` command to specify them. + Note that unlike for other potentials, cutoffs for EAM potentials are not + set in the pair_style or pair_coeff command; they are specified in the EAM + potential files themselves. Likewise, valid EAM potential files usually + contain atomic masses; thus you may not need to use the :doc:`mass ` + command to specify them, unless the potential file uses a dummy value (e.g. + 0.0). LAMMPS will print a warning, if this is the case. There are web sites that distribute and document EAM potentials stored in DYNAMO or other formats: From c8f3f4b173f696025b25f7bb327061ed6744ef49 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 27 Feb 2023 01:58:36 -0500 Subject: [PATCH 169/448] add born/gauss pair style (for modeling liquid mercury) --- doc/src/Commands_pair.rst | 1 + doc/src/pair_born_gauss.rst | 101 +++++ doc/src/pair_style.rst | 1 + doc/utils/sphinx-config/false_positives.txt | 2 + src/.gitignore | 2 + src/EXTRA-PAIR/pair_born_gauss.cpp | 368 ++++++++++++++++++ src/EXTRA-PAIR/pair_born_gauss.h | 56 +++ .../tests/atomic-pair-born_gauss.yaml | 91 +++++ 8 files changed, 622 insertions(+) create mode 100644 doc/src/pair_born_gauss.rst create mode 100644 src/EXTRA-PAIR/pair_born_gauss.cpp create mode 100644 src/EXTRA-PAIR/pair_born_gauss.h create mode 100644 unittest/force-styles/tests/atomic-pair-born_gauss.yaml diff --git a/doc/src/Commands_pair.rst b/doc/src/Commands_pair.rst index 0912ddcc41..e659a429f0 100644 --- a/doc/src/Commands_pair.rst +++ b/doc/src/Commands_pair.rst @@ -55,6 +55,7 @@ OPT. * :doc:`born/coul/msm (o) ` * :doc:`born/coul/wolf (go) ` * :doc:`born/coul/wolf/cs (g) ` + * :doc:`born/gauss ` * :doc:`bpm/spring ` * :doc:`brownian (o) ` * :doc:`brownian/poly (o) ` diff --git a/doc/src/pair_born_gauss.rst b/doc/src/pair_born_gauss.rst new file mode 100644 index 0000000000..924e3723d3 --- /dev/null +++ b/doc/src/pair_born_gauss.rst @@ -0,0 +1,101 @@ +.. index:: pair_style born/gauss + +pair_style born/gauss command +============================= + +Syntax +"""""" + +.. code-block:: LAMMPS + + pair_style born/gauss cutoff + +* born/gauss = name of the pair style +* cutoff = global cutoff (distance units) + +Examples +"""""""" + +.. code-block:: LAMMPS + + pair_style born/gauss 10.0 + pair_coeff 1 1 1 1 8.2464e13 12.48 0.042644277 0.44 3.56 + +Description +""""""""""" + +Pair style *born/gauss* computes pairwise interactions from a combination of a Born-Mayer +repulsive term and a Gaussian attractive term according to :ref:`(Bomont) `: + +.. math:: + + E = A_0 \exp \left( -\alpha r \right) - A_1 \exp\left[ -\beta \left(r - r_0 \right)^2 \right] + \qquad r < r_c + +:math:`r_c` is the cutoff. + +The following coefficients must be defined for each pair of atoms +types via the :doc:`pair_coeff ` command as in the examples +above, or in the data file or restart files read by the +:doc:`read_data ` or :doc:`read_restart ` +commands: + +* :math:`A_0` (energy units) +* :math:`\alpha` (1/distance units) +* :math:`A_1` (energy units) +* :math:`\beta` (1/(distance units)^2) +* :math:`r_0` (distance units) +* cutoff (distance units) + +The last coefficient is optional. If not specified, the global cutoff is used. + +---------- + +Mixing, shift, table, tail correction, restart, rRESPA info +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +This pair style does not support mixing. Thus, coefficients for all I,J +pairs must be specified explicitly. + +This pair style supports the :doc:`pair_modify ` shift +option for the energy of the pair interaction. + +The :doc:`pair_modify ` table options are not relevant for +this pair style. + +This pair style does not support the :doc:`pair_modify ` +tail option for adding long-range tail corrections to energy and +pressure. + +This pair style writes its information to :doc:`binary restart files +`, so pair_style and pair_coeff commands do not need to be +specified in an input script that reads a restart file. + +This pair style can only be used via the *pair* keyword of the +:doc:`run_style respa ` command. It does not support the +*inner*, *middle*, *outer* keywords. + +---------- + +Restrictions +"""""""""""" + +This pair style is only enabled if LAMMPS was built with the EXTRA-PAIR +package. See the :doc:`Build package ` page for more +info. + +Related commands +"""""""""""""""" + +:doc:`pair_coeff `, :doc:`pair_style born ` + +Default +""""""" + +none + +-------------- + +.. _Bomont: + +**(Bomont)** Bomont, Bretonnet, J. Chem. Phys. 124, 054504 (2006) diff --git a/doc/src/pair_style.rst b/doc/src/pair_style.rst index b3f7276480..a1c1dee33e 100644 --- a/doc/src/pair_style.rst +++ b/doc/src/pair_style.rst @@ -132,6 +132,7 @@ accelerated styles exist. * :doc:`born/coul/msm ` - Born with long-range MSM Coulomb * :doc:`born/coul/wolf ` - Born with Wolf potential for Coulomb * :doc:`born/coul/wolf/cs ` - Born with Wolf potential for Coulomb and core/shell model +* :doc:`born/gauss ` - Born-Mayer / Gaussian potential * :doc:`bpm/spring ` - repulsive harmonic force with damping * :doc:`brownian ` - Brownian potential for Fast Lubrication Dynamics * :doc:`brownian/poly ` - Brownian potential for Fast Lubrication Dynamics with polydispersity diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index fdacbf9c4c..d19a72ca02 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -317,6 +317,7 @@ Bogaerts Bogusz Bohrs boltz +Bomont BondAngle BondBond bondchk @@ -355,6 +356,7 @@ br Branduardi Branicio brennan +Bretonnet Briels Brien Brilliantov diff --git a/src/.gitignore b/src/.gitignore index 8f0f577a45..ebe2b82f0e 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -1581,6 +1581,8 @@ /pair_coul_long_cs.h /pair_coul_wolf_cs.cpp /pair_coul_wolf_cs.h +/pair_born_gauss.cpp +/pair_born_gauss.h /pair_extep.cpp /pair_extep.h /pair_lj_cut_thole_long.cpp diff --git a/src/EXTRA-PAIR/pair_born_gauss.cpp b/src/EXTRA-PAIR/pair_born_gauss.cpp new file mode 100644 index 0000000000..aa4aa4e4bc --- /dev/null +++ b/src/EXTRA-PAIR/pair_born_gauss.cpp @@ -0,0 +1,368 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +// Contributing author: Axel Kohlmeyer, Temple University, akohlmey@gmail.com + +#include "pair_born_gauss.h" + +#include "atom.h" +#include "comm.h" +#include "error.h" +#include "fix.h" +#include "force.h" +#include "memory.h" +#include "modify.h" +#include "neigh_list.h" + +#include +#include + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +PairBornGauss::PairBornGauss(LAMMPS *lmp) : Pair(lmp) +{ + single_enable = 1; + respa_enable = 0; + writedata = 1; +} + +/* ---------------------------------------------------------------------- */ + +PairBornGauss::~PairBornGauss() +{ + if (allocated) { + memory->destroy(setflag); + memory->destroy(cutsq); + memory->destroy(cut); + memory->destroy(biga0); + memory->destroy(alpha); + memory->destroy(biga1); + memory->destroy(beta); + memory->destroy(r0); + memory->destroy(offset); + } +} + +/* ---------------------------------------------------------------------- */ + +void PairBornGauss::compute(int eflag, int vflag) +{ + int i, j, ii, jj, inum, jnum, itype, jtype; + double xtmp, ytmp, ztmp, delx, dely, delz, evdwl, fpair; + double rsq, r, dr, aexp, bexp, factor_lj; + int *ilist, *jlist, *numneigh, **firstneigh; + + evdwl = 0.0; + ev_init(eflag, vflag); + + double **x = atom->x; + double **f = atom->f; + int *type = atom->type; + int nlocal = atom->nlocal; + double *special_lj = force->special_lj; + int newton_pair = force->newton_pair; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // loop over neighbors of my atoms + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + itype = type[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + factor_lj = special_lj[sbmask(j)]; + j &= NEIGHMASK; + + delx = xtmp - x[j][0]; + 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]) { + r = sqrt(rsq); + dr = r - r0[itype][jtype]; + aexp = biga0[itype][jtype] * exp(-alpha[itype][jtype] * r); + bexp = biga1[itype][jtype] * exp(-beta[itype][jtype] * dr * dr); + fpair = alpha[itype][jtype] * aexp; + fpair -= 2.0 * beta[itype][jtype] * dr * bexp; + fpair *= factor_lj / r; + + 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 (eflag) evdwl = factor_lj * (aexp - bexp - offset[itype][jtype]); + if (evflag) ev_tally(i, j, nlocal, newton_pair, evdwl, 0.0, fpair, delx, dely, delz); + } + } + } + + if (vflag_fdotr) virial_fdotr_compute(); +} + +/* ---------------------------------------------------------------------- + allocate all arrays +------------------------------------------------------------------------- */ + +void PairBornGauss::allocate() +{ + allocated = 1; + int np1 = atom->ntypes + 1; + + memory->create(setflag, np1, np1, "pair:setflag"); + for (int i = 1; i < np1; i++) + for (int j = i; j < np1; j++) setflag[i][j] = 0; + + memory->create(cutsq, np1, np1, "pair:cutsq"); + memory->create(cut, np1, np1, "pair:cut"); + memory->create(biga0, np1, np1, "pair:biga0"); + memory->create(alpha, np1, np1, "pair:alpha"); + memory->create(biga1, np1, np1, "pair:biga1"); + memory->create(beta, np1, np1, "pair:beta"); + memory->create(r0, np1, np1, "pair:r0"); + memory->create(offset, np1, np1, "pair:offset"); +} + +/* ---------------------------------------------------------------------- + global settings +------------------------------------------------------------------------- */ + +void PairBornGauss::settings(int narg, char **arg) +{ + if (narg != 1) error->all(FLERR, "Pair style bond/gauss must have exactly one argument"); + cut_global = utils::numeric(FLERR, arg[0], false, lmp); + + // reset per-type pair cutoffs that have been explicitly set previously + + if (allocated) { + for (int i = 1; i <= atom->ntypes; i++) + for (int j = i; j <= atom->ntypes; j++) + if (setflag[i][j]) cut[i][j] = cut_global; + } +} + +/* ---------------------------------------------------------------------- + set coeffs for one or more type pairs +------------------------------------------------------------------------- */ + +void PairBornGauss::coeff(int narg, char **arg) +{ + if (narg < 7 || narg > 8) error->all(FLERR, "Incorrect args for pair coefficients"); + if (!allocated) allocate(); + + int ilo, ihi, jlo, jhi; + utils::bounds(FLERR, arg[0], 1, atom->ntypes, ilo, ihi, error); + utils::bounds(FLERR, arg[1], 1, atom->ntypes, jlo, jhi, error); + + double biga0_one = utils::numeric(FLERR, arg[2], false, lmp); + double alpha_one = utils::numeric(FLERR, arg[3], false, lmp); + double biga1_one = utils::numeric(FLERR, arg[4], false, lmp); + double beta_one = utils::numeric(FLERR, arg[5], false, lmp); + double r0_one = utils::numeric(FLERR, arg[6], false, lmp); + double cut_one = cut_global; + if (narg == 10) cut_one = utils::numeric(FLERR, arg[7], false, lmp); + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + for (int j = MAX(jlo, i); j <= jhi; j++) { + biga0[i][j] = biga0_one; + alpha[i][j] = alpha_one; + biga1[i][j] = biga1_one; + beta[i][j] = beta_one; + r0[i][j] = r0_one; + cut[i][j] = cut_one; + setflag[i][j] = 1; + count++; + } + } + + if (count == 0) error->all(FLERR, "Incorrect args for pair coefficients"); +} + +/* ---------------------------------------------------------------------- + init for one type pair i,j and corresponding j,i +------------------------------------------------------------------------- */ + +double PairBornGauss::init_one(int i, int j) +{ + if (setflag[i][j] == 0) error->all(FLERR, "All pair coeffs are not set"); + + if (offset_flag) { + double dr = cut[i][j] - r0[i][j]; + offset[i][j] = + biga0[i][j] * exp(-alpha[i][j] * cut[i][j]) - biga1[i][j] * exp(-beta[i][j] * dr * dr); + } else + offset[i][j] = 0.0; + + biga0[j][i] = biga0[i][j]; + alpha[j][i] = alpha[i][j]; + biga1[j][i] = biga1[i][j]; + beta[j][i] = beta[i][j]; + r0[j][i] = r0[i][j]; + offset[j][i] = offset[i][j]; + + return cut[i][j]; +} + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairBornGauss::write_restart(FILE *fp) +{ + write_restart_settings(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(&biga0[i][j], sizeof(double), 1, fp); + fwrite(&alpha[i][j], sizeof(double), 1, fp); + fwrite(&biga1[i][j], sizeof(double), 1, fp); + fwrite(&beta[i][j], sizeof(double), 1, fp); + fwrite(&r0[i][j], sizeof(double), 1, fp); + fwrite(&cut[i][j], sizeof(double), 1, fp); + } + } + } +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairBornGauss::read_restart(FILE *fp) +{ + read_restart_settings(fp); + + allocate(); + + int i, j; + int me = comm->me; + for (i = 1; i <= atom->ntypes; i++) { + for (j = i; j <= atom->ntypes; j++) { + if (me == 0) utils::sfread(FLERR, &setflag[i][j], sizeof(int), 1, fp, nullptr, error); + MPI_Bcast(&setflag[i][j], 1, MPI_INT, 0, world); + if (setflag[i][j]) { + if (me == 0) { + utils::sfread(FLERR, &biga0[i][j], sizeof(double), 1, fp, nullptr, error); + utils::sfread(FLERR, &alpha[i][j], sizeof(double), 1, fp, nullptr, error); + utils::sfread(FLERR, &biga1[i][j], sizeof(double), 1, fp, nullptr, error); + utils::sfread(FLERR, &beta[i][j], sizeof(double), 1, fp, nullptr, error); + utils::sfread(FLERR, &r0[i][j], sizeof(double), 1, fp, nullptr, error); + utils::sfread(FLERR, &cut[i][j], sizeof(double), 1, fp, nullptr, error); + } + MPI_Bcast(&biga0[i][j], 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&alpha[i][j], 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&biga1[i][j], 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&beta[i][j], 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&r0[i][j], 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&cut[i][j], 1, MPI_DOUBLE, 0, world); + } + } + } +} + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairBornGauss::write_restart_settings(FILE *fp) +{ + fwrite(&cut_global, sizeof(double), 1, fp); + fwrite(&offset_flag, sizeof(int), 1, fp); + fwrite(&mix_flag, sizeof(int), 1, fp); +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairBornGauss::read_restart_settings(FILE *fp) +{ + if (comm->me == 0) { + utils::sfread(FLERR, &cut_global, sizeof(double), 1, fp, nullptr, error); + utils::sfread(FLERR, &offset_flag, sizeof(int), 1, fp, nullptr, error); + utils::sfread(FLERR, &mix_flag, sizeof(int), 1, fp, nullptr, error); + } + MPI_Bcast(&cut_global, 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&offset_flag, 1, MPI_INT, 0, world); + MPI_Bcast(&mix_flag, 1, MPI_INT, 0, world); +} + +/* ---------------------------------------------------------------------- + proc 0 writes to data file +------------------------------------------------------------------------- */ + +void PairBornGauss::write_data(FILE *fp) +{ + for (int i = 1; i <= atom->ntypes; i++) + fprintf(fp, "%d %g %g %g %g %g\n", i, biga0[i][i], alpha[i][i], biga1[i][i], beta[i][i], + r0[i][i]); +} + +/* ---------------------------------------------------------------------- + proc 0 writes all pairs to data file +------------------------------------------------------------------------- */ + +void PairBornGauss::write_data_all(FILE *fp) +{ + for (int i = 1; i <= atom->ntypes; i++) + for (int j = i; j <= atom->ntypes; j++) + fprintf(fp, "%d %d %g %g %g %g %g %g\n", i, j, biga0[i][j], alpha[i][j], biga1[i][j], + beta[i][j], r0[i][j], cut[i][j]); +} + +/* ---------------------------------------------------------------------- */ + +double PairBornGauss::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, + double /*factor_coul*/, double factor_lj, double &fforce) +{ + double r, dr, aexp, bexp; + + r = sqrt(rsq); + dr = r - r0[itype][jtype]; + aexp = biga0[itype][jtype] * exp(-alpha[itype][jtype] * r); + bexp = biga1[itype][jtype] * exp(-beta[itype][jtype] * dr * dr); + + fforce = factor_lj * (alpha[itype][jtype] * aexp - 2.0 * dr * beta[itype][jtype] * bexp) / r; + return factor_lj * (aexp - bexp - offset[itype][jtype]); +} + +/* ---------------------------------------------------------------------- */ + +void *PairBornGauss::extract(const char *str, int &dim) +{ + dim = 2; + if (strcmp(str, "biga1") == 0) return (void *) biga1; + return nullptr; +} diff --git a/src/EXTRA-PAIR/pair_born_gauss.h b/src/EXTRA-PAIR/pair_born_gauss.h new file mode 100644 index 0000000000..c4938c602c --- /dev/null +++ b/src/EXTRA-PAIR/pair_born_gauss.h @@ -0,0 +1,56 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS +// clang-format off +PairStyle(born/gauss,PairBornGauss); +// clang-format on +#else +#ifndef LMP_PAIR_BORN_GAUSS_H +#define LMP_PAIR_BORN_GAUSS_H + +#include "pair.h" + +namespace LAMMPS_NS { + +class PairBornGauss : public Pair { + public: + PairBornGauss(class LAMMPS *); + ~PairBornGauss() override; + + void compute(int, int) override; + void settings(int, char **) override; + void coeff(int, char **) override; + double init_one(int, int) override; + + void write_restart(FILE *) override; + void read_restart(FILE *) override; + void write_restart_settings(FILE *) override; + void read_restart_settings(FILE *) override; + void write_data(FILE *) override; + void write_data_all(FILE *) override; + + double single(int, int, int, int, double, double, double, double &) override; + void *extract(const char *, int &) override; + + protected: + double cut_global, temperature; + double **cut; + double **biga0, **alpha, **biga1, **beta, **r0; + double **offset; + + virtual void allocate(); +}; +} // namespace LAMMPS_NS +#endif +#endif diff --git a/unittest/force-styles/tests/atomic-pair-born_gauss.yaml b/unittest/force-styles/tests/atomic-pair-born_gauss.yaml new file mode 100644 index 0000000000..ed68b5fee6 --- /dev/null +++ b/unittest/force-styles/tests/atomic-pair-born_gauss.yaml @@ -0,0 +1,91 @@ +--- +lammps_version: 8 Feb 2023 +date_generated: Mon Feb 27 01:38:23 2023 +epsilon: 5e-13 +skip_tests: +prerequisites: ! | + pair born/gauss +pre_commands: ! "" +post_commands: ! "" +input_file: in.metal +pair_style: born/gauss 8.0 +pair_coeff: ! | + * * 8.2464e13 12.48 0.042644277 0.44 3.56 +extract: ! | + biga1 2 +natoms: 32 +init_vdwl: 2834.5490463003366 +init_coul: 0 +init_stress: ! |2- + 2.9581312144076113e+04 2.9693917928342627e+04 2.1230205503621619e+04 6.8694513983136321e+03 3.2583917063807257e+02 -2.7715902566060877e+03 +init_forces: ! |2 + 1 -4.3164606296324172e+02 6.5480781953623023e+02 1.4905515235541330e+02 + 2 -4.1422810824136491e+01 -3.3605409540968361e+02 2.0560130777829761e+02 + 3 -5.2408942486977878e+02 2.3461440283635229e+03 -7.0302063313394422e+02 + 4 4.7613931652205395e+01 -6.9959566343455805e+01 -1.3243967500317169e+02 + 5 1.5390586094640901e+03 1.8515055083359414e+03 -2.3071835914740268e+02 + 6 3.1948432675661815e+02 1.0044218769531641e+01 -2.3083718481985952e+02 + 7 -8.0947670708093358e+02 9.2698607149997747e+02 -1.1192448717700886e+02 + 8 -4.8498460073698521e+02 -2.7611642103550236e+02 5.6285222238573999e+02 + 9 1.4219474461174036e+02 -1.9332494260025064e+02 -1.4311910301006813e+02 + 10 -9.5110178572119446e+02 -2.5244667799128565e+03 -9.2384322993325168e+02 + 11 -1.3801533642684780e+02 -1.9764089780567573e+02 2.0513971297769402e+02 + 12 6.8585323990316090e+02 -9.4293304382611620e+02 -5.8672178146649401e+01 + 13 -2.0524375107187669e+02 2.3160908078470268e+01 -2.5649019129806373e+02 + 14 4.0826025040887771e+02 -1.7067613023366710e+02 6.8879456973427693e+02 + 15 -1.3405608287723544e+02 1.4987513129238278e+02 -1.0040151628792879e+02 + 16 8.0441089852549169e+02 -6.9182528803484161e+02 3.3426282720490309e+02 + 17 4.2370905163194232e+02 1.0877150412710450e+03 -2.5832746848963035e+02 + 18 -2.1893433874541652e+03 -1.0573908098667598e+03 -7.5318109486196124e+02 + 19 -2.3934847154991535e+03 -1.7765120452703998e+03 2.5438249979382127e+02 + 20 9.0252425928953457e+01 7.2551244436014443e+01 -2.0002247440002751e+02 + 21 1.6939176743874168e+03 8.8256894163344305e+02 -1.2068201711166930e+01 + 22 6.7580360421816437e+01 -2.8333441627681884e+02 -1.1244935625525707e+02 + 23 1.2603162187797973e+03 1.9433859762197385e+03 -5.8878626051640629e+02 + 24 2.3967684626514820e+03 1.7018416659731513e+03 9.3430694818993686e+02 + 25 3.8880290352912141e+02 -1.6932433329162905e+02 -3.6096037189257169e+02 + 26 -9.1951162087875207e+02 -2.2838953952198067e+03 1.6596576867736371e+03 + 27 5.6523082642437305e+02 -3.2240073537292136e+02 -5.1443614585149170e+01 + 28 -1.8921223391070350e+02 5.3375926289440679e+02 6.4361140879465256e+02 + 29 1.2944567881886094e+03 1.4882289220971879e+03 -4.4958876718694356e+01 + 30 -1.4565033287756211e+02 -2.0914750202664516e+02 -8.4800143602660160e+02 + 31 -2.4306924735338455e+01 -9.6122639884001751e+02 6.0724259995178943e+02 + 32 -2.5463649353377896e+03 -1.2063459390339947e+03 -1.2324122252534723e+02 +run_vdwl: 2063.9145436334206 +run_coul: 0 +run_stress: ! |2- + 2.1683461709369843e+04 2.1433392131426102e+04 1.6921039408772242e+04 2.8809792750729903e+03 -3.7014818902634914e+01 -1.6830446625344953e+03 +run_forces: ! |2 + 1 -2.2371560164261300e+02 5.2225827313903517e+02 2.2242862155698660e+02 + 2 -3.8834863146023636e+01 -3.3124235197127319e+02 1.9505378474560490e+02 + 3 -2.7963645045955366e+02 1.2639921226062220e+03 -3.4160788989659557e+02 + 4 2.1218435919055533e+01 -4.8621168970274091e+01 -1.4047272439528939e+02 + 5 7.3610716277636448e+02 1.1031000922840046e+03 -4.8678905100200943e+01 + 6 2.6145619599412476e+02 5.5843078763940362e+01 -1.3576963446336896e+02 + 7 -5.4789229795240817e+02 6.7706426767571020e+02 -9.4626040047266088e+01 + 8 -4.2542823448233924e+02 -2.4236280774702485e+02 4.7264950914430557e+02 + 9 1.3777419210521066e+02 -2.1060772399381824e+02 -1.4635276103663179e+02 + 10 -2.7139290924876423e+02 -1.4660608897941709e+03 -6.6020553864000885e+02 + 11 -1.2529265218363855e+02 -2.2122734318109283e+02 2.1821350620086363e+02 + 12 4.5417089278282822e+02 -6.4762017603015852e+02 -4.3511560797099797e+01 + 13 -1.9506586445546449e+02 5.7825467160198656e+00 -2.2805973526026597e+02 + 14 3.4837081200134759e+02 -1.8855436582000817e+01 4.4497777942049584e+02 + 15 -1.3095174591947139e+02 1.3192988636921342e+02 -1.0474467343319671e+02 + 16 5.3268009300252629e+02 -5.0992348699920791e+02 2.5031120994103000e+02 + 17 3.4018968108248947e+02 9.0588197077486291e+02 -2.4097205303037185e+02 + 18 -1.2468707242958280e+03 -5.4756089859044755e+02 -4.3821051760982527e+02 + 19 -1.2447320752658277e+03 -7.9265718089898007e+02 1.6894409346227781e+02 + 20 9.9146245114335585e+01 8.0731111635666451e+01 -2.0389104382806079e+02 + 21 1.0796276908312552e+03 4.6240435465823140e+02 3.9861078987372188e+01 + 22 9.2476278828700572e+01 -2.7105068538663710e+02 -1.3921800831226994e+02 + 23 4.6469277779653913e+02 9.9440969600901997e+02 -6.2742644329860480e+02 + 24 1.0956544544434910e+03 7.8011473034132621e+02 5.8580171525680328e+02 + 25 3.4565440589266547e+02 -1.0212115311999258e+02 -2.8626214033933434e+02 + 26 -5.1327787115540798e+02 -1.1609068937686736e+03 9.3043758010490785e+02 + 27 4.6658479821279968e+02 -2.6159239911979989e+02 -6.8416414063607121e+01 + 28 -1.6412612588384360e+02 4.4983066049970012e+02 5.5238904835309359e+02 + 29 6.7329002379998735e+02 8.5652561891409334e+02 -1.6714867169785734e+01 + 30 -1.7036415952980252e+02 -1.8718507424406371e+02 -5.9635893781978120e+02 + 31 -6.5723608470952982e+01 -7.5703448517084928e+02 5.1377885941030968e+02 + 32 -1.5057889564917850e+03 -5.1323825481858034e+02 -3.3346898042487247e+01 +... From 93b42f14e9e1605746caec7e48e84643377c6c01 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 27 Feb 2023 01:58:59 -0500 Subject: [PATCH 170/448] start document describing the implementation of a pair style --- doc/src/Build_development.rst | 2 + doc/src/Developer_write.rst | 249 +------------------------ doc/src/Developer_write_fix.rst | 246 ++++++++++++++++++++++++ doc/src/Developer_write_pair.rst | 308 +++++++++++++++++++++++++++++++ 4 files changed, 560 insertions(+), 245 deletions(-) create mode 100644 doc/src/Developer_write_fix.rst create mode 100644 doc/src/Developer_write_pair.rst diff --git a/doc/src/Build_development.rst b/doc/src/Build_development.rst index 416b49c685..c75c7a6a41 100644 --- a/doc/src/Build_development.rst +++ b/doc/src/Build_development.rst @@ -523,6 +523,8 @@ The following options are available. These should help to make source and documentation files conforming to some the coding style preferences of the LAMMPS developers. +.. _clang-format: + Clang-format support -------------------- diff --git a/doc/src/Developer_write.rst b/doc/src/Developer_write.rst index c374ec2e77..ef4d06a5f6 100644 --- a/doc/src/Developer_write.rst +++ b/doc/src/Developer_write.rst @@ -6,250 +6,9 @@ be extended by writing new classes that derive from existing parent classes in LAMMPS. Here, some specific coding details are provided for writing code for LAMMPS. -Writing a new fix style -^^^^^^^^^^^^^^^^^^^^^^^ -Writing fixes is a flexible way of extending LAMMPS. Users can -implement many things using fixes: - -- changing particles attributes (positions, velocities, forces, etc.). Examples: FixNVE, FixFreeze. -- reading/writing data. Example: FixRestart. -- adding or modifying properties due to geometry. Example: FixWall. -- interacting with other subsystems or external code: Examples: FixTTM, FixExternal, FixLATTE -- saving information for analysis or future use (previous positions, - for instance). Examples: Fix AveTime, FixStoreState. - - -All fixes are derived from the Fix base class and must have a -constructor with the signature: ``FixPrintVel(class LAMMPS *, int, char **)``. - -Every fix must be registered in LAMMPS by writing the following lines -of code in the header before include guards: - -.. code-block:: c++ - - #ifdef FIX_CLASS - // clang-format off - FixStyle(print/vel,FixPrintVel); - // clang-format on - #else - /* the definition of the FixPrintVel class comes here */ - ... - #endif - -Where ``print/vel`` is the style name of your fix in the input script and -``FixPrintVel`` is the name of the class. The header file would be called -``fix_print_vel.h`` and the implementation file ``fix_print_vel.cpp``. -These conventions allow LAMMPS to automatically integrate it into the -executable when compiling and associate your new fix class with the designated -keyword when it parses the input script. - -Let's write a simple fix which will print the average velocity at the end -of each timestep. First of all, implement a constructor: - -.. code-block:: c++ - - FixPrintVel::FixPrintVel(LAMMPS *lmp, int narg, char **arg) - : Fix(lmp, narg, arg) - { - if (narg < 4) - error->all(FLERR,"Illegal fix print/vel command"); - - nevery = utils::inumeric(FLERR,arg[3],false,lmp); - if (nevery <= 0) - error->all(FLERR,"Illegal fix print/vel command"); - } - -In the constructor you should parse your fix arguments which are -specified in the script. All fixes have pretty much the same syntax: -``fix ``. The -first 3 parameters are parsed by Fix base class constructor, while -```` should be parsed by you. In our case, we need to -specify how often we want to print an average velocity. For instance, -once in 50 timesteps: ``fix 1 print/vel 50``. There is a special variable -in the Fix class called ``nevery`` which specifies how often the method -``end_of_step()`` is called. Thus all we need to do is just set it up. - -The next method we need to implement is ``setmask()``: - -.. code-block:: c++ - - int FixPrintVel::setmask() - { - int mask = 0; - mask |= FixConst::END_OF_STEP; - return mask; - } - -Here the user specifies which methods of your fix should be called -during execution. The constant ``END_OF_STEP`` corresponds to the -``end_of_step()`` method. The most important available methods that -are called during a timestep and the order in which they are called -are shown in the previous section. - -.. code-block:: c++ - - void FixPrintVel::end_of_step() - { - // for add3, scale3 - using namespace MathExtra; - - double** v = atom->v; - int nlocal = atom->nlocal; - double localAvgVel[4]; // 4th element for particles count - memset(localAvgVel, 0, 4 * sizeof(double)); - for (int particleInd = 0; particleInd < nlocal; ++particleInd) { - add3(localAvgVel, v[particleInd], localAvgVel); - } - localAvgVel[3] = nlocal; - double globalAvgVel[4]; - memset(globalAvgVel, 0, 4 * sizeof(double)); - MPI_Allreduce(localAvgVel, globalAvgVel, 4, MPI_DOUBLE, MPI_SUM, world); - scale3(1.0 / globalAvgVel[3], globalAvgVel); - if ((comm->me == 0) && screen) { - fmt::print(screen,"{}, {}, {}\n", - globalAvgVel[0], globalAvgVel[1], globalAvgVel[2]); - } - } - -In the code above, we use MathExtra routines defined in -``math_extra.h``. There are bunch of math functions to work with -arrays of doubles as with math vectors. It is also important to note -that LAMMPS code should always assume to be run in parallel and that -atom data is thus distributed across the MPI ranks. Thus you can -only process data from local atoms directly and need to use MPI library -calls to combine or exchange data. For serial execution, LAMMPS -comes bundled with the MPI STUBS library that contains the MPI library -function calls in dummy versions that only work for a single MPI rank. - -In this code we use an instance of Atom class. This object is stored -in the Pointers class (see ``pointers.h``) which is the base class of -the Fix base class. This object contains references to various class -instances (the original instances are created and held by the LAMMPS -class) with all global information about the simulation system. -Data from the Pointers class is available to all classes inherited from -it using protected inheritance. Hence when you write you own class, -which is going to use LAMMPS data, don't forget to inherit from Pointers -or pass an Pointer to it to all functions that need access. When writing -fixes we inherit from class Fix which is inherited from Pointers so -there is no need to inherit from it directly. - -The code above computes average velocity for all particles in the -simulation. Yet you have one unused parameter in fix call from the -script: ``group_name``. This parameter specifies the group of atoms -used in the fix. So we should compute average for all particles in the -simulation only if ``group_name == "all"``, but it can be any group. -The group membership information of an atom is contained in the *mask* -property of and atom and the bit corresponding to a given group is -stored in the groupbit variable which is defined in Fix base class: - -.. code-block:: c++ - - for (int i = 0; i < nlocal; ++i) { - if (atom->mask[i] & groupbit) { - // Do all job here - } - } - -Class Atom encapsulates atoms positions, velocities, forces, etc. User -can access them using particle index. Note, that particle indexes are -usually changed every few timesteps because of neighbor list rebuilds -and spatial sorting (to improve cache efficiency). - -Let us consider another Fix example: We want to have a fix which stores -atoms position from previous time step in your fix. The local atoms -indexes may not be valid on the next iteration. In order to handle -this situation there are several methods which should be implemented: - -- ``double memory_usage()``: return how much memory the fix uses (optional) -- ``void grow_arrays(int)``: do reallocation of the per particle arrays in your fix -- ``void copy_arrays(int i, int j, int delflag)``: copy i-th per-particle - information to j-th. Used when atom sorting is performed. if delflag is set - and atom j owns a body, move the body information to atom i. -- ``void set_arrays(int i)``: sets i-th particle related information to zero - -Note, that if your class implements these methods, it must call add calls of -add_callback and delete_callback to constructor and destructor. Since we want -to store positions of atoms from previous timestep, we need to add -``double** xold`` to the header file. Than add allocation code -to the constructor: - -.. code-block:: c++ - - FixSavePos::FixSavePos(LAMMPS *lmp, int narg, char **arg), xold(nullptr) - { - //... - memory->create(xold, atom->nmax, 3, "FixSavePos:x"); - atom->add_callback(0); - } - - FixSavePos::~FixSavePos() { - atom->delete_callback(id, 0); - memory->destroy(xold); - } - -Implement the aforementioned methods: - -.. code-block:: c++ - - double FixSavePos::memory_usage() - { - int nmax = atom->nmax; - double bytes = 0.0; - bytes += nmax * 3 * sizeof(double); - return bytes; - } - - void FixSavePos::grow_arrays(int nmax) - { - memory->grow(xold, nmax, 3, "FixSavePos:xold"); - } - - void FixSavePos::copy_arrays(int i, int j, int delflag) - { - memcpy(xold[j], xold[i], sizeof(double) * 3); - } - - void FixSavePos::set_arrays(int i) - { - memset(xold[i], 0, sizeof(double) * 3); - } - - int FixSavePos::pack_exchange(int i, double *buf) - { - int m = 0; - buf[m++] = xold[i][0]; - buf[m++] = xold[i][1]; - buf[m++] = xold[i][2]; - - return m; - } - - int FixSavePos::unpack_exchange(int nlocal, double *buf) - { - int m = 0; - xold[nlocal][0] = buf[m++]; - xold[nlocal][1] = buf[m++]; - xold[nlocal][2] = buf[m++]; - - return m; - } - -Now, a little bit about memory allocation. We use the Memory class which -is just a bunch of template functions for allocating 1D and 2D -arrays. So you need to add include ``memory.h`` to have access to them. - -Finally, if you need to write/read some global information used in -your fix to the restart file, you might do it by setting flag -``restart_global = 1`` in the constructor and implementing methods void -``write_restart(FILE *fp)`` and ``void restart(char *buf)``. -If, in addition, you want to write the per-atom property to restart -files additional settings and functions are needed: - -- a fix flag indicating this needs to be set ``restart_peratom = 1;`` -- ``atom->add_callback()`` and ``atom->delete_callback()`` must be called - a second time with the final argument set to 1 instead of 0 (indicating - restart processing instead of per-atom data memory management). -- the functions ``void pack_restart(int i, double *buf)`` and - ``void unpack_restart(int nlocal, int nth)`` need to be implemented +.. toctree:: + :maxdepth: 1 + Developer_write_pair + Developer_write_fix diff --git a/doc/src/Developer_write_fix.rst b/doc/src/Developer_write_fix.rst new file mode 100644 index 0000000000..c065d557de --- /dev/null +++ b/doc/src/Developer_write_fix.rst @@ -0,0 +1,246 @@ +Writing a new fix style +^^^^^^^^^^^^^^^^^^^^^^^ + +Writing fixes is a flexible way of extending LAMMPS. Users can +implement many things using fixes: + +- changing particles attributes (positions, velocities, forces, etc.). Examples: FixNVE, FixFreeze. +- reading/writing data. Example: FixRestart. +- adding or modifying properties due to geometry. Example: FixWall. +- interacting with other subsystems or external code: Examples: FixTTM, FixExternal, FixLATTE +- saving information for analysis or future use (previous positions, + for instance). Examples: Fix AveTime, FixStoreState. + +All fixes are derived from the Fix base class and must have a +constructor with the signature: ``FixPrintVel(class LAMMPS *, int, char **)``. + +Every fix must be registered in LAMMPS by writing the following lines +of code in the header before include guards: + +.. code-block:: c++ + + #ifdef FIX_CLASS + // clang-format off + FixStyle(print/vel,FixPrintVel); + // clang-format on + #else + /* the definition of the FixPrintVel class comes here */ + ... + #endif + +Where ``print/vel`` is the style name of your fix in the input script and +``FixPrintVel`` is the name of the class. The header file would be called +``fix_print_vel.h`` and the implementation file ``fix_print_vel.cpp``. +These conventions allow LAMMPS to automatically integrate it into the +executable when compiling and associate your new fix class with the designated +keyword when it parses the input script. + +Let's write a simple fix which will print the average velocity at the end +of each timestep. First of all, implement a constructor: + +.. code-block:: c++ + + FixPrintVel::FixPrintVel(LAMMPS *lmp, int narg, char **arg) + : Fix(lmp, narg, arg) + { + if (narg < 4) + error->all(FLERR,"Illegal fix print/vel command"); + + nevery = utils::inumeric(FLERR,arg[3],false,lmp); + if (nevery <= 0) + error->all(FLERR,"Illegal fix print/vel command"); + } + +In the constructor you should parse your fix arguments which are +specified in the script. All fixes have pretty much the same syntax: +``fix ``. The +first 3 parameters are parsed by Fix base class constructor, while +```` should be parsed by you. In our case, we need to +specify how often we want to print an average velocity. For instance, +once in 50 timesteps: ``fix 1 print/vel 50``. There is a special variable +in the Fix class called ``nevery`` which specifies how often the method +``end_of_step()`` is called. Thus all we need to do is just set it up. + +The next method we need to implement is ``setmask()``: + +.. code-block:: c++ + + int FixPrintVel::setmask() + { + int mask = 0; + mask |= FixConst::END_OF_STEP; + return mask; + } + +Here the user specifies which methods of your fix should be called +during execution. The constant ``END_OF_STEP`` corresponds to the +``end_of_step()`` method. The most important available methods that +are called during a timestep and the order in which they are called +are shown in the previous section. + +.. code-block:: c++ + + void FixPrintVel::end_of_step() + { + // for add3, scale3 + using namespace MathExtra; + + double** v = atom->v; + int nlocal = atom->nlocal; + double localAvgVel[4]; // 4th element for particles count + memset(localAvgVel, 0, 4 * sizeof(double)); + for (int particleInd = 0; particleInd < nlocal; ++particleInd) { + add3(localAvgVel, v[particleInd], localAvgVel); + } + localAvgVel[3] = nlocal; + double globalAvgVel[4]; + memset(globalAvgVel, 0, 4 * sizeof(double)); + MPI_Allreduce(localAvgVel, globalAvgVel, 4, MPI_DOUBLE, MPI_SUM, world); + scale3(1.0 / globalAvgVel[3], globalAvgVel); + if ((comm->me == 0) && screen) { + fmt::print(screen,"{}, {}, {}\n", + globalAvgVel[0], globalAvgVel[1], globalAvgVel[2]); + } + } + +In the code above, we use MathExtra routines defined in +``math_extra.h``. There are bunch of math functions to work with +arrays of doubles as with math vectors. It is also important to note +that LAMMPS code should always assume to be run in parallel and that +atom data is thus distributed across the MPI ranks. Thus you can +only process data from local atoms directly and need to use MPI library +calls to combine or exchange data. For serial execution, LAMMPS +comes bundled with the MPI STUBS library that contains the MPI library +function calls in dummy versions that only work for a single MPI rank. + +In this code we use an instance of Atom class. This object is stored +in the Pointers class (see ``pointers.h``) which is the base class of +the Fix base class. This object contains references to various class +instances (the original instances are created and held by the LAMMPS +class) with all global information about the simulation system. +Data from the Pointers class is available to all classes inherited from +it using protected inheritance. Hence when you write you own class, +which is going to use LAMMPS data, don't forget to inherit from Pointers +or pass an Pointer to it to all functions that need access. When writing +fixes we inherit from class Fix which is inherited from Pointers so +there is no need to inherit from it directly. + +The code above computes average velocity for all particles in the +simulation. Yet you have one unused parameter in fix call from the +script: ``group_name``. This parameter specifies the group of atoms +used in the fix. So we should compute average for all particles in the +simulation only if ``group_name == "all"``, but it can be any group. +The group membership information of an atom is contained in the *mask* +property of and atom and the bit corresponding to a given group is +stored in the groupbit variable which is defined in Fix base class: + +.. code-block:: c++ + + for (int i = 0; i < nlocal; ++i) { + if (atom->mask[i] & groupbit) { + // Do all job here + } + } + +Class Atom encapsulates atoms positions, velocities, forces, etc. User +can access them using particle index. Note, that particle indexes are +usually changed every few timesteps because of neighbor list rebuilds +and spatial sorting (to improve cache efficiency). + +Let us consider another Fix example: We want to have a fix which stores +atoms position from previous time step in your fix. The local atoms +indexes may not be valid on the next iteration. In order to handle +this situation there are several methods which should be implemented: + +- ``double memory_usage()``: return how much memory the fix uses (optional) +- ``void grow_arrays(int)``: do reallocation of the per particle arrays in your fix +- ``void copy_arrays(int i, int j, int delflag)``: copy i-th per-particle + information to j-th. Used when atom sorting is performed. if delflag is set + and atom j owns a body, move the body information to atom i. +- ``void set_arrays(int i)``: sets i-th particle related information to zero + +Note, that if your class implements these methods, it must call add calls of +add_callback and delete_callback to constructor and destructor. Since we want +to store positions of atoms from previous timestep, we need to add +``double** xold`` to the header file. Than add allocation code +to the constructor: + +.. code-block:: c++ + + FixSavePos::FixSavePos(LAMMPS *lmp, int narg, char **arg), xold(nullptr) + { + //... + memory->create(xold, atom->nmax, 3, "FixSavePos:x"); + atom->add_callback(0); + } + + FixSavePos::~FixSavePos() { + atom->delete_callback(id, 0); + memory->destroy(xold); + } + +Implement the aforementioned methods: + +.. code-block:: c++ + + double FixSavePos::memory_usage() + { + int nmax = atom->nmax; + double bytes = 0.0; + bytes += nmax * 3 * sizeof(double); + return bytes; + } + + void FixSavePos::grow_arrays(int nmax) + { + memory->grow(xold, nmax, 3, "FixSavePos:xold"); + } + + void FixSavePos::copy_arrays(int i, int j, int delflag) + { + memcpy(xold[j], xold[i], sizeof(double) * 3); + } + + void FixSavePos::set_arrays(int i) + { + memset(xold[i], 0, sizeof(double) * 3); + } + + int FixSavePos::pack_exchange(int i, double *buf) + { + int m = 0; + buf[m++] = xold[i][0]; + buf[m++] = xold[i][1]; + buf[m++] = xold[i][2]; + + return m; + } + + int FixSavePos::unpack_exchange(int nlocal, double *buf) + { + int m = 0; + xold[nlocal][0] = buf[m++]; + xold[nlocal][1] = buf[m++]; + xold[nlocal][2] = buf[m++]; + + return m; + } + +Now, a little bit about memory allocation. We use the Memory class which +is just a bunch of template functions for allocating 1D and 2D +arrays. So you need to add include ``memory.h`` to have access to them. + +Finally, if you need to write/read some global information used in +your fix to the restart file, you might do it by setting flag +``restart_global = 1`` in the constructor and implementing methods void +``write_restart(FILE *fp)`` and ``void restart(char *buf)``. +If, in addition, you want to write the per-atom property to restart +files additional settings and functions are needed: + +- a fix flag indicating this needs to be set ``restart_peratom = 1;`` +- ``atom->add_callback()`` and ``atom->delete_callback()`` must be called + a second time with the final argument set to 1 instead of 0 (indicating + restart processing instead of per-atom data memory management). +- the functions ``void pack_restart(int i, double *buf)`` and + ``void unpack_restart(int nlocal, int nth)`` need to be implemented + diff --git a/doc/src/Developer_write_pair.rst b/doc/src/Developer_write_pair.rst new file mode 100644 index 0000000000..9f333ae1b8 --- /dev/null +++ b/doc/src/Developer_write_pair.rst @@ -0,0 +1,308 @@ +Writing new pair styles +^^^^^^^^^^^^^^^^^^^^^^^ + +Pair styles are at the core of most simulations with LAMMPS since they +are used to compute the forces (plus energy and virial contributions, if +needed) on atoms for pairs of atoms within a given cutoff. This is +often the dominant computation in LAMMPS and sometimes even the only +one. Pair styles can be grouped in multiple categories: + +#. simple pairwise additive interactions of point particles + (e.g. :doc:`Lennard-Jones `, :doc:`Morse `, + :doc:`Buckingham `) +#. pairwise additive interactions of point particles with added + :doc:`Coulomb ` interactions +#. manybody interactions of point particles (e.g. :doc:`EAM `, + :doc:`Tersoff `) +#. complex interactions that include additional per-atom properties + (e.g. Discrete Element Models (DEM), Peridynamics, Ellipsoids, + Smoothed Particle Hydrodynamics (SPH)) + +In the text below we will discuss aspects of implementing pair styles in +LAMMPS by looking at representative case studies. The design of LAMMPS +allows to focus on the essentials, which is to compute the forces (and +energies or virial contributions), enter and manage the global settings +as well as the potential parameters, and the pair style specific parts +of reading and writing restart and data files. Most of the complex +tasks like management of the atom positions, domain decomposition and +boundaries, or neighbor list creation are handled transparently by other +parts of the LAMMPS code. + +As shown on the page for :doc:`writing or extending pair styles +` for the implementation of a pair style a new class must +be written that is either directly or indirectly derived from the +``Pair`` class. In that derived class there are three *required* +methods in addition to the constructor that must be implemented since +they are "pure" in the base class: ``Pair::compute()``, +``Pair::settings()``, ``Pair::coeff()``. All other methods are optional +and have default implementations in the base class (most of which do +nothing), but they may need to be overridden depending on the +requirements of the model. + +Case 1: a pairwise additive model +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +In this section we will describe the complete procedure of adding +a simple pair style to LAMMPS: an empirical model that can be used +to model liquid mercury. + +Model and general considerations +"""""""""""""""""""""""""""""""" + +The functional form of the model according to :ref:`(Bomont) ` +consists of a repulsive Born-Mayer exponential term and a temperature +dependent, attractive Gaussian term. + +.. math:: + + E = A_0 \exp \left( -\alpha r \right) - A_1 \exp\left[ -\beta \left(r - r_0 \right)^2 \right] + +For the application to mercury the following parameters are listed: + +- :math:`A_0 = 8.2464 \times 10^{13} \; \textrm{eV}` +- :math:`\alpha = 12.48 \; \AA^{-1}` +- :math:`\beta = 0.44 \; \AA^{-2}` +- :math:`r_0 = 3.56 \; \AA` +- :math:`A_1` is temperature dependent and can be determined from + :math:`A_1 = a_0 + a_1 T + a_2 T^2` with: + + - :math:`a_0 = 1.97475 \times 10^{-2} \; \textrm{eV}` + - :math:`a_1 = 8.40841 \times 10^{-5} \; \textrm{eV/K}` + - :math:`a_2 = -2.58717 \times 10^{-8} \; \textrm{eV/K}^{-2}` + +With the optional cutoff, this means we have a total of 5 or 6 +parameters for each pair of atom types. In addition we need to get the +temperature and a default cutoff value as global settings. + +Because of the combination of Born-Mayer with a Gaussian, the pair style +shall be named "born/gauss" and thus the class name would be +``PairBornGauss`` and the source files ``pair_born_gauss.h`` and +``pair_born_gauss.cpp``. Since this is a rather uncommon potential, it +shall be added to the :ref:`EXTRA-PAIR ` package. For +the implementation, we will use :doc:`pair style morse ` as +template. + +Header file +""""""""""" + +The first segment of any LAMMPS source should be the copyright and +license statement. Note the marker in the first line to indicate to +editors like emacs that this file is a C++ source, even though the .h +extension suggests a C source. + +.. code-block:: c++ + + /* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. + ------------------------------------------------------------------------- */ + +Every pair style must be registered in LAMMPS by writing the following +lines of code in the second part of the header before the include guards +for the class definition: + +.. code-block:: c++ + + #ifdef PAIR_CLASS + // clang-format off + PairStyle(born/gauss,PairBornGauss); + // clang-format on + #else + + /* the definition of the PairBornGauss class (see below) is inserted here */ + + #endif + +This second segment of the header file will be included by the ``Force`` +class in ``force.cpp`` to build a map of "factory functions" that will +create an instance of these classes and return a pointer to it. The map +connects the name of the pair style, "born/gauss", to the name of the +class, ``PairBornGauss``. The list of header files to include is +automatically updated by the build system, so the presence of the file +in the ``src/EXTRA-PAIR`` folder and the enabling of the EXTRA-PAIR +package will trigger that LAMMPS includes the new pair style when it is +(re-)compiled. The "// clang-format" format comments are needed so that +running :ref:`clang-format ` on the file will not insert +blanks between "born", "/", and "gauss" which would break the +``PairStyle`` macro. + +The third segment of the header is the actual class definition of the +``PairBornGauss`` class. This has the prototypes for all member +functions that will be implemented by this pair style. This includes a +number of optional functions. All functions that were labeled in the +base class as "virtual" must be given the "override" property as it is +done in the code shown below. This helps to detect unexpected +mismatches as compile errors in case the signature of a function is +changed in the base class. For example, if this change would add an +optional argument with a default value, then all existing source code +calling the function would not need changes and still compile, but the +function in the derived class would no longer override the one in the +base class due to the different number of arguments and the behavior of +the pair style is thus changed in an unintended way. Using "override" +prevents such issues. + +Also variables and arrays for storing global settings and potential +parameters are defined. Since those are internal to the class, they are +placed after a "protected:" label. + +.. code-block:: c++ + + #ifndef LMP_PAIR_BORN_GAUSS_H + #define LMP_PAIR_BORN_GAUSS_H + + #include "pair.h" + + namespace LAMMPS_NS { + + class PairBornGauss : public Pair { + public: + PairBornGauss(class LAMMPS *); + ~PairBornGauss() override; + + void compute(int, int) override; + void settings(int, char **) override; + void coeff(int, char **) override; + double init_one(int, int) override; + + void write_restart(FILE *) override; + void read_restart(FILE *) override; + void write_restart_settings(FILE *) override; + void read_restart_settings(FILE *) override; + void write_data(FILE *) override; + void write_data_all(FILE *) override; + + double single(int, int, int, int, double, double, double, double &) override; + void *extract(const char *, int &) override; + + protected: + double cut_global, temperature; + double **cut; + double **biga0, **alpha, **biga1, **beta, **r0; + double **a0, **a1, **a2; + double **offset; + + virtual void allocate(); + }; + } // namespace LAMMPS_NS + #endif + +Some details of the class definition will be discussed later. + +Implementation file +""""""""""""""""""" + +We move on to the implementation in the ``pair_born_gauss.cpp`` file. +This file also starts with the LAMMPS copyright and license header. +Below is typically the space where comments may be added with additional +information about this specific file, the author(s) and affiliation(s) +and email address(es) so the author can be easily contacted in case +there are questions about the implementation later. Since the file(s) +may be around for a long time, it is beneficial to use some kind of +"permanent" email address, if possible. + +.. code-block:: c++ + + /* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. + ------------------------------------------------------------------------- */ + + // Contributing author: Axel Kohlmeyer, Temple University, akohlmey@gmail.com + + #include "pair_born_gauss.h" + + #include "atom.h" + #include "comm.h" + #include "error.h" + #include "fix.h" + #include "force.h" + #include "memory.h" + #include "neigh_list.h" + + #include + #include + + using namespace LAMMPS_NS; + +The second section of the implementation file has various include +statements. The include file for the class header has to come first, +then LAMMPS classes (sorted alphabetically) and system headers and +others, if needed. Note the standardized C++ notation for headers of +C-library functions. The final statement of this segment imports the +``LAMMPS_NS::`` namespace globally for this file. This way, all LAMMPS +specific functions and classes do not have to be prefixed with +``LAMMPS_NS::``. + +Constructor and destructor (required) +""""""""""""""""""""""""""""""""""""" + +The first two functions in the implementation source file are typically +the constructor and the destructor. + +.. code-block:: c++ + + /* ---------------------------------------------------------------------- */ + + PairBornGauss::PairBornGauss(LAMMPS *lmp) : Pair(lmp), temp(nullptr) + { + single_enable = 1; + respa_enable = 0; + writedata = 1; + } + + /* ---------------------------------------------------------------------- */ + + PairBornGauss::~PairBornGauss() + { + } + +In the constructor you should parse your fix arguments which are +specified in the script. All fixes have pretty much the same syntax: +``fix ``. The +first 3 parameters are parsed by Fix base class constructor, while +```` should be parsed by you. In our case, we need to +specify how often we want to print an average velocity. For instance, +once in 50 timesteps: ``fix 1 print/vel 50``. There is a special variable +in the Fix class called ``nevery`` which specifies how often the method +``end_of_step()`` is called. Thus all we need to do is just set it up. + +Settings and coefficients (required) +"""""""""""""""""""""""""""""""""""" + +The next method we need to implement is ``setmask()``: + +.. code-block:: c++ + + int FixPrintVel::setmask() + { + int mask = 0; + mask |= FixConst::END_OF_STEP; + return mask; + } + +Computing forces from the neighbor list (required) +"""""""""""""""""""""""""""""""""""""""""""""""""" + +xxxxxadfasdf + +-------------- + +.. _Bomont2: + +**(Bomont)** Bomont, Bretonnet, J. Chem. Phys. 124, 054504 (2006) From 095f1d328e15993cff962163a1be5371ef5e5ae0 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 24 Feb 2023 12:05:14 -0500 Subject: [PATCH 171/448] make non-polymorph functions and all data members protected. --- src/REPLICA/fix_pimd_nvt.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/REPLICA/fix_pimd_nvt.h b/src/REPLICA/fix_pimd_nvt.h index 6f1321bbda..2cd1397562 100644 --- a/src/REPLICA/fix_pimd_nvt.h +++ b/src/REPLICA/fix_pimd_nvt.h @@ -52,6 +52,8 @@ class FixPIMDNVT : public Fix { int pack_forward_comm(int, int *, double *, int, int *) override; void unpack_forward_comm(int, int, double *) override; + protected: + int method; int np; double inverse_np; From 83f936f31b7570618d7ca47cc0c70934ebb39671 Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Mon, 27 Feb 2023 11:00:11 -0700 Subject: [PATCH 172/448] Update fix_alchemy.rst --- doc/src/fix_alchemy.rst | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/doc/src/fix_alchemy.rst b/doc/src/fix_alchemy.rst index 7a5ee71021..4f3acc62bc 100644 --- a/doc/src/fix_alchemy.rst +++ b/doc/src/fix_alchemy.rst @@ -81,15 +81,16 @@ This fix stores a global scalar (the current value of :math:`\lambda_p`) and a global vector or length 3 which contains the potential energy of the first partition, the second partition and the combined value, respectively. The global scalar is unitless and "intensive", the vector -is in :doc:`energy units ` and "extensive". This values can be +is in :doc:`energy units ` and "extensive". These values can be used by any command that uses a global value from a fix as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output options. The value of :math:`\lambda_p` is influenced by the *start/stop* keywords of the :doc:`run ` command. Without them it will be ramped -linearly from 1.0 to 0.0 or 0.0 to 1.0 during the steps of a run, with -*start/stop* keywords the ramp us from the *start* time step to the +linearly from 1.0 to 0.0 (partition 1) and 0.0 to 1.0 (partition 2) +during the steps of a run, with +*start/stop* keywords the ramp is from the *start* time step to the *stop* timestep. This allows to break down a simulation over multiple *run* commands or to continue transparently from a restart. From 446913f2f347083c4394bd613382dad883195784 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 27 Feb 2023 16:01:17 -0500 Subject: [PATCH 173/448] make ramp more flexible by defining lambda through a variable --- doc/src/fix_alchemy.rst | 45 +++++++++++-------- examples/PACKAGES/alchemy/in.alloy | 8 +++- examples/PACKAGES/alchemy/in.twowater | 8 +++- .../alchemy/log.25Feb23.alloy.g++.4.0 | 12 +++-- .../alchemy/log.25Feb23.alloy.g++.4.1 | 10 +++-- .../alchemy/log.25Feb23.twowater.g++.4.0 | 36 ++++++++------- .../alchemy/log.25Feb23.twowater.g++.4.1 | 36 ++++++++------- src/REPLICA/fix_alchemy.cpp | 38 ++++++++++------ src/REPLICA/fix_alchemy.h | 5 ++- 9 files changed, 122 insertions(+), 76 deletions(-) diff --git a/doc/src/fix_alchemy.rst b/doc/src/fix_alchemy.rst index 4f3acc62bc..2ff137917b 100644 --- a/doc/src/fix_alchemy.rst +++ b/doc/src/fix_alchemy.rst @@ -8,17 +8,18 @@ Syntax .. parsed-literal:: - fix ID group-ID alchemy + fix ID group-ID alchemy v_name * ID, group-ID are documented in :doc:`fix ` command * alchemy = style name of this fix command +* v_name = variable with name that determines the :math:`\lambda_p` value Examples """""""" .. code-block:: LAMMPS - fix trans all alchemy + fix trans all alchemy v_ramp Description """"""""""" @@ -30,14 +31,17 @@ simulation between two topologies (i.e. the same number and positions of atoms, but differences in atom parameters like type, charge, bonds, angles and so on). For this a :ref:`multi-partition run ` is required with exactly two partitions. During the MD run, the fix will -will determine a factor :math:`\lambda_p` that will be linearly ramped -*down* from 1.0 to 0.0 for the *first* partition (*p=0*) and ramped *up* -from 0.0 to 1.0 for the *second* partition (*p=1*). The forces used for -the propagation of the atoms will be the sum of the forces of the two -systems combined and scaled with their respective :math:`\lambda_p` -factor. This allows to perform transformations that are not easily -possible with :doc:`pair style hybrid/scaled `, :doc:`fix -adapt ` or :doc:`fix adapt/fep `. +will determine a factor, :math:`\lambda_p`, for each partition *p* that +will be taken from an equal style or equivalent :doc:`variable +`. Typically, this variable would be chose to linearly ramp +*down* from 1.0 to 0.0 for the *first* partition (*p=0*) and linearly +ramp *up* from 0.0 to 1.0 for the *second* partition (*p=1*). The +forces used for the propagation of the atoms will be the sum of the +forces of the two systems combined and scaled with their respective +:math:`\lambda_p` factor. This allows to perform transformations that +are not easily possible with :doc:`pair style hybrid/scaled +`, :doc:`fix adapt ` or :doc:`fix adapt/fep +`. Due to the specifics of the implementation, the initial geometry and dimensions of the system must be exactly the same and the fix will @@ -56,6 +60,8 @@ copper/aluminum bronze. .. code-block:: LAMMPS + variable name world pure alloy + create_box 2 box create_atoms 1 box pair_style eam/alloy @@ -66,6 +72,15 @@ copper/aluminum bronze. if "${name} == alloy" then & "set type 1 type/fraction 2 0.05 6745234" + # define ramp variable to combine the two different partitions + if "${name} == pure" then & + "variable ramp equal ramp(1.0,0.0)" & + else & + "variable ramp equal ramp(0.0,1.0)" + + fix 2 all alchemy v_ramp + + The ``examples/PACKAGES/alchemy`` folder contains complete example inputs for this command. @@ -78,7 +93,7 @@ No information about this fix is written to :doc:`binary restart files None of the :doc:`fix_modify ` options are relevant to this fix. This fix stores a global scalar (the current value of :math:`\lambda_p`) -and a global vector or length 3 which contains the potential energy of +and a global vector of length 3 which contains the potential energy of the first partition, the second partition and the combined value, respectively. The global scalar is unitless and "intensive", the vector is in :doc:`energy units ` and "extensive". These values can be @@ -86,14 +101,6 @@ used by any command that uses a global value from a fix as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output options. -The value of :math:`\lambda_p` is influenced by the *start/stop* keywords -of the :doc:`run ` command. Without them it will be ramped -linearly from 1.0 to 0.0 (partition 1) and 0.0 to 1.0 (partition 2) -during the steps of a run, with -*start/stop* keywords the ramp is from the *start* time step to the -*stop* timestep. This allows to break down a simulation over multiple -*run* commands or to continue transparently from a restart. - This fix is not invoked during :doc:`energy minimization `. Restrictions diff --git a/examples/PACKAGES/alchemy/in.alloy b/examples/PACKAGES/alchemy/in.alloy index f041157ee6..8cadcd7f39 100644 --- a/examples/PACKAGES/alchemy/in.alloy +++ b/examples/PACKAGES/alchemy/in.alloy @@ -19,9 +19,15 @@ pair_coeff * * AlCu.eam.alloy Cu Al if "${name} == alloy" then & "set type 1 type/fraction 2 0.05 6745234" +# define ramp variable to combine the two different partitions +if "${name} == pure" then & + "variable ramp equal ramp(1.0,0.0)" & +else & + "variable ramp equal ramp(0.0,1.0)" + velocity all create 5000.0 6567345 fix 1 all nvt temp 2500.0 500.0 0.002 -fix 2 all alchemy +fix 2 all alchemy v_ramp compute pressure all pressure/alchemy 2 diff --git a/examples/PACKAGES/alchemy/in.twowater b/examples/PACKAGES/alchemy/in.twowater index ae48436f5f..d39b0d9aaa 100644 --- a/examples/PACKAGES/alchemy/in.twowater +++ b/examples/PACKAGES/alchemy/in.twowater @@ -73,11 +73,17 @@ else & velocity all create 300.0 5463576 timestep 0.2 +# define ramp variable to combine the two different partitions +if "${name} == twowater" then & + "variable ramp equal ramp(1.0,0.0)" & +else & + "variable ramp equal ramp(0.0,1.0)" + # since the trajectory and forces are kept identical through fix alchemy, # we can do fix npt simulations, but we must use the "mixed" pressure fix integrate all npt temp 300 300 1.0 iso 1.0 1.0 10.0 -fix transform all alchemy +fix transform all alchemy v_ramp compute pressure all pressure/alchemy transform fix_modify integrate press pressure diff --git a/examples/PACKAGES/alchemy/log.25Feb23.alloy.g++.4.0 b/examples/PACKAGES/alchemy/log.25Feb23.alloy.g++.4.0 index 4b45cdedcf..c5538c3c3d 100644 --- a/examples/PACKAGES/alchemy/log.25Feb23.alloy.g++.4.0 +++ b/examples/PACKAGES/alchemy/log.25Feb23.alloy.g++.4.0 @@ -19,7 +19,7 @@ timestep 0.002 create_atoms 1 box Created 864 atoms using lattice units in orthogonal box = (0 0 0) to (22.5 22.5 22.5) - create_atoms CPU = 0.000 seconds + create_atoms CPU = 0.001 seconds displace_atoms all random 0.3 0.3 0.3 57845645 Displacing atoms ... pair_style eam/alloy @@ -29,9 +29,13 @@ Reading eam/alloy potential file AlCu.eam.alloy with DATE: 2008-10-01 # replace 5% of copper with aluminium on the second partition only if "${name} == alloy" then "set type 1 type/fraction 2 0.05 6745234" +# define ramp variable to combine the two different partitions +if "${name} == pure" then "variable ramp equal ramp(1.0,0.0)" else "variable ramp equal ramp(0.0,1.0)" +variable ramp equal ramp(1.0,0.0) + velocity all create 5000.0 6567345 fix 1 all nvt temp 2500.0 500.0 0.002 -fix 2 all alchemy +fix 2 all alchemy v_ramp compute pressure all pressure/alchemy 2 @@ -159,7 +163,7 @@ Per MPI rank memory allocation (min/avg/max) = 3.474 | 3.474 | 3.474 Mbytes 9800 520.37758 -31000.6 -2828.0252 8.0039334 -2886.0741 58.048903 0.02 -2918.4921 9900 506.49368 -32223.744 -2830.1705 8.0039334 -2886.6706 56.500132 0.01 -2920.4741 10000 507.13597 -33930.476 -2834.3236 8.0039334 -2890.8954 56.571781 0 -2924.5423 -Loop time of 19.2208 on 2 procs for 10000 steps with 864 atoms +Loop time of 17.7279 on 2 procs for 10000 steps with 864 atoms -Total wall time: 0:00:19 +Total wall time: 0:00:17 diff --git a/examples/PACKAGES/alchemy/log.25Feb23.alloy.g++.4.1 b/examples/PACKAGES/alchemy/log.25Feb23.alloy.g++.4.1 index 9f928692ed..b71fad8cab 100644 --- a/examples/PACKAGES/alchemy/log.25Feb23.alloy.g++.4.1 +++ b/examples/PACKAGES/alchemy/log.25Feb23.alloy.g++.4.1 @@ -32,9 +32,13 @@ set type 1 type/fraction 2 0.05 6745234 Setting atom values ... 37 settings made for type/fraction +# define ramp variable to combine the two different partitions +if "${name} == pure" then "variable ramp equal ramp(1.0,0.0)" else "variable ramp equal ramp(0.0,1.0)" +variable ramp equal ramp(0.0,1.0) + velocity all create 5000.0 6567345 fix 1 all nvt temp 2500.0 500.0 0.002 -fix 2 all alchemy +fix 2 all alchemy v_ramp compute pressure all pressure/alchemy 2 @@ -162,7 +166,7 @@ Per MPI rank memory allocation (min/avg/max) = 3.474 | 3.474 | 3.474 Mbytes 9800 524.81105 -31000.6 -2860.6103 7.8067107 -2919.1537 58.543462 0.98 -2918.4921 9900 507.60008 -32223.744 -2864.192 7.8067107 -2920.8155 56.623552 0.99 -2920.4741 10000 521.28866 -33930.476 -2866.3918 7.8067107 -2924.5423 58.150534 1 -2924.5423 -Loop time of 19.2208 on 2 procs for 10000 steps with 864 atoms +Loop time of 17.7277 on 2 procs for 10000 steps with 864 atoms -Total wall time: 0:00:19 +Total wall time: 0:00:17 diff --git a/examples/PACKAGES/alchemy/log.25Feb23.twowater.g++.4.0 b/examples/PACKAGES/alchemy/log.25Feb23.twowater.g++.4.0 index fc652dded7..49e6c6536d 100644 --- a/examples/PACKAGES/alchemy/log.25Feb23.twowater.g++.4.0 +++ b/examples/PACKAGES/alchemy/log.25Feb23.twowater.g++.4.0 @@ -1,9 +1,9 @@ LAMMPS (8 Feb 2023) Processor partition = 0 using 1 OpenMP thread(s) per MPI task -# Example for alchemical transformation of two water molecules into a hydronium and hydroxyl ion -# WARNING: This input is intended for demonstrating the method, only -# The force field parameters are made up and NOT suitable for production simulations. +# Example for an alchemical transformation of two water molecules into a hydronium and hydroxyl ion +# WARNING: This input is intended for demonstrating the method only, +# the force field parameters are mostly made up and NOT suitable for production simulations. # set up different names for two partitions variable name world twowater twoions @@ -59,7 +59,7 @@ group transform id 1:6 create_atoms 0 random 32 34564 NULL mol water 25367 overlap 1.33 Created 96 atoms using lattice units in orthogonal box = (-5 -5 -5) to (5 5 5) - create_atoms CPU = 0.001 seconds + create_atoms CPU = 0.000 seconds # change topology and settings for the two states # we cannot simply create a different topology directly or @@ -156,11 +156,15 @@ Finding 1-2 1-3 1-4 neighbors ... velocity all create 300.0 5463576 timestep 0.2 +# define ramp variable to combine the two different partitions +if "${name} == twowater" then "variable ramp equal ramp(1.0,0.0)" else "variable ramp equal ramp(0.0,1.0)" +variable ramp equal ramp(1.0,0.0) + # since the trajectory and forces are kept identical through fix alchemy, # we can do fix npt simulations, but we must use the "mixed" pressure fix integrate all npt temp 300 300 1.0 iso 1.0 1.0 10.0 -fix transform all alchemy +fix transform all alchemy v_ramp compute pressure all pressure/alchemy transform fix_modify integrate press pressure @@ -377,21 +381,21 @@ Per MPI rank memory allocation (min/avg/max) = 7.535 | 7.535 | 7.535 Mbytes 19800 295.68946 81474.342 2308.3249 1.0240743 2219.3041 89.020804 0.01 1910.5545 19900 306.4947 43488.052 2330.4958 1.0222707 2238.222 92.27385 0.005 1957.4368 20000 313.31679 -25133.284 -1161.6979 1.0163289 -1256.0256 94.327722 0 -1649.7551 -Loop time of 11.7903 on 2 procs for 20000 steps with 102 atoms +Loop time of 8.92653 on 2 procs for 20000 steps with 102 atoms -Performance: 29.312 ns/day, 0.819 hours/ns, 1696.311 timesteps/s, 173.024 katom-step/s -99.3% CPU use with 2 MPI tasks x 1 OpenMP threads +Performance: 38.716 ns/day, 0.620 hours/ns, 2240.513 timesteps/s, 228.532 katom-step/s +96.3% CPU use with 2 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 6.8605 | 8.6071 | 10.354 | 59.5 | 73.00 -Bond | 0.044148 | 0.044761 | 0.045375 | 0.3 | 0.38 -Neigh | 0.10568 | 0.10573 | 0.10578 | 0.0 | 0.90 -Comm | 0.74919 | 2.4939 | 4.2386 | 110.5 | 21.15 -Output | 0.0033838 | 0.0036358 | 0.0038879 | 0.4 | 0.03 -Modify | 0.46825 | 0.47526 | 0.48227 | 1.0 | 4.03 -Other | | 0.05993 | | | 0.51 +Pair | 4.7448 | 5.9908 | 7.2367 | 50.9 | 67.11 +Bond | 0.036126 | 0.03641 | 0.036695 | 0.1 | 0.41 +Neigh | 0.082247 | 0.082294 | 0.082342 | 0.0 | 0.92 +Comm | 0.68467 | 1.9303 | 3.1759 | 89.7 | 21.62 +Output | 0.0023377 | 0.0052347 | 0.0081317 | 4.0 | 0.06 +Modify | 0.8194 | 0.82122 | 0.82303 | 0.2 | 9.20 +Other | | 0.06029 | | | 0.68 Nlocal: 51 ave 51 max 51 min Histogram: 2 0 0 0 0 0 0 0 0 0 @@ -405,4 +409,4 @@ Ave neighs/atom = 359.21569 Ave special neighs/atom = 2 Neighbor list builds = 181 Dangerous builds = 0 -Total wall time: 0:00:11 +Total wall time: 0:00:08 diff --git a/examples/PACKAGES/alchemy/log.25Feb23.twowater.g++.4.1 b/examples/PACKAGES/alchemy/log.25Feb23.twowater.g++.4.1 index e1d32eb1c7..a76489ebb3 100644 --- a/examples/PACKAGES/alchemy/log.25Feb23.twowater.g++.4.1 +++ b/examples/PACKAGES/alchemy/log.25Feb23.twowater.g++.4.1 @@ -1,9 +1,9 @@ LAMMPS (8 Feb 2023) Processor partition = 1 using 1 OpenMP thread(s) per MPI task -# Example for alchemical transformation of two water molecules into a hydronium and hydroxyl ion -# WARNING: This input is intended for demonstrating the method, only -# The force field parameters are made up and NOT suitable for production simulations. +# Example for an alchemical transformation of two water molecules into a hydronium and hydroxyl ion +# WARNING: This input is intended for demonstrating the method only, +# the force field parameters are mostly made up and NOT suitable for production simulations. # set up different names for two partitions variable name world twowater twoions @@ -106,7 +106,7 @@ Finding 1-2 1-3 1-4 neighbors ... 1 = max # of 1-3 neighbors 1 = max # of 1-4 neighbors 7 = max # of special neighbors - special bonds CPU = 0.000 seconds + special bonds CPU = 0.002 seconds create_bonds single/bond 2 3 4 Finding 1-2 1-3 1-4 neighbors ... special bond factors lj: 0 0 0 @@ -180,11 +180,15 @@ Setting atom values ... velocity all create 300.0 5463576 timestep 0.2 +# define ramp variable to combine the two different partitions +if "${name} == twowater" then "variable ramp equal ramp(1.0,0.0)" else "variable ramp equal ramp(0.0,1.0)" +variable ramp equal ramp(0.0,1.0) + # since the trajectory and forces are kept identical through fix alchemy, # we can do fix npt simulations, but we must use the "mixed" pressure fix integrate all npt temp 300 300 1.0 iso 1.0 1.0 10.0 -fix transform all alchemy +fix transform all alchemy v_ramp compute pressure all pressure/alchemy transform fix_modify integrate press pressure @@ -402,21 +406,21 @@ Per MPI rank memory allocation (min/avg/max) = 7.535 | 7.535 | 7.535 Mbytes 19800 295.68946 81474.342 1996.4567 1.0240743 1907.4359 89.020804 0.99 1910.5545 19900 306.4947 43488.052 2048.2997 1.0222707 1956.0258 92.27385 0.995 1957.4368 20000 313.31679 -25133.284 -1555.4274 1.0163289 -1649.7551 94.327722 1 -1649.7551 -Loop time of 11.7903 on 2 procs for 20000 steps with 102 atoms +Loop time of 8.92592 on 2 procs for 20000 steps with 102 atoms -Performance: 29.312 ns/day, 0.819 hours/ns, 1696.310 timesteps/s, 173.024 katom-step/s -99.3% CPU use with 2 MPI tasks x 1 OpenMP threads +Performance: 38.719 ns/day, 0.620 hours/ns, 2240.664 timesteps/s, 228.548 katom-step/s +96.2% CPU use with 2 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 6.8748 | 8.631 | 10.387 | 59.8 | 73.20 -Bond | 0.04667 | 0.047105 | 0.04754 | 0.2 | 0.40 -Neigh | 0.10858 | 0.10862 | 0.10866 | 0.0 | 0.92 -Comm | 0.74367 | 2.4997 | 4.2558 | 111.1 | 21.20 -Output | 0.0034405 | 0.0037033 | 0.003966 | 0.4 | 0.03 -Modify | 0.4338 | 0.4388 | 0.4438 | 0.8 | 3.72 -Other | | 0.06136 | | | 0.52 +Pair | 4.7753 | 6.0676 | 7.3599 | 52.5 | 67.98 +Bond | 0.036352 | 0.036909 | 0.037466 | 0.3 | 0.41 +Neigh | 0.085317 | 0.085383 | 0.085449 | 0.0 | 0.96 +Comm | 0.72794 | 2.022 | 3.3161 | 91.0 | 22.65 +Output | 0.0023255 | 0.005156 | 0.0079865 | 3.9 | 0.06 +Modify | 0.64567 | 0.64689 | 0.64812 | 0.2 | 7.25 +Other | | 0.06196 | | | 0.69 Nlocal: 51 ave 51 max 51 min Histogram: 2 0 0 0 0 0 0 0 0 0 @@ -430,4 +434,4 @@ Ave neighs/atom = 359.20588 Ave special neighs/atom = 2.0196078 Neighbor list builds = 181 Dangerous builds = 0 -Total wall time: 0:00:11 +Total wall time: 0:00:08 diff --git a/src/REPLICA/fix_alchemy.cpp b/src/REPLICA/fix_alchemy.cpp index 18e55603b9..2f99f667b6 100644 --- a/src/REPLICA/fix_alchemy.cpp +++ b/src/REPLICA/fix_alchemy.cpp @@ -18,11 +18,13 @@ #include "compute.h" #include "domain.h" #include "error.h" +#include "input.h" #include "memory.h" #include "modify.h" #include "respa.h" #include "universe.h" #include "update.h" +#include "variable.h" #include @@ -33,8 +35,12 @@ using namespace FixConst; FixAlchemy::FixAlchemy(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), commbuf(nullptr) { - if (narg != 3) error->all(FLERR, "Incorrect number of arguments for fix alchemy"); + if (narg != 4) error->all(FLERR, "Incorrect number of arguments for fix alchemy"); if (universe->nworlds != 2) error->all(FLERR, "Must use exactly two partitions"); + if (utils::strmatch(arg[3], "^v_")) + id_lambda = arg[3] + 2; + else + error->all(FLERR, "Must use variable as lambda argument to fix alchemy"); lambda = epot[0] = epot[1] = epot[2] = 0.0; progress = 0; @@ -129,6 +135,14 @@ void FixAlchemy::init() if (modify->get_fix_by_style("^alchemy").size() > 1) error->all(FLERR, "There may only one fix alchemy at a time"); + ivar = input->variable->find(id_lambda.c_str()); + if (ivar < 0) + error->universe_one(FLERR, fmt::format("Variable {} for fix alchemy does not exist", id_lambda)); + if (!input->variable->equalstyle(ivar)) + error->universe_one(FLERR, + fmt::format("Variable {} for fix alchemy is invalid style", id_lambda)); + lambda = input->variable->compute_equal(ivar); + // synchronize box dimensions, determine if resync during run will be needed. synchronize_box(domain, samerank); @@ -152,7 +166,10 @@ void FixAlchemy::setup(int vflag) } if (universe->me == 0) { - progress = static_cast(100.0 - lambda * 100.0); + double delta = update->ntimestep - update->beginstep; + if ((delta != 0.0) && (update->beginstep != update->endstep)) + delta /= update->endstep - update->beginstep; + progress = static_cast(delta*100.0); auto msg = fmt::format("Starting alchemical transformation at {:>3d}%\n", progress); if (universe->uscreen) fmt::print(universe->uscreen, msg); if (universe->ulogfile) fmt::print(universe->ulogfile, msg); @@ -175,16 +192,6 @@ void FixAlchemy::post_integrate() /* ---------------------------------------------------------------------- */ -static double get_lambda(const bigint &step, const bigint &begin, const bigint &end, int iworld) -{ - double lambda = step - begin; - if (lambda != 0.0) lambda /= end - begin; - if (iworld == 0) lambda = 1.0 - lambda; - return lambda; -} - -/* ---------------------------------------------------------------------- */ - void FixAlchemy::post_force(int /*vflag*/) { if (3 * atom->nmax > nmax) { @@ -194,7 +201,7 @@ void FixAlchemy::post_force(int /*vflag*/) const int nall = 3 * atom->nlocal; double *f = &atom->f[0][0]; - lambda = get_lambda(update->ntimestep, update->beginstep, update->endstep, universe->iworld); + lambda = input->variable->compute_equal(ivar); for (int i = 0; i < nall; ++i) commbuf[i] = f[i] * lambda; MPI_Allreduce(commbuf, f, nall, MPI_DOUBLE, MPI_SUM, samerank); @@ -218,7 +225,10 @@ void FixAlchemy::post_force(int /*vflag*/) // print progress info if (universe->me == 0) { - int status = static_cast(100.0 - lambda * 100.0); + double delta = update->ntimestep - update->beginstep; + if ((delta != 0.0) && (update->beginstep != update->endstep)) + delta /= update->endstep - update->beginstep; + int status = static_cast(delta*100.0); if ((status / 10) > (progress / 10)) { progress = status; auto msg = fmt::format(" Alchemical transformation progress: {:>3d}%\n", progress); diff --git a/src/REPLICA/fix_alchemy.h b/src/REPLICA/fix_alchemy.h index 86c58a7b78..677a29b643 100644 --- a/src/REPLICA/fix_alchemy.h +++ b/src/REPLICA/fix_alchemy.h @@ -42,14 +42,15 @@ class FixAlchemy : public Fix { MPI_Comm samerank; double *commbuf; class Compute *pe, *temp, *press; - std::string id_pe, id_temp, id_press; - double lambda; // changes from 0 to 1 during run + std::string id_pe, id_temp, id_press, id_lambda; + double lambda; // scaling prefactor for combining the partitions double epot[3]; // last (unscaled) potential energy from each replica and combined energy double pressure[6]; // joined pressure int progress; // for progress indicator int sync_box; // 1 of box dimensions need to be synchronized int ilevel_respa; int nmax; + int ivar; }; } // namespace LAMMPS_NS From 81a2d47c165a337face57990aece52d9a91d0684 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 27 Feb 2023 16:50:17 -0500 Subject: [PATCH 174/448] print warning about not checking lambda variable --- doc/src/fix_alchemy.rst | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/doc/src/fix_alchemy.rst b/doc/src/fix_alchemy.rst index 2ff137917b..90c436139e 100644 --- a/doc/src/fix_alchemy.rst +++ b/doc/src/fix_alchemy.rst @@ -43,6 +43,13 @@ are not easily possible with :doc:`pair style hybrid/scaled `, :doc:`fix adapt ` or :doc:`fix adapt/fep `. +.. note:: + + Since the definition of the variable to provide the :math:`\lambda_p` is + independent in the two partitions, no check is made that the two values + remain between 0.0 and 1.0 and that they add up to 1.0. So care needs to + be taken when defining those variables that this is the case. + Due to the specifics of the implementation, the initial geometry and dimensions of the system must be exactly the same and the fix will synchronize them during the run. It is thus not possible to initialize From 02c26f4b87b7d05d4a55e2f8f2f1a3d37b764081 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 27 Feb 2023 16:53:43 -0500 Subject: [PATCH 175/448] add version tag --- doc/src/pair_born_gauss.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/src/pair_born_gauss.rst b/doc/src/pair_born_gauss.rst index 924e3723d3..443c0ceac8 100644 --- a/doc/src/pair_born_gauss.rst +++ b/doc/src/pair_born_gauss.rst @@ -24,6 +24,8 @@ Examples Description """"""""""" +.. versionadded:: TBD + Pair style *born/gauss* computes pairwise interactions from a combination of a Born-Mayer repulsive term and a Gaussian attractive term according to :ref:`(Bomont) `: From 2511872823c969df85f6bff5afd2d673023bd524 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Tue, 28 Feb 2023 00:41:47 -0600 Subject: [PATCH 176/448] Updated GPU.cmake and Makefile.cuda_mps to not error out with exclusive process mode with the CUDA MPS server in use --- cmake/Modules/Packages/GPU.cmake | 4 ++-- lib/gpu/Makefile.cuda_mps | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cmake/Modules/Packages/GPU.cmake b/cmake/Modules/Packages/GPU.cmake index cf321eee9a..c873af8d9f 100644 --- a/cmake/Modules/Packages/GPU.cmake +++ b/cmake/Modules/Packages/GPU.cmake @@ -60,9 +60,9 @@ if(GPU_API STREQUAL "CUDA") option(CUDA_MPS_SUPPORT "Enable tweaks to support CUDA Multi-process service (MPS)" OFF) if(CUDA_MPS_SUPPORT) if(CUDPP_OPT) - message(FATAL_ERROR "Must use -DCUDPP_OPT=OFF with -DGPU_CUDA_MPS_SUPPORT=ON") + message(FATAL_ERROR "Must use -DCUDPP_OPT=OFF with -DCUDA_MPS_SUPPORT=ON") endif() - set(GPU_CUDA_MPS_FLAGS "-DCUDA_PROXY") + set(GPU_CUDA_MPS_FLAGS "-DCUDA_PROXY -DCUDA_MPS_SUPPORT") endif() set(GPU_ARCH "sm_50" CACHE STRING "LAMMPS GPU CUDA SM primary architecture (e.g. sm_60)") diff --git a/lib/gpu/Makefile.cuda_mps b/lib/gpu/Makefile.cuda_mps index d7820e4c34..45d1b3f678 100644 --- a/lib/gpu/Makefile.cuda_mps +++ b/lib/gpu/Makefile.cuda_mps @@ -30,7 +30,7 @@ AR = ar BSH = /bin/sh CUDPP_OPT = -CUDA_MPS = -DCUDA_PROXY +CUDA_MPS = -DCUDA_PROXY -DCUDA_MPS_SUPPORT # device code compiler and settings @@ -53,7 +53,7 @@ BIN2C = $(CUDA_HOME)/bin/bin2c CUDR_CPP = mpicxx -fopenmp -DMPI_GERYON -DUCL_NO_EXIT -DMPICH_IGNORE_CXX_SEEK -DOMPI_SKIP_MPICXX=1 -fPIC CUDR_OPTS = -O2 $(LMP_INC) -CUDR = $(CUDR_CPP) $(CUDR_OPTS) $(CUDA_PROXY) $(CUDA_PRECISION) $(CUDA_INCLUDE) \ +CUDR = $(CUDR_CPP) $(CUDR_OPTS) $(CUDA_MPS) $(CUDA_PRECISION) $(CUDA_INCLUDE) \ $(CUDPP_OPT) # Headers for Geryon From 64d5317d19fb3f2551607c27dcf34c0a8c015d08 Mon Sep 17 00:00:00 2001 From: Holger Badorreck Date: Tue, 28 Feb 2023 10:07:46 +0100 Subject: [PATCH 177/448] hint to generate needed file for mliap pytorch example --- examples/mliap/mliap_pytorch_Ta06A.py | 6 +++++- examples/mliap/mliap_pytorch_Ta06A_kokkos.py | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/examples/mliap/mliap_pytorch_Ta06A.py b/examples/mliap/mliap_pytorch_Ta06A.py index c4387e21a3..589c9661b8 100644 --- a/examples/mliap/mliap_pytorch_Ta06A.py +++ b/examples/mliap/mliap_pytorch_Ta06A.py @@ -94,8 +94,12 @@ lmp.commands_string(before_loading) # Define the model however you like. In this example # we load it from disk: +import os import torch -model = torch.load('Ta06A.mliap.pytorch.model.pt') +torch_model = 'Ta06A.mliap.pytorch.model.pt' +if not os.path.exists(torch_model): + raise FileNotFoundError(f"Generate {torch_model} with convert_mliap_Ta06A.py") +model = torch.load(torch_model) # Connect the PyTorch model to the mliap pair style. lammps.mliap.load_model(model) diff --git a/examples/mliap/mliap_pytorch_Ta06A_kokkos.py b/examples/mliap/mliap_pytorch_Ta06A_kokkos.py index da0d3fcaff..f0d2b9bf3e 100644 --- a/examples/mliap/mliap_pytorch_Ta06A_kokkos.py +++ b/examples/mliap/mliap_pytorch_Ta06A_kokkos.py @@ -94,8 +94,12 @@ lmp.commands_string(before_loading) # Define the model however you like. In this example # we load it from disk: +import os import torch -model = torch.load('Ta06A.mliap.pytorch.model.pt') +torch_model = 'Ta06A.mliap.pytorch.model.pt' +if not os.path.exists(torch_model): + raise FileNotFoundError(f"Generate {torch_model} with convert_mliap_Ta06A.py") +model = torch.load(torch_model) # Connect the PyTorch model to the mliap pair style. lammps.mliap.load_model_kokkos(model) From 88760170bf1bd5a62d5560263682783edb58a051 Mon Sep 17 00:00:00 2001 From: Holger Badorreck Date: Tue, 28 Feb 2023 10:34:36 +0100 Subject: [PATCH 178/448] python-mliap: consider abi flags for python lib --- python/lammps/mliap/__init__.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/python/lammps/mliap/__init__.py b/python/lammps/mliap/__init__.py index 6e638ac360..dc9e2853e6 100644 --- a/python/lammps/mliap/__init__.py +++ b/python/lammps/mliap/__init__.py @@ -7,18 +7,19 @@ import ctypes import platform import warnings -py_ver = sysconfig.get_config_vars('VERSION')[0] +py_ver = sysconfig.get_config_var('VERSION') +abi_flags = sysconfig.get_config_var('abiflags') OS_name = platform.system() if OS_name == "Darwin": SHLIB_SUFFIX = '.dylib' - library = 'libpython' + py_ver + SHLIB_SUFFIX + library = 'libpython' + py_ver + abi_flags + SHLIB_SUFFIX elif OS_name == "Windows": SHLIB_SUFFIX = '.dll' - library = 'python' + py_ver + SHLIB_SUFFIX + library = 'python' + py_ver + abi_flags + SHLIB_SUFFIX else: SHLIB_SUFFIX = '.so' - library = 'libpython' + py_ver + SHLIB_SUFFIX + library = 'libpython' + py_ver + abi_flags + SHLIB_SUFFIX try: pylib = ctypes.CDLL(library) From 22998f43ae085090e345f58f7e316fe4d2e85ef4 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Tue, 28 Feb 2023 11:59:06 +0200 Subject: [PATCH 179/448] Include method declaration in bond_morse.h --- src/MOLECULE/bond_morse.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/MOLECULE/bond_morse.h b/src/MOLECULE/bond_morse.h index 5515ea023e..4d0e8e359c 100644 --- a/src/MOLECULE/bond_morse.h +++ b/src/MOLECULE/bond_morse.h @@ -35,6 +35,7 @@ class BondMorse : public Bond { void read_restart(FILE *) override; void write_data(FILE *) override; double single(int, double, int, int, double &) override; + void born_matrix(int, double, int, int, double &, double &) override; void *extract(const char *, int &) override; protected: From 3ab4735aa44189e4276ba99221dc30dda2f5b632 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Tue, 28 Feb 2023 12:00:31 +0200 Subject: [PATCH 180/448] Implement born_matrix in bond_morse.cpp --- src/MOLECULE/bond_morse.cpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/MOLECULE/bond_morse.cpp b/src/MOLECULE/bond_morse.cpp index e9555698da..b7020b0441 100644 --- a/src/MOLECULE/bond_morse.cpp +++ b/src/MOLECULE/bond_morse.cpp @@ -30,7 +30,10 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -BondMorse::BondMorse(LAMMPS *_lmp) : Bond(_lmp) {} +BondMorse::BondMorse(LAMMPS *_lmp) : Bond(_lmp) +{ + born_matrix_enable = 1; +} /* ---------------------------------------------------------------------- */ @@ -209,6 +212,18 @@ double BondMorse::single(int type, double rsq, int /*i*/, int /*j*/, double &ffo /* ---------------------------------------------------------------------- */ +void BondMorse::born_matrix(int type, double rsq, int /*i*/, int /*j*/, double &du, double &du2) +{ + double r = sqrt(rsq); + double dr = r - r0[type]; + double ralpha = exp(-alpha[type] * dr); + + du = 2.0 * d0[type] * alpha[type] * (1.0 - ralpha) * ralpha; + du2 = -2.0 * d0[type] * alpha[type] * alpha[type] * (1.0 - 2.0 * ralpha) * ralpha; +} + +/* ---------------------------------------------------------------------- */ + void *BondMorse::extract(const char *str, int &dim) { dim = 1; From 7aeccd9a6df6a24d064f505cdea8b8baad6c9240 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Tue, 28 Feb 2023 17:28:02 +0200 Subject: [PATCH 181/448] Include method declaration in bond_nonlinear.h --- src/EXTRA-MOLECULE/bond_nonlinear.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/EXTRA-MOLECULE/bond_nonlinear.h b/src/EXTRA-MOLECULE/bond_nonlinear.h index 3023add89d..f092643662 100644 --- a/src/EXTRA-MOLECULE/bond_nonlinear.h +++ b/src/EXTRA-MOLECULE/bond_nonlinear.h @@ -35,6 +35,7 @@ class BondNonlinear : public Bond { void read_restart(FILE *) override; void write_data(FILE *) override; double single(int, double, int, int, double &) override; + void born_matrix(int, double, int, int, double &, double &) override; void *extract(const char *, int &) override; protected: From 3cd881f0b95e63989e8498ca22c78da470a6d5a3 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Tue, 28 Feb 2023 17:29:50 +0200 Subject: [PATCH 182/448] Implement born_matrix in bond_nonlinear.cpp --- src/EXTRA-MOLECULE/bond_nonlinear.cpp | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/EXTRA-MOLECULE/bond_nonlinear.cpp b/src/EXTRA-MOLECULE/bond_nonlinear.cpp index 873c54e917..a2955b7d2e 100644 --- a/src/EXTRA-MOLECULE/bond_nonlinear.cpp +++ b/src/EXTRA-MOLECULE/bond_nonlinear.cpp @@ -28,7 +28,10 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -BondNonlinear::BondNonlinear(LAMMPS *lmp) : Bond(lmp) {} +BondNonlinear::BondNonlinear(LAMMPS *lmp) : Bond(lmp) +{ + born_matrix_enable = 1; +} /* ---------------------------------------------------------------------- */ @@ -207,6 +210,21 @@ double BondNonlinear::single(int type, double rsq, int /*i*/, int /*j*/, /* ---------------------------------------------------------------------- */ +void BondNonlinear::born_matrix(int type, double rsq, int /*i*/, int /*j*/, double &du, double &du2) +{ + double r = sqrt(rsq); + double dr = r - r0[type]; + double drsq = dr * dr; + double lamdasq = lamda[type] * lamda[type]; + double denom = lamdasq - drsq; + double denomsq = denom * denom; + + du = 2.0 * epsilon[type] * lamdasq * dr / denomsq; + du2 = 2.0 * epsilon[type] * lamdasq * (lamdasq + 3.0 * drsq)/ (denomsq * denom); +} + +/* ---------------------------------------------------------------------- */ + void *BondNonlinear::extract(const char *str, int &dim) { dim = 1; From a6eac92cd59016f72d71a95626bbce39d69f12a1 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 28 Feb 2023 11:20:33 -0500 Subject: [PATCH 183/448] update list of pair styles that support fix adapt --- doc/src/fix_adapt.rst | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/doc/src/fix_adapt.rst b/doc/src/fix_adapt.rst index a3e851faf0..8dda1b3bb6 100644 --- a/doc/src/fix_adapt.rst +++ b/doc/src/fix_adapt.rst @@ -139,7 +139,7 @@ formulas for the meaning of these parameters: +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`buck/mdf ` | a,c | type pairs | +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`coul/cut ` | scale | type pairs | +| :doc:`coul/cut, coul/cut/global ` | scale | type pairs | +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`coul/cut/soft ` | lambda | type pairs | +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ @@ -151,10 +151,16 @@ formulas for the meaning of these parameters: +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`coul/long/soft ` | scale, lambda, coulombic_cutoff | type pairs | +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ +| :doc:`coul/slater/long ` | scale | type pairs | ++------------------------------------------------------------------------------+--------------------------------------------------+-------------+ +| :doc:`coul/streitz ` | scale | type pairs | ++------------------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`eam, eam/alloy, eam/fs ` | scale | type pairs | +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`gauss ` | a | type pairs | +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ +| :doc:`harmonic/cut ` | k, cutoff | type pairs | ++------------------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`lennard/mdf ` | A,B | type pairs | +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`lj/class2 ` | epsilon,sigma | type pairs | @@ -181,6 +187,8 @@ formulas for the meaning of these parameters: +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`lubricate ` | mu | global | +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ +| :doc:`meam ` | scale | type pairs | ++------------------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`mie/cut ` | epsilon,sigma,gamma_repulsive,gamma_attractive | type pairs | +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`morse, morse/smooth/linear ` | D0,R0,alpha | type pairs | @@ -191,7 +199,7 @@ formulas for the meaning of these parameters: +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`nm/cut/coul/cut, nm/cut/coul/long ` | E0,R0,m,n,coulombic_cutoff | type pairs | +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`reaxff ` | chi, eta, gamma | type global | +| :doc:`pace, pace/extrapolation ` | scale | type pairs | +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`snap ` | scale | type pairs | +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ @@ -203,11 +211,13 @@ formulas for the meaning of these parameters: +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`spin/neel ` | coulombic_cutoff | type global | +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ +| :doc:`soft ` | a | type pairs | ++------------------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`table ` | table_cutoff | type pairs | +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`ufm ` | epsilon,sigma | type pairs | +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`soft ` | a | type pairs | +| :doc:`wf/cut ` | epsilon,sigma,nu,mu | type pairs | +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ .. note:: From 02190b82c2dbec001731a7b8668e3583d3b4bfe0 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 28 Feb 2023 11:22:14 -0500 Subject: [PATCH 184/448] link pair style hybrid/scaled to fix adapt and fix alchemy --- doc/src/pair_hybrid.rst | 3 ++- src/ML-SNAP/pair_snap.cpp | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/doc/src/pair_hybrid.rst b/doc/src/pair_hybrid.rst index 5ba5fb51d2..a33991e43e 100644 --- a/doc/src/pair_hybrid.rst +++ b/doc/src/pair_hybrid.rst @@ -91,7 +91,8 @@ contributions from sub-styles are weighted by their scale factors, which may be fractional or even negative. Furthermore the scale factors may be variables that may change during a simulation. This enables switching smoothly between two different pair styles or two different -parameter sets during a run. +parameter sets during a run in a similar fashion as could be done +with :doc:`fix adapt ` or :doc:`fix alchemy `. All pair styles that will be used are listed as "sub-styles" following the *hybrid* or *hybrid/overlay* keyword, in any order. In case of the diff --git a/src/ML-SNAP/pair_snap.cpp b/src/ML-SNAP/pair_snap.cpp index 034f76b13a..3029e9212d 100644 --- a/src/ML-SNAP/pair_snap.cpp +++ b/src/ML-SNAP/pair_snap.cpp @@ -796,6 +796,8 @@ double PairSNAP::memory_usage() return bytes; } +/* ---------------------------------------------------------------------- */ + void *PairSNAP::extract(const char *str, int &dim) { dim = 2; From a98c497dbb282fe1b0b73c5b9ca96f81a743985a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 28 Feb 2023 18:10:45 -0500 Subject: [PATCH 185/448] redesign the Howto pages on water models and add inputs and molecule files --- doc/src/Howto.rst | 1 + doc/src/Howto_spc.rst | 114 ++++++- doc/src/Howto_tip3p.rst | 244 ++++++++++++--- doc/src/Howto_tip4p.rst | 325 +++++++++++++++----- doc/src/Howto_tip5p.rst | 161 ++++++++++ doc/utils/sphinx-config/false_positives.txt | 3 + 6 files changed, 718 insertions(+), 130 deletions(-) create mode 100644 doc/src/Howto_tip5p.rst diff --git a/doc/src/Howto.rst b/doc/src/Howto.rst index f229deafb3..1366ecb839 100644 --- a/doc/src/Howto.rst +++ b/doc/src/Howto.rst @@ -70,6 +70,7 @@ Force fields howto Howto_amoeba Howto_tip3p Howto_tip4p + Howto_tip5p Howto_spc Packages howto diff --git a/doc/src/Howto_spc.rst b/doc/src/Howto_spc.rst index 520942547e..6414d3b846 100644 --- a/doc/src/Howto_spc.rst +++ b/doc/src/Howto_spc.rst @@ -20,7 +20,6 @@ atoms and the water molecule to run a rigid SPC model. | LJ :math:`\epsilon`, :math:`\sigma` of OH, HH = 0.0 | :math:`r_0` of OH bond = 1.0 | :math:`\theta_0` of HOH angle = 109.47\ :math:`^{\circ}` -| Note that as originally proposed, the SPC model was run with a 9 Angstrom cutoff for both LJ and Coulomb terms. It can also be used @@ -33,16 +32,123 @@ the partial charge assignments change: | O charge = -0.8476 | H charge = 0.4238 -| See the :ref:`(Berendsen) ` reference for more details on both the SPC and SPC/E models. +Below is the code for a LAMMPS input file and a molecule file +(``spce.mol``) of SPC/E water for use with the :doc:`molecule command +` demonstrating how to set up a small bulk water system for +SPC/E with rigid bonds. + +.. code-block:: LAMMPS + + units real + atom_style full + region box block -5 5 -5 5 -5 5 + create_box 2 box bond/types 1 angle/types 1 & + extra/bond/per/atom 2 extra/angle/per/atom 1 extra/special/per/atom 2 + + mass 1 15.9994 + mass 2 1.008 + + pair_style lj/cut/coul/cut 10.0 + pair_coeff 1 1 0.1553 3.166 + pair_coeff 1 2 0.0 1.0 + pair_coeff 2 2 0.0 1.0 + + bond_style zero + bond_coeff 1 1.0 + + angle_style zero + angle_coeff 1 109.47 + + molecule water spce.mol + create_atoms 0 random 33 34564 NULL mol water 25367 overlap 1.33 + + timestep 1.0 + fix rigid all shake 0.0001 10 10000 b 1 a 1 + minimize 0.0 0.0 1000 10000 + run 0 post no + reset_timestep 0 + velocity all create 300.0 5463576 + fix integrate all nvt temp 300.0 300.0 1.0 + + thermo_style custom step temp press etotal density pe ke + thermo 1000 + run 20000 upto + write_data tip4p.data nocoeff + +.. _spce_molecule: +.. code-block:: + + # Water molecule. SPC/E geometry + + 3 atoms + 2 bonds + 1 angles + + Coords + + 1 0.00000 -0.06461 0.00000 + 2 0.81649 0.51275 0.00000 + 3 -0.81649 0.51275 0.00000 + + Types + + 1 1 # O + 2 2 # H + 3 2 # H + + Charges + + 1 -0.8476 + 2 0.4238 + 3 0.4238 + + Bonds + + 1 1 1 2 + 2 1 1 3 + + Angles + + 1 1 2 1 3 + + Shake Flags + + 1 1 + 2 1 + 3 1 + + Shake Atoms + + 1 1 2 3 + 2 1 2 3 + 3 1 2 3 + + Shake Bond Types + + 1 1 1 1 + 2 1 1 1 + 3 1 1 1 + + Special Bond Counts + + 1 2 0 0 + 2 1 1 0 + 3 1 1 0 + + Special Bonds + + 1 2 3 + 2 1 3 + 3 1 2 + Wikipedia also has a nice article on `water models `_. ---------- .. _howto-Berendsen: -**(Berendsen)** Berendsen, Grigera, Straatsma, J Phys Chem, 91, -6269-6271 (1987). +**(Berendsen)** Berendsen, Grigera, Straatsma, J Phys Chem, 91, 6269-6271 (1987). diff --git a/doc/src/Howto_tip3p.rst b/doc/src/Howto_tip3p.rst index 5571b3291a..682c7f2640 100644 --- a/doc/src/Howto_tip3p.rst +++ b/doc/src/Howto_tip3p.rst @@ -1,53 +1,211 @@ TIP3P water model ================= -The TIP3P water model as implemented in CHARMM -:ref:`(MacKerell) ` specifies a 3-site rigid water molecule with -charges and Lennard-Jones parameters assigned to each of the 3 atoms. -In LAMMPS the :doc:`fix shake ` command can be used to hold -the two O-H bonds and the H-O-H angle rigid. A bond style of -*harmonic* and an angle style of *harmonic* or *charmm* should also be -used. +The TIP3P water model as implemented in CHARMM :ref:`(MacKerell) +` specifies a 3-site rigid water molecule with charges and +Lennard-Jones parameters assigned to each of the 3 atoms. -These are the additional parameters (in real units) to set for O and H -atoms and the water molecule to run a rigid TIP3P-CHARMM model with a -cutoff. The K values can be used if a flexible TIP3P model (without -fix shake) is desired. If the LJ epsilon and sigma for HH and OH are -set to 0.0, it corresponds to the original 1983 TIP3P model -:ref:`(Jorgensen) `. +A suitable pair style with cutoff Coulomb would be: -| O mass = 15.9994 -| H mass = 1.008 -| O charge = -0.834 -| H charge = 0.417 -| LJ :math:`\epsilon` of OO = 0.1521 -| LJ :math:`\sigma` of OO = 3.1507 -| LJ :math:`\epsilon` of HH = 0.0460 -| LJ :math:`\sigma` of HH = 0.4000 -| LJ :math:`\epsilon` of OH = 0.0836 -| LJ :math:`\sigma` of OH = 1.7753 -| K of OH bond = 450 -| :math:`r_0` of OH bond = 0.9572 -| K of HOH angle = 55 -| :math:`\theta` of HOH angle = 104.52\ :math:`^{\circ}` -| +* :doc:`pair_style lj/cut/coul/cut ` -These are the parameters to use for TIP3P with a long-range Coulomb -solver (e.g. Ewald or PPPM in LAMMPS), see :ref:`(Price) ` for -details: +or these commands for a long-range Coulomb model: + +* :doc:`pair_style lj/cut/coul/long ` +* :doc:`pair_style lj/cut/coul/long/soft ` +* :doc:`kspace_style pppm ` +* :doc:`kspace_style pppm/disp ` + +In LAMMPS the :doc:`fix shake or fix rattle ` command can be +used to hold the two O-H bonds and the H-O-H angle rigid. A bond style +of :doc:`harmonic ` and an angle style of :doc:`harmonic +` or :doc:`charmm ` should also be used. +In case of rigid bonds also bond style :doc:`zero ` and angle +style :doc:`zero ` can be used. + +The table below lists the force field parameters (in real :doc:`units +`) to for the water molecule atoms to run a rigid or flexible +TIP3P-CHARMM model with a cutoff, the original 1983 TIP3P model +:ref:`(Jorgensen) `, or a TIP3P model with parameters +optimized for a long-range Coulomb solver (e.g. Ewald or PPPM in LAMMPS) +:ref:`(Price) `. The K values can be used if a flexible TIP3P +model (without fix shake) is desired, for rigid bonds/angles they are +ignored. + + .. list-table:: + :header-rows: 1 + :widths: auto + + * - Parameter + - TIP3P-CHARMM + - TIP3P (original) + - TIP3P (Ewald) + * - O mass (amu) + - 15.9994 + - 15.9994 + - 15.9994 + * - H mass (amu) + - 1.008 + - 1.008 + - 1.008 + * - O charge (:math:`e`) + - -0.834 + - -0.834 + - -0.834 + * - H charge (:math:`e`) + - 0.417 + - 0.417 + - 0.417 + * - LJ :math:`\epsilon` of OO (kcal/mole) + - 0.1521 + - 0.1521 + - 0.1020 + * - LJ :math:`\sigma` of OO (:math:`\AA`) + - 3.1507 + - 3.1507 + - 3.188 + * - LJ :math:`\epsilon` of HH (kcal/mole) + - 0.0460 + - 0.0 + - 0.0 + * - LJ :math:`\sigma` of HH (:math:`\AA`) + - 0.4 + - 1.0 + - 1.0 + * - LJ :math:`\epsilon` of OH (kcal/mole) + - 0.0836 + - 0.0 + - 0.0 + * - LJ :math:`\sigma` of OH (:math:`\AA`) + - 1.7753 + - 1.0 + - 1.0 + * - K of OH bond (kcal/mole/:math:`\AA^2`) + - 450 + - 450 + - 450 + * - :math:`r_0` of OH bond (:math:`\AA`) + - 0.9572 + - 0.9572 + - 0.9572 + * - K of HOH angle (kcal/mole) + - 55.0 + - 55.0 + - 55.0 + * - :math:`\theta_0` of HOH angle + - 104.52\ :math:`^{\circ}` + - 104.52\ :math:`^{\circ}` + - 104.52\ :math:`^{\circ}` + +Below is the code for a LAMMPS input file and a molecule file +(``tip3p.mol``) of TIP3P water for use with the :doc:`molecule command +` demonstrating how to set up a small bulk water system for +TIP3P with rigid bonds. + +.. code-block:: LAMMPS + + units real + atom_style full + region box block -5 5 -5 5 -5 5 + create_box 2 box bond/types 1 angle/types 1 & + extra/bond/per/atom 2 extra/angle/per/atom 1 extra/special/per/atom 2 + + mass 1 15.9994 + mass 2 1.008 + + pair_style lj/cut/coul/cut 8.0 + pair_coeff 1 1 0.1521 3.1507 + pair_coeff 2 2 0.0 1.0 + + bond_style zero + bond_coeff 1 0.9574 + + angle_style zero + angle_coeff 1 104.52 + + molecule water tip3p.mol + create_atoms 0 random 33 34564 NULL mol water 25367 overlap 1.33 + + fix rigid all shake 0.001 10 10000 b 1 a 1 + minimize 0.0 0.0 1000 10000 + run 0 post no + + reset_timestep 0 + velocity all create 300.0 5463576 + fix integrate all nvt temp 300 300 1.0 + + thermo_style custom step temp press etotal pe + + thermo 1000 + run 20000 + write_data tip3p.data nocoeff + +.. _tip3p_molecule: +.. code-block:: + + # Water molecule. TIP3P geometry + + 3 atoms + 2 bonds + 1 angles + + Coords + + 1 0.00000 -0.06556 0.00000 + 2 0.75695 0.52032 0.00000 + 3 -0.75695 0.52032 0.00000 + + Types + + 1 1 # O + 2 2 # H + 3 2 # H + + Charges + + 1 -0.834 + 2 0.417 + 3 0.417 + + Bonds + + 1 1 1 2 + 2 1 1 3 + + Angles + + 1 1 2 1 3 + + Shake Flags + + 1 1 + 2 1 + 3 1 + + Shake Atoms + + 1 1 2 3 + 2 1 2 3 + 3 1 2 3 + + Shake Bond Types + + 1 1 1 1 + 2 1 1 1 + 3 1 1 1 + + Special Bond Counts + + 1 2 0 0 + 2 1 1 0 + 3 1 1 0 + + Special Bonds + + 1 2 3 + 2 1 3 + 3 1 2 -| O mass = 15.9994 -| H mass = 1.008 -| O charge = -0.830 -| H charge = 0.415 -| LJ :math:`\epsilon` of OO = 0.102 -| LJ :math:`\sigma` of OO = 3.188 -| LJ :math:`\epsilon`, :math:`\sigma` of OH, HH = 0.0 -| K of OH bond = 450 -| :math:`r_0` of OH bond = 0.9572 -| K of HOH angle = 55 -| :math:`\theta` of HOH angle = 104.52\ :math:`^{\circ}` -| Wikipedia also has a nice article on `water models `_. diff --git a/doc/src/Howto_tip4p.rst b/doc/src/Howto_tip4p.rst index 19b811a282..7912557e61 100644 --- a/doc/src/Howto_tip4p.rst +++ b/doc/src/Howto_tip4p.rst @@ -2,100 +2,138 @@ TIP4P water model ================= The four-point TIP4P rigid water model extends the traditional -three-point TIP3P model by adding an additional site, usually -massless, where the charge associated with the oxygen atom is placed. -This site M is located at a fixed distance away from the oxygen along -the bisector of the HOH bond angle. A bond style of *harmonic* and an -angle style of *harmonic* or *charmm* should also be used. +:doc:`three-point TIP3P ` model by adding an additional +site M, usually massless, where the charge associated with the oxygen +atom is placed. This site M is located at a fixed distance away from +the oxygen along the bisector of the HOH bond angle. A bond style of +:doc:`harmonic ` and an angle style of :doc:`harmonic +` or :doc:`charmm ` should also be used. +In case of rigid bonds also bond style :doc:`zero ` and angle +style :doc:`zero ` can be used. -A TIP4P model is run with LAMMPS using either these commands -for a cutoff model: +There are two ways to implement TIP4P water in LAMMPS: -* :doc:`pair_style tip4p/cut ` -* :doc:`pair_style lj/cut/tip4p/cut ` +#. Use a specially written pair style that uses the :ref:`TIP3P geometry + ` without the point M. The point M location is then + implicitly derived from the other atoms or each water molecule and + used during the force computation. The forces on M are then + projected on the oxygen and the two hydrogen atoms. This is + computationally very efficient, but the charge distribution in space + is only correct within the tip4p labeled styles. So all other + computations using charges will "see" the negative charge incorrectly + on the oxygen atom. -or these commands for a long-range model: + This can be done with the following pair styles for Coulomb with a cutoff: -* :doc:`pair_style tip4p/long ` -* :doc:`pair_style lj/cut/tip4p/long ` -* :doc:`pair_style lj/long/tip4p/long ` -* :doc:`pair_style tip4p/long/soft ` -* :doc:`pair_style lj/cut/tip4p/long/soft ` -* :doc:`kspace_style pppm/tip4p ` -* :doc:`kspace_style pppm/disp/tip4p ` + * :doc:`pair_style tip4p/cut ` + * :doc:`pair_style lj/cut/tip4p/cut ` -The bond lengths and bond angles should be held fixed using the -:doc:`fix shake ` or :doc:`fix rattle ` command, -unless a parameterization for a flexible TIP4P model is used. The -parameter sets listed below are all for rigid TIP4P model variants and -thus the bond and angle force constants are not used and can be set to -any legal value; only equilibrium length and angle are used. + or these commands for a long-range Coulomb treatment: -These are the additional parameters (in real units) to set for O and H -atoms and the water molecule to run a rigid TIP4P model with a cutoff -:ref:`(Jorgensen) `. Note that the OM distance is specified in -the :doc:`pair_style ` command, not as part of the pair -coefficients. + * :doc:`pair_style tip4p/long ` + * :doc:`pair_style lj/cut/tip4p/long ` + * :doc:`pair_style lj/long/tip4p/long ` + * :doc:`pair_style tip4p/long/soft ` + * :doc:`pair_style lj/cut/tip4p/long/soft ` + * :doc:`kspace_style pppm/tip4p ` + * :doc:`kspace_style pppm/disp/tip4p ` -| O mass = 15.9994 -| H mass = 1.008 -| O charge = -1.040 -| H charge = 0.520 -| :math:`r_0` of OH bond = 0.9572 -| :math:`\theta` of HOH angle = 104.52\ :math:`^{\circ}` -| OM distance = 0.15 -| LJ :math:`\epsilon` of O-O = 0.1550 -| LJ :math:`\sigma` of O-O = 3.1536 -| LJ :math:`\epsilon`, :math:`\sigma` of OH, HH = 0.0 -| Coulomb cutoff = 8.5 -| + The bond lengths and bond angles should be held fixed using the + :doc:`fix shake ` or :doc:`fix rattle ` command, + unless a parameterization for a flexible TIP4P model is used. The + parameter sets listed below are all for rigid TIP4P model variants and + thus the bond and angle force constants are not used and can be set to + any legal value; only equilibrium length and angle are used. -For the TIP4/Ice model (J Chem Phys, 122, 234511 (2005); -https://doi.org/10.1063/1.1931662) these values can be used: +#. Use an :ref:`explicit 4 point TIP4P geometry ` where + the oxygen atom carries no charge and the M point no Lennard-Jones + interactions. Since :doc:`fix shake ` or :doc:`fix rattle + ` may not be applied to this kind of geometry, :doc:`fix + rigid or fix rigid/small ` or its thermostatted variants + are required to maintain a rigid geometry. This avoids some of the + issues with respect to analysis and non-tip4p styles, but it is a + more costly force computation (more atoms in the same volume and thus + more neighbors in the neighbor lists) and requires a much shorter + timestep for stable integration of the rigid body motion. Since no + bonds or angles are required, they do not need to be defined and atom + style charge would be sufficient for a bulk TIP4P water system. In + order to avoid that LAMMPS produces an error due to the massless M + site a tiny non-zero mass needs to be assigned. -| O mass = 15.9994 -| H mass = 1.008 -| O charge = -1.1794 -| H charge = 0.5897 -| :math:`r_0` of OH bond = 0.9572 -| :math:`\theta` of HOH angle = 104.52\ :math:`^{\circ}` -| OM distance = 0.1577 -| LJ :math:`\epsilon` of O-O = 0.21084 -| LJ :math:`\sigma` of O-O = 3.1668 -| LJ :math:`\epsilon`, :math:`\sigma` of OH, HH = 0.0 -| Coulomb cutoff = 8.5 -| +The table below lists the force field parameters (in real :doc:`units +`) to for a selection of popular variants of the TIP4P model. +There is the rigid TIP4P model with a cutoff :ref:`(Jorgensen) +`, the TIP4/Ice model :ref:`(Abascal1) `, the +TIP4P/2005 model :ref:`(Abascal2) ` and a version of TIP4P +parameters adjusted for use with a long-range Coulombic solver +(e.g. Ewald or PPPM in LAMMPS). Note that for implicit TIP4P models the +OM distance is specified in the :doc:`pair_style ` command, +not as part of the pair coefficients. -For the TIP4P/2005 model (J Chem Phys, 123, 234505 (2005); -https://doi.org/10.1063/1.2121687), these values can be used: + .. list-table:: + :header-rows: 1 + :widths: auto -| O mass = 15.9994 -| H mass = 1.008 -| O charge = -1.1128 -| H charge = 0.5564 -| :math:`r_0` of OH bond = 0.9572 -| :math:`\theta` of HOH angle = 104.52\ :math:`^{\circ}` -| OM distance = 0.1546 -| LJ :math:`\epsilon` of O-O = 0.1852 -| LJ :math:`\sigma` of O-O = 3.1589 -| LJ :math:`\epsilon`, :math:`\sigma` of OH, HH = 0.0 -| Coulomb cutoff = 8.5 -| - -These are the parameters to use for TIP4P with a long-range Coulombic -solver (e.g. Ewald or PPPM in LAMMPS): - -| O mass = 15.9994 -| H mass = 1.008 -| O charge = -1.0484 -| H charge = 0.5242 -| :math:`r_0` of OH bond = 0.9572 -| :math:`\theta` of HOH angle = 104.52\ :math:`^{\circ}` -| OM distance = 0.1250 -| LJ :math:`\epsilon` of O-O = 0.16275 -| LJ :math:`\sigma` of O-O = 3.16435 -| LJ :math:`\epsilon`, :math:`\sigma` of OH, HH = 0.0 -| + * - Parameter + - TIP4P (original) + - TIP4P/Ice + - TIP4P/2005 + - TIP4P (Ewald) + * - O mass (amu) + - 15.9994 + - 15.9994 + - 15.9994 + - 15.9994 + * - H mass (amu) + - 1.008 + - 1.008 + - 1.008 + - 1.008 + * - O or M charge (:math:`e`) + - -1.040 + - -1.1794 + - -1.1128 + - -1.04844 + * - H charge (:math:`e`) + - 0.520 + - 0.5897 + - 0.5564 + - 0.52422 + * - LJ :math:`\epsilon` of OO (kcal/mole) + - 0.1550 + - 0.1577 + - 0.1852 + - 0.16275 + * - LJ :math:`\sigma` of OO (:math:`\AA`) + - 3.1536 + - 3.1668 + - 3.1589 + - 3.16435 + * - LJ :math:`\epsilon` of HH, MM, OH, OM, HM (kcal/mole) + - 0.0 + - 0.0 + - 0.0 + - 0.0 + * - LJ :math:`\sigma` of HH, MM, OH, OM, HM (:math:`\AA`) + - 1.0 + - 1.0 + - 1.0 + - 1.0 + * - :math:`r_0` of OH bond (:math:`\AA`) + - 0.9572 + - 0.9572 + - 0.9572 + - 0.9572 + * - :math:`\theta_0` of HOH angle + - 104.52\ :math:`^{\circ}` + - 104.52\ :math:`^{\circ}` + - 104.52\ :math:`^{\circ}` + - 104.52\ :math:`^{\circ}` + * - OM distance (:math:`\AA`) + - 0.15 + - 0.1577 + - 0.1546 + - 0.1250 Note that the when using the TIP4P pair style, the neighbor list cutoff for Coulomb interactions is effectively extended by a distance 2 \* (OM @@ -108,6 +146,117 @@ trade-off for your model. The OM distance and the LJ and Coulombic cutoffs are set in the :doc:`pair_style lj/cut/tip4p/long ` command. +Below is the code for a LAMMPS input file using the implicit method and +the :ref:`TIP3P molecule file `. Because the TIP4P +charges are different from TIP3P they need to be reset (or the molecule +file changed): + +.. code-block:: LAMMPS + + units real + atom_style full + region box block -5 5 -5 5 -5 5 + create_box 2 box bond/types 1 angle/types 1 & + extra/bond/per/atom 2 extra/angle/per/atom 1 extra/special/per/atom 2 + + mass 1 15.9994 + mass 2 1.008 + + pair_style lj/cut/tip4p/cut 1 2 1 1 0.15 8.0 + pair_coeff 1 1 0.1550 3.1536 + pair_coeff 2 2 0.0 1.0 + + bond_style zero + bond_coeff 1 0.9574 + + angle_style zero + angle_coeff 1 104.52 + + molecule water tip3p.mol # this uses the TIP3P geometry + create_atoms 0 random 33 34564 NULL mol water 25367 overlap 1.33 + # must change charges for TIP4P + set type 1 charge -1.040 + set type 2 charge 0.520 + + fix rigid all shake 0.001 10 10000 b 1 a 1 + minimize 0.0 0.0 1000 10000 + run 0 post no + + reset_timestep 0 + velocity all create 300.0 5463576 + fix integrate all nvt temp 300 300 1.0 + + thermo_style custom step temp press etotal pe + + thermo 1000 + run 20000 + write_data tip3p.data nocoeff + +Below is the code for a LAMMPS input file using the explicit method and +a TIP4P molecule file. Because of using :doc:`fix rigid/nvt/small +` no bonds need to be defined and thus no extra storage needs +to be reserved for them, but we need to switch to atom style full or use +:doc:`fix property/atom mol ` so that fix +rigid/nvt/small can identify rigid bodies by their molecule ID: + +.. code-block:: LAMMPS + + units real + atom_style charge + region box block -5 5 -5 5 -5 5 + create_box 3 box + + mass 1 15.9994 + mass 2 1.008 + mass 3 1.0e-100 + + pair_style lj/cut/coul/cut 8.0 + pair_coeff 1 1 0.1550 3.1536 + pair_coeff 2 2 0.0 1.0 + pair_coeff 3 3 0.0 1.0 + + fix mol all property/atom mol + molecule water tip4p.mol + create_atoms 0 random 33 34564 NULL mol water 25367 overlap 1.33 + + timestep 0.1 + fix integrate all rigid/nvt/small molecule temp 300.0 300.0 1.0 + velocity all create 300.0 5463576 + + thermo_style custom step temp press etotal density pe ke + thermo 1000 + run 20000 + write_data tip4p.data nocoeff + +.. _tip4p_molecule: +.. code-block:: + + # Water molecule. Explicit TIP4P geometry for use with fix rigid + + 4 atoms + + Coords + + 1 0.00000 -0.06556 0.00000 + 2 0.75695 0.52032 0.00000 + 2 -0.75695 0.52032 0.00000 + 4 0.00000 0.08444 0.00000 + + Types + + 1 1 # O + 2 2 # H + 3 2 # H + 4 3 # M + + Charges + + 1 0.000 + 2 0.520 + 3 0.520 + 4 -1.040 + + Wikipedia also has a nice article on `water models `_. ---------- @@ -116,3 +265,13 @@ Wikipedia also has a nice article on `water models ` by adding two additional sites L, usually +massless, where the charge associated with the oxygen atom is placed. +These sites L are located at a fixed distance away from the oxygen atom, +forming a tetrahedral angle that is rotated by 90 degrees from the HOH +plane. Those sites thus somewhat approximate lone pairs of the oxygen +and consequently improve the water structure to become even more +"tetrahedral" in comparison to the :doc:`four-point TIP4P model +`. + +A suitable pair style with cutoff Coulomb would be: + +* :doc:`pair_style lj/cut/coul/cut ` + +or these commands for a long-range model: + +* :doc:`pair_style lj/cut/coul/long ` +* :doc:`pair_style lj/cut/coul/long/soft ` +* :doc:`kspace_style pppm ` +* :doc:`kspace_style pppm/disp ` + +A TIP5P model *must* be run using a :doc:`rigid fix ` since +there is no other option to keep this kind of structure rigid in LAMMPS. +In order to avoid that LAMMPS produces an error due to the massless L +sites, those need to be assigned a tiny non-zero mass. + +The table below lists the force field parameters (in real :doc:`units +`) to for a the TIP5P model with a cutoff :ref:`(Mahoney) +` and the TIP5P-E model :ref:`(Rick) ` for use with a +long-range Coulombic solver (e.g. Ewald or PPPM in LAMMPS). + + .. list-table:: + :header-rows: 1 + :widths: auto + + * - Parameter + - TIP5P + - TIP5P-E + * - O mass (amu) + - 15.9994 + - 15.9994 + * - H mass (amu) + - 1.008 + - 1.008 + * - O charge (:math:`e`) + - 0.0 + - 0.0 + * - L charge (:math:`e`) + - -0.241 + - -0.241 + * - H charge (:math:`e`) + - 0.241 + - 0.241 + * - LJ :math:`\epsilon` of OO (kcal/mole) + - 0.1600 + - 0.1780 + * - LJ :math:`\sigma` of OO (:math:`\AA`) + - 3.1200 + - 3.0970 + * - LJ :math:`\epsilon` of HH, LL, OH, OL, HL (kcal/mole) + - 0.0 + - 0.0 + * - LJ :math:`\sigma` of HH, LL, OH, OL, HL (:math:`\AA`) + - 1.0 + - 1.0 + * - :math:`r_0` of OH bond (:math:`\AA`) + - 0.9572 + - 0.9572 + * - :math:`\theta_0` of HOH angle + - 104.52\ :math:`^{\circ}` + - 104.52\ :math:`^{\circ}` + * - OL distance (:math:`\AA`) + - 0.70 + - 0.70 + * - :math:`\theta_0` of LOL angle + - 109.47\ :math:`^{\circ}` + - 109.47\ :math:`^{\circ}` + +Below is the code for a LAMMPS input file for setting up a simulation of +TIP5P water with a molecule file. Because of using :doc:`fix +rigid/nvt/small ` no bonds need to be defined and thus no +extra storage needs to be reserved for them, but we need to switch to +atom style full or use :doc:`fix property/atom mol ` +so that fix rigid/nvt/small can identify rigid bodies by their molecule +ID: + +.. code-block:: LAMMPS + + units real + atom_style charge + region box block -5 5 -5 5 -5 5 + create_box 3 box + + mass 1 15.9994 + mass 2 1.008 + mass 3 1.0e-100 + + pair_style lj/cut/coul/cut 8.0 + pair_coeff 1 1 0.160 3.12 + pair_coeff 2 2 0.0 1.0 + pair_coeff 3 3 0.0 1.0 + + fix mol all property/atom mol + molecule water tip5p.mol + create_atoms 0 random 33 34564 NULL mol water 25367 overlap 1.33 + + timestep 0.20 + fix integrate all rigid/nvt/small molecule temp 300.0 300.0 1.0 + reset_timestep 0 + velocity all create 300.0 5463576 + + thermo_style custom step temp press etotal density pe ke + thermo 1000 + run 20000 + write_data tip5p.data nocoeff + +.. _tip5p_molecule: +.. code-block:: + + # Water molecule. Explicit TIP5P geometry for use with fix rigid + + 5 atoms + + Coords + + 1 0.00000 -0.06556 0.00000 + 2 0.75695 0.52032 0.00000 + 3 -0.75695 0.52032 0.00000 + 4 0.00000 -0.46971 0.57154 + 5 0.00000 -0.46971 -0.57154 + + Types + + 1 1 # O + 2 2 # H + 3 2 # H + 4 3 # L + 5 3 # L + + Charges + + 1 0.000 + 2 0.241 + 3 0.241 + 4 -0.241 + 5 -0.241 + +Wikipedia also has a nice article on `water models `_. + +---------- + +.. _Mahoney: + +**(Mahoney)** Mahoney, Jorgensen, J Chem Phys 112, 8910 (2000) + +.. _Rick: + +**(Rick)** Rick, J Chem Phys 120, 6085 (2004) diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index fdacbf9c4c..0349c894a2 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -1,5 +1,6 @@ aa aat +Abascal abc abf ABI @@ -1985,6 +1986,7 @@ magelec Maginn magneton magnetons +Mahoney mainboard mainboards makefile @@ -3186,6 +3188,7 @@ Sandia sandybrown sanitizer Sanyal +Sanz Sarath sc scafacos From 2507e414d9e4c38f4c7d0bc9cfdee4daf51c5538 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 28 Feb 2023 18:11:05 -0500 Subject: [PATCH 186/448] fix broken link --- doc/src/fix_adapt.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/fix_adapt.rst b/doc/src/fix_adapt.rst index 8dda1b3bb6..926b8ed0c6 100644 --- a/doc/src/fix_adapt.rst +++ b/doc/src/fix_adapt.rst @@ -153,7 +153,7 @@ formulas for the meaning of these parameters: +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`coul/slater/long ` | scale | type pairs | +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`coul/streitz ` | scale | type pairs | +| :doc:`coul/streitz ` | scale | type pairs | +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`eam, eam/alloy, eam/fs ` | scale | type pairs | +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ From 103e63eca532476df63abb586ca4b716aaf1aa35 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 28 Feb 2023 18:58:57 -0500 Subject: [PATCH 187/448] more careful checks and print error messages to global root. --- src/REPLICA/fix_alchemy.cpp | 83 +++++++++++++++++++++++++------------ src/variable.cpp | 2 +- 2 files changed, 58 insertions(+), 27 deletions(-) diff --git a/src/REPLICA/fix_alchemy.cpp b/src/REPLICA/fix_alchemy.cpp index 2f99f667b6..c6617c4600 100644 --- a/src/REPLICA/fix_alchemy.cpp +++ b/src/REPLICA/fix_alchemy.cpp @@ -35,12 +35,12 @@ using namespace FixConst; FixAlchemy::FixAlchemy(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), commbuf(nullptr) { - if (narg != 4) error->all(FLERR, "Incorrect number of arguments for fix alchemy"); - if (universe->nworlds != 2) error->all(FLERR, "Must use exactly two partitions"); + if (narg != 4) error->universe_all(FLERR, "Incorrect number of arguments for fix alchemy"); + if (universe->nworlds != 2) error->universe_all(FLERR, "Must use exactly two partitions"); if (utils::strmatch(arg[3], "^v_")) id_lambda = arg[3] + 2; else - error->all(FLERR, "Must use variable as lambda argument to fix alchemy"); + error->universe_all(FLERR, "Must use variable as lambda argument to fix alchemy"); lambda = epot[0] = epot[1] = epot[2] = 0.0; progress = 0; @@ -73,7 +73,9 @@ FixAlchemy::FixAlchemy(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), int allfail = 0; MPI_Allreduce(&fail, &allfail, 1, MPI_INT, MPI_MAX, universe->uworld); if (allfail) - error->all(FLERR, "Number of atoms and domain decomposition must match for both partitions"); + error->universe_all(FLERR, + "Number of atoms and domain decomposition must be the same " + "on all partitions"); id_pe = std::string(id) + "_pe"; pe = modify->add_compute(id_pe + " all pe"); @@ -130,17 +132,19 @@ void FixAlchemy::init() memory->create(commbuf, sizeof(double) * nmax, "alchemy:nmax"); if (modify->get_fix_by_style("^balance").size() > 0) - error->all(FLERR, "Fix alchemy is not compatible with load balancing"); + error->universe_all(FLERR, "Fix alchemy is not compatible with load balancing"); if (modify->get_fix_by_style("^alchemy").size() > 1) - error->all(FLERR, "There may only one fix alchemy at a time"); + error->universe_all(FLERR, "There may only one fix alchemy at a time"); + + if (utils::strmatch(update->integrate_style, "^respa")) + error->universe_all(FLERR, "Must not use run style respa with fix alchemy"); ivar = input->variable->find(id_lambda.c_str()); if (ivar < 0) - error->universe_one(FLERR, fmt::format("Variable {} for fix alchemy does not exist", id_lambda)); + error->universe_one(FLERR, fmt::format("Fix alchemy variable {} does not exist", id_lambda)); if (!input->variable->equalstyle(ivar)) - error->universe_one(FLERR, - fmt::format("Variable {} for fix alchemy is invalid style", id_lambda)); + error->universe_one(FLERR, fmt::format("Fix alchemy variable {} is invalid style", id_lambda)); lambda = input->variable->compute_equal(ivar); // synchronize box dimensions, determine if resync during run will be needed. @@ -156,33 +160,60 @@ void FixAlchemy::init() void FixAlchemy::setup(int vflag) { - if (utils::strmatch(update->integrate_style, "^respa")) { - auto respa = dynamic_cast(update->integrate); - respa->copy_flevel_f(ilevel_respa); - post_force_respa(vflag, ilevel_respa, 0); - respa->copy_f_flevel(ilevel_respa); - } else { - post_force(vflag); - } - if (universe->me == 0) { - double delta = update->ntimestep - update->beginstep; - if ((delta != 0.0) && (update->beginstep != update->endstep)) - delta /= update->endstep - update->beginstep; - progress = static_cast(delta*100.0); - auto msg = fmt::format("Starting alchemical transformation at {:>3d}%\n", progress); + progress = 0; + auto msg = fmt::format("Starting alchemical run\n"); if (universe->uscreen) fmt::print(universe->uscreen, msg); if (universe->ulogfile) fmt::print(universe->ulogfile, msg); } + + // recheck domain decomposition, atom ordering, and synchronize positions + + post_integrate(); + + // mix initial forces + + post_force(vflag); } /* ---------------------------------------------------------------------- */ void FixAlchemy::post_integrate() { + // re-check that we have the same domain decomposition on all ranks + const int nlocal = atom->nlocal; + int my_nlocal[2] = {0, 0}; + int all_nlocal[2] = {0, 0}; + my_nlocal[universe->iworld] = nlocal; + MPI_Allreduce(my_nlocal, all_nlocal, 2, MPI_INT, MPI_SUM, samerank); + int fail = (all_nlocal[0] == all_nlocal[1]) ? 0 : 1; + int allfail = 0; + MPI_Allreduce(&fail, &allfail, 1, MPI_INT, MPI_MAX, universe->uworld); + if (allfail) + error->universe_all(FLERR, + "Number of atoms and domain decomposition must be the same on " + "all partitions"); + + // check that we have the same atom order on all ranks + // re-use communication buffer for positions and forces + + tagint *tagbuf = (tagint *) commbuf; + tagint *tag = atom->tag; + if (universe->iworld == 0) { + for (int i = 0; i < nlocal; ++i) tagbuf[i] = tag[i]; + } + MPI_Bcast(tagbuf, nlocal, MPI_LMP_TAGINT, 0, samerank); + fail = allfail = 0; + if (universe->iworld > 0) { + for (int i = 0; i < nlocal; ++i) + if (tag[i] != tagbuf[i]) fail = 1; + } + MPI_Allreduce(&fail, &allfail, 1, MPI_INT, MPI_MAX, universe->uworld); + if (allfail) error->universe_all(FLERR, "Atoms must have the same order on all partitions"); + // synchronize atom positions - const int nall = atom->nlocal + atom->nghost; + const int nall = atom->nlocal; MPI_Bcast(&atom->x[0][0], 3 * nall, MPI_DOUBLE, 0, samerank); // synchronize box dimensions, if needed @@ -228,10 +259,10 @@ void FixAlchemy::post_force(int /*vflag*/) double delta = update->ntimestep - update->beginstep; if ((delta != 0.0) && (update->beginstep != update->endstep)) delta /= update->endstep - update->beginstep; - int status = static_cast(delta*100.0); + int status = static_cast(delta * 100.0); if ((status / 10) > (progress / 10)) { progress = status; - auto msg = fmt::format(" Alchemical transformation progress: {:>3d}%\n", progress); + auto msg = fmt::format(" Alchemical run progress: {:>3d}%\n", progress); if (universe->uscreen) fmt::print(universe->uscreen, msg); if (universe->ulogfile) fmt::print(universe->ulogfile, msg); } diff --git a/src/variable.cpp b/src/variable.cpp index 2ac9bd0364..fffd9b35c3 100644 --- a/src/variable.cpp +++ b/src/variable.cpp @@ -239,7 +239,7 @@ void Variable::set(int narg, char **arg) style[nvar] = WORLD; num[nvar] = narg - 2; if (num[nvar] != universe->nworlds) - error->all(FLERR,"World variable count doesn't match # of partitions"); + error->universe_all(FLERR,"World variable count doesn't match # of partitions"); which[nvar] = universe->iworld; pad[nvar] = 0; data[nvar] = new char*[num[nvar]]; From bc4da2afef42a5c9d23d87cf22422cd3ec81f115 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 28 Feb 2023 19:26:18 -0500 Subject: [PATCH 188/448] roll back change causing unittest failures --- src/variable.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/variable.cpp b/src/variable.cpp index fffd9b35c3..2ac9bd0364 100644 --- a/src/variable.cpp +++ b/src/variable.cpp @@ -239,7 +239,7 @@ void Variable::set(int narg, char **arg) style[nvar] = WORLD; num[nvar] = narg - 2; if (num[nvar] != universe->nworlds) - error->universe_all(FLERR,"World variable count doesn't match # of partitions"); + error->all(FLERR,"World variable count doesn't match # of partitions"); which[nvar] = universe->iworld; pad[nvar] = 0; data[nvar] = new char*[num[nvar]]; From 11172c19491cbb5dd0c3247eb5f362a73f1b7979 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 28 Feb 2023 21:49:31 -0500 Subject: [PATCH 189/448] make biga0 and r0 accessible via Pair::extract() and add pair style to table in fix adapt --- doc/src/fix_adapt.rst | 2 ++ src/EXTRA-PAIR/pair_born_gauss.cpp | 2 ++ src/EXTRA-PAIR/pair_born_gauss.h | 2 +- unittest/force-styles/tests/atomic-pair-born_gauss.yaml | 2 ++ 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/doc/src/fix_adapt.rst b/doc/src/fix_adapt.rst index a3e851faf0..e74d75472f 100644 --- a/doc/src/fix_adapt.rst +++ b/doc/src/fix_adapt.rst @@ -133,6 +133,8 @@ formulas for the meaning of these parameters: +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`born/coul/long, born/coul/msm ` | coulombic_cutoff | type global | +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ +| :doc:`born/gauss ` | biga0,biga1,r0 | type pairs | ++------------------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`buck, buck/coul/cut ` | a,c | type pairs | +------------------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`buck/coul/long, buck/coul/msm ` | a,c,coulombic_cutoff | type pairs | diff --git a/src/EXTRA-PAIR/pair_born_gauss.cpp b/src/EXTRA-PAIR/pair_born_gauss.cpp index aa4aa4e4bc..062ed4aabe 100644 --- a/src/EXTRA-PAIR/pair_born_gauss.cpp +++ b/src/EXTRA-PAIR/pair_born_gauss.cpp @@ -363,6 +363,8 @@ double PairBornGauss::single(int /*i*/, int /*j*/, int itype, int jtype, double void *PairBornGauss::extract(const char *str, int &dim) { dim = 2; + if (strcmp(str, "biga0") == 0) return (void *) biga0; if (strcmp(str, "biga1") == 0) return (void *) biga1; + if (strcmp(str, "r0") == 0) return (void *) r0; return nullptr; } diff --git a/src/EXTRA-PAIR/pair_born_gauss.h b/src/EXTRA-PAIR/pair_born_gauss.h index c4938c602c..cc3eacc702 100644 --- a/src/EXTRA-PAIR/pair_born_gauss.h +++ b/src/EXTRA-PAIR/pair_born_gauss.h @@ -44,7 +44,7 @@ class PairBornGauss : public Pair { void *extract(const char *, int &) override; protected: - double cut_global, temperature; + double cut_global; double **cut; double **biga0, **alpha, **biga1, **beta, **r0; double **offset; diff --git a/unittest/force-styles/tests/atomic-pair-born_gauss.yaml b/unittest/force-styles/tests/atomic-pair-born_gauss.yaml index ed68b5fee6..164f60e332 100644 --- a/unittest/force-styles/tests/atomic-pair-born_gauss.yaml +++ b/unittest/force-styles/tests/atomic-pair-born_gauss.yaml @@ -12,7 +12,9 @@ pair_style: born/gauss 8.0 pair_coeff: ! | * * 8.2464e13 12.48 0.042644277 0.44 3.56 extract: ! | + biga0 2 biga1 2 + r0 2 natoms: 32 init_vdwl: 2834.5490463003366 init_coul: 0 From e59d08ee8b61f9d6a5cfe4fd83d2d4049389bdf8 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Wed, 1 Mar 2023 10:22:07 +0200 Subject: [PATCH 190/448] Include method declaration in pair_lj_class2_coul_cut.h --- src/CLASS2/pair_lj_class2_coul_cut.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/CLASS2/pair_lj_class2_coul_cut.h b/src/CLASS2/pair_lj_class2_coul_cut.h index ca5d6830f5..c4e9ba2ec9 100644 --- a/src/CLASS2/pair_lj_class2_coul_cut.h +++ b/src/CLASS2/pair_lj_class2_coul_cut.h @@ -40,6 +40,7 @@ class PairLJClass2CoulCut : public Pair { void write_data(FILE *) override; void write_data_all(FILE *) override; double single(int, int, int, int, double, double, double, double &) override; + void born_matrix(int, int, int, int, double, double, double, double &, double &) override; void *extract(const char *, int &) override; protected: From 85f3d6eaef260a47d118f1aa5737e2819116f61c Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Wed, 1 Mar 2023 10:24:22 +0200 Subject: [PATCH 191/448] Implement born_matrix in pair_lj_class2_coul_cut.cpp --- src/CLASS2/pair_lj_class2_coul_cut.cpp | 32 ++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/src/CLASS2/pair_lj_class2_coul_cut.cpp b/src/CLASS2/pair_lj_class2_coul_cut.cpp index d05eb9acae..3f66f1550f 100644 --- a/src/CLASS2/pair_lj_class2_coul_cut.cpp +++ b/src/CLASS2/pair_lj_class2_coul_cut.cpp @@ -32,6 +32,7 @@ using namespace MathConst; PairLJClass2CoulCut::PairLJClass2CoulCut(LAMMPS *lmp) : Pair(lmp) { + born_matrix_enable = 1; writedata = 1; centroidstressflag = CENTROID_SAME; } @@ -470,6 +471,37 @@ double PairLJClass2CoulCut::single(int i, int j, int itype, int jtype, double rs /* ---------------------------------------------------------------------- */ +void PairLJClass2CoulCut::born_matrix(int i, int j, int itype, int jtype, double rsq, + double factor_coul, double factor_lj, double &dupair, + double &du2pair) +{ + double rinv, r2inv, r3inv, r7inv, r8inv; + double du_lj, du2_lj, du_coul, du2_coul; + + double *q = atom->q; + double qqrd2e = force->qqrd2e; + + r2inv = 1.0 / rsq; + rinv = sqrt(r2inv); + r3inv = r2inv * rinv; + r7inv = r3inv * r3inv * rinv; + r8inv = r7inv * rinv; + + // Reminder: lj1[i][j] = 18.0 * epsilon[i][j] * pow(sigma[i][j], 9.0); + // Reminder: lj2[i][j] = 18.0 * epsilon[i][j] * pow(sigma[i][j], 6.0); + du_lj = r7inv * (lj2[itype][jtype] - lj1[itype][jtype] * r3inv); + du2_lj = r8inv * (10 * lj1[itype][jtype] * r3inv - 7 * lj2[itype][jtype]); + + // Reminder: qqrd2e converts q^2/r to energy w/ dielectric constant + du_coul = -qqrd2e * q[i] * q[j] * r2inv; + du2_coul = 2.0 * qqrd2e * q[i] * q[j] * r3inv; + + dupair = factor_lj * du_lj + factor_coul * du_coul; + du2pair = factor_lj * du2_lj + factor_coul * du2_coul; +} + +/* ---------------------------------------------------------------------- */ + void *PairLJClass2CoulCut::extract(const char *str, int &dim) { dim = 2; From e0cc7aad97325d4bd11dc39242289121eeb5e666 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Wed, 1 Mar 2023 12:36:35 +0200 Subject: [PATCH 192/448] Include method declaration in pair_buck_coul_cut.h --- src/pair_buck_coul_cut.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pair_buck_coul_cut.h b/src/pair_buck_coul_cut.h index b5f19def38..3b13cb46b3 100644 --- a/src/pair_buck_coul_cut.h +++ b/src/pair_buck_coul_cut.h @@ -40,6 +40,7 @@ class PairBuckCoulCut : public Pair { void write_data(FILE *) override; void write_data_all(FILE *) override; double single(int, int, int, int, double, double, double, double &) override; + void born_matrix(int, int, int, int, double, double, double, double &, double &) override; void *extract(const char *, int &) override; protected: From 45009c8c66d6bf183b5be870a4d0d8a8e7d069c4 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Wed, 1 Mar 2023 12:38:23 +0200 Subject: [PATCH 193/448] Implement born_matrix in pair_buck_coul_cut.cpp --- src/pair_buck_coul_cut.cpp | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/src/pair_buck_coul_cut.cpp b/src/pair_buck_coul_cut.cpp index 4f85ccd430..369b77474f 100644 --- a/src/pair_buck_coul_cut.cpp +++ b/src/pair_buck_coul_cut.cpp @@ -36,6 +36,7 @@ using namespace MathConst; PairBuckCoulCut::PairBuckCoulCut(LAMMPS *lmp) : Pair(lmp) { + born_matrix_enable = 1; writedata = 1; } @@ -475,6 +476,43 @@ double PairBuckCoulCut::single(int i, int j, int itype, int jtype, double rsq, d /* ---------------------------------------------------------------------- */ +void PairBuckCoulCut::born_matrix(int i, int j, int itype, int jtype, double rsq, + double factor_coul, double factor_lj, double &dupair, + double &du2pair) +{ + double rinv, r2inv, r3inv, r6inv, r7inv, r8inv, r, rexp; + double du_lj, du2_lj, du_coul, du2_coul; + + double *q = atom->q; + double qqrd2e = force->qqrd2e; + + r = sqrt(rsq); + rexp = exp(-r*rhoinv[itype][jtype]); + + r2inv = 1.0 / rsq; + rinv = sqrt(r2inv); + r3inv = r2inv * rinv; + r6inv = r2inv * r2inv * r2inv; + r7inv = r6inv * rinv; + r8inv = r6inv * r2inv; + + // Reminder: buck1[itype][jtype] = a[itype][jtype]/rho[itype][jtype]; + // Reminder: buck2[itype][jtype] = 6.0*c[itype][jtype]; + + du_lj = buck2[itype][jtype] * r7inv - buck1[itype][jtype] * rexp; + du2_lj = (buck1[itype][jtype] / rho[itype][jtype]) * rexp - 7 * buck2[itype][jtype] * r8inv; + + // Reminder: qqrd2e converts q^2/r to energy w/ dielectric constant + + du_coul = -qqrd2e * q[i] * q[j] * r2inv; + du2_coul = 2.0 * qqrd2e * q[i] * q[j] * r3inv; + + dupair = factor_lj * du_lj + factor_coul * du_coul; + du2pair = factor_lj * du2_lj + factor_coul * du2_coul; +} + +/* ---------------------------------------------------------------------- */ + void *PairBuckCoulCut::extract(const char *str, int &dim) { dim = 2; From 060976bb262a559cb7d311e819e101985ea0154e Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Wed, 1 Mar 2023 18:29:56 +0200 Subject: [PATCH 194/448] Include method declaration in pair_coul_cut.h --- src/pair_coul_cut.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pair_coul_cut.h b/src/pair_coul_cut.h index dc3a3df64f..0890a7da33 100644 --- a/src/pair_coul_cut.h +++ b/src/pair_coul_cut.h @@ -40,6 +40,7 @@ class PairCoulCut : public Pair { void write_data(FILE *) override; void write_data_all(FILE *) override; double single(int, int, int, int, double, double, double, double &) override; + void born_matrix(int, int, int, int, double, double, double, double &, double &) override; void *extract(const char *, int &) override; protected: From b8922ffe07451907179321c64879e4c6ef249326 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Wed, 1 Mar 2023 18:30:51 +0200 Subject: [PATCH 195/448] Include method declaration in pair_coul_debye.h --- src/pair_coul_debye.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pair_coul_debye.h b/src/pair_coul_debye.h index 0f28efb46a..1d8b5760fa 100644 --- a/src/pair_coul_debye.h +++ b/src/pair_coul_debye.h @@ -32,6 +32,7 @@ class PairCoulDebye : public PairCoulCut { void write_restart_settings(FILE *) override; void read_restart_settings(FILE *) override; double single(int, int, int, int, double, double, double, double &) override; + void born_matrix(int, int, int, int, double, double, double, double &, double &) override; protected: double kappa; From fa57857cc0d67744847166a3c572454ff1755ac7 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Wed, 1 Mar 2023 18:32:11 +0200 Subject: [PATCH 196/448] Implement born_matrix in pair_coul_cut.cpp --- src/pair_coul_cut.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/pair_coul_cut.cpp b/src/pair_coul_cut.cpp index 9246e535fe..f0a749baa8 100644 --- a/src/pair_coul_cut.cpp +++ b/src/pair_coul_cut.cpp @@ -30,6 +30,7 @@ using namespace LAMMPS_NS; PairCoulCut::PairCoulCut(LAMMPS *lmp) : Pair(lmp) { + born_matrix_enable = 1; writedata = 1; } @@ -329,6 +330,31 @@ double PairCoulCut::single(int i, int j, int /*itype*/, int /*jtype*/, double rs /* ---------------------------------------------------------------------- */ +void PairCoulCut::born_matrix(int i, int j, int /*itype*/, int /*jtype*/, double rsq, + double factor_coul, double /*factor_lj*/, double &dupair, + double &du2pair) +{ + double rinv, r2inv, r3inv; + double du_coul, du2_coul; + + double *q = atom->q; + double qqrd2e = force->qqrd2e; + + r2inv = 1.0 / rsq; + rinv = sqrt(r2inv); + r3inv = r2inv * rinv; + + // Reminder: qqrd2e converts q^2/r to energy w/ dielectric constant + + du_coul = -qqrd2e * q[i] * q[j] * r2inv; + du2_coul = 2.0 * qqrd2e * q[i] * q[j] * r3inv; + + dupair = factor_coul * du_coul; + du2pair = factor_coul * du2_coul; +} + +/* ---------------------------------------------------------------------- */ + void *PairCoulCut::extract(const char *str, int &dim) { dim = 2; From 35a9771e235123c8be6124816d9377b1da3bf56b Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Wed, 1 Mar 2023 18:33:37 +0200 Subject: [PATCH 197/448] Implement born_matrix in pair_coul_debye.cpp --- src/pair_coul_debye.cpp | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/src/pair_coul_debye.cpp b/src/pair_coul_debye.cpp index 0f375f6e00..285b742074 100644 --- a/src/pair_coul_debye.cpp +++ b/src/pair_coul_debye.cpp @@ -26,7 +26,10 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -PairCoulDebye::PairCoulDebye(LAMMPS *lmp) : PairCoulCut(lmp) {} +PairCoulDebye::PairCoulDebye(LAMMPS *lmp) : PairCoulCut(lmp) +{ + born_matrix_enable = 1; +} /* ---------------------------------------------------------------------- */ @@ -177,3 +180,29 @@ double PairCoulDebye::single(int i, int j, int /*itype*/, int /*jtype*/, phicoul = force->qqrd2e * atom->q[i]*atom->q[j] * rinv * screening; return factor_coul*phicoul; } + +/* ---------------------------------------------------------------------- */ + +void PairCoulDebye::born_matrix(int i, int j, int /*itype*/, int /*jtype*/, double rsq, + double factor_coul, double /*factor_lj*/, double &dupair, + double &du2pair) +{ + double r, rinv, r2inv, r3inv, screening; + double du_coul, du2_coul; + + double *q = atom->q; + double qqrd2e = force->qqrd2e; + + r = sqrt(rsq); + r2inv = 1.0 / rsq; + rinv = sqrt(r2inv); + r3inv = r2inv * rinv; + screening = exp(-kappa*r); + + // Reminder: qqrd2e converts q^2/r to energy w/ dielectric constant + du_coul = -qqrd2e * q[i] * q[j] * r2inv * (1 + kappa * r) * screening; + du2_coul = qqrd2e * q[i] * q[j] * r3inv * (2 + 2 * kappa * r + kappa * kappa * rsq) * screening; + + dupair = factor_coul * du_coul; + du2pair = factor_coul * du2_coul; +} From 512eead15aa4b15a0a5982f085b0fbf4fced2dfe Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Wed, 1 Mar 2023 12:08:33 -0700 Subject: [PATCH 198/448] Fix logic issues in Kokkos neigh build --- src/KOKKOS/npair_kokkos.cpp | 150 ++++++++++++++++++------------------ src/KOKKOS/npair_kokkos.h | 10 --- 2 files changed, 76 insertions(+), 84 deletions(-) diff --git a/src/KOKKOS/npair_kokkos.cpp b/src/KOKKOS/npair_kokkos.cpp index 3ead5a2e34..d2db8ace57 100644 --- a/src/KOKKOS/npair_kokkos.cpp +++ b/src/KOKKOS/npair_kokkos.cpp @@ -243,6 +243,8 @@ void NPairKokkos::build(NeighList *list_) #endif if (GHOST) { + // assumes newton off + NPairKokkosBuildFunctorGhost f(data,atoms_per_bin * 5 * sizeof(X_FLOAT) * factor); #ifdef LMP_KOKKOS_GPU if (ExecutionSpaceFromDevice::space == Device) { @@ -262,7 +264,7 @@ void NPairKokkos::build(NeighList *list_) #endif } else { if (SIZE) { - NPairKokkosBuildFunctorSize f(data,atoms_per_bin * 6 * sizeof(X_FLOAT) * factor); + NPairKokkosBuildFunctorSize f(data,atoms_per_bin * 6 * sizeof(X_FLOAT) * factor); #ifdef LMP_KOKKOS_GPU if (ExecutionSpaceFromDevice::space == Device) { int team_size = atoms_per_bin*factor; @@ -280,7 +282,7 @@ void NPairKokkos::build(NeighList *list_) Kokkos::parallel_for(nall, f); #endif } else { - NPairKokkosBuildFunctor f(data,atoms_per_bin * 5 * sizeof(X_FLOAT) * factor); + NPairKokkosBuildFunctor f(data,atoms_per_bin * 5 * sizeof(X_FLOAT) * factor); #ifdef LMP_KOKKOS_GPU if (ExecutionSpaceFromDevice::space == Device) { int team_size = atoms_per_bin*factor; @@ -402,7 +404,6 @@ KOKKOS_FUNCTION void NeighborKokkosExecute:: build_Item(const int &i) const { - /* if necessary, goto next page and add pages */ int n = 0; int which = 0; int moltemplate; @@ -422,24 +423,30 @@ void NeighborKokkosExecute:: const typename ArrayTypes::t_int_1d_const_um stencil = d_stencil; - // loop over all bins in neighborhood (includes ibin) - if (HalfNeigh) + // loop over rest of atoms in i's bin, ghosts are at end of linked list + // if j is owned atom, store it, since j is beyond i in linked list + // if j is ghost, only store if j coords are "above and to the right" of i + + if (HalfNeigh && Newton && !Tri) for (int m = 0; m < c_bincount(ibin); m++) { const int j = c_bins(ibin,m); - const int jtype = type(j); - //for same bin as atom i skip j if i==j and skip atoms "below and to the left" if using HalfNeighborlists - if ((j == i) || (HalfNeigh && !Newton && (j < i)) || - (HalfNeigh && Newton && ((j < i) || ((j >= nlocal) && - ((x(j, 2) < ztmp) || (x(j, 2) == ztmp && x(j, 1) < ytmp) || - (x(j, 2) == ztmp && x(j, 1) == ytmp && x(j, 0) < xtmp))))) - ) continue; + if (j >= nlocal) { + if (x(j,2) < ztmp) continue; + if (x(j,2) == ztmp) { + if (x(j,1) < ytmp) continue; + if (x(j,1) == ytmp && x(j,0) < xtmp) continue; + } + } + + const int jtype = type(j); if (exclude && exclusion(i,j,itype,jtype)) continue; const X_FLOAT delx = xtmp - x(j, 0); const X_FLOAT dely = ytmp - x(j, 1); const X_FLOAT delz = ztmp - x(j, 2); const X_FLOAT rsq = delx*delx + dely*dely + delz*delz; + if (rsq <= cutneighsq(itype,jtype)) { if (molecular != Atom::ATOMIC) { if (!moltemplate) @@ -470,17 +477,16 @@ void NeighborKokkosExecute:: for (int k = 0; k < nstencil; k++) { const int jbin = ibin + stencil[k]; + if (HalfNeigh && Newton && !Tri && (ibin == jbin)) continue; // get subview of jbin - if (HalfNeigh && (ibin==jbin)) continue; //const ArrayTypes::t_int_1d_const_um =Kokkos::subview(bins,jbin,ALL); for (int m = 0; m < c_bincount(jbin); m++) { const int j = c_bins(jbin,m); - const int jtype = type(j); - if (HalfNeigh && !Newton && (j < i)) continue; - if (!HalfNeigh && j==i) continue; - if (Tri) { + if (HalfNeigh && !Newton && j <= i) continue; + if (!HalfNeigh && j == i) continue; + if (HalfNeigh && Newton && Tri) { if (x(j,2) < ztmp) continue; if (x(j,2) == ztmp) { if (x(j,1) < ytmp) continue; @@ -490,6 +496,8 @@ void NeighborKokkosExecute:: } } } + + const int jtype = type(j); if (exclude && exclusion(i,j,itype,jtype)) continue; const X_FLOAT delx = xtmp - x(j, 0); @@ -522,7 +530,6 @@ void NeighborKokkosExecute:: else n++; } } - } } @@ -617,31 +624,27 @@ void NeighborKokkosExecute::build_ItemGPU(typename Kokkos::TeamPolic dev.team_barrier(); #endif + // loop over rest of atoms in i's bin, ghosts are at end of linked list + // if j is owned atom, store it, since j is beyond i in linked list + // if j is ghost, only store if j coords are "above and to the right" of i + + if (HalfNeigh && Newton && !Tri) if (i >= 0 && i < nlocal) { #pragma unroll 4 for (int m = 0; m < bincount_current; m++) { int j = other_id[m]; - const int jtype = other_x[m + 3 * atoms_per_bin]; - //for same bin as atom i skip j if i==j and skip atoms "below and to the left" if using halfneighborlists - if ((j == i) || - (HalfNeigh && !Newton && (j < i)) || - (HalfNeigh && Newton && - ((j < i) || - ((j >= nlocal) && ((x(j, 2) < ztmp) || (x(j, 2) == ztmp && x(j, 1) < ytmp) || - (x(j, 2) == ztmp && x(j, 1) == ytmp && x(j, 0) < xtmp))))) - ) continue; - if (Tri) { - if (x(j,2) < ztmp) continue; - if (x(j,2) == ztmp) { - if (x(j,1) < ytmp) continue; - if (x(j,1) == ytmp) { - if (x(j,0) < xtmp) continue; - if (x(j,0) == xtmp && j <= i) continue; - } - } + if (j >= nlocal) { + if (x(j,2) < ztmp) continue; + if (x(j,2) == ztmp) { + if (x(j,1) < ytmp) continue; + if (x(j,1) == ytmp && x(j,0) < xtmp) continue; } + } + + const int jtype = other_x[m + 3 * atoms_per_bin]; if (exclude && exclusion(i,j,itype,jtype)) continue; + const X_FLOAT delx = xtmp - other_x[m]; const X_FLOAT dely = ytmp - other_x[m + atoms_per_bin]; const X_FLOAT delz = ztmp - other_x[m + 2 * atoms_per_bin]; @@ -683,7 +686,7 @@ void NeighborKokkosExecute::build_ItemGPU(typename Kokkos::TeamPolic for (int k = 0; k < nstencil; k++) { const int jbin = ibin + stencil[k]; - if (ibin == jbin) continue; + if (HalfNeigh && Newton && !Tri && (ibin == jbin)) continue; bincount_current = c_bincount[jbin]; int j = MY_II < bincount_current ? c_bins(jbin, MY_II) : -1; @@ -703,12 +706,10 @@ void NeighborKokkosExecute::build_ItemGPU(typename Kokkos::TeamPolic #pragma unroll 8 for (int m = 0; m < bincount_current; m++) { const int j = other_id[m]; - const int jtype = other_x[m + 3 * atoms_per_bin]; - //if(HalfNeigh && (j < i)) continue; - if (HalfNeigh && !Newton && (j < i)) continue; - if (!HalfNeigh && j==i) continue; - if (Tri) { + if (HalfNeigh && !Newton && j <= i) continue; + if (!HalfNeigh && j == i) continue; + if (HalfNeigh && Newton && Tri) { if (x(j,2) < ztmp) continue; if (x(j,2) == ztmp) { if (x(j,1) < ytmp) continue; @@ -718,6 +719,8 @@ void NeighborKokkosExecute::build_ItemGPU(typename Kokkos::TeamPolic } } } + + const int jtype = other_x[m + 3 * atoms_per_bin]; if (exclude && exclusion(i,j,itype,jtype)) continue; const X_FLOAT delx = xtmp - other_x[m]; @@ -1091,17 +1094,23 @@ void NeighborKokkosExecute:: const int mask_history = 3 << SBBITS; // loop over all bins in neighborhood (includes ibin) - if (HalfNeigh) + // loop over rest of atoms in i's bin, ghosts are at end of linked list + // if j is owned atom, store it, since j is beyond i in linked list + // if j is ghost, only store if j coords are "above and to the right" of i + + if (HalfNeigh && Newton && !Tri) for (int m = 0; m < c_bincount(ibin); m++) { const int j = c_bins(ibin,m); - const int jtype = type(j); - //for same bin as atom i skip j if i==j and skip atoms "below and to the left" if using HalfNeighborlists - if ((j == i) || (HalfNeigh && !Newton && (j < i)) || - (HalfNeigh && Newton && ((j < i) || ((j >= nlocal) && - ((x(j, 2) < ztmp) || (x(j, 2) == ztmp && x(j, 1) < ytmp) || - (x(j, 2) == ztmp && x(j, 1) == ytmp && x(j, 0) < xtmp))))) - ) continue; + if (j >= nlocal) { + if (x(j,2) < ztmp) continue; + if (x(j,2) == ztmp) { + if (x(j,1) < ytmp) continue; + if (x(j,1) == ytmp && x(j,0) < xtmp) continue; + } + } + + const int jtype = type(j); if (exclude && exclusion(i,j,itype,jtype)) continue; const X_FLOAT delx = xtmp - x(j, 0); @@ -1123,17 +1132,16 @@ void NeighborKokkosExecute:: for (int k = 0; k < nstencil; k++) { const int jbin = ibin + stencil[k]; + if (HalfNeigh && Newton && !Tri && (ibin == jbin)) continue; // get subview of jbin - if (HalfNeigh && (ibin==jbin)) continue; //const ArrayTypes::t_int_1d_const_um =Kokkos::subview(bins,jbin,ALL); for (int m = 0; m < c_bincount(jbin); m++) { const int j = c_bins(jbin,m); - const int jtype = type(j); - if (HalfNeigh && !Newton && (j < i)) continue; - if (!HalfNeigh && j==i) continue; - if (Tri) { + if (HalfNeigh && !Newton && j <= i) continue; + if (!HalfNeigh && j == i) continue; + if (HalfNeigh && Newton && Tri) { if (x(j,2) < ztmp) continue; if (x(j,2) == ztmp) { if (x(j,1) < ytmp) continue; @@ -1143,6 +1151,8 @@ void NeighborKokkosExecute:: } } } + + const int jtype = type(j); if (exclude && exclusion(i,j,itype,jtype)) continue; const X_FLOAT delx = xtmp - x(j, 0); @@ -1239,30 +1249,21 @@ void NeighborKokkosExecute::build_ItemSizeGPU(typename Kokkos::TeamP dev.team_barrier(); #endif + if (HalfNeigh && Newton && !Tri) if (i >= 0 && i < nlocal) { #pragma unroll 4 for (int m = 0; m < bincount_current; m++) { int j = other_id[m]; - const int jtype = other_x[m + 3 * atoms_per_bin]; - //for same bin as atom i skip j if i==j and skip atoms "below and to the left" if using halfneighborlists - if ((j == i) || - (HalfNeigh && !Newton && (j < i)) || - (HalfNeigh && Newton && - ((j < i) || - ((j >= nlocal) && ((x(j, 2) < ztmp) || (x(j, 2) == ztmp && x(j, 1) < ytmp) || - (x(j, 2) == ztmp && x(j, 1) == ytmp && x(j, 0) < xtmp))))) - ) continue; - if (Tri) { + if (j >= nlocal) { if (x(j,2) < ztmp) continue; if (x(j,2) == ztmp) { if (x(j,1) < ytmp) continue; - if (x(j,1) == ytmp) { - if (x(j,0) < xtmp) continue; - if (x(j,0) == xtmp && j <= i) continue; - } + if (x(j,1) == ytmp && x(j,0) < xtmp) continue; } } + + const int jtype = other_x[m + 3 * atoms_per_bin]; if (exclude && exclusion(i,j,itype,jtype)) continue; const X_FLOAT delx = xtmp - other_x[m]; const X_FLOAT dely = ytmp - other_x[m + atoms_per_bin]; @@ -1288,6 +1289,7 @@ void NeighborKokkosExecute::build_ItemSizeGPU(typename Kokkos::TeamP const int jbin = ibin + stencil[k]; if (ibin == jbin) continue; + if (HalfNeigh && Newton && !Tri && (ibin == jbin)) continue; bincount_current = c_bincount[jbin]; int j = MY_II < bincount_current ? c_bins(jbin, MY_II) : -1; @@ -1308,12 +1310,10 @@ void NeighborKokkosExecute::build_ItemSizeGPU(typename Kokkos::TeamP #pragma unroll 8 for (int m = 0; m < bincount_current; m++) { const int j = other_id[m]; - const int jtype = other_x[m + 3 * atoms_per_bin]; - if (HalfNeigh && (j < i)) continue; - if (HalfNeigh && !Newton && (j < i)) continue; - if (!HalfNeigh && j==i) continue; - if (Tri) { + if (HalfNeigh && !Newton && j <= i) continue; + if (!HalfNeigh && j == i) continue; + if (HalfNeigh && Newton && Tri) { if (x(j,2) < ztmp) continue; if (x(j,2) == ztmp) { if (x(j,1) < ytmp) continue; @@ -1323,6 +1323,8 @@ void NeighborKokkosExecute::build_ItemSizeGPU(typename Kokkos::TeamP } } } + + const int jtype = other_x[m + 3 * atoms_per_bin]; if (exclude && exclusion(i,j,itype,jtype)) continue; const X_FLOAT delx = xtmp - other_x[m]; diff --git a/src/KOKKOS/npair_kokkos.h b/src/KOKKOS/npair_kokkos.h index 78d735f829..5eb32951e7 100644 --- a/src/KOKKOS/npair_kokkos.h +++ b/src/KOKKOS/npair_kokkos.h @@ -73,21 +73,11 @@ NPairStyle(half/bin/newtoff/kk/device, NPairKokkosHalfBinNewtoffTriDevice, NP_KOKKOS_DEVICE | NP_HALF | NP_BIN | NP_NEWTOFF | NP_TRI); -typedef NPairKokkos NPairKokkosHalfBinNewtonGhostHost; -NPairStyle(half/bin/newton/ghost/kk/host, - NPairKokkosHalfBinNewtonGhostHost, - NP_BIN | NP_KOKKOS_HOST | NP_HALF | NP_NEWTON | NP_GHOST | NP_ORTHO | NP_TRI); - typedef NPairKokkos NPairKokkosHalfBinNewtoffGhostHost; NPairStyle(half/bin/newtoff/ghost/kk/host, NPairKokkosHalfBinNewtoffGhostHost, NP_BIN | NP_KOKKOS_HOST | NP_HALF | NP_NEWTOFF | NP_GHOST | NP_ORTHO | NP_TRI); -typedef NPairKokkos NPairKokkosHalfBinNewtonGhostDevice; -NPairStyle(half/bin/newton/ghost/kk/device, - NPairKokkosHalfBinNewtonGhostDevice, - NP_KOKKOS_DEVICE | NP_HALF | NP_BIN | NP_NEWTON | NP_GHOST | NP_ORTHO | NP_TRI); - typedef NPairKokkos NPairKokkosHalfBinNewtoffGhostDevice; NPairStyle(half/bin/newtoff/ghost/kk/device, NPairKokkosHalfBinNewtoffGhostDevice, From ef6f4465af372d0b421c0b1b9c20551acadc03b6 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Wed, 1 Mar 2023 13:05:03 -0700 Subject: [PATCH 199/448] Need to keep check for newton on --- src/KOKKOS/npair_kokkos.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/KOKKOS/npair_kokkos.cpp b/src/KOKKOS/npair_kokkos.cpp index d2db8ace57..ee8da12c52 100644 --- a/src/KOKKOS/npair_kokkos.cpp +++ b/src/KOKKOS/npair_kokkos.cpp @@ -431,6 +431,7 @@ void NeighborKokkosExecute:: for (int m = 0; m < c_bincount(ibin); m++) { const int j = c_bins(ibin,m); + if (j <= i) continue; if (j >= nlocal) { if (x(j,2) < ztmp) continue; if (x(j,2) == ztmp) { @@ -634,6 +635,7 @@ void NeighborKokkosExecute::build_ItemGPU(typename Kokkos::TeamPolic for (int m = 0; m < bincount_current; m++) { int j = other_id[m]; + if (j <= i) continue; if (j >= nlocal) { if (x(j,2) < ztmp) continue; if (x(j,2) == ztmp) { @@ -1102,6 +1104,7 @@ void NeighborKokkosExecute:: for (int m = 0; m < c_bincount(ibin); m++) { const int j = c_bins(ibin,m); + if (j <= i) continue; if (j >= nlocal) { if (x(j,2) < ztmp) continue; if (x(j,2) == ztmp) { @@ -1255,6 +1258,7 @@ void NeighborKokkosExecute::build_ItemSizeGPU(typename Kokkos::TeamP for (int m = 0; m < bincount_current; m++) { int j = other_id[m]; + if (j <= i) continue; if (j >= nlocal) { if (x(j,2) < ztmp) continue; if (x(j,2) == ztmp) { From c1e14e09f3b8d3b76b90de365a61ec12d7dad0d5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 1 Mar 2023 17:16:36 -0500 Subject: [PATCH 200/448] add more source code. remove remnants of the fix page --- doc/src/Developer_write_pair.rst | 480 +++++++++++++++++++++++++++---- 1 file changed, 426 insertions(+), 54 deletions(-) diff --git a/doc/src/Developer_write_pair.rst b/doc/src/Developer_write_pair.rst index 9f333ae1b8..8426819613 100644 --- a/doc/src/Developer_write_pair.rst +++ b/doc/src/Developer_write_pair.rst @@ -15,8 +15,7 @@ one. Pair styles can be grouped in multiple categories: #. manybody interactions of point particles (e.g. :doc:`EAM `, :doc:`Tersoff `) #. complex interactions that include additional per-atom properties - (e.g. Discrete Element Models (DEM), Peridynamics, Ellipsoids, - Smoothed Particle Hydrodynamics (SPH)) + (e.g. Discrete Element Models (DEM), Peridynamics, Ellipsoids) In the text below we will discuss aspects of implementing pair styles in LAMMPS by looking at representative case studies. The design of LAMMPS @@ -31,20 +30,20 @@ parts of the LAMMPS code. As shown on the page for :doc:`writing or extending pair styles ` for the implementation of a pair style a new class must be written that is either directly or indirectly derived from the -``Pair`` class. In that derived class there are three *required* -methods in addition to the constructor that must be implemented since -they are "pure" in the base class: ``Pair::compute()``, -``Pair::settings()``, ``Pair::coeff()``. All other methods are optional -and have default implementations in the base class (most of which do -nothing), but they may need to be overridden depending on the -requirements of the model. +``Pair`` class. If that class is directly derived from ``Pair``, there +are three *required* methods in addition to the constructor that must be +implemented since they are "pure" in the base class: +``Pair::compute()``, ``Pair::settings()``, ``Pair::coeff()``. All other +methods are optional and have default implementations in the base class +(most of which do nothing), but they may need to be overridden depending +on the requirements of the model. Case 1: a pairwise additive model ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -In this section we will describe the complete procedure of adding -a simple pair style to LAMMPS: an empirical model that can be used -to model liquid mercury. +In this section we will describe the procedure of adding a simple pair +style to LAMMPS: an empirical model that can be used to model liquid +mercury. Model and general considerations """""""""""""""""""""""""""""""" @@ -71,8 +70,8 @@ For the application to mercury the following parameters are listed: - :math:`a_2 = -2.58717 \times 10^{-8} \; \textrm{eV/K}^{-2}` With the optional cutoff, this means we have a total of 5 or 6 -parameters for each pair of atom types. In addition we need to get the -temperature and a default cutoff value as global settings. +parameters for each pair of atom types. In addition we need to input a +default cutoff value as global setting. Because of the combination of Born-Mayer with a Gaussian, the pair style shall be named "born/gauss" and thus the class name would be @@ -88,7 +87,8 @@ Header file The first segment of any LAMMPS source should be the copyright and license statement. Note the marker in the first line to indicate to editors like emacs that this file is a C++ source, even though the .h -extension suggests a C source. +extension suggests a C source (this is a convention inherited from the +very beginning of the C++ version of LAMMPS). .. code-block:: c++ @@ -105,9 +105,9 @@ extension suggests a C source. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -Every pair style must be registered in LAMMPS by writing the following -lines of code in the second part of the header before the include guards -for the class definition: +Every pair style must be registered in LAMMPS by including the following +lines of code in the second part of the header after the copyright +message and before the include guards for the class definition: .. code-block:: c++ @@ -125,14 +125,17 @@ This second segment of the header file will be included by the ``Force`` class in ``force.cpp`` to build a map of "factory functions" that will create an instance of these classes and return a pointer to it. The map connects the name of the pair style, "born/gauss", to the name of the -class, ``PairBornGauss``. The list of header files to include is -automatically updated by the build system, so the presence of the file -in the ``src/EXTRA-PAIR`` folder and the enabling of the EXTRA-PAIR -package will trigger that LAMMPS includes the new pair style when it is -(re-)compiled. The "// clang-format" format comments are needed so that -running :ref:`clang-format ` on the file will not insert -blanks between "born", "/", and "gauss" which would break the -``PairStyle`` macro. +class, ``PairBornGauss``. Before including the headers, the ``PAIR_CLASS`` +define is set and the ``PairStyle(name,class)`` macro defined as needed. + +The list of header files to include is automatically updated by the +build system, so the presence of the file in the ``src/EXTRA-PAIR`` +folder and the enabling of the EXTRA-PAIR package will trigger that +LAMMPS includes the new pair style when it is (re-)compiled. The "// +clang-format" format comments are needed so that running +:ref:`clang-format ` on the file will not insert blanks +between "born", "/", and "gauss" which would break the ``PairStyle`` +macro. The third segment of the header is the actual class definition of the ``PairBornGauss`` class. This has the prototypes for all member @@ -183,7 +186,7 @@ placed after a "protected:" label. void *extract(const char *, int &) override; protected: - double cut_global, temperature; + double cut_global; double **cut; double **biga0, **alpha, **biga1, **beta, **r0; double **a0, **a1, **a2; @@ -194,19 +197,20 @@ placed after a "protected:" label. } // namespace LAMMPS_NS #endif -Some details of the class definition will be discussed later. +Details of the class definition will be discussed later. Implementation file """"""""""""""""""" -We move on to the implementation in the ``pair_born_gauss.cpp`` file. -This file also starts with the LAMMPS copyright and license header. -Below is typically the space where comments may be added with additional -information about this specific file, the author(s) and affiliation(s) -and email address(es) so the author can be easily contacted in case -there are questions about the implementation later. Since the file(s) -may be around for a long time, it is beneficial to use some kind of -"permanent" email address, if possible. +We move on to the implementation of the ``PairBornGauss`` class in the +``pair_born_gauss.cpp`` file. This file also starts with a LAMMPS +copyright and license header. Below the notice is typically the space +where comments may be added with additional information about this +specific file, the author(s) and affiliation(s) and email address(es) so +the author can be easily contacted in case there are questions about the +implementation later. Since the file(s) may be around for a long time, +it is beneficial to use some kind of "permanent" email address, if +possible. .. code-block:: c++ @@ -259,10 +263,8 @@ the constructor and the destructor. /* ---------------------------------------------------------------------- */ - PairBornGauss::PairBornGauss(LAMMPS *lmp) : Pair(lmp), temp(nullptr) + PairBornGauss::PairBornGauss(LAMMPS *lmp) : Pair(lmp) { - single_enable = 1; - respa_enable = 0; writedata = 1; } @@ -270,36 +272,406 @@ the constructor and the destructor. PairBornGauss::~PairBornGauss() { + if (allocated) { + memory->destroy(setflag); + memory->destroy(cutsq); + memory->destroy(cut); + memory->destroy(biga0); + memory->destroy(alpha); + memory->destroy(biga1); + memory->destroy(beta); + memory->destroy(r0); + memory->destroy(offset); + } } -In the constructor you should parse your fix arguments which are -specified in the script. All fixes have pretty much the same syntax: -``fix ``. The -first 3 parameters are parsed by Fix base class constructor, while -```` should be parsed by you. In our case, we need to -specify how often we want to print an average velocity. For instance, -once in 50 timesteps: ``fix 1 print/vel 50``. There is a special variable -in the Fix class called ``nevery`` which specifies how often the method -``end_of_step()`` is called. Thus all we need to do is just set it up. +Pair styles are different from most classes in LAMMPS that define a +"style", as their constructor only uses the LAMMPS class instance +pointer as argument, but **not** the command line arguments of the +:doc:`pair_style command `. Instead, those arguments are +processed in the ``Pair::settings()`` function (or rather the version in +the derived class). The constructor is the place where global defaults +are set and specifically flags are set about which optional features of +a pair style are available. The `writedata = 1;` statement indicates +that the pair style is capable of writing the current pair coefficient +parameters to data files; in other words, that the class implements +specific versions for ``Pair::data()`` and ``Pair::data_all()``. Other +statements that could be added would be `single_enable = 1;` or +`respa_enable = 0;` to indicate that the ``Pair::single()`` function is +present and the ``Pair::compute_(inner|middle|outer)`` are not, but +those are also the default settings and already set in the base class. + +In the destructor we need to delete all memory that was allocated by the +pair style, usually to hold force field parameters that were entered +with the :doc:`pair_coeff command `. Most of those array +pointers will need to be declared in the derived class header, but some +(e.g. setflag, cutsq) are already declared in the base class. Settings and coefficients (required) """""""""""""""""""""""""""""""""""" -The next method we need to implement is ``setmask()``: +To enter the global pair style settings and the pair style parameters, +the functions ``Pair::settings()`` and ``Pair::coeff()`` need to be +reimplemented. The arguments to the ``settings()`` function are the +arguments given to the :doc:`pair_style command `, and the +arguments to the ``coeff()`` function are the arguments to the +:doc:`pair_coeff command ` but the function is also called +when processing the ``Pair Coeffs`` or ``PairIJ Coeffs`` sections of data +files. In the case of the ``Pair Coeffs`` section the first argument is +duplicated. .. code-block:: c++ - int FixPrintVel::setmask() + /* ---------------------------------------------------------------------- + allocate all arrays + ------------------------------------------------------------------------- */ + + void PairBornGauss::allocate() { - int mask = 0; - mask |= FixConst::END_OF_STEP; - return mask; + allocated = 1; + int np1 = atom->ntypes + 1; + + memory->create(setflag, np1, np1, "pair:setflag"); + for (int i = 1; i < np1; i++) + for (int j = i; j < np1; j++) setflag[i][j] = 0; + + memory->create(cutsq, np1, np1, "pair:cutsq"); + memory->create(cut, np1, np1, "pair:cut"); + memory->create(biga0, np1, np1, "pair:biga0"); + memory->create(alpha, np1, np1, "pair:alpha"); + memory->create(biga1, np1, np1, "pair:biga1"); + memory->create(beta, np1, np1, "pair:beta"); + memory->create(r0, np1, np1, "pair:r0"); + memory->create(offset, np1, np1, "pair:offset"); } + /* ---------------------------------------------------------------------- + global settings + ------------------------------------------------------------------------- */ + + void PairBornGauss::settings(int narg, char **arg) + { + if (narg != 1) error->all(FLERR, "Pair style bond/gauss must have exactly one argument"); + cut_global = utils::numeric(FLERR, arg[0], false, lmp); + + // reset per-type pair cutoffs that have been explicitly set previously + + if (allocated) { + for (int i = 1; i <= atom->ntypes; i++) + for (int j = i; j <= atom->ntypes; j++) + if (setflag[i][j]) cut[i][j] = cut_global; + } + } + + /* ---------------------------------------------------------------------- + set coeffs for one or more type pairs + ------------------------------------------------------------------------- */ + + void PairBornGauss::coeff(int narg, char **arg) + { + if (narg < 7 || narg > 8) error->all(FLERR, "Incorrect args for pair coefficients"); + if (!allocated) allocate(); + + int ilo, ihi, jlo, jhi; + utils::bounds(FLERR, arg[0], 1, atom->ntypes, ilo, ihi, error); + utils::bounds(FLERR, arg[1], 1, atom->ntypes, jlo, jhi, error); + + double biga0_one = utils::numeric(FLERR, arg[2], false, lmp); + double alpha_one = utils::numeric(FLERR, arg[3], false, lmp); + double biga1_one = utils::numeric(FLERR, arg[4], false, lmp); + double beta_one = utils::numeric(FLERR, arg[5], false, lmp); + double r0_one = utils::numeric(FLERR, arg[6], false, lmp); + double cut_one = cut_global; + if (narg == 10) cut_one = utils::numeric(FLERR, arg[7], false, lmp); + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + for (int j = MAX(jlo, i); j <= jhi; j++) { + biga0[i][j] = biga0_one; + alpha[i][j] = alpha_one; + biga1[i][j] = biga1_one; + beta[i][j] = beta_one; + r0[i][j] = r0_one; + cut[i][j] = cut_one; + setflag[i][j] = 1; + count++; + } + } + + if (count == 0) error->all(FLERR, "Incorrect args for pair coefficients"); + } + +Initialization +"""""""""""""" + +.. code-block:: c++ + + + /* ---------------------------------------------------------------------- + init for one type pair i,j and corresponding j,i + ------------------------------------------------------------------------- */ + + double PairBornGauss::init_one(int i, int j) + { + if (setflag[i][j] == 0) error->all(FLERR, "All pair coeffs are not set"); + + if (offset_flag) { + double dr = cut[i][j] - r0[i][j]; + offset[i][j] = + biga0[i][j] * exp(-alpha[i][j] * cut[i][j]) - biga1[i][j] * exp(-beta[i][j] * dr * dr); + } else + offset[i][j] = 0.0; + + biga0[j][i] = biga0[i][j]; + alpha[j][i] = alpha[i][j]; + biga1[j][i] = biga1[i][j]; + beta[j][i] = beta[i][j]; + r0[j][i] = r0[i][j]; + offset[j][i] = offset[i][j]; + + return cut[i][j]; + } + + + Computing forces from the neighbor list (required) """""""""""""""""""""""""""""""""""""""""""""""""" -xxxxxadfasdf +.. code-block:: c++ + + + /* ---------------------------------------------------------------------- */ + + void PairBornGauss::compute(int eflag, int vflag) + { + int i, j, ii, jj, inum, jnum, itype, jtype; + double xtmp, ytmp, ztmp, delx, dely, delz, evdwl, fpair; + double rsq, r, dr, aexp, bexp, factor_lj; + int *ilist, *jlist, *numneigh, **firstneigh; + + evdwl = 0.0; + ev_init(eflag, vflag); + + double **x = atom->x; + double **f = atom->f; + int *type = atom->type; + int nlocal = atom->nlocal; + double *special_lj = force->special_lj; + int newton_pair = force->newton_pair; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // loop over neighbors of my atoms + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + itype = type[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + factor_lj = special_lj[sbmask(j)]; + j &= NEIGHMASK; + + delx = xtmp - x[j][0]; + 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]) { + r = sqrt(rsq); + dr = r - r0[itype][jtype]; + aexp = biga0[itype][jtype] * exp(-alpha[itype][jtype] * r); + bexp = biga1[itype][jtype] * exp(-beta[itype][jtype] * dr * dr); + fpair = alpha[itype][jtype] * aexp; + fpair -= 2.0 * beta[itype][jtype] * dr * bexp; + fpair *= factor_lj / r; + + 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 (eflag) evdwl = factor_lj * (aexp - bexp - offset[itype][jtype]); + if (evflag) ev_tally(i, j, nlocal, newton_pair, evdwl, 0.0, fpair, delx, dely, delz); + } + } + } + + if (vflag_fdotr) virial_fdotr_compute(); + } + + +Computing force and energy for a single pair +"""""""""""""""""""""""""""""""""""""""""""" + +.. code-block:: c++ + + /* ---------------------------------------------------------------------- */ + + double PairBornGauss::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, + double /*factor_coul*/, double factor_lj, double &fforce) + { + double r, dr, aexp, bexp; + + r = sqrt(rsq); + dr = r - r0[itype][jtype]; + aexp = biga0[itype][jtype] * exp(-alpha[itype][jtype] * r); + bexp = biga1[itype][jtype] * exp(-beta[itype][jtype] * dr * dr); + + fforce = factor_lj * (alpha[itype][jtype] * aexp - 2.0 * dr * beta[itype][jtype] * bexp) / r; + return factor_lj * (aexp - bexp - offset[itype][jtype]); + } + + +Reading and writing of restart files +"""""""""""""""""""""""""""""""""""" + +.. code-block:: c++ + + /* ---------------------------------------------------------------------- + proc 0 writes to restart file + ------------------------------------------------------------------------- */ + + void PairBornGauss::write_restart(FILE *fp) + { + write_restart_settings(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(&biga0[i][j], sizeof(double), 1, fp); + fwrite(&alpha[i][j], sizeof(double), 1, fp); + fwrite(&biga1[i][j], sizeof(double), 1, fp); + fwrite(&beta[i][j], sizeof(double), 1, fp); + fwrite(&r0[i][j], sizeof(double), 1, fp); + fwrite(&cut[i][j], sizeof(double), 1, fp); + } + } + } + } + + /* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts + ------------------------------------------------------------------------- */ + + void PairBornGauss::read_restart(FILE *fp) + { + read_restart_settings(fp); + + allocate(); + + int i, j; + int me = comm->me; + for (i = 1; i <= atom->ntypes; i++) { + for (j = i; j <= atom->ntypes; j++) { + if (me == 0) utils::sfread(FLERR, &setflag[i][j], sizeof(int), 1, fp, nullptr, error); + MPI_Bcast(&setflag[i][j], 1, MPI_INT, 0, world); + if (setflag[i][j]) { + if (me == 0) { + utils::sfread(FLERR, &biga0[i][j], sizeof(double), 1, fp, nullptr, error); + utils::sfread(FLERR, &alpha[i][j], sizeof(double), 1, fp, nullptr, error); + utils::sfread(FLERR, &biga1[i][j], sizeof(double), 1, fp, nullptr, error); + utils::sfread(FLERR, &beta[i][j], sizeof(double), 1, fp, nullptr, error); + utils::sfread(FLERR, &r0[i][j], sizeof(double), 1, fp, nullptr, error); + utils::sfread(FLERR, &cut[i][j], sizeof(double), 1, fp, nullptr, error); + } + MPI_Bcast(&biga0[i][j], 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&alpha[i][j], 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&biga1[i][j], 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&beta[i][j], 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&r0[i][j], 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&cut[i][j], 1, MPI_DOUBLE, 0, world); + } + } + } + } + + /* ---------------------------------------------------------------------- + proc 0 writes to restart file + ------------------------------------------------------------------------- */ + + void PairBornGauss::write_restart_settings(FILE *fp) + { + fwrite(&cut_global, sizeof(double), 1, fp); + fwrite(&offset_flag, sizeof(int), 1, fp); + fwrite(&mix_flag, sizeof(int), 1, fp); + } + + /* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts + ------------------------------------------------------------------------- */ + + void PairBornGauss::read_restart_settings(FILE *fp) + { + if (comm->me == 0) { + utils::sfread(FLERR, &cut_global, sizeof(double), 1, fp, nullptr, error); + utils::sfread(FLERR, &offset_flag, sizeof(int), 1, fp, nullptr, error); + utils::sfread(FLERR, &mix_flag, sizeof(int), 1, fp, nullptr, error); + } + MPI_Bcast(&cut_global, 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&offset_flag, 1, MPI_INT, 0, world); + MPI_Bcast(&mix_flag, 1, MPI_INT, 0, world); + } + +Writing coefficients to data files +"""""""""""""""""""""""""""""""""" + +.. code-block:: + + /* ---------------------------------------------------------------------- + proc 0 writes to data file + ------------------------------------------------------------------------- */ + + void PairBornGauss::write_data(FILE *fp) + { + for (int i = 1; i <= atom->ntypes; i++) + fprintf(fp, "%d %g %g %g %g %g\n", i, biga0[i][i], alpha[i][i], biga1[i][i], beta[i][i], + r0[i][i]); + } + + /* ---------------------------------------------------------------------- + proc 0 writes all pairs to data file + ------------------------------------------------------------------------- */ + + void PairBornGauss::write_data_all(FILE *fp) + { + for (int i = 1; i <= atom->ntypes; i++) + for (int j = i; j <= atom->ntypes; j++) + fprintf(fp, "%d %d %g %g %g %g %g %g\n", i, j, biga0[i][j], alpha[i][j], biga1[i][j], + beta[i][j], r0[i][j], cut[i][j]); + } + + +Give access to internal data +"""""""""""""""""""""""""""" + +.. code-block:: + + /* ---------------------------------------------------------------------- */ + + void *PairBornGauss::extract(const char *str, int &dim) + { + dim = 2; + if (strcmp(str, "biga0") == 0) return (void *) biga0; + if (strcmp(str, "biga1") == 0) return (void *) biga1; + if (strcmp(str, "r0") == 0) return (void *) r0; + return nullptr; + } -------------- From 2ccfe635cef4fec352f32aeb58a047e1fbd99ac2 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Wed, 1 Mar 2023 16:38:50 -0600 Subject: [PATCH 201/448] Removed the outdated CUDA_PROXY flag, using CUDA_MPS_SUPPORT consistently in CMake and traditional builds --- cmake/Modules/Packages/GPU.cmake | 2 +- lib/gpu/Makefile.cuda | 2 +- lib/gpu/Makefile.cuda_mps | 2 +- lib/gpu/Makefile.oneapi | 2 +- lib/gpu/README | 4 +--- lib/gpu/lal_device.cpp | 2 +- 6 files changed, 6 insertions(+), 8 deletions(-) diff --git a/cmake/Modules/Packages/GPU.cmake b/cmake/Modules/Packages/GPU.cmake index c873af8d9f..8ac1decc86 100644 --- a/cmake/Modules/Packages/GPU.cmake +++ b/cmake/Modules/Packages/GPU.cmake @@ -62,7 +62,7 @@ if(GPU_API STREQUAL "CUDA") if(CUDPP_OPT) message(FATAL_ERROR "Must use -DCUDPP_OPT=OFF with -DCUDA_MPS_SUPPORT=ON") endif() - set(GPU_CUDA_MPS_FLAGS "-DCUDA_PROXY -DCUDA_MPS_SUPPORT") + set(GPU_CUDA_MPS_FLAGS "-DCUDA_MPS_SUPPORT") endif() set(GPU_ARCH "sm_50" CACHE STRING "LAMMPS GPU CUDA SM primary architecture (e.g. sm_60)") diff --git a/lib/gpu/Makefile.cuda b/lib/gpu/Makefile.cuda index e02501d080..be8003e02e 100644 --- a/lib/gpu/Makefile.cuda +++ b/lib/gpu/Makefile.cuda @@ -54,7 +54,7 @@ BIN2C = $(CUDA_HOME)/bin/bin2c CUDR_CPP = mpicxx -DMPI_GERYON -DUCL_NO_EXIT -DMPICH_IGNORE_CXX_SEEK -DOMPI_SKIP_MPICXX=1 -fPIC CUDR_OPTS = -O2 $(LMP_INC) -CUDR = $(CUDR_CPP) $(CUDR_OPTS) $(CUDA_PROXY) $(CUDA_PRECISION) $(CUDA_INCLUDE) \ +CUDR = $(CUDR_CPP) $(CUDR_OPTS) $(CUDA_MPS) $(CUDA_PRECISION) $(CUDA_INCLUDE) \ $(CUDPP_OPT) # Headers for Geryon diff --git a/lib/gpu/Makefile.cuda_mps b/lib/gpu/Makefile.cuda_mps index 45d1b3f678..06d2ef0339 100644 --- a/lib/gpu/Makefile.cuda_mps +++ b/lib/gpu/Makefile.cuda_mps @@ -30,7 +30,7 @@ AR = ar BSH = /bin/sh CUDPP_OPT = -CUDA_MPS = -DCUDA_PROXY -DCUDA_MPS_SUPPORT +CUDA_MPS = -DCUDA_MPS_SUPPORT # device code compiler and settings diff --git a/lib/gpu/Makefile.oneapi b/lib/gpu/Makefile.oneapi index d0ed78d0c4..9d11a0c4b0 100644 --- a/lib/gpu/Makefile.oneapi +++ b/lib/gpu/Makefile.oneapi @@ -18,7 +18,7 @@ OCL_CPP = mpiicpc -std=c++11 -diag-disable=10441 -DMPICH_IGNORE_CXX_SEEK \ $(LMP_INC) $(OCL_INC) $(CPP_OPT) OCL_LINK = -L$(ONEAPI_ROOT)/compiler/latest/linux/lib -lOpenCL OCL_PREC = -D_SINGLE_DOUBLE -OCL_TUNE = -DMPI_GERYON -DCUDA_PROXY -DGERYON_NUMA_FISSION -DUCL_NO_EXIT +OCL_TUNE = -DMPI_GERYON -DGERYON_NUMA_FISSION -DUCL_NO_EXIT BIN_DIR = ./ OBJ_DIR = ./ diff --git a/lib/gpu/README b/lib/gpu/README index ab7032b64d..51b21960ae 100644 --- a/lib/gpu/README +++ b/lib/gpu/README @@ -205,8 +205,7 @@ $(CUDA_HOME)/lib64/stubs), that can be used for linking. Best performance with the GPU library is typically with multiple MPI processes sharing the same GPU cards. For NVIDIA, this is most efficient with CUDA MPS enabled. To prevent runtime errors for GPUs configured in exclusive process -mode with MPS, the GPU library should be build with either of the equivalent --DCUDA_MPS_SUPPORT or -DCUDA_PROXY flags. +mode with MPS, the GPU library should be build with the -DCUDA_MPS_SUPPORT flag. ------------------------------------------------------------------------------ HIP BUILD NOTES @@ -244,7 +243,6 @@ _SINGLE_SINGLE Build library for single precision mode _SINGLE_DOUBLE Build library for mixed precision mode _DOUBLE_DOUBLE Build library for double precision mode CUDA_MPS_SUPPORT Do not generate errors for exclusive mode for CUDA -CUDA_PROXY Same as above MPI_GERYON Library should use MPI_Abort for unhandled errors GERYON_NUMA_FISSION Accelerators with main memory NUMA are split into multiple virtual accelerators for each NUMA node diff --git a/lib/gpu/lal_device.cpp b/lib/gpu/lal_device.cpp index dd3ce15827..891d67913e 100644 --- a/lib/gpu/lal_device.cpp +++ b/lib/gpu/lal_device.cpp @@ -277,7 +277,7 @@ int DeviceT::init_device(MPI_Comm /*world*/, MPI_Comm replica, const int ngpu, MPI_Comm_split(node_comm,my_gpu,0,&_comm_gpu); MPI_Comm_rank(_comm_gpu,&_gpu_rank); - #if !defined(CUDA_PROXY) && !defined(CUDA_MPS_SUPPORT) + #if !defined(CUDA_MPS_SUPPORT) if (_procs_per_gpu>1 && !gpu->sharing_supported(my_gpu)) return -7; #endif From a715a56afebcd35a7548ee6f1afd0f520ca2596e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 1 Mar 2023 20:41:00 -0500 Subject: [PATCH 202/448] fix typo --- doc/src/fix_wall.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/fix_wall.rst b/doc/src/fix_wall.rst index 7b38b6035c..2ca215bf71 100644 --- a/doc/src/fix_wall.rst +++ b/doc/src/fix_wall.rst @@ -371,7 +371,7 @@ is *no*, which means the system must be non-periodic when using a wall. But you may wish to use a periodic box. E.g. to allow some particles to interact with the wall via the fix group-ID, and others to pass through it and wrap around a periodic box. In this case you should ensure that -the wall if sufficiently far enough away from the box boundary. If you +the wall is sufficiently far enough away from the box boundary. If you do not, then particles may interact with both the wall and with periodic images on the other side of the box, which is probably not what you want. From 04d30329145047c0df69573a1ecd9ba35ef09cdb Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 1 Mar 2023 20:41:13 -0500 Subject: [PATCH 203/448] improve error messages --- src/read_data.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/read_data.cpp b/src/read_data.cpp index 59db1b6937..6785e51ecc 100644 --- a/src/read_data.cpp +++ b/src/read_data.cpp @@ -1985,7 +1985,8 @@ void ReadData::paircoeffs() next = strchr(buf, '\n'); *next = '\0'; parse_coeffs(buf, nullptr, 1, 2, toffset, tlabelflag, lmap->lmap2lmap.atom); - if (ncoeffarg == 0) error->all(FLERR, "Unexpected empty line in PairCoeffs section"); + if (ncoeffarg == 0) + error->all(FLERR, "Unexpected empty line in PairCoeffs section. Expected {} lines.", ntypes); force->pair->coeff(ncoeffarg, coeffarg); buf = next + 1; } @@ -2016,7 +2017,9 @@ void ReadData::pairIJcoeffs() next = strchr(buf, '\n'); *next = '\0'; parse_coeffs(buf, nullptr, 0, 2, toffset, tlabelflag, lmap->lmap2lmap.atom); - if (ncoeffarg == 0) error->all(FLERR, "Unexpected empty line in PairCoeffs section"); + if (ncoeffarg == 0) + error->all(FLERR, "Unexpected empty line in PairIJCoeffs section. " + "Expected {} lines.", (ntypes-1)*ntypes); force->pair->coeff(ncoeffarg, coeffarg); buf = next + 1; } @@ -2045,7 +2048,8 @@ void ReadData::bondcoeffs() next = strchr(buf, '\n'); *next = '\0'; parse_coeffs(buf, nullptr, 0, 1, boffset, blabelflag, lmap->lmap2lmap.bond); - if (ncoeffarg == 0) error->all(FLERR, "Unexpected empty line in BondCoeffs section"); + if (ncoeffarg == 0) + error->all(FLERR, "Unexpected empty line in BondCoeffs section. Expected {} lines.", nbondtypes); force->bond->coeff(ncoeffarg, coeffarg); buf = next + 1; } From c5c787ca5c04075507de7c0c8bc9d99baea9b00f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 1 Mar 2023 20:41:36 -0500 Subject: [PATCH 204/448] better align with docs bundled with the MSCG library --- doc/src/fix_mscg.rst | 66 ++++++++++++++++++++++---------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/doc/src/fix_mscg.rst b/doc/src/fix_mscg.rst index 5e9bc520b5..3255f3fbe9 100644 --- a/doc/src/fix_mscg.rst +++ b/doc/src/fix_mscg.rst @@ -40,15 +40,15 @@ Description This fix applies the Multi-Scale Coarse-Graining (MSCG) method to snapshots from a dump file to generate potentials for coarse-grained -simulations from all-atom simulations, using a force-matching -technique (:ref:`Izvekov `, :ref:`Noid `). +simulations from all-atom simulations, using a force-matching technique +(:ref:`Izvekov `, :ref:`Noid `). -It makes use of the MS-CG library, written and maintained by Greg -Voth's group at the University of Chicago, which is freely available -on their `MS-CG GitHub site `_. See instructions -on obtaining and installing the MS-CG library in the src/MSCG/README -file, which must be done before you build LAMMPS with this fix command -and use the command in a LAMMPS input script. +It makes use of the MS-CG library, written and maintained by Greg Voth's +group at the University of Chicago, which is freely available on their +`MS-CG GitHub site `_. +See instructions on obtaining and installing the MS-CG library in the +src/MSCG/README file, which must be done before you build LAMMPS with +this fix command and use the command in a LAMMPS input script. An example script using this fix is provided the examples/mscg directory. @@ -65,15 +65,18 @@ simulations is as follows: 6. Check the results of the force matching. 7. Run coarse-grained simulations using the new coarse-grained potentials. -This fix can perform the range finding and force matching steps 4 and -5 of the above workflow when used in conjunction with the -:doc:`rerun ` command. It does not perform steps 1-3 and 6-7. +This fix can perform the range finding and force matching steps 4 and 5 +of the above workflow when used in conjunction with the :doc:`rerun +` command. It does not perform steps 1-3 and 6-7. -Step 2 can be performed using a Python script (what is the name?) -provided with the MS-CG library which defines the coarse-grained model -and converts a standard LAMMPS dump file for an all-atom simulation -(step 1) into a LAMMPS dump file which has the positions of and forces -on the coarse-grained beads. +Step 2 can be performed using a Python script (cgmap), which defines the +coarse-grained model and converts a standard LAMMPS dump file for an +all-atom simulation (step 1) into a LAMMPS dump file which has the +positions of and forces on the coarse-grained beads. To use cgmap the +following repositories need to be downloaded and installed. + +#. The custom lammpsdata branch of mdtraj from https://github.com/hockyg/mdtraj/tree/lammpsdata +#. The master branch of cgmap from https://github.com/uchicago-voth/cgmap In step 3, an input file named "control.in" is needed by the MS-CG library which sets parameters for the range finding and force matching @@ -83,12 +86,12 @@ info on this file. When this fix is used to perform steps 4 and 5, the MS-CG library also produces additional output files. The range finder functionality -(step 4) outputs files defining pair and bonded interaction ranges. -The force matching functionality (step 5) outputs tabulated force -files for every interaction in the system. Other diagnostic files can -also be output depending on the parameters in the MS-CG library input -script. Again, see the documentation provided with the MS-CG library -for more info. +(step 4) outputs files defining pair and bonded interaction ranges. The +force matching functionality (step 5) outputs tabulated force files for +every interaction in the system. Other diagnostic files can also be +output depending on the parameters in the MS-CG library input script. +Again, see the documentation provided with the MS-CG library for more +info. ---------- @@ -97,8 +100,8 @@ be invoked. If *on*, the step 4 range finder functionality is invoked. *off*, the step 5 force matching functionality is invoked. If the *name* keyword is used, string names are defined to associate -with the integer atom types in LAMMPS. *Ntype* names must be -provided, one for each atom type (1-Ntype). +with the integer atom types in LAMMPS. *Ntype* names must be provided, +one for each atom type (1-Ntype). The *max* keyword specifies the maximum number of bonds, angles, and dihedrals a bead can have in the coarse-grained model. @@ -107,16 +110,13 @@ Restrictions """""""""""" This fix is part of the MSCG package. It is only enabled if LAMMPS was -built with that package. See the :doc:`Build package ` -doc page for more info. +built with that package. Building the MSCG package also requires +external libraries. See the :doc:`Build_package` and :doc:`Build_extras` +pages for more info. -The MS-CG library uses C++11, which may not be supported by older -compilers. The MS-CG library also has some additional numeric library -dependencies, which are described in its documentation. - -Currently, the MS-CG library is not setup to run in parallel with MPI, -so this fix can only be used in a serial LAMMPS build and run -on a single processor. +Currently, the MS-CG library is not set up to run in parallel with MPI, +so this fix can only be used in a serial LAMMPS build and run on a +single processor. Related commands """""""""""""""" From 8a1771aa61011195e14f8e1c6b640b1159cc6310 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 1 Mar 2023 20:52:15 -0500 Subject: [PATCH 205/448] implement documented pair style requirements for DPD-MESO intgreation fixes --- doc/src/fix_mvv_dpd.rst | 30 +++++++++++++++++------------- doc/src/pair_mesodpd.rst | 2 +- src/DPD-MESO/fix_mvv_dpd.cpp | 9 +++++++-- src/DPD-MESO/fix_mvv_edpd.cpp | 9 +++++++-- src/DPD-MESO/fix_mvv_tdpd.cpp | 8 ++++++-- 5 files changed, 38 insertions(+), 20 deletions(-) diff --git a/doc/src/fix_mvv_dpd.rst b/doc/src/fix_mvv_dpd.rst index efabab2183..c2f8a50391 100644 --- a/doc/src/fix_mvv_dpd.rst +++ b/doc/src/fix_mvv_dpd.rst @@ -65,33 +65,37 @@ a default value of 0.5 is used, which effectively reproduces the standard velocity-Verlet (VV) scheme. For more details, see :ref:`Groot `. -Fix *mvv/dpd* updates the position and velocity of each atom. It can -be used with the :doc:`pair_style mdpd ` command or other +Fix *mvv/dpd* updates the position and velocity of each atom. It can be +used with the :doc:`pair_style mdpd ` command or other pair styles such as :doc:`pair dpd `. -Fix *mvv/edpd* updates the per-atom temperature, in addition to -position and velocity, and must be used with the :doc:`pair_style edpd ` command. +Fix *mvv/edpd* updates the per-atom temperature, in addition to position +and velocity, and must be used with the :doc:`pair_style edpd +` command. -Fix *mvv/tdpd* updates the per-atom chemical concentration, in -addition to position and velocity, and must be used with the -:doc:`pair_style tdpd ` command. +Fix *mvv/tdpd* updates the per-atom chemical concentration, in addition +to position and velocity, and must be used with the :doc:`pair_style +tdpd ` command. ---------- Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options -are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various :doc:`output commands `. +No information about this fix is written to :doc:`binary restart files +`. None of the :doc:`fix_modify ` options are +relevant to this fix. No global or per-atom quantities are stored by +this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of -the :doc:`run ` command. This fix is not invoked during :doc:`energy minimization `. +the :doc:`run ` command. This fix is not invoked during +:doc:`energy minimization `. Restrictions """""""""""" -This fix is part of the DPD-MESO package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` page for more info. +These fixes are part of the DPD-MESO package. They are only enabled if +LAMMPS was built with that package. See the :doc:`Build package +` page for more info. Related commands """""""""""""""" diff --git a/doc/src/pair_mesodpd.rst b/doc/src/pair_mesodpd.rst index e5cd2643dd..5d244f3b1d 100644 --- a/doc/src/pair_mesodpd.rst +++ b/doc/src/pair_mesodpd.rst @@ -299,7 +299,7 @@ Restrictions """""""""""" The pair styles *edpd*, *mdpd*, *mdpd/rhosum* and *tdpd* are part of -the DPD-MESO package. It is only enabled if LAMMPS was built with +the DPD-MESO package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. diff --git a/src/DPD-MESO/fix_mvv_dpd.cpp b/src/DPD-MESO/fix_mvv_dpd.cpp index c475fa6651..18c88bd293 100644 --- a/src/DPD-MESO/fix_mvv_dpd.cpp +++ b/src/DPD-MESO/fix_mvv_dpd.cpp @@ -22,11 +22,13 @@ ------------------------------------------------------------------------- */ #include "fix_mvv_dpd.h" -#include + #include "atom.h" +#include "error.h" #include "force.h" #include "update.h" -#include "error.h" + +#include using namespace LAMMPS_NS; using namespace FixConst; @@ -65,6 +67,9 @@ void FixMvvDPD::init() dtv = update->dt; dtf = 0.5 * update->dt * force->ftm2v; + + if (!force->pair_match("^edpd",0) && !force->pair_match("^dpd",0)) + error->all(FLERR, "Must use a dpd or edpd pair style with fix mvv/edpd"); } /* ---------------------------------------------------------------------- diff --git a/src/DPD-MESO/fix_mvv_edpd.cpp b/src/DPD-MESO/fix_mvv_edpd.cpp index ac8ee858e3..03dd048119 100644 --- a/src/DPD-MESO/fix_mvv_edpd.cpp +++ b/src/DPD-MESO/fix_mvv_edpd.cpp @@ -31,11 +31,13 @@ ------------------------------------------------------------------------- */ #include "fix_mvv_edpd.h" -#include + #include "atom.h" +#include "error.h" #include "force.h" #include "update.h" -#include "error.h" + +#include using namespace LAMMPS_NS; using namespace FixConst; @@ -71,6 +73,9 @@ void FixMvvEDPD::init() { dtv = update->dt; dtf = 0.5 * update->dt * force->ftm2v; + + if (!force->pair_match("^edpd",0)) + error->all(FLERR, "Must use pair style edpd with fix mvv/edpd"); } /* ---------------------------------------------------------------------- diff --git a/src/DPD-MESO/fix_mvv_tdpd.cpp b/src/DPD-MESO/fix_mvv_tdpd.cpp index d579dc778a..f3894da214 100644 --- a/src/DPD-MESO/fix_mvv_tdpd.cpp +++ b/src/DPD-MESO/fix_mvv_tdpd.cpp @@ -27,11 +27,13 @@ ------------------------------------------------------------------------- */ #include "fix_mvv_tdpd.h" -#include + #include "atom.h" +#include "error.h" #include "force.h" #include "update.h" -#include "error.h" + +#include using namespace LAMMPS_NS; using namespace FixConst; @@ -69,6 +71,8 @@ void FixMvvTDPD::init() { dtv = update->dt; dtf = 0.5 * update->dt * force->ftm2v; + if (!force->pair_match("^tdpd",0)) + error->all(FLERR, "Must use pair style tdpd with fix mvv/tdpd"); } /* ---------------------------------------------------------------------- From e4e994f1b1bf9d57912dd26833eeed2280574635 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 1 Mar 2023 20:59:48 -0500 Subject: [PATCH 206/448] add missing versionadded tags --- doc/src/fix_wall.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/src/fix_wall.rst b/doc/src/fix_wall.rst index 2ca215bf71..cdf3c16cef 100644 --- a/doc/src/fix_wall.rst +++ b/doc/src/fix_wall.rst @@ -194,6 +194,8 @@ For style *wall/morse*, the energy E is given by a Morse potential: E = D_0 \left[ e^{- 2 \alpha (r - r_0)} - 2 e^{- \alpha (r - r_0)} \right] \qquad r < r_c +.. versionadded:: TBD + For style *wall/lepton*, the energy E is provided as an Lepton expression string using "r" as the distance variable. The `Lepton library `_, that the *wall/lepton* @@ -213,6 +215,8 @@ spring as in fix *wall/harmonic* with a force constant *K* (same as :math:`\epsilon` above) of 100 energy units. More details on the Lepton expression strings are given below. +.. versionadded:: TBD + For style *wall/table*, the energy E and forces are determined from interpolation tables listed in one or more files as a function of distance. The interpolation tables are used to evaluate energy and From 63a391a649511a28aad1d3b3041a6dc3fe06403a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 1 Mar 2023 21:05:22 -0500 Subject: [PATCH 207/448] replace leftover -DCUDA_PROXY --- doc/src/Build_extras.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/Build_extras.rst b/doc/src/Build_extras.rst index c4f9bf6aff..ac6a27464b 100644 --- a/doc/src/Build_extras.rst +++ b/doc/src/Build_extras.rst @@ -274,7 +274,7 @@ To enable GPU binning via CUDA performance primitives set the Makefile variable most modern GPUs. To support the CUDA multiprocessor server you can set the define -``-DCUDA_PROXY``. Please note that in this case you must **not** use +``-DCUDA_MPS_SUPPORT``. Please note that in this case you must **not** use the CUDA performance primitives and thus set the variable ``CUDPP_OPT`` to empty. From de466cf998d20c8689d4c6773c4011b6379f4c3d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 2 Mar 2023 07:31:33 -0500 Subject: [PATCH 208/448] improve documentation of the use of verlet/split run style. reformat. --- doc/src/run_style.rst | 154 +++++++++++++++++++++++------------------- 1 file changed, 86 insertions(+), 68 deletions(-) diff --git a/doc/src/run_style.rst b/doc/src/run_style.rst index 423ab762b3..0804ce5c82 100644 --- a/doc/src/run_style.rst +++ b/doc/src/run_style.rst @@ -78,27 +78,41 @@ processors. See the :doc:`-partition command-line switch ` for info on how to run LAMMPS with multiple partitions. Specifically, this style performs all computation except the -:doc:`kspace_style ` portion of the force field on the first -partition. This include the :doc:`pair style `, :doc:`bond style `, :doc:`neighbor list building `, -:doc:`fixes ` including time integration, and output. The -:doc:`kspace_style ` portion of the calculation is +:doc:`kspace_style ` portion of the force field on the +first partition. This include the :doc:`pair style `, +:doc:`bond style `, :doc:`neighbor list building +`, :doc:`fixes ` including time integration, and output. +The :doc:`kspace_style ` portion of the calculation is performed on the second partition. -This is most useful for the PPPM kspace_style when its performance on -a large number of processors degrades due to the cost of communication -in its 3d FFTs. In this scenario, splitting your P total processors -into 2 subsets of processors, P1 in the first partition and P2 in the -second partition, can enable your simulation to run faster. This is -because the long-range forces in PPPM can be calculated at the same -time as pairwise and bonded forces are being calculated, and the FFTs -can actually speed up when running on fewer processors. +This can lead to a significant speedup, if the number of processors can +be easily increased and the fraction of time is spent in computing +Kspace interactions is significant, too. The two partitions may have a +different number of processors. This is most useful for the PPPM +kspace_style when its performance on a large number of processors +degrades due to the cost of communication in its 3d FFTs. In this +scenario, splitting your P total processors into 2 subsets of +processors, P1 in the first partition and P2 in the second partition, +can enable your simulation to run faster. This is because the +long-range forces in PPPM can be calculated at the same time as pairwise +and bonded forces are being calculated *and* the parallel 3d FFTs can be +faster to compute when running on fewer processors. Please note that +the scenario of using fewer MPI processes to reduce communication +overhead can also be implemented through using MPI with OpenMP threads +via the INTEL, KOKKOS, or OPENMP package. This alternative option is +typically more effective in case of a fixed number of available +processors and less complex to execute. -To use this style, you must define 2 partitions where P1 is a multiple -of P2. Typically having P1 be 3x larger than P2 is a good choice. -The 3d processor layouts in each partition must overlay in the -following sense. If P1 is a Px1 by Py1 by Pz1 grid, and P2 = Px2 by -Py2 by Pz2, then Px1 must be an integer multiple of Px2, and similarly -for Py1 a multiple of Py2, and Pz1 a multiple of Pz2. +To use the *verlet/split* style, you must define 2 partitions with the +:doc:`-partition command-line switch `, where partition P1 +is either the same size or an integer multiple of the size of the +partition P2. Typically having P1 be 3x larger than P2 is a good +choice, since the (serial) performance of LAMMPS is often best if the +time spent in the ``Pair`` computation versus ``Kspace`` is a 3:1 split. +The 3d processor layouts in each partition must overlay in the following +sense. If P1 is a Px1 by Py1 by Pz1 grid, and P2 = Px2 by Py2 by Pz2, +then Px1 must be an integer multiple of Px2, and similarly for Py1 a +multiple of Py2, and Pz1 a multiple of Pz2. Typically the best way to do this is to let the first partition choose its own optimal layout, then require the second partition's layout to @@ -122,9 +136,10 @@ of 60 and 15 processors each: When you run in 2-partition mode with the *verlet/split* style, the thermodynamic data for the entire simulation will be output to the log and screen file of the first partition, which are log.lammps.0 and -screen.0 by default; see the :doc:`-plog and -pscreen command-line switches ` to change this. The log and screen file -for the second partition will not contain thermodynamic output beyond the -first timestep of the run. +screen.0 by default; see the :doc:`-plog and -pscreen command-line +switches ` to change this. The log and screen file for the +second partition will not contain thermodynamic output beyond the first +timestep of the run. See the :doc:`Accelerator packages ` page for performance details of the speed-up offered by the *verlet/split* @@ -137,70 +152,73 @@ options to support this, and strategies are discussed in :doc:`Section ---------- The *respa* style implements the rRESPA multi-timescale integrator -:ref:`(Tuckerman) ` with N hierarchical levels, where level 1 is -the innermost loop (shortest timestep) and level N is the outermost +:ref:`(Tuckerman) ` with N hierarchical levels, where level +1 is the innermost loop (shortest timestep) and level N is the outermost loop (largest timestep). The loop factor arguments specify what the -looping factor is between levels. N1 specifies the number of -iterations of level 1 for a single iteration of level 2, N2 is the -iterations of level 2 per iteration of level 3, etc. N-1 looping -parameters must be specified. +looping factor is between levels. N1 specifies the number of iterations +of level 1 for a single iteration of level 2, N2 is the iterations of +level 2 per iteration of level 3, etc. N-1 looping parameters must be +specified. -Thus with a 4-level respa setting of "2 2 2" for the 3 loop factors, -you could choose to have bond interactions computed 8x per large -timestep, angle interactions computed 4x, pair interactions computed -2x, and long-range interactions once per large timestep. +Thus with a 4-level respa setting of "2 2 2" for the 3 loop factors, you +could choose to have bond interactions computed 8x per large timestep, +angle interactions computed 4x, pair interactions computed 2x, and +long-range interactions once per large timestep. The :doc:`timestep ` command sets the large timestep for the outermost rRESPA level. Thus if the 3 loop factors are "2 2 2" for -4-level rRESPA, and the outer timestep is set to 4.0 fs, then the -inner timestep would be 8x smaller or 0.5 fs. All other LAMMPS -commands that specify number of timesteps (e.g. :doc:`thermo ` -for thermo output every N steps, :doc:`neigh_modify delay/every ` parameters, :doc:`dump ` every N -steps, etc) refer to the outermost timesteps. +4-level rRESPA, and the outer timestep is set to 4.0 fs, then the inner +timestep would be 8x smaller or 0.5 fs. All other LAMMPS commands that +specify number of timesteps (e.g. :doc:`thermo ` for thermo +output every N steps, :doc:`neigh_modify delay/every ` +parameters, :doc:`dump ` every N steps, etc) refer to the +outermost timesteps. -The rRESPA keywords enable you to specify at what level of the -hierarchy various forces will be computed. If not specified, the -defaults are that bond forces are computed at level 1 (innermost -loop), angle forces are computed where bond forces are, dihedral -forces are computed where angle forces are, improper forces are -computed where dihedral forces are, pair forces are computed at the -outermost level, and kspace forces are computed where pair forces are. -The inner, middle, outer forces have no defaults. +The rRESPA keywords enable you to specify at what level of the hierarchy +various forces will be computed. If not specified, the defaults are +that bond forces are computed at level 1 (innermost loop), angle forces +are computed where bond forces are, dihedral forces are computed where +angle forces are, improper forces are computed where dihedral forces +are, pair forces are computed at the outermost level, and kspace forces +are computed where pair forces are. The inner, middle, outer forces +have no defaults. For fixes that support it, the rRESPA level at which a given fix is -active, can be selected through the :doc:`fix_modify ` command. +active, can be selected through the :doc:`fix_modify ` +command. -The *inner* and *middle* keywords take additional arguments for -cutoffs that are used by the pairwise force computations. If the 2 -cutoffs for *inner* are 5.0 and 6.0, this means that all pairs up to -6.0 apart are computed by the inner force. Those between 5.0 and 6.0 -have their force go ramped to 0.0 so the overlap with the next regime -(middle or outer) is smooth. The next regime (middle or outer) will -compute forces for all pairs from 5.0 outward, with those from 5.0 to -6.0 having their value ramped in an inverse manner. +The *inner* and *middle* keywords take additional arguments for cutoffs +that are used by the pairwise force computations. If the 2 cutoffs for +*inner* are 5.0 and 6.0, this means that all pairs up to 6.0 apart are +computed by the inner force. Those between 5.0 and 6.0 have their force +go ramped to 0.0 so the overlap with the next regime (middle or outer) +is smooth. The next regime (middle or outer) will compute forces for +all pairs from 5.0 outward, with those from 5.0 to 6.0 having their +value ramped in an inverse manner. Note that you can use *inner* and *outer* without using *middle* to split the pairwise computations into two portions instead of three. -Unless you are using a very long pairwise cutoff, a 2-way split is -often faster than a 3-way split, since it avoids too much duplicate +Unless you are using a very long pairwise cutoff, a 2-way split is often +faster than a 3-way split, since it avoids too much duplicate computation of pairwise interactions near the intermediate cutoffs. -Also note that only a few pair potentials support the use of the -*inner* and *middle* and *outer* keywords. If not, only the *pair* -keyword can be used with that pair style, meaning all pairwise forces -are computed at the same rRESPA level. See the doc pages for -individual pair styles for details. +Also note that only a few pair potentials support the use of the *inner* +and *middle* and *outer* keywords. If not, only the *pair* keyword can +be used with that pair style, meaning all pairwise forces are computed +at the same rRESPA level. See the doc pages for individual pair styles +for details. Another option for using pair potentials with rRESPA is with the -*hybrid* keyword, which requires the use of the :doc:`pair_style hybrid or hybrid/overlay ` command. In this scenario, different +*hybrid* keyword, which requires the use of the :doc:`pair_style hybrid +or hybrid/overlay ` command. In this scenario, different sub-styles of the hybrid pair style are evaluated at different rRESPA -levels. This can be useful, for example, to set different timesteps -for hybrid coarse-grained/all-atom models. The *hybrid* keyword -requires as many level assignments as there are hybrid sub-styles, -which assigns each sub-style to a rRESPA level, following their order -of definition in the pair_style command. Since the *hybrid* keyword -operates on pair style computations, it is mutually exclusive with -either the *pair* or the *inner*\ /\ *middle*\ /\ *outer* keywords. +levels. This can be useful, for example, to set different timesteps for +hybrid coarse-grained/all-atom models. The *hybrid* keyword requires as +many level assignments as there are hybrid sub-styles, which assigns +each sub-style to a rRESPA level, following their order of definition in +the pair_style command. Since the *hybrid* keyword operates on pair +style computations, it is mutually exclusive with either the *pair* or +the *inner*\ /\ *middle*\ /\ *outer* keywords. When using rRESPA (or for any MD simulation) care must be taken to choose a timestep size(s) that ensures the Hamiltonian for the chosen From da79aadc8d9f3f16facd2a31e7ab9d4498f739b6 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 2 Mar 2023 07:31:38 -0500 Subject: [PATCH 209/448] spelling --- doc/utils/sphinx-config/false_positives.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 0a5e58e86b..e46b5dd28b 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -438,6 +438,7 @@ cfile CFL cgdna CGDNA +cgmap cgs cgsdk CGSDK @@ -1792,6 +1793,7 @@ lammps Lammps LAMMPS lammpsbin +lammpsdata lammpsplot lammpsplugin Lamoureux @@ -2072,6 +2074,7 @@ mdi MDI mdpd mDPD +mdtraj meam MEAM meamf From 4a8aaf9f46dd31bd54b468fdb445cb0b9d38ceed Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Thu, 2 Mar 2023 14:52:01 -0600 Subject: [PATCH 210/448] Added the missing factor 4\pi in epsilon0e2q to other units --- src/DIELECTRIC/fix_polarize_bem_gmres.cpp | 8 ++++---- src/DIELECTRIC/fix_polarize_bem_icc.cpp | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/DIELECTRIC/fix_polarize_bem_gmres.cpp b/src/DIELECTRIC/fix_polarize_bem_gmres.cpp index e31337d0fd..14a645bb30 100644 --- a/src/DIELECTRIC/fix_polarize_bem_gmres.cpp +++ b/src/DIELECTRIC/fix_polarize_bem_gmres.cpp @@ -311,13 +311,13 @@ void FixPolarizeBEMGMRES::setup(int /*vflag*/) epsilon0e2q = 1.0; if (strcmp(update->unit_style, "real") == 0) - epsilon0e2q = 0.000240263377163643; + epsilon0e2q = 0.000240263377163643 * (4 * MY_PI); else if (strcmp(update->unit_style, "metal") == 0) - epsilon0e2q = 0.00553386738300813; + epsilon0e2q = 0.00553386738300813 * (4 * MY_PI); else if (strcmp(update->unit_style, "si") == 0) - epsilon0e2q = 8.854187812813e-12; + epsilon0e2q = 8.854187812813e-12 * (4 * MY_PI); else if (strcmp(update->unit_style, "nano") == 0) - epsilon0e2q = 0.000345866711328125; + epsilon0e2q = 0.000345866711328125 * (4 * MY_PI); else if (strcmp(update->unit_style, "lj") != 0) error->all(FLERR, "Only unit styles 'lj', 'real', 'metal', 'si' and 'nano' are supported"); diff --git a/src/DIELECTRIC/fix_polarize_bem_icc.cpp b/src/DIELECTRIC/fix_polarize_bem_icc.cpp index 0d503d87a7..177332546a 100644 --- a/src/DIELECTRIC/fix_polarize_bem_icc.cpp +++ b/src/DIELECTRIC/fix_polarize_bem_icc.cpp @@ -214,13 +214,13 @@ void FixPolarizeBEMICC::setup(int /*vflag*/) epsilon0e2q = 1.0; if (strcmp(update->unit_style, "real") == 0) - epsilon0e2q = 0.000240263377163643; + epsilon0e2q = 0.000240263377163643 * (4 * MY_PI); else if (strcmp(update->unit_style, "metal") == 0) - epsilon0e2q = 0.00553386738300813; + epsilon0e2q = 0.00553386738300813 * (4 * MY_PI); else if (strcmp(update->unit_style, "si") == 0) - epsilon0e2q = 8.854187812813e-12; + epsilon0e2q = 8.854187812813e-12 * (4 * MY_PI); else if (strcmp(update->unit_style, "nano") == 0) - epsilon0e2q = 0.000345866711328125; + epsilon0e2q = 0.000345866711328125 * (4 * MY_PI); else if (strcmp(update->unit_style, "lj") != 0) error->all(FLERR, "Only unit styles 'lj', 'real', 'metal', 'si' and 'nano' are supported"); From 9b1afd7145f68b544da5d2c5513fbb563ad9e415 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 2 Mar 2023 15:52:17 -0500 Subject: [PATCH 211/448] more description. address typos. --- doc/src/Developer_write_pair.rst | 186 ++++++++++++-------- doc/utils/sphinx-config/false_positives.txt | 4 + 2 files changed, 117 insertions(+), 73 deletions(-) diff --git a/doc/src/Developer_write_pair.rst b/doc/src/Developer_write_pair.rst index 8426819613..ce14c3f145 100644 --- a/doc/src/Developer_write_pair.rst +++ b/doc/src/Developer_write_pair.rst @@ -1,10 +1,10 @@ Writing new pair styles ^^^^^^^^^^^^^^^^^^^^^^^ -Pair styles are at the core of most simulations with LAMMPS since they +Pair styles are at the core of most simulations with LAMMPS, since they are used to compute the forces (plus energy and virial contributions, if needed) on atoms for pairs of atoms within a given cutoff. This is -often the dominant computation in LAMMPS and sometimes even the only +often the dominant computation in LAMMPS, and sometimes even the only one. Pair styles can be grouped in multiple categories: #. simple pairwise additive interactions of point particles @@ -17,31 +17,31 @@ one. Pair styles can be grouped in multiple categories: #. complex interactions that include additional per-atom properties (e.g. Discrete Element Models (DEM), Peridynamics, Ellipsoids) -In the text below we will discuss aspects of implementing pair styles in -LAMMPS by looking at representative case studies. The design of LAMMPS -allows to focus on the essentials, which is to compute the forces (and -energies or virial contributions), enter and manage the global settings -as well as the potential parameters, and the pair style specific parts -of reading and writing restart and data files. Most of the complex -tasks like management of the atom positions, domain decomposition and -boundaries, or neighbor list creation are handled transparently by other -parts of the LAMMPS code. +In the text below, we will discuss aspects of implementing pair styles +in LAMMPS by looking at representative case studies. The design of +LAMMPS allows developers to focus on the essentials, which is to compute +the forces (and energies or virial contributions), enter and manage the +global settings as well as the potential parameters, and the pair style +specific parts of reading and writing restart and data files. Most of +the complex tasks like management of the atom positions, domain +decomposition and boundaries, or neighbor list creation are handled +transparently by other parts of the LAMMPS code. As shown on the page for :doc:`writing or extending pair styles -` for the implementation of a pair style a new class must +`, in order to implement a new pair style, a new class must be written that is either directly or indirectly derived from the ``Pair`` class. If that class is directly derived from ``Pair``, there -are three *required* methods in addition to the constructor that must be -implemented since they are "pure" in the base class: -``Pair::compute()``, ``Pair::settings()``, ``Pair::coeff()``. All other -methods are optional and have default implementations in the base class -(most of which do nothing), but they may need to be overridden depending -on the requirements of the model. +are three methods that *must* be re-implemented, since they are "pure" +in the base class: ``Pair::compute()``, ``Pair::settings()``, +``Pair::coeff()``. In addition a custom constructor is needed. All +other methods are optional and have default implementations in the base +class (most of which do nothing), but they may need to be overridden +depending on the requirements of the model. Case 1: a pairwise additive model ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -In this section we will describe the procedure of adding a simple pair +In this section, we will describe the procedure of adding a simple pair style to LAMMPS: an empirical model that can be used to model liquid mercury. @@ -56,7 +56,7 @@ dependent, attractive Gaussian term. E = A_0 \exp \left( -\alpha r \right) - A_1 \exp\left[ -\beta \left(r - r_0 \right)^2 \right] -For the application to mercury the following parameters are listed: +For the application to mercury, the following parameters are listed: - :math:`A_0 = 8.2464 \times 10^{13} \; \textrm{eV}` - :math:`\alpha = 12.48 \; \AA^{-1}` @@ -70,8 +70,8 @@ For the application to mercury the following parameters are listed: - :math:`a_2 = -2.58717 \times 10^{-8} \; \textrm{eV/K}^{-2}` With the optional cutoff, this means we have a total of 5 or 6 -parameters for each pair of atom types. In addition we need to input a -default cutoff value as global setting. +parameters for each pair of atom types. Additionally, we need to input a +default cutoff value as a global setting. Because of the combination of Born-Mayer with a Gaussian, the pair style shall be named "born/gauss" and thus the class name would be @@ -139,22 +139,21 @@ macro. The third segment of the header is the actual class definition of the ``PairBornGauss`` class. This has the prototypes for all member -functions that will be implemented by this pair style. This includes a -number of optional functions. All functions that were labeled in the -base class as "virtual" must be given the "override" property as it is -done in the code shown below. This helps to detect unexpected -mismatches as compile errors in case the signature of a function is -changed in the base class. For example, if this change would add an -optional argument with a default value, then all existing source code -calling the function would not need changes and still compile, but the -function in the derived class would no longer override the one in the -base class due to the different number of arguments and the behavior of -the pair style is thus changed in an unintended way. Using "override" -prevents such issues. +functions that will be implemented by this pair style. This includes +:doc:`a few required and a number of optional functions `. +All functions that were labeled in the base class as "virtual" must be +given the "override" property, as it is done in the code shown below. -Also variables and arrays for storing global settings and potential -parameters are defined. Since those are internal to the class, they are -placed after a "protected:" label. +The "override" property helps to detect unexpected mismatches because +compilation will stop with an error in case the signature of a function +is changed in the base class without also changing it in all derived +classes. For example, if this change would add an optional argument +with a default value, then all existing source code *calling* the +function would not need changes and still compile, but the function in +the derived class would no longer override the one in the base class due +to the different number of arguments and the behavior of the pair style +is thus changed in an unintended way. Using "override" keyword prevents +such issues. .. code-block:: c++ @@ -185,6 +184,12 @@ placed after a "protected:" label. double single(int, int, int, int, double, double, double, double &) override; void *extract(const char *, int &) override; +Also, variables and arrays for storing global settings and potential +parameters are defined. Since those are internal to the class, they are +placed after a "protected:" label. + +.. code-block:: c++ + protected: double cut_global; double **cut; @@ -204,13 +209,13 @@ Implementation file We move on to the implementation of the ``PairBornGauss`` class in the ``pair_born_gauss.cpp`` file. This file also starts with a LAMMPS -copyright and license header. Below the notice is typically the space +copyright and license header. Below that notice is typically the space where comments may be added with additional information about this -specific file, the author(s) and affiliation(s) and email address(es) so -the author can be easily contacted in case there are questions about the -implementation later. Since the file(s) may be around for a long time, -it is beneficial to use some kind of "permanent" email address, if -possible. +specific file, the author(s), affiliation(s), and email address(es). +This way the contributing author(s) can be easily contacted, when +there are questions about the implementation later. Since the file(s) +may be around for a long time, it is beneficial to use some kind of +"permanent" email address, if possible. .. code-block:: c++ @@ -259,6 +264,15 @@ Constructor and destructor (required) The first two functions in the implementation source file are typically the constructor and the destructor. +Pair styles are different from most classes in LAMMPS that define a +"style", as their constructor only uses the LAMMPS class instance +pointer as argument, but **not** the command line arguments of the +:doc:`pair_style command `. Instead, those arguments are +processed in the ``Pair::settings()`` function (or rather the version in +the derived class). The constructor is the place where global defaults +are set and specifically flags are set about which optional features of +a pair style are available. + .. code-block:: c++ /* ---------------------------------------------------------------------- */ @@ -268,7 +282,22 @@ the constructor and the destructor. writedata = 1; } - /* ---------------------------------------------------------------------- */ +The `writedata = 1;` statement indicates that the pair style is capable +of writing the current pair coefficient parameters to data files. That +is, the class implements specific versions for ``Pair::data()`` and +``Pair::data_all()``. Other statements that could be added here would +be `single_enable = 1;` or `respa_enable = 0;` to indicate that the +``Pair::single()`` function is present and the +``Pair::compute_(inner|middle|outer)`` are not, but those are also the +default settings and already set in the base class. + +In the destructor, we need to delete all memory that was allocated by the +pair style, usually to hold force field parameters that were entered +with the :doc:`pair_coeff command `. Most of those array +pointers will need to be declared in the derived class header, but some +(e.g. setflag, cutsq) are already declared in the base class. + +.. code-block:: c++ PairBornGauss::~PairBornGauss() { @@ -285,40 +314,22 @@ the constructor and the destructor. } } -Pair styles are different from most classes in LAMMPS that define a -"style", as their constructor only uses the LAMMPS class instance -pointer as argument, but **not** the command line arguments of the -:doc:`pair_style command `. Instead, those arguments are -processed in the ``Pair::settings()`` function (or rather the version in -the derived class). The constructor is the place where global defaults -are set and specifically flags are set about which optional features of -a pair style are available. The `writedata = 1;` statement indicates -that the pair style is capable of writing the current pair coefficient -parameters to data files; in other words, that the class implements -specific versions for ``Pair::data()`` and ``Pair::data_all()``. Other -statements that could be added would be `single_enable = 1;` or -`respa_enable = 0;` to indicate that the ``Pair::single()`` function is -present and the ``Pair::compute_(inner|middle|outer)`` are not, but -those are also the default settings and already set in the base class. - -In the destructor we need to delete all memory that was allocated by the -pair style, usually to hold force field parameters that were entered -with the :doc:`pair_coeff command `. Most of those array -pointers will need to be declared in the derived class header, but some -(e.g. setflag, cutsq) are already declared in the base class. Settings and coefficients (required) """""""""""""""""""""""""""""""""""" To enter the global pair style settings and the pair style parameters, the functions ``Pair::settings()`` and ``Pair::coeff()`` need to be -reimplemented. The arguments to the ``settings()`` function are the -arguments given to the :doc:`pair_style command `, and the -arguments to the ``coeff()`` function are the arguments to the -:doc:`pair_coeff command ` but the function is also called -when processing the ``Pair Coeffs`` or ``PairIJ Coeffs`` sections of data -files. In the case of the ``Pair Coeffs`` section the first argument is -duplicated. +re-implemented. The arguments to the ``settings()`` function are the +arguments given to the :doc:`pair_style command `. +Normally, those would already be processed as part of the constructor, +but moving this to a separate function allows to change global settings +like the default cutoff without having to reissue all pair_coeff +commands or re-read the ``Pair Coeffs`` sections from the data file. +In the ``settings()`` function, also the arrays for storing parameters, +to define cutoffs, track with pairs of parameters have been explicitly +set are allocated and, if needed, initialized. In this case, the memory +allocation and initialization is moved to a function ``allocate()``. .. code-block:: c++ @@ -363,6 +374,19 @@ duplicated. } } +The arguments to the ``coeff()`` function are the arguments to the +:doc:`pair_coeff command `. The function is also called +when processing the ``Pair Coeffs`` or ``PairIJ Coeffs`` sections of +data files. In the case of the ``Pair Coeffs`` section there is only +one atom type per line and thus the first argument is duplicated. Since +the atom type arguments of the :doc:`pair_coeff command ` +may be a range (e.g. \*\ 3 for atom types 1, 2, and 3), the +corresponding arguments are passed to the :cpp:func:`utils::bounds() +` function which will then return the low +and high end of the range. + +.. code-block:: c++ + /* ---------------------------------------------------------------------- set coeffs for one or more type pairs ------------------------------------------------------------------------- */ @@ -404,6 +428,21 @@ duplicated. Initialization """""""""""""" +The ``init()`` function is called during the :doc:`"init" phase +` of a simulation. This is where potential parameters +are checked for completeness, derived parameters computed (e.g. the +"offset" of the potential energy at the cutoff distance for use with the +:doc:`pair_modify shift yes ` command. If a pair style +supports generating "mixed" parameters (i.e. where both atoms of a pair +have a different atom type) from a "mixing rule" from the parameters of +the type with itself, this is the place to compute and store those mixed +values. The *born/gauss* pair style does not, so we only check for +completeness. Another purpose of the ``init()`` function is to +symmetrize the potential parameter arrays. The return value is the +cutoff for the given pair of atom types. This is used by the neighbor +list code to determine the largest cutoff and then build the neighbor +lists accordingly. + .. code-block:: c++ @@ -433,10 +472,11 @@ Initialization } - Computing forces from the neighbor list (required) """""""""""""""""""""""""""""""""""""""""""""""""" +The ``compute()`` function is the "workhorse" of a pair style. + .. code-block:: c++ diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 6c49ad1a62..0c53de196e 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -270,6 +270,7 @@ Bialke biaxial bicrystal Biersack +biga bigbig bigint Bij @@ -631,6 +632,7 @@ cutlo cutmax cutoffA cutoffC +cutsq cuu cv Cv @@ -3245,6 +3247,7 @@ Sep seqdep Serpico setfl +setflag setforce Sethna setmask @@ -3480,6 +3483,7 @@ Sx sy Sy symplectic +symmetrize Synechococcus sys sysdim From b08fe855a1820ff4bf7de78076169c0df890ccff Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Thu, 2 Mar 2023 15:12:59 -0600 Subject: [PATCH 212/448] Increased the default max iterations to 50, put a note on setting the local epsilon for charged interface particles to be the mean dielectric value --- doc/src/fix_polarize.rst | 9 +++++---- examples/PACKAGES/dielectric/in.confined | 4 ++-- src/DIELECTRIC/fix_polarize_bem_gmres.cpp | 2 +- src/DIELECTRIC/fix_polarize_bem_icc.cpp | 2 +- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/doc/src/fix_polarize.rst b/doc/src/fix_polarize.rst index 6a997aa7ea..1101fb65ae 100644 --- a/doc/src/fix_polarize.rst +++ b/doc/src/fix_polarize.rst @@ -31,7 +31,7 @@ Examples fix 2 interface polarize/bem/gmres 5 0.0001 fix 1 interface polarize/bem/icc 1 0.0001 - fix 3 interface polarize/functional 1 0.001 + fix 3 interface polarize/functional 1 0.0001 Used in input scripts: @@ -69,8 +69,9 @@ along the normal vector is then 78 - 4 = 74, the mean dielectric value is (78 + 4) / 2 = 41. Each boundary element also has its area and the local mean curvature, which is used by these fixes for computing a correction term in the local electric field. To model charged -interfaces, the interface particle will have a non-zero charge value, -coming from its area and surface charge density. +interfaces, an interface particle will have a non-zero charge value, +coming from its area and surface charge density, and its local dielectric +constant set to the mean dielectric value. For non-interface particles such as atoms and charged particles, the interface normal vectors, element area, and dielectric mismatch are @@ -223,7 +224,7 @@ Related commands Default """"""" -*iter_max* = 20 +*iter_max* = 50 *kspace* = yes diff --git a/examples/PACKAGES/dielectric/in.confined b/examples/PACKAGES/dielectric/in.confined index 0f9dab7bba..314409fc17 100644 --- a/examples/PACKAGES/dielectric/in.confined +++ b/examples/PACKAGES/dielectric/in.confined @@ -67,10 +67,10 @@ if "${method} == gmres" then & "fix 3 interface polarize/bem/gmres 1 1.0e-4" & "fix_modify 3 itr_max 50 dielectrics ${ed} ${em} ${epsilon} ${area} NULL" & elif "${method} == icc"& - "fix 3 interface polarize/bem/icc 1 1.0e-4 itr_max 50" & + "fix 3 interface polarize/bem/icc 1 1.0e-4" & "fix_modify 3 itr_max 50 dielectrics ${ed} ${em} ${epsilon} ${area} NULL" & elif "${method} == dof" & - "fix 3 interface polarize/functional 1 0.001" & + "fix 3 interface polarize/functional 1 0.0001" & "fix_modify 3 dielectrics ${ed} ${em} ${epsilon} ${area} NULL" & else & "print 'Unsupported polarization solver' " diff --git a/src/DIELECTRIC/fix_polarize_bem_gmres.cpp b/src/DIELECTRIC/fix_polarize_bem_gmres.cpp index 14a645bb30..dafe4dc8e0 100644 --- a/src/DIELECTRIC/fix_polarize_bem_gmres.cpp +++ b/src/DIELECTRIC/fix_polarize_bem_gmres.cpp @@ -81,7 +81,7 @@ FixPolarizeBEMGMRES::FixPolarizeBEMGMRES(LAMMPS *_lmp, int narg, char **arg) : double tol = utils::numeric(FLERR, arg[4], false, lmp); tol_abs = tol_rel = tol; - itr_max = 20; + itr_max = 50; mr = 0; randomized = 0; ave_charge = 0; diff --git a/src/DIELECTRIC/fix_polarize_bem_icc.cpp b/src/DIELECTRIC/fix_polarize_bem_icc.cpp index 177332546a..034ada48ab 100644 --- a/src/DIELECTRIC/fix_polarize_bem_icc.cpp +++ b/src/DIELECTRIC/fix_polarize_bem_icc.cpp @@ -67,7 +67,7 @@ FixPolarizeBEMICC::FixPolarizeBEMICC(LAMMPS *_lmp, int narg, char **arg) : Fix(_ double tol = utils::numeric(FLERR, arg[4], false, lmp); tol_abs = tol_rel = tol; - itr_max = 20; + itr_max = 50; omega = 0.7; randomized = 0; ave_charge = 0; From c4f095f9df18cd784f40319463e438b495a5dca3 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Thu, 2 Mar 2023 15:17:32 -0600 Subject: [PATCH 213/448] Updated the doc page of fix polarize to note that polarize/functional not supporting charged interfaces yet --- doc/src/fix_polarize.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/src/fix_polarize.rst b/doc/src/fix_polarize.rst index 1101fb65ae..dd8a0c7d75 100644 --- a/doc/src/fix_polarize.rst +++ b/doc/src/fix_polarize.rst @@ -212,6 +212,8 @@ Note that the *polarize/bem/gmres* and *polarize/bem/icc* fixes only support :doc:`units ` *lj*, *real*, *metal*, *si* and *nano* at the moment. +Note that *polarize/functional* does not yet support charged interfaces. + Related commands """""""""""""""" From fa38047749bcb349e0a97a97efea8ec10f9013f1 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 2 Mar 2023 18:29:05 -0500 Subject: [PATCH 214/448] use sin(x+pi/2) instead of cos(x) on Intel OpenCL with double precision --- lib/gpu/lal_soft.cu | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/gpu/lal_soft.cu b/lib/gpu/lal_soft.cu index 74ac0e0c97..bc96a861df 100644 --- a/lib/gpu/lal_soft.cu +++ b/lib/gpu/lal_soft.cu @@ -22,6 +22,15 @@ _texture_2d( pos_tex,int4); #endif #else #define pos_tex x_ +// hack for Intel GPU with double precision +#if defined(_DOUBLE_DOUBLE) && (CONFIG_ID == 500) +#define MY_PI_HALF (acctyp)1.57079632679489661923 +#define my_cos(x) sin(x+MY_PI_HALF) +#endif +#endif + +#if !defined(my_cos) +#define my_cos(x) cos(x) #endif #define MY_PI (acctyp)3.14159265358979323846 @@ -95,7 +104,7 @@ __kernel void k_soft(const __global numtyp4 *restrict x_, f.z+=delz*force; if (EVFLAG && eflag) { - numtyp e=coeff[mtype].x * ((numtyp)1.0+cos(arg)); + numtyp e=coeff[mtype].x * ((numtyp)1.0+my_cos(arg)); energy+=factor_lj*e; } if (EVFLAG && vflag) { @@ -186,7 +195,7 @@ __kernel void k_soft_fast(const __global numtyp4 *restrict x_, f.z+=delz*force; if (EVFLAG && eflag) { - numtyp e=coeff[mtype].x * ((numtyp)1.0+cos(arg)); + numtyp e=coeff[mtype].x * ((numtyp)1.0+my_cos(arg)); energy+=factor_lj*e; } if (EVFLAG && vflag) { From cfb967d309165587af11f3847f82313ff566f975 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 3 Mar 2023 02:01:25 -0500 Subject: [PATCH 215/448] silence static code analysis warnings --- src/REPLICA/compute_pressure_alchemy.cpp | 2 +- src/REPLICA/fix_alchemy.cpp | 2 +- src/REPLICA/fix_alchemy.h | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/REPLICA/compute_pressure_alchemy.cpp b/src/REPLICA/compute_pressure_alchemy.cpp index d19ea1b893..bad2785fb8 100644 --- a/src/REPLICA/compute_pressure_alchemy.cpp +++ b/src/REPLICA/compute_pressure_alchemy.cpp @@ -24,7 +24,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ ComputePressureAlchemy::ComputePressureAlchemy(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg) + Compute(lmp, narg, arg), fix(nullptr) { if (narg != 4) error->all(FLERR, "Illegal compute pressure/alchemy command"); if (igroup) error->all(FLERR, "Compute pressure/alchemy must use group all"); diff --git a/src/REPLICA/fix_alchemy.cpp b/src/REPLICA/fix_alchemy.cpp index c6617c4600..29801d5c8d 100644 --- a/src/REPLICA/fix_alchemy.cpp +++ b/src/REPLICA/fix_alchemy.cpp @@ -53,8 +53,8 @@ FixAlchemy::FixAlchemy(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), vector_flag = 1; size_vector = 3; extvector = 1; - ilevel_respa = 0; nmax = 6; + ivar = -1; sync_box = 0; // set up rank-to-rank communicator for inter-partition communication diff --git a/src/REPLICA/fix_alchemy.h b/src/REPLICA/fix_alchemy.h index 677a29b643..53c369d551 100644 --- a/src/REPLICA/fix_alchemy.h +++ b/src/REPLICA/fix_alchemy.h @@ -48,7 +48,6 @@ class FixAlchemy : public Fix { double pressure[6]; // joined pressure int progress; // for progress indicator int sync_box; // 1 of box dimensions need to be synchronized - int ilevel_respa; int nmax; int ivar; }; From 9cdb9283cab29f782411f803f5c697f2c22a2c9a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 3 Mar 2023 03:00:35 -0500 Subject: [PATCH 216/448] another workaround for Intel GPU with OpenCL and double precision --- lib/gpu/lal_device.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/gpu/lal_device.cpp b/lib/gpu/lal_device.cpp index 891d67913e..c98253ba4c 100644 --- a/lib/gpu/lal_device.cpp +++ b/lib/gpu/lal_device.cpp @@ -389,7 +389,12 @@ int DeviceT::set_ocl_params(std::string s_config, const std::string &extra_args) #ifdef CL_VERSION_2_0 _ocl_compile_string+="-cl-std=CL2.0 "; #endif - if (params[4]!="0") _ocl_compile_string+="-cl-fast-relaxed-math "; + // workaround for double precision with Intel OpenCL + #ifdef _DOUBLE_DOUBLE + if ((params[4] != "0") && (params[0] != "500")) _ocl_compile_string+="-cl-fast-relaxed-math "; + #else + if (params[4] != "0") _ocl_compile_string+="-cl-fast-relaxed-math "; + #endif _ocl_compile_string+=std::string(OCL_INT_TYPE)+" "+ std::string(OCL_PRECISION_COMPILE); if (gpu->has_subgroup_support()) From f23c2494eacb55da5311d7272348e6baa42fbd31 Mon Sep 17 00:00:00 2001 From: Germain Clavier Date: Fri, 3 Mar 2023 14:49:38 +0100 Subject: [PATCH 217/448] Created tool file tools/tabulate/pair_bi_tabulate.py --- tools/tabulate/pair_bi_tabulate.py | 117 +++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100755 tools/tabulate/pair_bi_tabulate.py diff --git a/tools/tabulate/pair_bi_tabulate.py b/tools/tabulate/pair_bi_tabulate.py new file mode 100755 index 0000000000..910bedf64e --- /dev/null +++ b/tools/tabulate/pair_bi_tabulate.py @@ -0,0 +1,117 @@ +#!/usr/bin/env python3 + +from tabulate import PairTabulate +import sys +import argparse +import numpy as np +from scipy.signal import savgol_filter +from scipy.optimize import curve_fit + +""" + This script gives an example on how to make tabulated forces from radial + distribution function using tabulate.py. + Required: python3, numpy, scipy. + BI stands for Boltzmann Inversion. +""" +############################################################################### + + +class BI(PairTabulate): + def __init__(self, units=None, comment=None, T=1): + super(PairTabulate, self).__init__("pair", self.energy, units, comment) + self.parser.add_argument( + "--eshift", + "-e", + dest="eshift", + default=False, + action="store_true", + help="Shift potential energy to be zero at outer cutoff", + ) + self.parser.add_argument( + "--rdffile", default="rdf.dat", help="Rdf file to be read." + ) + try: + self.args = self.parser.parse_args() + except argparse.ArgumentError: + sys.exit() + + kb = 1 + # Add more kb units if you need + if units == "si": + kb = 1.380649e-23 # J/K + elif units == "metal": + kb = 8.617333e-5 # eV/K + elif units == "real": + kb = 1.987204e-3 # kcal/mol/K + else: + sys.stdout.write("WARNING: Unknown or lj units, using kb=1\n") + self.kbT = kb * T + self.r, self.e, self.f = self.read_rdf(self.args.rdffile) + + # This function assumes LAMMPS format for rdf with a single entry + def read_rdf(self, rdffile): + data = np.loadtxt(rdffile, skiprows=4) + r = data[:, 1] + g = data[:, 2] + + # savgol_filter is an example of smoothing. + # Other filters/functions can be used. + g = savgol_filter(g, 10, 5) + return self.inversion(r, g) + + def inversion(self, r, g): + r = r + e = -self.kbT * np.log(g) + e = self.complete_exponential(r, e) + f = -np.gradient(e, r) + return r, e, f + + def complete_exponential(self, r, e): + r_temp = r[e != np.inf] + e_temp = e[e != np.inf] + + # Optimising the parameter for a function for derivation + # to be continuous. + # Here a gaussian function, can be anything relevant defined in func. + popt, pcov = curve_fit(self.func, r_temp[:2], e_temp[:2]) + for i, _ in enumerate(e): + if e[i] == np.inf: + e[i] = self.func(r[i], *popt) + return e + + def func(self, x, K, s): + return K * np.exp(-0.5 * (x / s) ** 2) / (s * np.sqrt(2 * np.pi)) + + def energy(self, x): + e = self.e + r = self.r + # Force estimation at minimum distance. + # Should not be that useful + f0 = (e[1] - e[0]) / (r[1] - r[0]) + + minr = min(r) + maxr = max(r) + # Note that you might want OOB to return an error. + if x >= maxr: + return 0 + if x < minr: + dx = minr - x + return -f0 * dx + else: + # Linear interpolation between points. + for i, ri in enumerate(r): + if r[i] < x: + r1, e1 = r[i], e[i] + r2, e2 = r[i + 1], e[i + 1] + dr12 = r2 - r1 + dr = x - r1 + de = (e2 - e1) / (r2 - r1) + return e1 + (de * dr / dr12) + + +############################################################################### + + +if __name__ == "__main__": + ptable = BI() + ptable.run("BI") From ed11cbd2c75fbe7d59bb1f5ba711037ff818bbb6 Mon Sep 17 00:00:00 2001 From: Germain Clavier Date: Fri, 3 Mar 2023 15:04:46 +0100 Subject: [PATCH 218/448] Updated tools/tabulate/README.md file to include pair_bi_tabulate.py --- tools/tabulate/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/tabulate/README.md b/tools/tabulate/README.md index 6f63d03a80..0430c39111 100644 --- a/tools/tabulate/README.md +++ b/tools/tabulate/README.md @@ -27,6 +27,7 @@ Please see the individual tabulation scripts in this folder for examples: | pair_hybrid_tabulate.py | creates a Morse/Lennard-Jones hybrid potential table with smooth switching | | wall_harmonic_tabulate.py | creates a table for fix wall/table with a simple repulsive harmonic potential | | wall_multi_tabulate.py | creates a table for fix wall/table with multiple tables | +| pair_bi_tabulate.py | creates a table from radial distribution file using Boltzmann Inversion | | ------------------------------|-------------------------------------------------------------------------------| Common command line flags: From 67d4893f6e61661dbc65805210d8cf55abd741ca Mon Sep 17 00:00:00 2001 From: Germain Clavier Date: Fri, 3 Mar 2023 15:10:36 +0100 Subject: [PATCH 219/448] Added Warning section to pair_bi_tabulate.py file. --- tools/tabulate/pair_bi_tabulate.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/tabulate/pair_bi_tabulate.py b/tools/tabulate/pair_bi_tabulate.py index 910bedf64e..f967bc797a 100755 --- a/tools/tabulate/pair_bi_tabulate.py +++ b/tools/tabulate/pair_bi_tabulate.py @@ -12,6 +12,8 @@ from scipy.optimize import curve_fit distribution function using tabulate.py. Required: python3, numpy, scipy. BI stands for Boltzmann Inversion. + WARNING: Using BI does not garranty an out of the box working potential for + your simulation. Check the relevamt literature. """ ############################################################################### From 4612cd94f0a3122cf98644952ad27edca0783699 Mon Sep 17 00:00:00 2001 From: Germain Clavier Date: Fri, 3 Mar 2023 15:12:27 +0100 Subject: [PATCH 220/448] Removed bits of useless force computation. --- tools/tabulate/pair_bi_tabulate.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/tools/tabulate/pair_bi_tabulate.py b/tools/tabulate/pair_bi_tabulate.py index f967bc797a..2b15371f83 100755 --- a/tools/tabulate/pair_bi_tabulate.py +++ b/tools/tabulate/pair_bi_tabulate.py @@ -48,7 +48,7 @@ class BI(PairTabulate): else: sys.stdout.write("WARNING: Unknown or lj units, using kb=1\n") self.kbT = kb * T - self.r, self.e, self.f = self.read_rdf(self.args.rdffile) + self.r, self.e = self.read_rdf(self.args.rdffile) # This function assumes LAMMPS format for rdf with a single entry def read_rdf(self, rdffile): @@ -62,11 +62,9 @@ class BI(PairTabulate): return self.inversion(r, g) def inversion(self, r, g): - r = r e = -self.kbT * np.log(g) e = self.complete_exponential(r, e) - f = -np.gradient(e, r) - return r, e, f + return r, e, def complete_exponential(self, r, e): r_temp = r[e != np.inf] From 13f82be0353c66d1ecfed2cba66dfd5a6d6e6201 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 3 Mar 2023 09:12:57 -0500 Subject: [PATCH 221/448] fix typo --- src/fix_store_force.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fix_store_force.cpp b/src/fix_store_force.cpp index 09406bb4f1..b6e2f4d8a1 100644 --- a/src/fix_store_force.cpp +++ b/src/fix_store_force.cpp @@ -29,7 +29,7 @@ FixStoreForce::FixStoreForce(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), foriginal(nullptr) { - if (narg < 3) error->all(FLERR,"Illegal fix store/coord command"); + if (narg < 3) error->all(FLERR,"Illegal fix store/force command"); peratom_flag = 1; size_peratom_cols = 3; From eb750f0217fe0f1491bd04c45f59db261cf21be8 Mon Sep 17 00:00:00 2001 From: Germain Clavier Date: Fri, 3 Mar 2023 15:22:49 +0100 Subject: [PATCH 222/448] Adde temperature for BI as a command-line argument --- tools/tabulate/pair_bi_tabulate.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tools/tabulate/pair_bi_tabulate.py b/tools/tabulate/pair_bi_tabulate.py index 2b15371f83..3ec67eaa31 100755 --- a/tools/tabulate/pair_bi_tabulate.py +++ b/tools/tabulate/pair_bi_tabulate.py @@ -19,7 +19,7 @@ from scipy.optimize import curve_fit class BI(PairTabulate): - def __init__(self, units=None, comment=None, T=1): + def __init__(self, units=None, comment=None): super(PairTabulate, self).__init__("pair", self.energy, units, comment) self.parser.add_argument( "--eshift", @@ -32,11 +32,19 @@ class BI(PairTabulate): self.parser.add_argument( "--rdffile", default="rdf.dat", help="Rdf file to be read." ) + self.parser.add_argument( + "--temperature", default=0, help="Temperature for BI." + ) try: self.args = self.parser.parse_args() except argparse.ArgumentError: sys.exit() + if self.args.temperature > 0: + T = self.args.temperature + else: + sys.exit("Invalid temperature provided.") + kb = 1 # Add more kb units if you need if units == "si": From e4b1a33cedcd876b6047b1f3c079884104f1a64f Mon Sep 17 00:00:00 2001 From: Germain Clavier Date: Fri, 3 Mar 2023 15:32:46 +0100 Subject: [PATCH 223/448] Corrected error in temperature argument managment, added unit as a command-line parameter --- tools/tabulate/pair_bi_tabulate.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/tools/tabulate/pair_bi_tabulate.py b/tools/tabulate/pair_bi_tabulate.py index 3ec67eaa31..5d225ce6fc 100755 --- a/tools/tabulate/pair_bi_tabulate.py +++ b/tools/tabulate/pair_bi_tabulate.py @@ -33,7 +33,10 @@ class BI(PairTabulate): "--rdffile", default="rdf.dat", help="Rdf file to be read." ) self.parser.add_argument( - "--temperature", default=0, help="Temperature for BI." + "--units", default="lj", help="LAMMPS units to use [default lj]." + ) + self.parser.add_argument( + "--temperature", default=0, type=float, help="Temperature for BI." ) try: self.args = self.parser.parse_args() @@ -47,11 +50,11 @@ class BI(PairTabulate): kb = 1 # Add more kb units if you need - if units == "si": + if self.args.units == "si": kb = 1.380649e-23 # J/K - elif units == "metal": + elif self.args.units == "metal": kb = 8.617333e-5 # eV/K - elif units == "real": + elif self.args.units == "real": kb = 1.987204e-3 # kcal/mol/K else: sys.stdout.write("WARNING: Unknown or lj units, using kb=1\n") From c9e300f76f4ab31bb1a5fa1d8aa03bfcb3c71a56 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 3 Mar 2023 16:18:31 -0500 Subject: [PATCH 224/448] implementation of bond style harmonic/restrain /w docs --- doc/src/Commands_bond.rst | 1 + doc/src/bond_harmonic_restrain.rst | 79 ++++++ doc/src/bond_style.rst | 3 +- doc/utils/sphinx-config/false_positives.txt | 1 + src/.gitignore | 2 + src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp | 244 ++++++++++++++++++ src/EXTRA-MOLECULE/bond_harmonic_restrain.h | 52 ++++ 7 files changed, 381 insertions(+), 1 deletion(-) create mode 100644 doc/src/bond_harmonic_restrain.rst create mode 100644 src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp create mode 100644 src/EXTRA-MOLECULE/bond_harmonic_restrain.h diff --git a/doc/src/Commands_bond.rst b/doc/src/Commands_bond.rst index cfc896aa0e..aaf706b5df 100644 --- a/doc/src/Commands_bond.rst +++ b/doc/src/Commands_bond.rst @@ -42,6 +42,7 @@ OPT. * :doc:`gaussian ` * :doc:`gromos (o) ` * :doc:`harmonic (iko) ` + * :doc:`harmonic/restrain ` * :doc:`harmonic/shift (o) ` * :doc:`harmonic/shift/cut (o) ` * :doc:`lepton (o) ` diff --git a/doc/src/bond_harmonic_restrain.rst b/doc/src/bond_harmonic_restrain.rst new file mode 100644 index 0000000000..a9918d8b5d --- /dev/null +++ b/doc/src/bond_harmonic_restrain.rst @@ -0,0 +1,79 @@ +.. index:: bond_style harmonic/restrain + +bond_style harmonic/restrain command +==================================== + +Syntax +"""""" + +.. code-block:: LAMMPS + + bond_style harmonic/restrain + +Examples +"""""""" + +.. code-block:: LAMMPS + + bond_style harmonic + bond_coeff 5 80.0 + +Description +""""""""""" + +The *harmonic/restrain* bond style uses the potential + +.. math:: + + E = K (r - r_{t=0})^2 + +where :math:`r_{t=0}` is the distance between the bond atoms at the +beginning of the first :doc:`run ` or :doc:`minimize ` +command after the bond style has been defined (*t=0*). Note that the +usual 1/2 factor is included in :math:`K`. This will effectively +restrain bonds to their initial length, whatever that is. + +The following coefficient must be defined for each bond type via the +:doc:`bond_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands + +* :math:`K` (energy/distance\^2) + +Restart info +"""""""""""" + +This bond style supports the :doc:`write_restart ` and +:doc:`read_restart ` commands. The state of the initial +bond lengths is stored with the restart files and read back. + +Restrictions +"""""""""""" + +This bond style can only be used if LAMMPS was built with the +EXTRA-MOLECULE package. See the :doc:`Build package ` +page for more info. + +This bond style does not write its coefficients to a data file since the +:math:`r_{t=0}` values are for individual bonds and not bond types. +Since it uses :doc:`fix property/atom ` internally, +you should use the "nofix" argument to the :doc:`write_data command +` to avoid writing a section to the data file can cannot be +read back in by the bond style. + +This bond style cannot be used with :doc:`fix shake or fix rattle +`, with :doc:`fix filter/corotate `, or +any :doc:`tip4p pair style ` since there is no specific +equilibrium distance for a given bond type. + + +Related commands +"""""""""""""""" + +:doc:`bond_coeff `, :doc:`delete_bonds `, +:doc:`bond_harmonic ` + +Default +""""""" + +none diff --git a/doc/src/bond_style.rst b/doc/src/bond_style.rst index 23b89d00a2..b33d0a9e9a 100644 --- a/doc/src/bond_style.rst +++ b/doc/src/bond_style.rst @@ -10,7 +10,7 @@ Syntax bond_style style args -* style = *none* or *zero* or *hybrid* or *bpm/rotational* or *bpm/spring* or *class2* or *fene* or *fene/expand* or *fene/nm* or *gaussian* or *gromos* or *harmonic* or *harmonic/shift* or *harmonic/shift/cut* or *lepton* or *morse* or *nonlinear* or *oxdna/fene* or *oxdena2/fene* or *oxrna2/fene* or *quartic* or *special* or *table* +* style = *none* or *zero* or *hybrid* or *bpm/rotational* or *bpm/spring* or *class2* or *fene* or *fene/expand* or *fene/nm* or *gaussian* or *gromos* or *harmonic* or *harmonic/restrain* *harmonic/shift* or *harmonic/shift/cut* or *lepton* or *morse* or *nonlinear* or *oxdna/fene* or *oxdena2/fene* or *oxrna2/fene* or *quartic* or *special* or *table* * args = none for any style except *hybrid* @@ -93,6 +93,7 @@ accelerated styles exist. * :doc:`gaussian ` - multicentered Gaussian-based bond potential * :doc:`gromos ` - GROMOS force field bond * :doc:`harmonic ` - harmonic bond +* :doc:`harmonic/restrain ` - harmonic bond to restrain to original bond distance * :doc:`harmonic/shift ` - shifted harmonic bond * :doc:`harmonic/shift/cut ` - shifted harmonic bond with a cutoff * :doc:`lepton ` - bond potential from evaluating a string diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index d03300439f..ff8f0d455b 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -2463,6 +2463,7 @@ nodeless nodeset nodesets Noehring +nofix Noffset noforce noguess diff --git a/src/.gitignore b/src/.gitignore index df02ab3397..aa57927669 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -492,6 +492,8 @@ /bond_gromos.h /bond_harmonic.cpp /bond_harmonic.h +/bond_harmonic_restrain.cpp +/bond_harmonic_restrain.h /bond_harmonic_shift.cpp /bond_harmonic_shift.h /bond_harmonic_shift_cut.cpp diff --git a/src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp b/src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp new file mode 100644 index 0000000000..413d00226d --- /dev/null +++ b/src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp @@ -0,0 +1,244 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "bond_harmonic_restrain.h" + +#include "atom.h" +#include "comm.h" +#include "error.h" +#include "fix_property_atom.h" +#include "force.h" +#include "memory.h" +#include "modify.h" +#include "neighbor.h" + +#include +#include + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +BondHarmonicRestrain::BondHarmonicRestrain(LAMMPS *_lmp) : Bond(_lmp), initial(nullptr) +{ + writedata = 0; + natoms = -1; +} + +/* ---------------------------------------------------------------------- */ + +BondHarmonicRestrain::~BondHarmonicRestrain() +{ + modify->delete_fix("BOND_RESTRAIN"); + if (allocated) { + memory->destroy(setflag); + memory->destroy(k); + } +} + +/* ---------------------------------------------------------------------- */ + +void BondHarmonicRestrain::compute(int eflag, int vflag) +{ + int i1, i2, n, type; + double delx, dely, delz, ebond, fbond; + double rsq, r, r0, dr, rk; + + ebond = 0.0; + ev_init(eflag, vflag); + + double **x = atom->x; + double **x0 = (double **) atom->extract("d2_x0"); + double **f = atom->f; + int **bondlist = neighbor->bondlist; + int nbondlist = neighbor->nbondlist; + int nlocal = atom->nlocal; + int newton_bond = force->newton_bond; + + for (n = 0; n < nbondlist; n++) { + i1 = bondlist[n][0]; + i2 = bondlist[n][1]; + type = bondlist[n][2]; + + delx = x0[i1][0] - x0[i2][0]; + dely = x0[i1][1] - x0[i2][1]; + delz = x0[i1][2] - x0[i2][2]; + rsq = delx * delx + dely * dely + delz * delz; + r0 = sqrt(rsq); + + delx = x[i1][0] - x[i2][0]; + dely = x[i1][1] - x[i2][1]; + delz = x[i1][2] - x[i2][2]; + + rsq = delx * delx + dely * dely + delz * delz; + r = sqrt(rsq); + dr = r - r0; + rk = k[type] * dr; + + // force & energy + + if (r > 0.0) + fbond = -2.0 * rk / r; + else + fbond = 0.0; + + if (eflag) ebond = rk * dr; + + // apply force to each of 2 atoms + + if (newton_bond || i1 < nlocal) { + f[i1][0] += delx * fbond; + f[i1][1] += dely * fbond; + f[i1][2] += delz * fbond; + } + + if (newton_bond || i2 < nlocal) { + f[i2][0] -= delx * fbond; + f[i2][1] -= dely * fbond; + f[i2][2] -= delz * fbond; + } + + if (evflag) ev_tally(i1, i2, nlocal, newton_bond, ebond, fbond, delx, dely, delz); + } +} + +/* ---------------------------------------------------------------------- */ + +void BondHarmonicRestrain::allocate() +{ + allocated = 1; + const int np1 = atom->nbondtypes + 1; + + memory->create(k, np1, "bond:k"); + + memory->create(setflag, np1, "bond:setflag"); + for (int i = 1; i < np1; i++) setflag[i] = 0; +} + +/* ---------------------------------------------------------------------- + set coeffs for one or more types +------------------------------------------------------------------------- */ + +void BondHarmonicRestrain::coeff(int narg, char **arg) +{ + if (narg != 2) error->all(FLERR, "Incorrect args for bond coefficients"); + if (!allocated) allocate(); + + int ilo, ihi; + utils::bounds(FLERR, arg[0], 1, atom->nbondtypes, ilo, ihi, error); + + double k_one = utils::numeric(FLERR, arg[1], false, lmp); + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + k[i] = k_one; + setflag[i] = 1; + count++; + } + + if (count == 0) error->all(FLERR, "Incorrect args for bond coefficients"); +} + +/* ---------------------------------------------------------------------- + initialize custom data storage +------------------------------------------------------------------------- */ + +void BondHarmonicRestrain::init_style() +{ + // create internal fix to store initial positions + initial = dynamic_cast( + modify->add_fix("BOND_RESTRAIN all property/atom d2_x0 3 ghost yes")); + if (!initial) error->all(FLERR, "Failure to create internal per-atom storage"); + + // store initial positions + if (natoms < 0) { + natoms = atom->natoms; + double *const *const x0 = (double **) atom->extract("d2_x0"); + const double *const *const x = atom->x; + for (int i = 0; i < atom->nlocal; ++i) + for (int j = 0; j < 3; ++j) x0[i][j] = x[i][j]; + } + + // must not add atoms + if (natoms < atom->natoms) + error->all(FLERR, "Bond style harmonic/restrain does not support adding atoms"); +} + +/* ---------------------------------------------------------------------- + proc 0 writes out coeffs to restart file +------------------------------------------------------------------------- */ + +void BondHarmonicRestrain::write_restart(FILE *fp) +{ + fwrite(&natoms, sizeof(bigint), 1, fp); + fwrite(&k[1], sizeof(double), atom->nbondtypes, fp); +} + +/* ---------------------------------------------------------------------- + proc 0 reads coeffs from restart file, bcasts them +------------------------------------------------------------------------- */ + +void BondHarmonicRestrain::read_restart(FILE *fp) +{ + allocate(); + + if (comm->me == 0) { + utils::sfread(FLERR, &natoms, sizeof(bigint), 1, fp, nullptr, error); + utils::sfread(FLERR, &k[1], sizeof(double), atom->nbondtypes, fp, nullptr, error); + } + MPI_Bcast(&natoms, 1, MPI_LMP_BIGINT, 0, world); + MPI_Bcast(&k[1], atom->nbondtypes, MPI_DOUBLE, 0, world); + + for (int i = 1; i <= atom->nbondtypes; i++) setflag[i] = 1; +} + +/* ---------------------------------------------------------------------- + proc 0 writes to data file +------------------------------------------------------------------------- */ + +void BondHarmonicRestrain::write_data(FILE *fp) +{ + for (int i = 1; i <= atom->nbondtypes; i++) fprintf(fp, "%d %g\n", i, k[i]); +} + +/* ---------------------------------------------------------------------- */ + +double BondHarmonicRestrain::single(int type, double rsq, int i, int j, double &fforce) +{ + double **x0 = (double **) atom->extract("d2_x0"); + + double delx = x0[i][0] - x0[j][0]; + double dely = x0[i][1] - x0[j][1]; + double delz = x0[i][2] - x0[j][2]; + double r0 = sqrt(delx * delx + dely * dely + delz * delz); + + double r = sqrt(rsq); + double dr = r - r0; + double rk = k[type] * dr; + fforce = 0; + if (r > 0.0) fforce = -2.0 * rk / r; + return rk * dr; +} + +/* ---------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + return ptr to internal members upon request +------------------------------------------------------------------------ */ + +void *BondHarmonicRestrain::extract(const char *str, int &dim) +{ + dim = 1; + if (strcmp(str, "k") == 0) return (void *) k; + return nullptr; +} diff --git a/src/EXTRA-MOLECULE/bond_harmonic_restrain.h b/src/EXTRA-MOLECULE/bond_harmonic_restrain.h new file mode 100644 index 0000000000..e17c21e125 --- /dev/null +++ b/src/EXTRA-MOLECULE/bond_harmonic_restrain.h @@ -0,0 +1,52 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef BOND_CLASS +// clang-format off +BondStyle(harmonic/restrain,BondHarmonicRestrain); +// clang-format on +#else + +#ifndef LMP_BOND_HARMONIC_RESTRAIN_H +#define LMP_BOND_HARMONIC_RESTRAIN_H + +#include "bond.h" + +namespace LAMMPS_NS { + +class BondHarmonicRestrain : public Bond { + public: + BondHarmonicRestrain(class LAMMPS *); + ~BondHarmonicRestrain() override; + void compute(int, int) override; + void coeff(int, char **) override; + void init_style() override; + double equilibrium_distance(int) override { return -1.0; }; // return invalid value since not applicable + void write_restart(FILE *) override; + void read_restart(FILE *) override; + void write_data(FILE *) override; + double single(int, double, int, int, double &) override; + void *extract(const char *, int &) override; + + protected: + double *k; + bigint natoms; + class FixPropertyAtom *initial; + + virtual void allocate(); +}; + +} // namespace LAMMPS_NS + +#endif +#endif From 77ae215047b6b5ec65239f42aac8e9028347cfb2 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 3 Mar 2023 17:16:12 -0500 Subject: [PATCH 225/448] add versionadded tag --- doc/src/bond_harmonic_restrain.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/src/bond_harmonic_restrain.rst b/doc/src/bond_harmonic_restrain.rst index a9918d8b5d..5ffbfb424c 100644 --- a/doc/src/bond_harmonic_restrain.rst +++ b/doc/src/bond_harmonic_restrain.rst @@ -21,6 +21,8 @@ Examples Description """"""""""" +.. versionadded:: TBD + The *harmonic/restrain* bond style uses the potential .. math:: @@ -46,7 +48,7 @@ Restart info This bond style supports the :doc:`write_restart ` and :doc:`read_restart ` commands. The state of the initial bond lengths is stored with the restart files and read back. - + Restrictions """""""""""" From a136283312d6231ddd515804ec346feb1651986e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 3 Mar 2023 17:17:07 -0500 Subject: [PATCH 226/448] update/correct section header (this is not a fix) --- doc/src/bond_table.rst | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/doc/src/bond_table.rst b/doc/src/bond_table.rst index 51e677d74a..1924774693 100644 --- a/doc/src/bond_table.rst +++ b/doc/src/bond_table.rst @@ -112,8 +112,9 @@ are estimated (less accurately) by the first two and last two force values in the table. The "EQ" parameter is also optional. If used, it is followed by a the -equilibrium bond length, which is used, for example, by the :doc:`fix shake ` command. If not used, the equilibrium bond -length is to the distance in the table with the lowest potential energy. +equilibrium bond length, which is used, for example, by the :doc:`fix +shake ` command. If not used, the equilibrium bond length is +to the distance in the table with the lowest potential energy. Following a blank line, the next N lines list the tabulated values. On each line, the first value is the index from 1 to N, the second value is @@ -135,16 +136,15 @@ one that matches the specified keyword. ---------- -Restart, fix_modify, output, run start/stop, minimize info -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +Restart info +"""""""""""" -This bond style writes the settings for the "bond_style table" -command to :doc:`binary restart files `, so a bond_style -command does not need to specified in an input script that reads a -restart file. However, the coefficient information is not stored in -the restart file, since it is tabulated in the potential files. Thus, -bond_coeff commands do need to be specified in the restart input -script. +This bond style writes the settings for the "bond_style table" command +to :doc:`binary restart files `, so a bond_style command does +not need to specified in an input script that reads a restart file. +However, the coefficient information is not stored in the restart file, +since it is tabulated in the potential files. Thus, bond_coeff commands +do need to be specified in the restart input script. Restrictions """""""""""" From de182aeeed33e3ad7cd62d6ebceb6a9ce28c4e20 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 3 Mar 2023 17:25:28 -0500 Subject: [PATCH 227/448] fix issues due to incomplete conversion form txt2html markup --- doc/src/pair_gauss.rst | 13 +++++++------ doc/src/pair_tersoff_mod.rst | 2 +- doc/src/read_data.rst | 10 ++++++---- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/doc/src/pair_gauss.rst b/doc/src/pair_gauss.rst index f6d8134467..5ac8f2aff4 100644 --- a/doc/src/pair_gauss.rst +++ b/doc/src/pair_gauss.rst @@ -103,12 +103,13 @@ Mixing, shift, table, tail correction, restart, rRESPA info For atom type pairs I,J and I != J, the A, B, H, sigma_h, r_mh parameters, and the cutoff distance for these pair styles can be mixed: -A (energy units) -sqrt(1/B) (distance units, see below) -H (energy units) -sigma_h (distance units) -r_mh (distance units) -cutoff (distance units):ul + +* A (energy units) +* :math:`\sqrt{\frac{1}{B}}` (distance units, see below) +* H (energy units) +* :math:`r_{mh}` (distance units) +* :math:`\sigma_h` (distance units) +* cutoff (distance units) The default mix value is *geometric*\ . Only *arithmetic* and *geometric* mix values are supported. diff --git a/doc/src/pair_tersoff_mod.rst b/doc/src/pair_tersoff_mod.rst index 8c9605d62c..a667ae6605 100644 --- a/doc/src/pair_tersoff_mod.rst +++ b/doc/src/pair_tersoff_mod.rst @@ -145,7 +145,7 @@ coefficients in the formulae above: * c3 * c4 * c5 -* c0 (energy units, tersoff/mod/c only):ul +* c0 (energy units, tersoff/mod/c only) The n, :math:`\eta`, :math:`\lambda_2`, B, :math:`\lambda_1`, and A parameters are only used for two-body interactions. The :math:`\beta`, :math:`\alpha`, c1, c2, c3, c4, c5, h diff --git a/doc/src/read_data.rst b/doc/src/read_data.rst index 7c08802228..0ecd2b6fa2 100644 --- a/doc/src/read_data.rst +++ b/doc/src/read_data.rst @@ -1477,10 +1477,12 @@ The *Triangles* section must appear after the *Atoms* section. where the keywords have these meanings: -vx,vy,vz = translational velocity of atom -lx,ly,lz = angular momentum of aspherical atom -wx,wy,wz = angular velocity of spherical atom -ervel = electron radial velocity (0 for fixed-core):ul + .. parsed-literal:: + + vx,vy,vz = translational velocity of atom + lx,ly,lz = angular momentum of aspherical atom + wx,wy,wz = angular velocity of spherical atom + ervel = electron radial velocity (0 for fixed-core) The velocity lines can appear in any order. This section can only be used after an *Atoms* section. This is because the *Atoms* section From e373aa39e7f7e225d62cdd7bf570d346ec682989 Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Fri, 3 Mar 2023 16:44:34 -0700 Subject: [PATCH 228/448] Update CODEOWNERS --- .github/CODEOWNERS | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 038f290f64..2686011281 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -150,12 +150,12 @@ tools/vim/* @hammondkd unittest/* @akohlmey # cmake -cmake/* @junghans @rbberger +cmake/* @rbberger cmake/Modules/LAMMPSInterfacePlugin.cmake @akohlmey cmake/Modules/MPI4WIN.cmake @akohlmey cmake/Modules/OpenCLLoader.cmake @akohlmey -cmake/Modules/Packages/COLVARS.cmake @junghans @rbberger @giacomofiorin -cmake/Modules/Packages/KIM.cmake @junghans @rbberger @ellio167 +cmake/Modules/Packages/COLVARS.cmake @rbberger @giacomofiorin +cmake/Modules/Packages/KIM.cmake @rbberger @ellio167 cmake/presets/*.cmake @akohlmey # python From c3c6c5f154cefc6746261535c695ed7a5e085d39 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 3 Mar 2023 20:50:56 -0500 Subject: [PATCH 229/448] python2 compatibility (or rather scipy of python2) and avoid NaNs --- tools/tabulate/pair_bi_tabulate.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/tabulate/pair_bi_tabulate.py b/tools/tabulate/pair_bi_tabulate.py index 5d225ce6fc..615f7db14f 100755 --- a/tools/tabulate/pair_bi_tabulate.py +++ b/tools/tabulate/pair_bi_tabulate.py @@ -69,11 +69,11 @@ class BI(PairTabulate): # savgol_filter is an example of smoothing. # Other filters/functions can be used. - g = savgol_filter(g, 10, 5) + g = savgol_filter(g, 9, 5) return self.inversion(r, g) def inversion(self, r, g): - e = -self.kbT * np.log(g) + e = -self.kbT * np.log(np.clip(g,1.0e-100,1.0e100)) e = self.complete_exponential(r, e) return r, e, From fc4ca0503e09a85a88cf0f83fff2250402e7eb42 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 3 Mar 2023 20:51:28 -0500 Subject: [PATCH 230/448] make --rdffile, --units, and --temperature required arguments --- tools/tabulate/pair_bi_tabulate.py | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/tools/tabulate/pair_bi_tabulate.py b/tools/tabulate/pair_bi_tabulate.py index 615f7db14f..233cbe4d69 100755 --- a/tools/tabulate/pair_bi_tabulate.py +++ b/tools/tabulate/pair_bi_tabulate.py @@ -29,15 +29,10 @@ class BI(PairTabulate): action="store_true", help="Shift potential energy to be zero at outer cutoff", ) - self.parser.add_argument( - "--rdffile", default="rdf.dat", help="Rdf file to be read." - ) - self.parser.add_argument( - "--units", default="lj", help="LAMMPS units to use [default lj]." - ) - self.parser.add_argument( - "--temperature", default=0, type=float, help="Temperature for BI." - ) + self.parser.add_argument("--units", required=True, help="LAMMPS units to use") + self.parser.add_argument("--rdffile", required=True, help="Rdf file to be read") + self.parser.add_argument("--temperature", required=True, type=float, + help="Temperature for Boltzman Inversion.") try: self.args = self.parser.parse_args() except argparse.ArgumentError: @@ -48,16 +43,19 @@ class BI(PairTabulate): else: sys.exit("Invalid temperature provided.") - kb = 1 + kb = 1.0 # Add more kb units if you need - if self.args.units == "si": + self.units = self.args.units + if self.units == "lj": + kb = 1.0 # reduced + elif self.units == "si": kb = 1.380649e-23 # J/K - elif self.args.units == "metal": - kb = 8.617333e-5 # eV/K - elif self.args.units == "real": - kb = 1.987204e-3 # kcal/mol/K + elif self.units == "metal": + kb = 8.617333e-5 # eV/K + elif self.units == "real": + kb = 1.987204e-3 # kcal/mol/K else: - sys.stdout.write("WARNING: Unknown or lj units, using kb=1\n") + sys.exit("Unsupported units setting " + self.units) self.kbT = kb * T self.r, self.e = self.read_rdf(self.args.rdffile) From 76387d003bc9236fecd244b93234ac5e645c220f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 3 Mar 2023 23:12:17 -0500 Subject: [PATCH 231/448] fine tune package check directory matching to not match bogus entries --- doc/utils/check-packages.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/utils/check-packages.py b/doc/utils/check-packages.py index cb64259f15..8fc17f28df 100644 --- a/doc/utils/check-packages.py +++ b/doc/utils/check-packages.py @@ -49,7 +49,9 @@ pkgs = [] # folder, and is not called 'MAKE' is a package for d in pkgdirs: - pkg = dirs.match(d).group(1) + match = dirs.match(d) + if not match: continue + pkg = match.group(1) if not os.path.isdir(os.path.join(src_dir, pkg)): continue if pkg in ['DEPEND','MAKE','STUBS']: continue pkgs.append(pkg) From 3df51305df8819244df62a42c73a18e58ee5d478 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 4 Mar 2023 00:32:18 -0500 Subject: [PATCH 232/448] integrate updates for fix alchemy documentation from @sjplimp --- doc/src/fix_alchemy.rst | 140 +++++++++++++++++++++++++--------------- 1 file changed, 89 insertions(+), 51 deletions(-) diff --git a/doc/src/fix_alchemy.rst b/doc/src/fix_alchemy.rst index 90c436139e..056cf60369 100644 --- a/doc/src/fix_alchemy.rst +++ b/doc/src/fix_alchemy.rst @@ -12,7 +12,7 @@ Syntax * ID, group-ID are documented in :doc:`fix ` command * alchemy = style name of this fix command -* v_name = variable with name that determines the :math:`\lambda_p` value +* v_name = variable with name that determines the :math:`\lambda_R` value Examples """""""" @@ -26,80 +26,121 @@ Description .. versionadded:: TBD -This fix command enables running an "alchemical transformation" MD -simulation between two topologies (i.e. the same number and positions of -atoms, but differences in atom parameters like type, charge, bonds, -angles and so on). For this a :ref:`multi-partition run ` is -required with exactly two partitions. During the MD run, the fix will -will determine a factor, :math:`\lambda_p`, for each partition *p* that -will be taken from an equal style or equivalent :doc:`variable -`. Typically, this variable would be chose to linearly ramp -*down* from 1.0 to 0.0 for the *first* partition (*p=0*) and linearly -ramp *up* from 0.0 to 1.0 for the *second* partition (*p=1*). The -forces used for the propagation of the atoms will be the sum of the -forces of the two systems combined and scaled with their respective -:math:`\lambda_p` factor. This allows to perform transformations that -are not easily possible with :doc:`pair style hybrid/scaled -`, :doc:`fix adapt ` or :doc:`fix adapt/fep -`. +This fix command enables an "alchemical transformation" to be performed +between two systems, whereby one system slowly transforms into the other +over the course of a molecular dynamics run. This is useful for +measuring thermodynamic differences between two different systems. It +also allows transformations that are not easily possible with the +:doc:`pair style hybrid/scaled `, :doc:`fix adapt +` or :doc:`fix adapt/fep ` commmands. -.. note:: +Example inputs are included in the ``examples/PACKAGES/alchemy`` +directory for (a) transforming a pure copper system into a +copper/aluminum bronze alloy and (b) transforming two water molecules +into a hydronium plus hydroxyl ion. - Since the definition of the variable to provide the :math:`\lambda_p` is - independent in the two partitions, no check is made that the two values - remain between 0.0 and 1.0 and that they add up to 1.0. So care needs to - be taken when defining those variables that this is the case. +The two systems must be defined in :doc:`separate replicas +` and run in separate partitions of processors using the +:doc:`-partition ` command-line switch. Exacty two +partitions must be specified and each partition must use the same number +of processors and the same domain decomposition. -Due to the specifics of the implementation, the initial geometry and -dimensions of the system must be exactly the same and the fix will -synchronize them during the run. It is thus not possible to initialize -the two partitions by reading different data files or creating different -systems from scratch, but rather they have to be started from the same -system and then the desired modifications need to be applied to the -system of the second partition. The commands :doc:`pair style -hybrid/scaled `, :doc:`fix adapt ` or :doc:`fix -adapt/fep ` could be used for simulations where the -requirements for fix alchemy are not given. +Because the forces applied to the atoms are the same mix of the forces +from each partition and the simulation starts with the same atom +positions across both partitions, they will generate the same trajectory +of coordinates for each atom, and the same simulation box size and +shape. The latter two conditions are *enforced* by this fix; it +exchanges coordinates and box information between the replicas. This is +not strictly required, but since MD simulations are an example of a +chaotic system, even the tiniest random difference will eventually grow +exponentially into an unwanted divergence. -The commands below demonstrate how the setup for the second partition -can be done for the example of transforming a pure copper system into a -copper/aluminum bronze. +Otherwise the properties of each atom (type, charge, bond and angle +partners, etc), as well as energy and forces between interacting atoms +(pair, bond, angle styles, etc) can be different in the two systems. -.. code-block:: LAMMPS +This can be initialized in the same input script by using commands which +only apply to one or the other replica. The example scripts use a +world-style :doc:`variable ` command along with +:doc:`if/then/else ` commmands for this purpose. The +:doc:`partition ` command can also be used. variable name world pure alloy +.. code-block:: LAMMPS + create_box 2 box create_atoms 1 box pair_style eam/alloy pair_coeff * * AlCu.eam.alloy Cu Al # replace 5% of copper with aluminum on the second partition only + variable name world pure alloy if "${name} == alloy" then & "set type 1 type/fraction 2 0.05 6745234" - # define ramp variable to combine the two different partitions - if "${name} == pure" then & - "variable ramp equal ramp(1.0,0.0)" & - else & - "variable ramp equal ramp(0.0,1.0)" +Both replicas must define an instance of this fix, but with a different +*v_name* variable. The named variable must be an equal-style or +equivalent :doc:`variable `. The two variables should be +defined so that one ramps *down* from 1.0 to 0.0 for the *first* replica +(*R=0*) and the other ramps *up* from 0.0 to 1.0 for the *second* +replica (*R=1*). A simple way is to do this is lineraly, which can be +done using the ramp() function of the :doc:`variable ` +command. You could also define a variable which returns a value between +0.0 and 1.0 as a non-linear function of the timestep. Here is a linear +example: +.. code-block:: LAMMPS + + partition yes 1 variable ramp equal ramp(1.0,0.0) + partition yes 2 variable ramp equal ramp(0.0,1.0) fix 2 all alchemy v_ramp +.. note:: -The ``examples/PACKAGES/alchemy`` folder contains complete example -inputs for this command. + For an alchemical transformation, the two variables should sum to + exactly 1.0 at any timestep. LAMMPS does *NOT* check that this is + the case. + +If you use the ``ramp()`` function to define the two variables, this fix +can easily be used across successive runs in the same input script by +ensuring each instance of the :doc:`run ` command specifies the +appropriate *start* or *stop* options. + +At each timestep of an MD run, the two instances of this fix evaluate +their respective variables as a :math:`\lambda_R` factor, where *R* = 0 +or 1 for each replica. The forces used by each system for the +propagation of theire atoms is set to the sum of the forces for the two +systems, each scaled by their respective :math:`\lambda_R` factor. Thus +during the MD run, the system will transform incrementally from from the +first system to the second system. + +.. note:: + + As mentioned above, the coordinates of the atoms and box size/shape + must be exactly the same in the two replicas. Thus it is generally + not a good idea to initialize the two replicas by reading different + data files or creating them from scratch. Rather, a single system + should be initialized and desired modifications applied to the system + of the second replica. If your input script somehow induces the two + systems to become different (e.g. by performing :doc:`atom_modify + sort ` differently, or by adding or depositing a + different number of atoms), then LAMMPS will detect the mismatchand + generate an error. This is done by ensuring that each step the + number and ordering of atoms is identical within each pair of + processors in the two replicas. ---------- Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -No information about this fix is written to :doc:`binary restart files `. -None of the :doc:`fix_modify ` options are relevant to this fix. +No information about this fix is written to :doc:`binary restart files +`. None of the :doc:`fix_modify ` options are +relevant to this fix. -This fix stores a global scalar (the current value of :math:`\lambda_p`) +This fix stores a global scalar (the current value of :math:`\lambda_R`) and a global vector of length 3 which contains the potential energy of the first partition, the second partition and the combined value, respectively. The global scalar is unitless and "intensive", the vector @@ -117,12 +158,9 @@ This fix is part of the REPLICA package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. -There may be only one instance of this fix in use at any time. +There may be only one instance of this fix in use at a time within +each replica. -This fix requires to perform a :ref:`multi-partition run ` -with *exactly* two partitions. - -This fix is *not* compatible with :doc:`load balancing `. Related commands """""""""""""""" From 6640e8b647384382937ea4c0bbe78e3dee5cce61 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 4 Mar 2023 00:43:43 -0500 Subject: [PATCH 233/448] address some spelling and grammar issues flagged by languagetool.org --- doc/src/fix_alchemy.rst | 54 ++++++++++----------- doc/utils/sphinx-config/false_positives.txt | 1 + 2 files changed, 27 insertions(+), 28 deletions(-) diff --git a/doc/src/fix_alchemy.rst b/doc/src/fix_alchemy.rst index 056cf60369..37c49fed47 100644 --- a/doc/src/fix_alchemy.rst +++ b/doc/src/fix_alchemy.rst @@ -32,17 +32,17 @@ over the course of a molecular dynamics run. This is useful for measuring thermodynamic differences between two different systems. It also allows transformations that are not easily possible with the :doc:`pair style hybrid/scaled `, :doc:`fix adapt -` or :doc:`fix adapt/fep ` commmands. +` or :doc:`fix adapt/fep ` commands. Example inputs are included in the ``examples/PACKAGES/alchemy`` directory for (a) transforming a pure copper system into a copper/aluminum bronze alloy and (b) transforming two water molecules -into a hydronium plus hydroxyl ion. +in a box of water into a hydronium and a hydroxyl ion. -The two systems must be defined in :doc:`separate replicas +The two systems must be defined as :doc:`separate replica ` and run in separate partitions of processors using the -:doc:`-partition ` command-line switch. Exacty two -partitions must be specified and each partition must use the same number +:doc:`-partition ` command-line switch. Exactly two +partitions must be specified, and each partition must use the same number of processors and the same domain decomposition. Because the forces applied to the atoms are the same mix of the forces @@ -55,18 +55,16 @@ not strictly required, but since MD simulations are an example of a chaotic system, even the tiniest random difference will eventually grow exponentially into an unwanted divergence. -Otherwise the properties of each atom (type, charge, bond and angle -partners, etc), as well as energy and forces between interacting atoms -(pair, bond, angle styles, etc) can be different in the two systems. +Otherwise, the properties of each atom (type, charge, bond and angle +partners, etc.), as well as energy and forces between interacting atoms +(pair, bond, angle styles, etc.) can be different in the two systems. This can be initialized in the same input script by using commands which only apply to one or the other replica. The example scripts use a world-style :doc:`variable ` command along with -:doc:`if/then/else ` commmands for this purpose. The +:doc:`if/then/else ` commands for this purpose. The :doc:`partition ` command can also be used. - variable name world pure alloy - .. code-block:: LAMMPS create_box 2 box @@ -85,7 +83,7 @@ Both replicas must define an instance of this fix, but with a different equivalent :doc:`variable `. The two variables should be defined so that one ramps *down* from 1.0 to 0.0 for the *first* replica (*R=0*) and the other ramps *up* from 0.0 to 1.0 for the *second* -replica (*R=1*). A simple way is to do this is lineraly, which can be +replica (*R=1*). A simple way is to do this is linearly, which can be done using the ramp() function of the :doc:`variable ` command. You could also define a variable which returns a value between 0.0 and 1.0 as a non-linear function of the timestep. Here is a linear @@ -111,25 +109,25 @@ appropriate *start* or *stop* options. At each timestep of an MD run, the two instances of this fix evaluate their respective variables as a :math:`\lambda_R` factor, where *R* = 0 or 1 for each replica. The forces used by each system for the -propagation of theire atoms is set to the sum of the forces for the two -systems, each scaled by their respective :math:`\lambda_R` factor. Thus -during the MD run, the system will transform incrementally from from the +propagation of their atoms is set to the sum of the forces for the two +systems, each scaled by their respective :math:`\lambda_R` factor. Thus, +during the MD run, the system will transform incrementally from the first system to the second system. .. note:: As mentioned above, the coordinates of the atoms and box size/shape - must be exactly the same in the two replicas. Thus it is generally - not a good idea to initialize the two replicas by reading different - data files or creating them from scratch. Rather, a single system - should be initialized and desired modifications applied to the system - of the second replica. If your input script somehow induces the two - systems to become different (e.g. by performing :doc:`atom_modify - sort ` differently, or by adding or depositing a - different number of atoms), then LAMMPS will detect the mismatchand - generate an error. This is done by ensuring that each step the - number and ordering of atoms is identical within each pair of - processors in the two replicas. + must be exactly the same in the two replicas. Therefore, it is + generally not a good idea to initialize the two replicas by reading + different data files or creating them individually from scratch. + Rather, a single system should be initialized and then desired + modifications applied to the system to either replica. If your + input script somehow induces the two systems to become different + (e.g. by performing :doc:`atom_modify sort ` + differently, or by adding or depositing a different number of atoms), + then LAMMPS will detect the mismatch and generate an error. This is + done by ensuring that each step the number and ordering of atoms is + identical within each pair of processors in the two replicas. ---------- @@ -146,8 +144,8 @@ the first partition, the second partition and the combined value, respectively. The global scalar is unitless and "intensive", the vector is in :doc:`energy units ` and "extensive". These values can be used by any command that uses a global value from a fix as input. See -the :doc:`Howto output ` doc page for an overview of -LAMMPS output options. +the :doc:`output howto ` page for an overview of LAMMPS +output options. This fix is not invoked during :doc:`energy minimization `. diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index e46b5dd28b..0f18e6822f 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -1444,6 +1444,7 @@ hux hwloc hx hy +hydronium hydrophobicity hydrostatic hydrostatically From 02f36f4e72baea82c2208c4384cf0677c8f44875 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 4 Mar 2023 06:30:47 -0500 Subject: [PATCH 234/448] whitespace --- doc/src/fix_alchemy.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/fix_alchemy.rst b/doc/src/fix_alchemy.rst index 37c49fed47..367b6d1cca 100644 --- a/doc/src/fix_alchemy.rst +++ b/doc/src/fix_alchemy.rst @@ -66,7 +66,7 @@ world-style :doc:`variable ` command along with :doc:`partition ` command can also be used. .. code-block:: LAMMPS - + create_box 2 box create_atoms 1 box pair_style eam/alloy @@ -115,7 +115,7 @@ during the MD run, the system will transform incrementally from the first system to the second system. .. note:: - + As mentioned above, the coordinates of the atoms and box size/shape must be exactly the same in the two replicas. Therefore, it is generally not a good idea to initialize the two replicas by reading From fcf8fc503fc71fd204af0d3c48bc217453209e0d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 4 Mar 2023 16:24:58 -0500 Subject: [PATCH 235/448] fix broken links --- doc/src/fix_shake.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/fix_shake.rst b/doc/src/fix_shake.rst index e6fbad7fdc..32cb5a2d19 100644 --- a/doc/src/fix_shake.rst +++ b/doc/src/fix_shake.rst @@ -275,8 +275,8 @@ reducing the :doc:`timestep `. Related commands """""""""""""""" -`fix rigid `, `fix ehex `, -`fix nve/manifold/rattle ` +:doc:`fix rigid `, :doc:`fix ehex `, +:doc:`fix nve/manifold/rattle ` Default From 8aad97ca4ab4cebdaf94e1c4912a27cdbb9e16d6 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 4 Mar 2023 17:03:07 -0500 Subject: [PATCH 236/448] fix broken doc links --- doc/src/Build_extras.rst | 4 ++-- doc/src/Howto_mdi.rst | 22 +++++++++++----------- doc/src/Intro_features.rst | 2 +- doc/src/bond_write.rst | 2 +- doc/src/dump.rst | 2 +- doc/src/fix_nh_uef.rst | 9 +++++---- doc/src/fix_shake.rst | 16 ++++++++-------- doc/src/minimize.rst | 14 +++++++------- doc/src/pair_ylz.rst | 9 +++++---- 9 files changed, 41 insertions(+), 39 deletions(-) diff --git a/doc/src/Build_extras.rst b/doc/src/Build_extras.rst index ac6a27464b..4dd8c10b3f 100644 --- a/doc/src/Build_extras.rst +++ b/doc/src/Build_extras.rst @@ -1964,10 +1964,10 @@ OPENMP package Apple offers the `Xcode package and IDE `_ for compiling software on macOS, so you have likely installed it to compile LAMMPS. Their - compiler is based on `Clang `, but while it + compiler is based on `Clang `_, but while it is capable of processing OpenMP directives, the necessary header files and OpenMP runtime library are missing. The `R developers - ` have figured out a way to build those + `_ have figured out a way to build those in a compatible fashion. One can download them from `https://mac.r-project.org/openmp/ `_. Simply adding those files as diff --git a/doc/src/Howto_mdi.rst b/doc/src/Howto_mdi.rst index 0e09ff2841..7567462397 100644 --- a/doc/src/Howto_mdi.rst +++ b/doc/src/Howto_mdi.rst @@ -63,18 +63,18 @@ The package also provides a :doc:`mdi plugin ` command, which enables LAMMPS to operate as an MDI driver and load an MDI engine as a plugin library. -The package furthermore includes a `fix mdi/qm ` command, in -which LAMMPS operates as an MDI driver in conjunction with a quantum -mechanics code as an MDI engine. The post_force() method of the -``fix_mdi_qm.cpp`` file shows how a driver issues MDI commands to another -code. This command can be used to couple to an MDI engine, which is -either a stand-alone code or a plugin library. +The package furthermore includes a :doc:`fix mdi/qm ` +command, in which LAMMPS operates as an MDI driver in conjunction with a +quantum mechanics code as an MDI engine. The post_force() method of the +``fix_mdi_qm.cpp`` file shows how a driver issues MDI commands to +another code. This command can be used to couple to an MDI engine, +which is either a stand-alone code or a plugin library. -As explained in the `fix mdi/qm ` command documentation, it -can be used to perform *ab initio* MD simulations or energy -minimizations, or to evaluate the quantum energy and forces for a series -of independent systems. The ``examples/mdi`` directory has example -input scripts for all of these use cases. +As explained in the :doc:`fix mdi/qm ` command +documentation, it can be used to perform *ab initio* MD simulations or +energy minimizations, or to evaluate the quantum energy and forces for a +series of independent systems. The ``examples/mdi`` directory has +example input scripts for all of these use cases. ---------- diff --git a/doc/src/Intro_features.rst b/doc/src/Intro_features.rst index 76b989ad69..d8fb2269e5 100644 --- a/doc/src/Intro_features.rst +++ b/doc/src/Intro_features.rst @@ -195,7 +195,7 @@ Multi-replica models * :doc:`parallel replica dynamics ` * :doc:`temperature accelerated dynamics ` * :doc:`parallel tempering ` -* path-integral MD: `first variant `, `second variant ` +* path-integral MD: :doc:`first variant `, :doc:`second variant ` * multi-walker collective variables with :doc:`Colvars ` and :doc:`Plumed ` .. _prepost: diff --git a/doc/src/bond_write.rst b/doc/src/bond_write.rst index 43015e25e7..bd63ebea29 100644 --- a/doc/src/bond_write.rst +++ b/doc/src/bond_write.rst @@ -70,7 +70,7 @@ be specified even if the potential has a finite value at r = 0.0. Related commands """""""""""""""" -:doc:`bond_style table `, `angle_write `, +:doc:`bond_style table `, :doc:`angle_write `, :doc:`bond_style `, :doc:`bond_coeff ` Default diff --git a/doc/src/dump.rst b/doc/src/dump.rst index 01fcc2e7e1..7993ae985f 100644 --- a/doc/src/dump.rst +++ b/doc/src/dump.rst @@ -375,7 +375,7 @@ output with each snapshot: nx ny nz The value dim will be 2 or 3 for 2d or 3d simulations. It is included -so that post-processing tools like `OVITO `, +so that post-processing tools like `OVITO `_, which can visualize grid-based quantities know how to draw each grid cell. The grid size will match the input script parameters for grid(s) created by the computes or fixes which are referenced by the diff --git a/doc/src/fix_nh_uef.rst b/doc/src/fix_nh_uef.rst index cf20d56ce7..922c2d515a 100644 --- a/doc/src/fix_nh_uef.rst +++ b/doc/src/fix_nh_uef.rst @@ -218,10 +218,11 @@ use :doc:`change_box ` before invoking the fix. Related commands """""""""""""""" -:doc:`fix nvt `, :doc:`fix npt `, `fix nvt/sllod -:doc:`, `compute temp/uef `, -:doc::doc:`compute pressure/uef `, `dump cfg/uef -:doc:` +:doc:`fix nvt `, :doc:`fix npt `, +:doc:`fix nvt/sllod `, +:doc:`compute temp/uef `, +:doc:`compute pressure/uef `, +:doc:`dump cfg/uef ` Default """"""" diff --git a/doc/src/fix_shake.rst b/doc/src/fix_shake.rst index 32cb5a2d19..4688fcbf2a 100644 --- a/doc/src/fix_shake.rst +++ b/doc/src/fix_shake.rst @@ -133,9 +133,9 @@ constraint lists atom types. All bonds connected to an atom of the specified type will be constrained. The *m* constraint lists atom masses. All bonds connected to atoms of the specified masses will be constrained (within a fudge factor of MASSDELTA specified in -fix_shake.cpp). The *a* constraint lists angle types. If both bonds -in the angle are constrained then the angle will also be constrained -if its type is in the list. +``src/RIGID/fix_shake.cpp``). The *a* constraint lists angle types. If +both bonds in the angle are constrained then the angle will also be +constrained if its type is in the list. For all constraints, a particular bond is only constrained if both atoms in the bond are in the group specified with the SHAKE fix. @@ -205,11 +205,11 @@ LAMMPS closely follows (:ref:`Andersen (1983) `). The *fix rattle* command modifies forces and velocities and thus should be defined after all other integration fixes in your input script. If you define other fixes that modify velocities or forces - after *fix rattle* operates, then *fix rattle* will not take them into - account and the overall time integration will typically not satisfy - the RATTLE constraints. You can check whether the constraints work - correctly by setting the value of RATTLE_DEBUG in src/fix_rattle.cpp - to 1 and recompiling LAMMPS. + after *fix rattle* operates, then *fix rattle* will not take them + into account and the overall time integration will typically not + satisfy the RATTLE constraints. You can check whether the + constraints work correctly by setting the value of RATTLE_DEBUG in + ``src/RIGID/fix_rattle.cpp`` to 1 and recompiling LAMMPS. ---------- diff --git a/doc/src/minimize.rst b/doc/src/minimize.rst index 5143cab5d5..6221d33aad 100644 --- a/doc/src/minimize.rst +++ b/doc/src/minimize.rst @@ -49,19 +49,19 @@ and forces) by pushing the atoms off of each other. The distance that atoms can move during individual minimization steps can be quite large, especially at the beginning of a minimization. - Thus `neighbor list settings ` of *every = 1* and + Thus :doc:`neighbor list settings ` of *every = 1* and *delay = 0* are **required**. This may be combined with either *check = no* (always update the neighbor list) or *check = yes* (only update the neighbor list if at least one atom has moved more than - half the `neighbor list skin ` distance since the last + half the :doc:`neighbor list skin ` distance since the last reneighboring). Using *check = yes* is recommended since it avoids unneeded reneighboring steps when the system is closer to the minimum - and thus atoms move only small distances. Using *check = no* may - be required for debugging or when coupling LAMMPS with external - codes that require a predictable sequence of neighbor list updates. + and thus atoms move only small distances. Using *check = no* may be + required for debugging or when coupling LAMMPS with external codes + that require a predictable sequence of neighbor list updates. - If the settings are **not** *every = 1* and *delay = 0*, LAMMPS - will temporarily apply a `neigh_modify every 1 delay 0 check yes + If the settings are **not** *every = 1* and *delay = 0*, LAMMPS will + temporarily apply a :doc:`neigh_modify every 1 delay 0 check yes ` setting during the minimization and restore the original setting at the end of the minimization. A corresponding message will be printed to the screen and log file, if this happens. diff --git a/doc/src/pair_ylz.rst b/doc/src/pair_ylz.rst index 17cf0ca639..22a707e9cb 100644 --- a/doc/src/pair_ylz.rst +++ b/doc/src/pair_ylz.rst @@ -142,10 +142,11 @@ the :doc:`atom_style ellipsoid ` command. Related commands """""""""""""""" -:doc:`pair_coeff `, :doc:`fix nve/asphere -:doc:`, `compute temp/asphere `, -:doc::doc:`pair_style resquared `, :doc:`pair_style -:doc:gayberne ` +:doc:`pair_coeff `, +:doc:`fix nve/asphere `, +:doc:`compute temp/asphere `, +:doc:`pair_style resquared `, +:doc:`pair_style gayberne ` Default """"""" From 7f934e3b2515ffa05579a19dc9697e66dd3600d9 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 4 Mar 2023 17:09:17 -0500 Subject: [PATCH 237/448] add check for broken doc links to doc makefile --- doc/Makefile | 15 +++++++++------ doc/src/Install_linux.rst | 2 +- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/doc/Makefile b/doc/Makefile index ad80017b7e..2a4edc70f3 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -94,10 +94,11 @@ html: xmlgen $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK) $(MATHJAX) rm -f $(BUILDDIR)/doxygen/xml/run.stamp;\ echo "############################################" ; env PYTHONWARNINGS= PYTHONDONTWRITEBYTECODE=1 \ rst_anchor_check src/*.rst ;\ - python $(BUILDDIR)/utils/check-packages.py -s ../src -d src ;\ + $(PYTHON) $(BUILDDIR)/utils/check-packages.py -s ../src -d src ;\ env LC_ALL=C grep -n '[^ -~]' $(RSTDIR)/*.rst ;\ env LC_ALL=C grep -n ' :[a-z]\+`' $(RSTDIR)/*.rst ;\ - python $(BUILDDIR)/utils/check-styles.py -s ../src -d src ;\ + env LC_ALL=C grep -n ' `[^`]\+<[a-z][^`]\+`[^_]' $(RSTDIR)/*.rst ;\ + $(PYTHON) $(BUILDDIR)/utils/check-styles.py -s ../src -d src ;\ echo "############################################" ;\ deactivate ;\ ) @@ -174,10 +175,11 @@ pdf: xmlgen $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK) rm -f $(BUILDDIR)/doxygen/xml/run.stamp;\ echo "############################################" ; env PYTHONWARNINGS= PYTHONDONTWRITEBYTECODE=1 \ rst_anchor_check src/*.rst ;\ - python utils/check-packages.py -s ../src -d src ;\ + $(PYTHON) utils/check-packages.py -s ../src -d src ;\ env LC_ALL=C grep -n '[^ -~]' $(RSTDIR)/*.rst ;\ env LC_ALL=C grep -n ' :[a-z]\+`' $(RSTDIR)/*.rst ;\ - python utils/check-styles.py -s ../src -d src ;\ + env LC_ALL=C grep -n ' `[^`]\+<[a-z][^`]\+`[^_]' $(RSTDIR)/*.rst ;\ + $(PYTHON) utils/check-styles.py -s ../src -d src ;\ echo "############################################" ;\ deactivate ;\ ) @@ -208,14 +210,14 @@ anchor_check : $(ANCHORCHECK) style_check : $(VENV) @(\ . $(VENV)/bin/activate ; env PYTHONWARNINGS= PYTHONDONTWRITEBYTECODE=1 \ - python utils/check-styles.py -s ../src -d src ;\ + $(PYTHON) utils/check-styles.py -s ../src -d src ;\ deactivate ;\ ) package_check : $(VENV) @(\ . $(VENV)/bin/activate ; env PYTHONWARNINGS= PYTHONDONTWRITEBYTECODE=1 \ - python utils/check-packages.py -s ../src -d src ;\ + $(PYTHON) utils/check-packages.py -s ../src -d src ;\ deactivate ;\ ) @@ -224,6 +226,7 @@ char_check : role_check : @( env LC_ALL=C grep -n ' :[a-z]\+`' $(RSTDIR)/*.rst && exit 1 || : ) + @( env LC_ALL=C grep -n ' `[^`]\+<[a-z][^`]\+`[^_]' $(RSTDIR)/*.rst && exit 1 || : ) link_check : $(VENV) html @(\ diff --git a/doc/src/Install_linux.rst b/doc/src/Install_linux.rst index f902b1b987..91e7529879 100644 --- a/doc/src/Install_linux.rst +++ b/doc/src/Install_linux.rst @@ -42,7 +42,7 @@ static linkage, there is no ``liblammps.so`` library file and thus also the LAMMPS python module, which depends on it, is not included. The compressed tar archives available for download have names following -the pattern `lammps-linux-x86_64-.tar.gz` and will all unpack +the pattern ``lammps-linux-x86_64-.tar.gz`` and will all unpack into a ``lammps-static`` folder. The executables are then in the ``lammps-static/bin/`` folder. Since they do not depend on any other software, they may be freely moved or copied around. From 2aff3211877ce17f4c4d9e0a22885602f7adb69d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 5 Mar 2023 07:04:20 -0500 Subject: [PATCH 238/448] Revert "use sin(x+pi/2) instead of cos(x) on Intel OpenCL with double precision" This reverts commit fa38047749bcb349e0a97a97efea8ec10f9013f1 It is no longer needed since we disable fast math with Intel OpenCL and double precision setting. --- lib/gpu/lal_soft.cu | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/lib/gpu/lal_soft.cu b/lib/gpu/lal_soft.cu index bc96a861df..74ac0e0c97 100644 --- a/lib/gpu/lal_soft.cu +++ b/lib/gpu/lal_soft.cu @@ -22,15 +22,6 @@ _texture_2d( pos_tex,int4); #endif #else #define pos_tex x_ -// hack for Intel GPU with double precision -#if defined(_DOUBLE_DOUBLE) && (CONFIG_ID == 500) -#define MY_PI_HALF (acctyp)1.57079632679489661923 -#define my_cos(x) sin(x+MY_PI_HALF) -#endif -#endif - -#if !defined(my_cos) -#define my_cos(x) cos(x) #endif #define MY_PI (acctyp)3.14159265358979323846 @@ -104,7 +95,7 @@ __kernel void k_soft(const __global numtyp4 *restrict x_, f.z+=delz*force; if (EVFLAG && eflag) { - numtyp e=coeff[mtype].x * ((numtyp)1.0+my_cos(arg)); + numtyp e=coeff[mtype].x * ((numtyp)1.0+cos(arg)); energy+=factor_lj*e; } if (EVFLAG && vflag) { @@ -195,7 +186,7 @@ __kernel void k_soft_fast(const __global numtyp4 *restrict x_, f.z+=delz*force; if (EVFLAG && eflag) { - numtyp e=coeff[mtype].x * ((numtyp)1.0+my_cos(arg)); + numtyp e=coeff[mtype].x * ((numtyp)1.0+cos(arg)); energy+=factor_lj*e; } if (EVFLAG && vflag) { From 646ef15d8345a5d75002276dc23179afdee80fad Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 5 Mar 2023 07:18:12 -0500 Subject: [PATCH 239/448] more consistent way to disable fast math for Intel OpenCL with double precision --- lib/gpu/lal_device.cpp | 5 ++--- lib/gpu/lal_preprocessor.h | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/gpu/lal_device.cpp b/lib/gpu/lal_device.cpp index c98253ba4c..8d2211481d 100644 --- a/lib/gpu/lal_device.cpp +++ b/lib/gpu/lal_device.cpp @@ -391,10 +391,9 @@ int DeviceT::set_ocl_params(std::string s_config, const std::string &extra_args) #endif // workaround for double precision with Intel OpenCL #ifdef _DOUBLE_DOUBLE - if ((params[4] != "0") && (params[0] != "500")) _ocl_compile_string+="-cl-fast-relaxed-math "; - #else - if (params[4] != "0") _ocl_compile_string+="-cl-fast-relaxed-math "; + if (params[0] == "500") params[4] = "0"; #endif + if (params[4] != "0") _ocl_compile_string+="-cl-fast-relaxed-math "; _ocl_compile_string+=std::string(OCL_INT_TYPE)+" "+ std::string(OCL_PRECISION_COMPILE); if (gpu->has_subgroup_support()) diff --git a/lib/gpu/lal_preprocessor.h b/lib/gpu/lal_preprocessor.h index b3243c3b2e..30dec214e8 100644 --- a/lib/gpu/lal_preprocessor.h +++ b/lib/gpu/lal_preprocessor.h @@ -169,7 +169,7 @@ #define ucl_abs fabs #define ucl_erfc erfc -#if defined(FAST_MATH) && !defined(_DOUBLE_DOUBLE) +#if defined(FAST_MATH) && (FAST_MATH > 0) && !defined(_DOUBLE_DOUBLE) #define ucl_exp native_exp #define ucl_pow pow From b11049ba1a5fa22ff575f4d4afa6579973425962 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Sun, 5 Mar 2023 19:03:38 -0700 Subject: [PATCH 240/448] CMake: Use hip::host and hip::hipcub targets --- cmake/Modules/Packages/GPU.cmake | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/cmake/Modules/Packages/GPU.cmake b/cmake/Modules/Packages/GPU.cmake index 8ac1decc86..21d046606f 100644 --- a/cmake/Modules/Packages/GPU.cmake +++ b/cmake/Modules/Packages/GPU.cmake @@ -412,7 +412,8 @@ elseif(GPU_API STREQUAL "HIP") set_property(TARGET gpu PROPERTY CXX_STANDARD 14) endif() # add hipCUB - target_include_directories(gpu PRIVATE ${HIP_ROOT_DIR}/../include) + find_package(hipcub REQUIRED) + target_link_libraries(gpu PRIVATE hip::hipcub) target_compile_definitions(gpu PRIVATE -DUSE_HIP_DEVICE_SORT) if(HIP_PLATFORM STREQUAL "nvcc") @@ -461,30 +462,22 @@ elseif(GPU_API STREQUAL "HIP") add_executable(hip_get_devices ${LAMMPS_LIB_SOURCE_DIR}/gpu/geryon/ucl_get_devices.cpp) target_compile_definitions(hip_get_devices PRIVATE -DUCL_HIP) - target_link_libraries(hip_get_devices hip::host) + target_link_libraries(hip_get_devices PRIVATE hip::host) if(HIP_PLATFORM STREQUAL "nvcc") target_compile_definitions(gpu PRIVATE -D__HIP_PLATFORM_NVCC__) - target_include_directories(gpu PRIVATE ${HIP_ROOT_DIR}/../include) target_include_directories(gpu PRIVATE ${CUDA_INCLUDE_DIRS}) target_link_libraries(gpu PRIVATE ${CUDA_LIBRARIES} ${CUDA_CUDA_LIBRARY}) target_compile_definitions(hip_get_devices PRIVATE -D__HIP_PLATFORM_NVCC__) - target_include_directories(hip_get_devices PRIVATE ${HIP_ROOT_DIR}/include) target_include_directories(hip_get_devices PRIVATE ${CUDA_INCLUDE_DIRS}) target_link_libraries(hip_get_devices PRIVATE ${CUDA_LIBRARIES} ${CUDA_CUDA_LIBRARY}) elseif(HIP_PLATFORM STREQUAL "hcc") target_compile_definitions(gpu PRIVATE -D__HIP_PLATFORM_HCC__) - target_include_directories(gpu PRIVATE ${HIP_ROOT_DIR}/../include) - target_compile_definitions(hip_get_devices PRIVATE -D__HIP_PLATFORM_HCC__) - target_include_directories(hip_get_devices PRIVATE ${HIP_ROOT_DIR}/../include) elseif(HIP_PLATFORM STREQUAL "amd") target_compile_definitions(gpu PRIVATE -D__HIP_PLATFORM_AMD__) - target_include_directories(gpu PRIVATE ${HIP_ROOT_DIR}/../include) - target_compile_definitions(hip_get_devices PRIVATE -D__HIP_PLATFORM_AMD__) - target_include_directories(hip_get_devices PRIVATE ${HIP_ROOT_DIR}/../include) endif() target_link_libraries(lammps PRIVATE gpu) From f658a947c608c343a78ece270184864d5f3799b7 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Sun, 5 Mar 2023 19:07:13 -0700 Subject: [PATCH 241/448] gpu: fix broken HIP code path --- lib/gpu/lal_atom.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/gpu/lal_atom.cpp b/lib/gpu/lal_atom.cpp index 3d1a1cc963..17ebcca413 100644 --- a/lib/gpu/lal_atom.cpp +++ b/lib/gpu/lal_atom.cpp @@ -403,7 +403,7 @@ double AtomT::host_memory_usage() const { return _max_atoms*atom_bytes*sizeof(numtyp)+sizeof(Atom); } -#ifdef USE_CUDPP +#if defined(USE_CUDPP) || defined(USE_HIP_DEVICE_SORT) #define USE_CUDPP_ARG(arg) arg #else #define USE_CUDPP_ARG(arg) From 37f22c8627b83648eb116e19b52f34202801cc83 Mon Sep 17 00:00:00 2001 From: "W. Michael Brown" Date: Sun, 5 Mar 2023 21:03:12 -0800 Subject: [PATCH 242/448] Misc Improvements to GPU Package - Optimizations for molecular systems - Improved kernel performance and greater CPU overlap - Reduced GPU to CPU communications for discrete devices - Switch classic Intel makefiles to use LLVM-based compilers - Prefetch optimizations supported for OpenCL - Optimized data repack for quaternions --- doc/src/package.rst | 2 +- lib/gpu/Makefile.oneapi | 7 +- lib/gpu/Makefile.oneapi_prof | 28 +++++++ lib/gpu/README | 1 + lib/gpu/geryon/nvd_device.h | 2 +- lib/gpu/lal_amoeba.cu | 54 +++++++------- lib/gpu/lal_answer.cpp | 53 ++++++-------- lib/gpu/lal_atom.cpp | 12 ++- lib/gpu/lal_atom.cu | 2 +- lib/gpu/lal_atom.h | 74 +++++++++++-------- lib/gpu/lal_base_amoeba.cpp | 14 ++-- lib/gpu/lal_base_dipole.cpp | 6 +- lib/gpu/lal_base_ellipsoid.cpp | 12 +-- lib/gpu/lal_base_ellipsoid.h | 5 +- lib/gpu/lal_beck.cu | 10 ++- lib/gpu/lal_born.cu | 10 ++- lib/gpu/lal_born_coul_long.cu | 10 ++- lib/gpu/lal_born_coul_long_cs.cu | 10 ++- lib/gpu/lal_born_coul_wolf.cu | 10 ++- lib/gpu/lal_born_coul_wolf_cs.cu | 10 ++- lib/gpu/lal_buck.cu | 10 ++- lib/gpu/lal_buck_coul.cu | 10 ++- lib/gpu/lal_buck_coul_long.cu | 10 ++- lib/gpu/lal_charmm.cu | 10 ++- lib/gpu/lal_charmm_long.cu | 10 ++- lib/gpu/lal_colloid.cu | 10 ++- lib/gpu/lal_coul.cu | 10 ++- lib/gpu/lal_coul_debye.cu | 10 ++- lib/gpu/lal_coul_dsf.cu | 10 ++- lib/gpu/lal_coul_long.cu | 10 ++- lib/gpu/lal_coul_long_cs.cu | 10 ++- lib/gpu/lal_device.cpp | 23 +++++- lib/gpu/lal_device.cu | 1 + lib/gpu/lal_dipole_lj.cu | 18 +++-- lib/gpu/lal_dipole_lj_sf.cu | 18 +++-- lib/gpu/lal_dipole_long_lj.cu | 18 +++-- lib/gpu/lal_dpd.cu | 10 ++- lib/gpu/lal_eam.cu | 12 ++- lib/gpu/lal_ellipsoid_extra.h | 4 +- lib/gpu/lal_gauss.cu | 10 ++- lib/gpu/lal_gayberne.cu | 8 +- lib/gpu/lal_gayberne_ext.cpp | 23 +++--- lib/gpu/lal_gayberne_lj.cu | 15 ++-- lib/gpu/lal_hippo.cu | 64 ++++++++-------- lib/gpu/lal_lj.cu | 10 ++- lib/gpu/lal_lj96.cu | 10 ++- lib/gpu/lal_lj_class2_long.cu | 10 ++- lib/gpu/lal_lj_coul.cu | 10 ++- lib/gpu/lal_lj_coul_debye.cu | 10 ++- lib/gpu/lal_lj_coul_long.cu | 10 ++- lib/gpu/lal_lj_coul_msm.cu | 10 ++- lib/gpu/lal_lj_cubic.cu | 10 ++- lib/gpu/lal_lj_dsf.cu | 10 ++- lib/gpu/lal_lj_expand.cu | 10 ++- lib/gpu/lal_lj_expand_coul_long.cu | 10 ++- lib/gpu/lal_lj_gromacs.cu | 10 ++- lib/gpu/lal_lj_smooth.cu | 18 +++-- lib/gpu/lal_lj_spica.cu | 10 ++- lib/gpu/lal_lj_spica_long.cu | 10 ++- lib/gpu/lal_lj_tip4p_long.cu | 42 ++++++----- lib/gpu/lal_mie.cu | 10 ++- lib/gpu/lal_morse.cu | 10 ++- lib/gpu/lal_neighbor_gpu.cu | 79 ++++++++++++++++---- lib/gpu/lal_pppm.cu | 4 +- lib/gpu/lal_pre_cuda_hip.h | 1 + lib/gpu/lal_pre_ocl_config.h | 18 ++--- lib/gpu/lal_precision.h | 24 ++++++ lib/gpu/lal_preprocessor.h | 68 ++++++++++++++++- lib/gpu/lal_re_squared.cu | 8 +- lib/gpu/lal_re_squared_ext.cpp | 23 +++--- lib/gpu/lal_re_squared_lj.cu | 24 +++--- lib/gpu/lal_soft.cu | 10 ++- lib/gpu/lal_sw.cu | 22 +++--- lib/gpu/lal_table.cu | 40 ++++++---- lib/gpu/lal_tersoff.cu | 22 +++--- lib/gpu/lal_tersoff_mod.cu | 22 +++--- lib/gpu/lal_tersoff_zbl.cu | 22 +++--- lib/gpu/lal_ufm.cu | 10 ++- lib/gpu/lal_vashishta.cu | 24 +++--- lib/gpu/lal_yukawa.cu | 10 ++- lib/gpu/lal_yukawa_colloid.cu | 10 ++- lib/gpu/lal_zbl.cu | 10 ++- src/GPU/fix_gpu.cpp | 14 ++++ src/GPU/fix_nve_asphere_gpu.cpp | 14 +--- src/GPU/pair_amoeba_gpu.cpp | 9 +++ src/GPU/pair_amoeba_gpu.h | 1 + src/GPU/pair_beck_gpu.cpp | 2 + src/GPU/pair_born_coul_long_cs_gpu.cpp | 2 + src/GPU/pair_born_coul_long_gpu.cpp | 2 + src/GPU/pair_born_coul_wolf_cs_gpu.cpp | 2 + src/GPU/pair_born_coul_wolf_gpu.cpp | 2 + src/GPU/pair_born_gpu.cpp | 2 + src/GPU/pair_buck_coul_cut_gpu.cpp | 2 + src/GPU/pair_buck_coul_long_gpu.cpp | 2 + src/GPU/pair_buck_gpu.cpp | 2 + src/GPU/pair_colloid_gpu.cpp | 2 + src/GPU/pair_coul_cut_gpu.cpp | 2 + src/GPU/pair_coul_debye_gpu.cpp | 2 + src/GPU/pair_coul_dsf_gpu.cpp | 2 + src/GPU/pair_coul_long_cs_gpu.cpp | 2 + src/GPU/pair_coul_long_gpu.cpp | 2 + src/GPU/pair_dpd_gpu.cpp | 2 + src/GPU/pair_dpd_tstat_gpu.cpp | 2 + src/GPU/pair_eam_alloy_gpu.cpp | 2 + src/GPU/pair_eam_fs_gpu.cpp | 2 + src/GPU/pair_eam_gpu.cpp | 2 + src/GPU/pair_gauss_gpu.cpp | 2 + src/GPU/pair_gayberne_gpu.cpp | 85 +++++++++++----------- src/GPU/pair_gayberne_gpu.h | 2 - src/GPU/pair_hippo_gpu.cpp | 9 +++ src/GPU/pair_hippo_gpu.h | 1 + src/GPU/pair_lj96_cut_gpu.cpp | 2 + src/GPU/pair_lj_charmm_coul_charmm_gpu.cpp | 2 + src/GPU/pair_lj_charmm_coul_long_gpu.cpp | 2 + src/GPU/pair_lj_class2_coul_long_gpu.cpp | 2 + src/GPU/pair_lj_class2_gpu.cpp | 2 + src/GPU/pair_lj_cubic_gpu.cpp | 2 + src/GPU/pair_lj_cut_coul_cut_gpu.cpp | 2 + src/GPU/pair_lj_cut_coul_debye_gpu.cpp | 2 + src/GPU/pair_lj_cut_coul_dsf_gpu.cpp | 2 + src/GPU/pair_lj_cut_coul_long_gpu.cpp | 2 + src/GPU/pair_lj_cut_coul_msm_gpu.cpp | 2 + src/GPU/pair_lj_cut_dipole_cut_gpu.cpp | 2 + src/GPU/pair_lj_cut_dipole_long_gpu.cpp | 2 + src/GPU/pair_lj_cut_gpu.cpp | 2 + src/GPU/pair_lj_cut_tip4p_long_gpu.cpp | 2 + src/GPU/pair_lj_expand_coul_long_gpu.cpp | 2 + src/GPU/pair_lj_expand_gpu.cpp | 2 + src/GPU/pair_lj_gromacs_gpu.cpp | 2 + src/GPU/pair_lj_sf_dipole_sf_gpu.cpp | 2 + src/GPU/pair_lj_smooth_gpu.cpp | 2 + src/GPU/pair_lj_spica_coul_long_gpu.cpp | 2 + src/GPU/pair_lj_spica_gpu.cpp | 2 + src/GPU/pair_mie_cut_gpu.cpp | 2 + src/GPU/pair_morse_gpu.cpp | 2 + src/GPU/pair_resquared_gpu.cpp | 79 ++++++++++---------- src/GPU/pair_resquared_gpu.h | 2 - src/GPU/pair_soft_gpu.cpp | 2 + src/GPU/pair_sw_gpu.cpp | 2 + src/GPU/pair_table_gpu.cpp | 2 + src/GPU/pair_tersoff_gpu.cpp | 2 + src/GPU/pair_tersoff_mod_gpu.cpp | 2 + src/GPU/pair_tersoff_zbl_gpu.cpp | 2 + src/GPU/pair_ufm_gpu.cpp | 2 + src/GPU/pair_vashishta_gpu.cpp | 2 + src/GPU/pair_yukawa_colloid_gpu.cpp | 2 + src/GPU/pair_yukawa_gpu.cpp | 2 + src/GPU/pair_zbl_gpu.cpp | 2 + src/MAKE/OPTIONS/Makefile.oneapi | 10 +-- src/neighbor.cpp | 21 ++++++ src/neighbor.h | 6 ++ 151 files changed, 1085 insertions(+), 617 deletions(-) create mode 100644 lib/gpu/Makefile.oneapi_prof diff --git a/doc/src/package.rst b/doc/src/package.rst index 0ced387539..76bf20a97f 100644 --- a/doc/src/package.rst +++ b/doc/src/package.rst @@ -319,7 +319,7 @@ CONFIG_ID, SIMD_SIZE, MEM_THREADS, SHUFFLE_AVAIL, FAST_MATH, THREADS_PER_ATOM, THREADS_PER_CHARGE, THREADS_PER_THREE, BLOCK_PAIR, BLOCK_BIO_PAIR, BLOCK_ELLIPSE, PPPM_BLOCK_1D, BLOCK_NBOR_BUILD, BLOCK_CELL_2D, BLOCK_CELL_ID, MAX_SHARED_TYPES, MAX_BIO_SHARED_TYPES, -PPPM_MAX_SPLINE. +PPPM_MAX_SPLINE, NBOR_PREFETCH. CONFIG_ID can be 0. SHUFFLE_AVAIL in {0,1} indicates that inline-PTX (NVIDIA) or OpenCL extensions (Intel) should be used for horizontal diff --git a/lib/gpu/Makefile.oneapi b/lib/gpu/Makefile.oneapi index 9d11a0c4b0..32800676aa 100644 --- a/lib/gpu/Makefile.oneapi +++ b/lib/gpu/Makefile.oneapi @@ -12,13 +12,12 @@ EXTRAMAKE = Makefile.lammps.opencl LMP_INC = -DLAMMPS_SMALLBIG OCL_INC = -I$(ONEAPI_ROOT)/compiler/latest/linux/include/sycl/ -CPP_OPT = -xHost -O2 -qopenmp -qopenmp-simd -fp-model fast=2 -no-prec-div \ - -qoverride-limits -OCL_CPP = mpiicpc -std=c++11 -diag-disable=10441 -DMPICH_IGNORE_CXX_SEEK \ +CPP_OPT = -xHost -O2 -qopenmp -qopenmp-simd -ffast-math -freciprocal-math +OCL_CPP = mpiicpc -cxx=icpx -std=c++11 -DMPICH_IGNORE_CXX_SEEK \ $(LMP_INC) $(OCL_INC) $(CPP_OPT) OCL_LINK = -L$(ONEAPI_ROOT)/compiler/latest/linux/lib -lOpenCL OCL_PREC = -D_SINGLE_DOUBLE -OCL_TUNE = -DMPI_GERYON -DGERYON_NUMA_FISSION -DUCL_NO_EXIT +OCL_TUNE = -DMPI_GERYON -DCUDA_PROXY -DGERYON_NUMA_FISSION -DUCL_NO_EXIT -DGERYON_NO_OCL_MARKERS BIN_DIR = ./ OBJ_DIR = ./ diff --git a/lib/gpu/Makefile.oneapi_prof b/lib/gpu/Makefile.oneapi_prof new file mode 100644 index 0000000000..1e21597373 --- /dev/null +++ b/lib/gpu/Makefile.oneapi_prof @@ -0,0 +1,28 @@ +# /* ---------------------------------------------------------------------- +# Linux Makefile for Intel oneAPI - Mixed precision (with timing enabled) +# ------------------------------------------------------------------------- */ + +# which file will be copied to Makefile.lammps + +EXTRAMAKE = Makefile.lammps.opencl + +# this setting should match LAMMPS Makefile +# one of LAMMPS_SMALLBIG (default), LAMMPS_BIGBIG and LAMMPS_SMALLSMALL + +LMP_INC = -DLAMMPS_SMALLBIG + +OCL_INC = -I$(ONEAPI_ROOT)/compiler/latest/linux/include/sycl/ +CPP_OPT = -xHost -O2 -qopenmp -qopenmp-simd -ffast-math -freciprocal-math +OCL_CPP = mpiicpc -cxx=icpx -std=c++11 -DMPICH_IGNORE_CXX_SEEK \ + $(LMP_INC) $(OCL_INC) $(CPP_OPT) +OCL_LINK = -L$(ONEAPI_ROOT)/compiler/latest/linux/lib -lOpenCL +OCL_PREC = -D_SINGLE_DOUBLE +OCL_TUNE = -DMPI_GERYON -DCUDA_PROXY -DGERYON_NUMA_FISSION -DUCL_NO_EXIT + +BIN_DIR = ./ +OBJ_DIR = ./ +LIB_DIR = ./ +AR = ar +BSH = /bin/sh + +include Opencl.makefile diff --git a/lib/gpu/README b/lib/gpu/README index 51b21960ae..b720aa65cb 100644 --- a/lib/gpu/README +++ b/lib/gpu/README @@ -266,6 +266,7 @@ LAL_SERIALIZE_INIT Force serialization of initialization and compilation for multiple MPI tasks sharing the same accelerator. Some accelerator API implementations have had issues with temporary file conflicts in the past. +LAL_DISABLE_PREFETCH Disable prefetch in kernels GERYON_FORCE_SHARED_MAIN_MEM_ON Should only be used for builds where the accelerator is guaranteed to share physical main memory with the host (e.g. integrated diff --git a/lib/gpu/geryon/nvd_device.h b/lib/gpu/geryon/nvd_device.h index 1b2e5b8c77..e63a1f56b2 100644 --- a/lib/gpu/geryon/nvd_device.h +++ b/lib/gpu/geryon/nvd_device.h @@ -429,7 +429,7 @@ void UCL_Device::clear() { CU_SAFE_CALL_NS(cuCtxSetCurrent(_old_context)); CU_SAFE_CALL_NS(cuDevicePrimaryCtxRelease(_cu_device)); #else - cuCtxDestroy(_context)); + cuCtxDestroy(_context); #endif } _device=-1; diff --git a/lib/gpu/lal_amoeba.cu b/lib/gpu/lal_amoeba.cu index f572d3ebd0..82a42cff6c 100644 --- a/lib/gpu/lal_amoeba.cu +++ b/lib/gpu/lal_amoeba.cu @@ -113,7 +113,7 @@ _texture( q_tex,int2); dufld[5]=red_acc[5][tid]; \ } \ if (offset==0 && ii1) \ simd_reduce_add3(t_per_atom, f.x, f.y, f.z); \ if (offset==0 && ii int AnswerT::bytes_per_atom() const { - int bytes=11*sizeof(acctyp); + int bytes=10*sizeof(acctyp); if (_rot) - bytes+=4*sizeof(acctyp); + bytes+=3*sizeof(acctyp); if (_charge) bytes+=sizeof(acctyp); return bytes; @@ -42,9 +42,9 @@ bool AnswerT::alloc(const int inum) { bool success=true; - _ans_fields=4; + _ans_fields=3; if (_rot) - _ans_fields+=4; + _ans_fields+=3; // --------------------------- Device allocations success=success && (engv.alloc(_ev_fields*_max_local,*dev,UCL_READ_ONLY, @@ -134,11 +134,11 @@ void AnswerT::clear() { template double AnswerT::host_memory_usage() const { - int atom_bytes=4; + int atom_bytes=3; if (_charge) atom_bytes+=1; if (_rot) - atom_bytes+=4; + atom_bytes+=3; int ans_bytes=atom_bytes+_ev_fields; return ans_bytes*(_max_local)*sizeof(acctyp)+ sizeof(Answer); @@ -169,9 +169,9 @@ void AnswerT::copy_answers(const bool eflag, const bool vflag, if (csize>0) engv.update_host(_ev_stride*csize,true); if (_rot) - force.update_host(_inum*4*2,true); + force.update_host(_inum*3*2,true); else - force.update_host(_inum*4,true); + force.update_host(_inum*3,true); time_answer.stop(); #ifndef GERYON_OCL_FLUSH @@ -298,10 +298,7 @@ double AnswerT::energy_virial(double *eatom, double **vatom, template void AnswerT::get_answers(double **f, double **tor) { if (_ilist==nullptr) { - typedef struct { double x,y,z; } vec3d; - typedef struct { acctyp x,y,z,w; } vec4d_t; - auto fp=reinterpret_cast(&(f[0][0])); - auto forcep=reinterpret_cast(&(force[0])); + auto fp=reinterpret_cast(&(f[0][0])); #if (LAL_USE_OMP == 1) #pragma omp parallel @@ -310,27 +307,21 @@ void AnswerT::get_answers(double **f, double **tor) { #if (LAL_USE_OMP == 1) const int nthreads = omp_get_num_threads(); const int tid = omp_get_thread_num(); - const int idelta = _inum / nthreads + 1; + const int idelta = _inum*3 / nthreads + 1; const int ifrom = tid * idelta; - const int ito = std::min(ifrom + idelta, _inum); + const int ito = std::min(ifrom + idelta, _inum*3); #else const int ifrom = 0; - const int ito = _inum; + const int ito = _inum*3; #endif - for (int i=ifrom; i(&(tor[0][0])); - auto torquep=reinterpret_cast(&(force[_inum*4])); - for (int i=ifrom; i(&(tor[0][0])); + auto torquep=&(force[_inum*3]); + for (int i=ifrom; i void AtomT::compile_kernels(UCL_Device &dev) { std::string flags = ""; atom_program=new UCL_Program(dev); - atom_program->load_string(atom,flags,nullptr,screen); + atom_program->load_string(atom,flags.c_str(),nullptr,stderr); k_cast_x.set_function(*atom_program,"kernel_cast_x"); _compiled=true; } diff --git a/lib/gpu/lal_atom.cu b/lib/gpu/lal_atom.cu index 287d72803c..1418459301 100644 --- a/lib/gpu/lal_atom.cu +++ b/lib/gpu/lal_atom.cu @@ -18,7 +18,7 @@ #endif __kernel void kernel_cast_x(__global numtyp4 *restrict x_type, - const __global numtyp *restrict x, + const __global double *restrict x, const __global int *restrict type, const int nall) { int ii=GLOBAL_ID_X; diff --git a/lib/gpu/lal_atom.h b/lib/gpu/lal_atom.h index 771c2a3571..081a1ae048 100644 --- a/lib/gpu/lal_atom.h +++ b/lib/gpu/lal_atom.h @@ -52,6 +52,12 @@ using namespace ucl_cudadr; namespace LAMMPS_AL { +struct EllipsoidBonus { + double shape[3]; + double quat[4]; + int ilocal; +}; + template class Atom { public: @@ -306,8 +312,8 @@ class Atom { if (_x_avail==false) { double t=MPI_Wtime(); #ifdef GPU_CAST - memcpy(host_x_cast.begin(),host_ptr[0],_nall*3*sizeof(double)); - memcpy(host_type_cast.begin(),host_type,_nall*sizeof(int)); + memcpy(x_cast.host.begin(),host_ptr[0],_nall*3*sizeof(double)); + memcpy(type_cast.host.begin(),host_type,_nall*sizeof(int)); #else vec3d *host_p=reinterpret_cast(&(host_ptr[0][0])); vec4d_t *xp=reinterpret_cast(&(x[0])); @@ -351,6 +357,24 @@ class Atom { add_x_data(host_ptr,host_type); } + // Cast mu data to write buffer (stored in quat) + template + inline void cast_mu_data(cpytyp *host_ptr) { + if (_quat_avail==false) { + double t=MPI_Wtime(); + if (sizeof(numtyp)==sizeof(double)) + memcpy(quat.host.begin(),host_ptr,_nall*4*sizeof(numtyp)); + else + #if (LAL_USE_OMP == 1) && (LAL_USE_OMP_SIMD == 1) + #pragma omp parallel for simd schedule(static) + #elif (LAL_USE_OMP_SIMD == 1) + #pragma omp simd + #endif + for (int i=0; i<_nall*4; i++) quat[i]=host_ptr[i]; + _time_cast+=MPI_Wtime()-t; + } + } + // Cast charges to write buffer template inline void cast_q_data(cpytyp *host_ptr) { @@ -384,22 +408,24 @@ class Atom { } // Cast quaternions to write buffer - template - inline void cast_quat_data(cpytyp *host_ptr) { + inline void cast_quat_data(const int *ellipsoid, + const EllipsoidBonus *bonus) { if (_quat_avail==false) { double t=MPI_Wtime(); - if (_host_view) { - quat.host.view((numtyp*)host_ptr,_nall*4,*dev); - quat.device.view(quat.host); - } else if (sizeof(numtyp)==sizeof(double)) - memcpy(quat.host.begin(),host_ptr,_nall*4*sizeof(numtyp)); - else - #if (LAL_USE_OMP == 1) && (LAL_USE_OMP_SIMD == 1) - #pragma omp parallel for simd schedule(static) - #elif (LAL_USE_OMP_SIMD == 1) - #pragma omp simd - #endif - for (int i=0; i<_nall*4; i++) quat[i]=host_ptr[i]; + #if (LAL_USE_OMP == 1) && (LAL_USE_OMP_SIMD == 1) + #pragma omp parallel for simd schedule(static) + #elif (LAL_USE_OMP_SIMD == 1) + #pragma omp simd + #endif + for (int i=0; i<_nall; i++) { + int qi = ellipsoid[i]; + if (qi > -1) { + quat[i*4] = bonus[qi].quat[0]; + quat[i*4+1] = bonus[qi].quat[1]; + quat[i*4+2] = bonus[qi].quat[2]; + quat[i*4+3] = bonus[qi].quat[3]; + } + } _time_cast+=MPI_Wtime()-t; } } @@ -419,10 +445,6 @@ class Atom { inline void cast_v_data(double **host_ptr, const tagint *host_tag) { if (_v_avail==false) { double t=MPI_Wtime(); - #ifdef GPU_CAST - memcpy(host_v_cast.begin(),host_ptr[0],_nall*3*sizeof(double)); - memcpy(host_tag_cast.begin(),host_tag,_nall*sizeof(int)); - #else vec3d *host_p=reinterpret_cast(&(host_ptr[0][0])); vec4d_t *vp=reinterpret_cast(&(v[0])); #if (LAL_USE_OMP == 1) @@ -434,7 +456,6 @@ class Atom { vp[i].z=host_p[i].z; vp[i].w=host_tag[i]; } - #endif _time_cast+=MPI_Wtime()-t; } } @@ -444,16 +465,7 @@ class Atom { inline void add_v_data(double ** /*host_ptr*/, tagint * /*host_tag*/) { time_vel.start(); if (_v_avail==false) { - #ifdef GPU_CAST - v_cast.update_device(_nall*3,true); - tag_cast.update_device(_nall,true); - int block_size=64; - int GX=static_cast(ceil(static_cast(_nall)/block_size)); - k_cast_x.set_size(GX,block_size); - k_cast_x.run(&v, &v_cast, &tag_cast, &_nall); - #else v.update_device(_nall*4,true); - #endif _v_avail=true; } time_vel.stop(); @@ -519,7 +531,7 @@ class Atom { UCL_Vector extra; #ifdef GPU_CAST - UCL_Vector x_cast; + UCL_Vector x_cast; UCL_Vector type_cast; #endif diff --git a/lib/gpu/lal_base_amoeba.cpp b/lib/gpu/lal_base_amoeba.cpp index 09d7386461..0821a33b06 100644 --- a/lib/gpu/lal_base_amoeba.cpp +++ b/lib/gpu/lal_base_amoeba.cpp @@ -143,10 +143,10 @@ int BaseAmoebaT::init_atomic(const int nlocal, const int nall, dev_short_nbor.alloc(ef_nall*(2+max_nbors),*(this->ucl_device),UCL_READ_WRITE); _max_tep_size=static_cast(static_cast(ef_nall)*1.10); - _tep.alloc(_max_tep_size*4,*(this->ucl_device),UCL_READ_WRITE,UCL_READ_WRITE); + _tep.alloc(_max_tep_size*3,*(this->ucl_device),UCL_READ_WRITE,UCL_READ_WRITE); _max_fieldp_size = _max_tep_size; - _fieldp.alloc(_max_fieldp_size*8,*(this->ucl_device),UCL_READ_WRITE,UCL_READ_WRITE); + _fieldp.alloc(_max_fieldp_size*6,*(this->ucl_device),UCL_READ_WRITE,UCL_READ_WRITE); _max_thetai_size = 0; @@ -387,7 +387,7 @@ void BaseAmoebaT::compute_multipole_real(const int /*ago*/, const int inum_full, if (inum_full>_max_tep_size) { _max_tep_size=static_cast(static_cast(inum_full)*1.10); - _tep.resize(_max_tep_size*4); + _tep.resize(_max_tep_size*3); } *tep_ptr=_tep.host.begin(); @@ -403,7 +403,7 @@ void BaseAmoebaT::compute_multipole_real(const int /*ago*/, const int inum_full, // copy tep from device to host - _tep.update_host(_max_tep_size*4,false); + _tep.update_host(_max_tep_size*3,false); } // --------------------------------------------------------------------------- @@ -429,7 +429,7 @@ void BaseAmoebaT::compute_udirect2b(int *host_amtype, int *host_amgroup, double // copy field and fieldp from device to host (_fieldp store both arrays, one after another) - _fieldp.update_host(_max_fieldp_size*8,false); + _fieldp.update_host(_max_fieldp_size*6,false); } // --------------------------------------------------------------------------- @@ -456,7 +456,7 @@ void BaseAmoebaT::compute_umutual2b(int *host_amtype, int *host_amgroup, double // NOTE: move this step to update_fieldp() to delay device-host transfer // after umutual1 and self are done on the GPU // *fieldp_ptr=_fieldp.host.begin(); - // _fieldp.update_host(_max_fieldp_size*8,false); + // _fieldp.update_host(_max_fieldp_size*6,false); } // --------------------------------------------------------------------------- @@ -732,7 +732,7 @@ void BaseAmoebaT::compute_polar_real(int *host_amtype, int *host_amgroup, device->add_ans_object(ans); // copy tep from device to host - _tep.update_host(_max_tep_size*4,false); + _tep.update_host(_max_tep_size*3,false); } // --------------------------------------------------------------------------- diff --git a/lib/gpu/lal_base_dipole.cpp b/lib/gpu/lal_base_dipole.cpp index 6ef1c40ca7..7f09e100f1 100644 --- a/lib/gpu/lal_base_dipole.cpp +++ b/lib/gpu/lal_base_dipole.cpp @@ -233,7 +233,7 @@ void BaseDipoleT::compute(const int f_ago, const int inum_full, atom->cast_x_data(host_x,host_type); atom->cast_q_data(host_q); - atom->cast_quat_data(host_mu[0]); + atom->cast_mu_data(host_mu[0]); hd_balancer.start_timer(); atom->add_x_data(host_x,host_type); atom->add_q_data(); @@ -297,12 +297,12 @@ int** BaseDipoleT::compute(const int ago, const int inum_full, if (!success) return nullptr; atom->cast_q_data(host_q); - atom->cast_quat_data(host_mu[0]); + atom->cast_mu_data(host_mu[0]); hd_balancer.start_timer(); } else { atom->cast_x_data(host_x,host_type); atom->cast_q_data(host_q); - atom->cast_quat_data(host_mu[0]); + atom->cast_mu_data(host_mu[0]); hd_balancer.start_timer(); atom->add_x_data(host_x,host_type); } diff --git a/lib/gpu/lal_base_ellipsoid.cpp b/lib/gpu/lal_base_ellipsoid.cpp index 0bc20615a1..bc383de18f 100644 --- a/lib/gpu/lal_base_ellipsoid.cpp +++ b/lib/gpu/lal_base_ellipsoid.cpp @@ -375,7 +375,8 @@ int* BaseEllipsoidT::compute(const int f_ago, const int inum_full, const bool eflag_in, const bool vflag_in, const bool eatom, const bool vatom, int &host_start, const double cpu_time, - bool &success, double **host_quat) { + bool &success, const int *ellipsoid, + const EllipsoidBonus *bonus) { acc_timers(); int eflag, vflag; if (eflag_in) eflag=2; @@ -409,7 +410,7 @@ int* BaseEllipsoidT::compute(const int f_ago, const int inum_full, list=ilist; atom->cast_x_data(host_x,host_type); - atom->cast_quat_data(host_quat[0]); + atom->cast_quat_data(ellipsoid,bonus); hd_balancer.start_timer(); atom->add_x_data(host_x,host_type); atom->add_quat_data(); @@ -433,7 +434,8 @@ int** BaseEllipsoidT::compute(const int ago, const int inum_full, const bool eatom, const bool vatom, int &host_start, int **ilist, int **jnum, const double cpu_time, bool &success, - double **host_quat) { + const int *ellipsoid, + const EllipsoidBonus *bonus) { acc_timers(); int eflag, vflag; if (eflag_in) eflag=2; @@ -460,11 +462,11 @@ int** BaseEllipsoidT::compute(const int ago, const int inum_full, sublo, subhi, tag, nspecial, special, success); if (!success) return nullptr; - atom->cast_quat_data(host_quat[0]); + atom->cast_quat_data(ellipsoid,bonus); hd_balancer.start_timer(); } else { atom->cast_x_data(host_x,host_type); - atom->cast_quat_data(host_quat[0]); + atom->cast_quat_data(ellipsoid,bonus); hd_balancer.start_timer(); atom->add_x_data(host_x,host_type); } diff --git a/lib/gpu/lal_base_ellipsoid.h b/lib/gpu/lal_base_ellipsoid.h index 9885e931ee..618f97da54 100644 --- a/lib/gpu/lal_base_ellipsoid.h +++ b/lib/gpu/lal_base_ellipsoid.h @@ -170,7 +170,8 @@ class BaseEllipsoid { double **host_x, int *host_type, int *ilist, int *numj, int **firstneigh, const bool eflag, const bool vflag, const bool eatom, const bool vatom, int &host_start, - const double cpu_time, bool &success, double **quat); + const double cpu_time, bool &success, + const int *ellipsoid, const EllipsoidBonus *bonus); /// Pair loop with device neighboring int**compute(const int ago, const int inum_full, const int nall, @@ -179,7 +180,7 @@ class BaseEllipsoid { tagint **special, const bool eflag, const bool vflag, const bool eatom, const bool vatom, int &host_start, int **ilist, int **numj, const double cpu_time, bool &success, - double **host_quat); + const int *ellipsoid, const EllipsoidBonus *bonus); // -------------------------- DEVICE DATA ------------------------- diff --git a/lib/gpu/lal_beck.cu b/lib/gpu/lal_beck.cu index 12f1314c52..b0a9a6a4c1 100644 --- a/lib/gpu/lal_beck.cu +++ b/lib/gpu/lal_beck.cu @@ -31,7 +31,7 @@ __kernel void k_beck(const __global numtyp4 *restrict x_, const __global numtyp *restrict sp_lj_in, const __global int *dev_nbor, const __global int *dev_packed, - __global acctyp4 *restrict ans, + __global acctyp3 *restrict ans, __global acctyp *restrict engv, const int eflag, const int vflag, const int inum, const int nbor_pitch, const int t_per_atom) { @@ -47,7 +47,7 @@ __kernel void k_beck(const __global numtyp4 *restrict x_, sp_lj[2]=sp_lj_in[2]; sp_lj[3]=sp_lj_in[3]; - acctyp4 f; + acctyp3 f; f.x=(acctyp)0; f.y=(acctyp)0; f.z=(acctyp)0; acctyp energy, virial[6]; if (EVFLAG) { @@ -66,6 +66,7 @@ __kernel void k_beck(const __global numtyp4 *restrict x_, numtyp factor_lj; for ( ; nbor gpu_lib_data(19,*gpu,UCL_NOT_PINNED); + UCL_Vector gpu_lib_data(20,*gpu,UCL_NOT_PINNED); k_info.set_size(1,1); k_info.run(&gpu_lib_data); gpu_lib_data.update_host(false); diff --git a/lib/gpu/lal_device.cu b/lib/gpu/lal_device.cu index 61341964b2..073c7de3d9 100644 --- a/lib/gpu/lal_device.cu +++ b/lib/gpu/lal_device.cu @@ -52,4 +52,5 @@ __kernel void kernel_info(__global int *info) { info[16]=MAX_SHARED_TYPES; info[17]=MAX_BIO_SHARED_TYPES; info[18]=PPPM_MAX_SPLINE; + info[19]=NBOR_PREFETCH; } diff --git a/lib/gpu/lal_dipole_lj.cu b/lib/gpu/lal_dipole_lj.cu index cbe68ff692..18326edd3a 100644 --- a/lib/gpu/lal_dipole_lj.cu +++ b/lib/gpu/lal_dipole_lj.cu @@ -211,7 +211,7 @@ __kernel void k_dipole_lj(const __global numtyp4 *restrict x_, const __global numtyp *restrict sp_lj_in, const __global int *dev_nbor, const __global int *dev_packed, - __global acctyp4 *restrict ans, + __global acctyp3 *restrict ans, __global acctyp *restrict engv, const int eflag, const int vflag, const int inum, const int nbor_pitch, @@ -235,7 +235,7 @@ __kernel void k_dipole_lj(const __global numtyp4 *restrict x_, sp_lj[6]=sp_lj_in[6]; sp_lj[7]=sp_lj_in[7]; - acctyp4 f, tor; + acctyp3 f, tor; f.x=(acctyp)0; f.y=(acctyp)0; f.z=(acctyp)0; tor.x=(acctyp)0; tor.y=(acctyp)0; tor.z=(acctyp)0; acctyp energy, e_coul, virial[6]; @@ -257,6 +257,7 @@ __kernel void k_dipole_lj(const __global numtyp4 *restrict x_, int itype=ix.w; for ( ; nbor(bonus)); } int * gb_gpu_compute(const int ago, const int inum_full, const int nall, double **host_x, int *host_type, int *ilist, int *numj, int **firstneigh, const bool eflag, const bool vflag, const bool eatom, const bool vatom, int &host_start, - const double cpu_time, bool &success, double **host_quat) { + const double cpu_time, bool &success, + const int *ellipsoid, const void *bonus) { return GBMF.compute(ago, inum_full, nall, host_x, host_type, ilist, numj, firstneigh, eflag, vflag, eatom, vatom, host_start, - cpu_time, success, host_quat); + cpu_time, success, ellipsoid, + static_cast(bonus)); } // --------------------------------------------------------------------------- diff --git a/lib/gpu/lal_gayberne_lj.cu b/lib/gpu/lal_gayberne_lj.cu index 4582f0d411..55b4eddb58 100644 --- a/lib/gpu/lal_gayberne_lj.cu +++ b/lib/gpu/lal_gayberne_lj.cu @@ -34,7 +34,7 @@ __kernel void k_gayberne_sphere_ellipsoid(const __global numtyp4 *restrict x_, const __global numtyp *restrict lshape, const __global int *dev_nbor, const int stride, - __global acctyp4 *restrict ans, + __global acctyp3 *restrict ans, __global acctyp *restrict engv, __global int *restrict err_flag, const int eflag, const int vflag, @@ -53,7 +53,7 @@ __kernel void k_gayberne_sphere_ellipsoid(const __global numtyp4 *restrict x_, sp_lj[2]=gum[5]; sp_lj[3]=gum[6]; - acctyp4 f; + acctyp3 f; f.x=(acctyp)0; f.y=(acctyp)0; f.z=(acctyp)0; acctyp energy, virial[6]; if (EVFLAG) { @@ -75,6 +75,7 @@ __kernel void k_gayberne_sphere_ellipsoid(const __global numtyp4 *restrict x_, numtyp factor_lj; for ( ; nbor1) \ simd_reduce_add3(t_per_atom, f.x, f.y, f.z); \ if (offset==0 && ii=0 && iH2>=0) { - compute_newsite(iO,iH1,iH2, &m[iO], qO, alpha, x_); + compute_newsite(iO,iH1,iH2, &m[iO], qO, alpha, x_); } else { m[iO] = ix; m[iO].w = qO; @@ -313,9 +313,9 @@ __kernel void k_lj_tip4p_newsite(const __global numtyp4 *restrict x_, /* ---------------------------------------------------------------------- Compute initial value of force, energy and virial for each local particle. The values calculated on oxygens use the virtual charge position (m) and - they are stored in a separate array (ansO) for further distribution + they are stored in a separate array (ansO) for further distribution in a separate kernel. For some hydrogens located on the boundary - of the local region, oxygens are non-local and the contribution + of the local region, oxygens are non-local and the contribution of oxygen is calculated separately in this kernel for them . ---------------------------------------------------------------------- */ __kernel void k_lj_tip4p_long(const __global numtyp4 *restrict x_, @@ -325,7 +325,7 @@ __kernel void k_lj_tip4p_long(const __global numtyp4 *restrict x_, const __global numtyp *restrict sp_lj, const __global int * dev_nbor, const __global int * dev_packed, - __global acctyp4 *restrict ans, + __global acctyp3 *restrict ans, __global acctyp *restrict engv, const int eflag, const int vflag, const int inum, const int nbor_pitch, const int t_per_atom, @@ -344,7 +344,8 @@ __kernel void k_lj_tip4p_long(const __global numtyp4 *restrict x_, int n_stride; local_allocate_store_charge(); - acctyp4 f, fO; + acctyp3 f; + acctyp4 fO; f.x=(acctyp)0; f.y=(acctyp)0; f.z=(acctyp)0; fO.x=(acctyp)0; fO.y=(acctyp)0; fO.z=(acctyp)0; acctyp energy, e_coul, virial[6], vO[6]; @@ -386,6 +387,7 @@ __kernel void k_lj_tip4p_long(const __global numtyp4 *restrict x_, } for ( ; nbor 0 + tagint special_preload[SPECIAL_DATA_PRELOAD_SIZE]; + for (int i = 0, j = 0; (i < n3) && (j < SPECIAL_DATA_PRELOAD_SIZE); i+=UNROLL_FACTOR_SPECIAL, j++) { + special_preload[j] = special[ii + i*nt]; + } +#endif - int offset=ii; - for (int i=0; i=n1) - which++; - if (i>=n2) - which++; - nbor=nbor ^ (which << SBBITS); - *list=nbor; + for ( ; list 0 + if ((c == 0) && (j < SPECIAL_DATA_PRELOAD_SIZE)) { + special_data[c] = special_preload[j]; + } + else +#endif + special_data[c] = special[ii + (i+c)*nt]; + } } - offset+=nt; + + for (int k=0; k= n1) { + which[k]++; + } + } + for (int k=0; k= n2) { + which[k]++; + } + which[k] <<= SBBITS; + } + for (int c = 0; c < UNROLL_FACTOR_SPECIAL; c++) { + if (i + c < n3) { + for (int l=0; l=PPPM_MAX_SPLINE*PPPM_MAX_SPLINE // +// NBOR_PREFETCH +// Definition: Control use of prefetch for neighbor indices +// 0 = No prefetch +// 1 = Prefetch using standard API +// 2 = Prefetch using Intel intrinsics +// Restrictions: NBOR_PREFETCH forced to 0 when LAL_DISABLE_PREFETCH +// is defined in library build //*************************************************************************/ // ------------------------------------------------------------------------- @@ -101,6 +108,7 @@ #if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_pre_cuda_hip.h" +#define ucl_prefetch(p) #define ucl_pow pow #endif @@ -169,7 +177,7 @@ #define ucl_abs fabs #define ucl_erfc erfc -#if defined(FAST_MATH) && !defined(_DOUBLE_DOUBLE) +#if (FAST_MATH > 0) && !defined(_DOUBLE_DOUBLE) #define ucl_exp native_exp #define ucl_pow pow @@ -285,6 +293,55 @@ #define simd_size() SIMD_SIZE #endif +// ------------------------------------------------------------------------- +// OPENCL KERNEL MACROS - PREFETCH +// ------------------------------------------------------------------------- + +#if (NBOR_PREFETCH == 0) +#define ucl_prefetch(p) +#endif + +#if (NBOR_PREFETCH == 1) +inline void ucl_prefetch(const __global int *p) { + prefetch(p, 1); +} +#endif + +#if (NBOR_PREFETCH == 2) +// Load message caching control +enum LSC_LDCC { + LSC_LDCC_DEFAULT, + LSC_LDCC_L1UC_L3UC, //1 Override to L1 uncached and L3 uncached + LSC_LDCC_L1UC_L3C, //1 Override to L1 uncached and L3 cached + LSC_LDCC_L1C_L3UC, //1 Override to L1 cached and L3 uncached + LSC_LDCC_L1C_L3C, //1 Override to L1 cached and L3 cached + LSC_LDCC_L1S_L3UC, //1 Override to L1 streaming load and L3 uncached + LSC_LDCC_L1S_L3C, //1 Override to L1 streaming load and L3 cached + LSC_LDCC_L1IAR_L3C, //1 Override to L1 invalidate-after-read, and L3 cached +}; + +void __builtin_IB_lsc_prefetch_global_uint(const __global uint *base, + int elemOff, + enum LSC_LDCC cacheOpt); //D32V1 + +inline void ucl_prefetch(const __global int *p) { + __builtin_IB_lsc_prefetch_global_uint((const __global uint *)p, 0, + LSC_LDCC_L1C_L3UC); +} +#endif + +struct _lgpu_float3 { + float x; float y; float z; +}; +struct _lgpu_double3 { + double x; double y; double z; +}; +#ifdef _SINGLE_SINGLE +#define acctyp3 struct _lgpu_float3 +#else +#define acctyp3 struct _lgpu_double3 +#endif + // ------------------------------------------------------------------------- // END OPENCL DEFINITIONS // ------------------------------------------------------------------------- @@ -301,6 +358,9 @@ #define numtyp4 double4 #define acctyp double #define acctyp2 double2 +#ifndef acctyp3 +#define acctyp3 double3 +#endif #define acctyp4 double4 #endif @@ -310,6 +370,9 @@ #define numtyp4 float4 #define acctyp double #define acctyp2 double2 +#ifndef acctyp3 +#define acctyp3 double3 +#endif #define acctyp4 double4 #endif @@ -319,6 +382,9 @@ #define numtyp4 float4 #define acctyp float #define acctyp2 float2 +#ifndef acctyp3 +#define acctyp3 float3 +#endif #define acctyp4 float4 #endif diff --git a/lib/gpu/lal_re_squared.cu b/lib/gpu/lal_re_squared.cu index c69a338749..318bdfdd69 100644 --- a/lib/gpu/lal_re_squared.cu +++ b/lib/gpu/lal_re_squared.cu @@ -32,6 +32,9 @@ ucl_inline numtyp det_prime(const numtyp m[9], const numtyp m2[9]) return ans; } +#ifdef INTEL_OCL +__attribute__((intel_reqd_sub_group_size(16))) +#endif __kernel void k_resquared(const __global numtyp4 *restrict x_, const __global numtyp4 *restrict q, const __global numtyp4 *restrict shape, @@ -41,7 +44,7 @@ __kernel void k_resquared(const __global numtyp4 *restrict x_, const int ntypes, const __global int *dev_nbor, const int stride, - __global acctyp4 *restrict ans, + __global acctyp3 *restrict ans, const int astride, __global acctyp *restrict engv, __global int *restrict err_flag, @@ -62,7 +65,7 @@ __kernel void k_resquared(const __global numtyp4 *restrict x_, const numtyp b_alpha=(numtyp)45.0/(numtyp)56.0; const numtyp cr60=ucl_cbrt((numtyp)60.0); - acctyp4 f, tor; + acctyp3 f, tor; f.x=(acctyp)0; f.y=(acctyp)0; f.z=(acctyp)0; tor.x=(acctyp)0; tor.y=(acctyp)0; tor.z=(acctyp)0; acctyp energy, virial[6]; @@ -122,6 +125,7 @@ __kernel void k_resquared(const __global numtyp4 *restrict x_, numtyp factor_lj; for ( ; nbor(bonus)); } int * re_gpu_compute(const int ago, const int inum_full, const int nall, double **host_x, int *host_type, int *ilist, int *numj, int **firstneigh, const bool eflag, const bool vflag, const bool eatom, const bool vatom, int &host_start, - const double cpu_time, bool &success, double **host_quat) { + const double cpu_time, bool &success, + const int *ellipsoid, const void *bonus) { return REMF.compute(ago, inum_full, nall, host_x, host_type, ilist, numj, firstneigh, eflag, vflag, eatom, vatom, host_start, - cpu_time, success, host_quat); + cpu_time, success, ellipsoid, + static_cast(bonus)); } // --------------------------------------------------------------------------- @@ -135,4 +139,3 @@ int * re_gpu_compute(const int ago, const int inum_full, const int nall, double re_gpu_bytes() { return REMF.host_memory_usage(); } - diff --git a/lib/gpu/lal_re_squared_lj.cu b/lib/gpu/lal_re_squared_lj.cu index ca1b08facd..b3347fcb18 100644 --- a/lib/gpu/lal_re_squared_lj.cu +++ b/lib/gpu/lal_re_squared_lj.cu @@ -86,7 +86,7 @@ ap1+=astride; \ } \ } \ - acctyp4 old=ans[ii]; \ + acctyp3 old=ans[ii]; \ old.x+=f.x; \ old.y+=f.y; \ old.z+=f.z; \ @@ -131,7 +131,7 @@ ap1+=astride; \ } \ } \ - acctyp4 old=ans[ii]; \ + acctyp3 old=ans[ii]; \ old.x+=f.x; \ old.y+=f.y; \ old.z+=f.z; \ @@ -154,7 +154,7 @@ __kernel void k_resquared_ellipsoid_sphere(const __global numtyp4 *restrict x_, const int ntypes, const __global int *dev_nbor, const int stride, - __global acctyp4 *restrict ans, + __global acctyp3 *restrict ans, const int astride, __global acctyp *restrict engv, __global int *restrict err_flag, @@ -180,7 +180,7 @@ __kernel void k_resquared_ellipsoid_sphere(const __global numtyp4 *restrict x_, const numtyp solv_f_r = (numtyp)3.0/((numtyp)16.0*ucl_atan((numtyp)1.0)*(numtyp)2025.0); - acctyp4 f, tor; + acctyp3 f, tor; f.x=(acctyp)0; f.y=(acctyp)0; f.z=(acctyp)0; tor.x=(acctyp)0; tor.y=(acctyp)0; tor.z=(acctyp)0; acctyp energy, virial[6]; @@ -216,6 +216,7 @@ __kernel void k_resquared_ellipsoid_sphere(const __global numtyp4 *restrict x_, numtyp factor_lj; for ( ; nbor1) \ simd_reduce_add3(t_per_atom, f.x, f.y, f.z); \ if (offset==0 && ii1) \ simd_reduce_add3(t_per_atom, f.x, f.y, f.z); \ if (offset==0 && ii1) \ simd_reduce_add3(t_per_atom, f.x, f.y, f.z); \ if (offset==0 && ii1) \ simd_reduce_add3(t_per_atom, f.x, f.y, f.z); \ if (offset==0 && ii1) \ simd_reduce_add3(t_per_atom, f.x, f.y, f.z); \ if (offset==0 && iimolecular != Atom::ATOMIC)) { + PairHybrid *ph = reinterpret_cast(force->pair_match("^hybrid",0)); + if (ph) { + for (int isub=0; isub < ph->nstyles; ++isub) { + if (force->pair_match("gpu",0,isub)) overlap_topo = 1; + } + } else { + if (force->pair_match("gpu",0)) overlap_topo = 1; + } + } + if (overlap_topo) neighbor->set_overlap_topo(1); + if (_gpu_mode == GPU_NEIGH || _gpu_mode == GPU_HYB_NEIGH) if (neighbor->exclude_setting() != 0) error->all(FLERR, "Cannot use neigh_modify exclude with GPU neighbor builds"); diff --git a/src/GPU/fix_nve_asphere_gpu.cpp b/src/GPU/fix_nve_asphere_gpu.cpp index 06d1d7a7ca..481f44bb63 100644 --- a/src/GPU/fix_nve_asphere_gpu.cpp +++ b/src/GPU/fix_nve_asphere_gpu.cpp @@ -243,12 +243,7 @@ void FixNVEAsphereGPU::initial_integrate(int /*vflag*/) // update angular momentum by 1/2 step if (igroup == 0) { #if (LAL_USE_OMP_SIMD == 1) - // Workaround for compiler bug - #ifdef __INTEL_COMPILER - #pragma simd - #else - #pragma omp simd - #endif + #pragma omp simd #endif for (int i = ifrom; i < ito; i++) { double *quat = bonus[ellipsoid[i]].quat; @@ -257,12 +252,7 @@ void FixNVEAsphereGPU::initial_integrate(int /*vflag*/) } } else { #if (LAL_USE_OMP_SIMD == 1) - // Workaround for compiler bug - #ifdef __INTEL_COMPILER - #pragma simd - #else - #pragma omp simd - #endif + #pragma omp simd #endif for (int i = ifrom; i < ito; i++) { if (mask[i] & groupbit) { diff --git a/src/GPU/pair_amoeba_gpu.cpp b/src/GPU/pair_amoeba_gpu.cpp index fd423486fd..1221db66b1 100644 --- a/src/GPU/pair_amoeba_gpu.cpp +++ b/src/GPU/pair_amoeba_gpu.cpp @@ -155,6 +155,15 @@ PairAmoebaGPU::~PairAmoebaGPU() amoeba_gpu_clear(); } +/* ---------------------------------------------------------------------- */ + +void PairAmoebaGPU::compute(int eflag, int vflag) +{ + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); + PairAmoeba::compute(eflag, vflag); +} + /* ---------------------------------------------------------------------- init specific to this pair style ------------------------------------------------------------------------- */ diff --git a/src/GPU/pair_amoeba_gpu.h b/src/GPU/pair_amoeba_gpu.h index be53f7ef50..75f0d26336 100644 --- a/src/GPU/pair_amoeba_gpu.h +++ b/src/GPU/pair_amoeba_gpu.h @@ -28,6 +28,7 @@ class PairAmoebaGPU : public PairAmoeba { public: PairAmoebaGPU(LAMMPS *lmp); ~PairAmoebaGPU() override; + void compute(int, int) override; void init_style() override; double memory_usage() override; diff --git a/src/GPU/pair_beck_gpu.cpp b/src/GPU/pair_beck_gpu.cpp index 3c21a99105..8d057fd317 100644 --- a/src/GPU/pair_beck_gpu.cpp +++ b/src/GPU/pair_beck_gpu.cpp @@ -109,6 +109,8 @@ void PairBeckGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_born_coul_long_cs_gpu.cpp b/src/GPU/pair_born_coul_long_cs_gpu.cpp index 788a46e2cb..798caeb97a 100644 --- a/src/GPU/pair_born_coul_long_cs_gpu.cpp +++ b/src/GPU/pair_born_coul_long_cs_gpu.cpp @@ -129,6 +129,8 @@ void PairBornCoulLongCSGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_born_coul_long_gpu.cpp b/src/GPU/pair_born_coul_long_gpu.cpp index 629f716fd6..ca12f03070 100644 --- a/src/GPU/pair_born_coul_long_gpu.cpp +++ b/src/GPU/pair_born_coul_long_gpu.cpp @@ -123,6 +123,8 @@ void PairBornCoulLongGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_born_coul_wolf_cs_gpu.cpp b/src/GPU/pair_born_coul_wolf_cs_gpu.cpp index 214a9575be..9858015622 100644 --- a/src/GPU/pair_born_coul_wolf_cs_gpu.cpp +++ b/src/GPU/pair_born_coul_wolf_cs_gpu.cpp @@ -117,6 +117,8 @@ void PairBornCoulWolfCSGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_born_coul_wolf_gpu.cpp b/src/GPU/pair_born_coul_wolf_gpu.cpp index 02a671adc9..ce9956d232 100644 --- a/src/GPU/pair_born_coul_wolf_gpu.cpp +++ b/src/GPU/pair_born_coul_wolf_gpu.cpp @@ -114,6 +114,8 @@ void PairBornCoulWolfGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_born_gpu.cpp b/src/GPU/pair_born_gpu.cpp index 905278cdb7..9499cd7307 100644 --- a/src/GPU/pair_born_gpu.cpp +++ b/src/GPU/pair_born_gpu.cpp @@ -109,6 +109,8 @@ void PairBornGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_buck_coul_cut_gpu.cpp b/src/GPU/pair_buck_coul_cut_gpu.cpp index 125ffbfbbd..b6e1e8fbed 100644 --- a/src/GPU/pair_buck_coul_cut_gpu.cpp +++ b/src/GPU/pair_buck_coul_cut_gpu.cpp @@ -111,6 +111,8 @@ void PairBuckCoulCutGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_buck_coul_long_gpu.cpp b/src/GPU/pair_buck_coul_long_gpu.cpp index ca90b3e869..adae92d1ac 100644 --- a/src/GPU/pair_buck_coul_long_gpu.cpp +++ b/src/GPU/pair_buck_coul_long_gpu.cpp @@ -120,6 +120,8 @@ void PairBuckCoulLongGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_buck_gpu.cpp b/src/GPU/pair_buck_gpu.cpp index d6dcdf30bc..4e11a2ec2d 100644 --- a/src/GPU/pair_buck_gpu.cpp +++ b/src/GPU/pair_buck_gpu.cpp @@ -107,6 +107,8 @@ void PairBuckGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_colloid_gpu.cpp b/src/GPU/pair_colloid_gpu.cpp index c0e85907bb..510c4ef12f 100644 --- a/src/GPU/pair_colloid_gpu.cpp +++ b/src/GPU/pair_colloid_gpu.cpp @@ -109,6 +109,8 @@ void PairColloidGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_coul_cut_gpu.cpp b/src/GPU/pair_coul_cut_gpu.cpp index d48ee1cb7b..240ed2f91e 100644 --- a/src/GPU/pair_coul_cut_gpu.cpp +++ b/src/GPU/pair_coul_cut_gpu.cpp @@ -108,6 +108,8 @@ void PairCoulCutGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_coul_debye_gpu.cpp b/src/GPU/pair_coul_debye_gpu.cpp index ed9781c016..7d1fe8d546 100644 --- a/src/GPU/pair_coul_debye_gpu.cpp +++ b/src/GPU/pair_coul_debye_gpu.cpp @@ -109,6 +109,8 @@ void PairCoulDebyeGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_coul_dsf_gpu.cpp b/src/GPU/pair_coul_dsf_gpu.cpp index a4837ed8cb..bf207caf60 100644 --- a/src/GPU/pair_coul_dsf_gpu.cpp +++ b/src/GPU/pair_coul_dsf_gpu.cpp @@ -118,6 +118,8 @@ void PairCoulDSFGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_coul_long_cs_gpu.cpp b/src/GPU/pair_coul_long_cs_gpu.cpp index 921a294721..79c4c4ab7c 100644 --- a/src/GPU/pair_coul_long_cs_gpu.cpp +++ b/src/GPU/pair_coul_long_cs_gpu.cpp @@ -123,6 +123,8 @@ void PairCoulLongCSGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_coul_long_gpu.cpp b/src/GPU/pair_coul_long_gpu.cpp index 0b773882b2..7ecb052f69 100644 --- a/src/GPU/pair_coul_long_gpu.cpp +++ b/src/GPU/pair_coul_long_gpu.cpp @@ -117,6 +117,8 @@ void PairCoulLongGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_dpd_gpu.cpp b/src/GPU/pair_dpd_gpu.cpp index 716978deac..e4657cf2eb 100644 --- a/src/GPU/pair_dpd_gpu.cpp +++ b/src/GPU/pair_dpd_gpu.cpp @@ -256,6 +256,8 @@ void PairDPDGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_dpd_tstat_gpu.cpp b/src/GPU/pair_dpd_tstat_gpu.cpp index 029bf7245e..4a7b05fd2c 100644 --- a/src/GPU/pair_dpd_tstat_gpu.cpp +++ b/src/GPU/pair_dpd_tstat_gpu.cpp @@ -272,6 +272,8 @@ void PairDPDTstatGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_eam_alloy_gpu.cpp b/src/GPU/pair_eam_alloy_gpu.cpp index d1d73e415c..4b7693e989 100644 --- a/src/GPU/pair_eam_alloy_gpu.cpp +++ b/src/GPU/pair_eam_alloy_gpu.cpp @@ -138,6 +138,8 @@ void PairEAMAlloyGPU::compute(int eflag, int vflag) eam_alloy_gpu_compute_force(nullptr, eflag, vflag, eflag_atom, vflag_atom); else eam_alloy_gpu_compute_force(ilist, eflag, vflag, eflag_atom, vflag_atom); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); } /* ---------------------------------------------------------------------- diff --git a/src/GPU/pair_eam_fs_gpu.cpp b/src/GPU/pair_eam_fs_gpu.cpp index c1a4c74d52..9da4e20a6f 100644 --- a/src/GPU/pair_eam_fs_gpu.cpp +++ b/src/GPU/pair_eam_fs_gpu.cpp @@ -138,6 +138,8 @@ void PairEAMFSGPU::compute(int eflag, int vflag) eam_fs_gpu_compute_force(nullptr, eflag, vflag, eflag_atom, vflag_atom); else eam_fs_gpu_compute_force(ilist, eflag, vflag, eflag_atom, vflag_atom); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); } /* ---------------------------------------------------------------------- diff --git a/src/GPU/pair_eam_gpu.cpp b/src/GPU/pair_eam_gpu.cpp index 17af6cfb22..4cb7c7f749 100644 --- a/src/GPU/pair_eam_gpu.cpp +++ b/src/GPU/pair_eam_gpu.cpp @@ -136,6 +136,8 @@ void PairEAMGPU::compute(int eflag, int vflag) eam_gpu_compute_force(nullptr, eflag, vflag, eflag_atom, vflag_atom); else eam_gpu_compute_force(ilist, eflag, vflag, eflag_atom, vflag_atom); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); } /* ---------------------------------------------------------------------- diff --git a/src/GPU/pair_gauss_gpu.cpp b/src/GPU/pair_gauss_gpu.cpp index 17b9e9a650..e6e4ccae1b 100644 --- a/src/GPU/pair_gauss_gpu.cpp +++ b/src/GPU/pair_gauss_gpu.cpp @@ -106,6 +106,8 @@ void PairGaussGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_gayberne_gpu.cpp b/src/GPU/pair_gayberne_gpu.cpp index 5f12b1eaf4..c0b0c2ecb0 100644 --- a/src/GPU/pair_gayberne_gpu.cpp +++ b/src/GPU/pair_gayberne_gpu.cpp @@ -35,33 +35,39 @@ using namespace LAMMPS_NS; // External functions from cuda library for atom decomposition -int gb_gpu_init(const int ntypes, const double gamma, const double upsilon, const double mu, - double **shape, double **well, double **cutsq, double **sigma, double **epsilon, - double *host_lshape, int **form, double **host_lj1, double **host_lj2, - double **host_lj3, double **host_lj4, double **offset, double *special_lj, - const int nlocal, const int nall, const int max_nbors, const int maxspecial, +int gb_gpu_init(const int ntypes, const double gamma, const double upsilon, + const double mu, double **shape, double **well, double **cutsq, + double **sigma, double **epsilon, double *host_lshape, + int **form, double **host_lj1, double **host_lj2, + double **host_lj3, double **host_lj4, double **offset, + double *special_lj, const int nlocal, const int nall, + const int max_nbors, const int maxspecial, const double cell_size, int &gpu_mode, FILE *screen); void gb_gpu_clear(); -int **gb_gpu_compute_n(const int ago, const int inum, const int nall, double **host_x, - int *host_type, double *sublo, double *subhi, tagint *tag, int **nspecial, - tagint **special, const bool eflag, const bool vflag, const bool eatom, - const bool vatom, int &host_start, int **ilist, int **jnum, - const double cpu_time, bool &success, double **host_quat); -int *gb_gpu_compute(const int ago, const int inum, const int nall, double **host_x, int *host_type, - int *ilist, int *numj, int **firstneigh, const bool eflag, const bool vflag, - const bool eatom, const bool vatom, int &host_start, const double cpu_time, - bool &success, double **host_quat); +int **gb_gpu_compute_n(const int ago, const int inum, const int nall, + double **host_x, int *host_type, double *sublo, + double *subhi, tagint *tag, int **nspecial, + tagint **special, const bool eflag, const bool vflag, + const bool eatom, const bool vatom, int &host_start, + int **ilist, int **jnum, const double cpu_time, + bool &success, const int *ellipsoid, + const void *bonus); +int *gb_gpu_compute(const int ago, const int inum, const int nall, + double **host_x, int *host_type, int *ilist, int *numj, + int **firstneigh, const bool eflag, const bool vflag, + const bool eatom, const bool vatom, int &host_start, + const double cpu_time, bool &success, const int *ellipsoid, + const void *bonus); double gb_gpu_bytes(); enum { SPHERE_SPHERE, SPHERE_ELLIPSE, ELLIPSE_SPHERE, ELLIPSE_ELLIPSE }; /* ---------------------------------------------------------------------- */ -PairGayBerneGPU::PairGayBerneGPU(LAMMPS *lmp) : PairGayBerne(lmp), gpu_mode(GPU_FORCE) +PairGayBerneGPU::PairGayBerneGPU(LAMMPS *lmp) : PairGayBerne(lmp), + gpu_mode(GPU_FORCE) { - quat_nmax = 0; reinitflag = 0; - quat = nullptr; suffix_flag |= Suffix::GPU; GPU_EXTRA::gpu_ready(lmp->modify, lmp->error); } @@ -74,7 +80,6 @@ PairGayBerneGPU::~PairGayBerneGPU() { gb_gpu_clear(); cpu_time = 0.0; - memory->destroy(quat); } /* ---------------------------------------------------------------------- */ @@ -89,21 +94,8 @@ void PairGayBerneGPU::compute(int eflag, int vflag) bool success = true; int *ilist, *numneigh, **firstneigh; - if (nall > quat_nmax) { - quat_nmax = static_cast(1.1 * nall); - memory->grow(quat, quat_nmax, 4, "pair:quat"); - } AtomVecEllipsoid::Bonus *bonus = avec->bonus; int *ellipsoid = atom->ellipsoid; - for (int i = 0; i < nall; i++) { - int qi = ellipsoid[i]; - if (qi > -1) { - quat[i][0] = bonus[qi].quat[0]; - quat[i][1] = bonus[qi].quat[1]; - quat[i][2] = bonus[qi].quat[2]; - quat[i][3] = bonus[qi].quat[3]; - } - } if (gpu_mode != GPU_FORCE) { double sublo[3], subhi[3]; @@ -119,19 +111,24 @@ void PairGayBerneGPU::compute(int eflag, int vflag) } inum = atom->nlocal; firstneigh = - gb_gpu_compute_n(neighbor->ago, inum, nall, atom->x, atom->type, sublo, subhi, atom->tag, - atom->nspecial, atom->special, eflag, vflag, eflag_atom, vflag_atom, - host_start, &ilist, &numneigh, cpu_time, success, quat); + gb_gpu_compute_n(neighbor->ago, inum, nall, atom->x, atom->type, sublo, + subhi, atom->tag, atom->nspecial, atom->special, + eflag, vflag, eflag_atom, vflag_atom, + host_start, &ilist, &numneigh, cpu_time, success, + ellipsoid, bonus); } else { inum = list->inum; numneigh = list->numneigh; firstneigh = list->firstneigh; - ilist = gb_gpu_compute(neighbor->ago, inum, nall, atom->x, atom->type, list->ilist, numneigh, - firstneigh, eflag, vflag, eflag_atom, vflag_atom, host_start, cpu_time, - success, quat); + ilist = gb_gpu_compute(neighbor->ago, inum, nall, atom->x, atom->type, + list->ilist, numneigh, firstneigh, eflag, vflag, + eflag_atom, vflag_atom, host_start, cpu_time, + success, ellipsoid, bonus); } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); @@ -185,14 +182,13 @@ void PairGayBerneGPU::init_style() if (atom->molecular != Atom::ATOMIC) maxspecial = atom->maxspecial; int mnf = 5e-2 * neighbor->oneatom; int success = - gb_gpu_init(atom->ntypes + 1, gamma, upsilon, mu, shape2, well, cutsq, sigma, epsilon, lshape, - form, lj1, lj2, lj3, lj4, offset, force->special_lj, atom->nlocal, - atom->nlocal + atom->nghost, mnf, maxspecial, cell_size, gpu_mode, screen); + gb_gpu_init(atom->ntypes + 1, gamma, upsilon, mu, shape2, well, cutsq, + sigma, epsilon, lshape, form, lj1, lj2, lj3, lj4, offset, + force->special_lj, atom->nlocal, atom->nlocal + atom->nghost, + mnf, maxspecial, cell_size, gpu_mode, screen); GPU_EXTRA::check_flag(success, error, world); if (gpu_mode == GPU_FORCE) neighbor->add_request(this, NeighConst::REQ_FULL); - quat_nmax = static_cast(1.1 * (atom->nlocal + atom->nghost)); - memory->grow(quat, quat_nmax, 4, "pair:quat"); } /* ---------------------------------------------------------------------- */ @@ -200,12 +196,13 @@ void PairGayBerneGPU::init_style() double PairGayBerneGPU::memory_usage() { double bytes = Pair::memory_usage(); - return bytes + memory->usage(quat, quat_nmax) + gb_gpu_bytes(); + return bytes + gb_gpu_bytes(); } /* ---------------------------------------------------------------------- */ -void PairGayBerneGPU::cpu_compute(int start, int inum, int eflag, int /* vflag */, int *ilist, +void PairGayBerneGPU::cpu_compute(int start, int inum, int eflag, + int /* vflag */, int *ilist, int *numneigh, int **firstneigh) { int i, j, ii, jj, jnum, itype, jtype; diff --git a/src/GPU/pair_gayberne_gpu.h b/src/GPU/pair_gayberne_gpu.h index 89d21b9046..1ce760352c 100644 --- a/src/GPU/pair_gayberne_gpu.h +++ b/src/GPU/pair_gayberne_gpu.h @@ -38,8 +38,6 @@ class PairGayBerneGPU : public PairGayBerne { private: int gpu_mode; double cpu_time; - int quat_nmax; - double **quat; }; } // namespace LAMMPS_NS diff --git a/src/GPU/pair_hippo_gpu.cpp b/src/GPU/pair_hippo_gpu.cpp index 9d286d5db7..8287a7c09d 100644 --- a/src/GPU/pair_hippo_gpu.cpp +++ b/src/GPU/pair_hippo_gpu.cpp @@ -172,6 +172,15 @@ PairHippoGPU::~PairHippoGPU() hippo_gpu_clear(); } +/* ---------------------------------------------------------------------- */ + +void PairAmoebaGPU::compute(int eflag, int vflag) +{ + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); + PairAmoeba::compute(eflag, vflag); +} + /* ---------------------------------------------------------------------- init specific to this pair style ------------------------------------------------------------------------- */ diff --git a/src/GPU/pair_hippo_gpu.h b/src/GPU/pair_hippo_gpu.h index d160446d77..50f362bafc 100644 --- a/src/GPU/pair_hippo_gpu.h +++ b/src/GPU/pair_hippo_gpu.h @@ -28,6 +28,7 @@ class PairHippoGPU : public PairAmoeba { public: PairHippoGPU(LAMMPS *lmp); ~PairHippoGPU() override; + void compute(int, int) override; void init_style() override; double memory_usage() override; diff --git a/src/GPU/pair_lj96_cut_gpu.cpp b/src/GPU/pair_lj96_cut_gpu.cpp index 5b1dd47340..f2371b14ef 100644 --- a/src/GPU/pair_lj96_cut_gpu.cpp +++ b/src/GPU/pair_lj96_cut_gpu.cpp @@ -106,6 +106,8 @@ void PairLJ96CutGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_lj_charmm_coul_charmm_gpu.cpp b/src/GPU/pair_lj_charmm_coul_charmm_gpu.cpp index d894d6acf1..dbaef3b929 100644 --- a/src/GPU/pair_lj_charmm_coul_charmm_gpu.cpp +++ b/src/GPU/pair_lj_charmm_coul_charmm_gpu.cpp @@ -101,6 +101,8 @@ void PairLJCharmmCoulCharmmGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_lj_charmm_coul_long_gpu.cpp b/src/GPU/pair_lj_charmm_coul_long_gpu.cpp index 5153ea0b37..87d4896bde 100644 --- a/src/GPU/pair_lj_charmm_coul_long_gpu.cpp +++ b/src/GPU/pair_lj_charmm_coul_long_gpu.cpp @@ -122,6 +122,8 @@ void PairLJCharmmCoulLongGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_lj_class2_coul_long_gpu.cpp b/src/GPU/pair_lj_class2_coul_long_gpu.cpp index 2de9586596..90a4682e8f 100644 --- a/src/GPU/pair_lj_class2_coul_long_gpu.cpp +++ b/src/GPU/pair_lj_class2_coul_long_gpu.cpp @@ -120,6 +120,8 @@ void PairLJClass2CoulLongGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_lj_class2_gpu.cpp b/src/GPU/pair_lj_class2_gpu.cpp index 7d7edb773d..9668c1d63a 100644 --- a/src/GPU/pair_lj_class2_gpu.cpp +++ b/src/GPU/pair_lj_class2_gpu.cpp @@ -106,6 +106,8 @@ void PairLJClass2GPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_lj_cubic_gpu.cpp b/src/GPU/pair_lj_cubic_gpu.cpp index 4a1316a00a..bec2465b84 100644 --- a/src/GPU/pair_lj_cubic_gpu.cpp +++ b/src/GPU/pair_lj_cubic_gpu.cpp @@ -111,6 +111,8 @@ void PairLJCubicGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_lj_cut_coul_cut_gpu.cpp b/src/GPU/pair_lj_cut_coul_cut_gpu.cpp index 7bae62ff02..45f98d3ce8 100644 --- a/src/GPU/pair_lj_cut_coul_cut_gpu.cpp +++ b/src/GPU/pair_lj_cut_coul_cut_gpu.cpp @@ -109,6 +109,8 @@ void PairLJCutCoulCutGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_lj_cut_coul_debye_gpu.cpp b/src/GPU/pair_lj_cut_coul_debye_gpu.cpp index 9c598a7572..86732defb5 100644 --- a/src/GPU/pair_lj_cut_coul_debye_gpu.cpp +++ b/src/GPU/pair_lj_cut_coul_debye_gpu.cpp @@ -112,6 +112,8 @@ void PairLJCutCoulDebyeGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_lj_cut_coul_dsf_gpu.cpp b/src/GPU/pair_lj_cut_coul_dsf_gpu.cpp index 90c8b556dc..08d90b8b57 100644 --- a/src/GPU/pair_lj_cut_coul_dsf_gpu.cpp +++ b/src/GPU/pair_lj_cut_coul_dsf_gpu.cpp @@ -119,6 +119,8 @@ void PairLJCutCoulDSFGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_lj_cut_coul_long_gpu.cpp b/src/GPU/pair_lj_cut_coul_long_gpu.cpp index 5094bdc7c9..c70fe555d0 100644 --- a/src/GPU/pair_lj_cut_coul_long_gpu.cpp +++ b/src/GPU/pair_lj_cut_coul_long_gpu.cpp @@ -122,6 +122,8 @@ void PairLJCutCoulLongGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_lj_cut_coul_msm_gpu.cpp b/src/GPU/pair_lj_cut_coul_msm_gpu.cpp index c1aaa6323a..aa1fa45ec2 100644 --- a/src/GPU/pair_lj_cut_coul_msm_gpu.cpp +++ b/src/GPU/pair_lj_cut_coul_msm_gpu.cpp @@ -112,6 +112,8 @@ void PairLJCutCoulMSMGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_lj_cut_dipole_cut_gpu.cpp b/src/GPU/pair_lj_cut_dipole_cut_gpu.cpp index cac0582138..b71e526bf2 100644 --- a/src/GPU/pair_lj_cut_dipole_cut_gpu.cpp +++ b/src/GPU/pair_lj_cut_dipole_cut_gpu.cpp @@ -113,6 +113,8 @@ void PairLJCutDipoleCutGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_lj_cut_dipole_long_gpu.cpp b/src/GPU/pair_lj_cut_dipole_long_gpu.cpp index 9489a43389..df1a2d78ba 100644 --- a/src/GPU/pair_lj_cut_dipole_long_gpu.cpp +++ b/src/GPU/pair_lj_cut_dipole_long_gpu.cpp @@ -125,6 +125,8 @@ void PairLJCutDipoleLongGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_lj_cut_gpu.cpp b/src/GPU/pair_lj_cut_gpu.cpp index 422990e1cb..46dd67dc94 100644 --- a/src/GPU/pair_lj_cut_gpu.cpp +++ b/src/GPU/pair_lj_cut_gpu.cpp @@ -109,6 +109,8 @@ void PairLJCutGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_lj_cut_tip4p_long_gpu.cpp b/src/GPU/pair_lj_cut_tip4p_long_gpu.cpp index 3830e5dd06..d7eaf4b006 100644 --- a/src/GPU/pair_lj_cut_tip4p_long_gpu.cpp +++ b/src/GPU/pair_lj_cut_tip4p_long_gpu.cpp @@ -131,6 +131,8 @@ void PairLJCutTIP4PLongGPU::compute(int eflag, int vflag) success, atom->q, atom->nlocal, domain->boxlo, domain->prd); } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); } /* ---------------------------------------------------------------------- diff --git a/src/GPU/pair_lj_expand_coul_long_gpu.cpp b/src/GPU/pair_lj_expand_coul_long_gpu.cpp index c9ffd0ac23..35cb18122a 100644 --- a/src/GPU/pair_lj_expand_coul_long_gpu.cpp +++ b/src/GPU/pair_lj_expand_coul_long_gpu.cpp @@ -123,6 +123,8 @@ void PairLJExpandCoulLongGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_lj_expand_gpu.cpp b/src/GPU/pair_lj_expand_gpu.cpp index 8d7dcf2c21..1e1eac603b 100644 --- a/src/GPU/pair_lj_expand_gpu.cpp +++ b/src/GPU/pair_lj_expand_gpu.cpp @@ -107,6 +107,8 @@ void PairLJExpandGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_lj_gromacs_gpu.cpp b/src/GPU/pair_lj_gromacs_gpu.cpp index 424bce480c..8bb901f961 100644 --- a/src/GPU/pair_lj_gromacs_gpu.cpp +++ b/src/GPU/pair_lj_gromacs_gpu.cpp @@ -108,6 +108,8 @@ void PairLJGromacsGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_lj_sf_dipole_sf_gpu.cpp b/src/GPU/pair_lj_sf_dipole_sf_gpu.cpp index 9bd5dc4749..4d8fbb5139 100644 --- a/src/GPU/pair_lj_sf_dipole_sf_gpu.cpp +++ b/src/GPU/pair_lj_sf_dipole_sf_gpu.cpp @@ -112,6 +112,8 @@ void PairLJSFDipoleSFGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_lj_smooth_gpu.cpp b/src/GPU/pair_lj_smooth_gpu.cpp index 8ae295282e..5451f4a4f4 100644 --- a/src/GPU/pair_lj_smooth_gpu.cpp +++ b/src/GPU/pair_lj_smooth_gpu.cpp @@ -113,6 +113,8 @@ void PairLJSmoothGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_lj_spica_coul_long_gpu.cpp b/src/GPU/pair_lj_spica_coul_long_gpu.cpp index b315b8cc57..4317c04220 100644 --- a/src/GPU/pair_lj_spica_coul_long_gpu.cpp +++ b/src/GPU/pair_lj_spica_coul_long_gpu.cpp @@ -125,6 +125,8 @@ void PairLJSPICACoulLongGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); if (evflag) { diff --git a/src/GPU/pair_lj_spica_gpu.cpp b/src/GPU/pair_lj_spica_gpu.cpp index 71756a8c26..d531e27284 100644 --- a/src/GPU/pair_lj_spica_gpu.cpp +++ b/src/GPU/pair_lj_spica_gpu.cpp @@ -110,6 +110,8 @@ void PairLJSPICAGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); if (evflag) { diff --git a/src/GPU/pair_mie_cut_gpu.cpp b/src/GPU/pair_mie_cut_gpu.cpp index 075546588a..0dabf9f3e2 100644 --- a/src/GPU/pair_mie_cut_gpu.cpp +++ b/src/GPU/pair_mie_cut_gpu.cpp @@ -107,6 +107,8 @@ void PairMIECutGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_morse_gpu.cpp b/src/GPU/pair_morse_gpu.cpp index b0ac2cce14..570027c1d8 100644 --- a/src/GPU/pair_morse_gpu.cpp +++ b/src/GPU/pair_morse_gpu.cpp @@ -105,6 +105,8 @@ void PairMorseGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_resquared_gpu.cpp b/src/GPU/pair_resquared_gpu.cpp index c0e700c5e6..8c1d1cec17 100644 --- a/src/GPU/pair_resquared_gpu.cpp +++ b/src/GPU/pair_resquared_gpu.cpp @@ -35,21 +35,28 @@ using namespace LAMMPS_NS; // External functions from cuda library for atom decomposition -int re_gpu_init(const int ntypes, double **shape, double **well, double **cutsq, double **sigma, - double **epsilon, int **form, double **host_lj1, double **host_lj2, - double **host_lj3, double **host_lj4, double **offset, double *special_lj, - const int nlocal, const int nall, const int max_nbors, const int maxspecial, - const double cell_size, int &gpu_mode, FILE *screen); +int re_gpu_init(const int ntypes, double **shape, double **well, double **cutsq, + double **sigma, double **epsilon, int **form, + double **host_lj1, double **host_lj2, double **host_lj3, + double **host_lj4, double **offset, double *special_lj, + const int nlocal, const int nall, const int max_nbors, + const int maxspecial, const double cell_size, int &gpu_mode, + FILE *screen); void re_gpu_clear(); -int **re_gpu_compute_n(const int ago, const int inum, const int nall, double **host_x, - int *host_type, double *sublo, double *subhi, tagint *tag, int **nspecial, - tagint **special, const bool eflag, const bool vflag, const bool eatom, - const bool vatom, int &host_start, int **ilist, int **jnum, - const double cpu_time, bool &success, double **host_quat); -int *re_gpu_compute(const int ago, const int inum, const int nall, double **host_x, int *host_type, - int *ilist, int *numj, int **firstneigh, const bool eflag, const bool vflag, - const bool eatom, const bool vatom, int &host_start, const double cpu_time, - bool &success, double **host_quat); +int **re_gpu_compute_n(const int ago, const int inum, const int nall, + double **host_x, int *host_type, double *sublo, + double *subhi, tagint *tag, int **nspecial, + tagint **special, const bool eflag, const bool vflag, + const bool eatom, const bool vatom, int &host_start, + int **ilist, int **jnum, const double cpu_time, + bool &success, const int *ellipsoid, + const void *bonus); +int *re_gpu_compute(const int ago, const int inum, const int nall, + double **host_x, int *host_type, int *ilist, int *numj, + int **firstneigh, const bool eflag, const bool vflag, + const bool eatom, const bool vatom, int &host_start, + const double cpu_time, bool &success, const int *ellipsoid, + const void *bonus); double re_gpu_bytes(); enum { SPHERE_SPHERE, SPHERE_ELLIPSE, ELLIPSE_SPHERE, ELLIPSE_ELLIPSE }; @@ -61,8 +68,6 @@ PairRESquaredGPU::PairRESquaredGPU(LAMMPS *lmp) : PairRESquared(lmp), gpu_mode(G reinitflag = 0; avec = dynamic_cast(atom->style_match("ellipsoid")); if (!avec) error->all(FLERR, "Pair resquared/gpu requires atom style ellipsoid"); - quat_nmax = 0; - quat = nullptr; suffix_flag |= Suffix::GPU; GPU_EXTRA::gpu_ready(lmp->modify, lmp->error); } @@ -75,7 +80,6 @@ PairRESquaredGPU::~PairRESquaredGPU() { re_gpu_clear(); cpu_time = 0.0; - memory->destroy(quat); } /* ---------------------------------------------------------------------- */ @@ -90,21 +94,8 @@ void PairRESquaredGPU::compute(int eflag, int vflag) bool success = true; int *ilist, *numneigh, **firstneigh; - if (nall > quat_nmax) { - quat_nmax = static_cast(1.1 * nall); - memory->grow(quat, quat_nmax, 4, "pair:quat"); - } AtomVecEllipsoid::Bonus *bonus = avec->bonus; int *ellipsoid = atom->ellipsoid; - for (int i = 0; i < nall; i++) { - int qi = ellipsoid[i]; - if (qi > -1) { - quat[i][0] = bonus[qi].quat[0]; - quat[i][1] = bonus[qi].quat[1]; - quat[i][2] = bonus[qi].quat[2]; - quat[i][3] = bonus[qi].quat[3]; - } - } if (gpu_mode != GPU_FORCE) { double sublo[3], subhi[3]; @@ -120,19 +111,24 @@ void PairRESquaredGPU::compute(int eflag, int vflag) } inum = atom->nlocal; firstneigh = - re_gpu_compute_n(neighbor->ago, inum, nall, atom->x, atom->type, sublo, subhi, atom->tag, - atom->nspecial, atom->special, eflag, vflag, eflag_atom, vflag_atom, - host_start, &ilist, &numneigh, cpu_time, success, quat); + re_gpu_compute_n(neighbor->ago, inum, nall, atom->x, atom->type, sublo, + subhi, atom->tag, atom->nspecial, atom->special, + eflag, vflag, eflag_atom, vflag_atom, host_start, + &ilist, &numneigh, cpu_time, success, ellipsoid, + bonus); } else { inum = list->inum; numneigh = list->numneigh; firstneigh = list->firstneigh; - ilist = re_gpu_compute(neighbor->ago, inum, nall, atom->x, atom->type, list->ilist, numneigh, - firstneigh, eflag, vflag, eflag_atom, vflag_atom, host_start, cpu_time, - success, quat); + ilist = re_gpu_compute(neighbor->ago, inum, nall, atom->x, atom->type, + list->ilist, numneigh, firstneigh, eflag, vflag, + eflag_atom, vflag_atom, host_start, cpu_time, + success, ellipsoid, bonus); } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); @@ -184,14 +180,13 @@ void PairRESquaredGPU::init_style() if (atom->molecular != Atom::ATOMIC) maxspecial = atom->maxspecial; int mnf = 5e-2 * neighbor->oneatom; int success = - re_gpu_init(atom->ntypes + 1, shape1, well, cutsq, sigma, epsilon, form, lj1, lj2, lj3, lj4, - offset, force->special_lj, atom->nlocal, atom->nlocal + atom->nghost, mnf, - maxspecial, cell_size, gpu_mode, screen); + re_gpu_init(atom->ntypes + 1, shape1, well, cutsq, sigma, epsilon, form, + lj1, lj2, lj3, lj4, offset, force->special_lj, atom->nlocal, + atom->nlocal + atom->nghost, mnf, maxspecial, cell_size, + gpu_mode, screen); GPU_EXTRA::check_flag(success, error, world); if (gpu_mode == GPU_FORCE) neighbor->add_request(this, NeighConst::REQ_FULL); - quat_nmax = static_cast(1.1 * (atom->nlocal + atom->nghost)); - memory->grow(quat, quat_nmax, 4, "pair:quat"); } /* ---------------------------------------------------------------------- */ @@ -199,7 +194,7 @@ void PairRESquaredGPU::init_style() double PairRESquaredGPU::memory_usage() { double bytes = Pair::memory_usage(); - return bytes + memory->usage(quat, quat_nmax) + re_gpu_bytes(); + return bytes + re_gpu_bytes(); } /* ---------------------------------------------------------------------- */ diff --git a/src/GPU/pair_resquared_gpu.h b/src/GPU/pair_resquared_gpu.h index 6d79952c39..825655a61d 100644 --- a/src/GPU/pair_resquared_gpu.h +++ b/src/GPU/pair_resquared_gpu.h @@ -38,8 +38,6 @@ class PairRESquaredGPU : public PairRESquared { private: int gpu_mode; double cpu_time; - int quat_nmax; - double **quat; }; } // namespace LAMMPS_NS diff --git a/src/GPU/pair_soft_gpu.cpp b/src/GPU/pair_soft_gpu.cpp index 973e82c13a..9d406d1eaa 100644 --- a/src/GPU/pair_soft_gpu.cpp +++ b/src/GPU/pair_soft_gpu.cpp @@ -108,6 +108,8 @@ void PairSoftGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_sw_gpu.cpp b/src/GPU/pair_sw_gpu.cpp index 67c52e0602..7645218a85 100644 --- a/src/GPU/pair_sw_gpu.cpp +++ b/src/GPU/pair_sw_gpu.cpp @@ -114,6 +114,8 @@ void PairSWGPU::compute(int eflag, int vflag) success); } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); } /* ---------------------------------------------------------------------- */ diff --git a/src/GPU/pair_table_gpu.cpp b/src/GPU/pair_table_gpu.cpp index 6615710b8a..ec927a7845 100644 --- a/src/GPU/pair_table_gpu.cpp +++ b/src/GPU/pair_table_gpu.cpp @@ -107,6 +107,8 @@ void PairTableGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_tersoff_gpu.cpp b/src/GPU/pair_tersoff_gpu.cpp index 9f0c8fa883..8610a3880c 100644 --- a/src/GPU/pair_tersoff_gpu.cpp +++ b/src/GPU/pair_tersoff_gpu.cpp @@ -118,6 +118,8 @@ void PairTersoffGPU::compute(int eflag, int vflag) cpu_time, success); } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); } /* ---------------------------------------------------------------------- */ diff --git a/src/GPU/pair_tersoff_mod_gpu.cpp b/src/GPU/pair_tersoff_mod_gpu.cpp index 15bfc9a85e..1bb09c1403 100644 --- a/src/GPU/pair_tersoff_mod_gpu.cpp +++ b/src/GPU/pair_tersoff_mod_gpu.cpp @@ -117,6 +117,8 @@ void PairTersoffMODGPU::compute(int eflag, int vflag) host_start, cpu_time, success); } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); } /* ---------------------------------------------------------------------- */ diff --git a/src/GPU/pair_tersoff_zbl_gpu.cpp b/src/GPU/pair_tersoff_zbl_gpu.cpp index 68b0d9dfa7..8d5e05ce4c 100644 --- a/src/GPU/pair_tersoff_zbl_gpu.cpp +++ b/src/GPU/pair_tersoff_zbl_gpu.cpp @@ -121,6 +121,8 @@ void PairTersoffZBLGPU::compute(int eflag, int vflag) host_start, cpu_time, success); } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); } /* ---------------------------------------------------------------------- */ diff --git a/src/GPU/pair_ufm_gpu.cpp b/src/GPU/pair_ufm_gpu.cpp index 099bfe1e63..d1c099f9fb 100644 --- a/src/GPU/pair_ufm_gpu.cpp +++ b/src/GPU/pair_ufm_gpu.cpp @@ -111,6 +111,8 @@ void PairUFMGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_vashishta_gpu.cpp b/src/GPU/pair_vashishta_gpu.cpp index 0fb0491ad3..38ad2b3c57 100644 --- a/src/GPU/pair_vashishta_gpu.cpp +++ b/src/GPU/pair_vashishta_gpu.cpp @@ -116,6 +116,8 @@ void PairVashishtaGPU::compute(int eflag, int vflag) cpu_time, success); } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); } /* ---------------------------------------------------------------------- */ diff --git a/src/GPU/pair_yukawa_colloid_gpu.cpp b/src/GPU/pair_yukawa_colloid_gpu.cpp index 8701a9ee80..c1e785380d 100644 --- a/src/GPU/pair_yukawa_colloid_gpu.cpp +++ b/src/GPU/pair_yukawa_colloid_gpu.cpp @@ -108,6 +108,8 @@ void PairYukawaColloidGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_yukawa_gpu.cpp b/src/GPU/pair_yukawa_gpu.cpp index e2caef9515..b27361e32d 100644 --- a/src/GPU/pair_yukawa_gpu.cpp +++ b/src/GPU/pair_yukawa_gpu.cpp @@ -106,6 +106,8 @@ void PairYukawaGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/GPU/pair_zbl_gpu.cpp b/src/GPU/pair_zbl_gpu.cpp index cbb2c198f7..a1fb3e4663 100644 --- a/src/GPU/pair_zbl_gpu.cpp +++ b/src/GPU/pair_zbl_gpu.cpp @@ -108,6 +108,8 @@ void PairZBLGPU::compute(int eflag, int vflag) } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) + neighbor->build_topology(); if (host_start < inum) { cpu_time = platform::walltime(); cpu_compute(host_start, inum, eflag, vflag, ilist, numneigh, firstneigh); diff --git a/src/MAKE/OPTIONS/Makefile.oneapi b/src/MAKE/OPTIONS/Makefile.oneapi index d34f0900c6..7f450d5340 100644 --- a/src/MAKE/OPTIONS/Makefile.oneapi +++ b/src/MAKE/OPTIONS/Makefile.oneapi @@ -6,16 +6,16 @@ SHELL = /bin/sh # compiler/linker settings # specify flags and libraries needed for your compiler -CC = mpiicpc -std=c++11 -OPTFLAGS = -xHost -O2 -fp-model fast=2 -no-prec-div -qoverride-limits -CCFLAGS = -qopenmp -qopenmp-simd -qno-offload -ansi-alias -restrict \ +CC = mpiicpc -cxx=icpx -std=c++11 +OPTFLAGS = -xHost -O2 -ffast-math -freciprocal-math +CCFLAGS = -qopenmp-simd -qopenmp -ansi-alias \ -DLMP_INTEL_USELRT -DLMP_USE_MKL_RNG $(OPTFLAGS) \ -I$(MKLROOT)/include SHFLAGS = -fPIC DEPFLAGS = -M -LINK = mpiicpc -std=c++11 -LINKFLAGS = -qopenmp -qopenmp-simd $(OPTFLAGS) -L$(MKLROOT)/lib/intel64/ +LINK = mpiicpc -cxx=icpx -std=c++11 +LINKFLAGS = -qopenmp-simd -qopenmp $(OPTFLAGS) -L$(MKLROOT)/lib/intel64/ LIB = -ltbbmalloc -lmkl_intel_ilp64 -lmkl_sequential -lmkl_core SIZE = size diff --git a/src/neighbor.cpp b/src/neighbor.cpp index 05371c8259..90e0a81fd0 100644 --- a/src/neighbor.cpp +++ b/src/neighbor.cpp @@ -291,6 +291,10 @@ Neighbor::~Neighbor() void Neighbor::init() { + #ifdef LMP_GPU + overlap_topo = 0; + #endif + int i,j,n; ncalls = ndanger = 0; @@ -2434,7 +2438,13 @@ void Neighbor::build(int topoflag) // build topology lists for bonds/angles/etc + #ifdef LMP_GPU + if (overlap_topo == 0) { + if ((atom->molecular != Atom::ATOMIC) && topoflag) build_topology(); + } + #else if ((atom->molecular != Atom::ATOMIC) && topoflag) build_topology(); + #endif } /* ---------------------------------------------------------------------- @@ -2817,6 +2827,17 @@ int Neighbor::exclude_setting() return exclude; } +/* ---------------------------------------------------------------------- + If nonzero, call build_topology from GPU styles instead to overlap comp +------------------------------------------------------------------------- */ + +#ifdef LMP_GPU +void Neighbor::set_overlap_topo(int s) +{ + overlap_topo = s; +} +#endif + /* ---------------------------------------------------------------------- check if any of the old requested neighbor lists are full ------------------------------------------------------------------------- */ diff --git a/src/neighbor.h b/src/neighbor.h index 241f44be06..dd638880c7 100644 --- a/src/neighbor.h +++ b/src/neighbor.h @@ -155,6 +155,12 @@ class Neighbor : protected Pointers { void exclusion_group_group_delete(int, int); // rm a group-group exclusion int exclude_setting(); // return exclude value to accelerator pkg + // Option to call build_topology from gpu styles instead for overlapped comp + #ifdef LMP_GPU + void set_overlap_topo(int); + int overlap_topo; // 0 for default/old non-overlap mode + #endif + // find a neighbor list based on requestor NeighList *find_list(void *, const int id = 0) const; // find a neighbor request based on requestor From 2627f60a3910136d586e3dad6d186e7a67257af6 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 6 Mar 2023 08:10:30 -0500 Subject: [PATCH 243/448] fix cut-n-paste error --- src/GPU/pair_hippo_gpu.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/GPU/pair_hippo_gpu.cpp b/src/GPU/pair_hippo_gpu.cpp index 8287a7c09d..eb835b5f27 100644 --- a/src/GPU/pair_hippo_gpu.cpp +++ b/src/GPU/pair_hippo_gpu.cpp @@ -174,7 +174,7 @@ PairHippoGPU::~PairHippoGPU() /* ---------------------------------------------------------------------- */ -void PairAmoebaGPU::compute(int eflag, int vflag) +void PairHippoGPU::compute(int eflag, int vflag) { if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) neighbor->build_topology(); From 4089b7bd375da8af78cc16ac26df8030b7aab1f4 Mon Sep 17 00:00:00 2001 From: gtow-MD <127125244+gtow-MD@users.noreply.github.com> Date: Mon, 6 Mar 2023 11:11:49 -0500 Subject: [PATCH 244/448] Updated fix_deposit documentation --- doc/src/fix_deposit.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/src/fix_deposit.rst b/doc/src/fix_deposit.rst index aa58aaee58..0199ae98ce 100644 --- a/doc/src/fix_deposit.rst +++ b/doc/src/fix_deposit.rst @@ -220,11 +220,11 @@ ignored if the *global* or *local* keywords are used, since those options choose a z-coordinate for insertion independently. The vx, vy, and vz components of velocity for the inserted particle -are set using the values specified for the *vx*, *vy*, and *vz* -keywords. Note that normally, new particles should be a assigned a -negative vertical velocity so that they move towards the surface. For -molecules, the same velocity is given to every particle (no rotation -or bond vibration). +are set by sampling a uniform distribution between the bounds set by +the values specified for the *vx*, *vy*, and *vz* keywords. Note that +normally, new particles should be a assigned a negative vertical +velocity so that they move towards the surface. For molecules, the +same velocity is given to every particle (no rotation or bond vibration). If the *target* option is used, the velocity vector of the inserted particle is changed so that it points from the insertion position From 376c7899abf6160db4710ee9ea05396e7d2b04bc Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 6 Mar 2023 09:48:33 -0700 Subject: [PATCH 245/448] add user option for performing message sorting during load balancing --- doc/src/balance.rst | 12 +++++++++++- doc/src/fix_balance.rst | 11 ++++++++++- src/balance.cpp | 32 ++++++++++++++++++++------------ src/balance.h | 5 +++-- src/fix_balance.cpp | 15 +++++++++------ src/fix_balance.h | 1 + 6 files changed, 54 insertions(+), 22 deletions(-) diff --git a/doc/src/balance.rst b/doc/src/balance.rst index a18d25c7ce..c30c133a8b 100644 --- a/doc/src/balance.rst +++ b/doc/src/balance.rst @@ -53,6 +53,7 @@ Syntax name = name of the atom-style variable *store* name = store weight in custom atom property defined by :doc:`fix property/atom ` command name = atom property name (without d\_ prefix) + *sort* arg = *no* or *yes* *out* arg = filename filename = write each processor's subdomain to a file @@ -492,6 +493,14 @@ different kinds of custom atom vectors or arrays as arguments. ---------- +The *sort* keyword determines whether the communication of per-atom +data to other processors during load-balancing will be random or +deterministic. Random is generally faster; deterministic will ensure +the new ordering of atoms on each processor is the same each time the +same simulation is run. This can be useful for debugging purposes. +Since the balance commmand is a one-time operation, the default is +*yes* to perform sorting. + The *out* keyword writes a text file to the specified *filename* with the results of the balancing operation. The file contains the bounds of the subdomain for each processor after the balancing operation @@ -569,4 +578,5 @@ Related commands Default """"""" -none +The default setting is sort = yes. + diff --git a/doc/src/fix_balance.rst b/doc/src/fix_balance.rst index d3f4c48248..8c65e8341d 100644 --- a/doc/src/fix_balance.rst +++ b/doc/src/fix_balance.rst @@ -43,6 +43,7 @@ Syntax name = name of the atom-style variable *store* name = store weight in custom atom property defined by :doc:`fix property/atom ` command name = atom property name (without d\_ prefix) + *sort* arg = *no* or *yes* *out* arg = filename filename = write each processor's subdomain to a file, at each re-balancing @@ -308,6 +309,14 @@ in that sub-box. ---------- +The *sort* keyword determines whether the communication of per-atom +data to other processors during load-balancing will be random or +deterministic. Random is generally faster; deterministic will ensure +the new ordering of atoms on each processor is the same each time the +same simulation is run. This can be useful for debugging purposes. +Since the fix balance commmand is performed during timestepping, the +default is *no* so that sorting is not performed. + The *out* keyword writes text to the specified *filename* with the results of each re-balancing operation. The file contains the bounds of the subdomain for each processor after the balancing operation @@ -415,4 +424,4 @@ Related commands Default """"""" -none +The default setting is sort = no. diff --git a/src/balance.cpp b/src/balance.cpp index 10a3c320c5..c64f3f4c25 100644 --- a/src/balance.cpp +++ b/src/balance.cpp @@ -252,7 +252,7 @@ void Balance::command(int narg, char **arg) // process remaining optional args - options(iarg,narg,arg); + options(iarg,narg,arg,1); if (wtflag) weight_storage(nullptr); // ensure particles are in current box & update box via shrink-wrap @@ -344,7 +344,7 @@ void Balance::command(int narg, char **arg) if (style == BISECTION) { comm->layout = Comm::LAYOUT_TILED; - bisection(1); + bisection(); } // reset proc sub-domains @@ -359,8 +359,8 @@ void Balance::command(int narg, char **arg) if (domain->triclinic) domain->x2lamda(atom->nlocal); auto irregular = new Irregular(lmp); if (wtflag) fixstore->disable = 0; - if (style == BISECTION) irregular->migrate_atoms(1,1,rcb->sendproc); - else irregular->migrate_atoms(1); + if (style == BISECTION) irregular->migrate_atoms(sortflag,1,rcb->sendproc); + else irregular->migrate_atoms(sortflag); delete irregular; if (domain->triclinic) domain->lamda2x(atom->nlocal); @@ -421,9 +421,10 @@ void Balance::command(int narg, char **arg) /* ---------------------------------------------------------------------- process optional command args for Balance and FixBalance + sortflag_default is different for the 2 classes ------------------------------------------------------------------------- */ -void Balance::options(int iarg, int narg, char **arg) +void Balance::options(int iarg, int narg, char **arg, int sortflag_default) { // count max number of weight settings @@ -435,10 +436,11 @@ void Balance::options(int iarg, int narg, char **arg) wtflag = 0; varflag = 0; - oldrcb = 0; + sortflag = sortflag_default; outflag = 0; int outarg = 0; fp = nullptr; + oldrcb = 0; while (iarg < narg) { if (strcmp(arg[iarg],"weight") == 0) { @@ -471,14 +473,20 @@ void Balance::options(int iarg, int narg, char **arg) } iarg += 2+nopt; - } else if (strcmp(arg[iarg],"old") == 0) { - oldrcb = 1; - iarg++; + } else if (strcmp(arg[iarg+1],"sort") == 0) { + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "balance sort", error); + sortflag = utils::logical(FLERR,arg[iarg+1],false,lmp); + iarg += 2; } else if (strcmp(arg[iarg],"out") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal (fix) balance command"); outflag = 1; outarg = iarg+1; iarg += 2; + + } else if (strcmp(arg[iarg],"old") == 0) { + oldrcb = 1; + iarg++; + } else error->all(FLERR,"Illegal (fix) balance command"); } @@ -569,11 +577,10 @@ double Balance::imbalance_factor(double &maxcost) /* ---------------------------------------------------------------------- perform balancing via RCB class - sortflag = flag for sorting order of received messages by proc ID return list of procs to send my atoms to ------------------------------------------------------------------------- */ -int *Balance::bisection(int sortflag) +int *Balance::bisection() { if (!rcb) rcb = new RCB(lmp); @@ -641,6 +648,7 @@ int *Balance::bisection(int sortflag) // invoke RCB // then invert() to create list of proc assignments for my atoms + // sortflag = flag for sorting order of received messages by proc ID // if triclinic, RCB operates on lamda coords // NOTE: (3/2017) can remove undocumented "old" option at some point // ditto in rcb.cpp, or make it an option @@ -658,7 +666,7 @@ int *Balance::bisection(int sortflag) } if (triclinic) domain->lamda2x(nlocal); - + rcb->invert(sortflag); // reset RCB lo/hi bounding box to full simulation box as needed diff --git a/src/balance.h b/src/balance.h index a21f8992f2..3a6e8bf457 100644 --- a/src/balance.h +++ b/src/balance.h @@ -30,19 +30,20 @@ class Balance : public Command { class FixStorePeratom *fixstore; // per-atom weights stored in FixStorePeratom int wtflag; // 1 if particle weighting is used int varflag; // 1 if weight style var(iable) is used + int sortflag; // 1 if sorting of comm messages is done int outflag; // 1 for output of balance results to file Balance(class LAMMPS *); ~Balance() override; void command(int, char **) override; - void options(int, int, char **); + void options(int, int, char **, int); void weight_storage(char *); void init_imbalance(int); void set_weights(); double imbalance_factor(double &); void shift_setup(char *, int, double); int shift(); - int *bisection(int sortflag = 0); + int *bisection(); void dumpout(bigint); static constexpr int BSTR_SIZE = 3; diff --git a/src/fix_balance.cpp b/src/fix_balance.cpp index 82c38d8650..0ada3d3b1f 100644 --- a/src/fix_balance.cpp +++ b/src/fix_balance.cpp @@ -104,9 +104,10 @@ FixBalance::FixBalance(LAMMPS *lmp, int narg, char **arg) : balance = new Balance(lmp); if (lbstyle == SHIFT) balance->shift_setup(bstr,nitermax,thresh); - balance->options(iarg,narg,arg); + balance->options(iarg,narg,arg,0); wtflag = balance->wtflag; - + sortflag = balance->sortflag; + if (balance->varflag && nevery == 0) error->all(FLERR,"Fix balance nevery = 0 cannot be used with weight var"); @@ -295,12 +296,14 @@ void FixBalance::rebalance() // set disable = 0, so weights migrate with atoms // important to delay disable = 1 until after pre_neighbor imbfinal calc // b/c atoms may migrate again in comm->exchange() - // NOTE: for reproducible debug runs, set 1st arg of migrate_atoms() to 1 - + // sortflag determines whether irregular sorts its + // comm messages for reproducibility + // if not, message order is random, atom order is non-deterministic + if (domain->triclinic) domain->x2lamda(atom->nlocal); if (wtflag) balance->fixstore->disable = 0; - if (lbstyle == BISECTION) irregular->migrate_atoms(0,1,sendproc); - else if (irregular->migrate_check()) irregular->migrate_atoms(); + if (lbstyle == BISECTION) irregular->migrate_atoms(sortflag,1,sendproc); + else if (irregular->migrate_check()) irregular->migrate_atoms(sortflag); if (domain->triclinic) domain->lamda2x(atom->nlocal); // notify all classes that store distributed grids diff --git a/src/fix_balance.h b/src/fix_balance.h index f1a8db57ae..074548ac0c 100644 --- a/src/fix_balance.h +++ b/src/fix_balance.h @@ -44,6 +44,7 @@ class FixBalance : public Fix { double thresh, stopthresh; char bstr[4]; int wtflag; // 1 for weighted balancing + int sortflag; // 1 for sorting comm messages double imbnow; // current imbalance factor double imbprev; // imbalance factor before last rebalancing From f63eec695395f2e649ddfe95d053d91c80ceb76e Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Mon, 6 Mar 2023 09:48:54 -0700 Subject: [PATCH 246/448] gpu: drop hcc as platform and inherit compile defs hip::host already adds the __HIP_PLATFORM_AMD__ definition See https://github.com/ROCm-Developer-Tools/hipamd/blob/develop/hip-config.cmake.in#L180 --- cmake/Modules/Packages/GPU.cmake | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/cmake/Modules/Packages/GPU.cmake b/cmake/Modules/Packages/GPU.cmake index 21d046606f..7317ae1c20 100644 --- a/cmake/Modules/Packages/GPU.cmake +++ b/cmake/Modules/Packages/GPU.cmake @@ -285,7 +285,7 @@ elseif(GPU_API STREQUAL "HIP") set(ENV{HIP_PLATFORM} ${HIP_PLATFORM}) - if(HIP_PLATFORM STREQUAL "hcc" OR HIP_PLATFORM STREQUAL "amd") + if(HIP_PLATFORM STREQUAL "amd") set(HIP_ARCH "gfx906" CACHE STRING "HIP target architecture") elseif(HIP_PLATFORM STREQUAL "spirv") set(HIP_ARCH "spirv" CACHE STRING "HIP target architecture") @@ -358,7 +358,7 @@ elseif(GPU_API STREQUAL "HIP") set(CUBIN_FILE "${LAMMPS_LIB_BINARY_DIR}/gpu/${CU_NAME}.cubin") set(CUBIN_H_FILE "${LAMMPS_LIB_BINARY_DIR}/gpu/${CU_NAME}_cubin.h") - if(HIP_PLATFORM STREQUAL "hcc" OR HIP_PLATFORM STREQUAL "amd") + if(HIP_PLATFORM STREQUAL "amd") configure_file(${CU_FILE} ${CU_CPP_FILE} COPYONLY) if(HIP_COMPILER STREQUAL "clang") @@ -472,12 +472,6 @@ elseif(GPU_API STREQUAL "HIP") target_compile_definitions(hip_get_devices PRIVATE -D__HIP_PLATFORM_NVCC__) target_include_directories(hip_get_devices PRIVATE ${CUDA_INCLUDE_DIRS}) target_link_libraries(hip_get_devices PRIVATE ${CUDA_LIBRARIES} ${CUDA_CUDA_LIBRARY}) - elseif(HIP_PLATFORM STREQUAL "hcc") - target_compile_definitions(gpu PRIVATE -D__HIP_PLATFORM_HCC__) - target_compile_definitions(hip_get_devices PRIVATE -D__HIP_PLATFORM_HCC__) - elseif(HIP_PLATFORM STREQUAL "amd") - target_compile_definitions(gpu PRIVATE -D__HIP_PLATFORM_AMD__) - target_compile_definitions(hip_get_devices PRIVATE -D__HIP_PLATFORM_AMD__) endif() target_link_libraries(lammps PRIVATE gpu) From 4f420f8454a2780efa4f8d87fb0bcb85080a3b56 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 6 Mar 2023 12:14:57 -0500 Subject: [PATCH 247/448] incorporate changes to fix alchemy from @sjplimp --- src/REPLICA/fix_alchemy.cpp | 93 ++++++++++++++++++++++++------------- src/REPLICA/fix_alchemy.h | 2 + 2 files changed, 62 insertions(+), 33 deletions(-) diff --git a/src/REPLICA/fix_alchemy.cpp b/src/REPLICA/fix_alchemy.cpp index 29801d5c8d..4b29da5250 100644 --- a/src/REPLICA/fix_alchemy.cpp +++ b/src/REPLICA/fix_alchemy.cpp @@ -109,7 +109,51 @@ int FixAlchemy::setmask() return mask; } -/* ---------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + check consistency of owned atom count and ordering + compare each pair of replica procs + checked before each exchange of atom coords or forces + to ensure the replicas have not become out of sync +---------------------------------------------------------------------- */ + +void FixAlchemy::check_consistency_atoms() +{ + // check that owned atom count is same for each pair of replica procs + + const int nlocal = atom->nlocal; + int my_nlocal[2] = {0, 0}; + int all_nlocal[2] = {0, 0}; + my_nlocal[universe->iworld] = nlocal; + MPI_Allreduce(my_nlocal, all_nlocal, 2, MPI_INT, MPI_SUM, samerank); + + int fail = (all_nlocal[0] == all_nlocal[1]) ? 0 : 1; + int allfail = 0; + MPI_Allreduce(&fail, &allfail, 1, MPI_INT, MPI_MAX, universe->uworld); + if (allfail) error->universe_all(FLERR, "Fix alchemy local atom count is inconsistent"); + + // check that owned atom ordering is same for each pair of replica procs + // re-use communication buffer for positions and forces + + tagint *tagbuf = (tagint *) commbuf; + tagint *tag = atom->tag; + if (universe->iworld == 0) { + for (int i = 0; i < nlocal; ++i) tagbuf[i] = tag[i]; + } + MPI_Bcast(tagbuf, nlocal, MPI_LMP_TAGINT, 0, samerank); + + fail = allfail = 0; + if (universe->iworld > 0) { + for (int i = 0; i < nlocal; ++i) + if (tag[i] != tagbuf[i]) fail = 1; + } + MPI_Allreduce(&fail, &allfail, 1, MPI_INT, MPI_MAX, universe->uworld); + if (allfail) error->universe_all(FLERR, "Fix alchemy local atom ordering is inconsistent"); +} + +/* ---------------------------------------------------------------------- + force simulation box size and shape to be identical for 2 replicas + invoked by post_integrate() after integration may have changed box +---------------------------------------------------------------------- */ static void synchronize_box(Domain *domain, MPI_Comm samerank) { @@ -180,36 +224,9 @@ void FixAlchemy::setup(int vflag) void FixAlchemy::post_integrate() { - // re-check that we have the same domain decomposition on all ranks - const int nlocal = atom->nlocal; - int my_nlocal[2] = {0, 0}; - int all_nlocal[2] = {0, 0}; - my_nlocal[universe->iworld] = nlocal; - MPI_Allreduce(my_nlocal, all_nlocal, 2, MPI_INT, MPI_SUM, samerank); - int fail = (all_nlocal[0] == all_nlocal[1]) ? 0 : 1; - int allfail = 0; - MPI_Allreduce(&fail, &allfail, 1, MPI_INT, MPI_MAX, universe->uworld); - if (allfail) - error->universe_all(FLERR, - "Number of atoms and domain decomposition must be the same on " - "all partitions"); + // check owned atom count and ordering between replicas - // check that we have the same atom order on all ranks - // re-use communication buffer for positions and forces - - tagint *tagbuf = (tagint *) commbuf; - tagint *tag = atom->tag; - if (universe->iworld == 0) { - for (int i = 0; i < nlocal; ++i) tagbuf[i] = tag[i]; - } - MPI_Bcast(tagbuf, nlocal, MPI_LMP_TAGINT, 0, samerank); - fail = allfail = 0; - if (universe->iworld > 0) { - for (int i = 0; i < nlocal; ++i) - if (tag[i] != tagbuf[i]) fail = 1; - } - MPI_Allreduce(&fail, &allfail, 1, MPI_INT, MPI_MAX, universe->uworld); - if (allfail) error->universe_all(FLERR, "Atoms must have the same order on all partitions"); + check_consistency_atoms(); // synchronize atom positions @@ -225,15 +242,25 @@ void FixAlchemy::post_integrate() void FixAlchemy::post_force(int /*vflag*/) { + // grow commbuf if necessary + if (3 * atom->nmax > nmax) { nmax = 3 * atom->nmax; memory->grow(commbuf, sizeof(double) * atom->nmax, "alchemy:commbuf"); } - const int nall = 3 * atom->nlocal; - double *f = &atom->f[0][0]; + // check owned atom count and ordering between replicas + + check_consistency_atoms(); + + // evaluate lambda variable + lambda = input->variable->compute_equal(ivar); + // sum forces multiplied by lambda across 2 replicas + + const int nall = 3 * atom->nlocal; + double *f = &atom->f[0][0]; for (int i = 0; i < nall; ++i) commbuf[i] = f[i] * lambda; MPI_Allreduce(commbuf, f, nall, MPI_DOUBLE, MPI_SUM, samerank); @@ -253,7 +280,7 @@ void FixAlchemy::post_force(int /*vflag*/) MPI_Allreduce(commbuf, pressure, 6, MPI_DOUBLE, MPI_SUM, universe->uworld); press->addstep(update->ntimestep + 1); - // print progress info + // print progress info to universe screen/logfile if (universe->me == 0) { double delta = update->ntimestep - update->beginstep; diff --git a/src/REPLICA/fix_alchemy.h b/src/REPLICA/fix_alchemy.h index 53c369d551..f14d1b05ca 100644 --- a/src/REPLICA/fix_alchemy.h +++ b/src/REPLICA/fix_alchemy.h @@ -50,6 +50,8 @@ class FixAlchemy : public Fix { int sync_box; // 1 of box dimensions need to be synchronized int nmax; int ivar; + + void check_consistency_atoms(); }; } // namespace LAMMPS_NS From 5909a0527bce12b1c81e73bea064d19149ced445 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 6 Mar 2023 13:39:50 -0500 Subject: [PATCH 248/448] update list of packages included into the Windows builds. --- doc/src/Install_windows.rst | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/doc/src/Install_windows.rst b/doc/src/Install_windows.rst index da9441fc49..f23092941a 100644 --- a/doc/src/Install_windows.rst +++ b/doc/src/Install_windows.rst @@ -17,11 +17,12 @@ install the Windows MPI package (MPICH2 from Argonne National Labs), needed to run in parallel with MPI. The LAMMPS binaries contain *all* :doc:`optional packages ` -included in the source distribution except: KIM, KOKKOS, MSCG, PYTHON, -ADIOS, H5MD, NETCDF, QMMM, ML-QUIP, and VTK. -The serial version also does not include the MPIIO and -LATBOLTZ packages. The GPU package is compiled for OpenCL with -mixed precision kernels. +included in the source distribution except: ADIOS, H5MD, KIM, ML-PACE, +ML-QUIP, MSCG, NETCDF, PLUMED, QMMM, SCAFACOS, and VTK. The serial +version also does not include the MPIIO and LATBOLTZ packages. The +PYTHON package is only available in the Python installaers that bundle a +Python runtime. The GPU package is compiled for OpenCL with mixed +precision kernels. The LAMMPS library is compiled as a shared library and the :doc:`LAMMPS Python module ` is installed, so that From 2af1949a9267dc40b375e75e713f0266435a8a01 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 6 Mar 2023 13:42:45 -0500 Subject: [PATCH 249/448] whitespace --- src/balance.cpp | 6 +++--- src/fix_balance.cpp | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/balance.cpp b/src/balance.cpp index c64f3f4c25..91b9d70378 100644 --- a/src/balance.cpp +++ b/src/balance.cpp @@ -482,11 +482,11 @@ void Balance::options(int iarg, int narg, char **arg, int sortflag_default) outflag = 1; outarg = iarg+1; iarg += 2; - + } else if (strcmp(arg[iarg],"old") == 0) { oldrcb = 1; iarg++; - + } else error->all(FLERR,"Illegal (fix) balance command"); } @@ -666,7 +666,7 @@ int *Balance::bisection() } if (triclinic) domain->lamda2x(nlocal); - + rcb->invert(sortflag); // reset RCB lo/hi bounding box to full simulation box as needed diff --git a/src/fix_balance.cpp b/src/fix_balance.cpp index 0ada3d3b1f..06274eea03 100644 --- a/src/fix_balance.cpp +++ b/src/fix_balance.cpp @@ -107,7 +107,7 @@ FixBalance::FixBalance(LAMMPS *lmp, int narg, char **arg) : balance->options(iarg,narg,arg,0); wtflag = balance->wtflag; sortflag = balance->sortflag; - + if (balance->varflag && nevery == 0) error->all(FLERR,"Fix balance nevery = 0 cannot be used with weight var"); @@ -299,7 +299,7 @@ void FixBalance::rebalance() // sortflag determines whether irregular sorts its // comm messages for reproducibility // if not, message order is random, atom order is non-deterministic - + if (domain->triclinic) domain->x2lamda(atom->nlocal); if (wtflag) balance->fixstore->disable = 0; if (lbstyle == BISECTION) irregular->migrate_atoms(sortflag,1,sendproc); From 21b2bf0253c359c9024ac6e33c0ff50a8ddeebda Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 6 Mar 2023 22:17:12 -0500 Subject: [PATCH 250/448] avoid including accelerator_kokkos.h in main.cpp --- cmake/Modules/Packages/KOKKOS.cmake | 3 --- src/KOKKOS/kokkos.cpp | 9 +++++++++ src/accelerator_kokkos.h | 5 +++++ src/main.cpp | 15 +++++++++------ 4 files changed, 23 insertions(+), 9 deletions(-) diff --git a/cmake/Modules/Packages/KOKKOS.cmake b/cmake/Modules/Packages/KOKKOS.cmake index b4eb227d61..00486e73db 100644 --- a/cmake/Modules/Packages/KOKKOS.cmake +++ b/cmake/Modules/Packages/KOKKOS.cmake @@ -72,13 +72,11 @@ if(DOWNLOAD_KOKKOS) set_target_properties(LAMMPS::KOKKOSCONTAINERS PROPERTIES IMPORTED_LOCATION "${INSTALL_DIR}/lib/libkokkoscontainers.a") target_link_libraries(lammps PRIVATE LAMMPS::KOKKOSCORE LAMMPS::KOKKOSCONTAINERS) - target_link_libraries(lmp PRIVATE LAMMPS::KOKKOSCORE LAMMPS::KOKKOSCONTAINERS) add_dependencies(LAMMPS::KOKKOSCORE kokkos_build) add_dependencies(LAMMPS::KOKKOSCONTAINERS kokkos_build) elseif(EXTERNAL_KOKKOS) find_package(Kokkos 3.7.01 REQUIRED CONFIG) target_link_libraries(lammps PRIVATE Kokkos::kokkos) - target_link_libraries(lmp PRIVATE Kokkos::kokkos) else() set(LAMMPS_LIB_KOKKOS_SRC_DIR ${LAMMPS_LIB_SOURCE_DIR}/kokkos) set(LAMMPS_LIB_KOKKOS_BIN_DIR ${LAMMPS_LIB_BINARY_DIR}/kokkos) @@ -98,7 +96,6 @@ else() ${LAMMPS_LIB_KOKKOS_BIN_DIR}) target_include_directories(lammps PRIVATE ${Kokkos_INCLUDE_DIRS}) target_link_libraries(lammps PRIVATE kokkos) - target_link_libraries(lmp PRIVATE kokkos) if(BUILD_SHARED_LIBS_WAS_ON) set(BUILD_SHARED_LIBS ON) endif() diff --git a/src/KOKKOS/kokkos.cpp b/src/KOKKOS/kokkos.cpp index 8b45c786e5..4e96e3218c 100644 --- a/src/KOKKOS/kokkos.cpp +++ b/src/KOKKOS/kokkos.cpp @@ -33,6 +33,10 @@ #include // for getpid() #endif +namespace LAMMPS_NS { + void kokkos_lmp_finalize(); +} + #ifdef LMP_KOKKOS_GPU // for detecting GPU-aware MPI support: @@ -80,6 +84,11 @@ using namespace LAMMPS_NS; int KokkosLMP::is_finalized = 0; int KokkosLMP::init_ngpus = 0; +void LAMMPS_NS::kokkos_lmp_finalize() +{ + KokkosLMP::finalize(); +} + /* ---------------------------------------------------------------------- */ KokkosLMP::KokkosLMP(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) diff --git a/src/accelerator_kokkos.h b/src/accelerator_kokkos.h index 36a376bff8..37d86a89e3 100644 --- a/src/accelerator_kokkos.h +++ b/src/accelerator_kokkos.h @@ -61,6 +61,11 @@ class KokkosLMP { int neigh_count(int) { return 0; } }; +void kokkos_lmp_finalize() +{ + KokkosLMP::finalize(); +} + class AtomKokkos : public Atom { public: tagint **k_special; diff --git a/src/main.cpp b/src/main.cpp index e263938e57..606f31274d 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -13,7 +13,6 @@ #include "lammps.h" -#include "accelerator_kokkos.h" #include "input.h" #include "lmppython.h" @@ -33,6 +32,10 @@ #include #endif +namespace LAMMPS_NS { +extern void kokkos_lmp_finalize(); +} + using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- @@ -76,18 +79,18 @@ int main(int argc, char **argv) lammps->input->file(); delete lammps; } catch (LAMMPSAbortException &ae) { - KokkosLMP::finalize(); + kokkos_lmp_finalize(); Python::finalize(); MPI_Abort(ae.universe, 1); } catch (LAMMPSException &) { - KokkosLMP::finalize(); + kokkos_lmp_finalize(); Python::finalize(); MPI_Barrier(lammps_comm); MPI_Finalize(); exit(1); } catch (fmt::format_error &fe) { fprintf(stderr, "fmt::format_error: %s\n", fe.what()); - KokkosLMP::finalize(); + kokkos_lmp_finalize(); Python::finalize(); MPI_Abort(MPI_COMM_WORLD, 1); exit(1); @@ -99,13 +102,13 @@ int main(int argc, char **argv) delete lammps; } catch (fmt::format_error &fe) { fprintf(stderr, "fmt::format_error: %s\n", fe.what()); - KokkosLMP::finalize(); + kokkos_lmp_finalize(); Python::finalize(); MPI_Abort(MPI_COMM_WORLD, 1); exit(1); } #endif - KokkosLMP::finalize(); + kokkos_lmp_finalize(); Python::finalize(); MPI_Barrier(lammps_comm); MPI_Finalize(); From 76cbc6f48dcacfe294c48624f02b276c41185fe7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 6 Mar 2023 22:40:27 -0500 Subject: [PATCH 251/448] whitespace --- doc/src/fix_deposit.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/src/fix_deposit.rst b/doc/src/fix_deposit.rst index 0199ae98ce..7d19e93148 100644 --- a/doc/src/fix_deposit.rst +++ b/doc/src/fix_deposit.rst @@ -221,9 +221,9 @@ options choose a z-coordinate for insertion independently. The vx, vy, and vz components of velocity for the inserted particle are set by sampling a uniform distribution between the bounds set by -the values specified for the *vx*, *vy*, and *vz* keywords. Note that -normally, new particles should be a assigned a negative vertical -velocity so that they move towards the surface. For molecules, the +the values specified for the *vx*, *vy*, and *vz* keywords. Note that +normally, new particles should be a assigned a negative vertical +velocity so that they move towards the surface. For molecules, the same velocity is given to every particle (no rotation or bond vibration). If the *target* option is used, the velocity vector of the inserted From 0b204c8cb3d1aac4eb7d43b7824b9a1391ceea16 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 6 Mar 2023 22:17:12 -0500 Subject: [PATCH 252/448] avoid including accelerator_kokkos.h in main.cpp --- cmake/Modules/Packages/KOKKOS.cmake | 3 --- src/KOKKOS/kokkos.cpp | 9 +++++++++ src/accelerator_kokkos.h | 5 +++++ src/main.cpp | 15 +++++++++------ 4 files changed, 23 insertions(+), 9 deletions(-) diff --git a/cmake/Modules/Packages/KOKKOS.cmake b/cmake/Modules/Packages/KOKKOS.cmake index b4eb227d61..00486e73db 100644 --- a/cmake/Modules/Packages/KOKKOS.cmake +++ b/cmake/Modules/Packages/KOKKOS.cmake @@ -72,13 +72,11 @@ if(DOWNLOAD_KOKKOS) set_target_properties(LAMMPS::KOKKOSCONTAINERS PROPERTIES IMPORTED_LOCATION "${INSTALL_DIR}/lib/libkokkoscontainers.a") target_link_libraries(lammps PRIVATE LAMMPS::KOKKOSCORE LAMMPS::KOKKOSCONTAINERS) - target_link_libraries(lmp PRIVATE LAMMPS::KOKKOSCORE LAMMPS::KOKKOSCONTAINERS) add_dependencies(LAMMPS::KOKKOSCORE kokkos_build) add_dependencies(LAMMPS::KOKKOSCONTAINERS kokkos_build) elseif(EXTERNAL_KOKKOS) find_package(Kokkos 3.7.01 REQUIRED CONFIG) target_link_libraries(lammps PRIVATE Kokkos::kokkos) - target_link_libraries(lmp PRIVATE Kokkos::kokkos) else() set(LAMMPS_LIB_KOKKOS_SRC_DIR ${LAMMPS_LIB_SOURCE_DIR}/kokkos) set(LAMMPS_LIB_KOKKOS_BIN_DIR ${LAMMPS_LIB_BINARY_DIR}/kokkos) @@ -98,7 +96,6 @@ else() ${LAMMPS_LIB_KOKKOS_BIN_DIR}) target_include_directories(lammps PRIVATE ${Kokkos_INCLUDE_DIRS}) target_link_libraries(lammps PRIVATE kokkos) - target_link_libraries(lmp PRIVATE kokkos) if(BUILD_SHARED_LIBS_WAS_ON) set(BUILD_SHARED_LIBS ON) endif() diff --git a/src/KOKKOS/kokkos.cpp b/src/KOKKOS/kokkos.cpp index 8b45c786e5..4e96e3218c 100644 --- a/src/KOKKOS/kokkos.cpp +++ b/src/KOKKOS/kokkos.cpp @@ -33,6 +33,10 @@ #include // for getpid() #endif +namespace LAMMPS_NS { + void kokkos_lmp_finalize(); +} + #ifdef LMP_KOKKOS_GPU // for detecting GPU-aware MPI support: @@ -80,6 +84,11 @@ using namespace LAMMPS_NS; int KokkosLMP::is_finalized = 0; int KokkosLMP::init_ngpus = 0; +void LAMMPS_NS::kokkos_lmp_finalize() +{ + KokkosLMP::finalize(); +} + /* ---------------------------------------------------------------------- */ KokkosLMP::KokkosLMP(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) diff --git a/src/accelerator_kokkos.h b/src/accelerator_kokkos.h index 36a376bff8..37d86a89e3 100644 --- a/src/accelerator_kokkos.h +++ b/src/accelerator_kokkos.h @@ -61,6 +61,11 @@ class KokkosLMP { int neigh_count(int) { return 0; } }; +void kokkos_lmp_finalize() +{ + KokkosLMP::finalize(); +} + class AtomKokkos : public Atom { public: tagint **k_special; diff --git a/src/main.cpp b/src/main.cpp index e263938e57..606f31274d 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -13,7 +13,6 @@ #include "lammps.h" -#include "accelerator_kokkos.h" #include "input.h" #include "lmppython.h" @@ -33,6 +32,10 @@ #include #endif +namespace LAMMPS_NS { +extern void kokkos_lmp_finalize(); +} + using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- @@ -76,18 +79,18 @@ int main(int argc, char **argv) lammps->input->file(); delete lammps; } catch (LAMMPSAbortException &ae) { - KokkosLMP::finalize(); + kokkos_lmp_finalize(); Python::finalize(); MPI_Abort(ae.universe, 1); } catch (LAMMPSException &) { - KokkosLMP::finalize(); + kokkos_lmp_finalize(); Python::finalize(); MPI_Barrier(lammps_comm); MPI_Finalize(); exit(1); } catch (fmt::format_error &fe) { fprintf(stderr, "fmt::format_error: %s\n", fe.what()); - KokkosLMP::finalize(); + kokkos_lmp_finalize(); Python::finalize(); MPI_Abort(MPI_COMM_WORLD, 1); exit(1); @@ -99,13 +102,13 @@ int main(int argc, char **argv) delete lammps; } catch (fmt::format_error &fe) { fprintf(stderr, "fmt::format_error: %s\n", fe.what()); - KokkosLMP::finalize(); + kokkos_lmp_finalize(); Python::finalize(); MPI_Abort(MPI_COMM_WORLD, 1); exit(1); } #endif - KokkosLMP::finalize(); + kokkos_lmp_finalize(); Python::finalize(); MPI_Barrier(lammps_comm); MPI_Finalize(); From 642dccceb530afc99ca6481709386be7e840e0e6 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 6 Mar 2023 22:49:20 -0500 Subject: [PATCH 253/448] fix up non-KOKKOS case --- src/accelerator_kokkos.h | 5 ----- src/main.cpp | 10 ++++++++++ 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/accelerator_kokkos.h b/src/accelerator_kokkos.h index 37d86a89e3..36a376bff8 100644 --- a/src/accelerator_kokkos.h +++ b/src/accelerator_kokkos.h @@ -61,11 +61,6 @@ class KokkosLMP { int neigh_count(int) { return 0; } }; -void kokkos_lmp_finalize() -{ - KokkosLMP::finalize(); -} - class AtomKokkos : public Atom { public: tagint **k_special; diff --git a/src/main.cpp b/src/main.cpp index 606f31274d..543833498b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -32,9 +32,19 @@ #include #endif +#if defined(LMP_KOKKOS) namespace LAMMPS_NS { extern void kokkos_lmp_finalize(); } +#else +#include "accelerator_kokkos.h" +namespace LAMMPS_NS { +void kokkos_lmp_finalize() +{ + KokkosLMP::finalize(); +} +} +#endif using namespace LAMMPS_NS; From 40790f6c4593e9dbdf8d785dea7ec7930825caeb Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 6 Mar 2023 22:49:20 -0500 Subject: [PATCH 254/448] fix up non-KOKKOS case --- src/accelerator_kokkos.h | 5 ----- src/main.cpp | 10 ++++++++++ 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/accelerator_kokkos.h b/src/accelerator_kokkos.h index 37d86a89e3..36a376bff8 100644 --- a/src/accelerator_kokkos.h +++ b/src/accelerator_kokkos.h @@ -61,11 +61,6 @@ class KokkosLMP { int neigh_count(int) { return 0; } }; -void kokkos_lmp_finalize() -{ - KokkosLMP::finalize(); -} - class AtomKokkos : public Atom { public: tagint **k_special; diff --git a/src/main.cpp b/src/main.cpp index 606f31274d..543833498b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -32,9 +32,19 @@ #include #endif +#if defined(LMP_KOKKOS) namespace LAMMPS_NS { extern void kokkos_lmp_finalize(); } +#else +#include "accelerator_kokkos.h" +namespace LAMMPS_NS { +void kokkos_lmp_finalize() +{ + KokkosLMP::finalize(); +} +} +#endif using namespace LAMMPS_NS; From d7c783560ae4a09601b42d24d2e76e819f7cace4 Mon Sep 17 00:00:00 2001 From: "W. Michael Brown" Date: Mon, 6 Mar 2023 22:10:19 -0800 Subject: [PATCH 255/448] GPU Package: Fixing out of bounds memory access issues with special kernel unroll optimizations. --- lib/gpu/lal_neighbor_gpu.cu | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/lib/gpu/lal_neighbor_gpu.cu b/lib/gpu/lal_neighbor_gpu.cu index 49173c4c97..a7506fc5c3 100644 --- a/lib/gpu/lal_neighbor_gpu.cu +++ b/lib/gpu/lal_neighbor_gpu.cu @@ -507,27 +507,27 @@ __kernel void kernel_special(__global int *dev_nbor, if (ii 0 @@ -537,16 +537,19 @@ __kernel void kernel_special(__global int *dev_nbor, } #endif - for ( ; list Date: Tue, 7 Mar 2023 08:23:36 -0500 Subject: [PATCH 256/448] use finalize wrappers from the LAMMPS library interface --- src/KOKKOS/kokkos.cpp | 9 --------- src/main.cpp | 36 +++++++++++------------------------- 2 files changed, 11 insertions(+), 34 deletions(-) diff --git a/src/KOKKOS/kokkos.cpp b/src/KOKKOS/kokkos.cpp index 4e96e3218c..8b45c786e5 100644 --- a/src/KOKKOS/kokkos.cpp +++ b/src/KOKKOS/kokkos.cpp @@ -33,10 +33,6 @@ #include // for getpid() #endif -namespace LAMMPS_NS { - void kokkos_lmp_finalize(); -} - #ifdef LMP_KOKKOS_GPU // for detecting GPU-aware MPI support: @@ -84,11 +80,6 @@ using namespace LAMMPS_NS; int KokkosLMP::is_finalized = 0; int KokkosLMP::init_ngpus = 0; -void LAMMPS_NS::kokkos_lmp_finalize() -{ - KokkosLMP::finalize(); -} - /* ---------------------------------------------------------------------- */ KokkosLMP::KokkosLMP(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) diff --git a/src/main.cpp b/src/main.cpp index 543833498b..746ccc41e9 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -14,7 +14,7 @@ #include "lammps.h" #include "input.h" -#include "lmppython.h" +#include "library.h" #if defined(LAMMPS_EXCEPTIONS) #include "exceptions.h" @@ -32,20 +32,6 @@ #include #endif -#if defined(LMP_KOKKOS) -namespace LAMMPS_NS { -extern void kokkos_lmp_finalize(); -} -#else -#include "accelerator_kokkos.h" -namespace LAMMPS_NS { -void kokkos_lmp_finalize() -{ - KokkosLMP::finalize(); -} -} -#endif - using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- @@ -89,19 +75,19 @@ int main(int argc, char **argv) lammps->input->file(); delete lammps; } catch (LAMMPSAbortException &ae) { - kokkos_lmp_finalize(); - Python::finalize(); + lammps_kokkos_finalize(); + lammps_python_finalize(); MPI_Abort(ae.universe, 1); } catch (LAMMPSException &) { - kokkos_lmp_finalize(); - Python::finalize(); + lammps_kokkos_finalize(); + lammps_python_finalize(); MPI_Barrier(lammps_comm); MPI_Finalize(); exit(1); } catch (fmt::format_error &fe) { fprintf(stderr, "fmt::format_error: %s\n", fe.what()); - kokkos_lmp_finalize(); - Python::finalize(); + lammps_kokkos_finalize(); + lammps_python_finalize(); MPI_Abort(MPI_COMM_WORLD, 1); exit(1); } @@ -112,14 +98,14 @@ int main(int argc, char **argv) delete lammps; } catch (fmt::format_error &fe) { fprintf(stderr, "fmt::format_error: %s\n", fe.what()); - kokkos_lmp_finalize(); - Python::finalize(); + lammps_kokkos_finalize(); + lammps_python_finalize(); MPI_Abort(MPI_COMM_WORLD, 1); exit(1); } #endif - kokkos_lmp_finalize(); - Python::finalize(); + lammps_kokkos_finalize(); + lammps_python_finalize(); MPI_Barrier(lammps_comm); MPI_Finalize(); } From 710baff14df381d51805ac87d00c2b0d6cdbd040 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 7 Mar 2023 08:23:36 -0500 Subject: [PATCH 257/448] use finalize wrappers from the LAMMPS library interface --- src/KOKKOS/kokkos.cpp | 9 --------- src/main.cpp | 36 +++++++++++------------------------- 2 files changed, 11 insertions(+), 34 deletions(-) diff --git a/src/KOKKOS/kokkos.cpp b/src/KOKKOS/kokkos.cpp index 4e96e3218c..8b45c786e5 100644 --- a/src/KOKKOS/kokkos.cpp +++ b/src/KOKKOS/kokkos.cpp @@ -33,10 +33,6 @@ #include // for getpid() #endif -namespace LAMMPS_NS { - void kokkos_lmp_finalize(); -} - #ifdef LMP_KOKKOS_GPU // for detecting GPU-aware MPI support: @@ -84,11 +80,6 @@ using namespace LAMMPS_NS; int KokkosLMP::is_finalized = 0; int KokkosLMP::init_ngpus = 0; -void LAMMPS_NS::kokkos_lmp_finalize() -{ - KokkosLMP::finalize(); -} - /* ---------------------------------------------------------------------- */ KokkosLMP::KokkosLMP(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) diff --git a/src/main.cpp b/src/main.cpp index 543833498b..746ccc41e9 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -14,7 +14,7 @@ #include "lammps.h" #include "input.h" -#include "lmppython.h" +#include "library.h" #if defined(LAMMPS_EXCEPTIONS) #include "exceptions.h" @@ -32,20 +32,6 @@ #include #endif -#if defined(LMP_KOKKOS) -namespace LAMMPS_NS { -extern void kokkos_lmp_finalize(); -} -#else -#include "accelerator_kokkos.h" -namespace LAMMPS_NS { -void kokkos_lmp_finalize() -{ - KokkosLMP::finalize(); -} -} -#endif - using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- @@ -89,19 +75,19 @@ int main(int argc, char **argv) lammps->input->file(); delete lammps; } catch (LAMMPSAbortException &ae) { - kokkos_lmp_finalize(); - Python::finalize(); + lammps_kokkos_finalize(); + lammps_python_finalize(); MPI_Abort(ae.universe, 1); } catch (LAMMPSException &) { - kokkos_lmp_finalize(); - Python::finalize(); + lammps_kokkos_finalize(); + lammps_python_finalize(); MPI_Barrier(lammps_comm); MPI_Finalize(); exit(1); } catch (fmt::format_error &fe) { fprintf(stderr, "fmt::format_error: %s\n", fe.what()); - kokkos_lmp_finalize(); - Python::finalize(); + lammps_kokkos_finalize(); + lammps_python_finalize(); MPI_Abort(MPI_COMM_WORLD, 1); exit(1); } @@ -112,14 +98,14 @@ int main(int argc, char **argv) delete lammps; } catch (fmt::format_error &fe) { fprintf(stderr, "fmt::format_error: %s\n", fe.what()); - kokkos_lmp_finalize(); - Python::finalize(); + lammps_kokkos_finalize(); + lammps_python_finalize(); MPI_Abort(MPI_COMM_WORLD, 1); exit(1); } #endif - kokkos_lmp_finalize(); - Python::finalize(); + lammps_kokkos_finalize(); + lammps_python_finalize(); MPI_Barrier(lammps_comm); MPI_Finalize(); } From 4265b7379ea1c6718fc4deb6d1346b09b6e9571a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 7 Mar 2023 12:07:56 -0500 Subject: [PATCH 258/448] update precomputed constants. apply clang-format --- src/DIELECTRIC/fix_polarize_bem_gmres.cpp | 22 +++++++++---------- src/DIELECTRIC/fix_polarize_bem_icc.cpp | 26 +++++++++++------------ 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/src/DIELECTRIC/fix_polarize_bem_gmres.cpp b/src/DIELECTRIC/fix_polarize_bem_gmres.cpp index dafe4dc8e0..b11ac7e482 100644 --- a/src/DIELECTRIC/fix_polarize_bem_gmres.cpp +++ b/src/DIELECTRIC/fix_polarize_bem_gmres.cpp @@ -61,7 +61,7 @@ using namespace LAMMPS_NS; using namespace FixConst; -using MathConst::MY_PI; +using MathConst::MY_4PI; /* ---------------------------------------------------------------------- */ @@ -311,13 +311,13 @@ void FixPolarizeBEMGMRES::setup(int /*vflag*/) epsilon0e2q = 1.0; if (strcmp(update->unit_style, "real") == 0) - epsilon0e2q = 0.000240263377163643 * (4 * MY_PI); + epsilon0e2q = 0.000240263377163643 * MY_4PI; else if (strcmp(update->unit_style, "metal") == 0) - epsilon0e2q = 0.00553386738300813 * (4 * MY_PI); + epsilon0e2q = 0.00553386738300813 * MY_4PI; else if (strcmp(update->unit_style, "si") == 0) - epsilon0e2q = 8.854187812813e-12 * (4 * MY_PI); + epsilon0e2q = 8.854187812813e-12 * MY_4PI; else if (strcmp(update->unit_style, "nano") == 0) - epsilon0e2q = 0.000345866711328125 * (4 * MY_PI); + epsilon0e2q = 0.000345866711328125 * MY_4PI; else if (strcmp(update->unit_style, "lj") != 0) error->all(FLERR, "Only unit styles 'lj', 'real', 'metal', 'si' and 'nano' are supported"); @@ -403,7 +403,7 @@ void FixPolarizeBEMGMRES::compute_induced_charges() } double ndotE = epsilon0e2q * (Ex * norm[i][0] + Ey * norm[i][1] + Ez * norm[i][2]) / epsilon[i]; double sigma_f = q[i] / area[i]; - buffer[idx] = (1 - em[i]) * sigma_f - ed[i] * ndotE / (4 * MY_PI); + buffer[idx] = (1 - em[i]) * sigma_f - ed[i] * ndotE / MY_4PI; } MPI_Allreduce(buffer, rhs, num_induced_charges, MPI_DOUBLE, MPI_SUM, world); @@ -464,11 +464,11 @@ void FixPolarizeBEMGMRES::compute_induced_charges() int ncount = group->count(igroup); double sum = 0; MPI_Allreduce(&tmp, &sum, 1, MPI_DOUBLE, MPI_SUM, world); - double qboundave = sum/(double)ncount; + double qboundave = sum / (double) ncount; for (int i = 0; i < nlocal; i++) { if (!(mask[i] & groupbit)) continue; - q[i] -= qboundave; + q[i] -= qboundave; } } @@ -693,7 +693,7 @@ void FixPolarizeBEMGMRES::apply_operator(double *w, double *Aw, int /*n*/) Ez += efield_kspace[i][2]; } double ndotE = epsilon0e2q * (Ex * norm[i][0] + Ey * norm[i][1] + Ez * norm[i][2]) / epsilon[i]; - buffer[idx] = em[i] * w[idx] + ed[i] * ndotE / (4 * MY_PI); + buffer[idx] = em[i] * w[idx] + ed[i] * ndotE / MY_4PI; } MPI_Allreduce(buffer, Aw, num_induced_charges, MPI_DOUBLE, MPI_SUM, world); @@ -765,8 +765,8 @@ void FixPolarizeBEMGMRES::update_residual(double *w, double *r, int /*n*/) Ey += efield_kspace[i][1]; Ez += efield_kspace[i][2]; } - double ndotE = epsilon0e2q * (Ex * norm[i][0] + Ey * norm[i][1] + Ez * norm[i][2]) / - epsilon[i] / (4 * MY_PI); + double ndotE = + epsilon0e2q * (Ex * norm[i][0] + Ey * norm[i][1] + Ez * norm[i][2]) / epsilon[i] / MY_4PI; double sigma_f = q[i] / area[i]; buffer[idx] = (1 - em[i]) * sigma_f - em[i] * w[idx] - ed[i] * ndotE; } diff --git a/src/DIELECTRIC/fix_polarize_bem_icc.cpp b/src/DIELECTRIC/fix_polarize_bem_icc.cpp index 034ada48ab..697d45f416 100644 --- a/src/DIELECTRIC/fix_polarize_bem_icc.cpp +++ b/src/DIELECTRIC/fix_polarize_bem_icc.cpp @@ -49,7 +49,8 @@ using namespace LAMMPS_NS; using namespace FixConst; -using MathConst::MY_PI; +using MathConst::MY_2PI; +using MathConst::MY_4PI; /* ---------------------------------------------------------------------- */ @@ -214,13 +215,13 @@ void FixPolarizeBEMICC::setup(int /*vflag*/) epsilon0e2q = 1.0; if (strcmp(update->unit_style, "real") == 0) - epsilon0e2q = 0.000240263377163643 * (4 * MY_PI); + epsilon0e2q = 0.000240263377163643 * MY_4PI; else if (strcmp(update->unit_style, "metal") == 0) - epsilon0e2q = 0.00553386738300813 * (4 * MY_PI); + epsilon0e2q = 0.00553386738300813 * MY_4PI; else if (strcmp(update->unit_style, "si") == 0) - epsilon0e2q = 8.854187812813e-12 * (4 * MY_PI); + epsilon0e2q = 8.854187812813e-12 * MY_4PI; else if (strcmp(update->unit_style, "nano") == 0) - epsilon0e2q = 0.000345866711328125 * (4 * MY_PI); + epsilon0e2q = 0.000345866711328125 * MY_4PI; else if (strcmp(update->unit_style, "lj") != 0) error->all(FLERR, "Only unit styles 'lj', 'real', 'metal', 'si' and 'nano' are supported"); @@ -286,8 +287,8 @@ void FixPolarizeBEMICC::compute_induced_charges() } // divide (Ex,Ey,Ez) by epsilon[i] here - double ndotE = epsilon0e2q * (Ex * norm[i][0] + Ey * norm[i][1] + Ez * norm[i][2]) / - epsilon[i] / (2 * MY_PI); + double ndotE = + epsilon0e2q * (Ex * norm[i][0] + Ey * norm[i][1] + Ez * norm[i][2]) / epsilon[i] / MY_2PI; double q_free = q[i]; double q_bound = 0; q_bound = (1.0 / em[i] - 1) * q_free - (ed[i] / (2 * em[i])) * ndotE * area[i]; @@ -326,8 +327,8 @@ void FixPolarizeBEMICC::compute_induced_charges() // note the area[i] is included here to ensure correct charge unit // for direct use in force/efield compute - double ndotE = epsilon0e2q * (Ex * norm[i][0] + Ey * norm[i][1] + Ez * norm[i][2]) / - (4 * MY_PI) / epsilon[i]; + double ndotE = + epsilon0e2q * (Ex * norm[i][0] + Ey * norm[i][1] + Ez * norm[i][2]) / MY_4PI / epsilon[i]; double q_bound = q_scaled[i] - q_free; q_bound = (1 - omega) * q_bound + omega * ((1.0 / em[i] - 1) * q_free - (ed[i] / em[i]) * ndotE * area[i]); @@ -343,7 +344,7 @@ void FixPolarizeBEMICC::compute_induced_charges() // hence there's no epsilon_1 in the factor f //double dot = (Ex*norm[i][0] + Ey*norm[i][1] + Ez*norm[i][2]); - //double f = (ed[i] / (2 * em[i])) / (2*MY_PI); + //double f = (ed[i] / (2 * em[i])) / MY_2PI; //q[i] = (1 - omega) * q[i] - omega * epsilon0 * f * dot * area[i]; double delta = fabs(qtmp - q_bound); @@ -378,11 +379,11 @@ void FixPolarizeBEMICC::compute_induced_charges() int ncount = group->count(igroup); double sum = 0; MPI_Allreduce(&tmp, &sum, 1, MPI_DOUBLE, MPI_SUM, world); - double qboundave = sum/(double)ncount; + double qboundave = sum / (double) ncount; for (int i = 0; i < nlocal; i++) { if (!(mask[i] & groupbit)) continue; - q[i] -= qboundave; + q[i] -= qboundave; } } @@ -467,7 +468,6 @@ void FixPolarizeBEMICC::unpack_forward_comm(int n, int first, double *buf) for (m = 0, i = first; m < n; m++, i++) atom->q_scaled[i] = buf[m]; } - /* ---------------------------------------------------------------------- set dielectric params for the atoms in the group ------------------------------------------------------------------------- */ From 353e0820e32e229ddaee15ef4216326542bce6df Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 7 Mar 2023 12:26:43 -0500 Subject: [PATCH 259/448] capture log files for dielectric examples --- examples/PACKAGES/dielectric/data.sphere | 2 +- examples/PACKAGES/dielectric/in.confined | 10 +- examples/PACKAGES/dielectric/in.nopbc | 8 +- .../log.07Mar23.confined.gmres.g++.1 | 187 +++++++++++++++++ .../log.07Mar23.confined.gmres.g++.4 | 187 +++++++++++++++++ .../dielectric/log.07Mar23.confined.icc.g++.1 | 189 ++++++++++++++++++ .../dielectric/log.07Mar23.confined.icc.g++.4 | 189 ++++++++++++++++++ .../dielectric/log.07Mar23.nopbc.gmres.g++.1 | 131 ++++++++++++ .../dielectric/log.07Mar23.nopbc.gmres.g++.4 | 131 ++++++++++++ .../dielectric/log.07Mar23.nopbc.icc.g++.1 | 132 ++++++++++++ .../dielectric/log.07Mar23.nopbc.icc.g++.4 | 132 ++++++++++++ 11 files changed, 1288 insertions(+), 10 deletions(-) create mode 100644 examples/PACKAGES/dielectric/log.07Mar23.confined.gmres.g++.1 create mode 100644 examples/PACKAGES/dielectric/log.07Mar23.confined.gmres.g++.4 create mode 100644 examples/PACKAGES/dielectric/log.07Mar23.confined.icc.g++.1 create mode 100644 examples/PACKAGES/dielectric/log.07Mar23.confined.icc.g++.4 create mode 100644 examples/PACKAGES/dielectric/log.07Mar23.nopbc.gmres.g++.1 create mode 100644 examples/PACKAGES/dielectric/log.07Mar23.nopbc.gmres.g++.4 create mode 100644 examples/PACKAGES/dielectric/log.07Mar23.nopbc.icc.g++.1 create mode 100644 examples/PACKAGES/dielectric/log.07Mar23.nopbc.icc.g++.4 diff --git a/examples/PACKAGES/dielectric/data.sphere b/examples/PACKAGES/dielectric/data.sphere index 3e98e8211f..4a81df26ec 100644 --- a/examples/PACKAGES/dielectric/data.sphere +++ b/examples/PACKAGES/dielectric/data.sphere @@ -14,7 +14,7 @@ Masses 2 1 3 1 -Atoms # dielectric: id mol type q x y z normx normy normz area_per_patch ed em epsilon curvature +Atoms # dielectric : id mol type q x y z normx normy normz area_per_patch ed em epsilon curvature 1 1 1 0 50 55.2573 41.4935 0 0.525731 -0.850651 0.490491 45 57.5 57.5 0 2 1 1 0 50.4064 55.7206 41.8079 0.0406403 0.572055 -0.819208 0.490491 45 57.5 57.5 0 diff --git a/examples/PACKAGES/dielectric/in.confined b/examples/PACKAGES/dielectric/in.confined index 314409fc17..276dd67afc 100644 --- a/examples/PACKAGES/dielectric/in.confined +++ b/examples/PACKAGES/dielectric/in.confined @@ -7,7 +7,7 @@ # Dielectric constants can be set to be different from the input data file variable epsilon1 index 20 -variable epsilon2 index 10 +variable epsilon2 index 10 variable data index data.confined @@ -53,11 +53,11 @@ kspace_modify slab 3.0 neigh_modify every 1 delay 0 check yes one 5000 #compute ef all efield/atom -dump 1 all custom 100 all.dump id mol type q x y z #fx fy fz c_ef[1] c_ef[2] c_ef[3] -dump 2 interface custom 100 interface.dump id mol type q x y z #fx fy fz c_ef[1] c_ef[2] c_ef[3] -dump_modify 1 sort id +#dump 1 all custom 100 all.dump id mol type q x y z #fx fy fz c_ef[1] c_ef[2] c_ef[3] +#dump 2 interface custom 100 interface.dump id mol type q x y z #fx fy fz c_ef[1] c_ef[2] c_ef[3] +#dump_modify 1 sort id -dump 3 ions custom 100 ions.dump id mol type q x y z fx fy fz #c_ef[1] c_ef[2] c_ef[3] +#dump 3 ions custom 100 ions.dump id mol type q x y z fx fy fz #c_ef[1] c_ef[2] c_ef[3] fix 1 ions nve diff --git a/examples/PACKAGES/dielectric/in.nopbc b/examples/PACKAGES/dielectric/in.nopbc index ada9af2bf5..cbb0d45377 100644 --- a/examples/PACKAGES/dielectric/in.nopbc +++ b/examples/PACKAGES/dielectric/in.nopbc @@ -25,10 +25,10 @@ pair_coeff 1 1 0.0 1.0 neigh_modify one 5000 #compute ef all efield/atom -dump 1 all custom 100 all.dump id mol type q x y z #c_ef[1] c_ef[2] c_ef[3] -dump 2 interface custom 100 interface.dump id mol type q x y z #c_ef[1] c_ef[2] c_ef[3] - -dump_modify 1 sort id +#dump 1 all custom 100 all.dump id mol type q x y z #c_ef[1] c_ef[2] c_ef[3] +# +#dump 2 interface custom 100 interface.dump id mol type q x y z #c_ef[1] c_ef[2] c_ef[3] +#dump_modify 1 sort id fix 1 ions nve diff --git a/examples/PACKAGES/dielectric/log.07Mar23.confined.gmres.g++.1 b/examples/PACKAGES/dielectric/log.07Mar23.confined.gmres.g++.1 new file mode 100644 index 0000000000..ca0c22e5d3 --- /dev/null +++ b/examples/PACKAGES/dielectric/log.07Mar23.confined.gmres.g++.1 @@ -0,0 +1,187 @@ +LAMMPS (8 Feb 2023) + using 1 OpenMP thread(s) per MPI task +# Two ions, a cation and an anion, confined between two interfaces: epsilon1 | epsilon2 | epsilon1 +# The interface normal vectors should be consistent with ed, pointing from region with epsilon1 to that with epsilon2 +# bottom interface: n = (0, 0, 1) +# top interface: n = (0, 0, -1) +# so that ed's are the same for both interfaces + +# Dielectric constants can be set to be different from the input data file + +variable epsilon1 index 20 +variable epsilon2 index 10 + +variable data index data.confined + +newton off +units lj +atom_style dielectric +atom_modify map array +dimension 3 +boundary p p f + +variable method index gmres # gmres = BEM/GMRES + # icc = BEM/ICC* + # dof = Direct optimization of the functional + # none + +# compute the relevant values for the interface particles + +variable ed equal "v_epsilon2 - v_epsilon1" +variable em equal "(v_epsilon2 + v_epsilon1)/2" +variable epsilon equal 1.0 # epsilon at the patch, not used for now +variable area equal 0.866 # patch area, same as in the data file + +read_data ${data} +read_data data.confined +Reading data file ... + orthogonal box = (0 0 0) to (40.000006 43.301277 40) + 1 by 1 by 1 MPI processor grid +WARNING: Atom style in data file differs from currently defined atom style (src/read_data.cpp:620) + reading atoms ... + 4002 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.013 seconds + +group interface type 1 +4000 atoms in group interface +group ions type 2 3 +2 atoms in group ions + +group cations type 2 +1 atoms in group cations +group anions type 3 +1 atoms in group anions + +# set the dielectric constant of the medium where the ions reside + +set group cations epsilon ${epsilon2} +set group cations epsilon 10 +Setting atom values ... + 1 settings made for epsilon +set group anions epsilon ${epsilon2} +set group anions epsilon 10 +Setting atom values ... + 1 settings made for epsilon + +pair_style lj/cut/coul/long/dielectric 1.122 10.0 +pair_coeff * * 1.0 1.0 +pair_coeff 1 1 0.0 1.0 + +kspace_style pppm/dielectric 0.0001 +kspace_modify slab 3.0 + +neigh_modify every 1 delay 0 check yes one 5000 + +#compute ef all efield/atom +#dump 1 all custom 100 all.dump id mol type q x y z #fx fy fz c_ef[1] c_ef[2] c_ef[3] +#dump 2 interface custom 100 interface.dump id mol type q x y z #fx fy fz c_ef[1] c_ef[2] c_ef[3] +#dump_modify 1 sort id + +#dump 3 ions custom 100 ions.dump id mol type q x y z fx fy fz #c_ef[1] c_ef[2] c_ef[3] + +fix 1 ions nve + +# fix modify is used to set the properties of the interface particle group + +if "${method} == gmres" then "fix 3 interface polarize/bem/gmres 1 1.0e-4" "fix_modify 3 itr_max 50 dielectrics ${ed} ${em} ${epsilon} ${area} NULL" elif "${method} == icc" "fix 3 interface polarize/bem/icc 1 1.0e-4" "fix_modify 3 itr_max 50 dielectrics ${ed} ${em} ${epsilon} ${area} NULL" elif "${method} == dof" "fix 3 interface polarize/functional 1 0.0001" "fix_modify 3 dielectrics ${ed} ${em} ${epsilon} ${area} NULL" else "print 'Unsupported polarization solver' " +fix 3 interface polarize/bem/gmres 1 1.0e-4 +fix_modify 3 itr_max 50 dielectrics ${ed} ${em} ${epsilon} ${area} NULL +fix_modify 3 itr_max 50 dielectrics -10 ${em} ${epsilon} ${area} NULL +fix_modify 3 itr_max 50 dielectrics -10 15 ${epsilon} ${area} NULL +fix_modify 3 itr_max 50 dielectrics -10 15 1 ${area} NULL +fix_modify 3 itr_max 50 dielectrics -10 15 1 0.866 NULL + +thermo 1000 +thermo_style custom step evdwl ecoul elong epair #f_3 +thermo_modify flush yes + +run 0 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- DIELECTRIC package: doi:10.1016/j.cpc.2019.03.006 + +@Article{TrungCPC19, + author = {Trung Dac Nguyen and Honghao Li and Debarshee Bagchi and Francisco J. Solis and Olvera de la Cruz, Monica} + title = {Incorporating Surface Polarization Effects Into Large-Scale + Coarse-Grained Molecular Dynamics Simulation}, + journal = {Comput.\ Phys.\ Commun.}, + year = 2019, + volume = 241, + pages = {80--91} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) + G vector (1/distance) = 0.24260797 + grid = 12 12 36 + stencil order = 5 + estimated absolute RMS force accuracy = 2.5219574e-07 + estimated relative force accuracy = 2.5219574e-07 + using double precision KISS FFT + 3d grid and FFT values/proc = 10982 5184 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +BEM/GMRES solver for 4000 induced charges using maximum 3999 q-vectors +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 5000, page size: 100000 + master list distance cutoff = 10.3 + ghost atom cutoff = 10.3 + binsize = 5.15, bins = 8 9 8 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut/coul/long/dielectric, perpetual + attributes: full, newton off + pair build: full/bin + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 381.6 | 381.6 | 381.6 Mbytes + Step E_vdwl E_coul E_long E_pair + 0 0 -1.7228107e-08 -1.8534756e-05 -1.8551984e-05 +Loop time of 1.872e-06 on 1 procs for 0 steps with 4002 atoms + +160.3% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0 | 0 | 0 | 0.0 | 0.00 +Kspace | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.872e-06 | | |100.00 + +Nlocal: 4002 ave 4002 max 4002 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 4832 ave 4832 max 4832 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 1.51316e+06 ave 1.51316e+06 max 1.51316e+06 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 1513160 +Ave neighs/atom = 378.10095 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + + + + +Total wall time: 0:00:00 diff --git a/examples/PACKAGES/dielectric/log.07Mar23.confined.gmres.g++.4 b/examples/PACKAGES/dielectric/log.07Mar23.confined.gmres.g++.4 new file mode 100644 index 0000000000..f4e855ad42 --- /dev/null +++ b/examples/PACKAGES/dielectric/log.07Mar23.confined.gmres.g++.4 @@ -0,0 +1,187 @@ +LAMMPS (8 Feb 2023) + using 1 OpenMP thread(s) per MPI task +# Two ions, a cation and an anion, confined between two interfaces: epsilon1 | epsilon2 | epsilon1 +# The interface normal vectors should be consistent with ed, pointing from region with epsilon1 to that with epsilon2 +# bottom interface: n = (0, 0, 1) +# top interface: n = (0, 0, -1) +# so that ed's are the same for both interfaces + +# Dielectric constants can be set to be different from the input data file + +variable epsilon1 index 20 +variable epsilon2 index 10 + +variable data index data.confined + +newton off +units lj +atom_style dielectric +atom_modify map array +dimension 3 +boundary p p f + +variable method index gmres # gmres = BEM/GMRES + # icc = BEM/ICC* + # dof = Direct optimization of the functional + # none + +# compute the relevant values for the interface particles + +variable ed equal "v_epsilon2 - v_epsilon1" +variable em equal "(v_epsilon2 + v_epsilon1)/2" +variable epsilon equal 1.0 # epsilon at the patch, not used for now +variable area equal 0.866 # patch area, same as in the data file + +read_data ${data} +read_data data.confined +Reading data file ... + orthogonal box = (0 0 0) to (40.000006 43.301277 40) + 2 by 2 by 1 MPI processor grid +WARNING: Atom style in data file differs from currently defined atom style (src/read_data.cpp:620) + reading atoms ... + 4002 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.011 seconds + +group interface type 1 +4000 atoms in group interface +group ions type 2 3 +2 atoms in group ions + +group cations type 2 +1 atoms in group cations +group anions type 3 +1 atoms in group anions + +# set the dielectric constant of the medium where the ions reside + +set group cations epsilon ${epsilon2} +set group cations epsilon 10 +Setting atom values ... + 1 settings made for epsilon +set group anions epsilon ${epsilon2} +set group anions epsilon 10 +Setting atom values ... + 1 settings made for epsilon + +pair_style lj/cut/coul/long/dielectric 1.122 10.0 +pair_coeff * * 1.0 1.0 +pair_coeff 1 1 0.0 1.0 + +kspace_style pppm/dielectric 0.0001 +kspace_modify slab 3.0 + +neigh_modify every 1 delay 0 check yes one 5000 + +#compute ef all efield/atom +#dump 1 all custom 100 all.dump id mol type q x y z #fx fy fz c_ef[1] c_ef[2] c_ef[3] +#dump 2 interface custom 100 interface.dump id mol type q x y z #fx fy fz c_ef[1] c_ef[2] c_ef[3] +#dump_modify 1 sort id + +#dump 3 ions custom 100 ions.dump id mol type q x y z fx fy fz #c_ef[1] c_ef[2] c_ef[3] + +fix 1 ions nve + +# fix modify is used to set the properties of the interface particle group + +if "${method} == gmres" then "fix 3 interface polarize/bem/gmres 1 1.0e-4" "fix_modify 3 itr_max 50 dielectrics ${ed} ${em} ${epsilon} ${area} NULL" elif "${method} == icc" "fix 3 interface polarize/bem/icc 1 1.0e-4" "fix_modify 3 itr_max 50 dielectrics ${ed} ${em} ${epsilon} ${area} NULL" elif "${method} == dof" "fix 3 interface polarize/functional 1 0.0001" "fix_modify 3 dielectrics ${ed} ${em} ${epsilon} ${area} NULL" else "print 'Unsupported polarization solver' " +fix 3 interface polarize/bem/gmres 1 1.0e-4 +fix_modify 3 itr_max 50 dielectrics ${ed} ${em} ${epsilon} ${area} NULL +fix_modify 3 itr_max 50 dielectrics -10 ${em} ${epsilon} ${area} NULL +fix_modify 3 itr_max 50 dielectrics -10 15 ${epsilon} ${area} NULL +fix_modify 3 itr_max 50 dielectrics -10 15 1 ${area} NULL +fix_modify 3 itr_max 50 dielectrics -10 15 1 0.866 NULL + +thermo 1000 +thermo_style custom step evdwl ecoul elong epair #f_3 +thermo_modify flush yes + +run 0 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- DIELECTRIC package: doi:10.1016/j.cpc.2019.03.006 + +@Article{TrungCPC19, + author = {Trung Dac Nguyen and Honghao Li and Debarshee Bagchi and Francisco J. Solis and Olvera de la Cruz, Monica} + title = {Incorporating Surface Polarization Effects Into Large-Scale + Coarse-Grained Molecular Dynamics Simulation}, + journal = {Comput.\ Phys.\ Commun.}, + year = 2019, + volume = 241, + pages = {80--91} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) + G vector (1/distance) = 0.24260797 + grid = 12 12 36 + stencil order = 5 + estimated absolute RMS force accuracy = 2.5219574e-07 + estimated relative force accuracy = 2.5219574e-07 + using double precision KISS FFT + 3d grid and FFT values/proc = 4598 1296 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +BEM/GMRES solver for 4000 induced charges using maximum 3999 q-vectors +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 5000, page size: 100000 + master list distance cutoff = 10.3 + ghost atom cutoff = 10.3 + binsize = 5.15, bins = 8 9 8 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut/coul/long/dielectric, perpetual + attributes: full, newton off + pair build: full/bin + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 376.2 | 376.2 | 376.2 Mbytes + Step E_vdwl E_coul E_long E_pair + 0 0 -1.7228107e-08 -1.8534756e-05 -1.8551984e-05 +Loop time of 1.49983e-05 on 4 procs for 0 steps with 4002 atoms + +85.0% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0 | 0 | 0 | 0.0 | 0.00 +Kspace | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.5e-05 | | |100.00 + +Nlocal: 1000.5 ave 1001 max 1000 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 2889.5 ave 2890 max 2889 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 378290 ave 378465 max 378117 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 1513160 +Ave neighs/atom = 378.10095 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + + + + +Total wall time: 0:00:00 diff --git a/examples/PACKAGES/dielectric/log.07Mar23.confined.icc.g++.1 b/examples/PACKAGES/dielectric/log.07Mar23.confined.icc.g++.1 new file mode 100644 index 0000000000..9c1ab22f90 --- /dev/null +++ b/examples/PACKAGES/dielectric/log.07Mar23.confined.icc.g++.1 @@ -0,0 +1,189 @@ +LAMMPS (8 Feb 2023) + using 1 OpenMP thread(s) per MPI task +# Two ions, a cation and an anion, confined between two interfaces: epsilon1 | epsilon2 | epsilon1 +# The interface normal vectors should be consistent with ed, pointing from region with epsilon1 to that with epsilon2 +# bottom interface: n = (0, 0, 1) +# top interface: n = (0, 0, -1) +# so that ed's are the same for both interfaces + +# Dielectric constants can be set to be different from the input data file + +variable epsilon1 index 20 +variable epsilon2 index 10 + +variable data index data.confined + +newton off +units lj +atom_style dielectric +atom_modify map array +dimension 3 +boundary p p f + +variable method index gmres # gmres = BEM/GMRES + # icc = BEM/ICC* + # dof = Direct optimization of the functional + # none + +# compute the relevant values for the interface particles + +variable ed equal "v_epsilon2 - v_epsilon1" +variable em equal "(v_epsilon2 + v_epsilon1)/2" +variable epsilon equal 1.0 # epsilon at the patch, not used for now +variable area equal 0.866 # patch area, same as in the data file + +read_data ${data} +read_data data.confined +Reading data file ... + orthogonal box = (0 0 0) to (40.000006 43.301277 40) + 1 by 1 by 1 MPI processor grid +WARNING: Atom style in data file differs from currently defined atom style (src/read_data.cpp:620) + reading atoms ... + 4002 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.013 seconds + +group interface type 1 +4000 atoms in group interface +group ions type 2 3 +2 atoms in group ions + +group cations type 2 +1 atoms in group cations +group anions type 3 +1 atoms in group anions + +# set the dielectric constant of the medium where the ions reside + +set group cations epsilon ${epsilon2} +set group cations epsilon 10 +Setting atom values ... + 1 settings made for epsilon +set group anions epsilon ${epsilon2} +set group anions epsilon 10 +Setting atom values ... + 1 settings made for epsilon + +pair_style lj/cut/coul/long/dielectric 1.122 10.0 +pair_coeff * * 1.0 1.0 +pair_coeff 1 1 0.0 1.0 + +kspace_style pppm/dielectric 0.0001 +kspace_modify slab 3.0 + +neigh_modify every 1 delay 0 check yes one 5000 + +#compute ef all efield/atom +#dump 1 all custom 100 all.dump id mol type q x y z #fx fy fz c_ef[1] c_ef[2] c_ef[3] +#dump 2 interface custom 100 interface.dump id mol type q x y z #fx fy fz c_ef[1] c_ef[2] c_ef[3] +#dump_modify 1 sort id + +#dump 3 ions custom 100 ions.dump id mol type q x y z fx fy fz #c_ef[1] c_ef[2] c_ef[3] + +fix 1 ions nve + +# fix modify is used to set the properties of the interface particle group + +if "${method} == gmres" then "fix 3 interface polarize/bem/gmres 1 1.0e-4" "fix_modify 3 itr_max 50 dielectrics ${ed} ${em} ${epsilon} ${area} NULL" elif "${method} == icc" "fix 3 interface polarize/bem/icc 1 1.0e-4" "fix_modify 3 itr_max 50 dielectrics ${ed} ${em} ${epsilon} ${area} NULL" elif "${method} == dof" "fix 3 interface polarize/functional 1 0.0001" "fix_modify 3 dielectrics ${ed} ${em} ${epsilon} ${area} NULL" else "print 'Unsupported polarization solver' " +fix 3 interface polarize/bem/icc 1 1.0e-4 +fix_modify 3 itr_max 50 dielectrics ${ed} ${em} ${epsilon} ${area} NULL +fix_modify 3 itr_max 50 dielectrics -10 ${em} ${epsilon} ${area} NULL +fix_modify 3 itr_max 50 dielectrics -10 15 ${epsilon} ${area} NULL +fix_modify 3 itr_max 50 dielectrics -10 15 1 ${area} NULL +fix_modify 3 itr_max 50 dielectrics -10 15 1 0.866 NULL + +thermo 1000 +thermo_style custom step evdwl ecoul elong epair #f_3 +thermo_modify flush yes + +run 0 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- DIELECTRIC package: doi:10.1016/j.cpc.2019.03.006 + +@Article{TrungCPC19, + author = {Trung Dac Nguyen and Honghao Li and Debarshee Bagchi and Francisco J. Solis and Olvera de la Cruz, Monica} + title = {Incorporating Surface Polarization Effects Into Large-Scale + Coarse-Grained Molecular Dynamics Simulation}, + journal = {Comput.\ Phys.\ Commun.}, + year = 2019, + volume = 241, + pages = {80--91} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) + G vector (1/distance) = 0.24260797 + grid = 12 12 36 + stencil order = 5 + estimated absolute RMS force accuracy = 2.5219574e-07 + estimated relative force accuracy = 2.5219574e-07 + using double precision KISS FFT + 3d grid and FFT values/proc = 10982 5184 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +BEM/ICC solver for 4000 induced charges + using pair style lj/cut/coul/long/dielectric + using kspace style pppm/dielectric +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 5000, page size: 100000 + master list distance cutoff = 10.3 + ghost atom cutoff = 10.3 + binsize = 5.15, bins = 8 9 8 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut/coul/long/dielectric, perpetual + attributes: full, newton off + pair build: full/bin + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 14.99 | 14.99 | 14.99 Mbytes + Step E_vdwl E_coul E_long E_pair + 0 0 -1.7228514e-08 -1.8534756e-05 -1.8551985e-05 +Loop time of 1.573e-06 on 1 procs for 0 steps with 4002 atoms + +190.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0 | 0 | 0 | 0.0 | 0.00 +Kspace | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.573e-06 | | |100.00 + +Nlocal: 4002 ave 4002 max 4002 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 4832 ave 4832 max 4832 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 1.51316e+06 ave 1.51316e+06 max 1.51316e+06 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 1513160 +Ave neighs/atom = 378.10095 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + + + + +Total wall time: 0:00:00 diff --git a/examples/PACKAGES/dielectric/log.07Mar23.confined.icc.g++.4 b/examples/PACKAGES/dielectric/log.07Mar23.confined.icc.g++.4 new file mode 100644 index 0000000000..c60b803cd1 --- /dev/null +++ b/examples/PACKAGES/dielectric/log.07Mar23.confined.icc.g++.4 @@ -0,0 +1,189 @@ +LAMMPS (8 Feb 2023) + using 1 OpenMP thread(s) per MPI task +# Two ions, a cation and an anion, confined between two interfaces: epsilon1 | epsilon2 | epsilon1 +# The interface normal vectors should be consistent with ed, pointing from region with epsilon1 to that with epsilon2 +# bottom interface: n = (0, 0, 1) +# top interface: n = (0, 0, -1) +# so that ed's are the same for both interfaces + +# Dielectric constants can be set to be different from the input data file + +variable epsilon1 index 20 +variable epsilon2 index 10 + +variable data index data.confined + +newton off +units lj +atom_style dielectric +atom_modify map array +dimension 3 +boundary p p f + +variable method index gmres # gmres = BEM/GMRES + # icc = BEM/ICC* + # dof = Direct optimization of the functional + # none + +# compute the relevant values for the interface particles + +variable ed equal "v_epsilon2 - v_epsilon1" +variable em equal "(v_epsilon2 + v_epsilon1)/2" +variable epsilon equal 1.0 # epsilon at the patch, not used for now +variable area equal 0.866 # patch area, same as in the data file + +read_data ${data} +read_data data.confined +Reading data file ... + orthogonal box = (0 0 0) to (40.000006 43.301277 40) + 2 by 2 by 1 MPI processor grid +WARNING: Atom style in data file differs from currently defined atom style (src/read_data.cpp:620) + reading atoms ... + 4002 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.012 seconds + +group interface type 1 +4000 atoms in group interface +group ions type 2 3 +2 atoms in group ions + +group cations type 2 +1 atoms in group cations +group anions type 3 +1 atoms in group anions + +# set the dielectric constant of the medium where the ions reside + +set group cations epsilon ${epsilon2} +set group cations epsilon 10 +Setting atom values ... + 1 settings made for epsilon +set group anions epsilon ${epsilon2} +set group anions epsilon 10 +Setting atom values ... + 1 settings made for epsilon + +pair_style lj/cut/coul/long/dielectric 1.122 10.0 +pair_coeff * * 1.0 1.0 +pair_coeff 1 1 0.0 1.0 + +kspace_style pppm/dielectric 0.0001 +kspace_modify slab 3.0 + +neigh_modify every 1 delay 0 check yes one 5000 + +#compute ef all efield/atom +#dump 1 all custom 100 all.dump id mol type q x y z #fx fy fz c_ef[1] c_ef[2] c_ef[3] +#dump 2 interface custom 100 interface.dump id mol type q x y z #fx fy fz c_ef[1] c_ef[2] c_ef[3] +#dump_modify 1 sort id + +#dump 3 ions custom 100 ions.dump id mol type q x y z fx fy fz #c_ef[1] c_ef[2] c_ef[3] + +fix 1 ions nve + +# fix modify is used to set the properties of the interface particle group + +if "${method} == gmres" then "fix 3 interface polarize/bem/gmres 1 1.0e-4" "fix_modify 3 itr_max 50 dielectrics ${ed} ${em} ${epsilon} ${area} NULL" elif "${method} == icc" "fix 3 interface polarize/bem/icc 1 1.0e-4" "fix_modify 3 itr_max 50 dielectrics ${ed} ${em} ${epsilon} ${area} NULL" elif "${method} == dof" "fix 3 interface polarize/functional 1 0.0001" "fix_modify 3 dielectrics ${ed} ${em} ${epsilon} ${area} NULL" else "print 'Unsupported polarization solver' " +fix 3 interface polarize/bem/icc 1 1.0e-4 +fix_modify 3 itr_max 50 dielectrics ${ed} ${em} ${epsilon} ${area} NULL +fix_modify 3 itr_max 50 dielectrics -10 ${em} ${epsilon} ${area} NULL +fix_modify 3 itr_max 50 dielectrics -10 15 ${epsilon} ${area} NULL +fix_modify 3 itr_max 50 dielectrics -10 15 1 ${area} NULL +fix_modify 3 itr_max 50 dielectrics -10 15 1 0.866 NULL + +thermo 1000 +thermo_style custom step evdwl ecoul elong epair #f_3 +thermo_modify flush yes + +run 0 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- DIELECTRIC package: doi:10.1016/j.cpc.2019.03.006 + +@Article{TrungCPC19, + author = {Trung Dac Nguyen and Honghao Li and Debarshee Bagchi and Francisco J. Solis and Olvera de la Cruz, Monica} + title = {Incorporating Surface Polarization Effects Into Large-Scale + Coarse-Grained Molecular Dynamics Simulation}, + journal = {Comput.\ Phys.\ Commun.}, + year = 2019, + volume = 241, + pages = {80--91} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) + G vector (1/distance) = 0.24260797 + grid = 12 12 36 + stencil order = 5 + estimated absolute RMS force accuracy = 2.5219574e-07 + estimated relative force accuracy = 2.5219574e-07 + using double precision KISS FFT + 3d grid and FFT values/proc = 4598 1296 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +BEM/ICC solver for 4000 induced charges + using pair style lj/cut/coul/long/dielectric + using kspace style pppm/dielectric +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 5000, page size: 100000 + master list distance cutoff = 10.3 + ghost atom cutoff = 10.3 + binsize = 5.15, bins = 8 9 8 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut/coul/long/dielectric, perpetual + attributes: full, newton off + pair build: full/bin + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 9.647 | 9.647 | 9.647 Mbytes + Step E_vdwl E_coul E_long E_pair + 0 0 -1.7228514e-08 -1.8534756e-05 -1.8551985e-05 +Loop time of 1.23127e-05 on 4 procs for 0 steps with 4002 atoms + +103.6% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0 | 0 | 0 | 0.0 | 0.00 +Kspace | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.231e-05 | | |100.00 + +Nlocal: 1000.5 ave 1001 max 1000 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 2889.5 ave 2890 max 2889 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 378290 ave 378465 max 378117 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 1513160 +Ave neighs/atom = 378.10095 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + + + + +Total wall time: 0:00:00 diff --git a/examples/PACKAGES/dielectric/log.07Mar23.nopbc.gmres.g++.1 b/examples/PACKAGES/dielectric/log.07Mar23.nopbc.gmres.g++.1 new file mode 100644 index 0000000000..08cbbb2b7d --- /dev/null +++ b/examples/PACKAGES/dielectric/log.07Mar23.nopbc.gmres.g++.1 @@ -0,0 +1,131 @@ +LAMMPS (8 Feb 2023) + using 1 OpenMP thread(s) per MPI task +# Interface +newton off +units lj +atom_style dielectric +atom_modify map array +dimension 3 +boundary f f f + +variable method index gmres # gmres = BEM/GMRES + # icc = BEM/ICC* + # dof = Direct optimization of the functional + # none + +variable data index data.sphere + +read_data ${data} +read_data data.sphere +Reading data file ... + orthogonal box = (0 0 0) to (100 100 100) + 1 by 1 by 1 MPI processor grid +WARNING: Atom style in data file differs from currently defined atom style (src/read_data.cpp:620) + reading atoms ... + 2563 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.011 seconds + +group interface type 1 +2562 atoms in group interface +group ions type 2 3 +1 atoms in group ions + +pair_style lj/cut/coul/cut/dielectric 1.122 20.0 +pair_coeff * * 1.0 1.0 +pair_coeff 1 1 0.0 1.0 + +neigh_modify one 5000 + +#compute ef all efield/atom +#dump 1 all custom 100 all.dump id mol type q x y z #c_ef[1] c_ef[2] c_ef[3] +# +#dump 2 interface custom 100 interface.dump id mol type q x y z #c_ef[1] c_ef[2] c_ef[3] +#dump_modify 1 sort id + +fix 1 ions nve + +if "${method} == gmres" then "fix 3 interface polarize/bem/gmres 1 1.0e-4" elif "${method} == icc" "fix 3 interface polarize/bem/icc 1 1.0e-4" elif "${method} == dof" "fix 3 interface polarize/functional 1 1.0e-4" else "print 'Unsupported method for polarization' " +fix 3 interface polarize/bem/gmres 1 1.0e-4 + +thermo 1000 +thermo_style custom step evdwl ecoul elong epair +thermo_modify flush yes + +run 0 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- DIELECTRIC package: doi:10.1016/j.cpc.2019.03.006 + +@Article{TrungCPC19, + author = {Trung Dac Nguyen and Honghao Li and Debarshee Bagchi and Francisco J. Solis and Olvera de la Cruz, Monica} + title = {Incorporating Surface Polarization Effects Into Large-Scale + Coarse-Grained Molecular Dynamics Simulation}, + journal = {Comput.\ Phys.\ Commun.}, + year = 2019, + volume = 241, + pages = {80--91} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +BEM/GMRES solver for 2562 induced charges using maximum 2561 q-vectors +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 5000, page size: 100000 + master list distance cutoff = 20.3 + ghost atom cutoff = 20.3 + binsize = 10.15, bins = 10 10 10 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut/coul/cut/dielectric, perpetual + attributes: full, newton off + pair build: full/bin + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 183.5 | 183.5 | 183.5 Mbytes + Step E_vdwl E_coul E_long E_pair + 0 0 2.1870454e-07 0 2.1870454e-07 +Loop time of 1.538e-06 on 1 procs for 0 steps with 2563 atoms + +195.1% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.538e-06 | | |100.00 + +Nlocal: 2563 ave 2563 max 2563 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 6.56561e+06 ave 6.56561e+06 max 6.56561e+06 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 6565612 +Ave neighs/atom = 2561.6902 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + + +Total wall time: 0:00:00 diff --git a/examples/PACKAGES/dielectric/log.07Mar23.nopbc.gmres.g++.4 b/examples/PACKAGES/dielectric/log.07Mar23.nopbc.gmres.g++.4 new file mode 100644 index 0000000000..060c00a9be --- /dev/null +++ b/examples/PACKAGES/dielectric/log.07Mar23.nopbc.gmres.g++.4 @@ -0,0 +1,131 @@ +LAMMPS (8 Feb 2023) + using 1 OpenMP thread(s) per MPI task +# Interface +newton off +units lj +atom_style dielectric +atom_modify map array +dimension 3 +boundary f f f + +variable method index gmres # gmres = BEM/GMRES + # icc = BEM/ICC* + # dof = Direct optimization of the functional + # none + +variable data index data.sphere + +read_data ${data} +read_data data.sphere +Reading data file ... + orthogonal box = (0 0 0) to (100 100 100) + 1 by 2 by 2 MPI processor grid +WARNING: Atom style in data file differs from currently defined atom style (src/read_data.cpp:620) + reading atoms ... + 2563 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.009 seconds + +group interface type 1 +2562 atoms in group interface +group ions type 2 3 +1 atoms in group ions + +pair_style lj/cut/coul/cut/dielectric 1.122 20.0 +pair_coeff * * 1.0 1.0 +pair_coeff 1 1 0.0 1.0 + +neigh_modify one 5000 + +#compute ef all efield/atom +#dump 1 all custom 100 all.dump id mol type q x y z #c_ef[1] c_ef[2] c_ef[3] +# +#dump 2 interface custom 100 interface.dump id mol type q x y z #c_ef[1] c_ef[2] c_ef[3] +#dump_modify 1 sort id + +fix 1 ions nve + +if "${method} == gmres" then "fix 3 interface polarize/bem/gmres 1 1.0e-4" elif "${method} == icc" "fix 3 interface polarize/bem/icc 1 1.0e-4" elif "${method} == dof" "fix 3 interface polarize/functional 1 1.0e-4" else "print 'Unsupported method for polarization' " +fix 3 interface polarize/bem/gmres 1 1.0e-4 + +thermo 1000 +thermo_style custom step evdwl ecoul elong epair +thermo_modify flush yes + +run 0 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- DIELECTRIC package: doi:10.1016/j.cpc.2019.03.006 + +@Article{TrungCPC19, + author = {Trung Dac Nguyen and Honghao Li and Debarshee Bagchi and Francisco J. Solis and Olvera de la Cruz, Monica} + title = {Incorporating Surface Polarization Effects Into Large-Scale + Coarse-Grained Molecular Dynamics Simulation}, + journal = {Comput.\ Phys.\ Commun.}, + year = 2019, + volume = 241, + pages = {80--91} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +BEM/GMRES solver for 2562 induced charges using maximum 2561 q-vectors +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 5000, page size: 100000 + master list distance cutoff = 20.3 + ghost atom cutoff = 20.3 + binsize = 10.15, bins = 10 10 10 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut/coul/cut/dielectric, perpetual + attributes: full, newton off + pair build: full/bin + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 164.6 | 164.7 | 165 Mbytes + Step E_vdwl E_coul E_long E_pair + 0 0 2.1870454e-07 0 2.1870454e-07 +Loop time of 2.4415e-06 on 4 procs for 0 steps with 2563 atoms + +133.1% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 2.442e-06 | | |100.00 + +Nlocal: 640.75 ave 674 max 609 min +Histogram: 1 0 0 0 2 0 0 0 0 1 +Nghost: 1922.25 ave 1954 max 1889 min +Histogram: 1 0 0 0 0 2 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 1.6414e+06 ave 1.72639e+06 max 1.56007e+06 min +Histogram: 1 0 0 0 2 0 0 0 0 1 + +Total # of neighbors = 6565612 +Ave neighs/atom = 2561.6902 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + + +Total wall time: 0:00:00 diff --git a/examples/PACKAGES/dielectric/log.07Mar23.nopbc.icc.g++.1 b/examples/PACKAGES/dielectric/log.07Mar23.nopbc.icc.g++.1 new file mode 100644 index 0000000000..cdde6a228a --- /dev/null +++ b/examples/PACKAGES/dielectric/log.07Mar23.nopbc.icc.g++.1 @@ -0,0 +1,132 @@ +LAMMPS (8 Feb 2023) + using 1 OpenMP thread(s) per MPI task +# Interface +newton off +units lj +atom_style dielectric +atom_modify map array +dimension 3 +boundary f f f + +variable method index gmres # gmres = BEM/GMRES + # icc = BEM/ICC* + # dof = Direct optimization of the functional + # none + +variable data index data.sphere + +read_data ${data} +read_data data.sphere +Reading data file ... + orthogonal box = (0 0 0) to (100 100 100) + 1 by 1 by 1 MPI processor grid +WARNING: Atom style in data file differs from currently defined atom style (src/read_data.cpp:620) + reading atoms ... + 2563 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.011 seconds + +group interface type 1 +2562 atoms in group interface +group ions type 2 3 +1 atoms in group ions + +pair_style lj/cut/coul/cut/dielectric 1.122 20.0 +pair_coeff * * 1.0 1.0 +pair_coeff 1 1 0.0 1.0 + +neigh_modify one 5000 + +#compute ef all efield/atom +#dump 1 all custom 100 all.dump id mol type q x y z #c_ef[1] c_ef[2] c_ef[3] +# +#dump 2 interface custom 100 interface.dump id mol type q x y z #c_ef[1] c_ef[2] c_ef[3] +#dump_modify 1 sort id + +fix 1 ions nve + +if "${method} == gmres" then "fix 3 interface polarize/bem/gmres 1 1.0e-4" elif "${method} == icc" "fix 3 interface polarize/bem/icc 1 1.0e-4" elif "${method} == dof" "fix 3 interface polarize/functional 1 1.0e-4" else "print 'Unsupported method for polarization' " +fix 3 interface polarize/bem/icc 1 1.0e-4 + +thermo 1000 +thermo_style custom step evdwl ecoul elong epair +thermo_modify flush yes + +run 0 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- DIELECTRIC package: doi:10.1016/j.cpc.2019.03.006 + +@Article{TrungCPC19, + author = {Trung Dac Nguyen and Honghao Li and Debarshee Bagchi and Francisco J. Solis and Olvera de la Cruz, Monica} + title = {Incorporating Surface Polarization Effects Into Large-Scale + Coarse-Grained Molecular Dynamics Simulation}, + journal = {Comput.\ Phys.\ Commun.}, + year = 2019, + volume = 241, + pages = {80--91} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +BEM/ICC solver for 2562 induced charges + using pair style lj/cut/coul/cut/dielectric +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 5000, page size: 100000 + master list distance cutoff = 20.3 + ghost atom cutoff = 20.3 + binsize = 10.15, bins = 10 10 10 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut/coul/cut/dielectric, perpetual + attributes: full, newton off + pair build: full/bin + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 32.96 | 32.96 | 32.96 Mbytes + Step E_vdwl E_coul E_long E_pair + 0 0 2.1870503e-07 0 2.1870503e-07 +Loop time of 1.536e-06 on 1 procs for 0 steps with 2563 atoms + +195.3% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.536e-06 | | |100.00 + +Nlocal: 2563 ave 2563 max 2563 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 6.56561e+06 ave 6.56561e+06 max 6.56561e+06 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 6565612 +Ave neighs/atom = 2561.6902 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + + +Total wall time: 0:00:01 diff --git a/examples/PACKAGES/dielectric/log.07Mar23.nopbc.icc.g++.4 b/examples/PACKAGES/dielectric/log.07Mar23.nopbc.icc.g++.4 new file mode 100644 index 0000000000..e329d5c958 --- /dev/null +++ b/examples/PACKAGES/dielectric/log.07Mar23.nopbc.icc.g++.4 @@ -0,0 +1,132 @@ +LAMMPS (8 Feb 2023) + using 1 OpenMP thread(s) per MPI task +# Interface +newton off +units lj +atom_style dielectric +atom_modify map array +dimension 3 +boundary f f f + +variable method index gmres # gmres = BEM/GMRES + # icc = BEM/ICC* + # dof = Direct optimization of the functional + # none + +variable data index data.sphere + +read_data ${data} +read_data data.sphere +Reading data file ... + orthogonal box = (0 0 0) to (100 100 100) + 1 by 2 by 2 MPI processor grid +WARNING: Atom style in data file differs from currently defined atom style (src/read_data.cpp:620) + reading atoms ... + 2563 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.008 seconds + +group interface type 1 +2562 atoms in group interface +group ions type 2 3 +1 atoms in group ions + +pair_style lj/cut/coul/cut/dielectric 1.122 20.0 +pair_coeff * * 1.0 1.0 +pair_coeff 1 1 0.0 1.0 + +neigh_modify one 5000 + +#compute ef all efield/atom +#dump 1 all custom 100 all.dump id mol type q x y z #c_ef[1] c_ef[2] c_ef[3] +# +#dump 2 interface custom 100 interface.dump id mol type q x y z #c_ef[1] c_ef[2] c_ef[3] +#dump_modify 1 sort id + +fix 1 ions nve + +if "${method} == gmres" then "fix 3 interface polarize/bem/gmres 1 1.0e-4" elif "${method} == icc" "fix 3 interface polarize/bem/icc 1 1.0e-4" elif "${method} == dof" "fix 3 interface polarize/functional 1 1.0e-4" else "print 'Unsupported method for polarization' " +fix 3 interface polarize/bem/icc 1 1.0e-4 + +thermo 1000 +thermo_style custom step evdwl ecoul elong epair +thermo_modify flush yes + +run 0 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- DIELECTRIC package: doi:10.1016/j.cpc.2019.03.006 + +@Article{TrungCPC19, + author = {Trung Dac Nguyen and Honghao Li and Debarshee Bagchi and Francisco J. Solis and Olvera de la Cruz, Monica} + title = {Incorporating Surface Polarization Effects Into Large-Scale + Coarse-Grained Molecular Dynamics Simulation}, + journal = {Comput.\ Phys.\ Commun.}, + year = 2019, + volume = 241, + pages = {80--91} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +BEM/ICC solver for 2562 induced charges + using pair style lj/cut/coul/cut/dielectric +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 5000, page size: 100000 + master list distance cutoff = 20.3 + ghost atom cutoff = 20.3 + binsize = 10.15, bins = 10 10 10 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut/coul/cut/dielectric, perpetual + attributes: full, newton off + pair build: full/bin + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 14.03 | 14.12 | 14.41 Mbytes + Step E_vdwl E_coul E_long E_pair + 0 0 2.1870503e-07 0 2.1870503e-07 +Loop time of 2.408e-06 on 4 procs for 0 steps with 2563 atoms + +135.0% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 2.408e-06 | | |100.00 + +Nlocal: 640.75 ave 674 max 609 min +Histogram: 1 0 0 0 2 0 0 0 0 1 +Nghost: 1922.25 ave 1954 max 1889 min +Histogram: 1 0 0 0 0 2 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 1.6414e+06 ave 1.72639e+06 max 1.56007e+06 min +Histogram: 1 0 0 0 2 0 0 0 0 1 + +Total # of neighbors = 6565612 +Ave neighs/atom = 2561.6902 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + + +Total wall time: 0:00:00 From 9e57bedea2b4747376d8a9fc7f515a749e9d6817 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Tue, 7 Mar 2023 11:51:14 -0600 Subject: [PATCH 260/448] Fixed bugs when mistakenly replacing all "NULL" with "nullptr" with FixPolarizeFunctional, reduced the number of induced charges so that in.nopbc with dof finishes in a reasonable time --- examples/PACKAGES/dielectric/data.sphere | 3213 ++++---------------- examples/PACKAGES/dielectric/in.nopbc | 4 +- src/DIELECTRIC/fix_polarize_functional.cpp | 6 +- 3 files changed, 651 insertions(+), 2572 deletions(-) diff --git a/examples/PACKAGES/dielectric/data.sphere b/examples/PACKAGES/dielectric/data.sphere index 4a81df26ec..ede3849635 100644 --- a/examples/PACKAGES/dielectric/data.sphere +++ b/examples/PACKAGES/dielectric/data.sphere @@ -1,6 +1,6 @@ -LAMMPS data file: 2563 atoms for a single point charge near a dielectric sphere, 2564 for two opposite charges +LAMMPS data file: sphere radius = 5; ion distance to center = 7, epsilon inside = 35 outside = 80 -2563 atoms +643 atoms 3 atom types 0.000000 100.000000 xlo xhi @@ -14,2569 +14,648 @@ Masses 2 1 3 1 -Atoms # dielectric : id mol type q x y z normx normy normz area_per_patch ed em epsilon curvature +Atoms # dielectric -1 1 1 0 50 55.2573 41.4935 0 0.525731 -0.850651 0.490491 45 57.5 57.5 0 -2 1 1 0 50.4064 55.7206 41.8079 0.0406403 0.572055 -0.819208 0.490491 45 57.5 57.5 0 -3 1 1 0 49.5936 55.7206 41.8079 -0.0406403 0.572055 -0.819208 0.490491 45 57.5 57.5 0 -4 1 1 0 50.8109 56.1564 42.1616 0.081086 0.615642 -0.783843 0.490491 45 57.5 57.5 0 -5 1 1 0 50 56.1768 42.1357 0 0.617676 -0.786433 0.490491 45 57.5 57.5 0 -6 1 1 0 49.1891 56.1564 42.1616 -0.081086 0.615642 -0.783843 0.490491 45 57.5 57.5 0 -7 1 1 0 51.2114 56.5628 42.5527 0.121144 0.656282 -0.744727 0.490491 45 57.5 57.5 0 -8 1 1 0 50.4064 56.6088 42.5061 0.0406418 0.660883 -0.749387 0.490491 45 57.5 57.5 0 -9 1 1 0 51.6062 56.9378 42.9795 0.160622 0.69378 -0.702047 0.490491 45 57.5 57.5 0 -10 1 1 0 50.8057 57.0062 42.9103 0.0805729 0.700622 -0.708969 0.490491 45 57.5 57.5 0 -11 1 1 0 50 57.0291 42.8872 0 0.702907 -0.711282 0.490491 45 57.5 57.5 0 -12 1 1 0 49.5936 56.6088 42.5061 -0.0406418 0.660883 -0.749387 0.490491 45 57.5 57.5 0 -13 1 1 0 48.7886 56.5628 42.5527 -0.121144 0.656282 -0.744727 0.490491 45 57.5 57.5 0 -14 1 1 0 49.1943 57.0062 42.9103 -0.0805729 0.700622 -0.708969 0.490491 45 57.5 57.5 0 -15 1 1 0 48.3938 56.9378 42.9795 -0.160622 0.69378 -0.702047 0.490491 45 57.5 57.5 0 -16 1 1 0 51.9933 57.2796 43.4399 0.199331 0.727959 -0.656006 0.490491 45 57.5 57.5 0 -17 1 1 0 51.2119 57.3889 43.3716 0.121192 0.738887 -0.662842 0.490491 45 57.5 57.5 0 -18 1 1 0 52.3709 57.5865 43.9317 0.237086 0.758652 -0.606825 0.490491 45 57.5 57.5 0 -19 1 1 0 51.5961 57.7184 43.8454 0.159613 0.771841 -0.615456 0.490491 45 57.5 57.5 0 -20 1 1 0 50.8114 57.802 43.7976 0.0811417 0.780205 -0.620239 0.490491 45 57.5 57.5 0 -21 1 1 0 52.7371 57.8572 44.4526 0.273706 0.785715 -0.55474 0.490491 45 57.5 57.5 0 -22 1 1 0 51.9727 58.015 44.3549 0.197274 0.801504 -0.564513 0.490491 45 57.5 57.5 0 -23 1 1 0 53.0902 58.0902 45 0.309017 0.809017 -0.5 0.490491 45 57.5 57.5 0 -24 1 1 0 52.3345 58.2715 44.888 0.233445 0.827147 -0.511205 0.490491 45 57.5 57.5 0 -25 1 1 0 51.5643 58.4018 44.8074 0.156434 0.840178 -0.519259 0.490491 45 57.5 57.5 0 -26 1 1 0 51.1908 58.1217 44.2886 0.119078 0.81217 -0.57114 0.490491 45 57.5 57.5 0 -27 1 1 0 50.4067 58.1752 44.2554 0.040675 0.817523 -0.574458 0.490491 45 57.5 57.5 0 -28 1 1 0 50.7846 58.4803 44.7589 0.0784592 0.848029 -0.52411 0.490491 45 57.5 57.5 0 -29 1 1 0 50 58.5065 44.7427 0 0.850651 -0.525731 0.490491 45 57.5 57.5 0 -30 1 1 0 48.7881 57.3889 43.3716 -0.121192 0.738887 -0.662842 0.490491 45 57.5 57.5 0 -31 1 1 0 48.0067 57.2796 43.4399 -0.199331 0.727959 -0.656006 0.490491 45 57.5 57.5 0 -32 1 1 0 49.1886 57.802 43.7976 -0.0811417 0.780205 -0.620239 0.490491 45 57.5 57.5 0 -33 1 1 0 48.4039 57.7184 43.8454 -0.159613 0.771841 -0.615456 0.490491 45 57.5 57.5 0 -34 1 1 0 47.6291 57.5865 43.9317 -0.237086 0.758652 -0.606825 0.490491 45 57.5 57.5 0 -35 1 1 0 49.5933 58.1752 44.2554 -0.040675 0.817523 -0.574458 0.490491 45 57.5 57.5 0 -36 1 1 0 48.8092 58.1217 44.2886 -0.119078 0.81217 -0.57114 0.490491 45 57.5 57.5 0 -37 1 1 0 49.2154 58.4803 44.7589 -0.0784592 0.848029 -0.52411 0.490491 45 57.5 57.5 0 -38 1 1 0 48.4357 58.4018 44.8074 -0.156434 0.840178 -0.519259 0.490491 45 57.5 57.5 0 -39 1 1 0 48.0273 58.015 44.3549 -0.197274 0.801504 -0.564513 0.490491 45 57.5 57.5 0 -40 1 1 0 47.2629 57.8572 44.4526 -0.273706 0.785715 -0.55474 0.490491 45 57.5 57.5 0 -41 1 1 0 47.6655 58.2715 44.888 -0.233445 0.827147 -0.511205 0.490491 45 57.5 57.5 0 -42 1 1 0 46.9098 58.0902 45 -0.309017 0.809017 -0.5 0.490491 45 57.5 57.5 0 -43 1 1 0 50.4068 57.435 43.325 0.0406769 0.743496 -0.667502 0.490491 45 57.5 57.5 0 -44 1 1 0 50 57.8279 43.7771 0 0.782786 -0.622291 0.490491 45 57.5 57.5 0 -45 1 1 0 49.5932 57.435 43.325 -0.0406769 0.743496 -0.667502 0.490491 45 57.5 57.5 0 -46 1 1 0 53.4285 58.2845 45.5713 0.342848 0.828447 -0.442867 0.490491 45 57.5 57.5 0 -47 1 1 0 52.7469 58.5264 45.5554 0.274694 0.85264 -0.444464 0.490491 45 57.5 57.5 0 -48 1 1 0 53.7504 58.4391 46.1639 0.375038 0.843912 -0.383614 0.490491 45 57.5 57.5 0 -49 1 1 0 53.0766 58.6973 46.1409 0.307659 0.869725 -0.385906 0.490491 45 57.5 57.5 0 -50 1 1 0 52.3868 58.9101 46.1381 0.238677 0.891007 -0.386187 0.490491 45 57.5 57.5 0 -51 1 1 0 54.0543 58.5534 46.7748 0.405434 0.855337 -0.322525 0.490491 45 57.5 57.5 0 -52 1 1 0 53.3921 58.8284 46.7514 0.339209 0.882837 -0.324863 0.490491 45 57.5 57.5 0 -53 1 1 0 54.3389 58.6267 47.4011 0.433888 0.862669 -0.259892 0.490491 45 57.5 57.5 0 -54 1 1 0 53.6852 58.9174 47.3734 0.368518 0.891742 -0.262661 0.490491 45 57.5 57.5 0 -55 1 1 0 53.0126 59.1624 47.3592 0.301258 0.916244 -0.264082 0.490491 45 57.5 57.5 0 -56 1 1 0 52.7063 59.0583 46.7407 0.270627 0.905832 -0.325929 0.490491 45 57.5 57.5 0 -57 1 1 0 52.0119 59.2388 46.7447 0.201189 0.92388 -0.32553 0.490491 45 57.5 57.5 0 -58 1 1 0 52.3245 59.3605 47.3585 0.232455 0.93605 -0.264151 0.490491 45 57.5 57.5 0 -59 1 1 0 51.6246 59.5106 47.3713 0.16246 0.951057 -0.262865 0.490491 45 57.5 57.5 0 -60 1 1 0 54.6027 58.6587 48.0398 0.460266 0.865871 -0.196015 0.490491 45 57.5 57.5 0 -61 1 1 0 53.9735 58.964 48.0359 0.39735 0.896401 -0.196412 0.490491 45 57.5 57.5 0 -62 1 1 0 54.8444 58.6493 48.688 0.484441 0.864929 -0.1312 0.490491 45 57.5 57.5 0 -63 1 1 0 54.2236 58.968 48.6825 0.422363 0.896801 -0.131749 0.490491 45 57.5 57.5 0 -64 1 1 0 53.5823 59.243 48.6834 0.358229 0.924305 -0.131656 0.490491 45 57.5 57.5 0 -65 1 1 0 55.063 58.5985 49.3424 0.506298 0.859848 -0.0657577 0.490491 45 57.5 57.5 0 -66 1 1 0 54.4537 58.9293 49.3418 0.445365 0.892927 -0.0658169 0.490491 45 57.5 57.5 0 -67 1 1 0 55.2573 58.5065 50 0.525731 0.850651 0 0.490491 45 57.5 57.5 0 -68 1 1 0 54.6566 58.8497 50 0.465657 0.884965 0 0.490491 45 57.5 57.5 0 -69 1 1 0 54.0336 59.1504 50 0.403355 0.915043 0 0.490491 45 57.5 57.5 0 -70 1 1 0 53.8172 59.2192 49.3401 0.381722 0.921919 -0.0659886 0.490491 45 57.5 57.5 0 -71 1 1 0 53.1678 59.462 49.3396 0.316778 0.946198 -0.0660427 0.490491 45 57.5 57.5 0 -72 1 1 0 53.3912 59.4074 50 0.339122 0.940742 0 0.490491 45 57.5 57.5 0 -73 1 1 0 52.7327 59.6194 50 0.273267 0.961938 0 0.490491 45 57.5 57.5 0 -74 1 1 0 51.9178 59.6119 48.0166 0.19178 0.961188 -0.198337 0.490491 45 57.5 57.5 0 -75 1 1 0 51.2273 59.7237 48.0142 0.122729 0.97237 -0.198581 0.490491 45 57.5 57.5 0 -76 1 1 0 52.2012 59.6639 48.6721 0.220117 0.966393 -0.132792 0.490491 45 57.5 57.5 0 -77 1 1 0 51.5155 59.7943 48.6674 0.151549 0.979426 -0.133256 0.490491 45 57.5 57.5 0 -78 1 1 0 50.8224 59.8769 48.6693 0.0822422 0.987688 -0.133071 0.490491 45 57.5 57.5 0 -79 1 1 0 52.4733 59.6664 49.3343 0.247326 0.966643 -0.0665668 0.490491 45 57.5 57.5 0 -80 1 1 0 51.796 59.8148 49.334 0.179596 0.981483 -0.0666046 0.490491 45 57.5 57.5 0 -81 1 1 0 52.061 59.7853 50 0.206103 0.97853 0 0.490491 45 57.5 57.5 0 -82 1 1 0 51.3795 59.9044 50 0.137952 0.990439 0 0.490491 45 57.5 57.5 0 -83 1 1 0 51.1039 59.9165 49.3329 0.110385 0.991648 -0.0667095 0.490491 45 57.5 57.5 0 -84 1 1 0 50.4125 59.9692 49.3326 0.0412479 0.996917 -0.0667412 0.490491 45 57.5 57.5 0 -85 1 1 0 50.6914 59.9761 50 0.0691418 0.997607 0 0.490491 45 57.5 57.5 0 -86 1 1 0 50 60 50 0 1 0 0.490491 45 57.5 57.5 0 -87 1 1 0 53.3061 59.2268 48.0161 0.330606 0.922682 -0.198387 0.490491 45 57.5 57.5 0 -88 1 1 0 52.8993 59.4782 48.6743 0.289929 0.947822 -0.13257 0.490491 45 57.5 57.5 0 -89 1 1 0 52.6155 59.4443 48.0091 0.26155 0.944433 -0.199094 0.490491 45 57.5 57.5 0 -90 1 1 0 47.2531 58.5264 45.5554 -0.274694 0.85264 -0.444464 0.490491 45 57.5 57.5 0 -91 1 1 0 46.5715 58.2845 45.5713 -0.342848 0.828447 -0.442867 0.490491 45 57.5 57.5 0 -92 1 1 0 47.6132 58.9101 46.1381 -0.238677 0.891007 -0.386187 0.490491 45 57.5 57.5 0 -93 1 1 0 46.9234 58.6973 46.1409 -0.307659 0.869725 -0.385906 0.490491 45 57.5 57.5 0 -94 1 1 0 46.2496 58.4391 46.1639 -0.375038 0.843912 -0.383614 0.490491 45 57.5 57.5 0 -95 1 1 0 47.9881 59.2388 46.7447 -0.201189 0.92388 -0.32553 0.490491 45 57.5 57.5 0 -96 1 1 0 47.2937 59.0583 46.7407 -0.270627 0.905832 -0.325929 0.490491 45 57.5 57.5 0 -97 1 1 0 48.3754 59.5106 47.3713 -0.16246 0.951057 -0.262865 0.490491 45 57.5 57.5 0 -98 1 1 0 47.6755 59.3605 47.3585 -0.232455 0.93605 -0.264151 0.490491 45 57.5 57.5 0 -99 1 1 0 46.9874 59.1624 47.3592 -0.301258 0.916244 -0.264082 0.490491 45 57.5 57.5 0 -100 1 1 0 46.6079 58.8284 46.7514 -0.339209 0.882837 -0.324863 0.490491 45 57.5 57.5 0 -101 1 1 0 45.9457 58.5534 46.7748 -0.405434 0.855337 -0.322525 0.490491 45 57.5 57.5 0 -102 1 1 0 46.3148 58.9174 47.3734 -0.368518 0.891742 -0.262661 0.490491 45 57.5 57.5 0 -103 1 1 0 45.6611 58.6267 47.4011 -0.433888 0.862669 -0.259892 0.490491 45 57.5 57.5 0 -104 1 1 0 48.7727 59.7237 48.0142 -0.122729 0.97237 -0.198581 0.490491 45 57.5 57.5 0 -105 1 1 0 48.0822 59.6119 48.0166 -0.19178 0.961188 -0.198337 0.490491 45 57.5 57.5 0 -106 1 1 0 49.1776 59.8769 48.6693 -0.0822422 0.987688 -0.133071 0.490491 45 57.5 57.5 0 -107 1 1 0 48.4845 59.7943 48.6674 -0.151549 0.979426 -0.133256 0.490491 45 57.5 57.5 0 -108 1 1 0 47.7988 59.6639 48.6721 -0.220117 0.966393 -0.132792 0.490491 45 57.5 57.5 0 -109 1 1 0 49.5875 59.9692 49.3326 -0.0412479 0.996917 -0.0667412 0.490491 45 57.5 57.5 0 -110 1 1 0 48.8961 59.9165 49.3329 -0.110385 0.991648 -0.0667095 0.490491 45 57.5 57.5 0 -111 1 1 0 49.3086 59.9761 50 -0.0691418 0.997607 0 0.490491 45 57.5 57.5 0 -112 1 1 0 48.6205 59.9044 50 -0.137952 0.990439 0 0.490491 45 57.5 57.5 0 -113 1 1 0 48.204 59.8148 49.334 -0.179596 0.981483 -0.0666046 0.490491 45 57.5 57.5 0 -114 1 1 0 47.5267 59.6664 49.3343 -0.247326 0.966643 -0.0665668 0.490491 45 57.5 57.5 0 -115 1 1 0 47.939 59.7853 50 -0.206103 0.97853 0 0.490491 45 57.5 57.5 0 -116 1 1 0 47.2673 59.6194 50 -0.273267 0.961938 0 0.490491 45 57.5 57.5 0 -117 1 1 0 46.0265 58.964 48.0359 -0.39735 0.896401 -0.196412 0.490491 45 57.5 57.5 0 -118 1 1 0 45.3973 58.6587 48.0398 -0.460266 0.865871 -0.196015 0.490491 45 57.5 57.5 0 -119 1 1 0 46.4177 59.243 48.6834 -0.358229 0.924305 -0.131656 0.490491 45 57.5 57.5 0 -120 1 1 0 45.7764 58.968 48.6825 -0.422363 0.896801 -0.131749 0.490491 45 57.5 57.5 0 -121 1 1 0 45.1556 58.6493 48.688 -0.484441 0.864929 -0.1312 0.490491 45 57.5 57.5 0 -122 1 1 0 46.8322 59.462 49.3396 -0.316778 0.946198 -0.0660427 0.490491 45 57.5 57.5 0 -123 1 1 0 46.1828 59.2192 49.3401 -0.381722 0.921919 -0.0659886 0.490491 45 57.5 57.5 0 -124 1 1 0 46.6088 59.4074 50 -0.339122 0.940742 0 0.490491 45 57.5 57.5 0 -125 1 1 0 45.9664 59.1504 50 -0.403355 0.915043 0 0.490491 45 57.5 57.5 0 -126 1 1 0 45.5463 58.9293 49.3418 -0.445365 0.892927 -0.0658169 0.490491 45 57.5 57.5 0 -127 1 1 0 44.937 58.5985 49.3424 -0.506298 0.859848 -0.0657577 0.490491 45 57.5 57.5 0 -128 1 1 0 45.3434 58.8497 50 -0.465657 0.884965 0 0.490491 45 57.5 57.5 0 -129 1 1 0 44.7427 58.5065 50 -0.525731 0.850651 0 0.490491 45 57.5 57.5 0 -130 1 1 0 47.3845 59.4443 48.0091 -0.26155 0.944433 -0.199094 0.490491 45 57.5 57.5 0 -131 1 1 0 47.1007 59.4782 48.6743 -0.289929 0.947822 -0.13257 0.490491 45 57.5 57.5 0 -132 1 1 0 46.6939 59.2268 48.0161 -0.330606 0.922682 -0.198387 0.490491 45 57.5 57.5 0 -133 1 1 0 51.9823 58.6853 45.4574 0.198227 0.868535 -0.454262 0.490491 45 57.5 57.5 0 -134 1 1 0 51.6101 59.0484 46.0586 0.161007 0.904839 -0.394136 0.490491 45 57.5 57.5 0 -135 1 1 0 51.228 59.3513 46.6766 0.1228 0.93513 -0.332342 0.490491 45 57.5 57.5 0 -136 1 1 0 50.8232 59.1298 46.0039 0.0823235 0.912983 -0.399607 0.490491 45 57.5 57.5 0 -137 1 1 0 51.1976 58.7934 45.3912 0.119755 0.879344 -0.460882 0.490491 45 57.5 57.5 0 -138 1 1 0 50.413 58.8476 45.3579 0.0412991 0.88476 -0.464213 0.490491 45 57.5 57.5 0 -139 1 1 0 50.815 59.6065 47.3448 0.081501 0.960655 -0.265519 0.490491 45 57.5 57.5 0 -140 1 1 0 50.4125 59.7885 47.9963 0.0412506 0.978852 -0.200368 0.490491 45 57.5 57.5 0 -141 1 1 0 50 59.6386 47.336 0 0.963861 -0.266405 0.490491 45 57.5 57.5 0 -142 1 1 0 50 59.9105 48.6648 0 0.991046 -0.133524 0.490491 45 57.5 57.5 0 -143 1 1 0 49.5875 59.7885 47.9963 -0.0412506 0.978852 -0.200368 0.490491 45 57.5 57.5 0 -144 1 1 0 49.185 59.6065 47.3448 -0.081501 0.960655 -0.265519 0.490491 45 57.5 57.5 0 -145 1 1 0 49.587 58.8476 45.3579 -0.0412991 0.88476 -0.464213 0.490491 45 57.5 57.5 0 -146 1 1 0 49.1768 59.1298 46.0039 -0.0823235 0.912983 -0.399607 0.490491 45 57.5 57.5 0 -147 1 1 0 48.8024 58.7934 45.3912 -0.119755 0.879344 -0.460882 0.490491 45 57.5 57.5 0 -148 1 1 0 48.772 59.3513 46.6766 -0.1228 0.93513 -0.332342 0.490491 45 57.5 57.5 0 -149 1 1 0 48.3899 59.0484 46.0586 -0.161007 0.904839 -0.394136 0.490491 45 57.5 57.5 0 -150 1 1 0 48.0177 58.6853 45.4574 -0.198227 0.868535 -0.454262 0.490491 45 57.5 57.5 0 -151 1 1 0 50.413 59.4162 46.6586 0.0413021 0.941618 -0.33414 0.490491 45 57.5 57.5 0 -152 1 1 0 49.587 59.4162 46.6586 -0.0413021 0.941618 -0.33414 0.490491 45 57.5 57.5 0 -153 1 1 0 50 59.1609 45.9903 0 0.916092 -0.400968 0.490491 45 57.5 57.5 0 -154 1 1 0 50 55.2573 58.5065 0 0.525731 0.850651 0.490491 45 57.5 57.5 0 -155 1 1 0 49.5936 55.7206 58.1921 -0.0406403 0.572055 0.819208 0.490491 45 57.5 57.5 0 -156 1 1 0 50.4064 55.7206 58.1921 0.0406403 0.572055 0.819208 0.490491 45 57.5 57.5 0 -157 1 1 0 49.1891 56.1564 57.8384 -0.081086 0.615642 0.783843 0.490491 45 57.5 57.5 0 -158 1 1 0 50 56.1768 57.8643 0 0.617676 0.786433 0.490491 45 57.5 57.5 0 -159 1 1 0 50.8109 56.1564 57.8384 0.081086 0.615642 0.783843 0.490491 45 57.5 57.5 0 -160 1 1 0 48.7886 56.5628 57.4473 -0.121144 0.656282 0.744727 0.490491 45 57.5 57.5 0 -161 1 1 0 49.5936 56.6088 57.4939 -0.0406418 0.660883 0.749387 0.490491 45 57.5 57.5 0 -162 1 1 0 48.3938 56.9378 57.0205 -0.160622 0.69378 0.702047 0.490491 45 57.5 57.5 0 -163 1 1 0 49.1943 57.0062 57.0897 -0.0805729 0.700622 0.708969 0.490491 45 57.5 57.5 0 -164 1 1 0 50 57.0291 57.1128 0 0.702907 0.711282 0.490491 45 57.5 57.5 0 -165 1 1 0 50.4064 56.6088 57.4939 0.0406418 0.660883 0.749387 0.490491 45 57.5 57.5 0 -166 1 1 0 51.2114 56.5628 57.4473 0.121144 0.656282 0.744727 0.490491 45 57.5 57.5 0 -167 1 1 0 50.8057 57.0062 57.0897 0.0805729 0.700622 0.708969 0.490491 45 57.5 57.5 0 -168 1 1 0 51.6062 56.9378 57.0205 0.160622 0.69378 0.702047 0.490491 45 57.5 57.5 0 -169 1 1 0 48.0067 57.2796 56.5601 -0.199331 0.727959 0.656006 0.490491 45 57.5 57.5 0 -170 1 1 0 48.7881 57.3889 56.6284 -0.121192 0.738887 0.662842 0.490491 45 57.5 57.5 0 -171 1 1 0 47.6291 57.5865 56.0683 -0.237086 0.758652 0.606825 0.490491 45 57.5 57.5 0 -172 1 1 0 48.4039 57.7184 56.1546 -0.159613 0.771841 0.615456 0.490491 45 57.5 57.5 0 -173 1 1 0 49.1886 57.802 56.2024 -0.0811417 0.780205 0.620239 0.490491 45 57.5 57.5 0 -174 1 1 0 47.2629 57.8572 55.5474 -0.273706 0.785715 0.55474 0.490491 45 57.5 57.5 0 -175 1 1 0 48.0273 58.015 55.6451 -0.197274 0.801504 0.564513 0.490491 45 57.5 57.5 0 -176 1 1 0 46.9098 58.0902 55 -0.309017 0.809017 0.5 0.490491 45 57.5 57.5 0 -177 1 1 0 47.6655 58.2715 55.112 -0.233445 0.827147 0.511205 0.490491 45 57.5 57.5 0 -178 1 1 0 48.4357 58.4018 55.1926 -0.156434 0.840178 0.519259 0.490491 45 57.5 57.5 0 -179 1 1 0 48.8092 58.1217 55.7114 -0.119078 0.81217 0.57114 0.490491 45 57.5 57.5 0 -180 1 1 0 49.5933 58.1752 55.7446 -0.040675 0.817523 0.574458 0.490491 45 57.5 57.5 0 -181 1 1 0 49.2154 58.4803 55.2411 -0.0784592 0.848029 0.52411 0.490491 45 57.5 57.5 0 -182 1 1 0 50 58.5065 55.2573 0 0.850651 0.525731 0.490491 45 57.5 57.5 0 -183 1 1 0 51.2119 57.3889 56.6284 0.121192 0.738887 0.662842 0.490491 45 57.5 57.5 0 -184 1 1 0 51.9933 57.2796 56.5601 0.199331 0.727959 0.656006 0.490491 45 57.5 57.5 0 -185 1 1 0 50.8114 57.802 56.2024 0.0811417 0.780205 0.620239 0.490491 45 57.5 57.5 0 -186 1 1 0 51.5961 57.7184 56.1546 0.159613 0.771841 0.615456 0.490491 45 57.5 57.5 0 -187 1 1 0 52.3709 57.5865 56.0683 0.237086 0.758652 0.606825 0.490491 45 57.5 57.5 0 -188 1 1 0 50.4067 58.1752 55.7446 0.040675 0.817523 0.574458 0.490491 45 57.5 57.5 0 -189 1 1 0 51.1908 58.1217 55.7114 0.119078 0.81217 0.57114 0.490491 45 57.5 57.5 0 -190 1 1 0 50.7846 58.4803 55.2411 0.0784592 0.848029 0.52411 0.490491 45 57.5 57.5 0 -191 1 1 0 51.5643 58.4018 55.1926 0.156434 0.840178 0.519259 0.490491 45 57.5 57.5 0 -192 1 1 0 51.9727 58.015 55.6451 0.197274 0.801504 0.564513 0.490491 45 57.5 57.5 0 -193 1 1 0 52.7371 57.8572 55.5474 0.273706 0.785715 0.55474 0.490491 45 57.5 57.5 0 -194 1 1 0 52.3345 58.2715 55.112 0.233445 0.827147 0.511205 0.490491 45 57.5 57.5 0 -195 1 1 0 53.0902 58.0902 55 0.309017 0.809017 0.5 0.490491 45 57.5 57.5 0 -196 1 1 0 49.5932 57.435 56.675 -0.0406769 0.743496 0.667502 0.490491 45 57.5 57.5 0 -197 1 1 0 50 57.8279 56.2229 0 0.782786 0.622291 0.490491 45 57.5 57.5 0 -198 1 1 0 50.4068 57.435 56.675 0.0406769 0.743496 0.667502 0.490491 45 57.5 57.5 0 -199 1 1 0 46.5715 58.2845 54.4287 -0.342848 0.828447 0.442867 0.490491 45 57.5 57.5 0 -200 1 1 0 47.2531 58.5264 54.4446 -0.274694 0.85264 0.444464 0.490491 45 57.5 57.5 0 -201 1 1 0 46.2496 58.4391 53.8361 -0.375038 0.843912 0.383614 0.490491 45 57.5 57.5 0 -202 1 1 0 46.9234 58.6973 53.8591 -0.307659 0.869725 0.385906 0.490491 45 57.5 57.5 0 -203 1 1 0 47.6132 58.9101 53.8619 -0.238677 0.891007 0.386187 0.490491 45 57.5 57.5 0 -204 1 1 0 45.9457 58.5534 53.2252 -0.405434 0.855337 0.322525 0.490491 45 57.5 57.5 0 -205 1 1 0 46.6079 58.8284 53.2486 -0.339209 0.882837 0.324863 0.490491 45 57.5 57.5 0 -206 1 1 0 45.6611 58.6267 52.5989 -0.433888 0.862669 0.259892 0.490491 45 57.5 57.5 0 -207 1 1 0 46.3148 58.9174 52.6266 -0.368518 0.891742 0.262661 0.490491 45 57.5 57.5 0 -208 1 1 0 46.9874 59.1624 52.6408 -0.301258 0.916244 0.264082 0.490491 45 57.5 57.5 0 -209 1 1 0 47.2937 59.0583 53.2593 -0.270627 0.905832 0.325929 0.490491 45 57.5 57.5 0 -210 1 1 0 47.9881 59.2388 53.2553 -0.201189 0.92388 0.32553 0.490491 45 57.5 57.5 0 -211 1 1 0 47.6755 59.3605 52.6415 -0.232455 0.93605 0.264151 0.490491 45 57.5 57.5 0 -212 1 1 0 48.3754 59.5106 52.6287 -0.16246 0.951057 0.262865 0.490491 45 57.5 57.5 0 -213 1 1 0 45.3973 58.6587 51.9602 -0.460266 0.865871 0.196015 0.490491 45 57.5 57.5 0 -214 1 1 0 46.0265 58.964 51.9641 -0.39735 0.896401 0.196412 0.490491 45 57.5 57.5 0 -215 1 1 0 45.1556 58.6493 51.312 -0.484441 0.864929 0.1312 0.490491 45 57.5 57.5 0 -216 1 1 0 45.7764 58.968 51.3175 -0.422363 0.896801 0.131749 0.490491 45 57.5 57.5 0 -217 1 1 0 46.4177 59.243 51.3166 -0.358229 0.924305 0.131656 0.490491 45 57.5 57.5 0 -218 1 1 0 44.937 58.5985 50.6576 -0.506298 0.859848 0.0657577 0.490491 45 57.5 57.5 0 -219 1 1 0 45.5463 58.9293 50.6582 -0.445365 0.892927 0.0658169 0.490491 45 57.5 57.5 0 -220 1 1 0 46.1828 59.2192 50.6599 -0.381722 0.921919 0.0659886 0.490491 45 57.5 57.5 0 -221 1 1 0 46.8322 59.462 50.6604 -0.316778 0.946198 0.0660427 0.490491 45 57.5 57.5 0 -222 1 1 0 48.0822 59.6119 51.9834 -0.19178 0.961188 0.198337 0.490491 45 57.5 57.5 0 -223 1 1 0 48.7727 59.7237 51.9858 -0.122729 0.97237 0.198581 0.490491 45 57.5 57.5 0 -224 1 1 0 47.7988 59.6639 51.3279 -0.220117 0.966393 0.132792 0.490491 45 57.5 57.5 0 -225 1 1 0 48.4845 59.7943 51.3326 -0.151549 0.979426 0.133256 0.490491 45 57.5 57.5 0 -226 1 1 0 49.1776 59.8769 51.3307 -0.0822422 0.987688 0.133071 0.490491 45 57.5 57.5 0 -227 1 1 0 47.5267 59.6664 50.6657 -0.247326 0.966643 0.0665668 0.490491 45 57.5 57.5 0 -228 1 1 0 48.204 59.8148 50.666 -0.179596 0.981483 0.0666046 0.490491 45 57.5 57.5 0 -229 1 1 0 48.8961 59.9165 50.6671 -0.110385 0.991648 0.0667095 0.490491 45 57.5 57.5 0 -230 1 1 0 49.5875 59.9692 50.6674 -0.0412479 0.996917 0.0667412 0.490491 45 57.5 57.5 0 -231 1 1 0 46.6939 59.2268 51.9839 -0.330606 0.922682 0.198387 0.490491 45 57.5 57.5 0 -232 1 1 0 47.1007 59.4782 51.3257 -0.289929 0.947822 0.13257 0.490491 45 57.5 57.5 0 -233 1 1 0 47.3845 59.4443 51.9909 -0.26155 0.944433 0.199094 0.490491 45 57.5 57.5 0 -234 1 1 0 52.7469 58.5264 54.4446 0.274694 0.85264 0.444464 0.490491 45 57.5 57.5 0 -235 1 1 0 53.4285 58.2845 54.4287 0.342848 0.828447 0.442867 0.490491 45 57.5 57.5 0 -236 1 1 0 52.3868 58.9101 53.8619 0.238677 0.891007 0.386187 0.490491 45 57.5 57.5 0 -237 1 1 0 53.0766 58.6973 53.8591 0.307659 0.869725 0.385906 0.490491 45 57.5 57.5 0 -238 1 1 0 53.7504 58.4391 53.8361 0.375038 0.843912 0.383614 0.490491 45 57.5 57.5 0 -239 1 1 0 52.0119 59.2388 53.2553 0.201189 0.92388 0.32553 0.490491 45 57.5 57.5 0 -240 1 1 0 52.7063 59.0583 53.2593 0.270627 0.905832 0.325929 0.490491 45 57.5 57.5 0 -241 1 1 0 51.6246 59.5106 52.6287 0.16246 0.951057 0.262865 0.490491 45 57.5 57.5 0 -242 1 1 0 52.3245 59.3605 52.6415 0.232455 0.93605 0.264151 0.490491 45 57.5 57.5 0 -243 1 1 0 53.0126 59.1624 52.6408 0.301258 0.916244 0.264082 0.490491 45 57.5 57.5 0 -244 1 1 0 53.3921 58.8284 53.2486 0.339209 0.882837 0.324863 0.490491 45 57.5 57.5 0 -245 1 1 0 54.0543 58.5534 53.2252 0.405434 0.855337 0.322525 0.490491 45 57.5 57.5 0 -246 1 1 0 53.6852 58.9174 52.6266 0.368518 0.891742 0.262661 0.490491 45 57.5 57.5 0 -247 1 1 0 54.3389 58.6267 52.5989 0.433888 0.862669 0.259892 0.490491 45 57.5 57.5 0 -248 1 1 0 51.2273 59.7237 51.9858 0.122729 0.97237 0.198581 0.490491 45 57.5 57.5 0 -249 1 1 0 51.9178 59.6119 51.9834 0.19178 0.961188 0.198337 0.490491 45 57.5 57.5 0 -250 1 1 0 50.8224 59.8769 51.3307 0.0822422 0.987688 0.133071 0.490491 45 57.5 57.5 0 -251 1 1 0 51.5155 59.7943 51.3326 0.151549 0.979426 0.133256 0.490491 45 57.5 57.5 0 -252 1 1 0 52.2012 59.6639 51.3279 0.220117 0.966393 0.132792 0.490491 45 57.5 57.5 0 -253 1 1 0 50.4125 59.9692 50.6674 0.0412479 0.996917 0.0667412 0.490491 45 57.5 57.5 0 -254 1 1 0 51.1039 59.9165 50.6671 0.110385 0.991648 0.0667095 0.490491 45 57.5 57.5 0 -255 1 1 0 51.796 59.8148 50.666 0.179596 0.981483 0.0666046 0.490491 45 57.5 57.5 0 -256 1 1 0 52.4733 59.6664 50.6657 0.247326 0.966643 0.0665668 0.490491 45 57.5 57.5 0 -257 1 1 0 53.9735 58.964 51.9641 0.39735 0.896401 0.196412 0.490491 45 57.5 57.5 0 -258 1 1 0 54.6027 58.6587 51.9602 0.460266 0.865871 0.196015 0.490491 45 57.5 57.5 0 -259 1 1 0 53.5823 59.243 51.3166 0.358229 0.924305 0.131656 0.490491 45 57.5 57.5 0 -260 1 1 0 54.2236 58.968 51.3175 0.422363 0.896801 0.131749 0.490491 45 57.5 57.5 0 -261 1 1 0 54.8444 58.6493 51.312 0.484441 0.864929 0.1312 0.490491 45 57.5 57.5 0 -262 1 1 0 53.1678 59.462 50.6604 0.316778 0.946198 0.0660427 0.490491 45 57.5 57.5 0 -263 1 1 0 53.8172 59.2192 50.6599 0.381722 0.921919 0.0659886 0.490491 45 57.5 57.5 0 -264 1 1 0 54.4537 58.9293 50.6582 0.445365 0.892927 0.0658169 0.490491 45 57.5 57.5 0 -265 1 1 0 55.063 58.5985 50.6576 0.506298 0.859848 0.0657577 0.490491 45 57.5 57.5 0 -266 1 1 0 52.6155 59.4443 51.9909 0.26155 0.944433 0.199094 0.490491 45 57.5 57.5 0 -267 1 1 0 52.8993 59.4782 51.3257 0.289929 0.947822 0.13257 0.490491 45 57.5 57.5 0 -268 1 1 0 53.3061 59.2268 51.9839 0.330606 0.922682 0.198387 0.490491 45 57.5 57.5 0 -269 1 1 0 48.0177 58.6853 54.5426 -0.198227 0.868535 0.454262 0.490491 45 57.5 57.5 0 -270 1 1 0 48.3899 59.0484 53.9414 -0.161007 0.904839 0.394136 0.490491 45 57.5 57.5 0 -271 1 1 0 48.772 59.3513 53.3234 -0.1228 0.93513 0.332342 0.490491 45 57.5 57.5 0 -272 1 1 0 49.1768 59.1298 53.9961 -0.0823235 0.912983 0.399607 0.490491 45 57.5 57.5 0 -273 1 1 0 48.8024 58.7934 54.6088 -0.119755 0.879344 0.460882 0.490491 45 57.5 57.5 0 -274 1 1 0 49.587 58.8476 54.6421 -0.0412991 0.88476 0.464213 0.490491 45 57.5 57.5 0 -275 1 1 0 49.185 59.6065 52.6552 -0.081501 0.960655 0.265519 0.490491 45 57.5 57.5 0 -276 1 1 0 49.5875 59.7885 52.0037 -0.0412506 0.978852 0.200368 0.490491 45 57.5 57.5 0 -277 1 1 0 50 59.6386 52.664 0 0.963861 0.266405 0.490491 45 57.5 57.5 0 -278 1 1 0 50 59.9105 51.3352 0 0.991046 0.133524 0.490491 45 57.5 57.5 0 -279 1 1 0 50.4125 59.7885 52.0037 0.0412506 0.978852 0.200368 0.490491 45 57.5 57.5 0 -280 1 1 0 50.815 59.6065 52.6552 0.081501 0.960655 0.265519 0.490491 45 57.5 57.5 0 -281 1 1 0 50.413 58.8476 54.6421 0.0412991 0.88476 0.464213 0.490491 45 57.5 57.5 0 -282 1 1 0 50.8232 59.1298 53.9961 0.0823235 0.912983 0.399607 0.490491 45 57.5 57.5 0 -283 1 1 0 51.1976 58.7934 54.6088 0.119755 0.879344 0.460882 0.490491 45 57.5 57.5 0 -284 1 1 0 51.228 59.3513 53.3234 0.1228 0.93513 0.332342 0.490491 45 57.5 57.5 0 -285 1 1 0 51.6101 59.0484 53.9414 0.161007 0.904839 0.394136 0.490491 45 57.5 57.5 0 -286 1 1 0 51.9823 58.6853 54.5426 0.198227 0.868535 0.454262 0.490491 45 57.5 57.5 0 -287 1 1 0 49.587 59.4162 53.3414 -0.0413021 0.941618 0.33414 0.490491 45 57.5 57.5 0 -288 1 1 0 50.413 59.4162 53.3414 0.0413021 0.941618 0.33414 0.490491 45 57.5 57.5 0 -289 1 1 0 50 59.1609 54.0097 0 0.916092 0.400968 0.490491 45 57.5 57.5 0 -290 1 1 0 50 54.6566 58.8497 0 0.465657 0.884965 0.490491 45 57.5 57.5 0 -291 1 1 0 49.3424 55.063 58.5985 -0.0657577 0.506298 0.859848 0.490491 45 57.5 57.5 0 -292 1 1 0 50 54.0336 59.1504 0 0.403355 0.915043 0.490491 45 57.5 57.5 0 -293 1 1 0 49.3418 54.4537 58.9293 -0.0658169 0.445365 0.892927 0.490491 45 57.5 57.5 0 -294 1 1 0 48.688 54.8444 58.6493 -0.1312 0.484441 0.864929 0.490491 45 57.5 57.5 0 -295 1 1 0 50 53.3912 59.4074 0 0.339122 0.940742 0.490491 45 57.5 57.5 0 -296 1 1 0 49.3401 53.8172 59.2192 -0.0659885 0.381722 0.921919 0.490491 45 57.5 57.5 0 -297 1 1 0 50 52.7327 59.6194 0 0.273267 0.961938 0.490491 45 57.5 57.5 0 -298 1 1 0 49.3396 53.1678 59.462 -0.0660427 0.316778 0.946198 0.490491 45 57.5 57.5 0 -299 1 1 0 48.6834 53.5823 59.243 -0.131656 0.358229 0.924305 0.490491 45 57.5 57.5 0 -300 1 1 0 48.6825 54.2236 58.968 -0.131749 0.422363 0.896801 0.490491 45 57.5 57.5 0 -301 1 1 0 48.0398 54.6027 58.6587 -0.196015 0.460266 0.865871 0.490491 45 57.5 57.5 0 -302 1 1 0 48.0359 53.9735 58.964 -0.196412 0.39735 0.896401 0.490491 45 57.5 57.5 0 -303 1 1 0 47.4011 54.3389 58.6267 -0.259892 0.433888 0.862669 0.490491 45 57.5 57.5 0 -304 1 1 0 50 52.061 59.7853 0 0.206103 0.97853 0.490491 45 57.5 57.5 0 -305 1 1 0 49.3343 52.4733 59.6664 -0.0665668 0.247326 0.966643 0.490491 45 57.5 57.5 0 -306 1 1 0 50 51.3795 59.9044 0 0.137952 0.990439 0.490491 45 57.5 57.5 0 -307 1 1 0 49.334 51.796 59.8148 -0.0666046 0.179596 0.981483 0.490491 45 57.5 57.5 0 -308 1 1 0 48.6721 52.2012 59.6639 -0.132792 0.220117 0.966393 0.490491 45 57.5 57.5 0 -309 1 1 0 50 50.6914 59.9761 0 0.0691418 0.997607 0.490491 45 57.5 57.5 0 -310 1 1 0 49.3329 51.1039 59.9165 -0.0667095 0.110385 0.991648 0.490491 45 57.5 57.5 0 -311 1 1 0 50 50 60 0 0 1 0.490491 45 57.5 57.5 0 -312 1 1 0 49.3326 50.4125 59.9692 -0.0667412 0.0412479 0.996917 0.490491 45 57.5 57.5 0 -313 1 1 0 48.6693 50.8224 59.8769 -0.133071 0.0822422 0.987688 0.490491 45 57.5 57.5 0 -314 1 1 0 48.6674 51.5155 59.7943 -0.133256 0.151549 0.979426 0.490491 45 57.5 57.5 0 -315 1 1 0 48.0166 51.9178 59.6119 -0.198337 0.19178 0.961188 0.490491 45 57.5 57.5 0 -316 1 1 0 48.0142 51.2273 59.7237 -0.198581 0.122729 0.97237 0.490491 45 57.5 57.5 0 -317 1 1 0 47.3713 51.6246 59.5106 -0.262865 0.16246 0.951057 0.490491 45 57.5 57.5 0 -318 1 1 0 47.3734 53.6852 58.9174 -0.262661 0.368518 0.891742 0.490491 45 57.5 57.5 0 -319 1 1 0 46.7748 54.0543 58.5534 -0.322525 0.405434 0.855337 0.490491 45 57.5 57.5 0 -320 1 1 0 47.3592 53.0126 59.1624 -0.264082 0.301258 0.916244 0.490491 45 57.5 57.5 0 -321 1 1 0 46.7514 53.3921 58.8284 -0.324863 0.339209 0.882837 0.490491 45 57.5 57.5 0 -322 1 1 0 46.1639 53.7504 58.4391 -0.383614 0.375038 0.843912 0.490491 45 57.5 57.5 0 -323 1 1 0 47.3585 52.3245 59.3605 -0.264151 0.232455 0.93605 0.490491 45 57.5 57.5 0 -324 1 1 0 46.7407 52.7063 59.0583 -0.325929 0.270627 0.905832 0.490491 45 57.5 57.5 0 -325 1 1 0 46.7447 52.0119 59.2388 -0.32553 0.201189 0.92388 0.490491 45 57.5 57.5 0 -326 1 1 0 46.1381 52.3868 58.9101 -0.386187 0.238677 0.891007 0.490491 45 57.5 57.5 0 -327 1 1 0 46.1409 53.0766 58.6973 -0.385906 0.307659 0.869725 0.490491 45 57.5 57.5 0 -328 1 1 0 45.5713 53.4285 58.2845 -0.442867 0.342848 0.828447 0.490491 45 57.5 57.5 0 -329 1 1 0 45.5554 52.7469 58.5264 -0.444464 0.274694 0.85264 0.490491 45 57.5 57.5 0 -330 1 1 0 45 53.0902 58.0902 -0.5 0.309017 0.809017 0.490491 45 57.5 57.5 0 -331 1 1 0 48.6743 52.8993 59.4782 -0.13257 0.289929 0.947822 0.490491 45 57.5 57.5 0 -332 1 1 0 48.0091 52.6155 59.4443 -0.199094 0.26155 0.944433 0.490491 45 57.5 57.5 0 -333 1 1 0 48.0161 53.3061 59.2268 -0.198387 0.330606 0.922682 0.490491 45 57.5 57.5 0 -334 1 1 0 50 49.3086 59.9761 0 -0.0691418 0.997607 0.490491 45 57.5 57.5 0 -335 1 1 0 49.3326 49.5875 59.9692 -0.0667412 -0.0412479 0.996917 0.490491 45 57.5 57.5 0 -336 1 1 0 50 48.6205 59.9044 0 -0.137952 0.990439 0.490491 45 57.5 57.5 0 -337 1 1 0 49.3329 48.8961 59.9165 -0.0667095 -0.110385 0.991648 0.490491 45 57.5 57.5 0 -338 1 1 0 48.6693 49.1776 59.8769 -0.133071 -0.0822422 0.987688 0.490491 45 57.5 57.5 0 -339 1 1 0 50 47.939 59.7853 0 -0.206103 0.97853 0.490491 45 57.5 57.5 0 -340 1 1 0 49.334 48.204 59.8148 -0.0666046 -0.179596 0.981483 0.490491 45 57.5 57.5 0 -341 1 1 0 50 47.2673 59.6194 0 -0.273267 0.961938 0.490491 45 57.5 57.5 0 -342 1 1 0 49.3343 47.5267 59.6664 -0.0665668 -0.247326 0.966643 0.490491 45 57.5 57.5 0 -343 1 1 0 48.6721 47.7988 59.6639 -0.132792 -0.220117 0.966393 0.490491 45 57.5 57.5 0 -344 1 1 0 48.6674 48.4845 59.7943 -0.133256 -0.151549 0.979426 0.490491 45 57.5 57.5 0 -345 1 1 0 48.0142 48.7727 59.7237 -0.198581 -0.122729 0.97237 0.490491 45 57.5 57.5 0 -346 1 1 0 48.0166 48.0822 59.6119 -0.198337 -0.19178 0.961188 0.490491 45 57.5 57.5 0 -347 1 1 0 47.3713 48.3754 59.5106 -0.262865 -0.16246 0.951057 0.490491 45 57.5 57.5 0 -348 1 1 0 50 46.6088 59.4074 0 -0.339122 0.940742 0.490491 45 57.5 57.5 0 -349 1 1 0 49.3396 46.8322 59.462 -0.0660427 -0.316778 0.946198 0.490491 45 57.5 57.5 0 -350 1 1 0 50 45.9664 59.1504 0 -0.403355 0.915043 0.490491 45 57.5 57.5 0 -351 1 1 0 49.3401 46.1828 59.2192 -0.0659885 -0.381722 0.921919 0.490491 45 57.5 57.5 0 -352 1 1 0 48.6834 46.4177 59.243 -0.131656 -0.358229 0.924305 0.490491 45 57.5 57.5 0 -353 1 1 0 50 45.3434 58.8497 0 -0.465657 0.884965 0.490491 45 57.5 57.5 0 -354 1 1 0 49.3418 45.5463 58.9293 -0.0658169 -0.445365 0.892927 0.490491 45 57.5 57.5 0 -355 1 1 0 50 44.7427 58.5065 0 -0.525731 0.850651 0.490491 45 57.5 57.5 0 -356 1 1 0 49.3424 44.937 58.5985 -0.0657577 -0.506298 0.859848 0.490491 45 57.5 57.5 0 -357 1 1 0 48.688 45.1556 58.6493 -0.1312 -0.484441 0.864929 0.490491 45 57.5 57.5 0 -358 1 1 0 48.6825 45.7764 58.968 -0.131749 -0.422363 0.896801 0.490491 45 57.5 57.5 0 -359 1 1 0 48.0359 46.0265 58.964 -0.196412 -0.39735 0.896401 0.490491 45 57.5 57.5 0 -360 1 1 0 48.0398 45.3973 58.6587 -0.196015 -0.460266 0.865871 0.490491 45 57.5 57.5 0 -361 1 1 0 47.4011 45.6611 58.6267 -0.259892 -0.433888 0.862669 0.490491 45 57.5 57.5 0 -362 1 1 0 47.3585 47.6755 59.3605 -0.264151 -0.232455 0.93605 0.490491 45 57.5 57.5 0 -363 1 1 0 46.7447 47.9881 59.2388 -0.32553 -0.201189 0.92388 0.490491 45 57.5 57.5 0 -364 1 1 0 47.3592 46.9874 59.1624 -0.264082 -0.301258 0.916244 0.490491 45 57.5 57.5 0 -365 1 1 0 46.7407 47.2937 59.0583 -0.325929 -0.270627 0.905832 0.490491 45 57.5 57.5 0 -366 1 1 0 46.1381 47.6132 58.9101 -0.386187 -0.238677 0.891007 0.490491 45 57.5 57.5 0 -367 1 1 0 47.3734 46.3148 58.9174 -0.262661 -0.368518 0.891742 0.490491 45 57.5 57.5 0 -368 1 1 0 46.7514 46.6079 58.8284 -0.324863 -0.339209 0.882837 0.490491 45 57.5 57.5 0 -369 1 1 0 46.7748 45.9457 58.5534 -0.322525 -0.405434 0.855337 0.490491 45 57.5 57.5 0 -370 1 1 0 46.1639 46.2496 58.4391 -0.383614 -0.375038 0.843912 0.490491 45 57.5 57.5 0 -371 1 1 0 46.1409 46.9234 58.6973 -0.385906 -0.307659 0.869725 0.490491 45 57.5 57.5 0 -372 1 1 0 45.5554 47.2531 58.5264 -0.444464 -0.274694 0.85264 0.490491 45 57.5 57.5 0 -373 1 1 0 45.5713 46.5715 58.2845 -0.442867 -0.342848 0.828447 0.490491 45 57.5 57.5 0 -374 1 1 0 45 46.9098 58.0902 -0.5 -0.309017 0.809017 0.490491 45 57.5 57.5 0 -375 1 1 0 48.6743 47.1007 59.4782 -0.13257 -0.289929 0.947822 0.490491 45 57.5 57.5 0 -376 1 1 0 48.0161 46.6939 59.2268 -0.198387 -0.330606 0.922682 0.490491 45 57.5 57.5 0 -377 1 1 0 48.0091 47.3845 59.4443 -0.199094 -0.26155 0.944433 0.490491 45 57.5 57.5 0 -378 1 1 0 44.888 52.3345 58.2715 -0.511205 0.233445 0.827147 0.490491 45 57.5 57.5 0 -379 1 1 0 44.4526 52.7371 57.8572 -0.55474 0.273706 0.785715 0.490491 45 57.5 57.5 0 -380 1 1 0 44.8074 51.5643 58.4018 -0.519259 0.156434 0.840178 0.490491 45 57.5 57.5 0 -381 1 1 0 44.3549 51.9727 58.015 -0.564513 0.197274 0.801504 0.490491 45 57.5 57.5 0 -382 1 1 0 43.9317 52.3709 57.5865 -0.606825 0.237086 0.758652 0.490491 45 57.5 57.5 0 -383 1 1 0 44.7589 50.7846 58.4803 -0.52411 0.0784592 0.848029 0.490491 45 57.5 57.5 0 -384 1 1 0 44.2886 51.1908 58.1217 -0.57114 0.119078 0.81217 0.490491 45 57.5 57.5 0 -385 1 1 0 44.7427 50 58.5065 -0.525731 0 0.850651 0.490491 45 57.5 57.5 0 -386 1 1 0 44.2554 50.4067 58.1752 -0.574458 0.040675 0.817523 0.490491 45 57.5 57.5 0 -387 1 1 0 43.7976 50.8114 57.802 -0.620239 0.0811417 0.780205 0.490491 45 57.5 57.5 0 -388 1 1 0 43.8454 51.5961 57.7184 -0.615456 0.159613 0.771841 0.490491 45 57.5 57.5 0 -389 1 1 0 43.4399 51.9933 57.2796 -0.656006 0.199331 0.727959 0.490491 45 57.5 57.5 0 -390 1 1 0 43.3716 51.2119 57.3889 -0.662842 0.121192 0.738887 0.490491 45 57.5 57.5 0 -391 1 1 0 42.9795 51.6062 56.9378 -0.702047 0.160622 0.69378 0.490491 45 57.5 57.5 0 -392 1 1 0 44.7589 49.2154 58.4803 -0.52411 -0.0784592 0.848029 0.490491 45 57.5 57.5 0 -393 1 1 0 44.2554 49.5933 58.1752 -0.574458 -0.040675 0.817523 0.490491 45 57.5 57.5 0 -394 1 1 0 44.8074 48.4357 58.4018 -0.519259 -0.156434 0.840178 0.490491 45 57.5 57.5 0 -395 1 1 0 44.2886 48.8092 58.1217 -0.57114 -0.119078 0.81217 0.490491 45 57.5 57.5 0 -396 1 1 0 43.7976 49.1886 57.802 -0.620239 -0.0811417 0.780205 0.490491 45 57.5 57.5 0 -397 1 1 0 44.888 47.6655 58.2715 -0.511205 -0.233445 0.827147 0.490491 45 57.5 57.5 0 -398 1 1 0 44.3549 48.0273 58.015 -0.564513 -0.197274 0.801504 0.490491 45 57.5 57.5 0 -399 1 1 0 44.4526 47.2629 57.8572 -0.55474 -0.273706 0.785715 0.490491 45 57.5 57.5 0 -400 1 1 0 43.9317 47.6291 57.5865 -0.606825 -0.237086 0.758652 0.490491 45 57.5 57.5 0 -401 1 1 0 43.8454 48.4039 57.7184 -0.615456 -0.159613 0.771841 0.490491 45 57.5 57.5 0 -402 1 1 0 43.3716 48.7881 57.3889 -0.662842 -0.121192 0.738887 0.490491 45 57.5 57.5 0 -403 1 1 0 43.4399 48.0067 57.2796 -0.656006 -0.199331 0.727959 0.490491 45 57.5 57.5 0 -404 1 1 0 42.9795 48.3938 56.9378 -0.702047 -0.160622 0.69378 0.490491 45 57.5 57.5 0 -405 1 1 0 42.9103 50.8057 57.0062 -0.708969 0.0805729 0.700622 0.490491 45 57.5 57.5 0 -406 1 1 0 42.5527 51.2114 56.5628 -0.744727 0.121144 0.656282 0.490491 45 57.5 57.5 0 -407 1 1 0 42.8872 50 57.0291 -0.711282 0 0.702907 0.490491 45 57.5 57.5 0 -408 1 1 0 42.5061 50.4064 56.6088 -0.749387 0.0406418 0.660883 0.490491 45 57.5 57.5 0 -409 1 1 0 42.1616 50.8109 56.1564 -0.783843 0.081086 0.615642 0.490491 45 57.5 57.5 0 -410 1 1 0 42.9103 49.1943 57.0062 -0.708969 -0.0805729 0.700622 0.490491 45 57.5 57.5 0 -411 1 1 0 42.5061 49.5936 56.6088 -0.749387 -0.0406418 0.660883 0.490491 45 57.5 57.5 0 -412 1 1 0 42.5527 48.7886 56.5628 -0.744727 -0.121144 0.656282 0.490491 45 57.5 57.5 0 -413 1 1 0 42.1616 49.1891 56.1564 -0.783843 -0.081086 0.615642 0.490491 45 57.5 57.5 0 -414 1 1 0 42.1357 50 56.1768 -0.786433 0 0.617676 0.490491 45 57.5 57.5 0 -415 1 1 0 41.8079 50.4064 55.7206 -0.819207 0.0406403 0.572055 0.490491 45 57.5 57.5 0 -416 1 1 0 41.8079 49.5936 55.7206 -0.819207 -0.0406403 0.572055 0.490491 45 57.5 57.5 0 -417 1 1 0 41.4935 50 55.2573 -0.850651 0 0.525731 0.490491 45 57.5 57.5 0 -418 1 1 0 43.7771 50 57.8279 -0.622291 0 0.782786 0.490491 45 57.5 57.5 0 -419 1 1 0 43.325 49.5932 57.435 -0.667502 -0.0406769 0.743496 0.490491 45 57.5 57.5 0 -420 1 1 0 43.325 50.4068 57.435 -0.667502 0.0406769 0.743496 0.490491 45 57.5 57.5 0 -421 1 1 0 48.6648 50 59.9105 -0.133524 0 0.991046 0.490491 45 57.5 57.5 0 -422 1 1 0 47.9963 49.5875 59.7885 -0.200368 -0.0412506 0.978852 0.490491 45 57.5 57.5 0 -423 1 1 0 47.3448 49.185 59.6065 -0.265519 -0.081501 0.960655 0.490491 45 57.5 57.5 0 -424 1 1 0 47.336 50 59.6386 -0.266405 0 0.963861 0.490491 45 57.5 57.5 0 -425 1 1 0 47.9963 50.4125 59.7885 -0.200368 0.0412506 0.978852 0.490491 45 57.5 57.5 0 -426 1 1 0 47.3448 50.815 59.6065 -0.265519 0.081501 0.960655 0.490491 45 57.5 57.5 0 -427 1 1 0 46.6766 48.772 59.3513 -0.332342 -0.1228 0.93513 0.490491 45 57.5 57.5 0 -428 1 1 0 46.0586 48.3899 59.0484 -0.394136 -0.161007 0.904839 0.490491 45 57.5 57.5 0 -429 1 1 0 46.0039 49.1768 59.1298 -0.399607 -0.0823235 0.912983 0.490491 45 57.5 57.5 0 -430 1 1 0 45.4574 48.0177 58.6853 -0.454262 -0.198227 0.868535 0.490491 45 57.5 57.5 0 -431 1 1 0 45.3912 48.8024 58.7934 -0.460882 -0.119755 0.879344 0.490491 45 57.5 57.5 0 -432 1 1 0 45.3579 49.587 58.8476 -0.464213 -0.0412991 0.88476 0.490491 45 57.5 57.5 0 -433 1 1 0 46.6766 51.228 59.3513 -0.332342 0.1228 0.93513 0.490491 45 57.5 57.5 0 -434 1 1 0 46.0039 50.8232 59.1298 -0.399607 0.0823235 0.912983 0.490491 45 57.5 57.5 0 -435 1 1 0 46.0586 51.6101 59.0484 -0.394136 0.161007 0.904839 0.490491 45 57.5 57.5 0 -436 1 1 0 45.3579 50.413 58.8476 -0.464213 0.0412991 0.88476 0.490491 45 57.5 57.5 0 -437 1 1 0 45.3912 51.1976 58.7934 -0.460882 0.119755 0.879344 0.490491 45 57.5 57.5 0 -438 1 1 0 45.4574 51.9823 58.6853 -0.454262 0.198227 0.868535 0.490491 45 57.5 57.5 0 -439 1 1 0 46.6586 49.587 59.4162 -0.33414 -0.0413021 0.941618 0.490491 45 57.5 57.5 0 -440 1 1 0 45.9903 50 59.1609 -0.400968 0 0.916092 0.490491 45 57.5 57.5 0 -441 1 1 0 46.6586 50.413 59.4162 -0.33414 0.0413021 0.941618 0.490491 45 57.5 57.5 0 -442 1 1 0 50.6576 55.063 58.5985 0.0657577 0.506298 0.859848 0.490491 45 57.5 57.5 0 -443 1 1 0 51.312 54.8444 58.6493 0.1312 0.484441 0.864929 0.490491 45 57.5 57.5 0 -444 1 1 0 50.6582 54.4537 58.9293 0.0658169 0.445365 0.892927 0.490491 45 57.5 57.5 0 -445 1 1 0 51.9602 54.6027 58.6587 0.196015 0.460266 0.865871 0.490491 45 57.5 57.5 0 -446 1 1 0 51.3175 54.2236 58.968 0.131749 0.422363 0.896801 0.490491 45 57.5 57.5 0 -447 1 1 0 52.5989 54.3389 58.6267 0.259892 0.433888 0.862669 0.490491 45 57.5 57.5 0 -448 1 1 0 51.9641 53.9735 58.964 0.196412 0.39735 0.896401 0.490491 45 57.5 57.5 0 -449 1 1 0 51.3166 53.5823 59.243 0.131656 0.358229 0.924305 0.490491 45 57.5 57.5 0 -450 1 1 0 50.6599 53.8172 59.2192 0.0659885 0.381722 0.921919 0.490491 45 57.5 57.5 0 -451 1 1 0 50.6604 53.1678 59.462 0.0660427 0.316778 0.946198 0.490491 45 57.5 57.5 0 -452 1 1 0 53.2252 54.0543 58.5534 0.322525 0.405434 0.855337 0.490491 45 57.5 57.5 0 -453 1 1 0 52.6266 53.6852 58.9174 0.262661 0.368518 0.891742 0.490491 45 57.5 57.5 0 -454 1 1 0 53.8361 53.7504 58.4391 0.383614 0.375038 0.843912 0.490491 45 57.5 57.5 0 -455 1 1 0 53.2486 53.3921 58.8284 0.324863 0.339209 0.882837 0.490491 45 57.5 57.5 0 -456 1 1 0 52.6408 53.0126 59.1624 0.264082 0.301258 0.916244 0.490491 45 57.5 57.5 0 -457 1 1 0 54.4287 53.4285 58.2845 0.442867 0.342848 0.828447 0.490491 45 57.5 57.5 0 -458 1 1 0 53.8591 53.0766 58.6973 0.385906 0.307659 0.869725 0.490491 45 57.5 57.5 0 -459 1 1 0 55 53.0902 58.0902 0.5 0.309017 0.809017 0.490491 45 57.5 57.5 0 -460 1 1 0 54.4446 52.7469 58.5264 0.444464 0.274694 0.85264 0.490491 45 57.5 57.5 0 -461 1 1 0 53.8619 52.3868 58.9101 0.386187 0.238677 0.891007 0.490491 45 57.5 57.5 0 -462 1 1 0 53.2593 52.7063 59.0583 0.325929 0.270627 0.905832 0.490491 45 57.5 57.5 0 -463 1 1 0 52.6415 52.3245 59.3605 0.264151 0.232455 0.93605 0.490491 45 57.5 57.5 0 -464 1 1 0 53.2553 52.0119 59.2388 0.32553 0.201189 0.92388 0.490491 45 57.5 57.5 0 -465 1 1 0 52.6287 51.6246 59.5106 0.262865 0.16246 0.951057 0.490491 45 57.5 57.5 0 -466 1 1 0 50.6657 52.4733 59.6664 0.0665668 0.247326 0.966643 0.490491 45 57.5 57.5 0 -467 1 1 0 51.3279 52.2012 59.6639 0.132792 0.220117 0.966393 0.490491 45 57.5 57.5 0 -468 1 1 0 50.666 51.796 59.8148 0.0666046 0.179596 0.981483 0.490491 45 57.5 57.5 0 -469 1 1 0 51.9834 51.9178 59.6119 0.198337 0.19178 0.961188 0.490491 45 57.5 57.5 0 -470 1 1 0 51.3326 51.5155 59.7943 0.133256 0.151549 0.979426 0.490491 45 57.5 57.5 0 -471 1 1 0 51.9858 51.2273 59.7237 0.198581 0.122729 0.97237 0.490491 45 57.5 57.5 0 -472 1 1 0 51.3307 50.8224 59.8769 0.133071 0.0822422 0.987688 0.490491 45 57.5 57.5 0 -473 1 1 0 50.6671 51.1039 59.9165 0.0667095 0.110385 0.991648 0.490491 45 57.5 57.5 0 -474 1 1 0 50.6674 50.4125 59.9692 0.0667412 0.0412479 0.996917 0.490491 45 57.5 57.5 0 -475 1 1 0 51.9839 53.3061 59.2268 0.198387 0.330606 0.922682 0.490491 45 57.5 57.5 0 -476 1 1 0 51.9909 52.6155 59.4443 0.199094 0.26155 0.944433 0.490491 45 57.5 57.5 0 -477 1 1 0 51.3257 52.8993 59.4782 0.13257 0.289929 0.947822 0.490491 45 57.5 57.5 0 -478 1 1 0 55.5474 52.7371 57.8572 0.55474 0.273706 0.785715 0.490491 45 57.5 57.5 0 -479 1 1 0 55.112 52.3345 58.2715 0.511205 0.233445 0.827147 0.490491 45 57.5 57.5 0 -480 1 1 0 56.0683 52.3709 57.5865 0.606825 0.237086 0.758652 0.490491 45 57.5 57.5 0 -481 1 1 0 55.6451 51.9727 58.015 0.564513 0.197274 0.801504 0.490491 45 57.5 57.5 0 -482 1 1 0 55.1926 51.5643 58.4018 0.519259 0.156434 0.840178 0.490491 45 57.5 57.5 0 -483 1 1 0 56.5601 51.9933 57.2796 0.656006 0.199331 0.727959 0.490491 45 57.5 57.5 0 -484 1 1 0 56.1546 51.5961 57.7184 0.615456 0.159613 0.771841 0.490491 45 57.5 57.5 0 -485 1 1 0 57.0205 51.6062 56.9378 0.702047 0.160622 0.69378 0.490491 45 57.5 57.5 0 -486 1 1 0 56.6284 51.2119 57.3889 0.662842 0.121192 0.738887 0.490491 45 57.5 57.5 0 -487 1 1 0 56.2024 50.8114 57.802 0.620239 0.0811417 0.780205 0.490491 45 57.5 57.5 0 -488 1 1 0 55.7114 51.1908 58.1217 0.57114 0.119078 0.81217 0.490491 45 57.5 57.5 0 -489 1 1 0 55.2411 50.7846 58.4803 0.52411 0.0784592 0.848029 0.490491 45 57.5 57.5 0 -490 1 1 0 55.7446 50.4067 58.1752 0.574458 0.040675 0.817523 0.490491 45 57.5 57.5 0 -491 1 1 0 55.2573 50 58.5065 0.525731 0 0.850651 0.490491 45 57.5 57.5 0 -492 1 1 0 57.4473 51.2114 56.5628 0.744727 0.121144 0.656282 0.490491 45 57.5 57.5 0 -493 1 1 0 57.0897 50.8057 57.0062 0.708969 0.0805729 0.700622 0.490491 45 57.5 57.5 0 -494 1 1 0 57.8384 50.8109 56.1564 0.783843 0.081086 0.615642 0.490491 45 57.5 57.5 0 -495 1 1 0 57.4939 50.4064 56.6088 0.749387 0.0406418 0.660883 0.490491 45 57.5 57.5 0 -496 1 1 0 57.1128 50 57.0291 0.711282 0 0.702907 0.490491 45 57.5 57.5 0 -497 1 1 0 58.1921 50.4064 55.7206 0.819207 0.0406403 0.572055 0.490491 45 57.5 57.5 0 -498 1 1 0 57.8643 50 56.1768 0.786433 0 0.617676 0.490491 45 57.5 57.5 0 -499 1 1 0 58.5065 50 55.2573 0.850651 0 0.525731 0.490491 45 57.5 57.5 0 -500 1 1 0 58.1921 49.5936 55.7206 0.819207 -0.0406403 0.572055 0.490491 45 57.5 57.5 0 -501 1 1 0 57.8384 49.1891 56.1564 0.783843 -0.081086 0.615642 0.490491 45 57.5 57.5 0 -502 1 1 0 57.4939 49.5936 56.6088 0.749387 -0.0406418 0.660883 0.490491 45 57.5 57.5 0 -503 1 1 0 57.0897 49.1943 57.0062 0.708969 -0.0805729 0.700622 0.490491 45 57.5 57.5 0 -504 1 1 0 57.4473 48.7886 56.5628 0.744727 -0.121144 0.656282 0.490491 45 57.5 57.5 0 -505 1 1 0 57.0205 48.3938 56.9378 0.702047 -0.160622 0.69378 0.490491 45 57.5 57.5 0 -506 1 1 0 55.7446 49.5933 58.1752 0.574458 -0.040675 0.817523 0.490491 45 57.5 57.5 0 -507 1 1 0 55.2411 49.2154 58.4803 0.52411 -0.0784592 0.848029 0.490491 45 57.5 57.5 0 -508 1 1 0 56.2024 49.1886 57.802 0.620239 -0.0811417 0.780205 0.490491 45 57.5 57.5 0 -509 1 1 0 55.7114 48.8092 58.1217 0.57114 -0.119078 0.81217 0.490491 45 57.5 57.5 0 -510 1 1 0 55.1926 48.4357 58.4018 0.519259 -0.156434 0.840178 0.490491 45 57.5 57.5 0 -511 1 1 0 56.6284 48.7881 57.3889 0.662842 -0.121192 0.738887 0.490491 45 57.5 57.5 0 -512 1 1 0 56.1546 48.4039 57.7184 0.615456 -0.159613 0.771841 0.490491 45 57.5 57.5 0 -513 1 1 0 56.5601 48.0067 57.2796 0.656006 -0.199331 0.727959 0.490491 45 57.5 57.5 0 -514 1 1 0 56.0683 47.6291 57.5865 0.606825 -0.237086 0.758652 0.490491 45 57.5 57.5 0 -515 1 1 0 55.6451 48.0273 58.015 0.564513 -0.197274 0.801504 0.490491 45 57.5 57.5 0 -516 1 1 0 55.112 47.6655 58.2715 0.511205 -0.233445 0.827147 0.490491 45 57.5 57.5 0 -517 1 1 0 55.5474 47.2629 57.8572 0.55474 -0.273706 0.785715 0.490491 45 57.5 57.5 0 -518 1 1 0 55 46.9098 58.0902 0.5 -0.309017 0.809017 0.490491 45 57.5 57.5 0 -519 1 1 0 56.675 50.4068 57.435 0.667502 0.0406769 0.743496 0.490491 45 57.5 57.5 0 -520 1 1 0 56.675 49.5932 57.435 0.667502 -0.0406769 0.743496 0.490491 45 57.5 57.5 0 -521 1 1 0 56.2229 50 57.8279 0.622291 0 0.782786 0.490491 45 57.5 57.5 0 -522 1 1 0 50.6674 49.5875 59.9692 0.0667412 -0.0412479 0.996917 0.490491 45 57.5 57.5 0 -523 1 1 0 51.3307 49.1776 59.8769 0.133071 -0.0822422 0.987688 0.490491 45 57.5 57.5 0 -524 1 1 0 50.6671 48.8961 59.9165 0.0667095 -0.110385 0.991648 0.490491 45 57.5 57.5 0 -525 1 1 0 51.9858 48.7727 59.7237 0.198581 -0.122729 0.97237 0.490491 45 57.5 57.5 0 -526 1 1 0 51.3326 48.4845 59.7943 0.133256 -0.151549 0.979426 0.490491 45 57.5 57.5 0 -527 1 1 0 52.6287 48.3754 59.5106 0.262865 -0.16246 0.951057 0.490491 45 57.5 57.5 0 -528 1 1 0 51.9834 48.0822 59.6119 0.198337 -0.19178 0.961188 0.490491 45 57.5 57.5 0 -529 1 1 0 51.3279 47.7988 59.6639 0.132792 -0.220117 0.966393 0.490491 45 57.5 57.5 0 -530 1 1 0 50.666 48.204 59.8148 0.0666046 -0.179596 0.981483 0.490491 45 57.5 57.5 0 -531 1 1 0 50.6657 47.5267 59.6664 0.0665668 -0.247326 0.966643 0.490491 45 57.5 57.5 0 -532 1 1 0 53.2553 47.9881 59.2388 0.32553 -0.201189 0.92388 0.490491 45 57.5 57.5 0 -533 1 1 0 52.6415 47.6755 59.3605 0.264151 -0.232455 0.93605 0.490491 45 57.5 57.5 0 -534 1 1 0 53.8619 47.6132 58.9101 0.386187 -0.238677 0.891007 0.490491 45 57.5 57.5 0 -535 1 1 0 53.2593 47.2937 59.0583 0.325929 -0.270627 0.905832 0.490491 45 57.5 57.5 0 -536 1 1 0 52.6408 46.9874 59.1624 0.264082 -0.301258 0.916244 0.490491 45 57.5 57.5 0 -537 1 1 0 54.4446 47.2531 58.5264 0.444464 -0.274694 0.85264 0.490491 45 57.5 57.5 0 -538 1 1 0 53.8591 46.9234 58.6973 0.385906 -0.307659 0.869725 0.490491 45 57.5 57.5 0 -539 1 1 0 54.4287 46.5715 58.2845 0.442867 -0.342848 0.828447 0.490491 45 57.5 57.5 0 -540 1 1 0 53.8361 46.2496 58.4391 0.383614 -0.375038 0.843912 0.490491 45 57.5 57.5 0 -541 1 1 0 53.2486 46.6079 58.8284 0.324863 -0.339209 0.882837 0.490491 45 57.5 57.5 0 -542 1 1 0 52.6266 46.3148 58.9174 0.262661 -0.368518 0.891742 0.490491 45 57.5 57.5 0 -543 1 1 0 53.2252 45.9457 58.5534 0.322525 -0.405434 0.855337 0.490491 45 57.5 57.5 0 -544 1 1 0 52.5989 45.6611 58.6267 0.259892 -0.433888 0.862669 0.490491 45 57.5 57.5 0 -545 1 1 0 50.6604 46.8322 59.462 0.0660427 -0.316778 0.946198 0.490491 45 57.5 57.5 0 -546 1 1 0 51.3166 46.4177 59.243 0.131656 -0.358229 0.924305 0.490491 45 57.5 57.5 0 -547 1 1 0 50.6599 46.1828 59.2192 0.0659885 -0.381722 0.921919 0.490491 45 57.5 57.5 0 -548 1 1 0 51.9641 46.0265 58.964 0.196412 -0.39735 0.896401 0.490491 45 57.5 57.5 0 -549 1 1 0 51.3175 45.7764 58.968 0.131749 -0.422363 0.896801 0.490491 45 57.5 57.5 0 -550 1 1 0 51.9602 45.3973 58.6587 0.196015 -0.460266 0.865871 0.490491 45 57.5 57.5 0 -551 1 1 0 51.312 45.1556 58.6493 0.1312 -0.484441 0.864929 0.490491 45 57.5 57.5 0 -552 1 1 0 50.6582 45.5463 58.9293 0.0658169 -0.445365 0.892927 0.490491 45 57.5 57.5 0 -553 1 1 0 50.6576 44.937 58.5985 0.0657577 -0.506298 0.859848 0.490491 45 57.5 57.5 0 -554 1 1 0 51.9909 47.3845 59.4443 0.199094 -0.26155 0.944433 0.490491 45 57.5 57.5 0 -555 1 1 0 51.9839 46.6939 59.2268 0.198387 -0.330606 0.922682 0.490491 45 57.5 57.5 0 -556 1 1 0 51.3257 47.1007 59.4782 0.13257 -0.289929 0.947822 0.490491 45 57.5 57.5 0 -557 1 1 0 54.5426 51.9823 58.6853 0.454262 0.198227 0.868535 0.490491 45 57.5 57.5 0 -558 1 1 0 54.6088 51.1976 58.7934 0.460882 0.119755 0.879344 0.490491 45 57.5 57.5 0 -559 1 1 0 54.6421 50.413 58.8476 0.464213 0.0412991 0.88476 0.490491 45 57.5 57.5 0 -560 1 1 0 53.9961 50.8232 59.1298 0.399607 0.0823235 0.912983 0.490491 45 57.5 57.5 0 -561 1 1 0 53.9414 51.6101 59.0484 0.394136 0.161007 0.904839 0.490491 45 57.5 57.5 0 -562 1 1 0 53.3234 51.228 59.3513 0.332342 0.1228 0.93513 0.490491 45 57.5 57.5 0 -563 1 1 0 54.6421 49.587 58.8476 0.464213 -0.0412991 0.88476 0.490491 45 57.5 57.5 0 -564 1 1 0 54.6088 48.8024 58.7934 0.460882 -0.119755 0.879344 0.490491 45 57.5 57.5 0 -565 1 1 0 53.9961 49.1768 59.1298 0.399607 -0.0823235 0.912983 0.490491 45 57.5 57.5 0 -566 1 1 0 54.5426 48.0177 58.6853 0.454262 -0.198227 0.868535 0.490491 45 57.5 57.5 0 -567 1 1 0 53.9414 48.3899 59.0484 0.394136 -0.161007 0.904839 0.490491 45 57.5 57.5 0 -568 1 1 0 53.3234 48.772 59.3513 0.332342 -0.1228 0.93513 0.490491 45 57.5 57.5 0 -569 1 1 0 52.6552 50.815 59.6065 0.265519 0.081501 0.960655 0.490491 45 57.5 57.5 0 -570 1 1 0 52.664 50 59.6386 0.266405 0 0.963861 0.490491 45 57.5 57.5 0 -571 1 1 0 52.0037 50.4125 59.7885 0.200368 0.0412506 0.978852 0.490491 45 57.5 57.5 0 -572 1 1 0 52.6552 49.185 59.6065 0.265519 -0.081501 0.960655 0.490491 45 57.5 57.5 0 -573 1 1 0 52.0037 49.5875 59.7885 0.200368 -0.0412506 0.978852 0.490491 45 57.5 57.5 0 -574 1 1 0 51.3352 50 59.9105 0.133524 0 0.991046 0.490491 45 57.5 57.5 0 -575 1 1 0 54.0097 50 59.1609 0.400968 0 0.916092 0.490491 45 57.5 57.5 0 -576 1 1 0 53.3414 49.587 59.4162 0.33414 -0.0413021 0.941618 0.490491 45 57.5 57.5 0 -577 1 1 0 53.3414 50.413 59.4162 0.33414 0.0413021 0.941618 0.490491 45 57.5 57.5 0 -578 1 1 0 50 54.6566 41.1503 0 0.465657 -0.884965 0.490491 45 57.5 57.5 0 -579 1 1 0 50.6576 55.063 41.4015 0.0657577 0.506298 -0.859848 0.490491 45 57.5 57.5 0 -580 1 1 0 50 54.0336 40.8496 0 0.403355 -0.915043 0.490491 45 57.5 57.5 0 -581 1 1 0 50.6582 54.4537 41.0707 0.0658169 0.445365 -0.892927 0.490491 45 57.5 57.5 0 -582 1 1 0 51.312 54.8444 41.3507 0.1312 0.484441 -0.864929 0.490491 45 57.5 57.5 0 -583 1 1 0 50 53.3912 40.5926 0 0.339122 -0.940742 0.490491 45 57.5 57.5 0 -584 1 1 0 50.6599 53.8172 40.7808 0.0659885 0.381722 -0.921919 0.490491 45 57.5 57.5 0 -585 1 1 0 50 52.7327 40.3806 0 0.273267 -0.961938 0.490491 45 57.5 57.5 0 -586 1 1 0 50.6604 53.1678 40.538 0.0660427 0.316778 -0.946198 0.490491 45 57.5 57.5 0 -587 1 1 0 51.3166 53.5823 40.757 0.131656 0.358229 -0.924305 0.490491 45 57.5 57.5 0 -588 1 1 0 51.3175 54.2236 41.032 0.131749 0.422363 -0.896801 0.490491 45 57.5 57.5 0 -589 1 1 0 51.9602 54.6027 41.3413 0.196015 0.460266 -0.865871 0.490491 45 57.5 57.5 0 -590 1 1 0 51.9641 53.9735 41.036 0.196412 0.39735 -0.896401 0.490491 45 57.5 57.5 0 -591 1 1 0 52.5989 54.3389 41.3733 0.259892 0.433888 -0.862669 0.490491 45 57.5 57.5 0 -592 1 1 0 50 52.061 40.2147 0 0.206103 -0.97853 0.490491 45 57.5 57.5 0 -593 1 1 0 50.6657 52.4733 40.3336 0.0665668 0.247326 -0.966643 0.490491 45 57.5 57.5 0 -594 1 1 0 50 51.3795 40.0956 0 0.137952 -0.990439 0.490491 45 57.5 57.5 0 -595 1 1 0 50.666 51.796 40.1852 0.0666046 0.179596 -0.981483 0.490491 45 57.5 57.5 0 -596 1 1 0 51.3279 52.2012 40.3361 0.132792 0.220117 -0.966393 0.490491 45 57.5 57.5 0 -597 1 1 0 50 50.6914 40.0239 0 0.0691418 -0.997607 0.490491 45 57.5 57.5 0 -598 1 1 0 50.6671 51.1039 40.0835 0.0667095 0.110385 -0.991648 0.490491 45 57.5 57.5 0 -599 1 1 0 50 50 40 0 0 -1 0.490491 45 57.5 57.5 0 -600 1 1 0 50.6674 50.4125 40.0308 0.0667412 0.0412479 -0.996917 0.490491 45 57.5 57.5 0 -601 1 1 0 51.3307 50.8224 40.1231 0.133071 0.0822422 -0.987688 0.490491 45 57.5 57.5 0 -602 1 1 0 51.3326 51.5155 40.2057 0.133256 0.151549 -0.979426 0.490491 45 57.5 57.5 0 -603 1 1 0 51.9834 51.9178 40.3881 0.198337 0.19178 -0.961188 0.490491 45 57.5 57.5 0 -604 1 1 0 51.9858 51.2273 40.2763 0.198581 0.122729 -0.97237 0.490491 45 57.5 57.5 0 -605 1 1 0 52.6287 51.6246 40.4894 0.262865 0.16246 -0.951057 0.490491 45 57.5 57.5 0 -606 1 1 0 52.6266 53.6852 41.0826 0.262661 0.368518 -0.891742 0.490491 45 57.5 57.5 0 -607 1 1 0 53.2252 54.0543 41.4466 0.322525 0.405434 -0.855337 0.490491 45 57.5 57.5 0 -608 1 1 0 52.6408 53.0126 40.8376 0.264082 0.301258 -0.916244 0.490491 45 57.5 57.5 0 -609 1 1 0 53.2486 53.3921 41.1716 0.324863 0.339209 -0.882837 0.490491 45 57.5 57.5 0 -610 1 1 0 53.8361 53.7504 41.5609 0.383614 0.375038 -0.843912 0.490491 45 57.5 57.5 0 -611 1 1 0 52.6415 52.3245 40.6395 0.264151 0.232455 -0.93605 0.490491 45 57.5 57.5 0 -612 1 1 0 53.2593 52.7063 40.9417 0.325929 0.270627 -0.905832 0.490491 45 57.5 57.5 0 -613 1 1 0 53.2553 52.0119 40.7612 0.32553 0.201189 -0.92388 0.490491 45 57.5 57.5 0 -614 1 1 0 53.8619 52.3868 41.0899 0.386187 0.238677 -0.891007 0.490491 45 57.5 57.5 0 -615 1 1 0 53.8591 53.0766 41.3027 0.385906 0.307659 -0.869725 0.490491 45 57.5 57.5 0 -616 1 1 0 54.4287 53.4285 41.7155 0.442867 0.342848 -0.828447 0.490491 45 57.5 57.5 0 -617 1 1 0 54.4446 52.7469 41.4736 0.444464 0.274694 -0.85264 0.490491 45 57.5 57.5 0 -618 1 1 0 55 53.0902 41.9098 0.5 0.309017 -0.809017 0.490491 45 57.5 57.5 0 -619 1 1 0 51.3257 52.8993 40.5218 0.13257 0.289929 -0.947822 0.490491 45 57.5 57.5 0 -620 1 1 0 51.9909 52.6155 40.5557 0.199094 0.26155 -0.944433 0.490491 45 57.5 57.5 0 -621 1 1 0 51.9839 53.3061 40.7732 0.198387 0.330606 -0.922682 0.490491 45 57.5 57.5 0 -622 1 1 0 50 49.3086 40.0239 0 -0.0691418 -0.997607 0.490491 45 57.5 57.5 0 -623 1 1 0 50.6674 49.5875 40.0308 0.0667412 -0.0412479 -0.996917 0.490491 45 57.5 57.5 0 -624 1 1 0 50 48.6205 40.0956 0 -0.137952 -0.990439 0.490491 45 57.5 57.5 0 -625 1 1 0 50.6671 48.8961 40.0835 0.0667095 -0.110385 -0.991648 0.490491 45 57.5 57.5 0 -626 1 1 0 51.3307 49.1776 40.1231 0.133071 -0.0822422 -0.987688 0.490491 45 57.5 57.5 0 -627 1 1 0 50 47.939 40.2147 0 -0.206103 -0.97853 0.490491 45 57.5 57.5 0 -628 1 1 0 50.666 48.204 40.1852 0.0666046 -0.179596 -0.981483 0.490491 45 57.5 57.5 0 -629 1 1 0 50 47.2673 40.3806 0 -0.273267 -0.961938 0.490491 45 57.5 57.5 0 -630 1 1 0 50.6657 47.5267 40.3336 0.0665668 -0.247326 -0.966643 0.490491 45 57.5 57.5 0 -631 1 1 0 51.3279 47.7988 40.3361 0.132792 -0.220117 -0.966393 0.490491 45 57.5 57.5 0 -632 1 1 0 51.3326 48.4845 40.2057 0.133256 -0.151549 -0.979426 0.490491 45 57.5 57.5 0 -633 1 1 0 51.9858 48.7727 40.2763 0.198581 -0.122729 -0.97237 0.490491 45 57.5 57.5 0 -634 1 1 0 51.9834 48.0822 40.3881 0.198337 -0.19178 -0.961188 0.490491 45 57.5 57.5 0 -635 1 1 0 52.6287 48.3754 40.4894 0.262865 -0.16246 -0.951057 0.490491 45 57.5 57.5 0 -636 1 1 0 50 46.6088 40.5926 0 -0.339122 -0.940742 0.490491 45 57.5 57.5 0 -637 1 1 0 50.6604 46.8322 40.538 0.0660427 -0.316778 -0.946198 0.490491 45 57.5 57.5 0 -638 1 1 0 50 45.9664 40.8496 0 -0.403355 -0.915043 0.490491 45 57.5 57.5 0 -639 1 1 0 50.6599 46.1828 40.7808 0.0659885 -0.381722 -0.921919 0.490491 45 57.5 57.5 0 -640 1 1 0 51.3166 46.4177 40.757 0.131656 -0.358229 -0.924305 0.490491 45 57.5 57.5 0 -641 1 1 0 50 45.3434 41.1503 0 -0.465657 -0.884965 0.490491 45 57.5 57.5 0 -642 1 1 0 50.6582 45.5463 41.0707 0.0658169 -0.445365 -0.892927 0.490491 45 57.5 57.5 0 -643 1 1 0 50 44.7427 41.4935 0 -0.525731 -0.850651 0.490491 45 57.5 57.5 0 -644 1 1 0 50.6576 44.937 41.4015 0.0657577 -0.506298 -0.859848 0.490491 45 57.5 57.5 0 -645 1 1 0 51.312 45.1556 41.3507 0.1312 -0.484441 -0.864929 0.490491 45 57.5 57.5 0 -646 1 1 0 51.3175 45.7764 41.032 0.131749 -0.422363 -0.896801 0.490491 45 57.5 57.5 0 -647 1 1 0 51.9641 46.0265 41.036 0.196412 -0.39735 -0.896401 0.490491 45 57.5 57.5 0 -648 1 1 0 51.9602 45.3973 41.3413 0.196015 -0.460266 -0.865871 0.490491 45 57.5 57.5 0 -649 1 1 0 52.5989 45.6611 41.3733 0.259892 -0.433888 -0.862669 0.490491 45 57.5 57.5 0 -650 1 1 0 52.6415 47.6755 40.6395 0.264151 -0.232455 -0.93605 0.490491 45 57.5 57.5 0 -651 1 1 0 53.2553 47.9881 40.7612 0.32553 -0.201189 -0.92388 0.490491 45 57.5 57.5 0 -652 1 1 0 52.6408 46.9874 40.8376 0.264082 -0.301258 -0.916244 0.490491 45 57.5 57.5 0 -653 1 1 0 53.2593 47.2937 40.9417 0.325929 -0.270627 -0.905832 0.490491 45 57.5 57.5 0 -654 1 1 0 53.8619 47.6132 41.0899 0.386187 -0.238677 -0.891007 0.490491 45 57.5 57.5 0 -655 1 1 0 52.6266 46.3148 41.0826 0.262661 -0.368518 -0.891742 0.490491 45 57.5 57.5 0 -656 1 1 0 53.2486 46.6079 41.1716 0.324863 -0.339209 -0.882837 0.490491 45 57.5 57.5 0 -657 1 1 0 53.2252 45.9457 41.4466 0.322525 -0.405434 -0.855337 0.490491 45 57.5 57.5 0 -658 1 1 0 53.8361 46.2496 41.5609 0.383614 -0.375038 -0.843912 0.490491 45 57.5 57.5 0 -659 1 1 0 53.8591 46.9234 41.3027 0.385906 -0.307659 -0.869725 0.490491 45 57.5 57.5 0 -660 1 1 0 54.4446 47.2531 41.4736 0.444464 -0.274694 -0.85264 0.490491 45 57.5 57.5 0 -661 1 1 0 54.4287 46.5715 41.7155 0.442867 -0.342848 -0.828447 0.490491 45 57.5 57.5 0 -662 1 1 0 55 46.9098 41.9098 0.5 -0.309017 -0.809017 0.490491 45 57.5 57.5 0 -663 1 1 0 51.3257 47.1007 40.5218 0.13257 -0.289929 -0.947822 0.490491 45 57.5 57.5 0 -664 1 1 0 51.9839 46.6939 40.7732 0.198387 -0.330606 -0.922682 0.490491 45 57.5 57.5 0 -665 1 1 0 51.9909 47.3845 40.5557 0.199094 -0.26155 -0.944433 0.490491 45 57.5 57.5 0 -666 1 1 0 55.112 52.3345 41.7285 0.511205 0.233445 -0.827147 0.490491 45 57.5 57.5 0 -667 1 1 0 55.5474 52.7371 42.1428 0.55474 0.273706 -0.785715 0.490491 45 57.5 57.5 0 -668 1 1 0 55.1926 51.5643 41.5982 0.519259 0.156434 -0.840178 0.490491 45 57.5 57.5 0 -669 1 1 0 55.6451 51.9727 41.985 0.564513 0.197274 -0.801504 0.490491 45 57.5 57.5 0 -670 1 1 0 56.0683 52.3709 42.4135 0.606825 0.237086 -0.758652 0.490491 45 57.5 57.5 0 -671 1 1 0 55.2411 50.7846 41.5197 0.52411 0.0784592 -0.848029 0.490491 45 57.5 57.5 0 -672 1 1 0 55.7114 51.1908 41.8783 0.57114 0.119078 -0.81217 0.490491 45 57.5 57.5 0 -673 1 1 0 55.2573 50 41.4935 0.525731 0 -0.850651 0.490491 45 57.5 57.5 0 -674 1 1 0 55.7446 50.4067 41.8248 0.574458 0.040675 -0.817523 0.490491 45 57.5 57.5 0 -675 1 1 0 56.2024 50.8114 42.198 0.620239 0.0811417 -0.780205 0.490491 45 57.5 57.5 0 -676 1 1 0 56.1546 51.5961 42.2816 0.615456 0.159613 -0.771841 0.490491 45 57.5 57.5 0 -677 1 1 0 56.5601 51.9933 42.7204 0.656006 0.199331 -0.727959 0.490491 45 57.5 57.5 0 -678 1 1 0 56.6284 51.2119 42.6111 0.662842 0.121192 -0.738887 0.490491 45 57.5 57.5 0 -679 1 1 0 57.0205 51.6062 43.0622 0.702047 0.160622 -0.69378 0.490491 45 57.5 57.5 0 -680 1 1 0 55.2411 49.2154 41.5197 0.52411 -0.0784592 -0.848029 0.490491 45 57.5 57.5 0 -681 1 1 0 55.7446 49.5933 41.8248 0.574458 -0.040675 -0.817523 0.490491 45 57.5 57.5 0 -682 1 1 0 55.1926 48.4357 41.5982 0.519259 -0.156434 -0.840178 0.490491 45 57.5 57.5 0 -683 1 1 0 55.7114 48.8092 41.8783 0.57114 -0.119078 -0.81217 0.490491 45 57.5 57.5 0 -684 1 1 0 56.2024 49.1886 42.198 0.620239 -0.0811417 -0.780205 0.490491 45 57.5 57.5 0 -685 1 1 0 55.112 47.6655 41.7285 0.511205 -0.233445 -0.827147 0.490491 45 57.5 57.5 0 -686 1 1 0 55.6451 48.0273 41.985 0.564513 -0.197274 -0.801504 0.490491 45 57.5 57.5 0 -687 1 1 0 55.5474 47.2629 42.1428 0.55474 -0.273706 -0.785715 0.490491 45 57.5 57.5 0 -688 1 1 0 56.0683 47.6291 42.4135 0.606825 -0.237086 -0.758652 0.490491 45 57.5 57.5 0 -689 1 1 0 56.1546 48.4039 42.2816 0.615456 -0.159613 -0.771841 0.490491 45 57.5 57.5 0 -690 1 1 0 56.6284 48.7881 42.6111 0.662842 -0.121192 -0.738887 0.490491 45 57.5 57.5 0 -691 1 1 0 56.5601 48.0067 42.7204 0.656006 -0.199331 -0.727959 0.490491 45 57.5 57.5 0 -692 1 1 0 57.0205 48.3938 43.0622 0.702047 -0.160622 -0.69378 0.490491 45 57.5 57.5 0 -693 1 1 0 57.0897 50.8057 42.9938 0.708969 0.0805729 -0.700622 0.490491 45 57.5 57.5 0 -694 1 1 0 57.4473 51.2114 43.4372 0.744727 0.121144 -0.656282 0.490491 45 57.5 57.5 0 -695 1 1 0 57.1128 50 42.9709 0.711282 0 -0.702907 0.490491 45 57.5 57.5 0 -696 1 1 0 57.4939 50.4064 43.3912 0.749387 0.0406418 -0.660883 0.490491 45 57.5 57.5 0 -697 1 1 0 57.8384 50.8109 43.8436 0.783843 0.081086 -0.615642 0.490491 45 57.5 57.5 0 -698 1 1 0 57.0897 49.1943 42.9938 0.708969 -0.0805729 -0.700622 0.490491 45 57.5 57.5 0 -699 1 1 0 57.4939 49.5936 43.3912 0.749387 -0.0406418 -0.660883 0.490491 45 57.5 57.5 0 -700 1 1 0 57.4473 48.7886 43.4372 0.744727 -0.121144 -0.656282 0.490491 45 57.5 57.5 0 -701 1 1 0 57.8384 49.1891 43.8436 0.783843 -0.081086 -0.615642 0.490491 45 57.5 57.5 0 -702 1 1 0 57.8643 50 43.8232 0.786433 0 -0.617676 0.490491 45 57.5 57.5 0 -703 1 1 0 58.1921 50.4064 44.2794 0.819207 0.0406403 -0.572055 0.490491 45 57.5 57.5 0 -704 1 1 0 58.1921 49.5936 44.2794 0.819207 -0.0406403 -0.572055 0.490491 45 57.5 57.5 0 -705 1 1 0 58.5065 50 44.7427 0.850651 0 -0.525731 0.490491 45 57.5 57.5 0 -706 1 1 0 56.2229 50 42.1721 0.622291 0 -0.782786 0.490491 45 57.5 57.5 0 -707 1 1 0 56.675 49.5932 42.565 0.667502 -0.0406769 -0.743496 0.490491 45 57.5 57.5 0 -708 1 1 0 56.675 50.4068 42.565 0.667502 0.0406769 -0.743496 0.490491 45 57.5 57.5 0 -709 1 1 0 51.3352 50 40.0895 0.133524 0 -0.991046 0.490491 45 57.5 57.5 0 -710 1 1 0 52.0037 49.5875 40.2115 0.200368 -0.0412506 -0.978852 0.490491 45 57.5 57.5 0 -711 1 1 0 52.6552 49.185 40.3935 0.265519 -0.081501 -0.960655 0.490491 45 57.5 57.5 0 -712 1 1 0 52.664 50 40.3614 0.266405 0 -0.963861 0.490491 45 57.5 57.5 0 -713 1 1 0 52.0037 50.4125 40.2115 0.200368 0.0412506 -0.978852 0.490491 45 57.5 57.5 0 -714 1 1 0 52.6552 50.815 40.3935 0.265519 0.081501 -0.960655 0.490491 45 57.5 57.5 0 -715 1 1 0 53.3234 48.772 40.6487 0.332342 -0.1228 -0.93513 0.490491 45 57.5 57.5 0 -716 1 1 0 53.9414 48.3899 40.9516 0.394136 -0.161007 -0.904839 0.490491 45 57.5 57.5 0 -717 1 1 0 53.9961 49.1768 40.8702 0.399607 -0.0823235 -0.912983 0.490491 45 57.5 57.5 0 -718 1 1 0 54.5426 48.0177 41.3147 0.454262 -0.198227 -0.868535 0.490491 45 57.5 57.5 0 -719 1 1 0 54.6088 48.8024 41.2066 0.460882 -0.119755 -0.879344 0.490491 45 57.5 57.5 0 -720 1 1 0 54.6421 49.587 41.1524 0.464213 -0.0412991 -0.88476 0.490491 45 57.5 57.5 0 -721 1 1 0 53.3234 51.228 40.6487 0.332342 0.1228 -0.93513 0.490491 45 57.5 57.5 0 -722 1 1 0 53.9961 50.8232 40.8702 0.399607 0.0823235 -0.912983 0.490491 45 57.5 57.5 0 -723 1 1 0 53.9414 51.6101 40.9516 0.394136 0.161007 -0.904839 0.490491 45 57.5 57.5 0 -724 1 1 0 54.6421 50.413 41.1524 0.464213 0.0412991 -0.88476 0.490491 45 57.5 57.5 0 -725 1 1 0 54.6088 51.1976 41.2066 0.460882 0.119755 -0.879344 0.490491 45 57.5 57.5 0 -726 1 1 0 54.5426 51.9823 41.3147 0.454262 0.198227 -0.868535 0.490491 45 57.5 57.5 0 -727 1 1 0 53.3414 49.587 40.5838 0.33414 -0.0413021 -0.941618 0.490491 45 57.5 57.5 0 -728 1 1 0 54.0097 50 40.8391 0.400968 0 -0.916092 0.490491 45 57.5 57.5 0 -729 1 1 0 53.3414 50.413 40.5838 0.33414 0.0413021 -0.941618 0.490491 45 57.5 57.5 0 -730 1 1 0 49.3424 55.063 41.4015 -0.0657577 0.506298 -0.859848 0.490491 45 57.5 57.5 0 -731 1 1 0 48.688 54.8444 41.3507 -0.1312 0.484441 -0.864929 0.490491 45 57.5 57.5 0 -732 1 1 0 49.3418 54.4537 41.0707 -0.0658169 0.445365 -0.892927 0.490491 45 57.5 57.5 0 -733 1 1 0 48.0398 54.6027 41.3413 -0.196015 0.460266 -0.865871 0.490491 45 57.5 57.5 0 -734 1 1 0 48.6825 54.2236 41.032 -0.131749 0.422363 -0.896801 0.490491 45 57.5 57.5 0 -735 1 1 0 47.4011 54.3389 41.3733 -0.259892 0.433888 -0.862669 0.490491 45 57.5 57.5 0 -736 1 1 0 48.0359 53.9735 41.036 -0.196412 0.39735 -0.896401 0.490491 45 57.5 57.5 0 -737 1 1 0 48.6834 53.5823 40.757 -0.131656 0.358229 -0.924305 0.490491 45 57.5 57.5 0 -738 1 1 0 49.3401 53.8172 40.7808 -0.0659885 0.381722 -0.921919 0.490491 45 57.5 57.5 0 -739 1 1 0 49.3396 53.1678 40.538 -0.0660427 0.316778 -0.946198 0.490491 45 57.5 57.5 0 -740 1 1 0 46.7748 54.0543 41.4466 -0.322525 0.405434 -0.855337 0.490491 45 57.5 57.5 0 -741 1 1 0 47.3734 53.6852 41.0826 -0.262661 0.368518 -0.891742 0.490491 45 57.5 57.5 0 -742 1 1 0 46.1639 53.7504 41.5609 -0.383614 0.375038 -0.843912 0.490491 45 57.5 57.5 0 -743 1 1 0 46.7514 53.3921 41.1716 -0.324863 0.339209 -0.882837 0.490491 45 57.5 57.5 0 -744 1 1 0 47.3592 53.0126 40.8376 -0.264082 0.301258 -0.916244 0.490491 45 57.5 57.5 0 -745 1 1 0 45.5713 53.4285 41.7155 -0.442867 0.342848 -0.828447 0.490491 45 57.5 57.5 0 -746 1 1 0 46.1409 53.0766 41.3027 -0.385906 0.307659 -0.869725 0.490491 45 57.5 57.5 0 -747 1 1 0 45 53.0902 41.9098 -0.5 0.309017 -0.809017 0.490491 45 57.5 57.5 0 -748 1 1 0 45.5554 52.7469 41.4736 -0.444464 0.274694 -0.85264 0.490491 45 57.5 57.5 0 -749 1 1 0 46.1381 52.3868 41.0899 -0.386187 0.238677 -0.891007 0.490491 45 57.5 57.5 0 -750 1 1 0 46.7407 52.7063 40.9417 -0.325929 0.270627 -0.905832 0.490491 45 57.5 57.5 0 -751 1 1 0 47.3585 52.3245 40.6395 -0.264151 0.232455 -0.93605 0.490491 45 57.5 57.5 0 -752 1 1 0 46.7447 52.0119 40.7612 -0.32553 0.201189 -0.92388 0.490491 45 57.5 57.5 0 -753 1 1 0 47.3713 51.6246 40.4894 -0.262865 0.16246 -0.951057 0.490491 45 57.5 57.5 0 -754 1 1 0 49.3343 52.4733 40.3336 -0.0665668 0.247326 -0.966643 0.490491 45 57.5 57.5 0 -755 1 1 0 48.6721 52.2012 40.3361 -0.132792 0.220117 -0.966393 0.490491 45 57.5 57.5 0 -756 1 1 0 49.334 51.796 40.1852 -0.0666046 0.179596 -0.981483 0.490491 45 57.5 57.5 0 -757 1 1 0 48.0166 51.9178 40.3881 -0.198337 0.19178 -0.961188 0.490491 45 57.5 57.5 0 -758 1 1 0 48.6674 51.5155 40.2057 -0.133256 0.151549 -0.979426 0.490491 45 57.5 57.5 0 -759 1 1 0 48.0142 51.2273 40.2763 -0.198581 0.122729 -0.97237 0.490491 45 57.5 57.5 0 -760 1 1 0 48.6693 50.8224 40.1231 -0.133071 0.0822422 -0.987688 0.490491 45 57.5 57.5 0 -761 1 1 0 49.3329 51.1039 40.0835 -0.0667095 0.110385 -0.991648 0.490491 45 57.5 57.5 0 -762 1 1 0 49.3326 50.4125 40.0308 -0.0667412 0.0412479 -0.996917 0.490491 45 57.5 57.5 0 -763 1 1 0 48.0161 53.3061 40.7732 -0.198387 0.330606 -0.922682 0.490491 45 57.5 57.5 0 -764 1 1 0 48.0091 52.6155 40.5557 -0.199094 0.26155 -0.944433 0.490491 45 57.5 57.5 0 -765 1 1 0 48.6743 52.8993 40.5218 -0.13257 0.289929 -0.947822 0.490491 45 57.5 57.5 0 -766 1 1 0 44.4526 52.7371 42.1428 -0.55474 0.273706 -0.785715 0.490491 45 57.5 57.5 0 -767 1 1 0 44.888 52.3345 41.7285 -0.511205 0.233445 -0.827147 0.490491 45 57.5 57.5 0 -768 1 1 0 43.9317 52.3709 42.4135 -0.606825 0.237086 -0.758652 0.490491 45 57.5 57.5 0 -769 1 1 0 44.3549 51.9727 41.985 -0.564513 0.197274 -0.801504 0.490491 45 57.5 57.5 0 -770 1 1 0 44.8074 51.5643 41.5982 -0.519259 0.156434 -0.840178 0.490491 45 57.5 57.5 0 -771 1 1 0 43.4399 51.9933 42.7204 -0.656006 0.199331 -0.727959 0.490491 45 57.5 57.5 0 -772 1 1 0 43.8454 51.5961 42.2816 -0.615456 0.159613 -0.771841 0.490491 45 57.5 57.5 0 -773 1 1 0 42.9795 51.6062 43.0622 -0.702047 0.160622 -0.69378 0.490491 45 57.5 57.5 0 -774 1 1 0 43.3716 51.2119 42.6111 -0.662842 0.121192 -0.738887 0.490491 45 57.5 57.5 0 -775 1 1 0 43.7976 50.8114 42.198 -0.620239 0.0811417 -0.780205 0.490491 45 57.5 57.5 0 -776 1 1 0 44.2886 51.1908 41.8783 -0.57114 0.119078 -0.81217 0.490491 45 57.5 57.5 0 -777 1 1 0 44.7589 50.7846 41.5197 -0.52411 0.0784592 -0.848029 0.490491 45 57.5 57.5 0 -778 1 1 0 44.2554 50.4067 41.8248 -0.574458 0.040675 -0.817523 0.490491 45 57.5 57.5 0 -779 1 1 0 44.7427 50 41.4935 -0.525731 0 -0.850651 0.490491 45 57.5 57.5 0 -780 1 1 0 42.5527 51.2114 43.4372 -0.744727 0.121144 -0.656282 0.490491 45 57.5 57.5 0 -781 1 1 0 42.9103 50.8057 42.9938 -0.708969 0.0805729 -0.700622 0.490491 45 57.5 57.5 0 -782 1 1 0 42.1616 50.8109 43.8436 -0.783843 0.081086 -0.615642 0.490491 45 57.5 57.5 0 -783 1 1 0 42.5061 50.4064 43.3912 -0.749387 0.0406418 -0.660883 0.490491 45 57.5 57.5 0 -784 1 1 0 42.8872 50 42.9709 -0.711282 0 -0.702907 0.490491 45 57.5 57.5 0 -785 1 1 0 41.8079 50.4064 44.2794 -0.819207 0.0406403 -0.572055 0.490491 45 57.5 57.5 0 -786 1 1 0 42.1357 50 43.8232 -0.786433 0 -0.617676 0.490491 45 57.5 57.5 0 -787 1 1 0 41.4935 50 44.7427 -0.850651 0 -0.525731 0.490491 45 57.5 57.5 0 -788 1 1 0 41.8079 49.5936 44.2794 -0.819207 -0.0406403 -0.572055 0.490491 45 57.5 57.5 0 -789 1 1 0 42.1616 49.1891 43.8436 -0.783843 -0.081086 -0.615642 0.490491 45 57.5 57.5 0 -790 1 1 0 42.5061 49.5936 43.3912 -0.749387 -0.0406418 -0.660883 0.490491 45 57.5 57.5 0 -791 1 1 0 42.9103 49.1943 42.9938 -0.708969 -0.0805729 -0.700622 0.490491 45 57.5 57.5 0 -792 1 1 0 42.5527 48.7886 43.4372 -0.744727 -0.121144 -0.656282 0.490491 45 57.5 57.5 0 -793 1 1 0 42.9795 48.3938 43.0622 -0.702047 -0.160622 -0.69378 0.490491 45 57.5 57.5 0 -794 1 1 0 44.2554 49.5933 41.8248 -0.574458 -0.040675 -0.817523 0.490491 45 57.5 57.5 0 -795 1 1 0 44.7589 49.2154 41.5197 -0.52411 -0.0784592 -0.848029 0.490491 45 57.5 57.5 0 -796 1 1 0 43.7976 49.1886 42.198 -0.620239 -0.0811417 -0.780205 0.490491 45 57.5 57.5 0 -797 1 1 0 44.2886 48.8092 41.8783 -0.57114 -0.119078 -0.81217 0.490491 45 57.5 57.5 0 -798 1 1 0 44.8074 48.4357 41.5982 -0.519259 -0.156434 -0.840178 0.490491 45 57.5 57.5 0 -799 1 1 0 43.3716 48.7881 42.6111 -0.662842 -0.121192 -0.738887 0.490491 45 57.5 57.5 0 -800 1 1 0 43.8454 48.4039 42.2816 -0.615456 -0.159613 -0.771841 0.490491 45 57.5 57.5 0 -801 1 1 0 43.4399 48.0067 42.7204 -0.656006 -0.199331 -0.727959 0.490491 45 57.5 57.5 0 -802 1 1 0 43.9317 47.6291 42.4135 -0.606825 -0.237086 -0.758652 0.490491 45 57.5 57.5 0 -803 1 1 0 44.3549 48.0273 41.985 -0.564513 -0.197274 -0.801504 0.490491 45 57.5 57.5 0 -804 1 1 0 44.888 47.6655 41.7285 -0.511205 -0.233445 -0.827147 0.490491 45 57.5 57.5 0 -805 1 1 0 44.4526 47.2629 42.1428 -0.55474 -0.273706 -0.785715 0.490491 45 57.5 57.5 0 -806 1 1 0 45 46.9098 41.9098 -0.5 -0.309017 -0.809017 0.490491 45 57.5 57.5 0 -807 1 1 0 43.325 50.4068 42.565 -0.667502 0.0406769 -0.743496 0.490491 45 57.5 57.5 0 -808 1 1 0 43.325 49.5932 42.565 -0.667502 -0.0406769 -0.743496 0.490491 45 57.5 57.5 0 -809 1 1 0 43.7771 50 42.1721 -0.622291 0 -0.782786 0.490491 45 57.5 57.5 0 -810 1 1 0 49.3326 49.5875 40.0308 -0.0667412 -0.0412479 -0.996917 0.490491 45 57.5 57.5 0 -811 1 1 0 48.6693 49.1776 40.1231 -0.133071 -0.0822422 -0.987688 0.490491 45 57.5 57.5 0 -812 1 1 0 49.3329 48.8961 40.0835 -0.0667095 -0.110385 -0.991648 0.490491 45 57.5 57.5 0 -813 1 1 0 48.0142 48.7727 40.2763 -0.198581 -0.122729 -0.97237 0.490491 45 57.5 57.5 0 -814 1 1 0 48.6674 48.4845 40.2057 -0.133256 -0.151549 -0.979426 0.490491 45 57.5 57.5 0 -815 1 1 0 47.3713 48.3754 40.4894 -0.262865 -0.16246 -0.951057 0.490491 45 57.5 57.5 0 -816 1 1 0 48.0166 48.0822 40.3881 -0.198337 -0.19178 -0.961188 0.490491 45 57.5 57.5 0 -817 1 1 0 48.6721 47.7988 40.3361 -0.132792 -0.220117 -0.966393 0.490491 45 57.5 57.5 0 -818 1 1 0 49.334 48.204 40.1852 -0.0666046 -0.179596 -0.981483 0.490491 45 57.5 57.5 0 -819 1 1 0 49.3343 47.5267 40.3336 -0.0665668 -0.247326 -0.966643 0.490491 45 57.5 57.5 0 -820 1 1 0 46.7447 47.9881 40.7612 -0.32553 -0.201189 -0.92388 0.490491 45 57.5 57.5 0 -821 1 1 0 47.3585 47.6755 40.6395 -0.264151 -0.232455 -0.93605 0.490491 45 57.5 57.5 0 -822 1 1 0 46.1381 47.6132 41.0899 -0.386187 -0.238677 -0.891007 0.490491 45 57.5 57.5 0 -823 1 1 0 46.7407 47.2937 40.9417 -0.325929 -0.270627 -0.905832 0.490491 45 57.5 57.5 0 -824 1 1 0 47.3592 46.9874 40.8376 -0.264082 -0.301258 -0.916244 0.490491 45 57.5 57.5 0 -825 1 1 0 45.5554 47.2531 41.4736 -0.444464 -0.274694 -0.85264 0.490491 45 57.5 57.5 0 -826 1 1 0 46.1409 46.9234 41.3027 -0.385906 -0.307659 -0.869725 0.490491 45 57.5 57.5 0 -827 1 1 0 45.5713 46.5715 41.7155 -0.442867 -0.342848 -0.828447 0.490491 45 57.5 57.5 0 -828 1 1 0 46.1639 46.2496 41.5609 -0.383614 -0.375038 -0.843912 0.490491 45 57.5 57.5 0 -829 1 1 0 46.7514 46.6079 41.1716 -0.324863 -0.339209 -0.882837 0.490491 45 57.5 57.5 0 -830 1 1 0 47.3734 46.3148 41.0826 -0.262661 -0.368518 -0.891742 0.490491 45 57.5 57.5 0 -831 1 1 0 46.7748 45.9457 41.4466 -0.322525 -0.405434 -0.855337 0.490491 45 57.5 57.5 0 -832 1 1 0 47.4011 45.6611 41.3733 -0.259892 -0.433888 -0.862669 0.490491 45 57.5 57.5 0 -833 1 1 0 49.3396 46.8322 40.538 -0.0660427 -0.316778 -0.946198 0.490491 45 57.5 57.5 0 -834 1 1 0 48.6834 46.4177 40.757 -0.131656 -0.358229 -0.924305 0.490491 45 57.5 57.5 0 -835 1 1 0 49.3401 46.1828 40.7808 -0.0659885 -0.381722 -0.921919 0.490491 45 57.5 57.5 0 -836 1 1 0 48.0359 46.0265 41.036 -0.196412 -0.39735 -0.896401 0.490491 45 57.5 57.5 0 -837 1 1 0 48.6825 45.7764 41.032 -0.131749 -0.422363 -0.896801 0.490491 45 57.5 57.5 0 -838 1 1 0 48.0398 45.3973 41.3413 -0.196015 -0.460266 -0.865871 0.490491 45 57.5 57.5 0 -839 1 1 0 48.688 45.1556 41.3507 -0.1312 -0.484441 -0.864929 0.490491 45 57.5 57.5 0 -840 1 1 0 49.3418 45.5463 41.0707 -0.0658169 -0.445365 -0.892927 0.490491 45 57.5 57.5 0 -841 1 1 0 49.3424 44.937 41.4015 -0.0657577 -0.506298 -0.859848 0.490491 45 57.5 57.5 0 -842 1 1 0 48.0091 47.3845 40.5557 -0.199094 -0.26155 -0.944433 0.490491 45 57.5 57.5 0 -843 1 1 0 48.0161 46.6939 40.7732 -0.198387 -0.330606 -0.922682 0.490491 45 57.5 57.5 0 -844 1 1 0 48.6743 47.1007 40.5218 -0.13257 -0.289929 -0.947822 0.490491 45 57.5 57.5 0 -845 1 1 0 45.4574 51.9823 41.3147 -0.454262 0.198227 -0.868535 0.490491 45 57.5 57.5 0 -846 1 1 0 45.3912 51.1976 41.2066 -0.460882 0.119755 -0.879344 0.490491 45 57.5 57.5 0 -847 1 1 0 45.3579 50.413 41.1524 -0.464213 0.0412991 -0.88476 0.490491 45 57.5 57.5 0 -848 1 1 0 46.0039 50.8232 40.8702 -0.399607 0.0823235 -0.912983 0.490491 45 57.5 57.5 0 -849 1 1 0 46.0586 51.6101 40.9516 -0.394136 0.161007 -0.904839 0.490491 45 57.5 57.5 0 -850 1 1 0 46.6766 51.228 40.6487 -0.332342 0.1228 -0.93513 0.490491 45 57.5 57.5 0 -851 1 1 0 45.3579 49.587 41.1524 -0.464213 -0.0412991 -0.88476 0.490491 45 57.5 57.5 0 -852 1 1 0 45.3912 48.8024 41.2066 -0.460882 -0.119755 -0.879344 0.490491 45 57.5 57.5 0 -853 1 1 0 46.0039 49.1768 40.8702 -0.399607 -0.0823235 -0.912983 0.490491 45 57.5 57.5 0 -854 1 1 0 45.4574 48.0177 41.3147 -0.454262 -0.198227 -0.868535 0.490491 45 57.5 57.5 0 -855 1 1 0 46.0586 48.3899 40.9516 -0.394136 -0.161007 -0.904839 0.490491 45 57.5 57.5 0 -856 1 1 0 46.6766 48.772 40.6487 -0.332342 -0.1228 -0.93513 0.490491 45 57.5 57.5 0 -857 1 1 0 47.3448 50.815 40.3935 -0.265519 0.081501 -0.960655 0.490491 45 57.5 57.5 0 -858 1 1 0 47.336 50 40.3614 -0.266405 0 -0.963861 0.490491 45 57.5 57.5 0 -859 1 1 0 47.9963 50.4125 40.2115 -0.200368 0.0412506 -0.978852 0.490491 45 57.5 57.5 0 -860 1 1 0 47.3448 49.185 40.3935 -0.265519 -0.081501 -0.960655 0.490491 45 57.5 57.5 0 -861 1 1 0 47.9963 49.5875 40.2115 -0.200368 -0.0412506 -0.978852 0.490491 45 57.5 57.5 0 -862 1 1 0 48.6648 50 40.0895 -0.133524 0 -0.991046 0.490491 45 57.5 57.5 0 -863 1 1 0 45.9903 50 40.8391 -0.400968 0 -0.916092 0.490491 45 57.5 57.5 0 -864 1 1 0 46.6586 49.587 40.5838 -0.33414 -0.0413021 -0.941618 0.490491 45 57.5 57.5 0 -865 1 1 0 46.6586 50.413 40.5838 -0.33414 0.0413021 -0.941618 0.490491 45 57.5 57.5 0 -866 1 1 0 50.4064 44.2794 58.1921 0.0406403 -0.572055 0.819208 0.490491 45 57.5 57.5 0 -867 1 1 0 49.5936 44.2794 58.1921 -0.0406403 -0.572055 0.819208 0.490491 45 57.5 57.5 0 -868 1 1 0 50.8109 43.8436 57.8384 0.081086 -0.615642 0.783843 0.490491 45 57.5 57.5 0 -869 1 1 0 50 43.8232 57.8643 0 -0.617676 0.786433 0.490491 45 57.5 57.5 0 -870 1 1 0 49.1891 43.8436 57.8384 -0.081086 -0.615642 0.783843 0.490491 45 57.5 57.5 0 -871 1 1 0 51.2114 43.4372 57.4473 0.121144 -0.656282 0.744727 0.490491 45 57.5 57.5 0 -872 1 1 0 50.4064 43.3912 57.4939 0.0406418 -0.660883 0.749387 0.490491 45 57.5 57.5 0 -873 1 1 0 51.6062 43.0622 57.0205 0.160622 -0.69378 0.702047 0.490491 45 57.5 57.5 0 -874 1 1 0 50.8057 42.9938 57.0897 0.0805729 -0.700622 0.708969 0.490491 45 57.5 57.5 0 -875 1 1 0 50 42.9709 57.1128 0 -0.702907 0.711282 0.490491 45 57.5 57.5 0 -876 1 1 0 49.5936 43.3912 57.4939 -0.0406418 -0.660883 0.749387 0.490491 45 57.5 57.5 0 -877 1 1 0 48.7886 43.4372 57.4473 -0.121144 -0.656282 0.744727 0.490491 45 57.5 57.5 0 -878 1 1 0 49.1943 42.9938 57.0897 -0.0805729 -0.700622 0.708969 0.490491 45 57.5 57.5 0 -879 1 1 0 48.3938 43.0622 57.0205 -0.160622 -0.69378 0.702047 0.490491 45 57.5 57.5 0 -880 1 1 0 51.9933 42.7204 56.5601 0.199331 -0.727959 0.656006 0.490491 45 57.5 57.5 0 -881 1 1 0 51.2119 42.6111 56.6284 0.121192 -0.738887 0.662842 0.490491 45 57.5 57.5 0 -882 1 1 0 52.3709 42.4135 56.0683 0.237086 -0.758652 0.606825 0.490491 45 57.5 57.5 0 -883 1 1 0 51.5961 42.2816 56.1546 0.159613 -0.771841 0.615456 0.490491 45 57.5 57.5 0 -884 1 1 0 50.8114 42.198 56.2024 0.0811417 -0.780205 0.620239 0.490491 45 57.5 57.5 0 -885 1 1 0 52.7371 42.1428 55.5474 0.273706 -0.785715 0.55474 0.490491 45 57.5 57.5 0 -886 1 1 0 51.9727 41.985 55.6451 0.197274 -0.801504 0.564513 0.490491 45 57.5 57.5 0 -887 1 1 0 53.0902 41.9098 55 0.309017 -0.809017 0.5 0.490491 45 57.5 57.5 0 -888 1 1 0 52.3345 41.7285 55.112 0.233445 -0.827147 0.511205 0.490491 45 57.5 57.5 0 -889 1 1 0 51.5643 41.5982 55.1926 0.156434 -0.840178 0.519259 0.490491 45 57.5 57.5 0 -890 1 1 0 51.1908 41.8783 55.7114 0.119078 -0.81217 0.57114 0.490491 45 57.5 57.5 0 -891 1 1 0 50.4067 41.8248 55.7446 0.040675 -0.817523 0.574458 0.490491 45 57.5 57.5 0 -892 1 1 0 50.7846 41.5197 55.2411 0.0784592 -0.848029 0.52411 0.490491 45 57.5 57.5 0 -893 1 1 0 50 41.4935 55.2573 0 -0.850651 0.525731 0.490491 45 57.5 57.5 0 -894 1 1 0 48.7881 42.6111 56.6284 -0.121192 -0.738887 0.662842 0.490491 45 57.5 57.5 0 -895 1 1 0 48.0067 42.7204 56.5601 -0.199331 -0.727959 0.656006 0.490491 45 57.5 57.5 0 -896 1 1 0 49.1886 42.198 56.2024 -0.0811417 -0.780205 0.620239 0.490491 45 57.5 57.5 0 -897 1 1 0 48.4039 42.2816 56.1546 -0.159613 -0.771841 0.615456 0.490491 45 57.5 57.5 0 -898 1 1 0 47.6291 42.4135 56.0683 -0.237086 -0.758652 0.606825 0.490491 45 57.5 57.5 0 -899 1 1 0 49.5933 41.8248 55.7446 -0.040675 -0.817523 0.574458 0.490491 45 57.5 57.5 0 -900 1 1 0 48.8092 41.8783 55.7114 -0.119078 -0.81217 0.57114 0.490491 45 57.5 57.5 0 -901 1 1 0 49.2154 41.5197 55.2411 -0.0784592 -0.848029 0.52411 0.490491 45 57.5 57.5 0 -902 1 1 0 48.4357 41.5982 55.1926 -0.156434 -0.840178 0.519259 0.490491 45 57.5 57.5 0 -903 1 1 0 48.0273 41.985 55.6451 -0.197274 -0.801504 0.564513 0.490491 45 57.5 57.5 0 -904 1 1 0 47.2629 42.1428 55.5474 -0.273706 -0.785715 0.55474 0.490491 45 57.5 57.5 0 -905 1 1 0 47.6655 41.7285 55.112 -0.233445 -0.827147 0.511205 0.490491 45 57.5 57.5 0 -906 1 1 0 46.9098 41.9098 55 -0.309017 -0.809017 0.5 0.490491 45 57.5 57.5 0 -907 1 1 0 50.4068 42.565 56.675 0.0406769 -0.743496 0.667502 0.490491 45 57.5 57.5 0 -908 1 1 0 50 42.1721 56.2229 0 -0.782786 0.622291 0.490491 45 57.5 57.5 0 -909 1 1 0 49.5932 42.565 56.675 -0.0406769 -0.743496 0.667502 0.490491 45 57.5 57.5 0 -910 1 1 0 53.4285 41.7155 54.4287 0.342848 -0.828447 0.442867 0.490491 45 57.5 57.5 0 -911 1 1 0 52.7469 41.4736 54.4446 0.274694 -0.85264 0.444464 0.490491 45 57.5 57.5 0 -912 1 1 0 53.7504 41.5609 53.8361 0.375038 -0.843912 0.383614 0.490491 45 57.5 57.5 0 -913 1 1 0 53.0766 41.3027 53.8591 0.307659 -0.869725 0.385906 0.490491 45 57.5 57.5 0 -914 1 1 0 52.3868 41.0899 53.8619 0.238677 -0.891007 0.386187 0.490491 45 57.5 57.5 0 -915 1 1 0 54.0543 41.4466 53.2252 0.405434 -0.855337 0.322525 0.490491 45 57.5 57.5 0 -916 1 1 0 53.3921 41.1716 53.2486 0.339209 -0.882837 0.324863 0.490491 45 57.5 57.5 0 -917 1 1 0 54.3389 41.3733 52.5989 0.433888 -0.862669 0.259892 0.490491 45 57.5 57.5 0 -918 1 1 0 53.6852 41.0826 52.6266 0.368518 -0.891742 0.262661 0.490491 45 57.5 57.5 0 -919 1 1 0 53.0126 40.8376 52.6408 0.301258 -0.916244 0.264082 0.490491 45 57.5 57.5 0 -920 1 1 0 52.7063 40.9417 53.2593 0.270627 -0.905832 0.325929 0.490491 45 57.5 57.5 0 -921 1 1 0 52.0119 40.7612 53.2553 0.201189 -0.92388 0.32553 0.490491 45 57.5 57.5 0 -922 1 1 0 52.3245 40.6395 52.6415 0.232455 -0.93605 0.264151 0.490491 45 57.5 57.5 0 -923 1 1 0 51.6246 40.4894 52.6287 0.16246 -0.951057 0.262865 0.490491 45 57.5 57.5 0 -924 1 1 0 54.6027 41.3413 51.9602 0.460266 -0.865871 0.196015 0.490491 45 57.5 57.5 0 -925 1 1 0 53.9735 41.036 51.9641 0.39735 -0.896401 0.196412 0.490491 45 57.5 57.5 0 -926 1 1 0 54.8444 41.3507 51.312 0.484441 -0.864929 0.1312 0.490491 45 57.5 57.5 0 -927 1 1 0 54.2236 41.032 51.3175 0.422363 -0.896801 0.131749 0.490491 45 57.5 57.5 0 -928 1 1 0 53.5823 40.757 51.3166 0.358229 -0.924305 0.131656 0.490491 45 57.5 57.5 0 -929 1 1 0 55.063 41.4015 50.6576 0.506298 -0.859848 0.0657577 0.490491 45 57.5 57.5 0 -930 1 1 0 54.4537 41.0707 50.6582 0.445365 -0.892927 0.0658169 0.490491 45 57.5 57.5 0 -931 1 1 0 55.2573 41.4935 50 0.525731 -0.850651 0 0.490491 45 57.5 57.5 0 -932 1 1 0 54.6566 41.1503 50 0.465657 -0.884965 0 0.490491 45 57.5 57.5 0 -933 1 1 0 54.0336 40.8496 50 0.403355 -0.915043 0 0.490491 45 57.5 57.5 0 -934 1 1 0 53.8172 40.7808 50.6599 0.381722 -0.921919 0.0659886 0.490491 45 57.5 57.5 0 -935 1 1 0 53.1678 40.538 50.6604 0.316778 -0.946198 0.0660427 0.490491 45 57.5 57.5 0 -936 1 1 0 53.3912 40.5926 50 0.339122 -0.940742 0 0.490491 45 57.5 57.5 0 -937 1 1 0 52.7327 40.3806 50 0.273267 -0.961938 0 0.490491 45 57.5 57.5 0 -938 1 1 0 51.9178 40.3881 51.9834 0.19178 -0.961188 0.198337 0.490491 45 57.5 57.5 0 -939 1 1 0 51.2273 40.2763 51.9858 0.122729 -0.97237 0.198581 0.490491 45 57.5 57.5 0 -940 1 1 0 52.2012 40.3361 51.3279 0.220117 -0.966393 0.132792 0.490491 45 57.5 57.5 0 -941 1 1 0 51.5155 40.2057 51.3326 0.151549 -0.979426 0.133256 0.490491 45 57.5 57.5 0 -942 1 1 0 50.8224 40.1231 51.3307 0.0822422 -0.987688 0.133071 0.490491 45 57.5 57.5 0 -943 1 1 0 52.4733 40.3336 50.6657 0.247326 -0.966643 0.0665668 0.490491 45 57.5 57.5 0 -944 1 1 0 51.796 40.1852 50.666 0.179596 -0.981483 0.0666046 0.490491 45 57.5 57.5 0 -945 1 1 0 52.061 40.2147 50 0.206103 -0.97853 0 0.490491 45 57.5 57.5 0 -946 1 1 0 51.3795 40.0956 50 0.137952 -0.990439 0 0.490491 45 57.5 57.5 0 -947 1 1 0 51.1039 40.0835 50.6671 0.110385 -0.991648 0.0667095 0.490491 45 57.5 57.5 0 -948 1 1 0 50.4125 40.0308 50.6674 0.0412479 -0.996917 0.0667412 0.490491 45 57.5 57.5 0 -949 1 1 0 50.6914 40.0239 50 0.0691418 -0.997607 0 0.490491 45 57.5 57.5 0 -950 1 1 0 50 40 50 0 -1 0 0.490491 45 57.5 57.5 0 -951 1 1 0 53.3061 40.7732 51.9839 0.330606 -0.922682 0.198387 0.490491 45 57.5 57.5 0 -952 1 1 0 52.8993 40.5218 51.3257 0.289929 -0.947822 0.13257 0.490491 45 57.5 57.5 0 -953 1 1 0 52.6155 40.5557 51.9909 0.26155 -0.944433 0.199094 0.490491 45 57.5 57.5 0 -954 1 1 0 47.2531 41.4736 54.4446 -0.274694 -0.85264 0.444464 0.490491 45 57.5 57.5 0 -955 1 1 0 46.5715 41.7155 54.4287 -0.342848 -0.828447 0.442867 0.490491 45 57.5 57.5 0 -956 1 1 0 47.6132 41.0899 53.8619 -0.238677 -0.891007 0.386187 0.490491 45 57.5 57.5 0 -957 1 1 0 46.9234 41.3027 53.8591 -0.307659 -0.869725 0.385906 0.490491 45 57.5 57.5 0 -958 1 1 0 46.2496 41.5609 53.8361 -0.375038 -0.843912 0.383614 0.490491 45 57.5 57.5 0 -959 1 1 0 47.9881 40.7612 53.2553 -0.201189 -0.92388 0.32553 0.490491 45 57.5 57.5 0 -960 1 1 0 47.2937 40.9417 53.2593 -0.270627 -0.905832 0.325929 0.490491 45 57.5 57.5 0 -961 1 1 0 48.3754 40.4894 52.6287 -0.16246 -0.951057 0.262865 0.490491 45 57.5 57.5 0 -962 1 1 0 47.6755 40.6395 52.6415 -0.232455 -0.93605 0.264151 0.490491 45 57.5 57.5 0 -963 1 1 0 46.9874 40.8376 52.6408 -0.301258 -0.916244 0.264082 0.490491 45 57.5 57.5 0 -964 1 1 0 46.6079 41.1716 53.2486 -0.339209 -0.882837 0.324863 0.490491 45 57.5 57.5 0 -965 1 1 0 45.9457 41.4466 53.2252 -0.405434 -0.855337 0.322525 0.490491 45 57.5 57.5 0 -966 1 1 0 46.3148 41.0826 52.6266 -0.368518 -0.891742 0.262661 0.490491 45 57.5 57.5 0 -967 1 1 0 45.6611 41.3733 52.5989 -0.433888 -0.862669 0.259892 0.490491 45 57.5 57.5 0 -968 1 1 0 48.7727 40.2763 51.9858 -0.122729 -0.97237 0.198581 0.490491 45 57.5 57.5 0 -969 1 1 0 48.0822 40.3881 51.9834 -0.19178 -0.961188 0.198337 0.490491 45 57.5 57.5 0 -970 1 1 0 49.1776 40.1231 51.3307 -0.0822422 -0.987688 0.133071 0.490491 45 57.5 57.5 0 -971 1 1 0 48.4845 40.2057 51.3326 -0.151549 -0.979426 0.133256 0.490491 45 57.5 57.5 0 -972 1 1 0 47.7988 40.3361 51.3279 -0.220117 -0.966393 0.132792 0.490491 45 57.5 57.5 0 -973 1 1 0 49.5875 40.0308 50.6674 -0.0412479 -0.996917 0.0667412 0.490491 45 57.5 57.5 0 -974 1 1 0 48.8961 40.0835 50.6671 -0.110385 -0.991648 0.0667095 0.490491 45 57.5 57.5 0 -975 1 1 0 49.3086 40.0239 50 -0.0691418 -0.997607 0 0.490491 45 57.5 57.5 0 -976 1 1 0 48.6205 40.0956 50 -0.137952 -0.990439 0 0.490491 45 57.5 57.5 0 -977 1 1 0 48.204 40.1852 50.666 -0.179596 -0.981483 0.0666046 0.490491 45 57.5 57.5 0 -978 1 1 0 47.5267 40.3336 50.6657 -0.247326 -0.966643 0.0665668 0.490491 45 57.5 57.5 0 -979 1 1 0 47.939 40.2147 50 -0.206103 -0.97853 0 0.490491 45 57.5 57.5 0 -980 1 1 0 47.2673 40.3806 50 -0.273267 -0.961938 0 0.490491 45 57.5 57.5 0 -981 1 1 0 46.0265 41.036 51.9641 -0.39735 -0.896401 0.196412 0.490491 45 57.5 57.5 0 -982 1 1 0 45.3973 41.3413 51.9602 -0.460266 -0.865871 0.196015 0.490491 45 57.5 57.5 0 -983 1 1 0 46.4177 40.757 51.3166 -0.358229 -0.924305 0.131656 0.490491 45 57.5 57.5 0 -984 1 1 0 45.7764 41.032 51.3175 -0.422363 -0.896801 0.131749 0.490491 45 57.5 57.5 0 -985 1 1 0 45.1556 41.3507 51.312 -0.484441 -0.864929 0.1312 0.490491 45 57.5 57.5 0 -986 1 1 0 46.8322 40.538 50.6604 -0.316778 -0.946198 0.0660427 0.490491 45 57.5 57.5 0 -987 1 1 0 46.1828 40.7808 50.6599 -0.381722 -0.921919 0.0659886 0.490491 45 57.5 57.5 0 -988 1 1 0 46.6088 40.5926 50 -0.339122 -0.940742 0 0.490491 45 57.5 57.5 0 -989 1 1 0 45.9664 40.8496 50 -0.403355 -0.915043 0 0.490491 45 57.5 57.5 0 -990 1 1 0 45.5463 41.0707 50.6582 -0.445365 -0.892927 0.0658169 0.490491 45 57.5 57.5 0 -991 1 1 0 44.937 41.4015 50.6576 -0.506298 -0.859848 0.0657577 0.490491 45 57.5 57.5 0 -992 1 1 0 45.3434 41.1503 50 -0.465657 -0.884965 0 0.490491 45 57.5 57.5 0 -993 1 1 0 44.7427 41.4935 50 -0.525731 -0.850651 0 0.490491 45 57.5 57.5 0 -994 1 1 0 47.3845 40.5557 51.9909 -0.26155 -0.944433 0.199094 0.490491 45 57.5 57.5 0 -995 1 1 0 47.1007 40.5218 51.3257 -0.289929 -0.947822 0.13257 0.490491 45 57.5 57.5 0 -996 1 1 0 46.6939 40.7732 51.9839 -0.330606 -0.922682 0.198387 0.490491 45 57.5 57.5 0 -997 1 1 0 51.9823 41.3147 54.5426 0.198227 -0.868535 0.454262 0.490491 45 57.5 57.5 0 -998 1 1 0 51.6101 40.9516 53.9414 0.161007 -0.904839 0.394136 0.490491 45 57.5 57.5 0 -999 1 1 0 51.228 40.6487 53.3234 0.1228 -0.93513 0.332342 0.490491 45 57.5 57.5 0 -1000 1 1 0 50.8232 40.8702 53.9961 0.0823235 -0.912983 0.399607 0.490491 45 57.5 57.5 0 -1001 1 1 0 51.1976 41.2066 54.6088 0.119755 -0.879344 0.460882 0.490491 45 57.5 57.5 0 -1002 1 1 0 50.413 41.1524 54.6421 0.0412991 -0.88476 0.464213 0.490491 45 57.5 57.5 0 -1003 1 1 0 50.815 40.3935 52.6552 0.081501 -0.960655 0.265519 0.490491 45 57.5 57.5 0 -1004 1 1 0 50.4125 40.2115 52.0037 0.0412506 -0.978852 0.200368 0.490491 45 57.5 57.5 0 -1005 1 1 0 50 40.3614 52.664 0 -0.963861 0.266405 0.490491 45 57.5 57.5 0 -1006 1 1 0 50 40.0895 51.3352 0 -0.991046 0.133524 0.490491 45 57.5 57.5 0 -1007 1 1 0 49.5875 40.2115 52.0037 -0.0412506 -0.978852 0.200368 0.490491 45 57.5 57.5 0 -1008 1 1 0 49.185 40.3935 52.6552 -0.081501 -0.960655 0.265519 0.490491 45 57.5 57.5 0 -1009 1 1 0 49.587 41.1524 54.6421 -0.0412991 -0.88476 0.464213 0.490491 45 57.5 57.5 0 -1010 1 1 0 49.1768 40.8702 53.9961 -0.0823235 -0.912983 0.399607 0.490491 45 57.5 57.5 0 -1011 1 1 0 48.8024 41.2066 54.6088 -0.119755 -0.879344 0.460882 0.490491 45 57.5 57.5 0 -1012 1 1 0 48.772 40.6487 53.3234 -0.1228 -0.93513 0.332342 0.490491 45 57.5 57.5 0 -1013 1 1 0 48.3899 40.9516 53.9414 -0.161007 -0.904839 0.394136 0.490491 45 57.5 57.5 0 -1014 1 1 0 48.0177 41.3147 54.5426 -0.198227 -0.868535 0.454262 0.490491 45 57.5 57.5 0 -1015 1 1 0 50.413 40.5838 53.3414 0.0413021 -0.941618 0.33414 0.490491 45 57.5 57.5 0 -1016 1 1 0 49.587 40.5838 53.3414 -0.0413021 -0.941618 0.33414 0.490491 45 57.5 57.5 0 -1017 1 1 0 50 40.8391 54.0097 0 -0.916092 0.400968 0.490491 45 57.5 57.5 0 -1018 1 1 0 49.5936 44.2794 41.8079 -0.0406403 -0.572055 -0.819208 0.490491 45 57.5 57.5 0 -1019 1 1 0 50.4064 44.2794 41.8079 0.0406403 -0.572055 -0.819208 0.490491 45 57.5 57.5 0 -1020 1 1 0 49.1891 43.8436 42.1616 -0.081086 -0.615642 -0.783843 0.490491 45 57.5 57.5 0 -1021 1 1 0 50 43.8232 42.1357 0 -0.617676 -0.786433 0.490491 45 57.5 57.5 0 -1022 1 1 0 50.8109 43.8436 42.1616 0.081086 -0.615642 -0.783843 0.490491 45 57.5 57.5 0 -1023 1 1 0 48.7886 43.4372 42.5527 -0.121144 -0.656282 -0.744727 0.490491 45 57.5 57.5 0 -1024 1 1 0 49.5936 43.3912 42.5061 -0.0406418 -0.660883 -0.749387 0.490491 45 57.5 57.5 0 -1025 1 1 0 48.3938 43.0622 42.9795 -0.160622 -0.69378 -0.702047 0.490491 45 57.5 57.5 0 -1026 1 1 0 49.1943 42.9938 42.9103 -0.0805729 -0.700622 -0.708969 0.490491 45 57.5 57.5 0 -1027 1 1 0 50 42.9709 42.8872 0 -0.702907 -0.711282 0.490491 45 57.5 57.5 0 -1028 1 1 0 50.4064 43.3912 42.5061 0.0406418 -0.660883 -0.749387 0.490491 45 57.5 57.5 0 -1029 1 1 0 51.2114 43.4372 42.5527 0.121144 -0.656282 -0.744727 0.490491 45 57.5 57.5 0 -1030 1 1 0 50.8057 42.9938 42.9103 0.0805729 -0.700622 -0.708969 0.490491 45 57.5 57.5 0 -1031 1 1 0 51.6062 43.0622 42.9795 0.160622 -0.69378 -0.702047 0.490491 45 57.5 57.5 0 -1032 1 1 0 48.0067 42.7204 43.4399 -0.199331 -0.727959 -0.656006 0.490491 45 57.5 57.5 0 -1033 1 1 0 48.7881 42.6111 43.3716 -0.121192 -0.738887 -0.662842 0.490491 45 57.5 57.5 0 -1034 1 1 0 47.6291 42.4135 43.9317 -0.237086 -0.758652 -0.606825 0.490491 45 57.5 57.5 0 -1035 1 1 0 48.4039 42.2816 43.8454 -0.159613 -0.771841 -0.615456 0.490491 45 57.5 57.5 0 -1036 1 1 0 49.1886 42.198 43.7976 -0.0811417 -0.780205 -0.620239 0.490491 45 57.5 57.5 0 -1037 1 1 0 47.2629 42.1428 44.4526 -0.273706 -0.785715 -0.55474 0.490491 45 57.5 57.5 0 -1038 1 1 0 48.0273 41.985 44.3549 -0.197274 -0.801504 -0.564513 0.490491 45 57.5 57.5 0 -1039 1 1 0 46.9098 41.9098 45 -0.309017 -0.809017 -0.5 0.490491 45 57.5 57.5 0 -1040 1 1 0 47.6655 41.7285 44.888 -0.233445 -0.827147 -0.511205 0.490491 45 57.5 57.5 0 -1041 1 1 0 48.4357 41.5982 44.8074 -0.156434 -0.840178 -0.519259 0.490491 45 57.5 57.5 0 -1042 1 1 0 48.8092 41.8783 44.2886 -0.119078 -0.81217 -0.57114 0.490491 45 57.5 57.5 0 -1043 1 1 0 49.5933 41.8248 44.2554 -0.040675 -0.817523 -0.574458 0.490491 45 57.5 57.5 0 -1044 1 1 0 49.2154 41.5197 44.7589 -0.0784592 -0.848029 -0.52411 0.490491 45 57.5 57.5 0 -1045 1 1 0 50 41.4935 44.7427 0 -0.850651 -0.525731 0.490491 45 57.5 57.5 0 -1046 1 1 0 51.2119 42.6111 43.3716 0.121192 -0.738887 -0.662842 0.490491 45 57.5 57.5 0 -1047 1 1 0 51.9933 42.7204 43.4399 0.199331 -0.727959 -0.656006 0.490491 45 57.5 57.5 0 -1048 1 1 0 50.8114 42.198 43.7976 0.0811417 -0.780205 -0.620239 0.490491 45 57.5 57.5 0 -1049 1 1 0 51.5961 42.2816 43.8454 0.159613 -0.771841 -0.615456 0.490491 45 57.5 57.5 0 -1050 1 1 0 52.3709 42.4135 43.9317 0.237086 -0.758652 -0.606825 0.490491 45 57.5 57.5 0 -1051 1 1 0 50.4067 41.8248 44.2554 0.040675 -0.817523 -0.574458 0.490491 45 57.5 57.5 0 -1052 1 1 0 51.1908 41.8783 44.2886 0.119078 -0.81217 -0.57114 0.490491 45 57.5 57.5 0 -1053 1 1 0 50.7846 41.5197 44.7589 0.0784592 -0.848029 -0.52411 0.490491 45 57.5 57.5 0 -1054 1 1 0 51.5643 41.5982 44.8074 0.156434 -0.840178 -0.519259 0.490491 45 57.5 57.5 0 -1055 1 1 0 51.9727 41.985 44.3549 0.197274 -0.801504 -0.564513 0.490491 45 57.5 57.5 0 -1056 1 1 0 52.7371 42.1428 44.4526 0.273706 -0.785715 -0.55474 0.490491 45 57.5 57.5 0 -1057 1 1 0 52.3345 41.7285 44.888 0.233445 -0.827147 -0.511205 0.490491 45 57.5 57.5 0 -1058 1 1 0 53.0902 41.9098 45 0.309017 -0.809017 -0.5 0.490491 45 57.5 57.5 0 -1059 1 1 0 49.5932 42.565 43.325 -0.0406769 -0.743496 -0.667502 0.490491 45 57.5 57.5 0 -1060 1 1 0 50 42.1721 43.7771 0 -0.782786 -0.622291 0.490491 45 57.5 57.5 0 -1061 1 1 0 50.4068 42.565 43.325 0.0406769 -0.743496 -0.667502 0.490491 45 57.5 57.5 0 -1062 1 1 0 46.5715 41.7155 45.5713 -0.342848 -0.828447 -0.442867 0.490491 45 57.5 57.5 0 -1063 1 1 0 47.2531 41.4736 45.5554 -0.274694 -0.85264 -0.444464 0.490491 45 57.5 57.5 0 -1064 1 1 0 46.2496 41.5609 46.1639 -0.375038 -0.843912 -0.383614 0.490491 45 57.5 57.5 0 -1065 1 1 0 46.9234 41.3027 46.1409 -0.307659 -0.869725 -0.385906 0.490491 45 57.5 57.5 0 -1066 1 1 0 47.6132 41.0899 46.1381 -0.238677 -0.891007 -0.386187 0.490491 45 57.5 57.5 0 -1067 1 1 0 45.9457 41.4466 46.7748 -0.405434 -0.855337 -0.322525 0.490491 45 57.5 57.5 0 -1068 1 1 0 46.6079 41.1716 46.7514 -0.339209 -0.882837 -0.324863 0.490491 45 57.5 57.5 0 -1069 1 1 0 45.6611 41.3733 47.4011 -0.433888 -0.862669 -0.259892 0.490491 45 57.5 57.5 0 -1070 1 1 0 46.3148 41.0826 47.3734 -0.368518 -0.891742 -0.262661 0.490491 45 57.5 57.5 0 -1071 1 1 0 46.9874 40.8376 47.3592 -0.301258 -0.916244 -0.264082 0.490491 45 57.5 57.5 0 -1072 1 1 0 47.2937 40.9417 46.7407 -0.270627 -0.905832 -0.325929 0.490491 45 57.5 57.5 0 -1073 1 1 0 47.9881 40.7612 46.7447 -0.201189 -0.92388 -0.32553 0.490491 45 57.5 57.5 0 -1074 1 1 0 47.6755 40.6395 47.3585 -0.232455 -0.93605 -0.264151 0.490491 45 57.5 57.5 0 -1075 1 1 0 48.3754 40.4894 47.3713 -0.16246 -0.951057 -0.262865 0.490491 45 57.5 57.5 0 -1076 1 1 0 45.3973 41.3413 48.0398 -0.460266 -0.865871 -0.196015 0.490491 45 57.5 57.5 0 -1077 1 1 0 46.0265 41.036 48.0359 -0.39735 -0.896401 -0.196412 0.490491 45 57.5 57.5 0 -1078 1 1 0 45.1556 41.3507 48.688 -0.484441 -0.864929 -0.1312 0.490491 45 57.5 57.5 0 -1079 1 1 0 45.7764 41.032 48.6825 -0.422363 -0.896801 -0.131749 0.490491 45 57.5 57.5 0 -1080 1 1 0 46.4177 40.757 48.6834 -0.358229 -0.924305 -0.131656 0.490491 45 57.5 57.5 0 -1081 1 1 0 44.937 41.4015 49.3424 -0.506298 -0.859848 -0.0657577 0.490491 45 57.5 57.5 0 -1082 1 1 0 45.5463 41.0707 49.3418 -0.445365 -0.892927 -0.0658169 0.490491 45 57.5 57.5 0 -1083 1 1 0 46.1828 40.7808 49.3401 -0.381722 -0.921919 -0.0659886 0.490491 45 57.5 57.5 0 -1084 1 1 0 46.8322 40.538 49.3396 -0.316778 -0.946198 -0.0660427 0.490491 45 57.5 57.5 0 -1085 1 1 0 48.0822 40.3881 48.0166 -0.19178 -0.961188 -0.198337 0.490491 45 57.5 57.5 0 -1086 1 1 0 48.7727 40.2763 48.0142 -0.122729 -0.97237 -0.198581 0.490491 45 57.5 57.5 0 -1087 1 1 0 47.7988 40.3361 48.6721 -0.220117 -0.966393 -0.132792 0.490491 45 57.5 57.5 0 -1088 1 1 0 48.4845 40.2057 48.6674 -0.151549 -0.979426 -0.133256 0.490491 45 57.5 57.5 0 -1089 1 1 0 49.1776 40.1231 48.6693 -0.0822422 -0.987688 -0.133071 0.490491 45 57.5 57.5 0 -1090 1 1 0 47.5267 40.3336 49.3343 -0.247326 -0.966643 -0.0665668 0.490491 45 57.5 57.5 0 -1091 1 1 0 48.204 40.1852 49.334 -0.179596 -0.981483 -0.0666046 0.490491 45 57.5 57.5 0 -1092 1 1 0 48.8961 40.0835 49.3329 -0.110385 -0.991648 -0.0667095 0.490491 45 57.5 57.5 0 -1093 1 1 0 49.5875 40.0308 49.3326 -0.0412479 -0.996917 -0.0667412 0.490491 45 57.5 57.5 0 -1094 1 1 0 46.6939 40.7732 48.0161 -0.330606 -0.922682 -0.198387 0.490491 45 57.5 57.5 0 -1095 1 1 0 47.1007 40.5218 48.6743 -0.289929 -0.947822 -0.13257 0.490491 45 57.5 57.5 0 -1096 1 1 0 47.3845 40.5557 48.0091 -0.26155 -0.944433 -0.199094 0.490491 45 57.5 57.5 0 -1097 1 1 0 52.7469 41.4736 45.5554 0.274694 -0.85264 -0.444464 0.490491 45 57.5 57.5 0 -1098 1 1 0 53.4285 41.7155 45.5713 0.342848 -0.828447 -0.442867 0.490491 45 57.5 57.5 0 -1099 1 1 0 52.3868 41.0899 46.1381 0.238677 -0.891007 -0.386187 0.490491 45 57.5 57.5 0 -1100 1 1 0 53.0766 41.3027 46.1409 0.307659 -0.869725 -0.385906 0.490491 45 57.5 57.5 0 -1101 1 1 0 53.7504 41.5609 46.1639 0.375038 -0.843912 -0.383614 0.490491 45 57.5 57.5 0 -1102 1 1 0 52.0119 40.7612 46.7447 0.201189 -0.92388 -0.32553 0.490491 45 57.5 57.5 0 -1103 1 1 0 52.7063 40.9417 46.7407 0.270627 -0.905832 -0.325929 0.490491 45 57.5 57.5 0 -1104 1 1 0 51.6246 40.4894 47.3713 0.16246 -0.951057 -0.262865 0.490491 45 57.5 57.5 0 -1105 1 1 0 52.3245 40.6395 47.3585 0.232455 -0.93605 -0.264151 0.490491 45 57.5 57.5 0 -1106 1 1 0 53.0126 40.8376 47.3592 0.301258 -0.916244 -0.264082 0.490491 45 57.5 57.5 0 -1107 1 1 0 53.3921 41.1716 46.7514 0.339209 -0.882837 -0.324863 0.490491 45 57.5 57.5 0 -1108 1 1 0 54.0543 41.4466 46.7748 0.405434 -0.855337 -0.322525 0.490491 45 57.5 57.5 0 -1109 1 1 0 53.6852 41.0826 47.3734 0.368518 -0.891742 -0.262661 0.490491 45 57.5 57.5 0 -1110 1 1 0 54.3389 41.3733 47.4011 0.433888 -0.862669 -0.259892 0.490491 45 57.5 57.5 0 -1111 1 1 0 51.2273 40.2763 48.0142 0.122729 -0.97237 -0.198581 0.490491 45 57.5 57.5 0 -1112 1 1 0 51.9178 40.3881 48.0166 0.19178 -0.961188 -0.198337 0.490491 45 57.5 57.5 0 -1113 1 1 0 50.8224 40.1231 48.6693 0.0822422 -0.987688 -0.133071 0.490491 45 57.5 57.5 0 -1114 1 1 0 51.5155 40.2057 48.6674 0.151549 -0.979426 -0.133256 0.490491 45 57.5 57.5 0 -1115 1 1 0 52.2012 40.3361 48.6721 0.220117 -0.966393 -0.132792 0.490491 45 57.5 57.5 0 -1116 1 1 0 50.4125 40.0308 49.3326 0.0412479 -0.996917 -0.0667412 0.490491 45 57.5 57.5 0 -1117 1 1 0 51.1039 40.0835 49.3329 0.110385 -0.991648 -0.0667095 0.490491 45 57.5 57.5 0 -1118 1 1 0 51.796 40.1852 49.334 0.179596 -0.981483 -0.0666046 0.490491 45 57.5 57.5 0 -1119 1 1 0 52.4733 40.3336 49.3343 0.247326 -0.966643 -0.0665668 0.490491 45 57.5 57.5 0 -1120 1 1 0 53.9735 41.036 48.0359 0.39735 -0.896401 -0.196412 0.490491 45 57.5 57.5 0 -1121 1 1 0 54.6027 41.3413 48.0398 0.460266 -0.865871 -0.196015 0.490491 45 57.5 57.5 0 -1122 1 1 0 53.5823 40.757 48.6834 0.358229 -0.924305 -0.131656 0.490491 45 57.5 57.5 0 -1123 1 1 0 54.2236 41.032 48.6825 0.422363 -0.896801 -0.131749 0.490491 45 57.5 57.5 0 -1124 1 1 0 54.8444 41.3507 48.688 0.484441 -0.864929 -0.1312 0.490491 45 57.5 57.5 0 -1125 1 1 0 53.1678 40.538 49.3396 0.316778 -0.946198 -0.0660427 0.490491 45 57.5 57.5 0 -1126 1 1 0 53.8172 40.7808 49.3401 0.381722 -0.921919 -0.0659886 0.490491 45 57.5 57.5 0 -1127 1 1 0 54.4537 41.0707 49.3418 0.445365 -0.892927 -0.0658169 0.490491 45 57.5 57.5 0 -1128 1 1 0 55.063 41.4015 49.3424 0.506298 -0.859848 -0.0657577 0.490491 45 57.5 57.5 0 -1129 1 1 0 52.6155 40.5557 48.0091 0.26155 -0.944433 -0.199094 0.490491 45 57.5 57.5 0 -1130 1 1 0 52.8993 40.5218 48.6743 0.289929 -0.947822 -0.13257 0.490491 45 57.5 57.5 0 -1131 1 1 0 53.3061 40.7732 48.0161 0.330606 -0.922682 -0.198387 0.490491 45 57.5 57.5 0 -1132 1 1 0 48.0177 41.3147 45.4574 -0.198227 -0.868535 -0.454262 0.490491 45 57.5 57.5 0 -1133 1 1 0 48.3899 40.9516 46.0586 -0.161007 -0.904839 -0.394136 0.490491 45 57.5 57.5 0 -1134 1 1 0 48.772 40.6487 46.6766 -0.1228 -0.93513 -0.332342 0.490491 45 57.5 57.5 0 -1135 1 1 0 49.1768 40.8702 46.0039 -0.0823235 -0.912983 -0.399607 0.490491 45 57.5 57.5 0 -1136 1 1 0 48.8024 41.2066 45.3912 -0.119755 -0.879344 -0.460882 0.490491 45 57.5 57.5 0 -1137 1 1 0 49.587 41.1524 45.3579 -0.0412991 -0.88476 -0.464213 0.490491 45 57.5 57.5 0 -1138 1 1 0 49.185 40.3935 47.3448 -0.081501 -0.960655 -0.265519 0.490491 45 57.5 57.5 0 -1139 1 1 0 49.5875 40.2115 47.9963 -0.0412506 -0.978852 -0.200368 0.490491 45 57.5 57.5 0 -1140 1 1 0 50 40.3614 47.336 0 -0.963861 -0.266405 0.490491 45 57.5 57.5 0 -1141 1 1 0 50 40.0895 48.6648 0 -0.991046 -0.133524 0.490491 45 57.5 57.5 0 -1142 1 1 0 50.4125 40.2115 47.9963 0.0412506 -0.978852 -0.200368 0.490491 45 57.5 57.5 0 -1143 1 1 0 50.815 40.3935 47.3448 0.081501 -0.960655 -0.265519 0.490491 45 57.5 57.5 0 -1144 1 1 0 50.413 41.1524 45.3579 0.0412991 -0.88476 -0.464213 0.490491 45 57.5 57.5 0 -1145 1 1 0 50.8232 40.8702 46.0039 0.0823235 -0.912983 -0.399607 0.490491 45 57.5 57.5 0 -1146 1 1 0 51.1976 41.2066 45.3912 0.119755 -0.879344 -0.460882 0.490491 45 57.5 57.5 0 -1147 1 1 0 51.228 40.6487 46.6766 0.1228 -0.93513 -0.332342 0.490491 45 57.5 57.5 0 -1148 1 1 0 51.6101 40.9516 46.0586 0.161007 -0.904839 -0.394136 0.490491 45 57.5 57.5 0 -1149 1 1 0 51.9823 41.3147 45.4574 0.198227 -0.868535 -0.454262 0.490491 45 57.5 57.5 0 -1150 1 1 0 49.587 40.5838 46.6586 -0.0413021 -0.941618 -0.33414 0.490491 45 57.5 57.5 0 -1151 1 1 0 50.413 40.5838 46.6586 0.0413021 -0.941618 -0.33414 0.490491 45 57.5 57.5 0 -1152 1 1 0 50 40.8391 45.9903 0 -0.916092 -0.400968 0.490491 45 57.5 57.5 0 -1153 1 1 0 44.2794 58.1921 50.4064 -0.572055 0.819207 0.0406403 0.490491 45 57.5 57.5 0 -1154 1 1 0 44.2794 58.1921 49.5936 -0.572055 0.819207 -0.0406403 0.490491 45 57.5 57.5 0 -1155 1 1 0 43.8436 57.8384 50.8109 -0.615642 0.783843 0.081086 0.490491 45 57.5 57.5 0 -1156 1 1 0 43.8232 57.8643 50 -0.617676 0.786433 0 0.490491 45 57.5 57.5 0 -1157 1 1 0 43.8436 57.8384 49.1891 -0.615642 0.783843 -0.081086 0.490491 45 57.5 57.5 0 -1158 1 1 0 43.4372 57.4473 51.2114 -0.656282 0.744727 0.121144 0.490491 45 57.5 57.5 0 -1159 1 1 0 43.3912 57.4939 50.4064 -0.660883 0.749387 0.0406418 0.490491 45 57.5 57.5 0 -1160 1 1 0 43.0622 57.0205 51.6062 -0.69378 0.702047 0.160622 0.490491 45 57.5 57.5 0 -1161 1 1 0 42.9938 57.0897 50.8057 -0.700622 0.708969 0.0805729 0.490491 45 57.5 57.5 0 -1162 1 1 0 42.9709 57.1128 50 -0.702907 0.711282 0 0.490491 45 57.5 57.5 0 -1163 1 1 0 43.3912 57.4939 49.5936 -0.660883 0.749387 -0.0406418 0.490491 45 57.5 57.5 0 -1164 1 1 0 43.4372 57.4473 48.7886 -0.656282 0.744727 -0.121144 0.490491 45 57.5 57.5 0 -1165 1 1 0 42.9938 57.0897 49.1943 -0.700622 0.708969 -0.0805729 0.490491 45 57.5 57.5 0 -1166 1 1 0 43.0622 57.0205 48.3938 -0.69378 0.702047 -0.160622 0.490491 45 57.5 57.5 0 -1167 1 1 0 42.7204 56.5601 51.9933 -0.727959 0.656006 0.199331 0.490491 45 57.5 57.5 0 -1168 1 1 0 42.6111 56.6284 51.2119 -0.738887 0.662842 0.121192 0.490491 45 57.5 57.5 0 -1169 1 1 0 42.4135 56.0683 52.3709 -0.758652 0.606825 0.237086 0.490491 45 57.5 57.5 0 -1170 1 1 0 42.2816 56.1546 51.5961 -0.771841 0.615456 0.159613 0.490491 45 57.5 57.5 0 -1171 1 1 0 42.198 56.2024 50.8114 -0.780205 0.620239 0.0811417 0.490491 45 57.5 57.5 0 -1172 1 1 0 42.1428 55.5474 52.7371 -0.785715 0.55474 0.273706 0.490491 45 57.5 57.5 0 -1173 1 1 0 41.985 55.6451 51.9727 -0.801504 0.564513 0.197274 0.490491 45 57.5 57.5 0 -1174 1 1 0 41.9098 55 53.0902 -0.809017 0.5 0.309017 0.490491 45 57.5 57.5 0 -1175 1 1 0 41.7285 55.112 52.3345 -0.827147 0.511205 0.233445 0.490491 45 57.5 57.5 0 -1176 1 1 0 41.5982 55.1926 51.5643 -0.840178 0.519259 0.156434 0.490491 45 57.5 57.5 0 -1177 1 1 0 41.8783 55.7114 51.1908 -0.81217 0.57114 0.119078 0.490491 45 57.5 57.5 0 -1178 1 1 0 41.8248 55.7446 50.4067 -0.817523 0.574458 0.040675 0.490491 45 57.5 57.5 0 -1179 1 1 0 41.5197 55.2411 50.7846 -0.848029 0.52411 0.0784592 0.490491 45 57.5 57.5 0 -1180 1 1 0 41.4935 55.2573 50 -0.850651 0.525731 0 0.490491 45 57.5 57.5 0 -1181 1 1 0 42.6111 56.6284 48.7881 -0.738887 0.662842 -0.121192 0.490491 45 57.5 57.5 0 -1182 1 1 0 42.7204 56.5601 48.0067 -0.727959 0.656006 -0.199331 0.490491 45 57.5 57.5 0 -1183 1 1 0 42.198 56.2024 49.1886 -0.780205 0.620239 -0.0811417 0.490491 45 57.5 57.5 0 -1184 1 1 0 42.2816 56.1546 48.4039 -0.771841 0.615456 -0.159613 0.490491 45 57.5 57.5 0 -1185 1 1 0 42.4135 56.0683 47.6291 -0.758652 0.606825 -0.237086 0.490491 45 57.5 57.5 0 -1186 1 1 0 41.8248 55.7446 49.5933 -0.817523 0.574458 -0.040675 0.490491 45 57.5 57.5 0 -1187 1 1 0 41.8783 55.7114 48.8092 -0.81217 0.57114 -0.119078 0.490491 45 57.5 57.5 0 -1188 1 1 0 41.5197 55.2411 49.2154 -0.848029 0.52411 -0.0784592 0.490491 45 57.5 57.5 0 -1189 1 1 0 41.5982 55.1926 48.4357 -0.840178 0.519259 -0.156434 0.490491 45 57.5 57.5 0 -1190 1 1 0 41.985 55.6451 48.0273 -0.801504 0.564513 -0.197274 0.490491 45 57.5 57.5 0 -1191 1 1 0 42.1428 55.5474 47.2629 -0.785715 0.55474 -0.273706 0.490491 45 57.5 57.5 0 -1192 1 1 0 41.7285 55.112 47.6655 -0.827147 0.511205 -0.233445 0.490491 45 57.5 57.5 0 -1193 1 1 0 41.9098 55 46.9098 -0.809017 0.5 -0.309017 0.490491 45 57.5 57.5 0 -1194 1 1 0 42.565 56.675 50.4068 -0.743496 0.667502 0.0406769 0.490491 45 57.5 57.5 0 -1195 1 1 0 42.1721 56.2229 50 -0.782786 0.622291 0 0.490491 45 57.5 57.5 0 -1196 1 1 0 42.565 56.675 49.5932 -0.743496 0.667502 -0.0406769 0.490491 45 57.5 57.5 0 -1197 1 1 0 41.7155 54.4287 53.4285 -0.828447 0.442867 0.342848 0.490491 45 57.5 57.5 0 -1198 1 1 0 41.4736 54.4446 52.7469 -0.85264 0.444464 0.274694 0.490491 45 57.5 57.5 0 -1199 1 1 0 41.5609 53.8361 53.7504 -0.843912 0.383614 0.375038 0.490491 45 57.5 57.5 0 -1200 1 1 0 41.3027 53.8591 53.0766 -0.869725 0.385906 0.307659 0.490491 45 57.5 57.5 0 -1201 1 1 0 41.0899 53.8619 52.3868 -0.891007 0.386187 0.238677 0.490491 45 57.5 57.5 0 -1202 1 1 0 41.4466 53.2252 54.0543 -0.855337 0.322525 0.405434 0.490491 45 57.5 57.5 0 -1203 1 1 0 41.1716 53.2486 53.3921 -0.882837 0.324863 0.339209 0.490491 45 57.5 57.5 0 -1204 1 1 0 41.3733 52.5989 54.3389 -0.862669 0.259892 0.433888 0.490491 45 57.5 57.5 0 -1205 1 1 0 41.0826 52.6266 53.6852 -0.891742 0.262661 0.368518 0.490491 45 57.5 57.5 0 -1206 1 1 0 40.8376 52.6408 53.0126 -0.916244 0.264082 0.301258 0.490491 45 57.5 57.5 0 -1207 1 1 0 40.9417 53.2593 52.7063 -0.905832 0.325929 0.270627 0.490491 45 57.5 57.5 0 -1208 1 1 0 40.7612 53.2553 52.0119 -0.92388 0.32553 0.201189 0.490491 45 57.5 57.5 0 -1209 1 1 0 40.6395 52.6415 52.3245 -0.93605 0.264151 0.232455 0.490491 45 57.5 57.5 0 -1210 1 1 0 40.4894 52.6287 51.6246 -0.951057 0.262865 0.16246 0.490491 45 57.5 57.5 0 -1211 1 1 0 41.3413 51.9602 54.6027 -0.865871 0.196015 0.460266 0.490491 45 57.5 57.5 0 -1212 1 1 0 41.036 51.9641 53.9735 -0.896401 0.196412 0.39735 0.490491 45 57.5 57.5 0 -1213 1 1 0 41.3507 51.312 54.8444 -0.864929 0.1312 0.484441 0.490491 45 57.5 57.5 0 -1214 1 1 0 41.032 51.3175 54.2236 -0.896801 0.131749 0.422363 0.490491 45 57.5 57.5 0 -1215 1 1 0 40.757 51.3166 53.5823 -0.924305 0.131656 0.358229 0.490491 45 57.5 57.5 0 -1216 1 1 0 41.4015 50.6576 55.063 -0.859848 0.0657577 0.506298 0.490491 45 57.5 57.5 0 -1217 1 1 0 41.0707 50.6582 54.4537 -0.892927 0.0658169 0.445365 0.490491 45 57.5 57.5 0 -1218 1 1 0 41.1503 50 54.6566 -0.884965 0 0.465657 0.490491 45 57.5 57.5 0 -1219 1 1 0 40.8496 50 54.0336 -0.915043 0 0.403355 0.490491 45 57.5 57.5 0 -1220 1 1 0 40.7808 50.6599 53.8172 -0.921919 0.0659886 0.381722 0.490491 45 57.5 57.5 0 -1221 1 1 0 40.538 50.6604 53.1678 -0.946198 0.0660427 0.316778 0.490491 45 57.5 57.5 0 -1222 1 1 0 40.5926 50 53.3912 -0.940742 0 0.339122 0.490491 45 57.5 57.5 0 -1223 1 1 0 40.3806 50 52.7327 -0.961938 0 0.273267 0.490491 45 57.5 57.5 0 -1224 1 1 0 40.3881 51.9834 51.9178 -0.961188 0.198337 0.19178 0.490491 45 57.5 57.5 0 -1225 1 1 0 40.2763 51.9858 51.2273 -0.97237 0.198581 0.122729 0.490491 45 57.5 57.5 0 -1226 1 1 0 40.3361 51.3279 52.2012 -0.966393 0.132792 0.220117 0.490491 45 57.5 57.5 0 -1227 1 1 0 40.2057 51.3326 51.5155 -0.979426 0.133256 0.151549 0.490491 45 57.5 57.5 0 -1228 1 1 0 40.1231 51.3307 50.8224 -0.987688 0.133071 0.0822422 0.490491 45 57.5 57.5 0 -1229 1 1 0 40.3336 50.6657 52.4733 -0.966643 0.0665668 0.247326 0.490491 45 57.5 57.5 0 -1230 1 1 0 40.1852 50.666 51.796 -0.981483 0.0666046 0.179596 0.490491 45 57.5 57.5 0 -1231 1 1 0 40.2147 50 52.061 -0.97853 0 0.206103 0.490491 45 57.5 57.5 0 -1232 1 1 0 40.0956 50 51.3795 -0.990439 0 0.137952 0.490491 45 57.5 57.5 0 -1233 1 1 0 40.0835 50.6671 51.1039 -0.991648 0.0667095 0.110385 0.490491 45 57.5 57.5 0 -1234 1 1 0 40.0308 50.6674 50.4125 -0.996917 0.0667412 0.0412479 0.490491 45 57.5 57.5 0 -1235 1 1 0 40.0239 50 50.6914 -0.997607 0 0.0691418 0.490491 45 57.5 57.5 0 -1236 1 1 0 40 50 50 -1 0 0 0.490491 45 57.5 57.5 0 -1237 1 1 0 40.7732 51.9839 53.3061 -0.922682 0.198387 0.330606 0.490491 45 57.5 57.5 0 -1238 1 1 0 40.5218 51.3257 52.8993 -0.947822 0.13257 0.289929 0.490491 45 57.5 57.5 0 -1239 1 1 0 40.5557 51.9909 52.6155 -0.944433 0.199094 0.26155 0.490491 45 57.5 57.5 0 -1240 1 1 0 41.4736 54.4446 47.2531 -0.85264 0.444464 -0.274694 0.490491 45 57.5 57.5 0 -1241 1 1 0 41.7155 54.4287 46.5715 -0.828447 0.442867 -0.342848 0.490491 45 57.5 57.5 0 -1242 1 1 0 41.0899 53.8619 47.6132 -0.891007 0.386187 -0.238677 0.490491 45 57.5 57.5 0 -1243 1 1 0 41.3027 53.8591 46.9234 -0.869725 0.385906 -0.307659 0.490491 45 57.5 57.5 0 -1244 1 1 0 41.5609 53.8361 46.2496 -0.843912 0.383614 -0.375038 0.490491 45 57.5 57.5 0 -1245 1 1 0 40.7612 53.2553 47.9881 -0.92388 0.32553 -0.201189 0.490491 45 57.5 57.5 0 -1246 1 1 0 40.9417 53.2593 47.2937 -0.905832 0.325929 -0.270627 0.490491 45 57.5 57.5 0 -1247 1 1 0 40.4894 52.6287 48.3754 -0.951057 0.262865 -0.16246 0.490491 45 57.5 57.5 0 -1248 1 1 0 40.6395 52.6415 47.6755 -0.93605 0.264151 -0.232455 0.490491 45 57.5 57.5 0 -1249 1 1 0 40.8376 52.6408 46.9874 -0.916244 0.264082 -0.301258 0.490491 45 57.5 57.5 0 -1250 1 1 0 41.1716 53.2486 46.6079 -0.882837 0.324863 -0.339209 0.490491 45 57.5 57.5 0 -1251 1 1 0 41.4466 53.2252 45.9457 -0.855337 0.322525 -0.405434 0.490491 45 57.5 57.5 0 -1252 1 1 0 41.0826 52.6266 46.3148 -0.891742 0.262661 -0.368518 0.490491 45 57.5 57.5 0 -1253 1 1 0 41.3733 52.5989 45.6611 -0.862669 0.259892 -0.433888 0.490491 45 57.5 57.5 0 -1254 1 1 0 40.2763 51.9858 48.7727 -0.97237 0.198581 -0.122729 0.490491 45 57.5 57.5 0 -1255 1 1 0 40.3881 51.9834 48.0822 -0.961188 0.198337 -0.19178 0.490491 45 57.5 57.5 0 -1256 1 1 0 40.1231 51.3307 49.1776 -0.987688 0.133071 -0.0822422 0.490491 45 57.5 57.5 0 -1257 1 1 0 40.2057 51.3326 48.4845 -0.979426 0.133256 -0.151549 0.490491 45 57.5 57.5 0 -1258 1 1 0 40.3361 51.3279 47.7988 -0.966393 0.132792 -0.220117 0.490491 45 57.5 57.5 0 -1259 1 1 0 40.0308 50.6674 49.5875 -0.996917 0.0667412 -0.0412479 0.490491 45 57.5 57.5 0 -1260 1 1 0 40.0835 50.6671 48.8961 -0.991648 0.0667095 -0.110385 0.490491 45 57.5 57.5 0 -1261 1 1 0 40.0239 50 49.3086 -0.997607 0 -0.0691418 0.490491 45 57.5 57.5 0 -1262 1 1 0 40.0956 50 48.6205 -0.990439 0 -0.137952 0.490491 45 57.5 57.5 0 -1263 1 1 0 40.1852 50.666 48.204 -0.981483 0.0666046 -0.179596 0.490491 45 57.5 57.5 0 -1264 1 1 0 40.3336 50.6657 47.5267 -0.966643 0.0665668 -0.247326 0.490491 45 57.5 57.5 0 -1265 1 1 0 40.2147 50 47.939 -0.97853 0 -0.206103 0.490491 45 57.5 57.5 0 -1266 1 1 0 40.3806 50 47.2673 -0.961938 0 -0.273267 0.490491 45 57.5 57.5 0 -1267 1 1 0 41.036 51.9641 46.0265 -0.896401 0.196412 -0.39735 0.490491 45 57.5 57.5 0 -1268 1 1 0 41.3413 51.9602 45.3973 -0.865871 0.196015 -0.460266 0.490491 45 57.5 57.5 0 -1269 1 1 0 40.757 51.3166 46.4177 -0.924305 0.131656 -0.358229 0.490491 45 57.5 57.5 0 -1270 1 1 0 41.032 51.3175 45.7764 -0.896801 0.131749 -0.422363 0.490491 45 57.5 57.5 0 -1271 1 1 0 41.3507 51.312 45.1556 -0.864929 0.1312 -0.484441 0.490491 45 57.5 57.5 0 -1272 1 1 0 40.538 50.6604 46.8322 -0.946198 0.0660427 -0.316778 0.490491 45 57.5 57.5 0 -1273 1 1 0 40.7808 50.6599 46.1828 -0.921919 0.0659886 -0.381722 0.490491 45 57.5 57.5 0 -1274 1 1 0 40.5926 50 46.6088 -0.940742 0 -0.339122 0.490491 45 57.5 57.5 0 -1275 1 1 0 40.8496 50 45.9664 -0.915043 0 -0.403355 0.490491 45 57.5 57.5 0 -1276 1 1 0 41.0707 50.6582 45.5463 -0.892927 0.0658169 -0.445365 0.490491 45 57.5 57.5 0 -1277 1 1 0 41.4015 50.6576 44.937 -0.859848 0.0657577 -0.506298 0.490491 45 57.5 57.5 0 -1278 1 1 0 41.1503 50 45.3434 -0.884965 0 -0.465657 0.490491 45 57.5 57.5 0 -1279 1 1 0 40.5557 51.9909 47.3845 -0.944433 0.199094 -0.26155 0.490491 45 57.5 57.5 0 -1280 1 1 0 40.5218 51.3257 47.1007 -0.947822 0.13257 -0.289929 0.490491 45 57.5 57.5 0 -1281 1 1 0 40.7732 51.9839 46.6939 -0.922682 0.198387 -0.330606 0.490491 45 57.5 57.5 0 -1282 1 1 0 41.3147 54.5426 51.9823 -0.868535 0.454262 0.198227 0.490491 45 57.5 57.5 0 -1283 1 1 0 40.9516 53.9414 51.6101 -0.904839 0.394136 0.161007 0.490491 45 57.5 57.5 0 -1284 1 1 0 40.6487 53.3234 51.228 -0.93513 0.332342 0.1228 0.490491 45 57.5 57.5 0 -1285 1 1 0 40.8702 53.9961 50.8232 -0.912983 0.399607 0.0823235 0.490491 45 57.5 57.5 0 -1286 1 1 0 41.2066 54.6088 51.1976 -0.879344 0.460882 0.119755 0.490491 45 57.5 57.5 0 -1287 1 1 0 41.1524 54.6421 50.413 -0.88476 0.464213 0.0412991 0.490491 45 57.5 57.5 0 -1288 1 1 0 40.3935 52.6552 50.815 -0.960655 0.265519 0.081501 0.490491 45 57.5 57.5 0 -1289 1 1 0 40.2115 52.0037 50.4125 -0.978852 0.200368 0.0412506 0.490491 45 57.5 57.5 0 -1290 1 1 0 40.3614 52.664 50 -0.963861 0.266405 0 0.490491 45 57.5 57.5 0 -1291 1 1 0 40.0895 51.3352 50 -0.991046 0.133524 0 0.490491 45 57.5 57.5 0 -1292 1 1 0 40.2115 52.0037 49.5875 -0.978852 0.200368 -0.0412506 0.490491 45 57.5 57.5 0 -1293 1 1 0 40.3935 52.6552 49.185 -0.960655 0.265519 -0.081501 0.490491 45 57.5 57.5 0 -1294 1 1 0 41.1524 54.6421 49.587 -0.88476 0.464213 -0.0412991 0.490491 45 57.5 57.5 0 -1295 1 1 0 40.8702 53.9961 49.1768 -0.912983 0.399607 -0.0823235 0.490491 45 57.5 57.5 0 -1296 1 1 0 41.2066 54.6088 48.8024 -0.879344 0.460882 -0.119755 0.490491 45 57.5 57.5 0 -1297 1 1 0 40.6487 53.3234 48.772 -0.93513 0.332342 -0.1228 0.490491 45 57.5 57.5 0 -1298 1 1 0 40.9516 53.9414 48.3899 -0.904839 0.394136 -0.161007 0.490491 45 57.5 57.5 0 -1299 1 1 0 41.3147 54.5426 48.0177 -0.868535 0.454262 -0.198227 0.490491 45 57.5 57.5 0 -1300 1 1 0 40.5838 53.3414 50.413 -0.941618 0.33414 0.0413021 0.490491 45 57.5 57.5 0 -1301 1 1 0 40.5838 53.3414 49.587 -0.941618 0.33414 -0.0413021 0.490491 45 57.5 57.5 0 -1302 1 1 0 40.8391 54.0097 50 -0.916092 0.400968 0 0.490491 45 57.5 57.5 0 -1303 1 1 0 44.2794 41.8079 49.5936 -0.572055 -0.819207 -0.0406403 0.490491 45 57.5 57.5 0 -1304 1 1 0 44.2794 41.8079 50.4064 -0.572055 -0.819207 0.0406403 0.490491 45 57.5 57.5 0 -1305 1 1 0 43.8436 42.1616 49.1891 -0.615642 -0.783843 -0.081086 0.490491 45 57.5 57.5 0 -1306 1 1 0 43.8232 42.1357 50 -0.617676 -0.786433 0 0.490491 45 57.5 57.5 0 -1307 1 1 0 43.8436 42.1616 50.8109 -0.615642 -0.783843 0.081086 0.490491 45 57.5 57.5 0 -1308 1 1 0 43.4372 42.5527 48.7886 -0.656282 -0.744727 -0.121144 0.490491 45 57.5 57.5 0 -1309 1 1 0 43.3912 42.5061 49.5936 -0.660883 -0.749387 -0.0406418 0.490491 45 57.5 57.5 0 -1310 1 1 0 43.0622 42.9795 48.3938 -0.69378 -0.702047 -0.160622 0.490491 45 57.5 57.5 0 -1311 1 1 0 42.9938 42.9103 49.1943 -0.700622 -0.708969 -0.0805729 0.490491 45 57.5 57.5 0 -1312 1 1 0 42.9709 42.8872 50 -0.702907 -0.711282 0 0.490491 45 57.5 57.5 0 -1313 1 1 0 43.3912 42.5061 50.4064 -0.660883 -0.749387 0.0406418 0.490491 45 57.5 57.5 0 -1314 1 1 0 43.4372 42.5527 51.2114 -0.656282 -0.744727 0.121144 0.490491 45 57.5 57.5 0 -1315 1 1 0 42.9938 42.9103 50.8057 -0.700622 -0.708969 0.0805729 0.490491 45 57.5 57.5 0 -1316 1 1 0 43.0622 42.9795 51.6062 -0.69378 -0.702047 0.160622 0.490491 45 57.5 57.5 0 -1317 1 1 0 42.7204 43.4399 48.0067 -0.727959 -0.656006 -0.199331 0.490491 45 57.5 57.5 0 -1318 1 1 0 42.6111 43.3716 48.7881 -0.738887 -0.662842 -0.121192 0.490491 45 57.5 57.5 0 -1319 1 1 0 42.4135 43.9317 47.6291 -0.758652 -0.606825 -0.237086 0.490491 45 57.5 57.5 0 -1320 1 1 0 42.2816 43.8454 48.4039 -0.771841 -0.615456 -0.159613 0.490491 45 57.5 57.5 0 -1321 1 1 0 42.198 43.7976 49.1886 -0.780205 -0.620239 -0.0811417 0.490491 45 57.5 57.5 0 -1322 1 1 0 42.1428 44.4526 47.2629 -0.785715 -0.55474 -0.273706 0.490491 45 57.5 57.5 0 -1323 1 1 0 41.985 44.3549 48.0273 -0.801504 -0.564513 -0.197274 0.490491 45 57.5 57.5 0 -1324 1 1 0 41.9098 45 46.9098 -0.809017 -0.5 -0.309017 0.490491 45 57.5 57.5 0 -1325 1 1 0 41.7285 44.888 47.6655 -0.827147 -0.511205 -0.233445 0.490491 45 57.5 57.5 0 -1326 1 1 0 41.5982 44.8074 48.4357 -0.840178 -0.519259 -0.156434 0.490491 45 57.5 57.5 0 -1327 1 1 0 41.8783 44.2886 48.8092 -0.81217 -0.57114 -0.119078 0.490491 45 57.5 57.5 0 -1328 1 1 0 41.8248 44.2554 49.5933 -0.817523 -0.574458 -0.040675 0.490491 45 57.5 57.5 0 -1329 1 1 0 41.5197 44.7589 49.2154 -0.848029 -0.52411 -0.0784592 0.490491 45 57.5 57.5 0 -1330 1 1 0 41.4935 44.7427 50 -0.850651 -0.525731 0 0.490491 45 57.5 57.5 0 -1331 1 1 0 42.6111 43.3716 51.2119 -0.738887 -0.662842 0.121192 0.490491 45 57.5 57.5 0 -1332 1 1 0 42.7204 43.4399 51.9933 -0.727959 -0.656006 0.199331 0.490491 45 57.5 57.5 0 -1333 1 1 0 42.198 43.7976 50.8114 -0.780205 -0.620239 0.0811417 0.490491 45 57.5 57.5 0 -1334 1 1 0 42.2816 43.8454 51.5961 -0.771841 -0.615456 0.159613 0.490491 45 57.5 57.5 0 -1335 1 1 0 42.4135 43.9317 52.3709 -0.758652 -0.606825 0.237086 0.490491 45 57.5 57.5 0 -1336 1 1 0 41.8248 44.2554 50.4067 -0.817523 -0.574458 0.040675 0.490491 45 57.5 57.5 0 -1337 1 1 0 41.8783 44.2886 51.1908 -0.81217 -0.57114 0.119078 0.490491 45 57.5 57.5 0 -1338 1 1 0 41.5197 44.7589 50.7846 -0.848029 -0.52411 0.0784592 0.490491 45 57.5 57.5 0 -1339 1 1 0 41.5982 44.8074 51.5643 -0.840178 -0.519259 0.156434 0.490491 45 57.5 57.5 0 -1340 1 1 0 41.985 44.3549 51.9727 -0.801504 -0.564513 0.197274 0.490491 45 57.5 57.5 0 -1341 1 1 0 42.1428 44.4526 52.7371 -0.785715 -0.55474 0.273706 0.490491 45 57.5 57.5 0 -1342 1 1 0 41.7285 44.888 52.3345 -0.827147 -0.511205 0.233445 0.490491 45 57.5 57.5 0 -1343 1 1 0 41.9098 45 53.0902 -0.809017 -0.5 0.309017 0.490491 45 57.5 57.5 0 -1344 1 1 0 42.565 43.325 49.5932 -0.743496 -0.667502 -0.0406769 0.490491 45 57.5 57.5 0 -1345 1 1 0 42.1721 43.7771 50 -0.782786 -0.622291 0 0.490491 45 57.5 57.5 0 -1346 1 1 0 42.565 43.325 50.4068 -0.743496 -0.667502 0.0406769 0.490491 45 57.5 57.5 0 -1347 1 1 0 41.7155 45.5713 46.5715 -0.828447 -0.442867 -0.342848 0.490491 45 57.5 57.5 0 -1348 1 1 0 41.4736 45.5554 47.2531 -0.85264 -0.444464 -0.274694 0.490491 45 57.5 57.5 0 -1349 1 1 0 41.5609 46.1639 46.2496 -0.843912 -0.383614 -0.375038 0.490491 45 57.5 57.5 0 -1350 1 1 0 41.3027 46.1409 46.9234 -0.869725 -0.385906 -0.307659 0.490491 45 57.5 57.5 0 -1351 1 1 0 41.0899 46.1381 47.6132 -0.891007 -0.386187 -0.238677 0.490491 45 57.5 57.5 0 -1352 1 1 0 41.4466 46.7748 45.9457 -0.855337 -0.322525 -0.405434 0.490491 45 57.5 57.5 0 -1353 1 1 0 41.1716 46.7514 46.6079 -0.882837 -0.324863 -0.339209 0.490491 45 57.5 57.5 0 -1354 1 1 0 41.3733 47.4011 45.6611 -0.862669 -0.259892 -0.433888 0.490491 45 57.5 57.5 0 -1355 1 1 0 41.0826 47.3734 46.3148 -0.891742 -0.262661 -0.368518 0.490491 45 57.5 57.5 0 -1356 1 1 0 40.8376 47.3592 46.9874 -0.916244 -0.264082 -0.301258 0.490491 45 57.5 57.5 0 -1357 1 1 0 40.9417 46.7407 47.2937 -0.905832 -0.325929 -0.270627 0.490491 45 57.5 57.5 0 -1358 1 1 0 40.7612 46.7447 47.9881 -0.92388 -0.32553 -0.201189 0.490491 45 57.5 57.5 0 -1359 1 1 0 40.6395 47.3585 47.6755 -0.93605 -0.264151 -0.232455 0.490491 45 57.5 57.5 0 -1360 1 1 0 40.4894 47.3713 48.3754 -0.951057 -0.262865 -0.16246 0.490491 45 57.5 57.5 0 -1361 1 1 0 41.3413 48.0398 45.3973 -0.865871 -0.196015 -0.460266 0.490491 45 57.5 57.5 0 -1362 1 1 0 41.036 48.0359 46.0265 -0.896401 -0.196412 -0.39735 0.490491 45 57.5 57.5 0 -1363 1 1 0 41.3507 48.688 45.1556 -0.864929 -0.1312 -0.484441 0.490491 45 57.5 57.5 0 -1364 1 1 0 41.032 48.6825 45.7764 -0.896801 -0.131749 -0.422363 0.490491 45 57.5 57.5 0 -1365 1 1 0 40.757 48.6834 46.4177 -0.924305 -0.131656 -0.358229 0.490491 45 57.5 57.5 0 -1366 1 1 0 41.4015 49.3424 44.937 -0.859848 -0.0657577 -0.506298 0.490491 45 57.5 57.5 0 -1367 1 1 0 41.0707 49.3418 45.5463 -0.892927 -0.0658169 -0.445365 0.490491 45 57.5 57.5 0 -1368 1 1 0 40.7808 49.3401 46.1828 -0.921919 -0.0659886 -0.381722 0.490491 45 57.5 57.5 0 -1369 1 1 0 40.538 49.3396 46.8322 -0.946198 -0.0660427 -0.316778 0.490491 45 57.5 57.5 0 -1370 1 1 0 40.3881 48.0166 48.0822 -0.961188 -0.198337 -0.19178 0.490491 45 57.5 57.5 0 -1371 1 1 0 40.2763 48.0142 48.7727 -0.97237 -0.198581 -0.122729 0.490491 45 57.5 57.5 0 -1372 1 1 0 40.3361 48.6721 47.7988 -0.966393 -0.132792 -0.220117 0.490491 45 57.5 57.5 0 -1373 1 1 0 40.2057 48.6674 48.4845 -0.979426 -0.133256 -0.151549 0.490491 45 57.5 57.5 0 -1374 1 1 0 40.1231 48.6693 49.1776 -0.987688 -0.133071 -0.0822422 0.490491 45 57.5 57.5 0 -1375 1 1 0 40.3336 49.3343 47.5267 -0.966643 -0.0665668 -0.247326 0.490491 45 57.5 57.5 0 -1376 1 1 0 40.1852 49.334 48.204 -0.981483 -0.0666046 -0.179596 0.490491 45 57.5 57.5 0 -1377 1 1 0 40.0835 49.3329 48.8961 -0.991648 -0.0667095 -0.110385 0.490491 45 57.5 57.5 0 -1378 1 1 0 40.0308 49.3326 49.5875 -0.996917 -0.0667412 -0.0412479 0.490491 45 57.5 57.5 0 -1379 1 1 0 40.7732 48.0161 46.6939 -0.922682 -0.198387 -0.330606 0.490491 45 57.5 57.5 0 -1380 1 1 0 40.5218 48.6743 47.1007 -0.947822 -0.13257 -0.289929 0.490491 45 57.5 57.5 0 -1381 1 1 0 40.5557 48.0091 47.3845 -0.944433 -0.199094 -0.26155 0.490491 45 57.5 57.5 0 -1382 1 1 0 41.4736 45.5554 52.7469 -0.85264 -0.444464 0.274694 0.490491 45 57.5 57.5 0 -1383 1 1 0 41.7155 45.5713 53.4285 -0.828447 -0.442867 0.342848 0.490491 45 57.5 57.5 0 -1384 1 1 0 41.0899 46.1381 52.3868 -0.891007 -0.386187 0.238677 0.490491 45 57.5 57.5 0 -1385 1 1 0 41.3027 46.1409 53.0766 -0.869725 -0.385906 0.307659 0.490491 45 57.5 57.5 0 -1386 1 1 0 41.5609 46.1639 53.7504 -0.843912 -0.383614 0.375038 0.490491 45 57.5 57.5 0 -1387 1 1 0 40.7612 46.7447 52.0119 -0.92388 -0.32553 0.201189 0.490491 45 57.5 57.5 0 -1388 1 1 0 40.9417 46.7407 52.7063 -0.905832 -0.325929 0.270627 0.490491 45 57.5 57.5 0 -1389 1 1 0 40.4894 47.3713 51.6246 -0.951057 -0.262865 0.16246 0.490491 45 57.5 57.5 0 -1390 1 1 0 40.6395 47.3585 52.3245 -0.93605 -0.264151 0.232455 0.490491 45 57.5 57.5 0 -1391 1 1 0 40.8376 47.3592 53.0126 -0.916244 -0.264082 0.301258 0.490491 45 57.5 57.5 0 -1392 1 1 0 41.1716 46.7514 53.3921 -0.882837 -0.324863 0.339209 0.490491 45 57.5 57.5 0 -1393 1 1 0 41.4466 46.7748 54.0543 -0.855337 -0.322525 0.405434 0.490491 45 57.5 57.5 0 -1394 1 1 0 41.0826 47.3734 53.6852 -0.891742 -0.262661 0.368518 0.490491 45 57.5 57.5 0 -1395 1 1 0 41.3733 47.4011 54.3389 -0.862669 -0.259892 0.433888 0.490491 45 57.5 57.5 0 -1396 1 1 0 40.2763 48.0142 51.2273 -0.97237 -0.198581 0.122729 0.490491 45 57.5 57.5 0 -1397 1 1 0 40.3881 48.0166 51.9178 -0.961188 -0.198337 0.19178 0.490491 45 57.5 57.5 0 -1398 1 1 0 40.1231 48.6693 50.8224 -0.987688 -0.133071 0.0822422 0.490491 45 57.5 57.5 0 -1399 1 1 0 40.2057 48.6674 51.5155 -0.979426 -0.133256 0.151549 0.490491 45 57.5 57.5 0 -1400 1 1 0 40.3361 48.6721 52.2012 -0.966393 -0.132792 0.220117 0.490491 45 57.5 57.5 0 -1401 1 1 0 40.0308 49.3326 50.4125 -0.996917 -0.0667412 0.0412479 0.490491 45 57.5 57.5 0 -1402 1 1 0 40.0835 49.3329 51.1039 -0.991648 -0.0667095 0.110385 0.490491 45 57.5 57.5 0 -1403 1 1 0 40.1852 49.334 51.796 -0.981483 -0.0666046 0.179596 0.490491 45 57.5 57.5 0 -1404 1 1 0 40.3336 49.3343 52.4733 -0.966643 -0.0665668 0.247326 0.490491 45 57.5 57.5 0 -1405 1 1 0 41.036 48.0359 53.9735 -0.896401 -0.196412 0.39735 0.490491 45 57.5 57.5 0 -1406 1 1 0 41.3413 48.0398 54.6027 -0.865871 -0.196015 0.460266 0.490491 45 57.5 57.5 0 -1407 1 1 0 40.757 48.6834 53.5823 -0.924305 -0.131656 0.358229 0.490491 45 57.5 57.5 0 -1408 1 1 0 41.032 48.6825 54.2236 -0.896801 -0.131749 0.422363 0.490491 45 57.5 57.5 0 -1409 1 1 0 41.3507 48.688 54.8444 -0.864929 -0.1312 0.484441 0.490491 45 57.5 57.5 0 -1410 1 1 0 40.538 49.3396 53.1678 -0.946198 -0.0660427 0.316778 0.490491 45 57.5 57.5 0 -1411 1 1 0 40.7808 49.3401 53.8172 -0.921919 -0.0659886 0.381722 0.490491 45 57.5 57.5 0 -1412 1 1 0 41.0707 49.3418 54.4537 -0.892927 -0.0658169 0.445365 0.490491 45 57.5 57.5 0 -1413 1 1 0 41.4015 49.3424 55.063 -0.859848 -0.0657577 0.506298 0.490491 45 57.5 57.5 0 -1414 1 1 0 40.5557 48.0091 52.6155 -0.944433 -0.199094 0.26155 0.490491 45 57.5 57.5 0 -1415 1 1 0 40.5218 48.6743 52.8993 -0.947822 -0.13257 0.289929 0.490491 45 57.5 57.5 0 -1416 1 1 0 40.7732 48.0161 53.3061 -0.922682 -0.198387 0.330606 0.490491 45 57.5 57.5 0 -1417 1 1 0 41.3147 45.4574 48.0177 -0.868535 -0.454262 -0.198227 0.490491 45 57.5 57.5 0 -1418 1 1 0 40.9516 46.0586 48.3899 -0.904839 -0.394136 -0.161007 0.490491 45 57.5 57.5 0 -1419 1 1 0 40.6487 46.6766 48.772 -0.93513 -0.332342 -0.1228 0.490491 45 57.5 57.5 0 -1420 1 1 0 40.8702 46.0039 49.1768 -0.912983 -0.399607 -0.0823235 0.490491 45 57.5 57.5 0 -1421 1 1 0 41.2066 45.3912 48.8024 -0.879344 -0.460882 -0.119755 0.490491 45 57.5 57.5 0 -1422 1 1 0 41.1524 45.3579 49.587 -0.88476 -0.464213 -0.0412991 0.490491 45 57.5 57.5 0 -1423 1 1 0 40.3935 47.3448 49.185 -0.960655 -0.265519 -0.081501 0.490491 45 57.5 57.5 0 -1424 1 1 0 40.2115 47.9963 49.5875 -0.978852 -0.200368 -0.0412506 0.490491 45 57.5 57.5 0 -1425 1 1 0 40.3614 47.336 50 -0.963861 -0.266405 0 0.490491 45 57.5 57.5 0 -1426 1 1 0 40.0895 48.6648 50 -0.991046 -0.133524 0 0.490491 45 57.5 57.5 0 -1427 1 1 0 40.2115 47.9963 50.4125 -0.978852 -0.200368 0.0412506 0.490491 45 57.5 57.5 0 -1428 1 1 0 40.3935 47.3448 50.815 -0.960655 -0.265519 0.081501 0.490491 45 57.5 57.5 0 -1429 1 1 0 41.1524 45.3579 50.413 -0.88476 -0.464213 0.0412991 0.490491 45 57.5 57.5 0 -1430 1 1 0 40.8702 46.0039 50.8232 -0.912983 -0.399607 0.0823235 0.490491 45 57.5 57.5 0 -1431 1 1 0 41.2066 45.3912 51.1976 -0.879344 -0.460882 0.119755 0.490491 45 57.5 57.5 0 -1432 1 1 0 40.6487 46.6766 51.228 -0.93513 -0.332342 0.1228 0.490491 45 57.5 57.5 0 -1433 1 1 0 40.9516 46.0586 51.6101 -0.904839 -0.394136 0.161007 0.490491 45 57.5 57.5 0 -1434 1 1 0 41.3147 45.4574 51.9823 -0.868535 -0.454262 0.198227 0.490491 45 57.5 57.5 0 -1435 1 1 0 40.5838 46.6586 49.587 -0.941618 -0.33414 -0.0413021 0.490491 45 57.5 57.5 0 -1436 1 1 0 40.5838 46.6586 50.413 -0.941618 -0.33414 0.0413021 0.490491 45 57.5 57.5 0 -1437 1 1 0 40.8391 45.9903 50 -0.916092 -0.400968 0 0.490491 45 57.5 57.5 0 -1438 1 1 0 55.7206 58.1921 49.5936 0.572055 0.819207 -0.0406403 0.490491 45 57.5 57.5 0 -1439 1 1 0 55.7206 58.1921 50.4064 0.572055 0.819207 0.0406403 0.490491 45 57.5 57.5 0 -1440 1 1 0 56.1564 57.8384 49.1891 0.615642 0.783843 -0.081086 0.490491 45 57.5 57.5 0 -1441 1 1 0 56.1768 57.8643 50 0.617676 0.786433 0 0.490491 45 57.5 57.5 0 -1442 1 1 0 56.1564 57.8384 50.8109 0.615642 0.783843 0.081086 0.490491 45 57.5 57.5 0 -1443 1 1 0 56.5628 57.4473 48.7886 0.656282 0.744727 -0.121144 0.490491 45 57.5 57.5 0 -1444 1 1 0 56.6088 57.4939 49.5936 0.660883 0.749387 -0.0406418 0.490491 45 57.5 57.5 0 -1445 1 1 0 56.9378 57.0205 48.3938 0.69378 0.702047 -0.160622 0.490491 45 57.5 57.5 0 -1446 1 1 0 57.0062 57.0897 49.1943 0.700622 0.708969 -0.0805729 0.490491 45 57.5 57.5 0 -1447 1 1 0 57.0291 57.1128 50 0.702907 0.711282 0 0.490491 45 57.5 57.5 0 -1448 1 1 0 56.6088 57.4939 50.4064 0.660883 0.749387 0.0406418 0.490491 45 57.5 57.5 0 -1449 1 1 0 56.5628 57.4473 51.2114 0.656282 0.744727 0.121144 0.490491 45 57.5 57.5 0 -1450 1 1 0 57.0062 57.0897 50.8057 0.700622 0.708969 0.0805729 0.490491 45 57.5 57.5 0 -1451 1 1 0 56.9378 57.0205 51.6062 0.69378 0.702047 0.160622 0.490491 45 57.5 57.5 0 -1452 1 1 0 57.2796 56.5601 48.0067 0.727959 0.656006 -0.199331 0.490491 45 57.5 57.5 0 -1453 1 1 0 57.3889 56.6284 48.7881 0.738887 0.662842 -0.121192 0.490491 45 57.5 57.5 0 -1454 1 1 0 57.5865 56.0683 47.6291 0.758652 0.606825 -0.237086 0.490491 45 57.5 57.5 0 -1455 1 1 0 57.7184 56.1546 48.4039 0.771841 0.615456 -0.159613 0.490491 45 57.5 57.5 0 -1456 1 1 0 57.802 56.2024 49.1886 0.780205 0.620239 -0.0811417 0.490491 45 57.5 57.5 0 -1457 1 1 0 57.8572 55.5474 47.2629 0.785715 0.55474 -0.273706 0.490491 45 57.5 57.5 0 -1458 1 1 0 58.015 55.6451 48.0273 0.801504 0.564513 -0.197274 0.490491 45 57.5 57.5 0 -1459 1 1 0 58.0902 55 46.9098 0.809017 0.5 -0.309017 0.490491 45 57.5 57.5 0 -1460 1 1 0 58.2715 55.112 47.6655 0.827147 0.511205 -0.233445 0.490491 45 57.5 57.5 0 -1461 1 1 0 58.4018 55.1926 48.4357 0.840178 0.519259 -0.156434 0.490491 45 57.5 57.5 0 -1462 1 1 0 58.1217 55.7114 48.8092 0.81217 0.57114 -0.119078 0.490491 45 57.5 57.5 0 -1463 1 1 0 58.1752 55.7446 49.5933 0.817523 0.574458 -0.040675 0.490491 45 57.5 57.5 0 -1464 1 1 0 58.4803 55.2411 49.2154 0.848029 0.52411 -0.0784592 0.490491 45 57.5 57.5 0 -1465 1 1 0 58.5065 55.2573 50 0.850651 0.525731 0 0.490491 45 57.5 57.5 0 -1466 1 1 0 57.3889 56.6284 51.2119 0.738887 0.662842 0.121192 0.490491 45 57.5 57.5 0 -1467 1 1 0 57.2796 56.5601 51.9933 0.727959 0.656006 0.199331 0.490491 45 57.5 57.5 0 -1468 1 1 0 57.802 56.2024 50.8114 0.780205 0.620239 0.0811417 0.490491 45 57.5 57.5 0 -1469 1 1 0 57.7184 56.1546 51.5961 0.771841 0.615456 0.159613 0.490491 45 57.5 57.5 0 -1470 1 1 0 57.5865 56.0683 52.3709 0.758652 0.606825 0.237086 0.490491 45 57.5 57.5 0 -1471 1 1 0 58.1752 55.7446 50.4067 0.817523 0.574458 0.040675 0.490491 45 57.5 57.5 0 -1472 1 1 0 58.1217 55.7114 51.1908 0.81217 0.57114 0.119078 0.490491 45 57.5 57.5 0 -1473 1 1 0 58.4803 55.2411 50.7846 0.848029 0.52411 0.0784592 0.490491 45 57.5 57.5 0 -1474 1 1 0 58.4018 55.1926 51.5643 0.840178 0.519259 0.156434 0.490491 45 57.5 57.5 0 -1475 1 1 0 58.015 55.6451 51.9727 0.801504 0.564513 0.197274 0.490491 45 57.5 57.5 0 -1476 1 1 0 57.8572 55.5474 52.7371 0.785715 0.55474 0.273706 0.490491 45 57.5 57.5 0 -1477 1 1 0 58.2715 55.112 52.3345 0.827147 0.511205 0.233445 0.490491 45 57.5 57.5 0 -1478 1 1 0 58.0902 55 53.0902 0.809017 0.5 0.309017 0.490491 45 57.5 57.5 0 -1479 1 1 0 57.435 56.675 49.5932 0.743496 0.667502 -0.0406769 0.490491 45 57.5 57.5 0 -1480 1 1 0 57.8279 56.2229 50 0.782786 0.622291 0 0.490491 45 57.5 57.5 0 -1481 1 1 0 57.435 56.675 50.4068 0.743496 0.667502 0.0406769 0.490491 45 57.5 57.5 0 -1482 1 1 0 58.2845 54.4287 46.5715 0.828447 0.442867 -0.342848 0.490491 45 57.5 57.5 0 -1483 1 1 0 58.5264 54.4446 47.2531 0.85264 0.444464 -0.274694 0.490491 45 57.5 57.5 0 -1484 1 1 0 58.4391 53.8361 46.2496 0.843912 0.383614 -0.375038 0.490491 45 57.5 57.5 0 -1485 1 1 0 58.6973 53.8591 46.9234 0.869725 0.385906 -0.307659 0.490491 45 57.5 57.5 0 -1486 1 1 0 58.9101 53.8619 47.6132 0.891007 0.386187 -0.238677 0.490491 45 57.5 57.5 0 -1487 1 1 0 58.5534 53.2252 45.9457 0.855337 0.322525 -0.405434 0.490491 45 57.5 57.5 0 -1488 1 1 0 58.8284 53.2486 46.6079 0.882837 0.324863 -0.339209 0.490491 45 57.5 57.5 0 -1489 1 1 0 58.6267 52.5989 45.6611 0.862669 0.259892 -0.433888 0.490491 45 57.5 57.5 0 -1490 1 1 0 58.9174 52.6266 46.3148 0.891742 0.262661 -0.368518 0.490491 45 57.5 57.5 0 -1491 1 1 0 59.1624 52.6408 46.9874 0.916244 0.264082 -0.301258 0.490491 45 57.5 57.5 0 -1492 1 1 0 59.0583 53.2593 47.2937 0.905832 0.325929 -0.270627 0.490491 45 57.5 57.5 0 -1493 1 1 0 59.2388 53.2553 47.9881 0.92388 0.32553 -0.201189 0.490491 45 57.5 57.5 0 -1494 1 1 0 59.3605 52.6415 47.6755 0.93605 0.264151 -0.232455 0.490491 45 57.5 57.5 0 -1495 1 1 0 59.5106 52.6287 48.3754 0.951057 0.262865 -0.16246 0.490491 45 57.5 57.5 0 -1496 1 1 0 58.6587 51.9602 45.3973 0.865871 0.196015 -0.460266 0.490491 45 57.5 57.5 0 -1497 1 1 0 58.964 51.9641 46.0265 0.896401 0.196412 -0.39735 0.490491 45 57.5 57.5 0 -1498 1 1 0 58.6493 51.312 45.1556 0.864929 0.1312 -0.484441 0.490491 45 57.5 57.5 0 -1499 1 1 0 58.968 51.3175 45.7764 0.896801 0.131749 -0.422363 0.490491 45 57.5 57.5 0 -1500 1 1 0 59.243 51.3166 46.4177 0.924305 0.131656 -0.358229 0.490491 45 57.5 57.5 0 -1501 1 1 0 58.5985 50.6576 44.937 0.859848 0.0657577 -0.506298 0.490491 45 57.5 57.5 0 -1502 1 1 0 58.9293 50.6582 45.5463 0.892927 0.0658169 -0.445365 0.490491 45 57.5 57.5 0 -1503 1 1 0 58.8497 50 45.3434 0.884965 0 -0.465657 0.490491 45 57.5 57.5 0 -1504 1 1 0 59.1504 50 45.9664 0.915043 0 -0.403355 0.490491 45 57.5 57.5 0 -1505 1 1 0 59.2192 50.6599 46.1828 0.921919 0.0659886 -0.381722 0.490491 45 57.5 57.5 0 -1506 1 1 0 59.462 50.6604 46.8322 0.946198 0.0660427 -0.316778 0.490491 45 57.5 57.5 0 -1507 1 1 0 59.4074 50 46.6088 0.940742 0 -0.339122 0.490491 45 57.5 57.5 0 -1508 1 1 0 59.6194 50 47.2673 0.961938 0 -0.273267 0.490491 45 57.5 57.5 0 -1509 1 1 0 59.6119 51.9834 48.0822 0.961188 0.198337 -0.19178 0.490491 45 57.5 57.5 0 -1510 1 1 0 59.7237 51.9858 48.7727 0.97237 0.198581 -0.122729 0.490491 45 57.5 57.5 0 -1511 1 1 0 59.6639 51.3279 47.7988 0.966393 0.132792 -0.220117 0.490491 45 57.5 57.5 0 -1512 1 1 0 59.7943 51.3326 48.4845 0.979426 0.133256 -0.151549 0.490491 45 57.5 57.5 0 -1513 1 1 0 59.8769 51.3307 49.1776 0.987688 0.133071 -0.0822422 0.490491 45 57.5 57.5 0 -1514 1 1 0 59.6664 50.6657 47.5267 0.966643 0.0665668 -0.247326 0.490491 45 57.5 57.5 0 -1515 1 1 0 59.8148 50.666 48.204 0.981483 0.0666046 -0.179596 0.490491 45 57.5 57.5 0 -1516 1 1 0 59.7853 50 47.939 0.97853 0 -0.206103 0.490491 45 57.5 57.5 0 -1517 1 1 0 59.9044 50 48.6205 0.990439 0 -0.137952 0.490491 45 57.5 57.5 0 -1518 1 1 0 59.9165 50.6671 48.8961 0.991648 0.0667095 -0.110385 0.490491 45 57.5 57.5 0 -1519 1 1 0 59.9692 50.6674 49.5875 0.996917 0.0667412 -0.0412479 0.490491 45 57.5 57.5 0 -1520 1 1 0 59.9761 50 49.3086 0.997607 0 -0.0691418 0.490491 45 57.5 57.5 0 -1521 1 1 0 60 50 50 1 0 0 0.490491 45 57.5 57.5 0 -1522 1 1 0 59.2268 51.9839 46.6939 0.922682 0.198387 -0.330606 0.490491 45 57.5 57.5 0 -1523 1 1 0 59.4782 51.3257 47.1007 0.947822 0.13257 -0.289929 0.490491 45 57.5 57.5 0 -1524 1 1 0 59.4443 51.9909 47.3845 0.944433 0.199094 -0.26155 0.490491 45 57.5 57.5 0 -1525 1 1 0 58.5264 54.4446 52.7469 0.85264 0.444464 0.274694 0.490491 45 57.5 57.5 0 -1526 1 1 0 58.2845 54.4287 53.4285 0.828447 0.442867 0.342848 0.490491 45 57.5 57.5 0 -1527 1 1 0 58.9101 53.8619 52.3868 0.891007 0.386187 0.238677 0.490491 45 57.5 57.5 0 -1528 1 1 0 58.6973 53.8591 53.0766 0.869725 0.385906 0.307659 0.490491 45 57.5 57.5 0 -1529 1 1 0 58.4391 53.8361 53.7504 0.843912 0.383614 0.375038 0.490491 45 57.5 57.5 0 -1530 1 1 0 59.2388 53.2553 52.0119 0.92388 0.32553 0.201189 0.490491 45 57.5 57.5 0 -1531 1 1 0 59.0583 53.2593 52.7063 0.905832 0.325929 0.270627 0.490491 45 57.5 57.5 0 -1532 1 1 0 59.5106 52.6287 51.6246 0.951057 0.262865 0.16246 0.490491 45 57.5 57.5 0 -1533 1 1 0 59.3605 52.6415 52.3245 0.93605 0.264151 0.232455 0.490491 45 57.5 57.5 0 -1534 1 1 0 59.1624 52.6408 53.0126 0.916244 0.264082 0.301258 0.490491 45 57.5 57.5 0 -1535 1 1 0 58.8284 53.2486 53.3921 0.882837 0.324863 0.339209 0.490491 45 57.5 57.5 0 -1536 1 1 0 58.5534 53.2252 54.0543 0.855337 0.322525 0.405434 0.490491 45 57.5 57.5 0 -1537 1 1 0 58.9174 52.6266 53.6852 0.891742 0.262661 0.368518 0.490491 45 57.5 57.5 0 -1538 1 1 0 58.6267 52.5989 54.3389 0.862669 0.259892 0.433888 0.490491 45 57.5 57.5 0 -1539 1 1 0 59.7237 51.9858 51.2273 0.97237 0.198581 0.122729 0.490491 45 57.5 57.5 0 -1540 1 1 0 59.6119 51.9834 51.9178 0.961188 0.198337 0.19178 0.490491 45 57.5 57.5 0 -1541 1 1 0 59.8769 51.3307 50.8224 0.987688 0.133071 0.0822422 0.490491 45 57.5 57.5 0 -1542 1 1 0 59.7943 51.3326 51.5155 0.979426 0.133256 0.151549 0.490491 45 57.5 57.5 0 -1543 1 1 0 59.6639 51.3279 52.2012 0.966393 0.132792 0.220117 0.490491 45 57.5 57.5 0 -1544 1 1 0 59.9692 50.6674 50.4125 0.996917 0.0667412 0.0412479 0.490491 45 57.5 57.5 0 -1545 1 1 0 59.9165 50.6671 51.1039 0.991648 0.0667095 0.110385 0.490491 45 57.5 57.5 0 -1546 1 1 0 59.9761 50 50.6914 0.997607 0 0.0691418 0.490491 45 57.5 57.5 0 -1547 1 1 0 59.9044 50 51.3795 0.990439 0 0.137952 0.490491 45 57.5 57.5 0 -1548 1 1 0 59.8148 50.666 51.796 0.981483 0.0666046 0.179596 0.490491 45 57.5 57.5 0 -1549 1 1 0 59.6664 50.6657 52.4733 0.966643 0.0665668 0.247326 0.490491 45 57.5 57.5 0 -1550 1 1 0 59.7853 50 52.061 0.97853 0 0.206103 0.490491 45 57.5 57.5 0 -1551 1 1 0 59.6194 50 52.7327 0.961938 0 0.273267 0.490491 45 57.5 57.5 0 -1552 1 1 0 58.964 51.9641 53.9735 0.896401 0.196412 0.39735 0.490491 45 57.5 57.5 0 -1553 1 1 0 58.6587 51.9602 54.6027 0.865871 0.196015 0.460266 0.490491 45 57.5 57.5 0 -1554 1 1 0 59.243 51.3166 53.5823 0.924305 0.131656 0.358229 0.490491 45 57.5 57.5 0 -1555 1 1 0 58.968 51.3175 54.2236 0.896801 0.131749 0.422363 0.490491 45 57.5 57.5 0 -1556 1 1 0 58.6493 51.312 54.8444 0.864929 0.1312 0.484441 0.490491 45 57.5 57.5 0 -1557 1 1 0 59.462 50.6604 53.1678 0.946198 0.0660427 0.316778 0.490491 45 57.5 57.5 0 -1558 1 1 0 59.2192 50.6599 53.8172 0.921919 0.0659886 0.381722 0.490491 45 57.5 57.5 0 -1559 1 1 0 59.4074 50 53.3912 0.940742 0 0.339122 0.490491 45 57.5 57.5 0 -1560 1 1 0 59.1504 50 54.0336 0.915043 0 0.403355 0.490491 45 57.5 57.5 0 -1561 1 1 0 58.9293 50.6582 54.4537 0.892927 0.0658169 0.445365 0.490491 45 57.5 57.5 0 -1562 1 1 0 58.5985 50.6576 55.063 0.859848 0.0657577 0.506298 0.490491 45 57.5 57.5 0 -1563 1 1 0 58.8497 50 54.6566 0.884965 0 0.465657 0.490491 45 57.5 57.5 0 -1564 1 1 0 59.4443 51.9909 52.6155 0.944433 0.199094 0.26155 0.490491 45 57.5 57.5 0 -1565 1 1 0 59.4782 51.3257 52.8993 0.947822 0.13257 0.289929 0.490491 45 57.5 57.5 0 -1566 1 1 0 59.2268 51.9839 53.3061 0.922682 0.198387 0.330606 0.490491 45 57.5 57.5 0 -1567 1 1 0 58.6853 54.5426 48.0177 0.868535 0.454262 -0.198227 0.490491 45 57.5 57.5 0 -1568 1 1 0 59.0484 53.9414 48.3899 0.904839 0.394136 -0.161007 0.490491 45 57.5 57.5 0 -1569 1 1 0 59.3513 53.3234 48.772 0.93513 0.332342 -0.1228 0.490491 45 57.5 57.5 0 -1570 1 1 0 59.1298 53.9961 49.1768 0.912983 0.399607 -0.0823235 0.490491 45 57.5 57.5 0 -1571 1 1 0 58.7934 54.6088 48.8024 0.879344 0.460882 -0.119755 0.490491 45 57.5 57.5 0 -1572 1 1 0 58.8476 54.6421 49.587 0.88476 0.464213 -0.0412991 0.490491 45 57.5 57.5 0 -1573 1 1 0 59.6065 52.6552 49.185 0.960655 0.265519 -0.081501 0.490491 45 57.5 57.5 0 -1574 1 1 0 59.7885 52.0037 49.5875 0.978852 0.200368 -0.0412506 0.490491 45 57.5 57.5 0 -1575 1 1 0 59.6386 52.664 50 0.963861 0.266405 0 0.490491 45 57.5 57.5 0 -1576 1 1 0 59.9105 51.3352 50 0.991046 0.133524 0 0.490491 45 57.5 57.5 0 -1577 1 1 0 59.7885 52.0037 50.4125 0.978852 0.200368 0.0412506 0.490491 45 57.5 57.5 0 -1578 1 1 0 59.6065 52.6552 50.815 0.960655 0.265519 0.081501 0.490491 45 57.5 57.5 0 -1579 1 1 0 58.8476 54.6421 50.413 0.88476 0.464213 0.0412991 0.490491 45 57.5 57.5 0 -1580 1 1 0 59.1298 53.9961 50.8232 0.912983 0.399607 0.0823235 0.490491 45 57.5 57.5 0 -1581 1 1 0 58.7934 54.6088 51.1976 0.879344 0.460882 0.119755 0.490491 45 57.5 57.5 0 -1582 1 1 0 59.3513 53.3234 51.228 0.93513 0.332342 0.1228 0.490491 45 57.5 57.5 0 -1583 1 1 0 59.0484 53.9414 51.6101 0.904839 0.394136 0.161007 0.490491 45 57.5 57.5 0 -1584 1 1 0 58.6853 54.5426 51.9823 0.868535 0.454262 0.198227 0.490491 45 57.5 57.5 0 -1585 1 1 0 59.4162 53.3414 49.587 0.941618 0.33414 -0.0413021 0.490491 45 57.5 57.5 0 -1586 1 1 0 59.4162 53.3414 50.413 0.941618 0.33414 0.0413021 0.490491 45 57.5 57.5 0 -1587 1 1 0 59.1609 54.0097 50 0.916092 0.400968 0 0.490491 45 57.5 57.5 0 -1588 1 1 0 55.7206 41.8079 50.4064 0.572055 -0.819207 0.0406403 0.490491 45 57.5 57.5 0 -1589 1 1 0 55.7206 41.8079 49.5936 0.572055 -0.819207 -0.0406403 0.490491 45 57.5 57.5 0 -1590 1 1 0 56.1564 42.1616 50.8109 0.615642 -0.783843 0.081086 0.490491 45 57.5 57.5 0 -1591 1 1 0 56.1768 42.1357 50 0.617676 -0.786433 0 0.490491 45 57.5 57.5 0 -1592 1 1 0 56.1564 42.1616 49.1891 0.615642 -0.783843 -0.081086 0.490491 45 57.5 57.5 0 -1593 1 1 0 56.5628 42.5527 51.2114 0.656282 -0.744727 0.121144 0.490491 45 57.5 57.5 0 -1594 1 1 0 56.6088 42.5061 50.4064 0.660883 -0.749387 0.0406418 0.490491 45 57.5 57.5 0 -1595 1 1 0 56.9378 42.9795 51.6062 0.69378 -0.702047 0.160622 0.490491 45 57.5 57.5 0 -1596 1 1 0 57.0062 42.9103 50.8057 0.700622 -0.708969 0.0805729 0.490491 45 57.5 57.5 0 -1597 1 1 0 57.0291 42.8872 50 0.702907 -0.711282 0 0.490491 45 57.5 57.5 0 -1598 1 1 0 56.6088 42.5061 49.5936 0.660883 -0.749387 -0.0406418 0.490491 45 57.5 57.5 0 -1599 1 1 0 56.5628 42.5527 48.7886 0.656282 -0.744727 -0.121144 0.490491 45 57.5 57.5 0 -1600 1 1 0 57.0062 42.9103 49.1943 0.700622 -0.708969 -0.0805729 0.490491 45 57.5 57.5 0 -1601 1 1 0 56.9378 42.9795 48.3938 0.69378 -0.702047 -0.160622 0.490491 45 57.5 57.5 0 -1602 1 1 0 57.2796 43.4399 51.9933 0.727959 -0.656006 0.199331 0.490491 45 57.5 57.5 0 -1603 1 1 0 57.3889 43.3716 51.2119 0.738887 -0.662842 0.121192 0.490491 45 57.5 57.5 0 -1604 1 1 0 57.5865 43.9317 52.3709 0.758652 -0.606825 0.237086 0.490491 45 57.5 57.5 0 -1605 1 1 0 57.7184 43.8454 51.5961 0.771841 -0.615456 0.159613 0.490491 45 57.5 57.5 0 -1606 1 1 0 57.802 43.7976 50.8114 0.780205 -0.620239 0.0811417 0.490491 45 57.5 57.5 0 -1607 1 1 0 57.8572 44.4526 52.7371 0.785715 -0.55474 0.273706 0.490491 45 57.5 57.5 0 -1608 1 1 0 58.015 44.3549 51.9727 0.801504 -0.564513 0.197274 0.490491 45 57.5 57.5 0 -1609 1 1 0 58.0902 45 53.0902 0.809017 -0.5 0.309017 0.490491 45 57.5 57.5 0 -1610 1 1 0 58.2715 44.888 52.3345 0.827147 -0.511205 0.233445 0.490491 45 57.5 57.5 0 -1611 1 1 0 58.4018 44.8074 51.5643 0.840178 -0.519259 0.156434 0.490491 45 57.5 57.5 0 -1612 1 1 0 58.1217 44.2886 51.1908 0.81217 -0.57114 0.119078 0.490491 45 57.5 57.5 0 -1613 1 1 0 58.1752 44.2554 50.4067 0.817523 -0.574458 0.040675 0.490491 45 57.5 57.5 0 -1614 1 1 0 58.4803 44.7589 50.7846 0.848029 -0.52411 0.0784592 0.490491 45 57.5 57.5 0 -1615 1 1 0 58.5065 44.7427 50 0.850651 -0.525731 0 0.490491 45 57.5 57.5 0 -1616 1 1 0 57.3889 43.3716 48.7881 0.738887 -0.662842 -0.121192 0.490491 45 57.5 57.5 0 -1617 1 1 0 57.2796 43.4399 48.0067 0.727959 -0.656006 -0.199331 0.490491 45 57.5 57.5 0 -1618 1 1 0 57.802 43.7976 49.1886 0.780205 -0.620239 -0.0811417 0.490491 45 57.5 57.5 0 -1619 1 1 0 57.7184 43.8454 48.4039 0.771841 -0.615456 -0.159613 0.490491 45 57.5 57.5 0 -1620 1 1 0 57.5865 43.9317 47.6291 0.758652 -0.606825 -0.237086 0.490491 45 57.5 57.5 0 -1621 1 1 0 58.1752 44.2554 49.5933 0.817523 -0.574458 -0.040675 0.490491 45 57.5 57.5 0 -1622 1 1 0 58.1217 44.2886 48.8092 0.81217 -0.57114 -0.119078 0.490491 45 57.5 57.5 0 -1623 1 1 0 58.4803 44.7589 49.2154 0.848029 -0.52411 -0.0784592 0.490491 45 57.5 57.5 0 -1624 1 1 0 58.4018 44.8074 48.4357 0.840178 -0.519259 -0.156434 0.490491 45 57.5 57.5 0 -1625 1 1 0 58.015 44.3549 48.0273 0.801504 -0.564513 -0.197274 0.490491 45 57.5 57.5 0 -1626 1 1 0 57.8572 44.4526 47.2629 0.785715 -0.55474 -0.273706 0.490491 45 57.5 57.5 0 -1627 1 1 0 58.2715 44.888 47.6655 0.827147 -0.511205 -0.233445 0.490491 45 57.5 57.5 0 -1628 1 1 0 58.0902 45 46.9098 0.809017 -0.5 -0.309017 0.490491 45 57.5 57.5 0 -1629 1 1 0 57.435 43.325 50.4068 0.743496 -0.667502 0.0406769 0.490491 45 57.5 57.5 0 -1630 1 1 0 57.8279 43.7771 50 0.782786 -0.622291 0 0.490491 45 57.5 57.5 0 -1631 1 1 0 57.435 43.325 49.5932 0.743496 -0.667502 -0.0406769 0.490491 45 57.5 57.5 0 -1632 1 1 0 58.2845 45.5713 53.4285 0.828447 -0.442867 0.342848 0.490491 45 57.5 57.5 0 -1633 1 1 0 58.5264 45.5554 52.7469 0.85264 -0.444464 0.274694 0.490491 45 57.5 57.5 0 -1634 1 1 0 58.4391 46.1639 53.7504 0.843912 -0.383614 0.375038 0.490491 45 57.5 57.5 0 -1635 1 1 0 58.6973 46.1409 53.0766 0.869725 -0.385906 0.307659 0.490491 45 57.5 57.5 0 -1636 1 1 0 58.9101 46.1381 52.3868 0.891007 -0.386187 0.238677 0.490491 45 57.5 57.5 0 -1637 1 1 0 58.5534 46.7748 54.0543 0.855337 -0.322525 0.405434 0.490491 45 57.5 57.5 0 -1638 1 1 0 58.8284 46.7514 53.3921 0.882837 -0.324863 0.339209 0.490491 45 57.5 57.5 0 -1639 1 1 0 58.6267 47.4011 54.3389 0.862669 -0.259892 0.433888 0.490491 45 57.5 57.5 0 -1640 1 1 0 58.9174 47.3734 53.6852 0.891742 -0.262661 0.368518 0.490491 45 57.5 57.5 0 -1641 1 1 0 59.1624 47.3592 53.0126 0.916244 -0.264082 0.301258 0.490491 45 57.5 57.5 0 -1642 1 1 0 59.0583 46.7407 52.7063 0.905832 -0.325929 0.270627 0.490491 45 57.5 57.5 0 -1643 1 1 0 59.2388 46.7447 52.0119 0.92388 -0.32553 0.201189 0.490491 45 57.5 57.5 0 -1644 1 1 0 59.3605 47.3585 52.3245 0.93605 -0.264151 0.232455 0.490491 45 57.5 57.5 0 -1645 1 1 0 59.5106 47.3713 51.6246 0.951057 -0.262865 0.16246 0.490491 45 57.5 57.5 0 -1646 1 1 0 58.6587 48.0398 54.6027 0.865871 -0.196015 0.460266 0.490491 45 57.5 57.5 0 -1647 1 1 0 58.964 48.0359 53.9735 0.896401 -0.196412 0.39735 0.490491 45 57.5 57.5 0 -1648 1 1 0 58.6493 48.688 54.8444 0.864929 -0.1312 0.484441 0.490491 45 57.5 57.5 0 -1649 1 1 0 58.968 48.6825 54.2236 0.896801 -0.131749 0.422363 0.490491 45 57.5 57.5 0 -1650 1 1 0 59.243 48.6834 53.5823 0.924305 -0.131656 0.358229 0.490491 45 57.5 57.5 0 -1651 1 1 0 58.5985 49.3424 55.063 0.859848 -0.0657577 0.506298 0.490491 45 57.5 57.5 0 -1652 1 1 0 58.9293 49.3418 54.4537 0.892927 -0.0658169 0.445365 0.490491 45 57.5 57.5 0 -1653 1 1 0 59.2192 49.3401 53.8172 0.921919 -0.0659886 0.381722 0.490491 45 57.5 57.5 0 -1654 1 1 0 59.462 49.3396 53.1678 0.946198 -0.0660427 0.316778 0.490491 45 57.5 57.5 0 -1655 1 1 0 59.6119 48.0166 51.9178 0.961188 -0.198337 0.19178 0.490491 45 57.5 57.5 0 -1656 1 1 0 59.7237 48.0142 51.2273 0.97237 -0.198581 0.122729 0.490491 45 57.5 57.5 0 -1657 1 1 0 59.6639 48.6721 52.2012 0.966393 -0.132792 0.220117 0.490491 45 57.5 57.5 0 -1658 1 1 0 59.7943 48.6674 51.5155 0.979426 -0.133256 0.151549 0.490491 45 57.5 57.5 0 -1659 1 1 0 59.8769 48.6693 50.8224 0.987688 -0.133071 0.0822422 0.490491 45 57.5 57.5 0 -1660 1 1 0 59.6664 49.3343 52.4733 0.966643 -0.0665668 0.247326 0.490491 45 57.5 57.5 0 -1661 1 1 0 59.8148 49.334 51.796 0.981483 -0.0666046 0.179596 0.490491 45 57.5 57.5 0 -1662 1 1 0 59.9165 49.3329 51.1039 0.991648 -0.0667095 0.110385 0.490491 45 57.5 57.5 0 -1663 1 1 0 59.9692 49.3326 50.4125 0.996917 -0.0667412 0.0412479 0.490491 45 57.5 57.5 0 -1664 1 1 0 59.2268 48.0161 53.3061 0.922682 -0.198387 0.330606 0.490491 45 57.5 57.5 0 -1665 1 1 0 59.4782 48.6743 52.8993 0.947822 -0.13257 0.289929 0.490491 45 57.5 57.5 0 -1666 1 1 0 59.4443 48.0091 52.6155 0.944433 -0.199094 0.26155 0.490491 45 57.5 57.5 0 -1667 1 1 0 58.5264 45.5554 47.2531 0.85264 -0.444464 -0.274694 0.490491 45 57.5 57.5 0 -1668 1 1 0 58.2845 45.5713 46.5715 0.828447 -0.442867 -0.342848 0.490491 45 57.5 57.5 0 -1669 1 1 0 58.9101 46.1381 47.6132 0.891007 -0.386187 -0.238677 0.490491 45 57.5 57.5 0 -1670 1 1 0 58.6973 46.1409 46.9234 0.869725 -0.385906 -0.307659 0.490491 45 57.5 57.5 0 -1671 1 1 0 58.4391 46.1639 46.2496 0.843912 -0.383614 -0.375038 0.490491 45 57.5 57.5 0 -1672 1 1 0 59.2388 46.7447 47.9881 0.92388 -0.32553 -0.201189 0.490491 45 57.5 57.5 0 -1673 1 1 0 59.0583 46.7407 47.2937 0.905832 -0.325929 -0.270627 0.490491 45 57.5 57.5 0 -1674 1 1 0 59.5106 47.3713 48.3754 0.951057 -0.262865 -0.16246 0.490491 45 57.5 57.5 0 -1675 1 1 0 59.3605 47.3585 47.6755 0.93605 -0.264151 -0.232455 0.490491 45 57.5 57.5 0 -1676 1 1 0 59.1624 47.3592 46.9874 0.916244 -0.264082 -0.301258 0.490491 45 57.5 57.5 0 -1677 1 1 0 58.8284 46.7514 46.6079 0.882837 -0.324863 -0.339209 0.490491 45 57.5 57.5 0 -1678 1 1 0 58.5534 46.7748 45.9457 0.855337 -0.322525 -0.405434 0.490491 45 57.5 57.5 0 -1679 1 1 0 58.9174 47.3734 46.3148 0.891742 -0.262661 -0.368518 0.490491 45 57.5 57.5 0 -1680 1 1 0 58.6267 47.4011 45.6611 0.862669 -0.259892 -0.433888 0.490491 45 57.5 57.5 0 -1681 1 1 0 59.7237 48.0142 48.7727 0.97237 -0.198581 -0.122729 0.490491 45 57.5 57.5 0 -1682 1 1 0 59.6119 48.0166 48.0822 0.961188 -0.198337 -0.19178 0.490491 45 57.5 57.5 0 -1683 1 1 0 59.8769 48.6693 49.1776 0.987688 -0.133071 -0.0822422 0.490491 45 57.5 57.5 0 -1684 1 1 0 59.7943 48.6674 48.4845 0.979426 -0.133256 -0.151549 0.490491 45 57.5 57.5 0 -1685 1 1 0 59.6639 48.6721 47.7988 0.966393 -0.132792 -0.220117 0.490491 45 57.5 57.5 0 -1686 1 1 0 59.9692 49.3326 49.5875 0.996917 -0.0667412 -0.0412479 0.490491 45 57.5 57.5 0 -1687 1 1 0 59.9165 49.3329 48.8961 0.991648 -0.0667095 -0.110385 0.490491 45 57.5 57.5 0 -1688 1 1 0 59.8148 49.334 48.204 0.981483 -0.0666046 -0.179596 0.490491 45 57.5 57.5 0 -1689 1 1 0 59.6664 49.3343 47.5267 0.966643 -0.0665668 -0.247326 0.490491 45 57.5 57.5 0 -1690 1 1 0 58.964 48.0359 46.0265 0.896401 -0.196412 -0.39735 0.490491 45 57.5 57.5 0 -1691 1 1 0 58.6587 48.0398 45.3973 0.865871 -0.196015 -0.460266 0.490491 45 57.5 57.5 0 -1692 1 1 0 59.243 48.6834 46.4177 0.924305 -0.131656 -0.358229 0.490491 45 57.5 57.5 0 -1693 1 1 0 58.968 48.6825 45.7764 0.896801 -0.131749 -0.422363 0.490491 45 57.5 57.5 0 -1694 1 1 0 58.6493 48.688 45.1556 0.864929 -0.1312 -0.484441 0.490491 45 57.5 57.5 0 -1695 1 1 0 59.462 49.3396 46.8322 0.946198 -0.0660427 -0.316778 0.490491 45 57.5 57.5 0 -1696 1 1 0 59.2192 49.3401 46.1828 0.921919 -0.0659886 -0.381722 0.490491 45 57.5 57.5 0 -1697 1 1 0 58.9293 49.3418 45.5463 0.892927 -0.0658169 -0.445365 0.490491 45 57.5 57.5 0 -1698 1 1 0 58.5985 49.3424 44.937 0.859848 -0.0657577 -0.506298 0.490491 45 57.5 57.5 0 -1699 1 1 0 59.4443 48.0091 47.3845 0.944433 -0.199094 -0.26155 0.490491 45 57.5 57.5 0 -1700 1 1 0 59.4782 48.6743 47.1007 0.947822 -0.13257 -0.289929 0.490491 45 57.5 57.5 0 -1701 1 1 0 59.2268 48.0161 46.6939 0.922682 -0.198387 -0.330606 0.490491 45 57.5 57.5 0 -1702 1 1 0 58.6853 45.4574 51.9823 0.868535 -0.454262 0.198227 0.490491 45 57.5 57.5 0 -1703 1 1 0 59.0484 46.0586 51.6101 0.904839 -0.394136 0.161007 0.490491 45 57.5 57.5 0 -1704 1 1 0 59.3513 46.6766 51.228 0.93513 -0.332342 0.1228 0.490491 45 57.5 57.5 0 -1705 1 1 0 59.1298 46.0039 50.8232 0.912983 -0.399607 0.0823235 0.490491 45 57.5 57.5 0 -1706 1 1 0 58.7934 45.3912 51.1976 0.879344 -0.460882 0.119755 0.490491 45 57.5 57.5 0 -1707 1 1 0 58.8476 45.3579 50.413 0.88476 -0.464213 0.0412991 0.490491 45 57.5 57.5 0 -1708 1 1 0 59.6065 47.3448 50.815 0.960655 -0.265519 0.081501 0.490491 45 57.5 57.5 0 -1709 1 1 0 59.7885 47.9963 50.4125 0.978852 -0.200368 0.0412506 0.490491 45 57.5 57.5 0 -1710 1 1 0 59.6386 47.336 50 0.963861 -0.266405 0 0.490491 45 57.5 57.5 0 -1711 1 1 0 59.9105 48.6648 50 0.991046 -0.133524 0 0.490491 45 57.5 57.5 0 -1712 1 1 0 59.7885 47.9963 49.5875 0.978852 -0.200368 -0.0412506 0.490491 45 57.5 57.5 0 -1713 1 1 0 59.6065 47.3448 49.185 0.960655 -0.265519 -0.081501 0.490491 45 57.5 57.5 0 -1714 1 1 0 58.8476 45.3579 49.587 0.88476 -0.464213 -0.0412991 0.490491 45 57.5 57.5 0 -1715 1 1 0 59.1298 46.0039 49.1768 0.912983 -0.399607 -0.0823235 0.490491 45 57.5 57.5 0 -1716 1 1 0 58.7934 45.3912 48.8024 0.879344 -0.460882 -0.119755 0.490491 45 57.5 57.5 0 -1717 1 1 0 59.3513 46.6766 48.772 0.93513 -0.332342 -0.1228 0.490491 45 57.5 57.5 0 -1718 1 1 0 59.0484 46.0586 48.3899 0.904839 -0.394136 -0.161007 0.490491 45 57.5 57.5 0 -1719 1 1 0 58.6853 45.4574 48.0177 0.868535 -0.454262 -0.198227 0.490491 45 57.5 57.5 0 -1720 1 1 0 59.4162 46.6586 50.413 0.941618 -0.33414 0.0413021 0.490491 45 57.5 57.5 0 -1721 1 1 0 59.4162 46.6586 49.587 0.941618 -0.33414 -0.0413021 0.490491 45 57.5 57.5 0 -1722 1 1 0 59.1609 45.9903 50 0.916092 -0.400968 0 0.490491 45 57.5 57.5 0 -1723 1 1 0 48.9351 55.5186 58.2711 -0.106494 0.551859 0.82711 0.490491 45 57.5 57.5 0 -1724 1 1 0 48.2747 55.2913 58.3081 -0.172532 0.529135 0.830812 0.490491 45 57.5 57.5 0 -1725 1 1 0 47.6277 55.0421 58.3036 -0.237228 0.504209 0.830359 0.490491 45 57.5 57.5 0 -1726 1 1 0 47.8698 55.7125 57.9265 -0.213023 0.571251 0.79265 0.490491 45 57.5 57.5 0 -1727 1 1 0 48.5259 55.949 57.9017 -0.147413 0.594895 0.79017 0.490491 45 57.5 57.5 0 -1728 1 1 0 48.1257 56.3458 57.4979 -0.187432 0.634579 0.749786 0.490491 45 57.5 57.5 0 -1729 1 1 0 46.962 54.7623 58.2518 -0.303801 0.476225 0.825175 0.490491 45 57.5 57.5 0 -1730 1 1 0 46.3397 54.4698 58.1623 -0.366027 0.446977 0.816233 0.490491 45 57.5 57.5 0 -1731 1 1 0 46.5385 55.1612 57.8345 -0.346153 0.516122 0.783452 0.490491 45 57.5 57.5 0 -1732 1 1 0 45.7287 54.156 58.0302 -0.427135 0.415597 0.803016 0.490491 45 57.5 57.5 0 -1733 1 1 0 45.1429 53.8268 57.859 -0.485712 0.382683 0.785899 0.490491 45 57.5 57.5 0 -1734 1 1 0 45.3157 54.5399 57.5794 -0.46843 0.45399 0.757936 0.490491 45 57.5 57.5 0 -1735 1 1 0 45.9171 54.8624 57.7258 -0.408286 0.48624 0.772575 0.490491 45 57.5 57.5 0 -1736 1 1 0 46.1327 55.5337 57.3771 -0.38673 0.553372 0.737712 0.490491 45 57.5 57.5 0 -1737 1 1 0 45.5174 55.225 57.253 -0.448259 0.522499 0.725299 0.490491 45 57.5 57.5 0 -1738 1 1 0 45.7467 55.8779 56.8819 -0.425325 0.587785 0.688191 0.490491 45 57.5 57.5 0 -1739 1 1 0 47.711 56.7232 57.0398 -0.228899 0.672319 0.703983 0.490491 45 57.5 57.5 0 -1740 1 1 0 47.04 56.4741 57.0231 -0.296004 0.647412 0.70231 0.490491 45 57.5 57.5 0 -1741 1 1 0 47.3262 57.0524 56.5662 -0.267381 0.705236 0.65662 0.490491 45 57.5 57.5 0 -1742 1 1 0 46.3841 56.1919 56.9704 -0.361591 0.619186 0.697037 0.490491 45 57.5 57.5 0 -1743 1 1 0 46.6531 56.7891 56.535 -0.334691 0.678913 0.653497 0.490491 45 57.5 57.5 0 -1744 1 1 0 46.0023 56.4945 56.4684 -0.399769 0.649448 0.64684 0.490491 45 57.5 57.5 0 -1745 1 1 0 46.2825 57.0711 56.015 -0.371748 0.707107 0.601501 0.490491 45 57.5 57.5 0 -1746 1 1 0 46.9479 57.3479 56.0574 -0.305212 0.734794 0.605742 0.490491 45 57.5 57.5 0 -1747 1 1 0 46.5857 57.6041 55.5245 -0.341435 0.760406 0.552454 0.490491 45 57.5 57.5 0 -1748 1 1 0 47.1968 55.4511 57.9011 -0.280319 0.545109 0.790112 0.490491 45 57.5 57.5 0 -1749 1 1 0 46.7786 55.8369 57.4534 -0.322141 0.583692 0.745339 0.490491 45 57.5 57.5 0 -1750 1 1 0 47.4482 56.1093 57.4944 -0.25518 0.610926 0.749435 0.490491 45 57.5 57.5 0 -1751 1 1 0 44.4755 53.4143 57.6041 -0.552454 0.341435 0.760406 0.490491 45 57.5 57.5 0 -1752 1 1 0 43.9426 53.0521 57.3479 -0.605742 0.305212 0.734794 0.490491 45 57.5 57.5 0 -1753 1 1 0 43.985 53.7175 57.0711 -0.601501 0.371748 0.707107 0.490491 45 57.5 57.5 0 -1754 1 1 0 43.4338 52.6738 57.0524 -0.65662 0.267381 0.705236 0.490491 45 57.5 57.5 0 -1755 1 1 0 42.9602 52.289 56.7232 -0.703983 0.228899 0.672319 0.490491 45 57.5 57.5 0 -1756 1 1 0 42.9769 52.96 56.4741 -0.70231 0.296004 0.647412 0.490491 45 57.5 57.5 0 -1757 1 1 0 43.465 53.3469 56.7891 -0.653497 0.334691 0.678913 0.490491 45 57.5 57.5 0 -1758 1 1 0 43.5316 53.9977 56.4945 -0.64684 0.399769 0.649448 0.490491 45 57.5 57.5 0 -1759 1 1 0 43.0296 53.6159 56.1919 -0.697037 0.361591 0.619186 0.490491 45 57.5 57.5 0 -1760 1 1 0 43.1181 54.2533 55.8779 -0.688191 0.425325 0.587785 0.490491 45 57.5 57.5 0 -1761 1 1 0 42.5021 51.8743 56.3458 -0.749786 0.187432 0.634579 0.490491 45 57.5 57.5 0 -1762 1 1 0 42.0983 51.4741 55.949 -0.79017 0.147413 0.594895 0.490491 45 57.5 57.5 0 -1763 1 1 0 42.0735 52.1302 55.7125 -0.79265 0.213023 0.571251 0.490491 45 57.5 57.5 0 -1764 1 1 0 41.7289 51.0649 55.5186 -0.82711 0.106494 0.551859 0.490491 45 57.5 57.5 0 -1765 1 1 0 41.6919 51.7253 55.2913 -0.830812 0.172532 0.529135 0.490491 45 57.5 57.5 0 -1766 1 1 0 41.6964 52.3723 55.0421 -0.830359 0.237228 0.504209 0.490491 45 57.5 57.5 0 -1767 1 1 0 42.6229 53.8673 55.5337 -0.737712 0.38673 0.553372 0.490491 45 57.5 57.5 0 -1768 1 1 0 42.747 54.4826 55.225 -0.725299 0.448259 0.522499 0.490491 45 57.5 57.5 0 -1769 1 1 0 42.1655 53.4615 55.1612 -0.783452 0.346153 0.516122 0.490491 45 57.5 57.5 0 -1770 1 1 0 42.2742 54.0829 54.8624 -0.772575 0.408286 0.48624 0.490491 45 57.5 57.5 0 -1771 1 1 0 42.4206 54.6843 54.5399 -0.757936 0.46843 0.45399 0.490491 45 57.5 57.5 0 -1772 1 1 0 41.7482 53.038 54.7623 -0.825175 0.303801 0.476225 0.490491 45 57.5 57.5 0 -1773 1 1 0 41.8377 53.6603 54.4698 -0.816233 0.366027 0.446977 0.490491 45 57.5 57.5 0 -1774 1 1 0 41.9698 54.2713 54.156 -0.803016 0.427135 0.415597 0.490491 45 57.5 57.5 0 -1775 1 1 0 42.141 54.8571 53.8268 -0.785899 0.485712 0.382683 0.490491 45 57.5 57.5 0 -1776 1 1 0 42.5056 52.5518 56.1093 -0.749435 0.25518 0.610926 0.490491 45 57.5 57.5 0 -1777 1 1 0 42.0989 52.8032 55.4511 -0.790112 0.280319 0.545109 0.490491 45 57.5 57.5 0 -1778 1 1 0 42.5466 53.2214 55.8369 -0.745339 0.322141 0.583692 0.490491 45 57.5 57.5 0 -1779 1 1 0 46.1732 57.859 54.8571 -0.382683 0.785899 0.485712 0.490491 45 57.5 57.5 0 -1780 1 1 0 45.4601 57.5794 54.6843 -0.45399 0.757936 0.46843 0.490491 45 57.5 57.5 0 -1781 1 1 0 45.844 58.0302 54.2713 -0.415597 0.803016 0.427135 0.490491 45 57.5 57.5 0 -1782 1 1 0 44.775 57.253 54.4826 -0.522499 0.725299 0.448259 0.490491 45 57.5 57.5 0 -1783 1 1 0 45.1376 57.7258 54.0829 -0.48624 0.772575 0.408286 0.490491 45 57.5 57.5 0 -1784 1 1 0 44.1221 56.8819 54.2533 -0.587785 0.688191 0.425325 0.490491 45 57.5 57.5 0 -1785 1 1 0 44.4663 57.3771 53.8673 -0.553372 0.737712 0.38673 0.490491 45 57.5 57.5 0 -1786 1 1 0 44.8388 57.8345 53.4615 -0.516122 0.783452 0.346153 0.490491 45 57.5 57.5 0 -1787 1 1 0 45.5302 58.1623 53.6603 -0.446977 0.816233 0.366027 0.490491 45 57.5 57.5 0 -1788 1 1 0 45.2377 58.2518 53.038 -0.476225 0.825175 0.303801 0.490491 45 57.5 57.5 0 -1789 1 1 0 43.5055 56.4684 53.9977 -0.649448 0.64684 0.399769 0.490491 45 57.5 57.5 0 -1790 1 1 0 43.8081 56.9704 53.6159 -0.619186 0.697037 0.361591 0.490491 45 57.5 57.5 0 -1791 1 1 0 42.9289 56.015 53.7175 -0.707107 0.601501 0.371748 0.490491 45 57.5 57.5 0 -1792 1 1 0 43.2109 56.535 53.3469 -0.678913 0.653497 0.334691 0.490491 45 57.5 57.5 0 -1793 1 1 0 43.5259 57.0231 52.96 -0.647412 0.70231 0.296004 0.490491 45 57.5 57.5 0 -1794 1 1 0 42.3959 55.5245 53.4143 -0.760406 0.552454 0.341435 0.490491 45 57.5 57.5 0 -1795 1 1 0 42.6521 56.0574 53.0521 -0.734794 0.605742 0.305212 0.490491 45 57.5 57.5 0 -1796 1 1 0 42.9476 56.5662 52.6738 -0.705236 0.65662 0.267381 0.490491 45 57.5 57.5 0 -1797 1 1 0 43.2768 57.0398 52.289 -0.672319 0.703983 0.228899 0.490491 45 57.5 57.5 0 -1798 1 1 0 44.9579 58.3036 52.3723 -0.504209 0.830359 0.237228 0.490491 45 57.5 57.5 0 -1799 1 1 0 44.2875 57.9265 52.1302 -0.571251 0.79265 0.213023 0.490491 45 57.5 57.5 0 -1800 1 1 0 44.7087 58.3081 51.7253 -0.529135 0.830812 0.172532 0.490491 45 57.5 57.5 0 -1801 1 1 0 43.6542 57.4979 51.8743 -0.634579 0.749786 0.187432 0.490491 45 57.5 57.5 0 -1802 1 1 0 44.051 57.9017 51.4741 -0.594895 0.79017 0.147413 0.490491 45 57.5 57.5 0 -1803 1 1 0 44.4814 58.2711 51.0649 -0.551859 0.82711 0.106494 0.490491 45 57.5 57.5 0 -1804 1 1 0 44.1631 57.4534 53.2214 -0.583692 0.745339 0.322141 0.490491 45 57.5 57.5 0 -1805 1 1 0 43.8907 57.4944 52.5518 -0.610926 0.749435 0.25518 0.490491 45 57.5 57.5 0 -1806 1 1 0 44.5489 57.9011 52.8032 -0.545109 0.790112 0.280319 0.490491 45 57.5 57.5 0 -1807 1 1 0 44.6322 54.1427 57.3501 -0.536784 0.414272 0.735011 0.490491 45 57.5 57.5 0 -1808 1 1 0 44.1528 54.4396 56.7898 -0.584716 0.443957 0.678977 0.490491 45 57.5 57.5 0 -1809 1 1 0 43.7169 54.7092 56.1924 -0.628313 0.470917 0.619242 0.490491 45 57.5 57.5 0 -1810 1 1 0 44.3575 55.1338 56.4658 -0.564254 0.513375 0.646578 0.490491 45 57.5 57.5 0 -1811 1 1 0 44.8203 54.8521 57.0447 -0.51797 0.485208 0.704471 0.490491 45 57.5 57.5 0 -1812 1 1 0 45.0356 55.5242 56.6961 -0.496441 0.552418 0.669612 0.490491 45 57.5 57.5 0 -1813 1 1 0 43.3039 54.9644 55.5242 -0.669612 0.496441 0.552418 0.490491 45 57.5 57.5 0 -1814 1 1 0 42.9553 55.1797 54.8521 -0.704471 0.51797 0.485208 0.490491 45 57.5 57.5 0 -1815 1 1 0 43.5342 55.6425 55.1338 -0.646578 0.564254 0.513375 0.490491 45 57.5 57.5 0 -1816 1 1 0 42.6499 55.3678 54.1427 -0.735011 0.536784 0.414272 0.490491 45 57.5 57.5 0 -1817 1 1 0 43.2102 55.8472 54.4396 -0.678977 0.584716 0.443957 0.490491 45 57.5 57.5 0 -1818 1 1 0 43.8076 56.2831 54.7092 -0.619242 0.628313 0.470917 0.490491 45 57.5 57.5 0 -1819 1 1 0 45.2908 56.1924 56.2831 -0.470917 0.619242 0.628313 0.490491 45 57.5 57.5 0 -1820 1 1 0 44.8662 56.4658 55.6425 -0.513375 0.646578 0.564254 0.490491 45 57.5 57.5 0 -1821 1 1 0 45.5604 56.7898 55.8472 -0.443957 0.678977 0.584716 0.490491 45 57.5 57.5 0 -1822 1 1 0 44.4758 56.6961 54.9644 -0.552418 0.669612 0.496441 0.490491 45 57.5 57.5 0 -1823 1 1 0 45.1479 57.0447 55.1797 -0.485208 0.704471 0.51797 0.490491 45 57.5 57.5 0 -1824 1 1 0 45.8573 57.3501 55.3678 -0.414272 0.735011 0.536784 0.490491 45 57.5 57.5 0 -1825 1 1 0 43.9252 55.4065 55.8195 -0.607478 0.54065 0.581952 0.490491 45 57.5 57.5 0 -1826 1 1 0 44.1805 56.0748 55.4065 -0.581952 0.607478 0.54065 0.490491 45 57.5 57.5 0 -1827 1 1 0 44.5935 55.8195 56.0748 -0.54065 0.581952 0.607478 0.490491 45 57.5 57.5 0 -1828 1 1 0 51.0649 55.5186 58.2711 0.106494 0.551859 0.82711 0.490491 45 57.5 57.5 0 -1829 1 1 0 51.4741 55.949 57.9017 0.147413 0.594895 0.79017 0.490491 45 57.5 57.5 0 -1830 1 1 0 51.8743 56.3458 57.4979 0.187432 0.634579 0.749786 0.490491 45 57.5 57.5 0 -1831 1 1 0 52.1302 55.7125 57.9265 0.213023 0.571251 0.79265 0.490491 45 57.5 57.5 0 -1832 1 1 0 51.7253 55.2913 58.3081 0.172532 0.529135 0.830812 0.490491 45 57.5 57.5 0 -1833 1 1 0 52.3723 55.0421 58.3036 0.237228 0.504209 0.830359 0.490491 45 57.5 57.5 0 -1834 1 1 0 52.289 56.7232 57.0398 0.228899 0.672319 0.703983 0.490491 45 57.5 57.5 0 -1835 1 1 0 52.6738 57.0524 56.5662 0.267381 0.705236 0.65662 0.490491 45 57.5 57.5 0 -1836 1 1 0 52.96 56.4741 57.0231 0.296004 0.647412 0.70231 0.490491 45 57.5 57.5 0 -1837 1 1 0 53.0521 57.3479 56.0574 0.305212 0.734794 0.605742 0.490491 45 57.5 57.5 0 -1838 1 1 0 53.4143 57.6041 55.5245 0.341435 0.760406 0.552454 0.490491 45 57.5 57.5 0 -1839 1 1 0 53.7175 57.0711 56.015 0.371748 0.707107 0.601501 0.490491 45 57.5 57.5 0 -1840 1 1 0 53.3469 56.7891 56.535 0.334691 0.678913 0.653497 0.490491 45 57.5 57.5 0 -1841 1 1 0 53.6159 56.1919 56.9704 0.361591 0.619186 0.697037 0.490491 45 57.5 57.5 0 -1842 1 1 0 53.9977 56.4945 56.4684 0.399769 0.649448 0.64684 0.490491 45 57.5 57.5 0 -1843 1 1 0 54.2533 55.8779 56.8819 0.425325 0.587785 0.688191 0.490491 45 57.5 57.5 0 -1844 1 1 0 53.038 54.7623 58.2518 0.303801 0.476225 0.825175 0.490491 45 57.5 57.5 0 -1845 1 1 0 53.4615 55.1612 57.8345 0.346153 0.516122 0.783452 0.490491 45 57.5 57.5 0 -1846 1 1 0 53.6603 54.4698 58.1623 0.366027 0.446977 0.816233 0.490491 45 57.5 57.5 0 -1847 1 1 0 53.8673 55.5337 57.3771 0.38673 0.553372 0.737712 0.490491 45 57.5 57.5 0 -1848 1 1 0 54.0829 54.8624 57.7258 0.408286 0.48624 0.772575 0.490491 45 57.5 57.5 0 -1849 1 1 0 54.4826 55.225 57.253 0.448259 0.522499 0.725299 0.490491 45 57.5 57.5 0 -1850 1 1 0 54.6843 54.5399 57.5794 0.46843 0.45399 0.757936 0.490491 45 57.5 57.5 0 -1851 1 1 0 54.2713 54.156 58.0302 0.427135 0.415597 0.803016 0.490491 45 57.5 57.5 0 -1852 1 1 0 54.8571 53.8268 57.859 0.485712 0.382683 0.785899 0.490491 45 57.5 57.5 0 -1853 1 1 0 52.5518 56.1093 57.4944 0.25518 0.610926 0.749435 0.490491 45 57.5 57.5 0 -1854 1 1 0 53.2214 55.8369 57.4534 0.322141 0.583692 0.745339 0.490491 45 57.5 57.5 0 -1855 1 1 0 52.8032 55.4511 57.9011 0.280319 0.545109 0.790112 0.490491 45 57.5 57.5 0 -1856 1 1 0 53.8268 57.859 54.8571 0.382683 0.785899 0.485712 0.490491 45 57.5 57.5 0 -1857 1 1 0 54.156 58.0302 54.2713 0.415597 0.803016 0.427135 0.490491 45 57.5 57.5 0 -1858 1 1 0 54.5399 57.5794 54.6843 0.45399 0.757936 0.46843 0.490491 45 57.5 57.5 0 -1859 1 1 0 54.4698 58.1623 53.6603 0.446977 0.816233 0.366027 0.490491 45 57.5 57.5 0 -1860 1 1 0 54.7623 58.2518 53.038 0.476225 0.825175 0.303801 0.490491 45 57.5 57.5 0 -1861 1 1 0 55.1612 57.8345 53.4615 0.516122 0.783452 0.346153 0.490491 45 57.5 57.5 0 -1862 1 1 0 54.8624 57.7258 54.0829 0.48624 0.772575 0.408286 0.490491 45 57.5 57.5 0 -1863 1 1 0 55.225 57.253 54.4826 0.522499 0.725299 0.448259 0.490491 45 57.5 57.5 0 -1864 1 1 0 55.5337 57.3771 53.8673 0.553372 0.737712 0.38673 0.490491 45 57.5 57.5 0 -1865 1 1 0 55.8779 56.8819 54.2533 0.587785 0.688191 0.425325 0.490491 45 57.5 57.5 0 -1866 1 1 0 55.0421 58.3036 52.3723 0.504209 0.830359 0.237228 0.490491 45 57.5 57.5 0 -1867 1 1 0 55.2913 58.3081 51.7253 0.529135 0.830812 0.172532 0.490491 45 57.5 57.5 0 -1868 1 1 0 55.7125 57.9265 52.1302 0.571251 0.79265 0.213023 0.490491 45 57.5 57.5 0 -1869 1 1 0 55.5186 58.2711 51.0649 0.551859 0.82711 0.106494 0.490491 45 57.5 57.5 0 -1870 1 1 0 55.949 57.9017 51.4741 0.594895 0.79017 0.147413 0.490491 45 57.5 57.5 0 -1871 1 1 0 56.3458 57.4979 51.8743 0.634579 0.749786 0.187432 0.490491 45 57.5 57.5 0 -1872 1 1 0 56.1919 56.9704 53.6159 0.619186 0.697037 0.361591 0.490491 45 57.5 57.5 0 -1873 1 1 0 56.4945 56.4684 53.9977 0.649448 0.64684 0.399769 0.490491 45 57.5 57.5 0 -1874 1 1 0 56.4741 57.0231 52.96 0.647412 0.70231 0.296004 0.490491 45 57.5 57.5 0 -1875 1 1 0 56.7891 56.535 53.3469 0.678913 0.653497 0.334691 0.490491 45 57.5 57.5 0 -1876 1 1 0 57.0711 56.015 53.7175 0.707107 0.601501 0.371748 0.490491 45 57.5 57.5 0 -1877 1 1 0 56.7232 57.0398 52.289 0.672319 0.703983 0.228899 0.490491 45 57.5 57.5 0 -1878 1 1 0 57.0524 56.5662 52.6738 0.705236 0.65662 0.267381 0.490491 45 57.5 57.5 0 -1879 1 1 0 57.3479 56.0574 53.0521 0.734794 0.605742 0.305212 0.490491 45 57.5 57.5 0 -1880 1 1 0 57.6041 55.5245 53.4143 0.760406 0.552454 0.341435 0.490491 45 57.5 57.5 0 -1881 1 1 0 55.4511 57.9011 52.8032 0.545109 0.790112 0.280319 0.490491 45 57.5 57.5 0 -1882 1 1 0 56.1093 57.4944 52.5518 0.610926 0.749435 0.25518 0.490491 45 57.5 57.5 0 -1883 1 1 0 55.8369 57.4534 53.2214 0.583692 0.745339 0.322141 0.490491 45 57.5 57.5 0 -1884 1 1 0 55.5245 53.4143 57.6041 0.552454 0.341435 0.760406 0.490491 45 57.5 57.5 0 -1885 1 1 0 56.015 53.7175 57.0711 0.601501 0.371748 0.707107 0.490491 45 57.5 57.5 0 -1886 1 1 0 56.0574 53.0521 57.3479 0.605742 0.305212 0.734794 0.490491 45 57.5 57.5 0 -1887 1 1 0 56.4684 53.9977 56.4945 0.64684 0.399769 0.649448 0.490491 45 57.5 57.5 0 -1888 1 1 0 56.535 53.3469 56.7891 0.653497 0.334691 0.678913 0.490491 45 57.5 57.5 0 -1889 1 1 0 56.8819 54.2533 55.8779 0.688191 0.425325 0.587785 0.490491 45 57.5 57.5 0 -1890 1 1 0 56.9704 53.6159 56.1919 0.697037 0.361591 0.619186 0.490491 45 57.5 57.5 0 -1891 1 1 0 57.0231 52.96 56.4741 0.70231 0.296004 0.647412 0.490491 45 57.5 57.5 0 -1892 1 1 0 56.5662 52.6738 57.0524 0.65662 0.267381 0.705236 0.490491 45 57.5 57.5 0 -1893 1 1 0 57.0398 52.289 56.7232 0.703983 0.228899 0.672319 0.490491 45 57.5 57.5 0 -1894 1 1 0 57.253 54.4826 55.225 0.725299 0.448259 0.522499 0.490491 45 57.5 57.5 0 -1895 1 1 0 57.3771 53.8673 55.5337 0.737712 0.38673 0.553372 0.490491 45 57.5 57.5 0 -1896 1 1 0 57.5794 54.6843 54.5399 0.757936 0.46843 0.45399 0.490491 45 57.5 57.5 0 -1897 1 1 0 57.7258 54.0829 54.8624 0.772575 0.408286 0.48624 0.490491 45 57.5 57.5 0 -1898 1 1 0 57.8345 53.4615 55.1612 0.783452 0.346153 0.516122 0.490491 45 57.5 57.5 0 -1899 1 1 0 57.859 54.8571 53.8268 0.785899 0.485712 0.382683 0.490491 45 57.5 57.5 0 -1900 1 1 0 58.0302 54.2713 54.156 0.803016 0.427135 0.415597 0.490491 45 57.5 57.5 0 -1901 1 1 0 58.1623 53.6603 54.4698 0.816233 0.366027 0.446977 0.490491 45 57.5 57.5 0 -1902 1 1 0 58.2518 53.038 54.7623 0.825175 0.303801 0.476225 0.490491 45 57.5 57.5 0 -1903 1 1 0 57.4979 51.8743 56.3458 0.749786 0.187432 0.634579 0.490491 45 57.5 57.5 0 -1904 1 1 0 57.9265 52.1302 55.7125 0.79265 0.213023 0.571251 0.490491 45 57.5 57.5 0 -1905 1 1 0 57.9017 51.4741 55.949 0.79017 0.147413 0.594895 0.490491 45 57.5 57.5 0 -1906 1 1 0 58.3036 52.3723 55.0421 0.830359 0.237228 0.504209 0.490491 45 57.5 57.5 0 -1907 1 1 0 58.3081 51.7253 55.2913 0.830812 0.172532 0.529135 0.490491 45 57.5 57.5 0 -1908 1 1 0 58.2711 51.0649 55.5186 0.82711 0.106494 0.551859 0.490491 45 57.5 57.5 0 -1909 1 1 0 57.4534 53.2214 55.8369 0.745339 0.322141 0.583692 0.490491 45 57.5 57.5 0 -1910 1 1 0 57.9011 52.8032 55.4511 0.790112 0.280319 0.545109 0.490491 45 57.5 57.5 0 -1911 1 1 0 57.4944 52.5518 56.1093 0.749435 0.25518 0.610926 0.490491 45 57.5 57.5 0 -1912 1 1 0 54.1427 57.3501 55.3678 0.414272 0.735011 0.536784 0.490491 45 57.5 57.5 0 -1913 1 1 0 54.8521 57.0447 55.1797 0.485208 0.704471 0.51797 0.490491 45 57.5 57.5 0 -1914 1 1 0 55.5242 56.6961 54.9644 0.552418 0.669612 0.496441 0.490491 45 57.5 57.5 0 -1915 1 1 0 55.1338 56.4658 55.6425 0.513375 0.646578 0.564254 0.490491 45 57.5 57.5 0 -1916 1 1 0 54.4396 56.7898 55.8472 0.443957 0.678977 0.584716 0.490491 45 57.5 57.5 0 -1917 1 1 0 54.7092 56.1924 56.2831 0.470917 0.619242 0.628313 0.490491 45 57.5 57.5 0 -1918 1 1 0 56.1924 56.2831 54.7092 0.619242 0.628313 0.470917 0.490491 45 57.5 57.5 0 -1919 1 1 0 56.7898 55.8472 54.4396 0.678977 0.584716 0.443957 0.490491 45 57.5 57.5 0 -1920 1 1 0 56.4658 55.6425 55.1338 0.646578 0.564254 0.513375 0.490491 45 57.5 57.5 0 -1921 1 1 0 57.3501 55.3678 54.1427 0.735011 0.536784 0.414272 0.490491 45 57.5 57.5 0 -1922 1 1 0 57.0447 55.1797 54.8521 0.704471 0.51797 0.485208 0.490491 45 57.5 57.5 0 -1923 1 1 0 56.6961 54.9644 55.5242 0.669612 0.496441 0.552418 0.490491 45 57.5 57.5 0 -1924 1 1 0 54.9644 55.5242 56.6961 0.496441 0.552418 0.669612 0.490491 45 57.5 57.5 0 -1925 1 1 0 55.6425 55.1338 56.4658 0.564254 0.513375 0.646578 0.490491 45 57.5 57.5 0 -1926 1 1 0 55.1797 54.8521 57.0447 0.51797 0.485208 0.704471 0.490491 45 57.5 57.5 0 -1927 1 1 0 56.2831 54.7092 56.1924 0.628313 0.470917 0.619242 0.490491 45 57.5 57.5 0 -1928 1 1 0 55.8472 54.4396 56.7898 0.584716 0.443957 0.678977 0.490491 45 57.5 57.5 0 -1929 1 1 0 55.3678 54.1427 57.3501 0.536784 0.414272 0.735011 0.490491 45 57.5 57.5 0 -1930 1 1 0 55.8195 56.0748 55.4065 0.581952 0.607478 0.54065 0.490491 45 57.5 57.5 0 -1931 1 1 0 56.0748 55.4065 55.8195 0.607478 0.54065 0.581952 0.490491 45 57.5 57.5 0 -1932 1 1 0 55.4065 55.8195 56.0748 0.54065 0.581952 0.607478 0.490491 45 57.5 57.5 0 -1933 1 1 0 48.9351 55.5186 41.7289 -0.106494 0.551859 -0.82711 0.490491 45 57.5 57.5 0 -1934 1 1 0 48.5259 55.949 42.0983 -0.147413 0.594895 -0.79017 0.490491 45 57.5 57.5 0 -1935 1 1 0 48.1257 56.3458 42.5021 -0.187432 0.634579 -0.749786 0.490491 45 57.5 57.5 0 -1936 1 1 0 47.8698 55.7125 42.0735 -0.213023 0.571251 -0.79265 0.490491 45 57.5 57.5 0 -1937 1 1 0 48.2747 55.2913 41.6919 -0.172532 0.529135 -0.830812 0.490491 45 57.5 57.5 0 -1938 1 1 0 47.6277 55.0421 41.6964 -0.237228 0.504209 -0.830359 0.490491 45 57.5 57.5 0 -1939 1 1 0 47.711 56.7232 42.9602 -0.228899 0.672319 -0.703983 0.490491 45 57.5 57.5 0 -1940 1 1 0 47.3262 57.0524 43.4338 -0.267381 0.705236 -0.65662 0.490491 45 57.5 57.5 0 -1941 1 1 0 47.04 56.4741 42.9769 -0.296004 0.647412 -0.70231 0.490491 45 57.5 57.5 0 -1942 1 1 0 46.9479 57.3479 43.9426 -0.305212 0.734794 -0.605742 0.490491 45 57.5 57.5 0 -1943 1 1 0 46.5857 57.6041 44.4755 -0.341435 0.760406 -0.552454 0.490491 45 57.5 57.5 0 -1944 1 1 0 46.2825 57.0711 43.985 -0.371748 0.707107 -0.601501 0.490491 45 57.5 57.5 0 -1945 1 1 0 46.6531 56.7891 43.465 -0.334691 0.678913 -0.653497 0.490491 45 57.5 57.5 0 -1946 1 1 0 46.3841 56.1919 43.0296 -0.361591 0.619186 -0.697037 0.490491 45 57.5 57.5 0 -1947 1 1 0 46.0023 56.4945 43.5316 -0.399769 0.649448 -0.64684 0.490491 45 57.5 57.5 0 -1948 1 1 0 45.7467 55.8779 43.1181 -0.425325 0.587785 -0.688191 0.490491 45 57.5 57.5 0 -1949 1 1 0 46.962 54.7623 41.7482 -0.303801 0.476225 -0.825175 0.490491 45 57.5 57.5 0 -1950 1 1 0 46.5385 55.1612 42.1655 -0.346153 0.516122 -0.783452 0.490491 45 57.5 57.5 0 -1951 1 1 0 46.3397 54.4698 41.8377 -0.366027 0.446977 -0.816233 0.490491 45 57.5 57.5 0 -1952 1 1 0 46.1327 55.5337 42.6229 -0.38673 0.553372 -0.737712 0.490491 45 57.5 57.5 0 -1953 1 1 0 45.9171 54.8624 42.2742 -0.408286 0.48624 -0.772575 0.490491 45 57.5 57.5 0 -1954 1 1 0 45.5174 55.225 42.747 -0.448259 0.522499 -0.725299 0.490491 45 57.5 57.5 0 -1955 1 1 0 45.3157 54.5399 42.4206 -0.46843 0.45399 -0.757936 0.490491 45 57.5 57.5 0 -1956 1 1 0 45.7287 54.156 41.9698 -0.427135 0.415597 -0.803016 0.490491 45 57.5 57.5 0 -1957 1 1 0 45.1429 53.8268 42.141 -0.485712 0.382683 -0.785899 0.490491 45 57.5 57.5 0 -1958 1 1 0 47.4482 56.1093 42.5056 -0.25518 0.610926 -0.749435 0.490491 45 57.5 57.5 0 -1959 1 1 0 46.7786 55.8369 42.5466 -0.322141 0.583692 -0.745339 0.490491 45 57.5 57.5 0 -1960 1 1 0 47.1968 55.4511 42.0989 -0.280319 0.545109 -0.790112 0.490491 45 57.5 57.5 0 -1961 1 1 0 46.1732 57.859 45.1429 -0.382683 0.785899 -0.485712 0.490491 45 57.5 57.5 0 -1962 1 1 0 45.844 58.0302 45.7287 -0.415597 0.803016 -0.427135 0.490491 45 57.5 57.5 0 -1963 1 1 0 45.4601 57.5794 45.3157 -0.45399 0.757936 -0.46843 0.490491 45 57.5 57.5 0 -1964 1 1 0 45.5302 58.1623 46.3397 -0.446977 0.816233 -0.366027 0.490491 45 57.5 57.5 0 -1965 1 1 0 45.2377 58.2518 46.962 -0.476225 0.825175 -0.303801 0.490491 45 57.5 57.5 0 -1966 1 1 0 44.8388 57.8345 46.5385 -0.516122 0.783452 -0.346153 0.490491 45 57.5 57.5 0 -1967 1 1 0 45.1376 57.7258 45.9171 -0.48624 0.772575 -0.408286 0.490491 45 57.5 57.5 0 -1968 1 1 0 44.775 57.253 45.5174 -0.522499 0.725299 -0.448259 0.490491 45 57.5 57.5 0 -1969 1 1 0 44.4663 57.3771 46.1327 -0.553372 0.737712 -0.38673 0.490491 45 57.5 57.5 0 -1970 1 1 0 44.1221 56.8819 45.7467 -0.587785 0.688191 -0.425325 0.490491 45 57.5 57.5 0 -1971 1 1 0 44.9579 58.3036 47.6277 -0.504209 0.830359 -0.237228 0.490491 45 57.5 57.5 0 -1972 1 1 0 44.7087 58.3081 48.2747 -0.529135 0.830812 -0.172532 0.490491 45 57.5 57.5 0 -1973 1 1 0 44.2875 57.9265 47.8698 -0.571251 0.79265 -0.213023 0.490491 45 57.5 57.5 0 -1974 1 1 0 44.4814 58.2711 48.9351 -0.551859 0.82711 -0.106494 0.490491 45 57.5 57.5 0 -1975 1 1 0 44.051 57.9017 48.5259 -0.594895 0.79017 -0.147413 0.490491 45 57.5 57.5 0 -1976 1 1 0 43.6542 57.4979 48.1257 -0.634579 0.749786 -0.187432 0.490491 45 57.5 57.5 0 -1977 1 1 0 43.8081 56.9704 46.3841 -0.619186 0.697037 -0.361591 0.490491 45 57.5 57.5 0 -1978 1 1 0 43.5055 56.4684 46.0023 -0.649448 0.64684 -0.399769 0.490491 45 57.5 57.5 0 -1979 1 1 0 43.5259 57.0231 47.04 -0.647412 0.70231 -0.296004 0.490491 45 57.5 57.5 0 -1980 1 1 0 43.2109 56.535 46.6531 -0.678913 0.653497 -0.334691 0.490491 45 57.5 57.5 0 -1981 1 1 0 42.9289 56.015 46.2825 -0.707107 0.601501 -0.371748 0.490491 45 57.5 57.5 0 -1982 1 1 0 43.2768 57.0398 47.711 -0.672319 0.703983 -0.228899 0.490491 45 57.5 57.5 0 -1983 1 1 0 42.9476 56.5662 47.3262 -0.705236 0.65662 -0.267381 0.490491 45 57.5 57.5 0 -1984 1 1 0 42.6521 56.0574 46.9479 -0.734794 0.605742 -0.305212 0.490491 45 57.5 57.5 0 -1985 1 1 0 42.3959 55.5245 46.5857 -0.760406 0.552454 -0.341435 0.490491 45 57.5 57.5 0 -1986 1 1 0 44.5489 57.9011 47.1968 -0.545109 0.790112 -0.280319 0.490491 45 57.5 57.5 0 -1987 1 1 0 43.8907 57.4944 47.4482 -0.610926 0.749435 -0.25518 0.490491 45 57.5 57.5 0 -1988 1 1 0 44.1631 57.4534 46.7786 -0.583692 0.745339 -0.322141 0.490491 45 57.5 57.5 0 -1989 1 1 0 44.4755 53.4143 42.3959 -0.552454 0.341435 -0.760406 0.490491 45 57.5 57.5 0 -1990 1 1 0 43.985 53.7175 42.9289 -0.601501 0.371748 -0.707107 0.490491 45 57.5 57.5 0 -1991 1 1 0 43.9426 53.0521 42.6521 -0.605742 0.305212 -0.734794 0.490491 45 57.5 57.5 0 -1992 1 1 0 43.5316 53.9977 43.5055 -0.64684 0.399769 -0.649448 0.490491 45 57.5 57.5 0 -1993 1 1 0 43.465 53.3469 43.2109 -0.653497 0.334691 -0.678913 0.490491 45 57.5 57.5 0 -1994 1 1 0 43.1181 54.2533 44.1221 -0.688191 0.425325 -0.587785 0.490491 45 57.5 57.5 0 -1995 1 1 0 43.0296 53.6159 43.8081 -0.697037 0.361591 -0.619186 0.490491 45 57.5 57.5 0 -1996 1 1 0 42.9769 52.96 43.5259 -0.70231 0.296004 -0.647412 0.490491 45 57.5 57.5 0 -1997 1 1 0 43.4338 52.6738 42.9476 -0.65662 0.267381 -0.705236 0.490491 45 57.5 57.5 0 -1998 1 1 0 42.9602 52.289 43.2768 -0.703983 0.228899 -0.672319 0.490491 45 57.5 57.5 0 -1999 1 1 0 42.747 54.4826 44.775 -0.725299 0.448259 -0.522499 0.490491 45 57.5 57.5 0 -2000 1 1 0 42.6229 53.8673 44.4663 -0.737712 0.38673 -0.553372 0.490491 45 57.5 57.5 0 -2001 1 1 0 42.4206 54.6843 45.4601 -0.757936 0.46843 -0.45399 0.490491 45 57.5 57.5 0 -2002 1 1 0 42.2742 54.0829 45.1376 -0.772575 0.408286 -0.48624 0.490491 45 57.5 57.5 0 -2003 1 1 0 42.1655 53.4615 44.8388 -0.783452 0.346153 -0.516122 0.490491 45 57.5 57.5 0 -2004 1 1 0 42.141 54.8571 46.1732 -0.785899 0.485712 -0.382683 0.490491 45 57.5 57.5 0 -2005 1 1 0 41.9698 54.2713 45.844 -0.803016 0.427135 -0.415597 0.490491 45 57.5 57.5 0 -2006 1 1 0 41.8377 53.6603 45.5302 -0.816233 0.366027 -0.446977 0.490491 45 57.5 57.5 0 -2007 1 1 0 41.7482 53.038 45.2377 -0.825175 0.303801 -0.476225 0.490491 45 57.5 57.5 0 -2008 1 1 0 42.5021 51.8743 43.6542 -0.749786 0.187432 -0.634579 0.490491 45 57.5 57.5 0 -2009 1 1 0 42.0735 52.1302 44.2875 -0.79265 0.213023 -0.571251 0.490491 45 57.5 57.5 0 -2010 1 1 0 42.0983 51.4741 44.051 -0.79017 0.147413 -0.594895 0.490491 45 57.5 57.5 0 -2011 1 1 0 41.6964 52.3723 44.9579 -0.830359 0.237228 -0.504209 0.490491 45 57.5 57.5 0 -2012 1 1 0 41.6919 51.7253 44.7087 -0.830812 0.172532 -0.529135 0.490491 45 57.5 57.5 0 -2013 1 1 0 41.7289 51.0649 44.4814 -0.82711 0.106494 -0.551859 0.490491 45 57.5 57.5 0 -2014 1 1 0 42.5466 53.2214 44.1631 -0.745339 0.322141 -0.583692 0.490491 45 57.5 57.5 0 -2015 1 1 0 42.0989 52.8032 44.5489 -0.790112 0.280319 -0.545109 0.490491 45 57.5 57.5 0 -2016 1 1 0 42.5056 52.5518 43.8907 -0.749435 0.25518 -0.610926 0.490491 45 57.5 57.5 0 -2017 1 1 0 45.8573 57.3501 44.6322 -0.414272 0.735011 -0.536784 0.490491 45 57.5 57.5 0 -2018 1 1 0 45.1479 57.0447 44.8203 -0.485208 0.704471 -0.51797 0.490491 45 57.5 57.5 0 -2019 1 1 0 44.4758 56.6961 45.0356 -0.552418 0.669612 -0.496441 0.490491 45 57.5 57.5 0 -2020 1 1 0 44.8662 56.4658 44.3575 -0.513375 0.646578 -0.564254 0.490491 45 57.5 57.5 0 -2021 1 1 0 45.5604 56.7898 44.1528 -0.443957 0.678977 -0.584716 0.490491 45 57.5 57.5 0 -2022 1 1 0 45.2908 56.1924 43.7169 -0.470917 0.619242 -0.628313 0.490491 45 57.5 57.5 0 -2023 1 1 0 43.8076 56.2831 45.2908 -0.619242 0.628313 -0.470917 0.490491 45 57.5 57.5 0 -2024 1 1 0 43.2102 55.8472 45.5604 -0.678977 0.584716 -0.443957 0.490491 45 57.5 57.5 0 -2025 1 1 0 43.5342 55.6425 44.8662 -0.646578 0.564254 -0.513375 0.490491 45 57.5 57.5 0 -2026 1 1 0 42.6499 55.3678 45.8573 -0.735011 0.536784 -0.414272 0.490491 45 57.5 57.5 0 -2027 1 1 0 42.9553 55.1797 45.1479 -0.704471 0.51797 -0.485208 0.490491 45 57.5 57.5 0 -2028 1 1 0 43.3039 54.9644 44.4758 -0.669612 0.496441 -0.552418 0.490491 45 57.5 57.5 0 -2029 1 1 0 45.0356 55.5242 43.3039 -0.496441 0.552418 -0.669612 0.490491 45 57.5 57.5 0 -2030 1 1 0 44.3575 55.1338 43.5342 -0.564254 0.513375 -0.646578 0.490491 45 57.5 57.5 0 -2031 1 1 0 44.8203 54.8521 42.9553 -0.51797 0.485208 -0.704471 0.490491 45 57.5 57.5 0 -2032 1 1 0 43.7169 54.7092 43.8076 -0.628313 0.470917 -0.619242 0.490491 45 57.5 57.5 0 -2033 1 1 0 44.1528 54.4396 43.2102 -0.584716 0.443957 -0.678977 0.490491 45 57.5 57.5 0 -2034 1 1 0 44.6322 54.1427 42.6499 -0.536784 0.414272 -0.735011 0.490491 45 57.5 57.5 0 -2035 1 1 0 44.1805 56.0748 44.5935 -0.581952 0.607478 -0.54065 0.490491 45 57.5 57.5 0 -2036 1 1 0 43.9252 55.4065 44.1805 -0.607478 0.54065 -0.581952 0.490491 45 57.5 57.5 0 -2037 1 1 0 44.5935 55.8195 43.9252 -0.54065 0.581952 -0.607478 0.490491 45 57.5 57.5 0 -2038 1 1 0 51.0649 55.5186 41.7289 0.106494 0.551859 -0.82711 0.490491 45 57.5 57.5 0 -2039 1 1 0 51.7253 55.2913 41.6919 0.172532 0.529135 -0.830812 0.490491 45 57.5 57.5 0 -2040 1 1 0 52.3723 55.0421 41.6964 0.237228 0.504209 -0.830359 0.490491 45 57.5 57.5 0 -2041 1 1 0 52.1302 55.7125 42.0735 0.213023 0.571251 -0.79265 0.490491 45 57.5 57.5 0 -2042 1 1 0 51.4741 55.949 42.0983 0.147413 0.594895 -0.79017 0.490491 45 57.5 57.5 0 -2043 1 1 0 51.8743 56.3458 42.5021 0.187432 0.634579 -0.749786 0.490491 45 57.5 57.5 0 -2044 1 1 0 53.038 54.7623 41.7482 0.303801 0.476225 -0.825175 0.490491 45 57.5 57.5 0 -2045 1 1 0 53.6603 54.4698 41.8377 0.366027 0.446977 -0.816233 0.490491 45 57.5 57.5 0 -2046 1 1 0 53.4615 55.1612 42.1655 0.346153 0.516122 -0.783452 0.490491 45 57.5 57.5 0 -2047 1 1 0 54.2713 54.156 41.9698 0.427135 0.415597 -0.803016 0.490491 45 57.5 57.5 0 -2048 1 1 0 54.8571 53.8268 42.141 0.485712 0.382683 -0.785899 0.490491 45 57.5 57.5 0 -2049 1 1 0 54.6843 54.5399 42.4206 0.46843 0.45399 -0.757936 0.490491 45 57.5 57.5 0 -2050 1 1 0 54.0829 54.8624 42.2742 0.408286 0.48624 -0.772575 0.490491 45 57.5 57.5 0 -2051 1 1 0 53.8673 55.5337 42.6229 0.38673 0.553372 -0.737712 0.490491 45 57.5 57.5 0 -2052 1 1 0 54.4826 55.225 42.747 0.448259 0.522499 -0.725299 0.490491 45 57.5 57.5 0 -2053 1 1 0 54.2533 55.8779 43.1181 0.425325 0.587785 -0.688191 0.490491 45 57.5 57.5 0 -2054 1 1 0 52.289 56.7232 42.9602 0.228899 0.672319 -0.703983 0.490491 45 57.5 57.5 0 -2055 1 1 0 52.96 56.4741 42.9769 0.296004 0.647412 -0.70231 0.490491 45 57.5 57.5 0 -2056 1 1 0 52.6738 57.0524 43.4338 0.267381 0.705236 -0.65662 0.490491 45 57.5 57.5 0 -2057 1 1 0 53.6159 56.1919 43.0296 0.361591 0.619186 -0.697037 0.490491 45 57.5 57.5 0 -2058 1 1 0 53.3469 56.7891 43.465 0.334691 0.678913 -0.653497 0.490491 45 57.5 57.5 0 -2059 1 1 0 53.9977 56.4945 43.5316 0.399769 0.649448 -0.64684 0.490491 45 57.5 57.5 0 -2060 1 1 0 53.7175 57.0711 43.985 0.371748 0.707107 -0.601501 0.490491 45 57.5 57.5 0 -2061 1 1 0 53.0521 57.3479 43.9426 0.305212 0.734794 -0.605742 0.490491 45 57.5 57.5 0 -2062 1 1 0 53.4143 57.6041 44.4755 0.341435 0.760406 -0.552454 0.490491 45 57.5 57.5 0 -2063 1 1 0 52.8032 55.4511 42.0989 0.280319 0.545109 -0.790112 0.490491 45 57.5 57.5 0 -2064 1 1 0 53.2214 55.8369 42.5466 0.322141 0.583692 -0.745339 0.490491 45 57.5 57.5 0 -2065 1 1 0 52.5518 56.1093 42.5056 0.25518 0.610926 -0.749435 0.490491 45 57.5 57.5 0 -2066 1 1 0 55.5245 53.4143 42.3959 0.552454 0.341435 -0.760406 0.490491 45 57.5 57.5 0 -2067 1 1 0 56.0574 53.0521 42.6521 0.605742 0.305212 -0.734794 0.490491 45 57.5 57.5 0 -2068 1 1 0 56.015 53.7175 42.9289 0.601501 0.371748 -0.707107 0.490491 45 57.5 57.5 0 -2069 1 1 0 56.5662 52.6738 42.9476 0.65662 0.267381 -0.705236 0.490491 45 57.5 57.5 0 -2070 1 1 0 57.0398 52.289 43.2768 0.703983 0.228899 -0.672319 0.490491 45 57.5 57.5 0 -2071 1 1 0 57.0231 52.96 43.5259 0.70231 0.296004 -0.647412 0.490491 45 57.5 57.5 0 -2072 1 1 0 56.535 53.3469 43.2109 0.653497 0.334691 -0.678913 0.490491 45 57.5 57.5 0 -2073 1 1 0 56.4684 53.9977 43.5055 0.64684 0.399769 -0.649448 0.490491 45 57.5 57.5 0 -2074 1 1 0 56.9704 53.6159 43.8081 0.697037 0.361591 -0.619186 0.490491 45 57.5 57.5 0 -2075 1 1 0 56.8819 54.2533 44.1221 0.688191 0.425325 -0.587785 0.490491 45 57.5 57.5 0 -2076 1 1 0 57.4979 51.8743 43.6542 0.749786 0.187432 -0.634579 0.490491 45 57.5 57.5 0 -2077 1 1 0 57.9017 51.4741 44.051 0.79017 0.147413 -0.594895 0.490491 45 57.5 57.5 0 -2078 1 1 0 57.9265 52.1302 44.2875 0.79265 0.213023 -0.571251 0.490491 45 57.5 57.5 0 -2079 1 1 0 58.2711 51.0649 44.4814 0.82711 0.106494 -0.551859 0.490491 45 57.5 57.5 0 -2080 1 1 0 58.3081 51.7253 44.7087 0.830812 0.172532 -0.529135 0.490491 45 57.5 57.5 0 -2081 1 1 0 58.3036 52.3723 44.9579 0.830359 0.237228 -0.504209 0.490491 45 57.5 57.5 0 -2082 1 1 0 57.3771 53.8673 44.4663 0.737712 0.38673 -0.553372 0.490491 45 57.5 57.5 0 -2083 1 1 0 57.253 54.4826 44.775 0.725299 0.448259 -0.522499 0.490491 45 57.5 57.5 0 -2084 1 1 0 57.8345 53.4615 44.8388 0.783452 0.346153 -0.516122 0.490491 45 57.5 57.5 0 -2085 1 1 0 57.7258 54.0829 45.1376 0.772575 0.408286 -0.48624 0.490491 45 57.5 57.5 0 -2086 1 1 0 57.5794 54.6843 45.4601 0.757936 0.46843 -0.45399 0.490491 45 57.5 57.5 0 -2087 1 1 0 58.2518 53.038 45.2377 0.825175 0.303801 -0.476225 0.490491 45 57.5 57.5 0 -2088 1 1 0 58.1623 53.6603 45.5302 0.816233 0.366027 -0.446977 0.490491 45 57.5 57.5 0 -2089 1 1 0 58.0302 54.2713 45.844 0.803016 0.427135 -0.415597 0.490491 45 57.5 57.5 0 -2090 1 1 0 57.859 54.8571 46.1732 0.785899 0.485712 -0.382683 0.490491 45 57.5 57.5 0 -2091 1 1 0 57.4944 52.5518 43.8907 0.749435 0.25518 -0.610926 0.490491 45 57.5 57.5 0 -2092 1 1 0 57.9011 52.8032 44.5489 0.790112 0.280319 -0.545109 0.490491 45 57.5 57.5 0 -2093 1 1 0 57.4534 53.2214 44.1631 0.745339 0.322141 -0.583692 0.490491 45 57.5 57.5 0 -2094 1 1 0 53.8268 57.859 45.1429 0.382683 0.785899 -0.485712 0.490491 45 57.5 57.5 0 -2095 1 1 0 54.5399 57.5794 45.3157 0.45399 0.757936 -0.46843 0.490491 45 57.5 57.5 0 -2096 1 1 0 54.156 58.0302 45.7287 0.415597 0.803016 -0.427135 0.490491 45 57.5 57.5 0 -2097 1 1 0 55.225 57.253 45.5174 0.522499 0.725299 -0.448259 0.490491 45 57.5 57.5 0 -2098 1 1 0 54.8624 57.7258 45.9171 0.48624 0.772575 -0.408286 0.490491 45 57.5 57.5 0 -2099 1 1 0 55.8779 56.8819 45.7467 0.587785 0.688191 -0.425325 0.490491 45 57.5 57.5 0 -2100 1 1 0 55.5337 57.3771 46.1327 0.553372 0.737712 -0.38673 0.490491 45 57.5 57.5 0 -2101 1 1 0 55.1612 57.8345 46.5385 0.516122 0.783452 -0.346153 0.490491 45 57.5 57.5 0 -2102 1 1 0 54.4698 58.1623 46.3397 0.446977 0.816233 -0.366027 0.490491 45 57.5 57.5 0 -2103 1 1 0 54.7623 58.2518 46.962 0.476225 0.825175 -0.303801 0.490491 45 57.5 57.5 0 -2104 1 1 0 56.4945 56.4684 46.0023 0.649448 0.64684 -0.399769 0.490491 45 57.5 57.5 0 -2105 1 1 0 56.1919 56.9704 46.3841 0.619186 0.697037 -0.361591 0.490491 45 57.5 57.5 0 -2106 1 1 0 57.0711 56.015 46.2825 0.707107 0.601501 -0.371748 0.490491 45 57.5 57.5 0 -2107 1 1 0 56.7891 56.535 46.6531 0.678913 0.653497 -0.334691 0.490491 45 57.5 57.5 0 -2108 1 1 0 56.4741 57.0231 47.04 0.647412 0.70231 -0.296004 0.490491 45 57.5 57.5 0 -2109 1 1 0 57.6041 55.5245 46.5857 0.760406 0.552454 -0.341435 0.490491 45 57.5 57.5 0 -2110 1 1 0 57.3479 56.0574 46.9479 0.734794 0.605742 -0.305212 0.490491 45 57.5 57.5 0 -2111 1 1 0 57.0524 56.5662 47.3262 0.705236 0.65662 -0.267381 0.490491 45 57.5 57.5 0 -2112 1 1 0 56.7232 57.0398 47.711 0.672319 0.703983 -0.228899 0.490491 45 57.5 57.5 0 -2113 1 1 0 55.0421 58.3036 47.6277 0.504209 0.830359 -0.237228 0.490491 45 57.5 57.5 0 -2114 1 1 0 55.7125 57.9265 47.8698 0.571251 0.79265 -0.213023 0.490491 45 57.5 57.5 0 -2115 1 1 0 55.2913 58.3081 48.2747 0.529135 0.830812 -0.172532 0.490491 45 57.5 57.5 0 -2116 1 1 0 56.3458 57.4979 48.1257 0.634579 0.749786 -0.187432 0.490491 45 57.5 57.5 0 -2117 1 1 0 55.949 57.9017 48.5259 0.594895 0.79017 -0.147413 0.490491 45 57.5 57.5 0 -2118 1 1 0 55.5186 58.2711 48.9351 0.551859 0.82711 -0.106494 0.490491 45 57.5 57.5 0 -2119 1 1 0 55.8369 57.4534 46.7786 0.583692 0.745339 -0.322141 0.490491 45 57.5 57.5 0 -2120 1 1 0 56.1093 57.4944 47.4482 0.610926 0.749435 -0.25518 0.490491 45 57.5 57.5 0 -2121 1 1 0 55.4511 57.9011 47.1968 0.545109 0.790112 -0.280319 0.490491 45 57.5 57.5 0 -2122 1 1 0 55.3678 54.1427 42.6499 0.536784 0.414272 -0.735011 0.490491 45 57.5 57.5 0 -2123 1 1 0 55.8472 54.4396 43.2102 0.584716 0.443957 -0.678977 0.490491 45 57.5 57.5 0 -2124 1 1 0 56.2831 54.7092 43.8076 0.628313 0.470917 -0.619242 0.490491 45 57.5 57.5 0 -2125 1 1 0 55.6425 55.1338 43.5342 0.564254 0.513375 -0.646578 0.490491 45 57.5 57.5 0 -2126 1 1 0 55.1797 54.8521 42.9553 0.51797 0.485208 -0.704471 0.490491 45 57.5 57.5 0 -2127 1 1 0 54.9644 55.5242 43.3039 0.496441 0.552418 -0.669612 0.490491 45 57.5 57.5 0 -2128 1 1 0 56.6961 54.9644 44.4758 0.669612 0.496441 -0.552418 0.490491 45 57.5 57.5 0 -2129 1 1 0 57.0447 55.1797 45.1479 0.704471 0.51797 -0.485208 0.490491 45 57.5 57.5 0 -2130 1 1 0 56.4658 55.6425 44.8662 0.646578 0.564254 -0.513375 0.490491 45 57.5 57.5 0 -2131 1 1 0 57.3501 55.3678 45.8573 0.735011 0.536784 -0.414272 0.490491 45 57.5 57.5 0 -2132 1 1 0 56.7898 55.8472 45.5604 0.678977 0.584716 -0.443957 0.490491 45 57.5 57.5 0 -2133 1 1 0 56.1924 56.2831 45.2908 0.619242 0.628313 -0.470917 0.490491 45 57.5 57.5 0 -2134 1 1 0 54.7092 56.1924 43.7169 0.470917 0.619242 -0.628313 0.490491 45 57.5 57.5 0 -2135 1 1 0 55.1338 56.4658 44.3575 0.513375 0.646578 -0.564254 0.490491 45 57.5 57.5 0 -2136 1 1 0 54.4396 56.7898 44.1528 0.443957 0.678977 -0.584716 0.490491 45 57.5 57.5 0 -2137 1 1 0 55.5242 56.6961 45.0356 0.552418 0.669612 -0.496441 0.490491 45 57.5 57.5 0 -2138 1 1 0 54.8521 57.0447 44.8203 0.485208 0.704471 -0.51797 0.490491 45 57.5 57.5 0 -2139 1 1 0 54.1427 57.3501 44.6322 0.414272 0.735011 -0.536784 0.490491 45 57.5 57.5 0 -2140 1 1 0 56.0748 55.4065 44.1805 0.607478 0.54065 -0.581952 0.490491 45 57.5 57.5 0 -2141 1 1 0 55.8195 56.0748 44.5935 0.581952 0.607478 -0.54065 0.490491 45 57.5 57.5 0 -2142 1 1 0 55.4065 55.8195 43.9252 0.54065 0.581952 -0.607478 0.490491 45 57.5 57.5 0 -2143 1 1 0 48.9351 44.4814 41.7289 -0.106494 -0.551859 -0.82711 0.490491 45 57.5 57.5 0 -2144 1 1 0 48.2747 44.7087 41.6919 -0.172532 -0.529135 -0.830812 0.490491 45 57.5 57.5 0 -2145 1 1 0 47.6277 44.9579 41.6964 -0.237228 -0.504209 -0.830359 0.490491 45 57.5 57.5 0 -2146 1 1 0 47.8698 44.2875 42.0735 -0.213023 -0.571251 -0.79265 0.490491 45 57.5 57.5 0 -2147 1 1 0 48.5259 44.051 42.0983 -0.147413 -0.594895 -0.79017 0.490491 45 57.5 57.5 0 -2148 1 1 0 48.1257 43.6542 42.5021 -0.187432 -0.634579 -0.749786 0.490491 45 57.5 57.5 0 -2149 1 1 0 46.962 45.2377 41.7482 -0.303801 -0.476225 -0.825175 0.490491 45 57.5 57.5 0 -2150 1 1 0 46.3397 45.5302 41.8377 -0.366027 -0.446977 -0.816233 0.490491 45 57.5 57.5 0 -2151 1 1 0 46.5385 44.8388 42.1655 -0.346153 -0.516122 -0.783452 0.490491 45 57.5 57.5 0 -2152 1 1 0 45.7287 45.844 41.9698 -0.427135 -0.415597 -0.803016 0.490491 45 57.5 57.5 0 -2153 1 1 0 45.1429 46.1732 42.141 -0.485712 -0.382683 -0.785899 0.490491 45 57.5 57.5 0 -2154 1 1 0 45.3157 45.4601 42.4206 -0.46843 -0.45399 -0.757936 0.490491 45 57.5 57.5 0 -2155 1 1 0 45.9171 45.1376 42.2742 -0.408286 -0.48624 -0.772575 0.490491 45 57.5 57.5 0 -2156 1 1 0 46.1327 44.4663 42.6229 -0.38673 -0.553372 -0.737712 0.490491 45 57.5 57.5 0 -2157 1 1 0 45.5174 44.775 42.747 -0.448259 -0.522499 -0.725299 0.490491 45 57.5 57.5 0 -2158 1 1 0 45.7467 44.1221 43.1181 -0.425325 -0.587785 -0.688191 0.490491 45 57.5 57.5 0 -2159 1 1 0 47.711 43.2768 42.9602 -0.228899 -0.672319 -0.703983 0.490491 45 57.5 57.5 0 -2160 1 1 0 47.04 43.5259 42.9769 -0.296004 -0.647412 -0.70231 0.490491 45 57.5 57.5 0 -2161 1 1 0 47.3262 42.9476 43.4338 -0.267381 -0.705236 -0.65662 0.490491 45 57.5 57.5 0 -2162 1 1 0 46.3841 43.8081 43.0296 -0.361591 -0.619186 -0.697037 0.490491 45 57.5 57.5 0 -2163 1 1 0 46.6531 43.2109 43.465 -0.334691 -0.678913 -0.653497 0.490491 45 57.5 57.5 0 -2164 1 1 0 46.0023 43.5055 43.5316 -0.399769 -0.649448 -0.64684 0.490491 45 57.5 57.5 0 -2165 1 1 0 46.2825 42.9289 43.985 -0.371748 -0.707107 -0.601501 0.490491 45 57.5 57.5 0 -2166 1 1 0 46.9479 42.6521 43.9426 -0.305212 -0.734794 -0.605742 0.490491 45 57.5 57.5 0 -2167 1 1 0 46.5857 42.3959 44.4755 -0.341435 -0.760406 -0.552454 0.490491 45 57.5 57.5 0 -2168 1 1 0 47.1968 44.5489 42.0989 -0.280319 -0.545109 -0.790112 0.490491 45 57.5 57.5 0 -2169 1 1 0 46.7786 44.1631 42.5466 -0.322141 -0.583692 -0.745339 0.490491 45 57.5 57.5 0 -2170 1 1 0 47.4482 43.8907 42.5056 -0.25518 -0.610926 -0.749435 0.490491 45 57.5 57.5 0 -2171 1 1 0 44.4755 46.5857 42.3959 -0.552454 -0.341435 -0.760406 0.490491 45 57.5 57.5 0 -2172 1 1 0 43.9426 46.9479 42.6521 -0.605742 -0.305212 -0.734794 0.490491 45 57.5 57.5 0 -2173 1 1 0 43.985 46.2825 42.9289 -0.601501 -0.371748 -0.707107 0.490491 45 57.5 57.5 0 -2174 1 1 0 43.4338 47.3262 42.9476 -0.65662 -0.267381 -0.705236 0.490491 45 57.5 57.5 0 -2175 1 1 0 42.9602 47.711 43.2768 -0.703983 -0.228899 -0.672319 0.490491 45 57.5 57.5 0 -2176 1 1 0 42.9769 47.04 43.5259 -0.70231 -0.296004 -0.647412 0.490491 45 57.5 57.5 0 -2177 1 1 0 43.465 46.6531 43.2109 -0.653497 -0.334691 -0.678913 0.490491 45 57.5 57.5 0 -2178 1 1 0 43.5316 46.0023 43.5055 -0.64684 -0.399769 -0.649448 0.490491 45 57.5 57.5 0 -2179 1 1 0 43.0296 46.3841 43.8081 -0.697037 -0.361591 -0.619186 0.490491 45 57.5 57.5 0 -2180 1 1 0 43.1181 45.7467 44.1221 -0.688191 -0.425325 -0.587785 0.490491 45 57.5 57.5 0 -2181 1 1 0 42.5021 48.1257 43.6542 -0.749786 -0.187432 -0.634579 0.490491 45 57.5 57.5 0 -2182 1 1 0 42.0983 48.5259 44.051 -0.79017 -0.147413 -0.594895 0.490491 45 57.5 57.5 0 -2183 1 1 0 42.0735 47.8698 44.2875 -0.79265 -0.213023 -0.571251 0.490491 45 57.5 57.5 0 -2184 1 1 0 41.7289 48.9351 44.4814 -0.82711 -0.106494 -0.551859 0.490491 45 57.5 57.5 0 -2185 1 1 0 41.6919 48.2747 44.7087 -0.830812 -0.172532 -0.529135 0.490491 45 57.5 57.5 0 -2186 1 1 0 41.6964 47.6277 44.9579 -0.830359 -0.237228 -0.504209 0.490491 45 57.5 57.5 0 -2187 1 1 0 42.6229 46.1327 44.4663 -0.737712 -0.38673 -0.553372 0.490491 45 57.5 57.5 0 -2188 1 1 0 42.747 45.5174 44.775 -0.725299 -0.448259 -0.522499 0.490491 45 57.5 57.5 0 -2189 1 1 0 42.1655 46.5385 44.8388 -0.783452 -0.346153 -0.516122 0.490491 45 57.5 57.5 0 -2190 1 1 0 42.2742 45.9171 45.1376 -0.772575 -0.408286 -0.48624 0.490491 45 57.5 57.5 0 -2191 1 1 0 42.4206 45.3157 45.4601 -0.757936 -0.46843 -0.45399 0.490491 45 57.5 57.5 0 -2192 1 1 0 41.7482 46.962 45.2377 -0.825175 -0.303801 -0.476225 0.490491 45 57.5 57.5 0 -2193 1 1 0 41.8377 46.3397 45.5302 -0.816233 -0.366027 -0.446977 0.490491 45 57.5 57.5 0 -2194 1 1 0 41.9698 45.7287 45.844 -0.803016 -0.427135 -0.415597 0.490491 45 57.5 57.5 0 -2195 1 1 0 42.141 45.1429 46.1732 -0.785899 -0.485712 -0.382683 0.490491 45 57.5 57.5 0 -2196 1 1 0 42.5056 47.4482 43.8907 -0.749435 -0.25518 -0.610926 0.490491 45 57.5 57.5 0 -2197 1 1 0 42.0989 47.1968 44.5489 -0.790112 -0.280319 -0.545109 0.490491 45 57.5 57.5 0 -2198 1 1 0 42.5466 46.7786 44.1631 -0.745339 -0.322141 -0.583692 0.490491 45 57.5 57.5 0 -2199 1 1 0 46.1732 42.141 45.1429 -0.382683 -0.785899 -0.485712 0.490491 45 57.5 57.5 0 -2200 1 1 0 45.4601 42.4206 45.3157 -0.45399 -0.757936 -0.46843 0.490491 45 57.5 57.5 0 -2201 1 1 0 45.844 41.9698 45.7287 -0.415597 -0.803016 -0.427135 0.490491 45 57.5 57.5 0 -2202 1 1 0 44.775 42.747 45.5174 -0.522499 -0.725299 -0.448259 0.490491 45 57.5 57.5 0 -2203 1 1 0 45.1376 42.2742 45.9171 -0.48624 -0.772575 -0.408286 0.490491 45 57.5 57.5 0 -2204 1 1 0 44.1221 43.1181 45.7467 -0.587785 -0.688191 -0.425325 0.490491 45 57.5 57.5 0 -2205 1 1 0 44.4663 42.6229 46.1327 -0.553372 -0.737712 -0.38673 0.490491 45 57.5 57.5 0 -2206 1 1 0 44.8388 42.1655 46.5385 -0.516122 -0.783452 -0.346153 0.490491 45 57.5 57.5 0 -2207 1 1 0 45.5302 41.8377 46.3397 -0.446977 -0.816233 -0.366027 0.490491 45 57.5 57.5 0 -2208 1 1 0 45.2377 41.7482 46.962 -0.476225 -0.825175 -0.303801 0.490491 45 57.5 57.5 0 -2209 1 1 0 43.5055 43.5316 46.0023 -0.649448 -0.64684 -0.399769 0.490491 45 57.5 57.5 0 -2210 1 1 0 43.8081 43.0296 46.3841 -0.619186 -0.697037 -0.361591 0.490491 45 57.5 57.5 0 -2211 1 1 0 42.9289 43.985 46.2825 -0.707107 -0.601501 -0.371748 0.490491 45 57.5 57.5 0 -2212 1 1 0 43.2109 43.465 46.6531 -0.678913 -0.653497 -0.334691 0.490491 45 57.5 57.5 0 -2213 1 1 0 43.5259 42.9769 47.04 -0.647412 -0.70231 -0.296004 0.490491 45 57.5 57.5 0 -2214 1 1 0 42.3959 44.4755 46.5857 -0.760406 -0.552454 -0.341435 0.490491 45 57.5 57.5 0 -2215 1 1 0 42.6521 43.9426 46.9479 -0.734794 -0.605742 -0.305212 0.490491 45 57.5 57.5 0 -2216 1 1 0 42.9476 43.4338 47.3262 -0.705236 -0.65662 -0.267381 0.490491 45 57.5 57.5 0 -2217 1 1 0 43.2768 42.9602 47.711 -0.672319 -0.703983 -0.228899 0.490491 45 57.5 57.5 0 -2218 1 1 0 44.9579 41.6964 47.6277 -0.504209 -0.830359 -0.237228 0.490491 45 57.5 57.5 0 -2219 1 1 0 44.2875 42.0735 47.8698 -0.571251 -0.79265 -0.213023 0.490491 45 57.5 57.5 0 -2220 1 1 0 44.7087 41.6919 48.2747 -0.529135 -0.830812 -0.172532 0.490491 45 57.5 57.5 0 -2221 1 1 0 43.6542 42.5021 48.1257 -0.634579 -0.749786 -0.187432 0.490491 45 57.5 57.5 0 -2222 1 1 0 44.051 42.0983 48.5259 -0.594895 -0.79017 -0.147413 0.490491 45 57.5 57.5 0 -2223 1 1 0 44.4814 41.7289 48.9351 -0.551859 -0.82711 -0.106494 0.490491 45 57.5 57.5 0 -2224 1 1 0 44.1631 42.5466 46.7786 -0.583692 -0.745339 -0.322141 0.490491 45 57.5 57.5 0 -2225 1 1 0 43.8907 42.5056 47.4482 -0.610926 -0.749435 -0.25518 0.490491 45 57.5 57.5 0 -2226 1 1 0 44.5489 42.0989 47.1968 -0.545109 -0.790112 -0.280319 0.490491 45 57.5 57.5 0 -2227 1 1 0 44.6322 45.8573 42.6499 -0.536784 -0.414272 -0.735011 0.490491 45 57.5 57.5 0 -2228 1 1 0 44.1528 45.5604 43.2102 -0.584716 -0.443957 -0.678977 0.490491 45 57.5 57.5 0 -2229 1 1 0 43.7169 45.2908 43.8076 -0.628313 -0.470917 -0.619242 0.490491 45 57.5 57.5 0 -2230 1 1 0 44.3575 44.8662 43.5342 -0.564254 -0.513375 -0.646578 0.490491 45 57.5 57.5 0 -2231 1 1 0 44.8203 45.1479 42.9553 -0.51797 -0.485208 -0.704471 0.490491 45 57.5 57.5 0 -2232 1 1 0 45.0356 44.4758 43.3039 -0.496441 -0.552418 -0.669612 0.490491 45 57.5 57.5 0 -2233 1 1 0 43.3039 45.0356 44.4758 -0.669612 -0.496441 -0.552418 0.490491 45 57.5 57.5 0 -2234 1 1 0 42.9553 44.8203 45.1479 -0.704471 -0.51797 -0.485208 0.490491 45 57.5 57.5 0 -2235 1 1 0 43.5342 44.3575 44.8662 -0.646578 -0.564254 -0.513375 0.490491 45 57.5 57.5 0 -2236 1 1 0 42.6499 44.6322 45.8573 -0.735011 -0.536784 -0.414272 0.490491 45 57.5 57.5 0 -2237 1 1 0 43.2102 44.1528 45.5604 -0.678977 -0.584716 -0.443957 0.490491 45 57.5 57.5 0 -2238 1 1 0 43.8076 43.7169 45.2908 -0.619242 -0.628313 -0.470917 0.490491 45 57.5 57.5 0 -2239 1 1 0 45.2908 43.8076 43.7169 -0.470917 -0.619242 -0.628313 0.490491 45 57.5 57.5 0 -2240 1 1 0 44.8662 43.5342 44.3575 -0.513375 -0.646578 -0.564254 0.490491 45 57.5 57.5 0 -2241 1 1 0 45.5604 43.2102 44.1528 -0.443957 -0.678977 -0.584716 0.490491 45 57.5 57.5 0 -2242 1 1 0 44.4758 43.3039 45.0356 -0.552418 -0.669612 -0.496441 0.490491 45 57.5 57.5 0 -2243 1 1 0 45.1479 42.9553 44.8203 -0.485208 -0.704471 -0.51797 0.490491 45 57.5 57.5 0 -2244 1 1 0 45.8573 42.6499 44.6322 -0.414272 -0.735011 -0.536784 0.490491 45 57.5 57.5 0 -2245 1 1 0 43.9252 44.5935 44.1805 -0.607478 -0.54065 -0.581952 0.490491 45 57.5 57.5 0 -2246 1 1 0 44.1805 43.9252 44.5935 -0.581952 -0.607478 -0.54065 0.490491 45 57.5 57.5 0 -2247 1 1 0 44.5935 44.1805 43.9252 -0.54065 -0.581952 -0.607478 0.490491 45 57.5 57.5 0 -2248 1 1 0 51.0649 44.4814 41.7289 0.106494 -0.551859 -0.82711 0.490491 45 57.5 57.5 0 -2249 1 1 0 51.4741 44.051 42.0983 0.147413 -0.594895 -0.79017 0.490491 45 57.5 57.5 0 -2250 1 1 0 51.8743 43.6542 42.5021 0.187432 -0.634579 -0.749786 0.490491 45 57.5 57.5 0 -2251 1 1 0 52.1302 44.2875 42.0735 0.213023 -0.571251 -0.79265 0.490491 45 57.5 57.5 0 -2252 1 1 0 51.7253 44.7087 41.6919 0.172532 -0.529135 -0.830812 0.490491 45 57.5 57.5 0 -2253 1 1 0 52.3723 44.9579 41.6964 0.237228 -0.504209 -0.830359 0.490491 45 57.5 57.5 0 -2254 1 1 0 52.289 43.2768 42.9602 0.228899 -0.672319 -0.703983 0.490491 45 57.5 57.5 0 -2255 1 1 0 52.6738 42.9476 43.4338 0.267381 -0.705236 -0.65662 0.490491 45 57.5 57.5 0 -2256 1 1 0 52.96 43.5259 42.9769 0.296004 -0.647412 -0.70231 0.490491 45 57.5 57.5 0 -2257 1 1 0 53.0521 42.6521 43.9426 0.305212 -0.734794 -0.605742 0.490491 45 57.5 57.5 0 -2258 1 1 0 53.4143 42.3959 44.4755 0.341435 -0.760406 -0.552454 0.490491 45 57.5 57.5 0 -2259 1 1 0 53.7175 42.9289 43.985 0.371748 -0.707107 -0.601501 0.490491 45 57.5 57.5 0 -2260 1 1 0 53.3469 43.2109 43.465 0.334691 -0.678913 -0.653497 0.490491 45 57.5 57.5 0 -2261 1 1 0 53.6159 43.8081 43.0296 0.361591 -0.619186 -0.697037 0.490491 45 57.5 57.5 0 -2262 1 1 0 53.9977 43.5055 43.5316 0.399769 -0.649448 -0.64684 0.490491 45 57.5 57.5 0 -2263 1 1 0 54.2533 44.1221 43.1181 0.425325 -0.587785 -0.688191 0.490491 45 57.5 57.5 0 -2264 1 1 0 53.038 45.2377 41.7482 0.303801 -0.476225 -0.825175 0.490491 45 57.5 57.5 0 -2265 1 1 0 53.4615 44.8388 42.1655 0.346153 -0.516122 -0.783452 0.490491 45 57.5 57.5 0 -2266 1 1 0 53.6603 45.5302 41.8377 0.366027 -0.446977 -0.816233 0.490491 45 57.5 57.5 0 -2267 1 1 0 53.8673 44.4663 42.6229 0.38673 -0.553372 -0.737712 0.490491 45 57.5 57.5 0 -2268 1 1 0 54.0829 45.1376 42.2742 0.408286 -0.48624 -0.772575 0.490491 45 57.5 57.5 0 -2269 1 1 0 54.4826 44.775 42.747 0.448259 -0.522499 -0.725299 0.490491 45 57.5 57.5 0 -2270 1 1 0 54.6843 45.4601 42.4206 0.46843 -0.45399 -0.757936 0.490491 45 57.5 57.5 0 -2271 1 1 0 54.2713 45.844 41.9698 0.427135 -0.415597 -0.803016 0.490491 45 57.5 57.5 0 -2272 1 1 0 54.8571 46.1732 42.141 0.485712 -0.382683 -0.785899 0.490491 45 57.5 57.5 0 -2273 1 1 0 52.5518 43.8907 42.5056 0.25518 -0.610926 -0.749435 0.490491 45 57.5 57.5 0 -2274 1 1 0 53.2214 44.1631 42.5466 0.322141 -0.583692 -0.745339 0.490491 45 57.5 57.5 0 -2275 1 1 0 52.8032 44.5489 42.0989 0.280319 -0.545109 -0.790112 0.490491 45 57.5 57.5 0 -2276 1 1 0 53.8268 42.141 45.1429 0.382683 -0.785899 -0.485712 0.490491 45 57.5 57.5 0 -2277 1 1 0 54.156 41.9698 45.7287 0.415597 -0.803016 -0.427135 0.490491 45 57.5 57.5 0 -2278 1 1 0 54.5399 42.4206 45.3157 0.45399 -0.757936 -0.46843 0.490491 45 57.5 57.5 0 -2279 1 1 0 54.4698 41.8377 46.3397 0.446977 -0.816233 -0.366027 0.490491 45 57.5 57.5 0 -2280 1 1 0 54.7623 41.7482 46.962 0.476225 -0.825175 -0.303801 0.490491 45 57.5 57.5 0 -2281 1 1 0 55.1612 42.1655 46.5385 0.516122 -0.783452 -0.346153 0.490491 45 57.5 57.5 0 -2282 1 1 0 54.8624 42.2742 45.9171 0.48624 -0.772575 -0.408286 0.490491 45 57.5 57.5 0 -2283 1 1 0 55.225 42.747 45.5174 0.522499 -0.725299 -0.448259 0.490491 45 57.5 57.5 0 -2284 1 1 0 55.5337 42.6229 46.1327 0.553372 -0.737712 -0.38673 0.490491 45 57.5 57.5 0 -2285 1 1 0 55.8779 43.1181 45.7467 0.587785 -0.688191 -0.425325 0.490491 45 57.5 57.5 0 -2286 1 1 0 55.0421 41.6964 47.6277 0.504209 -0.830359 -0.237228 0.490491 45 57.5 57.5 0 -2287 1 1 0 55.2913 41.6919 48.2747 0.529135 -0.830812 -0.172532 0.490491 45 57.5 57.5 0 -2288 1 1 0 55.7125 42.0735 47.8698 0.571251 -0.79265 -0.213023 0.490491 45 57.5 57.5 0 -2289 1 1 0 55.5186 41.7289 48.9351 0.551859 -0.82711 -0.106494 0.490491 45 57.5 57.5 0 -2290 1 1 0 55.949 42.0983 48.5259 0.594895 -0.79017 -0.147413 0.490491 45 57.5 57.5 0 -2291 1 1 0 56.3458 42.5021 48.1257 0.634579 -0.749786 -0.187432 0.490491 45 57.5 57.5 0 -2292 1 1 0 56.1919 43.0296 46.3841 0.619186 -0.697037 -0.361591 0.490491 45 57.5 57.5 0 -2293 1 1 0 56.4945 43.5316 46.0023 0.649448 -0.64684 -0.399769 0.490491 45 57.5 57.5 0 -2294 1 1 0 56.4741 42.9769 47.04 0.647412 -0.70231 -0.296004 0.490491 45 57.5 57.5 0 -2295 1 1 0 56.7891 43.465 46.6531 0.678913 -0.653497 -0.334691 0.490491 45 57.5 57.5 0 -2296 1 1 0 57.0711 43.985 46.2825 0.707107 -0.601501 -0.371748 0.490491 45 57.5 57.5 0 -2297 1 1 0 56.7232 42.9602 47.711 0.672319 -0.703983 -0.228899 0.490491 45 57.5 57.5 0 -2298 1 1 0 57.0524 43.4338 47.3262 0.705236 -0.65662 -0.267381 0.490491 45 57.5 57.5 0 -2299 1 1 0 57.3479 43.9426 46.9479 0.734794 -0.605742 -0.305212 0.490491 45 57.5 57.5 0 -2300 1 1 0 57.6041 44.4755 46.5857 0.760406 -0.552454 -0.341435 0.490491 45 57.5 57.5 0 -2301 1 1 0 55.4511 42.0989 47.1968 0.545109 -0.790112 -0.280319 0.490491 45 57.5 57.5 0 -2302 1 1 0 56.1093 42.5056 47.4482 0.610926 -0.749435 -0.25518 0.490491 45 57.5 57.5 0 -2303 1 1 0 55.8369 42.5466 46.7786 0.583692 -0.745339 -0.322141 0.490491 45 57.5 57.5 0 -2304 1 1 0 55.5245 46.5857 42.3959 0.552454 -0.341435 -0.760406 0.490491 45 57.5 57.5 0 -2305 1 1 0 56.015 46.2825 42.9289 0.601501 -0.371748 -0.707107 0.490491 45 57.5 57.5 0 -2306 1 1 0 56.0574 46.9479 42.6521 0.605742 -0.305212 -0.734794 0.490491 45 57.5 57.5 0 -2307 1 1 0 56.4684 46.0023 43.5055 0.64684 -0.399769 -0.649448 0.490491 45 57.5 57.5 0 -2308 1 1 0 56.535 46.6531 43.2109 0.653497 -0.334691 -0.678913 0.490491 45 57.5 57.5 0 -2309 1 1 0 56.8819 45.7467 44.1221 0.688191 -0.425325 -0.587785 0.490491 45 57.5 57.5 0 -2310 1 1 0 56.9704 46.3841 43.8081 0.697037 -0.361591 -0.619186 0.490491 45 57.5 57.5 0 -2311 1 1 0 57.0231 47.04 43.5259 0.70231 -0.296004 -0.647412 0.490491 45 57.5 57.5 0 -2312 1 1 0 56.5662 47.3262 42.9476 0.65662 -0.267381 -0.705236 0.490491 45 57.5 57.5 0 -2313 1 1 0 57.0398 47.711 43.2768 0.703983 -0.228899 -0.672319 0.490491 45 57.5 57.5 0 -2314 1 1 0 57.253 45.5174 44.775 0.725299 -0.448259 -0.522499 0.490491 45 57.5 57.5 0 -2315 1 1 0 57.3771 46.1327 44.4663 0.737712 -0.38673 -0.553372 0.490491 45 57.5 57.5 0 -2316 1 1 0 57.5794 45.3157 45.4601 0.757936 -0.46843 -0.45399 0.490491 45 57.5 57.5 0 -2317 1 1 0 57.7258 45.9171 45.1376 0.772575 -0.408286 -0.48624 0.490491 45 57.5 57.5 0 -2318 1 1 0 57.8345 46.5385 44.8388 0.783452 -0.346153 -0.516122 0.490491 45 57.5 57.5 0 -2319 1 1 0 57.859 45.1429 46.1732 0.785899 -0.485712 -0.382683 0.490491 45 57.5 57.5 0 -2320 1 1 0 58.0302 45.7287 45.844 0.803016 -0.427135 -0.415597 0.490491 45 57.5 57.5 0 -2321 1 1 0 58.1623 46.3397 45.5302 0.816233 -0.366027 -0.446977 0.490491 45 57.5 57.5 0 -2322 1 1 0 58.2518 46.962 45.2377 0.825175 -0.303801 -0.476225 0.490491 45 57.5 57.5 0 -2323 1 1 0 57.4979 48.1257 43.6542 0.749786 -0.187432 -0.634579 0.490491 45 57.5 57.5 0 -2324 1 1 0 57.9265 47.8698 44.2875 0.79265 -0.213023 -0.571251 0.490491 45 57.5 57.5 0 -2325 1 1 0 57.9017 48.5259 44.051 0.79017 -0.147413 -0.594895 0.490491 45 57.5 57.5 0 -2326 1 1 0 58.3036 47.6277 44.9579 0.830359 -0.237228 -0.504209 0.490491 45 57.5 57.5 0 -2327 1 1 0 58.3081 48.2747 44.7087 0.830812 -0.172532 -0.529135 0.490491 45 57.5 57.5 0 -2328 1 1 0 58.2711 48.9351 44.4814 0.82711 -0.106494 -0.551859 0.490491 45 57.5 57.5 0 -2329 1 1 0 57.4534 46.7786 44.1631 0.745339 -0.322141 -0.583692 0.490491 45 57.5 57.5 0 -2330 1 1 0 57.9011 47.1968 44.5489 0.790112 -0.280319 -0.545109 0.490491 45 57.5 57.5 0 -2331 1 1 0 57.4944 47.4482 43.8907 0.749435 -0.25518 -0.610926 0.490491 45 57.5 57.5 0 -2332 1 1 0 54.1427 42.6499 44.6322 0.414272 -0.735011 -0.536784 0.490491 45 57.5 57.5 0 -2333 1 1 0 54.8521 42.9553 44.8203 0.485208 -0.704471 -0.51797 0.490491 45 57.5 57.5 0 -2334 1 1 0 55.5242 43.3039 45.0356 0.552418 -0.669612 -0.496441 0.490491 45 57.5 57.5 0 -2335 1 1 0 55.1338 43.5342 44.3575 0.513375 -0.646578 -0.564254 0.490491 45 57.5 57.5 0 -2336 1 1 0 54.4396 43.2102 44.1528 0.443957 -0.678977 -0.584716 0.490491 45 57.5 57.5 0 -2337 1 1 0 54.7092 43.8076 43.7169 0.470917 -0.619242 -0.628313 0.490491 45 57.5 57.5 0 -2338 1 1 0 56.1924 43.7169 45.2908 0.619242 -0.628313 -0.470917 0.490491 45 57.5 57.5 0 -2339 1 1 0 56.7898 44.1528 45.5604 0.678977 -0.584716 -0.443957 0.490491 45 57.5 57.5 0 -2340 1 1 0 56.4658 44.3575 44.8662 0.646578 -0.564254 -0.513375 0.490491 45 57.5 57.5 0 -2341 1 1 0 57.3501 44.6322 45.8573 0.735011 -0.536784 -0.414272 0.490491 45 57.5 57.5 0 -2342 1 1 0 57.0447 44.8203 45.1479 0.704471 -0.51797 -0.485208 0.490491 45 57.5 57.5 0 -2343 1 1 0 56.6961 45.0356 44.4758 0.669612 -0.496441 -0.552418 0.490491 45 57.5 57.5 0 -2344 1 1 0 54.9644 44.4758 43.3039 0.496441 -0.552418 -0.669612 0.490491 45 57.5 57.5 0 -2345 1 1 0 55.6425 44.8662 43.5342 0.564254 -0.513375 -0.646578 0.490491 45 57.5 57.5 0 -2346 1 1 0 55.1797 45.1479 42.9553 0.51797 -0.485208 -0.704471 0.490491 45 57.5 57.5 0 -2347 1 1 0 56.2831 45.2908 43.8076 0.628313 -0.470917 -0.619242 0.490491 45 57.5 57.5 0 -2348 1 1 0 55.8472 45.5604 43.2102 0.584716 -0.443957 -0.678977 0.490491 45 57.5 57.5 0 -2349 1 1 0 55.3678 45.8573 42.6499 0.536784 -0.414272 -0.735011 0.490491 45 57.5 57.5 0 -2350 1 1 0 55.8195 43.9252 44.5935 0.581952 -0.607478 -0.54065 0.490491 45 57.5 57.5 0 -2351 1 1 0 56.0748 44.5935 44.1805 0.607478 -0.54065 -0.581952 0.490491 45 57.5 57.5 0 -2352 1 1 0 55.4065 44.1805 43.9252 0.54065 -0.581952 -0.607478 0.490491 45 57.5 57.5 0 -2353 1 1 0 48.9351 44.4814 58.2711 -0.106494 -0.551859 0.82711 0.490491 45 57.5 57.5 0 -2354 1 1 0 48.5259 44.051 57.9017 -0.147413 -0.594895 0.79017 0.490491 45 57.5 57.5 0 -2355 1 1 0 48.1257 43.6542 57.4979 -0.187432 -0.634579 0.749786 0.490491 45 57.5 57.5 0 -2356 1 1 0 47.8698 44.2875 57.9265 -0.213023 -0.571251 0.79265 0.490491 45 57.5 57.5 0 -2357 1 1 0 48.2747 44.7087 58.3081 -0.172532 -0.529135 0.830812 0.490491 45 57.5 57.5 0 -2358 1 1 0 47.6277 44.9579 58.3036 -0.237228 -0.504209 0.830359 0.490491 45 57.5 57.5 0 -2359 1 1 0 47.711 43.2768 57.0398 -0.228899 -0.672319 0.703983 0.490491 45 57.5 57.5 0 -2360 1 1 0 47.3262 42.9476 56.5662 -0.267381 -0.705236 0.65662 0.490491 45 57.5 57.5 0 -2361 1 1 0 47.04 43.5259 57.0231 -0.296004 -0.647412 0.70231 0.490491 45 57.5 57.5 0 -2362 1 1 0 46.9479 42.6521 56.0574 -0.305212 -0.734794 0.605742 0.490491 45 57.5 57.5 0 -2363 1 1 0 46.5857 42.3959 55.5245 -0.341435 -0.760406 0.552454 0.490491 45 57.5 57.5 0 -2364 1 1 0 46.2825 42.9289 56.015 -0.371748 -0.707107 0.601501 0.490491 45 57.5 57.5 0 -2365 1 1 0 46.6531 43.2109 56.535 -0.334691 -0.678913 0.653497 0.490491 45 57.5 57.5 0 -2366 1 1 0 46.3841 43.8081 56.9704 -0.361591 -0.619186 0.697037 0.490491 45 57.5 57.5 0 -2367 1 1 0 46.0023 43.5055 56.4684 -0.399769 -0.649448 0.64684 0.490491 45 57.5 57.5 0 -2368 1 1 0 45.7467 44.1221 56.8819 -0.425325 -0.587785 0.688191 0.490491 45 57.5 57.5 0 -2369 1 1 0 46.962 45.2377 58.2518 -0.303801 -0.476225 0.825175 0.490491 45 57.5 57.5 0 -2370 1 1 0 46.5385 44.8388 57.8345 -0.346153 -0.516122 0.783452 0.490491 45 57.5 57.5 0 -2371 1 1 0 46.3397 45.5302 58.1623 -0.366027 -0.446977 0.816233 0.490491 45 57.5 57.5 0 -2372 1 1 0 46.1327 44.4663 57.3771 -0.38673 -0.553372 0.737712 0.490491 45 57.5 57.5 0 -2373 1 1 0 45.9171 45.1376 57.7258 -0.408286 -0.48624 0.772575 0.490491 45 57.5 57.5 0 -2374 1 1 0 45.5174 44.775 57.253 -0.448259 -0.522499 0.725299 0.490491 45 57.5 57.5 0 -2375 1 1 0 45.3157 45.4601 57.5794 -0.46843 -0.45399 0.757936 0.490491 45 57.5 57.5 0 -2376 1 1 0 45.7287 45.844 58.0302 -0.427135 -0.415597 0.803016 0.490491 45 57.5 57.5 0 -2377 1 1 0 45.1429 46.1732 57.859 -0.485712 -0.382683 0.785899 0.490491 45 57.5 57.5 0 -2378 1 1 0 47.4482 43.8907 57.4944 -0.25518 -0.610926 0.749435 0.490491 45 57.5 57.5 0 -2379 1 1 0 46.7786 44.1631 57.4534 -0.322141 -0.583692 0.745339 0.490491 45 57.5 57.5 0 -2380 1 1 0 47.1968 44.5489 57.9011 -0.280319 -0.545109 0.790112 0.490491 45 57.5 57.5 0 -2381 1 1 0 46.1732 42.141 54.8571 -0.382683 -0.785899 0.485712 0.490491 45 57.5 57.5 0 -2382 1 1 0 45.844 41.9698 54.2713 -0.415597 -0.803016 0.427135 0.490491 45 57.5 57.5 0 -2383 1 1 0 45.4601 42.4206 54.6843 -0.45399 -0.757936 0.46843 0.490491 45 57.5 57.5 0 -2384 1 1 0 45.5302 41.8377 53.6603 -0.446977 -0.816233 0.366027 0.490491 45 57.5 57.5 0 -2385 1 1 0 45.2377 41.7482 53.038 -0.476225 -0.825175 0.303801 0.490491 45 57.5 57.5 0 -2386 1 1 0 44.8388 42.1655 53.4615 -0.516122 -0.783452 0.346153 0.490491 45 57.5 57.5 0 -2387 1 1 0 45.1376 42.2742 54.0829 -0.48624 -0.772575 0.408286 0.490491 45 57.5 57.5 0 -2388 1 1 0 44.775 42.747 54.4826 -0.522499 -0.725299 0.448259 0.490491 45 57.5 57.5 0 -2389 1 1 0 44.4663 42.6229 53.8673 -0.553372 -0.737712 0.38673 0.490491 45 57.5 57.5 0 -2390 1 1 0 44.1221 43.1181 54.2533 -0.587785 -0.688191 0.425325 0.490491 45 57.5 57.5 0 -2391 1 1 0 44.9579 41.6964 52.3723 -0.504209 -0.830359 0.237228 0.490491 45 57.5 57.5 0 -2392 1 1 0 44.7087 41.6919 51.7253 -0.529135 -0.830812 0.172532 0.490491 45 57.5 57.5 0 -2393 1 1 0 44.2875 42.0735 52.1302 -0.571251 -0.79265 0.213023 0.490491 45 57.5 57.5 0 -2394 1 1 0 44.4814 41.7289 51.0649 -0.551859 -0.82711 0.106494 0.490491 45 57.5 57.5 0 -2395 1 1 0 44.051 42.0983 51.4741 -0.594895 -0.79017 0.147413 0.490491 45 57.5 57.5 0 -2396 1 1 0 43.6542 42.5021 51.8743 -0.634579 -0.749786 0.187432 0.490491 45 57.5 57.5 0 -2397 1 1 0 43.8081 43.0296 53.6159 -0.619186 -0.697037 0.361591 0.490491 45 57.5 57.5 0 -2398 1 1 0 43.5055 43.5316 53.9977 -0.649448 -0.64684 0.399769 0.490491 45 57.5 57.5 0 -2399 1 1 0 43.5259 42.9769 52.96 -0.647412 -0.70231 0.296004 0.490491 45 57.5 57.5 0 -2400 1 1 0 43.2109 43.465 53.3469 -0.678913 -0.653497 0.334691 0.490491 45 57.5 57.5 0 -2401 1 1 0 42.9289 43.985 53.7175 -0.707107 -0.601501 0.371748 0.490491 45 57.5 57.5 0 -2402 1 1 0 43.2768 42.9602 52.289 -0.672319 -0.703983 0.228899 0.490491 45 57.5 57.5 0 -2403 1 1 0 42.9476 43.4338 52.6738 -0.705236 -0.65662 0.267381 0.490491 45 57.5 57.5 0 -2404 1 1 0 42.6521 43.9426 53.0521 -0.734794 -0.605742 0.305212 0.490491 45 57.5 57.5 0 -2405 1 1 0 42.3959 44.4755 53.4143 -0.760406 -0.552454 0.341435 0.490491 45 57.5 57.5 0 -2406 1 1 0 44.5489 42.0989 52.8032 -0.545109 -0.790112 0.280319 0.490491 45 57.5 57.5 0 -2407 1 1 0 43.8907 42.5056 52.5518 -0.610926 -0.749435 0.25518 0.490491 45 57.5 57.5 0 -2408 1 1 0 44.1631 42.5466 53.2214 -0.583692 -0.745339 0.322141 0.490491 45 57.5 57.5 0 -2409 1 1 0 44.4755 46.5857 57.6041 -0.552454 -0.341435 0.760406 0.490491 45 57.5 57.5 0 -2410 1 1 0 43.985 46.2825 57.0711 -0.601501 -0.371748 0.707107 0.490491 45 57.5 57.5 0 -2411 1 1 0 43.9426 46.9479 57.3479 -0.605742 -0.305212 0.734794 0.490491 45 57.5 57.5 0 -2412 1 1 0 43.5316 46.0023 56.4945 -0.64684 -0.399769 0.649448 0.490491 45 57.5 57.5 0 -2413 1 1 0 43.465 46.6531 56.7891 -0.653497 -0.334691 0.678913 0.490491 45 57.5 57.5 0 -2414 1 1 0 43.1181 45.7467 55.8779 -0.688191 -0.425325 0.587785 0.490491 45 57.5 57.5 0 -2415 1 1 0 43.0296 46.3841 56.1919 -0.697037 -0.361591 0.619186 0.490491 45 57.5 57.5 0 -2416 1 1 0 42.9769 47.04 56.4741 -0.70231 -0.296004 0.647412 0.490491 45 57.5 57.5 0 -2417 1 1 0 43.4338 47.3262 57.0524 -0.65662 -0.267381 0.705236 0.490491 45 57.5 57.5 0 -2418 1 1 0 42.9602 47.711 56.7232 -0.703983 -0.228899 0.672319 0.490491 45 57.5 57.5 0 -2419 1 1 0 42.747 45.5174 55.225 -0.725299 -0.448259 0.522499 0.490491 45 57.5 57.5 0 -2420 1 1 0 42.6229 46.1327 55.5337 -0.737712 -0.38673 0.553372 0.490491 45 57.5 57.5 0 -2421 1 1 0 42.4206 45.3157 54.5399 -0.757936 -0.46843 0.45399 0.490491 45 57.5 57.5 0 -2422 1 1 0 42.2742 45.9171 54.8624 -0.772575 -0.408286 0.48624 0.490491 45 57.5 57.5 0 -2423 1 1 0 42.1655 46.5385 55.1612 -0.783452 -0.346153 0.516122 0.490491 45 57.5 57.5 0 -2424 1 1 0 42.141 45.1429 53.8268 -0.785899 -0.485712 0.382683 0.490491 45 57.5 57.5 0 -2425 1 1 0 41.9698 45.7287 54.156 -0.803016 -0.427135 0.415597 0.490491 45 57.5 57.5 0 -2426 1 1 0 41.8377 46.3397 54.4698 -0.816233 -0.366027 0.446977 0.490491 45 57.5 57.5 0 -2427 1 1 0 41.7482 46.962 54.7623 -0.825175 -0.303801 0.476225 0.490491 45 57.5 57.5 0 -2428 1 1 0 42.5021 48.1257 56.3458 -0.749786 -0.187432 0.634579 0.490491 45 57.5 57.5 0 -2429 1 1 0 42.0735 47.8698 55.7125 -0.79265 -0.213023 0.571251 0.490491 45 57.5 57.5 0 -2430 1 1 0 42.0983 48.5259 55.949 -0.79017 -0.147413 0.594895 0.490491 45 57.5 57.5 0 -2431 1 1 0 41.6964 47.6277 55.0421 -0.830359 -0.237228 0.504209 0.490491 45 57.5 57.5 0 -2432 1 1 0 41.6919 48.2747 55.2913 -0.830812 -0.172532 0.529135 0.490491 45 57.5 57.5 0 -2433 1 1 0 41.7289 48.9351 55.5186 -0.82711 -0.106494 0.551859 0.490491 45 57.5 57.5 0 -2434 1 1 0 42.5466 46.7786 55.8369 -0.745339 -0.322141 0.583692 0.490491 45 57.5 57.5 0 -2435 1 1 0 42.0989 47.1968 55.4511 -0.790112 -0.280319 0.545109 0.490491 45 57.5 57.5 0 -2436 1 1 0 42.5056 47.4482 56.1093 -0.749435 -0.25518 0.610926 0.490491 45 57.5 57.5 0 -2437 1 1 0 45.8573 42.6499 55.3678 -0.414272 -0.735011 0.536784 0.490491 45 57.5 57.5 0 -2438 1 1 0 45.1479 42.9553 55.1797 -0.485208 -0.704471 0.51797 0.490491 45 57.5 57.5 0 -2439 1 1 0 44.4758 43.3039 54.9644 -0.552418 -0.669612 0.496441 0.490491 45 57.5 57.5 0 -2440 1 1 0 44.8662 43.5342 55.6425 -0.513375 -0.646578 0.564254 0.490491 45 57.5 57.5 0 -2441 1 1 0 45.5604 43.2102 55.8472 -0.443957 -0.678977 0.584716 0.490491 45 57.5 57.5 0 -2442 1 1 0 45.2908 43.8076 56.2831 -0.470917 -0.619242 0.628313 0.490491 45 57.5 57.5 0 -2443 1 1 0 43.8076 43.7169 54.7092 -0.619242 -0.628313 0.470917 0.490491 45 57.5 57.5 0 -2444 1 1 0 43.2102 44.1528 54.4396 -0.678977 -0.584716 0.443957 0.490491 45 57.5 57.5 0 -2445 1 1 0 43.5342 44.3575 55.1338 -0.646578 -0.564254 0.513375 0.490491 45 57.5 57.5 0 -2446 1 1 0 42.6499 44.6322 54.1427 -0.735011 -0.536784 0.414272 0.490491 45 57.5 57.5 0 -2447 1 1 0 42.9553 44.8203 54.8521 -0.704471 -0.51797 0.485208 0.490491 45 57.5 57.5 0 -2448 1 1 0 43.3039 45.0356 55.5242 -0.669612 -0.496441 0.552418 0.490491 45 57.5 57.5 0 -2449 1 1 0 45.0356 44.4758 56.6961 -0.496441 -0.552418 0.669612 0.490491 45 57.5 57.5 0 -2450 1 1 0 44.3575 44.8662 56.4658 -0.564254 -0.513375 0.646578 0.490491 45 57.5 57.5 0 -2451 1 1 0 44.8203 45.1479 57.0447 -0.51797 -0.485208 0.704471 0.490491 45 57.5 57.5 0 -2452 1 1 0 43.7169 45.2908 56.1924 -0.628313 -0.470917 0.619242 0.490491 45 57.5 57.5 0 -2453 1 1 0 44.1528 45.5604 56.7898 -0.584716 -0.443957 0.678977 0.490491 45 57.5 57.5 0 -2454 1 1 0 44.6322 45.8573 57.3501 -0.536784 -0.414272 0.735011 0.490491 45 57.5 57.5 0 -2455 1 1 0 44.1805 43.9252 55.4065 -0.581952 -0.607478 0.54065 0.490491 45 57.5 57.5 0 -2456 1 1 0 43.9252 44.5935 55.8195 -0.607478 -0.54065 0.581952 0.490491 45 57.5 57.5 0 -2457 1 1 0 44.5935 44.1805 56.0748 -0.54065 -0.581952 0.607478 0.490491 45 57.5 57.5 0 -2458 1 1 0 51.0649 44.4814 58.2711 0.106494 -0.551859 0.82711 0.490491 45 57.5 57.5 0 -2459 1 1 0 51.7253 44.7087 58.3081 0.172532 -0.529135 0.830812 0.490491 45 57.5 57.5 0 -2460 1 1 0 52.3723 44.9579 58.3036 0.237228 -0.504209 0.830359 0.490491 45 57.5 57.5 0 -2461 1 1 0 52.1302 44.2875 57.9265 0.213023 -0.571251 0.79265 0.490491 45 57.5 57.5 0 -2462 1 1 0 51.4741 44.051 57.9017 0.147413 -0.594895 0.79017 0.490491 45 57.5 57.5 0 -2463 1 1 0 51.8743 43.6542 57.4979 0.187432 -0.634579 0.749786 0.490491 45 57.5 57.5 0 -2464 1 1 0 53.038 45.2377 58.2518 0.303801 -0.476225 0.825175 0.490491 45 57.5 57.5 0 -2465 1 1 0 53.6603 45.5302 58.1623 0.366027 -0.446977 0.816233 0.490491 45 57.5 57.5 0 -2466 1 1 0 53.4615 44.8388 57.8345 0.346153 -0.516122 0.783452 0.490491 45 57.5 57.5 0 -2467 1 1 0 54.2713 45.844 58.0302 0.427135 -0.415597 0.803016 0.490491 45 57.5 57.5 0 -2468 1 1 0 54.8571 46.1732 57.859 0.485712 -0.382683 0.785899 0.490491 45 57.5 57.5 0 -2469 1 1 0 54.6843 45.4601 57.5794 0.46843 -0.45399 0.757936 0.490491 45 57.5 57.5 0 -2470 1 1 0 54.0829 45.1376 57.7258 0.408286 -0.48624 0.772575 0.490491 45 57.5 57.5 0 -2471 1 1 0 53.8673 44.4663 57.3771 0.38673 -0.553372 0.737712 0.490491 45 57.5 57.5 0 -2472 1 1 0 54.4826 44.775 57.253 0.448259 -0.522499 0.725299 0.490491 45 57.5 57.5 0 -2473 1 1 0 54.2533 44.1221 56.8819 0.425325 -0.587785 0.688191 0.490491 45 57.5 57.5 0 -2474 1 1 0 52.289 43.2768 57.0398 0.228899 -0.672319 0.703983 0.490491 45 57.5 57.5 0 -2475 1 1 0 52.96 43.5259 57.0231 0.296004 -0.647412 0.70231 0.490491 45 57.5 57.5 0 -2476 1 1 0 52.6738 42.9476 56.5662 0.267381 -0.705236 0.65662 0.490491 45 57.5 57.5 0 -2477 1 1 0 53.6159 43.8081 56.9704 0.361591 -0.619186 0.697037 0.490491 45 57.5 57.5 0 -2478 1 1 0 53.3469 43.2109 56.535 0.334691 -0.678913 0.653497 0.490491 45 57.5 57.5 0 -2479 1 1 0 53.9977 43.5055 56.4684 0.399769 -0.649448 0.64684 0.490491 45 57.5 57.5 0 -2480 1 1 0 53.7175 42.9289 56.015 0.371748 -0.707107 0.601501 0.490491 45 57.5 57.5 0 -2481 1 1 0 53.0521 42.6521 56.0574 0.305212 -0.734794 0.605742 0.490491 45 57.5 57.5 0 -2482 1 1 0 53.4143 42.3959 55.5245 0.341435 -0.760406 0.552454 0.490491 45 57.5 57.5 0 -2483 1 1 0 52.8032 44.5489 57.9011 0.280319 -0.545109 0.790112 0.490491 45 57.5 57.5 0 -2484 1 1 0 53.2214 44.1631 57.4534 0.322141 -0.583692 0.745339 0.490491 45 57.5 57.5 0 -2485 1 1 0 52.5518 43.8907 57.4944 0.25518 -0.610926 0.749435 0.490491 45 57.5 57.5 0 -2486 1 1 0 55.5245 46.5857 57.6041 0.552454 -0.341435 0.760406 0.490491 45 57.5 57.5 0 -2487 1 1 0 56.0574 46.9479 57.3479 0.605742 -0.305212 0.734794 0.490491 45 57.5 57.5 0 -2488 1 1 0 56.015 46.2825 57.0711 0.601501 -0.371748 0.707107 0.490491 45 57.5 57.5 0 -2489 1 1 0 56.5662 47.3262 57.0524 0.65662 -0.267381 0.705236 0.490491 45 57.5 57.5 0 -2490 1 1 0 57.0398 47.711 56.7232 0.703983 -0.228899 0.672319 0.490491 45 57.5 57.5 0 -2491 1 1 0 57.0231 47.04 56.4741 0.70231 -0.296004 0.647412 0.490491 45 57.5 57.5 0 -2492 1 1 0 56.535 46.6531 56.7891 0.653497 -0.334691 0.678913 0.490491 45 57.5 57.5 0 -2493 1 1 0 56.4684 46.0023 56.4945 0.64684 -0.399769 0.649448 0.490491 45 57.5 57.5 0 -2494 1 1 0 56.9704 46.3841 56.1919 0.697037 -0.361591 0.619186 0.490491 45 57.5 57.5 0 -2495 1 1 0 56.8819 45.7467 55.8779 0.688191 -0.425325 0.587785 0.490491 45 57.5 57.5 0 -2496 1 1 0 57.4979 48.1257 56.3458 0.749786 -0.187432 0.634579 0.490491 45 57.5 57.5 0 -2497 1 1 0 57.9017 48.5259 55.949 0.79017 -0.147413 0.594895 0.490491 45 57.5 57.5 0 -2498 1 1 0 57.9265 47.8698 55.7125 0.79265 -0.213023 0.571251 0.490491 45 57.5 57.5 0 -2499 1 1 0 58.2711 48.9351 55.5186 0.82711 -0.106494 0.551859 0.490491 45 57.5 57.5 0 -2500 1 1 0 58.3081 48.2747 55.2913 0.830812 -0.172532 0.529135 0.490491 45 57.5 57.5 0 -2501 1 1 0 58.3036 47.6277 55.0421 0.830359 -0.237228 0.504209 0.490491 45 57.5 57.5 0 -2502 1 1 0 57.3771 46.1327 55.5337 0.737712 -0.38673 0.553372 0.490491 45 57.5 57.5 0 -2503 1 1 0 57.253 45.5174 55.225 0.725299 -0.448259 0.522499 0.490491 45 57.5 57.5 0 -2504 1 1 0 57.8345 46.5385 55.1612 0.783452 -0.346153 0.516122 0.490491 45 57.5 57.5 0 -2505 1 1 0 57.7258 45.9171 54.8624 0.772575 -0.408286 0.48624 0.490491 45 57.5 57.5 0 -2506 1 1 0 57.5794 45.3157 54.5399 0.757936 -0.46843 0.45399 0.490491 45 57.5 57.5 0 -2507 1 1 0 58.2518 46.962 54.7623 0.825175 -0.303801 0.476225 0.490491 45 57.5 57.5 0 -2508 1 1 0 58.1623 46.3397 54.4698 0.816233 -0.366027 0.446977 0.490491 45 57.5 57.5 0 -2509 1 1 0 58.0302 45.7287 54.156 0.803016 -0.427135 0.415597 0.490491 45 57.5 57.5 0 -2510 1 1 0 57.859 45.1429 53.8268 0.785899 -0.485712 0.382683 0.490491 45 57.5 57.5 0 -2511 1 1 0 57.4944 47.4482 56.1093 0.749435 -0.25518 0.610926 0.490491 45 57.5 57.5 0 -2512 1 1 0 57.9011 47.1968 55.4511 0.790112 -0.280319 0.545109 0.490491 45 57.5 57.5 0 -2513 1 1 0 57.4534 46.7786 55.8369 0.745339 -0.322141 0.583692 0.490491 45 57.5 57.5 0 -2514 1 1 0 53.8268 42.141 54.8571 0.382683 -0.785899 0.485712 0.490491 45 57.5 57.5 0 -2515 1 1 0 54.5399 42.4206 54.6843 0.45399 -0.757936 0.46843 0.490491 45 57.5 57.5 0 -2516 1 1 0 54.156 41.9698 54.2713 0.415597 -0.803016 0.427135 0.490491 45 57.5 57.5 0 -2517 1 1 0 55.225 42.747 54.4826 0.522499 -0.725299 0.448259 0.490491 45 57.5 57.5 0 -2518 1 1 0 54.8624 42.2742 54.0829 0.48624 -0.772575 0.408286 0.490491 45 57.5 57.5 0 -2519 1 1 0 55.8779 43.1181 54.2533 0.587785 -0.688191 0.425325 0.490491 45 57.5 57.5 0 -2520 1 1 0 55.5337 42.6229 53.8673 0.553372 -0.737712 0.38673 0.490491 45 57.5 57.5 0 -2521 1 1 0 55.1612 42.1655 53.4615 0.516122 -0.783452 0.346153 0.490491 45 57.5 57.5 0 -2522 1 1 0 54.4698 41.8377 53.6603 0.446977 -0.816233 0.366027 0.490491 45 57.5 57.5 0 -2523 1 1 0 54.7623 41.7482 53.038 0.476225 -0.825175 0.303801 0.490491 45 57.5 57.5 0 -2524 1 1 0 56.4945 43.5316 53.9977 0.649448 -0.64684 0.399769 0.490491 45 57.5 57.5 0 -2525 1 1 0 56.1919 43.0296 53.6159 0.619186 -0.697037 0.361591 0.490491 45 57.5 57.5 0 -2526 1 1 0 57.0711 43.985 53.7175 0.707107 -0.601501 0.371748 0.490491 45 57.5 57.5 0 -2527 1 1 0 56.7891 43.465 53.3469 0.678913 -0.653497 0.334691 0.490491 45 57.5 57.5 0 -2528 1 1 0 56.4741 42.9769 52.96 0.647412 -0.70231 0.296004 0.490491 45 57.5 57.5 0 -2529 1 1 0 57.6041 44.4755 53.4143 0.760406 -0.552454 0.341435 0.490491 45 57.5 57.5 0 -2530 1 1 0 57.3479 43.9426 53.0521 0.734794 -0.605742 0.305212 0.490491 45 57.5 57.5 0 -2531 1 1 0 57.0524 43.4338 52.6738 0.705236 -0.65662 0.267381 0.490491 45 57.5 57.5 0 -2532 1 1 0 56.7232 42.9602 52.289 0.672319 -0.703983 0.228899 0.490491 45 57.5 57.5 0 -2533 1 1 0 55.0421 41.6964 52.3723 0.504209 -0.830359 0.237228 0.490491 45 57.5 57.5 0 -2534 1 1 0 55.7125 42.0735 52.1302 0.571251 -0.79265 0.213023 0.490491 45 57.5 57.5 0 -2535 1 1 0 55.2913 41.6919 51.7253 0.529135 -0.830812 0.172532 0.490491 45 57.5 57.5 0 -2536 1 1 0 56.3458 42.5021 51.8743 0.634579 -0.749786 0.187432 0.490491 45 57.5 57.5 0 -2537 1 1 0 55.949 42.0983 51.4741 0.594895 -0.79017 0.147413 0.490491 45 57.5 57.5 0 -2538 1 1 0 55.5186 41.7289 51.0649 0.551859 -0.82711 0.106494 0.490491 45 57.5 57.5 0 -2539 1 1 0 55.8369 42.5466 53.2214 0.583692 -0.745339 0.322141 0.490491 45 57.5 57.5 0 -2540 1 1 0 56.1093 42.5056 52.5518 0.610926 -0.749435 0.25518 0.490491 45 57.5 57.5 0 -2541 1 1 0 55.4511 42.0989 52.8032 0.545109 -0.790112 0.280319 0.490491 45 57.5 57.5 0 -2542 1 1 0 55.3678 45.8573 57.3501 0.536784 -0.414272 0.735011 0.490491 45 57.5 57.5 0 -2543 1 1 0 55.8472 45.5604 56.7898 0.584716 -0.443957 0.678977 0.490491 45 57.5 57.5 0 -2544 1 1 0 56.2831 45.2908 56.1924 0.628313 -0.470917 0.619242 0.490491 45 57.5 57.5 0 -2545 1 1 0 55.6425 44.8662 56.4658 0.564254 -0.513375 0.646578 0.490491 45 57.5 57.5 0 -2546 1 1 0 55.1797 45.1479 57.0447 0.51797 -0.485208 0.704471 0.490491 45 57.5 57.5 0 -2547 1 1 0 54.9644 44.4758 56.6961 0.496441 -0.552418 0.669612 0.490491 45 57.5 57.5 0 -2548 1 1 0 56.6961 45.0356 55.5242 0.669612 -0.496441 0.552418 0.490491 45 57.5 57.5 0 -2549 1 1 0 57.0447 44.8203 54.8521 0.704471 -0.51797 0.485208 0.490491 45 57.5 57.5 0 -2550 1 1 0 56.4658 44.3575 55.1338 0.646578 -0.564254 0.513375 0.490491 45 57.5 57.5 0 -2551 1 1 0 57.3501 44.6322 54.1427 0.735011 -0.536784 0.414272 0.490491 45 57.5 57.5 0 -2552 1 1 0 56.7898 44.1528 54.4396 0.678977 -0.584716 0.443957 0.490491 45 57.5 57.5 0 -2553 1 1 0 56.1924 43.7169 54.7092 0.619242 -0.628313 0.470917 0.490491 45 57.5 57.5 0 -2554 1 1 0 54.7092 43.8076 56.2831 0.470917 -0.619242 0.628313 0.490491 45 57.5 57.5 0 -2555 1 1 0 55.1338 43.5342 55.6425 0.513375 -0.646578 0.564254 0.490491 45 57.5 57.5 0 -2556 1 1 0 54.4396 43.2102 55.8472 0.443957 -0.678977 0.584716 0.490491 45 57.5 57.5 0 -2557 1 1 0 55.5242 43.3039 54.9644 0.552418 -0.669612 0.496441 0.490491 45 57.5 57.5 0 -2558 1 1 0 54.8521 42.9553 55.1797 0.485208 -0.704471 0.51797 0.490491 45 57.5 57.5 0 -2559 1 1 0 54.1427 42.6499 55.3678 0.414272 -0.735011 0.536784 0.490491 45 57.5 57.5 0 -2560 1 1 0 56.0748 44.5935 55.8195 0.607478 -0.54065 0.581952 0.490491 45 57.5 57.5 0 -2561 1 1 0 55.8195 43.9252 55.4065 0.581952 -0.607478 0.54065 0.490491 45 57.5 57.5 0 -2562 1 1 0 55.4065 44.1805 56.0748 0.54065 -0.581952 0.607478 0.490491 45 57.5 57.5 0 -2563 2 2 1 50 50 62 0 0 1 0.490491 45 57.5 80 0 -2564 3 3 -1 50 50 38 0 0 1 0.490491 45 57.5 80 0 +1 1 1 -1 50 52.6287 45.7467 0 0.525731 -0.850651 0.489345 45 57.5 1 0.2 +2 1 1 1 50.4054 53.0782 46.0808 0.0810867 0.615642 -0.783843 0.489345 45 57.5 1 0.2 +3 1 1 -1 49.5946 53.0782 46.0808 -0.0810867 0.615642 -0.783843 0.489345 45 57.5 1 0.2 +4 1 1 1 50.8031 53.4689 46.4898 0.160622 0.693781 -0.702046 0.489345 45 57.5 1 0.2 +5 1 1 -1 50 53.5145 46.4436 0 0.702907 -0.711282 0.489345 45 57.5 1 0.2 +6 1 1 1 49.1969 53.4689 46.4898 -0.160622 0.693781 -0.702046 0.489345 45 57.5 1 0.2 +7 1 1 -1 51.1854 53.7933 46.9659 0.237086 0.758653 -0.606824 0.489345 45 57.5 1 0.2 +8 1 1 1 50.4057 53.901 46.8988 0.0811424 0.780205 -0.620239 0.489345 45 57.5 1 0.2 +9 1 1 -1 51.5451 54.0451 47.5 0.309017 0.809017 -0.499999 0.489345 45 57.5 1 0.2 +10 1 1 1 50.7822 54.2009 47.4037 0.156435 0.840178 -0.519258 0.489345 45 57.5 1 0.2 +11 1 1 -1 50 54.2533 47.3713 0 0.850651 -0.52573 0.489345 45 57.5 1 0.2 +12 1 1 1 49.5943 53.901 46.8988 -0.0811424 0.780205 -0.620239 0.489345 45 57.5 1 0.2 +13 1 1 -1 48.8146 53.7933 46.9659 -0.237086 0.758653 -0.606824 0.489345 45 57.5 1 0.2 +14 1 1 1 49.2178 54.2009 47.4037 -0.156435 0.840178 -0.519258 0.489345 45 57.5 1 0.2 +15 1 1 -1 48.4549 54.0451 47.5 -0.309017 0.809017 -0.499999 0.489345 45 57.5 1 0.2 +16 1 1 1 51.8752 54.2196 48.0819 0.375038 0.843912 -0.383614 0.489345 45 57.5 1 0.2 +17 1 1 -1 51.1934 54.455 48.0691 0.238678 0.891006 -0.386187 0.489345 45 57.5 1 0.2 +18 1 1 1 52.1694 54.3133 48.7005 0.433888 0.862669 -0.259892 0.489345 45 57.5 1 0.2 +19 1 1 -1 51.5063 54.5812 48.6796 0.301259 0.916244 -0.264082 0.489345 45 57.5 1 0.2 +20 1 1 1 50.8123 54.7553 48.6857 0.16246 0.951056 -0.262865 0.489345 45 57.5 1 0.2 +21 1 1 -1 52.4222 54.3246 49.344 0.484441 0.864929 -0.1312 0.489345 45 57.5 1 0.2 +22 1 1 1 51.7911 54.6215 49.3417 0.358229 0.924304 -0.131656 0.489345 45 57.5 1 0.2 +23 1 1 -1 52.6287 54.2533 50 0.525731 0.850651 0 0.489345 45 57.5 1 0.2 +24 1 1 1 52.0168 54.5752 50 0.403355 0.915043 0 0.489345 45 57.5 1 0.2 +25 1 1 -1 51.3663 54.8097 50 0.273267 0.961938 0 0.489345 45 57.5 1 0.2 +26 1 1 1 51.1006 54.832 49.336 0.220117 0.966393 -0.132793 0.489345 45 57.5 1 0.2 +27 1 1 -1 50.4112 54.9384 49.3346 0.0822426 0.987688 -0.133071 0.489345 45 57.5 1 0.2 +28 1 1 1 50.6898 54.9522 50 0.137952 0.990439 0 0.489345 45 57.5 1 0.2 +29 1 1 -1 50 55 50 0 1 0 0.489345 45 57.5 1 0.2 +30 1 1 1 48.8066 54.455 48.0691 -0.238678 0.891006 -0.386187 0.489345 45 57.5 1 0.2 +31 1 1 -1 48.1248 54.2196 48.0819 -0.375038 0.843912 -0.383614 0.489345 45 57.5 1 0.2 +32 1 1 1 49.1877 54.7553 48.6857 -0.16246 0.951056 -0.262865 0.489345 45 57.5 1 0.2 +33 1 1 -1 48.4937 54.5812 48.6796 -0.301259 0.916244 -0.264082 0.489345 45 57.5 1 0.2 +34 1 1 1 47.8306 54.3133 48.7005 -0.433888 0.862669 -0.259892 0.489345 45 57.5 1 0.2 +35 1 1 -1 49.5888 54.9384 49.3346 -0.0822426 0.987688 -0.133071 0.489345 45 57.5 1 0.2 +36 1 1 1 48.8994 54.832 49.336 -0.220117 0.966393 -0.132793 0.489345 45 57.5 1 0.2 +37 1 1 -1 49.3102 54.9522 50 -0.137952 0.990439 0 0.489345 45 57.5 1 0.2 +38 1 1 1 48.6337 54.8097 50 -0.273267 0.961938 0 0.489345 45 57.5 1 0.2 +39 1 1 -1 48.2089 54.6215 49.3417 -0.358229 0.924304 -0.131656 0.489345 45 57.5 1 0.2 +40 1 1 1 47.5778 54.3246 49.344 -0.484441 0.864929 -0.1312 0.489345 45 57.5 1 0.2 +41 1 1 -1 47.9832 54.5752 50 -0.403355 0.915043 0 0.489345 45 57.5 1 0.2 +42 1 1 1 47.3713 54.2533 50 -0.525731 0.850651 0 0.489345 45 57.5 1 0.2 +43 1 1 -1 50.4116 54.5649 48.002 0.0823234 0.912983 -0.399606 0.489345 45 57.5 1 0.2 +44 1 1 1 50 54.8193 48.668 0 0.963861 -0.266405 0.489345 45 57.5 1 0.2 +45 1 1 -1 49.5884 54.5649 48.002 -0.0823234 0.912983 -0.399606 0.489345 45 57.5 1 0.2 +46 1 1 1 50 52.6287 54.2533 0 0.525731 0.850651 0.489345 45 57.5 1 0.2 +47 1 1 -1 49.5946 53.0782 53.9192 -0.0810867 0.615642 0.783843 0.489345 45 57.5 1 0.2 +48 1 1 1 50.4054 53.0782 53.9192 0.0810867 0.615642 0.783843 0.489345 45 57.5 1 0.2 +49 1 1 -1 49.1969 53.4689 53.5102 -0.160622 0.693781 0.702046 0.489345 45 57.5 1 0.2 +50 1 1 1 50 53.5145 53.5564 0 0.702907 0.711282 0.489345 45 57.5 1 0.2 +51 1 1 -1 50.8031 53.4689 53.5102 0.160622 0.693781 0.702046 0.489345 45 57.5 1 0.2 +52 1 1 1 48.8146 53.7933 53.0341 -0.237086 0.758653 0.606824 0.489345 45 57.5 1 0.2 +53 1 1 -1 49.5943 53.901 53.1012 -0.0811424 0.780205 0.620239 0.489345 45 57.5 1 0.2 +54 1 1 1 48.4549 54.0451 52.5 -0.309017 0.809017 0.499999 0.489345 45 57.5 1 0.2 +55 1 1 -1 49.2178 54.2009 52.5963 -0.156435 0.840178 0.519258 0.489345 45 57.5 1 0.2 +56 1 1 1 50 54.2533 52.6287 0 0.850651 0.52573 0.489345 45 57.5 1 0.2 +57 1 1 -1 50.4057 53.901 53.1012 0.0811424 0.780205 0.620239 0.489345 45 57.5 1 0.2 +58 1 1 1 51.1854 53.7933 53.0341 0.237086 0.758653 0.606824 0.489345 45 57.5 1 0.2 +59 1 1 -1 50.7822 54.2009 52.5963 0.156435 0.840178 0.519258 0.489345 45 57.5 1 0.2 +60 1 1 1 51.5451 54.0451 52.5 0.309017 0.809017 0.499999 0.489345 45 57.5 1 0.2 +61 1 1 -1 48.1248 54.2196 51.9181 -0.375038 0.843912 0.383614 0.489345 45 57.5 1 0.2 +62 1 1 1 48.8066 54.455 51.9309 -0.238678 0.891006 0.386187 0.489345 45 57.5 1 0.2 +63 1 1 -1 47.8306 54.3133 51.2995 -0.433888 0.862669 0.259892 0.489345 45 57.5 1 0.2 +64 1 1 1 48.4937 54.5812 51.3204 -0.301259 0.916244 0.264082 0.489345 45 57.5 1 0.2 +65 1 1 -1 49.1877 54.7553 51.3143 -0.16246 0.951056 0.262865 0.489345 45 57.5 1 0.2 +66 1 1 1 47.5778 54.3246 50.656 -0.484441 0.864929 0.1312 0.489345 45 57.5 1 0.2 +67 1 1 -1 48.2089 54.6215 50.6583 -0.358229 0.924304 0.131656 0.489345 45 57.5 1 0.2 +68 1 1 1 48.8994 54.832 50.664 -0.220117 0.966393 0.132793 0.489345 45 57.5 1 0.2 +69 1 1 -1 49.5888 54.9384 50.6654 -0.0822426 0.987688 0.133071 0.489345 45 57.5 1 0.2 +70 1 1 1 51.1934 54.455 51.9309 0.238678 0.891006 0.386187 0.489345 45 57.5 1 0.2 +71 1 1 -1 51.8752 54.2196 51.9181 0.375038 0.843912 0.383614 0.489345 45 57.5 1 0.2 +72 1 1 1 50.8123 54.7553 51.3143 0.16246 0.951056 0.262865 0.489345 45 57.5 1 0.2 +73 1 1 -1 51.5063 54.5812 51.3204 0.301259 0.916244 0.264082 0.489345 45 57.5 1 0.2 +74 1 1 1 52.1694 54.3133 51.2995 0.433888 0.862669 0.259892 0.489345 45 57.5 1 0.2 +75 1 1 -1 50.4112 54.9384 50.6654 0.0822426 0.987688 0.133071 0.489345 45 57.5 1 0.2 +76 1 1 1 51.1006 54.832 50.664 0.220117 0.966393 0.132793 0.489345 45 57.5 1 0.2 +77 1 1 -1 51.7911 54.6215 50.6583 0.358229 0.924304 0.131656 0.489345 45 57.5 1 0.2 +78 1 1 1 52.4222 54.3246 50.656 0.484441 0.864929 0.1312 0.489345 45 57.5 1 0.2 +79 1 1 -1 49.5884 54.5649 51.998 -0.0823234 0.912983 0.399606 0.489345 45 57.5 1 0.2 +80 1 1 1 50 54.8193 51.332 0 0.963861 0.266405 0.489345 45 57.5 1 0.2 +81 1 1 -1 50.4116 54.5649 51.998 0.0823234 0.912983 0.399606 0.489345 45 57.5 1 0.2 +82 1 1 1 50 52.0168 54.5752 0 0.403355 0.915043 0.489345 45 57.5 1 0.2 +83 1 1 -1 49.344 52.4222 54.3246 -0.1312 0.484441 0.864929 0.489345 45 57.5 1 0.2 +84 1 1 1 50 51.3663 54.8097 0 0.273267 0.961938 0.489345 45 57.5 1 0.2 +85 1 1 -1 49.3417 51.7911 54.6215 -0.131656 0.358229 0.924304 0.489345 45 57.5 1 0.2 +86 1 1 1 48.7005 52.1694 54.3133 -0.259892 0.433888 0.862669 0.489345 45 57.5 1 0.2 +87 1 1 -1 50 50.6898 54.9522 0 0.137952 0.990439 0.489345 45 57.5 1 0.2 +88 1 1 1 49.336 51.1006 54.832 -0.132793 0.220117 0.966393 0.489345 45 57.5 1 0.2 +89 1 1 -1 50 50 55 0 0 1 0.489345 45 57.5 1 0.2 +90 1 1 1 49.3346 50.4112 54.9384 -0.133071 0.0822426 0.987688 0.489345 45 57.5 1 0.2 +91 1 1 -1 48.6857 50.8123 54.7553 -0.262865 0.16246 0.951056 0.489345 45 57.5 1 0.2 +92 1 1 1 48.6796 51.5063 54.5812 -0.264082 0.301259 0.916244 0.489345 45 57.5 1 0.2 +93 1 1 -1 48.0819 51.8752 54.2196 -0.383614 0.375038 0.843912 0.489345 45 57.5 1 0.2 +94 1 1 1 48.0691 51.1934 54.455 -0.386187 0.238678 0.891006 0.489345 45 57.5 1 0.2 +95 1 1 -1 47.5 51.5451 54.0451 -0.499999 0.309017 0.809017 0.489345 45 57.5 1 0.2 +96 1 1 1 50 49.3102 54.9522 0 -0.137952 0.990439 0.489345 45 57.5 1 0.2 +97 1 1 -1 49.3346 49.5888 54.9384 -0.133071 -0.0822426 0.987688 0.489345 45 57.5 1 0.2 +98 1 1 1 50 48.6337 54.8097 0 -0.273267 0.961938 0.489345 45 57.5 1 0.2 +99 1 1 -1 49.336 48.8994 54.832 -0.132793 -0.220117 0.966393 0.489345 45 57.5 1 0.2 +100 1 1 1 48.6857 49.1877 54.7553 -0.262865 -0.16246 0.951056 0.489345 45 57.5 1 0.2 +101 1 1 -1 50 47.9832 54.5752 0 -0.403355 0.915043 0.489345 45 57.5 1 0.2 +102 1 1 1 49.3417 48.2089 54.6215 -0.131656 -0.358229 0.924304 0.489345 45 57.5 1 0.2 +103 1 1 -1 50 47.3713 54.2533 0 -0.525731 0.850651 0.489345 45 57.5 1 0.2 +104 1 1 1 49.344 47.5778 54.3246 -0.1312 -0.484441 0.864929 0.489345 45 57.5 1 0.2 +105 1 1 -1 48.7005 47.8306 54.3133 -0.259892 -0.433888 0.862669 0.489345 45 57.5 1 0.2 +106 1 1 1 48.6796 48.4937 54.5812 -0.264082 -0.301259 0.916244 0.489345 45 57.5 1 0.2 +107 1 1 -1 48.0691 48.8066 54.455 -0.386187 -0.238678 0.891006 0.489345 45 57.5 1 0.2 +108 1 1 1 48.0819 48.1248 54.2196 -0.383614 -0.375038 0.843912 0.489345 45 57.5 1 0.2 +109 1 1 -1 47.5 48.4549 54.0451 -0.499999 -0.309017 0.809017 0.489345 45 57.5 1 0.2 +110 1 1 1 47.4037 50.7822 54.2009 -0.519258 0.156435 0.840178 0.489345 45 57.5 1 0.2 +111 1 1 -1 46.9659 51.1854 53.7933 -0.606824 0.237086 0.758653 0.489345 45 57.5 1 0.2 +112 1 1 1 47.3713 50 54.2533 -0.52573 0 0.850651 0.489345 45 57.5 1 0.2 +113 1 1 -1 46.8988 50.4057 53.901 -0.620239 0.0811424 0.780205 0.489345 45 57.5 1 0.2 +114 1 1 1 46.4898 50.8031 53.4689 -0.702046 0.160622 0.693781 0.489345 45 57.5 1 0.2 +115 1 1 -1 47.4037 49.2178 54.2009 -0.519258 -0.156435 0.840178 0.489345 45 57.5 1 0.2 +116 1 1 1 46.8988 49.5943 53.901 -0.620239 -0.0811424 0.780205 0.489345 45 57.5 1 0.2 +117 1 1 -1 46.9659 48.8146 53.7933 -0.606824 -0.237086 0.758653 0.489345 45 57.5 1 0.2 +118 1 1 1 46.4898 49.1969 53.4689 -0.702046 -0.160622 0.693781 0.489345 45 57.5 1 0.2 +119 1 1 -1 46.4436 50 53.5145 -0.711282 0 0.702907 0.489345 45 57.5 1 0.2 +120 1 1 1 46.0808 50.4054 53.0782 -0.783843 0.0810867 0.615642 0.489345 45 57.5 1 0.2 +121 1 1 -1 46.0808 49.5946 53.0782 -0.783843 -0.0810867 0.615642 0.489345 45 57.5 1 0.2 +122 1 1 1 45.7467 50 52.6287 -0.850651 0 0.525731 0.489345 45 57.5 1 0.2 +123 1 1 -1 48.668 50 54.8193 -0.266405 0 0.963861 0.489345 45 57.5 1 0.2 +124 1 1 1 48.002 49.5884 54.5649 -0.399606 -0.0823234 0.912983 0.489345 45 57.5 1 0.2 +125 1 1 -1 48.002 50.4116 54.5649 -0.399606 0.0823234 0.912983 0.489345 45 57.5 1 0.2 +126 1 1 1 50.656 52.4222 54.3246 0.1312 0.484441 0.864929 0.489345 45 57.5 1 0.2 +127 1 1 -1 51.2995 52.1694 54.3133 0.259892 0.433888 0.862669 0.489345 45 57.5 1 0.2 +128 1 1 1 50.6583 51.7911 54.6215 0.131656 0.358229 0.924304 0.489345 45 57.5 1 0.2 +129 1 1 -1 51.9181 51.8752 54.2196 0.383614 0.375038 0.843912 0.489345 45 57.5 1 0.2 +130 1 1 1 51.3204 51.5063 54.5812 0.264082 0.301259 0.916244 0.489345 45 57.5 1 0.2 +131 1 1 -1 52.5 51.5451 54.0451 0.499999 0.309017 0.809017 0.489345 45 57.5 1 0.2 +132 1 1 1 51.9309 51.1934 54.455 0.386187 0.238678 0.891006 0.489345 45 57.5 1 0.2 +133 1 1 -1 51.3143 50.8123 54.7553 0.262865 0.16246 0.951056 0.489345 45 57.5 1 0.2 +134 1 1 1 50.664 51.1006 54.832 0.132793 0.220117 0.966393 0.489345 45 57.5 1 0.2 +135 1 1 -1 50.6654 50.4112 54.9384 0.133071 0.0822426 0.987688 0.489345 45 57.5 1 0.2 +136 1 1 1 53.0341 51.1854 53.7933 0.606824 0.237086 0.758653 0.489345 45 57.5 1 0.2 +137 1 1 -1 52.5963 50.7822 54.2009 0.519258 0.156435 0.840178 0.489345 45 57.5 1 0.2 +138 1 1 1 53.5102 50.8031 53.4689 0.702046 0.160622 0.693781 0.489345 45 57.5 1 0.2 +139 1 1 -1 53.1012 50.4057 53.901 0.620239 0.0811424 0.780205 0.489345 45 57.5 1 0.2 +140 1 1 1 52.6287 50 54.2533 0.52573 0 0.850651 0.489345 45 57.5 1 0.2 +141 1 1 -1 53.9192 50.4054 53.0782 0.783843 0.0810867 0.615642 0.489345 45 57.5 1 0.2 +142 1 1 1 53.5564 50 53.5145 0.711282 0 0.702907 0.489345 45 57.5 1 0.2 +143 1 1 -1 54.2533 50 52.6287 0.850651 0 0.525731 0.489345 45 57.5 1 0.2 +144 1 1 1 53.9192 49.5946 53.0782 0.783843 -0.0810867 0.615642 0.489345 45 57.5 1 0.2 +145 1 1 -1 53.5102 49.1969 53.4689 0.702046 -0.160622 0.693781 0.489345 45 57.5 1 0.2 +146 1 1 1 53.1012 49.5943 53.901 0.620239 -0.0811424 0.780205 0.489345 45 57.5 1 0.2 +147 1 1 -1 52.5963 49.2178 54.2009 0.519258 -0.156435 0.840178 0.489345 45 57.5 1 0.2 +148 1 1 1 53.0341 48.8146 53.7933 0.606824 -0.237086 0.758653 0.489345 45 57.5 1 0.2 +149 1 1 -1 52.5 48.4549 54.0451 0.499999 -0.309017 0.809017 0.489345 45 57.5 1 0.2 +150 1 1 1 50.6654 49.5888 54.9384 0.133071 -0.0822426 0.987688 0.489345 45 57.5 1 0.2 +151 1 1 -1 51.3143 49.1877 54.7553 0.262865 -0.16246 0.951056 0.489345 45 57.5 1 0.2 +152 1 1 1 50.664 48.8994 54.832 0.132793 -0.220117 0.966393 0.489345 45 57.5 1 0.2 +153 1 1 -1 51.9309 48.8066 54.455 0.386187 -0.238678 0.891006 0.489345 45 57.5 1 0.2 +154 1 1 1 51.3204 48.4937 54.5812 0.264082 -0.301259 0.916244 0.489345 45 57.5 1 0.2 +155 1 1 -1 51.9181 48.1248 54.2196 0.383614 -0.375038 0.843912 0.489345 45 57.5 1 0.2 +156 1 1 1 51.2995 47.8306 54.3133 0.259892 -0.433888 0.862669 0.489345 45 57.5 1 0.2 +157 1 1 -1 50.6583 48.2089 54.6215 0.131656 -0.358229 0.924304 0.489345 45 57.5 1 0.2 +158 1 1 1 50.656 47.5778 54.3246 0.1312 -0.484441 0.864929 0.489345 45 57.5 1 0.2 +159 1 1 -1 51.998 50.4116 54.5649 0.399606 0.0823234 0.912983 0.489345 45 57.5 1 0.2 +160 1 1 1 51.998 49.5884 54.5649 0.399606 -0.0823234 0.912983 0.489345 45 57.5 1 0.2 +161 1 1 -1 51.332 50 54.8193 0.266405 0 0.963861 0.489345 45 57.5 1 0.2 +162 1 1 1 50 52.0168 45.4248 0 0.403355 -0.915043 0.489345 45 57.5 1 0.2 +163 1 1 -1 50.656 52.4222 45.6754 0.1312 0.484441 -0.864929 0.489345 45 57.5 1 0.2 +164 1 1 1 50 51.3663 45.1903 0 0.273267 -0.961938 0.489345 45 57.5 1 0.2 +165 1 1 -1 50.6583 51.7911 45.3785 0.131656 0.358229 -0.924304 0.489345 45 57.5 1 0.2 +166 1 1 1 51.2995 52.1694 45.6867 0.259892 0.433888 -0.862669 0.489345 45 57.5 1 0.2 +167 1 1 -1 50 50.6898 45.0478 0 0.137952 -0.990439 0.489345 45 57.5 1 0.2 +168 1 1 1 50.664 51.1006 45.168 0.132793 0.220117 -0.966393 0.489345 45 57.5 1 0.2 +169 1 1 -1 50 50 45 0 0 -1 0.489345 45 57.5 1 0.2 +170 1 1 1 50.6654 50.4112 45.0616 0.133071 0.0822426 -0.987688 0.489345 45 57.5 1 0.2 +171 1 1 -1 51.3143 50.8123 45.2447 0.262865 0.16246 -0.951056 0.489345 45 57.5 1 0.2 +172 1 1 1 51.3204 51.5063 45.4188 0.264082 0.301259 -0.916244 0.489345 45 57.5 1 0.2 +173 1 1 -1 51.9181 51.8752 45.7804 0.383614 0.375038 -0.843912 0.489345 45 57.5 1 0.2 +174 1 1 1 51.9309 51.1934 45.545 0.386187 0.238678 -0.891006 0.489345 45 57.5 1 0.2 +175 1 1 -1 52.5 51.5451 45.9549 0.499999 0.309017 -0.809017 0.489345 45 57.5 1 0.2 +176 1 1 1 50 49.3102 45.0478 0 -0.137952 -0.990439 0.489345 45 57.5 1 0.2 +177 1 1 -1 50.6654 49.5888 45.0616 0.133071 -0.0822426 -0.987688 0.489345 45 57.5 1 0.2 +178 1 1 1 50 48.6337 45.1903 0 -0.273267 -0.961938 0.489345 45 57.5 1 0.2 +179 1 1 -1 50.664 48.8994 45.168 0.132793 -0.220117 -0.966393 0.489345 45 57.5 1 0.2 +180 1 1 1 51.3143 49.1877 45.2447 0.262865 -0.16246 -0.951056 0.489345 45 57.5 1 0.2 +181 1 1 -1 50 47.9832 45.4248 0 -0.403355 -0.915043 0.489345 45 57.5 1 0.2 +182 1 1 1 50.6583 48.2089 45.3785 0.131656 -0.358229 -0.924304 0.489345 45 57.5 1 0.2 +183 1 1 -1 50 47.3713 45.7467 0 -0.525731 -0.850651 0.489345 45 57.5 1 0.2 +184 1 1 1 50.656 47.5778 45.6754 0.1312 -0.484441 -0.864929 0.489345 45 57.5 1 0.2 +185 1 1 -1 51.2995 47.8306 45.6867 0.259892 -0.433888 -0.862669 0.489345 45 57.5 1 0.2 +186 1 1 1 51.3204 48.4937 45.4188 0.264082 -0.301259 -0.916244 0.489345 45 57.5 1 0.2 +187 1 1 -1 51.9309 48.8066 45.545 0.386187 -0.238678 -0.891006 0.489345 45 57.5 1 0.2 +188 1 1 1 51.9181 48.1248 45.7804 0.383614 -0.375038 -0.843912 0.489345 45 57.5 1 0.2 +189 1 1 -1 52.5 48.4549 45.9549 0.499999 -0.309017 -0.809017 0.489345 45 57.5 1 0.2 +190 1 1 1 52.5963 50.7822 45.7991 0.519258 0.156435 -0.840178 0.489345 45 57.5 1 0.2 +191 1 1 -1 53.0341 51.1854 46.2067 0.606824 0.237086 -0.758653 0.489345 45 57.5 1 0.2 +192 1 1 1 52.6287 50 45.7467 0.52573 0 -0.850651 0.489345 45 57.5 1 0.2 +193 1 1 -1 53.1012 50.4057 46.099 0.620239 0.0811424 -0.780205 0.489345 45 57.5 1 0.2 +194 1 1 1 53.5102 50.8031 46.5311 0.702046 0.160622 -0.693781 0.489345 45 57.5 1 0.2 +195 1 1 -1 52.5963 49.2178 45.7991 0.519258 -0.156435 -0.840178 0.489345 45 57.5 1 0.2 +196 1 1 1 53.1012 49.5943 46.099 0.620239 -0.0811424 -0.780205 0.489345 45 57.5 1 0.2 +197 1 1 -1 53.0341 48.8146 46.2067 0.606824 -0.237086 -0.758653 0.489345 45 57.5 1 0.2 +198 1 1 1 53.5102 49.1969 46.5311 0.702046 -0.160622 -0.693781 0.489345 45 57.5 1 0.2 +199 1 1 -1 53.5564 50 46.4855 0.711282 0 -0.702907 0.489345 45 57.5 1 0.2 +200 1 1 1 53.9192 50.4054 46.9218 0.783843 0.0810867 -0.615642 0.489345 45 57.5 1 0.2 +201 1 1 -1 53.9192 49.5946 46.9218 0.783843 -0.0810867 -0.615642 0.489345 45 57.5 1 0.2 +202 1 1 1 54.2533 50 47.3713 0.850651 0 -0.525731 0.489345 45 57.5 1 0.2 +203 1 1 -1 51.332 50 45.1807 0.266405 0 -0.963861 0.489345 45 57.5 1 0.2 +204 1 1 1 51.998 49.5884 45.4351 0.399606 -0.0823234 -0.912983 0.489345 45 57.5 1 0.2 +205 1 1 -1 51.998 50.4116 45.4351 0.399606 0.0823234 -0.912983 0.489345 45 57.5 1 0.2 +206 1 1 1 49.344 52.4222 45.6754 -0.1312 0.484441 -0.864929 0.489345 45 57.5 1 0.2 +207 1 1 -1 48.7005 52.1694 45.6867 -0.259892 0.433888 -0.862669 0.489345 45 57.5 1 0.2 +208 1 1 1 49.3417 51.7911 45.3785 -0.131656 0.358229 -0.924304 0.489345 45 57.5 1 0.2 +209 1 1 -1 48.0819 51.8752 45.7804 -0.383614 0.375038 -0.843912 0.489345 45 57.5 1 0.2 +210 1 1 1 48.6796 51.5063 45.4188 -0.264082 0.301259 -0.916244 0.489345 45 57.5 1 0.2 +211 1 1 -1 47.5 51.5451 45.9549 -0.499999 0.309017 -0.809017 0.489345 45 57.5 1 0.2 +212 1 1 1 48.0691 51.1934 45.545 -0.386187 0.238678 -0.891006 0.489345 45 57.5 1 0.2 +213 1 1 -1 48.6857 50.8123 45.2447 -0.262865 0.16246 -0.951056 0.489345 45 57.5 1 0.2 +214 1 1 1 49.336 51.1006 45.168 -0.132793 0.220117 -0.966393 0.489345 45 57.5 1 0.2 +215 1 1 -1 49.3346 50.4112 45.0616 -0.133071 0.0822426 -0.987688 0.489345 45 57.5 1 0.2 +216 1 1 1 46.9659 51.1854 46.2067 -0.606824 0.237086 -0.758653 0.489345 45 57.5 1 0.2 +217 1 1 -1 47.4037 50.7822 45.7991 -0.519258 0.156435 -0.840178 0.489345 45 57.5 1 0.2 +218 1 1 1 46.4898 50.8031 46.5311 -0.702046 0.160622 -0.693781 0.489345 45 57.5 1 0.2 +219 1 1 -1 46.8988 50.4057 46.099 -0.620239 0.0811424 -0.780205 0.489345 45 57.5 1 0.2 +220 1 1 1 47.3713 50 45.7467 -0.52573 0 -0.850651 0.489345 45 57.5 1 0.2 +221 1 1 -1 46.0808 50.4054 46.9218 -0.783843 0.0810867 -0.615642 0.489345 45 57.5 1 0.2 +222 1 1 1 46.4436 50 46.4855 -0.711282 0 -0.702907 0.489345 45 57.5 1 0.2 +223 1 1 -1 45.7467 50 47.3713 -0.850651 0 -0.525731 0.489345 45 57.5 1 0.2 +224 1 1 1 46.0808 49.5946 46.9218 -0.783843 -0.0810867 -0.615642 0.489345 45 57.5 1 0.2 +225 1 1 -1 46.4898 49.1969 46.5311 -0.702046 -0.160622 -0.693781 0.489345 45 57.5 1 0.2 +226 1 1 1 46.8988 49.5943 46.099 -0.620239 -0.0811424 -0.780205 0.489345 45 57.5 1 0.2 +227 1 1 -1 47.4037 49.2178 45.7991 -0.519258 -0.156435 -0.840178 0.489345 45 57.5 1 0.2 +228 1 1 1 46.9659 48.8146 46.2067 -0.606824 -0.237086 -0.758653 0.489345 45 57.5 1 0.2 +229 1 1 -1 47.5 48.4549 45.9549 -0.499999 -0.309017 -0.809017 0.489345 45 57.5 1 0.2 +230 1 1 1 49.3346 49.5888 45.0616 -0.133071 -0.0822426 -0.987688 0.489345 45 57.5 1 0.2 +231 1 1 -1 48.6857 49.1877 45.2447 -0.262865 -0.16246 -0.951056 0.489345 45 57.5 1 0.2 +232 1 1 1 49.336 48.8994 45.168 -0.132793 -0.220117 -0.966393 0.489345 45 57.5 1 0.2 +233 1 1 -1 48.0691 48.8066 45.545 -0.386187 -0.238678 -0.891006 0.489345 45 57.5 1 0.2 +234 1 1 1 48.6796 48.4937 45.4188 -0.264082 -0.301259 -0.916244 0.489345 45 57.5 1 0.2 +235 1 1 -1 48.0819 48.1248 45.7804 -0.383614 -0.375038 -0.843912 0.489345 45 57.5 1 0.2 +236 1 1 1 48.7005 47.8306 45.6867 -0.259892 -0.433888 -0.862669 0.489345 45 57.5 1 0.2 +237 1 1 -1 49.3417 48.2089 45.3785 -0.131656 -0.358229 -0.924304 0.489345 45 57.5 1 0.2 +238 1 1 1 49.344 47.5778 45.6754 -0.1312 -0.484441 -0.864929 0.489345 45 57.5 1 0.2 +239 1 1 -1 48.002 50.4116 45.4351 -0.399606 0.0823234 -0.912983 0.489345 45 57.5 1 0.2 +240 1 1 1 48.002 49.5884 45.4351 -0.399606 -0.0823234 -0.912983 0.489345 45 57.5 1 0.2 +241 1 1 -1 48.668 50 45.1807 -0.266405 0 -0.963861 0.489345 45 57.5 1 0.2 +242 1 1 1 50.4054 46.9218 53.9192 0.0810867 -0.615642 0.783843 0.489345 45 57.5 1 0.2 +243 1 1 -1 49.5946 46.9218 53.9192 -0.0810867 -0.615642 0.783843 0.489345 45 57.5 1 0.2 +244 1 1 1 50.8031 46.5311 53.5102 0.160622 -0.693781 0.702046 0.489345 45 57.5 1 0.2 +245 1 1 -1 50 46.4855 53.5564 0 -0.702907 0.711282 0.489345 45 57.5 1 0.2 +246 1 1 1 49.1969 46.5311 53.5102 -0.160622 -0.693781 0.702046 0.489345 45 57.5 1 0.2 +247 1 1 -1 51.1854 46.2067 53.0341 0.237086 -0.758653 0.606824 0.489345 45 57.5 1 0.2 +248 1 1 1 50.4057 46.099 53.1012 0.0811424 -0.780205 0.620239 0.489345 45 57.5 1 0.2 +249 1 1 -1 51.5451 45.9549 52.5 0.309017 -0.809017 0.499999 0.489345 45 57.5 1 0.2 +250 1 1 1 50.7822 45.7991 52.5963 0.156435 -0.840178 0.519258 0.489345 45 57.5 1 0.2 +251 1 1 -1 50 45.7467 52.6287 0 -0.850651 0.52573 0.489345 45 57.5 1 0.2 +252 1 1 1 49.5943 46.099 53.1012 -0.0811424 -0.780205 0.620239 0.489345 45 57.5 1 0.2 +253 1 1 -1 48.8146 46.2067 53.0341 -0.237086 -0.758653 0.606824 0.489345 45 57.5 1 0.2 +254 1 1 1 49.2178 45.7991 52.5963 -0.156435 -0.840178 0.519258 0.489345 45 57.5 1 0.2 +255 1 1 -1 48.4549 45.9549 52.5 -0.309017 -0.809017 0.499999 0.489345 45 57.5 1 0.2 +256 1 1 1 51.8752 45.7804 51.9181 0.375038 -0.843912 0.383614 0.489345 45 57.5 1 0.2 +257 1 1 -1 51.1934 45.545 51.9309 0.238678 -0.891006 0.386187 0.489345 45 57.5 1 0.2 +258 1 1 1 52.1694 45.6867 51.2995 0.433888 -0.862669 0.259892 0.489345 45 57.5 1 0.2 +259 1 1 -1 51.5063 45.4188 51.3204 0.301259 -0.916244 0.264082 0.489345 45 57.5 1 0.2 +260 1 1 1 50.8123 45.2447 51.3143 0.16246 -0.951056 0.262865 0.489345 45 57.5 1 0.2 +261 1 1 -1 52.4222 45.6754 50.656 0.484441 -0.864929 0.1312 0.489345 45 57.5 1 0.2 +262 1 1 1 51.7911 45.3785 50.6583 0.358229 -0.924304 0.131656 0.489345 45 57.5 1 0.2 +263 1 1 -1 52.6287 45.7467 50 0.525731 -0.850651 0 0.489345 45 57.5 1 0.2 +264 1 1 1 52.0168 45.4248 50 0.403355 -0.915043 0 0.489345 45 57.5 1 0.2 +265 1 1 -1 51.3663 45.1903 50 0.273267 -0.961938 0 0.489345 45 57.5 1 0.2 +266 1 1 1 51.1006 45.168 50.664 0.220117 -0.966393 0.132793 0.489345 45 57.5 1 0.2 +267 1 1 -1 50.4112 45.0616 50.6654 0.0822426 -0.987688 0.133071 0.489345 45 57.5 1 0.2 +268 1 1 1 50.6898 45.0478 50 0.137952 -0.990439 0 0.489345 45 57.5 1 0.2 +269 1 1 -1 50 45 50 0 -1 0 0.489345 45 57.5 1 0.2 +270 1 1 1 48.8066 45.545 51.9309 -0.238678 -0.891006 0.386187 0.489345 45 57.5 1 0.2 +271 1 1 -1 48.1248 45.7804 51.9181 -0.375038 -0.843912 0.383614 0.489345 45 57.5 1 0.2 +272 1 1 1 49.1877 45.2447 51.3143 -0.16246 -0.951056 0.262865 0.489345 45 57.5 1 0.2 +273 1 1 -1 48.4937 45.4188 51.3204 -0.301259 -0.916244 0.264082 0.489345 45 57.5 1 0.2 +274 1 1 1 47.8306 45.6867 51.2995 -0.433888 -0.862669 0.259892 0.489345 45 57.5 1 0.2 +275 1 1 -1 49.5888 45.0616 50.6654 -0.0822426 -0.987688 0.133071 0.489345 45 57.5 1 0.2 +276 1 1 1 48.8994 45.168 50.664 -0.220117 -0.966393 0.132793 0.489345 45 57.5 1 0.2 +277 1 1 -1 49.3102 45.0478 50 -0.137952 -0.990439 0 0.489345 45 57.5 1 0.2 +278 1 1 1 48.6337 45.1903 50 -0.273267 -0.961938 0 0.489345 45 57.5 1 0.2 +279 1 1 -1 48.2089 45.3785 50.6583 -0.358229 -0.924304 0.131656 0.489345 45 57.5 1 0.2 +280 1 1 1 47.5778 45.6754 50.656 -0.484441 -0.864929 0.1312 0.489345 45 57.5 1 0.2 +281 1 1 -1 47.9832 45.4248 50 -0.403355 -0.915043 0 0.489345 45 57.5 1 0.2 +282 1 1 1 47.3713 45.7467 50 -0.525731 -0.850651 0 0.489345 45 57.5 1 0.2 +283 1 1 -1 50.4116 45.4351 51.998 0.0823234 -0.912983 0.399606 0.489345 45 57.5 1 0.2 +284 1 1 1 50 45.1807 51.332 0 -0.963861 0.266405 0.489345 45 57.5 1 0.2 +285 1 1 -1 49.5884 45.4351 51.998 -0.0823234 -0.912983 0.399606 0.489345 45 57.5 1 0.2 +286 1 1 1 49.5946 46.9218 46.0808 -0.0810867 -0.615642 -0.783843 0.489345 45 57.5 1 0.2 +287 1 1 -1 50.4054 46.9218 46.0808 0.0810867 -0.615642 -0.783843 0.489345 45 57.5 1 0.2 +288 1 1 1 49.1969 46.5311 46.4898 -0.160622 -0.693781 -0.702046 0.489345 45 57.5 1 0.2 +289 1 1 -1 50 46.4855 46.4436 0 -0.702907 -0.711282 0.489345 45 57.5 1 0.2 +290 1 1 1 50.8031 46.5311 46.4898 0.160622 -0.693781 -0.702046 0.489345 45 57.5 1 0.2 +291 1 1 -1 48.8146 46.2067 46.9659 -0.237086 -0.758653 -0.606824 0.489345 45 57.5 1 0.2 +292 1 1 1 49.5943 46.099 46.8988 -0.0811424 -0.780205 -0.620239 0.489345 45 57.5 1 0.2 +293 1 1 -1 48.4549 45.9549 47.5 -0.309017 -0.809017 -0.499999 0.489345 45 57.5 1 0.2 +294 1 1 1 49.2178 45.7991 47.4037 -0.156435 -0.840178 -0.519258 0.489345 45 57.5 1 0.2 +295 1 1 -1 50 45.7467 47.3713 0 -0.850651 -0.52573 0.489345 45 57.5 1 0.2 +296 1 1 1 50.4057 46.099 46.8988 0.0811424 -0.780205 -0.620239 0.489345 45 57.5 1 0.2 +297 1 1 -1 51.1854 46.2067 46.9659 0.237086 -0.758653 -0.606824 0.489345 45 57.5 1 0.2 +298 1 1 1 50.7822 45.7991 47.4037 0.156435 -0.840178 -0.519258 0.489345 45 57.5 1 0.2 +299 1 1 -1 51.5451 45.9549 47.5 0.309017 -0.809017 -0.499999 0.489345 45 57.5 1 0.2 +300 1 1 1 48.1248 45.7804 48.0819 -0.375038 -0.843912 -0.383614 0.489345 45 57.5 1 0.2 +301 1 1 -1 48.8066 45.545 48.0691 -0.238678 -0.891006 -0.386187 0.489345 45 57.5 1 0.2 +302 1 1 1 47.8306 45.6867 48.7005 -0.433888 -0.862669 -0.259892 0.489345 45 57.5 1 0.2 +303 1 1 -1 48.4937 45.4188 48.6796 -0.301259 -0.916244 -0.264082 0.489345 45 57.5 1 0.2 +304 1 1 1 49.1877 45.2447 48.6857 -0.16246 -0.951056 -0.262865 0.489345 45 57.5 1 0.2 +305 1 1 -1 47.5778 45.6754 49.344 -0.484441 -0.864929 -0.1312 0.489345 45 57.5 1 0.2 +306 1 1 1 48.2089 45.3785 49.3417 -0.358229 -0.924304 -0.131656 0.489345 45 57.5 1 0.2 +307 1 1 -1 48.8994 45.168 49.336 -0.220117 -0.966393 -0.132793 0.489345 45 57.5 1 0.2 +308 1 1 1 49.5888 45.0616 49.3346 -0.0822426 -0.987688 -0.133071 0.489345 45 57.5 1 0.2 +309 1 1 -1 51.1934 45.545 48.0691 0.238678 -0.891006 -0.386187 0.489345 45 57.5 1 0.2 +310 1 1 1 51.8752 45.7804 48.0819 0.375038 -0.843912 -0.383614 0.489345 45 57.5 1 0.2 +311 1 1 -1 50.8123 45.2447 48.6857 0.16246 -0.951056 -0.262865 0.489345 45 57.5 1 0.2 +312 1 1 1 51.5063 45.4188 48.6796 0.301259 -0.916244 -0.264082 0.489345 45 57.5 1 0.2 +313 1 1 -1 52.1694 45.6867 48.7005 0.433888 -0.862669 -0.259892 0.489345 45 57.5 1 0.2 +314 1 1 1 50.4112 45.0616 49.3346 0.0822426 -0.987688 -0.133071 0.489345 45 57.5 1 0.2 +315 1 1 -1 51.1006 45.168 49.336 0.220117 -0.966393 -0.132793 0.489345 45 57.5 1 0.2 +316 1 1 1 51.7911 45.3785 49.3417 0.358229 -0.924304 -0.131656 0.489345 45 57.5 1 0.2 +317 1 1 -1 52.4222 45.6754 49.344 0.484441 -0.864929 -0.1312 0.489345 45 57.5 1 0.2 +318 1 1 1 49.5884 45.4351 48.002 -0.0823234 -0.912983 -0.399606 0.489345 45 57.5 1 0.2 +319 1 1 -1 50 45.1807 48.668 0 -0.963861 -0.266405 0.489345 45 57.5 1 0.2 +320 1 1 1 50.4116 45.4351 48.002 0.0823234 -0.912983 -0.399606 0.489345 45 57.5 1 0.2 +321 1 1 -1 46.9218 53.9192 50.4054 -0.615642 0.783843 0.0810867 0.489345 45 57.5 1 0.2 +322 1 1 1 46.9218 53.9192 49.5946 -0.615642 0.783843 -0.0810867 0.489345 45 57.5 1 0.2 +323 1 1 -1 46.5311 53.5102 50.8031 -0.693781 0.702046 0.160622 0.489345 45 57.5 1 0.2 +324 1 1 1 46.4855 53.5564 50 -0.702907 0.711282 0 0.489345 45 57.5 1 0.2 +325 1 1 -1 46.5311 53.5102 49.1969 -0.693781 0.702046 -0.160622 0.489345 45 57.5 1 0.2 +326 1 1 1 46.2067 53.0341 51.1854 -0.758653 0.606824 0.237086 0.489345 45 57.5 1 0.2 +327 1 1 -1 46.099 53.1012 50.4057 -0.780205 0.620239 0.0811424 0.489345 45 57.5 1 0.2 +328 1 1 1 45.9549 52.5 51.5451 -0.809017 0.499999 0.309017 0.489345 45 57.5 1 0.2 +329 1 1 -1 45.7991 52.5963 50.7822 -0.840178 0.519258 0.156435 0.489345 45 57.5 1 0.2 +330 1 1 1 45.7467 52.6287 50 -0.850651 0.52573 0 0.489345 45 57.5 1 0.2 +331 1 1 -1 46.099 53.1012 49.5943 -0.780205 0.620239 -0.0811424 0.489345 45 57.5 1 0.2 +332 1 1 1 46.2067 53.0341 48.8146 -0.758653 0.606824 -0.237086 0.489345 45 57.5 1 0.2 +333 1 1 -1 45.7991 52.5963 49.2178 -0.840178 0.519258 -0.156435 0.489345 45 57.5 1 0.2 +334 1 1 1 45.9549 52.5 48.4549 -0.809017 0.499999 -0.309017 0.489345 45 57.5 1 0.2 +335 1 1 -1 45.7804 51.9181 51.8752 -0.843912 0.383614 0.375038 0.489345 45 57.5 1 0.2 +336 1 1 1 45.545 51.9309 51.1934 -0.891006 0.386187 0.238678 0.489345 45 57.5 1 0.2 +337 1 1 -1 45.6867 51.2995 52.1694 -0.862669 0.259892 0.433888 0.489345 45 57.5 1 0.2 +338 1 1 1 45.4188 51.3204 51.5063 -0.916244 0.264082 0.301259 0.489345 45 57.5 1 0.2 +339 1 1 -1 45.2447 51.3143 50.8123 -0.951056 0.262865 0.16246 0.489345 45 57.5 1 0.2 +340 1 1 1 45.6754 50.656 52.4222 -0.864929 0.1312 0.484441 0.489345 45 57.5 1 0.2 +341 1 1 -1 45.3785 50.6583 51.7911 -0.924304 0.131656 0.358229 0.489345 45 57.5 1 0.2 +342 1 1 1 45.4248 50 52.0168 -0.915043 0 0.403355 0.489345 45 57.5 1 0.2 +343 1 1 -1 45.1903 50 51.3663 -0.961938 0 0.273267 0.489345 45 57.5 1 0.2 +344 1 1 1 45.168 50.664 51.1006 -0.966393 0.132793 0.220117 0.489345 45 57.5 1 0.2 +345 1 1 -1 45.0616 50.6654 50.4112 -0.987688 0.133071 0.0822426 0.489345 45 57.5 1 0.2 +346 1 1 1 45.0478 50 50.6898 -0.990439 0 0.137952 0.489345 45 57.5 1 0.2 +347 1 1 -1 45 50 50 -1 0 0 0.489345 45 57.5 1 0.2 +348 1 1 1 45.545 51.9309 48.8066 -0.891006 0.386187 -0.238678 0.489345 45 57.5 1 0.2 +349 1 1 -1 45.7804 51.9181 48.1248 -0.843912 0.383614 -0.375038 0.489345 45 57.5 1 0.2 +350 1 1 1 45.2447 51.3143 49.1877 -0.951056 0.262865 -0.16246 0.489345 45 57.5 1 0.2 +351 1 1 -1 45.4188 51.3204 48.4937 -0.916244 0.264082 -0.301259 0.489345 45 57.5 1 0.2 +352 1 1 1 45.6867 51.2995 47.8306 -0.862669 0.259892 -0.433888 0.489345 45 57.5 1 0.2 +353 1 1 -1 45.0616 50.6654 49.5888 -0.987688 0.133071 -0.0822426 0.489345 45 57.5 1 0.2 +354 1 1 1 45.168 50.664 48.8994 -0.966393 0.132793 -0.220117 0.489345 45 57.5 1 0.2 +355 1 1 -1 45.0478 50 49.3102 -0.990439 0 -0.137952 0.489345 45 57.5 1 0.2 +356 1 1 1 45.1903 50 48.6337 -0.961938 0 -0.273267 0.489345 45 57.5 1 0.2 +357 1 1 -1 45.3785 50.6583 48.2089 -0.924304 0.131656 -0.358229 0.489345 45 57.5 1 0.2 +358 1 1 1 45.6754 50.656 47.5778 -0.864929 0.1312 -0.484441 0.489345 45 57.5 1 0.2 +359 1 1 -1 45.4248 50 47.9832 -0.915043 0 -0.403355 0.489345 45 57.5 1 0.2 +360 1 1 1 45.4351 51.998 50.4116 -0.912983 0.399606 0.0823234 0.489345 45 57.5 1 0.2 +361 1 1 -1 45.1807 51.332 50 -0.963861 0.266405 0 0.489345 45 57.5 1 0.2 +362 1 1 1 45.4351 51.998 49.5884 -0.912983 0.399606 -0.0823234 0.489345 45 57.5 1 0.2 +363 1 1 -1 46.9218 46.0808 49.5946 -0.615642 -0.783843 -0.0810867 0.489345 45 57.5 1 0.2 +364 1 1 1 46.9218 46.0808 50.4054 -0.615642 -0.783843 0.0810867 0.489345 45 57.5 1 0.2 +365 1 1 -1 46.5311 46.4898 49.1969 -0.693781 -0.702046 -0.160622 0.489345 45 57.5 1 0.2 +366 1 1 1 46.4855 46.4436 50 -0.702907 -0.711282 0 0.489345 45 57.5 1 0.2 +367 1 1 -1 46.5311 46.4898 50.8031 -0.693781 -0.702046 0.160622 0.489345 45 57.5 1 0.2 +368 1 1 1 46.2067 46.9659 48.8146 -0.758653 -0.606824 -0.237086 0.489345 45 57.5 1 0.2 +369 1 1 -1 46.099 46.8988 49.5943 -0.780205 -0.620239 -0.0811424 0.489345 45 57.5 1 0.2 +370 1 1 1 45.9549 47.5 48.4549 -0.809017 -0.499999 -0.309017 0.489345 45 57.5 1 0.2 +371 1 1 -1 45.7991 47.4037 49.2178 -0.840178 -0.519258 -0.156435 0.489345 45 57.5 1 0.2 +372 1 1 1 45.7467 47.3713 50 -0.850651 -0.52573 0 0.489345 45 57.5 1 0.2 +373 1 1 -1 46.099 46.8988 50.4057 -0.780205 -0.620239 0.0811424 0.489345 45 57.5 1 0.2 +374 1 1 1 46.2067 46.9659 51.1854 -0.758653 -0.606824 0.237086 0.489345 45 57.5 1 0.2 +375 1 1 -1 45.7991 47.4037 50.7822 -0.840178 -0.519258 0.156435 0.489345 45 57.5 1 0.2 +376 1 1 1 45.9549 47.5 51.5451 -0.809017 -0.499999 0.309017 0.489345 45 57.5 1 0.2 +377 1 1 -1 45.7804 48.0819 48.1248 -0.843912 -0.383614 -0.375038 0.489345 45 57.5 1 0.2 +378 1 1 1 45.545 48.0691 48.8066 -0.891006 -0.386187 -0.238678 0.489345 45 57.5 1 0.2 +379 1 1 -1 45.6867 48.7005 47.8306 -0.862669 -0.259892 -0.433888 0.489345 45 57.5 1 0.2 +380 1 1 1 45.4188 48.6796 48.4937 -0.916244 -0.264082 -0.301259 0.489345 45 57.5 1 0.2 +381 1 1 -1 45.2447 48.6857 49.1877 -0.951056 -0.262865 -0.16246 0.489345 45 57.5 1 0.2 +382 1 1 1 45.6754 49.344 47.5778 -0.864929 -0.1312 -0.484441 0.489345 45 57.5 1 0.2 +383 1 1 -1 45.3785 49.3417 48.2089 -0.924304 -0.131656 -0.358229 0.489345 45 57.5 1 0.2 +384 1 1 1 45.168 49.336 48.8994 -0.966393 -0.132793 -0.220117 0.489345 45 57.5 1 0.2 +385 1 1 -1 45.0616 49.3346 49.5888 -0.987688 -0.133071 -0.0822426 0.489345 45 57.5 1 0.2 +386 1 1 1 45.545 48.0691 51.1934 -0.891006 -0.386187 0.238678 0.489345 45 57.5 1 0.2 +387 1 1 -1 45.7804 48.0819 51.8752 -0.843912 -0.383614 0.375038 0.489345 45 57.5 1 0.2 +388 1 1 1 45.2447 48.6857 50.8123 -0.951056 -0.262865 0.16246 0.489345 45 57.5 1 0.2 +389 1 1 -1 45.4188 48.6796 51.5063 -0.916244 -0.264082 0.301259 0.489345 45 57.5 1 0.2 +390 1 1 1 45.6867 48.7005 52.1694 -0.862669 -0.259892 0.433888 0.489345 45 57.5 1 0.2 +391 1 1 -1 45.0616 49.3346 50.4112 -0.987688 -0.133071 0.0822426 0.489345 45 57.5 1 0.2 +392 1 1 1 45.168 49.336 51.1006 -0.966393 -0.132793 0.220117 0.489345 45 57.5 1 0.2 +393 1 1 -1 45.3785 49.3417 51.7911 -0.924304 -0.131656 0.358229 0.489345 45 57.5 1 0.2 +394 1 1 1 45.6754 49.344 52.4222 -0.864929 -0.1312 0.484441 0.489345 45 57.5 1 0.2 +395 1 1 -1 45.4351 48.002 49.5884 -0.912983 -0.399606 -0.0823234 0.489345 45 57.5 1 0.2 +396 1 1 1 45.1807 48.668 50 -0.963861 -0.266405 0 0.489345 45 57.5 1 0.2 +397 1 1 -1 45.4351 48.002 50.4116 -0.912983 -0.399606 0.0823234 0.489345 45 57.5 1 0.2 +398 1 1 1 53.0782 53.9192 49.5946 0.615642 0.783843 -0.0810867 0.489345 45 57.5 1 0.2 +399 1 1 -1 53.0782 53.9192 50.4054 0.615642 0.783843 0.0810867 0.489345 45 57.5 1 0.2 +400 1 1 1 53.4689 53.5102 49.1969 0.693781 0.702046 -0.160622 0.489345 45 57.5 1 0.2 +401 1 1 -1 53.5145 53.5564 50 0.702907 0.711282 0 0.489345 45 57.5 1 0.2 +402 1 1 1 53.4689 53.5102 50.8031 0.693781 0.702046 0.160622 0.489345 45 57.5 1 0.2 +403 1 1 -1 53.7933 53.0341 48.8146 0.758653 0.606824 -0.237086 0.489345 45 57.5 1 0.2 +404 1 1 1 53.901 53.1012 49.5943 0.780205 0.620239 -0.0811424 0.489345 45 57.5 1 0.2 +405 1 1 -1 54.0451 52.5 48.4549 0.809017 0.499999 -0.309017 0.489345 45 57.5 1 0.2 +406 1 1 1 54.2009 52.5963 49.2178 0.840178 0.519258 -0.156435 0.489345 45 57.5 1 0.2 +407 1 1 -1 54.2533 52.6287 50 0.850651 0.52573 0 0.489345 45 57.5 1 0.2 +408 1 1 1 53.901 53.1012 50.4057 0.780205 0.620239 0.0811424 0.489345 45 57.5 1 0.2 +409 1 1 -1 53.7933 53.0341 51.1854 0.758653 0.606824 0.237086 0.489345 45 57.5 1 0.2 +410 1 1 1 54.2009 52.5963 50.7822 0.840178 0.519258 0.156435 0.489345 45 57.5 1 0.2 +411 1 1 -1 54.0451 52.5 51.5451 0.809017 0.499999 0.309017 0.489345 45 57.5 1 0.2 +412 1 1 1 54.2196 51.9181 48.1248 0.843912 0.383614 -0.375038 0.489345 45 57.5 1 0.2 +413 1 1 -1 54.455 51.9309 48.8066 0.891006 0.386187 -0.238678 0.489345 45 57.5 1 0.2 +414 1 1 1 54.3133 51.2995 47.8306 0.862669 0.259892 -0.433888 0.489345 45 57.5 1 0.2 +415 1 1 -1 54.5812 51.3204 48.4937 0.916244 0.264082 -0.301259 0.489345 45 57.5 1 0.2 +416 1 1 1 54.7553 51.3143 49.1877 0.951056 0.262865 -0.16246 0.489345 45 57.5 1 0.2 +417 1 1 -1 54.3246 50.656 47.5778 0.864929 0.1312 -0.484441 0.489345 45 57.5 1 0.2 +418 1 1 1 54.6215 50.6583 48.2089 0.924304 0.131656 -0.358229 0.489345 45 57.5 1 0.2 +419 1 1 -1 54.5752 50 47.9832 0.915043 0 -0.403355 0.489345 45 57.5 1 0.2 +420 1 1 1 54.8097 50 48.6337 0.961938 0 -0.273267 0.489345 45 57.5 1 0.2 +421 1 1 -1 54.832 50.664 48.8994 0.966393 0.132793 -0.220117 0.489345 45 57.5 1 0.2 +422 1 1 1 54.9384 50.6654 49.5888 0.987688 0.133071 -0.0822426 0.489345 45 57.5 1 0.2 +423 1 1 -1 54.9522 50 49.3102 0.990439 0 -0.137952 0.489345 45 57.5 1 0.2 +424 1 1 1 55 50 50 1 0 0 0.489345 45 57.5 1 0.2 +425 1 1 -1 54.455 51.9309 51.1934 0.891006 0.386187 0.238678 0.489345 45 57.5 1 0.2 +426 1 1 1 54.2196 51.9181 51.8752 0.843912 0.383614 0.375038 0.489345 45 57.5 1 0.2 +427 1 1 -1 54.7553 51.3143 50.8123 0.951056 0.262865 0.16246 0.489345 45 57.5 1 0.2 +428 1 1 1 54.5812 51.3204 51.5063 0.916244 0.264082 0.301259 0.489345 45 57.5 1 0.2 +429 1 1 -1 54.3133 51.2995 52.1694 0.862669 0.259892 0.433888 0.489345 45 57.5 1 0.2 +430 1 1 1 54.9384 50.6654 50.4112 0.987688 0.133071 0.0822426 0.489345 45 57.5 1 0.2 +431 1 1 -1 54.832 50.664 51.1006 0.966393 0.132793 0.220117 0.489345 45 57.5 1 0.2 +432 1 1 1 54.9522 50 50.6898 0.990439 0 0.137952 0.489345 45 57.5 1 0.2 +433 1 1 -1 54.8097 50 51.3663 0.961938 0 0.273267 0.489345 45 57.5 1 0.2 +434 1 1 1 54.6215 50.6583 51.7911 0.924304 0.131656 0.358229 0.489345 45 57.5 1 0.2 +435 1 1 -1 54.3246 50.656 52.4222 0.864929 0.1312 0.484441 0.489345 45 57.5 1 0.2 +436 1 1 1 54.5752 50 52.0168 0.915043 0 0.403355 0.489345 45 57.5 1 0.2 +437 1 1 -1 54.5649 51.998 49.5884 0.912983 0.399606 -0.0823234 0.489345 45 57.5 1 0.2 +438 1 1 1 54.8193 51.332 50 0.963861 0.266405 0 0.489345 45 57.5 1 0.2 +439 1 1 -1 54.5649 51.998 50.4116 0.912983 0.399606 0.0823234 0.489345 45 57.5 1 0.2 +440 1 1 1 53.0782 46.0808 50.4054 0.615642 -0.783843 0.0810867 0.489345 45 57.5 1 0.2 +441 1 1 -1 53.0782 46.0808 49.5946 0.615642 -0.783843 -0.0810867 0.489345 45 57.5 1 0.2 +442 1 1 1 53.4689 46.4898 50.8031 0.693781 -0.702046 0.160622 0.489345 45 57.5 1 0.2 +443 1 1 -1 53.5145 46.4436 50 0.702907 -0.711282 0 0.489345 45 57.5 1 0.2 +444 1 1 1 53.4689 46.4898 49.1969 0.693781 -0.702046 -0.160622 0.489345 45 57.5 1 0.2 +445 1 1 -1 53.7933 46.9659 51.1854 0.758653 -0.606824 0.237086 0.489345 45 57.5 1 0.2 +446 1 1 1 53.901 46.8988 50.4057 0.780205 -0.620239 0.0811424 0.489345 45 57.5 1 0.2 +447 1 1 -1 54.0451 47.5 51.5451 0.809017 -0.499999 0.309017 0.489345 45 57.5 1 0.2 +448 1 1 1 54.2009 47.4037 50.7822 0.840178 -0.519258 0.156435 0.489345 45 57.5 1 0.2 +449 1 1 -1 54.2533 47.3713 50 0.850651 -0.52573 0 0.489345 45 57.5 1 0.2 +450 1 1 1 53.901 46.8988 49.5943 0.780205 -0.620239 -0.0811424 0.489345 45 57.5 1 0.2 +451 1 1 -1 53.7933 46.9659 48.8146 0.758653 -0.606824 -0.237086 0.489345 45 57.5 1 0.2 +452 1 1 1 54.2009 47.4037 49.2178 0.840178 -0.519258 -0.156435 0.489345 45 57.5 1 0.2 +453 1 1 -1 54.0451 47.5 48.4549 0.809017 -0.499999 -0.309017 0.489345 45 57.5 1 0.2 +454 1 1 1 54.2196 48.0819 51.8752 0.843912 -0.383614 0.375038 0.489345 45 57.5 1 0.2 +455 1 1 -1 54.455 48.0691 51.1934 0.891006 -0.386187 0.238678 0.489345 45 57.5 1 0.2 +456 1 1 1 54.3133 48.7005 52.1694 0.862669 -0.259892 0.433888 0.489345 45 57.5 1 0.2 +457 1 1 -1 54.5812 48.6796 51.5063 0.916244 -0.264082 0.301259 0.489345 45 57.5 1 0.2 +458 1 1 1 54.7553 48.6857 50.8123 0.951056 -0.262865 0.16246 0.489345 45 57.5 1 0.2 +459 1 1 -1 54.3246 49.344 52.4222 0.864929 -0.1312 0.484441 0.489345 45 57.5 1 0.2 +460 1 1 1 54.6215 49.3417 51.7911 0.924304 -0.131656 0.358229 0.489345 45 57.5 1 0.2 +461 1 1 -1 54.832 49.336 51.1006 0.966393 -0.132793 0.220117 0.489345 45 57.5 1 0.2 +462 1 1 1 54.9384 49.3346 50.4112 0.987688 -0.133071 0.0822426 0.489345 45 57.5 1 0.2 +463 1 1 -1 54.455 48.0691 48.8066 0.891006 -0.386187 -0.238678 0.489345 45 57.5 1 0.2 +464 1 1 1 54.2196 48.0819 48.1248 0.843912 -0.383614 -0.375038 0.489345 45 57.5 1 0.2 +465 1 1 -1 54.7553 48.6857 49.1877 0.951056 -0.262865 -0.16246 0.489345 45 57.5 1 0.2 +466 1 1 1 54.5812 48.6796 48.4937 0.916244 -0.264082 -0.301259 0.489345 45 57.5 1 0.2 +467 1 1 -1 54.3133 48.7005 47.8306 0.862669 -0.259892 -0.433888 0.489345 45 57.5 1 0.2 +468 1 1 1 54.9384 49.3346 49.5888 0.987688 -0.133071 -0.0822426 0.489345 45 57.5 1 0.2 +469 1 1 -1 54.832 49.336 48.8994 0.966393 -0.132793 -0.220117 0.489345 45 57.5 1 0.2 +470 1 1 1 54.6215 49.3417 48.2089 0.924304 -0.131656 -0.358229 0.489345 45 57.5 1 0.2 +471 1 1 -1 54.3246 49.344 47.5778 0.864929 -0.1312 -0.484441 0.489345 45 57.5 1 0.2 +472 1 1 1 54.5649 48.002 50.4116 0.912983 -0.399606 0.0823234 0.489345 45 57.5 1 0.2 +473 1 1 -1 54.8193 48.668 50 0.963861 -0.266405 0 0.489345 45 57.5 1 0.2 +474 1 1 1 54.5649 48.002 49.5884 0.912983 -0.399606 -0.0823234 0.489345 45 57.5 1 0.2 +475 1 1 -1 48.9349 52.8563 53.9632 -0.213023 0.571252 0.792649 0.489345 45 57.5 1 0.2 +476 1 1 1 48.2692 52.5806 53.9173 -0.346153 0.516121 0.783452 0.489345 45 57.5 1 0.2 +477 1 1 -1 47.6579 52.27 53.7897 -0.468429 0.45399 0.757936 0.489345 45 57.5 1 0.2 +478 1 1 1 47.8734 52.9389 53.441 -0.425325 0.587785 0.688191 0.489345 45 57.5 1 0.2 +479 1 1 -1 48.52 53.2371 53.5116 -0.296004 0.647412 0.70231 0.489345 45 57.5 1 0.2 +480 1 1 1 48.1413 53.5355 53.0075 -0.371748 0.707107 0.601501 0.489345 45 57.5 1 0.2 +481 1 1 -1 46.9925 51.8587 53.5355 -0.601501 0.371748 0.707107 0.489345 45 57.5 1 0.2 +482 1 1 1 46.4884 51.48 53.2371 -0.70231 0.296004 0.647412 0.489345 45 57.5 1 0.2 +483 1 1 -1 46.559 52.1266 52.9389 -0.688191 0.425325 0.587785 0.489345 45 57.5 1 0.2 +484 1 1 1 46.0368 51.0651 52.8563 -0.792649 0.213023 0.571252 0.489345 45 57.5 1 0.2 +485 1 1 -1 46.0827 51.7308 52.5806 -0.783452 0.346153 0.516121 0.489345 45 57.5 1 0.2 +486 1 1 1 46.2103 52.3421 52.27 -0.757936 0.468429 0.45399 0.489345 45 57.5 1 0.2 +487 1 1 -1 47.73 53.7897 52.3421 -0.45399 0.757936 0.468429 0.489345 45 57.5 1 0.2 +488 1 1 1 47.0611 53.441 52.1266 -0.587785 0.688191 0.425325 0.489345 45 57.5 1 0.2 +489 1 1 -1 47.4194 53.9173 51.7308 -0.516121 0.783452 0.346153 0.489345 45 57.5 1 0.2 +490 1 1 1 46.4645 53.0075 51.8587 -0.707107 0.601501 0.371748 0.489345 45 57.5 1 0.2 +491 1 1 -1 46.7629 53.5116 51.48 -0.647412 0.70231 0.296004 0.489345 45 57.5 1 0.2 +492 1 1 1 47.1437 53.9632 51.0651 -0.571252 0.792649 0.213023 0.489345 45 57.5 1 0.2 +493 1 1 -1 47.1787 52.5669 53.2329 -0.564254 0.513375 0.646578 0.489345 45 57.5 1 0.2 +494 1 1 1 46.7671 52.8213 52.5669 -0.646578 0.564254 0.513375 0.489345 45 57.5 1 0.2 +495 1 1 -1 47.4331 53.2329 52.8213 -0.513375 0.646578 0.564254 0.489345 45 57.5 1 0.2 +496 1 1 1 51.0651 52.8563 53.9632 0.213023 0.571252 0.792649 0.489345 45 57.5 1 0.2 +497 1 1 -1 51.48 53.2371 53.5116 0.296004 0.647412 0.70231 0.489345 45 57.5 1 0.2 +498 1 1 1 51.8587 53.5355 53.0075 0.371748 0.707107 0.601501 0.489345 45 57.5 1 0.2 +499 1 1 -1 52.1266 52.9389 53.441 0.425325 0.587785 0.688191 0.489345 45 57.5 1 0.2 +500 1 1 1 51.7308 52.5806 53.9173 0.346153 0.516121 0.783452 0.489345 45 57.5 1 0.2 +501 1 1 -1 52.3421 52.27 53.7897 0.468429 0.45399 0.757936 0.489345 45 57.5 1 0.2 +502 1 1 1 52.27 53.7897 52.3421 0.45399 0.757936 0.468429 0.489345 45 57.5 1 0.2 +503 1 1 -1 52.5806 53.9173 51.7308 0.516121 0.783452 0.346153 0.489345 45 57.5 1 0.2 +504 1 1 1 52.9389 53.441 52.1266 0.587785 0.688191 0.425325 0.489345 45 57.5 1 0.2 +505 1 1 -1 52.8563 53.9632 51.0651 0.571252 0.792649 0.213023 0.489345 45 57.5 1 0.2 +506 1 1 1 53.2371 53.5116 51.48 0.647412 0.70231 0.296004 0.489345 45 57.5 1 0.2 +507 1 1 -1 53.5355 53.0075 51.8587 0.707107 0.601501 0.371748 0.489345 45 57.5 1 0.2 +508 1 1 1 53.0075 51.8587 53.5355 0.601501 0.371748 0.707107 0.489345 45 57.5 1 0.2 +509 1 1 -1 53.441 52.1266 52.9389 0.688191 0.425325 0.587785 0.489345 45 57.5 1 0.2 +510 1 1 1 53.5116 51.48 53.2371 0.70231 0.296004 0.647412 0.489345 45 57.5 1 0.2 +511 1 1 -1 53.7897 52.3421 52.27 0.757936 0.468429 0.45399 0.489345 45 57.5 1 0.2 +512 1 1 1 53.9173 51.7308 52.5806 0.783452 0.346153 0.516121 0.489345 45 57.5 1 0.2 +513 1 1 -1 53.9632 51.0651 52.8563 0.792649 0.213023 0.571252 0.489345 45 57.5 1 0.2 +514 1 1 1 52.5669 53.2329 52.8213 0.513375 0.646578 0.564254 0.489345 45 57.5 1 0.2 +515 1 1 -1 53.2329 52.8213 52.5669 0.646578 0.564254 0.513375 0.489345 45 57.5 1 0.2 +516 1 1 1 52.8213 52.5669 53.2329 0.564254 0.513375 0.646578 0.489345 45 57.5 1 0.2 +517 1 1 -1 48.9349 52.8563 46.0368 -0.213023 0.571252 -0.792649 0.489345 45 57.5 1 0.2 +518 1 1 1 48.52 53.2371 46.4884 -0.296004 0.647412 -0.70231 0.489345 45 57.5 1 0.2 +519 1 1 -1 48.1413 53.5355 46.9925 -0.371748 0.707107 -0.601501 0.489345 45 57.5 1 0.2 +520 1 1 1 47.8734 52.9389 46.559 -0.425325 0.587785 -0.688191 0.489345 45 57.5 1 0.2 +521 1 1 -1 48.2692 52.5806 46.0827 -0.346153 0.516121 -0.783452 0.489345 45 57.5 1 0.2 +522 1 1 1 47.6579 52.27 46.2103 -0.468429 0.45399 -0.757936 0.489345 45 57.5 1 0.2 +523 1 1 -1 47.73 53.7897 47.6579 -0.45399 0.757936 -0.468429 0.489345 45 57.5 1 0.2 +524 1 1 1 47.4194 53.9173 48.2692 -0.516121 0.783452 -0.346153 0.489345 45 57.5 1 0.2 +525 1 1 -1 47.0611 53.441 47.8734 -0.587785 0.688191 -0.425325 0.489345 45 57.5 1 0.2 +526 1 1 1 47.1437 53.9632 48.9349 -0.571252 0.792649 -0.213023 0.489345 45 57.5 1 0.2 +527 1 1 -1 46.7629 53.5116 48.52 -0.647412 0.70231 -0.296004 0.489345 45 57.5 1 0.2 +528 1 1 1 46.4645 53.0075 48.1413 -0.707107 0.601501 -0.371748 0.489345 45 57.5 1 0.2 +529 1 1 -1 46.9925 51.8587 46.4645 -0.601501 0.371748 -0.707107 0.489345 45 57.5 1 0.2 +530 1 1 1 46.559 52.1266 47.0611 -0.688191 0.425325 -0.587785 0.489345 45 57.5 1 0.2 +531 1 1 -1 46.4884 51.48 46.7629 -0.70231 0.296004 -0.647412 0.489345 45 57.5 1 0.2 +532 1 1 1 46.2103 52.3421 47.73 -0.757936 0.468429 -0.45399 0.489345 45 57.5 1 0.2 +533 1 1 -1 46.0827 51.7308 47.4194 -0.783452 0.346153 -0.516121 0.489345 45 57.5 1 0.2 +534 1 1 1 46.0368 51.0651 47.1437 -0.792649 0.213023 -0.571252 0.489345 45 57.5 1 0.2 +535 1 1 -1 47.4331 53.2329 47.1787 -0.513375 0.646578 -0.564254 0.489345 45 57.5 1 0.2 +536 1 1 1 46.7671 52.8213 47.4331 -0.646578 0.564254 -0.513375 0.489345 45 57.5 1 0.2 +537 1 1 -1 47.1787 52.5669 46.7671 -0.564254 0.513375 -0.646578 0.489345 45 57.5 1 0.2 +538 1 1 1 51.0651 52.8563 46.0368 0.213023 0.571252 -0.792649 0.489345 45 57.5 1 0.2 +539 1 1 -1 51.7308 52.5806 46.0827 0.346153 0.516121 -0.783452 0.489345 45 57.5 1 0.2 +540 1 1 1 52.3421 52.27 46.2103 0.468429 0.45399 -0.757936 0.489345 45 57.5 1 0.2 +541 1 1 -1 52.1266 52.9389 46.559 0.425325 0.587785 -0.688191 0.489345 45 57.5 1 0.2 +542 1 1 1 51.48 53.2371 46.4884 0.296004 0.647412 -0.70231 0.489345 45 57.5 1 0.2 +543 1 1 -1 51.8587 53.5355 46.9925 0.371748 0.707107 -0.601501 0.489345 45 57.5 1 0.2 +544 1 1 1 53.0075 51.8587 46.4645 0.601501 0.371748 -0.707107 0.489345 45 57.5 1 0.2 +545 1 1 -1 53.5116 51.48 46.7629 0.70231 0.296004 -0.647412 0.489345 45 57.5 1 0.2 +546 1 1 1 53.441 52.1266 47.0611 0.688191 0.425325 -0.587785 0.489345 45 57.5 1 0.2 +547 1 1 -1 53.9632 51.0651 47.1437 0.792649 0.213023 -0.571252 0.489345 45 57.5 1 0.2 +548 1 1 1 53.9173 51.7308 47.4194 0.783452 0.346153 -0.516121 0.489345 45 57.5 1 0.2 +549 1 1 -1 53.7897 52.3421 47.73 0.757936 0.468429 -0.45399 0.489345 45 57.5 1 0.2 +550 1 1 1 52.27 53.7897 47.6579 0.45399 0.757936 -0.468429 0.489345 45 57.5 1 0.2 +551 1 1 -1 52.9389 53.441 47.8734 0.587785 0.688191 -0.425325 0.489345 45 57.5 1 0.2 +552 1 1 1 52.5806 53.9173 48.2692 0.516121 0.783452 -0.346153 0.489345 45 57.5 1 0.2 +553 1 1 -1 53.5355 53.0075 48.1413 0.707107 0.601501 -0.371748 0.489345 45 57.5 1 0.2 +554 1 1 1 53.2371 53.5116 48.52 0.647412 0.70231 -0.296004 0.489345 45 57.5 1 0.2 +555 1 1 -1 52.8563 53.9632 48.9349 0.571252 0.792649 -0.213023 0.489345 45 57.5 1 0.2 +556 1 1 1 52.8213 52.5669 46.7671 0.564254 0.513375 -0.646578 0.489345 45 57.5 1 0.2 +557 1 1 -1 53.2329 52.8213 47.4331 0.646578 0.564254 -0.513375 0.489345 45 57.5 1 0.2 +558 1 1 1 52.5669 53.2329 47.1787 0.513375 0.646578 -0.564254 0.489345 45 57.5 1 0.2 +559 1 1 -1 48.9349 47.1437 46.0368 -0.213023 -0.571252 -0.792649 0.489345 45 57.5 1 0.2 +560 1 1 1 48.2692 47.4194 46.0827 -0.346153 -0.516121 -0.783452 0.489345 45 57.5 1 0.2 +561 1 1 -1 47.6579 47.73 46.2103 -0.468429 -0.45399 -0.757936 0.489345 45 57.5 1 0.2 +562 1 1 1 47.8734 47.0611 46.559 -0.425325 -0.587785 -0.688191 0.489345 45 57.5 1 0.2 +563 1 1 -1 48.52 46.7629 46.4884 -0.296004 -0.647412 -0.70231 0.489345 45 57.5 1 0.2 +564 1 1 1 48.1413 46.4645 46.9925 -0.371748 -0.707107 -0.601501 0.489345 45 57.5 1 0.2 +565 1 1 -1 46.9925 48.1413 46.4645 -0.601501 -0.371748 -0.707107 0.489345 45 57.5 1 0.2 +566 1 1 1 46.4884 48.52 46.7629 -0.70231 -0.296004 -0.647412 0.489345 45 57.5 1 0.2 +567 1 1 -1 46.559 47.8734 47.0611 -0.688191 -0.425325 -0.587785 0.489345 45 57.5 1 0.2 +568 1 1 1 46.0368 48.9349 47.1437 -0.792649 -0.213023 -0.571252 0.489345 45 57.5 1 0.2 +569 1 1 -1 46.0827 48.2692 47.4194 -0.783452 -0.346153 -0.516121 0.489345 45 57.5 1 0.2 +570 1 1 1 46.2103 47.6579 47.73 -0.757936 -0.468429 -0.45399 0.489345 45 57.5 1 0.2 +571 1 1 -1 47.73 46.2103 47.6579 -0.45399 -0.757936 -0.468429 0.489345 45 57.5 1 0.2 +572 1 1 1 47.0611 46.559 47.8734 -0.587785 -0.688191 -0.425325 0.489345 45 57.5 1 0.2 +573 1 1 -1 47.4194 46.0827 48.2692 -0.516121 -0.783452 -0.346153 0.489345 45 57.5 1 0.2 +574 1 1 1 46.4645 46.9925 48.1413 -0.707107 -0.601501 -0.371748 0.489345 45 57.5 1 0.2 +575 1 1 -1 46.7629 46.4884 48.52 -0.647412 -0.70231 -0.296004 0.489345 45 57.5 1 0.2 +576 1 1 1 47.1437 46.0368 48.9349 -0.571252 -0.792649 -0.213023 0.489345 45 57.5 1 0.2 +577 1 1 -1 47.1787 47.4331 46.7671 -0.564254 -0.513375 -0.646578 0.489345 45 57.5 1 0.2 +578 1 1 1 46.7671 47.1787 47.4331 -0.646578 -0.564254 -0.513375 0.489345 45 57.5 1 0.2 +579 1 1 -1 47.4331 46.7671 47.1787 -0.513375 -0.646578 -0.564254 0.489345 45 57.5 1 0.2 +580 1 1 1 51.0651 47.1437 46.0368 0.213023 -0.571252 -0.792649 0.489345 45 57.5 1 0.2 +581 1 1 -1 51.48 46.7629 46.4884 0.296004 -0.647412 -0.70231 0.489345 45 57.5 1 0.2 +582 1 1 1 51.8587 46.4645 46.9925 0.371748 -0.707107 -0.601501 0.489345 45 57.5 1 0.2 +583 1 1 -1 52.1266 47.0611 46.559 0.425325 -0.587785 -0.688191 0.489345 45 57.5 1 0.2 +584 1 1 1 51.7308 47.4194 46.0827 0.346153 -0.516121 -0.783452 0.489345 45 57.5 1 0.2 +585 1 1 -1 52.3421 47.73 46.2103 0.468429 -0.45399 -0.757936 0.489345 45 57.5 1 0.2 +586 1 1 1 52.27 46.2103 47.6579 0.45399 -0.757936 -0.468429 0.489345 45 57.5 1 0.2 +587 1 1 -1 52.5806 46.0827 48.2692 0.516121 -0.783452 -0.346153 0.489345 45 57.5 1 0.2 +588 1 1 1 52.9389 46.559 47.8734 0.587785 -0.688191 -0.425325 0.489345 45 57.5 1 0.2 +589 1 1 -1 52.8563 46.0368 48.9349 0.571252 -0.792649 -0.213023 0.489345 45 57.5 1 0.2 +590 1 1 1 53.2371 46.4884 48.52 0.647412 -0.70231 -0.296004 0.489345 45 57.5 1 0.2 +591 1 1 -1 53.5355 46.9925 48.1413 0.707107 -0.601501 -0.371748 0.489345 45 57.5 1 0.2 +592 1 1 1 53.0075 48.1413 46.4645 0.601501 -0.371748 -0.707107 0.489345 45 57.5 1 0.2 +593 1 1 -1 53.441 47.8734 47.0611 0.688191 -0.425325 -0.587785 0.489345 45 57.5 1 0.2 +594 1 1 1 53.5116 48.52 46.7629 0.70231 -0.296004 -0.647412 0.489345 45 57.5 1 0.2 +595 1 1 -1 53.7897 47.6579 47.73 0.757936 -0.468429 -0.45399 0.489345 45 57.5 1 0.2 +596 1 1 1 53.9173 48.2692 47.4194 0.783452 -0.346153 -0.516121 0.489345 45 57.5 1 0.2 +597 1 1 -1 53.9632 48.9349 47.1437 0.792649 -0.213023 -0.571252 0.489345 45 57.5 1 0.2 +598 1 1 1 52.5669 46.7671 47.1787 0.513375 -0.646578 -0.564254 0.489345 45 57.5 1 0.2 +599 1 1 -1 53.2329 47.1787 47.4331 0.646578 -0.564254 -0.513375 0.489345 45 57.5 1 0.2 +600 1 1 1 52.8213 47.4331 46.7671 0.564254 -0.513375 -0.646578 0.489345 45 57.5 1 0.2 +601 1 1 -1 48.9349 47.1437 53.9632 -0.213023 -0.571252 0.792649 0.489345 45 57.5 1 0.2 +602 1 1 1 48.52 46.7629 53.5116 -0.296004 -0.647412 0.70231 0.489345 45 57.5 1 0.2 +603 1 1 -1 48.1413 46.4645 53.0075 -0.371748 -0.707107 0.601501 0.489345 45 57.5 1 0.2 +604 1 1 1 47.8734 47.0611 53.441 -0.425325 -0.587785 0.688191 0.489345 45 57.5 1 0.2 +605 1 1 -1 48.2692 47.4194 53.9173 -0.346153 -0.516121 0.783452 0.489345 45 57.5 1 0.2 +606 1 1 1 47.6579 47.73 53.7897 -0.468429 -0.45399 0.757936 0.489345 45 57.5 1 0.2 +607 1 1 -1 47.73 46.2103 52.3421 -0.45399 -0.757936 0.468429 0.489345 45 57.5 1 0.2 +608 1 1 1 47.4194 46.0827 51.7308 -0.516121 -0.783452 0.346153 0.489345 45 57.5 1 0.2 +609 1 1 -1 47.0611 46.559 52.1266 -0.587785 -0.688191 0.425325 0.489345 45 57.5 1 0.2 +610 1 1 1 47.1437 46.0368 51.0651 -0.571252 -0.792649 0.213023 0.489345 45 57.5 1 0.2 +611 1 1 -1 46.7629 46.4884 51.48 -0.647412 -0.70231 0.296004 0.489345 45 57.5 1 0.2 +612 1 1 1 46.4645 46.9925 51.8587 -0.707107 -0.601501 0.371748 0.489345 45 57.5 1 0.2 +613 1 1 -1 46.9925 48.1413 53.5355 -0.601501 -0.371748 0.707107 0.489345 45 57.5 1 0.2 +614 1 1 1 46.559 47.8734 52.9389 -0.688191 -0.425325 0.587785 0.489345 45 57.5 1 0.2 +615 1 1 -1 46.4884 48.52 53.2371 -0.70231 -0.296004 0.647412 0.489345 45 57.5 1 0.2 +616 1 1 1 46.2103 47.6579 52.27 -0.757936 -0.468429 0.45399 0.489345 45 57.5 1 0.2 +617 1 1 -1 46.0827 48.2692 52.5806 -0.783452 -0.346153 0.516121 0.489345 45 57.5 1 0.2 +618 1 1 1 46.0368 48.9349 52.8563 -0.792649 -0.213023 0.571252 0.489345 45 57.5 1 0.2 +619 1 1 -1 47.4331 46.7671 52.8213 -0.513375 -0.646578 0.564254 0.489345 45 57.5 1 0.2 +620 1 1 1 46.7671 47.1787 52.5669 -0.646578 -0.564254 0.513375 0.489345 45 57.5 1 0.2 +621 1 1 -1 47.1787 47.4331 53.2329 -0.564254 -0.513375 0.646578 0.489345 45 57.5 1 0.2 +622 1 1 1 51.0651 47.1437 53.9632 0.213023 -0.571252 0.792649 0.489345 45 57.5 1 0.2 +623 1 1 -1 51.7308 47.4194 53.9173 0.346153 -0.516121 0.783452 0.489345 45 57.5 1 0.2 +624 1 1 1 52.3421 47.73 53.7897 0.468429 -0.45399 0.757936 0.489345 45 57.5 1 0.2 +625 1 1 -1 52.1266 47.0611 53.441 0.425325 -0.587785 0.688191 0.489345 45 57.5 1 0.2 +626 1 1 1 51.48 46.7629 53.5116 0.296004 -0.647412 0.70231 0.489345 45 57.5 1 0.2 +627 1 1 -1 51.8587 46.4645 53.0075 0.371748 -0.707107 0.601501 0.489345 45 57.5 1 0.2 +628 1 1 1 53.0075 48.1413 53.5355 0.601501 -0.371748 0.707107 0.489345 45 57.5 1 0.2 +629 1 1 -1 53.5116 48.52 53.2371 0.70231 -0.296004 0.647412 0.489345 45 57.5 1 0.2 +630 1 1 1 53.441 47.8734 52.9389 0.688191 -0.425325 0.587785 0.489345 45 57.5 1 0.2 +631 1 1 -1 53.9632 48.9349 52.8563 0.792649 -0.213023 0.571252 0.489345 45 57.5 1 0.2 +632 1 1 1 53.9173 48.2692 52.5806 0.783452 -0.346153 0.516121 0.489345 45 57.5 1 0.2 +633 1 1 -1 53.7897 47.6579 52.27 0.757936 -0.468429 0.45399 0.489345 45 57.5 1 0.2 +634 1 1 1 52.27 46.2103 52.3421 0.45399 -0.757936 0.468429 0.489345 45 57.5 1 0.2 +635 1 1 -1 52.9389 46.559 52.1266 0.587785 -0.688191 0.425325 0.489345 45 57.5 1 0.2 +636 1 1 1 52.5806 46.0827 51.7308 0.516121 -0.783452 0.346153 0.489345 45 57.5 1 0.2 +637 1 1 -1 53.5355 46.9925 51.8587 0.707107 -0.601501 0.371748 0.489345 45 57.5 1 0.2 +638 1 1 1 53.2371 46.4884 51.48 0.647412 -0.70231 0.296004 0.489345 45 57.5 1 0.2 +639 1 1 -1 52.8563 46.0368 51.0651 0.571252 -0.792649 0.213023 0.489345 45 57.5 1 0.2 +640 1 1 1 52.8213 47.4331 53.2329 0.564254 -0.513375 0.646578 0.489345 45 57.5 1 0.2 +641 1 1 -1 53.2329 47.1787 52.5669 0.646578 -0.564254 0.513375 0.489345 45 57.5 1 0.2 +642 1 1 1 52.5669 46.7671 52.8213 0.513375 -0.646578 0.564254 0.489345 45 57.5 1 0.2 +643 2 2 1 50 50 57 0 0 1 0.489345 45 57.5 80 0 diff --git a/examples/PACKAGES/dielectric/in.nopbc b/examples/PACKAGES/dielectric/in.nopbc index cbb0d45377..724ad8456a 100644 --- a/examples/PACKAGES/dielectric/in.nopbc +++ b/examples/PACKAGES/dielectric/in.nopbc @@ -18,7 +18,7 @@ read_data ${data} group interface type 1 group ions type 2 3 -pair_style lj/cut/coul/cut/dielectric 1.122 20.0 +pair_style lj/cut/coul/cut/dielectric 1.122 12.0 pair_coeff * * 1.0 1.0 pair_coeff 1 1 0.0 1.0 @@ -27,7 +27,7 @@ neigh_modify one 5000 #compute ef all efield/atom #dump 1 all custom 100 all.dump id mol type q x y z #c_ef[1] c_ef[2] c_ef[3] # -#dump 2 interface custom 100 interface.dump id mol type q x y z #c_ef[1] c_ef[2] c_ef[3] +dump 2 interface custom 100 interface.dump id mol type q x y z #c_ef[1] c_ef[2] c_ef[3] #dump_modify 1 sort id fix 1 ions nve diff --git a/src/DIELECTRIC/fix_polarize_functional.cpp b/src/DIELECTRIC/fix_polarize_functional.cpp index d751bcd6ce..a0dc034818 100644 --- a/src/DIELECTRIC/fix_polarize_functional.cpp +++ b/src/DIELECTRIC/fix_polarize_functional.cpp @@ -502,11 +502,11 @@ int FixPolarizeFunctional::modify_param(int narg, char **arg) int set_charge = 0; double ediff = utils::numeric(FLERR, arg[iarg + 1], false, lmp); double emean = utils::numeric(FLERR, arg[iarg + 2], false, lmp); - if (strcmp(arg[iarg + 3], "nullptr") != 0) + if (strcmp(arg[iarg + 3], "NULL") != 0) epsiloni = utils::numeric(FLERR, arg[iarg + 3], false, lmp); - if (strcmp(arg[iarg + 4], "nullptr") != 0) + if (strcmp(arg[iarg + 4], "NULL") != 0) areai = utils::numeric(FLERR, arg[iarg + 4], false, lmp); - if (strcmp(arg[iarg + 5], "nullptr") != 0) { + if (strcmp(arg[iarg + 5], "NULL") != 0) { q_unscaled = utils::numeric(FLERR, arg[iarg + 5], false, lmp); set_charge = 1; } From b65623ef1fa281c15d13cb40dfa7eac945216eec Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Tue, 7 Mar 2023 11:57:49 -0600 Subject: [PATCH 261/448] Added back comments to data.sphere --- examples/PACKAGES/dielectric/data.sphere | 1288 +++++++++++----------- 1 file changed, 644 insertions(+), 644 deletions(-) diff --git a/examples/PACKAGES/dielectric/data.sphere b/examples/PACKAGES/dielectric/data.sphere index ede3849635..0c22c2d560 100644 --- a/examples/PACKAGES/dielectric/data.sphere +++ b/examples/PACKAGES/dielectric/data.sphere @@ -1,4 +1,4 @@ -LAMMPS data file: sphere radius = 5; ion distance to center = 7, epsilon inside = 35 outside = 80 +LAMMPS data file: a single ion near a dielectric sphere (radius = 5); ion distance to sphere center = 7; epsilon inside sphere = 35 outside = 80 643 atoms 3 atom types @@ -14,648 +14,648 @@ Masses 2 1 3 1 -Atoms # dielectric +Atoms # dielectric: id mol type q x y z normx normy normz area_per_patch ed em epsilon mean_curvature -1 1 1 -1 50 52.6287 45.7467 0 0.525731 -0.850651 0.489345 45 57.5 1 0.2 -2 1 1 1 50.4054 53.0782 46.0808 0.0810867 0.615642 -0.783843 0.489345 45 57.5 1 0.2 -3 1 1 -1 49.5946 53.0782 46.0808 -0.0810867 0.615642 -0.783843 0.489345 45 57.5 1 0.2 -4 1 1 1 50.8031 53.4689 46.4898 0.160622 0.693781 -0.702046 0.489345 45 57.5 1 0.2 -5 1 1 -1 50 53.5145 46.4436 0 0.702907 -0.711282 0.489345 45 57.5 1 0.2 -6 1 1 1 49.1969 53.4689 46.4898 -0.160622 0.693781 -0.702046 0.489345 45 57.5 1 0.2 -7 1 1 -1 51.1854 53.7933 46.9659 0.237086 0.758653 -0.606824 0.489345 45 57.5 1 0.2 -8 1 1 1 50.4057 53.901 46.8988 0.0811424 0.780205 -0.620239 0.489345 45 57.5 1 0.2 -9 1 1 -1 51.5451 54.0451 47.5 0.309017 0.809017 -0.499999 0.489345 45 57.5 1 0.2 -10 1 1 1 50.7822 54.2009 47.4037 0.156435 0.840178 -0.519258 0.489345 45 57.5 1 0.2 -11 1 1 -1 50 54.2533 47.3713 0 0.850651 -0.52573 0.489345 45 57.5 1 0.2 -12 1 1 1 49.5943 53.901 46.8988 -0.0811424 0.780205 -0.620239 0.489345 45 57.5 1 0.2 -13 1 1 -1 48.8146 53.7933 46.9659 -0.237086 0.758653 -0.606824 0.489345 45 57.5 1 0.2 -14 1 1 1 49.2178 54.2009 47.4037 -0.156435 0.840178 -0.519258 0.489345 45 57.5 1 0.2 -15 1 1 -1 48.4549 54.0451 47.5 -0.309017 0.809017 -0.499999 0.489345 45 57.5 1 0.2 -16 1 1 1 51.8752 54.2196 48.0819 0.375038 0.843912 -0.383614 0.489345 45 57.5 1 0.2 -17 1 1 -1 51.1934 54.455 48.0691 0.238678 0.891006 -0.386187 0.489345 45 57.5 1 0.2 -18 1 1 1 52.1694 54.3133 48.7005 0.433888 0.862669 -0.259892 0.489345 45 57.5 1 0.2 -19 1 1 -1 51.5063 54.5812 48.6796 0.301259 0.916244 -0.264082 0.489345 45 57.5 1 0.2 -20 1 1 1 50.8123 54.7553 48.6857 0.16246 0.951056 -0.262865 0.489345 45 57.5 1 0.2 -21 1 1 -1 52.4222 54.3246 49.344 0.484441 0.864929 -0.1312 0.489345 45 57.5 1 0.2 -22 1 1 1 51.7911 54.6215 49.3417 0.358229 0.924304 -0.131656 0.489345 45 57.5 1 0.2 -23 1 1 -1 52.6287 54.2533 50 0.525731 0.850651 0 0.489345 45 57.5 1 0.2 -24 1 1 1 52.0168 54.5752 50 0.403355 0.915043 0 0.489345 45 57.5 1 0.2 -25 1 1 -1 51.3663 54.8097 50 0.273267 0.961938 0 0.489345 45 57.5 1 0.2 -26 1 1 1 51.1006 54.832 49.336 0.220117 0.966393 -0.132793 0.489345 45 57.5 1 0.2 -27 1 1 -1 50.4112 54.9384 49.3346 0.0822426 0.987688 -0.133071 0.489345 45 57.5 1 0.2 -28 1 1 1 50.6898 54.9522 50 0.137952 0.990439 0 0.489345 45 57.5 1 0.2 -29 1 1 -1 50 55 50 0 1 0 0.489345 45 57.5 1 0.2 -30 1 1 1 48.8066 54.455 48.0691 -0.238678 0.891006 -0.386187 0.489345 45 57.5 1 0.2 -31 1 1 -1 48.1248 54.2196 48.0819 -0.375038 0.843912 -0.383614 0.489345 45 57.5 1 0.2 -32 1 1 1 49.1877 54.7553 48.6857 -0.16246 0.951056 -0.262865 0.489345 45 57.5 1 0.2 -33 1 1 -1 48.4937 54.5812 48.6796 -0.301259 0.916244 -0.264082 0.489345 45 57.5 1 0.2 -34 1 1 1 47.8306 54.3133 48.7005 -0.433888 0.862669 -0.259892 0.489345 45 57.5 1 0.2 -35 1 1 -1 49.5888 54.9384 49.3346 -0.0822426 0.987688 -0.133071 0.489345 45 57.5 1 0.2 -36 1 1 1 48.8994 54.832 49.336 -0.220117 0.966393 -0.132793 0.489345 45 57.5 1 0.2 -37 1 1 -1 49.3102 54.9522 50 -0.137952 0.990439 0 0.489345 45 57.5 1 0.2 -38 1 1 1 48.6337 54.8097 50 -0.273267 0.961938 0 0.489345 45 57.5 1 0.2 -39 1 1 -1 48.2089 54.6215 49.3417 -0.358229 0.924304 -0.131656 0.489345 45 57.5 1 0.2 -40 1 1 1 47.5778 54.3246 49.344 -0.484441 0.864929 -0.1312 0.489345 45 57.5 1 0.2 -41 1 1 -1 47.9832 54.5752 50 -0.403355 0.915043 0 0.489345 45 57.5 1 0.2 -42 1 1 1 47.3713 54.2533 50 -0.525731 0.850651 0 0.489345 45 57.5 1 0.2 -43 1 1 -1 50.4116 54.5649 48.002 0.0823234 0.912983 -0.399606 0.489345 45 57.5 1 0.2 -44 1 1 1 50 54.8193 48.668 0 0.963861 -0.266405 0.489345 45 57.5 1 0.2 -45 1 1 -1 49.5884 54.5649 48.002 -0.0823234 0.912983 -0.399606 0.489345 45 57.5 1 0.2 -46 1 1 1 50 52.6287 54.2533 0 0.525731 0.850651 0.489345 45 57.5 1 0.2 -47 1 1 -1 49.5946 53.0782 53.9192 -0.0810867 0.615642 0.783843 0.489345 45 57.5 1 0.2 -48 1 1 1 50.4054 53.0782 53.9192 0.0810867 0.615642 0.783843 0.489345 45 57.5 1 0.2 -49 1 1 -1 49.1969 53.4689 53.5102 -0.160622 0.693781 0.702046 0.489345 45 57.5 1 0.2 -50 1 1 1 50 53.5145 53.5564 0 0.702907 0.711282 0.489345 45 57.5 1 0.2 -51 1 1 -1 50.8031 53.4689 53.5102 0.160622 0.693781 0.702046 0.489345 45 57.5 1 0.2 -52 1 1 1 48.8146 53.7933 53.0341 -0.237086 0.758653 0.606824 0.489345 45 57.5 1 0.2 -53 1 1 -1 49.5943 53.901 53.1012 -0.0811424 0.780205 0.620239 0.489345 45 57.5 1 0.2 -54 1 1 1 48.4549 54.0451 52.5 -0.309017 0.809017 0.499999 0.489345 45 57.5 1 0.2 -55 1 1 -1 49.2178 54.2009 52.5963 -0.156435 0.840178 0.519258 0.489345 45 57.5 1 0.2 -56 1 1 1 50 54.2533 52.6287 0 0.850651 0.52573 0.489345 45 57.5 1 0.2 -57 1 1 -1 50.4057 53.901 53.1012 0.0811424 0.780205 0.620239 0.489345 45 57.5 1 0.2 -58 1 1 1 51.1854 53.7933 53.0341 0.237086 0.758653 0.606824 0.489345 45 57.5 1 0.2 -59 1 1 -1 50.7822 54.2009 52.5963 0.156435 0.840178 0.519258 0.489345 45 57.5 1 0.2 -60 1 1 1 51.5451 54.0451 52.5 0.309017 0.809017 0.499999 0.489345 45 57.5 1 0.2 -61 1 1 -1 48.1248 54.2196 51.9181 -0.375038 0.843912 0.383614 0.489345 45 57.5 1 0.2 -62 1 1 1 48.8066 54.455 51.9309 -0.238678 0.891006 0.386187 0.489345 45 57.5 1 0.2 -63 1 1 -1 47.8306 54.3133 51.2995 -0.433888 0.862669 0.259892 0.489345 45 57.5 1 0.2 -64 1 1 1 48.4937 54.5812 51.3204 -0.301259 0.916244 0.264082 0.489345 45 57.5 1 0.2 -65 1 1 -1 49.1877 54.7553 51.3143 -0.16246 0.951056 0.262865 0.489345 45 57.5 1 0.2 -66 1 1 1 47.5778 54.3246 50.656 -0.484441 0.864929 0.1312 0.489345 45 57.5 1 0.2 -67 1 1 -1 48.2089 54.6215 50.6583 -0.358229 0.924304 0.131656 0.489345 45 57.5 1 0.2 -68 1 1 1 48.8994 54.832 50.664 -0.220117 0.966393 0.132793 0.489345 45 57.5 1 0.2 -69 1 1 -1 49.5888 54.9384 50.6654 -0.0822426 0.987688 0.133071 0.489345 45 57.5 1 0.2 -70 1 1 1 51.1934 54.455 51.9309 0.238678 0.891006 0.386187 0.489345 45 57.5 1 0.2 -71 1 1 -1 51.8752 54.2196 51.9181 0.375038 0.843912 0.383614 0.489345 45 57.5 1 0.2 -72 1 1 1 50.8123 54.7553 51.3143 0.16246 0.951056 0.262865 0.489345 45 57.5 1 0.2 -73 1 1 -1 51.5063 54.5812 51.3204 0.301259 0.916244 0.264082 0.489345 45 57.5 1 0.2 -74 1 1 1 52.1694 54.3133 51.2995 0.433888 0.862669 0.259892 0.489345 45 57.5 1 0.2 -75 1 1 -1 50.4112 54.9384 50.6654 0.0822426 0.987688 0.133071 0.489345 45 57.5 1 0.2 -76 1 1 1 51.1006 54.832 50.664 0.220117 0.966393 0.132793 0.489345 45 57.5 1 0.2 -77 1 1 -1 51.7911 54.6215 50.6583 0.358229 0.924304 0.131656 0.489345 45 57.5 1 0.2 -78 1 1 1 52.4222 54.3246 50.656 0.484441 0.864929 0.1312 0.489345 45 57.5 1 0.2 -79 1 1 -1 49.5884 54.5649 51.998 -0.0823234 0.912983 0.399606 0.489345 45 57.5 1 0.2 -80 1 1 1 50 54.8193 51.332 0 0.963861 0.266405 0.489345 45 57.5 1 0.2 -81 1 1 -1 50.4116 54.5649 51.998 0.0823234 0.912983 0.399606 0.489345 45 57.5 1 0.2 -82 1 1 1 50 52.0168 54.5752 0 0.403355 0.915043 0.489345 45 57.5 1 0.2 -83 1 1 -1 49.344 52.4222 54.3246 -0.1312 0.484441 0.864929 0.489345 45 57.5 1 0.2 -84 1 1 1 50 51.3663 54.8097 0 0.273267 0.961938 0.489345 45 57.5 1 0.2 -85 1 1 -1 49.3417 51.7911 54.6215 -0.131656 0.358229 0.924304 0.489345 45 57.5 1 0.2 -86 1 1 1 48.7005 52.1694 54.3133 -0.259892 0.433888 0.862669 0.489345 45 57.5 1 0.2 -87 1 1 -1 50 50.6898 54.9522 0 0.137952 0.990439 0.489345 45 57.5 1 0.2 -88 1 1 1 49.336 51.1006 54.832 -0.132793 0.220117 0.966393 0.489345 45 57.5 1 0.2 -89 1 1 -1 50 50 55 0 0 1 0.489345 45 57.5 1 0.2 -90 1 1 1 49.3346 50.4112 54.9384 -0.133071 0.0822426 0.987688 0.489345 45 57.5 1 0.2 -91 1 1 -1 48.6857 50.8123 54.7553 -0.262865 0.16246 0.951056 0.489345 45 57.5 1 0.2 -92 1 1 1 48.6796 51.5063 54.5812 -0.264082 0.301259 0.916244 0.489345 45 57.5 1 0.2 -93 1 1 -1 48.0819 51.8752 54.2196 -0.383614 0.375038 0.843912 0.489345 45 57.5 1 0.2 -94 1 1 1 48.0691 51.1934 54.455 -0.386187 0.238678 0.891006 0.489345 45 57.5 1 0.2 -95 1 1 -1 47.5 51.5451 54.0451 -0.499999 0.309017 0.809017 0.489345 45 57.5 1 0.2 -96 1 1 1 50 49.3102 54.9522 0 -0.137952 0.990439 0.489345 45 57.5 1 0.2 -97 1 1 -1 49.3346 49.5888 54.9384 -0.133071 -0.0822426 0.987688 0.489345 45 57.5 1 0.2 -98 1 1 1 50 48.6337 54.8097 0 -0.273267 0.961938 0.489345 45 57.5 1 0.2 -99 1 1 -1 49.336 48.8994 54.832 -0.132793 -0.220117 0.966393 0.489345 45 57.5 1 0.2 -100 1 1 1 48.6857 49.1877 54.7553 -0.262865 -0.16246 0.951056 0.489345 45 57.5 1 0.2 -101 1 1 -1 50 47.9832 54.5752 0 -0.403355 0.915043 0.489345 45 57.5 1 0.2 -102 1 1 1 49.3417 48.2089 54.6215 -0.131656 -0.358229 0.924304 0.489345 45 57.5 1 0.2 -103 1 1 -1 50 47.3713 54.2533 0 -0.525731 0.850651 0.489345 45 57.5 1 0.2 -104 1 1 1 49.344 47.5778 54.3246 -0.1312 -0.484441 0.864929 0.489345 45 57.5 1 0.2 -105 1 1 -1 48.7005 47.8306 54.3133 -0.259892 -0.433888 0.862669 0.489345 45 57.5 1 0.2 -106 1 1 1 48.6796 48.4937 54.5812 -0.264082 -0.301259 0.916244 0.489345 45 57.5 1 0.2 -107 1 1 -1 48.0691 48.8066 54.455 -0.386187 -0.238678 0.891006 0.489345 45 57.5 1 0.2 -108 1 1 1 48.0819 48.1248 54.2196 -0.383614 -0.375038 0.843912 0.489345 45 57.5 1 0.2 -109 1 1 -1 47.5 48.4549 54.0451 -0.499999 -0.309017 0.809017 0.489345 45 57.5 1 0.2 -110 1 1 1 47.4037 50.7822 54.2009 -0.519258 0.156435 0.840178 0.489345 45 57.5 1 0.2 -111 1 1 -1 46.9659 51.1854 53.7933 -0.606824 0.237086 0.758653 0.489345 45 57.5 1 0.2 -112 1 1 1 47.3713 50 54.2533 -0.52573 0 0.850651 0.489345 45 57.5 1 0.2 -113 1 1 -1 46.8988 50.4057 53.901 -0.620239 0.0811424 0.780205 0.489345 45 57.5 1 0.2 -114 1 1 1 46.4898 50.8031 53.4689 -0.702046 0.160622 0.693781 0.489345 45 57.5 1 0.2 -115 1 1 -1 47.4037 49.2178 54.2009 -0.519258 -0.156435 0.840178 0.489345 45 57.5 1 0.2 -116 1 1 1 46.8988 49.5943 53.901 -0.620239 -0.0811424 0.780205 0.489345 45 57.5 1 0.2 -117 1 1 -1 46.9659 48.8146 53.7933 -0.606824 -0.237086 0.758653 0.489345 45 57.5 1 0.2 -118 1 1 1 46.4898 49.1969 53.4689 -0.702046 -0.160622 0.693781 0.489345 45 57.5 1 0.2 -119 1 1 -1 46.4436 50 53.5145 -0.711282 0 0.702907 0.489345 45 57.5 1 0.2 -120 1 1 1 46.0808 50.4054 53.0782 -0.783843 0.0810867 0.615642 0.489345 45 57.5 1 0.2 -121 1 1 -1 46.0808 49.5946 53.0782 -0.783843 -0.0810867 0.615642 0.489345 45 57.5 1 0.2 -122 1 1 1 45.7467 50 52.6287 -0.850651 0 0.525731 0.489345 45 57.5 1 0.2 -123 1 1 -1 48.668 50 54.8193 -0.266405 0 0.963861 0.489345 45 57.5 1 0.2 -124 1 1 1 48.002 49.5884 54.5649 -0.399606 -0.0823234 0.912983 0.489345 45 57.5 1 0.2 -125 1 1 -1 48.002 50.4116 54.5649 -0.399606 0.0823234 0.912983 0.489345 45 57.5 1 0.2 -126 1 1 1 50.656 52.4222 54.3246 0.1312 0.484441 0.864929 0.489345 45 57.5 1 0.2 -127 1 1 -1 51.2995 52.1694 54.3133 0.259892 0.433888 0.862669 0.489345 45 57.5 1 0.2 -128 1 1 1 50.6583 51.7911 54.6215 0.131656 0.358229 0.924304 0.489345 45 57.5 1 0.2 -129 1 1 -1 51.9181 51.8752 54.2196 0.383614 0.375038 0.843912 0.489345 45 57.5 1 0.2 -130 1 1 1 51.3204 51.5063 54.5812 0.264082 0.301259 0.916244 0.489345 45 57.5 1 0.2 -131 1 1 -1 52.5 51.5451 54.0451 0.499999 0.309017 0.809017 0.489345 45 57.5 1 0.2 -132 1 1 1 51.9309 51.1934 54.455 0.386187 0.238678 0.891006 0.489345 45 57.5 1 0.2 -133 1 1 -1 51.3143 50.8123 54.7553 0.262865 0.16246 0.951056 0.489345 45 57.5 1 0.2 -134 1 1 1 50.664 51.1006 54.832 0.132793 0.220117 0.966393 0.489345 45 57.5 1 0.2 -135 1 1 -1 50.6654 50.4112 54.9384 0.133071 0.0822426 0.987688 0.489345 45 57.5 1 0.2 -136 1 1 1 53.0341 51.1854 53.7933 0.606824 0.237086 0.758653 0.489345 45 57.5 1 0.2 -137 1 1 -1 52.5963 50.7822 54.2009 0.519258 0.156435 0.840178 0.489345 45 57.5 1 0.2 -138 1 1 1 53.5102 50.8031 53.4689 0.702046 0.160622 0.693781 0.489345 45 57.5 1 0.2 -139 1 1 -1 53.1012 50.4057 53.901 0.620239 0.0811424 0.780205 0.489345 45 57.5 1 0.2 -140 1 1 1 52.6287 50 54.2533 0.52573 0 0.850651 0.489345 45 57.5 1 0.2 -141 1 1 -1 53.9192 50.4054 53.0782 0.783843 0.0810867 0.615642 0.489345 45 57.5 1 0.2 -142 1 1 1 53.5564 50 53.5145 0.711282 0 0.702907 0.489345 45 57.5 1 0.2 -143 1 1 -1 54.2533 50 52.6287 0.850651 0 0.525731 0.489345 45 57.5 1 0.2 -144 1 1 1 53.9192 49.5946 53.0782 0.783843 -0.0810867 0.615642 0.489345 45 57.5 1 0.2 -145 1 1 -1 53.5102 49.1969 53.4689 0.702046 -0.160622 0.693781 0.489345 45 57.5 1 0.2 -146 1 1 1 53.1012 49.5943 53.901 0.620239 -0.0811424 0.780205 0.489345 45 57.5 1 0.2 -147 1 1 -1 52.5963 49.2178 54.2009 0.519258 -0.156435 0.840178 0.489345 45 57.5 1 0.2 -148 1 1 1 53.0341 48.8146 53.7933 0.606824 -0.237086 0.758653 0.489345 45 57.5 1 0.2 -149 1 1 -1 52.5 48.4549 54.0451 0.499999 -0.309017 0.809017 0.489345 45 57.5 1 0.2 -150 1 1 1 50.6654 49.5888 54.9384 0.133071 -0.0822426 0.987688 0.489345 45 57.5 1 0.2 -151 1 1 -1 51.3143 49.1877 54.7553 0.262865 -0.16246 0.951056 0.489345 45 57.5 1 0.2 -152 1 1 1 50.664 48.8994 54.832 0.132793 -0.220117 0.966393 0.489345 45 57.5 1 0.2 -153 1 1 -1 51.9309 48.8066 54.455 0.386187 -0.238678 0.891006 0.489345 45 57.5 1 0.2 -154 1 1 1 51.3204 48.4937 54.5812 0.264082 -0.301259 0.916244 0.489345 45 57.5 1 0.2 -155 1 1 -1 51.9181 48.1248 54.2196 0.383614 -0.375038 0.843912 0.489345 45 57.5 1 0.2 -156 1 1 1 51.2995 47.8306 54.3133 0.259892 -0.433888 0.862669 0.489345 45 57.5 1 0.2 -157 1 1 -1 50.6583 48.2089 54.6215 0.131656 -0.358229 0.924304 0.489345 45 57.5 1 0.2 -158 1 1 1 50.656 47.5778 54.3246 0.1312 -0.484441 0.864929 0.489345 45 57.5 1 0.2 -159 1 1 -1 51.998 50.4116 54.5649 0.399606 0.0823234 0.912983 0.489345 45 57.5 1 0.2 -160 1 1 1 51.998 49.5884 54.5649 0.399606 -0.0823234 0.912983 0.489345 45 57.5 1 0.2 -161 1 1 -1 51.332 50 54.8193 0.266405 0 0.963861 0.489345 45 57.5 1 0.2 -162 1 1 1 50 52.0168 45.4248 0 0.403355 -0.915043 0.489345 45 57.5 1 0.2 -163 1 1 -1 50.656 52.4222 45.6754 0.1312 0.484441 -0.864929 0.489345 45 57.5 1 0.2 -164 1 1 1 50 51.3663 45.1903 0 0.273267 -0.961938 0.489345 45 57.5 1 0.2 -165 1 1 -1 50.6583 51.7911 45.3785 0.131656 0.358229 -0.924304 0.489345 45 57.5 1 0.2 -166 1 1 1 51.2995 52.1694 45.6867 0.259892 0.433888 -0.862669 0.489345 45 57.5 1 0.2 -167 1 1 -1 50 50.6898 45.0478 0 0.137952 -0.990439 0.489345 45 57.5 1 0.2 -168 1 1 1 50.664 51.1006 45.168 0.132793 0.220117 -0.966393 0.489345 45 57.5 1 0.2 -169 1 1 -1 50 50 45 0 0 -1 0.489345 45 57.5 1 0.2 -170 1 1 1 50.6654 50.4112 45.0616 0.133071 0.0822426 -0.987688 0.489345 45 57.5 1 0.2 -171 1 1 -1 51.3143 50.8123 45.2447 0.262865 0.16246 -0.951056 0.489345 45 57.5 1 0.2 -172 1 1 1 51.3204 51.5063 45.4188 0.264082 0.301259 -0.916244 0.489345 45 57.5 1 0.2 -173 1 1 -1 51.9181 51.8752 45.7804 0.383614 0.375038 -0.843912 0.489345 45 57.5 1 0.2 -174 1 1 1 51.9309 51.1934 45.545 0.386187 0.238678 -0.891006 0.489345 45 57.5 1 0.2 -175 1 1 -1 52.5 51.5451 45.9549 0.499999 0.309017 -0.809017 0.489345 45 57.5 1 0.2 -176 1 1 1 50 49.3102 45.0478 0 -0.137952 -0.990439 0.489345 45 57.5 1 0.2 -177 1 1 -1 50.6654 49.5888 45.0616 0.133071 -0.0822426 -0.987688 0.489345 45 57.5 1 0.2 -178 1 1 1 50 48.6337 45.1903 0 -0.273267 -0.961938 0.489345 45 57.5 1 0.2 -179 1 1 -1 50.664 48.8994 45.168 0.132793 -0.220117 -0.966393 0.489345 45 57.5 1 0.2 -180 1 1 1 51.3143 49.1877 45.2447 0.262865 -0.16246 -0.951056 0.489345 45 57.5 1 0.2 -181 1 1 -1 50 47.9832 45.4248 0 -0.403355 -0.915043 0.489345 45 57.5 1 0.2 -182 1 1 1 50.6583 48.2089 45.3785 0.131656 -0.358229 -0.924304 0.489345 45 57.5 1 0.2 -183 1 1 -1 50 47.3713 45.7467 0 -0.525731 -0.850651 0.489345 45 57.5 1 0.2 -184 1 1 1 50.656 47.5778 45.6754 0.1312 -0.484441 -0.864929 0.489345 45 57.5 1 0.2 -185 1 1 -1 51.2995 47.8306 45.6867 0.259892 -0.433888 -0.862669 0.489345 45 57.5 1 0.2 -186 1 1 1 51.3204 48.4937 45.4188 0.264082 -0.301259 -0.916244 0.489345 45 57.5 1 0.2 -187 1 1 -1 51.9309 48.8066 45.545 0.386187 -0.238678 -0.891006 0.489345 45 57.5 1 0.2 -188 1 1 1 51.9181 48.1248 45.7804 0.383614 -0.375038 -0.843912 0.489345 45 57.5 1 0.2 -189 1 1 -1 52.5 48.4549 45.9549 0.499999 -0.309017 -0.809017 0.489345 45 57.5 1 0.2 -190 1 1 1 52.5963 50.7822 45.7991 0.519258 0.156435 -0.840178 0.489345 45 57.5 1 0.2 -191 1 1 -1 53.0341 51.1854 46.2067 0.606824 0.237086 -0.758653 0.489345 45 57.5 1 0.2 -192 1 1 1 52.6287 50 45.7467 0.52573 0 -0.850651 0.489345 45 57.5 1 0.2 -193 1 1 -1 53.1012 50.4057 46.099 0.620239 0.0811424 -0.780205 0.489345 45 57.5 1 0.2 -194 1 1 1 53.5102 50.8031 46.5311 0.702046 0.160622 -0.693781 0.489345 45 57.5 1 0.2 -195 1 1 -1 52.5963 49.2178 45.7991 0.519258 -0.156435 -0.840178 0.489345 45 57.5 1 0.2 -196 1 1 1 53.1012 49.5943 46.099 0.620239 -0.0811424 -0.780205 0.489345 45 57.5 1 0.2 -197 1 1 -1 53.0341 48.8146 46.2067 0.606824 -0.237086 -0.758653 0.489345 45 57.5 1 0.2 -198 1 1 1 53.5102 49.1969 46.5311 0.702046 -0.160622 -0.693781 0.489345 45 57.5 1 0.2 -199 1 1 -1 53.5564 50 46.4855 0.711282 0 -0.702907 0.489345 45 57.5 1 0.2 -200 1 1 1 53.9192 50.4054 46.9218 0.783843 0.0810867 -0.615642 0.489345 45 57.5 1 0.2 -201 1 1 -1 53.9192 49.5946 46.9218 0.783843 -0.0810867 -0.615642 0.489345 45 57.5 1 0.2 -202 1 1 1 54.2533 50 47.3713 0.850651 0 -0.525731 0.489345 45 57.5 1 0.2 -203 1 1 -1 51.332 50 45.1807 0.266405 0 -0.963861 0.489345 45 57.5 1 0.2 -204 1 1 1 51.998 49.5884 45.4351 0.399606 -0.0823234 -0.912983 0.489345 45 57.5 1 0.2 -205 1 1 -1 51.998 50.4116 45.4351 0.399606 0.0823234 -0.912983 0.489345 45 57.5 1 0.2 -206 1 1 1 49.344 52.4222 45.6754 -0.1312 0.484441 -0.864929 0.489345 45 57.5 1 0.2 -207 1 1 -1 48.7005 52.1694 45.6867 -0.259892 0.433888 -0.862669 0.489345 45 57.5 1 0.2 -208 1 1 1 49.3417 51.7911 45.3785 -0.131656 0.358229 -0.924304 0.489345 45 57.5 1 0.2 -209 1 1 -1 48.0819 51.8752 45.7804 -0.383614 0.375038 -0.843912 0.489345 45 57.5 1 0.2 -210 1 1 1 48.6796 51.5063 45.4188 -0.264082 0.301259 -0.916244 0.489345 45 57.5 1 0.2 -211 1 1 -1 47.5 51.5451 45.9549 -0.499999 0.309017 -0.809017 0.489345 45 57.5 1 0.2 -212 1 1 1 48.0691 51.1934 45.545 -0.386187 0.238678 -0.891006 0.489345 45 57.5 1 0.2 -213 1 1 -1 48.6857 50.8123 45.2447 -0.262865 0.16246 -0.951056 0.489345 45 57.5 1 0.2 -214 1 1 1 49.336 51.1006 45.168 -0.132793 0.220117 -0.966393 0.489345 45 57.5 1 0.2 -215 1 1 -1 49.3346 50.4112 45.0616 -0.133071 0.0822426 -0.987688 0.489345 45 57.5 1 0.2 -216 1 1 1 46.9659 51.1854 46.2067 -0.606824 0.237086 -0.758653 0.489345 45 57.5 1 0.2 -217 1 1 -1 47.4037 50.7822 45.7991 -0.519258 0.156435 -0.840178 0.489345 45 57.5 1 0.2 -218 1 1 1 46.4898 50.8031 46.5311 -0.702046 0.160622 -0.693781 0.489345 45 57.5 1 0.2 -219 1 1 -1 46.8988 50.4057 46.099 -0.620239 0.0811424 -0.780205 0.489345 45 57.5 1 0.2 -220 1 1 1 47.3713 50 45.7467 -0.52573 0 -0.850651 0.489345 45 57.5 1 0.2 -221 1 1 -1 46.0808 50.4054 46.9218 -0.783843 0.0810867 -0.615642 0.489345 45 57.5 1 0.2 -222 1 1 1 46.4436 50 46.4855 -0.711282 0 -0.702907 0.489345 45 57.5 1 0.2 -223 1 1 -1 45.7467 50 47.3713 -0.850651 0 -0.525731 0.489345 45 57.5 1 0.2 -224 1 1 1 46.0808 49.5946 46.9218 -0.783843 -0.0810867 -0.615642 0.489345 45 57.5 1 0.2 -225 1 1 -1 46.4898 49.1969 46.5311 -0.702046 -0.160622 -0.693781 0.489345 45 57.5 1 0.2 -226 1 1 1 46.8988 49.5943 46.099 -0.620239 -0.0811424 -0.780205 0.489345 45 57.5 1 0.2 -227 1 1 -1 47.4037 49.2178 45.7991 -0.519258 -0.156435 -0.840178 0.489345 45 57.5 1 0.2 -228 1 1 1 46.9659 48.8146 46.2067 -0.606824 -0.237086 -0.758653 0.489345 45 57.5 1 0.2 -229 1 1 -1 47.5 48.4549 45.9549 -0.499999 -0.309017 -0.809017 0.489345 45 57.5 1 0.2 -230 1 1 1 49.3346 49.5888 45.0616 -0.133071 -0.0822426 -0.987688 0.489345 45 57.5 1 0.2 -231 1 1 -1 48.6857 49.1877 45.2447 -0.262865 -0.16246 -0.951056 0.489345 45 57.5 1 0.2 -232 1 1 1 49.336 48.8994 45.168 -0.132793 -0.220117 -0.966393 0.489345 45 57.5 1 0.2 -233 1 1 -1 48.0691 48.8066 45.545 -0.386187 -0.238678 -0.891006 0.489345 45 57.5 1 0.2 -234 1 1 1 48.6796 48.4937 45.4188 -0.264082 -0.301259 -0.916244 0.489345 45 57.5 1 0.2 -235 1 1 -1 48.0819 48.1248 45.7804 -0.383614 -0.375038 -0.843912 0.489345 45 57.5 1 0.2 -236 1 1 1 48.7005 47.8306 45.6867 -0.259892 -0.433888 -0.862669 0.489345 45 57.5 1 0.2 -237 1 1 -1 49.3417 48.2089 45.3785 -0.131656 -0.358229 -0.924304 0.489345 45 57.5 1 0.2 -238 1 1 1 49.344 47.5778 45.6754 -0.1312 -0.484441 -0.864929 0.489345 45 57.5 1 0.2 -239 1 1 -1 48.002 50.4116 45.4351 -0.399606 0.0823234 -0.912983 0.489345 45 57.5 1 0.2 -240 1 1 1 48.002 49.5884 45.4351 -0.399606 -0.0823234 -0.912983 0.489345 45 57.5 1 0.2 -241 1 1 -1 48.668 50 45.1807 -0.266405 0 -0.963861 0.489345 45 57.5 1 0.2 -242 1 1 1 50.4054 46.9218 53.9192 0.0810867 -0.615642 0.783843 0.489345 45 57.5 1 0.2 -243 1 1 -1 49.5946 46.9218 53.9192 -0.0810867 -0.615642 0.783843 0.489345 45 57.5 1 0.2 -244 1 1 1 50.8031 46.5311 53.5102 0.160622 -0.693781 0.702046 0.489345 45 57.5 1 0.2 -245 1 1 -1 50 46.4855 53.5564 0 -0.702907 0.711282 0.489345 45 57.5 1 0.2 -246 1 1 1 49.1969 46.5311 53.5102 -0.160622 -0.693781 0.702046 0.489345 45 57.5 1 0.2 -247 1 1 -1 51.1854 46.2067 53.0341 0.237086 -0.758653 0.606824 0.489345 45 57.5 1 0.2 -248 1 1 1 50.4057 46.099 53.1012 0.0811424 -0.780205 0.620239 0.489345 45 57.5 1 0.2 -249 1 1 -1 51.5451 45.9549 52.5 0.309017 -0.809017 0.499999 0.489345 45 57.5 1 0.2 -250 1 1 1 50.7822 45.7991 52.5963 0.156435 -0.840178 0.519258 0.489345 45 57.5 1 0.2 -251 1 1 -1 50 45.7467 52.6287 0 -0.850651 0.52573 0.489345 45 57.5 1 0.2 -252 1 1 1 49.5943 46.099 53.1012 -0.0811424 -0.780205 0.620239 0.489345 45 57.5 1 0.2 -253 1 1 -1 48.8146 46.2067 53.0341 -0.237086 -0.758653 0.606824 0.489345 45 57.5 1 0.2 -254 1 1 1 49.2178 45.7991 52.5963 -0.156435 -0.840178 0.519258 0.489345 45 57.5 1 0.2 -255 1 1 -1 48.4549 45.9549 52.5 -0.309017 -0.809017 0.499999 0.489345 45 57.5 1 0.2 -256 1 1 1 51.8752 45.7804 51.9181 0.375038 -0.843912 0.383614 0.489345 45 57.5 1 0.2 -257 1 1 -1 51.1934 45.545 51.9309 0.238678 -0.891006 0.386187 0.489345 45 57.5 1 0.2 -258 1 1 1 52.1694 45.6867 51.2995 0.433888 -0.862669 0.259892 0.489345 45 57.5 1 0.2 -259 1 1 -1 51.5063 45.4188 51.3204 0.301259 -0.916244 0.264082 0.489345 45 57.5 1 0.2 -260 1 1 1 50.8123 45.2447 51.3143 0.16246 -0.951056 0.262865 0.489345 45 57.5 1 0.2 -261 1 1 -1 52.4222 45.6754 50.656 0.484441 -0.864929 0.1312 0.489345 45 57.5 1 0.2 -262 1 1 1 51.7911 45.3785 50.6583 0.358229 -0.924304 0.131656 0.489345 45 57.5 1 0.2 -263 1 1 -1 52.6287 45.7467 50 0.525731 -0.850651 0 0.489345 45 57.5 1 0.2 -264 1 1 1 52.0168 45.4248 50 0.403355 -0.915043 0 0.489345 45 57.5 1 0.2 -265 1 1 -1 51.3663 45.1903 50 0.273267 -0.961938 0 0.489345 45 57.5 1 0.2 -266 1 1 1 51.1006 45.168 50.664 0.220117 -0.966393 0.132793 0.489345 45 57.5 1 0.2 -267 1 1 -1 50.4112 45.0616 50.6654 0.0822426 -0.987688 0.133071 0.489345 45 57.5 1 0.2 -268 1 1 1 50.6898 45.0478 50 0.137952 -0.990439 0 0.489345 45 57.5 1 0.2 -269 1 1 -1 50 45 50 0 -1 0 0.489345 45 57.5 1 0.2 -270 1 1 1 48.8066 45.545 51.9309 -0.238678 -0.891006 0.386187 0.489345 45 57.5 1 0.2 -271 1 1 -1 48.1248 45.7804 51.9181 -0.375038 -0.843912 0.383614 0.489345 45 57.5 1 0.2 -272 1 1 1 49.1877 45.2447 51.3143 -0.16246 -0.951056 0.262865 0.489345 45 57.5 1 0.2 -273 1 1 -1 48.4937 45.4188 51.3204 -0.301259 -0.916244 0.264082 0.489345 45 57.5 1 0.2 -274 1 1 1 47.8306 45.6867 51.2995 -0.433888 -0.862669 0.259892 0.489345 45 57.5 1 0.2 -275 1 1 -1 49.5888 45.0616 50.6654 -0.0822426 -0.987688 0.133071 0.489345 45 57.5 1 0.2 -276 1 1 1 48.8994 45.168 50.664 -0.220117 -0.966393 0.132793 0.489345 45 57.5 1 0.2 -277 1 1 -1 49.3102 45.0478 50 -0.137952 -0.990439 0 0.489345 45 57.5 1 0.2 -278 1 1 1 48.6337 45.1903 50 -0.273267 -0.961938 0 0.489345 45 57.5 1 0.2 -279 1 1 -1 48.2089 45.3785 50.6583 -0.358229 -0.924304 0.131656 0.489345 45 57.5 1 0.2 -280 1 1 1 47.5778 45.6754 50.656 -0.484441 -0.864929 0.1312 0.489345 45 57.5 1 0.2 -281 1 1 -1 47.9832 45.4248 50 -0.403355 -0.915043 0 0.489345 45 57.5 1 0.2 -282 1 1 1 47.3713 45.7467 50 -0.525731 -0.850651 0 0.489345 45 57.5 1 0.2 -283 1 1 -1 50.4116 45.4351 51.998 0.0823234 -0.912983 0.399606 0.489345 45 57.5 1 0.2 -284 1 1 1 50 45.1807 51.332 0 -0.963861 0.266405 0.489345 45 57.5 1 0.2 -285 1 1 -1 49.5884 45.4351 51.998 -0.0823234 -0.912983 0.399606 0.489345 45 57.5 1 0.2 -286 1 1 1 49.5946 46.9218 46.0808 -0.0810867 -0.615642 -0.783843 0.489345 45 57.5 1 0.2 -287 1 1 -1 50.4054 46.9218 46.0808 0.0810867 -0.615642 -0.783843 0.489345 45 57.5 1 0.2 -288 1 1 1 49.1969 46.5311 46.4898 -0.160622 -0.693781 -0.702046 0.489345 45 57.5 1 0.2 -289 1 1 -1 50 46.4855 46.4436 0 -0.702907 -0.711282 0.489345 45 57.5 1 0.2 -290 1 1 1 50.8031 46.5311 46.4898 0.160622 -0.693781 -0.702046 0.489345 45 57.5 1 0.2 -291 1 1 -1 48.8146 46.2067 46.9659 -0.237086 -0.758653 -0.606824 0.489345 45 57.5 1 0.2 -292 1 1 1 49.5943 46.099 46.8988 -0.0811424 -0.780205 -0.620239 0.489345 45 57.5 1 0.2 -293 1 1 -1 48.4549 45.9549 47.5 -0.309017 -0.809017 -0.499999 0.489345 45 57.5 1 0.2 -294 1 1 1 49.2178 45.7991 47.4037 -0.156435 -0.840178 -0.519258 0.489345 45 57.5 1 0.2 -295 1 1 -1 50 45.7467 47.3713 0 -0.850651 -0.52573 0.489345 45 57.5 1 0.2 -296 1 1 1 50.4057 46.099 46.8988 0.0811424 -0.780205 -0.620239 0.489345 45 57.5 1 0.2 -297 1 1 -1 51.1854 46.2067 46.9659 0.237086 -0.758653 -0.606824 0.489345 45 57.5 1 0.2 -298 1 1 1 50.7822 45.7991 47.4037 0.156435 -0.840178 -0.519258 0.489345 45 57.5 1 0.2 -299 1 1 -1 51.5451 45.9549 47.5 0.309017 -0.809017 -0.499999 0.489345 45 57.5 1 0.2 -300 1 1 1 48.1248 45.7804 48.0819 -0.375038 -0.843912 -0.383614 0.489345 45 57.5 1 0.2 -301 1 1 -1 48.8066 45.545 48.0691 -0.238678 -0.891006 -0.386187 0.489345 45 57.5 1 0.2 -302 1 1 1 47.8306 45.6867 48.7005 -0.433888 -0.862669 -0.259892 0.489345 45 57.5 1 0.2 -303 1 1 -1 48.4937 45.4188 48.6796 -0.301259 -0.916244 -0.264082 0.489345 45 57.5 1 0.2 -304 1 1 1 49.1877 45.2447 48.6857 -0.16246 -0.951056 -0.262865 0.489345 45 57.5 1 0.2 -305 1 1 -1 47.5778 45.6754 49.344 -0.484441 -0.864929 -0.1312 0.489345 45 57.5 1 0.2 -306 1 1 1 48.2089 45.3785 49.3417 -0.358229 -0.924304 -0.131656 0.489345 45 57.5 1 0.2 -307 1 1 -1 48.8994 45.168 49.336 -0.220117 -0.966393 -0.132793 0.489345 45 57.5 1 0.2 -308 1 1 1 49.5888 45.0616 49.3346 -0.0822426 -0.987688 -0.133071 0.489345 45 57.5 1 0.2 -309 1 1 -1 51.1934 45.545 48.0691 0.238678 -0.891006 -0.386187 0.489345 45 57.5 1 0.2 -310 1 1 1 51.8752 45.7804 48.0819 0.375038 -0.843912 -0.383614 0.489345 45 57.5 1 0.2 -311 1 1 -1 50.8123 45.2447 48.6857 0.16246 -0.951056 -0.262865 0.489345 45 57.5 1 0.2 -312 1 1 1 51.5063 45.4188 48.6796 0.301259 -0.916244 -0.264082 0.489345 45 57.5 1 0.2 -313 1 1 -1 52.1694 45.6867 48.7005 0.433888 -0.862669 -0.259892 0.489345 45 57.5 1 0.2 -314 1 1 1 50.4112 45.0616 49.3346 0.0822426 -0.987688 -0.133071 0.489345 45 57.5 1 0.2 -315 1 1 -1 51.1006 45.168 49.336 0.220117 -0.966393 -0.132793 0.489345 45 57.5 1 0.2 -316 1 1 1 51.7911 45.3785 49.3417 0.358229 -0.924304 -0.131656 0.489345 45 57.5 1 0.2 -317 1 1 -1 52.4222 45.6754 49.344 0.484441 -0.864929 -0.1312 0.489345 45 57.5 1 0.2 -318 1 1 1 49.5884 45.4351 48.002 -0.0823234 -0.912983 -0.399606 0.489345 45 57.5 1 0.2 -319 1 1 -1 50 45.1807 48.668 0 -0.963861 -0.266405 0.489345 45 57.5 1 0.2 -320 1 1 1 50.4116 45.4351 48.002 0.0823234 -0.912983 -0.399606 0.489345 45 57.5 1 0.2 -321 1 1 -1 46.9218 53.9192 50.4054 -0.615642 0.783843 0.0810867 0.489345 45 57.5 1 0.2 -322 1 1 1 46.9218 53.9192 49.5946 -0.615642 0.783843 -0.0810867 0.489345 45 57.5 1 0.2 -323 1 1 -1 46.5311 53.5102 50.8031 -0.693781 0.702046 0.160622 0.489345 45 57.5 1 0.2 -324 1 1 1 46.4855 53.5564 50 -0.702907 0.711282 0 0.489345 45 57.5 1 0.2 -325 1 1 -1 46.5311 53.5102 49.1969 -0.693781 0.702046 -0.160622 0.489345 45 57.5 1 0.2 -326 1 1 1 46.2067 53.0341 51.1854 -0.758653 0.606824 0.237086 0.489345 45 57.5 1 0.2 -327 1 1 -1 46.099 53.1012 50.4057 -0.780205 0.620239 0.0811424 0.489345 45 57.5 1 0.2 -328 1 1 1 45.9549 52.5 51.5451 -0.809017 0.499999 0.309017 0.489345 45 57.5 1 0.2 -329 1 1 -1 45.7991 52.5963 50.7822 -0.840178 0.519258 0.156435 0.489345 45 57.5 1 0.2 -330 1 1 1 45.7467 52.6287 50 -0.850651 0.52573 0 0.489345 45 57.5 1 0.2 -331 1 1 -1 46.099 53.1012 49.5943 -0.780205 0.620239 -0.0811424 0.489345 45 57.5 1 0.2 -332 1 1 1 46.2067 53.0341 48.8146 -0.758653 0.606824 -0.237086 0.489345 45 57.5 1 0.2 -333 1 1 -1 45.7991 52.5963 49.2178 -0.840178 0.519258 -0.156435 0.489345 45 57.5 1 0.2 -334 1 1 1 45.9549 52.5 48.4549 -0.809017 0.499999 -0.309017 0.489345 45 57.5 1 0.2 -335 1 1 -1 45.7804 51.9181 51.8752 -0.843912 0.383614 0.375038 0.489345 45 57.5 1 0.2 -336 1 1 1 45.545 51.9309 51.1934 -0.891006 0.386187 0.238678 0.489345 45 57.5 1 0.2 -337 1 1 -1 45.6867 51.2995 52.1694 -0.862669 0.259892 0.433888 0.489345 45 57.5 1 0.2 -338 1 1 1 45.4188 51.3204 51.5063 -0.916244 0.264082 0.301259 0.489345 45 57.5 1 0.2 -339 1 1 -1 45.2447 51.3143 50.8123 -0.951056 0.262865 0.16246 0.489345 45 57.5 1 0.2 -340 1 1 1 45.6754 50.656 52.4222 -0.864929 0.1312 0.484441 0.489345 45 57.5 1 0.2 -341 1 1 -1 45.3785 50.6583 51.7911 -0.924304 0.131656 0.358229 0.489345 45 57.5 1 0.2 -342 1 1 1 45.4248 50 52.0168 -0.915043 0 0.403355 0.489345 45 57.5 1 0.2 -343 1 1 -1 45.1903 50 51.3663 -0.961938 0 0.273267 0.489345 45 57.5 1 0.2 -344 1 1 1 45.168 50.664 51.1006 -0.966393 0.132793 0.220117 0.489345 45 57.5 1 0.2 -345 1 1 -1 45.0616 50.6654 50.4112 -0.987688 0.133071 0.0822426 0.489345 45 57.5 1 0.2 -346 1 1 1 45.0478 50 50.6898 -0.990439 0 0.137952 0.489345 45 57.5 1 0.2 -347 1 1 -1 45 50 50 -1 0 0 0.489345 45 57.5 1 0.2 -348 1 1 1 45.545 51.9309 48.8066 -0.891006 0.386187 -0.238678 0.489345 45 57.5 1 0.2 -349 1 1 -1 45.7804 51.9181 48.1248 -0.843912 0.383614 -0.375038 0.489345 45 57.5 1 0.2 -350 1 1 1 45.2447 51.3143 49.1877 -0.951056 0.262865 -0.16246 0.489345 45 57.5 1 0.2 -351 1 1 -1 45.4188 51.3204 48.4937 -0.916244 0.264082 -0.301259 0.489345 45 57.5 1 0.2 -352 1 1 1 45.6867 51.2995 47.8306 -0.862669 0.259892 -0.433888 0.489345 45 57.5 1 0.2 -353 1 1 -1 45.0616 50.6654 49.5888 -0.987688 0.133071 -0.0822426 0.489345 45 57.5 1 0.2 -354 1 1 1 45.168 50.664 48.8994 -0.966393 0.132793 -0.220117 0.489345 45 57.5 1 0.2 -355 1 1 -1 45.0478 50 49.3102 -0.990439 0 -0.137952 0.489345 45 57.5 1 0.2 -356 1 1 1 45.1903 50 48.6337 -0.961938 0 -0.273267 0.489345 45 57.5 1 0.2 -357 1 1 -1 45.3785 50.6583 48.2089 -0.924304 0.131656 -0.358229 0.489345 45 57.5 1 0.2 -358 1 1 1 45.6754 50.656 47.5778 -0.864929 0.1312 -0.484441 0.489345 45 57.5 1 0.2 -359 1 1 -1 45.4248 50 47.9832 -0.915043 0 -0.403355 0.489345 45 57.5 1 0.2 -360 1 1 1 45.4351 51.998 50.4116 -0.912983 0.399606 0.0823234 0.489345 45 57.5 1 0.2 -361 1 1 -1 45.1807 51.332 50 -0.963861 0.266405 0 0.489345 45 57.5 1 0.2 -362 1 1 1 45.4351 51.998 49.5884 -0.912983 0.399606 -0.0823234 0.489345 45 57.5 1 0.2 -363 1 1 -1 46.9218 46.0808 49.5946 -0.615642 -0.783843 -0.0810867 0.489345 45 57.5 1 0.2 -364 1 1 1 46.9218 46.0808 50.4054 -0.615642 -0.783843 0.0810867 0.489345 45 57.5 1 0.2 -365 1 1 -1 46.5311 46.4898 49.1969 -0.693781 -0.702046 -0.160622 0.489345 45 57.5 1 0.2 -366 1 1 1 46.4855 46.4436 50 -0.702907 -0.711282 0 0.489345 45 57.5 1 0.2 -367 1 1 -1 46.5311 46.4898 50.8031 -0.693781 -0.702046 0.160622 0.489345 45 57.5 1 0.2 -368 1 1 1 46.2067 46.9659 48.8146 -0.758653 -0.606824 -0.237086 0.489345 45 57.5 1 0.2 -369 1 1 -1 46.099 46.8988 49.5943 -0.780205 -0.620239 -0.0811424 0.489345 45 57.5 1 0.2 -370 1 1 1 45.9549 47.5 48.4549 -0.809017 -0.499999 -0.309017 0.489345 45 57.5 1 0.2 -371 1 1 -1 45.7991 47.4037 49.2178 -0.840178 -0.519258 -0.156435 0.489345 45 57.5 1 0.2 -372 1 1 1 45.7467 47.3713 50 -0.850651 -0.52573 0 0.489345 45 57.5 1 0.2 -373 1 1 -1 46.099 46.8988 50.4057 -0.780205 -0.620239 0.0811424 0.489345 45 57.5 1 0.2 -374 1 1 1 46.2067 46.9659 51.1854 -0.758653 -0.606824 0.237086 0.489345 45 57.5 1 0.2 -375 1 1 -1 45.7991 47.4037 50.7822 -0.840178 -0.519258 0.156435 0.489345 45 57.5 1 0.2 -376 1 1 1 45.9549 47.5 51.5451 -0.809017 -0.499999 0.309017 0.489345 45 57.5 1 0.2 -377 1 1 -1 45.7804 48.0819 48.1248 -0.843912 -0.383614 -0.375038 0.489345 45 57.5 1 0.2 -378 1 1 1 45.545 48.0691 48.8066 -0.891006 -0.386187 -0.238678 0.489345 45 57.5 1 0.2 -379 1 1 -1 45.6867 48.7005 47.8306 -0.862669 -0.259892 -0.433888 0.489345 45 57.5 1 0.2 -380 1 1 1 45.4188 48.6796 48.4937 -0.916244 -0.264082 -0.301259 0.489345 45 57.5 1 0.2 -381 1 1 -1 45.2447 48.6857 49.1877 -0.951056 -0.262865 -0.16246 0.489345 45 57.5 1 0.2 -382 1 1 1 45.6754 49.344 47.5778 -0.864929 -0.1312 -0.484441 0.489345 45 57.5 1 0.2 -383 1 1 -1 45.3785 49.3417 48.2089 -0.924304 -0.131656 -0.358229 0.489345 45 57.5 1 0.2 -384 1 1 1 45.168 49.336 48.8994 -0.966393 -0.132793 -0.220117 0.489345 45 57.5 1 0.2 -385 1 1 -1 45.0616 49.3346 49.5888 -0.987688 -0.133071 -0.0822426 0.489345 45 57.5 1 0.2 -386 1 1 1 45.545 48.0691 51.1934 -0.891006 -0.386187 0.238678 0.489345 45 57.5 1 0.2 -387 1 1 -1 45.7804 48.0819 51.8752 -0.843912 -0.383614 0.375038 0.489345 45 57.5 1 0.2 -388 1 1 1 45.2447 48.6857 50.8123 -0.951056 -0.262865 0.16246 0.489345 45 57.5 1 0.2 -389 1 1 -1 45.4188 48.6796 51.5063 -0.916244 -0.264082 0.301259 0.489345 45 57.5 1 0.2 -390 1 1 1 45.6867 48.7005 52.1694 -0.862669 -0.259892 0.433888 0.489345 45 57.5 1 0.2 -391 1 1 -1 45.0616 49.3346 50.4112 -0.987688 -0.133071 0.0822426 0.489345 45 57.5 1 0.2 -392 1 1 1 45.168 49.336 51.1006 -0.966393 -0.132793 0.220117 0.489345 45 57.5 1 0.2 -393 1 1 -1 45.3785 49.3417 51.7911 -0.924304 -0.131656 0.358229 0.489345 45 57.5 1 0.2 -394 1 1 1 45.6754 49.344 52.4222 -0.864929 -0.1312 0.484441 0.489345 45 57.5 1 0.2 -395 1 1 -1 45.4351 48.002 49.5884 -0.912983 -0.399606 -0.0823234 0.489345 45 57.5 1 0.2 -396 1 1 1 45.1807 48.668 50 -0.963861 -0.266405 0 0.489345 45 57.5 1 0.2 -397 1 1 -1 45.4351 48.002 50.4116 -0.912983 -0.399606 0.0823234 0.489345 45 57.5 1 0.2 -398 1 1 1 53.0782 53.9192 49.5946 0.615642 0.783843 -0.0810867 0.489345 45 57.5 1 0.2 -399 1 1 -1 53.0782 53.9192 50.4054 0.615642 0.783843 0.0810867 0.489345 45 57.5 1 0.2 -400 1 1 1 53.4689 53.5102 49.1969 0.693781 0.702046 -0.160622 0.489345 45 57.5 1 0.2 -401 1 1 -1 53.5145 53.5564 50 0.702907 0.711282 0 0.489345 45 57.5 1 0.2 -402 1 1 1 53.4689 53.5102 50.8031 0.693781 0.702046 0.160622 0.489345 45 57.5 1 0.2 -403 1 1 -1 53.7933 53.0341 48.8146 0.758653 0.606824 -0.237086 0.489345 45 57.5 1 0.2 -404 1 1 1 53.901 53.1012 49.5943 0.780205 0.620239 -0.0811424 0.489345 45 57.5 1 0.2 -405 1 1 -1 54.0451 52.5 48.4549 0.809017 0.499999 -0.309017 0.489345 45 57.5 1 0.2 -406 1 1 1 54.2009 52.5963 49.2178 0.840178 0.519258 -0.156435 0.489345 45 57.5 1 0.2 -407 1 1 -1 54.2533 52.6287 50 0.850651 0.52573 0 0.489345 45 57.5 1 0.2 -408 1 1 1 53.901 53.1012 50.4057 0.780205 0.620239 0.0811424 0.489345 45 57.5 1 0.2 -409 1 1 -1 53.7933 53.0341 51.1854 0.758653 0.606824 0.237086 0.489345 45 57.5 1 0.2 -410 1 1 1 54.2009 52.5963 50.7822 0.840178 0.519258 0.156435 0.489345 45 57.5 1 0.2 -411 1 1 -1 54.0451 52.5 51.5451 0.809017 0.499999 0.309017 0.489345 45 57.5 1 0.2 -412 1 1 1 54.2196 51.9181 48.1248 0.843912 0.383614 -0.375038 0.489345 45 57.5 1 0.2 -413 1 1 -1 54.455 51.9309 48.8066 0.891006 0.386187 -0.238678 0.489345 45 57.5 1 0.2 -414 1 1 1 54.3133 51.2995 47.8306 0.862669 0.259892 -0.433888 0.489345 45 57.5 1 0.2 -415 1 1 -1 54.5812 51.3204 48.4937 0.916244 0.264082 -0.301259 0.489345 45 57.5 1 0.2 -416 1 1 1 54.7553 51.3143 49.1877 0.951056 0.262865 -0.16246 0.489345 45 57.5 1 0.2 -417 1 1 -1 54.3246 50.656 47.5778 0.864929 0.1312 -0.484441 0.489345 45 57.5 1 0.2 -418 1 1 1 54.6215 50.6583 48.2089 0.924304 0.131656 -0.358229 0.489345 45 57.5 1 0.2 -419 1 1 -1 54.5752 50 47.9832 0.915043 0 -0.403355 0.489345 45 57.5 1 0.2 -420 1 1 1 54.8097 50 48.6337 0.961938 0 -0.273267 0.489345 45 57.5 1 0.2 -421 1 1 -1 54.832 50.664 48.8994 0.966393 0.132793 -0.220117 0.489345 45 57.5 1 0.2 -422 1 1 1 54.9384 50.6654 49.5888 0.987688 0.133071 -0.0822426 0.489345 45 57.5 1 0.2 -423 1 1 -1 54.9522 50 49.3102 0.990439 0 -0.137952 0.489345 45 57.5 1 0.2 -424 1 1 1 55 50 50 1 0 0 0.489345 45 57.5 1 0.2 -425 1 1 -1 54.455 51.9309 51.1934 0.891006 0.386187 0.238678 0.489345 45 57.5 1 0.2 -426 1 1 1 54.2196 51.9181 51.8752 0.843912 0.383614 0.375038 0.489345 45 57.5 1 0.2 -427 1 1 -1 54.7553 51.3143 50.8123 0.951056 0.262865 0.16246 0.489345 45 57.5 1 0.2 -428 1 1 1 54.5812 51.3204 51.5063 0.916244 0.264082 0.301259 0.489345 45 57.5 1 0.2 -429 1 1 -1 54.3133 51.2995 52.1694 0.862669 0.259892 0.433888 0.489345 45 57.5 1 0.2 -430 1 1 1 54.9384 50.6654 50.4112 0.987688 0.133071 0.0822426 0.489345 45 57.5 1 0.2 -431 1 1 -1 54.832 50.664 51.1006 0.966393 0.132793 0.220117 0.489345 45 57.5 1 0.2 -432 1 1 1 54.9522 50 50.6898 0.990439 0 0.137952 0.489345 45 57.5 1 0.2 -433 1 1 -1 54.8097 50 51.3663 0.961938 0 0.273267 0.489345 45 57.5 1 0.2 -434 1 1 1 54.6215 50.6583 51.7911 0.924304 0.131656 0.358229 0.489345 45 57.5 1 0.2 -435 1 1 -1 54.3246 50.656 52.4222 0.864929 0.1312 0.484441 0.489345 45 57.5 1 0.2 -436 1 1 1 54.5752 50 52.0168 0.915043 0 0.403355 0.489345 45 57.5 1 0.2 -437 1 1 -1 54.5649 51.998 49.5884 0.912983 0.399606 -0.0823234 0.489345 45 57.5 1 0.2 -438 1 1 1 54.8193 51.332 50 0.963861 0.266405 0 0.489345 45 57.5 1 0.2 -439 1 1 -1 54.5649 51.998 50.4116 0.912983 0.399606 0.0823234 0.489345 45 57.5 1 0.2 -440 1 1 1 53.0782 46.0808 50.4054 0.615642 -0.783843 0.0810867 0.489345 45 57.5 1 0.2 -441 1 1 -1 53.0782 46.0808 49.5946 0.615642 -0.783843 -0.0810867 0.489345 45 57.5 1 0.2 -442 1 1 1 53.4689 46.4898 50.8031 0.693781 -0.702046 0.160622 0.489345 45 57.5 1 0.2 -443 1 1 -1 53.5145 46.4436 50 0.702907 -0.711282 0 0.489345 45 57.5 1 0.2 -444 1 1 1 53.4689 46.4898 49.1969 0.693781 -0.702046 -0.160622 0.489345 45 57.5 1 0.2 -445 1 1 -1 53.7933 46.9659 51.1854 0.758653 -0.606824 0.237086 0.489345 45 57.5 1 0.2 -446 1 1 1 53.901 46.8988 50.4057 0.780205 -0.620239 0.0811424 0.489345 45 57.5 1 0.2 -447 1 1 -1 54.0451 47.5 51.5451 0.809017 -0.499999 0.309017 0.489345 45 57.5 1 0.2 -448 1 1 1 54.2009 47.4037 50.7822 0.840178 -0.519258 0.156435 0.489345 45 57.5 1 0.2 -449 1 1 -1 54.2533 47.3713 50 0.850651 -0.52573 0 0.489345 45 57.5 1 0.2 -450 1 1 1 53.901 46.8988 49.5943 0.780205 -0.620239 -0.0811424 0.489345 45 57.5 1 0.2 -451 1 1 -1 53.7933 46.9659 48.8146 0.758653 -0.606824 -0.237086 0.489345 45 57.5 1 0.2 -452 1 1 1 54.2009 47.4037 49.2178 0.840178 -0.519258 -0.156435 0.489345 45 57.5 1 0.2 -453 1 1 -1 54.0451 47.5 48.4549 0.809017 -0.499999 -0.309017 0.489345 45 57.5 1 0.2 -454 1 1 1 54.2196 48.0819 51.8752 0.843912 -0.383614 0.375038 0.489345 45 57.5 1 0.2 -455 1 1 -1 54.455 48.0691 51.1934 0.891006 -0.386187 0.238678 0.489345 45 57.5 1 0.2 -456 1 1 1 54.3133 48.7005 52.1694 0.862669 -0.259892 0.433888 0.489345 45 57.5 1 0.2 -457 1 1 -1 54.5812 48.6796 51.5063 0.916244 -0.264082 0.301259 0.489345 45 57.5 1 0.2 -458 1 1 1 54.7553 48.6857 50.8123 0.951056 -0.262865 0.16246 0.489345 45 57.5 1 0.2 -459 1 1 -1 54.3246 49.344 52.4222 0.864929 -0.1312 0.484441 0.489345 45 57.5 1 0.2 -460 1 1 1 54.6215 49.3417 51.7911 0.924304 -0.131656 0.358229 0.489345 45 57.5 1 0.2 -461 1 1 -1 54.832 49.336 51.1006 0.966393 -0.132793 0.220117 0.489345 45 57.5 1 0.2 -462 1 1 1 54.9384 49.3346 50.4112 0.987688 -0.133071 0.0822426 0.489345 45 57.5 1 0.2 -463 1 1 -1 54.455 48.0691 48.8066 0.891006 -0.386187 -0.238678 0.489345 45 57.5 1 0.2 -464 1 1 1 54.2196 48.0819 48.1248 0.843912 -0.383614 -0.375038 0.489345 45 57.5 1 0.2 -465 1 1 -1 54.7553 48.6857 49.1877 0.951056 -0.262865 -0.16246 0.489345 45 57.5 1 0.2 -466 1 1 1 54.5812 48.6796 48.4937 0.916244 -0.264082 -0.301259 0.489345 45 57.5 1 0.2 -467 1 1 -1 54.3133 48.7005 47.8306 0.862669 -0.259892 -0.433888 0.489345 45 57.5 1 0.2 -468 1 1 1 54.9384 49.3346 49.5888 0.987688 -0.133071 -0.0822426 0.489345 45 57.5 1 0.2 -469 1 1 -1 54.832 49.336 48.8994 0.966393 -0.132793 -0.220117 0.489345 45 57.5 1 0.2 -470 1 1 1 54.6215 49.3417 48.2089 0.924304 -0.131656 -0.358229 0.489345 45 57.5 1 0.2 -471 1 1 -1 54.3246 49.344 47.5778 0.864929 -0.1312 -0.484441 0.489345 45 57.5 1 0.2 -472 1 1 1 54.5649 48.002 50.4116 0.912983 -0.399606 0.0823234 0.489345 45 57.5 1 0.2 -473 1 1 -1 54.8193 48.668 50 0.963861 -0.266405 0 0.489345 45 57.5 1 0.2 -474 1 1 1 54.5649 48.002 49.5884 0.912983 -0.399606 -0.0823234 0.489345 45 57.5 1 0.2 -475 1 1 -1 48.9349 52.8563 53.9632 -0.213023 0.571252 0.792649 0.489345 45 57.5 1 0.2 -476 1 1 1 48.2692 52.5806 53.9173 -0.346153 0.516121 0.783452 0.489345 45 57.5 1 0.2 -477 1 1 -1 47.6579 52.27 53.7897 -0.468429 0.45399 0.757936 0.489345 45 57.5 1 0.2 -478 1 1 1 47.8734 52.9389 53.441 -0.425325 0.587785 0.688191 0.489345 45 57.5 1 0.2 -479 1 1 -1 48.52 53.2371 53.5116 -0.296004 0.647412 0.70231 0.489345 45 57.5 1 0.2 -480 1 1 1 48.1413 53.5355 53.0075 -0.371748 0.707107 0.601501 0.489345 45 57.5 1 0.2 -481 1 1 -1 46.9925 51.8587 53.5355 -0.601501 0.371748 0.707107 0.489345 45 57.5 1 0.2 -482 1 1 1 46.4884 51.48 53.2371 -0.70231 0.296004 0.647412 0.489345 45 57.5 1 0.2 -483 1 1 -1 46.559 52.1266 52.9389 -0.688191 0.425325 0.587785 0.489345 45 57.5 1 0.2 -484 1 1 1 46.0368 51.0651 52.8563 -0.792649 0.213023 0.571252 0.489345 45 57.5 1 0.2 -485 1 1 -1 46.0827 51.7308 52.5806 -0.783452 0.346153 0.516121 0.489345 45 57.5 1 0.2 -486 1 1 1 46.2103 52.3421 52.27 -0.757936 0.468429 0.45399 0.489345 45 57.5 1 0.2 -487 1 1 -1 47.73 53.7897 52.3421 -0.45399 0.757936 0.468429 0.489345 45 57.5 1 0.2 -488 1 1 1 47.0611 53.441 52.1266 -0.587785 0.688191 0.425325 0.489345 45 57.5 1 0.2 -489 1 1 -1 47.4194 53.9173 51.7308 -0.516121 0.783452 0.346153 0.489345 45 57.5 1 0.2 -490 1 1 1 46.4645 53.0075 51.8587 -0.707107 0.601501 0.371748 0.489345 45 57.5 1 0.2 -491 1 1 -1 46.7629 53.5116 51.48 -0.647412 0.70231 0.296004 0.489345 45 57.5 1 0.2 -492 1 1 1 47.1437 53.9632 51.0651 -0.571252 0.792649 0.213023 0.489345 45 57.5 1 0.2 -493 1 1 -1 47.1787 52.5669 53.2329 -0.564254 0.513375 0.646578 0.489345 45 57.5 1 0.2 -494 1 1 1 46.7671 52.8213 52.5669 -0.646578 0.564254 0.513375 0.489345 45 57.5 1 0.2 -495 1 1 -1 47.4331 53.2329 52.8213 -0.513375 0.646578 0.564254 0.489345 45 57.5 1 0.2 -496 1 1 1 51.0651 52.8563 53.9632 0.213023 0.571252 0.792649 0.489345 45 57.5 1 0.2 -497 1 1 -1 51.48 53.2371 53.5116 0.296004 0.647412 0.70231 0.489345 45 57.5 1 0.2 -498 1 1 1 51.8587 53.5355 53.0075 0.371748 0.707107 0.601501 0.489345 45 57.5 1 0.2 -499 1 1 -1 52.1266 52.9389 53.441 0.425325 0.587785 0.688191 0.489345 45 57.5 1 0.2 -500 1 1 1 51.7308 52.5806 53.9173 0.346153 0.516121 0.783452 0.489345 45 57.5 1 0.2 -501 1 1 -1 52.3421 52.27 53.7897 0.468429 0.45399 0.757936 0.489345 45 57.5 1 0.2 -502 1 1 1 52.27 53.7897 52.3421 0.45399 0.757936 0.468429 0.489345 45 57.5 1 0.2 -503 1 1 -1 52.5806 53.9173 51.7308 0.516121 0.783452 0.346153 0.489345 45 57.5 1 0.2 -504 1 1 1 52.9389 53.441 52.1266 0.587785 0.688191 0.425325 0.489345 45 57.5 1 0.2 -505 1 1 -1 52.8563 53.9632 51.0651 0.571252 0.792649 0.213023 0.489345 45 57.5 1 0.2 -506 1 1 1 53.2371 53.5116 51.48 0.647412 0.70231 0.296004 0.489345 45 57.5 1 0.2 -507 1 1 -1 53.5355 53.0075 51.8587 0.707107 0.601501 0.371748 0.489345 45 57.5 1 0.2 -508 1 1 1 53.0075 51.8587 53.5355 0.601501 0.371748 0.707107 0.489345 45 57.5 1 0.2 -509 1 1 -1 53.441 52.1266 52.9389 0.688191 0.425325 0.587785 0.489345 45 57.5 1 0.2 -510 1 1 1 53.5116 51.48 53.2371 0.70231 0.296004 0.647412 0.489345 45 57.5 1 0.2 -511 1 1 -1 53.7897 52.3421 52.27 0.757936 0.468429 0.45399 0.489345 45 57.5 1 0.2 -512 1 1 1 53.9173 51.7308 52.5806 0.783452 0.346153 0.516121 0.489345 45 57.5 1 0.2 -513 1 1 -1 53.9632 51.0651 52.8563 0.792649 0.213023 0.571252 0.489345 45 57.5 1 0.2 -514 1 1 1 52.5669 53.2329 52.8213 0.513375 0.646578 0.564254 0.489345 45 57.5 1 0.2 -515 1 1 -1 53.2329 52.8213 52.5669 0.646578 0.564254 0.513375 0.489345 45 57.5 1 0.2 -516 1 1 1 52.8213 52.5669 53.2329 0.564254 0.513375 0.646578 0.489345 45 57.5 1 0.2 -517 1 1 -1 48.9349 52.8563 46.0368 -0.213023 0.571252 -0.792649 0.489345 45 57.5 1 0.2 -518 1 1 1 48.52 53.2371 46.4884 -0.296004 0.647412 -0.70231 0.489345 45 57.5 1 0.2 -519 1 1 -1 48.1413 53.5355 46.9925 -0.371748 0.707107 -0.601501 0.489345 45 57.5 1 0.2 -520 1 1 1 47.8734 52.9389 46.559 -0.425325 0.587785 -0.688191 0.489345 45 57.5 1 0.2 -521 1 1 -1 48.2692 52.5806 46.0827 -0.346153 0.516121 -0.783452 0.489345 45 57.5 1 0.2 -522 1 1 1 47.6579 52.27 46.2103 -0.468429 0.45399 -0.757936 0.489345 45 57.5 1 0.2 -523 1 1 -1 47.73 53.7897 47.6579 -0.45399 0.757936 -0.468429 0.489345 45 57.5 1 0.2 -524 1 1 1 47.4194 53.9173 48.2692 -0.516121 0.783452 -0.346153 0.489345 45 57.5 1 0.2 -525 1 1 -1 47.0611 53.441 47.8734 -0.587785 0.688191 -0.425325 0.489345 45 57.5 1 0.2 -526 1 1 1 47.1437 53.9632 48.9349 -0.571252 0.792649 -0.213023 0.489345 45 57.5 1 0.2 -527 1 1 -1 46.7629 53.5116 48.52 -0.647412 0.70231 -0.296004 0.489345 45 57.5 1 0.2 -528 1 1 1 46.4645 53.0075 48.1413 -0.707107 0.601501 -0.371748 0.489345 45 57.5 1 0.2 -529 1 1 -1 46.9925 51.8587 46.4645 -0.601501 0.371748 -0.707107 0.489345 45 57.5 1 0.2 -530 1 1 1 46.559 52.1266 47.0611 -0.688191 0.425325 -0.587785 0.489345 45 57.5 1 0.2 -531 1 1 -1 46.4884 51.48 46.7629 -0.70231 0.296004 -0.647412 0.489345 45 57.5 1 0.2 -532 1 1 1 46.2103 52.3421 47.73 -0.757936 0.468429 -0.45399 0.489345 45 57.5 1 0.2 -533 1 1 -1 46.0827 51.7308 47.4194 -0.783452 0.346153 -0.516121 0.489345 45 57.5 1 0.2 -534 1 1 1 46.0368 51.0651 47.1437 -0.792649 0.213023 -0.571252 0.489345 45 57.5 1 0.2 -535 1 1 -1 47.4331 53.2329 47.1787 -0.513375 0.646578 -0.564254 0.489345 45 57.5 1 0.2 -536 1 1 1 46.7671 52.8213 47.4331 -0.646578 0.564254 -0.513375 0.489345 45 57.5 1 0.2 -537 1 1 -1 47.1787 52.5669 46.7671 -0.564254 0.513375 -0.646578 0.489345 45 57.5 1 0.2 -538 1 1 1 51.0651 52.8563 46.0368 0.213023 0.571252 -0.792649 0.489345 45 57.5 1 0.2 -539 1 1 -1 51.7308 52.5806 46.0827 0.346153 0.516121 -0.783452 0.489345 45 57.5 1 0.2 -540 1 1 1 52.3421 52.27 46.2103 0.468429 0.45399 -0.757936 0.489345 45 57.5 1 0.2 -541 1 1 -1 52.1266 52.9389 46.559 0.425325 0.587785 -0.688191 0.489345 45 57.5 1 0.2 -542 1 1 1 51.48 53.2371 46.4884 0.296004 0.647412 -0.70231 0.489345 45 57.5 1 0.2 -543 1 1 -1 51.8587 53.5355 46.9925 0.371748 0.707107 -0.601501 0.489345 45 57.5 1 0.2 -544 1 1 1 53.0075 51.8587 46.4645 0.601501 0.371748 -0.707107 0.489345 45 57.5 1 0.2 -545 1 1 -1 53.5116 51.48 46.7629 0.70231 0.296004 -0.647412 0.489345 45 57.5 1 0.2 -546 1 1 1 53.441 52.1266 47.0611 0.688191 0.425325 -0.587785 0.489345 45 57.5 1 0.2 -547 1 1 -1 53.9632 51.0651 47.1437 0.792649 0.213023 -0.571252 0.489345 45 57.5 1 0.2 -548 1 1 1 53.9173 51.7308 47.4194 0.783452 0.346153 -0.516121 0.489345 45 57.5 1 0.2 -549 1 1 -1 53.7897 52.3421 47.73 0.757936 0.468429 -0.45399 0.489345 45 57.5 1 0.2 -550 1 1 1 52.27 53.7897 47.6579 0.45399 0.757936 -0.468429 0.489345 45 57.5 1 0.2 -551 1 1 -1 52.9389 53.441 47.8734 0.587785 0.688191 -0.425325 0.489345 45 57.5 1 0.2 -552 1 1 1 52.5806 53.9173 48.2692 0.516121 0.783452 -0.346153 0.489345 45 57.5 1 0.2 -553 1 1 -1 53.5355 53.0075 48.1413 0.707107 0.601501 -0.371748 0.489345 45 57.5 1 0.2 -554 1 1 1 53.2371 53.5116 48.52 0.647412 0.70231 -0.296004 0.489345 45 57.5 1 0.2 -555 1 1 -1 52.8563 53.9632 48.9349 0.571252 0.792649 -0.213023 0.489345 45 57.5 1 0.2 -556 1 1 1 52.8213 52.5669 46.7671 0.564254 0.513375 -0.646578 0.489345 45 57.5 1 0.2 -557 1 1 -1 53.2329 52.8213 47.4331 0.646578 0.564254 -0.513375 0.489345 45 57.5 1 0.2 -558 1 1 1 52.5669 53.2329 47.1787 0.513375 0.646578 -0.564254 0.489345 45 57.5 1 0.2 -559 1 1 -1 48.9349 47.1437 46.0368 -0.213023 -0.571252 -0.792649 0.489345 45 57.5 1 0.2 -560 1 1 1 48.2692 47.4194 46.0827 -0.346153 -0.516121 -0.783452 0.489345 45 57.5 1 0.2 -561 1 1 -1 47.6579 47.73 46.2103 -0.468429 -0.45399 -0.757936 0.489345 45 57.5 1 0.2 -562 1 1 1 47.8734 47.0611 46.559 -0.425325 -0.587785 -0.688191 0.489345 45 57.5 1 0.2 -563 1 1 -1 48.52 46.7629 46.4884 -0.296004 -0.647412 -0.70231 0.489345 45 57.5 1 0.2 -564 1 1 1 48.1413 46.4645 46.9925 -0.371748 -0.707107 -0.601501 0.489345 45 57.5 1 0.2 -565 1 1 -1 46.9925 48.1413 46.4645 -0.601501 -0.371748 -0.707107 0.489345 45 57.5 1 0.2 -566 1 1 1 46.4884 48.52 46.7629 -0.70231 -0.296004 -0.647412 0.489345 45 57.5 1 0.2 -567 1 1 -1 46.559 47.8734 47.0611 -0.688191 -0.425325 -0.587785 0.489345 45 57.5 1 0.2 -568 1 1 1 46.0368 48.9349 47.1437 -0.792649 -0.213023 -0.571252 0.489345 45 57.5 1 0.2 -569 1 1 -1 46.0827 48.2692 47.4194 -0.783452 -0.346153 -0.516121 0.489345 45 57.5 1 0.2 -570 1 1 1 46.2103 47.6579 47.73 -0.757936 -0.468429 -0.45399 0.489345 45 57.5 1 0.2 -571 1 1 -1 47.73 46.2103 47.6579 -0.45399 -0.757936 -0.468429 0.489345 45 57.5 1 0.2 -572 1 1 1 47.0611 46.559 47.8734 -0.587785 -0.688191 -0.425325 0.489345 45 57.5 1 0.2 -573 1 1 -1 47.4194 46.0827 48.2692 -0.516121 -0.783452 -0.346153 0.489345 45 57.5 1 0.2 -574 1 1 1 46.4645 46.9925 48.1413 -0.707107 -0.601501 -0.371748 0.489345 45 57.5 1 0.2 -575 1 1 -1 46.7629 46.4884 48.52 -0.647412 -0.70231 -0.296004 0.489345 45 57.5 1 0.2 -576 1 1 1 47.1437 46.0368 48.9349 -0.571252 -0.792649 -0.213023 0.489345 45 57.5 1 0.2 -577 1 1 -1 47.1787 47.4331 46.7671 -0.564254 -0.513375 -0.646578 0.489345 45 57.5 1 0.2 -578 1 1 1 46.7671 47.1787 47.4331 -0.646578 -0.564254 -0.513375 0.489345 45 57.5 1 0.2 -579 1 1 -1 47.4331 46.7671 47.1787 -0.513375 -0.646578 -0.564254 0.489345 45 57.5 1 0.2 -580 1 1 1 51.0651 47.1437 46.0368 0.213023 -0.571252 -0.792649 0.489345 45 57.5 1 0.2 -581 1 1 -1 51.48 46.7629 46.4884 0.296004 -0.647412 -0.70231 0.489345 45 57.5 1 0.2 -582 1 1 1 51.8587 46.4645 46.9925 0.371748 -0.707107 -0.601501 0.489345 45 57.5 1 0.2 -583 1 1 -1 52.1266 47.0611 46.559 0.425325 -0.587785 -0.688191 0.489345 45 57.5 1 0.2 -584 1 1 1 51.7308 47.4194 46.0827 0.346153 -0.516121 -0.783452 0.489345 45 57.5 1 0.2 -585 1 1 -1 52.3421 47.73 46.2103 0.468429 -0.45399 -0.757936 0.489345 45 57.5 1 0.2 -586 1 1 1 52.27 46.2103 47.6579 0.45399 -0.757936 -0.468429 0.489345 45 57.5 1 0.2 -587 1 1 -1 52.5806 46.0827 48.2692 0.516121 -0.783452 -0.346153 0.489345 45 57.5 1 0.2 -588 1 1 1 52.9389 46.559 47.8734 0.587785 -0.688191 -0.425325 0.489345 45 57.5 1 0.2 -589 1 1 -1 52.8563 46.0368 48.9349 0.571252 -0.792649 -0.213023 0.489345 45 57.5 1 0.2 -590 1 1 1 53.2371 46.4884 48.52 0.647412 -0.70231 -0.296004 0.489345 45 57.5 1 0.2 -591 1 1 -1 53.5355 46.9925 48.1413 0.707107 -0.601501 -0.371748 0.489345 45 57.5 1 0.2 -592 1 1 1 53.0075 48.1413 46.4645 0.601501 -0.371748 -0.707107 0.489345 45 57.5 1 0.2 -593 1 1 -1 53.441 47.8734 47.0611 0.688191 -0.425325 -0.587785 0.489345 45 57.5 1 0.2 -594 1 1 1 53.5116 48.52 46.7629 0.70231 -0.296004 -0.647412 0.489345 45 57.5 1 0.2 -595 1 1 -1 53.7897 47.6579 47.73 0.757936 -0.468429 -0.45399 0.489345 45 57.5 1 0.2 -596 1 1 1 53.9173 48.2692 47.4194 0.783452 -0.346153 -0.516121 0.489345 45 57.5 1 0.2 -597 1 1 -1 53.9632 48.9349 47.1437 0.792649 -0.213023 -0.571252 0.489345 45 57.5 1 0.2 -598 1 1 1 52.5669 46.7671 47.1787 0.513375 -0.646578 -0.564254 0.489345 45 57.5 1 0.2 -599 1 1 -1 53.2329 47.1787 47.4331 0.646578 -0.564254 -0.513375 0.489345 45 57.5 1 0.2 -600 1 1 1 52.8213 47.4331 46.7671 0.564254 -0.513375 -0.646578 0.489345 45 57.5 1 0.2 -601 1 1 -1 48.9349 47.1437 53.9632 -0.213023 -0.571252 0.792649 0.489345 45 57.5 1 0.2 -602 1 1 1 48.52 46.7629 53.5116 -0.296004 -0.647412 0.70231 0.489345 45 57.5 1 0.2 -603 1 1 -1 48.1413 46.4645 53.0075 -0.371748 -0.707107 0.601501 0.489345 45 57.5 1 0.2 -604 1 1 1 47.8734 47.0611 53.441 -0.425325 -0.587785 0.688191 0.489345 45 57.5 1 0.2 -605 1 1 -1 48.2692 47.4194 53.9173 -0.346153 -0.516121 0.783452 0.489345 45 57.5 1 0.2 -606 1 1 1 47.6579 47.73 53.7897 -0.468429 -0.45399 0.757936 0.489345 45 57.5 1 0.2 -607 1 1 -1 47.73 46.2103 52.3421 -0.45399 -0.757936 0.468429 0.489345 45 57.5 1 0.2 -608 1 1 1 47.4194 46.0827 51.7308 -0.516121 -0.783452 0.346153 0.489345 45 57.5 1 0.2 -609 1 1 -1 47.0611 46.559 52.1266 -0.587785 -0.688191 0.425325 0.489345 45 57.5 1 0.2 -610 1 1 1 47.1437 46.0368 51.0651 -0.571252 -0.792649 0.213023 0.489345 45 57.5 1 0.2 -611 1 1 -1 46.7629 46.4884 51.48 -0.647412 -0.70231 0.296004 0.489345 45 57.5 1 0.2 -612 1 1 1 46.4645 46.9925 51.8587 -0.707107 -0.601501 0.371748 0.489345 45 57.5 1 0.2 -613 1 1 -1 46.9925 48.1413 53.5355 -0.601501 -0.371748 0.707107 0.489345 45 57.5 1 0.2 -614 1 1 1 46.559 47.8734 52.9389 -0.688191 -0.425325 0.587785 0.489345 45 57.5 1 0.2 -615 1 1 -1 46.4884 48.52 53.2371 -0.70231 -0.296004 0.647412 0.489345 45 57.5 1 0.2 -616 1 1 1 46.2103 47.6579 52.27 -0.757936 -0.468429 0.45399 0.489345 45 57.5 1 0.2 -617 1 1 -1 46.0827 48.2692 52.5806 -0.783452 -0.346153 0.516121 0.489345 45 57.5 1 0.2 -618 1 1 1 46.0368 48.9349 52.8563 -0.792649 -0.213023 0.571252 0.489345 45 57.5 1 0.2 -619 1 1 -1 47.4331 46.7671 52.8213 -0.513375 -0.646578 0.564254 0.489345 45 57.5 1 0.2 -620 1 1 1 46.7671 47.1787 52.5669 -0.646578 -0.564254 0.513375 0.489345 45 57.5 1 0.2 -621 1 1 -1 47.1787 47.4331 53.2329 -0.564254 -0.513375 0.646578 0.489345 45 57.5 1 0.2 -622 1 1 1 51.0651 47.1437 53.9632 0.213023 -0.571252 0.792649 0.489345 45 57.5 1 0.2 -623 1 1 -1 51.7308 47.4194 53.9173 0.346153 -0.516121 0.783452 0.489345 45 57.5 1 0.2 -624 1 1 1 52.3421 47.73 53.7897 0.468429 -0.45399 0.757936 0.489345 45 57.5 1 0.2 -625 1 1 -1 52.1266 47.0611 53.441 0.425325 -0.587785 0.688191 0.489345 45 57.5 1 0.2 -626 1 1 1 51.48 46.7629 53.5116 0.296004 -0.647412 0.70231 0.489345 45 57.5 1 0.2 -627 1 1 -1 51.8587 46.4645 53.0075 0.371748 -0.707107 0.601501 0.489345 45 57.5 1 0.2 -628 1 1 1 53.0075 48.1413 53.5355 0.601501 -0.371748 0.707107 0.489345 45 57.5 1 0.2 -629 1 1 -1 53.5116 48.52 53.2371 0.70231 -0.296004 0.647412 0.489345 45 57.5 1 0.2 -630 1 1 1 53.441 47.8734 52.9389 0.688191 -0.425325 0.587785 0.489345 45 57.5 1 0.2 -631 1 1 -1 53.9632 48.9349 52.8563 0.792649 -0.213023 0.571252 0.489345 45 57.5 1 0.2 -632 1 1 1 53.9173 48.2692 52.5806 0.783452 -0.346153 0.516121 0.489345 45 57.5 1 0.2 -633 1 1 -1 53.7897 47.6579 52.27 0.757936 -0.468429 0.45399 0.489345 45 57.5 1 0.2 -634 1 1 1 52.27 46.2103 52.3421 0.45399 -0.757936 0.468429 0.489345 45 57.5 1 0.2 -635 1 1 -1 52.9389 46.559 52.1266 0.587785 -0.688191 0.425325 0.489345 45 57.5 1 0.2 -636 1 1 1 52.5806 46.0827 51.7308 0.516121 -0.783452 0.346153 0.489345 45 57.5 1 0.2 -637 1 1 -1 53.5355 46.9925 51.8587 0.707107 -0.601501 0.371748 0.489345 45 57.5 1 0.2 -638 1 1 1 53.2371 46.4884 51.48 0.647412 -0.70231 0.296004 0.489345 45 57.5 1 0.2 -639 1 1 -1 52.8563 46.0368 51.0651 0.571252 -0.792649 0.213023 0.489345 45 57.5 1 0.2 -640 1 1 1 52.8213 47.4331 53.2329 0.564254 -0.513375 0.646578 0.489345 45 57.5 1 0.2 -641 1 1 -1 53.2329 47.1787 52.5669 0.646578 -0.564254 0.513375 0.489345 45 57.5 1 0.2 -642 1 1 1 52.5669 46.7671 52.8213 0.513375 -0.646578 0.564254 0.489345 45 57.5 1 0.2 +1 1 1 -1 50 52.6287 45.7467 0 0.525731 -0.850651 0.489345 45 57.5 57.5 0.2 +2 1 1 1 50.4054 53.0782 46.0808 0.0810867 0.615642 -0.783843 0.489345 45 57.5 57.5 0.2 +3 1 1 -1 49.5946 53.0782 46.0808 -0.0810867 0.615642 -0.783843 0.489345 45 57.5 57.5 0.2 +4 1 1 1 50.8031 53.4689 46.4898 0.160622 0.693781 -0.702046 0.489345 45 57.5 57.5 0.2 +5 1 1 -1 50 53.5145 46.4436 0 0.702907 -0.711282 0.489345 45 57.5 57.5 0.2 +6 1 1 1 49.1969 53.4689 46.4898 -0.160622 0.693781 -0.702046 0.489345 45 57.5 57.5 0.2 +7 1 1 -1 51.1854 53.7933 46.9659 0.237086 0.758653 -0.606824 0.489345 45 57.5 57.5 0.2 +8 1 1 1 50.4057 53.901 46.8988 0.0811424 0.780205 -0.620239 0.489345 45 57.5 57.5 0.2 +9 1 1 -1 51.5451 54.0451 47.5 0.309017 0.809017 -0.499999 0.489345 45 57.5 57.5 0.2 +10 1 1 1 50.7822 54.2009 47.4037 0.156435 0.840178 -0.519258 0.489345 45 57.5 57.5 0.2 +11 1 1 -1 50 54.2533 47.3713 0 0.850651 -0.52573 0.489345 45 57.5 57.5 0.2 +12 1 1 1 49.5943 53.901 46.8988 -0.0811424 0.780205 -0.620239 0.489345 45 57.5 57.5 0.2 +13 1 1 -1 48.8146 53.7933 46.9659 -0.237086 0.758653 -0.606824 0.489345 45 57.5 57.5 0.2 +14 1 1 1 49.2178 54.2009 47.4037 -0.156435 0.840178 -0.519258 0.489345 45 57.5 57.5 0.2 +15 1 1 -1 48.4549 54.0451 47.5 -0.309017 0.809017 -0.499999 0.489345 45 57.5 57.5 0.2 +16 1 1 1 51.8752 54.2196 48.0819 0.375038 0.843912 -0.383614 0.489345 45 57.5 57.5 0.2 +17 1 1 -1 51.1934 54.455 48.0691 0.238678 0.891006 -0.386187 0.489345 45 57.5 57.5 0.2 +18 1 1 1 52.1694 54.3133 48.7005 0.433888 0.862669 -0.259892 0.489345 45 57.5 57.5 0.2 +19 1 1 -1 51.5063 54.5812 48.6796 0.301259 0.916244 -0.264082 0.489345 45 57.5 57.5 0.2 +20 1 1 1 50.8123 54.7553 48.6857 0.16246 0.951056 -0.262865 0.489345 45 57.5 57.5 0.2 +21 1 1 -1 52.4222 54.3246 49.344 0.484441 0.864929 -0.1312 0.489345 45 57.5 57.5 0.2 +22 1 1 1 51.7911 54.6215 49.3417 0.358229 0.924304 -0.131656 0.489345 45 57.5 57.5 0.2 +23 1 1 -1 52.6287 54.2533 50 0.525731 0.850651 0 0.489345 45 57.5 57.5 0.2 +24 1 1 1 52.0168 54.5752 50 0.403355 0.915043 0 0.489345 45 57.5 57.5 0.2 +25 1 1 -1 51.3663 54.8097 50 0.273267 0.961938 0 0.489345 45 57.5 57.5 0.2 +26 1 1 1 51.1006 54.832 49.336 0.220117 0.966393 -0.132793 0.489345 45 57.5 57.5 0.2 +27 1 1 -1 50.4112 54.9384 49.3346 0.0822426 0.987688 -0.133071 0.489345 45 57.5 57.5 0.2 +28 1 1 1 50.6898 54.9522 50 0.137952 0.990439 0 0.489345 45 57.5 57.5 0.2 +29 1 1 -1 50 55 50 0 1 0 0.489345 45 57.5 57.5 0.2 +30 1 1 1 48.8066 54.455 48.0691 -0.238678 0.891006 -0.386187 0.489345 45 57.5 57.5 0.2 +31 1 1 -1 48.1248 54.2196 48.0819 -0.375038 0.843912 -0.383614 0.489345 45 57.5 57.5 0.2 +32 1 1 1 49.1877 54.7553 48.6857 -0.16246 0.951056 -0.262865 0.489345 45 57.5 57.5 0.2 +33 1 1 -1 48.4937 54.5812 48.6796 -0.301259 0.916244 -0.264082 0.489345 45 57.5 57.5 0.2 +34 1 1 1 47.8306 54.3133 48.7005 -0.433888 0.862669 -0.259892 0.489345 45 57.5 57.5 0.2 +35 1 1 -1 49.5888 54.9384 49.3346 -0.0822426 0.987688 -0.133071 0.489345 45 57.5 57.5 0.2 +36 1 1 1 48.8994 54.832 49.336 -0.220117 0.966393 -0.132793 0.489345 45 57.5 57.5 0.2 +37 1 1 -1 49.3102 54.9522 50 -0.137952 0.990439 0 0.489345 45 57.5 57.5 0.2 +38 1 1 1 48.6337 54.8097 50 -0.273267 0.961938 0 0.489345 45 57.5 57.5 0.2 +39 1 1 -1 48.2089 54.6215 49.3417 -0.358229 0.924304 -0.131656 0.489345 45 57.5 57.5 0.2 +40 1 1 1 47.5778 54.3246 49.344 -0.484441 0.864929 -0.1312 0.489345 45 57.5 57.5 0.2 +41 1 1 -1 47.9832 54.5752 50 -0.403355 0.915043 0 0.489345 45 57.5 57.5 0.2 +42 1 1 1 47.3713 54.2533 50 -0.525731 0.850651 0 0.489345 45 57.5 57.5 0.2 +43 1 1 -1 50.4116 54.5649 48.002 0.0823234 0.912983 -0.399606 0.489345 45 57.5 57.5 0.2 +44 1 1 1 50 54.8193 48.668 0 0.963861 -0.266405 0.489345 45 57.5 57.5 0.2 +45 1 1 -1 49.5884 54.5649 48.002 -0.0823234 0.912983 -0.399606 0.489345 45 57.5 57.5 0.2 +46 1 1 1 50 52.6287 54.2533 0 0.525731 0.850651 0.489345 45 57.5 57.5 0.2 +47 1 1 -1 49.5946 53.0782 53.9192 -0.0810867 0.615642 0.783843 0.489345 45 57.5 57.5 0.2 +48 1 1 1 50.4054 53.0782 53.9192 0.0810867 0.615642 0.783843 0.489345 45 57.5 57.5 0.2 +49 1 1 -1 49.1969 53.4689 53.5102 -0.160622 0.693781 0.702046 0.489345 45 57.5 57.5 0.2 +50 1 1 1 50 53.5145 53.5564 0 0.702907 0.711282 0.489345 45 57.5 57.5 0.2 +51 1 1 -1 50.8031 53.4689 53.5102 0.160622 0.693781 0.702046 0.489345 45 57.5 57.5 0.2 +52 1 1 1 48.8146 53.7933 53.0341 -0.237086 0.758653 0.606824 0.489345 45 57.5 57.5 0.2 +53 1 1 -1 49.5943 53.901 53.1012 -0.0811424 0.780205 0.620239 0.489345 45 57.5 57.5 0.2 +54 1 1 1 48.4549 54.0451 52.5 -0.309017 0.809017 0.499999 0.489345 45 57.5 57.5 0.2 +55 1 1 -1 49.2178 54.2009 52.5963 -0.156435 0.840178 0.519258 0.489345 45 57.5 57.5 0.2 +56 1 1 1 50 54.2533 52.6287 0 0.850651 0.52573 0.489345 45 57.5 57.5 0.2 +57 1 1 -1 50.4057 53.901 53.1012 0.0811424 0.780205 0.620239 0.489345 45 57.5 57.5 0.2 +58 1 1 1 51.1854 53.7933 53.0341 0.237086 0.758653 0.606824 0.489345 45 57.5 57.5 0.2 +59 1 1 -1 50.7822 54.2009 52.5963 0.156435 0.840178 0.519258 0.489345 45 57.5 57.5 0.2 +60 1 1 1 51.5451 54.0451 52.5 0.309017 0.809017 0.499999 0.489345 45 57.5 57.5 0.2 +61 1 1 -1 48.1248 54.2196 51.9181 -0.375038 0.843912 0.383614 0.489345 45 57.5 57.5 0.2 +62 1 1 1 48.8066 54.455 51.9309 -0.238678 0.891006 0.386187 0.489345 45 57.5 57.5 0.2 +63 1 1 -1 47.8306 54.3133 51.2995 -0.433888 0.862669 0.259892 0.489345 45 57.5 57.5 0.2 +64 1 1 1 48.4937 54.5812 51.3204 -0.301259 0.916244 0.264082 0.489345 45 57.5 57.5 0.2 +65 1 1 -1 49.1877 54.7553 51.3143 -0.16246 0.951056 0.262865 0.489345 45 57.5 57.5 0.2 +66 1 1 1 47.5778 54.3246 50.656 -0.484441 0.864929 0.1312 0.489345 45 57.5 57.5 0.2 +67 1 1 -1 48.2089 54.6215 50.6583 -0.358229 0.924304 0.131656 0.489345 45 57.5 57.5 0.2 +68 1 1 1 48.8994 54.832 50.664 -0.220117 0.966393 0.132793 0.489345 45 57.5 57.5 0.2 +69 1 1 -1 49.5888 54.9384 50.6654 -0.0822426 0.987688 0.133071 0.489345 45 57.5 57.5 0.2 +70 1 1 1 51.1934 54.455 51.9309 0.238678 0.891006 0.386187 0.489345 45 57.5 57.5 0.2 +71 1 1 -1 51.8752 54.2196 51.9181 0.375038 0.843912 0.383614 0.489345 45 57.5 57.5 0.2 +72 1 1 1 50.8123 54.7553 51.3143 0.16246 0.951056 0.262865 0.489345 45 57.5 57.5 0.2 +73 1 1 -1 51.5063 54.5812 51.3204 0.301259 0.916244 0.264082 0.489345 45 57.5 57.5 0.2 +74 1 1 1 52.1694 54.3133 51.2995 0.433888 0.862669 0.259892 0.489345 45 57.5 57.5 0.2 +75 1 1 -1 50.4112 54.9384 50.6654 0.0822426 0.987688 0.133071 0.489345 45 57.5 57.5 0.2 +76 1 1 1 51.1006 54.832 50.664 0.220117 0.966393 0.132793 0.489345 45 57.5 57.5 0.2 +77 1 1 -1 51.7911 54.6215 50.6583 0.358229 0.924304 0.131656 0.489345 45 57.5 57.5 0.2 +78 1 1 1 52.4222 54.3246 50.656 0.484441 0.864929 0.1312 0.489345 45 57.5 57.5 0.2 +79 1 1 -1 49.5884 54.5649 51.998 -0.0823234 0.912983 0.399606 0.489345 45 57.5 57.5 0.2 +80 1 1 1 50 54.8193 51.332 0 0.963861 0.266405 0.489345 45 57.5 57.5 0.2 +81 1 1 -1 50.4116 54.5649 51.998 0.0823234 0.912983 0.399606 0.489345 45 57.5 57.5 0.2 +82 1 1 1 50 52.0168 54.5752 0 0.403355 0.915043 0.489345 45 57.5 57.5 0.2 +83 1 1 -1 49.344 52.4222 54.3246 -0.1312 0.484441 0.864929 0.489345 45 57.5 57.5 0.2 +84 1 1 1 50 51.3663 54.8097 0 0.273267 0.961938 0.489345 45 57.5 57.5 0.2 +85 1 1 -1 49.3417 51.7911 54.6215 -0.131656 0.358229 0.924304 0.489345 45 57.5 57.5 0.2 +86 1 1 1 48.7005 52.1694 54.3133 -0.259892 0.433888 0.862669 0.489345 45 57.5 57.5 0.2 +87 1 1 -1 50 50.6898 54.9522 0 0.137952 0.990439 0.489345 45 57.5 57.5 0.2 +88 1 1 1 49.336 51.1006 54.832 -0.132793 0.220117 0.966393 0.489345 45 57.5 57.5 0.2 +89 1 1 -1 50 50 55 0 0 1 0.489345 45 57.5 57.5 0.2 +90 1 1 1 49.3346 50.4112 54.9384 -0.133071 0.0822426 0.987688 0.489345 45 57.5 57.5 0.2 +91 1 1 -1 48.6857 50.8123 54.7553 -0.262865 0.16246 0.951056 0.489345 45 57.5 57.5 0.2 +92 1 1 1 48.6796 51.5063 54.5812 -0.264082 0.301259 0.916244 0.489345 45 57.5 57.5 0.2 +93 1 1 -1 48.0819 51.8752 54.2196 -0.383614 0.375038 0.843912 0.489345 45 57.5 57.5 0.2 +94 1 1 1 48.0691 51.1934 54.455 -0.386187 0.238678 0.891006 0.489345 45 57.5 57.5 0.2 +95 1 1 -1 47.5 51.5451 54.0451 -0.499999 0.309017 0.809017 0.489345 45 57.5 57.5 0.2 +96 1 1 1 50 49.3102 54.9522 0 -0.137952 0.990439 0.489345 45 57.5 57.5 0.2 +97 1 1 -1 49.3346 49.5888 54.9384 -0.133071 -0.0822426 0.987688 0.489345 45 57.5 57.5 0.2 +98 1 1 1 50 48.6337 54.8097 0 -0.273267 0.961938 0.489345 45 57.5 57.5 0.2 +99 1 1 -1 49.336 48.8994 54.832 -0.132793 -0.220117 0.966393 0.489345 45 57.5 57.5 0.2 +100 1 1 1 48.6857 49.1877 54.7553 -0.262865 -0.16246 0.951056 0.489345 45 57.5 57.5 0.2 +101 1 1 -1 50 47.9832 54.5752 0 -0.403355 0.915043 0.489345 45 57.5 57.5 0.2 +102 1 1 1 49.3417 48.2089 54.6215 -0.131656 -0.358229 0.924304 0.489345 45 57.5 57.5 0.2 +103 1 1 -1 50 47.3713 54.2533 0 -0.525731 0.850651 0.489345 45 57.5 57.5 0.2 +104 1 1 1 49.344 47.5778 54.3246 -0.1312 -0.484441 0.864929 0.489345 45 57.5 57.5 0.2 +105 1 1 -1 48.7005 47.8306 54.3133 -0.259892 -0.433888 0.862669 0.489345 45 57.5 57.5 0.2 +106 1 1 1 48.6796 48.4937 54.5812 -0.264082 -0.301259 0.916244 0.489345 45 57.5 57.5 0.2 +107 1 1 -1 48.0691 48.8066 54.455 -0.386187 -0.238678 0.891006 0.489345 45 57.5 57.5 0.2 +108 1 1 1 48.0819 48.1248 54.2196 -0.383614 -0.375038 0.843912 0.489345 45 57.5 57.5 0.2 +109 1 1 -1 47.5 48.4549 54.0451 -0.499999 -0.309017 0.809017 0.489345 45 57.5 57.5 0.2 +110 1 1 1 47.4037 50.7822 54.2009 -0.519258 0.156435 0.840178 0.489345 45 57.5 57.5 0.2 +111 1 1 -1 46.9659 51.1854 53.7933 -0.606824 0.237086 0.758653 0.489345 45 57.5 57.5 0.2 +112 1 1 1 47.3713 50 54.2533 -0.52573 0 0.850651 0.489345 45 57.5 57.5 0.2 +113 1 1 -1 46.8988 50.4057 53.901 -0.620239 0.0811424 0.780205 0.489345 45 57.5 57.5 0.2 +114 1 1 1 46.4898 50.8031 53.4689 -0.702046 0.160622 0.693781 0.489345 45 57.5 57.5 0.2 +115 1 1 -1 47.4037 49.2178 54.2009 -0.519258 -0.156435 0.840178 0.489345 45 57.5 57.5 0.2 +116 1 1 1 46.8988 49.5943 53.901 -0.620239 -0.0811424 0.780205 0.489345 45 57.5 57.5 0.2 +117 1 1 -1 46.9659 48.8146 53.7933 -0.606824 -0.237086 0.758653 0.489345 45 57.5 57.5 0.2 +118 1 1 1 46.4898 49.1969 53.4689 -0.702046 -0.160622 0.693781 0.489345 45 57.5 57.5 0.2 +119 1 1 -1 46.4436 50 53.5145 -0.711282 0 0.702907 0.489345 45 57.5 57.5 0.2 +120 1 1 1 46.0808 50.4054 53.0782 -0.783843 0.0810867 0.615642 0.489345 45 57.5 57.5 0.2 +121 1 1 -1 46.0808 49.5946 53.0782 -0.783843 -0.0810867 0.615642 0.489345 45 57.5 57.5 0.2 +122 1 1 1 45.7467 50 52.6287 -0.850651 0 0.525731 0.489345 45 57.5 57.5 0.2 +123 1 1 -1 48.668 50 54.8193 -0.266405 0 0.963861 0.489345 45 57.5 57.5 0.2 +124 1 1 1 48.002 49.5884 54.5649 -0.399606 -0.0823234 0.912983 0.489345 45 57.5 57.5 0.2 +125 1 1 -1 48.002 50.4116 54.5649 -0.399606 0.0823234 0.912983 0.489345 45 57.5 57.5 0.2 +126 1 1 1 50.656 52.4222 54.3246 0.1312 0.484441 0.864929 0.489345 45 57.5 57.5 0.2 +127 1 1 -1 51.2995 52.1694 54.3133 0.259892 0.433888 0.862669 0.489345 45 57.5 57.5 0.2 +128 1 1 1 50.6583 51.7911 54.6215 0.131656 0.358229 0.924304 0.489345 45 57.5 57.5 0.2 +129 1 1 -1 51.9181 51.8752 54.2196 0.383614 0.375038 0.843912 0.489345 45 57.5 57.5 0.2 +130 1 1 1 51.3204 51.5063 54.5812 0.264082 0.301259 0.916244 0.489345 45 57.5 57.5 0.2 +131 1 1 -1 52.5 51.5451 54.0451 0.499999 0.309017 0.809017 0.489345 45 57.5 57.5 0.2 +132 1 1 1 51.9309 51.1934 54.455 0.386187 0.238678 0.891006 0.489345 45 57.5 57.5 0.2 +133 1 1 -1 51.3143 50.8123 54.7553 0.262865 0.16246 0.951056 0.489345 45 57.5 57.5 0.2 +134 1 1 1 50.664 51.1006 54.832 0.132793 0.220117 0.966393 0.489345 45 57.5 57.5 0.2 +135 1 1 -1 50.6654 50.4112 54.9384 0.133071 0.0822426 0.987688 0.489345 45 57.5 57.5 0.2 +136 1 1 1 53.0341 51.1854 53.7933 0.606824 0.237086 0.758653 0.489345 45 57.5 57.5 0.2 +137 1 1 -1 52.5963 50.7822 54.2009 0.519258 0.156435 0.840178 0.489345 45 57.5 57.5 0.2 +138 1 1 1 53.5102 50.8031 53.4689 0.702046 0.160622 0.693781 0.489345 45 57.5 57.5 0.2 +139 1 1 -1 53.1012 50.4057 53.901 0.620239 0.0811424 0.780205 0.489345 45 57.5 57.5 0.2 +140 1 1 1 52.6287 50 54.2533 0.52573 0 0.850651 0.489345 45 57.5 57.5 0.2 +141 1 1 -1 53.9192 50.4054 53.0782 0.783843 0.0810867 0.615642 0.489345 45 57.5 57.5 0.2 +142 1 1 1 53.5564 50 53.5145 0.711282 0 0.702907 0.489345 45 57.5 57.5 0.2 +143 1 1 -1 54.2533 50 52.6287 0.850651 0 0.525731 0.489345 45 57.5 57.5 0.2 +144 1 1 1 53.9192 49.5946 53.0782 0.783843 -0.0810867 0.615642 0.489345 45 57.5 57.5 0.2 +145 1 1 -1 53.5102 49.1969 53.4689 0.702046 -0.160622 0.693781 0.489345 45 57.5 57.5 0.2 +146 1 1 1 53.1012 49.5943 53.901 0.620239 -0.0811424 0.780205 0.489345 45 57.5 57.5 0.2 +147 1 1 -1 52.5963 49.2178 54.2009 0.519258 -0.156435 0.840178 0.489345 45 57.5 57.5 0.2 +148 1 1 1 53.0341 48.8146 53.7933 0.606824 -0.237086 0.758653 0.489345 45 57.5 57.5 0.2 +149 1 1 -1 52.5 48.4549 54.0451 0.499999 -0.309017 0.809017 0.489345 45 57.5 57.5 0.2 +150 1 1 1 50.6654 49.5888 54.9384 0.133071 -0.0822426 0.987688 0.489345 45 57.5 57.5 0.2 +151 1 1 -1 51.3143 49.1877 54.7553 0.262865 -0.16246 0.951056 0.489345 45 57.5 57.5 0.2 +152 1 1 1 50.664 48.8994 54.832 0.132793 -0.220117 0.966393 0.489345 45 57.5 57.5 0.2 +153 1 1 -1 51.9309 48.8066 54.455 0.386187 -0.238678 0.891006 0.489345 45 57.5 57.5 0.2 +154 1 1 1 51.3204 48.4937 54.5812 0.264082 -0.301259 0.916244 0.489345 45 57.5 57.5 0.2 +155 1 1 -1 51.9181 48.1248 54.2196 0.383614 -0.375038 0.843912 0.489345 45 57.5 57.5 0.2 +156 1 1 1 51.2995 47.8306 54.3133 0.259892 -0.433888 0.862669 0.489345 45 57.5 57.5 0.2 +157 1 1 -1 50.6583 48.2089 54.6215 0.131656 -0.358229 0.924304 0.489345 45 57.5 57.5 0.2 +158 1 1 1 50.656 47.5778 54.3246 0.1312 -0.484441 0.864929 0.489345 45 57.5 57.5 0.2 +159 1 1 -1 51.998 50.4116 54.5649 0.399606 0.0823234 0.912983 0.489345 45 57.5 57.5 0.2 +160 1 1 1 51.998 49.5884 54.5649 0.399606 -0.0823234 0.912983 0.489345 45 57.5 57.5 0.2 +161 1 1 -1 51.332 50 54.8193 0.266405 0 0.963861 0.489345 45 57.5 57.5 0.2 +162 1 1 1 50 52.0168 45.4248 0 0.403355 -0.915043 0.489345 45 57.5 57.5 0.2 +163 1 1 -1 50.656 52.4222 45.6754 0.1312 0.484441 -0.864929 0.489345 45 57.5 57.5 0.2 +164 1 1 1 50 51.3663 45.1903 0 0.273267 -0.961938 0.489345 45 57.5 57.5 0.2 +165 1 1 -1 50.6583 51.7911 45.3785 0.131656 0.358229 -0.924304 0.489345 45 57.5 57.5 0.2 +166 1 1 1 51.2995 52.1694 45.6867 0.259892 0.433888 -0.862669 0.489345 45 57.5 57.5 0.2 +167 1 1 -1 50 50.6898 45.0478 0 0.137952 -0.990439 0.489345 45 57.5 57.5 0.2 +168 1 1 1 50.664 51.1006 45.168 0.132793 0.220117 -0.966393 0.489345 45 57.5 57.5 0.2 +169 1 1 -1 50 50 45 0 0 -1 0.489345 45 57.5 57.5 0.2 +170 1 1 1 50.6654 50.4112 45.0616 0.133071 0.0822426 -0.987688 0.489345 45 57.5 57.5 0.2 +171 1 1 -1 51.3143 50.8123 45.2447 0.262865 0.16246 -0.951056 0.489345 45 57.5 57.5 0.2 +172 1 1 1 51.3204 51.5063 45.4188 0.264082 0.301259 -0.916244 0.489345 45 57.5 57.5 0.2 +173 1 1 -1 51.9181 51.8752 45.7804 0.383614 0.375038 -0.843912 0.489345 45 57.5 57.5 0.2 +174 1 1 1 51.9309 51.1934 45.545 0.386187 0.238678 -0.891006 0.489345 45 57.5 57.5 0.2 +175 1 1 -1 52.5 51.5451 45.9549 0.499999 0.309017 -0.809017 0.489345 45 57.5 57.5 0.2 +176 1 1 1 50 49.3102 45.0478 0 -0.137952 -0.990439 0.489345 45 57.5 57.5 0.2 +177 1 1 -1 50.6654 49.5888 45.0616 0.133071 -0.0822426 -0.987688 0.489345 45 57.5 57.5 0.2 +178 1 1 1 50 48.6337 45.1903 0 -0.273267 -0.961938 0.489345 45 57.5 57.5 0.2 +179 1 1 -1 50.664 48.8994 45.168 0.132793 -0.220117 -0.966393 0.489345 45 57.5 57.5 0.2 +180 1 1 1 51.3143 49.1877 45.2447 0.262865 -0.16246 -0.951056 0.489345 45 57.5 57.5 0.2 +181 1 1 -1 50 47.9832 45.4248 0 -0.403355 -0.915043 0.489345 45 57.5 57.5 0.2 +182 1 1 1 50.6583 48.2089 45.3785 0.131656 -0.358229 -0.924304 0.489345 45 57.5 57.5 0.2 +183 1 1 -1 50 47.3713 45.7467 0 -0.525731 -0.850651 0.489345 45 57.5 57.5 0.2 +184 1 1 1 50.656 47.5778 45.6754 0.1312 -0.484441 -0.864929 0.489345 45 57.5 57.5 0.2 +185 1 1 -1 51.2995 47.8306 45.6867 0.259892 -0.433888 -0.862669 0.489345 45 57.5 57.5 0.2 +186 1 1 1 51.3204 48.4937 45.4188 0.264082 -0.301259 -0.916244 0.489345 45 57.5 57.5 0.2 +187 1 1 -1 51.9309 48.8066 45.545 0.386187 -0.238678 -0.891006 0.489345 45 57.5 57.5 0.2 +188 1 1 1 51.9181 48.1248 45.7804 0.383614 -0.375038 -0.843912 0.489345 45 57.5 57.5 0.2 +189 1 1 -1 52.5 48.4549 45.9549 0.499999 -0.309017 -0.809017 0.489345 45 57.5 57.5 0.2 +190 1 1 1 52.5963 50.7822 45.7991 0.519258 0.156435 -0.840178 0.489345 45 57.5 57.5 0.2 +191 1 1 -1 53.0341 51.1854 46.2067 0.606824 0.237086 -0.758653 0.489345 45 57.5 57.5 0.2 +192 1 1 1 52.6287 50 45.7467 0.52573 0 -0.850651 0.489345 45 57.5 57.5 0.2 +193 1 1 -1 53.1012 50.4057 46.099 0.620239 0.0811424 -0.780205 0.489345 45 57.5 57.5 0.2 +194 1 1 1 53.5102 50.8031 46.5311 0.702046 0.160622 -0.693781 0.489345 45 57.5 57.5 0.2 +195 1 1 -1 52.5963 49.2178 45.7991 0.519258 -0.156435 -0.840178 0.489345 45 57.5 57.5 0.2 +196 1 1 1 53.1012 49.5943 46.099 0.620239 -0.0811424 -0.780205 0.489345 45 57.5 57.5 0.2 +197 1 1 -1 53.0341 48.8146 46.2067 0.606824 -0.237086 -0.758653 0.489345 45 57.5 57.5 0.2 +198 1 1 1 53.5102 49.1969 46.5311 0.702046 -0.160622 -0.693781 0.489345 45 57.5 57.5 0.2 +199 1 1 -1 53.5564 50 46.4855 0.711282 0 -0.702907 0.489345 45 57.5 57.5 0.2 +200 1 1 1 53.9192 50.4054 46.9218 0.783843 0.0810867 -0.615642 0.489345 45 57.5 57.5 0.2 +201 1 1 -1 53.9192 49.5946 46.9218 0.783843 -0.0810867 -0.615642 0.489345 45 57.5 57.5 0.2 +202 1 1 1 54.2533 50 47.3713 0.850651 0 -0.525731 0.489345 45 57.5 57.5 0.2 +203 1 1 -1 51.332 50 45.1807 0.266405 0 -0.963861 0.489345 45 57.5 57.5 0.2 +204 1 1 1 51.998 49.5884 45.4351 0.399606 -0.0823234 -0.912983 0.489345 45 57.5 57.5 0.2 +205 1 1 -1 51.998 50.4116 45.4351 0.399606 0.0823234 -0.912983 0.489345 45 57.5 57.5 0.2 +206 1 1 1 49.344 52.4222 45.6754 -0.1312 0.484441 -0.864929 0.489345 45 57.5 57.5 0.2 +207 1 1 -1 48.7005 52.1694 45.6867 -0.259892 0.433888 -0.862669 0.489345 45 57.5 57.5 0.2 +208 1 1 1 49.3417 51.7911 45.3785 -0.131656 0.358229 -0.924304 0.489345 45 57.5 57.5 0.2 +209 1 1 -1 48.0819 51.8752 45.7804 -0.383614 0.375038 -0.843912 0.489345 45 57.5 57.5 0.2 +210 1 1 1 48.6796 51.5063 45.4188 -0.264082 0.301259 -0.916244 0.489345 45 57.5 57.5 0.2 +211 1 1 -1 47.5 51.5451 45.9549 -0.499999 0.309017 -0.809017 0.489345 45 57.5 57.5 0.2 +212 1 1 1 48.0691 51.1934 45.545 -0.386187 0.238678 -0.891006 0.489345 45 57.5 57.5 0.2 +213 1 1 -1 48.6857 50.8123 45.2447 -0.262865 0.16246 -0.951056 0.489345 45 57.5 57.5 0.2 +214 1 1 1 49.336 51.1006 45.168 -0.132793 0.220117 -0.966393 0.489345 45 57.5 57.5 0.2 +215 1 1 -1 49.3346 50.4112 45.0616 -0.133071 0.0822426 -0.987688 0.489345 45 57.5 57.5 0.2 +216 1 1 1 46.9659 51.1854 46.2067 -0.606824 0.237086 -0.758653 0.489345 45 57.5 57.5 0.2 +217 1 1 -1 47.4037 50.7822 45.7991 -0.519258 0.156435 -0.840178 0.489345 45 57.5 57.5 0.2 +218 1 1 1 46.4898 50.8031 46.5311 -0.702046 0.160622 -0.693781 0.489345 45 57.5 57.5 0.2 +219 1 1 -1 46.8988 50.4057 46.099 -0.620239 0.0811424 -0.780205 0.489345 45 57.5 57.5 0.2 +220 1 1 1 47.3713 50 45.7467 -0.52573 0 -0.850651 0.489345 45 57.5 57.5 0.2 +221 1 1 -1 46.0808 50.4054 46.9218 -0.783843 0.0810867 -0.615642 0.489345 45 57.5 57.5 0.2 +222 1 1 1 46.4436 50 46.4855 -0.711282 0 -0.702907 0.489345 45 57.5 57.5 0.2 +223 1 1 -1 45.7467 50 47.3713 -0.850651 0 -0.525731 0.489345 45 57.5 57.5 0.2 +224 1 1 1 46.0808 49.5946 46.9218 -0.783843 -0.0810867 -0.615642 0.489345 45 57.5 57.5 0.2 +225 1 1 -1 46.4898 49.1969 46.5311 -0.702046 -0.160622 -0.693781 0.489345 45 57.5 57.5 0.2 +226 1 1 1 46.8988 49.5943 46.099 -0.620239 -0.0811424 -0.780205 0.489345 45 57.5 57.5 0.2 +227 1 1 -1 47.4037 49.2178 45.7991 -0.519258 -0.156435 -0.840178 0.489345 45 57.5 57.5 0.2 +228 1 1 1 46.9659 48.8146 46.2067 -0.606824 -0.237086 -0.758653 0.489345 45 57.5 57.5 0.2 +229 1 1 -1 47.5 48.4549 45.9549 -0.499999 -0.309017 -0.809017 0.489345 45 57.5 57.5 0.2 +230 1 1 1 49.3346 49.5888 45.0616 -0.133071 -0.0822426 -0.987688 0.489345 45 57.5 57.5 0.2 +231 1 1 -1 48.6857 49.1877 45.2447 -0.262865 -0.16246 -0.951056 0.489345 45 57.5 57.5 0.2 +232 1 1 1 49.336 48.8994 45.168 -0.132793 -0.220117 -0.966393 0.489345 45 57.5 57.5 0.2 +233 1 1 -1 48.0691 48.8066 45.545 -0.386187 -0.238678 -0.891006 0.489345 45 57.5 57.5 0.2 +234 1 1 1 48.6796 48.4937 45.4188 -0.264082 -0.301259 -0.916244 0.489345 45 57.5 57.5 0.2 +235 1 1 -1 48.0819 48.1248 45.7804 -0.383614 -0.375038 -0.843912 0.489345 45 57.5 57.5 0.2 +236 1 1 1 48.7005 47.8306 45.6867 -0.259892 -0.433888 -0.862669 0.489345 45 57.5 57.5 0.2 +237 1 1 -1 49.3417 48.2089 45.3785 -0.131656 -0.358229 -0.924304 0.489345 45 57.5 57.5 0.2 +238 1 1 1 49.344 47.5778 45.6754 -0.1312 -0.484441 -0.864929 0.489345 45 57.5 57.5 0.2 +239 1 1 -1 48.002 50.4116 45.4351 -0.399606 0.0823234 -0.912983 0.489345 45 57.5 57.5 0.2 +240 1 1 1 48.002 49.5884 45.4351 -0.399606 -0.0823234 -0.912983 0.489345 45 57.5 57.5 0.2 +241 1 1 -1 48.668 50 45.1807 -0.266405 0 -0.963861 0.489345 45 57.5 57.5 0.2 +242 1 1 1 50.4054 46.9218 53.9192 0.0810867 -0.615642 0.783843 0.489345 45 57.5 57.5 0.2 +243 1 1 -1 49.5946 46.9218 53.9192 -0.0810867 -0.615642 0.783843 0.489345 45 57.5 57.5 0.2 +244 1 1 1 50.8031 46.5311 53.5102 0.160622 -0.693781 0.702046 0.489345 45 57.5 57.5 0.2 +245 1 1 -1 50 46.4855 53.5564 0 -0.702907 0.711282 0.489345 45 57.5 57.5 0.2 +246 1 1 1 49.1969 46.5311 53.5102 -0.160622 -0.693781 0.702046 0.489345 45 57.5 57.5 0.2 +247 1 1 -1 51.1854 46.2067 53.0341 0.237086 -0.758653 0.606824 0.489345 45 57.5 57.5 0.2 +248 1 1 1 50.4057 46.099 53.1012 0.0811424 -0.780205 0.620239 0.489345 45 57.5 57.5 0.2 +249 1 1 -1 51.5451 45.9549 52.5 0.309017 -0.809017 0.499999 0.489345 45 57.5 57.5 0.2 +250 1 1 1 50.7822 45.7991 52.5963 0.156435 -0.840178 0.519258 0.489345 45 57.5 57.5 0.2 +251 1 1 -1 50 45.7467 52.6287 0 -0.850651 0.52573 0.489345 45 57.5 57.5 0.2 +252 1 1 1 49.5943 46.099 53.1012 -0.0811424 -0.780205 0.620239 0.489345 45 57.5 57.5 0.2 +253 1 1 -1 48.8146 46.2067 53.0341 -0.237086 -0.758653 0.606824 0.489345 45 57.5 57.5 0.2 +254 1 1 1 49.2178 45.7991 52.5963 -0.156435 -0.840178 0.519258 0.489345 45 57.5 57.5 0.2 +255 1 1 -1 48.4549 45.9549 52.5 -0.309017 -0.809017 0.499999 0.489345 45 57.5 57.5 0.2 +256 1 1 1 51.8752 45.7804 51.9181 0.375038 -0.843912 0.383614 0.489345 45 57.5 57.5 0.2 +257 1 1 -1 51.1934 45.545 51.9309 0.238678 -0.891006 0.386187 0.489345 45 57.5 57.5 0.2 +258 1 1 1 52.1694 45.6867 51.2995 0.433888 -0.862669 0.259892 0.489345 45 57.5 57.5 0.2 +259 1 1 -1 51.5063 45.4188 51.3204 0.301259 -0.916244 0.264082 0.489345 45 57.5 57.5 0.2 +260 1 1 1 50.8123 45.2447 51.3143 0.16246 -0.951056 0.262865 0.489345 45 57.5 57.5 0.2 +261 1 1 -1 52.4222 45.6754 50.656 0.484441 -0.864929 0.1312 0.489345 45 57.5 57.5 0.2 +262 1 1 1 51.7911 45.3785 50.6583 0.358229 -0.924304 0.131656 0.489345 45 57.5 57.5 0.2 +263 1 1 -1 52.6287 45.7467 50 0.525731 -0.850651 0 0.489345 45 57.5 57.5 0.2 +264 1 1 1 52.0168 45.4248 50 0.403355 -0.915043 0 0.489345 45 57.5 57.5 0.2 +265 1 1 -1 51.3663 45.1903 50 0.273267 -0.961938 0 0.489345 45 57.5 57.5 0.2 +266 1 1 1 51.1006 45.168 50.664 0.220117 -0.966393 0.132793 0.489345 45 57.5 57.5 0.2 +267 1 1 -1 50.4112 45.0616 50.6654 0.0822426 -0.987688 0.133071 0.489345 45 57.5 57.5 0.2 +268 1 1 1 50.6898 45.0478 50 0.137952 -0.990439 0 0.489345 45 57.5 57.5 0.2 +269 1 1 -1 50 45 50 0 -1 0 0.489345 45 57.5 57.5 0.2 +270 1 1 1 48.8066 45.545 51.9309 -0.238678 -0.891006 0.386187 0.489345 45 57.5 57.5 0.2 +271 1 1 -1 48.1248 45.7804 51.9181 -0.375038 -0.843912 0.383614 0.489345 45 57.5 57.5 0.2 +272 1 1 1 49.1877 45.2447 51.3143 -0.16246 -0.951056 0.262865 0.489345 45 57.5 57.5 0.2 +273 1 1 -1 48.4937 45.4188 51.3204 -0.301259 -0.916244 0.264082 0.489345 45 57.5 57.5 0.2 +274 1 1 1 47.8306 45.6867 51.2995 -0.433888 -0.862669 0.259892 0.489345 45 57.5 57.5 0.2 +275 1 1 -1 49.5888 45.0616 50.6654 -0.0822426 -0.987688 0.133071 0.489345 45 57.5 57.5 0.2 +276 1 1 1 48.8994 45.168 50.664 -0.220117 -0.966393 0.132793 0.489345 45 57.5 57.5 0.2 +277 1 1 -1 49.3102 45.0478 50 -0.137952 -0.990439 0 0.489345 45 57.5 57.5 0.2 +278 1 1 1 48.6337 45.1903 50 -0.273267 -0.961938 0 0.489345 45 57.5 57.5 0.2 +279 1 1 -1 48.2089 45.3785 50.6583 -0.358229 -0.924304 0.131656 0.489345 45 57.5 57.5 0.2 +280 1 1 1 47.5778 45.6754 50.656 -0.484441 -0.864929 0.1312 0.489345 45 57.5 57.5 0.2 +281 1 1 -1 47.9832 45.4248 50 -0.403355 -0.915043 0 0.489345 45 57.5 57.5 0.2 +282 1 1 1 47.3713 45.7467 50 -0.525731 -0.850651 0 0.489345 45 57.5 57.5 0.2 +283 1 1 -1 50.4116 45.4351 51.998 0.0823234 -0.912983 0.399606 0.489345 45 57.5 57.5 0.2 +284 1 1 1 50 45.1807 51.332 0 -0.963861 0.266405 0.489345 45 57.5 57.5 0.2 +285 1 1 -1 49.5884 45.4351 51.998 -0.0823234 -0.912983 0.399606 0.489345 45 57.5 57.5 0.2 +286 1 1 1 49.5946 46.9218 46.0808 -0.0810867 -0.615642 -0.783843 0.489345 45 57.5 57.5 0.2 +287 1 1 -1 50.4054 46.9218 46.0808 0.0810867 -0.615642 -0.783843 0.489345 45 57.5 57.5 0.2 +288 1 1 1 49.1969 46.5311 46.4898 -0.160622 -0.693781 -0.702046 0.489345 45 57.5 57.5 0.2 +289 1 1 -1 50 46.4855 46.4436 0 -0.702907 -0.711282 0.489345 45 57.5 57.5 0.2 +290 1 1 1 50.8031 46.5311 46.4898 0.160622 -0.693781 -0.702046 0.489345 45 57.5 57.5 0.2 +291 1 1 -1 48.8146 46.2067 46.9659 -0.237086 -0.758653 -0.606824 0.489345 45 57.5 57.5 0.2 +292 1 1 1 49.5943 46.099 46.8988 -0.0811424 -0.780205 -0.620239 0.489345 45 57.5 57.5 0.2 +293 1 1 -1 48.4549 45.9549 47.5 -0.309017 -0.809017 -0.499999 0.489345 45 57.5 57.5 0.2 +294 1 1 1 49.2178 45.7991 47.4037 -0.156435 -0.840178 -0.519258 0.489345 45 57.5 57.5 0.2 +295 1 1 -1 50 45.7467 47.3713 0 -0.850651 -0.52573 0.489345 45 57.5 57.5 0.2 +296 1 1 1 50.4057 46.099 46.8988 0.0811424 -0.780205 -0.620239 0.489345 45 57.5 57.5 0.2 +297 1 1 -1 51.1854 46.2067 46.9659 0.237086 -0.758653 -0.606824 0.489345 45 57.5 57.5 0.2 +298 1 1 1 50.7822 45.7991 47.4037 0.156435 -0.840178 -0.519258 0.489345 45 57.5 57.5 0.2 +299 1 1 -1 51.5451 45.9549 47.5 0.309017 -0.809017 -0.499999 0.489345 45 57.5 57.5 0.2 +300 1 1 1 48.1248 45.7804 48.0819 -0.375038 -0.843912 -0.383614 0.489345 45 57.5 57.5 0.2 +301 1 1 -1 48.8066 45.545 48.0691 -0.238678 -0.891006 -0.386187 0.489345 45 57.5 57.5 0.2 +302 1 1 1 47.8306 45.6867 48.7005 -0.433888 -0.862669 -0.259892 0.489345 45 57.5 57.5 0.2 +303 1 1 -1 48.4937 45.4188 48.6796 -0.301259 -0.916244 -0.264082 0.489345 45 57.5 57.5 0.2 +304 1 1 1 49.1877 45.2447 48.6857 -0.16246 -0.951056 -0.262865 0.489345 45 57.5 57.5 0.2 +305 1 1 -1 47.5778 45.6754 49.344 -0.484441 -0.864929 -0.1312 0.489345 45 57.5 57.5 0.2 +306 1 1 1 48.2089 45.3785 49.3417 -0.358229 -0.924304 -0.131656 0.489345 45 57.5 57.5 0.2 +307 1 1 -1 48.8994 45.168 49.336 -0.220117 -0.966393 -0.132793 0.489345 45 57.5 57.5 0.2 +308 1 1 1 49.5888 45.0616 49.3346 -0.0822426 -0.987688 -0.133071 0.489345 45 57.5 57.5 0.2 +309 1 1 -1 51.1934 45.545 48.0691 0.238678 -0.891006 -0.386187 0.489345 45 57.5 57.5 0.2 +310 1 1 1 51.8752 45.7804 48.0819 0.375038 -0.843912 -0.383614 0.489345 45 57.5 57.5 0.2 +311 1 1 -1 50.8123 45.2447 48.6857 0.16246 -0.951056 -0.262865 0.489345 45 57.5 57.5 0.2 +312 1 1 1 51.5063 45.4188 48.6796 0.301259 -0.916244 -0.264082 0.489345 45 57.5 57.5 0.2 +313 1 1 -1 52.1694 45.6867 48.7005 0.433888 -0.862669 -0.259892 0.489345 45 57.5 57.5 0.2 +314 1 1 1 50.4112 45.0616 49.3346 0.0822426 -0.987688 -0.133071 0.489345 45 57.5 57.5 0.2 +315 1 1 -1 51.1006 45.168 49.336 0.220117 -0.966393 -0.132793 0.489345 45 57.5 57.5 0.2 +316 1 1 1 51.7911 45.3785 49.3417 0.358229 -0.924304 -0.131656 0.489345 45 57.5 57.5 0.2 +317 1 1 -1 52.4222 45.6754 49.344 0.484441 -0.864929 -0.1312 0.489345 45 57.5 57.5 0.2 +318 1 1 1 49.5884 45.4351 48.002 -0.0823234 -0.912983 -0.399606 0.489345 45 57.5 57.5 0.2 +319 1 1 -1 50 45.1807 48.668 0 -0.963861 -0.266405 0.489345 45 57.5 57.5 0.2 +320 1 1 1 50.4116 45.4351 48.002 0.0823234 -0.912983 -0.399606 0.489345 45 57.5 57.5 0.2 +321 1 1 -1 46.9218 53.9192 50.4054 -0.615642 0.783843 0.0810867 0.489345 45 57.5 57.5 0.2 +322 1 1 1 46.9218 53.9192 49.5946 -0.615642 0.783843 -0.0810867 0.489345 45 57.5 57.5 0.2 +323 1 1 -1 46.5311 53.5102 50.8031 -0.693781 0.702046 0.160622 0.489345 45 57.5 57.5 0.2 +324 1 1 1 46.4855 53.5564 50 -0.702907 0.711282 0 0.489345 45 57.5 57.5 0.2 +325 1 1 -1 46.5311 53.5102 49.1969 -0.693781 0.702046 -0.160622 0.489345 45 57.5 57.5 0.2 +326 1 1 1 46.2067 53.0341 51.1854 -0.758653 0.606824 0.237086 0.489345 45 57.5 57.5 0.2 +327 1 1 -1 46.099 53.1012 50.4057 -0.780205 0.620239 0.0811424 0.489345 45 57.5 57.5 0.2 +328 1 1 1 45.9549 52.5 51.5451 -0.809017 0.499999 0.309017 0.489345 45 57.5 57.5 0.2 +329 1 1 -1 45.7991 52.5963 50.7822 -0.840178 0.519258 0.156435 0.489345 45 57.5 57.5 0.2 +330 1 1 1 45.7467 52.6287 50 -0.850651 0.52573 0 0.489345 45 57.5 57.5 0.2 +331 1 1 -1 46.099 53.1012 49.5943 -0.780205 0.620239 -0.0811424 0.489345 45 57.5 57.5 0.2 +332 1 1 1 46.2067 53.0341 48.8146 -0.758653 0.606824 -0.237086 0.489345 45 57.5 57.5 0.2 +333 1 1 -1 45.7991 52.5963 49.2178 -0.840178 0.519258 -0.156435 0.489345 45 57.5 57.5 0.2 +334 1 1 1 45.9549 52.5 48.4549 -0.809017 0.499999 -0.309017 0.489345 45 57.5 57.5 0.2 +335 1 1 -1 45.7804 51.9181 51.8752 -0.843912 0.383614 0.375038 0.489345 45 57.5 57.5 0.2 +336 1 1 1 45.545 51.9309 51.1934 -0.891006 0.386187 0.238678 0.489345 45 57.5 57.5 0.2 +337 1 1 -1 45.6867 51.2995 52.1694 -0.862669 0.259892 0.433888 0.489345 45 57.5 57.5 0.2 +338 1 1 1 45.4188 51.3204 51.5063 -0.916244 0.264082 0.301259 0.489345 45 57.5 57.5 0.2 +339 1 1 -1 45.2447 51.3143 50.8123 -0.951056 0.262865 0.16246 0.489345 45 57.5 57.5 0.2 +340 1 1 1 45.6754 50.656 52.4222 -0.864929 0.1312 0.484441 0.489345 45 57.5 57.5 0.2 +341 1 1 -1 45.3785 50.6583 51.7911 -0.924304 0.131656 0.358229 0.489345 45 57.5 57.5 0.2 +342 1 1 1 45.4248 50 52.0168 -0.915043 0 0.403355 0.489345 45 57.5 57.5 0.2 +343 1 1 -1 45.1903 50 51.3663 -0.961938 0 0.273267 0.489345 45 57.5 57.5 0.2 +344 1 1 1 45.168 50.664 51.1006 -0.966393 0.132793 0.220117 0.489345 45 57.5 57.5 0.2 +345 1 1 -1 45.0616 50.6654 50.4112 -0.987688 0.133071 0.0822426 0.489345 45 57.5 57.5 0.2 +346 1 1 1 45.0478 50 50.6898 -0.990439 0 0.137952 0.489345 45 57.5 57.5 0.2 +347 1 1 -1 45 50 50 -1 0 0 0.489345 45 57.5 57.5 0.2 +348 1 1 1 45.545 51.9309 48.8066 -0.891006 0.386187 -0.238678 0.489345 45 57.5 57.5 0.2 +349 1 1 -1 45.7804 51.9181 48.1248 -0.843912 0.383614 -0.375038 0.489345 45 57.5 57.5 0.2 +350 1 1 1 45.2447 51.3143 49.1877 -0.951056 0.262865 -0.16246 0.489345 45 57.5 57.5 0.2 +351 1 1 -1 45.4188 51.3204 48.4937 -0.916244 0.264082 -0.301259 0.489345 45 57.5 57.5 0.2 +352 1 1 1 45.6867 51.2995 47.8306 -0.862669 0.259892 -0.433888 0.489345 45 57.5 57.5 0.2 +353 1 1 -1 45.0616 50.6654 49.5888 -0.987688 0.133071 -0.0822426 0.489345 45 57.5 57.5 0.2 +354 1 1 1 45.168 50.664 48.8994 -0.966393 0.132793 -0.220117 0.489345 45 57.5 57.5 0.2 +355 1 1 -1 45.0478 50 49.3102 -0.990439 0 -0.137952 0.489345 45 57.5 57.5 0.2 +356 1 1 1 45.1903 50 48.6337 -0.961938 0 -0.273267 0.489345 45 57.5 57.5 0.2 +357 1 1 -1 45.3785 50.6583 48.2089 -0.924304 0.131656 -0.358229 0.489345 45 57.5 57.5 0.2 +358 1 1 1 45.6754 50.656 47.5778 -0.864929 0.1312 -0.484441 0.489345 45 57.5 57.5 0.2 +359 1 1 -1 45.4248 50 47.9832 -0.915043 0 -0.403355 0.489345 45 57.5 57.5 0.2 +360 1 1 1 45.4351 51.998 50.4116 -0.912983 0.399606 0.0823234 0.489345 45 57.5 57.5 0.2 +361 1 1 -1 45.1807 51.332 50 -0.963861 0.266405 0 0.489345 45 57.5 57.5 0.2 +362 1 1 1 45.4351 51.998 49.5884 -0.912983 0.399606 -0.0823234 0.489345 45 57.5 57.5 0.2 +363 1 1 -1 46.9218 46.0808 49.5946 -0.615642 -0.783843 -0.0810867 0.489345 45 57.5 57.5 0.2 +364 1 1 1 46.9218 46.0808 50.4054 -0.615642 -0.783843 0.0810867 0.489345 45 57.5 57.5 0.2 +365 1 1 -1 46.5311 46.4898 49.1969 -0.693781 -0.702046 -0.160622 0.489345 45 57.5 57.5 0.2 +366 1 1 1 46.4855 46.4436 50 -0.702907 -0.711282 0 0.489345 45 57.5 57.5 0.2 +367 1 1 -1 46.5311 46.4898 50.8031 -0.693781 -0.702046 0.160622 0.489345 45 57.5 57.5 0.2 +368 1 1 1 46.2067 46.9659 48.8146 -0.758653 -0.606824 -0.237086 0.489345 45 57.5 57.5 0.2 +369 1 1 -1 46.099 46.8988 49.5943 -0.780205 -0.620239 -0.0811424 0.489345 45 57.5 57.5 0.2 +370 1 1 1 45.9549 47.5 48.4549 -0.809017 -0.499999 -0.309017 0.489345 45 57.5 57.5 0.2 +371 1 1 -1 45.7991 47.4037 49.2178 -0.840178 -0.519258 -0.156435 0.489345 45 57.5 57.5 0.2 +372 1 1 1 45.7467 47.3713 50 -0.850651 -0.52573 0 0.489345 45 57.5 57.5 0.2 +373 1 1 -1 46.099 46.8988 50.4057 -0.780205 -0.620239 0.0811424 0.489345 45 57.5 57.5 0.2 +374 1 1 1 46.2067 46.9659 51.1854 -0.758653 -0.606824 0.237086 0.489345 45 57.5 57.5 0.2 +375 1 1 -1 45.7991 47.4037 50.7822 -0.840178 -0.519258 0.156435 0.489345 45 57.5 57.5 0.2 +376 1 1 1 45.9549 47.5 51.5451 -0.809017 -0.499999 0.309017 0.489345 45 57.5 57.5 0.2 +377 1 1 -1 45.7804 48.0819 48.1248 -0.843912 -0.383614 -0.375038 0.489345 45 57.5 57.5 0.2 +378 1 1 1 45.545 48.0691 48.8066 -0.891006 -0.386187 -0.238678 0.489345 45 57.5 57.5 0.2 +379 1 1 -1 45.6867 48.7005 47.8306 -0.862669 -0.259892 -0.433888 0.489345 45 57.5 57.5 0.2 +380 1 1 1 45.4188 48.6796 48.4937 -0.916244 -0.264082 -0.301259 0.489345 45 57.5 57.5 0.2 +381 1 1 -1 45.2447 48.6857 49.1877 -0.951056 -0.262865 -0.16246 0.489345 45 57.5 57.5 0.2 +382 1 1 1 45.6754 49.344 47.5778 -0.864929 -0.1312 -0.484441 0.489345 45 57.5 57.5 0.2 +383 1 1 -1 45.3785 49.3417 48.2089 -0.924304 -0.131656 -0.358229 0.489345 45 57.5 57.5 0.2 +384 1 1 1 45.168 49.336 48.8994 -0.966393 -0.132793 -0.220117 0.489345 45 57.5 57.5 0.2 +385 1 1 -1 45.0616 49.3346 49.5888 -0.987688 -0.133071 -0.0822426 0.489345 45 57.5 57.5 0.2 +386 1 1 1 45.545 48.0691 51.1934 -0.891006 -0.386187 0.238678 0.489345 45 57.5 57.5 0.2 +387 1 1 -1 45.7804 48.0819 51.8752 -0.843912 -0.383614 0.375038 0.489345 45 57.5 57.5 0.2 +388 1 1 1 45.2447 48.6857 50.8123 -0.951056 -0.262865 0.16246 0.489345 45 57.5 57.5 0.2 +389 1 1 -1 45.4188 48.6796 51.5063 -0.916244 -0.264082 0.301259 0.489345 45 57.5 57.5 0.2 +390 1 1 1 45.6867 48.7005 52.1694 -0.862669 -0.259892 0.433888 0.489345 45 57.5 57.5 0.2 +391 1 1 -1 45.0616 49.3346 50.4112 -0.987688 -0.133071 0.0822426 0.489345 45 57.5 57.5 0.2 +392 1 1 1 45.168 49.336 51.1006 -0.966393 -0.132793 0.220117 0.489345 45 57.5 57.5 0.2 +393 1 1 -1 45.3785 49.3417 51.7911 -0.924304 -0.131656 0.358229 0.489345 45 57.5 57.5 0.2 +394 1 1 1 45.6754 49.344 52.4222 -0.864929 -0.1312 0.484441 0.489345 45 57.5 57.5 0.2 +395 1 1 -1 45.4351 48.002 49.5884 -0.912983 -0.399606 -0.0823234 0.489345 45 57.5 57.5 0.2 +396 1 1 1 45.1807 48.668 50 -0.963861 -0.266405 0 0.489345 45 57.5 57.5 0.2 +397 1 1 -1 45.4351 48.002 50.4116 -0.912983 -0.399606 0.0823234 0.489345 45 57.5 57.5 0.2 +398 1 1 1 53.0782 53.9192 49.5946 0.615642 0.783843 -0.0810867 0.489345 45 57.5 57.5 0.2 +399 1 1 -1 53.0782 53.9192 50.4054 0.615642 0.783843 0.0810867 0.489345 45 57.5 57.5 0.2 +400 1 1 1 53.4689 53.5102 49.1969 0.693781 0.702046 -0.160622 0.489345 45 57.5 57.5 0.2 +401 1 1 -1 53.5145 53.5564 50 0.702907 0.711282 0 0.489345 45 57.5 57.5 0.2 +402 1 1 1 53.4689 53.5102 50.8031 0.693781 0.702046 0.160622 0.489345 45 57.5 57.5 0.2 +403 1 1 -1 53.7933 53.0341 48.8146 0.758653 0.606824 -0.237086 0.489345 45 57.5 57.5 0.2 +404 1 1 1 53.901 53.1012 49.5943 0.780205 0.620239 -0.0811424 0.489345 45 57.5 57.5 0.2 +405 1 1 -1 54.0451 52.5 48.4549 0.809017 0.499999 -0.309017 0.489345 45 57.5 57.5 0.2 +406 1 1 1 54.2009 52.5963 49.2178 0.840178 0.519258 -0.156435 0.489345 45 57.5 57.5 0.2 +407 1 1 -1 54.2533 52.6287 50 0.850651 0.52573 0 0.489345 45 57.5 57.5 0.2 +408 1 1 1 53.901 53.1012 50.4057 0.780205 0.620239 0.0811424 0.489345 45 57.5 57.5 0.2 +409 1 1 -1 53.7933 53.0341 51.1854 0.758653 0.606824 0.237086 0.489345 45 57.5 57.5 0.2 +410 1 1 1 54.2009 52.5963 50.7822 0.840178 0.519258 0.156435 0.489345 45 57.5 57.5 0.2 +411 1 1 -1 54.0451 52.5 51.5451 0.809017 0.499999 0.309017 0.489345 45 57.5 57.5 0.2 +412 1 1 1 54.2196 51.9181 48.1248 0.843912 0.383614 -0.375038 0.489345 45 57.5 57.5 0.2 +413 1 1 -1 54.455 51.9309 48.8066 0.891006 0.386187 -0.238678 0.489345 45 57.5 57.5 0.2 +414 1 1 1 54.3133 51.2995 47.8306 0.862669 0.259892 -0.433888 0.489345 45 57.5 57.5 0.2 +415 1 1 -1 54.5812 51.3204 48.4937 0.916244 0.264082 -0.301259 0.489345 45 57.5 57.5 0.2 +416 1 1 1 54.7553 51.3143 49.1877 0.951056 0.262865 -0.16246 0.489345 45 57.5 57.5 0.2 +417 1 1 -1 54.3246 50.656 47.5778 0.864929 0.1312 -0.484441 0.489345 45 57.5 57.5 0.2 +418 1 1 1 54.6215 50.6583 48.2089 0.924304 0.131656 -0.358229 0.489345 45 57.5 57.5 0.2 +419 1 1 -1 54.5752 50 47.9832 0.915043 0 -0.403355 0.489345 45 57.5 57.5 0.2 +420 1 1 1 54.8097 50 48.6337 0.961938 0 -0.273267 0.489345 45 57.5 57.5 0.2 +421 1 1 -1 54.832 50.664 48.8994 0.966393 0.132793 -0.220117 0.489345 45 57.5 57.5 0.2 +422 1 1 1 54.9384 50.6654 49.5888 0.987688 0.133071 -0.0822426 0.489345 45 57.5 57.5 0.2 +423 1 1 -1 54.9522 50 49.3102 0.990439 0 -0.137952 0.489345 45 57.5 57.5 0.2 +424 1 1 1 55 50 50 1 0 0 0.489345 45 57.5 57.5 0.2 +425 1 1 -1 54.455 51.9309 51.1934 0.891006 0.386187 0.238678 0.489345 45 57.5 57.5 0.2 +426 1 1 1 54.2196 51.9181 51.8752 0.843912 0.383614 0.375038 0.489345 45 57.5 57.5 0.2 +427 1 1 -1 54.7553 51.3143 50.8123 0.951056 0.262865 0.16246 0.489345 45 57.5 57.5 0.2 +428 1 1 1 54.5812 51.3204 51.5063 0.916244 0.264082 0.301259 0.489345 45 57.5 57.5 0.2 +429 1 1 -1 54.3133 51.2995 52.1694 0.862669 0.259892 0.433888 0.489345 45 57.5 57.5 0.2 +430 1 1 1 54.9384 50.6654 50.4112 0.987688 0.133071 0.0822426 0.489345 45 57.5 57.5 0.2 +431 1 1 -1 54.832 50.664 51.1006 0.966393 0.132793 0.220117 0.489345 45 57.5 57.5 0.2 +432 1 1 1 54.9522 50 50.6898 0.990439 0 0.137952 0.489345 45 57.5 57.5 0.2 +433 1 1 -1 54.8097 50 51.3663 0.961938 0 0.273267 0.489345 45 57.5 57.5 0.2 +434 1 1 1 54.6215 50.6583 51.7911 0.924304 0.131656 0.358229 0.489345 45 57.5 57.5 0.2 +435 1 1 -1 54.3246 50.656 52.4222 0.864929 0.1312 0.484441 0.489345 45 57.5 57.5 0.2 +436 1 1 1 54.5752 50 52.0168 0.915043 0 0.403355 0.489345 45 57.5 57.5 0.2 +437 1 1 -1 54.5649 51.998 49.5884 0.912983 0.399606 -0.0823234 0.489345 45 57.5 57.5 0.2 +438 1 1 1 54.8193 51.332 50 0.963861 0.266405 0 0.489345 45 57.5 57.5 0.2 +439 1 1 -1 54.5649 51.998 50.4116 0.912983 0.399606 0.0823234 0.489345 45 57.5 57.5 0.2 +440 1 1 1 53.0782 46.0808 50.4054 0.615642 -0.783843 0.0810867 0.489345 45 57.5 57.5 0.2 +441 1 1 -1 53.0782 46.0808 49.5946 0.615642 -0.783843 -0.0810867 0.489345 45 57.5 57.5 0.2 +442 1 1 1 53.4689 46.4898 50.8031 0.693781 -0.702046 0.160622 0.489345 45 57.5 57.5 0.2 +443 1 1 -1 53.5145 46.4436 50 0.702907 -0.711282 0 0.489345 45 57.5 57.5 0.2 +444 1 1 1 53.4689 46.4898 49.1969 0.693781 -0.702046 -0.160622 0.489345 45 57.5 57.5 0.2 +445 1 1 -1 53.7933 46.9659 51.1854 0.758653 -0.606824 0.237086 0.489345 45 57.5 57.5 0.2 +446 1 1 1 53.901 46.8988 50.4057 0.780205 -0.620239 0.0811424 0.489345 45 57.5 57.5 0.2 +447 1 1 -1 54.0451 47.5 51.5451 0.809017 -0.499999 0.309017 0.489345 45 57.5 57.5 0.2 +448 1 1 1 54.2009 47.4037 50.7822 0.840178 -0.519258 0.156435 0.489345 45 57.5 57.5 0.2 +449 1 1 -1 54.2533 47.3713 50 0.850651 -0.52573 0 0.489345 45 57.5 57.5 0.2 +450 1 1 1 53.901 46.8988 49.5943 0.780205 -0.620239 -0.0811424 0.489345 45 57.5 57.5 0.2 +451 1 1 -1 53.7933 46.9659 48.8146 0.758653 -0.606824 -0.237086 0.489345 45 57.5 57.5 0.2 +452 1 1 1 54.2009 47.4037 49.2178 0.840178 -0.519258 -0.156435 0.489345 45 57.5 57.5 0.2 +453 1 1 -1 54.0451 47.5 48.4549 0.809017 -0.499999 -0.309017 0.489345 45 57.5 57.5 0.2 +454 1 1 1 54.2196 48.0819 51.8752 0.843912 -0.383614 0.375038 0.489345 45 57.5 57.5 0.2 +455 1 1 -1 54.455 48.0691 51.1934 0.891006 -0.386187 0.238678 0.489345 45 57.5 57.5 0.2 +456 1 1 1 54.3133 48.7005 52.1694 0.862669 -0.259892 0.433888 0.489345 45 57.5 57.5 0.2 +457 1 1 -1 54.5812 48.6796 51.5063 0.916244 -0.264082 0.301259 0.489345 45 57.5 57.5 0.2 +458 1 1 1 54.7553 48.6857 50.8123 0.951056 -0.262865 0.16246 0.489345 45 57.5 57.5 0.2 +459 1 1 -1 54.3246 49.344 52.4222 0.864929 -0.1312 0.484441 0.489345 45 57.5 57.5 0.2 +460 1 1 1 54.6215 49.3417 51.7911 0.924304 -0.131656 0.358229 0.489345 45 57.5 57.5 0.2 +461 1 1 -1 54.832 49.336 51.1006 0.966393 -0.132793 0.220117 0.489345 45 57.5 57.5 0.2 +462 1 1 1 54.9384 49.3346 50.4112 0.987688 -0.133071 0.0822426 0.489345 45 57.5 57.5 0.2 +463 1 1 -1 54.455 48.0691 48.8066 0.891006 -0.386187 -0.238678 0.489345 45 57.5 57.5 0.2 +464 1 1 1 54.2196 48.0819 48.1248 0.843912 -0.383614 -0.375038 0.489345 45 57.5 57.5 0.2 +465 1 1 -1 54.7553 48.6857 49.1877 0.951056 -0.262865 -0.16246 0.489345 45 57.5 57.5 0.2 +466 1 1 1 54.5812 48.6796 48.4937 0.916244 -0.264082 -0.301259 0.489345 45 57.5 57.5 0.2 +467 1 1 -1 54.3133 48.7005 47.8306 0.862669 -0.259892 -0.433888 0.489345 45 57.5 57.5 0.2 +468 1 1 1 54.9384 49.3346 49.5888 0.987688 -0.133071 -0.0822426 0.489345 45 57.5 57.5 0.2 +469 1 1 -1 54.832 49.336 48.8994 0.966393 -0.132793 -0.220117 0.489345 45 57.5 57.5 0.2 +470 1 1 1 54.6215 49.3417 48.2089 0.924304 -0.131656 -0.358229 0.489345 45 57.5 57.5 0.2 +471 1 1 -1 54.3246 49.344 47.5778 0.864929 -0.1312 -0.484441 0.489345 45 57.5 57.5 0.2 +472 1 1 1 54.5649 48.002 50.4116 0.912983 -0.399606 0.0823234 0.489345 45 57.5 57.5 0.2 +473 1 1 -1 54.8193 48.668 50 0.963861 -0.266405 0 0.489345 45 57.5 57.5 0.2 +474 1 1 1 54.5649 48.002 49.5884 0.912983 -0.399606 -0.0823234 0.489345 45 57.5 57.5 0.2 +475 1 1 -1 48.9349 52.8563 53.9632 -0.213023 0.571252 0.792649 0.489345 45 57.5 57.5 0.2 +476 1 1 1 48.2692 52.5806 53.9173 -0.346153 0.516121 0.783452 0.489345 45 57.5 57.5 0.2 +477 1 1 -1 47.6579 52.27 53.7897 -0.468429 0.45399 0.757936 0.489345 45 57.5 57.5 0.2 +478 1 1 1 47.8734 52.9389 53.441 -0.425325 0.587785 0.688191 0.489345 45 57.5 57.5 0.2 +479 1 1 -1 48.52 53.2371 53.5116 -0.296004 0.647412 0.70231 0.489345 45 57.5 57.5 0.2 +480 1 1 1 48.1413 53.5355 53.0075 -0.371748 0.707107 0.601501 0.489345 45 57.5 57.5 0.2 +481 1 1 -1 46.9925 51.8587 53.5355 -0.601501 0.371748 0.707107 0.489345 45 57.5 57.5 0.2 +482 1 1 1 46.4884 51.48 53.2371 -0.70231 0.296004 0.647412 0.489345 45 57.5 57.5 0.2 +483 1 1 -1 46.559 52.1266 52.9389 -0.688191 0.425325 0.587785 0.489345 45 57.5 57.5 0.2 +484 1 1 1 46.0368 51.0651 52.8563 -0.792649 0.213023 0.571252 0.489345 45 57.5 57.5 0.2 +485 1 1 -1 46.0827 51.7308 52.5806 -0.783452 0.346153 0.516121 0.489345 45 57.5 57.5 0.2 +486 1 1 1 46.2103 52.3421 52.27 -0.757936 0.468429 0.45399 0.489345 45 57.5 57.5 0.2 +487 1 1 -1 47.73 53.7897 52.3421 -0.45399 0.757936 0.468429 0.489345 45 57.5 57.5 0.2 +488 1 1 1 47.0611 53.441 52.1266 -0.587785 0.688191 0.425325 0.489345 45 57.5 57.5 0.2 +489 1 1 -1 47.4194 53.9173 51.7308 -0.516121 0.783452 0.346153 0.489345 45 57.5 57.5 0.2 +490 1 1 1 46.4645 53.0075 51.8587 -0.707107 0.601501 0.371748 0.489345 45 57.5 57.5 0.2 +491 1 1 -1 46.7629 53.5116 51.48 -0.647412 0.70231 0.296004 0.489345 45 57.5 57.5 0.2 +492 1 1 1 47.1437 53.9632 51.0651 -0.571252 0.792649 0.213023 0.489345 45 57.5 57.5 0.2 +493 1 1 -1 47.1787 52.5669 53.2329 -0.564254 0.513375 0.646578 0.489345 45 57.5 57.5 0.2 +494 1 1 1 46.7671 52.8213 52.5669 -0.646578 0.564254 0.513375 0.489345 45 57.5 57.5 0.2 +495 1 1 -1 47.4331 53.2329 52.8213 -0.513375 0.646578 0.564254 0.489345 45 57.5 57.5 0.2 +496 1 1 1 51.0651 52.8563 53.9632 0.213023 0.571252 0.792649 0.489345 45 57.5 57.5 0.2 +497 1 1 -1 51.48 53.2371 53.5116 0.296004 0.647412 0.70231 0.489345 45 57.5 57.5 0.2 +498 1 1 1 51.8587 53.5355 53.0075 0.371748 0.707107 0.601501 0.489345 45 57.5 57.5 0.2 +499 1 1 -1 52.1266 52.9389 53.441 0.425325 0.587785 0.688191 0.489345 45 57.5 57.5 0.2 +500 1 1 1 51.7308 52.5806 53.9173 0.346153 0.516121 0.783452 0.489345 45 57.5 57.5 0.2 +501 1 1 -1 52.3421 52.27 53.7897 0.468429 0.45399 0.757936 0.489345 45 57.5 57.5 0.2 +502 1 1 1 52.27 53.7897 52.3421 0.45399 0.757936 0.468429 0.489345 45 57.5 57.5 0.2 +503 1 1 -1 52.5806 53.9173 51.7308 0.516121 0.783452 0.346153 0.489345 45 57.5 57.5 0.2 +504 1 1 1 52.9389 53.441 52.1266 0.587785 0.688191 0.425325 0.489345 45 57.5 57.5 0.2 +505 1 1 -1 52.8563 53.9632 51.0651 0.571252 0.792649 0.213023 0.489345 45 57.5 57.5 0.2 +506 1 1 1 53.2371 53.5116 51.48 0.647412 0.70231 0.296004 0.489345 45 57.5 57.5 0.2 +507 1 1 -1 53.5355 53.0075 51.8587 0.707107 0.601501 0.371748 0.489345 45 57.5 57.5 0.2 +508 1 1 1 53.0075 51.8587 53.5355 0.601501 0.371748 0.707107 0.489345 45 57.5 57.5 0.2 +509 1 1 -1 53.441 52.1266 52.9389 0.688191 0.425325 0.587785 0.489345 45 57.5 57.5 0.2 +510 1 1 1 53.5116 51.48 53.2371 0.70231 0.296004 0.647412 0.489345 45 57.5 57.5 0.2 +511 1 1 -1 53.7897 52.3421 52.27 0.757936 0.468429 0.45399 0.489345 45 57.5 57.5 0.2 +512 1 1 1 53.9173 51.7308 52.5806 0.783452 0.346153 0.516121 0.489345 45 57.5 57.5 0.2 +513 1 1 -1 53.9632 51.0651 52.8563 0.792649 0.213023 0.571252 0.489345 45 57.5 57.5 0.2 +514 1 1 1 52.5669 53.2329 52.8213 0.513375 0.646578 0.564254 0.489345 45 57.5 57.5 0.2 +515 1 1 -1 53.2329 52.8213 52.5669 0.646578 0.564254 0.513375 0.489345 45 57.5 57.5 0.2 +516 1 1 1 52.8213 52.5669 53.2329 0.564254 0.513375 0.646578 0.489345 45 57.5 57.5 0.2 +517 1 1 -1 48.9349 52.8563 46.0368 -0.213023 0.571252 -0.792649 0.489345 45 57.5 57.5 0.2 +518 1 1 1 48.52 53.2371 46.4884 -0.296004 0.647412 -0.70231 0.489345 45 57.5 57.5 0.2 +519 1 1 -1 48.1413 53.5355 46.9925 -0.371748 0.707107 -0.601501 0.489345 45 57.5 57.5 0.2 +520 1 1 1 47.8734 52.9389 46.559 -0.425325 0.587785 -0.688191 0.489345 45 57.5 57.5 0.2 +521 1 1 -1 48.2692 52.5806 46.0827 -0.346153 0.516121 -0.783452 0.489345 45 57.5 57.5 0.2 +522 1 1 1 47.6579 52.27 46.2103 -0.468429 0.45399 -0.757936 0.489345 45 57.5 57.5 0.2 +523 1 1 -1 47.73 53.7897 47.6579 -0.45399 0.757936 -0.468429 0.489345 45 57.5 57.5 0.2 +524 1 1 1 47.4194 53.9173 48.2692 -0.516121 0.783452 -0.346153 0.489345 45 57.5 57.5 0.2 +525 1 1 -1 47.0611 53.441 47.8734 -0.587785 0.688191 -0.425325 0.489345 45 57.5 57.5 0.2 +526 1 1 1 47.1437 53.9632 48.9349 -0.571252 0.792649 -0.213023 0.489345 45 57.5 57.5 0.2 +527 1 1 -1 46.7629 53.5116 48.52 -0.647412 0.70231 -0.296004 0.489345 45 57.5 57.5 0.2 +528 1 1 1 46.4645 53.0075 48.1413 -0.707107 0.601501 -0.371748 0.489345 45 57.5 57.5 0.2 +529 1 1 -1 46.9925 51.8587 46.4645 -0.601501 0.371748 -0.707107 0.489345 45 57.5 57.5 0.2 +530 1 1 1 46.559 52.1266 47.0611 -0.688191 0.425325 -0.587785 0.489345 45 57.5 57.5 0.2 +531 1 1 -1 46.4884 51.48 46.7629 -0.70231 0.296004 -0.647412 0.489345 45 57.5 57.5 0.2 +532 1 1 1 46.2103 52.3421 47.73 -0.757936 0.468429 -0.45399 0.489345 45 57.5 57.5 0.2 +533 1 1 -1 46.0827 51.7308 47.4194 -0.783452 0.346153 -0.516121 0.489345 45 57.5 57.5 0.2 +534 1 1 1 46.0368 51.0651 47.1437 -0.792649 0.213023 -0.571252 0.489345 45 57.5 57.5 0.2 +535 1 1 -1 47.4331 53.2329 47.1787 -0.513375 0.646578 -0.564254 0.489345 45 57.5 57.5 0.2 +536 1 1 1 46.7671 52.8213 47.4331 -0.646578 0.564254 -0.513375 0.489345 45 57.5 57.5 0.2 +537 1 1 -1 47.1787 52.5669 46.7671 -0.564254 0.513375 -0.646578 0.489345 45 57.5 57.5 0.2 +538 1 1 1 51.0651 52.8563 46.0368 0.213023 0.571252 -0.792649 0.489345 45 57.5 57.5 0.2 +539 1 1 -1 51.7308 52.5806 46.0827 0.346153 0.516121 -0.783452 0.489345 45 57.5 57.5 0.2 +540 1 1 1 52.3421 52.27 46.2103 0.468429 0.45399 -0.757936 0.489345 45 57.5 57.5 0.2 +541 1 1 -1 52.1266 52.9389 46.559 0.425325 0.587785 -0.688191 0.489345 45 57.5 57.5 0.2 +542 1 1 1 51.48 53.2371 46.4884 0.296004 0.647412 -0.70231 0.489345 45 57.5 57.5 0.2 +543 1 1 -1 51.8587 53.5355 46.9925 0.371748 0.707107 -0.601501 0.489345 45 57.5 57.5 0.2 +544 1 1 1 53.0075 51.8587 46.4645 0.601501 0.371748 -0.707107 0.489345 45 57.5 57.5 0.2 +545 1 1 -1 53.5116 51.48 46.7629 0.70231 0.296004 -0.647412 0.489345 45 57.5 57.5 0.2 +546 1 1 1 53.441 52.1266 47.0611 0.688191 0.425325 -0.587785 0.489345 45 57.5 57.5 0.2 +547 1 1 -1 53.9632 51.0651 47.1437 0.792649 0.213023 -0.571252 0.489345 45 57.5 57.5 0.2 +548 1 1 1 53.9173 51.7308 47.4194 0.783452 0.346153 -0.516121 0.489345 45 57.5 57.5 0.2 +549 1 1 -1 53.7897 52.3421 47.73 0.757936 0.468429 -0.45399 0.489345 45 57.5 57.5 0.2 +550 1 1 1 52.27 53.7897 47.6579 0.45399 0.757936 -0.468429 0.489345 45 57.5 57.5 0.2 +551 1 1 -1 52.9389 53.441 47.8734 0.587785 0.688191 -0.425325 0.489345 45 57.5 57.5 0.2 +552 1 1 1 52.5806 53.9173 48.2692 0.516121 0.783452 -0.346153 0.489345 45 57.5 57.5 0.2 +553 1 1 -1 53.5355 53.0075 48.1413 0.707107 0.601501 -0.371748 0.489345 45 57.5 57.5 0.2 +554 1 1 1 53.2371 53.5116 48.52 0.647412 0.70231 -0.296004 0.489345 45 57.5 57.5 0.2 +555 1 1 -1 52.8563 53.9632 48.9349 0.571252 0.792649 -0.213023 0.489345 45 57.5 57.5 0.2 +556 1 1 1 52.8213 52.5669 46.7671 0.564254 0.513375 -0.646578 0.489345 45 57.5 57.5 0.2 +557 1 1 -1 53.2329 52.8213 47.4331 0.646578 0.564254 -0.513375 0.489345 45 57.5 57.5 0.2 +558 1 1 1 52.5669 53.2329 47.1787 0.513375 0.646578 -0.564254 0.489345 45 57.5 57.5 0.2 +559 1 1 -1 48.9349 47.1437 46.0368 -0.213023 -0.571252 -0.792649 0.489345 45 57.5 57.5 0.2 +560 1 1 1 48.2692 47.4194 46.0827 -0.346153 -0.516121 -0.783452 0.489345 45 57.5 57.5 0.2 +561 1 1 -1 47.6579 47.73 46.2103 -0.468429 -0.45399 -0.757936 0.489345 45 57.5 57.5 0.2 +562 1 1 1 47.8734 47.0611 46.559 -0.425325 -0.587785 -0.688191 0.489345 45 57.5 57.5 0.2 +563 1 1 -1 48.52 46.7629 46.4884 -0.296004 -0.647412 -0.70231 0.489345 45 57.5 57.5 0.2 +564 1 1 1 48.1413 46.4645 46.9925 -0.371748 -0.707107 -0.601501 0.489345 45 57.5 57.5 0.2 +565 1 1 -1 46.9925 48.1413 46.4645 -0.601501 -0.371748 -0.707107 0.489345 45 57.5 57.5 0.2 +566 1 1 1 46.4884 48.52 46.7629 -0.70231 -0.296004 -0.647412 0.489345 45 57.5 57.5 0.2 +567 1 1 -1 46.559 47.8734 47.0611 -0.688191 -0.425325 -0.587785 0.489345 45 57.5 57.5 0.2 +568 1 1 1 46.0368 48.9349 47.1437 -0.792649 -0.213023 -0.571252 0.489345 45 57.5 57.5 0.2 +569 1 1 -1 46.0827 48.2692 47.4194 -0.783452 -0.346153 -0.516121 0.489345 45 57.5 57.5 0.2 +570 1 1 1 46.2103 47.6579 47.73 -0.757936 -0.468429 -0.45399 0.489345 45 57.5 57.5 0.2 +571 1 1 -1 47.73 46.2103 47.6579 -0.45399 -0.757936 -0.468429 0.489345 45 57.5 57.5 0.2 +572 1 1 1 47.0611 46.559 47.8734 -0.587785 -0.688191 -0.425325 0.489345 45 57.5 57.5 0.2 +573 1 1 -1 47.4194 46.0827 48.2692 -0.516121 -0.783452 -0.346153 0.489345 45 57.5 57.5 0.2 +574 1 1 1 46.4645 46.9925 48.1413 -0.707107 -0.601501 -0.371748 0.489345 45 57.5 57.5 0.2 +575 1 1 -1 46.7629 46.4884 48.52 -0.647412 -0.70231 -0.296004 0.489345 45 57.5 57.5 0.2 +576 1 1 1 47.1437 46.0368 48.9349 -0.571252 -0.792649 -0.213023 0.489345 45 57.5 57.5 0.2 +577 1 1 -1 47.1787 47.4331 46.7671 -0.564254 -0.513375 -0.646578 0.489345 45 57.5 57.5 0.2 +578 1 1 1 46.7671 47.1787 47.4331 -0.646578 -0.564254 -0.513375 0.489345 45 57.5 57.5 0.2 +579 1 1 -1 47.4331 46.7671 47.1787 -0.513375 -0.646578 -0.564254 0.489345 45 57.5 57.5 0.2 +580 1 1 1 51.0651 47.1437 46.0368 0.213023 -0.571252 -0.792649 0.489345 45 57.5 57.5 0.2 +581 1 1 -1 51.48 46.7629 46.4884 0.296004 -0.647412 -0.70231 0.489345 45 57.5 57.5 0.2 +582 1 1 1 51.8587 46.4645 46.9925 0.371748 -0.707107 -0.601501 0.489345 45 57.5 57.5 0.2 +583 1 1 -1 52.1266 47.0611 46.559 0.425325 -0.587785 -0.688191 0.489345 45 57.5 57.5 0.2 +584 1 1 1 51.7308 47.4194 46.0827 0.346153 -0.516121 -0.783452 0.489345 45 57.5 57.5 0.2 +585 1 1 -1 52.3421 47.73 46.2103 0.468429 -0.45399 -0.757936 0.489345 45 57.5 57.5 0.2 +586 1 1 1 52.27 46.2103 47.6579 0.45399 -0.757936 -0.468429 0.489345 45 57.5 57.5 0.2 +587 1 1 -1 52.5806 46.0827 48.2692 0.516121 -0.783452 -0.346153 0.489345 45 57.5 57.5 0.2 +588 1 1 1 52.9389 46.559 47.8734 0.587785 -0.688191 -0.425325 0.489345 45 57.5 57.5 0.2 +589 1 1 -1 52.8563 46.0368 48.9349 0.571252 -0.792649 -0.213023 0.489345 45 57.5 57.5 0.2 +590 1 1 1 53.2371 46.4884 48.52 0.647412 -0.70231 -0.296004 0.489345 45 57.5 57.5 0.2 +591 1 1 -1 53.5355 46.9925 48.1413 0.707107 -0.601501 -0.371748 0.489345 45 57.5 57.5 0.2 +592 1 1 1 53.0075 48.1413 46.4645 0.601501 -0.371748 -0.707107 0.489345 45 57.5 57.5 0.2 +593 1 1 -1 53.441 47.8734 47.0611 0.688191 -0.425325 -0.587785 0.489345 45 57.5 57.5 0.2 +594 1 1 1 53.5116 48.52 46.7629 0.70231 -0.296004 -0.647412 0.489345 45 57.5 57.5 0.2 +595 1 1 -1 53.7897 47.6579 47.73 0.757936 -0.468429 -0.45399 0.489345 45 57.5 57.5 0.2 +596 1 1 1 53.9173 48.2692 47.4194 0.783452 -0.346153 -0.516121 0.489345 45 57.5 57.5 0.2 +597 1 1 -1 53.9632 48.9349 47.1437 0.792649 -0.213023 -0.571252 0.489345 45 57.5 57.5 0.2 +598 1 1 1 52.5669 46.7671 47.1787 0.513375 -0.646578 -0.564254 0.489345 45 57.5 57.5 0.2 +599 1 1 -1 53.2329 47.1787 47.4331 0.646578 -0.564254 -0.513375 0.489345 45 57.5 57.5 0.2 +600 1 1 1 52.8213 47.4331 46.7671 0.564254 -0.513375 -0.646578 0.489345 45 57.5 57.5 0.2 +601 1 1 -1 48.9349 47.1437 53.9632 -0.213023 -0.571252 0.792649 0.489345 45 57.5 57.5 0.2 +602 1 1 1 48.52 46.7629 53.5116 -0.296004 -0.647412 0.70231 0.489345 45 57.5 57.5 0.2 +603 1 1 -1 48.1413 46.4645 53.0075 -0.371748 -0.707107 0.601501 0.489345 45 57.5 57.5 0.2 +604 1 1 1 47.8734 47.0611 53.441 -0.425325 -0.587785 0.688191 0.489345 45 57.5 57.5 0.2 +605 1 1 -1 48.2692 47.4194 53.9173 -0.346153 -0.516121 0.783452 0.489345 45 57.5 57.5 0.2 +606 1 1 1 47.6579 47.73 53.7897 -0.468429 -0.45399 0.757936 0.489345 45 57.5 57.5 0.2 +607 1 1 -1 47.73 46.2103 52.3421 -0.45399 -0.757936 0.468429 0.489345 45 57.5 57.5 0.2 +608 1 1 1 47.4194 46.0827 51.7308 -0.516121 -0.783452 0.346153 0.489345 45 57.5 57.5 0.2 +609 1 1 -1 47.0611 46.559 52.1266 -0.587785 -0.688191 0.425325 0.489345 45 57.5 57.5 0.2 +610 1 1 1 47.1437 46.0368 51.0651 -0.571252 -0.792649 0.213023 0.489345 45 57.5 57.5 0.2 +611 1 1 -1 46.7629 46.4884 51.48 -0.647412 -0.70231 0.296004 0.489345 45 57.5 57.5 0.2 +612 1 1 1 46.4645 46.9925 51.8587 -0.707107 -0.601501 0.371748 0.489345 45 57.5 57.5 0.2 +613 1 1 -1 46.9925 48.1413 53.5355 -0.601501 -0.371748 0.707107 0.489345 45 57.5 57.5 0.2 +614 1 1 1 46.559 47.8734 52.9389 -0.688191 -0.425325 0.587785 0.489345 45 57.5 57.5 0.2 +615 1 1 -1 46.4884 48.52 53.2371 -0.70231 -0.296004 0.647412 0.489345 45 57.5 57.5 0.2 +616 1 1 1 46.2103 47.6579 52.27 -0.757936 -0.468429 0.45399 0.489345 45 57.5 57.5 0.2 +617 1 1 -1 46.0827 48.2692 52.5806 -0.783452 -0.346153 0.516121 0.489345 45 57.5 57.5 0.2 +618 1 1 1 46.0368 48.9349 52.8563 -0.792649 -0.213023 0.571252 0.489345 45 57.5 57.5 0.2 +619 1 1 -1 47.4331 46.7671 52.8213 -0.513375 -0.646578 0.564254 0.489345 45 57.5 57.5 0.2 +620 1 1 1 46.7671 47.1787 52.5669 -0.646578 -0.564254 0.513375 0.489345 45 57.5 57.5 0.2 +621 1 1 -1 47.1787 47.4331 53.2329 -0.564254 -0.513375 0.646578 0.489345 45 57.5 57.5 0.2 +622 1 1 1 51.0651 47.1437 53.9632 0.213023 -0.571252 0.792649 0.489345 45 57.5 57.5 0.2 +623 1 1 -1 51.7308 47.4194 53.9173 0.346153 -0.516121 0.783452 0.489345 45 57.5 57.5 0.2 +624 1 1 1 52.3421 47.73 53.7897 0.468429 -0.45399 0.757936 0.489345 45 57.5 57.5 0.2 +625 1 1 -1 52.1266 47.0611 53.441 0.425325 -0.587785 0.688191 0.489345 45 57.5 57.5 0.2 +626 1 1 1 51.48 46.7629 53.5116 0.296004 -0.647412 0.70231 0.489345 45 57.5 57.5 0.2 +627 1 1 -1 51.8587 46.4645 53.0075 0.371748 -0.707107 0.601501 0.489345 45 57.5 57.5 0.2 +628 1 1 1 53.0075 48.1413 53.5355 0.601501 -0.371748 0.707107 0.489345 45 57.5 57.5 0.2 +629 1 1 -1 53.5116 48.52 53.2371 0.70231 -0.296004 0.647412 0.489345 45 57.5 57.5 0.2 +630 1 1 1 53.441 47.8734 52.9389 0.688191 -0.425325 0.587785 0.489345 45 57.5 57.5 0.2 +631 1 1 -1 53.9632 48.9349 52.8563 0.792649 -0.213023 0.571252 0.489345 45 57.5 57.5 0.2 +632 1 1 1 53.9173 48.2692 52.5806 0.783452 -0.346153 0.516121 0.489345 45 57.5 57.5 0.2 +633 1 1 -1 53.7897 47.6579 52.27 0.757936 -0.468429 0.45399 0.489345 45 57.5 57.5 0.2 +634 1 1 1 52.27 46.2103 52.3421 0.45399 -0.757936 0.468429 0.489345 45 57.5 57.5 0.2 +635 1 1 -1 52.9389 46.559 52.1266 0.587785 -0.688191 0.425325 0.489345 45 57.5 57.5 0.2 +636 1 1 1 52.5806 46.0827 51.7308 0.516121 -0.783452 0.346153 0.489345 45 57.5 57.5 0.2 +637 1 1 -1 53.5355 46.9925 51.8587 0.707107 -0.601501 0.371748 0.489345 45 57.5 57.5 0.2 +638 1 1 1 53.2371 46.4884 51.48 0.647412 -0.70231 0.296004 0.489345 45 57.5 57.5 0.2 +639 1 1 -1 52.8563 46.0368 51.0651 0.571252 -0.792649 0.213023 0.489345 45 57.5 57.5 0.2 +640 1 1 1 52.8213 47.4331 53.2329 0.564254 -0.513375 0.646578 0.489345 45 57.5 57.5 0.2 +641 1 1 -1 53.2329 47.1787 52.5669 0.646578 -0.564254 0.513375 0.489345 45 57.5 57.5 0.2 +642 1 1 1 52.5669 46.7671 52.8213 0.513375 -0.646578 0.564254 0.489345 45 57.5 57.5 0.2 643 2 2 1 50 50 57 0 0 1 0.489345 45 57.5 80 0 From a3c90296648f56c698f42b2caf3157a5513ba1c6 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Tue, 7 Mar 2023 12:02:56 -0600 Subject: [PATCH 262/448] Reverted the cutoff to 20.0 for in.nopbc --- examples/PACKAGES/dielectric/in.nopbc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/PACKAGES/dielectric/in.nopbc b/examples/PACKAGES/dielectric/in.nopbc index 724ad8456a..e6f63f3444 100644 --- a/examples/PACKAGES/dielectric/in.nopbc +++ b/examples/PACKAGES/dielectric/in.nopbc @@ -18,7 +18,7 @@ read_data ${data} group interface type 1 group ions type 2 3 -pair_style lj/cut/coul/cut/dielectric 1.122 12.0 +pair_style lj/cut/coul/cut/dielectric 1.122 20.0 pair_coeff * * 1.0 1.0 pair_coeff 1 1 0.0 1.0 From ce1956e60b198063b519cdfe53ec90f55aad7976 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 7 Mar 2023 13:43:27 -0500 Subject: [PATCH 263/448] avoid linking errors due to nvcc wrapper warning silencing. --- cmake/CMakeLists.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index a6956f5f5d..41229e9cd6 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -538,7 +538,10 @@ set(CMAKE_TUNE_FLAGS "${CMAKE_TUNE_DEFAULT}" CACHE STRING "Compiler and machine separate_arguments(CMAKE_TUNE_FLAGS) foreach(_FLAG ${CMAKE_TUNE_FLAGS}) target_compile_options(lammps PRIVATE ${_FLAG}) - target_compile_options(lmp PRIVATE ${_FLAG}) + # skip these flags when linking the main executable + if(NOT (("${_FLAG}" STREQUAL "-Xcudafe") OR (("${_FLAG}" STREQUAL "--diag_suppress=unrecognized_pragma")))) + target_compile_options(lmp PRIVATE ${_FLAG}) + endif() endforeach() ######################################################################## # Basic system tests (standard libraries, headers, functions, types) # From 4ed49d2f21ffe6a65d022d46906ff9c82ec1ec7a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 7 Mar 2023 13:44:34 -0500 Subject: [PATCH 264/448] make Input::file(const char *) function safe for passing a null pointer --- src/input.cpp | 23 ++++++++++++----------- src/library.cpp | 3 +-- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/input.cpp b/src/input.cpp index e653704ae3..ef0433dc99 100644 --- a/src/input.cpp +++ b/src/input.cpp @@ -327,15 +327,14 @@ void Input::file(const char *filename) // call to file() will close filename and decrement nfile if (me == 0) { - if (nfile == maxfile) - error->one(FLERR,"Too many nested levels of input scripts"); + if (nfile == maxfile) error->one(FLERR,"Too many nested levels of input scripts"); - infile = fopen(filename,"r"); - if (infile == nullptr) - error->one(FLERR,"Cannot open input script {}: {}", - filename, utils::getsyserror()); - - infiles[nfile++] = infile; + if (filename) { + infile = fopen(filename,"r"); + if (infile == nullptr) + error->one(FLERR,"Cannot open input script {}: {}", filename, utils::getsyserror()); + infiles[nfile++] = infile; + } } // process contents of file @@ -343,9 +342,11 @@ void Input::file(const char *filename) file(); if (me == 0) { - fclose(infile); - nfile--; - infile = infiles[nfile-1]; + if (filename) { + fclose(infile); + nfile--; + infile = infiles[nfile-1]; + } } } diff --git a/src/library.cpp b/src/library.cpp index 7fcc22ef17..9f817a1199 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -532,8 +532,7 @@ void lammps_file(void *handle, const char *filename) BEGIN_CAPTURE { if (lmp->update->whichflag != 0) - lmp->error->all(FLERR,"Library error: issuing LAMMPS commands " - "during a run is not allowed."); + lmp->error->all(FLERR, "Library error: issuing LAMMPS commands during a run is not allowed"); else lmp->input->file(filename); } From 19a3e2f6b3229f84a8ade829e56eeed477dec904 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 7 Mar 2023 13:47:09 -0500 Subject: [PATCH 265/448] CUDA 12 is now tested --- cmake/Modules/Packages/GPU.cmake | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cmake/Modules/Packages/GPU.cmake b/cmake/Modules/Packages/GPU.cmake index 8ac1decc86..22b0bec798 100644 --- a/cmake/Modules/Packages/GPU.cmake +++ b/cmake/Modules/Packages/GPU.cmake @@ -98,9 +98,11 @@ if(GPU_API STREQUAL "CUDA") # comparison chart according to: https://en.wikipedia.org/wiki/CUDA#GPUs_supported if(CUDA_VERSION VERSION_LESS 8.0) message(FATAL_ERROR "CUDA Toolkit version 8.0 or later is required") - elseif(CUDA_VERSION VERSION_GREATER_EQUAL "12.0") + elseif(CUDA_VERSION VERSION_GREATER_EQUAL "13.0") message(WARNING "Untested CUDA Toolkit version ${CUDA_VERSION}. Use at your own risk") set(GPU_CUDA_GENCODE "-arch=all") + elseif(CUDA_VERSION VERSION_GREATER_EQUAL "12.0") + set(GPU_CUDA_GENCODE "-arch=all") else() # Kepler (GPU Arch 3.0) is supported by CUDA 5 to CUDA 10.2 if((CUDA_VERSION VERSION_GREATER_EQUAL "5.0") AND (CUDA_VERSION VERSION_LESS "11.0")) From 2a3d0458d5e0465f6bb5a127f265c56d1b88dc0c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 7 Mar 2023 13:47:39 -0500 Subject: [PATCH 266/448] simplify --- src/main.cpp | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 746ccc41e9..e3e304a0d4 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -34,6 +34,13 @@ using namespace LAMMPS_NS; +// for convenience +static void finalize() +{ + lammps_kokkos_finalize(); + lammps_python_finalize(); +} + /* ---------------------------------------------------------------------- main program to drive LAMMPS ------------------------------------------------------------------------- */ @@ -41,7 +48,6 @@ using namespace LAMMPS_NS; int main(int argc, char **argv) { MPI_Init(&argc, &argv); - MPI_Comm lammps_comm = MPI_COMM_WORLD; #if defined(LMP_MDI) @@ -75,19 +81,21 @@ int main(int argc, char **argv) lammps->input->file(); delete lammps; } catch (LAMMPSAbortException &ae) { - lammps_kokkos_finalize(); - lammps_python_finalize(); + finalize(); MPI_Abort(ae.universe, 1); } catch (LAMMPSException &) { - lammps_kokkos_finalize(); - lammps_python_finalize(); + finalize(); MPI_Barrier(lammps_comm); MPI_Finalize(); exit(1); } catch (fmt::format_error &fe) { fprintf(stderr, "fmt::format_error: %s\n", fe.what()); - lammps_kokkos_finalize(); - lammps_python_finalize(); + finalize(); + MPI_Abort(MPI_COMM_WORLD, 1); + exit(1); + } catch (std::exception &e) { + fprintf(stderr, "Exception: %s\n", e.what()); + finalize(); MPI_Abort(MPI_COMM_WORLD, 1); exit(1); } @@ -98,14 +106,12 @@ int main(int argc, char **argv) delete lammps; } catch (fmt::format_error &fe) { fprintf(stderr, "fmt::format_error: %s\n", fe.what()); - lammps_kokkos_finalize(); - lammps_python_finalize(); + finalize(); MPI_Abort(MPI_COMM_WORLD, 1); exit(1); } #endif - lammps_kokkos_finalize(); - lammps_python_finalize(); + finalize(); MPI_Barrier(lammps_comm); MPI_Finalize(); } From 2aa0e76ad97409759cace54a604fb8450579e760 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 7 Mar 2023 13:43:27 -0500 Subject: [PATCH 267/448] avoid linking errors due to nvcc wrapper warning silencing. --- cmake/CMakeLists.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index a6956f5f5d..41229e9cd6 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -538,7 +538,10 @@ set(CMAKE_TUNE_FLAGS "${CMAKE_TUNE_DEFAULT}" CACHE STRING "Compiler and machine separate_arguments(CMAKE_TUNE_FLAGS) foreach(_FLAG ${CMAKE_TUNE_FLAGS}) target_compile_options(lammps PRIVATE ${_FLAG}) - target_compile_options(lmp PRIVATE ${_FLAG}) + # skip these flags when linking the main executable + if(NOT (("${_FLAG}" STREQUAL "-Xcudafe") OR (("${_FLAG}" STREQUAL "--diag_suppress=unrecognized_pragma")))) + target_compile_options(lmp PRIVATE ${_FLAG}) + endif() endforeach() ######################################################################## # Basic system tests (standard libraries, headers, functions, types) # From b21d915a7ce5e1b55008383f3d38ec174c0abc0d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 7 Mar 2023 13:47:39 -0500 Subject: [PATCH 268/448] simplify --- src/main.cpp | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 746ccc41e9..e3e304a0d4 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -34,6 +34,13 @@ using namespace LAMMPS_NS; +// for convenience +static void finalize() +{ + lammps_kokkos_finalize(); + lammps_python_finalize(); +} + /* ---------------------------------------------------------------------- main program to drive LAMMPS ------------------------------------------------------------------------- */ @@ -41,7 +48,6 @@ using namespace LAMMPS_NS; int main(int argc, char **argv) { MPI_Init(&argc, &argv); - MPI_Comm lammps_comm = MPI_COMM_WORLD; #if defined(LMP_MDI) @@ -75,19 +81,21 @@ int main(int argc, char **argv) lammps->input->file(); delete lammps; } catch (LAMMPSAbortException &ae) { - lammps_kokkos_finalize(); - lammps_python_finalize(); + finalize(); MPI_Abort(ae.universe, 1); } catch (LAMMPSException &) { - lammps_kokkos_finalize(); - lammps_python_finalize(); + finalize(); MPI_Barrier(lammps_comm); MPI_Finalize(); exit(1); } catch (fmt::format_error &fe) { fprintf(stderr, "fmt::format_error: %s\n", fe.what()); - lammps_kokkos_finalize(); - lammps_python_finalize(); + finalize(); + MPI_Abort(MPI_COMM_WORLD, 1); + exit(1); + } catch (std::exception &e) { + fprintf(stderr, "Exception: %s\n", e.what()); + finalize(); MPI_Abort(MPI_COMM_WORLD, 1); exit(1); } @@ -98,14 +106,12 @@ int main(int argc, char **argv) delete lammps; } catch (fmt::format_error &fe) { fprintf(stderr, "fmt::format_error: %s\n", fe.what()); - lammps_kokkos_finalize(); - lammps_python_finalize(); + finalize(); MPI_Abort(MPI_COMM_WORLD, 1); exit(1); } #endif - lammps_kokkos_finalize(); - lammps_python_finalize(); + finalize(); MPI_Barrier(lammps_comm); MPI_Finalize(); } From c2d0734bc46439852fe5615d585d2aae3fd0f5ce Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 7 Mar 2023 14:36:56 -0500 Subject: [PATCH 269/448] rerun updated examples and record log files --- examples/PACKAGES/dielectric/in.nopbc | 2 +- .../dielectric/log.07Mar23.confined.dof.g++.1 | 192 ++++++++++++++++++ .../dielectric/log.07Mar23.confined.dof.g++.4 | 192 ++++++++++++++++++ .../log.07Mar23.confined.gmres.g++.1 | 8 +- .../log.07Mar23.confined.gmres.g++.4 | 8 +- .../dielectric/log.07Mar23.confined.icc.g++.1 | 6 +- .../dielectric/log.07Mar23.confined.icc.g++.4 | 8 +- .../dielectric/log.07Mar23.nopbc.dof.g++.1 | 136 +++++++++++++ .../dielectric/log.07Mar23.nopbc.dof.g++.4 | 136 +++++++++++++ .../dielectric/log.07Mar23.nopbc.gmres.g++.1 | 26 +-- .../dielectric/log.07Mar23.nopbc.gmres.g++.4 | 30 +-- .../dielectric/log.07Mar23.nopbc.icc.g++.1 | 28 +-- .../dielectric/log.07Mar23.nopbc.icc.g++.4 | 30 +-- 13 files changed, 729 insertions(+), 73 deletions(-) create mode 100644 examples/PACKAGES/dielectric/log.07Mar23.confined.dof.g++.1 create mode 100644 examples/PACKAGES/dielectric/log.07Mar23.confined.dof.g++.4 create mode 100644 examples/PACKAGES/dielectric/log.07Mar23.nopbc.dof.g++.1 create mode 100644 examples/PACKAGES/dielectric/log.07Mar23.nopbc.dof.g++.4 diff --git a/examples/PACKAGES/dielectric/in.nopbc b/examples/PACKAGES/dielectric/in.nopbc index e6f63f3444..cbb0d45377 100644 --- a/examples/PACKAGES/dielectric/in.nopbc +++ b/examples/PACKAGES/dielectric/in.nopbc @@ -27,7 +27,7 @@ neigh_modify one 5000 #compute ef all efield/atom #dump 1 all custom 100 all.dump id mol type q x y z #c_ef[1] c_ef[2] c_ef[3] # -dump 2 interface custom 100 interface.dump id mol type q x y z #c_ef[1] c_ef[2] c_ef[3] +#dump 2 interface custom 100 interface.dump id mol type q x y z #c_ef[1] c_ef[2] c_ef[3] #dump_modify 1 sort id fix 1 ions nve diff --git a/examples/PACKAGES/dielectric/log.07Mar23.confined.dof.g++.1 b/examples/PACKAGES/dielectric/log.07Mar23.confined.dof.g++.1 new file mode 100644 index 0000000000..2634bf3232 --- /dev/null +++ b/examples/PACKAGES/dielectric/log.07Mar23.confined.dof.g++.1 @@ -0,0 +1,192 @@ +LAMMPS (8 Feb 2023) + using 1 OpenMP thread(s) per MPI task +# Two ions, a cation and an anion, confined between two interfaces: epsilon1 | epsilon2 | epsilon1 +# The interface normal vectors should be consistent with ed, pointing from region with epsilon1 to that with epsilon2 +# bottom interface: n = (0, 0, 1) +# top interface: n = (0, 0, -1) +# so that ed's are the same for both interfaces + +# Dielectric constants can be set to be different from the input data file + +variable epsilon1 index 20 +variable epsilon2 index 10 + +variable data index data.confined + +newton off +units lj +atom_style dielectric +atom_modify map array +dimension 3 +boundary p p f + +variable method index gmres # gmres = BEM/GMRES + # icc = BEM/ICC* + # dof = Direct optimization of the functional + # none + +# compute the relevant values for the interface particles + +variable ed equal "v_epsilon2 - v_epsilon1" +variable em equal "(v_epsilon2 + v_epsilon1)/2" +variable epsilon equal 1.0 # epsilon at the patch, not used for now +variable area equal 0.866 # patch area, same as in the data file + +read_data ${data} +read_data data.confined +Reading data file ... + orthogonal box = (0 0 0) to (40.000006 43.301277 40) + 1 by 1 by 1 MPI processor grid +WARNING: Atom style in data file differs from currently defined atom style (src/read_data.cpp:620) + reading atoms ... + 4002 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.013 seconds + +group interface type 1 +4000 atoms in group interface +group ions type 2 3 +2 atoms in group ions + +group cations type 2 +1 atoms in group cations +group anions type 3 +1 atoms in group anions + +# set the dielectric constant of the medium where the ions reside + +set group cations epsilon ${epsilon2} +set group cations epsilon 10 +Setting atom values ... + 1 settings made for epsilon +set group anions epsilon ${epsilon2} +set group anions epsilon 10 +Setting atom values ... + 1 settings made for epsilon + +pair_style lj/cut/coul/long/dielectric 1.122 10.0 +pair_coeff * * 1.0 1.0 +pair_coeff 1 1 0.0 1.0 + +kspace_style pppm/dielectric 0.0001 +kspace_modify slab 3.0 + +neigh_modify every 1 delay 0 check yes one 5000 + +#compute ef all efield/atom +#dump 1 all custom 100 all.dump id mol type q x y z #fx fy fz c_ef[1] c_ef[2] c_ef[3] +#dump 2 interface custom 100 interface.dump id mol type q x y z #fx fy fz c_ef[1] c_ef[2] c_ef[3] +#dump_modify 1 sort id + +#dump 3 ions custom 100 ions.dump id mol type q x y z fx fy fz #c_ef[1] c_ef[2] c_ef[3] + +fix 1 ions nve + +# fix modify is used to set the properties of the interface particle group + +if "${method} == gmres" then "fix 3 interface polarize/bem/gmres 1 1.0e-4" "fix_modify 3 itr_max 50 dielectrics ${ed} ${em} ${epsilon} ${area} NULL" elif "${method} == icc" "fix 3 interface polarize/bem/icc 1 1.0e-4" "fix_modify 3 itr_max 50 dielectrics ${ed} ${em} ${epsilon} ${area} NULL" elif "${method} == dof" "fix 3 interface polarize/functional 1 0.0001" "fix_modify 3 dielectrics ${ed} ${em} ${epsilon} ${area} NULL" else "print 'Unsupported polarization solver' " +fix 3 interface polarize/functional 1 0.0001 +fix_modify 3 dielectrics ${ed} ${em} ${epsilon} ${area} NULL +fix_modify 3 dielectrics -10 ${em} ${epsilon} ${area} NULL +fix_modify 3 dielectrics -10 15 ${epsilon} ${area} NULL +fix_modify 3 dielectrics -10 15 1 ${area} NULL +fix_modify 3 dielectrics -10 15 1 0.866 NULL + +thermo 1000 +thermo_style custom step evdwl ecoul elong epair #f_3 +thermo_modify flush yes + +run 0 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- DIELECTRIC package: doi:10.1016/j.cpc.2019.03.006 + +@Article{TrungCPC19, + author = {Trung Dac Nguyen and Honghao Li and Debarshee Bagchi and Francisco J. Solis and Olvera de la Cruz, Monica} + title = {Incorporating Surface Polarization Effects Into Large-Scale + Coarse-Grained Molecular Dynamics Simulation}, + journal = {Comput.\ Phys.\ Commun.}, + year = 2019, + volume = 241, + pages = {80--91} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) + G vector (1/distance) = 0.24260797 + grid = 12 12 36 + stencil order = 5 + estimated absolute RMS force accuracy = 2.5219574e-07 + estimated relative force accuracy = 2.5219574e-07 + using double precision KISS FFT + 3d grid and FFT values/proc = 10982 5184 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Direct solver using a variational approach for 4000 induced charges +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 5000, page size: 100000 + master list distance cutoff = 10.3 + ghost atom cutoff = 10.3 + binsize = 5.15, bins = 8 9 8 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair lj/cut/coul/long/dielectric, perpetual + attributes: full, newton off + pair build: full/bin + stencil: full/bin/3d + bin: standard + (2) fix polarize/functional, perpetual, copy from (1) + attributes: full, newton off + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 753.9 | 753.9 | 753.9 Mbytes + Step E_vdwl E_coul E_long E_pair + 0 0 0 -1.8534698e-05 -1.8534698e-05 +Loop time of 1.622e-06 on 1 procs for 0 steps with 4002 atoms + +185.0% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0 | 0 | 0 | 0.0 | 0.00 +Kspace | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.622e-06 | | |100.00 + +Nlocal: 4002 ave 4002 max 4002 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 4832 ave 4832 max 4832 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 1.51316e+06 ave 1.51316e+06 max 1.51316e+06 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 1513160 +Ave neighs/atom = 378.10095 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + + + + +Total wall time: 0:00:05 diff --git a/examples/PACKAGES/dielectric/log.07Mar23.confined.dof.g++.4 b/examples/PACKAGES/dielectric/log.07Mar23.confined.dof.g++.4 new file mode 100644 index 0000000000..7ece331863 --- /dev/null +++ b/examples/PACKAGES/dielectric/log.07Mar23.confined.dof.g++.4 @@ -0,0 +1,192 @@ +LAMMPS (8 Feb 2023) + using 1 OpenMP thread(s) per MPI task +# Two ions, a cation and an anion, confined between two interfaces: epsilon1 | epsilon2 | epsilon1 +# The interface normal vectors should be consistent with ed, pointing from region with epsilon1 to that with epsilon2 +# bottom interface: n = (0, 0, 1) +# top interface: n = (0, 0, -1) +# so that ed's are the same for both interfaces + +# Dielectric constants can be set to be different from the input data file + +variable epsilon1 index 20 +variable epsilon2 index 10 + +variable data index data.confined + +newton off +units lj +atom_style dielectric +atom_modify map array +dimension 3 +boundary p p f + +variable method index gmres # gmres = BEM/GMRES + # icc = BEM/ICC* + # dof = Direct optimization of the functional + # none + +# compute the relevant values for the interface particles + +variable ed equal "v_epsilon2 - v_epsilon1" +variable em equal "(v_epsilon2 + v_epsilon1)/2" +variable epsilon equal 1.0 # epsilon at the patch, not used for now +variable area equal 0.866 # patch area, same as in the data file + +read_data ${data} +read_data data.confined +Reading data file ... + orthogonal box = (0 0 0) to (40.000006 43.301277 40) + 2 by 2 by 1 MPI processor grid +WARNING: Atom style in data file differs from currently defined atom style (src/read_data.cpp:620) + reading atoms ... + 4002 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.013 seconds + +group interface type 1 +4000 atoms in group interface +group ions type 2 3 +2 atoms in group ions + +group cations type 2 +1 atoms in group cations +group anions type 3 +1 atoms in group anions + +# set the dielectric constant of the medium where the ions reside + +set group cations epsilon ${epsilon2} +set group cations epsilon 10 +Setting atom values ... + 1 settings made for epsilon +set group anions epsilon ${epsilon2} +set group anions epsilon 10 +Setting atom values ... + 1 settings made for epsilon + +pair_style lj/cut/coul/long/dielectric 1.122 10.0 +pair_coeff * * 1.0 1.0 +pair_coeff 1 1 0.0 1.0 + +kspace_style pppm/dielectric 0.0001 +kspace_modify slab 3.0 + +neigh_modify every 1 delay 0 check yes one 5000 + +#compute ef all efield/atom +#dump 1 all custom 100 all.dump id mol type q x y z #fx fy fz c_ef[1] c_ef[2] c_ef[3] +#dump 2 interface custom 100 interface.dump id mol type q x y z #fx fy fz c_ef[1] c_ef[2] c_ef[3] +#dump_modify 1 sort id + +#dump 3 ions custom 100 ions.dump id mol type q x y z fx fy fz #c_ef[1] c_ef[2] c_ef[3] + +fix 1 ions nve + +# fix modify is used to set the properties of the interface particle group + +if "${method} == gmres" then "fix 3 interface polarize/bem/gmres 1 1.0e-4" "fix_modify 3 itr_max 50 dielectrics ${ed} ${em} ${epsilon} ${area} NULL" elif "${method} == icc" "fix 3 interface polarize/bem/icc 1 1.0e-4" "fix_modify 3 itr_max 50 dielectrics ${ed} ${em} ${epsilon} ${area} NULL" elif "${method} == dof" "fix 3 interface polarize/functional 1 0.0001" "fix_modify 3 dielectrics ${ed} ${em} ${epsilon} ${area} NULL" else "print 'Unsupported polarization solver' " +fix 3 interface polarize/functional 1 0.0001 +fix_modify 3 dielectrics ${ed} ${em} ${epsilon} ${area} NULL +fix_modify 3 dielectrics -10 ${em} ${epsilon} ${area} NULL +fix_modify 3 dielectrics -10 15 ${epsilon} ${area} NULL +fix_modify 3 dielectrics -10 15 1 ${area} NULL +fix_modify 3 dielectrics -10 15 1 0.866 NULL + +thermo 1000 +thermo_style custom step evdwl ecoul elong epair #f_3 +thermo_modify flush yes + +run 0 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- DIELECTRIC package: doi:10.1016/j.cpc.2019.03.006 + +@Article{TrungCPC19, + author = {Trung Dac Nguyen and Honghao Li and Debarshee Bagchi and Francisco J. Solis and Olvera de la Cruz, Monica} + title = {Incorporating Surface Polarization Effects Into Large-Scale + Coarse-Grained Molecular Dynamics Simulation}, + journal = {Comput.\ Phys.\ Commun.}, + year = 2019, + volume = 241, + pages = {80--91} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) + G vector (1/distance) = 0.24260797 + grid = 12 12 36 + stencil order = 5 + estimated absolute RMS force accuracy = 2.5219574e-07 + estimated relative force accuracy = 2.5219574e-07 + using double precision KISS FFT + 3d grid and FFT values/proc = 4598 1296 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Direct solver using a variational approach for 4000 induced charges +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 5000, page size: 100000 + master list distance cutoff = 10.3 + ghost atom cutoff = 10.3 + binsize = 5.15, bins = 8 9 8 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair lj/cut/coul/long/dielectric, perpetual + attributes: full, newton off + pair build: full/bin + stencil: full/bin/3d + bin: standard + (2) fix polarize/functional, perpetual, copy from (1) + attributes: full, newton off + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 744 | 744 | 744 Mbytes + Step E_vdwl E_coul E_long E_pair + 0 0 0 -1.8534698e-05 -1.8534698e-05 +Loop time of 2.36225e-06 on 4 procs for 0 steps with 4002 atoms + +148.2% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0 | 0 | 0 | 0.0 | 0.00 +Kspace | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 2.362e-06 | | |100.00 + +Nlocal: 1000.5 ave 1001 max 1000 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 2889.5 ave 2890 max 2889 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 378290 ave 378465 max 378117 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 1513160 +Ave neighs/atom = 378.10095 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + + + + +Total wall time: 0:00:02 diff --git a/examples/PACKAGES/dielectric/log.07Mar23.confined.gmres.g++.1 b/examples/PACKAGES/dielectric/log.07Mar23.confined.gmres.g++.1 index ca0c22e5d3..5b6461dcdb 100644 --- a/examples/PACKAGES/dielectric/log.07Mar23.confined.gmres.g++.1 +++ b/examples/PACKAGES/dielectric/log.07Mar23.confined.gmres.g++.1 @@ -47,7 +47,7 @@ Finding 1-2 1-3 1-4 neighbors ... 0 = max # of 1-3 neighbors 0 = max # of 1-4 neighbors 1 = max # of special neighbors - special bonds CPU = 0.001 seconds + special bonds CPU = 0.000 seconds read_data CPU = 0.013 seconds group interface type 1 @@ -149,9 +149,9 @@ Neighbor list info ... Per MPI rank memory allocation (min/avg/max) = 381.6 | 381.6 | 381.6 Mbytes Step E_vdwl E_coul E_long E_pair 0 0 -1.7228107e-08 -1.8534756e-05 -1.8551984e-05 -Loop time of 1.872e-06 on 1 procs for 0 steps with 4002 atoms +Loop time of 1.939e-06 on 1 procs for 0 steps with 4002 atoms -160.3% CPU use with 1 MPI tasks x 1 OpenMP threads +103.1% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -163,7 +163,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 1.872e-06 | | |100.00 +Other | | 1.939e-06 | | |100.00 Nlocal: 4002 ave 4002 max 4002 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/PACKAGES/dielectric/log.07Mar23.confined.gmres.g++.4 b/examples/PACKAGES/dielectric/log.07Mar23.confined.gmres.g++.4 index f4e855ad42..fa59c736d4 100644 --- a/examples/PACKAGES/dielectric/log.07Mar23.confined.gmres.g++.4 +++ b/examples/PACKAGES/dielectric/log.07Mar23.confined.gmres.g++.4 @@ -48,7 +48,7 @@ Finding 1-2 1-3 1-4 neighbors ... 0 = max # of 1-4 neighbors 1 = max # of special neighbors special bonds CPU = 0.001 seconds - read_data CPU = 0.011 seconds + read_data CPU = 0.012 seconds group interface type 1 4000 atoms in group interface @@ -149,9 +149,9 @@ Neighbor list info ... Per MPI rank memory allocation (min/avg/max) = 376.2 | 376.2 | 376.2 Mbytes Step E_vdwl E_coul E_long E_pair 0 0 -1.7228107e-08 -1.8534756e-05 -1.8551984e-05 -Loop time of 1.49983e-05 on 4 procs for 0 steps with 4002 atoms +Loop time of 1.6531e-05 on 4 procs for 0 steps with 4002 atoms -85.0% CPU use with 4 MPI tasks x 1 OpenMP threads +102.8% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -163,7 +163,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 1.5e-05 | | |100.00 +Other | | 1.653e-05 | | |100.00 Nlocal: 1000.5 ave 1001 max 1000 min Histogram: 2 0 0 0 0 0 0 0 0 2 diff --git a/examples/PACKAGES/dielectric/log.07Mar23.confined.icc.g++.1 b/examples/PACKAGES/dielectric/log.07Mar23.confined.icc.g++.1 index 9c1ab22f90..d63235cff1 100644 --- a/examples/PACKAGES/dielectric/log.07Mar23.confined.icc.g++.1 +++ b/examples/PACKAGES/dielectric/log.07Mar23.confined.icc.g++.1 @@ -151,9 +151,9 @@ Neighbor list info ... Per MPI rank memory allocation (min/avg/max) = 14.99 | 14.99 | 14.99 Mbytes Step E_vdwl E_coul E_long E_pair 0 0 -1.7228514e-08 -1.8534756e-05 -1.8551985e-05 -Loop time of 1.573e-06 on 1 procs for 0 steps with 4002 atoms +Loop time of 1.823e-06 on 1 procs for 0 steps with 4002 atoms -190.7% CPU use with 1 MPI tasks x 1 OpenMP threads +109.7% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -165,7 +165,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 1.573e-06 | | |100.00 +Other | | 1.823e-06 | | |100.00 Nlocal: 4002 ave 4002 max 4002 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/PACKAGES/dielectric/log.07Mar23.confined.icc.g++.4 b/examples/PACKAGES/dielectric/log.07Mar23.confined.icc.g++.4 index c60b803cd1..e908ce82f9 100644 --- a/examples/PACKAGES/dielectric/log.07Mar23.confined.icc.g++.4 +++ b/examples/PACKAGES/dielectric/log.07Mar23.confined.icc.g++.4 @@ -47,7 +47,7 @@ Finding 1-2 1-3 1-4 neighbors ... 0 = max # of 1-3 neighbors 0 = max # of 1-4 neighbors 1 = max # of special neighbors - special bonds CPU = 0.001 seconds + special bonds CPU = 0.000 seconds read_data CPU = 0.012 seconds group interface type 1 @@ -151,9 +151,9 @@ Neighbor list info ... Per MPI rank memory allocation (min/avg/max) = 9.647 | 9.647 | 9.647 Mbytes Step E_vdwl E_coul E_long E_pair 0 0 -1.7228514e-08 -1.8534756e-05 -1.8551985e-05 -Loop time of 1.23127e-05 on 4 procs for 0 steps with 4002 atoms +Loop time of 2.29425e-06 on 4 procs for 0 steps with 4002 atoms -103.6% CPU use with 4 MPI tasks x 1 OpenMP threads +141.7% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -165,7 +165,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 1.231e-05 | | |100.00 +Other | | 2.294e-06 | | |100.00 Nlocal: 1000.5 ave 1001 max 1000 min Histogram: 2 0 0 0 0 0 0 0 0 2 diff --git a/examples/PACKAGES/dielectric/log.07Mar23.nopbc.dof.g++.1 b/examples/PACKAGES/dielectric/log.07Mar23.nopbc.dof.g++.1 new file mode 100644 index 0000000000..f964d4d8f4 --- /dev/null +++ b/examples/PACKAGES/dielectric/log.07Mar23.nopbc.dof.g++.1 @@ -0,0 +1,136 @@ +LAMMPS (8 Feb 2023) + using 1 OpenMP thread(s) per MPI task +# Interface +newton off +units lj +atom_style dielectric +atom_modify map array +dimension 3 +boundary f f f + +variable method index gmres # gmres = BEM/GMRES + # icc = BEM/ICC* + # dof = Direct optimization of the functional + # none + +variable data index data.sphere + +read_data ${data} +read_data data.sphere +Reading data file ... + orthogonal box = (0 0 0) to (100 100 100) + 1 by 1 by 1 MPI processor grid +WARNING: Atom style in data file differs from currently defined atom style (src/read_data.cpp:620) + reading atoms ... + 643 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.004 seconds + +group interface type 1 +642 atoms in group interface +group ions type 2 3 +1 atoms in group ions + +pair_style lj/cut/coul/cut/dielectric 1.122 20.0 +pair_coeff * * 1.0 1.0 +pair_coeff 1 1 0.0 1.0 + +neigh_modify one 5000 + +#compute ef all efield/atom +#dump 1 all custom 100 all.dump id mol type q x y z #c_ef[1] c_ef[2] c_ef[3] +# +#dump 2 interface custom 100 interface.dump id mol type q x y z #c_ef[1] c_ef[2] c_ef[3] +#dump_modify 1 sort id + +fix 1 ions nve + +if "${method} == gmres" then "fix 3 interface polarize/bem/gmres 1 1.0e-4" elif "${method} == icc" "fix 3 interface polarize/bem/icc 1 1.0e-4" elif "${method} == dof" "fix 3 interface polarize/functional 1 1.0e-4" else "print 'Unsupported method for polarization' " +fix 3 interface polarize/functional 1 1.0e-4 + +thermo 1000 +thermo_style custom step evdwl ecoul elong epair +thermo_modify flush yes + +run 0 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- DIELECTRIC package: doi:10.1016/j.cpc.2019.03.006 + +@Article{TrungCPC19, + author = {Trung Dac Nguyen and Honghao Li and Debarshee Bagchi and Francisco J. Solis and Olvera de la Cruz, Monica} + title = {Incorporating Surface Polarization Effects Into Large-Scale + Coarse-Grained Molecular Dynamics Simulation}, + journal = {Comput.\ Phys.\ Commun.}, + year = 2019, + volume = 241, + pages = {80--91} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Direct solver using a variational approach for 642 induced charges +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 5000, page size: 100000 + master list distance cutoff = 20.3 + ghost atom cutoff = 20.3 + binsize = 10.15, bins = 10 10 10 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair lj/cut/coul/cut/dielectric, perpetual + attributes: full, newton off + pair build: full/bin + stencil: full/bin/3d + bin: standard + (2) fix polarize/functional, perpetual, copy from (1) + attributes: full, newton off + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 29.83 | 29.83 | 29.83 Mbytes + Step E_vdwl E_coul E_long E_pair + 0 0 -0.011053355 0 -0.011053355 +Loop time of 1.691e-06 on 1 procs for 0 steps with 643 atoms + +177.4% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.691e-06 | | |100.00 + +Nlocal: 643 ave 643 max 643 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 412806 ave 412806 max 412806 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 412806 +Ave neighs/atom = 642 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + + +Total wall time: 0:00:02 diff --git a/examples/PACKAGES/dielectric/log.07Mar23.nopbc.dof.g++.4 b/examples/PACKAGES/dielectric/log.07Mar23.nopbc.dof.g++.4 new file mode 100644 index 0000000000..f1848bd130 --- /dev/null +++ b/examples/PACKAGES/dielectric/log.07Mar23.nopbc.dof.g++.4 @@ -0,0 +1,136 @@ +LAMMPS (8 Feb 2023) + using 1 OpenMP thread(s) per MPI task +# Interface +newton off +units lj +atom_style dielectric +atom_modify map array +dimension 3 +boundary f f f + +variable method index gmres # gmres = BEM/GMRES + # icc = BEM/ICC* + # dof = Direct optimization of the functional + # none + +variable data index data.sphere + +read_data ${data} +read_data data.sphere +Reading data file ... + orthogonal box = (0 0 0) to (100 100 100) + 1 by 2 by 2 MPI processor grid +WARNING: Atom style in data file differs from currently defined atom style (src/read_data.cpp:620) + reading atoms ... + 643 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.004 seconds + +group interface type 1 +642 atoms in group interface +group ions type 2 3 +1 atoms in group ions + +pair_style lj/cut/coul/cut/dielectric 1.122 20.0 +pair_coeff * * 1.0 1.0 +pair_coeff 1 1 0.0 1.0 + +neigh_modify one 5000 + +#compute ef all efield/atom +#dump 1 all custom 100 all.dump id mol type q x y z #c_ef[1] c_ef[2] c_ef[3] +# +#dump 2 interface custom 100 interface.dump id mol type q x y z #c_ef[1] c_ef[2] c_ef[3] +#dump_modify 1 sort id + +fix 1 ions nve + +if "${method} == gmres" then "fix 3 interface polarize/bem/gmres 1 1.0e-4" elif "${method} == icc" "fix 3 interface polarize/bem/icc 1 1.0e-4" elif "${method} == dof" "fix 3 interface polarize/functional 1 1.0e-4" else "print 'Unsupported method for polarization' " +fix 3 interface polarize/functional 1 1.0e-4 + +thermo 1000 +thermo_style custom step evdwl ecoul elong epair +thermo_modify flush yes + +run 0 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- DIELECTRIC package: doi:10.1016/j.cpc.2019.03.006 + +@Article{TrungCPC19, + author = {Trung Dac Nguyen and Honghao Li and Debarshee Bagchi and Francisco J. Solis and Olvera de la Cruz, Monica} + title = {Incorporating Surface Polarization Effects Into Large-Scale + Coarse-Grained Molecular Dynamics Simulation}, + journal = {Comput.\ Phys.\ Commun.}, + year = 2019, + volume = 241, + pages = {80--91} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Direct solver using a variational approach for 642 induced charges +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 5000, page size: 100000 + master list distance cutoff = 20.3 + ghost atom cutoff = 20.3 + binsize = 10.15, bins = 10 10 10 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair lj/cut/coul/cut/dielectric, perpetual + attributes: full, newton off + pair build: full/bin + stencil: full/bin/3d + bin: standard + (2) fix polarize/functional, perpetual, copy from (1) + attributes: full, newton off + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 26.9 | 27.48 | 27.67 Mbytes + Step E_vdwl E_coul E_long E_pair + 0 0 -0.011053355 0 -0.011053355 +Loop time of 2.96225e-06 on 4 procs for 0 steps with 643 atoms + +143.5% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 2.962e-06 | | |100.00 + +Nlocal: 160.75 ave 178 max 145 min +Histogram: 1 0 0 0 2 0 0 0 0 1 +Nghost: 482.25 ave 498 max 465 min +Histogram: 1 0 0 0 0 2 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 103202 ave 114276 max 93090 min +Histogram: 1 0 0 0 2 0 0 0 0 1 + +Total # of neighbors = 412806 +Ave neighs/atom = 642 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + + + +Total wall time: 0:00:01 diff --git a/examples/PACKAGES/dielectric/log.07Mar23.nopbc.gmres.g++.1 b/examples/PACKAGES/dielectric/log.07Mar23.nopbc.gmres.g++.1 index 08cbbb2b7d..77e448b807 100644 --- a/examples/PACKAGES/dielectric/log.07Mar23.nopbc.gmres.g++.1 +++ b/examples/PACKAGES/dielectric/log.07Mar23.nopbc.gmres.g++.1 @@ -22,7 +22,7 @@ Reading data file ... 1 by 1 by 1 MPI processor grid WARNING: Atom style in data file differs from currently defined atom style (src/read_data.cpp:620) reading atoms ... - 2563 atoms + 643 atoms Finding 1-2 1-3 1-4 neighbors ... special bond factors lj: 0 0 0 special bond factors coul: 0 0 0 @@ -31,10 +31,10 @@ Finding 1-2 1-3 1-4 neighbors ... 0 = max # of 1-4 neighbors 1 = max # of special neighbors special bonds CPU = 0.000 seconds - read_data CPU = 0.011 seconds + read_data CPU = 0.004 seconds group interface type 1 -2562 atoms in group interface +642 atoms in group interface group ions type 2 3 1 atoms in group ions @@ -80,7 +80,7 @@ Your simulation uses code contributions which should be cited: CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule -BEM/GMRES solver for 2562 induced charges using maximum 2561 q-vectors +BEM/GMRES solver for 642 induced charges using maximum 641 q-vectors Neighbor list info ... update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 5000, page size: 100000 @@ -93,12 +93,12 @@ Neighbor list info ... pair build: full/bin stencil: full/bin/3d bin: standard -Per MPI rank memory allocation (min/avg/max) = 183.5 | 183.5 | 183.5 Mbytes +Per MPI rank memory allocation (min/avg/max) = 18.6 | 18.6 | 18.6 Mbytes Step E_vdwl E_coul E_long E_pair - 0 0 2.1870454e-07 0 2.1870454e-07 -Loop time of 1.538e-06 on 1 procs for 0 steps with 2563 atoms + 0 0 -0.011226675 0 -0.011226675 +Loop time of 1.659e-06 on 1 procs for 0 steps with 643 atoms -195.1% CPU use with 1 MPI tasks x 1 OpenMP threads +120.6% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -109,19 +109,19 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 1.538e-06 | | |100.00 +Other | | 1.659e-06 | | |100.00 -Nlocal: 2563 ave 2563 max 2563 min +Nlocal: 643 ave 643 max 643 min Histogram: 1 0 0 0 0 0 0 0 0 0 Nghost: 0 ave 0 max 0 min Histogram: 1 0 0 0 0 0 0 0 0 0 Neighs: 0 ave 0 max 0 min Histogram: 1 0 0 0 0 0 0 0 0 0 -FullNghs: 6.56561e+06 ave 6.56561e+06 max 6.56561e+06 min +FullNghs: 412806 ave 412806 max 412806 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Total # of neighbors = 6565612 -Ave neighs/atom = 2561.6902 +Total # of neighbors = 412806 +Ave neighs/atom = 642 Ave special neighs/atom = 0 Neighbor list builds = 0 Dangerous builds = 0 diff --git a/examples/PACKAGES/dielectric/log.07Mar23.nopbc.gmres.g++.4 b/examples/PACKAGES/dielectric/log.07Mar23.nopbc.gmres.g++.4 index 060c00a9be..2a7c703e1a 100644 --- a/examples/PACKAGES/dielectric/log.07Mar23.nopbc.gmres.g++.4 +++ b/examples/PACKAGES/dielectric/log.07Mar23.nopbc.gmres.g++.4 @@ -22,7 +22,7 @@ Reading data file ... 1 by 2 by 2 MPI processor grid WARNING: Atom style in data file differs from currently defined atom style (src/read_data.cpp:620) reading atoms ... - 2563 atoms + 643 atoms Finding 1-2 1-3 1-4 neighbors ... special bond factors lj: 0 0 0 special bond factors coul: 0 0 0 @@ -30,11 +30,11 @@ Finding 1-2 1-3 1-4 neighbors ... 0 = max # of 1-3 neighbors 0 = max # of 1-4 neighbors 1 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.009 seconds + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds group interface type 1 -2562 atoms in group interface +642 atoms in group interface group ions type 2 3 1 atoms in group ions @@ -80,7 +80,7 @@ Your simulation uses code contributions which should be cited: CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule -BEM/GMRES solver for 2562 induced charges using maximum 2561 q-vectors +BEM/GMRES solver for 642 induced charges using maximum 641 q-vectors Neighbor list info ... update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 5000, page size: 100000 @@ -93,12 +93,12 @@ Neighbor list info ... pair build: full/bin stencil: full/bin/3d bin: standard -Per MPI rank memory allocation (min/avg/max) = 164.6 | 164.7 | 165 Mbytes +Per MPI rank memory allocation (min/avg/max) = 17.2 | 17.49 | 17.58 Mbytes Step E_vdwl E_coul E_long E_pair - 0 0 2.1870454e-07 0 2.1870454e-07 -Loop time of 2.4415e-06 on 4 procs for 0 steps with 2563 atoms + 0 0 -0.011226675 0 -0.011226675 +Loop time of 6.7975e-06 on 4 procs for 0 steps with 643 atoms -133.1% CPU use with 4 MPI tasks x 1 OpenMP threads +80.9% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -109,19 +109,19 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 2.442e-06 | | |100.00 +Other | | 6.797e-06 | | |100.00 -Nlocal: 640.75 ave 674 max 609 min +Nlocal: 160.75 ave 178 max 145 min Histogram: 1 0 0 0 2 0 0 0 0 1 -Nghost: 1922.25 ave 1954 max 1889 min +Nghost: 482.25 ave 498 max 465 min Histogram: 1 0 0 0 0 2 0 0 0 1 Neighs: 0 ave 0 max 0 min Histogram: 4 0 0 0 0 0 0 0 0 0 -FullNghs: 1.6414e+06 ave 1.72639e+06 max 1.56007e+06 min +FullNghs: 103202 ave 114276 max 93090 min Histogram: 1 0 0 0 2 0 0 0 0 1 -Total # of neighbors = 6565612 -Ave neighs/atom = 2561.6902 +Total # of neighbors = 412806 +Ave neighs/atom = 642 Ave special neighs/atom = 0 Neighbor list builds = 0 Dangerous builds = 0 diff --git a/examples/PACKAGES/dielectric/log.07Mar23.nopbc.icc.g++.1 b/examples/PACKAGES/dielectric/log.07Mar23.nopbc.icc.g++.1 index cdde6a228a..91e9ba130b 100644 --- a/examples/PACKAGES/dielectric/log.07Mar23.nopbc.icc.g++.1 +++ b/examples/PACKAGES/dielectric/log.07Mar23.nopbc.icc.g++.1 @@ -22,7 +22,7 @@ Reading data file ... 1 by 1 by 1 MPI processor grid WARNING: Atom style in data file differs from currently defined atom style (src/read_data.cpp:620) reading atoms ... - 2563 atoms + 643 atoms Finding 1-2 1-3 1-4 neighbors ... special bond factors lj: 0 0 0 special bond factors coul: 0 0 0 @@ -31,10 +31,10 @@ Finding 1-2 1-3 1-4 neighbors ... 0 = max # of 1-4 neighbors 1 = max # of special neighbors special bonds CPU = 0.000 seconds - read_data CPU = 0.011 seconds + read_data CPU = 0.004 seconds group interface type 1 -2562 atoms in group interface +642 atoms in group interface group ions type 2 3 1 atoms in group ions @@ -80,7 +80,7 @@ Your simulation uses code contributions which should be cited: CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule -BEM/ICC solver for 2562 induced charges +BEM/ICC solver for 642 induced charges using pair style lj/cut/coul/cut/dielectric Neighbor list info ... update: every = 1 steps, delay = 0 steps, check = yes @@ -94,12 +94,12 @@ Neighbor list info ... pair build: full/bin stencil: full/bin/3d bin: standard -Per MPI rank memory allocation (min/avg/max) = 32.96 | 32.96 | 32.96 Mbytes +Per MPI rank memory allocation (min/avg/max) = 8.898 | 8.898 | 8.898 Mbytes Step E_vdwl E_coul E_long E_pair - 0 0 2.1870503e-07 0 2.1870503e-07 -Loop time of 1.536e-06 on 1 procs for 0 steps with 2563 atoms + 0 0 -0.011226707 0 -0.011226707 +Loop time of 1.532e-06 on 1 procs for 0 steps with 643 atoms -195.3% CPU use with 1 MPI tasks x 1 OpenMP threads +130.5% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -110,23 +110,23 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 1.536e-06 | | |100.00 +Other | | 1.532e-06 | | |100.00 -Nlocal: 2563 ave 2563 max 2563 min +Nlocal: 643 ave 643 max 643 min Histogram: 1 0 0 0 0 0 0 0 0 0 Nghost: 0 ave 0 max 0 min Histogram: 1 0 0 0 0 0 0 0 0 0 Neighs: 0 ave 0 max 0 min Histogram: 1 0 0 0 0 0 0 0 0 0 -FullNghs: 6.56561e+06 ave 6.56561e+06 max 6.56561e+06 min +FullNghs: 412806 ave 412806 max 412806 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Total # of neighbors = 6565612 -Ave neighs/atom = 2561.6902 +Total # of neighbors = 412806 +Ave neighs/atom = 642 Ave special neighs/atom = 0 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:00:01 +Total wall time: 0:00:00 diff --git a/examples/PACKAGES/dielectric/log.07Mar23.nopbc.icc.g++.4 b/examples/PACKAGES/dielectric/log.07Mar23.nopbc.icc.g++.4 index e329d5c958..0d4eaf79ff 100644 --- a/examples/PACKAGES/dielectric/log.07Mar23.nopbc.icc.g++.4 +++ b/examples/PACKAGES/dielectric/log.07Mar23.nopbc.icc.g++.4 @@ -22,7 +22,7 @@ Reading data file ... 1 by 2 by 2 MPI processor grid WARNING: Atom style in data file differs from currently defined atom style (src/read_data.cpp:620) reading atoms ... - 2563 atoms + 643 atoms Finding 1-2 1-3 1-4 neighbors ... special bond factors lj: 0 0 0 special bond factors coul: 0 0 0 @@ -30,11 +30,11 @@ Finding 1-2 1-3 1-4 neighbors ... 0 = max # of 1-3 neighbors 0 = max # of 1-4 neighbors 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.008 seconds + special bonds CPU = 0.001 seconds + read_data CPU = 0.004 seconds group interface type 1 -2562 atoms in group interface +642 atoms in group interface group ions type 2 3 1 atoms in group ions @@ -80,7 +80,7 @@ Your simulation uses code contributions which should be cited: CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule -BEM/ICC solver for 2562 induced charges +BEM/ICC solver for 642 induced charges using pair style lj/cut/coul/cut/dielectric Neighbor list info ... update: every = 1 steps, delay = 0 steps, check = yes @@ -94,12 +94,12 @@ Neighbor list info ... pair build: full/bin stencil: full/bin/3d bin: standard -Per MPI rank memory allocation (min/avg/max) = 14.03 | 14.12 | 14.41 Mbytes +Per MPI rank memory allocation (min/avg/max) = 7.496 | 7.783 | 7.878 Mbytes Step E_vdwl E_coul E_long E_pair - 0 0 2.1870503e-07 0 2.1870503e-07 -Loop time of 2.408e-06 on 4 procs for 0 steps with 2563 atoms + 0 0 -0.011226707 0 -0.011226707 +Loop time of 6.43925e-06 on 4 procs for 0 steps with 643 atoms -135.0% CPU use with 4 MPI tasks x 1 OpenMP threads +93.2% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -110,19 +110,19 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 2.408e-06 | | |100.00 +Other | | 6.439e-06 | | |100.00 -Nlocal: 640.75 ave 674 max 609 min +Nlocal: 160.75 ave 178 max 145 min Histogram: 1 0 0 0 2 0 0 0 0 1 -Nghost: 1922.25 ave 1954 max 1889 min +Nghost: 482.25 ave 498 max 465 min Histogram: 1 0 0 0 0 2 0 0 0 1 Neighs: 0 ave 0 max 0 min Histogram: 4 0 0 0 0 0 0 0 0 0 -FullNghs: 1.6414e+06 ave 1.72639e+06 max 1.56007e+06 min +FullNghs: 103202 ave 114276 max 93090 min Histogram: 1 0 0 0 2 0 0 0 0 1 -Total # of neighbors = 6565612 -Ave neighs/atom = 2561.6902 +Total # of neighbors = 412806 +Ave neighs/atom = 642 Ave special neighs/atom = 0 Neighbor list builds = 0 Dangerous builds = 0 From 01c03bddf62ea0064b0df3ddce3fab9d43472cb9 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 7 Mar 2023 15:22:54 -0500 Subject: [PATCH 270/448] improve style mismatch warning messages in read_data --- src/read_data.cpp | 67 +++++++++++++++++++++++++++-------------------- 1 file changed, 38 insertions(+), 29 deletions(-) diff --git a/src/read_data.cpp b/src/read_data.cpp index 6785e51ecc..bf96fa362a 100644 --- a/src/read_data.cpp +++ b/src/read_data.cpp @@ -336,8 +336,8 @@ void ReadData::command(int narg, char **arg) error->all(FLERR, "Cannot run 2d simulation with nonperiodic Z dimension"); if ((domain->nonperiodic == 2) && utils::strmatch(force->kspace_style, "^msm")) error->all(FLERR, - "Reading a data file with shrinkwrap boundaries is " - "not compatible with a MSM KSpace style"); + "Reading a data file with shrinkwrap boundaries is not " + "compatible with a MSM KSpace style"); if (domain->box_exist && !addflag) error->all(FLERR, "Cannot use read_data without add keyword after simulation box is defined"); if (!domain->box_exist && addflag) @@ -561,8 +561,8 @@ void ReadData::command(int narg, char **arg) // only done if firstpass and not first data file if (firstpass && addflag != NONE) { - double oldboxlo[3] = { domain->boxlo[0], domain->boxlo[1] , domain->boxlo[2]}; - double oldboxhi[3] = { domain->boxhi[0], domain->boxhi[1] , domain->boxhi[2]}; + double oldboxlo[3] = {domain->boxlo[0], domain->boxlo[1], domain->boxlo[2]}; + double oldboxhi[3] = {domain->boxhi[0], domain->boxhi[1], domain->boxhi[2]}; domain->boxlo[0] = MIN(domain->boxlo[0], boxlo[0] + shift[0]); domain->boxhi[0] = MAX(domain->boxhi[0], boxhi[0] + shift[0]); domain->boxlo[1] = MIN(domain->boxlo[1], boxlo[1] + shift[1]); @@ -575,7 +575,7 @@ void ReadData::command(int narg, char **arg) (oldboxlo[2] != domain->boxlo[2]) || (oldboxhi[0] != domain->boxhi[0]) || (oldboxhi[1] != domain->boxhi[1]) || (oldboxhi[2] != domain->boxhi[2])) { int iflag = 1; - for (int i=0; i < atom->nlocal; ++i) { + for (int i = 0; i < atom->nlocal; ++i) { int xbox = (atom->image[i] & IMGMASK) - IMGMAX; int ybox = (atom->image[i] >> IMGBITS & IMGMASK) - IMGMAX; int zbox = (atom->image[i] >> IMG2BITS) - IMGMAX; @@ -584,9 +584,9 @@ void ReadData::command(int narg, char **arg) if (zbox != 0) iflag = 1; } int flag_all; - MPI_Allreduce(&iflag,&flag_all, 1, MPI_INT, MPI_SUM, world); + MPI_Allreduce(&iflag, &flag_all, 1, MPI_INT, MPI_SUM, world); if ((flag_all > 0) && (comm->me == 0)) - error->warning(FLERR,"Non-zero image flags with growing box leads to bad coordinates"); + error->warning(FLERR, "Non-zero image flags with growing box leads to bad coordinates"); } // NOTE: not sure what to do about tilt value in subsequent data files @@ -617,8 +617,9 @@ void ReadData::command(int narg, char **arg) atomflag = 1; if (firstpass) { if (me == 0 && !style_match(style, atom->atom_style)) - error->warning(FLERR, - "Atom style in data file differs from currently defined atom style"); + error->warning( + FLERR, "Atom style in data file {} differs from currently defined atom style {}", + style, atom->atom_style); atoms(); } else skip_lines(natoms); @@ -696,8 +697,9 @@ void ReadData::command(int narg, char **arg) if (force->pair == nullptr) error->all(FLERR, "Must define pair_style before Pair Coeffs"); if (firstpass) { if (me == 0 && !style_match(style, force->pair_style)) - error->warning(FLERR, - "Pair style in data file differs from currently defined pair style"); + error->warning( + FLERR, "Pair style {} in data file differs from currently defined pair style {}", + style, force->pair_style); paircoeffs(); } else skip_lines(ntypes); @@ -706,9 +708,9 @@ void ReadData::command(int narg, char **arg) error->all(FLERR, "Must define pair_style before PairIJ Coeffs"); if (firstpass) { if (me == 0 && !style_match(style, force->pair_style)) - error->warning(FLERR, - "Pair style in data file differs " - "from currently defined pair style"); + error->warning( + FLERR, "Pair style {} in data file differs from currently defined pair style {}", + style, force->pair_style); pairIJcoeffs(); } else skip_lines(ntypes * (ntypes + 1) / 2); @@ -718,8 +720,9 @@ void ReadData::command(int narg, char **arg) if (force->bond == nullptr) error->all(FLERR, "Must define bond_style before Bond Coeffs"); if (firstpass) { if (me == 0 && !style_match(style, force->bond_style)) - error->warning(FLERR, - "Bond style in data file differs from currently defined bond style"); + error->warning( + FLERR, "Bond style {} in data file differs from currently defined bond style {}", + style, force->bond_style); bondcoeffs(); } else skip_lines(nbondtypes); @@ -730,8 +733,9 @@ void ReadData::command(int narg, char **arg) error->all(FLERR, "Must define angle_style before Angle Coeffs"); if (firstpass) { if (me == 0 && !style_match(style, force->angle_style)) - error->warning(FLERR, - "Angle style in data file differs from currently defined angle style"); + error->warning( + FLERR, "Angle style {} in data file differs from currently defined angle style {}", + style, force->angle_style); anglecoeffs(0); } else skip_lines(nangletypes); @@ -742,9 +746,10 @@ void ReadData::command(int narg, char **arg) error->all(FLERR, "Must define dihedral_style before Dihedral Coeffs"); if (firstpass) { if (me == 0 && !style_match(style, force->dihedral_style)) - error->warning(FLERR, - "Dihedral style in data file differs " - "from currently defined dihedral style"); + error->warning( + FLERR, + "Dihedral style {} in data file differs from currently defined dihedral style {}", + style, force->dihedral_style); dihedralcoeffs(0); } else skip_lines(ndihedraltypes); @@ -755,9 +760,10 @@ void ReadData::command(int narg, char **arg) error->all(FLERR, "Must define improper_style before Improper Coeffs"); if (firstpass) { if (me == 0 && !style_match(style, force->improper_style)) - error->warning(FLERR, - "Improper style in data file differs " - "from currently defined improper style"); + error->warning( + FLERR, + "Improper style {} in data file differs from currently defined improper style {}", + style, force->improper_style); impropercoeffs(0); } else skip_lines(nimpropertypes); @@ -2018,8 +2024,10 @@ void ReadData::pairIJcoeffs() *next = '\0'; parse_coeffs(buf, nullptr, 0, 2, toffset, tlabelflag, lmap->lmap2lmap.atom); if (ncoeffarg == 0) - error->all(FLERR, "Unexpected empty line in PairIJCoeffs section. " - "Expected {} lines.", (ntypes-1)*ntypes); + error->all(FLERR, + "Unexpected empty line in PairIJCoeffs section. " + "Expected {} lines.", + (ntypes - 1) * ntypes); force->pair->coeff(ncoeffarg, coeffarg); buf = next + 1; } @@ -2049,7 +2057,8 @@ void ReadData::bondcoeffs() *next = '\0'; parse_coeffs(buf, nullptr, 0, 1, boffset, blabelflag, lmap->lmap2lmap.bond); if (ncoeffarg == 0) - error->all(FLERR, "Unexpected empty line in BondCoeffs section. Expected {} lines.", nbondtypes); + error->all(FLERR, "Unexpected empty line in BondCoeffs section. Expected {} lines.", + nbondtypes); force->bond->coeff(ncoeffarg, coeffarg); buf = next + 1; } @@ -2442,12 +2451,12 @@ void ReadData::parse_coeffs(char *line, const char *addstr, int dupflag, int nof int value = utils::inumeric(FLERR, coeffarg[0], false, lmp); if (labelmode) value = ilabel[value - 1]; argoffset1 = std::to_string(value + offset); - coeffarg[0] = (char *)argoffset1.c_str(); + coeffarg[0] = (char *) argoffset1.c_str(); if (noffset == 2) { value = utils::inumeric(FLERR, coeffarg[1], false, lmp); if (labelmode) value = ilabel[value - 1]; argoffset2 = std::to_string(value + offset); - coeffarg[1] = (char *)argoffset2.c_str(); + coeffarg[1] = (char *) argoffset2.c_str(); } } } From d32411f61a37f671afdc610316982a51f66e9c3d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 7 Mar 2023 16:37:14 -0500 Subject: [PATCH 271/448] recover restart ability and avoid memory leak --- src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp | 27 ++++++++++++++----- 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp b/src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp index 413d00226d..76e7347ada 100644 --- a/src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp +++ b/src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp @@ -15,6 +15,7 @@ #include "atom.h" #include "comm.h" +#include "domain.h" #include "error.h" #include "fix_property_atom.h" #include "force.h" @@ -73,6 +74,7 @@ void BondHarmonicRestrain::compute(int eflag, int vflag) delx = x0[i1][0] - x0[i2][0]; dely = x0[i1][1] - x0[i2][1]; delz = x0[i1][2] - x0[i2][2]; + domain->minimum_image(delx, dely, delz); rsq = delx * delx + dely * dely + delz * delz; r0 = sqrt(rsq); @@ -155,19 +157,32 @@ void BondHarmonicRestrain::coeff(int narg, char **arg) void BondHarmonicRestrain::init_style() { - // create internal fix to store initial positions - initial = dynamic_cast( - modify->add_fix("BOND_RESTRAIN all property/atom d2_x0 3 ghost yes")); - if (!initial) error->all(FLERR, "Failure to create internal per-atom storage"); - // store initial positions + if (natoms < 0) { + + // create internal fix to store initial positions + initial = dynamic_cast( + modify->add_fix("BOND_RESTRAIN all property/atom d2_x0 3 ghost yes")); + if (!initial) error->all(FLERR, "Failure to create internal per-atom storage"); + natoms = atom->natoms; double *const *const x0 = (double **) atom->extract("d2_x0"); const double *const *const x = atom->x; for (int i = 0; i < atom->nlocal; ++i) for (int j = 0; j < 3; ++j) x0[i][j] = x[i][j]; - } + + } else { + + // after a restart, natoms is set but initial is a null pointer. + // we add the fix, but do not initialize it. It will pull the data from the restart. + + if (!initial) { + initial = dynamic_cast( + modify->add_fix("BOND_RESTRAIN all property/atom d2_x0 3 ghost yes")); + if (!initial) error->all(FLERR, "Failure to create internal per-atom storage"); + } + } // must not add atoms if (natoms < atom->natoms) From 010b030b567d9c057b92f227a3ad6f38190fe777 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 7 Mar 2023 19:38:34 -0500 Subject: [PATCH 272/448] update docs and mention alternatives and describe differences --- doc/src/bond_harmonic_restrain.rst | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/doc/src/bond_harmonic_restrain.rst b/doc/src/bond_harmonic_restrain.rst index 5ffbfb424c..d4c34ae622 100644 --- a/doc/src/bond_harmonic_restrain.rst +++ b/doc/src/bond_harmonic_restrain.rst @@ -29,11 +29,13 @@ The *harmonic/restrain* bond style uses the potential E = K (r - r_{t=0})^2 -where :math:`r_{t=0}` is the distance between the bond atoms at the +where :math:`r_{t=0}` is the distance between the bonded atoms at the beginning of the first :doc:`run ` or :doc:`minimize ` command after the bond style has been defined (*t=0*). Note that the usual 1/2 factor is included in :math:`K`. This will effectively -restrain bonds to their initial length, whatever that is. +restrain bonds to their initial length, whatever that is. This is where +this bond style differs from :doc:`bond style harmonic ` +where the bond length is set through the per bond type coefficients. The following coefficient must be defined for each bond type via the :doc:`bond_coeff ` command as in the example above, or in @@ -42,12 +44,19 @@ or :doc:`read_restart ` commands * :math:`K` (energy/distance\^2) +This bond style differs from other options to add harmonic restraints +like :doc:`fix restrain ` or :doc:`pair style list +` or :doc:`fix colvars ` in that it requires a +bond topology, and thus the defined bonds will trigger exclusion of +special neighbors from the neighbor list according to the +:doc:`special_bonds ` settings. + Restart info """""""""""" This bond style supports the :doc:`write_restart ` and :doc:`read_restart ` commands. The state of the initial -bond lengths is stored with the restart files and read back. +bond lengths is stored with restart files and read back. Restrictions """""""""""" @@ -56,24 +65,24 @@ This bond style can only be used if LAMMPS was built with the EXTRA-MOLECULE package. See the :doc:`Build package ` page for more info. -This bond style does not write its coefficients to a data file since the +This bond style does NOT write its coefficients to a data file since the :math:`r_{t=0}` values are for individual bonds and not bond types. + Since it uses :doc:`fix property/atom ` internally, you should use the "nofix" argument to the :doc:`write_data command -` to avoid writing a section to the data file can cannot be -read back in by the bond style. +` to avoid writing a section to the data file that cannot be +read back by the bond style. This bond style cannot be used with :doc:`fix shake or fix rattle `, with :doc:`fix filter/corotate `, or any :doc:`tip4p pair style ` since there is no specific equilibrium distance for a given bond type. - Related commands """""""""""""""" -:doc:`bond_coeff `, :doc:`delete_bonds `, -:doc:`bond_harmonic ` +:doc:`bond_coeff `, :doc:`bond_harmonic `, +:doc:`fix restrain `, :doc:`pair style list ` Default """"""" From 381d0445ed6835aa8d9109c954cc358bfd658463 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 7 Mar 2023 19:41:50 -0500 Subject: [PATCH 273/448] fix spelling issues --- doc/src/Install_windows.rst | 2 +- doc/src/balance.rst | 2 +- doc/src/fix_balance.rst | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/src/Install_windows.rst b/doc/src/Install_windows.rst index f23092941a..fdfd406c8b 100644 --- a/doc/src/Install_windows.rst +++ b/doc/src/Install_windows.rst @@ -20,7 +20,7 @@ The LAMMPS binaries contain *all* :doc:`optional packages ` included in the source distribution except: ADIOS, H5MD, KIM, ML-PACE, ML-QUIP, MSCG, NETCDF, PLUMED, QMMM, SCAFACOS, and VTK. The serial version also does not include the MPIIO and LATBOLTZ packages. The -PYTHON package is only available in the Python installaers that bundle a +PYTHON package is only available in the Python installers that bundle a Python runtime. The GPU package is compiled for OpenCL with mixed precision kernels. diff --git a/doc/src/balance.rst b/doc/src/balance.rst index c30c133a8b..4eaa00ea84 100644 --- a/doc/src/balance.rst +++ b/doc/src/balance.rst @@ -498,7 +498,7 @@ data to other processors during load-balancing will be random or deterministic. Random is generally faster; deterministic will ensure the new ordering of atoms on each processor is the same each time the same simulation is run. This can be useful for debugging purposes. -Since the balance commmand is a one-time operation, the default is +Since the balance command is a one-time operation, the default is *yes* to perform sorting. The *out* keyword writes a text file to the specified *filename* with diff --git a/doc/src/fix_balance.rst b/doc/src/fix_balance.rst index 8c65e8341d..0672a05470 100644 --- a/doc/src/fix_balance.rst +++ b/doc/src/fix_balance.rst @@ -314,7 +314,7 @@ data to other processors during load-balancing will be random or deterministic. Random is generally faster; deterministic will ensure the new ordering of atoms on each processor is the same each time the same simulation is run. This can be useful for debugging purposes. -Since the fix balance commmand is performed during timestepping, the +Since the fix balance command is performed during timestepping, the default is *no* so that sorting is not performed. The *out* keyword writes text to the specified *filename* with the From fd2cda66bbb22ccfcb2db522a6e4866834074e77 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 7 Mar 2023 20:18:41 -0500 Subject: [PATCH 274/448] handle the case when the bond style is recreated after a restart --- src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp b/src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp index 76e7347ada..32e1226347 100644 --- a/src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp +++ b/src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp @@ -40,7 +40,7 @@ BondHarmonicRestrain::BondHarmonicRestrain(LAMMPS *_lmp) : Bond(_lmp), initial(n BondHarmonicRestrain::~BondHarmonicRestrain() { - modify->delete_fix("BOND_RESTRAIN"); + if (initial) modify->delete_fix("BOND_RESTRAIN"); if (allocated) { memory->destroy(setflag); memory->destroy(k); From 9a8b5ebae0e1d93136fb1b833a250252ddf917af Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 7 Mar 2023 20:36:28 -0500 Subject: [PATCH 275/448] use more unusual name for per-atom property --- src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp b/src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp index 32e1226347..2054884e3e 100644 --- a/src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp +++ b/src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp @@ -40,7 +40,7 @@ BondHarmonicRestrain::BondHarmonicRestrain(LAMMPS *_lmp) : Bond(_lmp), initial(n BondHarmonicRestrain::~BondHarmonicRestrain() { - if (initial) modify->delete_fix("BOND_RESTRAIN"); + if (initial) modify->delete_fix("BOND_RESTRAIN_X0"); if (allocated) { memory->destroy(setflag); memory->destroy(k); @@ -59,7 +59,7 @@ void BondHarmonicRestrain::compute(int eflag, int vflag) ev_init(eflag, vflag); double **x = atom->x; - double **x0 = (double **) atom->extract("d2_x0"); + double **x0 = (double **) atom->extract("d2_BOND_RESTRAIN_X0"); double **f = atom->f; int **bondlist = neighbor->bondlist; int nbondlist = neighbor->nbondlist; @@ -163,11 +163,11 @@ void BondHarmonicRestrain::init_style() // create internal fix to store initial positions initial = dynamic_cast( - modify->add_fix("BOND_RESTRAIN all property/atom d2_x0 3 ghost yes")); + modify->add_fix("BOND_RESTRAIN_X0 all property/atom d2_BOND_RESTRAIN_X0 3 ghost yes")); if (!initial) error->all(FLERR, "Failure to create internal per-atom storage"); natoms = atom->natoms; - double *const *const x0 = (double **) atom->extract("d2_x0"); + double *const *const x0 = (double **) atom->extract("d2_BOND_RESTRAIN_X0"); const double *const *const x = atom->x; for (int i = 0; i < atom->nlocal; ++i) for (int j = 0; j < 3; ++j) x0[i][j] = x[i][j]; @@ -179,7 +179,7 @@ void BondHarmonicRestrain::init_style() if (!initial) { initial = dynamic_cast( - modify->add_fix("BOND_RESTRAIN all property/atom d2_x0 3 ghost yes")); + modify->add_fix("BOND_RESTRAIN_X0 all property/atom d2_BOND_RESTRAIN_X0 3 ghost yes")); if (!initial) error->all(FLERR, "Failure to create internal per-atom storage"); } } @@ -230,11 +230,12 @@ void BondHarmonicRestrain::write_data(FILE *fp) double BondHarmonicRestrain::single(int type, double rsq, int i, int j, double &fforce) { - double **x0 = (double **) atom->extract("d2_x0"); + double **x0 = (double **) atom->extract("d2_BOND_RESTRAIN_X0"); double delx = x0[i][0] - x0[j][0]; double dely = x0[i][1] - x0[j][1]; double delz = x0[i][2] - x0[j][2]; + domain->minimum_image(delx, dely, delz); double r0 = sqrt(delx * delx + dely * dely + delz * delz); double r = sqrt(rsq); From fc8a048662107dc9185331264e59edb1cd07caa2 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 7 Mar 2023 21:22:57 -0500 Subject: [PATCH 276/448] add unit test --- src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp | 4 +- unittest/force-styles/test_bond_style.cpp | 2 +- .../tests/bond-harmonic_restrain.yaml | 90 +++++++++++++++++++ 3 files changed, 93 insertions(+), 3 deletions(-) create mode 100644 unittest/force-styles/tests/bond-harmonic_restrain.yaml diff --git a/src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp b/src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp index 2054884e3e..a15642f90b 100644 --- a/src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp +++ b/src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp @@ -163,7 +163,7 @@ void BondHarmonicRestrain::init_style() // create internal fix to store initial positions initial = dynamic_cast( - modify->add_fix("BOND_RESTRAIN_X0 all property/atom d2_BOND_RESTRAIN_X0 3 ghost yes")); + modify->add_fix("BOND_RESTRAIN_X0 all property/atom d2_BOND_RESTRAIN_X0 3 ghost yes")); if (!initial) error->all(FLERR, "Failure to create internal per-atom storage"); natoms = atom->natoms; @@ -182,7 +182,7 @@ void BondHarmonicRestrain::init_style() modify->add_fix("BOND_RESTRAIN_X0 all property/atom d2_BOND_RESTRAIN_X0 3 ghost yes")); if (!initial) error->all(FLERR, "Failure to create internal per-atom storage"); } - } + } // must not add atoms if (natoms < atom->natoms) diff --git a/unittest/force-styles/test_bond_style.cpp b/unittest/force-styles/test_bond_style.cpp index d056fdc876..c723541366 100644 --- a/unittest/force-styles/test_bond_style.cpp +++ b/unittest/force-styles/test_bond_style.cpp @@ -123,7 +123,7 @@ LAMMPS *init_lammps(int argc, char **argv, const TestConfig &cfg, const bool new command("run 0 post no"); command("write_restart " + cfg.basename + ".restart"); - command("write_data " + cfg.basename + ".data"); + command("write_data " + cfg.basename + ".data nofix"); command("write_coeff " + cfg.basename + "-coeffs.in"); return lmp; diff --git a/unittest/force-styles/tests/bond-harmonic_restrain.yaml b/unittest/force-styles/tests/bond-harmonic_restrain.yaml new file mode 100644 index 0000000000..1fd04b818e --- /dev/null +++ b/unittest/force-styles/tests/bond-harmonic_restrain.yaml @@ -0,0 +1,90 @@ +--- +lammps_version: 8 Feb 2023 +tags: generated +date_generated: Tue Mar 7 21:07:27 2023 +epsilon: 2.5e-13 +skip_tests: extract +prerequisites: ! | + atom full + bond harmonic/restrain +pre_commands: ! "" +post_commands: ! "" +input_file: in.fourmol +bond_style: harmonic/restrain +bond_coeff: ! | + 1 250.0 + 2 300.0 + 3 350.0 + 4 650.0 + 5 450.0 +equilibrium: 5 -1 -1 -1 -1 -1 +extract: ! | + k 1 +natoms: 29 +init_energy: 0 +init_stress: ! |2- + 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +init_forces: ! |2 + 1 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 2 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 3 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 4 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 5 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 6 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 7 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 8 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 9 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 10 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 11 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 12 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 13 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 14 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 15 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 16 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 17 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 18 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 19 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 21 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 22 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 23 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 24 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 25 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 26 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 27 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 28 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 29 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +run_energy: 0.009384424442608962 +run_stress: ! |2- + 1.3334287184173488e+00 3.1110677999939773e-01 -1.4064657849540130e+00 2.6546279385354110e-01 1.5492956756466219e+00 7.2358876924785698e-01 +run_forces: ! |2 + 1 1.1485941046856593e-01 1.4088049450172524e-01 -8.5852076971833030e-02 + 2 -9.3217481807658653e-02 -7.6867386712704044e-02 1.0932532178570745e-01 + 3 -2.3741413942894266e-01 -8.5667734110971339e-02 -8.2143831089792743e-02 + 4 2.3324188168788909e-01 -6.5094431822773302e-02 1.6591701889629748e-01 + 5 2.6793200848186677e-02 4.1227376782380774e-02 -1.3685685314886964e-01 + 6 2.4862628338772436e-01 -3.6125357500552457e-01 -7.8230634578348013e-01 + 7 -3.8706943762359766e-02 1.9888379369193138e-01 9.8933719851963053e-01 + 8 -3.5267248957722913e-01 4.2911503092501313e-01 1.0190469073820968e-01 + 9 -5.1632048293607458e-02 -5.5343430872859360e-02 -2.2821606693951479e-01 + 10 1.2860877826855494e-01 -7.5971599169706849e-01 -5.5343112593256227e-01 + 11 1.6956002318038377e-01 4.2001247662003161e-01 6.8896503378985918e-01 + 12 3.4231534762621078e-02 -2.4857235824638585e-01 -6.3964642589377518e-01 + 13 -2.7815178906130594e-01 1.0946454990993748e-01 5.1669158882660616e-03 + 14 2.2738751895410908e-01 -4.5437525741145839e-02 5.8956676893113813e-01 + 15 -4.6207378210972273e-03 1.6438094307388113e-01 5.8917445017986604e-02 + 16 -1.1399994473799732e-02 1.1329499720204761e-01 -5.0720152745025260e-01 + 17 -1.1549300733203431e-01 8.0692771502484495e-02 3.0655385964298520e-01 + 18 1.9145703373728828e+00 1.8373130373081787e+00 -3.9519344330792983e-01 + 19 -4.7317441908503255e-01 -3.0353033418925196e-01 -5.7175303978447201e-01 + 20 -1.4413959182878502e+00 -1.5337827031189268e+00 9.6694648309240183e-01 + 21 -3.3244533656237202e-01 -3.0309080808086836e-01 6.5775553694406208e-01 + 22 -2.9549353211149859e-01 -7.2150425050573716e-02 -4.6194669575592789e-01 + 23 6.2793886867387061e-01 3.7524123313144209e-01 -1.9580884118813421e-01 + 24 8.2698432709098157e-01 -1.4448474780063469e+00 1.2133188519739595e+00 + 25 -1.5417378702379472e+00 2.4470962384652978e-01 -1.2964818258023694e+00 + 26 7.1475354314696560e-01 1.2001378541598171e+00 8.3162973828409884e-02 + 27 2.1885007758012770e-01 -5.7423924185981945e-01 2.7745249319135684e-01 + 28 -5.2036258696458004e-01 2.2330647386191435e-01 -3.5136945845348061e-01 + 29 3.0151250938445234e-01 3.5093276799790507e-01 7.3916965262123782e-02 +... From 4220944ace092cb3cf02236745a84ce2e776bf8f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 8 Mar 2023 00:25:08 -0500 Subject: [PATCH 277/448] cosmetic --- unittest/force-styles/test_angle_style.cpp | 4 ++-- unittest/force-styles/tests/bond-harmonic_restrain.yaml | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/unittest/force-styles/test_angle_style.cpp b/unittest/force-styles/test_angle_style.cpp index d9f541df96..e9f4a3f7fc 100644 --- a/unittest/force-styles/test_angle_style.cpp +++ b/unittest/force-styles/test_angle_style.cpp @@ -691,8 +691,8 @@ TEST(AngleStyle, extract) } auto angle = lmp->force->angle; - void *ptr = nullptr; - int dim = 0; + void *ptr = nullptr; + int dim = 0; for (auto extract : test_config.extract) { ptr = angle->extract(extract.first.c_str(), dim); EXPECT_NE(ptr, nullptr); diff --git a/unittest/force-styles/tests/bond-harmonic_restrain.yaml b/unittest/force-styles/tests/bond-harmonic_restrain.yaml index 1fd04b818e..07546775ab 100644 --- a/unittest/force-styles/tests/bond-harmonic_restrain.yaml +++ b/unittest/force-styles/tests/bond-harmonic_restrain.yaml @@ -1,6 +1,5 @@ --- lammps_version: 8 Feb 2023 -tags: generated date_generated: Tue Mar 7 21:07:27 2023 epsilon: 2.5e-13 skip_tests: extract From 451f3f71b81867ca841d7e27765bc0cd64992f48 Mon Sep 17 00:00:00 2001 From: alanhsieh4444 <110726422+alanhsieh4444@users.noreply.github.com> Date: Wed, 8 Mar 2023 13:37:46 +0800 Subject: [PATCH 278/448] Update molecule.rst --- doc/src/molecule.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/doc/src/molecule.rst b/doc/src/molecule.rst index 5dcd30f508..c3c578f5ec 100644 --- a/doc/src/molecule.rst +++ b/doc/src/molecule.rst @@ -121,6 +121,11 @@ molecule (header keyword = inertia). ensure space is allocated for storing topology info for molecules that are added later. +---------- + +Format of a molecule file +""""""""""""""""""""" + The format of an individual molecule file is similar but (not identical) to the data file read by the :doc:`read_data ` commands, and is as follows. From c96ac858bfef6f92554c0b906617919a6c05641e Mon Sep 17 00:00:00 2001 From: "W. Michael Brown" Date: Tue, 7 Mar 2023 21:43:19 -0800 Subject: [PATCH 279/448] GPU Package: Adding JIT test for OpenCL prefetch support. --- lib/gpu/geryon/ocl_kernel.h | 5 ++++- lib/gpu/lal_device.cpp | 42 +++++++++++++++++++++++++++++++++++++ lib/gpu/lal_device.h | 1 + 3 files changed, 47 insertions(+), 1 deletion(-) diff --git a/lib/gpu/geryon/ocl_kernel.h b/lib/gpu/geryon/ocl_kernel.h index 14a319f391..7b7fca9dfc 100644 --- a/lib/gpu/geryon/ocl_kernel.h +++ b/lib/gpu/geryon/ocl_kernel.h @@ -95,7 +95,8 @@ class UCL_Program { /// Load a program from a string and compile with flags inline int load_string(const void *program, const char *flags="", - std::string *log=nullptr, FILE* foutput=nullptr) { + std::string *log=nullptr, FILE* foutput=nullptr, + const int compile_test=0) { cl_int error_flag; const char *prog=(const char *)program; _program=clCreateProgramWithSource(_context,1,&prog,nullptr,&error_flag); @@ -131,6 +132,8 @@ class UCL_Program { } #endif + if (build_status != CL_SUCCESS && compile_test) return UCL_COMPILE_ERROR; + if (build_status != CL_SUCCESS || log!=NULL) { size_t ms; CL_SAFE_CALL(clGetProgramBuildInfo(_program,_device,CL_PROGRAM_BUILD_LOG, diff --git a/lib/gpu/lal_device.cpp b/lib/gpu/lal_device.cpp index af53572590..cbf3f5f885 100644 --- a/lib/gpu/lal_device.cpp +++ b/lib/gpu/lal_device.cpp @@ -26,6 +26,22 @@ #if defined(USE_OPENCL) #include "device_cl.h" +const char *ocl_prefetch_test = +" #if (NBOR_PREFETCH == 1) \n"\ +" inline void ucl_prefetch(const __global int *p) { prefetch(p, 1); } \n"\ +" #else \n"\ +" enum LSC_LDCC {LSC_LDCC_DEFAULT, LSC_LDCC_L1UC_L3UC, LSC_LDCC_L1UC_L3C, \n"\ +" LSC_LDCC_L1C_L3UC, LSC_LDCC_L1C_L3C, LSC_LDCC_L1S_L3UC, \n"\ +" LSC_LDCC_L1S_L3C, LSC_LDCC_L1IAR_L3C, }; \n"\ +" void __builtin_IB_lsc_prefetch_global_uint(const __global uint *, int, \n"\ +" enum LSC_LDCC); \n"\ +" inline void ucl_prefetch(const __global int *p) { \n"\ +" __builtin_IB_lsc_prefetch_global_uint((const __global uint *)p, 0, \n"\ +" LSC_LDCC_L1C_L3UC); \n"\ +" } \n"\ +" #endif \n"\ +" __kernel void ptest(__global int *i) { ucl_prefetch(i); i[0]++; } \n"; + #ifdef LAL_OCL_EXTRA_ARGS #define LAL_DM_STRINGIFY(x) #x #define LAL_PRE_STRINGIFY(x) LAL_DM_STRINGIFY(x) @@ -396,9 +412,31 @@ int DeviceT::set_ocl_params(std::string s_config, const std::string &extra_args) params[4]="0"; #endif } + + // Test OCL JIT to make sure any prefetch options are supported #ifdef LAL_DISABLE_PREFETCH params[18]="0"; #endif + _nbor_prefetch=-1; + if (params[18]=="2") { + _nbor_prefetch=2; + UCL_Program ptest(*gpu); + std::string ptest_args=_ocl_compile_string+" -DNBOR_PREFETCH="+params[18]; + int success=ptest.load_string(ocl_prefetch_test,ptest_args.c_str(), + nullptr,nullptr,1); + if (success!=UCL_SUCCESS) params[18]="1"; + } + if (params[18]=="1") { + _nbor_prefetch=1; + UCL_Program ptest(*gpu); + std::string ptest_args=_ocl_compile_string+" -DNBOR_PREFETCH="+params[18]; + int success=ptest.load_string(ocl_prefetch_test,ptest_args.c_str(), + nullptr,nullptr,1); + if (success!=UCL_SUCCESS) params[18]="0"; + } + if (_nbor_prefetch<0) params[18]="0"; + if (params[18]=="0") _nbor_prefetch=0; + if (params[4]!="0") _ocl_compile_string+="-cl-fast-relaxed-math "; _ocl_compile_string+=std::string(OCL_INT_TYPE)+" "+ std::string(OCL_PRECISION_COMPILE); @@ -844,6 +882,10 @@ void DeviceT::output_times(UCL_Timer &time_pair, Answer &ans, fprintf(screen,"Average split: %.4f.\n",avg_split); fprintf(screen,"Lanes / atom: %d.\n",threads_per_atom); fprintf(screen,"Vector width: %d.\n", simd_size()); + fprintf(screen,"Prefetch mode: "); + if (_nbor_prefetch==2) fprintf(screen,"Intrinsics.\n"); + else if (_nbor_prefetch==1) fprintf(screen,"API.\n"); + else fprintf(screen,"None.\n"); fprintf(screen,"Max Mem / Proc: %.2f MB.\n",max_mb); if (nbor.gpu_nbor()==2) fprintf(screen,"CPU Neighbor: %.4f s.\n",times[8]/_replica_size); diff --git a/lib/gpu/lal_device.h b/lib/gpu/lal_device.h index 3b27223007..ba693e551a 100644 --- a/lib/gpu/lal_device.h +++ b/lib/gpu/lal_device.h @@ -346,6 +346,7 @@ class Device { int _block_pair, _block_bio_pair, _block_ellipse; int _pppm_block, _block_nbor_build, _block_cell_2d, _block_cell_id; int _max_shared_types, _max_bio_shared_types, _pppm_max_spline; + int _nbor_prefetch; UCL_Program *dev_program; UCL_Kernel k_zero, k_info; From c3c99b701cb7b1087af2ff90fb528eaf1a85c036 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 8 Mar 2023 07:21:21 -0500 Subject: [PATCH 280/448] correct underline --- doc/src/molecule.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/molecule.rst b/doc/src/molecule.rst index c3c578f5ec..b42bece327 100644 --- a/doc/src/molecule.rst +++ b/doc/src/molecule.rst @@ -124,7 +124,7 @@ molecule (header keyword = inertia). ---------- Format of a molecule file -""""""""""""""""""""" +""""""""""""""""""""""""" The format of an individual molecule file is similar but (not identical) to the data file read by the :doc:`read_data ` From 189be4625e63c99b82160e8a28620d2a4701d29c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 8 Mar 2023 18:25:58 -0500 Subject: [PATCH 281/448] improve/correct error messages for fix efield --- src/fix_efield.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/fix_efield.cpp b/src/fix_efield.cpp index e1d70e832f..3514ad1c34 100644 --- a/src/fix_efield.cpp +++ b/src/fix_efield.cpp @@ -42,7 +42,7 @@ FixEfield::FixEfield(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), xstr(nullptr), ystr(nullptr), zstr(nullptr), estr(nullptr), idregion(nullptr), region(nullptr), efield(nullptr) { - if (narg < 6) error->all(FLERR, "Illegal fix efield command"); + if (narg < 6) utils::missing_cmd_args(FLERR, "fix efield", error); dynamic_group_allow = 1; vector_flag = 1; @@ -85,20 +85,20 @@ FixEfield::FixEfield(LAMMPS *lmp, int narg, char **arg) : int iarg = 6; while (iarg < narg) { if (strcmp(arg[iarg], "region") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal fix efield command"); + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix efield region", error); region = domain->get_region_by_id(arg[iarg + 1]); if (!region) error->all(FLERR, "Region {} for fix efield does not exist", arg[iarg + 1]); idregion = utils::strdup(arg[iarg + 1]); iarg += 2; } else if (strcmp(arg[iarg], "energy") == 0) { - if (iarg + 2 > narg) error->all(FLERR, "Illegal fix efield command"); + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix efield energy", error); if (utils::strmatch(arg[iarg + 1], "^v_")) { estr = utils::strdup(arg[iarg + 1] + 2); } else - error->all(FLERR, "Illegal fix efield command"); + error->all(FLERR, "Illegal fix efield energy value argument"); iarg += 2; } else - error->all(FLERR, "Illegal fix efield command"); + error->all(FLERR, "Unknown fix efield keyword: {}", arg[iarg]); } force_flag = 0; @@ -188,7 +188,7 @@ void FixEfield::init() if (idregion) { region = domain->get_region_by_id(idregion); - if (!region) error->all(FLERR, "Region {} for fix aveforce does not exist", idregion); + if (!region) error->all(FLERR, "Region {} for fix efield does not exist", idregion); } if (xstyle == ATOM || ystyle == ATOM || zstyle == ATOM) From 4b434c9a03fad0f7b5ac7112796cfe43694f4c0b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 8 Mar 2023 18:40:29 -0500 Subject: [PATCH 282/448] remove ifdefs --- src/neighbor.cpp | 20 +++++++------------- src/neighbor.h | 7 +++---- 2 files changed, 10 insertions(+), 17 deletions(-) diff --git a/src/neighbor.cpp b/src/neighbor.cpp index 90e0a81fd0..3228f29fd9 100644 --- a/src/neighbor.cpp +++ b/src/neighbor.cpp @@ -216,6 +216,10 @@ pairclass(nullptr), pairnames(nullptr), pairmasks(nullptr) // Kokkos setting copymode = 0; + + // GPU setting + + overlap_topo = 0; } /* ---------------------------------------------------------------------- */ @@ -291,12 +295,9 @@ Neighbor::~Neighbor() void Neighbor::init() { - #ifdef LMP_GPU - overlap_topo = 0; - #endif - int i,j,n; + overlap_topo = 0; ncalls = ndanger = 0; dimension = domain->dimension; triclinic = domain->triclinic; @@ -2437,14 +2438,9 @@ void Neighbor::build(int topoflag) } // build topology lists for bonds/angles/etc + // skip if GPU package styles will call it explicitly to overlap with GPU computation. - #ifdef LMP_GPU - if (overlap_topo == 0) { - if ((atom->molecular != Atom::ATOMIC) && topoflag) build_topology(); - } - #else - if ((atom->molecular != Atom::ATOMIC) && topoflag) build_topology(); - #endif + if ((atom->molecular != Atom::ATOMIC) && topoflag && !overlap_topo) build_topology(); } /* ---------------------------------------------------------------------- @@ -2831,12 +2827,10 @@ int Neighbor::exclude_setting() If nonzero, call build_topology from GPU styles instead to overlap comp ------------------------------------------------------------------------- */ -#ifdef LMP_GPU void Neighbor::set_overlap_topo(int s) { overlap_topo = s; } -#endif /* ---------------------------------------------------------------------- check if any of the old requested neighbor lists are full diff --git a/src/neighbor.h b/src/neighbor.h index dd638880c7..9c51361aa8 100644 --- a/src/neighbor.h +++ b/src/neighbor.h @@ -155,11 +155,10 @@ class Neighbor : protected Pointers { void exclusion_group_group_delete(int, int); // rm a group-group exclusion int exclude_setting(); // return exclude value to accelerator pkg - // Option to call build_topology from gpu styles instead for overlapped comp - #ifdef LMP_GPU + // Option to call build_topology (e.g. from gpu styles instead for overlapped computation) + + int overlap_topo; // 0 for default/old non-overlap mode void set_overlap_topo(int); - int overlap_topo; // 0 for default/old non-overlap mode - #endif // find a neighbor list based on requestor NeighList *find_list(void *, const int id = 0) const; From 0088607bc71dc140374c77282b15d4d97d730f4c Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Thu, 9 Mar 2023 08:31:44 +0200 Subject: [PATCH 283/448] Include method declaration in pair_nm_cut_coul_cut.h --- src/EXTRA-PAIR/pair_nm_cut_coul_cut.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/EXTRA-PAIR/pair_nm_cut_coul_cut.h b/src/EXTRA-PAIR/pair_nm_cut_coul_cut.h index ff51920c63..f2254f7fd3 100644 --- a/src/EXTRA-PAIR/pair_nm_cut_coul_cut.h +++ b/src/EXTRA-PAIR/pair_nm_cut_coul_cut.h @@ -41,6 +41,7 @@ class PairNMCutCoulCut : public Pair { void write_data(FILE *) override; void write_data_all(FILE *) override; double single(int, int, int, int, double, double, double, double &) override; + void born_matrix(int, int, int, int, double, double, double, double &, double &) override; void *extract(const char *, int &) override; protected: From 7da2f62bf6b3285bd0acfe04999b1bcf0fdc11f2 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Thu, 9 Mar 2023 08:33:57 +0200 Subject: [PATCH 284/448] Implement born_matrix in pair_nm_cut_coul_cut.cpp --- src/EXTRA-PAIR/pair_nm_cut_coul_cut.cpp | 33 +++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/src/EXTRA-PAIR/pair_nm_cut_coul_cut.cpp b/src/EXTRA-PAIR/pair_nm_cut_coul_cut.cpp index adc6d5a058..531f0e615f 100644 --- a/src/EXTRA-PAIR/pair_nm_cut_coul_cut.cpp +++ b/src/EXTRA-PAIR/pair_nm_cut_coul_cut.cpp @@ -37,6 +37,7 @@ using namespace MathConst; PairNMCutCoulCut::PairNMCutCoulCut(LAMMPS *lmp) : Pair(lmp) { + born_matrix_enable = 1; writedata = 1; } @@ -481,6 +482,38 @@ double PairNMCutCoulCut::single(int i, int j, int itype, int jtype, /* ---------------------------------------------------------------------- */ +void PairNMCutCoulCut::born_matrix(int i, int j, int itype, int jtype, double rsq, + double factor_coul, double factor_lj, double &dupair, + double &du2pair) +{ + double r, rinv, r2inv, r3inv; + double du_lj, du2_lj, du_coul, du2_coul; + + double *q = atom->q; + double qqrd2e = force->qqrd2e; + + r2inv = 1.0 / rsq; + rinv = sqrt(r2inv); + r3inv = r2inv * rinv; + r = sqrt(rsq); + + double prefactor = e0nm[itype][jtype]*nm[itype][jtype]; + + du_lj = prefactor * + (r0m[itype][jtype]/pow(r,mm[itype][jtype]) - r0n[itype][jtype]/pow(r,nn[itype][jtype])) / r; + du2_lj = prefactor * + (r0n[itype][jtype]*(nn[itype][jtype] + 1.0) / pow(r,nn[itype][jtype]) - + r0m[itype][jtype]*(mm[itype][jtype] + 1.0) / pow(r,mm[itype][jtype])) / rsq; + + du_coul = -qqrd2e * q[i] * q[j] * r2inv; + du2_coul = 2.0 * qqrd2e * q[i] * q[j] * r3inv; + + dupair = factor_lj * du_lj + factor_coul * du_coul; + du2pair = factor_lj * du2_lj + factor_coul * du2_coul; +} + +/* ---------------------------------------------------------------------- */ + void *PairNMCutCoulCut::extract(const char *str, int &dim) { dim = 2; From 544a4e3d7f2582b4a44020657bbfb686d06db71b Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Thu, 9 Mar 2023 10:03:57 +0200 Subject: [PATCH 285/448] Include method declaration in pair_lj_cut_coul_cut.h --- src/pair_lj_cut_coul_cut.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pair_lj_cut_coul_cut.h b/src/pair_lj_cut_coul_cut.h index b4e1bfb5c9..fdf54d9340 100644 --- a/src/pair_lj_cut_coul_cut.h +++ b/src/pair_lj_cut_coul_cut.h @@ -40,6 +40,7 @@ class PairLJCutCoulCut : public Pair { void write_data(FILE *) override; void write_data_all(FILE *) override; double single(int, int, int, int, double, double, double, double &) override; + void born_matrix(int, int, int, int, double, double, double, double &, double &) override; void *extract(const char *, int &) override; protected: From d5f6c7e0be742ad19d34cf4e0e8754d029e5197c Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Thu, 9 Mar 2023 10:06:04 +0200 Subject: [PATCH 286/448] Implement born_matrix in pair_lj_cut_coul_cut.cpp --- src/pair_lj_cut_coul_cut.cpp | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/pair_lj_cut_coul_cut.cpp b/src/pair_lj_cut_coul_cut.cpp index bc5f5ed93e..5438e82377 100644 --- a/src/pair_lj_cut_coul_cut.cpp +++ b/src/pair_lj_cut_coul_cut.cpp @@ -32,6 +32,7 @@ using namespace MathConst; PairLJCutCoulCut::PairLJCutCoulCut(LAMMPS *lmp) : Pair(lmp) { + born_matrix_enable = 1; writedata = 1; } @@ -460,6 +461,35 @@ double PairLJCutCoulCut::single(int i, int j, int itype, int jtype, double rsq, /* ---------------------------------------------------------------------- */ +void PairLJCutCoulCut::born_matrix(int i, int j, int itype, int jtype, double rsq, + double factor_coul, double factor_lj, double &dupair, + double &du2pair) +{ + double rinv, r2inv, r3inv, r6inv, du, du2; + double du_lj, du2_lj, du_coul, du2_coul; + + double *q = atom->q; + double qqrd2e = force->qqrd2e; + + r2inv = 1.0 / rsq; + rinv = sqrt(r2inv); + r3inv = r2inv * rinv; + r6inv = r2inv * r2inv * r2inv; + + // Reminder: lj1 = 48*e*s^12, lj2 = 24*e*s^6 + + du_lj = r6inv * rinv * (lj2[itype][jtype] - lj1[itype][jtype] * r6inv); + du2_lj = r6inv * r2inv * (13 * lj1[itype][jtype] * r6inv - 7 * lj2[itype][jtype]); + + du_coul = -qqrd2e * q[i] * q[j] * r2inv; + du2_coul = 2.0 * qqrd2e * q[i] * q[j] * r3inv; + + dupair = factor_lj * du_lj + factor_coul * du_coul; + du2pair = factor_lj * du2_lj + factor_coul * du2_coul; +} + +/* ---------------------------------------------------------------------- */ + void *PairLJCutCoulCut::extract(const char *str, int &dim) { dim = 2; From b6756c03194fbe26781f46bedc448a5d618825ca Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 9 Mar 2023 13:00:59 -0500 Subject: [PATCH 287/448] update docs about using data files --- doc/src/bond_harmonic_restrain.rst | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/doc/src/bond_harmonic_restrain.rst b/doc/src/bond_harmonic_restrain.rst index d4c34ae622..c48e68917c 100644 --- a/doc/src/bond_harmonic_restrain.rst +++ b/doc/src/bond_harmonic_restrain.rst @@ -65,13 +65,18 @@ This bond style can only be used if LAMMPS was built with the EXTRA-MOLECULE package. See the :doc:`Build package ` page for more info. -This bond style does NOT write its coefficients to a data file since the -:math:`r_{t=0}` values are for individual bonds and not bond types. - -Since it uses :doc:`fix property/atom ` internally, -you should use the "nofix" argument to the :doc:`write_data command -` to avoid writing a section to the data file that cannot be -read back by the bond style. +This bond style uses :doc:`fix property/atom ` +internally to be able to determine the original bond lengths. This fix +will write its state to :doc:`data files `, but it is +currently not possible to read that stored data back with +:doc:`read_data ` for such an internally defined fix. You +are thus advised to use the "nofix" argument to the :doc:`write_data +command ` in order to avoid writing that section to the data +file that would cause an error when reading the data file. When +continuing from such a "nofix" data file, the reference bond lengths +will not be the original lengths but those of the current geometry. +Thus restarting is currently *only* possible with :doc:`binary restart +files `. This bond style cannot be used with :doc:`fix shake or fix rattle `, with :doc:`fix filter/corotate `, or From 53056f47edf5c0be533af5f771b8212d074edb82 Mon Sep 17 00:00:00 2001 From: jrgissing Date: Thu, 9 Mar 2023 22:04:08 -0500 Subject: [PATCH 288/448] encode improper symmetries --- src/AMOEBA/improper_amoeba.cpp | 4 ++++ src/CLASS2/improper_class2.cpp | 4 ++++ src/EXTRA-MOLECULE/improper_cossq.cpp | 7 ++++++- src/EXTRA-MOLECULE/improper_distance.cpp | 7 ++++++- src/EXTRA-MOLECULE/improper_fourier.cpp | 8 +++++++- src/EXTRA-MOLECULE/improper_ring.cpp | 7 ++++++- src/MOFFF/improper_inversion_harmonic.cpp | 4 ++++ src/MOLECULE/improper_cvff.cpp | 4 ++++ src/MOLECULE/improper_harmonic.cpp | 4 ++++ src/MOLECULE/improper_umbrella.cpp | 5 +++++ src/YAFF/improper_distharm.cpp | 5 +++++ src/YAFF/improper_sqdistharm.cpp | 7 ++++++- src/improper.cpp | 1 + src/improper.h | 1 + 14 files changed, 63 insertions(+), 5 deletions(-) diff --git a/src/AMOEBA/improper_amoeba.cpp b/src/AMOEBA/improper_amoeba.cpp index cb9db01b59..32c31b0af9 100644 --- a/src/AMOEBA/improper_amoeba.cpp +++ b/src/AMOEBA/improper_amoeba.cpp @@ -36,6 +36,10 @@ using namespace MathConst; ImproperAmoeba::ImproperAmoeba(LAMMPS *lmp) : Improper(lmp) { writedata = 1; + + // the second atom in the quadruplet is the atom of symmetry + + symmatoms[1] = 1; } /* ---------------------------------------------------------------------- */ diff --git a/src/CLASS2/improper_class2.cpp b/src/CLASS2/improper_class2.cpp index 6e6541919a..1e172757b0 100644 --- a/src/CLASS2/improper_class2.cpp +++ b/src/CLASS2/improper_class2.cpp @@ -39,6 +39,10 @@ using namespace MathConst; ImproperClass2::ImproperClass2(LAMMPS *lmp) : Improper(lmp) { writedata = 1; + + // the second atom in the quadruplet is the atom of symmetry + + symmatoms[1] = 1; } /* ---------------------------------------------------------------------- */ diff --git a/src/EXTRA-MOLECULE/improper_cossq.cpp b/src/EXTRA-MOLECULE/improper_cossq.cpp index d08c2afebe..bd21fa12e7 100644 --- a/src/EXTRA-MOLECULE/improper_cossq.cpp +++ b/src/EXTRA-MOLECULE/improper_cossq.cpp @@ -37,7 +37,12 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ -ImproperCossq::ImproperCossq(LAMMPS *lmp) : Improper(lmp) {} +ImproperCossq::ImproperCossq(LAMMPS *lmp) : Improper(lmp) +{ + // the first atom in the quadruplet is the atom of symmetry + + symmatoms[0] = 1; +} /* ---------------------------------------------------------------------- */ diff --git a/src/EXTRA-MOLECULE/improper_distance.cpp b/src/EXTRA-MOLECULE/improper_distance.cpp index b16e2cc674..18f6dd9a3f 100644 --- a/src/EXTRA-MOLECULE/improper_distance.cpp +++ b/src/EXTRA-MOLECULE/improper_distance.cpp @@ -35,7 +35,12 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -ImproperDistance::ImproperDistance(LAMMPS *lmp) : Improper(lmp) {} +ImproperDistance::ImproperDistance(LAMMPS *lmp) : Improper(lmp) +{ + // the first atom in the quadruplet is the atom of symmetry + + symmatoms[0] = 1; +} /* ---------------------------------------------------------------------- */ diff --git a/src/EXTRA-MOLECULE/improper_fourier.cpp b/src/EXTRA-MOLECULE/improper_fourier.cpp index 58f8677fd6..3eef060204 100644 --- a/src/EXTRA-MOLECULE/improper_fourier.cpp +++ b/src/EXTRA-MOLECULE/improper_fourier.cpp @@ -35,7 +35,13 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -ImproperFourier::ImproperFourier(LAMMPS *lmp) : Improper(lmp) {} +ImproperFourier::ImproperFourier(LAMMPS *lmp) : Improper(lmp) +{ + // the first and fourth atoms in the quadruplet are the atoms of symmetry + + symmatoms[0] = 1; + symmatoms[3] = 1; +} /* ---------------------------------------------------------------------- */ diff --git a/src/EXTRA-MOLECULE/improper_ring.cpp b/src/EXTRA-MOLECULE/improper_ring.cpp index ce3f16a696..36d6277e46 100644 --- a/src/EXTRA-MOLECULE/improper_ring.cpp +++ b/src/EXTRA-MOLECULE/improper_ring.cpp @@ -59,7 +59,12 @@ using namespace MathSpecial; /* ---------------------------------------------------------------------- */ -ImproperRing::ImproperRing(LAMMPS *lmp) : Improper(lmp) {} +ImproperRing::ImproperRing(LAMMPS *lmp) : Improper(lmp) +{ + // the second atom in the quadruplet is the atom of symmetry + + symmatoms[1] = 1; +} /* ---------------------------------------------------------------------- */ diff --git a/src/MOFFF/improper_inversion_harmonic.cpp b/src/MOFFF/improper_inversion_harmonic.cpp index 50ec3b0737..817b35332a 100644 --- a/src/MOFFF/improper_inversion_harmonic.cpp +++ b/src/MOFFF/improper_inversion_harmonic.cpp @@ -43,6 +43,10 @@ using namespace MathConst; ImproperInversionHarmonic::ImproperInversionHarmonic(LAMMPS *lmp) : Improper(lmp) { writedata = 1; + + // the first atom in the quadruplet is the atom of symmetry + + symmatoms[0] = 1; } /* ---------------------------------------------------------------------- */ diff --git a/src/MOLECULE/improper_cvff.cpp b/src/MOLECULE/improper_cvff.cpp index afe3bd9d73..ad8f709541 100644 --- a/src/MOLECULE/improper_cvff.cpp +++ b/src/MOLECULE/improper_cvff.cpp @@ -32,6 +32,10 @@ static constexpr double SMALL = 0.001; ImproperCvff::ImproperCvff(LAMMPS *_lmp) : Improper(_lmp) { writedata = 1; + + // the first atom in the quadruplet is the atom of symmetry + + symmatoms[0] = 1; } /* ---------------------------------------------------------------------- */ diff --git a/src/MOLECULE/improper_harmonic.cpp b/src/MOLECULE/improper_harmonic.cpp index d2cd505e68..06647fb93b 100644 --- a/src/MOLECULE/improper_harmonic.cpp +++ b/src/MOLECULE/improper_harmonic.cpp @@ -35,6 +35,10 @@ static constexpr double SMALL = 0.001; ImproperHarmonic::ImproperHarmonic(LAMMPS *_lmp) : Improper(_lmp) { writedata = 1; + + // the first atom in the quadruplet is the atom of symmetry + + symmatoms[0] = 1; } /* ---------------------------------------------------------------------- */ diff --git a/src/MOLECULE/improper_umbrella.cpp b/src/MOLECULE/improper_umbrella.cpp index fdf9870083..52bc692670 100644 --- a/src/MOLECULE/improper_umbrella.cpp +++ b/src/MOLECULE/improper_umbrella.cpp @@ -39,6 +39,11 @@ static constexpr double SMALL = 0.001; ImproperUmbrella::ImproperUmbrella(LAMMPS *_lmp) : Improper(_lmp) { writedata = 1; + + // the first and fourth atoms in the quadruplet are the atoms of symmetry + + symmatoms[0] = 1; + symmatoms[3] = 1; } /* ---------------------------------------------------------------------- */ diff --git a/src/YAFF/improper_distharm.cpp b/src/YAFF/improper_distharm.cpp index 3e67b6a436..92327bb996 100644 --- a/src/YAFF/improper_distharm.cpp +++ b/src/YAFF/improper_distharm.cpp @@ -37,6 +37,11 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ ImproperDistHarm::ImproperDistHarm(LAMMPS *lmp) : Improper(lmp) {} +{ + // the fourth atom in the quadruplet is the atom of symmetry + + symmatoms[3] = 1; +} /* ---------------------------------------------------------------------- */ diff --git a/src/YAFF/improper_sqdistharm.cpp b/src/YAFF/improper_sqdistharm.cpp index 1b366c058f..1cd8515d9a 100644 --- a/src/YAFF/improper_sqdistharm.cpp +++ b/src/YAFF/improper_sqdistharm.cpp @@ -36,7 +36,12 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -ImproperSQDistHarm::ImproperSQDistHarm(LAMMPS *lmp) : Improper(lmp) {} +ImproperSQDistHarm::ImproperSQDistHarm(LAMMPS *lmp) : Improper(lmp) +{ + // the fourth atom in the quadruplet is the atom of symmetry + + symmatoms[3] = 1; +} /* ---------------------------------------------------------------------- */ diff --git a/src/improper.cpp b/src/improper.cpp index b135dfbac8..dd4b1b2b25 100644 --- a/src/improper.cpp +++ b/src/improper.cpp @@ -30,6 +30,7 @@ Improper::Improper(LAMMPS *_lmp) : Pointers(_lmp) { energy = 0.0; writedata = 0; + for (int i = 0; i < 4; i++) symmatoms[i] = 0; allocated = 0; suffix_flag = Suffix::NONE; diff --git a/src/improper.h b/src/improper.h index 59302485e2..dfdfabae21 100644 --- a/src/improper.h +++ b/src/improper.h @@ -27,6 +27,7 @@ class Improper : protected Pointers { int *setflag; int writedata; // 1 if writes coeffs to data file int born_matrix_enable; + int symmatoms[4]; // symmetry atom(s) of improper style double energy; // accumulated energies double virial[6]; // accumulated virial: xx,yy,zz,xy,xz,yz double *eatom, **vatom; // accumulated per-atom energy/virial From 882df6ad237736df80d4da9759c7056ecc667bab Mon Sep 17 00:00:00 2001 From: jrgissing Date: Thu, 9 Mar 2023 22:08:03 -0500 Subject: [PATCH 289/448] typo --- src/YAFF/improper_distharm.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/YAFF/improper_distharm.cpp b/src/YAFF/improper_distharm.cpp index 92327bb996..27516fa416 100644 --- a/src/YAFF/improper_distharm.cpp +++ b/src/YAFF/improper_distharm.cpp @@ -36,7 +36,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -ImproperDistHarm::ImproperDistHarm(LAMMPS *lmp) : Improper(lmp) {} +ImproperDistHarm::ImproperDistHarm(LAMMPS *lmp) : Improper(lmp) { // the fourth atom in the quadruplet is the atom of symmetry From e8871d990ac87f3bb8d59763286268af40d2c42e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 10 Mar 2023 09:16:00 -0500 Subject: [PATCH 290/448] clarify --- doc/src/fix_shake.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/fix_shake.rst b/doc/src/fix_shake.rst index 4688fcbf2a..2483b9431a 100644 --- a/doc/src/fix_shake.rst +++ b/doc/src/fix_shake.rst @@ -63,7 +63,7 @@ however, can *only* be applied during molecular dynamics runs. .. versionchanged:: 15Sep2022 -These fixes may still be used during minimization. In that case the +These fixes may now also be used during minimization. In that case the constraints are *approximated* by strong harmonic restraints. **SHAKE vs RATTLE:** From 233c55337c0a2a6f959bf3ae2665566d84a461e1 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 10 Mar 2023 12:35:17 -0500 Subject: [PATCH 291/448] fix typo --- doc/src/Howto_tip4p.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/Howto_tip4p.rst b/doc/src/Howto_tip4p.rst index 7912557e61..0a263499cc 100644 --- a/doc/src/Howto_tip4p.rst +++ b/doc/src/Howto_tip4p.rst @@ -239,7 +239,7 @@ rigid/nvt/small can identify rigid bodies by their molecule ID: 1 0.00000 -0.06556 0.00000 2 0.75695 0.52032 0.00000 - 2 -0.75695 0.52032 0.00000 + 3 -0.75695 0.52032 0.00000 4 0.00000 0.08444 0.00000 Types From 2dad2586f149b1b2972bc8991f8adc5a1a501a75 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 10 Mar 2023 20:16:39 -0500 Subject: [PATCH 292/448] update help message --- tools/msi2lmp/src/msi2lmp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/msi2lmp/src/msi2lmp.c b/tools/msi2lmp/src/msi2lmp.c index 3136678023..0d9623e322 100644 --- a/tools/msi2lmp/src/msi2lmp.c +++ b/tools/msi2lmp/src/msi2lmp.c @@ -239,7 +239,7 @@ int main (int argc, char *argv[]) frc_dir_name = getenv("MSI2LMP_LIBRARY"); if (argc < 2) { - printf("usage: %s [-class ] [-frc ] [-print #] [-ignore] [-nocenter] [-oldstyle]\n",argv[0]); + printf("usage: %s [-class ] [-frc ] [-print #] [-ignore] [-nocenter] [-oldstyle]\n",argv[0]); return 1; } else { /* rootname was supplied as first argument, copy to rootname */ int len = strlen(argv[1]) + 1; From 80233f353f7966bf6eda1c4c8c335a024abf0651 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 10 Mar 2023 20:56:55 -0500 Subject: [PATCH 293/448] port UTF-8 to ASCII substitution to msi2lmp and apply to reading .frc files --- tools/msi2lmp/src/SearchAndFill.c | 11 +++- tools/msi2lmp/src/msi2lmp.c | 98 +++++++++++++++++++++++++++++++ tools/msi2lmp/src/msi2lmp.h | 3 + 3 files changed, 110 insertions(+), 2 deletions(-) diff --git a/tools/msi2lmp/src/SearchAndFill.c b/tools/msi2lmp/src/SearchAndFill.c index ff05ff13d0..f195e739c9 100644 --- a/tools/msi2lmp/src/SearchAndFill.c +++ b/tools/msi2lmp/src/SearchAndFill.c @@ -48,6 +48,7 @@ const char *SearchAndCheck(const char *keyword) fprintf(stderr," Exiting....\n"); exit(1); } + if (has_utf8(line)) utf8_subst(line); if (line[0] == '@') { if (string_match(strtok(line+1," '\t\n\r\f("),keyword)) { got_it = 1; @@ -82,6 +83,7 @@ void SearchAndFill(struct FrcFieldItem *item) fprintf(stderr," Exiting....\n"); exit(1); } + if (has_utf8(line)) utf8_subst(line); if (line[0] == '#') { if (string_match(strtok(line," '\t\r\n("),item->keyword)) got_it = 1; } @@ -116,13 +118,16 @@ void SearchAndFill(struct FrcFieldItem *item) ctr = 0; while ( strncmp(line,"!---", 4) != 0 ) { fgets(line, MAX_LINE_LENGTH, FrcF); + if (has_utf8(line)) utf8_subst(line); } /* Get first line of data that isn't commented out */ fgets(line, MAX_LINE_LENGTH, FrcF); + if (has_utf8(line)) utf8_subst(line); while (strncmp(line,"!",1) == 0) { fgets( line, MAX_LINE_LENGTH, FrcF); + if (has_utf8(line)) utf8_subst(line); } /* Read data into structure */ @@ -225,11 +230,13 @@ void SearchAndFill(struct FrcFieldItem *item) ctr++; } fgets( line, MAX_LINE_LENGTH, FrcF); + if (has_utf8(line)) utf8_subst(line); + /*if blank line encountered, get next */ - while((blank_line(line)) || - (strncmp(line,"!",1) == 0)) { + while((blank_line(line)) || (strncmp(line,"!",1) == 0)) { status = fgets( line, MAX_LINE_LENGTH, FrcF); if (status == NULL) break; + if (has_utf8(line)) utf8_subst(line); } } item->entries = ctr; diff --git a/tools/msi2lmp/src/msi2lmp.c b/tools/msi2lmp/src/msi2lmp.c index 0d9623e322..2eb05fd5c5 100644 --- a/tools/msi2lmp/src/msi2lmp.c +++ b/tools/msi2lmp/src/msi2lmp.c @@ -444,3 +444,101 @@ int main (int argc, char *argv[]) printf("\nNormal program termination\n"); return 0; } + +/* detect if a line has UTF-8 characters */ + +int has_utf8(const char *line) +{ + const unsigned char *c = (const unsigned char *)line; + + while (*c != '\0') { + if (*c & 0x80U) return 1; + ++c; + } + return 0; +} + +/* replace UTF-8 characters with ASCII counterparts where known and possible */ + +void utf8_subst(char *line) +{ + unsigned char *buf, *in, *out; + int i, len; + + in = (unsigned char *)line; + len = strlen(line); + buf = (unsigned char *)malloc(len+1); + out = buf; + + for (i = 0; i < len; ++i) { + + /* UTF-8 2-byte character */ + if ((in[i] & 0xe0U) == 0xc0U) { + if ((i + 1) < len) { + /* NON-BREAKING SPACE (U+00A0) */ + if ((in[i] == 0xc2U) && (in[i + 1] == 0xa0U)) *out++ = ' ', ++i; + /* MODIFIER LETTER PLUS SIGN (U+02D6) */ + if ((in[i] == 0xcbU) && (in[i + 1] == 0x96U)) *out++ = '+', ++i; + /* MODIFIER LETTER MINUS SIGN (U+02D7) */ + if ((in[i] == 0xcbU) && (in[i + 1] == 0x97U)) *out++ = '-', ++i; + } + /* UTF-8 3-byte character */ + } else if ((in[i] & 0xf0U) == 0xe0U) { + if ((i + 2) < len) { + /* EN QUAD (U+2000) */ + if ((in[i] == 0xe2U) && (in[i + 1] == 0x80U) && (in[i + 2] == 0x80U)) *out++ = ' ', i += 2; + /* EM QUAD (U+2001) */ + if ((in[i] == 0xe2U) && (in[i + 1] == 0x80U) && (in[i + 2] == 0x81U)) *out++ = ' ', i += 2; + /* EN SPACE (U+2002) */ + if ((in[i] == 0xe2U) && (in[i + 1] == 0x80U) && (in[i + 2] == 0x82U)) *out++ = ' ', i += 2; + /* EM SPACE (U+2003) */ + if ((in[i] == 0xe2U) && (in[i + 1] == 0x80U) && (in[i + 2] == 0x83U)) *out++ = ' ', i += 2; + /* THREE-PER-EM SPACE (U+2004) */ + if ((in[i] == 0xe2U) && (in[i + 1] == 0x80U) && (in[i + 2] == 0x84U)) *out++ = ' ', i += 2; + /* FOUR-PER-EM SPACE (U+2005) */ + if ((in[i] == 0xe2U) && (in[i + 1] == 0x80U) && (in[i + 2] == 0x85U)) *out++ = ' ', i += 2; + /* SIX-PER-EM SPACE (U+2006) */ + if ((in[i] == 0xe2U) && (in[i + 1] == 0x80U) && (in[i + 2] == 0x86U)) *out++ = ' ', i += 2; + /* FIGURE SPACE (U+2007) */ + if ((in[i] == 0xe2U) && (in[i + 1] == 0x80U) && (in[i + 2] == 0x87U)) *out++ = ' ', i += 2; + /* PUNCTUATION SPACE (U+2008) */ + if ((in[i] == 0xe2U) && (in[i + 1] == 0x80U) && (in[i + 2] == 0x88U)) *out++ = ' ', i += 2; + /* THIN SPACE (U+2009) */ + if ((in[i] == 0xe2U) && (in[i + 1] == 0x80U) && (in[i + 2] == 0x89U)) *out++ = ' ', i += 2; + /* HAIR SPACE (U+200A) */ + if ((in[i] == 0xe2U) && (in[i + 1] == 0x80U) && (in[i + 2] == 0x8aU)) *out++ = ' ', i += 2; + /* ZERO WIDTH SPACE (U+200B) */ + if ((in[i] == 0xe2U) && (in[i + 1] == 0x80U) && (in[i + 2] == 0x8bU)) *out++ = ' ', i += 2; + /* LEFT SINGLE QUOTATION MARK (U+2018) */ + if ((in[i] == 0xe2U) && (in[i + 1] == 0x80U) && (in[i + 2] == 0x98U)) *out++ = '\'', i += 2; + /* RIGHT SINGLE QUOTATION MARK (U+2019) */ + if ((in[i] == 0xe2U) && (in[i + 1] == 0x80U) && (in[i + 2] == 0x99U)) *out++ = '\'', i += 2; + /* LEFT DOUBLE QUOTATION MARK (U+201C) */ + if ((in[i] == 0xe2U) && (in[i + 1] == 0x80U) && (in[i + 2] == 0x9cU)) *out++ = '"', i += 2; + /* RIGHT DOUBLE QUOTATION MARK (U+201D) */ + if ((in[i] == 0xe2U) && (in[i + 1] == 0x80U) && (in[i + 2] == 0x9dU)) *out++ = '"', i += 2; + /* NARROW NO-BREAK SPACE (U+202F) */ + if ((in[i] == 0xe2U) && (in[i + 1] == 0x80U) && (in[i + 2] == 0xafU)) *out++ = ' ', i += 2; + /* WORD JOINER (U+2060) */ + if ((in[i] == 0xe2U) && (in[i + 1] == 0x81U) && (in[i + 2] == 0xa0U)) *out++ = ' ', i += 2; + /* INVISIBLE SEPARATOR (U+2063) */ + if ((in[i] == 0xe2U) && (in[i + 1] == 0x81U) && (in[i + 2] == 0xa3U)) *out++ = ' ', i += 2; + /* INVISIBLE PLUS (U+2064) */ + if ((in[i] == 0xe2U) && (in[i + 1] == 0x81U) && (in[i + 2] == 0xa4U)) *out++ = '+', i += 2; + /* MINUS SIGN (U+2212) */ + if ((in[i] == 0xe2U) && (in[i + 1] == 0x88U) && (in[i + 2] == 0x92U)) *out++ = '-', i += 2; + /* ZERO WIDTH NO-BREAK SPACE (U+FEFF) */ + if ((in[i] == 0xefU) && (in[i + 1] == 0xbbU) && (in[i + 2] == 0xbfU)) *out++ = ' ', i += 2; + } + /* UTF-8 4-byte character */ + } else if ((in[i] & 0xf8U) == 0xf0U) { + if ((i + 3) < len) { ; } + } else { + *out++ = in[i]; + } + } + + *out = '\0'; + strncpy(line, (char *)buf, len); + free(buf); +} diff --git a/tools/msi2lmp/src/msi2lmp.h b/tools/msi2lmp/src/msi2lmp.h index af7978d181..b64c6fd834 100644 --- a/tools/msi2lmp/src/msi2lmp.h +++ b/tools/msi2lmp/src/msi2lmp.h @@ -226,3 +226,6 @@ extern void lamda2x(double *lamda, double *x, double *h, double *boxlo); extern void x2lamda(double *x, double *lamda, double *h_inv, double *boxlo); extern void condexit(int); + +extern int has_utf8(const char *line); +extern void utf8_subst(char *line); From 2b6c2e07a4ece5619711b53f732d491b64a1e805 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 10 Mar 2023 21:26:40 -0500 Subject: [PATCH 294/448] add -help flag and help message output. step version number. update docs. --- doc/msi2lmp.1 | 7 ++- tools/msi2lmp/README | 19 ++++++-- tools/msi2lmp/src/msi2lmp.c | 93 +++++++++++++++++++++++++++++++------ tools/msi2lmp/src/msi2lmp.h | 2 +- 4 files changed, 101 insertions(+), 20 deletions(-) diff --git a/doc/msi2lmp.1 b/doc/msi2lmp.1 index f088603483..5cb0754e4f 100644 --- a/doc/msi2lmp.1 +++ b/doc/msi2lmp.1 @@ -1,11 +1,11 @@ -.TH MSI2LMP "1" "v3.9.9" "2018-11-05" +.TH MSI2LMP "1" "v3.9.10" "2023-03-10" .SH NAME .B MSI2LMP \- Converter for Materials Studio files to LAMMPS .SH SYNOPSIS .B msi2lmp - [-class ] [-frc ] [-print #] [-ignore] [-nocenter] [-oldstyle] [-shift ] +[-help] [-class ] [-frc ] [-print #] [-ignore] [-nocenter] [-oldstyle] [-shift ] .SH DESCRIPTION .PP @@ -22,6 +22,9 @@ needed between .frc and .car/.mdf files are the atom types. .SH OPTIONS .TP +\fB\-h\fR, \fB\-help\fR, +Print detailed help message to the screen and stop. +.TP \fB\\fR This has to be the first argument and is a .B mandatory diff --git a/tools/msi2lmp/README b/tools/msi2lmp/README index 401ec536fd..9c9706fc97 100644 --- a/tools/msi2lmp/README +++ b/tools/msi2lmp/README @@ -76,10 +76,14 @@ This program uses the .car and .mdf files from MSI/Biosyms's INSIGHT The program is started by supplying information at the command prompt according to the usage described below. - USAGE: msi2lmp.exe {-print #} {-class #} {-frc FRC_FILE} - {-ignore} {-nocenter} {-shift # # #} + USAGE: msi2lmp.exe [-help] [-print #] [-class #] [-frc FRC_FILE] + [-ignore] [-nocenter] [-shift # # #] -- msi2lmp.exe is the name of the executable + + -- -help (or -h) + Print detailed this help message and exit. + -- is the base name of the .car and .mdf files -- -print (or -p) @@ -148,6 +152,15 @@ msi2lmp has the following known limitations: CHANGELOG +10 Mar 2023 Axel Kohlmeyer + +Substitute UTF-8 characters in .frc files with known ASCII equivalents +and add help message output + +05 Nov 2018 Axel Kohlmeyer + +Teach msi2lmp to not generate dihedrals with identical 1-4 atoms + 06 Oct 2016 Axel Kohlmeyer Improved whitespace handling in parsing topology and force field @@ -239,5 +252,5 @@ for number_of_dihedrals, etc. could be unpredictable in these systems. ----------------------------- - msi2lmp v3.9.8 6/10/2016 + msi2lmp v3.9.10 3/10/2023 diff --git a/tools/msi2lmp/src/msi2lmp.c b/tools/msi2lmp/src/msi2lmp.c index 2eb05fd5c5..68aaf566b2 100644 --- a/tools/msi2lmp/src/msi2lmp.c +++ b/tools/msi2lmp/src/msi2lmp.c @@ -2,26 +2,29 @@ * * msi2lmp.exe * -* v3.9.9 AK- Teach msi2lmp to not generate dihedrals with identical 1-4 atoms +* v3.9.10 AK - Substitute UTF-8 characters in .frc files with known ASCII equivalents +* - add help message output * -* v3.9.8 AK- Improved whitespace handling in parsing topology and force -* field files to avoid bogus warnings about type name truncation +* v3.9.9 AK - Teach msi2lmp to not generate dihedrals with identical 1-4 atoms * -* v3.9.7 AK- Add check to enforce that Class1/OPLS-AA use A-B parameter -* conventions in force field file and Class2 us r-eps conventions +* v3.9.8 AK - Improved whitespace handling in parsing topology and force +* field files to avoid bogus warnings about type name truncation * -* v3.9.6 AK- Refactoring of MDF file parser with more consistent -* handling of compile time constants MAX_NAME and MAX_STRING +* v3.9.7 AK - Add check to enforce that Class1/OPLS-AA use A-B parameter +* conventions in force field file and Class2 us r-eps conventions * -* v3.9.5 AK- Add TopoTools style force field parameter type hints +* v3.9.6 AK - Refactoring of MDF file parser with more consistent +* handling of compile time constants MAX_NAME and MAX_STRING * -* v3.9.4 AK- Make force field style hints optional with a flag +* v3.9.5 AK - Add TopoTools style force field parameter type hints * -* v3.9.3 AK- Bugfix for triclinic cells. +* v3.9.4 AK - Make force field style hints optional with a flag * -* v3.9.2 AK- Support for writing out force field style hints +* v3.9.3 AK - Bugfix for triclinic cells. * -* v3.9.1 AK- Bugfix for Class2. Free allocated memory. Print version number. +* v3.9.2 AK - Support for writing out force field style hints +* +* v3.9.1 AK - Bugfix for Class2. Free allocated memory. Print version number. * * v3.9 AK - Rudimentary support for OPLS-AA * @@ -156,6 +159,59 @@ #include #endif +const char helpmesg[] = + " USAGE: msi2lmp [-help] ROOTNAME [-print #] [-class #] [-frc FRC_FILE] [-ignore] [-nocenter] [-oldstyle]\n" + "\n" + " -- msi2lmp is the name of the executable\n" + "\n" + " -- -help or -h triggers printing this message and exits\n" + "\n" + " -- ROOTNAME is the base name of the .car and .mdf files\n" + " -- all opther flags are optional and can be abbreviated (e.g. -p instead of -print)\n" + "\n" + " -- -print\n" + " # is the print level: 0 - silent except for errors\n" + " 1 - minimal (default)\n" + " 2 - more verbose\n" + " 3 - even more verbose\n" + " -- -class\n" + " # is the class of forcefield to use (I or 1 = Class I e.g., CVFF, clayff)\n" + " (II or 2 = Class II e.g., CFFx, COMPASS)\n" + " (O or 0 = OPLS-AA)\n" + " default is -class I\n" + "\n" + " -- -ignore - tells msi2lmp to ignore warnings and errors and keep going\n" + "\n" + " -- -nocenter - tells msi2lmp to not center the box around the (geometrical)\n" + " center of the atoms, but around the origin\n" + "\n" + " -- -oldstyle - tells msi2lmp to write out a data file without style hints\n" + " (to be compatible with older LAMMPS versions)\n" + "\n" + " -- -shift - tells msi2lmp to shift the entire system (box and coordinates)\n" + " by a vector (default: 0.0 0.0 0.0)\n" + "\n" + " -- -frc - specifies name of the forcefield file (e.g., cff91)\n" + "\n" + " If the name includes a hard wired directory (i.e., if the name\n" + " starts with . or /), then the name is used alone. Otherwise,\n" + " the program looks for the forcefield file in $MSI2LMP_LIBRARY.\n" + " If $MSI2LMP_LIBRARY is not set, then the current directory is\n" + " used.\n" + "\n" + " If the file name does not include a dot after the first\n" + " character, then .frc is appended to the name.\n" + "\n" + " For example, -frc cvff (assumes cvff.frc is in $MSI2LMP_LIBRARY or .)\n" + "\n" + " -frc cff/cff91 (assumes cff91.frc is in $MSI2LMP_LIBRARY/cff or ./cff)\n" + "\n" + " -frc /usr/local/forcefields/cff95 (absolute location)\n" + "\n" + " By default, the program uses $MSI2LMP_LIBRARY/cvff.frc\n" + "\n" + " -- output is written to a file called ROOTNAME.data\n"; + /* global variables */ char *rootname; @@ -239,9 +295,14 @@ int main (int argc, char *argv[]) frc_dir_name = getenv("MSI2LMP_LIBRARY"); if (argc < 2) { - printf("usage: %s [-class ] [-frc ] [-print #] [-ignore] [-nocenter] [-oldstyle]\n",argv[0]); + printf("usage: %s [-help|-h] [-class ] [-frc ] [-print #] [-ignore] [-nocenter] [-oldstyle]\n",argv[0]); return 1; - } else { /* rootname was supplied as first argument, copy to rootname */ + } else { + if ((strcmp(argv[1],"-help") == 0) || (strcmp(argv[1],"-h") == 0)) { + puts(helpmesg); + return 1; + } + /* rootname was supplied as first argument, copy to rootname */ int len = strlen(argv[1]) + 1; rootname = (char *)malloc(len); strcpy(rootname,argv[1]); @@ -249,6 +310,10 @@ int main (int argc, char *argv[]) n = 2; while (n < argc) { + if ((strcmp(argv[n],"-help") == 0) || (strcmp(argv[1],"-h") == 0)) { + puts(helpmesg); + return 1; + } if (strncmp(argv[n],"-c",2) == 0) { n++; if (check_arg(argv,"-class",n,argc)) diff --git a/tools/msi2lmp/src/msi2lmp.h b/tools/msi2lmp/src/msi2lmp.h index b64c6fd834..3e1de85cbe 100644 --- a/tools/msi2lmp/src/msi2lmp.h +++ b/tools/msi2lmp/src/msi2lmp.h @@ -36,7 +36,7 @@ #include /* IWYU pragma: export */ -#define MSI2LMP_VERSION "v3.9.9 / 05 Nov 2018" +#define MSI2LMP_VERSION "v3.9.10 / 10 Mar 2023" #define PI_180 0.01745329251994329576 From 416df96c1b132c1a6042b501e719020280e7f438 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 9 Mar 2023 17:53:03 -0500 Subject: [PATCH 295/448] add extract support for TIP4P parameters to cutoff versions --- src/MOLECULE/pair_lj_cut_tip4p_cut.cpp | 22 ++++++++++++------- src/MOLECULE/pair_tip4p_cut.cpp | 14 ++++++++++++ src/MOLECULE/pair_tip4p_cut.h | 1 + .../tests/mol-pair-lj_cut_tip4p_cut.yaml | 5 +++++ .../tests/mol-pair-tip4p_cut.yaml | 8 ++++++- 5 files changed, 41 insertions(+), 9 deletions(-) diff --git a/src/MOLECULE/pair_lj_cut_tip4p_cut.cpp b/src/MOLECULE/pair_lj_cut_tip4p_cut.cpp index 19b4d6585f..5be1de82a9 100644 --- a/src/MOLECULE/pair_lj_cut_tip4p_cut.cpp +++ b/src/MOLECULE/pair_lj_cut_tip4p_cut.cpp @@ -18,20 +18,20 @@ #include "pair_lj_cut_tip4p_cut.h" -#include -#include -#include "atom.h" -#include "force.h" -#include "neighbor.h" -#include "neigh_list.h" -#include "domain.h" #include "angle.h" +#include "atom.h" #include "bond.h" #include "comm.h" +#include "domain.h" +#include "error.h" +#include "force.h" #include "math_const.h" #include "memory.h" -#include "error.h" +#include "neigh_list.h" +#include "neighbor.h" +#include +#include using namespace LAMMPS_NS; using namespace MathConst; @@ -743,12 +743,18 @@ void PairLJCutTIP4PCut::compute_newsite(double *xO, double *xH1, void *PairLJCutTIP4PCut::extract(const char *str, int &dim) { dim = 0; + if (strcmp(str,"qdist") == 0) return (void *) &qdist; + if (strcmp(str,"typeO") == 0) return (void *) &typeO; + if (strcmp(str,"typeH") == 0) return (void *) &typeH; + if (strcmp(str,"typeA") == 0) return (void *) &typeA; + if (strcmp(str,"typeB") == 0) return (void *) &typeB; if (strcmp(str,"cut_coul") == 0) return (void *) &cut_coul; dim = 2; if (strcmp(str,"epsilon") == 0) return (void *) epsilon; if (strcmp(str,"sigma") == 0) return (void *) sigma; return nullptr; } + /* ---------------------------------------------------------------------- memory usage of hneigh ------------------------------------------------------------------------- */ diff --git a/src/MOLECULE/pair_tip4p_cut.cpp b/src/MOLECULE/pair_tip4p_cut.cpp index 25c9b82468..6d27c1a164 100644 --- a/src/MOLECULE/pair_tip4p_cut.cpp +++ b/src/MOLECULE/pair_tip4p_cut.cpp @@ -562,3 +562,17 @@ double PairTIP4PCut::memory_usage() bytes += (double)2 * nmax * sizeof(double); return bytes; } + +/* ---------------------------------------------------------------------- */ + +void *PairTIP4PCut::extract(const char *str, int &dim) +{ + dim = 0; + if (strcmp(str,"qdist") == 0) return (void *) &qdist; + if (strcmp(str,"typeO") == 0) return (void *) &typeO; + if (strcmp(str,"typeH") == 0) return (void *) &typeH; + if (strcmp(str,"typeA") == 0) return (void *) &typeA; + if (strcmp(str,"typeB") == 0) return (void *) &typeB; + if (strcmp(str,"cut_coul") == 0) return (void *) &cut_coul; + return nullptr; +} diff --git a/src/MOLECULE/pair_tip4p_cut.h b/src/MOLECULE/pair_tip4p_cut.h index 85f9e4a72b..73dced7432 100644 --- a/src/MOLECULE/pair_tip4p_cut.h +++ b/src/MOLECULE/pair_tip4p_cut.h @@ -38,6 +38,7 @@ class PairTIP4PCut : public Pair { void write_restart(FILE *) override; void read_restart(FILE *) override; double memory_usage() override; + void *extract(const char *, int &) override; protected: double cut_coul_global; diff --git a/unittest/force-styles/tests/mol-pair-lj_cut_tip4p_cut.yaml b/unittest/force-styles/tests/mol-pair-lj_cut_tip4p_cut.yaml index 36607e3a22..141d61f8ae 100644 --- a/unittest/force-styles/tests/mol-pair-lj_cut_tip4p_cut.yaml +++ b/unittest/force-styles/tests/mol-pair-lj_cut_tip4p_cut.yaml @@ -21,6 +21,11 @@ pair_coeff: ! | 4 4 0.015 3.1 5 5 0.015 3.1 extract: ! | + qdist 0 + typeO 0 + typeH 0 + typeA 0 + typeB 0 epsilon 2 sigma 2 cut_coul 0 diff --git a/unittest/force-styles/tests/mol-pair-tip4p_cut.yaml b/unittest/force-styles/tests/mol-pair-tip4p_cut.yaml index bcd16233b8..52fea193d5 100644 --- a/unittest/force-styles/tests/mol-pair-tip4p_cut.yaml +++ b/unittest/force-styles/tests/mol-pair-tip4p_cut.yaml @@ -15,7 +15,13 @@ input_file: in.fourmol pair_style: tip4p/cut 5 2 5 1 0.15 10.0 pair_coeff: ! | * * -extract: ! "" +extract: ! | + qdist 0 + typeO 0 + typeH 0 + typeA 0 + typeB 0 + cut_coul 0 natoms: 29 init_vdwl: 0 init_coul: -128.97793216803515 From 02854c1d5c09bfbd44c50890b97fae8fa2a61b35 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 9 Mar 2023 19:04:28 -0500 Subject: [PATCH 296/448] add compute dipole/tip4p and compute dipole/tip4p/chunk --- doc/src/Commands_compute.rst | 2 + doc/src/compute.rst | 2 + doc/src/compute_dipole.rst | 45 ++- doc/src/compute_dipole_chunk.rst | 47 ++- src/.gitignore | 4 + src/EXTRA-COMPUTE/compute_dipole_tip4p.cpp | 219 +++++++++++ src/EXTRA-COMPUTE/compute_dipole_tip4p.h | 46 +++ .../compute_dipole_tip4p_chunk.cpp | 364 ++++++++++++++++++ .../compute_dipole_tip4p_chunk.h | 64 +++ 9 files changed, 764 insertions(+), 29 deletions(-) create mode 100644 src/EXTRA-COMPUTE/compute_dipole_tip4p.cpp create mode 100644 src/EXTRA-COMPUTE/compute_dipole_tip4p.h create mode 100644 src/EXTRA-COMPUTE/compute_dipole_tip4p_chunk.cpp create mode 100644 src/EXTRA-COMPUTE/compute_dipole_tip4p_chunk.h diff --git a/doc/src/Commands_compute.rst b/doc/src/Commands_compute.rst index c2753b2afc..f073212524 100644 --- a/doc/src/Commands_compute.rst +++ b/doc/src/Commands_compute.rst @@ -52,6 +52,8 @@ KOKKOS, o = OPENMP, t = OPT. * :doc:`dilatation/atom ` * :doc:`dipole ` * :doc:`dipole/chunk ` + * :doc:`dipole/tip4p ` + * :doc:`dipole/tip4p/chunk ` * :doc:`displace/atom ` * :doc:`dpd ` * :doc:`dpd/atom ` diff --git a/doc/src/compute.rst b/doc/src/compute.rst index 3d74b3884e..880f60a8a6 100644 --- a/doc/src/compute.rst +++ b/doc/src/compute.rst @@ -206,6 +206,8 @@ The individual style names on the :doc:`Commands compute ` pag * :doc:`dilatation/atom ` - Peridynamic dilatation for each atom * :doc:`dipole ` - dipole vector and total dipole * :doc:`dipole/chunk ` - dipole vector and total dipole for each chunk +* :doc:`dipole/tip4p ` - dipole vector and total dipole with TIP4P pair style +* :doc:`dipole/tip4p/chunk ` - dipole vector and total dipole for each chunk with TIP4P pair style * :doc:`displace/atom ` - displacement of each atom * :doc:`dpd ` - total values of internal conductive energy, internal mechanical energy, chemical energy, and harmonic average of internal temperature * :doc:`dpd/atom ` - per-particle values of internal conductive energy, internal mechanical energy, chemical energy, and internal temperature diff --git a/doc/src/compute_dipole.rst b/doc/src/compute_dipole.rst index 95c5e216f0..fa1ca4ce0b 100644 --- a/doc/src/compute_dipole.rst +++ b/doc/src/compute_dipole.rst @@ -1,6 +1,10 @@ .. index:: compute dipole +.. index:: compute dipole/tip4p compute dipole command +====================== + +compute dipole/tip4p command ============================ Syntax @@ -8,10 +12,10 @@ Syntax .. code-block:: LAMMPS - compute ID group-ID dipole arg + compute ID group-ID style arg * ID, group-ID are documented in :doc:`compute ` command -* dipole = style name of this compute command +* style = *dipole* or *dipole/tip4p* * arg = *mass* or *geometry* = use COM or geometric center for charged chunk correction (optional) Examples @@ -21,6 +25,7 @@ Examples compute 1 fluid dipole compute dw water dipole geometry + compute dw water dipole/tip4p Description """"""""""" @@ -28,13 +33,20 @@ Description Define a computation that calculates the dipole vector and total dipole for a group of atoms. -This compute calculates the x,y,z coordinates of the dipole vector -and the total dipole moment for the atoms in the compute group. -This includes all effects due to atoms passing through periodic boundaries. -For a group with a net charge the resulting dipole is made position independent -by subtracting the position vector of the center of mass or geometric center -times the net charge from the computed dipole vector. Both per-atom charges -and per-atom dipole moments, if present, contribute to the computed dipole. +These computes calculate the x,y,z coordinates of the dipole vector and +the total dipole moment for the atoms in the compute group. This +includes all effects due to atoms passing through periodic boundaries. +For a group with a net charge the resulting dipole is made position +independent by subtracting the position vector of the center of mass or +geometric center times the net charge from the computed dipole +vector. Both per-atom charges and per-atom dipole moments, if present, +contribute to the computed dipole. + +.. versionadded:: TBD + +Compute *dipole/tip4p* includes adjustments for the charge carrying +point M in molecules with TIP4P water geometry. The corresponding +parameters are extracted from the pair style. .. note:: @@ -49,10 +61,10 @@ and per-atom dipole moments, if present, contribute to the computed dipole. Output info """"""""""" -This compute calculations a global scalar containing the magnitude of -the computed dipole moment and a global vector of length 3 with the -dipole vector. See the :doc:`Howto output ` page for -an overview of LAMMPS output options. +These computes calculate a global scalar containing the magnitude of the +computed dipole moment and a global vector of length 3 with the dipole +vector. See the :doc:`Howto output ` page for an overview +of LAMMPS output options. The computed values are "intensive". The array values will be in dipole units (i.e., charge :doc:`units ` times distance @@ -60,7 +72,12 @@ dipole units (i.e., charge :doc:`units ` times distance Restrictions """""""""""" - none + +Compute style *dipole/tip4p* is part of the EXTRA-COMPUTE package. It is +only enabled if LAMMPS was built with that package. See the :doc:`Build +package ` page for more info. + +Compute style *dipole/tip4p* can only be used with tip4p pair styles. Related commands """""""""""""""" diff --git a/doc/src/compute_dipole_chunk.rst b/doc/src/compute_dipole_chunk.rst index 504e6f20d0..4e89bb748a 100644 --- a/doc/src/compute_dipole_chunk.rst +++ b/doc/src/compute_dipole_chunk.rst @@ -1,17 +1,21 @@ .. index:: compute dipole/chunk +.. index:: compute dipole/tip4p/chunk compute dipole/chunk command ============================ +compute dipole/tip4p/chunk command +================================== + Syntax """""" .. code-block:: LAMMPS - compute ID group-ID dipole/chunk chunkID arg + compute ID group-ID style chunkID arg * ID, group-ID are documented in :doc:`compute ` command -* dipole/chunk = style name of this compute command +* style = *dipole/chunk* or *dipole/tip4p/chunk* * chunkID = ID of :doc:`compute chunk/atom ` command * arg = *mass* or *geometry* = use COM or geometric center for charged chunk correction (optional) @@ -38,13 +42,20 @@ or atoms in a spatial bin. See the :doc:`compute chunk/atom details of how chunks can be defined and examples of how they can be used to measure properties of a system. -This compute calculates the :math:`(x,y,z)` coordinates of the dipole vector -and the total dipole moment for each chunk, which includes all effects due -to atoms passing through periodic boundaries. For chunks with a net -charge the resulting dipole is made position independent by subtracting -the position vector of the center of mass or geometric center times the -net charge from the computed dipole vector. Both per-atom charges and -per-atom dipole moments, if present, contribute to the computed dipole. +These computes calculate the :math:`(x,y,z)` coordinates of the dipole +vector and the total dipole moment for each chunk, which includes all +effects due to atoms passing through periodic boundaries. For chunks +with a net charge the resulting dipole is made position independent by +subtracting the position vector of the center of mass or geometric +center times the net charge from the computed dipole vector. Both +per-atom charges and per-atom dipole moments, if present, contribute to +the computed dipole. + +.. versionadded:: TBD + +Compute *dipole/tip4p/chunk* includes adjustments for the charge +carrying point M in molecules with TIP4P water geometry. The +corresponding parameters are extracted from the pair style. Note that only atoms in the specified group contribute to the calculation. The :doc:`compute chunk/atom ` command @@ -78,12 +89,12 @@ command, for example: Output info """"""""""" -This compute calculates a global array where the number of rows = the +These computes calculate a global array where the number of rows = the number of chunks *Nchunk* as calculated by the specified :doc:`compute -chunk/atom ` command. The number of columns is 4 for -the :math:`(x,y,z)` dipole vector components and the total dipole of each -chunk. These values can be accessed by any command that uses global -array values from a compute as input. See the :doc:`Howto output +chunk/atom ` command. The number of columns is 4 +for the :math:`(x,y,z)` dipole vector components and the total dipole of +each chunk. These values can be accessed by any command that uses +global array values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. The array values are "intensive". The array values will be in @@ -92,7 +103,13 @@ dipole units (i.e., charge :doc:`units ` times distance Restrictions """""""""""" - none + +Compute style *dipole/tip4p/chunk* is part of the EXTRA-COMPUTE +package. It is only enabled if LAMMPS was built with that package. See +the :doc:`Build package ` page for more info. + +Compute style *dipole/tip4p/chunk* can only be used with tip4p pair +styles. Related commands """""""""""""""" diff --git a/src/.gitignore b/src/.gitignore index df02ab3397..0e3a69bdc7 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -534,6 +534,10 @@ /compute_damage_atom.h /compute_dilatation_atom.cpp /compute_dilatation_atom.h +/compute_dipole_tip4p.cpp +/compute_dipole_tip4p.h +/compute_dipole_tip4p_chunk.cpp +/compute_dipole_tip4p_chunk.h /compute_dpd.cpp /compute_dpd.h /compute_dpd_atom.cpp diff --git a/src/EXTRA-COMPUTE/compute_dipole_tip4p.cpp b/src/EXTRA-COMPUTE/compute_dipole_tip4p.cpp new file mode 100644 index 0000000000..c81cd3787c --- /dev/null +++ b/src/EXTRA-COMPUTE/compute_dipole_tip4p.cpp @@ -0,0 +1,219 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "compute_dipole_tip4p.h" + +#include "angle.h" +#include "atom.h" +#include "bond.h" +#include "domain.h" +#include "error.h" +#include "force.h" +#include "pair.h" +#include "update.h" + +#include +#include + +using namespace LAMMPS_NS; + +enum { MASSCENTER, GEOMCENTER }; + +/* ---------------------------------------------------------------------- */ + +ComputeDipoleTIP4P::ComputeDipoleTIP4P(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg) +{ + if ((narg < 3) || (narg > 4)) error->all(FLERR, "Illegal compute dipole command"); + + scalar_flag = 1; + vector_flag = 1; + size_vector = 3; + extscalar = 0; + extvector = 0; + + vector = new double[size_vector]; + vector[0] = vector[1] = vector[2] = 0.0; + usecenter = MASSCENTER; + + if (narg == 4) { + if (utils::strmatch(arg[3], "^geom")) + usecenter = GEOMCENTER; + else if (strcmp(arg[3], "mass") == 0) + usecenter = MASSCENTER; + else + error->all(FLERR, "Illegal compute dipole command"); + } +} + +/* ---------------------------------------------------------------------- */ + +ComputeDipoleTIP4P::~ComputeDipoleTIP4P() +{ + delete[] vector; +} + +/* ---------------------------------------------------------------------- */ + +void ComputeDipoleTIP4P::init() +{ + int itmp; + double *p_qdist = (double *) force->pair->extract("qdist", itmp); + int *p_typeO = (int *) force->pair->extract("typeO", itmp); + int *p_typeH = (int *) force->pair->extract("typeH", itmp); + int *p_typeA = (int *) force->pair->extract("typeA", itmp); + int *p_typeB = (int *) force->pair->extract("typeB", itmp); + if (!p_qdist || !p_typeO || !p_typeH || !p_typeA || !p_typeB) + error->all(FLERR, "Pair style is incompatible with compute {}", style); + typeO = *p_typeO; + typeH = *p_typeH; + int typeA = *p_typeA; + int typeB = *p_typeB; + + if (force->angle == nullptr || force->bond == nullptr || force->angle->setflag == nullptr || + force->bond->setflag == nullptr) + error->all(FLERR, "Bond and angle potentials must be defined for compute {}", style); + if ((typeA < 1) || (typeA > atom->nangletypes) || (force->angle->setflag[typeA] == 0)) + error->all(FLERR, "Bad TIP4P angle type for compute {}", style); + if ((typeB < 1) || (typeB > atom->nbondtypes) || (force->bond->setflag[typeB] == 0)) + error->all(FLERR, "Bad TIP4P bond type for PPPM/TIP4P"); + double theta = force->angle->equilibrium_angle(typeA); + double blen = force->bond->equilibrium_distance(typeB); + alpha = *p_qdist / (cos(0.5 * theta) * blen); +} + +/* ---------------------------------------------------------------------- */ + +void ComputeDipoleTIP4P::compute_vector() +{ + invoked_vector = update->ntimestep; + + const auto x = atom->x; + const auto mask = atom->mask; + const auto type = atom->type; + const auto image = atom->image; + const auto mass = atom->mass; + const auto rmass = atom->rmass; + const auto q = atom->q; + const auto mu = atom->mu; + const auto nlocal = atom->nlocal; + + double dipole[3] = {0.0, 0.0, 0.0}; + double comproc[3] = {0.0, 0.0, 0.0}; + double com[3] = {0.0, 0.0, 0.0}; + double masstotal = 0.0; + double chrgtotal = 0.0; + double massproc = 0.0; + double chrgproc = 0.0; + double unwrap[3], xM[3]; + double *xi; + + for (int i = 0; i < nlocal; ++i) { + if (mask[i] & groupbit) { + double massone = 1.0; // for usecenter == GEOMCENTER + if (usecenter == MASSCENTER) { + if (rmass) + massone = rmass[i]; + else + massone = mass[type[i]]; + } + massproc += massone; + if (atom->q_flag) chrgproc += q[i]; + domain->unmap(x[i], image[i], unwrap); + comproc[0] += unwrap[0] * massone; + comproc[1] += unwrap[1] * massone; + comproc[2] += unwrap[2] * massone; + } + } + MPI_Allreduce(&massproc, &masstotal, 1, MPI_DOUBLE, MPI_SUM, world); + MPI_Allreduce(&chrgproc, &chrgtotal, 1, MPI_DOUBLE, MPI_SUM, world); + MPI_Allreduce(comproc, com, 3, MPI_DOUBLE, MPI_SUM, world); + + if (masstotal > 0.0) { + com[0] /= masstotal; + com[1] /= masstotal; + com[2] /= masstotal; + } + + // compute dipole moment + + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + if (type[i] == typeO) { + find_M(i,xM); + xi = xM; + } else { + xi = x[i]; + } + domain->unmap(xi, image[i], unwrap); + if (atom->q_flag) { + dipole[0] += q[i] * unwrap[0]; + dipole[1] += q[i] * unwrap[1]; + dipole[2] += q[i] * unwrap[2]; + } + if (atom->mu_flag) { + dipole[0] += mu[i][0]; + dipole[1] += mu[i][1]; + dipole[2] += mu[i][2]; + } + } + } + + MPI_Allreduce(dipole, vector, 3, MPI_DOUBLE, MPI_SUM, world); + + // correct for position dependence with a net charged group + vector[0] -= chrgtotal * com[0]; + vector[1] -= chrgtotal * com[1]; + vector[2] -= chrgtotal * com[2]; +} + +/* ---------------------------------------------------------------------- */ + +double ComputeDipoleTIP4P::compute_scalar() +{ + if (invoked_vector != update->ntimestep) compute_vector(); + + invoked_scalar = update->ntimestep; + scalar = sqrt(vector[0] * vector[0] + vector[1] * vector[1] + vector[2] * vector[2]); + return scalar; +} + +/* ---------------------------------------------------------------------- */ + +void ComputeDipoleTIP4P::find_M(int i, double *xM) +{ + double **x = atom->x; + + int iH1 = atom->map(atom->tag[i] + 1); + int iH2 = atom->map(atom->tag[i] + 2); + + if ((iH1 == -1) || (iH2 == -1)) error->one(FLERR,"TIP4P hydrogen is missing"); + if ((atom->type[iH1] != typeH) || (atom->type[iH2] != typeH)) + error->one(FLERR,"TIP4P hydrogen has incorrect atom type"); + + // set iH1,iH2 to index of closest image to O + + iH1 = domain->closest_image(i,iH1); + iH2 = domain->closest_image(i,iH2); + + double delx1 = x[iH1][0] - x[i][0]; + double dely1 = x[iH1][1] - x[i][1]; + double delz1 = x[iH1][2] - x[i][2]; + + double delx2 = x[iH2][0] - x[i][0]; + double dely2 = x[iH2][1] - x[i][1]; + double delz2 = x[iH2][2] - x[i][2]; + + xM[0] = x[i][0] + alpha * 0.5 * (delx1 + delx2); + xM[1] = x[i][1] + alpha * 0.5 * (dely1 + dely2); + xM[2] = x[i][2] + alpha * 0.5 * (delz1 + delz2); +} diff --git a/src/EXTRA-COMPUTE/compute_dipole_tip4p.h b/src/EXTRA-COMPUTE/compute_dipole_tip4p.h new file mode 100644 index 0000000000..75784b83ec --- /dev/null +++ b/src/EXTRA-COMPUTE/compute_dipole_tip4p.h @@ -0,0 +1,46 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef COMPUTE_CLASS +// clang-format off +ComputeStyle(dipole/tip4p,ComputeDipoleTIP4P); +// clang-format on +#else + +#ifndef LMP_COMPUTE_DIPOLE_TIP4P_H +#define LMP_COMPUTE_DIPOLE_TIP4P_H + +#include "compute.h" + +namespace LAMMPS_NS { + +class ComputeDipoleTIP4P : public Compute { + public: + ComputeDipoleTIP4P(class LAMMPS *, int, char **); + ~ComputeDipoleTIP4P() override; + void init() override; + void compute_vector() override; + double compute_scalar() override; + + private: + int usecenter; + + int typeO, typeH; + double alpha; + void find_M(int i, double *xM); +}; + +} // namespace LAMMPS_NS + +#endif +#endif diff --git a/src/EXTRA-COMPUTE/compute_dipole_tip4p_chunk.cpp b/src/EXTRA-COMPUTE/compute_dipole_tip4p_chunk.cpp new file mode 100644 index 0000000000..92e0d6fab2 --- /dev/null +++ b/src/EXTRA-COMPUTE/compute_dipole_tip4p_chunk.cpp @@ -0,0 +1,364 @@ +// clang-format off +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "compute_dipole_tip4p_chunk.h" + +#include "angle.h" +#include "atom.h" +#include "bond.h" +#include "comm.h" +#include "compute_chunk_atom.h" +#include "domain.h" +#include "error.h" +#include "force.h" +#include "pair.h" +#include "math_special.h" +#include "memory.h" +#include "modify.h" +#include "update.h" + +#include +#include + +using namespace LAMMPS_NS; +using namespace MathSpecial; + +enum { MASSCENTER, GEOMCENTER }; + +/* ---------------------------------------------------------------------- */ + +ComputeDipoleTIP4PChunk::ComputeDipoleTIP4PChunk(LAMMPS *lmp, int narg, char **arg) : + Compute(lmp, narg, arg), + idchunk(nullptr), massproc(nullptr), masstotal(nullptr), chrgproc(nullptr), + chrgtotal(nullptr), com(nullptr), + comall(nullptr), dipole(nullptr), dipoleall(nullptr) +{ + if ((narg != 4) && (narg != 5)) + error->all(FLERR,"Illegal compute dipole/chunk command"); + + array_flag = 1; + size_array_cols = 4; + size_array_rows = 0; + size_array_rows_variable = 1; + extarray = 0; + + // ID of compute chunk/atom + + idchunk = utils::strdup(arg[3]); + + usecenter = MASSCENTER; + + if (narg == 5) { + if (strncmp(arg[4],"geom",4) == 0) usecenter = GEOMCENTER; + else if (strcmp(arg[4],"mass") == 0) usecenter = MASSCENTER; + else error->all(FLERR,"Illegal compute dipole/chunk command"); + } + + ComputeDipoleTIP4PChunk::init(); + + // chunk-based data + + nchunk = 1; + maxchunk = 0; + allocate(); +} + +/* ---------------------------------------------------------------------- */ + +ComputeDipoleTIP4PChunk::~ComputeDipoleTIP4PChunk() +{ + delete[] idchunk; + memory->destroy(massproc); + memory->destroy(masstotal); + memory->destroy(chrgproc); + memory->destroy(chrgtotal); + memory->destroy(com); + memory->destroy(comall); + memory->destroy(dipole); + memory->destroy(dipoleall); +} + +/* ---------------------------------------------------------------------- */ + +void ComputeDipoleTIP4PChunk::init() +{ + int icompute = modify->find_compute(idchunk); + if (icompute < 0) + error->all(FLERR,"Chunk/atom compute does not exist for compute dipole/chunk"); + cchunk = dynamic_cast(modify->compute[icompute]); + if (strcmp(cchunk->style,"chunk/atom") != 0) + error->all(FLERR,"Compute dipole/chunk does not use chunk/atom compute"); + + int itmp; + double *p_qdist = (double *) force->pair->extract("qdist", itmp); + int *p_typeO = (int *) force->pair->extract("typeO", itmp); + int *p_typeH = (int *) force->pair->extract("typeH", itmp); + int *p_typeA = (int *) force->pair->extract("typeA", itmp); + int *p_typeB = (int *) force->pair->extract("typeB", itmp); + if (!p_qdist || !p_typeO || !p_typeH || !p_typeA || !p_typeB) + error->all(FLERR, "Pair style is incompatible with compute {}", style); + typeO = *p_typeO; + typeH = *p_typeH; + int typeA = *p_typeA; + int typeB = *p_typeB; + + if (force->angle == nullptr || force->bond == nullptr || force->angle->setflag == nullptr || + force->bond->setflag == nullptr) + error->all(FLERR, "Bond and angle potentials must be defined for compute {}", style); + if ((typeA < 1) || (typeA > atom->nangletypes) || (force->angle->setflag[typeA] == 0)) + error->all(FLERR, "Bad TIP4P angle type for compute {}", style); + if ((typeB < 1) || (typeB > atom->nbondtypes) || (force->bond->setflag[typeB] == 0)) + error->all(FLERR, "Bad TIP4P bond type for PPPM/TIP4P"); + double theta = force->angle->equilibrium_angle(typeA); + double blen = force->bond->equilibrium_distance(typeB); + alpha = *p_qdist / (cos(0.5 * theta) * blen); +} + +/* ---------------------------------------------------------------------- */ + +void ComputeDipoleTIP4PChunk::compute_array() +{ + int i,index; + double massone; + double unwrap[3]; + + invoked_array = update->ntimestep; + + // compute chunk/atom assigns atoms to chunk IDs + // extract ichunk index vector from compute + // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms + + nchunk = cchunk->setup_chunks(); + cchunk->compute_ichunk(); + int *ichunk = cchunk->ichunk; + + if (nchunk > maxchunk) allocate(); + size_array_rows = nchunk; + + // zero local per-chunk values + + for (i = 0; i < nchunk; i++) { + massproc[i] = chrgproc[i] = 0.0; + com[i][0] = com[i][1] = com[i][2] = 0.0; + dipole[i][0] = dipole[i][1] = dipole[i][2] = dipole[i][3] = 0.0; + } + + // compute COM for each chunk + + double **x = atom->x; + int *mask = atom->mask; + int *type = atom->type; + imageint *image = atom->image; + double *mass = atom->mass; + double *rmass = atom->rmass; + double *q = atom->q; + double **mu = atom->mu; + double xM[3]; + double *xi; + + int nlocal = atom->nlocal; + + for (i = 0; i < nlocal; i++) + if (mask[i] & groupbit) { + index = ichunk[i]-1; + if (index < 0) continue; + if (usecenter == MASSCENTER) { + if (rmass) massone = rmass[i]; + else massone = mass[type[i]]; + } else massone = 1.0; // usecenter == GEOMCENTER + domain->unmap(x[i],image[i],unwrap); + massproc[index] += massone; + if (atom->q_flag) chrgproc[index] += q[i]; + com[index][0] += unwrap[0] * massone; + com[index][1] += unwrap[1] * massone; + com[index][2] += unwrap[2] * massone; + } + + MPI_Allreduce(massproc,masstotal,nchunk,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(chrgproc,chrgtotal,nchunk,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&com[0][0],&comall[0][0],3*nchunk,MPI_DOUBLE,MPI_SUM,world); + + for (i = 0; i < nchunk; i++) { + if (masstotal[i] > 0.0) { + comall[i][0] /= masstotal[i]; + comall[i][1] /= masstotal[i]; + comall[i][2] /= masstotal[i]; + } + } + + // compute dipole for each chunk + + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + index = ichunk[i]-1; + if (index < 0) continue; + + if (type[i] == typeO) { + find_M(i,xM); + xi = xM; + } else { + xi = x[i]; + } + domain->unmap(xi,image[i],unwrap); + if (atom->q_flag) { + dipole[index][0] += q[i]*unwrap[0]; + dipole[index][1] += q[i]*unwrap[1]; + dipole[index][2] += q[i]*unwrap[2]; + } + if (atom->mu_flag) { + dipole[index][0] += mu[i][0]; + dipole[index][1] += mu[i][1]; + dipole[index][2] += mu[i][2]; + } + } + } + + MPI_Allreduce(&dipole[0][0],&dipoleall[0][0],4*nchunk,MPI_DOUBLE,MPI_SUM,world); + + for (i = 0; i < nchunk; i++) { + // correct for position dependence with charged chunks + dipoleall[i][0] -= chrgtotal[i]*comall[i][0]; + dipoleall[i][1] -= chrgtotal[i]*comall[i][1]; + dipoleall[i][2] -= chrgtotal[i]*comall[i][2]; + // compute total dipole moment + dipoleall[i][3] = sqrt(square(dipoleall[i][0]) + + square(dipoleall[i][1]) + + square(dipoleall[i][2])); + } +} + +/* ---------------------------------------------------------------------- + lock methods: called by fix ave/time + these methods ensure vector/array size is locked for Nfreq epoch + by passing lock info along to compute chunk/atom +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + increment lock counter +------------------------------------------------------------------------- */ + +void ComputeDipoleTIP4PChunk::lock_enable() +{ + cchunk->lockcount++; +} + +/* ---------------------------------------------------------------------- + decrement lock counter in compute chunk/atom, it if still exists +------------------------------------------------------------------------- */ + +void ComputeDipoleTIP4PChunk::lock_disable() +{ + int icompute = modify->find_compute(idchunk); + if (icompute >= 0) { + cchunk = dynamic_cast(modify->compute[icompute]); + cchunk->lockcount--; + } +} + +/* ---------------------------------------------------------------------- + calculate and return # of chunks = length of vector/array +------------------------------------------------------------------------- */ + +int ComputeDipoleTIP4PChunk::lock_length() +{ + nchunk = cchunk->setup_chunks(); + return nchunk; +} + +/* ---------------------------------------------------------------------- + set the lock from startstep to stopstep +------------------------------------------------------------------------- */ + +void ComputeDipoleTIP4PChunk::lock(Fix *fixptr, bigint startstep, bigint stopstep) +{ + cchunk->lock(fixptr,startstep,stopstep); +} + +/* ---------------------------------------------------------------------- + unset the lock +------------------------------------------------------------------------- */ + +void ComputeDipoleTIP4PChunk::unlock(Fix *fixptr) +{ + cchunk->unlock(fixptr); +} + +/* ---------------------------------------------------------------------- + free and reallocate per-chunk arrays +------------------------------------------------------------------------- */ + +void ComputeDipoleTIP4PChunk::allocate() +{ + memory->destroy(massproc); + memory->destroy(masstotal); + memory->destroy(chrgproc); + memory->destroy(chrgtotal); + memory->destroy(com); + memory->destroy(comall); + memory->destroy(dipole); + memory->destroy(dipoleall); + maxchunk = nchunk; + memory->create(massproc,maxchunk,"dipole/chunk:massproc"); + memory->create(masstotal,maxchunk,"dipole/chunk:masstotal"); + memory->create(chrgproc,maxchunk,"dipole/chunk:chrgproc"); + memory->create(chrgtotal,maxchunk,"dipole/chunk:chrgtotal"); + memory->create(com,maxchunk,3,"dipole/chunk:com"); + memory->create(comall,maxchunk,3,"dipole/chunk:comall"); + memory->create(dipole,maxchunk,4,"dipole/chunk:dipole"); + memory->create(dipoleall,maxchunk,4,"dipole/chunk:dipoleall"); + array = dipoleall; +} + +/* ---------------------------------------------------------------------- + memory usage of local data +------------------------------------------------------------------------- */ + +double ComputeDipoleTIP4PChunk::memory_usage() +{ + double bytes = (bigint) maxchunk * 2 * sizeof(double); + bytes += (double)maxchunk * 2*3 * sizeof(double); + bytes += (double)maxchunk * 2*4 * sizeof(double); + return bytes; +} + +/* ---------------------------------------------------------------------- */ + +void ComputeDipoleTIP4PChunk::find_M(int i, double *xM) +{ + double **x = atom->x; + + int iH1 = atom->map(atom->tag[i] + 1); + int iH2 = atom->map(atom->tag[i] + 2); + + if ((iH1 == -1) || (iH2 == -1)) error->one(FLERR,"TIP4P hydrogen is missing"); + if ((atom->type[iH1] != typeH) || (atom->type[iH2] != typeH)) + error->one(FLERR,"TIP4P hydrogen has incorrect atom type"); + + // set iH1,iH2 to index of closest image to O + + iH1 = domain->closest_image(i,iH1); + iH2 = domain->closest_image(i,iH2); + + double delx1 = x[iH1][0] - x[i][0]; + double dely1 = x[iH1][1] - x[i][1]; + double delz1 = x[iH1][2] - x[i][2]; + + double delx2 = x[iH2][0] - x[i][0]; + double dely2 = x[iH2][1] - x[i][1]; + double delz2 = x[iH2][2] - x[i][2]; + + xM[0] = x[i][0] + alpha * 0.5 * (delx1 + delx2); + xM[1] = x[i][1] + alpha * 0.5 * (dely1 + dely2); + xM[2] = x[i][2] + alpha * 0.5 * (delz1 + delz2); +} diff --git a/src/EXTRA-COMPUTE/compute_dipole_tip4p_chunk.h b/src/EXTRA-COMPUTE/compute_dipole_tip4p_chunk.h new file mode 100644 index 0000000000..63d6e8401e --- /dev/null +++ b/src/EXTRA-COMPUTE/compute_dipole_tip4p_chunk.h @@ -0,0 +1,64 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef COMPUTE_CLASS +// clang-format off +ComputeStyle(dipole/tip4p/chunk,ComputeDipoleTIP4PChunk); +// clang-format on +#else + +#ifndef LMP_COMPUTE_DIPOLE_TIP4P_CHUNK_H +#define LMP_COMPUTE_DIPOLE_TIP4P_CHUNK_H + +#include "compute.h" + +namespace LAMMPS_NS { +class Fix; + +class ComputeDipoleTIP4PChunk : public Compute { + public: + ComputeDipoleTIP4PChunk(class LAMMPS *, int, char **); + ~ComputeDipoleTIP4PChunk() override; + void init() override; + void compute_array() override; + + void lock_enable() override; + void lock_disable() override; + int lock_length() override; + void lock(Fix *, bigint, bigint) override; + void unlock(Fix *) override; + + double memory_usage() override; + + private: + int nchunk, maxchunk; + char *idchunk; + class ComputeChunkAtom *cchunk; + + double *massproc, *masstotal; + double *chrgproc, *chrgtotal; + double **com, **comall; + double **dipole, **dipoleall; + int usecenter; + + int typeO, typeH; + double alpha; + void find_M(int i, double *xM); + + void allocate(); +}; + +} // namespace LAMMPS_NS + +#endif +#endif From 2a6515f765acdcebefe7ce96a9a3acd255354a1d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 9 Mar 2023 21:38:13 -0500 Subject: [PATCH 297/448] use consistent names in error messages --- src/EXTRA-COMPUTE/compute_dipole_tip4p.cpp | 27 +++++++------- .../compute_dipole_tip4p_chunk.cpp | 37 ++++++++++--------- 2 files changed, 33 insertions(+), 31 deletions(-) diff --git a/src/EXTRA-COMPUTE/compute_dipole_tip4p.cpp b/src/EXTRA-COMPUTE/compute_dipole_tip4p.cpp index c81cd3787c..f57fe6a9fb 100644 --- a/src/EXTRA-COMPUTE/compute_dipole_tip4p.cpp +++ b/src/EXTRA-COMPUTE/compute_dipole_tip4p.cpp @@ -33,7 +33,7 @@ enum { MASSCENTER, GEOMCENTER }; ComputeDipoleTIP4P::ComputeDipoleTIP4P(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg) { - if ((narg < 3) || (narg > 4)) error->all(FLERR, "Illegal compute dipole command"); + if ((narg < 3) || (narg > 4)) error->all(FLERR, "Illegal compute dipole/tip4p command"); scalar_flag = 1; vector_flag = 1; @@ -51,7 +51,7 @@ ComputeDipoleTIP4P::ComputeDipoleTIP4P(LAMMPS *lmp, int narg, char **arg) : Comp else if (strcmp(arg[3], "mass") == 0) usecenter = MASSCENTER; else - error->all(FLERR, "Illegal compute dipole command"); + error->all(FLERR, "Illegal compute dipole/tip4p command"); } } @@ -66,6 +66,8 @@ ComputeDipoleTIP4P::~ComputeDipoleTIP4P() void ComputeDipoleTIP4P::init() { + if (!force->pair) error->all(FLERR, "Pair style must be defined for compute dipole/ti4p"); + int itmp; double *p_qdist = (double *) force->pair->extract("qdist", itmp); int *p_typeO = (int *) force->pair->extract("typeO", itmp); @@ -73,19 +75,18 @@ void ComputeDipoleTIP4P::init() int *p_typeA = (int *) force->pair->extract("typeA", itmp); int *p_typeB = (int *) force->pair->extract("typeB", itmp); if (!p_qdist || !p_typeO || !p_typeH || !p_typeA || !p_typeB) - error->all(FLERR, "Pair style is incompatible with compute {}", style); + error->all(FLERR, "Pair style is incompatible with compute dipole/tip4p"); typeO = *p_typeO; typeH = *p_typeH; int typeA = *p_typeA; int typeB = *p_typeB; - if (force->angle == nullptr || force->bond == nullptr || force->angle->setflag == nullptr || - force->bond->setflag == nullptr) - error->all(FLERR, "Bond and angle potentials must be defined for compute {}", style); + if (!force->angle || !force->bond || !force->angle->setflag || !force->bond->setflag) + error->all(FLERR, "Bond and angle potentials must be defined for compute dipole/tip4p"); if ((typeA < 1) || (typeA > atom->nangletypes) || (force->angle->setflag[typeA] == 0)) - error->all(FLERR, "Bad TIP4P angle type for compute {}", style); + error->all(FLERR, "Bad TIP4P angle type for compute dipole/tip4p"); if ((typeB < 1) || (typeB > atom->nbondtypes) || (force->bond->setflag[typeB] == 0)) - error->all(FLERR, "Bad TIP4P bond type for PPPM/TIP4P"); + error->all(FLERR, "Bad TIP4P bond type for compute dipole/tip4p"); double theta = force->angle->equilibrium_angle(typeA); double blen = force->bond->equilibrium_distance(typeB); alpha = *p_qdist / (cos(0.5 * theta) * blen); @@ -149,7 +150,7 @@ void ComputeDipoleTIP4P::compute_vector() for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { if (type[i] == typeO) { - find_M(i,xM); + find_M(i, xM); xi = xM; } else { xi = x[i]; @@ -196,14 +197,14 @@ void ComputeDipoleTIP4P::find_M(int i, double *xM) int iH1 = atom->map(atom->tag[i] + 1); int iH2 = atom->map(atom->tag[i] + 2); - if ((iH1 == -1) || (iH2 == -1)) error->one(FLERR,"TIP4P hydrogen is missing"); + if ((iH1 == -1) || (iH2 == -1)) error->one(FLERR, "TIP4P hydrogen is missing"); if ((atom->type[iH1] != typeH) || (atom->type[iH2] != typeH)) - error->one(FLERR,"TIP4P hydrogen has incorrect atom type"); + error->one(FLERR, "TIP4P hydrogen has incorrect atom type"); // set iH1,iH2 to index of closest image to O - iH1 = domain->closest_image(i,iH1); - iH2 = domain->closest_image(i,iH2); + iH1 = domain->closest_image(i, iH1); + iH2 = domain->closest_image(i, iH2); double delx1 = x[iH1][0] - x[i][0]; double dely1 = x[iH1][1] - x[i][1]; diff --git a/src/EXTRA-COMPUTE/compute_dipole_tip4p_chunk.cpp b/src/EXTRA-COMPUTE/compute_dipole_tip4p_chunk.cpp index 92e0d6fab2..651811bba5 100644 --- a/src/EXTRA-COMPUTE/compute_dipole_tip4p_chunk.cpp +++ b/src/EXTRA-COMPUTE/compute_dipole_tip4p_chunk.cpp @@ -45,7 +45,7 @@ ComputeDipoleTIP4PChunk::ComputeDipoleTIP4PChunk(LAMMPS *lmp, int narg, char **a comall(nullptr), dipole(nullptr), dipoleall(nullptr) { if ((narg != 4) && (narg != 5)) - error->all(FLERR,"Illegal compute dipole/chunk command"); + error->all(FLERR,"Illegal compute dipole/tip4p/chunk command"); array_flag = 1; size_array_cols = 4; @@ -62,7 +62,7 @@ ComputeDipoleTIP4PChunk::ComputeDipoleTIP4PChunk(LAMMPS *lmp, int narg, char **a if (narg == 5) { if (strncmp(arg[4],"geom",4) == 0) usecenter = GEOMCENTER; else if (strcmp(arg[4],"mass") == 0) usecenter = MASSCENTER; - else error->all(FLERR,"Illegal compute dipole/chunk command"); + else error->all(FLERR,"Illegal compute dipole/tip4p/chunk command"); } ComputeDipoleTIP4PChunk::init(); @@ -95,10 +95,12 @@ void ComputeDipoleTIP4PChunk::init() { int icompute = modify->find_compute(idchunk); if (icompute < 0) - error->all(FLERR,"Chunk/atom compute does not exist for compute dipole/chunk"); + error->all(FLERR,"Chunk/atom compute does not exist for compute dipole/tip4p/chunk"); cchunk = dynamic_cast(modify->compute[icompute]); if (strcmp(cchunk->style,"chunk/atom") != 0) - error->all(FLERR,"Compute dipole/chunk does not use chunk/atom compute"); + error->all(FLERR,"Compute dipole/tip4p/chunk does not use chunk/atom compute"); + + if (!force->pair) error->all(FLERR, "Pair style must be defined for compute dipole/tip4p/chunk"); int itmp; double *p_qdist = (double *) force->pair->extract("qdist", itmp); @@ -107,19 +109,18 @@ void ComputeDipoleTIP4PChunk::init() int *p_typeA = (int *) force->pair->extract("typeA", itmp); int *p_typeB = (int *) force->pair->extract("typeB", itmp); if (!p_qdist || !p_typeO || !p_typeH || !p_typeA || !p_typeB) - error->all(FLERR, "Pair style is incompatible with compute {}", style); + error->all(FLERR, "Pair style is incompatible with compute dipole/tip4p/chunk"); typeO = *p_typeO; typeH = *p_typeH; int typeA = *p_typeA; int typeB = *p_typeB; - if (force->angle == nullptr || force->bond == nullptr || force->angle->setflag == nullptr || - force->bond->setflag == nullptr) - error->all(FLERR, "Bond and angle potentials must be defined for compute {}", style); + if (!force->angle || !force->bond || !force->angle->setflag || !force->bond->setflag) + error->all(FLERR, "Bond and angle potentials must be defined for compute dipole/tip4p/chunk"); if ((typeA < 1) || (typeA > atom->nangletypes) || (force->angle->setflag[typeA] == 0)) - error->all(FLERR, "Bad TIP4P angle type for compute {}", style); + error->all(FLERR, "Bad TIP4P angle type for compute dipole/tip4p/chunk"); if ((typeB < 1) || (typeB > atom->nbondtypes) || (force->bond->setflag[typeB] == 0)) - error->all(FLERR, "Bad TIP4P bond type for PPPM/TIP4P"); + error->all(FLERR, "Bad TIP4P bond type for compute dipole/tip4p/chunk"); double theta = force->angle->equilibrium_angle(typeA); double blen = force->bond->equilibrium_distance(typeB); alpha = *p_qdist / (cos(0.5 * theta) * blen); @@ -309,14 +310,14 @@ void ComputeDipoleTIP4PChunk::allocate() memory->destroy(dipole); memory->destroy(dipoleall); maxchunk = nchunk; - memory->create(massproc,maxchunk,"dipole/chunk:massproc"); - memory->create(masstotal,maxchunk,"dipole/chunk:masstotal"); - memory->create(chrgproc,maxchunk,"dipole/chunk:chrgproc"); - memory->create(chrgtotal,maxchunk,"dipole/chunk:chrgtotal"); - memory->create(com,maxchunk,3,"dipole/chunk:com"); - memory->create(comall,maxchunk,3,"dipole/chunk:comall"); - memory->create(dipole,maxchunk,4,"dipole/chunk:dipole"); - memory->create(dipoleall,maxchunk,4,"dipole/chunk:dipoleall"); + memory->create(massproc,maxchunk,"dipole/tip4p/chunk:massproc"); + memory->create(masstotal,maxchunk,"dipole/tip4p/chunk:masstotal"); + memory->create(chrgproc,maxchunk,"dipole/tip4p/chunk:chrgproc"); + memory->create(chrgtotal,maxchunk,"dipole/tip4p/chunk:chrgtotal"); + memory->create(com,maxchunk,3,"dipole/tip4p/chunk:com"); + memory->create(comall,maxchunk,3,"dipole/tip4p/chunk:comall"); + memory->create(dipole,maxchunk,4,"dipole/tip4p/chunk:dipole"); + memory->create(dipoleall,maxchunk,4,"dipole/tip4p/chunk:dipoleall"); array = dipoleall; } From b5804b320c202a5fa71302235c69b55888219a0f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 10 Mar 2023 11:13:01 -0500 Subject: [PATCH 298/448] update/improve/correct error messages in fix efield and make compatible with derived class --- src/fix_efield.cpp | 43 ++++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/src/fix_efield.cpp b/src/fix_efield.cpp index 3514ad1c34..99482f8459 100644 --- a/src/fix_efield.cpp +++ b/src/fix_efield.cpp @@ -42,7 +42,7 @@ FixEfield::FixEfield(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), xstr(nullptr), ystr(nullptr), zstr(nullptr), estr(nullptr), idregion(nullptr), region(nullptr), efield(nullptr) { - if (narg < 6) utils::missing_cmd_args(FLERR, "fix efield", error); + if (narg < 6) utils::missing_cmd_args(FLERR, std::string("fix ")+style, error); dynamic_group_allow = 1; vector_flag = 1; @@ -85,20 +85,21 @@ FixEfield::FixEfield(LAMMPS *lmp, int narg, char **arg) : int iarg = 6; while (iarg < narg) { if (strcmp(arg[iarg], "region") == 0) { - if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix efield region", error); + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, std::string("fix ") + style + " region", error); region = domain->get_region_by_id(arg[iarg + 1]); if (!region) error->all(FLERR, "Region {} for fix efield does not exist", arg[iarg + 1]); idregion = utils::strdup(arg[iarg + 1]); iarg += 2; } else if (strcmp(arg[iarg], "energy") == 0) { - if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix efield energy", error); + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, std::string("fix ") + style + "energy", error); if (utils::strmatch(arg[iarg + 1], "^v_")) { estr = utils::strdup(arg[iarg + 1] + 2); } else - error->all(FLERR, "Illegal fix efield energy value argument"); + error->all(FLERR, "Unsupported argument for fix {} energy command: {}", style, arg[iarg]); iarg += 2; - } else - error->all(FLERR, "Unknown fix efield keyword: {}", arg[iarg]); + } else { + error->all(FLERR, "Unknown keyword for fix {} command: {}", style, arg[iarg]); + } } force_flag = 0; @@ -140,47 +141,47 @@ void FixEfield::init() qflag = muflag = 0; if (atom->q_flag) qflag = 1; if (atom->mu_flag && atom->torque_flag) muflag = 1; - if (!qflag && !muflag) error->all(FLERR, "Fix efield requires atom attribute q or mu"); + if (!qflag && !muflag) error->all(FLERR, "Fix {} requires atom attribute q or mu", style); // check variables if (xstr) { xvar = input->variable->find(xstr); - if (xvar < 0) error->all(FLERR, "Variable {} for fix efield does not exist", xstr); + if (xvar < 0) error->all(FLERR, "Variable {} for fix {} does not exist", xstr, style); if (input->variable->equalstyle(xvar)) xstyle = EQUAL; else if (input->variable->atomstyle(xvar)) xstyle = ATOM; else - error->all(FLERR, "Variable {} for fix efield is invalid style", xstr); + error->all(FLERR, "Variable {} for fix {} is invalid style", xstr, style); } if (ystr) { yvar = input->variable->find(ystr); - if (yvar < 0) error->all(FLERR, "Variable {} for fix efield does not exist", ystr); + if (yvar < 0) error->all(FLERR, "Variable {} for fix {} does not exist", ystr, style); if (input->variable->equalstyle(yvar)) ystyle = EQUAL; else if (input->variable->atomstyle(yvar)) ystyle = ATOM; else - error->all(FLERR, "Variable {} for fix efield is invalid style", ystr); + error->all(FLERR, "Variable {} for fix {} is invalid style", ystr, style); } if (zstr) { zvar = input->variable->find(zstr); - if (zvar < 0) error->all(FLERR, "Variable {} for fix efield does not exist", zstr); + if (zvar < 0) error->all(FLERR, "Variable {} for fix {} does not exist", zstr, style); if (input->variable->equalstyle(zvar)) zstyle = EQUAL; else if (input->variable->atomstyle(zvar)) zstyle = ATOM; else - error->all(FLERR, "Variable {} for fix efield is invalid style", zstr); + error->all(FLERR, "Variable {} for fix {} is invalid style", zstr, style); } if (estr) { evar = input->variable->find(estr); - if (evar < 0) error->all(FLERR, "Variable {} for fix efield does not exist", estr); + if (evar < 0) error->all(FLERR, "Variable {} for fix {} does not exist", estr, style); if (input->variable->atomstyle(evar)) estyle = ATOM; else - error->all(FLERR, "Variable {} for fix efield is invalid style", estr); + error->all(FLERR, "Variable {} for fix {} is invalid style", estr, style); } else estyle = NONE; @@ -188,7 +189,7 @@ void FixEfield::init() if (idregion) { region = domain->get_region_by_id(idregion); - if (!region) error->all(FLERR, "Region {} for fix efield does not exist", idregion); + if (!region) error->all(FLERR, "Region {} for fix {} does not exist", idregion, style); } if (xstyle == ATOM || ystyle == ATOM || zstyle == ATOM) @@ -199,15 +200,15 @@ void FixEfield::init() varflag = CONSTANT; if (muflag && varflag == ATOM) - error->all(FLERR, "Fix efield with dipoles cannot use atom-style variables"); + error->all(FLERR, "Fix {} with dipoles cannot use atom-style variables", style); if (muflag && update->whichflag == 2 && comm->me == 0) - error->warning(FLERR, "The minimizer does not re-orient dipoles when using fix efield"); + error->warning(FLERR, "The minimizer does not re-orient dipoles when using fix {}", style); if (varflag == CONSTANT && estyle != NONE) - error->all(FLERR, "Cannot use variable energy with constant efield in fix efield"); + error->all(FLERR, "Cannot use variable energy with constant efield in fix {}", style); if ((varflag == EQUAL || varflag == ATOM) && update->whichflag == 2 && estyle == NONE) - error->all(FLERR, "Must use variable energy with fix efield"); + error->all(FLERR, "Must use variable energy with fix {}", style); if (utils::strmatch(update->integrate_style, "^respa")) { ilevel_respa = (dynamic_cast(update->integrate))->nlevels - 1; @@ -254,7 +255,7 @@ void FixEfield::post_force(int vflag) // reallocate efield array if necessary - if (varflag == ATOM && atom->nmax > maxatom) { + if ((varflag == ATOM) && (atom->nmax > maxatom)) { maxatom = atom->nmax; memory->destroy(efield); memory->create(efield, maxatom, 4, "efield:efield"); From 2de3f4d261e162df6afe66388a22d9fcd1e5de08 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 10 Mar 2023 12:32:26 -0500 Subject: [PATCH 299/448] implementation for fix efield/tip4p for static field (untested) --- src/EXTRA-FIX/fix_efield_tip4p.cpp | 342 +++++++++++++++++++++++++++++ src/EXTRA-FIX/fix_efield_tip4p.h | 43 ++++ src/fix_efield.h | 2 - 3 files changed, 385 insertions(+), 2 deletions(-) create mode 100644 src/EXTRA-FIX/fix_efield_tip4p.cpp create mode 100644 src/EXTRA-FIX/fix_efield_tip4p.h diff --git a/src/EXTRA-FIX/fix_efield_tip4p.cpp b/src/EXTRA-FIX/fix_efield_tip4p.cpp new file mode 100644 index 0000000000..c5ecc313ec --- /dev/null +++ b/src/EXTRA-FIX/fix_efield_tip4p.cpp @@ -0,0 +1,342 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "fix_efield_tip4p.h" + +#include "angle.h" +#include "atom.h" +#include "bond.h" +#include "comm.h" +#include "domain.h" +#include "error.h" +#include "force.h" +#include "input.h" +#include "memory.h" +#include "modify.h" +#include "pair.h" +#include "region.h" +#include "respa.h" +#include "update.h" +#include "variable.h" + +#include + +using namespace LAMMPS_NS; +using namespace FixConst; + +/* ---------------------------------------------------------------------- */ + +FixEfieldTIP4P::FixEfieldTIP4P(LAMMPS *_lmp, int narg, char **arg) : FixEfield(_lmp, narg, arg) {} + +/* ---------------------------------------------------------------------- */ + +void FixEfieldTIP4P::init() +{ + FixEfield::init(); + + if (atom->tag_enable == 0) error->all(FLERR, "Fix efield/tip4p requires atom IDs"); + if (!atom->q_flag) error->all(FLERR, "Fix efield/tip4p requires atom attribute q"); + + int itmp; + double *p_qdist = (double *) force->pair->extract("qdist", itmp); + int *p_typeO = (int *) force->pair->extract("typeO", itmp); + int *p_typeH = (int *) force->pair->extract("typeH", itmp); + int *p_typeA = (int *) force->pair->extract("typeA", itmp); + int *p_typeB = (int *) force->pair->extract("typeB", itmp); + if (!p_qdist || !p_typeO || !p_typeH || !p_typeA || !p_typeB) + error->all(FLERR, "Pair style is incompatible with compute {}", style); + typeO = *p_typeO; + typeH = *p_typeH; + int typeA = *p_typeA; + int typeB = *p_typeB; + + if (force->angle == nullptr || force->bond == nullptr || force->angle->setflag == nullptr || + force->bond->setflag == nullptr) + error->all(FLERR, "Bond and angle potentials must be defined for compute {}", style); + if ((typeA < 1) || (typeA > atom->nangletypes) || (force->angle->setflag[typeA] == 0)) + error->all(FLERR, "Bad TIP4P angle type for compute {}", style); + if ((typeB < 1) || (typeB > atom->nbondtypes) || (force->bond->setflag[typeB] == 0)) + error->all(FLERR, "Bad TIP4P bond type for PPPM/TIP4P"); + + // determine alpha parameter + + const double theta = force->angle->equilibrium_angle(typeA); + const double blen = force->bond->equilibrium_distance(typeB); + alpha = *p_qdist / (cos(0.5 * theta) * blen); +} + +/* ---------------------------------------------------------------------- + apply F = qE +------------------------------------------------------------------------- */ + +void FixEfieldTIP4P::post_force(int vflag) +{ + double **f = atom->f; + double *q = atom->q; + tagint *tag = atom->tag; + int *type = atom->type; + int *mask = atom->mask; + imageint *image = atom->image; + int nlocal = atom->nlocal; + + // virial setup + + v_init(vflag); + + // reallocate efield array if necessary + + if ((varflag == ATOM) && (atom->nmax > maxatom)) { + maxatom = atom->nmax; + memory->destroy(efield); + memory->create(efield, maxatom, 4, "efield:efield"); + } + + // update region if necessary + + if (region) region->prematch(); + + // fsum[0] = "potential energy" for added force + // fsum[123] = extra force added to atoms + + fsum[0] = fsum[1] = fsum[2] = fsum[3] = 0.0; + force_flag = 0; + + double **x = atom->x; + double fx, fy, fz, xM[3]; + double v[6]; + int iO, iH1, iH2; + + // constant efield + + if (varflag == CONSTANT) { + double unwrap[3]; + + // charge interactions + // force = qE, potential energy = F dot x in unwrapped coords + + if (qflag) { + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + + // this is an atom belonging to a TIP4P molecule + + if ((type[i] == typeO) || (type[i] == typeH)) { + + if (type[i] == typeO) { + iO = i; + iH1 = atom->map(tag[i] + 1); + iH2 = atom->map(tag[i] + 2); + } else { + // set indices for first or second hydrogen + iO = atom->map(tag[i] - 1); + if ((iO != -1) && (type[iO] == typeO)) { + iH1 = i; + iH2 = atom->map(tag[i] + 1); + } else { + iO = atom->map(tag[i] - 2); + iH1 = atom->map(tag[i] - 1); + iH2 = i; + } + } + if ((iH1 == -1) || (iH2 == -1)) error->one(FLERR, "TIP4P hydrogen is missing"); + if (iO == -1) error->one(FLERR, "TIP4P oxygen is missing"); + if ((atom->type[iH1] != typeH) || (atom->type[iH2] != typeH)) + error->one(FLERR, "TIP4P hydrogen has incorrect atom type"); + if (atom->type[iO] != typeO) error->one(FLERR, "TIP4P oxygen has incorrect atom type"); + + find_M(x[iO], x[iH1], x[iH2], xM); + if (region && !region->match(xM[0], xM[1], xM[2])) continue; + + fx = q[iO] * ex; + fy = q[iO] * ey; + fz = q[iO] * ez; + + // distribute and apply forces, but only to local atoms + if (iO < nlocal) { + f[iO][0] += fx * (1.0 - alpha); + f[iO][1] += fy * (1.0 - alpha); + f[iO][2] += fz * (1.0 - alpha); + } + if (iH1 < nlocal) { + f[iH1][0] += 0.5 * alpha * fx; + f[iH1][1] += 0.5 * alpha * fy; + f[iH1][2] += 0.5 * alpha * fz; + } + if (iH2 < nlocal) { + f[iH2][0] += 0.5 * alpha * fx; + f[iH2][1] += 0.5 * alpha * fy; + f[iH2][2] += 0.5 * alpha * fz; + } + + domain->unmap(xM, image[i], unwrap); + fsum[0] -= fx * unwrap[0] + fy * unwrap[1] + fz * unwrap[2]; + fsum[1] += fx; + fsum[2] += fy; + fsum[3] += fz; + + // tally virial contribution with Oxygen + if (evflag && (iO < nlocal)) { + v[0] = fx * unwrap[0]; + v[1] = fy * unwrap[1]; + v[2] = fz * unwrap[2]; + v[3] = fx * unwrap[1]; + v[4] = fx * unwrap[2]; + v[5] = fy * unwrap[2]; + v_tally(iO, v); + } + + } else { + + if (region && !region->match(x[i][0], x[i][1], x[i][2])) continue; + fx = q[i] * ex; + fy = q[i] * ey; + fz = q[i] * ez; + f[i][0] += fx; + f[i][1] += fy; + f[i][2] += fz; + + domain->unmap(x[i], image[i], unwrap); + fsum[0] -= fx * unwrap[0] + fy * unwrap[1] + fz * unwrap[2]; + fsum[1] += fx; + fsum[2] += fy; + fsum[3] += fz; + if (evflag) { + v[0] = fx * unwrap[0]; + v[1] = fy * unwrap[1]; + v[2] = fz * unwrap[2]; + v[3] = fx * unwrap[1]; + v[4] = fx * unwrap[2]; + v[5] = fy * unwrap[2]; + v_tally(i, v); + } + } + } + } + } + + // dipole interactions + // no force, torque = mu cross E, potential energy = -mu dot E + + if (muflag) { + double **mu = atom->mu; + double **t = atom->torque; + double tx, ty, tz; + for (int i = 0; i < nlocal; i++) + if (mask[i] & groupbit) { + if (region && !region->match(x[i][0], x[i][1], x[i][2])) continue; + tx = ez * mu[i][1] - ey * mu[i][2]; + ty = ex * mu[i][2] - ez * mu[i][0]; + tz = ey * mu[i][0] - ex * mu[i][1]; + t[i][0] += tx; + t[i][1] += ty; + t[i][2] += tz; + fsum[0] -= mu[i][0] * ex + mu[i][1] * ey + mu[i][2] * ez; + } + } + + // variable efield, wrap with clear/add + // potential energy = evar if defined, else 0.0 + + } else { + + modify->clearstep_compute(); + + if (xstyle == EQUAL) { + ex = qe2f * input->variable->compute_equal(xvar); + } else if (xstyle == ATOM) { + input->variable->compute_atom(xvar, igroup, &efield[0][0], 4, 0); + } + if (ystyle == EQUAL) { + ey = qe2f * input->variable->compute_equal(yvar); + } else if (ystyle == ATOM) { + input->variable->compute_atom(yvar, igroup, &efield[0][1], 4, 0); + } + if (zstyle == EQUAL) { + ez = qe2f * input->variable->compute_equal(zvar); + } else if (zstyle == ATOM) { + input->variable->compute_atom(zvar, igroup, &efield[0][2], 4, 0); + } + if (estyle == ATOM) input->variable->compute_atom(evar, igroup, &efield[0][3], 4, 0); + + modify->addstep_compute(update->ntimestep + 1); + + // charge interactions + // force = qE + + if (qflag) { + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + if (region && !region->match(x[i][0], x[i][1], x[i][2])) continue; + if (xstyle == ATOM) { + fx = qe2f * q[i] * efield[i][0]; + } else { + fx = q[i] * ex; + } + f[i][0] += fx; + fsum[1] += fx; + if (ystyle == ATOM) { + fy = qe2f * q[i] * efield[i][1]; + } else { + fy = q[i] * ey; + } + f[i][1] += fy; + fsum[2] += fy; + if (zstyle == ATOM) { + fz = qe2f * q[i] * efield[i][2]; + } else { + fz = q[i] * ez; + } + f[i][2] += fz; + fsum[3] += fz; + if (estyle == ATOM) fsum[0] += efield[0][3]; + } + } + } + + // dipole interactions + // no force, torque = mu cross E + + if (muflag) { + double **mu = atom->mu; + double **t = atom->torque; + double tx, ty, tz; + for (int i = 0; i < nlocal; i++) + if (mask[i] & groupbit) { + if (region && !region->match(x[i][0], x[i][1], x[i][2])) continue; + tx = ez * mu[i][1] - ey * mu[i][2]; + ty = ex * mu[i][2] - ez * mu[i][0]; + tz = ey * mu[i][0] - ex * mu[i][1]; + t[i][0] += tx; + t[i][1] += ty; + t[i][2] += tz; + } + } + } +} + +/* ---------------------------------------------------------------------- */ + +void FixEfieldTIP4P::find_M(double *xO, double *xH1, double *xH2, double *xM) +{ + double delx1 = xH1[0] - xO[0]; + double dely1 = xH1[1] - xO[1]; + double delz1 = xH1[2] - xO[2]; + + double delx2 = xH2[0] - xO[0]; + double dely2 = xH2[1] - xO[1]; + double delz2 = xH2[2] - xO[2]; + + xM[0] = xO[0] + alpha * 0.5 * (delx1 + delx2); + xM[1] = xO[1] + alpha * 0.5 * (dely1 + dely2); + xM[2] = xO[2] + alpha * 0.5 * (delz1 + delz2); +} diff --git a/src/EXTRA-FIX/fix_efield_tip4p.h b/src/EXTRA-FIX/fix_efield_tip4p.h new file mode 100644 index 0000000000..7970e67b3b --- /dev/null +++ b/src/EXTRA-FIX/fix_efield_tip4p.h @@ -0,0 +1,43 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef FIX_CLASS +// clang-format off +FixStyle(efield/tip4p,FixEfieldTIP4P); +// clang-format on +#else + +#ifndef LMP_FIX_EFIELD_TIP4P_H +#define LMP_FIX_EFIELD_TIP4P_H + +#include "fix_efield.h" + +namespace LAMMPS_NS { + +class FixEfieldTIP4P : public FixEfield { + + public: + FixEfieldTIP4P(class LAMMPS *, int, char **); + + void init() override; + void post_force(int) override; + + protected: + double alpha; + int typeO, typeH; // atom types for TIP4P molecule + void find_M(double *, double *, double *, double *); +}; +} // namespace LAMMPS_NS + +#endif +#endif diff --git a/src/fix_efield.h b/src/fix_efield.h index 2ebdcbfaed..52c827bb50 100644 --- a/src/fix_efield.h +++ b/src/fix_efield.h @@ -60,8 +60,6 @@ class FixEfield : public Fix { int force_flag; double fsum[4], fsum_all[4]; }; - } // namespace LAMMPS_NS - #endif #endif From 37b7ba7cae5358e71782af82df25bd783a7aca17 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 11 Mar 2023 13:58:20 -0500 Subject: [PATCH 300/448] all functionality of fix efield/tip4p present (untested) --- src/EXTRA-FIX/fix_efield_tip4p.cpp | 412 ++++++++++++++++++++++++----- 1 file changed, 352 insertions(+), 60 deletions(-) diff --git a/src/EXTRA-FIX/fix_efield_tip4p.cpp b/src/EXTRA-FIX/fix_efield_tip4p.cpp index c5ecc313ec..0862c8a310 100644 --- a/src/EXTRA-FIX/fix_efield_tip4p.cpp +++ b/src/EXTRA-FIX/fix_efield_tip4p.cpp @@ -113,13 +113,12 @@ void FixEfieldTIP4P::post_force(int vflag) double **x = atom->x; double fx, fy, fz, xM[3]; - double v[6]; + double v[6], unwrap[3]; int iO, iH1, iH2; // constant efield if (varflag == CONSTANT) { - double unwrap[3]; // charge interactions // force = qE, potential energy = F dot x in unwrapped coords @@ -128,7 +127,8 @@ void FixEfieldTIP4P::post_force(int vflag) for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { - // this is an atom belonging to a TIP4P molecule + // process *all* atoms belonging to a TIP4P molecule which means we compute all + // contributions 3 times but only add a third and only when the atom is local if ((type[i] == typeO) || (type[i] == typeH)) { @@ -155,46 +155,129 @@ void FixEfieldTIP4P::post_force(int vflag) if (atom->type[iO] != typeO) error->one(FLERR, "TIP4P oxygen has incorrect atom type"); find_M(x[iO], x[iH1], x[iH2], xM); - if (region && !region->match(xM[0], xM[1], xM[2])) continue; - fx = q[iO] * ex; - fy = q[iO] * ey; - fz = q[iO] * ez; + // M site contributions - // distribute and apply forces, but only to local atoms - if (iO < nlocal) { - f[iO][0] += fx * (1.0 - alpha); - f[iO][1] += fy * (1.0 - alpha); - f[iO][2] += fz * (1.0 - alpha); - } - if (iH1 < nlocal) { - f[iH1][0] += 0.5 * alpha * fx; - f[iH1][1] += 0.5 * alpha * fy; - f[iH1][2] += 0.5 * alpha * fz; - } - if (iH2 < nlocal) { - f[iH2][0] += 0.5 * alpha * fx; - f[iH2][1] += 0.5 * alpha * fy; - f[iH2][2] += 0.5 * alpha * fz; + if (!region || region->match(xM[0], xM[1], xM[2])) { + + // we match a TIP4P molecule 3 times, so divide force contributions by 3. + + fx = q[iO] * ex / 3.0; + fy = q[iO] * ey / 3.0; + fz = q[iO] * ez / 3.0; + + // distribute and apply forces, but only to local atoms + + if (iO < nlocal) { + f[iO][0] += fx * (1.0 - alpha); + f[iO][1] += fy * (1.0 - alpha); + f[iO][2] += fz * (1.0 - alpha); + } + if (iH1 < nlocal) { + f[iH1][0] += 0.5 * alpha * fx; + f[iH1][1] += 0.5 * alpha * fy; + f[iH1][2] += 0.5 * alpha * fz; + } + if (iH2 < nlocal) { + f[iH2][0] += 0.5 * alpha * fx; + f[iH2][1] += 0.5 * alpha * fy; + f[iH2][2] += 0.5 * alpha * fz; + } + + domain->unmap(xM, image[iO], unwrap); + fsum[0] -= fx * unwrap[0] + fy * unwrap[1] + fz * unwrap[2]; + fsum[1] += fx; + fsum[2] += fy; + fsum[3] += fz; + + // tally virial contribution with Oxygen + if (evflag && (iO < nlocal)) { + v[0] = fx * unwrap[0]; + v[1] = fy * unwrap[1]; + v[2] = fz * unwrap[2]; + v[3] = fx * unwrap[1]; + v[4] = fx * unwrap[2]; + v[5] = fy * unwrap[2]; + v_tally(iO, v); + } } - domain->unmap(xM, image[i], unwrap); - fsum[0] -= fx * unwrap[0] + fy * unwrap[1] + fz * unwrap[2]; - fsum[1] += fx; - fsum[2] += fy; - fsum[3] += fz; + // H1 site contributions - // tally virial contribution with Oxygen - if (evflag && (iO < nlocal)) { - v[0] = fx * unwrap[0]; - v[1] = fy * unwrap[1]; - v[2] = fz * unwrap[2]; - v[3] = fx * unwrap[1]; - v[4] = fx * unwrap[2]; - v[5] = fy * unwrap[2]; - v_tally(iO, v); + if (!region || region->match(x[iH1][0], x[iH1][1], x[iH1][2])) { + + // we match a TIP4P molecule 3 times, so divide force contributions by 3. + + fx = q[iH1] * ex / 3.0; + fy = q[iH1] * ey / 3.0; + fz = q[iH1] * ez / 3.0; + + if (iH1 < nlocal) { + f[iH1][0] += fx; + f[iH1][1] += fy; + f[iH1][2] += fz; + } + + // tally global force + + domain->unmap(x[iH1], image[iH1], unwrap); + fsum[0] -= fx * unwrap[0] + fy * unwrap[1] + fz * unwrap[2]; + fsum[1] += fx; + fsum[2] += fy; + fsum[3] += fz; + + // tally virial contributions + + if (evflag && (iH1 < nlocal)) { + v[0] = fx * unwrap[0]; + v[1] = fy * unwrap[1]; + v[2] = fz * unwrap[2]; + v[3] = fx * unwrap[1]; + v[4] = fx * unwrap[2]; + v[5] = fy * unwrap[2]; + v_tally(iH1, v); + } } + // H2 site contributions + + if (!region || region->match(x[iH2][0], x[iH2][1], x[iH2][2])) { + + // we match 3 atoms per molecule, so divide force contributions by 3. + + fx = q[iH2] * ex / 3.0; + fy = q[iH2] * ey / 3.0; + fz = q[iH2] * ez / 3.0; + + if (iH2 < nlocal) { + f[iH2][0] += fx; + f[iH2][1] += fy; + f[iH2][2] += fz; + } + + // tally global force + + domain->unmap(x[iH2], image[iH2], unwrap); + fsum[0] -= fx * unwrap[0] + fy * unwrap[1] + fz * unwrap[2]; + fsum[1] += fx; + fsum[2] += fy; + fsum[3] += fz; + + // tally virial contributions + + if (evflag && (iH2 < nlocal)) { + v[0] = fx * unwrap[0]; + v[1] = fy * unwrap[1]; + v[2] = fz * unwrap[2]; + v[3] = fx * unwrap[1]; + v[4] = fx * unwrap[2]; + v[5] = fy * unwrap[2]; + v_tally(iH2, v); + } + } + + // non-TIP4P atoms + } else { if (region && !region->match(x[i][0], x[i][1], x[i][2])) continue; @@ -224,7 +307,7 @@ void FixEfieldTIP4P::post_force(int vflag) } } - // dipole interactions + // dipole interactions, no special TIP4P treatment needed // no force, torque = mu cross E, potential energy = -mu dot E if (muflag) { @@ -244,11 +327,11 @@ void FixEfieldTIP4P::post_force(int vflag) } } + } else { + // variable efield, wrap with clear/add // potential energy = evar if defined, else 0.0 - } else { - modify->clearstep_compute(); if (xstyle == EQUAL) { @@ -276,29 +359,238 @@ void FixEfieldTIP4P::post_force(int vflag) if (qflag) { for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { - if (region && !region->match(x[i][0], x[i][1], x[i][2])) continue; - if (xstyle == ATOM) { - fx = qe2f * q[i] * efield[i][0]; + + // process *all* atoms belonging to a TIP4P molecule which means we compute all + // contributions 3 times but only add a third and only when the atom is local + + if ((type[i] == typeO) || (type[i] == typeH)) { + + if (type[i] == typeO) { + iO = i; + iH1 = atom->map(tag[i] + 1); + iH2 = atom->map(tag[i] + 2); + } else { + // set indices for first or second hydrogen + iO = atom->map(tag[i] - 1); + if ((iO != -1) && (type[iO] == typeO)) { + iH1 = i; + iH2 = atom->map(tag[i] + 1); + } else { + iO = atom->map(tag[i] - 2); + iH1 = atom->map(tag[i] - 1); + iH2 = i; + } + } + if ((iH1 == -1) || (iH2 == -1)) error->one(FLERR, "TIP4P hydrogen is missing"); + if (iO == -1) error->one(FLERR, "TIP4P oxygen is missing"); + if ((atom->type[iH1] != typeH) || (atom->type[iH2] != typeH)) + error->one(FLERR, "TIP4P hydrogen has incorrect atom type"); + if (atom->type[iO] != typeO) error->one(FLERR, "TIP4P oxygen has incorrect atom type"); + + find_M(x[iO], x[iH1], x[iH2], xM); + + // M site contributions + + if (!region || region->match(xM[0], xM[1], xM[2])) { + + // we match a TIP3P molecule 3 times, so divide force contributions by 3. + + if (xstyle == ATOM) { + fx = qe2f * q[iO] * efield[iO][0] / 3.0; + } else { + fx = q[iO] * ex / 3.0; + } + if (ystyle == ATOM) { + fy = qe2f * q[iO] * efield[iO][1] / 3.0; + } else { + fy = q[iO] * ey / 3.0; + } + if (zstyle == ATOM) { + fz = qe2f * q[iO] * efield[iO][2] / 3.0; + } else { + fz = q[iO] * ez / 3.0; + } + + // distribute and apply forces, but only to local atoms + + if (iO < nlocal) { + f[iO][0] += fx * (1.0 - alpha); + f[iO][1] += fy * (1.0 - alpha); + f[iO][2] += fz * (1.0 - alpha); + } + if (iH1 < nlocal) { + f[iH1][0] += 0.5 * alpha * fx; + f[iH1][1] += 0.5 * alpha * fy; + f[iH1][2] += 0.5 * alpha * fz; + } + if (iH2 < nlocal) { + f[iH2][0] += 0.5 * alpha * fx; + f[iH2][1] += 0.5 * alpha * fy; + f[iH2][2] += 0.5 * alpha * fz; + } + + domain->unmap(xM, image[iO], unwrap); + if (estyle == ATOM) + fsum[0] += efield[0][3]; + else + fsum[0] -= fx * unwrap[0] + fy * unwrap[1] + fz * unwrap[2]; + fsum[1] += fx; + fsum[2] += fy; + fsum[3] += fz; + + // tally virial contribution for point M with Oxygen + + if (evflag && (iO < nlocal)) { + v[0] = fx * unwrap[0]; + v[1] = fy * unwrap[1]; + v[2] = fz * unwrap[2]; + v[3] = fx * unwrap[1]; + v[4] = fx * unwrap[2]; + v[5] = fy * unwrap[2]; + v_tally(iO, v); + } + } + + // H1 site contributions + + if (!region || region->match(x[iH1][0], x[iH1][1], x[iH1][2])) { + + // we match a TIP4P molecule 3 times, so divide force contributions by 3. + + if (xstyle == ATOM) { + fx = qe2f * q[iH1] * efield[iH1][0] / 3.0; + } else { + fx = q[iH1] * ex / 3.0; + } + if (ystyle == ATOM) { + fy = qe2f * q[iH1] * efield[iH1][1] / 3.0; + } else { + fy = q[iH1] * ey / 3.0; + } + if (zstyle == ATOM) { + fz = qe2f * q[iH1] * efield[iH1][2] / 3.0; + } else { + fz = q[iH1] * ez / 3.0; + } + + if (iH1 < nlocal) { + f[iH1][0] += fx; + f[iH1][1] += fy; + f[iH1][2] += fz; + } + + // tally global force + + domain->unmap(x[iH1], image[iH1], unwrap); + if (estyle == ATOM) + fsum[0] += efield[0][3]; + else + fsum[0] -= fx * unwrap[0] + fy * unwrap[1] + fz * unwrap[2]; + fsum[1] += fx; + fsum[2] += fy; + fsum[3] += fz; + + // tally virial contribution + + if (evflag && (iH1 < nlocal)) { + v[0] = fx * unwrap[0]; + v[1] = fy * unwrap[1]; + v[2] = fz * unwrap[2]; + v[3] = fx * unwrap[1]; + v[4] = fx * unwrap[2]; + v[5] = fy * unwrap[2]; + v_tally(iH1, v); + } + } + + // H2 site contributions + + if (!region || region->match(x[iH2][0], x[iH2][1], x[iH2][2])) { + + // we match a TIP4P molecule 3 times, so divide force contributions by 3. + + if (xstyle == ATOM) { + fx = qe2f * q[iH2] * efield[iH2][0] / 3.0; + } else { + fx = q[iH2] * ex / 3.0; + } + if (ystyle == ATOM) { + fy = qe2f * q[iH2] * efield[iH2][1] / 3.0; + } else { + fy = q[iH2] * ey / 3.0; + } + if (zstyle == ATOM) { + fz = qe2f * q[iH2] * efield[iH2][2] / 3.0; + } else { + fz = q[iH2] * ez / 3.0; + } + + if (iH2 < nlocal) { + f[iH2][0] += fx; + f[iH2][1] += fy; + f[iH2][2] += fz; + } + + // tally global force + + domain->unmap(x[iH2], image[iH2], unwrap); + if (estyle == ATOM) + fsum[0] += efield[0][3]; + else + fsum[0] -= fx * unwrap[0] + fy * unwrap[1] + fz * unwrap[2]; + fsum[1] += fx; + fsum[2] += fy; + fsum[3] += fz; + + // tally virial contribution + + if (evflag && (iH2 < nlocal)) { + v[0] = fx * unwrap[0]; + v[1] = fy * unwrap[1]; + v[2] = fz * unwrap[2]; + v[3] = fx * unwrap[1]; + v[4] = fx * unwrap[2]; + v[5] = fy * unwrap[2]; + v_tally(iH2, v); + } + } + } else { - fx = q[i] * ex; + + // non-TIP4P charge interactions + // force = qE + + if (region && !region->match(x[i][0], x[i][1], x[i][2])) continue; + + if (xstyle == ATOM) { + fx = qe2f * q[i] * efield[i][0]; + } else { + fx = q[i] * ex; + } + f[i][0] += fx; + fsum[1] += fx; + if (ystyle == ATOM) { + fy = qe2f * q[i] * efield[i][1]; + } else { + fy = q[i] * ey; + } + f[i][1] += fy; + fsum[2] += fy; + if (zstyle == ATOM) { + fz = qe2f * q[i] * efield[i][2]; + } else { + fz = q[i] * ez; + } + f[i][2] += fz; + fsum[3] += fz; + + if (estyle == ATOM) { + fsum[0] += efield[0][3]; + } else { + domain->unmap(x[i], image[i], unwrap); + fsum[0] -= fx * unwrap[0] + fy * unwrap[1] + fz * unwrap[2]; + } } - f[i][0] += fx; - fsum[1] += fx; - if (ystyle == ATOM) { - fy = qe2f * q[i] * efield[i][1]; - } else { - fy = q[i] * ey; - } - f[i][1] += fy; - fsum[2] += fy; - if (zstyle == ATOM) { - fz = qe2f * q[i] * efield[i][2]; - } else { - fz = q[i] * ez; - } - f[i][2] += fz; - fsum[3] += fz; - if (estyle == ATOM) fsum[0] += efield[0][3]; } } } From 6b6f8087d3deaa7bcd3e8019d107d27cd90a885b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 11 Mar 2023 17:45:38 -0500 Subject: [PATCH 301/448] output potential energy with fix efield with equal style variables --- src/fix_efield.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/fix_efield.cpp b/src/fix_efield.cpp index 99482f8459..9d54ccb848 100644 --- a/src/fix_efield.cpp +++ b/src/fix_efield.cpp @@ -273,12 +273,12 @@ void FixEfield::post_force(int vflag) double **x = atom->x; double fx, fy, fz; - double v[6]; + double v[6], unwrap[3]; + ; // constant efield if (varflag == CONSTANT) { - double unwrap[3]; // charge interactions // force = qE, potential energy = F dot x in unwrapped coords @@ -385,7 +385,12 @@ void FixEfield::post_force(int vflag) } f[i][2] += fz; fsum[3] += fz; - if (estyle == ATOM) fsum[0] += efield[0][3]; + if (estyle == ATOM) { + fsum[0] += efield[0][3]; + } else { + domain->unmap(x[i], image[i], unwrap); + fsum[0] -= fx * unwrap[0] + fy * unwrap[1] + fz * unwrap[2]; + } } } From cf6f6829ae03e85e16552ca87fd8e108dabdac78 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 11 Mar 2023 17:45:48 -0500 Subject: [PATCH 302/448] cosmetic --- src/fix_efield.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/fix_efield.cpp b/src/fix_efield.cpp index 9d54ccb848..f8ff377518 100644 --- a/src/fix_efield.cpp +++ b/src/fix_efield.cpp @@ -42,7 +42,7 @@ FixEfield::FixEfield(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), xstr(nullptr), ystr(nullptr), zstr(nullptr), estr(nullptr), idregion(nullptr), region(nullptr), efield(nullptr) { - if (narg < 6) utils::missing_cmd_args(FLERR, std::string("fix ")+style, error); + if (narg < 6) utils::missing_cmd_args(FLERR, std::string("fix ") + style, error); dynamic_group_allow = 1; vector_flag = 1; @@ -85,13 +85,15 @@ FixEfield::FixEfield(LAMMPS *lmp, int narg, char **arg) : int iarg = 6; while (iarg < narg) { if (strcmp(arg[iarg], "region") == 0) { - if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, std::string("fix ") + style + " region", error); + if (iarg + 2 > narg) + utils::missing_cmd_args(FLERR, std::string("fix ") + style + " region", error); region = domain->get_region_by_id(arg[iarg + 1]); if (!region) error->all(FLERR, "Region {} for fix efield does not exist", arg[iarg + 1]); idregion = utils::strdup(arg[iarg + 1]); iarg += 2; } else if (strcmp(arg[iarg], "energy") == 0) { - if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, std::string("fix ") + style + "energy", error); + if (iarg + 2 > narg) + utils::missing_cmd_args(FLERR, std::string("fix ") + style + "energy", error); if (utils::strmatch(arg[iarg + 1], "^v_")) { estr = utils::strdup(arg[iarg + 1] + 2); } else From da9559d92ce15be59a249b5c3c1cf6d574fafbb6 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 11 Mar 2023 17:47:13 -0500 Subject: [PATCH 303/448] rewrite TIP4P molecule handling to process each force contribution only once --- src/EXTRA-FIX/fix_efield_tip4p.cpp | 371 ++++++++++++++++------------- 1 file changed, 199 insertions(+), 172 deletions(-) diff --git a/src/EXTRA-FIX/fix_efield_tip4p.cpp b/src/EXTRA-FIX/fix_efield_tip4p.cpp index 0862c8a310..4bd35882f9 100644 --- a/src/EXTRA-FIX/fix_efield_tip4p.cpp +++ b/src/EXTRA-FIX/fix_efield_tip4p.cpp @@ -127,8 +127,8 @@ void FixEfieldTIP4P::post_force(int vflag) for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { - // process *all* atoms belonging to a TIP4P molecule which means we compute all - // contributions 3 times but only add a third and only when the atom is local + // process *all* atoms belonging to a TIP4P molecule since we need + // to consider molecules where parts of the molecule are ghost atoms if ((type[i] == typeO) || (type[i] == typeH)) { @@ -137,7 +137,9 @@ void FixEfieldTIP4P::post_force(int vflag) iH1 = atom->map(tag[i] + 1); iH2 = atom->map(tag[i] + 2); } else { + // set indices for first or second hydrogen + iO = atom->map(tag[i] - 1); if ((iO != -1) && (type[iO] == typeO)) { iH1 = i; @@ -153,6 +155,8 @@ void FixEfieldTIP4P::post_force(int vflag) if ((atom->type[iH1] != typeH) || (atom->type[iH2] != typeH)) error->one(FLERR, "TIP4P hydrogen has incorrect atom type"); if (atom->type[iO] != typeO) error->one(FLERR, "TIP4P oxygen has incorrect atom type"); + iH1 = domain->closest_image(i, iH1); + iH2 = domain->closest_image(i, iH2); find_M(x[iO], x[iH1], x[iH2], xM); @@ -160,45 +164,59 @@ void FixEfieldTIP4P::post_force(int vflag) if (!region || region->match(xM[0], xM[1], xM[2])) { - // we match a TIP4P molecule 3 times, so divide force contributions by 3. + fx = q[iO] * ex; + fy = q[iO] * ey; + fz = q[iO] * ez; - fx = q[iO] * ex / 3.0; - fy = q[iO] * ey / 3.0; - fz = q[iO] * ez / 3.0; + // distribute and apply forces - // distribute and apply forces, but only to local atoms - - if (iO < nlocal) { + if (i == iO) { f[iO][0] += fx * (1.0 - alpha); f[iO][1] += fy * (1.0 - alpha); f[iO][2] += fz * (1.0 - alpha); - } - if (iH1 < nlocal) { - f[iH1][0] += 0.5 * alpha * fx; - f[iH1][1] += 0.5 * alpha * fy; - f[iH1][2] += 0.5 * alpha * fz; - } - if (iH2 < nlocal) { - f[iH2][0] += 0.5 * alpha * fx; - f[iH2][1] += 0.5 * alpha * fy; - f[iH2][2] += 0.5 * alpha * fz; + if (iH1 < nlocal) { + f[iH1][0] += 0.5 * alpha * fx; + f[iH1][1] += 0.5 * alpha * fy; + f[iH1][2] += 0.5 * alpha * fz; + } + if (iH2 < nlocal) { + f[iH2][0] += 0.5 * alpha * fx; + f[iH2][1] += 0.5 * alpha * fy; + f[iH2][2] += 0.5 * alpha * fz; + } + } else { + if (iO >= nlocal) { + if (i == iH1) { + f[iH1][0] += 0.5 * alpha * fx; + f[iH1][1] += 0.5 * alpha * fy; + f[iH1][2] += 0.5 * alpha * fz; + } + if (i == iH2) { + f[iH2][0] += 0.5 * alpha * fx; + f[iH2][1] += 0.5 * alpha * fy; + f[iH2][2] += 0.5 * alpha * fz; + } + } } - domain->unmap(xM, image[iO], unwrap); - fsum[0] -= fx * unwrap[0] + fy * unwrap[1] + fz * unwrap[2]; - fsum[1] += fx; - fsum[2] += fy; - fsum[3] += fz; + if (i == iO) { + domain->unmap(xM, image[iO], unwrap); + fsum[0] -= fx * unwrap[0] + fy * unwrap[1] + fz * unwrap[2]; + fsum[1] += fx; + fsum[2] += fy; + fsum[3] += fz; - // tally virial contribution with Oxygen - if (evflag && (iO < nlocal)) { - v[0] = fx * unwrap[0]; - v[1] = fy * unwrap[1]; - v[2] = fz * unwrap[2]; - v[3] = fx * unwrap[1]; - v[4] = fx * unwrap[2]; - v[5] = fy * unwrap[2]; - v_tally(iO, v); + // tally virial contribution with Oxygen + + if (evflag) { + v[0] = fx * unwrap[0]; + v[1] = fy * unwrap[1]; + v[2] = fz * unwrap[2]; + v[3] = fx * unwrap[1]; + v[4] = fx * unwrap[2]; + v[5] = fy * unwrap[2]; + v_tally(iO, v); + } } } @@ -206,36 +224,34 @@ void FixEfieldTIP4P::post_force(int vflag) if (!region || region->match(x[iH1][0], x[iH1][1], x[iH1][2])) { - // we match a TIP4P molecule 3 times, so divide force contributions by 3. + fx = q[iH1] * ex; + fy = q[iH1] * ey; + fz = q[iH1] * ez; - fx = q[iH1] * ex / 3.0; - fy = q[iH1] * ey / 3.0; - fz = q[iH1] * ez / 3.0; - - if (iH1 < nlocal) { + if (i == iH1) { f[iH1][0] += fx; f[iH1][1] += fy; f[iH1][2] += fz; - } - // tally global force + // tally global force - domain->unmap(x[iH1], image[iH1], unwrap); - fsum[0] -= fx * unwrap[0] + fy * unwrap[1] + fz * unwrap[2]; - fsum[1] += fx; - fsum[2] += fy; - fsum[3] += fz; + domain->unmap(x[iH1], image[iH1], unwrap); + fsum[0] -= fx * unwrap[0] + fy * unwrap[1] + fz * unwrap[2]; + fsum[1] += fx; + fsum[2] += fy; + fsum[3] += fz; - // tally virial contributions + // tally virial contributions - if (evflag && (iH1 < nlocal)) { - v[0] = fx * unwrap[0]; - v[1] = fy * unwrap[1]; - v[2] = fz * unwrap[2]; - v[3] = fx * unwrap[1]; - v[4] = fx * unwrap[2]; - v[5] = fy * unwrap[2]; - v_tally(iH1, v); + if (evflag) { + v[0] = fx * unwrap[0]; + v[1] = fy * unwrap[1]; + v[2] = fz * unwrap[2]; + v[3] = fx * unwrap[1]; + v[4] = fx * unwrap[2]; + v[5] = fy * unwrap[2]; + v_tally(iH1, v); + } } } @@ -243,36 +259,34 @@ void FixEfieldTIP4P::post_force(int vflag) if (!region || region->match(x[iH2][0], x[iH2][1], x[iH2][2])) { - // we match 3 atoms per molecule, so divide force contributions by 3. + fx = q[iH2] * ex; + fy = q[iH2] * ey; + fz = q[iH2] * ez; - fx = q[iH2] * ex / 3.0; - fy = q[iH2] * ey / 3.0; - fz = q[iH2] * ez / 3.0; - - if (iH2 < nlocal) { + if (i == iH2) { f[iH2][0] += fx; f[iH2][1] += fy; f[iH2][2] += fz; - } - // tally global force + // tally global force - domain->unmap(x[iH2], image[iH2], unwrap); - fsum[0] -= fx * unwrap[0] + fy * unwrap[1] + fz * unwrap[2]; - fsum[1] += fx; - fsum[2] += fy; - fsum[3] += fz; + domain->unmap(x[iH2], image[iH2], unwrap); + fsum[0] -= fx * unwrap[0] + fy * unwrap[1] + fz * unwrap[2]; + fsum[1] += fx; + fsum[2] += fy; + fsum[3] += fz; - // tally virial contributions + // tally virial contributions - if (evflag && (iH2 < nlocal)) { - v[0] = fx * unwrap[0]; - v[1] = fy * unwrap[1]; - v[2] = fz * unwrap[2]; - v[3] = fx * unwrap[1]; - v[4] = fx * unwrap[2]; - v[5] = fy * unwrap[2]; - v_tally(iH2, v); + if (evflag) { + v[0] = fx * unwrap[0]; + v[1] = fy * unwrap[1]; + v[2] = fz * unwrap[2]; + v[3] = fx * unwrap[1]; + v[4] = fx * unwrap[2]; + v[5] = fy * unwrap[2]; + v_tally(iH2, v); + } } } @@ -360,8 +374,8 @@ void FixEfieldTIP4P::post_force(int vflag) for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { - // process *all* atoms belonging to a TIP4P molecule which means we compute all - // contributions 3 times but only add a third and only when the atom is local + // process *all* atoms belonging to a TIP4P molecule since we need + // to consider molecules where parts of the molecule are ghost atoms if ((type[i] == typeO) || (type[i] == typeH)) { @@ -370,7 +384,9 @@ void FixEfieldTIP4P::post_force(int vflag) iH1 = atom->map(tag[i] + 1); iH2 = atom->map(tag[i] + 2); } else { + // set indices for first or second hydrogen + iO = atom->map(tag[i] - 1); if ((iO != -1) && (type[iO] == typeO)) { iH1 = i; @@ -386,6 +402,8 @@ void FixEfieldTIP4P::post_force(int vflag) if ((atom->type[iH1] != typeH) || (atom->type[iH2] != typeH)) error->one(FLERR, "TIP4P hydrogen has incorrect atom type"); if (atom->type[iO] != typeO) error->one(FLERR, "TIP4P oxygen has incorrect atom type"); + iH1 = domain->closest_image(i, iH1); + iH2 = domain->closest_image(i, iH2); find_M(x[iO], x[iH1], x[iH2], xM); @@ -393,61 +411,74 @@ void FixEfieldTIP4P::post_force(int vflag) if (!region || region->match(xM[0], xM[1], xM[2])) { - // we match a TIP3P molecule 3 times, so divide force contributions by 3. - if (xstyle == ATOM) { - fx = qe2f * q[iO] * efield[iO][0] / 3.0; + fx = qe2f * q[iO] * efield[iO][0]; } else { - fx = q[iO] * ex / 3.0; + fx = q[iO] * ex; } if (ystyle == ATOM) { - fy = qe2f * q[iO] * efield[iO][1] / 3.0; + fy = qe2f * q[iO] * efield[iO][1]; } else { - fy = q[iO] * ey / 3.0; + fy = q[iO] * ey; } if (zstyle == ATOM) { - fz = qe2f * q[iO] * efield[iO][2] / 3.0; + fz = qe2f * q[iO] * efield[iO][2]; } else { - fz = q[iO] * ez / 3.0; + fz = q[iO] * ez; } // distribute and apply forces, but only to local atoms - if (iO < nlocal) { + if (i == iO) { f[iO][0] += fx * (1.0 - alpha); f[iO][1] += fy * (1.0 - alpha); f[iO][2] += fz * (1.0 - alpha); - } - if (iH1 < nlocal) { - f[iH1][0] += 0.5 * alpha * fx; - f[iH1][1] += 0.5 * alpha * fy; - f[iH1][2] += 0.5 * alpha * fz; - } - if (iH2 < nlocal) { - f[iH2][0] += 0.5 * alpha * fx; - f[iH2][1] += 0.5 * alpha * fy; - f[iH2][2] += 0.5 * alpha * fz; + if (iH1 < nlocal) { + f[iH1][0] += 0.5 * alpha * fx; + f[iH1][1] += 0.5 * alpha * fy; + f[iH1][2] += 0.5 * alpha * fz; + } + if (iH2 < nlocal) { + f[iH2][0] += 0.5 * alpha * fx; + f[iH2][1] += 0.5 * alpha * fy; + f[iH2][2] += 0.5 * alpha * fz; + } + } else { + if (iO >= nlocal) { + if (i == iH1) { + f[iH1][0] += 0.5 * alpha * fx; + f[iH1][1] += 0.5 * alpha * fy; + f[iH1][2] += 0.5 * alpha * fz; + } + if (i == iH2) { + f[iH2][0] += 0.5 * alpha * fx; + f[iH2][1] += 0.5 * alpha * fy; + f[iH2][2] += 0.5 * alpha * fz; + } + } } - domain->unmap(xM, image[iO], unwrap); - if (estyle == ATOM) - fsum[0] += efield[0][3]; - else - fsum[0] -= fx * unwrap[0] + fy * unwrap[1] + fz * unwrap[2]; - fsum[1] += fx; - fsum[2] += fy; - fsum[3] += fz; + if (i == iO) { + domain->unmap(xM, image[iO], unwrap); + if (estyle == ATOM) + fsum[0] += efield[0][3]; + else + fsum[0] -= fx * unwrap[0] + fy * unwrap[1] + fz * unwrap[2]; + fsum[1] += fx; + fsum[2] += fy; + fsum[3] += fz; - // tally virial contribution for point M with Oxygen + // tally virial contribution for point M with Oxygen - if (evflag && (iO < nlocal)) { - v[0] = fx * unwrap[0]; - v[1] = fy * unwrap[1]; - v[2] = fz * unwrap[2]; - v[3] = fx * unwrap[1]; - v[4] = fx * unwrap[2]; - v[5] = fy * unwrap[2]; - v_tally(iO, v); + if (evflag) { + v[0] = fx * unwrap[0]; + v[1] = fy * unwrap[1]; + v[2] = fz * unwrap[2]; + v[3] = fx * unwrap[1]; + v[4] = fx * unwrap[2]; + v[5] = fy * unwrap[2]; + v_tally(iO, v); + } } } @@ -455,51 +486,49 @@ void FixEfieldTIP4P::post_force(int vflag) if (!region || region->match(x[iH1][0], x[iH1][1], x[iH1][2])) { - // we match a TIP4P molecule 3 times, so divide force contributions by 3. - if (xstyle == ATOM) { - fx = qe2f * q[iH1] * efield[iH1][0] / 3.0; + fx = qe2f * q[iH1] * efield[iH1][0]; } else { - fx = q[iH1] * ex / 3.0; + fx = q[iH1] * ex; } if (ystyle == ATOM) { - fy = qe2f * q[iH1] * efield[iH1][1] / 3.0; + fy = qe2f * q[iH1] * efield[iH1][1]; } else { - fy = q[iH1] * ey / 3.0; + fy = q[iH1] * ey; } if (zstyle == ATOM) { - fz = qe2f * q[iH1] * efield[iH1][2] / 3.0; + fz = qe2f * q[iH1] * efield[iH1][2]; } else { - fz = q[iH1] * ez / 3.0; + fz = q[iH1] * ez; } - if (iH1 < nlocal) { + if (i == iH1) { f[iH1][0] += fx; f[iH1][1] += fy; f[iH1][2] += fz; - } - // tally global force + // tally global force - domain->unmap(x[iH1], image[iH1], unwrap); - if (estyle == ATOM) - fsum[0] += efield[0][3]; - else - fsum[0] -= fx * unwrap[0] + fy * unwrap[1] + fz * unwrap[2]; - fsum[1] += fx; - fsum[2] += fy; - fsum[3] += fz; + domain->unmap(x[iH1], image[iH1], unwrap); + if (estyle == ATOM) + fsum[0] += efield[0][3]; + else + fsum[0] -= fx * unwrap[0] + fy * unwrap[1] + fz * unwrap[2]; + fsum[1] += fx; + fsum[2] += fy; + fsum[3] += fz; - // tally virial contribution + // tally virial contribution - if (evflag && (iH1 < nlocal)) { - v[0] = fx * unwrap[0]; - v[1] = fy * unwrap[1]; - v[2] = fz * unwrap[2]; - v[3] = fx * unwrap[1]; - v[4] = fx * unwrap[2]; - v[5] = fy * unwrap[2]; - v_tally(iH1, v); + if (evflag) { + v[0] = fx * unwrap[0]; + v[1] = fy * unwrap[1]; + v[2] = fz * unwrap[2]; + v[3] = fx * unwrap[1]; + v[4] = fx * unwrap[2]; + v[5] = fy * unwrap[2]; + v_tally(iH1, v); + } } } @@ -507,54 +536,52 @@ void FixEfieldTIP4P::post_force(int vflag) if (!region || region->match(x[iH2][0], x[iH2][1], x[iH2][2])) { - // we match a TIP4P molecule 3 times, so divide force contributions by 3. - if (xstyle == ATOM) { - fx = qe2f * q[iH2] * efield[iH2][0] / 3.0; + fx = qe2f * q[iH2] * efield[iH2][0]; } else { - fx = q[iH2] * ex / 3.0; + fx = q[iH2] * ex; } if (ystyle == ATOM) { - fy = qe2f * q[iH2] * efield[iH2][1] / 3.0; + fy = qe2f * q[iH2] * efield[iH2][1]; } else { - fy = q[iH2] * ey / 3.0; + fy = q[iH2] * ey; } if (zstyle == ATOM) { - fz = qe2f * q[iH2] * efield[iH2][2] / 3.0; + fz = qe2f * q[iH2] * efield[iH2][2]; } else { - fz = q[iH2] * ez / 3.0; + fz = q[iH2] * ez; } - if (iH2 < nlocal) { + if (i == iH2) { f[iH2][0] += fx; f[iH2][1] += fy; f[iH2][2] += fz; - } - // tally global force + // tally global force - domain->unmap(x[iH2], image[iH2], unwrap); - if (estyle == ATOM) - fsum[0] += efield[0][3]; - else - fsum[0] -= fx * unwrap[0] + fy * unwrap[1] + fz * unwrap[2]; - fsum[1] += fx; - fsum[2] += fy; - fsum[3] += fz; + domain->unmap(x[iH2], image[iH2], unwrap); + if (estyle == ATOM) + fsum[0] += efield[0][3]; + else + fsum[0] -= fx * unwrap[0] + fy * unwrap[1] + fz * unwrap[2]; + fsum[1] += fx; + fsum[2] += fy; + fsum[3] += fz; - // tally virial contribution + // tally virial contribution - if (evflag && (iH2 < nlocal)) { - v[0] = fx * unwrap[0]; - v[1] = fy * unwrap[1]; - v[2] = fz * unwrap[2]; - v[3] = fx * unwrap[1]; - v[4] = fx * unwrap[2]; - v[5] = fy * unwrap[2]; - v_tally(iH2, v); + if (evflag) { + v[0] = fx * unwrap[0]; + v[1] = fy * unwrap[1]; + v[2] = fz * unwrap[2]; + v[3] = fx * unwrap[1]; + v[4] = fx * unwrap[2]; + v[5] = fy * unwrap[2]; + v_tally(iH2, v); + } } } - + } else { // non-TIP4P charge interactions From 91aae79fdca235ed87a06e36be94ce939719625a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 11 Mar 2023 18:11:57 -0500 Subject: [PATCH 304/448] add docs for fix efield/tip4p --- doc/src/Commands_fix.rst | 1 + doc/src/fix.rst | 1 + doc/src/fix_efield.rst | 96 +++++++++++++++++++++++++--------------- src/.gitignore | 2 + 4 files changed, 64 insertions(+), 36 deletions(-) diff --git a/doc/src/Commands_fix.rst b/doc/src/Commands_fix.rst index 89cf3e880a..13bdc34137 100644 --- a/doc/src/Commands_fix.rst +++ b/doc/src/Commands_fix.rst @@ -70,6 +70,7 @@ OPT. * :doc:`dt/reset (k) ` * :doc:`edpd/source ` * :doc:`efield ` + * :doc:`efield/tip4p ` * :doc:`ehex ` * :doc:`electrode/conp (i) ` * :doc:`electrode/conq (i) ` diff --git a/doc/src/fix.rst b/doc/src/fix.rst index 7d505fec63..9b7ada9369 100644 --- a/doc/src/fix.rst +++ b/doc/src/fix.rst @@ -222,6 +222,7 @@ accelerated styles exist. * :doc:`dt/reset ` - reset the timestep based on velocity, forces * :doc:`edpd/source ` - add heat source to eDPD simulations * :doc:`efield ` - impose electric field on system +* :doc:`efield/tip4p ` - impose electric field on system with TIP4P molecules * :doc:`ehex ` - enhanced heat exchange algorithm * :doc:`electrode/conp ` - impose electric potential * :doc:`electrode/conq ` - impose total electric charge diff --git a/doc/src/fix_efield.rst b/doc/src/fix_efield.rst index a44f8ddb9d..eebfaba8c6 100644 --- a/doc/src/fix_efield.rst +++ b/doc/src/fix_efield.rst @@ -1,17 +1,21 @@ .. index:: fix efield +.. index:: fix efield/tip4p fix efield command ================== +fix efield/tip4p command +======================== + Syntax """""" .. parsed-literal:: - fix ID group-ID efield ex ey ez keyword value ... + fix ID group-ID style ex ey ez keyword value ... * ID, group-ID are documented in :doc:`fix ` command -* efield = style name of this fix command +* style = *efield* or *efield/tip4p* * ex,ey,ez = E-field component values (electric field units) * any of ex,ey,ez can be a variable (see below) * zero or more keyword/value pairs may be appended to args @@ -31,27 +35,36 @@ Examples fix kick external-field efield 1.0 0.0 0.0 fix kick external-field efield 0.0 0.0 v_oscillate + fix kick external-field efield/tip4p 1.0 0.0 0.0 Description """"""""""" -Add a force F = qE to each charged atom in the group due to an +Add a force :math:`\vec{F} = q\vec{E}` to each charged atom in the group due to an external electric field being applied to the system. If the system contains point-dipoles, also add a torque on the dipoles due to the external electric field. -For charges, any of the 3 quantities defining the E-field components -can be specified as an equal-style or atom-style -:doc:`variable `, namely *ex*, *ey*, *ez*\ . If the value is a -variable, it should be specified as v_name, where name is the variable -name. In this case, the variable will be evaluated each timestep, and -its value used to determine the E-field component. +.. versionadded:: TBD + +When the *efield/tip4p* style is used, the E-field will be applied to +the position of the virtual charge site M of a TIP4P molecule instead of +the oxygen position as it is defined by a corresponding :doc:`TIP4P pair +style `. The forces on the M site due to the +external field are projected on the oxygen and hydrogen atoms of the +TIP4P molecules. + +For charges, any of the 3 quantities defining the E-field components can +be specified as an equal-style or atom-style :doc:`variable `, +namely *ex*, *ey*, *ez*\ . If the value is a variable, it should be +specified as v_name, where name is the variable name. In this case, the +variable will be evaluated each timestep, and its value used to +determine the E-field component. For point-dipoles, equal-style variables can be used, but atom-style variables are not currently supported, since they imply a spatial gradient in the electric field which means additional terms with -gradients of the field are required for the force and torque on -dipoles. +gradients of the field are required for the force and torque on dipoles. Equal-style variables can specify formulas with various mathematical functions, and include :doc:`thermo_style ` command @@ -81,10 +94,18 @@ self-consistent minimization problem (see below). The *energy* keyword is not allowed if the added field is a constant vector (ex,ey,ez), with all components defined as numeric constants and not as variables. This is because LAMMPS can compute the energy -for each charged particle directly as E = -x dot qE = -q (x\*ex + y\*ey -+ z\*ez), so that -Grad(E) = F. Similarly for point-dipole particles -the energy can be computed as E = -mu dot E = -(mux\*ex + muy\*ey + -muz\*ez). +for each charged particle directly as + +.. math:: + + U_{efield} = -\vec{x} \cdot q\vec{E} = -q (x\cdot E_x + y\cdot E_y + z\cdot Ez), + +so that :math:`-\nabla U_{efield} = \vec{F}`. Similarly for point-dipole particles +the energy can be computed as + +.. math:: + + U_{efield} = -\vec{\mu} \cdot \vec{E} = -\mu_x\cdot E_x + \mu_y\cdot E_y + \mu_z\cdot E_z The *energy* keyword is optional if the added force is defined with one or more variables, and if you are performing dynamics via the @@ -120,29 +141,28 @@ Restart, fix_modify, output, run start/stop, minimize info No information about this fix is written to :doc:`binary restart files `. -The :doc:`fix_modify ` *energy* option is supported by -this fix to add the potential energy inferred by the added force due -to the electric field to the global potential energy of the system as -part of :doc:`thermodynamic output `. The default -setting for this fix is :doc:`fix_modify energy no `. -Note that this energy is a fictitious quantity but is needed so that -the :doc:`minimize ` command can include the forces added by -this fix in a consistent manner. I.e. there is a decrease in -potential energy when atoms move in the direction of the added force -due to the electric field. +The :doc:`fix_modify ` *energy* option is supported by this +fix to add the potential energy inferred by the added force due to the +electric field to the global potential energy of the system as part of +:doc:`thermodynamic output `. The default setting for +this fix is :doc:`fix_modify energy no `. Note that this +energy is a fictitious quantity but is needed so that the :doc:`minimize +` command can include the forces added by this fix in a +consistent manner. I.e. there is a decrease in potential energy when +atoms move in the direction of the added force due to the electric +field. -The :doc:`fix_modify ` *virial* option is supported by -this fix to add the contribution due to the added forces on atoms to -both the global pressure and per-atom stress of the system via the -:doc:`compute pressure ` and :doc:`compute -stress/atom ` commands. The former can be -accessed by :doc:`thermodynamic output `. The default -setting for this fix is :doc:`fix_modify virial no `. +The :doc:`fix_modify ` *virial* option is supported by this +fix to add the contribution due to the added forces on atoms to both the +global pressure and per-atom stress of the system via the :doc:`compute +pressure ` and :doc:`compute stress/atom +` commands. The former can be accessed by +:doc:`thermodynamic output `. The default setting for +this fix is :doc:`fix_modify virial no `. The :doc:`fix_modify ` *respa* option is supported by this -fix. This allows to set at which level of the :doc:`r-RESPA -` integrator the fix adding its forces. Default is the -outermost level. +fix. This allows to set at which level of the :doc:`r-RESPA ` +integrator the fix adding its forces. Default is the outermost level. This fix computes a global scalar and a global 3-vector of forces, which can be accessed by various :doc:`output commands @@ -169,7 +189,11 @@ the iteration count during the minimization. Restrictions """""""""""" -None +Fix style *efield/tip4p* is part of the EXTRA-FIX package. It is only +enabled if LAMMPS was built with that package. See the :doc:`Build +package ` page for more info. + +Fix style *efield/tip4p* can only be used with tip4p pair styles. Related commands """""""""""""""" diff --git a/src/.gitignore b/src/.gitignore index 0e3a69bdc7..cc57048294 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -756,6 +756,8 @@ /fix_damping_cundall.h /fix_dpd_energy.cpp /fix_dpd_energy.h +/fix_efield_tip4p.cpp +/fix_efield_tip4p.h /fix_electron_stopping.cpp /fix_electron_stopping.h /fix_electron_stopping_fit.cpp From 251fac2c6046a01e6b271c3686cb1bd293688003 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 11 Mar 2023 18:43:46 -0500 Subject: [PATCH 305/448] add unit tests for fix efield/tip4p --- .../fix-timestep-efield_tip4p_const.yaml | 85 ++++++++++++++++++ .../fix-timestep-efield_tip4p_variable.yaml | 90 +++++++++++++++++++ 2 files changed, 175 insertions(+) create mode 100644 unittest/force-styles/tests/fix-timestep-efield_tip4p_const.yaml create mode 100644 unittest/force-styles/tests/fix-timestep-efield_tip4p_variable.yaml diff --git a/unittest/force-styles/tests/fix-timestep-efield_tip4p_const.yaml b/unittest/force-styles/tests/fix-timestep-efield_tip4p_const.yaml new file mode 100644 index 0000000000..06d9ac6788 --- /dev/null +++ b/unittest/force-styles/tests/fix-timestep-efield_tip4p_const.yaml @@ -0,0 +1,85 @@ +--- +lammps_version: 8 Feb 2023 +date_generated: Sat Mar 11 18:36:57 2023 +epsilon: 2e-13 +skip_tests: +prerequisites: ! | + atom full + fix efield/tip4p + pair tip4p/cut +pre_commands: ! | + variable newton_pair delete + variable newton_pair index on +post_commands: ! | + pair_style tip4p/cut 5 2 5 1 0.15 8 + pair_coeff * * + set mol 1*3 type 1 + pair_modify compute off + fix move all nve + fix test all efield/tip4p 0.0 -0.1 0.1 +input_file: in.fourmol +natoms: 29 +global_scalar: 4.491995770754199 +global_vector: ! |- + 3 0 3.3306690738754696e-16 -3.3306690738754696e-16 +run_pos: ! |2 + 1 -2.7552415093234162e-01 2.4719487659017276e+00 -1.7659260155592149e-01 + 2 3.0667295195551686e-01 2.9595207006091298e+00 -8.4948873046248308e-01 + 3 -6.9501841828317501e-01 1.2527375852468967e+00 -6.1999248956326514e-01 + 4 -1.5797583064222933e+00 1.4872506539147059e+00 -1.2557393847172438e+00 + 5 -9.0059081341694203e-01 9.3371332191055079e-01 4.0123828894262992e-01 + 6 2.9466004201322965e-01 2.3098154203185278e-01 -1.2847818233212565e+00 + 7 3.3883194064643740e-01 -9.4939443955616154e-03 -2.4648068462973325e+00 + 8 1.1652661823392052e+00 -4.8788892293481145e-01 -6.7051084726427845e-01 + 9 1.3792181599117415e+00 -2.5785144806547511e-01 2.7127116166812570e-01 + 10 2.0205755944752375e+00 -1.4248083043774298e+00 -9.7168038781705335e-01 + 11 1.7908052895357973e+00 -1.9906451925361470e+00 -1.8892937481668459e+00 + 12 3.0048165232344948e+00 -4.9103749217400644e-01 -1.6223692885574461e+00 + 13 4.0522477613596308e+00 -8.9351481123719190e-01 -1.6399777605636197e+00 + 14 2.6043344097441490e+00 -4.1669249548232629e-01 -2.6631499467387134e+00 + 15 2.9678538772616037e+00 5.5587250140887356e-01 -1.2363630117859896e+00 + 16 2.6503290482597039e+00 -2.3948066095776737e+00 3.7940961923343369e-02 + 17 2.2332493442069845e+00 -2.1021976986931690e+00 1.1486155813700776e+00 + 18 2.1368656301495856e+00 3.0159850430539912e+00 -3.5184857372030947e+00 + 19 1.5342191259863922e+00 2.6247080014171758e+00 -4.2375259746262710e+00 + 20 2.7733620959877663e+00 3.6930851299036145e+00 -3.9339459598190301e+00 + 21 4.9045879801671548e+00 -4.0745123882892225e+00 -3.6229125886346081e+00 + 22 4.3617321654820183e+00 -4.2118993857238047e+00 -4.4557088010084982e+00 + 23 5.7381475002461277e+00 -3.5857943422556979e+00 -3.8747045101649773e+00 + 24 2.0686006913404285e+00 3.1531330464503946e+00 3.1540340249574279e+00 + 25 1.3094870938232261e+00 3.2656011662469178e+00 2.5154941909251844e+00 + 26 2.5772659745607247e+00 4.0054947408934565e+00 3.2209131657742485e+00 + 27 -1.9615465740567124e+00 -4.3544512503622474e+00 2.1090363824362317e+00 + 28 -2.7415808583638364e+00 -4.0226893662371292e+00 1.5870458306784345e+00 + 29 -1.3167312777782281e+00 -3.6011902209042037e+00 2.2737597954628499e+00 +run_vel: ! |2 + 1 3.5866086122019378e-03 -1.2154347473708673e-03 -4.2392200362722891e-03 + 2 2.0082524022385501e-03 3.3511787841678979e-03 3.7688429839581980e-03 + 3 6.2192542069958688e-04 6.9301276762936742e-03 2.5708729584915588e-03 + 4 -1.6431765497648366e-03 -2.9960364454768916e-03 -2.8741662319631094e-03 + 5 -4.3853806891633691e-03 -2.6901128825407325e-03 -1.1121197568886760e-03 + 6 8.7148031038297540e-04 2.4954313330053800e-03 -1.2309066226600864e-03 + 7 -1.2568415210119106e-03 4.0807509738615430e-04 -6.9712338524110520e-04 + 8 6.8689620421805110e-04 -3.2780884533380726e-03 5.8272396977482131e-03 + 9 2.3640248488616234e-04 -1.5224658663571485e-03 1.4175297300497880e-03 + 10 1.6082301926220160e-03 2.9963750033118689e-03 -4.0623208158007441e-03 + 11 -1.7960053899953208e-03 -1.9848960612000211e-03 -2.2845602155362049e-03 + 12 7.1704667350825442e-04 -1.1633952760482067e-03 -2.2137502152034124e-03 + 13 3.4262167231009551e-03 4.2909145176285319e-03 -7.4448972505535764e-04 + 14 1.1671343597943564e-03 -4.6984783616368505e-03 -3.7471832948834287e-03 + 15 -3.4509552609576417e-03 -4.2688014665352289e-03 4.1647084114789104e-03 + 16 -1.2920232746597238e-03 1.3898109477904978e-03 3.4080654373162835e-03 + 17 1.5549230284425913e-03 -2.4052541544723738e-04 -1.3250375236016142e-03 + 18 -8.8068025374161475e-04 -7.0649672396011162e-04 -1.9975231159692470e-03 + 19 -2.1408231218136301e-05 -3.2882182579271491e-03 5.3923401875054571e-03 + 20 4.3713031453335733e-03 4.5512662640716187e-03 2.3532301247409359e-03 + 21 -9.2462567997913224e-04 4.1213962901802100e-04 -1.0839649018049458e-03 + 22 -3.7082492847362717e-03 -3.5677336805362207e-03 5.5992552065310119e-03 + 23 5.1261812506730889e-04 -4.8292196668287962e-03 4.4061275828068932e-03 + 24 -8.5477751371944852e-06 7.2834656439669328e-04 -8.2723276308350297e-04 + 25 4.9711072680197884e-03 -5.2985686094745897e-03 3.3843456016457627e-03 + 26 -1.4738757253221410e-03 -3.2290060494108487e-03 4.0272837484112388e-03 + 27 7.3001515368261834e-05 7.6655436532142407e-04 -5.3634821214295335e-04 + 28 -7.6962825083727625e-04 -1.0470804470619696e-03 1.9904866134623045e-03 + 29 -3.3162166593954292e-03 -1.5880017630017177e-03 2.8796190980974416e-03 +... diff --git a/unittest/force-styles/tests/fix-timestep-efield_tip4p_variable.yaml b/unittest/force-styles/tests/fix-timestep-efield_tip4p_variable.yaml new file mode 100644 index 0000000000..9d3eb78b8a --- /dev/null +++ b/unittest/force-styles/tests/fix-timestep-efield_tip4p_variable.yaml @@ -0,0 +1,90 @@ +--- +lammps_version: 8 Feb 2023 +date_generated: Sat Mar 11 18:36:57 2023 +epsilon: 2e-13 +skip_tests: +prerequisites: ! | + atom full + fix efield/tip4p + pair tip4p/cut +pre_commands: ! | + variable newton_pair delete + variable newton_pair index on +post_commands: ! | + pair_style tip4p/cut 5 2 5 1 0.15 8.0 + pair_coeff * * + set mol 1*3 type 1 + pair_modify compute off + fix init all store/state 0 x y z + variable xforce delete + variable xforce atom f_init[1] + variable zforce delete + variable zforce equal 0.1*step/10.0 + fix move all nve + fix test all efield/tip4p v_xforce 0.0 v_zforce +input_file: in.fourmol +natoms: 29 +global_scalar: -108.06823025980506 +global_vector: ! |- + 3 9.596230365887404 0 -4.440892098500626e-16 +run_pos: ! |2 + 1 -2.7531286450623932e-01 2.4718738394938558e+00 -1.7653750622874620e-01 + 2 3.0682277741052061e-01 2.9595699761707506e+00 -8.4952487409977362e-01 + 3 -6.9499689283442667e-01 1.2527341715135745e+00 -6.1999076705548650e-01 + 4 -1.5799847405798819e+00 1.4872652200436742e+00 -1.2557496756887883e+00 + 5 -9.0071967709813461e-01 9.3372768633609737e-01 4.0122756859740766e-01 + 6 2.9489677035093576e-01 2.3106805370014455e-01 -1.2848415584173214e+00 + 7 3.3855383234893327e-01 -9.5765527451944828e-03 -2.4647480539199424e+00 + 8 1.1643962409868904e+00 -4.8797342487030382e-01 -6.7045108599319103e-01 + 9 1.3799023150910010e+00 -2.5780046066835277e-01 2.7123202628826903e-01 + 10 2.0207975889886196e+00 -1.4247994958278709e+00 -9.7168706713719422e-01 + 11 1.7910648474147319e+00 -1.9906312942531232e+00 -1.8893042032132690e+00 + 12 3.0035425420205333e+00 -4.9107995377108410e-01 -1.6223383760887220e+00 + 13 4.0528201523622283e+00 -8.9349969755442493e-01 -1.6399873319065361e+00 + 14 2.6047057144491697e+00 -4.1667644840131191e-01 -2.6631622713789995e+00 + 15 2.9682779280011724e+00 5.5588692229168801e-01 -1.2363744303219071e+00 + 16 2.6524868604870657e+00 -2.3947127635091343e+00 3.7898084963605735e-02 + 17 2.2314319778419343e+00 -2.1022876263990393e+00 1.1486586486933228e+00 + 18 2.1339901615202725e+00 3.0158791355914092e+00 -3.5183828730903643e+00 + 19 1.5352491765678440e+00 2.6247671297589257e+00 -4.2375921810526602e+00 + 20 2.7752225351538069e+00 3.6931319090244483e+00 -3.9339826175053725e+00 + 21 4.9009803165421442e+00 -4.0745404736656203e+00 -3.6228510538925023e+00 + 22 4.3679206782268585e+00 -4.2117777340324549e+00 -4.4559421729556803e+00 + 23 5.7469587988417672e+00 -3.5858038792020333e+00 -3.8747167803563598e+00 + 24 2.0670666352241178e+00 3.1530720129788077e+00 3.1541041395003924e+00 + 25 1.3109853135785989e+00 3.2657703855053795e+00 2.5153388842970363e+00 + 26 2.5813689868123637e+00 4.0055691627387287e+00 3.2207885803334761e+00 + 27 -1.9601054593669249e+00 -4.3545249904253041e+00 2.1090702834664450e+00 + 28 -2.7460065388962032e+00 -4.0225877485635015e+00 1.5870129241176147e+00 + 29 -1.3183210257363591e+00 -3.6009974737008963e+00 2.2736573716188233e+00 +run_vel: ! |2 + 1 3.7977419185848097e-03 -1.2897669714584856e-03 -4.1950151251349604e-03 + 2 2.1575172581734408e-03 3.3999203430656075e-03 3.7400839475233913e-03 + 3 6.4262848510624609e-04 6.9265031484497313e-03 2.5714895877023557e-03 + 4 -1.8679239811759064e-03 -2.9813578087670117e-03 -2.8820882510653990e-03 + 5 -4.5136571372885112e-03 -2.6758289003017102e-03 -1.1209155388337711e-03 + 6 1.1037671134296492e-03 2.5866105050619246e-03 -1.2789549161066559e-03 + 7 -1.5342861422661686e-03 3.2481824192138846e-04 -6.5106555914167202e-04 + 8 -1.7354144798367277e-04 -3.3718731447888424e-03 5.8810120566168342e-03 + 9 9.1842435073134841e-04 -1.4702773441316094e-03 1.3826250682568268e-03 + 10 1.8250546263153188e-03 3.0026348558799894e-03 -4.0657750868727510e-03 + 11 -1.5361372713327986e-03 -1.9715983670545788e-03 -2.2928062204248456e-03 + 12 -5.2715705670034873e-04 -1.2049239009499940e-03 -2.1898118814179450e-03 + 13 3.9856626950166771e-03 4.3066930552004591e-03 -7.5097419634071252e-04 + 14 1.5331088183544960e-03 -4.6807759413229257e-03 -3.7592753709259140e-03 + 15 -3.0333470556333213e-03 -4.2544006359050701e-03 4.1544659083419620e-03 + 16 8.5032527220227317e-04 1.4960209341250981e-03 3.3943991963756425e-03 + 17 -2.5150987291715812e-04 -3.3871968539122063e-04 -1.3110122226154578e-03 + 18 -3.7194157533833472e-03 -7.8097728820252952e-04 -1.9105012016605539e-03 + 19 9.9357069481510198e-04 -3.2384951918997540e-03 5.3187556083604745e-03 + 20 6.2100808371219670e-03 4.5760237622866403e-03 2.3397927895772242e-03 + 21 -4.4361083278321254e-03 4.3281730793372350e-04 -1.0265740062531993e-03 + 22 2.3759782136059185e-03 -3.4766457991458125e-03 5.2602144818325288e-03 + 23 9.0442546211972809e-03 -5.0028513128573702e-03 4.5160680978488929e-03 + 24 -1.5158245979151304e-03 6.8210911564513992e-04 -7.5228991658315980e-04 + 25 6.4198421777612721e-03 -5.1099391053400440e-03 3.2035258023780651e-03 + 26 2.5717204131090240e-03 -3.2330590784595391e-03 3.9089372482089858e-03 + 27 1.4748018001575585e-03 6.9455594382931529e-04 -5.3514527521761964e-04 + 28 -5.0752470104177567e-03 -9.9571139633829468e-04 2.0584364913419587e-03 + 29 -4.8690861937706323e-03 -1.3519584410798830e-03 2.8068671849969034e-03 +... From a8c1359c54ed394e8e52a347b2a94a92692c910f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 11 Mar 2023 18:56:29 -0500 Subject: [PATCH 306/448] make energy handling consistent for variable field --- src/EXTRA-FIX/fix_efield_tip4p.cpp | 33 +++++-------------- src/EXTRA-FIX/fix_efield_tip4p.h | 2 +- src/fix_efield.cpp | 7 +--- .../fix-timestep-efield_tip4p_variable.yaml | 4 +-- 4 files changed, 12 insertions(+), 34 deletions(-) diff --git a/src/EXTRA-FIX/fix_efield_tip4p.cpp b/src/EXTRA-FIX/fix_efield_tip4p.cpp index 4bd35882f9..a204fe6f7d 100644 --- a/src/EXTRA-FIX/fix_efield_tip4p.cpp +++ b/src/EXTRA-FIX/fix_efield_tip4p.cpp @@ -152,9 +152,9 @@ void FixEfieldTIP4P::post_force(int vflag) } if ((iH1 == -1) || (iH2 == -1)) error->one(FLERR, "TIP4P hydrogen is missing"); if (iO == -1) error->one(FLERR, "TIP4P oxygen is missing"); - if ((atom->type[iH1] != typeH) || (atom->type[iH2] != typeH)) + if ((type[iH1] != typeH) || (type[iH2] != typeH)) error->one(FLERR, "TIP4P hydrogen has incorrect atom type"); - if (atom->type[iO] != typeO) error->one(FLERR, "TIP4P oxygen has incorrect atom type"); + if (type[iO] != typeO) error->one(FLERR, "TIP4P oxygen has incorrect atom type"); iH1 = domain->closest_image(i, iH1); iH2 = domain->closest_image(i, iH2); @@ -399,9 +399,9 @@ void FixEfieldTIP4P::post_force(int vflag) } if ((iH1 == -1) || (iH2 == -1)) error->one(FLERR, "TIP4P hydrogen is missing"); if (iO == -1) error->one(FLERR, "TIP4P oxygen is missing"); - if ((atom->type[iH1] != typeH) || (atom->type[iH2] != typeH)) + if ((type[iH1] != typeH) || (type[iH2] != typeH)) error->one(FLERR, "TIP4P hydrogen has incorrect atom type"); - if (atom->type[iO] != typeO) error->one(FLERR, "TIP4P oxygen has incorrect atom type"); + if (type[iO] != typeO) error->one(FLERR, "TIP4P oxygen has incorrect atom type"); iH1 = domain->closest_image(i, iH1); iH2 = domain->closest_image(i, iH2); @@ -459,11 +459,7 @@ void FixEfieldTIP4P::post_force(int vflag) } if (i == iO) { - domain->unmap(xM, image[iO], unwrap); - if (estyle == ATOM) - fsum[0] += efield[0][3]; - else - fsum[0] -= fx * unwrap[0] + fy * unwrap[1] + fz * unwrap[2]; + if (estyle == ATOM) fsum[0] += efield[0][3]; fsum[1] += fx; fsum[2] += fy; fsum[3] += fz; @@ -509,11 +505,7 @@ void FixEfieldTIP4P::post_force(int vflag) // tally global force - domain->unmap(x[iH1], image[iH1], unwrap); - if (estyle == ATOM) - fsum[0] += efield[0][3]; - else - fsum[0] -= fx * unwrap[0] + fy * unwrap[1] + fz * unwrap[2]; + if (estyle == ATOM) fsum[0] += efield[0][3]; fsum[1] += fx; fsum[2] += fy; fsum[3] += fz; @@ -559,11 +551,7 @@ void FixEfieldTIP4P::post_force(int vflag) // tally global force - domain->unmap(x[iH2], image[iH2], unwrap); - if (estyle == ATOM) - fsum[0] += efield[0][3]; - else - fsum[0] -= fx * unwrap[0] + fy * unwrap[1] + fz * unwrap[2]; + if (estyle == ATOM) fsum[0] += efield[0][3]; fsum[1] += fx; fsum[2] += fy; fsum[3] += fz; @@ -611,12 +599,7 @@ void FixEfieldTIP4P::post_force(int vflag) f[i][2] += fz; fsum[3] += fz; - if (estyle == ATOM) { - fsum[0] += efield[0][3]; - } else { - domain->unmap(x[i], image[i], unwrap); - fsum[0] -= fx * unwrap[0] + fy * unwrap[1] + fz * unwrap[2]; - } + if (estyle == ATOM) fsum[0] += efield[0][3]; } } } diff --git a/src/EXTRA-FIX/fix_efield_tip4p.h b/src/EXTRA-FIX/fix_efield_tip4p.h index 7970e67b3b..6c3cfa58ab 100644 --- a/src/EXTRA-FIX/fix_efield_tip4p.h +++ b/src/EXTRA-FIX/fix_efield_tip4p.h @@ -34,7 +34,7 @@ class FixEfieldTIP4P : public FixEfield { protected: double alpha; - int typeO, typeH; // atom types for TIP4P molecule + int typeO, typeH; // atom types for TIP4P molecule void find_M(double *, double *, double *, double *); }; } // namespace LAMMPS_NS diff --git a/src/fix_efield.cpp b/src/fix_efield.cpp index f8ff377518..3046f21ef3 100644 --- a/src/fix_efield.cpp +++ b/src/fix_efield.cpp @@ -387,12 +387,7 @@ void FixEfield::post_force(int vflag) } f[i][2] += fz; fsum[3] += fz; - if (estyle == ATOM) { - fsum[0] += efield[0][3]; - } else { - domain->unmap(x[i], image[i], unwrap); - fsum[0] -= fx * unwrap[0] + fy * unwrap[1] + fz * unwrap[2]; - } + if (estyle == ATOM) fsum[0] += efield[0][3]; } } diff --git a/unittest/force-styles/tests/fix-timestep-efield_tip4p_variable.yaml b/unittest/force-styles/tests/fix-timestep-efield_tip4p_variable.yaml index 9d3eb78b8a..e364de7d07 100644 --- a/unittest/force-styles/tests/fix-timestep-efield_tip4p_variable.yaml +++ b/unittest/force-styles/tests/fix-timestep-efield_tip4p_variable.yaml @@ -1,6 +1,6 @@ --- lammps_version: 8 Feb 2023 -date_generated: Sat Mar 11 18:36:57 2023 +date_generated: Sat Mar 11 18:52:03 2023 epsilon: 2e-13 skip_tests: prerequisites: ! | @@ -24,7 +24,7 @@ post_commands: ! | fix test all efield/tip4p v_xforce 0.0 v_zforce input_file: in.fourmol natoms: 29 -global_scalar: -108.06823025980506 +global_scalar: 0 global_vector: ! |- 3 9.596230365887404 0 -4.440892098500626e-16 run_pos: ! |2 From a6185fa0b247af776642872e5bdb4a0312d69443 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 12 Mar 2023 00:56:17 -0500 Subject: [PATCH 307/448] fixup whitespace --- doc/src/Howto_mdi.rst | 2 +- doc/src/fix_mdi_qmmm.rst | 4 +- src/MDI/fix_mdi_qm.cpp | 6 +-- src/MDI/fix_mdi_qm.h | 2 +- src/MDI/fix_mdi_qmmm.cpp | 80 ++++++++++++++++++++-------------------- src/MDI/fix_mdi_qmmm.h | 10 ++--- 6 files changed, 52 insertions(+), 52 deletions(-) diff --git a/doc/src/Howto_mdi.rst b/doc/src/Howto_mdi.rst index 0396b02a24..f138d5aa11 100644 --- a/doc/src/Howto_mdi.rst +++ b/doc/src/Howto_mdi.rst @@ -135,7 +135,7 @@ See the examples/QUANTUM sub-directories for more details: * LATTE - AIMD only * PySCF - QMMM only * NWChem - AIMD or QMMM - + There are also at least two quantum codes which have direct MDI support, `Quantum ESPRESSO (QE) `_ and `INQ `_. There are also diff --git a/doc/src/fix_mdi_qmmm.rst b/doc/src/fix_mdi_qmmm.rst index ddc11e2454..d9bcd9e6a7 100644 --- a/doc/src/fix_mdi_qmmm.rst +++ b/doc/src/fix_mdi_qmmm.rst @@ -103,7 +103,7 @@ do the following: * set the charge on each QM atom to zero * define no bonds (angles, dihederals, etc) which involve both QM and MM atoms * define a force field (pair, bonds, angles, optional kspace) for the entire system - + The first two bullet can be performed using the :doc:`delete_bonds ` and :doc:`set ` commands. @@ -136,7 +136,7 @@ should do the following: * define a hybrid pair style which includes a Coulomb-only pair sub-style * define no bonds (angles, dihederals, etc) which involve both QM and MM atoms * define a force field (pair, bonds, angles, optional kspace) for the entire system - + The first operation can be performed using the :doc:`delete_bonds ` command. See the examples/QUANTUM/NWChem/in.* files for examples of how to do this. diff --git a/src/MDI/fix_mdi_qm.cpp b/src/MDI/fix_mdi_qm.cpp index bd10c00e93..6dc67b21e1 100644 --- a/src/MDI/fix_mdi_qm.cpp +++ b/src/MDI/fix_mdi_qm.cpp @@ -388,7 +388,7 @@ void FixMDIQM::init() if (eqm[i] != eqm_old[i]) new_system = 1; memory->destroy(eqm_old); } - + } else if (types_exists) { if (new_system) set_tqm(); else { @@ -584,7 +584,7 @@ void FixMDIQM::post_force(int vflag) // divide by nprocs so each proc stores a portion // this is b/c ComputePressure expects this as input from a fix // it will do an MPI_Allreduce and divide by volume - + if (addflag) { double volume; if (domain->dimension == 2) @@ -698,7 +698,7 @@ int FixMDIQM::set_nqm() { // require 3*nqm be a small INT, so can MPI_Allreduce xqm - if (3*atom->natoms > MAXSMALLINT) + if (3*atom->natoms > MAXSMALLINT) error->all(FLERR,"Fix mdi/qm has too many atoms"); int ncount = atom->natoms; diff --git a/src/MDI/fix_mdi_qm.h b/src/MDI/fix_mdi_qm.h index f3bd39b220..b86fe90d93 100644 --- a/src/MDI/fix_mdi_qm.h +++ b/src/MDI/fix_mdi_qm.h @@ -63,7 +63,7 @@ class FixMDIQM : public Fix { MDI_Comm mdicomm; int natoms_exists,celldispl_exists,elements_exists,types_exists; int stress_exists; - + int nmax; // unit conversion factors diff --git a/src/MDI/fix_mdi_qmmm.cpp b/src/MDI/fix_mdi_qmmm.cpp index 2347c89cf6..efeafeaf84 100644 --- a/src/MDI/fix_mdi_qmmm.cpp +++ b/src/MDI/fix_mdi_qmmm.cpp @@ -89,7 +89,7 @@ FixMDIQMMM::FixMDIQMMM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) else error->all(FLERR, "Illegal fix mdi/qmmm command"); iarg += 2; - + } else if (strcmp(arg[iarg], "elements") == 0) { const char *symbols[] = { "H" , "He", "Li", "Be", "B" , "C" , "N" , "O" , "F" , "Ne", @@ -142,7 +142,7 @@ FixMDIQMMM::FixMDIQMMM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) energy_global_flag = 1; virial_global_flag = 1; thermo_energy = thermo_virial = 1; - + comm_forward = 1; comm_reverse = 1; @@ -167,10 +167,10 @@ FixMDIQMMM::FixMDIQMMM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) // QM atom data nqm = nqm_last = max_nqm = 0; - + qmIDs = nullptr; qm2owned = nullptr; - + eqm = nullptr; tqm = nullptr; xqm = nullptr; @@ -185,7 +185,7 @@ FixMDIQMMM::FixMDIQMMM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) qpotential_mine = nullptr; // MM atom data - + nmm = nmm_last = max_nmm = 0; mmIDs = nullptr; @@ -206,7 +206,7 @@ FixMDIQMMM::FixMDIQMMM(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) ecoul = nullptr; ncoulmax = 0; - + // per-atom data nmax = atom->nmax; @@ -252,7 +252,7 @@ FixMDIQMMM::~FixMDIQMMM() memory->destroy(fqm); memory->destroy(qqm); memory->destroy(qpotential); - + memory->destroy(eqm_mine); memory->destroy(tqm_mine); memory->destroy(xqm_mine); @@ -339,7 +339,7 @@ void FixMDIQMMM::init() } // check which MDI commands engine supports - + int ierr = MDI_Check_command_exists("@DEFAULT", ">NATOMS", mdicomm, &natoms_exists); if (ierr) error->all(FLERR, "MDI: >NATOMS command check"); MPI_Bcast(&natoms_exists, 1, MPI_INT, 0, world); @@ -364,7 +364,7 @@ void FixMDIQMMM::init() if (mode == POTENTIAL) { int check1,check2; - + ierr = MDI_Check_command_exists("@DEFAULT", ">POTENTIAL_AT_NUCLEI", mdicomm, &check1); if (ierr) error->all(FLERR, "MDI: >POTENTIAL_AT_NUCLEI command check"); MPI_Bcast(&check1, 1, MPI_INT, 0, world); @@ -379,7 +379,7 @@ void FixMDIQMMM::init() if (mode == DIRECT) { int check1,check2,check3,check4; - + ierr = MDI_Check_command_exists("@DEFAULT", ">NLATTICE", mdicomm, &check1); if (ierr) error->all(FLERR, "MDI: >NLATTICE command check"); MPI_Bcast(&check1, 1, MPI_INT, 0, world); @@ -402,7 +402,7 @@ void FixMDIQMMM::init() ierr = MDI_Check_command_exists("@DEFAULT", ">LATTICE_ELEMENTS", mdicomm, &check1); if (ierr) error->all(FLERR, "MDI: >LATTICE_ELEMENTS command check"); MPI_Bcast(&check1, 1, MPI_INT, 0, world); - + ierr = MDI_Check_command_exists("@DEFAULT", ">LATTICE_TYPES", mdicomm, &check2); if (ierr) error->all(FLERR, "MDI: >LATTICE_TYPES command check"); MPI_Bcast(&check2, 1, MPI_INT, 0, world); @@ -432,15 +432,15 @@ void FixMDIQMMM::init() // new if first run or if // QM/MM atom counts or QM/MM elements/types or box has changed between runs // otherwise incremental = subsequent run of same system - + int new_system = 0; // check if count of QM or MM atoms has changed // on first run, old counts are 0 - + int nqm_old = nqm; nqm = set_nqm(); - + if (nqm != nqm_old) { if (nqm > max_nqm) reallocate_qm(); create_qm_list(); @@ -450,14 +450,14 @@ void FixMDIQMMM::init() int nmm_old = nmm; nmm = set_nmm(); - + if (nmm != nmm_old) { if (nmm > max_nmm) reallocate_mm(); create_mm_list(); set_mm2owned(); new_system = 1; } - + // check if box has changed if (new_system) set_box(); @@ -497,7 +497,7 @@ void FixMDIQMMM::init() memory->destroy(emm_old); } } - + } else if (types_exists) { if (new_system) { set_tqm(); @@ -522,7 +522,7 @@ void FixMDIQMMM::init() } } } - + // if new system, send setup info to MDI engine // values that often won't change for QMMM simulations // if not sending elements or types, assume engine initialized itself @@ -669,7 +669,7 @@ void FixMDIQMMM::pre_force(int vflag) // unit conversion from LAMMPS to MDI // must be done here, rather than in set_xqm() - + for (int i = 0; i < nqm; i++) { xqm[i][0] *= lmp2mdi_length; xqm[i][1] *= lmp2mdi_length; @@ -744,7 +744,7 @@ void FixMDIQMMM::pre_force(int vflag) MPI_Bcast(qqm, nqm, MPI_DOUBLE, 0, world); // request stress if needed and supported - + if (vflag && virialflag && stress_exists) { ierr = MDI_Send_command("all(FLERR, "MDI: dimension == 2) volume = domain->xprd * domain->yprd; @@ -842,7 +842,7 @@ void FixMDIQMMM::post_force_direct(int vflag) { // setup QM inputs: xqm = atom coords // setup MM inputs: xmm = atom coords - + set_xqm(1); set_xmm(); @@ -850,7 +850,7 @@ void FixMDIQMMM::post_force_direct(int vflag) // first request for results triggers QM calculation // inputs: xqm, xmm // outputs: qm_energy, fqm, fmm - + //if (comm->me == 0) utils::logmesg(lmp, "Invoking QM code ...\n"); //MPI_Barrier(world); @@ -864,7 +864,7 @@ void FixMDIQMMM::post_force_direct(int vflag) set_box(); send_box(); } - + // send current coords of QM atoms to MDI engine ierr = MDI_Send_command(">COORDS", mdicomm); @@ -905,7 +905,7 @@ void FixMDIQMMM::post_force_direct(int vflag) ierr = MDI_Recv(&fmm[0][0], 3 * nmm, MDI_DOUBLE, mdicomm); if (ierr) error->all(FLERR, "MDI: dimension == 2) volume = domain->xprd * domain->yprd; @@ -1305,7 +1305,7 @@ int FixMDIQMMM::set_nqm() // require 3*nqm be a small INT, so can MPI_Allreduce QM values - if (3*ngroup > MAXSMALLINT) + if (3*ngroup > MAXSMALLINT) error->all(FLERR,"Fix mdi/qmmm has too many quantum atoms"); // error if nqm = 0 @@ -1327,7 +1327,7 @@ int FixMDIQMMM::set_nmm() { // require 3*nmm be a small INT, so can MPI_Allreduce xmm - if (3*(atom->natoms-nqm) > MAXSMALLINT) + if (3*(atom->natoms-nqm) > MAXSMALLINT) error->all(FLERR,"Fix mdi/qmmm has too many classical atoms"); int ncount = atom->natoms - nqm; @@ -1598,7 +1598,7 @@ void FixMDIQMMM::set_tqm() ilocal = qm2owned[i]; if (ilocal >= 0) tqm_mine[i] = type[ilocal]; } - + MPI_Allreduce(tqm_mine,tqm,nqm,MPI_INT,MPI_SUM,world); } @@ -1615,7 +1615,7 @@ void FixMDIQMMM::set_qqm() ilocal = qm2owned[i]; if (ilocal >= 0) qqm_mine[i] = q[ilocal]; } - + MPI_Allreduce(qqm_mine,qqm,nqm,MPI_DOUBLE,MPI_SUM,world); } @@ -1658,12 +1658,12 @@ void FixMDIQMMM::set_emm() int *type = atom->type; int ilocal; - + for (int i = 0; i < nmm; i++) { ilocal = mm2owned[i]; if (ilocal >= 0) emm_mine[i] = elements[type[ilocal]]; } - + MPI_Allreduce(emm_mine,emm,nmm,MPI_INT,MPI_SUM,world); } @@ -1675,12 +1675,12 @@ void FixMDIQMMM::set_tmm() int *type = atom->type; int ilocal; - + for (int i = 0; i < nmm; i++) { ilocal = mm2owned[i]; if (ilocal >= 0) tmm_mine[i] = type[ilocal]; } - + MPI_Allreduce(tmm_mine,tmm,nmm,MPI_INT,MPI_SUM,world); } @@ -1697,7 +1697,7 @@ void FixMDIQMMM::set_qmm() ilocal = mm2owned[i]; if (ilocal >= 0) qmm_mine[i] = q[ilocal]; } - + MPI_Allreduce(qmm_mine,qmm,nmm,MPI_DOUBLE,MPI_SUM,world); } @@ -1708,17 +1708,17 @@ void FixMDIQMMM::set_qmm() void FixMDIQMMM::send_natoms_qm() { int ierr; - + // if engine suppports >NATOMS, send it // if not, require that engine be consistent with LAMMPS - + if (natoms_exists) { ierr = MDI_Send_command(">NATOMS", mdicomm); if (ierr) error->all(FLERR, "MDI: >NATOMS command"); ierr = MDI_Send(&nqm, 1, MDI_INT, mdicomm); if (ierr) error->all(FLERR, "MDI: >NATOMS data"); - + } else { ierr = MDI_Send_command("all(FLERR, "MDI: Date: Sun, 12 Mar 2023 16:48:21 -0400 Subject: [PATCH 308/448] spelling and formatting fixes and improved consistency. fix broken/missing links. --- doc/src/Commands_fix.rst | 1 + doc/src/Howto_mdi.rst | 20 ++--- doc/src/fix.rst | 3 +- doc/src/fix_mdi_qm.rst | 77 +++++++++--------- doc/src/fix_mdi_qmmm.rst | 88 ++++++++++----------- doc/utils/sphinx-config/false_positives.txt | 3 +- 6 files changed, 99 insertions(+), 93 deletions(-) diff --git a/doc/src/Commands_fix.rst b/doc/src/Commands_fix.rst index 89cf3e880a..0f5ac0d461 100644 --- a/doc/src/Commands_fix.rst +++ b/doc/src/Commands_fix.rst @@ -109,6 +109,7 @@ OPT. * :doc:`lineforce ` * :doc:`manifoldforce ` * :doc:`mdi/qm ` + * :doc:`mdi/qmmm ` * :doc:`meso/move ` * :doc:`mol/swap ` * :doc:`momentum (k) ` diff --git a/doc/src/Howto_mdi.rst b/doc/src/Howto_mdi.rst index f138d5aa11..ec8027b942 100644 --- a/doc/src/Howto_mdi.rst +++ b/doc/src/Howto_mdi.rst @@ -76,16 +76,16 @@ energy minimizations, or to evaluate the quantum energy and forces for a series of independent systems. The ``examples/mdi`` directory has example input scripts for all of these use cases. -The package also has a `fix mdi/qmmm ` command in which -LAMMPS operates as an MDI driver in conjunction with a quantum -mechanics code as an MDI engine to perform QMMM simulations. The +The package also has a :doc:`fix mdi/qmmm ` command in +which LAMMPS operates as an MDI driver in conjunction with a quantum +mechanics code as an MDI engine to perform QM/MM simulations. The LAMMPS input script partitions the system into QM and MM (molecular -mechanics) atoms. As described below the examples/QUANTUM directory +mechanics) atoms. As described below the ``examples/QUANTUM`` directory has examples for coupling to 3 different quantum codes in this manner. ---------- -The examples/mdi directory contains Python scripts and LAMMPS input +The ``examples/mdi`` directory contains Python scripts and LAMMPS input script which use LAMMPS as either an MDI driver or engine, or both. Currently, 5 example use cases are provided: @@ -129,12 +129,12 @@ as a plugin library. As of Feb 2023, these are quantum codes with MDI support provided via Python wrapper scripts included in the LAMMPS distribution. These can be used with the fix mdi/qm and fix mdi/qmmm commands to perform QM -calculations of an entire system (e.g. AIMD) or QMMM simulations. -See the examples/QUANTUM sub-directories for more details: +calculations of an entire system (e.g. AIMD) or QM/MM simulations. See +the ``examples/QUANTUM`` sub-directories for more details: * LATTE - AIMD only -* PySCF - QMMM only -* NWChem - AIMD or QMMM +* PySCF - QM/MM only +* NWChem - AIMD or QM/MM There are also at least two quantum codes which have direct MDI support, `Quantum ESPRESSO (QE) `_ @@ -147,5 +147,5 @@ codes is on the `MDI webpage `_. These direct- and indirect-support codes should be usable for full -system calculations (e.g. AIMD). Whether they support QMMM models +system calculations (e.g. AIMD). Whether they support QM/MM models depends on the individual QM code. diff --git a/doc/src/fix.rst b/doc/src/fix.rst index 7d505fec63..6977584a33 100644 --- a/doc/src/fix.rst +++ b/doc/src/fix.rst @@ -260,7 +260,8 @@ accelerated styles exist. * :doc:`lb/viscous ` - :doc:`fix viscous ` replacement for use with a lattice-Boltzmann fluid * :doc:`lineforce ` - constrain atoms to move in a line * :doc:`manifoldforce ` - restrain atoms to a manifold during minimization -* :doc:`mdi/qm ` - LAMMPS operates as driver for a quantum code via the MolSSI Driver Interface (MDI) +* :doc:`mdi/qm ` - LAMMPS operates as a client for a quantum code via the MolSSI Driver Interface (MDI) +* :doc:`mdi/qmmm ` - LAMMPS operates as client for QM/MM simulation with a quantum code via the MolSSI Driver Interface (MDI) * :doc:`meso/move ` - move mesoscopic SPH/SDPD particles in a prescribed fashion * :doc:`mol/swap ` - Monte Carlo atom type swapping with a molecule * :doc:`momentum ` - zero the linear and/or angular momentum of a group of atoms diff --git a/doc/src/fix_mdi_qm.rst b/doc/src/fix_mdi_qm.rst index 08fc07aa4e..46b62fe8db 100644 --- a/doc/src/fix_mdi_qm.rst +++ b/doc/src/fix_mdi_qm.rst @@ -68,16 +68,18 @@ These are example use cases for this fix, discussed further below: * perform an ab initio MD (AIMD) simulation with quantum forces * perform an energy minimization with quantum forces * perform a nudged elastic band (NEB) calculation with quantum forces -* perform a QM calculation for a series of independent systems which LAMMPS reads or generates once -* run a classical MD simulation and calculate QM energy/forces once every N steps on the current configuration +* perform a QM calculation for a series of independent systems which + LAMMPS reads or generates once +* run a classical MD simulation and calculate QM energy/forces once + every N steps on the current configuration -More generally any command which calulates per-atom forces can instead -use quantum forces be defining this fix. Examples are the Monte Carlo +More generally any command which calculates per-atom forces can instead +use quantum forces by defining this fix. Examples are the Monte Carlo commands :doc:`fix gcmc ` and :doc:`fix atom/swap -`, as well as the :doc:`compute born ` -command. The only requirement is that internally the commmand invokes -the post_force() method of fixes such as this one, which will trigger -the quantum calculation. +`, as well as the :doc:`compute born/matrix +` command. The only requirement is that internally +the command invokes the post_force() method of fixes such as this one, +which will trigger the quantum calculation. The code coupling performed by this command is done via the `MDI Library `_. @@ -87,24 +89,24 @@ for MDI. See the :doc:`Howto mdi ` page for more information about how LAMMPS can operate as either an MDI driver or engine. -The examples/mdi directory contains input scripts using this fix in +The ``examples/mdi`` directory contains input scripts using this fix in the various use cases discussed below. In each case, two instances of -LAMMPS are used, once as an MDI driver, once as an MDI engine -(surrogate for a QM code). The examples/mdi/README file explains how -to launch two codes so that they communicate via the MDI library using -either MPI or sockets. Any QM code that supports MDI could be used in -place of LAMMPS acting as a QM surrogate. See the :doc:`Howto mdi -` page for a current list (March 2022) of such QM codes. -The examples/QUANTUM directory has examples for coupling LAMMPS to 3 -QM codes either via this fix or the :doc:`fix mdi/qmmm ` +LAMMPS are used, once as an MDI driver, once as an MDI engine (surrogate +for a QM code). The ``examples/mdi/README`` file explains how to launch +two codes so that they communicate via the MDI library using either MPI +or sockets. Any QM code that supports MDI could be used in place of +LAMMPS acting as a QM surrogate. See the :doc:`Howto mdi ` +page for a current list (March 2022) of such QM codes. The +``examples/QUANTUM`` directory has examples for coupling LAMMPS to 3 QM +codes either via this fix or the :doc:`fix mdi/qmmm ` command. -Note that an engine code can support MDI in either or both of two -modes. It can be used as a stand-alone code, launched at the same -time as LAMMPS. Or it can be used as a plugin library, which LAMMPS -loads. See the :doc:`mdi plugin ` command for how to trigger -LAMMPS to load a plugin library. The examples/mdi/README file and -examples/QUANTUM/QM-code/README files explain how to launch the two +Note that an engine code can support MDI in either or both of two modes. +It can be used as a stand-alone code, launched at the same time as +LAMMPS. Or it can be used as a plugin library, which LAMMPS loads. See +the :doc:`mdi plugin ` command for how to trigger LAMMPS to load a +plugin library. The ``examples/mdi/README`` file and +``examples/QUANTUM/QM-code/README`` files explain how to launch the two codes in either mode. ---------- @@ -132,16 +134,16 @@ configuration of atoms. The QM code will be called once every *Nevery* timesteps. By default *Nevery* = 1. The *connect* keyword determines whether this fix performs a one-time -connection to the QM code. The default is *yes*. The only time a -*no* is needed is if this command is used multiple times in an input -script and the MDI coupling is between two stand-alone codes (not -plugin mode). E.g. if it used inside a loop which also uses the -:doc:`clear ` command to destroy the system (including this -fix). See the examples/mdi/in.series.driver script as an example of -this, where LAMMPS is using the QM code to compute energy and forces -for a series of system configurations. In this use case *connect no* -is used along with the :doc:`mdi connect and exit ` command to -one-time initiate/terminate the connection outside the loop. +connection to the QM code. The default is *yes*. The only time a *no* +is needed is if this command is used multiple times in an input script +and the MDI coupling is between two stand-alone codes (not plugin mode). +E.g. if it used inside a loop which also uses the :doc:`clear ` +command to destroy the system (including this fix). See the +``examples/mdi/in.series.driver`` script as an example of this, where +LAMMPS is using the QM code to compute energy and forces for a series of +system configurations. In this use case *connect no* is used along with +the :doc:`mdi connect and exit ` command to one-time +initiate/terminate the connection outside the loop. The *elements* keyword allows specification of what element each LAMMPS atom type corresponds to. This is specified by the chemical @@ -168,8 +170,8 @@ MD timesteps between the MC events. ---------- -The following 3 example use cases are illustrated in the examples/mdi -directory. See its README file for more details. +The following 3 example use cases are illustrated in the +``examples/mdi`` directory. See its README file for more details. (1) To run an ab initio MD (AIMD) dynamics simulation, or an energy minimization with QM forces, or a multi-replica NEB calculation, use @@ -295,8 +297,9 @@ performed. Related commands """""""""""""""" -:doc:`mdi plugin `, :doc:`mdi engine `, :doc:`fix mdi/qmmm - ` +:doc:`mdi plugin `, +:doc:`mdi engine `, +:doc:`fix mdi/qmmm ` Default """"""" diff --git a/doc/src/fix_mdi_qmmm.rst b/doc/src/fix_mdi_qmmm.rst index d9bcd9e6a7..58be173930 100644 --- a/doc/src/fix_mdi_qmmm.rst +++ b/doc/src/fix_mdi_qmmm.rst @@ -1,7 +1,7 @@ .. index:: fix mdi/qmmm fix mdi/qmmm command -====================== +==================== Syntax """""" @@ -39,14 +39,14 @@ Examples Description """"""""""" -This command enables LAMMPS to act as a client with another server -code to perform a coupled QMMM (quantum-mechanics/molecular-mechanics) -simulation. LAMMPS will perform classical MD (molecular mechnanics +This command enables LAMMPS to act as a client with another server code +to perform a coupled QM/MM (quantum-mechanics/molecular-mechanics) +simulation. LAMMPS will perform classical MD (molecular mechanics or MM) for the (typically larger) MM portion of the system. A quantum mechanics code will calculate quantum energy and forces for the QM portion of the system. The two codes work together to calculate the -energy and forces due to the cross interactions between QM and MM -atoms. The QM server code must support use of the `MDI Library +energy and forces due to the cross interactions between QM and MM atoms. +The QM server code must support use of the `MDI Library `_ as explained below. @@ -54,7 +54,7 @@ The partitioning of the system between QM and MM atoms is as follows. Atoms in the specified group are QM atoms; the remaining atoms are MM atoms. The input script should thus define this partitioning. See additional information below about other requirements for an input -script to use this fix and perform a QMMM simulation. +script to use this fix and perform a QM/MM simulation. The code coupling performed by this command is done via the `MDI Library `_. @@ -64,31 +64,31 @@ support for MDI. See the :doc:`Howto mdi ` page for more information about how LAMMPS can operate as either an MDI driver or engine. -The examples/QUANTUM directory has sub-directories with example input -scripts using this fix in tandem with different QM codes. The README -files in the sub-directories explain how to download and build the -various QM codes. They also explain how to launch LAMMPS and the QM +The ``examples/QUANTUM`` directory has sub-directories with example +input scripts using this fix in tandem with different QM codes. The +README files in the sub-directories explain how to download and build +the various QM codes. They also explain how to launch LAMMPS and the QM code so that they communicate via the MDI library using either MPI or sockets. Any QM code that supports MDI could be used in addition to those discussed in the sub-directories. See the :doc:`Howto mdi ` page for a current list (March 2022) of such QM codes. -Note that an engine code can support MDI in either or both of two -modes. It can be used as a stand-alone code, launched at the same -time as LAMMPS. Or it can be used as a plugin library, which LAMMPS -loads. See the :doc:`mdi plugin ` command for how to trigger -LAMMPS to load a plugin library. The examples/QUANTUM sub-directory -README files explains how to launch the two codes in either mode. +Note that an engine code can support MDI in either or both of two modes. +It can be used as a stand-alone code, launched at the same time as +LAMMPS. Or it can be used as a plugin library, which LAMMPS loads. See +the :doc:`mdi plugin ` command for how to trigger LAMMPS to load a +plugin library. The ``examples/QUANTUM`` sub-directory README files +explains how to launch the two codes in either mode. ---------- -The *mode* setting determines which QMMM coupling algorithm is used. +The *mode* setting determines which QM/MM coupling algorithm is used. LAMMPS currently supports *direct* and *potential* algorithms, based on the *mode* setting. Both algorithms should give reasonably accurate results, but some QM codes support only one of the two modes. -E.g. in the examples/QUANTUM directory, PySCF supports only *direct*, +E.g. in the ``examples/QUANTUM`` directory, PySCF supports only *direct*, NWChem supports only *potential*, and LATTE currently supports -neither, so it cannot be used for QMMM simulations using this fix. +neither, so it cannot be used for QM/MM simulations using this fix. The *direct* option passes the coordinates and charges of each MM atom to the quantum code, in addition to the coordinates of each QM atom. @@ -96,12 +96,12 @@ The quantum code returns forces on each QM atom as well as forces on each MM atom. The latter is effectively the force on MM atoms due to the QM atoms. -The input script for performing a *direct* mode QMMM simulation should +The input script for performing a *direct* mode QM/MM simulation should do the following: -* delete all bonds (angles, dihedrals, etc) bewteen QM atoms +* delete all bonds (angles, dihedrals, etc) between QM atoms * set the charge on each QM atom to zero -* define no bonds (angles, dihederals, etc) which involve both QM and MM atoms +* define no bonds (angles, dihedrals, etc) which involve both QM and MM atoms * define a force field (pair, bonds, angles, optional kspace) for the entire system The first two bullet can be performed using the :doc:`delete_bonds @@ -114,8 +114,8 @@ The fourth bullet implies that non-bonded non-Coulombic interactions (e.g. van der Waals) between QM/QM and QM/MM pairs of atoms are computed by LAMMPS. -See the examples/QUANTUM/PySCF/in.* files for examples of input scripts -for QMMM simulations using the *direct* mode. +See the ``examples/QUANTUM/PySCF/in.*`` files for examples of input +scripts for QM/MM simulations using the *direct* mode. The *potential* option passes the coordinates of each QM atom and a Coulomb potential for each QM atom to the quantum code. The latter is @@ -129,34 +129,34 @@ The quantum code returns forces and charge on each QM atom. The new charges on the QM atom are used to re-calculate the MM force field, resulting in altered forces on the MM atoms. -The input script for performing a *potential* mode QMMM simulation +The input script for performing a *potential* mode QM/MM simulation should do the following: -* delete all bonds (angles, dihedrals, etc) bewteen QM atoms +* delete all bonds (angles, dihedrals, etc) between QM atoms * define a hybrid pair style which includes a Coulomb-only pair sub-style -* define no bonds (angles, dihederals, etc) which involve both QM and MM atoms +* define no bonds (angles, dihedrals, etc) which involve both QM and MM atoms * define a force field (pair, bonds, angles, optional kspace) for the entire system The first operation can be performed using the :doc:`delete_bonds -` command. See the examples/QUANTUM/NWChem/in.* files +` command. See the ``examples/QUANTUM/NWChem/in.*`` files for examples of how to do this. -The second operation is necessary so that this fix can calculate the Coulomb -potentail for the QM atoms. +The second operation is necessary so that this fix can calculate the +Coulomb potential for the QM atoms. The third bullet is required to have a consistent model, but is not checked by LAMMPS. The fourth bullet implies that non-bonded non-Coulombic interactions -(e.g. van der Waals) between QM/QM and QM/MM pairs of atoms are -computed by LAMMPS. However, some QM codes do not want the MM code -(LAMMPS) to compute QM/QM van der Waals interactions. NWChem is an -example. In this case, the coefficients for thoes interactions need -to be turned off, which typically requires the atom types for the QM atoms -be different than those for the MM atoms. +(e.g. van der Waals) between QM/QM and QM/MM pairs of atoms are computed +by LAMMPS. However, some QM codes do not want the MM code (LAMMPS) to +compute QM/QM van der Waals interactions. NWChem is an example. In +this case, the coefficients for those interactions need to be turned +off, which typically requires the atom types for the QM atoms be +different than those for the MM atoms. -See the examples/QUANTUM/NWChem/in.* files for examples of input -scripts for QMMM simulations using the *potential* mode. Those scripts +See the ``examples/QUANTUM/NWChem/in.*`` files for examples of input +scripts for QM/MM simulations using the *potential* mode. Those scripts also illustrate how to turn off QM/QM van der Waals interactions. ---------- @@ -171,7 +171,7 @@ connection to the QM code. The default is *yes*. The only time a *no* is needed is if this command is used multiple times in an input script. E.g. if it used inside a loop which also uses the :doc:`clear ` command to destroy the system (including this fix). As -example would be a script which loop over a series of independent QMMM +example would be a script which loop over a series of independent QM/MM simulations, e.g. each with their own data file. In this use case *connect no* could be used along with the :doc:`mdi connect and exit ` command to one-time initiate/terminate the connection outside @@ -262,11 +262,11 @@ also perform similar unit conversions into its preferred units. Related commands """""""""""""""" -:doc:`mdi plugin `, :doc:`mdi engine `, :doc:`fix mdi/qm - ` +:doc:`mdi plugin `, +:doc:`mdi engine `, +:doc:`fix mdi/qm ` Default """"""" -The default for the optional keywords are virial = no and connect = -yes. +The default for the optional keywords are virial = no and connect = yes. diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 0f18e6822f..cffc87d3e3 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -2572,7 +2572,7 @@ nvidia nvk nvt Nwait -nwchem +NWChem nx Nx nxlo @@ -2906,6 +2906,7 @@ PyLammps pymbar pymodule pymol +PySCF pythonic pytorch pyy From 11d220e9567c2a796386113fe235a5b1e2c0462e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 12 Mar 2023 16:49:45 -0400 Subject: [PATCH 309/448] update .gitignore --- src/.gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/.gitignore b/src/.gitignore index df02ab3397..bf0d0d573a 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -39,6 +39,8 @@ /mdi_engine.h /fix_mdi_qm.cpp /fix_mdi_qm.h +/fix_mdi_qmmm.cpp +/fix_mdi_qmmm.h /mdi_command.cpp /mdi_command.h /mdi_plugin.cpp From 6cb45a5e0f0f49211eb841afbdbd830a20b5ce6f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 12 Mar 2023 17:08:17 -0400 Subject: [PATCH 310/448] update minimal MDI test/demo for current code --- examples/PACKAGES/mdi/Script.sh | 5 +++++ examples/PACKAGES/mdi/lammps.in | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/examples/PACKAGES/mdi/Script.sh b/examples/PACKAGES/mdi/Script.sh index 9e3f6e5f62..07353f4c76 100644 --- a/examples/PACKAGES/mdi/Script.sh +++ b/examples/PACKAGES/mdi/Script.sh @@ -14,3 +14,8 @@ wait python driver.py -mdi "-name driver -role DRIVER -method TCP -port 8021" & mpiexec -n 2 ../../../src/lmp_mdi -mdi "-name LAMMPS -role ENGINE -method TCP -port 8021 -hostname localhost" -in lammps.in > lammps.out & wait + +# MPI, running LAMMPS on two procs + +mpiexec -n 1 python driver.py -mdi "-name driver -role DRIVER -method MPI" : \ + -n 2 ../../../src/lmp_mdi -mdi "-name LAMMPS -role ENGINE -method MPI" -in lammps.in > lammps.out diff --git a/examples/PACKAGES/mdi/lammps.in b/examples/PACKAGES/mdi/lammps.in index a22383bcad..5bfeba4114 100644 --- a/examples/PACKAGES/mdi/lammps.in +++ b/examples/PACKAGES/mdi/lammps.in @@ -25,4 +25,4 @@ thermo 1 fix 1 all nvt temp 300.0 300.0 70.0 -mdi/engine +mdi engine From ac848c91e9eded8a682c5b096bad572582c47345 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 12 Mar 2023 17:19:50 -0400 Subject: [PATCH 311/448] add versionadded tag for fix mdi/qmmm --- doc/src/Howto_mdi.rst | 2 +- doc/src/fix_mdi_qmmm.rst | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/src/Howto_mdi.rst b/doc/src/Howto_mdi.rst index ec8027b942..51cf99b237 100644 --- a/doc/src/Howto_mdi.rst +++ b/doc/src/Howto_mdi.rst @@ -126,7 +126,7 @@ as a plugin library. ------------- -As of Feb 2023, these are quantum codes with MDI support provided via +As of March 2023, these are quantum codes with MDI support provided via Python wrapper scripts included in the LAMMPS distribution. These can be used with the fix mdi/qm and fix mdi/qmmm commands to perform QM calculations of an entire system (e.g. AIMD) or QM/MM simulations. See diff --git a/doc/src/fix_mdi_qmmm.rst b/doc/src/fix_mdi_qmmm.rst index 58be173930..c933bb1e0e 100644 --- a/doc/src/fix_mdi_qmmm.rst +++ b/doc/src/fix_mdi_qmmm.rst @@ -39,6 +39,8 @@ Examples Description """"""""""" +.. versionadded:: TBD + This command enables LAMMPS to act as a client with another server code to perform a coupled QM/MM (quantum-mechanics/molecular-mechanics) simulation. LAMMPS will perform classical MD (molecular mechanics From 21293f1c08a3217e8ce29a95e5d4db7de0562152 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 13 Mar 2023 12:10:14 -0400 Subject: [PATCH 312/448] update links and hashes for new plumed2 releases --- cmake/Modules/Packages/PLUMED.cmake | 4 ++-- lib/plumed/Install.py | 8 +++++--- tools/singularity/almalinux9.def | 2 +- tools/singularity/centos7.def | 2 +- tools/singularity/centos8.def | 2 +- tools/singularity/fedora35_mingw.def | 2 +- tools/singularity/fedora36_mingw.def | 2 +- tools/singularity/rocky8.def | 2 +- tools/singularity/ubuntu18.04.def | 2 +- tools/singularity/ubuntu18.04_amd_rocm.def | 2 +- tools/singularity/ubuntu18.04_gpu.def | 2 +- tools/singularity/ubuntu18.04_intel_opencl.def | 2 +- tools/singularity/ubuntu18.04_nvidia.def | 2 +- tools/singularity/ubuntu20.04.def | 2 +- tools/singularity/ubuntu20.04_amd_rocm.def | 2 +- tools/singularity/ubuntu20.04_gpu.def | 2 +- tools/singularity/ubuntu20.04_intel_opencl.def | 2 +- tools/singularity/ubuntu20.04_nvidia.def | 2 +- tools/singularity/ubuntu20.04_oneapi.def | 2 +- tools/singularity/ubuntu22.04.def | 2 +- 20 files changed, 25 insertions(+), 23 deletions(-) diff --git a/cmake/Modules/Packages/PLUMED.cmake b/cmake/Modules/Packages/PLUMED.cmake index f231d148bd..9a4a9556ee 100644 --- a/cmake/Modules/Packages/PLUMED.cmake +++ b/cmake/Modules/Packages/PLUMED.cmake @@ -54,8 +54,8 @@ if(DOWNLOAD_PLUMED) set(PLUMED_BUILD_BYPRODUCTS "/lib/${CMAKE_STATIC_LIBRARY_PREFIX}plumedWrapper${CMAKE_STATIC_LIBRARY_PREFIX}") endif() - set(PLUMED_URL "https://github.com/plumed/plumed2/releases/download/v2.8.1/plumed-src-2.8.1.tgz" CACHE STRING "URL for PLUMED tarball") - set(PLUMED_MD5 "6bfe72ebdae63dc38a9ca27d9b0e08f8" CACHE STRING "MD5 checksum of PLUMED tarball") + set(PLUMED_URL "https://github.com/plumed/plumed2/releases/download/v2.8.2/plumed-src-2.8.2.tgz" CACHE STRING "URL for PLUMED tarball") + set(PLUMED_MD5 "599092b6a0aa6fff992612537ad98994" CACHE STRING "MD5 checksum of PLUMED tarball") mark_as_advanced(PLUMED_URL) mark_as_advanced(PLUMED_MD5) diff --git a/lib/plumed/Install.py b/lib/plumed/Install.py index bb6f27fddb..21e8ac51ff 100644 --- a/lib/plumed/Install.py +++ b/lib/plumed/Install.py @@ -17,17 +17,17 @@ parser = ArgumentParser(prog='Install.py', # settings -version = "2.8.1" +version = "2.8.2" mode = "static" # help message HELP = """ Syntax from src dir: make lib-plumed args="-b" - or: make lib-plumed args="-b -v 2.4.3" + or: make lib-plumed args="-b -v 2.8.2" or: make lib-plumed args="-p /usr/local/plumed2 -m shared" -Syntax from lib dir: python Install.py -b -v 2.4.3 +Syntax from lib dir: python Install.py -b -v 2.8.2 or: python Install.py -b or: python Install.py -p /usr/local/plumed2 -m shared @@ -59,8 +59,10 @@ checksums = { \ '2.7.3' : 'f00cc82edfefe6bb3df934911dbe32fb', \ '2.7.4' : 'f858e0b6aed173748fc85b6bc8a9dcb3', \ '2.7.5' : '2aca1986d6c1ca3ba7e9eb51b1102792', \ + '2.7.6' : 'fb8c0ec10f97a9353eb123a5c4c35aa6', \ '2.8.0' : '489b23daba70da78cf0506cbc31689c6', \ '2.8.1' : '6bfe72ebdae63dc38a9ca27d9b0e08f8', \ + '2.8.2' : '599092b6a0aa6fff992612537ad98994', \ } # parse and process arguments diff --git a/tools/singularity/almalinux9.def b/tools/singularity/almalinux9.def index e16ebbbdb5..eacaf3b565 100644 --- a/tools/singularity/almalinux9.def +++ b/tools/singularity/almalinux9.def @@ -44,7 +44,7 @@ From: library/almalinux:9 # manually install Plumed mkdir plumed cd plumed - version=2.8.1 + version=2.8.2 curl -L -o plumed.tar.gz https://github.com/plumed/plumed2/releases/download/v${version}/plumed-src-${version}.tgz tar -xzf plumed.tar.gz cd plumed-${version} diff --git a/tools/singularity/centos7.def b/tools/singularity/centos7.def index c0fe278e94..fcdb2ff204 100644 --- a/tools/singularity/centos7.def +++ b/tools/singularity/centos7.def @@ -37,7 +37,7 @@ From: library/centos:7 # manually install Plumed mkdir plumed cd plumed - version=2.8.1 + version=2.8.2 curl -L -o plumed.tar.gz https://github.com/plumed/plumed2/releases/download/v${version}/plumed-src-${version}.tgz tar -xzf plumed.tar.gz cd plumed-${version} diff --git a/tools/singularity/centos8.def b/tools/singularity/centos8.def index 7cb0c51a9e..97f818f9eb 100644 --- a/tools/singularity/centos8.def +++ b/tools/singularity/centos8.def @@ -42,7 +42,7 @@ From: centos:8 # manually install Plumed mkdir plumed cd plumed - version=2.8.1 + version=2.8.2 curl -L -o plumed.tar.gz https://github.com/plumed/plumed2/releases/download/v${version}/plumed-src-${version}.tgz tar -xzf plumed.tar.gz cd plumed-${version} diff --git a/tools/singularity/fedora35_mingw.def b/tools/singularity/fedora35_mingw.def index 2661c77db4..693512bb97 100644 --- a/tools/singularity/fedora35_mingw.def +++ b/tools/singularity/fedora35_mingw.def @@ -49,7 +49,7 @@ From: fedora:35 # manually install Plumed mkdir plumed cd plumed - version=2.8.1 + version=2.8.2 curl -L -o plumed.tar.gz https://github.com/plumed/plumed2/releases/download/v${version}/plumed-src-${version}.tgz tar -xzf plumed.tar.gz cd plumed-${version} diff --git a/tools/singularity/fedora36_mingw.def b/tools/singularity/fedora36_mingw.def index 873b646e84..09c3a71d94 100644 --- a/tools/singularity/fedora36_mingw.def +++ b/tools/singularity/fedora36_mingw.def @@ -49,7 +49,7 @@ From: fedora:36 # manually install Plumed mkdir plumed cd plumed - version=2.8.1 + version=2.8.2 curl -L -o plumed.tar.gz https://github.com/plumed/plumed2/releases/download/v${version}/plumed-src-${version}.tgz tar -xzf plumed.tar.gz cd plumed-${version} diff --git a/tools/singularity/rocky8.def b/tools/singularity/rocky8.def index 0882bfd72b..bd076b5f6c 100644 --- a/tools/singularity/rocky8.def +++ b/tools/singularity/rocky8.def @@ -43,7 +43,7 @@ From: rockylinux/rockylinux:8 # manually install Plumed mkdir plumed cd plumed - version=2.8.1 + version=2.8.2 curl -L -o plumed.tar.gz https://github.com/plumed/plumed2/releases/download/v${version}/plumed-src-${version}.tgz tar -xzf plumed.tar.gz cd plumed-${version} diff --git a/tools/singularity/ubuntu18.04.def b/tools/singularity/ubuntu18.04.def index 02351d9ecb..142ef7ffd4 100644 --- a/tools/singularity/ubuntu18.04.def +++ b/tools/singularity/ubuntu18.04.def @@ -107,7 +107,7 @@ From: ubuntu:18.04 # Plumed ########################################################################### - export PLUMED_PKG_VERSION=2.8.1 + export PLUMED_PKG_VERSION=2.8.2 mkdir plumed cd plumed diff --git a/tools/singularity/ubuntu18.04_amd_rocm.def b/tools/singularity/ubuntu18.04_amd_rocm.def index 38eaa6e322..4b9c53f00b 100644 --- a/tools/singularity/ubuntu18.04_amd_rocm.def +++ b/tools/singularity/ubuntu18.04_amd_rocm.def @@ -136,7 +136,7 @@ From: ubuntu:18.04 # Plumed ########################################################################### - export PLUMED_PKG_VERSION=2.8.1 + export PLUMED_PKG_VERSION=2.8.2 mkdir plumed cd plumed diff --git a/tools/singularity/ubuntu18.04_gpu.def b/tools/singularity/ubuntu18.04_gpu.def index 0bfccf915b..7fa4e8ae4d 100644 --- a/tools/singularity/ubuntu18.04_gpu.def +++ b/tools/singularity/ubuntu18.04_gpu.def @@ -175,7 +175,7 @@ From: ubuntu:18.04 # Plumed ########################################################################### - export PLUMED_PKG_VERSION=2.8.1 + export PLUMED_PKG_VERSION=2.8.2 mkdir plumed cd plumed diff --git a/tools/singularity/ubuntu18.04_intel_opencl.def b/tools/singularity/ubuntu18.04_intel_opencl.def index 2d562771bb..d6c9c65690 100644 --- a/tools/singularity/ubuntu18.04_intel_opencl.def +++ b/tools/singularity/ubuntu18.04_intel_opencl.def @@ -108,7 +108,7 @@ From: ubuntu:18.04 # Plumed ########################################################################### - export PLUMED_PKG_VERSION=2.8.1 + export PLUMED_PKG_VERSION=2.8.2 mkdir plumed cd plumed diff --git a/tools/singularity/ubuntu18.04_nvidia.def b/tools/singularity/ubuntu18.04_nvidia.def index 2a3a34b1b2..91b0465a6d 100644 --- a/tools/singularity/ubuntu18.04_nvidia.def +++ b/tools/singularity/ubuntu18.04_nvidia.def @@ -107,7 +107,7 @@ From: nvidia/cuda:11.6.2-devel-ubuntu18.04 # Plumed ########################################################################### - export PLUMED_PKG_VERSION=2.8.1 + export PLUMED_PKG_VERSION=2.8.2 mkdir plumed cd plumed diff --git a/tools/singularity/ubuntu20.04.def b/tools/singularity/ubuntu20.04.def index 2a2a1dd660..d62b4c9f86 100644 --- a/tools/singularity/ubuntu20.04.def +++ b/tools/singularity/ubuntu20.04.def @@ -103,7 +103,7 @@ From: ubuntu:20.04 # Plumed ########################################################################### - export PLUMED_PKG_VERSION=2.8.1 + export PLUMED_PKG_VERSION=2.8.2 mkdir plumed cd plumed diff --git a/tools/singularity/ubuntu20.04_amd_rocm.def b/tools/singularity/ubuntu20.04_amd_rocm.def index f947de9ee9..753f215469 100644 --- a/tools/singularity/ubuntu20.04_amd_rocm.def +++ b/tools/singularity/ubuntu20.04_amd_rocm.def @@ -123,7 +123,7 @@ From: ubuntu:20.04 # Plumed ########################################################################### - export PLUMED_PKG_VERSION=2.8.1 + export PLUMED_PKG_VERSION=2.8.2 mkdir plumed cd plumed diff --git a/tools/singularity/ubuntu20.04_gpu.def b/tools/singularity/ubuntu20.04_gpu.def index 05da01ccac..115ca6eee5 100644 --- a/tools/singularity/ubuntu20.04_gpu.def +++ b/tools/singularity/ubuntu20.04_gpu.def @@ -161,7 +161,7 @@ From: ubuntu:20.04 # Plumed ########################################################################### - export PLUMED_PKG_VERSION=2.8.1 + export PLUMED_PKG_VERSION=2.8.2 mkdir plumed cd plumed diff --git a/tools/singularity/ubuntu20.04_intel_opencl.def b/tools/singularity/ubuntu20.04_intel_opencl.def index cc547fef29..c8680a16c7 100644 --- a/tools/singularity/ubuntu20.04_intel_opencl.def +++ b/tools/singularity/ubuntu20.04_intel_opencl.def @@ -101,7 +101,7 @@ From: ubuntu:20.04 # Plumed ########################################################################### - export PLUMED_PKG_VERSION=2.8.1 + export PLUMED_PKG_VERSION=2.8.2 mkdir plumed cd plumed diff --git a/tools/singularity/ubuntu20.04_nvidia.def b/tools/singularity/ubuntu20.04_nvidia.def index 8ec334ad8b..3affc30b8b 100644 --- a/tools/singularity/ubuntu20.04_nvidia.def +++ b/tools/singularity/ubuntu20.04_nvidia.def @@ -103,7 +103,7 @@ From: nvidia/cuda:11.6.2-devel-ubuntu20.04 # Plumed ########################################################################### - export PLUMED_PKG_VERSION=2.8.1 + export PLUMED_PKG_VERSION=2.8.2 mkdir plumed cd plumed diff --git a/tools/singularity/ubuntu20.04_oneapi.def b/tools/singularity/ubuntu20.04_oneapi.def index 25c913f392..70d69c7d80 100644 --- a/tools/singularity/ubuntu20.04_oneapi.def +++ b/tools/singularity/ubuntu20.04_oneapi.def @@ -140,7 +140,7 @@ From: ubuntu:20.04 # Plumed ########################################################################### - export PLUMED_PKG_VERSION=2.8.1 + export PLUMED_PKG_VERSION=2.8.2 mkdir plumed cd plumed diff --git a/tools/singularity/ubuntu22.04.def b/tools/singularity/ubuntu22.04.def index 8a4f262f75..ef43347982 100644 --- a/tools/singularity/ubuntu22.04.def +++ b/tools/singularity/ubuntu22.04.def @@ -103,7 +103,7 @@ From: ubuntu:22.04 # Plumed ########################################################################### - export PLUMED_PKG_VERSION=2.8.1 + export PLUMED_PKG_VERSION=2.8.2 mkdir plumed cd plumed From 8353c8336c6063420b539b462a5482fa572c5991 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 13 Mar 2023 15:31:45 -0400 Subject: [PATCH 313/448] small tweaks --- doc/src/Developer_write_pair.rst | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/doc/src/Developer_write_pair.rst b/doc/src/Developer_write_pair.rst index ce14c3f145..6204da3ecf 100644 --- a/doc/src/Developer_write_pair.rst +++ b/doc/src/Developer_write_pair.rst @@ -202,8 +202,6 @@ placed after a "protected:" label. } // namespace LAMMPS_NS #endif -Details of the class definition will be discussed later. - Implementation file """"""""""""""""""" @@ -251,9 +249,10 @@ may be around for a long time, it is beneficial to use some kind of The second section of the implementation file has various include statements. The include file for the class header has to come first, -then LAMMPS classes (sorted alphabetically) and system headers and -others, if needed. Note the standardized C++ notation for headers of -C-library functions. The final statement of this segment imports the +then a block of LAMMPS classes (sorted alphabetically) followed by a +block of system headers and others, if needed. Note the standardized +C++ notation for headers of C-library functions (``cmath`` instead of +``math.h``). The final statement of this segment imports the ``LAMMPS_NS::`` namespace globally for this file. This way, all LAMMPS specific functions and classes do not have to be prefixed with ``LAMMPS_NS::``. @@ -283,7 +282,7 @@ a pair style are available. } The `writedata = 1;` statement indicates that the pair style is capable -of writing the current pair coefficient parameters to data files. That +of writing the current pair coefficient parameters to data files. That is, the class implements specific versions for ``Pair::data()`` and ``Pair::data_all()``. Other statements that could be added here would be `single_enable = 1;` or `respa_enable = 0;` to indicate that the From 3815c0ef76b100bdee330a8ed64d2de76e879dae Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 13 Mar 2023 17:00:54 -0600 Subject: [PATCH 314/448] modify fix STORE/PERATOM and callers to allow ghost comm --- src/AMOEBA/pair_amoeba.cpp | 6 +- src/CORESHELL/compute_temp_cs.cpp | 2 +- src/EXTRA-COMPUTE/compute_hma.cpp | 2 +- src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp | 18 +-- src/EXTRA-MOLECULE/bond_harmonic_restrain.h | 2 +- src/FEP/fix_adapt_fep.cpp | 4 +- src/REPLICA/tad.cpp | 2 +- src/VTK/dump_vtk.cpp | 2 +- src/balance.cpp | 2 +- src/compute_chunk_atom.cpp | 2 +- src/compute_displace_atom.cpp | 2 +- src/compute_msd.cpp | 2 +- src/compute_vacf.cpp | 2 +- src/dump_custom.cpp | 2 +- src/fix_adapt.cpp | 4 +- src/fix_store_peratom.cpp | 145 +++++++++++++----- src/fix_store_peratom.h | 8 +- src/variable.cpp | 2 +- 18 files changed, 140 insertions(+), 69 deletions(-) diff --git a/src/AMOEBA/pair_amoeba.cpp b/src/AMOEBA/pair_amoeba.cpp index 0812fe43f0..319bbd8925 100644 --- a/src/AMOEBA/pair_amoeba.cpp +++ b/src/AMOEBA/pair_amoeba.cpp @@ -861,7 +861,7 @@ void PairAmoeba::init_style() Fix *myfix; if (first_flag) { id_pole = utils::strdup("AMOEBA_pole"); - myfix = modify->add_fix(fmt::format("{} {} STORE/PERATOM 1 13",id_pole,group->names[0])); + myfix = modify->add_fix(fmt::format("{} {} STORE/PERATOM 13 0 0 1",id_pole,group->names[0])); fixpole = dynamic_cast(myfix); } @@ -873,12 +873,12 @@ void PairAmoeba::init_style() if (first_flag && use_pred) { id_udalt = utils::strdup("AMOEBA_udalt"); - myfix = modify->add_fix(fmt::format("{} {} STORE/PERATOM 1 {} 3", + myfix = modify->add_fix(fmt::format("{} {} STORE/PERATOM {} 3 0 1", id_udalt, group->names[0], maxualt)); fixudalt = dynamic_cast(myfix); id_upalt = utils::strdup("AMOEBA_upalt"); - myfix = modify->add_fix(fmt::format("{} {} STORE/PERATOM 1 {} 3", + myfix = modify->add_fix(fmt::format("{} {} STORE/PERATOM {} 3 0 1", id_upalt, group->names[0], maxualt)); fixupalt = dynamic_cast(myfix); } diff --git a/src/CORESHELL/compute_temp_cs.cpp b/src/CORESHELL/compute_temp_cs.cpp index c28d52e5b2..b0ec39e542 100644 --- a/src/CORESHELL/compute_temp_cs.cpp +++ b/src/CORESHELL/compute_temp_cs.cpp @@ -68,7 +68,7 @@ ComputeTempCS::ComputeTempCS(LAMMPS *lmp, int narg, char **arg) : id_fix = utils::strdup(id + std::string("_COMPUTE_STORE")); fix = dynamic_cast( - modify->add_fix(fmt::format("{} {} STORE/PERATOM 0 1", id_fix, group->names[igroup]))); + modify->add_fix(fmt::format("{} {} STORE/PERATOM 1 0 0 0", id_fix, group->names[igroup]))); // set fix store values = 0 for now // fill them in via setup() once Comm::borders() has been called diff --git a/src/EXTRA-COMPUTE/compute_hma.cpp b/src/EXTRA-COMPUTE/compute_hma.cpp index 0f7279a5f5..806228faef 100644 --- a/src/EXTRA-COMPUTE/compute_hma.cpp +++ b/src/EXTRA-COMPUTE/compute_hma.cpp @@ -91,7 +91,7 @@ ComputeHMA::ComputeHMA(LAMMPS *lmp, int narg, char **arg) : id_fix = utils::strdup(std::string(id)+"_COMPUTE_STORE"); fix = dynamic_cast( - modify->add_fix(fmt::format("{} {} STORE/PERATOM 1 3", id_fix, group->names[igroup]))); + modify->add_fix(fmt::format("{} {} STORE/PERATOM 3 0 0 1", id_fix, group->names[igroup]))); // calculate xu,yu,zu for fix store array // skip if reset from restart file diff --git a/src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp b/src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp index a15642f90b..59bab65713 100644 --- a/src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp +++ b/src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp @@ -17,7 +17,7 @@ #include "comm.h" #include "domain.h" #include "error.h" -#include "fix_property_atom.h" +#include "fix_store_peratom.h" #include "force.h" #include "memory.h" #include "modify.h" @@ -59,7 +59,7 @@ void BondHarmonicRestrain::compute(int eflag, int vflag) ev_init(eflag, vflag); double **x = atom->x; - double **x0 = (double **) atom->extract("d2_BOND_RESTRAIN_X0"); + double **x0 = initial->astore; double **f = atom->f; int **bondlist = neighbor->bondlist; int nbondlist = neighbor->nbondlist; @@ -162,12 +162,12 @@ void BondHarmonicRestrain::init_style() if (natoms < 0) { // create internal fix to store initial positions - initial = dynamic_cast( - modify->add_fix("BOND_RESTRAIN_X0 all property/atom d2_BOND_RESTRAIN_X0 3 ghost yes")); + initial = dynamic_cast( + modify->add_fix("BOND_RESTRAIN_X0 all STORE/PERATOM 3 0 1 1")); if (!initial) error->all(FLERR, "Failure to create internal per-atom storage"); natoms = atom->natoms; - double *const *const x0 = (double **) atom->extract("d2_BOND_RESTRAIN_X0"); + double **x0 = initial->astore; const double *const *const x = atom->x; for (int i = 0; i < atom->nlocal; ++i) for (int j = 0; j < 3; ++j) x0[i][j] = x[i][j]; @@ -176,10 +176,10 @@ void BondHarmonicRestrain::init_style() // after a restart, natoms is set but initial is a null pointer. // we add the fix, but do not initialize it. It will pull the data from the restart. - + if (!initial) { - initial = dynamic_cast( - modify->add_fix("BOND_RESTRAIN_X0 all property/atom d2_BOND_RESTRAIN_X0 3 ghost yes")); + initial = dynamic_cast( + modify->add_fix("BOND_RESTRAIN_X0 all STORE/PERATOM 3 0 1 1")); if (!initial) error->all(FLERR, "Failure to create internal per-atom storage"); } } @@ -230,7 +230,7 @@ void BondHarmonicRestrain::write_data(FILE *fp) double BondHarmonicRestrain::single(int type, double rsq, int i, int j, double &fforce) { - double **x0 = (double **) atom->extract("d2_BOND_RESTRAIN_X0"); + double **x0 = initial->astore; double delx = x0[i][0] - x0[j][0]; double dely = x0[i][1] - x0[j][1]; diff --git a/src/EXTRA-MOLECULE/bond_harmonic_restrain.h b/src/EXTRA-MOLECULE/bond_harmonic_restrain.h index e17c21e125..61d01ab9b2 100644 --- a/src/EXTRA-MOLECULE/bond_harmonic_restrain.h +++ b/src/EXTRA-MOLECULE/bond_harmonic_restrain.h @@ -41,7 +41,7 @@ class BondHarmonicRestrain : public Bond { protected: double *k; bigint natoms; - class FixPropertyAtom *initial; + class FixStorePeratom *initial; virtual void allocate(); }; diff --git a/src/FEP/fix_adapt_fep.cpp b/src/FEP/fix_adapt_fep.cpp index 2d2409d27f..3f3d26c4d9 100644 --- a/src/FEP/fix_adapt_fep.cpp +++ b/src/FEP/fix_adapt_fep.cpp @@ -212,7 +212,7 @@ void FixAdaptFEP::post_constructor() if (diamflag) { id_fix_diam = utils::strdup(id + std::string("_FIX_STORE_DIAM")); fix_diam = dynamic_cast( - modify->add_fix(fmt::format("{} {} STORE/PERATOM 1 1", id_fix_diam,group->names[igroup]))); + modify->add_fix(fmt::format("{} {} STORE/PERATOM 1 0 0 1", id_fix_diam,group->names[igroup]))); if (fix_diam->restart_reset) fix_diam->restart_reset = 0; else { double *vec = fix_diam->vstore; @@ -230,7 +230,7 @@ void FixAdaptFEP::post_constructor() if (chgflag) { id_fix_chg = utils::strdup(id + std::string("_FIX_STORE_CHG")); fix_chg = dynamic_cast( - modify->add_fix(fmt::format("{} {} STORE/PERATOM 1 1",id_fix_chg,group->names[igroup]))); + modify->add_fix(fmt::format("{} {} STORE/PERATOM 1 0 0 1",id_fix_chg,group->names[igroup]))); if (fix_chg->restart_reset) fix_chg->restart_reset = 0; else { double *vec = fix_chg->vstore; diff --git a/src/REPLICA/tad.cpp b/src/REPLICA/tad.cpp index d89cbe80ba..e98cd39233 100644 --- a/src/REPLICA/tad.cpp +++ b/src/REPLICA/tad.cpp @@ -135,7 +135,7 @@ void TAD::command(int narg, char **arg) // create FixStorePeratom object to store revert state - fix_revert = dynamic_cast(modify->add_fix("tad_revert all STORE/PERATOM 0 7")); + fix_revert = dynamic_cast(modify->add_fix("tad_revert all STORE/PERATOM 7 0 0 0")); // create Finish for timing output diff --git a/src/VTK/dump_vtk.cpp b/src/VTK/dump_vtk.cpp index a188a1f060..c4dd68bf3c 100644 --- a/src/VTK/dump_vtk.cpp +++ b/src/VTK/dump_vtk.cpp @@ -2365,7 +2365,7 @@ int DumpVTK::modify_param(int narg, char **arg) std::string threshid = fmt::format("{}{}_DUMP_STORE",id,nthreshlast); thresh_fixID[nthreshlast] = utils::strdup(threshid); - threshid += fmt::format(" {} STORE/PERATOM 1 1", group->names[igroup]); + threshid += fmt::format(" {} STORE/PERATOM 1 0 0 1", group->names[igroup]); thresh_fix[nthreshlast] = dynamic_cast(modify->add_fix(threshid)); thresh_last[nthreshlast] = nthreshlast; diff --git a/src/balance.cpp b/src/balance.cpp index 91b9d70378..8d1ba460db 100644 --- a/src/balance.cpp +++ b/src/balance.cpp @@ -515,7 +515,7 @@ void Balance::weight_storage(char *prefix) fixstore = dynamic_cast(modify->get_fix_by_id(cmd)); if (!fixstore) - fixstore = dynamic_cast(modify->add_fix(cmd + " all STORE/PERATOM 0 1")); + fixstore = dynamic_cast(modify->add_fix(cmd + " all STORE/PERATOM 1 0 0 0")); // do not carry weights with atoms during normal atom migration diff --git a/src/compute_chunk_atom.cpp b/src/compute_chunk_atom.cpp index f9723497b1..b59449989b 100644 --- a/src/compute_chunk_atom.cpp +++ b/src/compute_chunk_atom.cpp @@ -572,7 +572,7 @@ void ComputeChunkAtom::init() if ((idsflag == ONCE || lockcount) && !fixstore) { id_fix = utils::strdup(id + std::string("_COMPUTE_STORE")); fixstore = dynamic_cast( - modify->add_fix(fmt::format("{} {} STORE/PERATOM 1 1", id_fix, group->names[igroup]))); + modify->add_fix(fmt::format("{} {} STORE/PERATOM 1 0 0 1", id_fix, group->names[igroup]))); } if ((idsflag != ONCE && !lockcount) && fixstore) { diff --git a/src/compute_displace_atom.cpp b/src/compute_displace_atom.cpp index 0b1ffff687..6f352fa111 100644 --- a/src/compute_displace_atom.cpp +++ b/src/compute_displace_atom.cpp @@ -75,7 +75,7 @@ ComputeDisplaceAtom::ComputeDisplaceAtom(LAMMPS *lmp, int narg, char **arg) : id_fix = utils::strdup(std::string(id) + "_COMPUTE_STORE"); fix = dynamic_cast( - modify->add_fix(fmt::format("{} {} STORE/PERATOM 1 3", id_fix, group->names[igroup]))); + modify->add_fix(fmt::format("{} {} STORE/PERATOM 3 0 0 1", id_fix, group->names[igroup]))); // calculate xu,yu,zu for fix store array // skip if reset from restart file diff --git a/src/compute_msd.cpp b/src/compute_msd.cpp index 8b7043e20d..ecbb540a48 100644 --- a/src/compute_msd.cpp +++ b/src/compute_msd.cpp @@ -64,7 +64,7 @@ ComputeMSD::ComputeMSD(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, a id_fix = utils::strdup(id + std::string("_COMPUTE_STORE")); fix = dynamic_cast( - modify->add_fix(fmt::format("{} {} STORE/PERATOM 1 3", id_fix, group->names[igroup]))); + modify->add_fix(fmt::format("{} {} STORE/PERATOM 3 0 0 1", id_fix, group->names[igroup]))); // calculate xu,yu,zu for fix store array // skip if reset from restart file diff --git a/src/compute_vacf.cpp b/src/compute_vacf.cpp index 4e209f8612..9d6018d05b 100644 --- a/src/compute_vacf.cpp +++ b/src/compute_vacf.cpp @@ -40,7 +40,7 @@ ComputeVACF::ComputeVACF(LAMMPS *lmp, int narg, char **arg) : id_fix = utils::strdup(id + std::string("_COMPUTE_STORE")); fix = dynamic_cast( - modify->add_fix(fmt::format("{} {} STORE/PERATOM 1 3", id_fix, group->names[igroup]))); + modify->add_fix(fmt::format("{} {} STORE/PERATOM 3 0 0 1", id_fix, group->names[igroup]))); // store current velocities in fix store array // skip if reset from restart file diff --git a/src/dump_custom.cpp b/src/dump_custom.cpp index 8d64e532a4..922fd4f6fc 100644 --- a/src/dump_custom.cpp +++ b/src/dump_custom.cpp @@ -2013,7 +2013,7 @@ int DumpCustom::modify_param(int narg, char **arg) std::string threshid = fmt::format("{}{}_DUMP_STORE",id,nthreshlast); thresh_fixID[nthreshlast] = utils::strdup(threshid); - threshid += fmt::format(" {} STORE/PERATOM 1 1", group->names[igroup]); + threshid += fmt::format(" {} STORE/PERATOM 1 0 0 1", group->names[igroup]); thresh_fix[nthreshlast] = dynamic_cast(modify->add_fix(threshid)); thresh_last[nthreshlast] = nthreshlast; diff --git a/src/fix_adapt.cpp b/src/fix_adapt.cpp index e0eaeb864e..98cf955485 100644 --- a/src/fix_adapt.cpp +++ b/src/fix_adapt.cpp @@ -279,7 +279,7 @@ void FixAdapt::post_constructor() if (diamflag && atom->radius_flag) { id_fix_diam = utils::strdup(id + std::string("_FIX_STORE_DIAM")); fix_diam = dynamic_cast( - modify->add_fix(fmt::format("{} {} STORE/PERATOM 1 1", id_fix_diam,group->names[igroup]))); + modify->add_fix(fmt::format("{} {} STORE/PERATOM 1 0 0 1", id_fix_diam,group->names[igroup]))); if (fix_diam->restart_reset) fix_diam->restart_reset = 0; else { double *vec = fix_diam->vstore; @@ -297,7 +297,7 @@ void FixAdapt::post_constructor() if (chgflag && atom->q_flag) { id_fix_chg = utils::strdup(id + std::string("_FIX_STORE_CHG")); fix_chg = dynamic_cast( - modify->add_fix(fmt::format("{} {} STORE/PERATOM 1 1",id_fix_chg,group->names[igroup]))); + modify->add_fix(fmt::format("{} {} STORE/PERATOM 1 0 0 1",id_fix_chg,group->names[igroup]))); if (fix_chg->restart_reset) fix_chg->restart_reset = 0; else { double *vec = fix_chg->vstore; diff --git a/src/fix_store_peratom.cpp b/src/fix_store_peratom.cpp index 6f5637e3f6..f9f3b5540f 100644 --- a/src/fix_store_peratom.cpp +++ b/src/fix_store_peratom.cpp @@ -22,50 +22,57 @@ using namespace LAMMPS_NS; using namespace FixConst; +// INTERNAL fix for storing/communicating per-atom values +// syntax: id group style n1 n2 gflag rflag +// N1 = 1, N2 = 0 is per-atom vector, single value per atom +// N1 > 1, N2 = 0 is per-atom array, N1 values per atom +// N1 > 0, N2 > 0 is per-atom tensor, N1xN2 array per atom +// gflag = 0/1, no/yes communicate per-atom values with ghost atoms +// rflag = 0/1, no/yes store per-atom values in restart file + /* ---------------------------------------------------------------------- */ FixStorePeratom::FixStorePeratom(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), vstore(nullptr), astore(nullptr) { - if (narg != 5 && narg != 6) + if (narg != 8) error->all(FLERR, "Illegal fix STORE/PERATOM command: number of args"); - // syntax: id group style 0/1 n1 n2 (n3), last arg optional - // 0/1 flag = not-store or store peratom values in restart file - // N2 = 1 and no n3 is vector, N2 > 1 and no n3 is array, N3 = tensor - // nvalues = # of peratom values, N = 1 is vector, N > 1 is array - disable = 0; - vecflag = arrayflag = tensorflag = 0; - restart_peratom = utils::inumeric(FLERR, arg[3], false, lmp); - n2 = utils::inumeric(FLERR, arg[4], false, lmp); - if (narg == 6) - n3 = utils::inumeric(FLERR, arg[5], false, lmp); - else - n3 = 1; - if (restart_peratom < 0 || restart_peratom > 1) - error->all(FLERR, "Illegal fix STORE/PERATOM restart flag: {}", restart_peratom); - if (n2 <= 0 || n3 <= 0) - error->all(FLERR, "Illegal fix STORE/PERATOM dimension args: must be >0: {} {}", n2, n3); - if (n2 == 1 && narg == 5) - vecflag = 1; - else if (narg == 5) - arrayflag = 1; - else - tensorflag = 1; - nvalues = n2 * n3; + n1 = utils::inumeric(FLERR, arg[4], false, lmp); + n2 = utils::inumeric(FLERR, arg[5], false, lmp); + ghostflag = utils::inumeric(FLERR, arg[6], false, lmp); + restartflag = utils::inumeric(FLERR, arg[7], false, lmp); + + vecflag = arrayflag = tensorflag = 0; + if (n1 == 1 && n2 == 0) vecflag = 1; + else if (n1 > 1 && n2 == 0) arrayflag = 1; + else if (n1 > 0 && n2 > 0) tensorflag = 1; + else error->all(FLERR, "Illegal fix STORE/PERATOM dimension args: {} {}", n1, n2); + + if (restartflag < 0 || restartflag > 1) + error->all(FLERR, "Illegal fix STORE/PERATOM restart flag: {}", restartflag); + if (ghostflag < 0 || ghostflag > 1) + error->all(FLERR, "Illegal fix STORE/PERATOM ghost flag: {}", ghostflag); + + if (vecflag || arrayflag) nvalues = n1; + else nvalues = n1 * n2; nbytes = nvalues * sizeof(double); + if (ghostflag) comm_border = nvalues; + maxexchange = nvalues; + + // allocate data structs and register with Atom class + vstore = nullptr; astore = nullptr; tstore = nullptr; - // allocate data structs and register with Atom class - FixStorePeratom::grow_arrays(atom->nmax); atom->add_callback(Atom::GROW); - if (restart_peratom) atom->add_callback(Atom::RESTART); + if (restartflag) atom->add_callback(Atom::RESTART); + if (ghostflag) atom->add_callback(Atom::BORDER); // zero the storage @@ -74,13 +81,12 @@ FixStorePeratom::FixStorePeratom(LAMMPS *lmp, int narg, char **arg) : for (int i = 0; i < nlocal; i++) vstore[i] = 0.0; } else if (arrayflag) { for (int i = 0; i < nlocal; i++) - for (int j = 0; j < n2; j++) astore[i][j] = 0.0; + for (int j = 0; j < n1; j++) astore[i][j] = 0.0; } else if (tensorflag) { for (int i = 0; i < nlocal; i++) - for (int j = 0; j < n2; j++) - for (int k = 0; k < n3; k++) tstore[i][j][k] = 0.0; + for (int j = 0; j < n1; j++) + for (int k = 0; k < n2; k++) tstore[i][j][k] = 0.0; } - maxexchange = nvalues; } /* ---------------------------------------------------------------------- */ @@ -90,7 +96,8 @@ FixStorePeratom::~FixStorePeratom() // unregister callbacks to this fix from Atom class atom->delete_callback(id, Atom::GROW); - if (restart_peratom) atom->delete_callback(id, Atom::RESTART); + if (restartflag) atom->delete_callback(id, Atom::RESTART); + if (ghostflag) atom->delete_callback(id, Atom::BORDER); memory->destroy(vstore); memory->destroy(astore); @@ -114,9 +121,9 @@ void FixStorePeratom::grow_arrays(int nmax) if (vecflag) memory->grow(vstore, nmax, "store:vstore"); else if (arrayflag) - memory->grow(astore, nmax, n2, "store:astore"); + memory->grow(astore, nmax, n1, "store:astore"); else if (tensorflag) - memory->grow(tstore, nmax, n2, n3, "store:tstore"); + memory->grow(tstore, nmax, n1, n2, "store:tstore"); } /* ---------------------------------------------------------------------- @@ -136,6 +143,62 @@ void FixStorePeratom::copy_arrays(int i, int j, int /*delflag*/) } } +/* ---------------------------------------------------------------------- + pack values for border communication at re-neighboring +------------------------------------------------------------------------- */ + +int FixStorePeratom::pack_border(int n, int *list, double *buf) +{ + int i, j, k, ncol; + + int m = 0; + if (vecflag) { + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = vstore[j]; + } + } else if (arrayflag) { + for (i = 0; i < n; i++) { + j = list[i]; + for (k = 0; k < nvalues; k++) + buf[m++] = astore[j][k]; + } + } else if (tensorflag) { + for (i = 0; i < n; i++) { + j = list[i]; + memcpy(&buf[m], &tstore[j][0][0], nbytes); + m += nvalues; + } + } + + return m; +} + +/* ---------------------------------------------------------------------- + unpack values for border communication at re-neighboring +------------------------------------------------------------------------- */ + +int FixStorePeratom::unpack_border(int n, int first, double *buf) +{ + int i, k, last, ncol; + + int m = 0; + last = first + n; + if (vecflag) { + for (i = first; i < last; i++) + vstore[i] = buf[m++]; + } else if (arrayflag) { + for (i = first; i < last; i++) + for (k = 0; k < nvalues; k++) + astore[i][k] = buf[m++]; + } else if (tensorflag) { + for (i = first; i < last; i++) { + memcpy(&tstore[i][0][0], &buf[m], nbytes); + m += nvalues; + } + } +} + /* ---------------------------------------------------------------------- pack values in local atom-based array for exchange with another proc ------------------------------------------------------------------------- */ @@ -147,7 +210,8 @@ int FixStorePeratom::pack_exchange(int i, double *buf) if (vecflag) { buf[0] = vstore[i]; } else if (arrayflag) { - for (int m = 0; m < nvalues; m++) buf[m] = astore[i][m]; + for (int m = 0; m < nvalues; m++) + buf[m] = astore[i][m]; } else if (tensorflag) { memcpy(buf, &tstore[i][0][0], nbytes); } @@ -166,7 +230,8 @@ int FixStorePeratom::unpack_exchange(int nlocal, double *buf) if (vecflag) { vstore[nlocal] = buf[0]; } else if (arrayflag) { - for (int m = 0; m < nvalues; m++) astore[nlocal][m] = buf[m]; + for (int m = 0; m < nvalues; m++) + astore[nlocal][m] = buf[m]; } else if (tensorflag) { memcpy(&tstore[nlocal][0][0], buf, nbytes); } @@ -191,7 +256,8 @@ int FixStorePeratom::pack_restart(int i, double *buf) if (vecflag) { buf[1] = vstore[i]; } else if (arrayflag) { - for (int m = 0; m < nvalues; m++) buf[m + 1] = astore[i][m]; + for (int m = 0; m < nvalues; m++) + buf[m + 1] = astore[i][m]; } else if (tensorflag) { memcpy(&buf[1], &tstore[i][0][0], nbytes); } @@ -219,7 +285,8 @@ void FixStorePeratom::unpack_restart(int nlocal, int nth) if (vecflag) { vstore[nlocal] = extra[nlocal][m]; } else if (arrayflag) { - for (int i = 0; i < nvalues; i++) astore[nlocal][i] = extra[nlocal][m++]; + for (int i = 0; i < nvalues; i++) + astore[nlocal][i] = extra[nlocal][m++]; } else if (tensorflag) { memcpy(&tstore[nlocal][0][0], &extra[nlocal][m], nbytes); } @@ -251,5 +318,5 @@ int FixStorePeratom::size_restart(int /*nlocal*/) double FixStorePeratom::memory_usage() { - return (double) atom->nmax * n2 * n3 * sizeof(double); + return (double) atom->nmax * nvalues * sizeof(double); } diff --git a/src/fix_store_peratom.h b/src/fix_store_peratom.h index d3efe4142b..dcf28be265 100644 --- a/src/fix_store_peratom.h +++ b/src/fix_store_peratom.h @@ -37,6 +37,8 @@ class FixStorePeratom : public Fix { void grow_arrays(int) override; void copy_arrays(int, int, int) override; + int pack_border(int, int *, double *) override; + int unpack_border(int, int, double *) override; int pack_exchange(int, double *) override; int unpack_exchange(int, double *) override; int pack_restart(int, double *) override; @@ -50,8 +52,10 @@ class FixStorePeratom : public Fix { int vecflag; // 1 if ncol=1 int arrayflag; // 1 if a 2d array (vector per atom) int tensorflag; // 1 if a 3d array (array per atom) - - int n2, n3; // size of 3d dims of per-atom data struct + int ghostflag; // 0/1 to communicate values with ghost atoms + int restartflag; // 0/1 to store values in restart files + + int n1, n2; // size of 3d dims of per-atom data struct int nvalues; // number of per-atom values int nbytes; // number of per-atom bytes }; diff --git a/src/variable.cpp b/src/variable.cpp index 2ac9bd0364..56a0604a7e 100644 --- a/src/variable.cpp +++ b/src/variable.cpp @@ -5028,7 +5028,7 @@ VarReader::VarReader(LAMMPS *lmp, char *name, char *file, int flag) : id_fix = utils::strdup(std::string(name) + "_VARIABLE_STORE"); fixstore = dynamic_cast( - modify->add_fix(std::string(id_fix) + " all STORE/PERATOM 0 1")); + modify->add_fix(std::string(id_fix) + " all STORE/PERATOM 1 0 0 0")); buffer = new char[CHUNK*MAXLINE]; } } From c369c0252f66a75b4d0036054ce6046515e477b1 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 13 Mar 2023 19:43:08 -0400 Subject: [PATCH 315/448] fix issues with changes in fix STORE/PERATOM --- src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp | 2 +- src/fix_store_peratom.cpp | 66 +++++++++---------- 2 files changed, 32 insertions(+), 36 deletions(-) diff --git a/src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp b/src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp index 59bab65713..b71e60c286 100644 --- a/src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp +++ b/src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp @@ -179,7 +179,7 @@ void BondHarmonicRestrain::init_style() if (!initial) { initial = dynamic_cast( - modify->add_fix("BOND_RESTRAIN_X0 all STORE/PERATOM 3 0 1 1")); + modify->add_fix("BOND_RESTRAIN_X0 all STORE/PERATOM 3 0 1 1")); if (!initial) error->all(FLERR, "Failure to create internal per-atom storage"); } } diff --git a/src/fix_store_peratom.cpp b/src/fix_store_peratom.cpp index f9f3b5540f..2a8429e42f 100644 --- a/src/fix_store_peratom.cpp +++ b/src/fix_store_peratom.cpp @@ -23,7 +23,7 @@ using namespace LAMMPS_NS; using namespace FixConst; // INTERNAL fix for storing/communicating per-atom values -// syntax: id group style n1 n2 gflag rflag +// syntax: id group style n1 n2 gflag rflag // N1 = 1, N2 = 0 is per-atom vector, single value per atom // N1 > 1, N2 = 0 is per-atom array, N1 values per atom // N1 > 0, N2 > 0 is per-atom tensor, N1xN2 array per atom @@ -35,34 +35,36 @@ using namespace FixConst; FixStorePeratom::FixStorePeratom(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), vstore(nullptr), astore(nullptr) { - if (narg != 8) - error->all(FLERR, "Illegal fix STORE/PERATOM command: number of args"); + if (narg != 7) error->all(FLERR, "Illegal fix STORE/PERATOM command: number of args"); disable = 0; - n1 = utils::inumeric(FLERR, arg[4], false, lmp); - n2 = utils::inumeric(FLERR, arg[5], false, lmp); - ghostflag = utils::inumeric(FLERR, arg[6], false, lmp); - restartflag = utils::inumeric(FLERR, arg[7], false, lmp); + n1 = utils::inumeric(FLERR, arg[3], false, lmp); + n2 = utils::inumeric(FLERR, arg[4], false, lmp); + ghostflag = utils::logical(FLERR, arg[5], false, lmp); + restartflag = utils::logical(FLERR, arg[6], false, lmp); vecflag = arrayflag = tensorflag = 0; - if (n1 == 1 && n2 == 0) vecflag = 1; - else if (n1 > 1 && n2 == 0) arrayflag = 1; - else if (n1 > 0 && n2 > 0) tensorflag = 1; - else error->all(FLERR, "Illegal fix STORE/PERATOM dimension args: {} {}", n1, n2); - - if (restartflag < 0 || restartflag > 1) - error->all(FLERR, "Illegal fix STORE/PERATOM restart flag: {}", restartflag); - if (ghostflag < 0 || ghostflag > 1) - error->all(FLERR, "Illegal fix STORE/PERATOM ghost flag: {}", ghostflag); + if (n1 == 1 && n2 == 0) + vecflag = 1; + else if (n1 > 1 && n2 == 0) + arrayflag = 1; + else if (n1 > 0 && n2 > 0) + tensorflag = 1; + else + error->all(FLERR, "Illegal fix STORE/PERATOM dimension args: {} {}", n1, n2); - if (vecflag || arrayflag) nvalues = n1; - else nvalues = n1 * n2; + if (vecflag || arrayflag) + nvalues = n1; + else + nvalues = n1 * n2; nbytes = nvalues * sizeof(double); if (ghostflag) comm_border = nvalues; maxexchange = nvalues; - + + if (restartflag) restart_peratom = 1; + // allocate data structs and register with Atom class vstore = nullptr; @@ -149,7 +151,7 @@ void FixStorePeratom::copy_arrays(int i, int j, int /*delflag*/) int FixStorePeratom::pack_border(int n, int *list, double *buf) { - int i, j, k, ncol; + int i, j, k; int m = 0; if (vecflag) { @@ -160,8 +162,7 @@ int FixStorePeratom::pack_border(int n, int *list, double *buf) } else if (arrayflag) { for (i = 0; i < n; i++) { j = list[i]; - for (k = 0; k < nvalues; k++) - buf[m++] = astore[j][k]; + for (k = 0; k < nvalues; k++) buf[m++] = astore[j][k]; } } else if (tensorflag) { for (i = 0; i < n; i++) { @@ -180,23 +181,22 @@ int FixStorePeratom::pack_border(int n, int *list, double *buf) int FixStorePeratom::unpack_border(int n, int first, double *buf) { - int i, k, last, ncol; + int i, k, last; int m = 0; last = first + n; if (vecflag) { - for (i = first; i < last; i++) - vstore[i] = buf[m++]; + for (i = first; i < last; i++) vstore[i] = buf[m++]; } else if (arrayflag) { for (i = first; i < last; i++) - for (k = 0; k < nvalues; k++) - astore[i][k] = buf[m++]; + for (k = 0; k < nvalues; k++) astore[i][k] = buf[m++]; } else if (tensorflag) { for (i = first; i < last; i++) { memcpy(&tstore[i][0][0], &buf[m], nbytes); m += nvalues; } } + return m; } /* ---------------------------------------------------------------------- @@ -210,8 +210,7 @@ int FixStorePeratom::pack_exchange(int i, double *buf) if (vecflag) { buf[0] = vstore[i]; } else if (arrayflag) { - for (int m = 0; m < nvalues; m++) - buf[m] = astore[i][m]; + for (int m = 0; m < nvalues; m++) buf[m] = astore[i][m]; } else if (tensorflag) { memcpy(buf, &tstore[i][0][0], nbytes); } @@ -230,8 +229,7 @@ int FixStorePeratom::unpack_exchange(int nlocal, double *buf) if (vecflag) { vstore[nlocal] = buf[0]; } else if (arrayflag) { - for (int m = 0; m < nvalues; m++) - astore[nlocal][m] = buf[m]; + for (int m = 0; m < nvalues; m++) astore[nlocal][m] = buf[m]; } else if (tensorflag) { memcpy(&tstore[nlocal][0][0], buf, nbytes); } @@ -256,8 +254,7 @@ int FixStorePeratom::pack_restart(int i, double *buf) if (vecflag) { buf[1] = vstore[i]; } else if (arrayflag) { - for (int m = 0; m < nvalues; m++) - buf[m + 1] = astore[i][m]; + for (int m = 0; m < nvalues; m++) buf[m + 1] = astore[i][m]; } else if (tensorflag) { memcpy(&buf[1], &tstore[i][0][0], nbytes); } @@ -285,8 +282,7 @@ void FixStorePeratom::unpack_restart(int nlocal, int nth) if (vecflag) { vstore[nlocal] = extra[nlocal][m]; } else if (arrayflag) { - for (int i = 0; i < nvalues; i++) - astore[nlocal][i] = extra[nlocal][m++]; + for (int i = 0; i < nvalues; i++) astore[nlocal][i] = extra[nlocal][m++]; } else if (tensorflag) { memcpy(&tstore[nlocal][0][0], &extra[nlocal][m], nbytes); } From ef67f790a2e17b6c53edc821be0ded31a065cdaa Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 13 Mar 2023 19:43:44 -0400 Subject: [PATCH 316/448] whitespace --- src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp | 2 +- src/fix_store_peratom.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp b/src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp index b71e60c286..7f3a7519b6 100644 --- a/src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp +++ b/src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp @@ -176,7 +176,7 @@ void BondHarmonicRestrain::init_style() // after a restart, natoms is set but initial is a null pointer. // we add the fix, but do not initialize it. It will pull the data from the restart. - + if (!initial) { initial = dynamic_cast( modify->add_fix("BOND_RESTRAIN_X0 all STORE/PERATOM 3 0 1 1")); diff --git a/src/fix_store_peratom.h b/src/fix_store_peratom.h index dcf28be265..9434ffe799 100644 --- a/src/fix_store_peratom.h +++ b/src/fix_store_peratom.h @@ -54,7 +54,7 @@ class FixStorePeratom : public Fix { int tensorflag; // 1 if a 3d array (array per atom) int ghostflag; // 0/1 to communicate values with ghost atoms int restartflag; // 0/1 to store values in restart files - + int n1, n2; // size of 3d dims of per-atom data struct int nvalues; // number of per-atom values int nbytes; // number of per-atom bytes From 1031110d930826e6d752439fa7e428715249cbff Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 13 Mar 2023 19:55:52 -0400 Subject: [PATCH 317/448] update docs --- doc/src/bond_harmonic_restrain.rst | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/doc/src/bond_harmonic_restrain.rst b/doc/src/bond_harmonic_restrain.rst index c48e68917c..c9707f5546 100644 --- a/doc/src/bond_harmonic_restrain.rst +++ b/doc/src/bond_harmonic_restrain.rst @@ -65,18 +65,13 @@ This bond style can only be used if LAMMPS was built with the EXTRA-MOLECULE package. See the :doc:`Build package ` page for more info. -This bond style uses :doc:`fix property/atom ` -internally to be able to determine the original bond lengths. This fix -will write its state to :doc:`data files `, but it is -currently not possible to read that stored data back with -:doc:`read_data ` for such an internally defined fix. You -are thus advised to use the "nofix" argument to the :doc:`write_data -command ` in order to avoid writing that section to the data -file that would cause an error when reading the data file. When -continuing from such a "nofix" data file, the reference bond lengths -will not be the original lengths but those of the current geometry. -Thus restarting is currently *only* possible with :doc:`binary restart -files `. +This bond style maintains internal data to determine the original bond +lengths :math:`r_{t=0}`. This information will be written to +:doc:`binary restart files ` but **not** to :doc:`data +files `. Thus, continuing a simulation is *only* possible +with :doc:`read_restart `. When using the :doc:`read_data +command `, the reference bond lengths :math:`r_{t=0}` will be +re-initialized from the current geometry. This bond style cannot be used with :doc:`fix shake or fix rattle `, with :doc:`fix filter/corotate `, or From 17f39d9d2cf8e5d85ba3a9e3fe9901d0b1bae501 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 13 Mar 2023 22:28:32 -0400 Subject: [PATCH 318/448] rename fix STORE/PERATOM to STORE/ATOM --- doc/src/Developer_notes.rst | 25 ++++++++++++ doc/src/Developer_updating.rst | 29 ++++++++++++++ src/AMOEBA/amoeba_induce.cpp | 2 +- src/AMOEBA/amoeba_utils.cpp | 2 +- src/AMOEBA/pair_amoeba.cpp | 26 ++++++------- src/AMOEBA/pair_amoeba.h | 6 +-- src/CORESHELL/compute_temp_cs.cpp | 6 +-- src/CORESHELL/compute_temp_cs.h | 2 +- src/EXTRA-COMPUTE/compute_hma.cpp | 8 ++-- src/EXTRA-COMPUTE/compute_hma.h | 2 +- src/EXTRA-COMPUTE/compute_msd_nongauss.cpp | 2 +- src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp | 10 ++--- src/EXTRA-MOLECULE/bond_harmonic_restrain.h | 2 +- src/FEP/fix_adapt_fep.cpp | 14 +++---- src/FEP/fix_adapt_fep.h | 2 +- src/GPU/pair_amoeba_gpu.cpp | 2 +- src/GPU/pair_hippo_gpu.cpp | 2 +- src/REPLICA/tad.cpp | 6 +-- src/REPLICA/tad.h | 18 ++++----- src/VTK/dump_vtk.cpp | 10 ++--- src/balance.cpp | 6 +-- src/balance.h | 10 ++--- src/compute_chunk_atom.cpp | 6 +-- src/compute_chunk_atom.h | 2 +- src/compute_displace_atom.cpp | 8 ++-- src/compute_displace_atom.h | 2 +- src/compute_msd.cpp | 8 ++-- src/compute_msd.h | 2 +- src/compute_vacf.cpp | 8 ++-- src/compute_vacf.h | 2 +- src/dump_custom.cpp | 10 ++--- src/dump_custom.h | 26 ++++++------- src/fix_adapt.cpp | 14 +++---- src/fix_adapt.h | 2 +- src/fix_balance.cpp | 2 +- ...x_store_peratom.cpp => fix_store_atom.cpp} | 38 +++++++++---------- src/{fix_store_peratom.h => fix_store_atom.h} | 12 +++--- src/fix_store_global.cpp | 2 +- src/variable.cpp | 6 +-- src/variable.h | 2 +- 40 files changed, 199 insertions(+), 145 deletions(-) rename src/{fix_store_peratom.cpp => fix_store_atom.cpp} (88%) rename src/{fix_store_peratom.h => fix_store_atom.h} (89%) diff --git a/doc/src/Developer_notes.rst b/doc/src/Developer_notes.rst index 92121cca15..07b289b583 100644 --- a/doc/src/Developer_notes.rst +++ b/doc/src/Developer_notes.rst @@ -11,6 +11,7 @@ Available topics are: - `Reading and parsing of text and text files`_ - `Requesting and accessing neighbor lists`_ +- `Choosing between a custom atom style, fix property/atom, and fix STORE/ATOM`_ - `Fix contributions to instantaneous energy, virial, and cumulative energy`_ - `KSpace PPPM FFT grids`_ @@ -216,6 +217,30 @@ command: neighbor->add_request(this, "delete_atoms", NeighConst::REQ_FULL); +Choosing between a custom atom style, fix property/atom, and fix STORE/ATOM +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +There are multiple ways to manage per-atom data within LAMMPS. Often +the per-atom storage is only used locally and managed by the class that +uses it. If the data has to persist between multiple time steps and +migrate with atoms when they move from sub-domain to sub-domain or +across periodic boundaries, then using a custom atom style, or :doc:`fix +property/atom `, or the internal fix STORE/ATOM are +possible options. + +- Using the atom style is usually the most programming effort and mostly + needed when the per-atom data is an integral part of the model like a + per-atom charge or diameter and thus should be part of the Atoms + section of a :doc:`data file `. + +- Fix property/atom is useful if the data is optional or should be + entered by the user, or accessed as a (named) custom property. In this + case the fix should be entered as part of the input (and not + internally) which allows to enter and store its content with data files. + +- Fix STORE/ATOM should be used when the data should be accessed internally + only and thus the fix can be created internally. + Fix contributions to instantaneous energy, virial, and cumulative energy ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/doc/src/Developer_updating.rst b/doc/src/Developer_updating.rst index 6089969c38..28b3712ae0 100644 --- a/doc/src/Developer_updating.rst +++ b/doc/src/Developer_updating.rst @@ -24,6 +24,7 @@ Available topics in mostly chronological order are: - `Use of "override" instead of "virtual"`_ - `Simplified and more compact neighbor list requests`_ - `Split of fix STORE into fix STORE/GLOBAL and fix STORE/PERATOM`_ +- `Rename of fix STORE/PERATOM to fix STORE/ATOM and change of arguments`_ - `Use Output::get_dump_by_id() instead of Output::find_dump()`_ - `Refactored grid communication using Grid3d/Grid2d classes instead of GridComm`_ @@ -385,6 +386,34 @@ New: This change is **required** or else the code will not compile. +Rename of fix STORE/PERATOM to fix STORE/ATOM and change of arguments +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. versionchanged:: TBD + +The available functionality of the internal fix to store per-atom +properties was expanded to enable storing data with ghost atoms and to +support binary restart files. With those changes, the fix was renamed +to fix STORE/ATOM and the number and order of (required) arguments has +changed. + +Old syntax: ``ID group-ID STORE/PERATOM rflag n1 n2 [n3]`` + +- *rflag* = 0/1, *no*/*yes* store per-atom values in restart file +- :math:`n1 = 1, n2 = 1, \mathrm{no}\;n3 \to` per-atom vector, single value per atom +- :math:`n1 = 1, n2 > 1, \mathrm{no}\;n3 \to` per-atom array, *n2* values per atom +- :math:`n1 = 1, n2 > 0, n3 > 0 \to` per-atom tensor, *n2* x *n3* values per atom + +New syntax: ``ID group-ID STORE/ATOM n1 n2 gflag rflag`` + +- :math:`n1 = 1, n2 = 0 \to` per-atom vector, single value per atom +- :math:`n1 > 1, n2 = 0 \to` per-atom array, *n1* values per atom +- :math:`n1 > 0, n2 > 0 \to` per-atom tensor, *n1* x *n2* values per atom +- *gflag* = 0/1, *no*/*yes* communicate per-atom values with ghost atoms +- *rflag* = 0/1, *no*/*yes* store per-atom values in restart file + +Since this is an internal fix, there is no user visible change. + Use Output::get_dump_by_id() instead of Output::find_dump() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/AMOEBA/amoeba_induce.cpp b/src/AMOEBA/amoeba_induce.cpp index ecc20a198c..6017b775ca 100644 --- a/src/AMOEBA/amoeba_induce.cpp +++ b/src/AMOEBA/amoeba_induce.cpp @@ -19,7 +19,7 @@ #include "comm.h" #include "domain.h" #include "error.h" -#include "fix_store_peratom.h" +#include "fix_store_atom.h" #include "math_const.h" #include "math_special.h" #include "my_page.h" diff --git a/src/AMOEBA/amoeba_utils.cpp b/src/AMOEBA/amoeba_utils.cpp index 5a4057930c..8fb839b693 100644 --- a/src/AMOEBA/amoeba_utils.cpp +++ b/src/AMOEBA/amoeba_utils.cpp @@ -17,7 +17,7 @@ #include "atom.h" #include "domain.h" #include "error.h" -#include "fix_store_peratom.h" +#include "fix_store_atom.h" #include "neigh_list.h" #include diff --git a/src/AMOEBA/pair_amoeba.cpp b/src/AMOEBA/pair_amoeba.cpp index 319bbd8925..72efa76523 100644 --- a/src/AMOEBA/pair_amoeba.cpp +++ b/src/AMOEBA/pair_amoeba.cpp @@ -20,7 +20,7 @@ #include "domain.h" #include "error.h" #include "fix.h" -#include "fix_store_peratom.h" +#include "fix_store_atom.h" #include "force.h" #include "group.h" #include "math_special.h" @@ -861,8 +861,8 @@ void PairAmoeba::init_style() Fix *myfix; if (first_flag) { id_pole = utils::strdup("AMOEBA_pole"); - myfix = modify->add_fix(fmt::format("{} {} STORE/PERATOM 13 0 0 1",id_pole,group->names[0])); - fixpole = dynamic_cast(myfix); + myfix = modify->add_fix(fmt::format("{} {} STORE/ATOM 13 0 0 1",id_pole,group->names[0])); + fixpole = dynamic_cast(myfix); } // creation of per-atom storage @@ -873,14 +873,14 @@ void PairAmoeba::init_style() if (first_flag && use_pred) { id_udalt = utils::strdup("AMOEBA_udalt"); - myfix = modify->add_fix(fmt::format("{} {} STORE/PERATOM {} 3 0 1", + myfix = modify->add_fix(fmt::format("{} {} STORE/ATOM {} 3 0 1", id_udalt, group->names[0], maxualt)); - fixudalt = dynamic_cast(myfix); + fixudalt = dynamic_cast(myfix); id_upalt = utils::strdup("AMOEBA_upalt"); - myfix = modify->add_fix(fmt::format("{} {} STORE/PERATOM {} 3 0 1", + myfix = modify->add_fix(fmt::format("{} {} STORE/ATOM {} 3 0 1", id_upalt, group->names[0], maxualt)); - fixupalt = dynamic_cast(myfix); + fixupalt = dynamic_cast(myfix); } // create pages for storing pairwise data: @@ -995,21 +995,21 @@ void PairAmoeba::init_style() if (id_pole) { myfix = modify->get_fix_by_id(id_pole); if (!myfix) - error->all(FLERR,"Could not find internal pair amoeba fix STORE/PERATOM id {}", id_pole); - fixpole = dynamic_cast(myfix); + error->all(FLERR,"Could not find internal pair amoeba fix STORE/ATOM id {}", id_pole); + fixpole = dynamic_cast(myfix); } if (id_udalt) { myfix = modify->get_fix_by_id(id_udalt); if (!myfix) - error->all(FLERR,"Could not find internal pair amoeba fix STORE/PERATOM id {}", id_udalt); - fixudalt = dynamic_cast(myfix); + error->all(FLERR,"Could not find internal pair amoeba fix STORE/ATOM id {}", id_udalt); + fixudalt = dynamic_cast(myfix); myfix = modify->get_fix_by_id(id_upalt); if (!myfix) - error->all(FLERR,"Could not find internal pair amoeba fix STORE/PERATOM id {}", id_upalt); - fixupalt = dynamic_cast(myfix); + error->all(FLERR,"Could not find internal pair amoeba fix STORE/ATOM id {}", id_upalt); + fixupalt = dynamic_cast(myfix); } // assign hydrogen neighbors (redID) to each owned atom diff --git a/src/AMOEBA/pair_amoeba.h b/src/AMOEBA/pair_amoeba.h index cdeee6c95f..1f3a4b799a 100644 --- a/src/AMOEBA/pair_amoeba.h +++ b/src/AMOEBA/pair_amoeba.h @@ -166,9 +166,9 @@ class PairAmoeba : public Pair { int *amgroup; // AMOEBA polarization group, 1 to Ngroup char *id_pole, *id_udalt, *id_upalt; - class FixStorePeratom *fixpole; // stores pole = multipole components - class FixStorePeratom *fixudalt; // stores udalt = induced dipole history - class FixStorePeratom *fixupalt; // stores upalt = induced dipole history + class FixStoreAtom *fixpole; // stores pole = multipole components + class FixStoreAtom *fixudalt; // stores udalt = induced dipole history + class FixStoreAtom *fixupalt; // stores upalt = induced dipole history // static per-type properties defined in force-field file diff --git a/src/CORESHELL/compute_temp_cs.cpp b/src/CORESHELL/compute_temp_cs.cpp index b0ec39e542..b66db30bc5 100644 --- a/src/CORESHELL/compute_temp_cs.cpp +++ b/src/CORESHELL/compute_temp_cs.cpp @@ -24,7 +24,7 @@ #include "comm.h" #include "domain.h" #include "error.h" -#include "fix_store_peratom.h" +#include "fix_store_atom.h" #include "force.h" #include "group.h" #include "memory.h" @@ -67,8 +67,8 @@ ComputeTempCS::ComputeTempCS(LAMMPS *lmp, int narg, char **arg) : // id = compute-ID + COMPUTE_STORE, fix group = compute group id_fix = utils::strdup(id + std::string("_COMPUTE_STORE")); - fix = dynamic_cast( - modify->add_fix(fmt::format("{} {} STORE/PERATOM 1 0 0 0", id_fix, group->names[igroup]))); + fix = dynamic_cast( + modify->add_fix(fmt::format("{} {} STORE/ATOM 1 0 0 0", id_fix, group->names[igroup]))); // set fix store values = 0 for now // fill them in via setup() once Comm::borders() has been called diff --git a/src/CORESHELL/compute_temp_cs.h b/src/CORESHELL/compute_temp_cs.h index 3fdf0f3711..1e7c537a83 100644 --- a/src/CORESHELL/compute_temp_cs.h +++ b/src/CORESHELL/compute_temp_cs.h @@ -54,7 +54,7 @@ class ComputeTempCS : public Compute { double **vint; char *id_fix; - class FixStorePeratom *fix; + class FixStoreAtom *fix; void dof_compute(); void vcm_pairs(); diff --git a/src/EXTRA-COMPUTE/compute_hma.cpp b/src/EXTRA-COMPUTE/compute_hma.cpp index 806228faef..4b949f6592 100644 --- a/src/EXTRA-COMPUTE/compute_hma.cpp +++ b/src/EXTRA-COMPUTE/compute_hma.cpp @@ -54,7 +54,7 @@ https://doi.org/10.1103/PhysRevE.92.043303 #include "domain.h" #include "error.h" #include "fix.h" -#include "fix_store_peratom.h" +#include "fix_store_atom.h" #include "force.h" #include "group.h" #include "improper.h" @@ -90,8 +90,8 @@ ComputeHMA::ComputeHMA(LAMMPS *lmp, int narg, char **arg) : // our new fix's group = same as compute group id_fix = utils::strdup(std::string(id)+"_COMPUTE_STORE"); - fix = dynamic_cast( - modify->add_fix(fmt::format("{} {} STORE/PERATOM 3 0 0 1", id_fix, group->names[igroup]))); + fix = dynamic_cast( + modify->add_fix(fmt::format("{} {} STORE/ATOM 3 0 0 1", id_fix, group->names[igroup]))); // calculate xu,yu,zu for fix store array // skip if reset from restart file @@ -196,7 +196,7 @@ void ComputeHMA::setup() // set fix which stores original atom coords - fix = dynamic_cast(modify->get_fix_by_id(id_fix)); + fix = dynamic_cast(modify->get_fix_by_id(id_fix)); if (!fix) error->all(FLERR,"Could not find hma per-atom store fix ID {}", id_fix); } diff --git a/src/EXTRA-COMPUTE/compute_hma.h b/src/EXTRA-COMPUTE/compute_hma.h index d8b8e55b96..8b5ea1a8dc 100644 --- a/src/EXTRA-COMPUTE/compute_hma.h +++ b/src/EXTRA-COMPUTE/compute_hma.h @@ -43,7 +43,7 @@ class ComputeHMA : public Compute { char *id_fix; char *id_temp; double finaltemp; - class FixStorePeratom *fix; + class FixStoreAtom *fix; double boltz, nktv2p, inv_volume; double deltaPcap; double virial_compute(int); diff --git a/src/EXTRA-COMPUTE/compute_msd_nongauss.cpp b/src/EXTRA-COMPUTE/compute_msd_nongauss.cpp index f75ab69a01..42af0f0b6e 100644 --- a/src/EXTRA-COMPUTE/compute_msd_nongauss.cpp +++ b/src/EXTRA-COMPUTE/compute_msd_nongauss.cpp @@ -19,7 +19,7 @@ #include "atom.h" #include "domain.h" -#include "fix_store_peratom.h" +#include "fix_store_atom.h" #include "group.h" #include "update.h" diff --git a/src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp b/src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp index 7f3a7519b6..87b6e5a80e 100644 --- a/src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp +++ b/src/EXTRA-MOLECULE/bond_harmonic_restrain.cpp @@ -17,7 +17,7 @@ #include "comm.h" #include "domain.h" #include "error.h" -#include "fix_store_peratom.h" +#include "fix_store_atom.h" #include "force.h" #include "memory.h" #include "modify.h" @@ -162,8 +162,8 @@ void BondHarmonicRestrain::init_style() if (natoms < 0) { // create internal fix to store initial positions - initial = dynamic_cast( - modify->add_fix("BOND_RESTRAIN_X0 all STORE/PERATOM 3 0 1 1")); + initial = dynamic_cast( + modify->add_fix("BOND_RESTRAIN_X0 all STORE/ATOM 3 0 1 1")); if (!initial) error->all(FLERR, "Failure to create internal per-atom storage"); natoms = atom->natoms; @@ -178,8 +178,8 @@ void BondHarmonicRestrain::init_style() // we add the fix, but do not initialize it. It will pull the data from the restart. if (!initial) { - initial = dynamic_cast( - modify->add_fix("BOND_RESTRAIN_X0 all STORE/PERATOM 3 0 1 1")); + initial = dynamic_cast( + modify->add_fix("BOND_RESTRAIN_X0 all STORE/ATOM 3 0 1 1")); if (!initial) error->all(FLERR, "Failure to create internal per-atom storage"); } } diff --git a/src/EXTRA-MOLECULE/bond_harmonic_restrain.h b/src/EXTRA-MOLECULE/bond_harmonic_restrain.h index 61d01ab9b2..66ee1300c1 100644 --- a/src/EXTRA-MOLECULE/bond_harmonic_restrain.h +++ b/src/EXTRA-MOLECULE/bond_harmonic_restrain.h @@ -41,7 +41,7 @@ class BondHarmonicRestrain : public Bond { protected: double *k; bigint natoms; - class FixStorePeratom *initial; + class FixStoreAtom *initial; virtual void allocate(); }; diff --git a/src/FEP/fix_adapt_fep.cpp b/src/FEP/fix_adapt_fep.cpp index 3f3d26c4d9..6e38c90ef2 100644 --- a/src/FEP/fix_adapt_fep.cpp +++ b/src/FEP/fix_adapt_fep.cpp @@ -20,7 +20,7 @@ #include "atom.h" #include "error.h" -#include "fix_store_peratom.h" +#include "fix_store_atom.h" #include "force.h" #include "group.h" #include "input.h" @@ -211,8 +211,8 @@ void FixAdaptFEP::post_constructor() if (diamflag) { id_fix_diam = utils::strdup(id + std::string("_FIX_STORE_DIAM")); - fix_diam = dynamic_cast( - modify->add_fix(fmt::format("{} {} STORE/PERATOM 1 0 0 1", id_fix_diam,group->names[igroup]))); + fix_diam = dynamic_cast( + modify->add_fix(fmt::format("{} {} STORE/ATOM 1 0 0 1", id_fix_diam,group->names[igroup]))); if (fix_diam->restart_reset) fix_diam->restart_reset = 0; else { double *vec = fix_diam->vstore; @@ -229,8 +229,8 @@ void FixAdaptFEP::post_constructor() if (chgflag) { id_fix_chg = utils::strdup(id + std::string("_FIX_STORE_CHG")); - fix_chg = dynamic_cast( - modify->add_fix(fmt::format("{} {} STORE/PERATOM 1 0 0 1",id_fix_chg,group->names[igroup]))); + fix_chg = dynamic_cast( + modify->add_fix(fmt::format("{} {} STORE/ATOM 1 0 0 1",id_fix_chg,group->names[igroup]))); if (fix_chg->restart_reset) fix_chg->restart_reset = 0; else { double *vec = fix_chg->vstore; @@ -333,11 +333,11 @@ void FixAdaptFEP::init() // fixes that store initial per-atom values if (id_fix_diam) { - fix_diam = dynamic_cast(modify->get_fix_by_id(id_fix_diam)); + fix_diam = dynamic_cast(modify->get_fix_by_id(id_fix_diam)); if (!fix_diam) error->all(FLERR,"Could not find fix adapt/fep storage fix ID {}", id_fix_diam); } if (id_fix_chg) { - fix_chg = dynamic_cast(modify->get_fix_by_id(id_fix_chg)); + fix_chg = dynamic_cast(modify->get_fix_by_id(id_fix_chg)); if (!fix_chg) error->all(FLERR,"Could not find fix adapt/fep storage fix ID {}", id_fix_chg); } diff --git a/src/FEP/fix_adapt_fep.h b/src/FEP/fix_adapt_fep.h index a93349a780..370a34a0f3 100644 --- a/src/FEP/fix_adapt_fep.h +++ b/src/FEP/fix_adapt_fep.h @@ -46,7 +46,7 @@ class FixAdaptFEP : public Fix { int anypair; int nlevels_respa; char *id_fix_diam, *id_fix_chg; - class FixStorePeratom *fix_diam, *fix_chg; + class FixStoreAtom *fix_diam, *fix_chg; struct Adapt { int which, ivar; diff --git a/src/GPU/pair_amoeba_gpu.cpp b/src/GPU/pair_amoeba_gpu.cpp index fd423486fd..c513d32081 100644 --- a/src/GPU/pair_amoeba_gpu.cpp +++ b/src/GPU/pair_amoeba_gpu.cpp @@ -23,7 +23,7 @@ #include "comm.h" #include "domain.h" #include "error.h" -#include "fix_store_peratom.h" +#include "fix_store_atom.h" #include "force.h" #include "gpu_extra.h" #include "info.h" diff --git a/src/GPU/pair_hippo_gpu.cpp b/src/GPU/pair_hippo_gpu.cpp index 9d286d5db7..aa10ad6c5f 100644 --- a/src/GPU/pair_hippo_gpu.cpp +++ b/src/GPU/pair_hippo_gpu.cpp @@ -23,7 +23,7 @@ #include "comm.h" #include "domain.h" #include "error.h" -#include "fix_store_peratom.h" +#include "fix_store_atom.h" #include "force.h" #include "gpu_extra.h" #include "info.h" diff --git a/src/REPLICA/tad.cpp b/src/REPLICA/tad.cpp index e98cd39233..b9b04a63d5 100644 --- a/src/REPLICA/tad.cpp +++ b/src/REPLICA/tad.cpp @@ -24,7 +24,7 @@ #include "error.h" #include "finish.h" #include "fix_event_tad.h" -#include "fix_store_peratom.h" +#include "fix_store_atom.h" #include "force.h" #include "integrate.h" #include "memory.h" @@ -133,9 +133,9 @@ void TAD::command(int narg, char **arg) fix_event = dynamic_cast(modify->add_fix("tad_event all EVENT/TAD")); - // create FixStorePeratom object to store revert state + // create FixStoreAtom object to store revert state - fix_revert = dynamic_cast(modify->add_fix("tad_revert all STORE/PERATOM 7 0 0 0")); + fix_revert = dynamic_cast(modify->add_fix("tad_revert all STORE/ATOM 7 0 0 0")); // create Finish for timing output diff --git a/src/REPLICA/tad.h b/src/REPLICA/tad.h index 8f51ca8c91..88379794cc 100644 --- a/src/REPLICA/tad.h +++ b/src/REPLICA/tad.h @@ -48,15 +48,15 @@ class TAD : public Command { double time_dynamics, time_quench, time_neb, time_comm, time_output; double time_start; - class NEB *neb; // NEB object - class Fix *fix_neb; // FixNEB object - class Compute *compute_event; // compute to detect event - class FixEventTAD *fix_event; // current event/state - class FixStorePeratom *fix_revert; // revert state - FixEventTAD **fix_event_list; // list of possible events - int n_event_list; // number of events - int nmax_event_list; // allocated events - int nmin_event_list; // minimum allocation + class NEB *neb; // NEB object + class Fix *fix_neb; // FixNEB object + class Compute *compute_event; // compute to detect event + class FixEventTAD *fix_event; // current event/state + class FixStoreAtom *fix_revert; // revert state + FixEventTAD **fix_event_list; // list of possible events + int n_event_list; // number of events + int nmax_event_list; // allocated events + int nmin_event_list; // minimum allocation char *neb_logfilename; // filename for ulogfile_neb FILE *uscreen_neb; // neb universe screen output diff --git a/src/VTK/dump_vtk.cpp b/src/VTK/dump_vtk.cpp index c4dd68bf3c..75033684ae 100644 --- a/src/VTK/dump_vtk.cpp +++ b/src/VTK/dump_vtk.cpp @@ -31,7 +31,7 @@ #include "domain.h" #include "error.h" #include "fix.h" -#include "fix_store_peratom.h" +#include "fix_store_atom.h" #include "force.h" #include "group.h" #include "input.h" @@ -2357,16 +2357,16 @@ int DumpVTK::modify_param(int narg, char **arg) thresh_value[nthresh] = utils::numeric(FLERR,arg[3],false,lmp); thresh_last[nthresh] = -1; } else { - thresh_fix = (FixStorePeratom **) - memory->srealloc(thresh_fix,(nthreshlast+1)*sizeof(FixStorePeratom *),"dump:thresh_fix"); + thresh_fix = (FixStoreAtom **) + memory->srealloc(thresh_fix,(nthreshlast+1)*sizeof(FixStoreAtom *),"dump:thresh_fix"); thresh_fixID = (char **) memory->srealloc(thresh_fixID,(nthreshlast+1)*sizeof(char *),"dump:thresh_fixID"); memory->grow(thresh_first,(nthreshlast+1),"dump:thresh_first"); std::string threshid = fmt::format("{}{}_DUMP_STORE",id,nthreshlast); thresh_fixID[nthreshlast] = utils::strdup(threshid); - threshid += fmt::format(" {} STORE/PERATOM 1 0 0 1", group->names[igroup]); - thresh_fix[nthreshlast] = dynamic_cast(modify->add_fix(threshid)); + threshid += fmt::format(" {} STORE/ATOM 1 0 0 1", group->names[igroup]); + thresh_fix[nthreshlast] = dynamic_cast(modify->add_fix(threshid)); thresh_last[nthreshlast] = nthreshlast; thresh_first[nthreshlast] = 1; diff --git a/src/balance.cpp b/src/balance.cpp index 8d1ba460db..3bd083e2b9 100644 --- a/src/balance.cpp +++ b/src/balance.cpp @@ -26,7 +26,7 @@ #include "neighbor.h" #include "comm.h" #include "domain.h" -#include "fix_store_peratom.h" +#include "fix_store_atom.h" #include "force.h" #include "imbalance.h" #include "imbalance_group.h" @@ -513,9 +513,9 @@ void Balance::weight_storage(char *prefix) if (prefix) cmd = prefix; cmd += "IMBALANCE_WEIGHTS"; - fixstore = dynamic_cast(modify->get_fix_by_id(cmd)); + fixstore = dynamic_cast(modify->get_fix_by_id(cmd)); if (!fixstore) - fixstore = dynamic_cast(modify->add_fix(cmd + " all STORE/PERATOM 1 0 0 0")); + fixstore = dynamic_cast(modify->add_fix(cmd + " all STORE/ATOM 1 0 0 0")); // do not carry weights with atoms during normal atom migration diff --git a/src/balance.h b/src/balance.h index 3a6e8bf457..669d21e2b5 100644 --- a/src/balance.h +++ b/src/balance.h @@ -27,11 +27,11 @@ namespace LAMMPS_NS { class Balance : public Command { public: class RCB *rcb; - class FixStorePeratom *fixstore; // per-atom weights stored in FixStorePeratom - int wtflag; // 1 if particle weighting is used - int varflag; // 1 if weight style var(iable) is used - int sortflag; // 1 if sorting of comm messages is done - int outflag; // 1 for output of balance results to file + class FixStoreAtom *fixstore; // per-atom weights stored in FixStorePeratom + int wtflag; // 1 if particle weighting is used + int varflag; // 1 if weight style var(iable) is used + int sortflag; // 1 if sorting of comm messages is done + int outflag; // 1 for output of balance results to file Balance(class LAMMPS *); ~Balance() override; diff --git a/src/compute_chunk_atom.cpp b/src/compute_chunk_atom.cpp index b59449989b..f5c68c8f25 100644 --- a/src/compute_chunk_atom.cpp +++ b/src/compute_chunk_atom.cpp @@ -21,7 +21,7 @@ #include "domain.h" #include "error.h" #include "fix.h" -#include "fix_store_peratom.h" +#include "fix_store_atom.h" #include "group.h" #include "input.h" #include "lattice.h" @@ -571,8 +571,8 @@ void ComputeChunkAtom::init() if ((idsflag == ONCE || lockcount) && !fixstore) { id_fix = utils::strdup(id + std::string("_COMPUTE_STORE")); - fixstore = dynamic_cast( - modify->add_fix(fmt::format("{} {} STORE/PERATOM 1 0 0 1", id_fix, group->names[igroup]))); + fixstore = dynamic_cast( + modify->add_fix(fmt::format("{} {} STORE/ATOM 1 0 0 1", id_fix, group->names[igroup]))); } if ((idsflag != ONCE && !lockcount) && fixstore) { diff --git a/src/compute_chunk_atom.h b/src/compute_chunk_atom.h index 6850003b3e..943e36c985 100644 --- a/src/compute_chunk_atom.h +++ b/src/compute_chunk_atom.h @@ -93,7 +93,7 @@ class ComputeChunkAtom : public Compute { double *varatom; char *id_fix; - class FixStorePeratom *fixstore; + class FixStoreAtom *fixstore; class Fix *lockfix; // ptr to FixAveChunk that is locking out setups // null pointer if no lock currently in place diff --git a/src/compute_displace_atom.cpp b/src/compute_displace_atom.cpp index 6f352fa111..9f37ff2a78 100644 --- a/src/compute_displace_atom.cpp +++ b/src/compute_displace_atom.cpp @@ -17,7 +17,7 @@ #include "atom.h" #include "domain.h" #include "error.h" -#include "fix_store_peratom.h" +#include "fix_store_atom.h" #include "group.h" #include "input.h" #include "memory.h" @@ -74,8 +74,8 @@ ComputeDisplaceAtom::ComputeDisplaceAtom(LAMMPS *lmp, int narg, char **arg) : // id = compute-ID + COMPUTE_STORE, fix group = compute group id_fix = utils::strdup(std::string(id) + "_COMPUTE_STORE"); - fix = dynamic_cast( - modify->add_fix(fmt::format("{} {} STORE/PERATOM 3 0 0 1", id_fix, group->names[igroup]))); + fix = dynamic_cast( + modify->add_fix(fmt::format("{} {} STORE/ATOM 3 0 0 1", id_fix, group->names[igroup]))); // calculate xu,yu,zu for fix store array // skip if reset from restart file @@ -120,7 +120,7 @@ void ComputeDisplaceAtom::init() { // set fix which stores original atom coords - fix = dynamic_cast(modify->get_fix_by_id(id_fix)); + fix = dynamic_cast(modify->get_fix_by_id(id_fix)); if (!fix) error->all(FLERR,"Could not find compute displace/atom fix with ID {}", id_fix); if (refreshflag) { diff --git a/src/compute_displace_atom.h b/src/compute_displace_atom.h index dc1be7434f..006928bd42 100644 --- a/src/compute_displace_atom.h +++ b/src/compute_displace_atom.h @@ -38,7 +38,7 @@ class ComputeDisplaceAtom : public Compute { int nmax; double **displace; char *id_fix; - class FixStorePeratom *fix; + class FixStoreAtom *fix; int refreshflag, ivar, nvmax; // refresh option is enabled char *rvar; // for incremental dumps diff --git a/src/compute_msd.cpp b/src/compute_msd.cpp index ecbb540a48..e73dbd3d53 100644 --- a/src/compute_msd.cpp +++ b/src/compute_msd.cpp @@ -16,7 +16,7 @@ #include "atom.h" #include "domain.h" #include "error.h" -#include "fix_store_peratom.h" +#include "fix_store_atom.h" #include "group.h" #include "modify.h" #include "update.h" @@ -63,8 +63,8 @@ ComputeMSD::ComputeMSD(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, a // id = compute-ID + COMPUTE_STORE, fix group = compute group id_fix = utils::strdup(id + std::string("_COMPUTE_STORE")); - fix = dynamic_cast( - modify->add_fix(fmt::format("{} {} STORE/PERATOM 3 0 0 1", id_fix, group->names[igroup]))); + fix = dynamic_cast( + modify->add_fix(fmt::format("{} {} STORE/ATOM 3 0 0 1", id_fix, group->names[igroup]))); // calculate xu,yu,zu for fix store array // skip if reset from restart file @@ -127,7 +127,7 @@ void ComputeMSD::init() { // set fix which stores reference atom coords - fix = dynamic_cast(modify->get_fix_by_id(id_fix)); + fix = dynamic_cast(modify->get_fix_by_id(id_fix)); if (!fix) error->all(FLERR, "Could not find compute msd fix with ID {}", id_fix); // nmsd = # of atoms in group diff --git a/src/compute_msd.h b/src/compute_msd.h index a273e9cf58..ffb0c18c8c 100644 --- a/src/compute_msd.h +++ b/src/compute_msd.h @@ -39,7 +39,7 @@ class ComputeMSD : public Compute { bigint nmsd; double masstotal; char *id_fix; - class FixStorePeratom *fix; + class FixStoreAtom *fix; }; } // namespace LAMMPS_NS diff --git a/src/compute_vacf.cpp b/src/compute_vacf.cpp index 9d6018d05b..acf1405092 100644 --- a/src/compute_vacf.cpp +++ b/src/compute_vacf.cpp @@ -18,7 +18,7 @@ #include "update.h" #include "group.h" #include "modify.h" -#include "fix_store_peratom.h" +#include "fix_store_atom.h" #include "error.h" using namespace LAMMPS_NS; @@ -39,8 +39,8 @@ ComputeVACF::ComputeVACF(LAMMPS *lmp, int narg, char **arg) : // id = compute-ID + COMPUTE_STORE, fix group = compute group id_fix = utils::strdup(id + std::string("_COMPUTE_STORE")); - fix = dynamic_cast( - modify->add_fix(fmt::format("{} {} STORE/PERATOM 3 0 0 1", id_fix, group->names[igroup]))); + fix = dynamic_cast( + modify->add_fix(fmt::format("{} {} STORE/ATOM 3 0 0 1", id_fix, group->names[igroup]))); // store current velocities in fix store array // skip if reset from restart file @@ -84,7 +84,7 @@ void ComputeVACF::init() { // set fix which stores original atom velocities - fix = dynamic_cast(modify->get_fix_by_id(id_fix)); + fix = dynamic_cast(modify->get_fix_by_id(id_fix)); if (!fix) error->all(FLERR,"Could not find compute vacf fix ID {}", id_fix); // nvacf = # of atoms in group diff --git a/src/compute_vacf.h b/src/compute_vacf.h index 42b3ed4adc..8e5e57ab65 100644 --- a/src/compute_vacf.h +++ b/src/compute_vacf.h @@ -35,7 +35,7 @@ class ComputeVACF : public Compute { protected: bigint nvacf; char *id_fix; - class FixStorePeratom *fix; + class FixStoreAtom *fix; }; } // namespace LAMMPS_NS diff --git a/src/dump_custom.cpp b/src/dump_custom.cpp index 922fd4f6fc..8667c6af12 100644 --- a/src/dump_custom.cpp +++ b/src/dump_custom.cpp @@ -20,7 +20,7 @@ #include "domain.h" #include "error.h" #include "fix.h" -#include "fix_store_peratom.h" +#include "fix_store_atom.h" #include "group.h" #include "input.h" #include "memory.h" @@ -2005,16 +2005,16 @@ int DumpCustom::modify_param(int narg, char **arg) thresh_value[nthresh] = utils::numeric(FLERR,arg[3],false,lmp); thresh_last[nthresh] = -1; } else { - thresh_fix = (FixStorePeratom **) - memory->srealloc(thresh_fix,(nthreshlast+1)*sizeof(FixStorePeratom *),"dump:thresh_fix"); + thresh_fix = (FixStoreAtom **) + memory->srealloc(thresh_fix,(nthreshlast+1)*sizeof(FixStoreAtom *),"dump:thresh_fix"); thresh_fixID = (char **) memory->srealloc(thresh_fixID,(nthreshlast+1)*sizeof(char *),"dump:thresh_fixID"); memory->grow(thresh_first,(nthreshlast+1),"dump:thresh_first"); std::string threshid = fmt::format("{}{}_DUMP_STORE",id,nthreshlast); thresh_fixID[nthreshlast] = utils::strdup(threshid); - threshid += fmt::format(" {} STORE/PERATOM 1 0 0 1", group->names[igroup]); - thresh_fix[nthreshlast] = dynamic_cast(modify->add_fix(threshid)); + threshid += fmt::format(" {} STORE/ATOM 1 0 0 1", group->names[igroup]); + thresh_fix[nthreshlast] = dynamic_cast(modify->add_fix(threshid)); thresh_last[nthreshlast] = nthreshlast; thresh_first[nthreshlast] = 1; diff --git a/src/dump_custom.h b/src/dump_custom.h index da49ffdc22..b600bd60b8 100644 --- a/src/dump_custom.h +++ b/src/dump_custom.h @@ -37,19 +37,19 @@ class DumpCustom : public Dump { int nevery; // dump frequency for output char *idregion; // region ID, nullptr if no region - int nthresh; // # of defined thresholds - int nthreshlast; // # of defined thresholds with value = LAST - // - int *thresh_array; // array to threshold on for each nthresh - int *thresh_op; // threshold operation for each nthresh - double *thresh_value; // threshold value for each nthresh - int *thresh_last; // for threshold value = LAST, - // index into thresh_fix - // -1 if not LAST, value is numeric - // - class FixStorePeratom **thresh_fix; // stores values for each threshold LAST - char **thresh_fixID; // IDs of thresh_fixes - int *thresh_first; // 1 the first time a FixStore values accessed + int nthresh; // # of defined thresholds + int nthreshlast; // # of defined thresholds with value = LAST + // + int *thresh_array; // array to threshold on for each nthresh + int *thresh_op; // threshold operation for each nthresh + double *thresh_value; // threshold value for each nthresh + int *thresh_last; // for threshold value = LAST, + // index into thresh_fix + // -1 if not LAST, value is numeric + // + class FixStoreAtom **thresh_fix; // stores values for each threshold LAST + char **thresh_fixID; // IDs of thresh_fixes + int *thresh_first; // 1 the first time a FixStore values accessed int expand; // flag for whether field args were expanded char **earg; // field names with wildcard expansion diff --git a/src/fix_adapt.cpp b/src/fix_adapt.cpp index 98cf955485..8dd97250a3 100644 --- a/src/fix_adapt.cpp +++ b/src/fix_adapt.cpp @@ -19,7 +19,7 @@ #include "bond.h" #include "domain.h" #include "error.h" -#include "fix_store_peratom.h" +#include "fix_store_atom.h" #include "force.h" #include "group.h" #include "input.h" @@ -278,8 +278,8 @@ void FixAdapt::post_constructor() if (diamflag && atom->radius_flag) { id_fix_diam = utils::strdup(id + std::string("_FIX_STORE_DIAM")); - fix_diam = dynamic_cast( - modify->add_fix(fmt::format("{} {} STORE/PERATOM 1 0 0 1", id_fix_diam,group->names[igroup]))); + fix_diam = dynamic_cast( + modify->add_fix(fmt::format("{} {} STORE/ATOM 1 0 0 1", id_fix_diam,group->names[igroup]))); if (fix_diam->restart_reset) fix_diam->restart_reset = 0; else { double *vec = fix_diam->vstore; @@ -296,8 +296,8 @@ void FixAdapt::post_constructor() if (chgflag && atom->q_flag) { id_fix_chg = utils::strdup(id + std::string("_FIX_STORE_CHG")); - fix_chg = dynamic_cast( - modify->add_fix(fmt::format("{} {} STORE/PERATOM 1 0 0 1",id_fix_chg,group->names[igroup]))); + fix_chg = dynamic_cast( + modify->add_fix(fmt::format("{} {} STORE/ATOM 1 0 0 1",id_fix_chg,group->names[igroup]))); if (fix_chg->restart_reset) fix_chg->restart_reset = 0; else { double *vec = fix_chg->vstore; @@ -494,11 +494,11 @@ void FixAdapt::init() // fixes that store initial per-atom values if (id_fix_diam) { - fix_diam = dynamic_cast(modify->get_fix_by_id(id_fix_diam)); + fix_diam = dynamic_cast(modify->get_fix_by_id(id_fix_diam)); if (!fix_diam) error->all(FLERR,"Could not find fix adapt storage fix ID {}", id_fix_diam); } if (id_fix_chg) { - fix_chg = dynamic_cast(modify->get_fix_by_id(id_fix_chg)); + fix_chg = dynamic_cast(modify->get_fix_by_id(id_fix_chg)); if (!fix_chg) error->all(FLERR,"Could not find fix adapt storage fix ID {}", id_fix_chg); } diff --git a/src/fix_adapt.h b/src/fix_adapt.h index 82dc739c67..f8477f7259 100644 --- a/src/fix_adapt.h +++ b/src/fix_adapt.h @@ -48,7 +48,7 @@ class FixAdapt : public Fix { int anypair, anybond, anyangle; int nlevels_respa; char *id_fix_diam, *id_fix_chg; - class FixStorePeratom *fix_diam, *fix_chg; + class FixStoreAtom *fix_diam, *fix_chg; double previous_diam_scale, previous_chg_scale; int discflag; diff --git a/src/fix_balance.cpp b/src/fix_balance.cpp index 06274eea03..844ffe474e 100644 --- a/src/fix_balance.cpp +++ b/src/fix_balance.cpp @@ -19,7 +19,7 @@ #include "comm.h" #include "domain.h" #include "error.h" -#include "fix_store_peratom.h" +#include "fix_store_atom.h" #include "force.h" #include "irregular.h" #include "kspace.h" diff --git a/src/fix_store_peratom.cpp b/src/fix_store_atom.cpp similarity index 88% rename from src/fix_store_peratom.cpp rename to src/fix_store_atom.cpp index 2a8429e42f..461959d264 100644 --- a/src/fix_store_peratom.cpp +++ b/src/fix_store_atom.cpp @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "fix_store_peratom.h" +#include "fix_store_atom.h" #include "atom.h" #include "error.h" @@ -32,10 +32,10 @@ using namespace FixConst; /* ---------------------------------------------------------------------- */ -FixStorePeratom::FixStorePeratom(LAMMPS *lmp, int narg, char **arg) : +FixStoreAtom::FixStoreAtom(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), vstore(nullptr), astore(nullptr) { - if (narg != 7) error->all(FLERR, "Illegal fix STORE/PERATOM command: number of args"); + if (narg != 7) error->all(FLERR, "Illegal fix STORE/ATOM command: number of args"); disable = 0; @@ -52,7 +52,7 @@ FixStorePeratom::FixStorePeratom(LAMMPS *lmp, int narg, char **arg) : else if (n1 > 0 && n2 > 0) tensorflag = 1; else - error->all(FLERR, "Illegal fix STORE/PERATOM dimension args: {} {}", n1, n2); + error->all(FLERR, "Illegal fix STORE/ATOM dimension args: {} {}", n1, n2); if (vecflag || arrayflag) nvalues = n1; @@ -71,7 +71,7 @@ FixStorePeratom::FixStorePeratom(LAMMPS *lmp, int narg, char **arg) : astore = nullptr; tstore = nullptr; - FixStorePeratom::grow_arrays(atom->nmax); + FixStoreAtom::grow_arrays(atom->nmax); atom->add_callback(Atom::GROW); if (restartflag) atom->add_callback(Atom::RESTART); if (ghostflag) atom->add_callback(Atom::BORDER); @@ -93,7 +93,7 @@ FixStorePeratom::FixStorePeratom(LAMMPS *lmp, int narg, char **arg) : /* ---------------------------------------------------------------------- */ -FixStorePeratom::~FixStorePeratom() +FixStoreAtom::~FixStoreAtom() { // unregister callbacks to this fix from Atom class @@ -108,7 +108,7 @@ FixStorePeratom::~FixStorePeratom() /* ---------------------------------------------------------------------- */ -int FixStorePeratom::setmask() +int FixStoreAtom::setmask() { int mask = 0; return mask; @@ -118,7 +118,7 @@ int FixStorePeratom::setmask() allocate atom-based array ------------------------------------------------------------------------- */ -void FixStorePeratom::grow_arrays(int nmax) +void FixStoreAtom::grow_arrays(int nmax) { if (vecflag) memory->grow(vstore, nmax, "store:vstore"); @@ -132,7 +132,7 @@ void FixStorePeratom::grow_arrays(int nmax) copy values within local atom-based array ------------------------------------------------------------------------- */ -void FixStorePeratom::copy_arrays(int i, int j, int /*delflag*/) +void FixStoreAtom::copy_arrays(int i, int j, int /*delflag*/) { if (disable) return; @@ -149,7 +149,7 @@ void FixStorePeratom::copy_arrays(int i, int j, int /*delflag*/) pack values for border communication at re-neighboring ------------------------------------------------------------------------- */ -int FixStorePeratom::pack_border(int n, int *list, double *buf) +int FixStoreAtom::pack_border(int n, int *list, double *buf) { int i, j, k; @@ -179,7 +179,7 @@ int FixStorePeratom::pack_border(int n, int *list, double *buf) unpack values for border communication at re-neighboring ------------------------------------------------------------------------- */ -int FixStorePeratom::unpack_border(int n, int first, double *buf) +int FixStoreAtom::unpack_border(int n, int first, double *buf) { int i, k, last; @@ -203,7 +203,7 @@ int FixStorePeratom::unpack_border(int n, int first, double *buf) pack values in local atom-based array for exchange with another proc ------------------------------------------------------------------------- */ -int FixStorePeratom::pack_exchange(int i, double *buf) +int FixStoreAtom::pack_exchange(int i, double *buf) { if (disable) return 0; @@ -222,7 +222,7 @@ int FixStorePeratom::pack_exchange(int i, double *buf) unpack values in local atom-based array from exchange with another proc ------------------------------------------------------------------------- */ -int FixStorePeratom::unpack_exchange(int nlocal, double *buf) +int FixStoreAtom::unpack_exchange(int nlocal, double *buf) { if (disable) return 0; @@ -241,7 +241,7 @@ int FixStorePeratom::unpack_exchange(int nlocal, double *buf) pack values in local atom-based arrays for restart file ------------------------------------------------------------------------- */ -int FixStorePeratom::pack_restart(int i, double *buf) +int FixStoreAtom::pack_restart(int i, double *buf) { if (disable) { buf[0] = 0; @@ -266,7 +266,7 @@ int FixStorePeratom::pack_restart(int i, double *buf) unpack values from atom->extra array to restart the fix ------------------------------------------------------------------------- */ -void FixStorePeratom::unpack_restart(int nlocal, int nth) +void FixStoreAtom::unpack_restart(int nlocal, int nth) { if (disable) return; @@ -292,7 +292,7 @@ void FixStorePeratom::unpack_restart(int nlocal, int nth) maxsize of any atom's restart data ------------------------------------------------------------------------- */ -int FixStorePeratom::maxsize_restart() +int FixStoreAtom::maxsize_restart() { if (disable) return 1; return nvalues + 1; @@ -302,17 +302,17 @@ int FixStorePeratom::maxsize_restart() size of atom nlocal's restart data ------------------------------------------------------------------------- */ -int FixStorePeratom::size_restart(int /*nlocal*/) +int FixStoreAtom::size_restart(int /*nlocal*/) { if (disable) return 1; return nvalues + 1; } /* ---------------------------------------------------------------------- - memory usage of global or peratom atom-based array + memory usage of per-atom atom-based array ------------------------------------------------------------------------- */ -double FixStorePeratom::memory_usage() +double FixStoreAtom::memory_usage() { return (double) atom->nmax * nvalues * sizeof(double); } diff --git a/src/fix_store_peratom.h b/src/fix_store_atom.h similarity index 89% rename from src/fix_store_peratom.h rename to src/fix_store_atom.h index 9434ffe799..e13b8aa37d 100644 --- a/src/fix_store_peratom.h +++ b/src/fix_store_atom.h @@ -13,26 +13,26 @@ #ifdef FIX_CLASS // clang-format off -FixStyle(STORE/PERATOM,FixStorePeratom); +FixStyle(STORE/ATOM,FixStoreAtom); // clang-format on #else -#ifndef LMP_FIX_STORE_PERATOM_H -#define LMP_FIX_STORE_PERATOM_H +#ifndef LMP_FIX_STORE_ATOM_H +#define LMP_FIX_STORE_ATOM_H #include "fix.h" namespace LAMMPS_NS { -class FixStorePeratom : public Fix { +class FixStoreAtom : public Fix { public: double *vstore; // vector storage double **astore; // array storage double ***tstore; // tensor (3d array) storage int disable; // 1 if operations (except grow) are currently disabled - FixStorePeratom(class LAMMPS *, int, char **); - ~FixStorePeratom() override; + FixStoreAtom(class LAMMPS *, int, char **); + ~FixStoreAtom() override; int setmask() override; void grow_arrays(int) override; diff --git a/src/fix_store_global.cpp b/src/fix_store_global.cpp index cebf4f7690..028d35810e 100644 --- a/src/fix_store_global.cpp +++ b/src/fix_store_global.cpp @@ -182,7 +182,7 @@ void FixStoreGlobal::restart(char *buf) } /* ---------------------------------------------------------------------- - memory usage of global or peratom atom-based array + memory usage of global data ------------------------------------------------------------------------- */ double FixStoreGlobal::memory_usage() diff --git a/src/variable.cpp b/src/variable.cpp index 56a0604a7e..19aed73734 100644 --- a/src/variable.cpp +++ b/src/variable.cpp @@ -20,7 +20,7 @@ #include "domain.h" #include "error.h" #include "fix.h" -#include "fix_store_peratom.h" +#include "fix_store_atom.h" #include "group.h" #include "info.h" #include "input.h" @@ -5027,8 +5027,8 @@ VarReader::VarReader(LAMMPS *lmp, char *name, char *file, int flag) : error->all(FLERR,"Cannot use atomfile-style variable unless an atom map exists"); id_fix = utils::strdup(std::string(name) + "_VARIABLE_STORE"); - fixstore = dynamic_cast( - modify->add_fix(std::string(id_fix) + " all STORE/PERATOM 1 0 0 0")); + fixstore = dynamic_cast( + modify->add_fix(std::string(id_fix) + " all STORE/ATOM 1 0 0 0")); buffer = new char[CHUNK*MAXLINE]; } } diff --git a/src/variable.h b/src/variable.h index 6326c5cc78..825a207d78 100644 --- a/src/variable.h +++ b/src/variable.h @@ -152,7 +152,7 @@ class Variable : protected Pointers { class VarReader : protected Pointers { public: - class FixStorePeratom *fixstore; + class FixStoreAtom *fixstore; char *id_fix; VarReader(class LAMMPS *, char *, char *, int); From 03454aeefb8920662c76ffab77f154ee1889b154 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 13 Mar 2023 23:07:11 -0400 Subject: [PATCH 319/448] compile GPU library with thread support when BUILD_OMP is enabled --- cmake/Modules/Packages/GPU.cmake | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/cmake/Modules/Packages/GPU.cmake b/cmake/Modules/Packages/GPU.cmake index 90645d699b..a0578394f1 100644 --- a/cmake/Modules/Packages/GPU.cmake +++ b/cmake/Modules/Packages/GPU.cmake @@ -176,6 +176,10 @@ if(GPU_API STREQUAL "CUDA") target_include_directories(gpu PRIVATE ${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini) target_compile_definitions(gpu PRIVATE -DUSE_CUDPP) endif() + if(BUILD_OMP) + find_package(OpenMP COMPONENTS CXX REQUIRED) + target_link_libraries(gpu PRIVATE OpenMP::OpenMP_CXX) + endif() target_link_libraries(lammps PRIVATE gpu) @@ -251,12 +255,18 @@ elseif(GPU_API STREQUAL "OPENCL") else() target_compile_definitions(gpu PRIVATE -DMPI_GERYON -DGERYON_NUMA_FISSION -DUCL_NO_EXIT) endif() + if(BUILD_OMP) + find_package(OpenMP COMPONENTS CXX REQUIRED) + target_link_libraries(gpu PRIVATE OpenMP::OpenMP_CXX) + endif() + target_link_libraries(lammps PRIVATE gpu) add_executable(ocl_get_devices ${LAMMPS_LIB_SOURCE_DIR}/gpu/geryon/ucl_get_devices.cpp) target_compile_definitions(ocl_get_devices PRIVATE -DUCL_OPENCL) target_link_libraries(ocl_get_devices PRIVATE OpenCL::OpenCL) add_dependencies(ocl_get_devices OpenCL::OpenCL) + elseif(GPU_API STREQUAL "HIP") if(NOT DEFINED HIP_PATH) if(NOT DEFINED ENV{HIP_PATH}) @@ -407,6 +417,10 @@ elseif(GPU_API STREQUAL "HIP") target_compile_definitions(gpu PRIVATE -DMPI_GERYON -DUCL_NO_EXIT) endif() target_link_libraries(gpu PRIVATE hip::host) + if(BUILD_OMP) + find_package(OpenMP COMPONENTS CXX REQUIRED) + target_link_libraries(gpu PRIVATE OpenMP::OpenMP_CXX) + endif() if(HIP_USE_DEVICE_SORT) if(HIP_PLATFORM STREQUAL "amd") From 14180774b7e94caa3b0a9fdef4e60adc0b1d2ae7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 14 Mar 2023 07:00:34 -0400 Subject: [PATCH 320/448] mention OpenMP support in the GPU library --- doc/src/Build_extras.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/doc/src/Build_extras.rst b/doc/src/Build_extras.rst index 4dd8c10b3f..e6366075ff 100644 --- a/doc/src/Build_extras.rst +++ b/doc/src/Build_extras.rst @@ -181,6 +181,9 @@ way no local OpenCL development headers or library needs to be present and only OpenCL compatible drivers need to be installed to use OpenCL. If this is not desired, you can set :code:`USE_STATIC_OPENCL_LOADER` to :code:`no`. +The GPU library has some multi-thread support using OpenMP. If LAMMPS is built +with ``-D BUILD_OMP=on`` this will also be enabled. + If you are compiling with HIP, note that before running CMake you will have to set appropriate environment variables. Some variables such as :code:`HCC_AMDGPU_TARGET` (for ROCm <= 4.0) or :code:`CUDA_PATH` are necessary for :code:`hipcc` @@ -278,6 +281,9 @@ To support the CUDA multiprocessor server you can set the define the CUDA performance primitives and thus set the variable ``CUDPP_OPT`` to empty. +The GPU library has some multi-thread support using OpenMP. You need to add +the compiler flag that enables OpenMP to the ``CUDR_OPTS`` Makefile variable. + If the library build is successful, 3 files should be created: ``lib/gpu/libgpu.a``\ , ``lib/gpu/nvc_get_devices``\ , and ``lib/gpu/Makefile.lammps``\ . The latter has settings that enable LAMMPS From 88c8781396db1ec05f967648102fb4647fdebcd0 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 14 Mar 2023 10:17:20 -0400 Subject: [PATCH 321/448] silence compiler warnings --- src/pair_lj_cut_coul_cut.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pair_lj_cut_coul_cut.cpp b/src/pair_lj_cut_coul_cut.cpp index 5438e82377..e62e08ea4b 100644 --- a/src/pair_lj_cut_coul_cut.cpp +++ b/src/pair_lj_cut_coul_cut.cpp @@ -465,7 +465,7 @@ void PairLJCutCoulCut::born_matrix(int i, int j, int itype, int jtype, double rs double factor_coul, double factor_lj, double &dupair, double &du2pair) { - double rinv, r2inv, r3inv, r6inv, du, du2; + double rinv, r2inv, r3inv, r6inv; double du_lj, du2_lj, du_coul, du2_coul; double *q = atom->q; From d8d12357732e51c88c02c6f7731820e1b30266c6 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 14 Mar 2023 11:59:19 -0400 Subject: [PATCH 322/448] update MDI library version to 1.4.16 --- cmake/Modules/Packages/MDI.cmake | 4 ++-- examples/mdi/README | 7 +++---- lib/mdi/Install.py | 4 +++- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/cmake/Modules/Packages/MDI.cmake b/cmake/Modules/Packages/MDI.cmake index 67c1b82dab..dc3af94a0a 100644 --- a/cmake/Modules/Packages/MDI.cmake +++ b/cmake/Modules/Packages/MDI.cmake @@ -8,8 +8,8 @@ option(DOWNLOAD_MDI "Download and compile the MDI library instead of using an al if(DOWNLOAD_MDI) message(STATUS "MDI download requested - we will build our own") - set(MDI_URL "https://github.com/MolSSI-MDI/MDI_Library/archive/v1.4.12.tar.gz" CACHE STRING "URL for MDI tarball") - set(MDI_MD5 "7a222353ae8e03961d5365e6cd48baee" CACHE STRING "MD5 checksum for MDI tarball") + set(MDI_URL "https://github.com/MolSSI-MDI/MDI_Library/archive/v1.4.16.tar.gz" CACHE STRING "URL for MDI tarball") + set(MDI_MD5 "407db44e2d79447ab5c1233af1965f65" CACHE STRING "MD5 checksum for MDI tarball") mark_as_advanced(MDI_URL) mark_as_advanced(MDI_MD5) GetFallbackURL(MDI_URL MDI_FALLBACK) diff --git a/examples/mdi/README b/examples/mdi/README index 4669b2febd..df373fb740 100644 --- a/examples/mdi/README +++ b/examples/mdi/README @@ -67,15 +67,14 @@ static library, while Python requires a shared library. Instead you can install MDI in your Python via conda: -% conda install -c conda-forge pymdi=1.4.1 +% conda install -c conda-forge pymdi=1.4.16 or via pip: -% pip install pymdi==1.4.1 +% pip install 'pymdi>=1.4.14' It is likely fine to leave off the version number, to get the latest -MDI version. But to be safe, 1.4.1 is the version LAMMPS is currently -using. +MDI version. 1.4.16 is the version LAMMPS is currently using. ------------------------------------------------- diff --git a/lib/mdi/Install.py b/lib/mdi/Install.py index faaf1b9f83..316313ded8 100644 --- a/lib/mdi/Install.py +++ b/lib/mdi/Install.py @@ -32,13 +32,15 @@ make lib-mdi args="-m mpi" # build MDI lib with same settings as in the mpi Make # settings -version = "1.4.14" +version = "1.4.16" url = "https://github.com/MolSSI-MDI/MDI_Library/archive/v%s.tar.gz" % version # known checksums for different MDI versions. used to validate the download. checksums = { \ '1.4.11' : '3791fe5081405c14aac07d4687f1cc58', \ '1.4.12' : '7a222353ae8e03961d5365e6cd48baee', \ + '1.4.14' : '7a059bb12535360fdcb7de8402f9a0fc', \ + '1.4.16' : '407db44e2d79447ab5c1233af1965f65', \ } # print error message or help From 04dfda9952872fdde7e2082b9788788123a4922b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 14 Mar 2023 12:00:20 -0400 Subject: [PATCH 323/448] update MDI LAMMPS-on-LAMMPS examples --- examples/mdi/README | 6 +- examples/mdi/Run.sh | 83 ++++++++++++++------------ examples/mdi/in.aimd.alone | 32 +++++----- examples/mdi/in.aimd.driver | 29 ++++----- examples/mdi/in.aimd.driver.plugin | 29 ++++----- examples/mdi/in.aimd.engine | 20 +++---- examples/mdi/in.aimdpy.mm | 28 ++++----- examples/mdi/in.aimdpy.qm | 28 ++++----- examples/mdi/in.sequence.python | 20 +++---- examples/mdi/in.series.alone | 18 +++--- examples/mdi/in.series.driver | 15 ++--- examples/mdi/in.series.driver.plugin | 15 ++--- examples/mdi/in.series.engine | 20 +++---- examples/mdi/in.snapshot.alone | 16 ++--- examples/mdi/in.snapshot.driver | 17 +++--- examples/mdi/in.snapshot.driver.plugin | 23 +++---- examples/mdi/in.snapshot.engine | 20 +++---- 17 files changed, 215 insertions(+), 204 deletions(-) diff --git a/examples/mdi/README b/examples/mdi/README index df373fb740..6f1a5d1ae5 100644 --- a/examples/mdi/README +++ b/examples/mdi/README @@ -3,7 +3,7 @@ MolSSI MDI library for coupling codes together and communicating between them with MDI messages. There are more examples of using LAMMPS with quantum codes via MDI in -the examples/QM directory. +the examples/QUANTUM directory. Within the MDI context, one code is the driver and another code is the engine. The 2 codes can be written in any language; C++ (LAMMPS) and @@ -27,8 +27,8 @@ Examples for all these use cases, using LAMMPS as a driver and as an engine are in this directory. The Run.sh file shows how run in all the modes. Type "sh Run.sh" to try them all out. -Examples for using LAMMPS as a driver with the tight-binding code -LATTE are in the examples/QM/LATTE sub-directory. See its README file +Examples for using LAMMPS as a driver with the tight-binding code LATTE +are in the examples/QUANTUM/LATTE sub-directory. See its README file for more info. ------------------------------------------------- diff --git a/examples/mdi/Run.sh b/examples/mdi/Run.sh index 3b70a8bf79..1bc2b5dfef 100644 --- a/examples/mdi/Run.sh +++ b/examples/mdi/Run.sh @@ -1,5 +1,10 @@ # Run all the examples +LAMMPS=lmp_mpi +#LAMMPS=${HOME}/compile/lammps/build-test/lmp +BINPATH=${HOME}/compile/lammps/git/src +#BINPATH=${HOME}/compile/lammps/build-test + # ------------------------------------------------- # ------------------------------------------------- @@ -9,48 +14,48 @@ # Run without MDI -lmp_mpi -log log.aimd.alone.1 < in.aimd.alone +${LAMMPS} -log log.aimd.alone.1 -in in.aimd.alone # --- # Run with TCP: 1 proc each -lmp_mpi -mdi "-name LMP1 -role DRIVER -method TCP -port 8021" -log log.aimd.driver.tcp.1 -in in.aimd.driver & +${LAMMPS} -mdi "-name LMP1 -role DRIVER -method TCP -port 8021" -log log.aimd.driver.tcp.1 -in in.aimd.driver & -lmp_mpi -mdi "-name LMP2 -role ENGINE -method TCP -port 8021 -hostname localhost" -log log.aimd.engine.tcp.1 -in in.aimd.engine +${LAMMPS} -mdi "-name LMP2 -role ENGINE -method TCP -port 8021 -hostname localhost" -log log.aimd.engine.tcp.1 -in in.aimd.engine # --- # Run with TCP: 3 procs + 4 procs -mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method TCP -port 8021" -log log.aimd.driver.tcp.3 -in in.aimd.driver & +mpirun -np 3 ${LAMMPS} -mdi "-name LMP1 -role DRIVER -method TCP -port 8021" -log log.aimd.driver.tcp.3 -in in.aimd.driver & -mpirun -np 4 lmp_mpi -mdi "-name LMP2 -role ENGINE -method TCP -port 8021 -hostname localhost" -log log.aimd.engine.tcp.4 -in in.aimd.engine +mpirun -np 4 ${LAMMPS} -mdi "-name LMP2 -role ENGINE -method TCP -port 8021 -hostname localhost" -log log.aimd.engine.tcp.4 -in in.aimd.engine # --- # Run with MPI: 1 proc each -mpirun -np 1 lmp_mpi -mdi "-name LMP1 -role DRIVER -method MPI" -log log.aimd.driver.mpi.1 -in in.aimd.driver : -np 1 lmp_mpi -mdi "-name LMP2 -role ENGINE -method MPI" -log log.aimd.engine.mpi.1 -in in.aimd.engine +mpirun -np 1 ${LAMMPS} -mdi "-name LMP1 -role DRIVER -method MPI" -log log.aimd.driver.mpi.1 -in in.aimd.driver : -np 1 ${LAMMPS} -mdi "-name LMP2 -role ENGINE -method MPI" -log log.aimd.engine.mpi.1 -in in.aimd.engine # --- # Run with MPI: 3 procs + 4 procs -mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method MPI" -log log.aimd.driver.mpi.3 -in in.aimd.driver : -np 4 lmp_mpi -mdi "-name LMP2 -role ENGINE -method MPI" -log log.aimd.engine.mpi.4 -in in.aimd.engine +mpirun -np 3 ${LAMMPS} -mdi "-name LMP1 -role DRIVER -method MPI" -log log.aimd.driver.mpi.3 -in in.aimd.driver : -np 4 ${LAMMPS} -mdi "-name LMP2 -role ENGINE -method MPI" -log log.aimd.engine.mpi.4 -in in.aimd.engine # --- # Run in plugin mode: 1 proc -lmp_mpi -mdi "-name LMP1 -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/src" -log log.aimd.driver.plugin.1 -in in.aimd.driver.plugin +${LAMMPS} -mdi "-name LMP1 -role DRIVER -method LINK -plugin_path ${BINPATH}" -log log.aimd.driver.plugin.1 -in in.aimd.driver.plugin mv log.aimd.engine.plugin log.aimd.engine.plugin.1 # --- # Run in plugin mode: 3 procs -mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/src" -log log.aimd.driver.plugin.3 -in in.aimd.driver.plugin +mpirun -np 3 ${LAMMPS} -mdi "-name LMP1 -role DRIVER -method LINK -plugin_path ${BINPATH}" -log log.aimd.driver.plugin.3 -in in.aimd.driver.plugin mv log.aimd.engine.plugin log.aimd.engine.plugin.3 # ------------------------------------------------- @@ -62,46 +67,46 @@ mv log.aimd.engine.plugin log.aimd.engine.plugin.3 # Run without MDI -lmp_mpi -log log.snapshot.alone.1 < in.snapshot.alone +${LAMMPS} -log log.snapshot.alone.1 -in in.snapshot.alone mv dump.snapshot.alone dump.snapshot.alone.1 # --- # Run with TCP: 1 proc each -lmp_mpi -mdi "-name LMP1 -role DRIVER -method TCP -port 8021" -log log.snapshot.driver.tcp.1 -in in.snapshot.driver & +${LAMMPS} -mdi "-name LMP1 -role DRIVER -method TCP -port 8021" -log log.snapshot.driver.tcp.1 -in in.snapshot.driver & -lmp_mpi -mdi "-name LMP2 -role ENGINE -method TCP -port 8021 -hostname localhost" -log log.snapshot.engine.tcp.1 -in in.snapshot.engine +${LAMMPS} -mdi "-name LMP2 -role ENGINE -method TCP -port 8021 -hostname localhost" -log log.snapshot.engine.tcp.1 -in in.snapshot.engine mv dump.snapshot.driver dump.snapshot.driver.tcp.1 # --- # Run with TCP: 3 procs + 4 procs -mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method TCP -port 8021" -log log.snapshot.driver.tcp.3 -in in.snapshot.driver & +mpirun -np 3 ${LAMMPS} -mdi "-name LMP1 -role DRIVER -method TCP -port 8021" -log log.snapshot.driver.tcp.3 -in in.snapshot.driver & -mpirun -np 4 lmp_mpi -mdi "-name LMP2 -role ENGINE -method TCP -port 8021 -hostname localhost" -log log.snapshot.engine.tcp.4 -in in.snapshot.engine +mpirun -np 4 ${LAMMPS} -mdi "-name LMP2 -role ENGINE -method TCP -port 8021 -hostname localhost" -log log.snapshot.engine.tcp.4 -in in.snapshot.engine mv dump.snapshot.driver dump.snapshot.driver.tcp.4 # --- # Run with MPI: 1 proc each -mpirun -np 1 lmp_mpi -mdi "-name LMP1 -role DRIVER -method MPI" -log log.snapshot.driver.mpi.1 -in in.snapshot.driver : -np 1 lmp_mpi -mdi "-name LMP2 -role ENGINE -method MPI" -log log.snapshot.engine.mpi.1 -in in.snapshot.engine +mpirun -np 1 ${LAMMPS} -mdi "-name LMP1 -role DRIVER -method MPI" -log log.snapshot.driver.mpi.1 -in in.snapshot.driver : -np 1 ${LAMMPS} -mdi "-name LMP2 -role ENGINE -method MPI" -log log.snapshot.engine.mpi.1 -in in.snapshot.engine mv dump.snapshot.driver dump.snapshot.driver.mpi.1 # --- # Run with MPI: 3 procs + 4 procs -mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method MPI" -log log.snapshot.driver.mpi.3 -in in.snapshot.driver : -np 4 lmp_mpi -mdi "-name LMP2 -role ENGINE -method MPI" -log log.snapshot.engine.mpi.3 -in in.snapshot.engine +mpirun -np 3 ${LAMMPS} -mdi "-name LMP1 -role DRIVER -method MPI" -log log.snapshot.driver.mpi.3 -in in.snapshot.driver : -np 4 ${LAMMPS} -mdi "-name LMP2 -role ENGINE -method MPI" -log log.snapshot.engine.mpi.3 -in in.snapshot.engine mv dump.snapshot.driver dump.snapshot.driver.mpi.4 # --- # Run in plugin mode: 1 proc -lmp_mpi -mdi "-name LMP1 -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/src" -log log.snapshot.driver.plugin.1 -in in.snapshot.driver.plugin +${LAMMPS} -mdi "-name LMP1 -role DRIVER -method LINK -plugin_path ${BINPATH}" -log log.snapshot.driver.plugin.1 -in in.snapshot.driver.plugin mv log.snapshot.engine.plugin log.snapshot.engine.plugin.1 mv dump.snapshot.driver.plugin dump.snapshot.driver.plugin.1 @@ -109,7 +114,7 @@ mv dump.snapshot.driver.plugin dump.snapshot.driver.plugin.1 # Run in plugin mode: 3 procs -mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/src" -log log.snapshot.driver.plugin.3 -in in.snapshot.driver.plugin +mpirun -np 3 ${LAMMPS} -mdi "-name LMP1 -role DRIVER -method LINK -plugin_path ${BINPATH}" -log log.snapshot.driver.plugin.3 -in in.snapshot.driver.plugin mv log.snapshot.engine.plugin log.snapshot.engine.plugin.3 mv dump.snapshot.driver.plugin dump.snapshot.driver.plugin.3 @@ -122,46 +127,46 @@ mv dump.snapshot.driver.plugin dump.snapshot.driver.plugin.3 # Run without MDI -lmp_mpi -log log.series.alone.1 < in.series.alone +${LAMMPS} -log log.series.alone.1 -in in.series.alone mv dump.series.alone dump.series.alone.1 # --- # Run with TCP: 1 proc each -lmp_mpi -mdi "-name LMP1 -role DRIVER -method TCP -port 8021" -log log.series.driver.tcp.1 -in in.series.driver & +${LAMMPS} -mdi "-name LMP1 -role DRIVER -method TCP -port 8021" -log log.series.driver.tcp.1 -in in.series.driver & -lmp_mpi -mdi "-name LMP2 -role ENGINE -method TCP -port 8021 -hostname localhost" -log log.series.engine.tcp.1 -in in.series.engine +${LAMMPS} -mdi "-name LMP2 -role ENGINE -method TCP -port 8021 -hostname localhost" -log log.series.engine.tcp.1 -in in.series.engine mv dump.series.driver dump.series.driver.tcp.1 # --- # Run with TCP: 3 procs + 4 procs -mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method TCP -port 8021" -log log.series.driver.tcp.3 -in in.series.driver & +mpirun -np 3 ${LAMMPS} -mdi "-name LMP1 -role DRIVER -method TCP -port 8021" -log log.series.driver.tcp.3 -in in.series.driver & -mpirun -np 4 lmp_mpi -mdi "-name LMP2 -role ENGINE -method TCP -port 8021 -hostname localhost" -log log.series.engine.tcp.4 -in in.series.engine +mpirun -np 4 ${LAMMPS} -mdi "-name LMP2 -role ENGINE -method TCP -port 8021 -hostname localhost" -log log.series.engine.tcp.4 -in in.series.engine mv dump.series.driver dump.series.driver.tcp.4 # --- # Run with MPI: 1 proc each -mpirun -np 1 lmp_mpi -mdi "-name LMP1 -role DRIVER -method MPI" -log log.series.driver.mpi.1 -in in.series.driver : -np 1 lmp_mpi -mdi "-name LMP2 -role ENGINE -method MPI" -log log.series.engine.mpi.1 -in in.series.engine +mpirun -np 1 ${LAMMPS} -mdi "-name LMP1 -role DRIVER -method MPI" -log log.series.driver.mpi.1 -in in.series.driver : -np 1 ${LAMMPS} -mdi "-name LMP2 -role ENGINE -method MPI" -log log.series.engine.mpi.1 -in in.series.engine mv dump.series.driver dump.series.driver.mpi.1 # --- # Run with MPI: 3 procs + 4 procs -mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method MPI" -log log.series.driver.mpi.3 -in in.series.driver : -np 4 lmp_mpi -mdi "-name LMP2 -role ENGINE -method MPI" -log log.series.engine.mpi.4 -in in.series.engine +mpirun -np 3 ${LAMMPS} -mdi "-name LMP1 -role DRIVER -method MPI" -log log.series.driver.mpi.3 -in in.series.driver : -np 4 ${LAMMPS} -mdi "-name LMP2 -role ENGINE -method MPI" -log log.series.engine.mpi.4 -in in.series.engine mv dump.series.driver dump.series.driver.mpi.4 # --- # Run in plugin mode: 1 proc -lmp_mpi -mdi "-name LMP1 -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/src" -log log.series.driver.plugin.1 -in in.series.driver.plugin +${LAMMPS} -mdi "-name LMP1 -role DRIVER -method LINK -plugin_path ${BINPATH}" -log log.series.driver.plugin.1 -in in.series.driver.plugin mv log.series.engine.plugin log.series.engine.plugin.1 mv dump.series.driver.plugin dump.series.driver.plugin.1 @@ -169,7 +174,7 @@ mv dump.series.driver.plugin dump.series.driver.plugin.1 # Run in plugin mode: 3 procs -mpirun -np 3 lmp_mpi -mdi "-name LMP1 -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/src" -log log.series.driver.plugin.3 -in in.series.driver.plugin +mpirun -np 3 ${LAMMPS} -mdi "-name LMP1 -role DRIVER -method LINK -plugin_path ${BINPATH}" -log log.series.driver.plugin.3 -in in.series.driver.plugin mv log.series.engine.plugin log.series.engine.plugin.3 mv dump.series.driver.plugin dump.series.driver.plugin.3 @@ -184,7 +189,7 @@ mv dump.series.driver.plugin dump.series.driver.plugin.3 python3 sequence_driver.py -mdi "-role DRIVER -name sequence -method TCP -port 8021" & -lmp_mpi -mdi "-role ENGINE -name LMP -method TCP -port 8021 -hostname localhost" -log log.sequence.engine.tcp.1 -in in.sequence.python +${LAMMPS} -mdi "-role ENGINE -name LMP -method TCP -port 8021 -hostname localhost" -log log.sequence.engine.tcp.1 -in in.sequence.python # --- @@ -192,31 +197,31 @@ lmp_mpi -mdi "-role ENGINE -name LMP -method TCP -port 8021 -hostname localhost" mpirun -np 2 python3 sequence_driver.py -mdi "-role DRIVER -name sequence -method TCP -port 8021" & -mpirun -np 4 lmp_mpi -mdi "-role ENGINE -name LMP -method TCP -port 8021 -hostname localhost" -log log.sequence.engine.tcp.4 -in in.sequence.python +mpirun -np 4 ${LAMMPS} -mdi "-role ENGINE -name LMP -method TCP -port 8021 -hostname localhost" -log log.sequence.engine.tcp.4 -in in.sequence.python # --- # Run with MPI: 1 proc each -mpirun -np 1 python3 sequence_driver.py -mdi "-role DRIVER -name sequence -method MPI" : -np 1 lmp_mpi -mdi "-role ENGINE -name LAMMPS -method MPI" -log log.sequence.engine.mpi.1 -in in.sequence.python +mpirun -np 1 python3 sequence_driver.py -mdi "-role DRIVER -name sequence -method MPI" : -np 1 ${LAMMPS} -mdi "-role ENGINE -name LAMMPS -method MPI" -log log.sequence.engine.mpi.1 -in in.sequence.python # --- # Run with MPI: 2 procs + 4 procs -mpirun -np 2 python3 sequence_driver.py -mdi "-role DRIVER -name sequence -method MPI" : -np 4 lmp_mpi -mdi "-role ENGINE -name LMP -method MPI" -log log.sequence.engine.mpi.4 -in in.sequence.python +mpirun -np 2 python3 sequence_driver.py -mdi "-role DRIVER -name sequence -method MPI" : -np 4 ${LAMMPS} -mdi "-role ENGINE -name LMP -method MPI" -log log.sequence.engine.mpi.4 -in in.sequence.python # --- # Run in plugin mode: 1 proc -python3 sequence_driver.py -plugin lammps -mdi "-role DRIVER -name sequence -method LINK -plugin_path /home/sjplimp/lammps/git/src" -plugin_args "-log log.sequence.engine.plugin.1 -in in.sequence".python +python3 sequence_driver.py -plugin lammps -mdi "-role DRIVER -name sequence -method LINK -plugin_path ${BINPATH}" -plugin_args "-log log.sequence.engine.plugin.1 -in in.sequence".python # --- # Run in plugin mode: 3 procs -mpirun -np 3 python3 sequence_driver.py -plugin lammps -mdi "-role DRIVER -name sequence -method LINK -plugin_path /home/sjplimp/lammps/git/src" -plugin_args "-log log.sequence.engine.plugin.3 -in in.sequence".python +mpirun -np 3 python3 sequence_driver.py -plugin lammps -mdi "-role DRIVER -name sequence -method LINK -plugin_path ${BINPATH}" -plugin_args "-log log.sequence.engine.plugin.3 -in in.sequence".python # ------------------------------------------------- # ------------------------------------------------- @@ -229,9 +234,9 @@ mpirun -np 3 python3 sequence_driver.py -plugin lammps -mdi "-role DRIVER -name python3 aimd_driver.py -mdi "-role DRIVER -name aimdpy -method TCP -port 8021" > log.aimdpy.driver.tcp.1 & -lmp_mpi -mdi "-role ENGINE -name MM -method TCP -port 8021 -hostname localhost" -log log.aimdpy.mm.tcp.1 -in in.aimdpy.mm & +${LAMMPS} -mdi "-role ENGINE -name MM -method TCP -port 8021 -hostname localhost" -log log.aimdpy.mm.tcp.1 -in in.aimdpy.mm & -lmp_mpi -mdi "-role ENGINE -name QM -method TCP -port 8021 -hostname localhost" -log log.aimdpy.qm.tcp.1 -in in.aimdpy.qm +${LAMMPS} -mdi "-role ENGINE -name QM -method TCP -port 8021 -hostname localhost" -log log.aimdpy.qm.tcp.1 -in in.aimdpy.qm # --- @@ -239,18 +244,18 @@ lmp_mpi -mdi "-role ENGINE -name QM -method TCP -port 8021 -hostname localhost" mpirun -np 2 python3 aimd_driver.py -mdi "-role DRIVER -name aimdpy -method TCP -port 8021" > log.aimdpy.driver.tcp.2 & -mpirun -np 2 lmp_mpi -mdi "-role ENGINE -name MM -method TCP -port 8021 -hostname localhost" -log log.aimdpy.mm.tcp.2 -in in.aimdpy.mm & +mpirun -np 2 ${LAMMPS} -mdi "-role ENGINE -name MM -method TCP -port 8021 -hostname localhost" -log log.aimdpy.mm.tcp.2 -in in.aimdpy.mm & -mpirun -np 3 lmp_mpi -mdi "-role ENGINE -name QM -method TCP -port 8021 -hostname localhost" -log log.aimdpy.qm.tcp.3 -in in.aimdpy.qm +mpirun -np 3 ${LAMMPS} -mdi "-role ENGINE -name QM -method TCP -port 8021 -hostname localhost" -log log.aimdpy.qm.tcp.3 -in in.aimdpy.qm # --- # Run with MPI: 1 proc each -mpirun -np 1 python3 aimd_driver.py -mdi "-role DRIVER -name aimdpy -method MPI" : -np 1 lmp_mpi -mdi "-role ENGINE -name MM -method MPI" -log log.aimdpy.mm.mpi.1 -in in.aimdpy.mm : -np 1 lmp_mpi -mdi "-role ENGINE -name QM -method MPI" -log log.aimdpy.qm.mpi.1 -in in.aimdpy.qm > log.aimdpy.driver.mpi.1 +mpirun -np 1 python3 aimd_driver.py -mdi "-role DRIVER -name aimdpy -method MPI" : -np 1 ${LAMMPS} -mdi "-role ENGINE -name MM -method MPI" -log log.aimdpy.mm.mpi.1 -in in.aimdpy.mm : -np 1 ${LAMMPS} -mdi "-role ENGINE -name QM -method MPI" -log log.aimdpy.qm.mpi.1 -in in.aimdpy.qm > log.aimdpy.driver.mpi.1 # --- # Run with MPI: 2 procs + 2 procs + 3 procs -mpirun -np 2 python3 aimd_driver.py -mdi "-role DRIVER -name aimdpy -method MPI" : -np 2 lmp_mpi -mdi "-role ENGINE -name MM -method MPI" -log log.aimdpy.mm.mpi.2 -in in.aimdpy.mm : -np 3 lmp_mpi -mdi "-role ENGINE -name QM -method MPI" -log log.aimdpy.qm.mpi.3 -in in.aimdpy.qm > log.aimdpy.driver.mpi.2 +mpirun -np 2 python3 aimd_driver.py -mdi "-role DRIVER -name aimdpy -method MPI" : -np 2 ${LAMMPS} -mdi "-role ENGINE -name MM -method MPI" -log log.aimdpy.mm.mpi.2 -in in.aimdpy.mm : -np 3 ${LAMMPS} -mdi "-role ENGINE -name QM -method MPI" -log log.aimdpy.qm.mpi.3 -in in.aimdpy.qm > log.aimdpy.driver.mpi.2 diff --git a/examples/mdi/in.aimd.alone b/examples/mdi/in.aimd.alone index 9332730af4..1297cdb986 100644 --- a/examples/mdi/in.aimd.alone +++ b/examples/mdi/in.aimd.alone @@ -1,28 +1,28 @@ # 3d Lennard-Jones melt - MDI driver script -variable x index 5 -variable y index 5 -variable z index 5 +variable x index 5 +variable y index 5 +variable z index 5 -units lj -atom_style atomic +units lj +atom_style atomic -lattice fcc 0.8442 -region box block 0 $x 0 $y 0 $z -create_box 1 box -create_atoms 1 box -mass 1 1.0 +lattice fcc 0.8442 +region box block 0 $x 0 $y 0 $z +create_box 1 box +create_atoms 1 box +mass 1 1.0 -velocity all create 1.44 87287 loop geom +velocity all create 1.44 87287 loop geom -pair_style lj/cut 2.5 -pair_coeff 1 1 1.0 1.0 2.5 +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes # NVE -fix 1 all nve +fix 1 all nve # NPT #fix 1 all npt temp 1.0 1.0 0.1 iso 1.0 1.0 1.0 diff --git a/examples/mdi/in.aimd.driver b/examples/mdi/in.aimd.driver index 652048b6c4..520242d548 100644 --- a/examples/mdi/in.aimd.driver +++ b/examples/mdi/in.aimd.driver @@ -1,25 +1,26 @@ # 3d Lennard-Jones melt - MDI driver script -variable x index 5 -variable y index 5 -variable z index 5 +variable x index 5 +variable y index 5 +variable z index 5 -units lj -atom_style atomic +units lj +atom_style atomic +atom_modify map array -lattice fcc 0.8442 -region box block 0 $x 0 $y 0 $z -create_box 1 box -create_atoms 1 box -mass 1 1.0 +lattice fcc 0.8442 +region box block 0 $x 0 $y 0 $z +create_box 1 box +create_atoms 1 box +mass 1 1.0 -velocity all create 1.44 87287 loop geom +velocity all create 1.44 87287 loop geom -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes # NVE -fix 1 all nve +fix 1 all nve # NPT #fix 1 all npt temp 1.0 1.0 0.1 iso 1.0 1.0 1.0 diff --git a/examples/mdi/in.aimd.driver.plugin b/examples/mdi/in.aimd.driver.plugin index a021f12b07..a59afa5d5b 100644 --- a/examples/mdi/in.aimd.driver.plugin +++ b/examples/mdi/in.aimd.driver.plugin @@ -1,25 +1,26 @@ # 3d Lennard-Jones melt - MDI driver script -variable x index 5 -variable y index 5 -variable z index 5 +variable x index 5 +variable y index 5 +variable z index 5 -units lj -atom_style atomic +units lj +atom_style atomic +atom_modify map array -lattice fcc 0.8442 -region box block 0 $x 0 $y 0 $z -create_box 1 box -create_atoms 1 box -mass 1 1.0 +lattice fcc 0.8442 +region box block 0 $x 0 $y 0 $z +create_box 1 box +create_atoms 1 box +mass 1 1.0 -velocity all create 1.44 87287 loop geom +velocity all create 1.44 87287 loop geom -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes # NVE -fix 1 all nve +fix 1 all nve # NPT #fix 1 all npt temp 1.0 1.0 0.1 iso 1.0 1.0 1.0 diff --git a/examples/mdi/in.aimd.engine b/examples/mdi/in.aimd.engine index a64d166a24..c70d379111 100644 --- a/examples/mdi/in.aimd.engine +++ b/examples/mdi/in.aimd.engine @@ -1,18 +1,18 @@ # 3d Lennard-Jones melt - MDI engine script -units lj -atom_style atomic +units lj +atom_style atomic -lattice fcc 1.0 -region box block 0 1 0 1 0 1 -create_box 1 box -mass 1 1.0 +lattice fcc 1.0 +region box block 0 1 0 1 0 1 +create_box 1 box +mass 1 1.0 -pair_style lj/cut 2.5 -pair_coeff 1 1 1.0 1.0 2.5 +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes thermo_style custom step temp pe etotal press vol thermo 1 diff --git a/examples/mdi/in.aimdpy.mm b/examples/mdi/in.aimdpy.mm index 7b2dbbf549..3ba1255c50 100644 --- a/examples/mdi/in.aimdpy.mm +++ b/examples/mdi/in.aimdpy.mm @@ -1,23 +1,23 @@ # 3d Lennard-Jones melt - LAMMPS as MM engine for aimd_driver.py -variable x index 5 -variable y index 5 -variable z index 5 +variable x index 5 +variable y index 5 +variable z index 5 -units lj -atom_style atomic +units lj +atom_style atomic -lattice fcc 0.8442 -region box block 0 $x 0 $y 0 $z -create_box 1 box -create_atoms 1 box -mass 1 1.0 +lattice fcc 0.8442 +region box block 0 $x 0 $y 0 $z +create_box 1 box +create_atoms 1 box +mass 1 1.0 -velocity all create 1.44 87287 loop geom +velocity all create 1.44 87287 loop geom -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes -fix 1 all nve +fix 1 all nve mdi engine diff --git a/examples/mdi/in.aimdpy.qm b/examples/mdi/in.aimdpy.qm index c05d9f3f59..1721df5b70 100644 --- a/examples/mdi/in.aimdpy.qm +++ b/examples/mdi/in.aimdpy.qm @@ -1,22 +1,22 @@ # 3d Lennard-Jones melt - LAMMPS as surrogate QM engine for aimd_driver.py -variable x index 5 -variable y index 5 -variable z index 5 +variable x index 5 +variable y index 5 +variable z index 5 -units lj -atom_style atomic +units lj +atom_style atomic -lattice fcc 0.8442 -region box block 0 $x 0 $y 0 $z -create_box 1 box -create_atoms 1 box -mass 1 1.0 +lattice fcc 0.8442 +region box block 0 $x 0 $y 0 $z +create_box 1 box +create_atoms 1 box +mass 1 1.0 -pair_style lj/cut 2.5 -pair_coeff 1 1 1.0 1.0 2.5 +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes mdi engine diff --git a/examples/mdi/in.sequence.python b/examples/mdi/in.sequence.python index 6f28922a66..84c5df9fa8 100644 --- a/examples/mdi/in.sequence.python +++ b/examples/mdi/in.sequence.python @@ -1,18 +1,18 @@ # MDI engine script to process a series of evaulate, run, minimize commands -units lj -atom_style atomic +units lj +atom_style atomic -lattice fcc 0.8442 -region box block 0 1 0 1 0 1 -create_box 1 box -mass 1 1.0 +lattice fcc 0.8442 +region box block 0 1 0 1 0 1 +create_box 1 box +mass 1 1.0 -pair_style lj/cut 2.5 -pair_coeff 1 1 1.0 1.0 2.5 +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes fix 1 all nve diff --git a/examples/mdi/in.series.alone b/examples/mdi/in.series.alone index 2e17468507..2bef42f916 100644 --- a/examples/mdi/in.series.alone +++ b/examples/mdi/in.series.alone @@ -1,25 +1,25 @@ # 3d Lennard-Jones melt - MDI driver script -variable x index 5 -variable y index 5 -variable z index 5 +variable x index 5 +variable y index 5 +variable z index 5 variable rho index 0.7 0.8 0.9 label LOOP - units lj - atom_style atomic + units lj + atom_style atomic read_data data.series.${rho} displace_atoms all random 0.1 0.1 0.1 48294 - pair_style lj/cut 2.5 - pair_coeff 1 1 1.0 1.0 2.5 + pair_style lj/cut 2.5 + pair_coeff 1 1 1.0 1.0 2.5 - neighbor 0.3 bin - neigh_modify delay 0 every 1 check yes + neighbor 0.3 bin + neigh_modify delay 0 every 1 check yes compute 1 all pressure NULL virial diff --git a/examples/mdi/in.series.driver b/examples/mdi/in.series.driver index 267df465fc..c6aa40ab03 100644 --- a/examples/mdi/in.series.driver +++ b/examples/mdi/in.series.driver @@ -1,8 +1,8 @@ # 3d Lennard-Jones melt - MDI driver script -variable x index 5 -variable y index 5 -variable z index 5 +variable x index 5 +variable y index 5 +variable z index 5 variable rho index 0.7 0.8 0.9 @@ -10,15 +10,16 @@ mdi connect label LOOP - units lj - atom_style atomic + units lj + atom_style atomic + atom_modify map array read_data data.series.${rho} displace_atoms all random 0.1 0.1 0.1 48294 - neighbor 0.3 bin - neigh_modify delay 0 every 1 check yes + neighbor 0.3 bin + neigh_modify delay 0 every 1 check yes fix 1 all mdi/qm add no virial yes connect no variable evirial equal (f_1[1]+f_1[2]+f_1[3])/3 diff --git a/examples/mdi/in.series.driver.plugin b/examples/mdi/in.series.driver.plugin index f1189940b4..bad4fe4684 100644 --- a/examples/mdi/in.series.driver.plugin +++ b/examples/mdi/in.series.driver.plugin @@ -1,22 +1,23 @@ # 3d Lennard-Jones melt - MDI driver script -variable x index 5 -variable y index 5 -variable z index 5 +variable x index 5 +variable y index 5 +variable z index 5 variable rho index 0.7 0.8 0.9 label LOOP - units lj - atom_style atomic + units lj + atom_style atomic + atom_modify map array read_data data.series.${rho} displace_atoms all random 0.1 0.1 0.1 48294 - neighbor 0.3 bin - neigh_modify delay 0 every 1 check yes + neighbor 0.3 bin + neigh_modify delay 0 every 1 check yes fix 1 all mdi/qm add no virial yes variable evirial equal (f_1[1]+f_1[2]+f_1[3])/3 diff --git a/examples/mdi/in.series.engine b/examples/mdi/in.series.engine index f3293e048d..a2253bce37 100644 --- a/examples/mdi/in.series.engine +++ b/examples/mdi/in.series.engine @@ -1,17 +1,17 @@ # 3d Lennard-Jones melt - MDI engine script -units lj -atom_style atomic +units lj +atom_style atomic -lattice fcc 1.0 -region box block 0 1 0 1 0 1 -create_box 1 box -mass 1 1.0 +lattice fcc 1.0 +region box block 0 1 0 1 0 1 +create_box 1 box +mass 1 1.0 -pair_style lj/cut 2.5 -pair_coeff 1 1 1.0 1.0 2.5 +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes mdi engine diff --git a/examples/mdi/in.snapshot.alone b/examples/mdi/in.snapshot.alone index 7633dcaae3..aeb93927a8 100644 --- a/examples/mdi/in.snapshot.alone +++ b/examples/mdi/in.snapshot.alone @@ -1,19 +1,19 @@ # 3d Lennard-Jones melt - MDI driver script -units lj -atom_style atomic +units lj +atom_style atomic read_data data.snapshot -velocity all create 1.44 87287 loop geom +velocity all create 1.44 87287 loop geom -pair_style lj/cut 2.5 -pair_coeff 1 1 1.0 1.0 2.5 +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes -fix 1 all nve +fix 1 all nve compute 1 all pressure NULL virial diff --git a/examples/mdi/in.snapshot.driver b/examples/mdi/in.snapshot.driver index 78205efb0f..d791900243 100644 --- a/examples/mdi/in.snapshot.driver +++ b/examples/mdi/in.snapshot.driver @@ -1,19 +1,20 @@ # 3d Lennard-Jones melt - MDI driver script -units lj -atom_style atomic +units lj +atom_style atomic +atom_modify map array read_data data.snapshot -velocity all create 1.44 87287 loop geom +velocity all create 1.44 87287 loop geom -pair_style lj/cut 2.5 -pair_coeff 1 1 1.0 1.0 2.5 +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes -fix 1 all nve +fix 1 all nve fix 2 all mdi/qm add no every 100 virial yes diff --git a/examples/mdi/in.snapshot.driver.plugin b/examples/mdi/in.snapshot.driver.plugin index 37f0fba2f9..f02143ad5c 100644 --- a/examples/mdi/in.snapshot.driver.plugin +++ b/examples/mdi/in.snapshot.driver.plugin @@ -1,23 +1,24 @@ # 3d Lennard-Jones melt - MDI driver script -variable x index 5 -variable y index 5 -variable z index 5 +variable x index 5 +variable y index 5 +variable z index 5 -units lj -atom_style atomic +units lj +atom_style atomic +atom_modify map array read_data data.snapshot -velocity all create 1.44 87287 loop geom +velocity all create 1.44 87287 loop geom -pair_style lj/cut 2.5 -pair_coeff 1 1 1.0 1.0 2.5 +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes -fix 1 all nve +fix 1 all nve fix 2 all mdi/qm add no every 100 virial yes diff --git a/examples/mdi/in.snapshot.engine b/examples/mdi/in.snapshot.engine index f3293e048d..a2253bce37 100644 --- a/examples/mdi/in.snapshot.engine +++ b/examples/mdi/in.snapshot.engine @@ -1,17 +1,17 @@ # 3d Lennard-Jones melt - MDI engine script -units lj -atom_style atomic +units lj +atom_style atomic -lattice fcc 1.0 -region box block 0 1 0 1 0 1 -create_box 1 box -mass 1 1.0 +lattice fcc 1.0 +region box block 0 1 0 1 0 1 +create_box 1 box +mass 1 1.0 -pair_style lj/cut 2.5 -pair_coeff 1 1 1.0 1.0 2.5 +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes mdi engine From c3dba530409cfdc56365790807259dc7537e2334 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 14 Mar 2023 13:52:56 -0400 Subject: [PATCH 324/448] update for more recent MDI and PySCF versions --- examples/QUANTUM/PySCF/README | 46 ++++++++++------------------ examples/QUANTUM/PySCF/in.water.qmmm | 4 +-- examples/QUANTUM/PySCF/pyscf_mdi.py | 6 ++-- 3 files changed, 22 insertions(+), 34 deletions(-) diff --git a/examples/QUANTUM/PySCF/README b/examples/QUANTUM/PySCF/README index 48cde06768..de5582df66 100644 --- a/examples/QUANTUM/PySCF/README +++ b/examples/QUANTUM/PySCF/README @@ -11,11 +11,11 @@ Step 4: Perform test runs in any of 3 modes Step 0: What PySCF currently supports -LATTE can be used with fix mdi/qmmm for QMMM simulations, but not with -fix mdi/qm to perform QM calculations of an entire system. For QMMM -it can use the direct mode of fix mdi/qmmm, but not the potential -mode. PySCF can calculate a QM energy and QM forces on each atom, but -it cannot compute a QM stress tensor. +PySCF can be used with fix mdi/qmmm for QM/MM simulations, but not with fix +mdi/qm to perform QM calculations of an entire system. For QM/MM it can use +the direct mode of fix mdi/qmmm, but not the plugin mode. PySCF can calculate +a QM energy and QM forces on each atom, but it cannot compute a QM stress +tensor. PySCF does not support MPI parallelism, so run it on a single MPI task. But it does support multi-threading via OpenMP. By default it will use @@ -66,32 +66,18 @@ CMake: --------------------------------- --------------------------------- -Step 2: Download/build MDI code coupling package +Step 2: Install MDI code coupling python module -(a) clone the MDI Git repo +You can install MDI in your Python environment via conda: -% mkdir mdi; cd mdi -% git clone git@github.com:MolSSI-MDI/MDI_Library.git git +% conda install -c conda-forge pymdi=1.4.16 -(b) build MDI +or via pip: -% cd mdi/git -% mkdir build; cd build -% cmake .. -% make -j +% pip install 'pymdi>=1.4.14' -(c) Add a line like this to your ~/.bashrc or ~/.cshrc file so that -Python can find MDI: - -For bash: - -% export PYTHONPATH="$PYTHONPATH:/home/sjplimp/mdi/git/build" -% hash -r - -For (t)csh: - -% setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/mdi/git/build -% rehash +It is likely fine to leave off the version number, to get the latest +MDI version. 1.4.16 is the version LAMMPS is currently using. --------------------------------- --------------------------------- @@ -101,7 +87,7 @@ Step 3: Download/build PySCF See https://pyscf.org/install.html for install options. This describes building PySCF from source code. -(a) clone the PySCI Git repo +(a) clone the PySCF Git repo % mkdir pyscf; cd pyscf % git clone https://github.com/pyscf/pyscf.git git @@ -134,7 +120,7 @@ will need: % python >>> import numpy as np >>> from mpi4py import MPI ->>> import MDI_Library as mdi +>>> import mdi >>> import pyscf --------------------------------- @@ -149,9 +135,9 @@ in.mixture = QMMM of mixture, QM small molecule in MM water ** run LAMMPS-only versions of mixture problem -lmp_mpi -log log.mixture.mm.1 < in.mixture.mm +lmp_mpi -log log.mixture.mm.1 -in in.mixture.mm -** run LAMMPS and LATTE with TCP/IP, 1 proc each +** run LAMMPS and PySCF with TCP/IP, 1 proc each lmp_mpi -mdi "-name LMP -role DRIVER -method TCP -port 8021" -log log.water.qmmm.tcp.1 -in in.water.qmmm & python pyscf_mdi.py -mdi "-name PYSCF -role ENGINE -method TCP -port 8021 -hostname localhost" diff --git a/examples/QUANTUM/PySCF/in.water.qmmm b/examples/QUANTUM/PySCF/in.water.qmmm index 1b19ed9ab2..15fa30223f 100644 --- a/examples/QUANTUM/PySCF/in.water.qmmm +++ b/examples/QUANTUM/PySCF/in.water.qmmm @@ -36,7 +36,7 @@ velocity all create 300.0 87287 loop geom timestep 2.0 -fix 1 all nve +fix 1 all nve fix 2 qm mdi/qmmm direct elements O H fix_modify 2 energy yes @@ -45,4 +45,4 @@ thermo_style custom step cpu temp ke evdwl ecoul epair emol elong & f_2 pe etotal press thermo 1 -run 10 +run 10 diff --git a/examples/QUANTUM/PySCF/pyscf_mdi.py b/examples/QUANTUM/PySCF/pyscf_mdi.py index 193ada132f..9b0aeaaf03 100644 --- a/examples/QUANTUM/PySCF/pyscf_mdi.py +++ b/examples/QUANTUM/PySCF/pyscf_mdi.py @@ -532,12 +532,14 @@ def evaluate(): if periodic: cell = Cell() + cell.verbose = 4 cell.atom = atom_str cell.a = box_str cell.basis = basis cell.build() else: mol = Mole() + mol.verbose = 4 mol.atom = atom_str mol.basis = basis #mol.max_memory = 10000 @@ -555,8 +557,8 @@ def evaluate(): if mode == QMMM: if periodic: mf = RKS_pbc(cell,xc=xcstr) else: mf = RKS_nonpbc(mol,xc=xcstr) - mf = qmmm.mm_charge(mf,mm_coords,mm_charges,mm_radii) - + mf = qmmm.mm_charge(mf,mm_coords,mm_charges) + if dm_previous_exists: qm_pe = mf.kernel(dm0=dm_previous) else: From d459c3763d9c3138f8ac2f729a2e2c0c5d4cad65 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 14 Mar 2023 13:53:04 -0400 Subject: [PATCH 325/448] whitespace --- examples/QUANTUM/PySCF/pyscf_mdi.py | 94 ++++++++++++++--------------- examples/mdi/README | 2 +- 2 files changed, 48 insertions(+), 48 deletions(-) diff --git a/examples/QUANTUM/PySCF/pyscf_mdi.py b/examples/QUANTUM/PySCF/pyscf_mdi.py index 9b0aeaaf03..48ff507364 100644 --- a/examples/QUANTUM/PySCF/pyscf_mdi.py +++ b/examples/QUANTUM/PySCF/pyscf_mdi.py @@ -110,7 +110,7 @@ def error(txt,mpiexists=1): if me == 0: print("ERROR:",txt) if mpiexists: world.Abort() sys.exit() - + # -------------------------------------------- # process non-MDI options to PySCF # if this script is executed independently: @@ -164,7 +164,7 @@ def mdi_engine(other_options): options(other_options) # confirm PySCF is being run as an engine - + role = mdi.MDI_Get_Role() if not role == mdi.MDI_ENGINE: error("Must run PySCF as an MDI engine") @@ -175,7 +175,7 @@ def mdi_engine(other_options): mdi.MDI_Register_Command("@DEFAULT","EXIT") # driver --> engine - + mdi.MDI_Register_Command("@DEFAULT",">NATOMS") mdi.MDI_Register_Command("@DEFAULT",">CELL") mdi.MDI_Register_Command("@DEFAULT",">CELL_DISPL") @@ -200,7 +200,7 @@ def mdi_engine(other_options): mdicomm = mdi.MDI_Accept_Communicator() # set callback to execute_command - + mdi.MDI_Set_Execute_Command_Func(execute_command,None) # infinite loop to exchange messages with driver @@ -223,24 +223,24 @@ def execute_command(command,mdicomm,object_ptr): global exitflag # driver says done - + if command == "EXIT": exitflag = True # MDI commands which setup quantum calculation - + elif command == ">NATOMS": receive_qm_natoms(mdicomm) elif command == ">CELL": receive_box(mdicomm) - + elif command == ">CELL_DISPL": receive_box_displ(mdicomm) - + elif command == ">ELEMENTS": receive_qm_elements(mdicomm) - + elif command == ">COORDS": receive_qm_coords(mdicomm) @@ -249,34 +249,34 @@ def execute_command(command,mdicomm,object_ptr): elif command == ">NLATTICE": receive_mm_natoms(mdicomm) - + elif command == ">LATTICE_ELEMENTS": receive_mm_elements(mdicomm) elif command == ">CLATTICE": receive_mm_coords(mdicomm) - + elif command == ">LATTICE": receive_mm_charges(mdicomm) # MDI commands which retreive quantum results # each may also trigger the quantum calculation - + elif command == "CELL data") world.Bcast(box,root=0) @@ -324,7 +324,7 @@ def receive_box(mdicomm): def receive_box_displ(mdicomm): global flag_box_displ flag_box_displ = 1 - + ierr = mdi.MDI_Recv(3,mdi.MDI_DOUBLE,mdicomm,buf=box_displ) if ierr: error("MDI: >CELL_DISPL data") world.Bcast(box_displ,root=0) @@ -338,7 +338,7 @@ def receive_qm_coords(mdicomm): flag_qm_coords = 1 if not qm_natoms: error("Cannot MDI >COORDS if # of QM atoms = 0") - + ierr = mdi.MDI_Recv(3*qm_natoms,mdi.MDI_DOUBLE,mdicomm,buf=qm_coords) if ierr: error("MDI: >COORDS data") world.Bcast(qm_coords,root=0) @@ -364,7 +364,7 @@ def receive_qm_potential(mdicomm): def receive_qm_elements(mdicomm): global flag_qm_elements flag_qm_elements = 1 - + if not qm_natoms: error("Cannot MDI >ELEMENTS if # of QM atoms = 0") ierr = mdi.MDI_Recv(qm_natoms,mdi.MDI_INT,mdicomm,buf=qm_elements) @@ -378,7 +378,7 @@ def receive_qm_elements(mdicomm): def receive_mm_natoms(mdicomm): global flag_mm_natoms,mm_natoms flag_mm_natoms = 1 - + mm_natoms = mdi.MDI_Recv(1,mdi.MDI_INT,mdicomm) mm_natoms = world.bcast(mm_natoms,root=0) allocate("mm") @@ -390,7 +390,7 @@ def receive_mm_natoms(mdicomm): def receive_mm_elements(mdicomm): global flag_mm_elements flag_mm_elements = 1 - + if not mm_natoms: error("Cannot MDI >LATTICE_ELEMENTS if # of MM atoms = 0") ierr = mdi.MDI_Recv(mm_natoms,mdi.MDI_INT,mdicomm,buf=mm_elements) @@ -406,7 +406,7 @@ def receive_mm_coords(mdicomm): flag_mm_coords = 1 if not mm_natoms: error("Cannot MDI >CLATTICE if # of MM atoms = 0") - + ierr = mdi.MDI_Recv(3*mm_natoms,mdi.MDI_DOUBLE,mdicomm,buf=mm_coords) if ierr: error("MDI: >CLATTICE data") world.Bcast(mm_coords,root=0) @@ -433,7 +433,7 @@ def receive_mm_charges(mdicomm): def allocate(which): global qm_elements,qm_coords,qm_potential,qm_forces,qm_charges global mm_elements,mm_coords,mm_charges,mm_forces - + if which == "qm": n = qm_natoms qm_elements = np.empty(n,dtype=np.int32) @@ -465,15 +465,15 @@ def evaluate(): # just return if the QM system was already evaluated # happens when multiple results are requested by driver - + any_flag = flag_qm_natoms + flag_mm_natoms + flag_box + flag_box_displ + \ flag_qm_elements + flag_qm_coords + flag_qm_potential + \ flag_mm_elements + flag_mm_coords + flag_mm_charges if not any_flag: return - + # if any of these MDI commands received from LAMMPS, # treat it as a brand new system - + new_system = 0 if flag_qm_natoms or flag_mm_natoms: new_system = 1 if flag_qm_elements or flag_mm_elements: new_system = 1 @@ -483,7 +483,7 @@ def evaluate(): dm_previous_exists = 0 # if new system, error check that all needed MDI calls have been made - + if new_system: if periodic and not flag_box: error("Simulation box not specified for periodic system") @@ -493,26 +493,26 @@ def evaluate(): if flag_mm_natoms: if not flag_mm_elements or not flag_mm_coords or not flag_mm_charges: error("MM atom properties not fully specified") - + # PySCF inputs for QM and MM atoms # box, qm_coords, mm_coords must be converted to Angstroms - + bohr_to_angstrom = mdi.MDI_Conversion_factor("bohr","angstrom") box_A = box * bohr_to_angstrom qm_coords_A = qm_coords * bohr_to_angstrom mm_coords_A = mm_coords * bohr_to_angstrom - + qm_symbols = [atomic_number_to_symbol[anum] for anum in qm_elements] mm_radii = [atomic_number_to_radius[anum] for anum in mm_elements] - + #pos2str = lambda pos: " ".join([str(x) for x in qm_coords_A]) #atom_str = [f"{a} {pos2str(pos)}\n" for a,pos in zip(qm_symbols,qm_coords_A)] clines = ["%s %20.16g %20.16g %20.16g" % (symbol,xyz[0],xyz[1],xyz[2]) for symbol,xyz in zip(qm_symbols,qm_coords_A)] atom_str = "\n".join(clines) - + if periodic: edge_vec = "%20.16g %20.16g %20.16g" box_str = "%s\n%s\n%s" % (edge_vec,edge_vec,edge_vec) @@ -526,10 +526,10 @@ def evaluate(): #print("MM COORDS:",mm_coords) #print("MM CHARGES:",mm_charges) #print("MM RADII:",mm_radii) - + # build PySCF system # use Cell for periodic, Mole for non-periodic - + if periodic: cell = Cell() cell.verbose = 4 @@ -542,7 +542,7 @@ def evaluate(): mol.verbose = 4 mol.atom = atom_str mol.basis = basis - #mol.max_memory = 10000 + #mol.max_memory = 10000 mol.build() # QMMM with QM and MM atoms @@ -553,7 +553,7 @@ def evaluate(): # qm_forces = QM forces = same 3 terms # mm_forces = QM/MM forces = same 2 terms # dm = molecular orbitals (wave functions) for system - + if mode == QMMM: if periodic: mf = RKS_pbc(cell,xc=xcstr) else: mf = RKS_nonpbc(mol,xc=xcstr) @@ -568,14 +568,14 @@ def evaluate(): qm_forces = -mf_grad.kernel() dm = mf.make_rdm1() mm_forces = -(mf_grad.grad_nuc_mm() + mf_grad.contract_hcore_mm(dm)) - + dm_previous_exists = 1 dm_previous = dm #print("QM FORCES:",qm_forces) - + # AIMD with only QM atoms - + elif mode == AIMD: pass @@ -594,7 +594,7 @@ def evaluate(): # -------------------------------------------- def MDI_Plugin_init_pyscf_mdi(plugin_state): - + # other_options = all non-MDI args # -mdi arg is processed and stripped internally by MDI @@ -608,7 +608,7 @@ def MDI_Plugin_init_pyscf_mdi(plugin_state): other_options.append(arg) # start running as an MDI engine - + mdi_engine(other_options) # -------------------------------------------- @@ -629,7 +629,7 @@ if __name__== "__main__": narg = len(sys.argv) args = sys.argv - + iarg = 1 while iarg < narg: arg = args[iarg] @@ -645,7 +645,7 @@ if __name__== "__main__": # remove -mdi and its string from sys.argv # so that PySCF does not try to process it - + sys.argv.pop(mdi_index) sys.argv.pop(mdi_index) @@ -653,7 +653,7 @@ if __name__== "__main__": # until issue on PySCF side is fixed # call MDI_Init with just -mdi option - + mdi.MDI_Init(mdi_option) # start running as an MDI engine diff --git a/examples/mdi/README b/examples/mdi/README index 6f1a5d1ae5..3a242707f9 100644 --- a/examples/mdi/README +++ b/examples/mdi/README @@ -21,7 +21,7 @@ processors. LAMMPS supports operating in all these MDI modes. It can be an engine operating either as a stand-alone code or as a plugin. It can also be a driver and couple to an engine that is either a stand-alone code or -a plugin. +a plugin. Examples for all these use cases, using LAMMPS as a driver and as an engine are in this directory. The Run.sh file shows how run in all From c472821d67107504aa006889f00329caf859f401 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 14 Mar 2023 23:31:16 -0400 Subject: [PATCH 326/448] remove outdated MDI example folder --- examples/PACKAGES/mdi/README | 24 -------- examples/PACKAGES/mdi/Script.sh | 21 ------- examples/PACKAGES/mdi/driver.py | 24 -------- examples/PACKAGES/mdi/lammps.data | 92 ----------------------------- examples/PACKAGES/mdi/lammps.in | 28 --------- examples/QUANTUM/PySCF/pyscf_mdi.py | 2 +- 6 files changed, 1 insertion(+), 190 deletions(-) delete mode 100644 examples/PACKAGES/mdi/README delete mode 100644 examples/PACKAGES/mdi/Script.sh delete mode 100644 examples/PACKAGES/mdi/driver.py delete mode 100644 examples/PACKAGES/mdi/lammps.data delete mode 100644 examples/PACKAGES/mdi/lammps.in diff --git a/examples/PACKAGES/mdi/README b/examples/PACKAGES/mdi/README deleted file mode 100644 index 086341f785..0000000000 --- a/examples/PACKAGES/mdi/README +++ /dev/null @@ -1,24 +0,0 @@ -This dir contains scripts that demonstrate how to use LAMMPS as an -MDI engine. LAMMPS as an engine performs the MD timestepping. -The driver is a simple Python script. Every timestep the driver -sends one or more commands to LAMMPS. - --------------- - -The Script.sh file has comands to perform some very simple example -runs. - --------------- - -More complex calculations using LAMMPS as an MDI engine will -typically require the use of an MDI driver. Several MDI drivers -support calculations with LAMMPS, and include: - -Ab Initio Molecular Dynamics (AIMD) Driver: -https://github.com/MolSSI-MDI/MDI_AIMD_Driver - -Nudged Elastic Band (NEB) Driver: -https://github.com/MolSSI-MDI/MDI_NEB_Driver - -Metadynamics Driver: -https://github.com/MolSSI-MDI/MDI_Metadynamics diff --git a/examples/PACKAGES/mdi/Script.sh b/examples/PACKAGES/mdi/Script.sh deleted file mode 100644 index 07353f4c76..0000000000 --- a/examples/PACKAGES/mdi/Script.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash -# sample launch scripts - - -# TCP, running LAMMPS on one proc - -python driver.py -mdi "-name driver -role DRIVER -method TCP -port 8021" & -../../../src/lmp_mdi -mdi "-name LAMMPS -role ENGINE -method TCP -port 8021 -hostname localhost" -in lammps.in > lammps.out & -wait - - -# TCP, running LAMMPS on two procs - -python driver.py -mdi "-name driver -role DRIVER -method TCP -port 8021" & -mpiexec -n 2 ../../../src/lmp_mdi -mdi "-name LAMMPS -role ENGINE -method TCP -port 8021 -hostname localhost" -in lammps.in > lammps.out & -wait - -# MPI, running LAMMPS on two procs - -mpiexec -n 1 python driver.py -mdi "-name driver -role DRIVER -method MPI" : \ - -n 2 ../../../src/lmp_mdi -mdi "-name LAMMPS -role ENGINE -method MPI" -in lammps.in > lammps.out diff --git a/examples/PACKAGES/mdi/driver.py b/examples/PACKAGES/mdi/driver.py deleted file mode 100644 index 934f6f7be1..0000000000 --- a/examples/PACKAGES/mdi/driver.py +++ /dev/null @@ -1,24 +0,0 @@ -import sys -import mdi - -use_mpi4py = False -try: - from mpi4py import MPI - use_mpi4py = True -except: - pass - -# Initialize the MDI Library -mdi.MDI_Init(sys.argv[2]) - -# Connect to the engine -comm = mdi.MDI_Accept_communicator() - -# Determine the name of the engine -mdi.MDI_Send_Command(" Date: Wed, 15 Mar 2023 11:29:52 -0400 Subject: [PATCH 327/448] tag all TIP4P related pair style tests as unstable --- unittest/force-styles/tests/mol-pair-lj_cut_tip4p_cut.yaml | 1 + unittest/force-styles/tests/mol-pair-lj_cut_tip4p_long.yaml | 1 + .../force-styles/tests/mol-pair-lj_cut_tip4p_long_soft.yaml | 1 + unittest/force-styles/tests/mol-pair-lj_cut_tip4p_table.yaml | 1 + .../force-styles/tests/mol-pair-lj_long_cut_tip4p_long.yaml | 1 + unittest/force-styles/tests/mol-pair-lj_long_tip4p_long.yaml | 2 +- unittest/force-styles/tests/mol-pair-lj_table_tip4p_long.yaml | 2 +- unittest/force-styles/tests/mol-pair-lj_table_tip4p_table.yaml | 2 +- unittest/force-styles/tests/mol-pair-tip4p_cut.yaml | 1 + unittest/force-styles/tests/mol-pair-tip4p_long.yaml | 1 + unittest/force-styles/tests/mol-pair-tip4p_long_soft.yaml | 1 + unittest/force-styles/tests/mol-pair-tip4p_table.yaml | 1 + 12 files changed, 12 insertions(+), 3 deletions(-) diff --git a/unittest/force-styles/tests/mol-pair-lj_cut_tip4p_cut.yaml b/unittest/force-styles/tests/mol-pair-lj_cut_tip4p_cut.yaml index 141d61f8ae..95080fcdc6 100644 --- a/unittest/force-styles/tests/mol-pair-lj_cut_tip4p_cut.yaml +++ b/unittest/force-styles/tests/mol-pair-lj_cut_tip4p_cut.yaml @@ -1,5 +1,6 @@ --- lammps_version: 17 Feb 2022 +tags: unstable date_generated: Fri Mar 18 22:17:32 2022 epsilon: 5e-10 skip_tests: diff --git a/unittest/force-styles/tests/mol-pair-lj_cut_tip4p_long.yaml b/unittest/force-styles/tests/mol-pair-lj_cut_tip4p_long.yaml index 28961cd04e..00ff7f3842 100644 --- a/unittest/force-styles/tests/mol-pair-lj_cut_tip4p_long.yaml +++ b/unittest/force-styles/tests/mol-pair-lj_cut_tip4p_long.yaml @@ -1,5 +1,6 @@ --- lammps_version: 17 Feb 2022 +tags: unstable date_generated: Fri Mar 18 22:17:32 2022 epsilon: 2e-11 skip_tests: diff --git a/unittest/force-styles/tests/mol-pair-lj_cut_tip4p_long_soft.yaml b/unittest/force-styles/tests/mol-pair-lj_cut_tip4p_long_soft.yaml index 29cd06c4a9..55331e09e9 100644 --- a/unittest/force-styles/tests/mol-pair-lj_cut_tip4p_long_soft.yaml +++ b/unittest/force-styles/tests/mol-pair-lj_cut_tip4p_long_soft.yaml @@ -1,5 +1,6 @@ --- lammps_version: 17 Feb 2022 +tags: unstable date_generated: Fri Mar 18 22:17:32 2022 epsilon: 1.0e-12 skip_tests: diff --git a/unittest/force-styles/tests/mol-pair-lj_cut_tip4p_table.yaml b/unittest/force-styles/tests/mol-pair-lj_cut_tip4p_table.yaml index 34a48e8f5f..5e6d460b65 100644 --- a/unittest/force-styles/tests/mol-pair-lj_cut_tip4p_table.yaml +++ b/unittest/force-styles/tests/mol-pair-lj_cut_tip4p_table.yaml @@ -1,5 +1,6 @@ --- lammps_version: 17 Feb 2022 +tags: unstable date_generated: Fri Mar 18 22:17:32 2022 epsilon: 5e-13 skip_tests: gpu diff --git a/unittest/force-styles/tests/mol-pair-lj_long_cut_tip4p_long.yaml b/unittest/force-styles/tests/mol-pair-lj_long_cut_tip4p_long.yaml index ef1fb4f4cd..80b844e7c5 100644 --- a/unittest/force-styles/tests/mol-pair-lj_long_cut_tip4p_long.yaml +++ b/unittest/force-styles/tests/mol-pair-lj_long_cut_tip4p_long.yaml @@ -1,5 +1,6 @@ --- lammps_version: 17 Feb 2022 +tags: unstable date_generated: Fri Mar 18 22:17:33 2022 epsilon: 2.5e-09 skip_tests: diff --git a/unittest/force-styles/tests/mol-pair-lj_long_tip4p_long.yaml b/unittest/force-styles/tests/mol-pair-lj_long_tip4p_long.yaml index 0a4639b1c9..72fc77efa4 100644 --- a/unittest/force-styles/tests/mol-pair-lj_long_tip4p_long.yaml +++ b/unittest/force-styles/tests/mol-pair-lj_long_tip4p_long.yaml @@ -1,6 +1,6 @@ --- lammps_version: 17 Feb 2022 -tags: slow +tags: slow unstable date_generated: Fri Mar 18 22:17:33 2022 epsilon: 2.5e-09 skip_tests: diff --git a/unittest/force-styles/tests/mol-pair-lj_table_tip4p_long.yaml b/unittest/force-styles/tests/mol-pair-lj_table_tip4p_long.yaml index 817a1fcae8..6a20bf7b73 100644 --- a/unittest/force-styles/tests/mol-pair-lj_table_tip4p_long.yaml +++ b/unittest/force-styles/tests/mol-pair-lj_table_tip4p_long.yaml @@ -1,6 +1,6 @@ --- lammps_version: 17 Feb 2022 -tags: slow +tags: slow unstable date_generated: Fri Mar 18 22:17:34 2022 epsilon: 2.5e-09 skip_tests: diff --git a/unittest/force-styles/tests/mol-pair-lj_table_tip4p_table.yaml b/unittest/force-styles/tests/mol-pair-lj_table_tip4p_table.yaml index c64b01d34a..02a58d0e95 100644 --- a/unittest/force-styles/tests/mol-pair-lj_table_tip4p_table.yaml +++ b/unittest/force-styles/tests/mol-pair-lj_table_tip4p_table.yaml @@ -1,6 +1,6 @@ --- lammps_version: 17 Feb 2022 -tags: slow +tags: slow unstable date_generated: Fri Mar 18 22:17:35 2022 epsilon: 2.5e-09 skip_tests: diff --git a/unittest/force-styles/tests/mol-pair-tip4p_cut.yaml b/unittest/force-styles/tests/mol-pair-tip4p_cut.yaml index 52fea193d5..09e96c1a7f 100644 --- a/unittest/force-styles/tests/mol-pair-tip4p_cut.yaml +++ b/unittest/force-styles/tests/mol-pair-tip4p_cut.yaml @@ -1,5 +1,6 @@ --- lammps_version: 17 Feb 2022 +tags: unstable date_generated: Fri Mar 18 22:17:36 2022 epsilon: 5.0e-10 skip_tests: diff --git a/unittest/force-styles/tests/mol-pair-tip4p_long.yaml b/unittest/force-styles/tests/mol-pair-tip4p_long.yaml index e79a216951..072642c471 100644 --- a/unittest/force-styles/tests/mol-pair-tip4p_long.yaml +++ b/unittest/force-styles/tests/mol-pair-tip4p_long.yaml @@ -1,5 +1,6 @@ --- lammps_version: 17 Feb 2022 +tags: unstable date_generated: Fri Mar 18 22:17:36 2022 epsilon: 5e-13 skip_tests: diff --git a/unittest/force-styles/tests/mol-pair-tip4p_long_soft.yaml b/unittest/force-styles/tests/mol-pair-tip4p_long_soft.yaml index cf96b906c2..ec4590c0f8 100644 --- a/unittest/force-styles/tests/mol-pair-tip4p_long_soft.yaml +++ b/unittest/force-styles/tests/mol-pair-tip4p_long_soft.yaml @@ -1,5 +1,6 @@ --- lammps_version: 17 Feb 2022 +tags: unstable date_generated: Fri Mar 18 22:17:36 2022 epsilon: 1e-13 skip_tests: diff --git a/unittest/force-styles/tests/mol-pair-tip4p_table.yaml b/unittest/force-styles/tests/mol-pair-tip4p_table.yaml index eeef0d30ad..e76ecdf0f0 100644 --- a/unittest/force-styles/tests/mol-pair-tip4p_table.yaml +++ b/unittest/force-styles/tests/mol-pair-tip4p_table.yaml @@ -1,5 +1,6 @@ --- lammps_version: 17 Feb 2022 +tags: unstable date_generated: Fri Mar 18 22:17:36 2022 epsilon: 2.5e-13 skip_tests: From fa9062a87e74523048b561321c8f3859e774fd30 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 15 Mar 2023 18:39:32 -0400 Subject: [PATCH 328/448] make Force::special_lj and Force::special_coul accessible through the library interface --- python/lammps/core.py | 3 ++- src/library.cpp | 12 +++++++++++ .../c-library/test_library_properties.cpp | 21 +++++++++++++++++++ unittest/python/python-commands.py | 6 ++++++ 4 files changed, 41 insertions(+), 1 deletion(-) diff --git a/python/lammps/core.py b/python/lammps/core.py index e4f8d807b6..80961186f3 100644 --- a/python/lammps/core.py +++ b/python/lammps/core.py @@ -814,7 +814,8 @@ class lammps(object): # set length of vector for items that are not a scalar vec_dict = { 'boxlo':3, 'boxhi':3, 'sublo':3, 'subhi':3, - 'sublo_lambda':3, 'subhi_lambda':3, 'periodicity':3 } + 'sublo_lambda':3, 'subhi_lambda':3, 'periodicity':3, + 'special_lj':4, 'special_coul':4 } if name in vec_dict: veclen = vec_dict[name] elif name == 'respa_dt': diff --git a/src/library.cpp b/src/library.cpp index 9f817a1199..cc4e748f57 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -1232,6 +1232,8 @@ int lammps_extract_global_datatype(void * /*handle*/, const char *name) if (strcmp(name,"nghost") == 0) return LAMMPS_INT; if (strcmp(name,"nmax") == 0) return LAMMPS_INT; if (strcmp(name,"ntypes") == 0) return LAMMPS_INT; + if (strcmp(name,"special_lj") == 0) return LAMMPS_DOUBLE; + if (strcmp(name,"special_coul") == 0) return LAMMPS_DOUBLE; if (strcmp(name,"q_flag") == 0) return LAMMPS_INT; @@ -1470,6 +1472,14 @@ report the "native" data type. The following tables are provided: - int - 1 - maximum of nlocal+nghost across all MPI ranks (for per-atom data array size). + * - special_lj + - double + - 4 + - special :doc:`pair weighting factors ` for LJ interactions (first element is always 1.0) + * - special_coul + - double + - 4 + - special :doc:`pair weighting factors ` for Coulomb interactions (first element is always 1.0) * - q_flag - int - 1 @@ -1625,6 +1635,8 @@ void *lammps_extract_global(void *handle, const char *name) if (strcmp(name,"nlocal") == 0) return (void *) &lmp->atom->nlocal; if (strcmp(name,"nghost") == 0) return (void *) &lmp->atom->nghost; if (strcmp(name,"nmax") == 0) return (void *) &lmp->atom->nmax; + if (strcmp(name,"special_lj") == 0) return (void *) lmp->force->special_lj; + if (strcmp(name,"special_coul") == 0) return (void *) lmp->force->special_coul; if (strcmp(name,"q_flag") == 0) return (void *) &lmp->atom->q_flag; diff --git a/unittest/c-library/test_library_properties.cpp b/unittest/c-library/test_library_properties.cpp index bb0f6e2894..d6dd55f75e 100644 --- a/unittest/c-library/test_library_properties.cpp +++ b/unittest/c-library/test_library_properties.cpp @@ -297,6 +297,7 @@ TEST_F(LibraryProperties, global) std::string input = path_join(INPUT_DIR, "in.fourmol"); if (!verbose) ::testing::internal::CaptureStdout(); + lammps_command(lmp, "special_bonds lj 0.0 0.5 0.8 coul 0.1 0.5 1.0"); lammps_file(lmp, input.c_str()); lammps_command(lmp, "run 2 post no"); if (!verbose) ::testing::internal::GetCapturedStdout(); @@ -321,6 +322,26 @@ TEST_F(LibraryProperties, global) EXPECT_EQ(lammps_extract_global_datatype(lmp, "dt"), LAMMPS_DOUBLE); double *d_ptr = (double *)lammps_extract_global(lmp, "dt"); EXPECT_DOUBLE_EQ((*d_ptr), 0.1); + + EXPECT_EQ(lammps_extract_global_datatype(lmp, "special_lj"), LAMMPS_DOUBLE); + EXPECT_EQ(lammps_extract_global_datatype(lmp, "special_coul"), LAMMPS_DOUBLE); + double *special_lj = (double *)lammps_extract_global(lmp, "special_lj"); + double *special_coul= (double *)lammps_extract_global(lmp, "special_coul"); + EXPECT_DOUBLE_EQ(special_lj[0], 1.0); + EXPECT_DOUBLE_EQ(special_lj[1], 0.0); + EXPECT_DOUBLE_EQ(special_lj[2], 0.5); + EXPECT_DOUBLE_EQ(special_lj[3], 0.8); + EXPECT_DOUBLE_EQ(special_coul[0], 1.0); + EXPECT_DOUBLE_EQ(special_coul[1], 0.1); + EXPECT_DOUBLE_EQ(special_coul[2], 0.5); + EXPECT_DOUBLE_EQ(special_coul[3], 1.0); + lammps_command(lmp, "special_bonds lj/coul 1.0 1.0 1.0"); + EXPECT_DOUBLE_EQ(special_lj[1], 1.0); + EXPECT_DOUBLE_EQ(special_lj[2], 1.0); + EXPECT_DOUBLE_EQ(special_lj[3], 1.0); + EXPECT_DOUBLE_EQ(special_coul[1], 1.0); + EXPECT_DOUBLE_EQ(special_coul[2], 1.0); + EXPECT_DOUBLE_EQ(special_coul[3], 1.0); }; TEST_F(LibraryProperties, neighlist) diff --git a/unittest/python/python-commands.py b/unittest/python/python-commands.py index 13be27f067..33b19ba4f0 100644 --- a/unittest/python/python-commands.py +++ b/unittest/python/python-commands.py @@ -536,6 +536,7 @@ create_atoms 1 single & def test_extract_global(self): self.lmp.command("region box block -1 1 -2 2 -3 3") self.lmp.command("create_box 1 box") + self.lmp.command("special_bonds lj 0.0 0.5 0.8 coul 0.1 0.5 1.0") self.assertEqual(self.lmp.extract_global("units"), "lj") self.assertEqual(self.lmp.extract_global("ntimestep"), 0) self.assertEqual(self.lmp.extract_global("dt"), 0.005) @@ -552,10 +553,15 @@ create_atoms 1 single & self.assertEqual(self.lmp.extract_global("subhi"), [1.0, 2.0, 3.0]) self.assertEqual(self.lmp.extract_global("periodicity"), [1,1,1]) self.assertEqual(self.lmp.extract_global("triclinic"), 0) + self.assertEqual(self.lmp.extract_global("special_lj"), [1.0, 0.0, 0.5, 0.8]) + self.assertEqual(self.lmp.extract_global("special_coul"), [1.0, 0.1, 0.5, 1.0]) self.assertEqual(self.lmp.extract_global("sublo_lambda"), None) self.assertEqual(self.lmp.extract_global("subhi_lambda"), None) self.assertEqual(self.lmp.extract_global("respa_levels"), None) self.assertEqual(self.lmp.extract_global("respa_dt"), None) + self.lmp.command("special_bonds lj/coul 0.0 1.0 1.0") + self.assertEqual(self.lmp.extract_global("special_lj"), [1.0, 0.0, 1.0, 1.0]) + self.assertEqual(self.lmp.extract_global("special_coul"), [1.0, 0.0, 1.0, 1.0]) # set and initialize r-RESPA self.lmp.command("run_style respa 3 5 2 pair 2 kspace 3") From 56f4aaff474f3c02f731781b549f13fe91594a63 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Wed, 15 Mar 2023 21:28:05 -0400 Subject: [PATCH 329/448] explicitly specify central atom --- src/EXTRA-MOLECULE/improper_fourier.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/EXTRA-MOLECULE/improper_fourier.cpp b/src/EXTRA-MOLECULE/improper_fourier.cpp index 3eef060204..295657b1b6 100644 --- a/src/EXTRA-MOLECULE/improper_fourier.cpp +++ b/src/EXTRA-MOLECULE/improper_fourier.cpp @@ -40,7 +40,7 @@ ImproperFourier::ImproperFourier(LAMMPS *lmp) : Improper(lmp) // the first and fourth atoms in the quadruplet are the atoms of symmetry symmatoms[0] = 1; - symmatoms[3] = 1; + symmatoms[3] = 2; } /* ---------------------------------------------------------------------- */ From 0bf0fd98cc8425fc82e49d2aa9cd7b4727626010 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Wed, 15 Mar 2023 21:29:14 -0400 Subject: [PATCH 330/448] explicitly specify central atom --- src/MOLECULE/improper_umbrella.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/MOLECULE/improper_umbrella.cpp b/src/MOLECULE/improper_umbrella.cpp index 52bc692670..1558adc337 100644 --- a/src/MOLECULE/improper_umbrella.cpp +++ b/src/MOLECULE/improper_umbrella.cpp @@ -43,7 +43,7 @@ ImproperUmbrella::ImproperUmbrella(LAMMPS *_lmp) : Improper(_lmp) // the first and fourth atoms in the quadruplet are the atoms of symmetry symmatoms[0] = 1; - symmatoms[3] = 1; + symmatoms[3] = 2; } /* ---------------------------------------------------------------------- */ From 4940bda15fce53ab698edeb147b02b79fa1dae2d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 15 Mar 2023 23:08:46 -0400 Subject: [PATCH 331/448] remove references to "make install" for Python package installation --- doc/src/Python_install.rst | 141 +------------------------------------ 1 file changed, 2 insertions(+), 139 deletions(-) diff --git a/doc/src/Python_install.rst b/doc/src/Python_install.rst index bc0406ee92..cc1e2cb5c9 100644 --- a/doc/src/Python_install.rst +++ b/doc/src/Python_install.rst @@ -27,124 +27,19 @@ interpreter can find it and installing the LAMMPS shared library into a folder that the dynamic loader searches or inside of the installed ``lammps`` package folder. There are multiple ways to achieve this. -#. Do a full LAMMPS installation of libraries, executables, selected - headers, documentation (if enabled), and supporting files (only - available via CMake), which can also be either system-wide or into - user specific folders. - #. Install both components into a Python ``site-packages`` folder, either system-wide or in the corresponding user-specific folder. This way no additional environment variables need to be set, but the shared library is otherwise not accessible. -#. Do an installation into a virtual environment. This can either be an - installation of the Python package only or a full installation of LAMMPS. +#. Do an installation into a virtual environment. #. Leave the files where they are in the source/development tree and adjust some environment variables. .. tabs:: - .. tab:: Full install (CMake-only) - - :ref:`Build the LAMMPS executable and library ` with - ``-DBUILD_SHARED_LIBS=on``, ``-DLAMMPS_EXCEPTIONS=on`` and - ``-DPKG_PYTHON=on`` (The first option is required, the other two - are optional by recommended). The exact file name of the shared - library depends on the platform (Unix/Linux, macOS, Windows) and - the build configuration being used. The installation base folder - is already set by default to the ``$HOME/.local`` directory, but - it can be changed to a custom location defined by the - ``CMAKE_INSTALL_PREFIX`` CMake variable. This uses a folder - called ``build`` to store files generated during compilation. - - .. code-block:: bash - - # create build folder - mkdir build - cd build - - # configure LAMMPS compilation - cmake -C ../cmake/presets/basic.cmake -D BUILD_SHARED_LIBS=on \ - -D LAMMPS_EXCEPTIONS=on -D PKG_PYTHON=on ../cmake - - # compile LAMMPS - cmake --build . - - # install LAMMPS into $HOME/.local - cmake --install . - - - This leads to an installation to the following locations: - - +------------------------+-----------------------------------------------------------------+-------------------------------------------------------------+ - | File | Location | Notes | - +========================+=================================================================+=============================================================+ - | LAMMPS Python package | * ``$HOME/.local/lib/pythonX.Y/site-packages/lammps`` (32bit) | ``X.Y`` depends on the installed Python version | - | | * ``$HOME/.local/lib64/pythonX.Y/site-packages/lammps`` (64bit) | | - +------------------------+-----------------------------------------------------------------+-------------------------------------------------------------+ - | LAMMPS shared library | * ``$HOME/.local/lib/`` (32bit) | Set shared loader environment variable to this path | - | | * ``$HOME/.local/lib64/`` (64bit) | (see below for more info on this) | - +------------------------+-----------------------------------------------------------------+-------------------------------------------------------------+ - | LAMMPS executable | * ``$HOME/.local/bin/`` | | - +------------------------+-----------------------------------------------------------------+-------------------------------------------------------------+ - | LAMMPS potential files | * ``$HOME/.local/share/lammps/potentials/`` | Set ``LAMMPS_POTENTIALS`` environment variable to this path | - +------------------------+-----------------------------------------------------------------+-------------------------------------------------------------+ - - For a system-wide installation you need to set - ``CMAKE_INSTALL_PREFIX`` to a system folder like ``/usr`` (or - ``/usr/local``); the default is ``${HOME}/.local``. The - installation step for a system folder installation (**not** the - configuration/compilation) needs to be done with superuser - privilege, e.g. by using ``sudo cmake --install .``. The - installation folders will then be changed to (assuming ``/usr`` as - prefix): - - +------------------------+---------------------------------------------------------+-------------------------------------------------------------+ - | File | Location | Notes | - +========================+=========================================================+=============================================================+ - | LAMMPS Python package | * ``/usr/lib/pythonX.Y/site-packages/lammps`` (32bit) | ``X.Y`` depends on the installed Python version | - | | * ``/usr/lib64/pythonX.Y/site-packages/lammps`` (64bit) | | - +------------------------+---------------------------------------------------------+-------------------------------------------------------------+ - | LAMMPS shared library | * ``/usr/lib/`` (32bit) | | - | | * ``/usr/lib64/`` (64bit) | | - +------------------------+---------------------------------------------------------+-------------------------------------------------------------+ - | LAMMPS executable | * ``/usr/bin/`` | | - +------------------------+---------------------------------------------------------+-------------------------------------------------------------+ - | LAMMPS potential files | * ``/usr/share/lammps/potentials/`` | | - +------------------------+---------------------------------------------------------+-------------------------------------------------------------+ - - To be able to use the "user" installation you have to ensure that - the folder containing the LAMMPS shared library is either included - in a path searched by the shared linker (e.g. like - ``/usr/lib64/``) or part of the ``LD_LIBRARY_PATH`` environment - variable (or ``DYLD_LIBRARY_PATH`` on macOS). Otherwise you will - get an error when trying to create a LAMMPS object through the - Python module. - - .. code-block:: bash - - # Unix/Linux - export LD_LIBRARY_PATH=$HOME/.local/lib:$LD_LIBRARY_PATH - - # macOS - export DYLD_LIBRARY_PATH=$HOME/.local/lib:$DYLD_LIBRARY_PATH - - If you plan to use the LAMMPS executable (e.g., ``lmp``), you may - also need to adjust the ``PATH`` environment variable (but many - newer Linux distributions already have ``$HOME/.local/bin`` - included). Example: - - .. code-block:: bash - - export PATH=$HOME/.local/bin:$PATH - - To make those changes permanent, you can add the commands to your - ``$HOME/.bashrc`` file. For a system-wide installation is is not - necessary due to files installed in system folders that are loaded - automatically when a login shell is started. - - .. tab:: Python package only + .. tab:: Python package Compile LAMMPS with either :doc:`CMake ` or the :doc:`traditional make ` procedure in :ref:`shared @@ -272,38 +167,6 @@ folder that the dynamic loader searches or inside of the installed | LAMMPS shared library | * ``$VIRTUAL_ENV/lib/pythonX.Y/site-packages/lammps`` | ``X.Y`` depends on the installed Python version | +------------------------+--------------------------------------------------------+-------------------------------------------------------------+ - If you do a full installation (CMake only) with "install", this - leads to the following installation locations: - - +------------------------+--------------------------------------------------------+-------------------------------------------------------------+ - | File | Location | Notes | - +========================+========================================================+=============================================================+ - | LAMMPS Python Module | * ``$VIRTUAL_ENV/lib/pythonX.Y/site-packages/lammps`` | ``X.Y`` depends on the installed Python version | - +------------------------+--------------------------------------------------------+-------------------------------------------------------------+ - | LAMMPS shared library | * ``$VIRTUAL_ENV/lib/`` (32bit) | Set shared loader environment variable to this path | - | | * ``$VIRTUAL_ENV/lib64/`` (64bit) | (see below for more info on this) | - +------------------------+--------------------------------------------------------+-------------------------------------------------------------+ - | LAMMPS executable | * ``$VIRTUAL_ENV/bin/`` | | - +------------------------+--------------------------------------------------------+-------------------------------------------------------------+ - | LAMMPS potential files | * ``$VIRTUAL_ENV/share/lammps/potentials/`` | Set ``LAMMPS_POTENTIALS`` environment variable to this path | - +------------------------+--------------------------------------------------------+-------------------------------------------------------------+ - - In that case you need to modify the ``$HOME/myenv/bin/activate`` - script in a similar fashion you need to update your - ``$HOME/.bashrc`` file to include the shared library and - executable locations in ``LD_LIBRARY_PATH`` (or - ``DYLD_LIBRARY_PATH`` on macOS) and ``PATH``, respectively. - - For example with: - - .. code-block:: bash - - # Unix/Linux - echo 'export LD_LIBRARY_PATH=$VIRTUAL_ENV/lib:$LD_LIBRARY_PATH' >> $HOME/myenv/bin/activate - - # macOS - echo 'export DYLD_LIBRARY_PATH=$VIRTUAL_ENV/lib:$DYLD_LIBRARY_PATH' >> $HOME/myenv/bin/activate - .. tab:: In place usage You can also :doc:`compile LAMMPS ` as usual in From a8c27a2275fedb8134119a8ab0c61f81acefb041 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Wed, 15 Mar 2023 23:55:13 -0400 Subject: [PATCH 332/448] clarify symmatoms convention --- src/improper.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/improper.h b/src/improper.h index dfdfabae21..fbe86dfcd1 100644 --- a/src/improper.h +++ b/src/improper.h @@ -27,7 +27,6 @@ class Improper : protected Pointers { int *setflag; int writedata; // 1 if writes coeffs to data file int born_matrix_enable; - int symmatoms[4]; // symmetry atom(s) of improper style double energy; // accumulated energies double virial[6]; // accumulated virial: xx,yy,zz,xy,xz,yz double *eatom, **vatom; // accumulated per-atom energy/virial @@ -37,6 +36,11 @@ class Improper : protected Pointers { // CENTROID_SAME = same as two-body stress // CENTROID_AVAIL = different and implemented // CENTROID_NOTAVAIL = different, not yet implemented + + int symmatoms[4]; // symmetry atom(s) of improper style + // value of 0: interchangable atoms + // value of 1: central atom + // values >1: additional atoms of symmetry // KOKKOS host/device flag and data masks From 0e3dc6fefa09314da70a487cb03303973004e883 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 16 Mar 2023 08:01:26 -0400 Subject: [PATCH 333/448] Download the latest MSCG snapshot to address bug in library. --- cmake/Modules/Packages/MSCG.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/Modules/Packages/MSCG.cmake b/cmake/Modules/Packages/MSCG.cmake index e4260e059e..2b8e8eda06 100644 --- a/cmake/Modules/Packages/MSCG.cmake +++ b/cmake/Modules/Packages/MSCG.cmake @@ -7,8 +7,8 @@ else() endif() option(DOWNLOAD_MSCG "Download MSCG library instead of using an already installed one)" ${DOWNLOAD_MSCG_DEFAULT}) if(DOWNLOAD_MSCG) - set(MSCG_URL "https://github.com/uchicago-voth/MSCG-release/archive/1.7.3.1.tar.gz" CACHE STRING "URL for MSCG tarball") - set(MSCG_MD5 "8c45e269ee13f60b303edd7823866a91" CACHE STRING "MD5 checksum of MSCG tarball") + set(MSCG_URL "https://github.com/uchicago-voth/MSCG-release/archive/491270a73539e3f6951e76f7dbe84e258b3ebb45.tar.gz" CACHE STRING "URL for MSCG tarball") + set(MSCG_MD5 "7ea50748fba5c3a372e0266bd31d2f11" CACHE STRING "MD5 checksum of MSCG tarball") mark_as_advanced(MSCG_URL) mark_as_advanced(MSCG_MD5) From 5c5e7b7e48afd28c62d07655d547b4e12eaab982 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 16 Mar 2023 08:39:23 -0400 Subject: [PATCH 334/448] update fix mscg example --- examples/mscg/log.16Mar23.g++.1 | 105 +++++++++++++ examples/mscg/log.31Mar17.g++.1 | 145 ------------------ examples/mscg/output_16Mar23/1_1.dat | 71 +++++++++ examples/mscg/output_16Mar23/1_1.table | 104 +++++++++++++ examples/mscg/output_16Mar23/b-spline.out | 2 + .../{output_9Jan17 => output_16Mar23}/rmin.in | 0 .../rmin_b.in | 0 examples/mscg/output_16Mar23/sol_info.out | 17 ++ examples/mscg/output_16Mar23/x.out | 2 + examples/mscg/output_9Jan17/1_1.dat | 77 ---------- examples/mscg/output_9Jan17/1_1.table | 82 ---------- examples/mscg/output_9Jan17/b-spline.out | 2 - examples/mscg/output_9Jan17/sol_info.out | 18 --- examples/mscg/output_9Jan17/x.out | 1 - 14 files changed, 301 insertions(+), 325 deletions(-) create mode 100644 examples/mscg/log.16Mar23.g++.1 delete mode 100644 examples/mscg/log.31Mar17.g++.1 create mode 100644 examples/mscg/output_16Mar23/1_1.dat create mode 100644 examples/mscg/output_16Mar23/1_1.table create mode 100644 examples/mscg/output_16Mar23/b-spline.out rename examples/mscg/{output_9Jan17 => output_16Mar23}/rmin.in (100%) rename examples/mscg/{output_9Jan17 => output_16Mar23}/rmin_b.in (100%) create mode 100644 examples/mscg/output_16Mar23/sol_info.out create mode 100644 examples/mscg/output_16Mar23/x.out delete mode 100644 examples/mscg/output_9Jan17/1_1.dat delete mode 100644 examples/mscg/output_9Jan17/1_1.table delete mode 100644 examples/mscg/output_9Jan17/b-spline.out delete mode 100644 examples/mscg/output_9Jan17/sol_info.out delete mode 100644 examples/mscg/output_9Jan17/x.out diff --git a/examples/mscg/log.16Mar23.g++.1 b/examples/mscg/log.16Mar23.g++.1 new file mode 100644 index 0000000000..8c99fd3e15 --- /dev/null +++ b/examples/mscg/log.16Mar23.g++.1 @@ -0,0 +1,105 @@ +LAMMPS (8 Feb 2023) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +units real +atom_style full +pair_style zero 10.0 + +read_data data.meoh +Reading data file ... + orthogonal box = (-20.6917 -20.6917 -20.6917) to (20.6917 20.6917 20.6917) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 1000 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.007 seconds +pair_coeff * * + +thermo 1 +thermo_style custom step + +# Test 1a: range finder functionality +fix 1 all mscg 1 range on +rerun dump.meoh first 0 last 4500 every 250 dump x y z fx fy fz +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 12 + ghost atom cutoff = 12 + binsize = 6, bins = 7 7 7 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 6.045 | 6.045 | 6.045 Mbytes + Step + 0 + 250 + 500 + 750 + 1000 + 1250 + 1500 + 1750 + 2000 + 2250 + 2500 + 2750 + 3000 + 3250 + 3500 + 3750 + 4000 + 4250 + 4500 +Loop time of 0.245891 on 1 procs for 19 steps with 1000 atoms + +print "TEST_1a mscg range finder" +TEST_1a mscg range finder +unfix 1 + +# Test 1b: force matching functionality +fix 1 all mscg 1 +rerun dump.meoh first 0 last 4500 every 250 dump x y z fx fy fz +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 6.045 | 6.045 | 6.045 Mbytes + Step + 0 + 250 + 500 + 750 + 1000 + 1250 + 1500 + 1750 + 2000 + 2250 + 2500 + 2750 + 3000 + 3250 + 3500 + 3750 + 4000 + 4250 + 4500 +Loop time of 0.433986 on 1 procs for 19 steps with 1000 atoms + +print "TEST_1b mscg force matching" +TEST_1b mscg force matching + +print TEST_DONE +TEST_DONE +Total wall time: 0:00:00 diff --git a/examples/mscg/log.31Mar17.g++.1 b/examples/mscg/log.31Mar17.g++.1 deleted file mode 100644 index c67bc483db..0000000000 --- a/examples/mscg/log.31Mar17.g++.1 +++ /dev/null @@ -1,145 +0,0 @@ -LAMMPS (13 Apr 2017) -units real -atom_style full -pair_style zero 10.0 - -read_data data.meoh - orthogonal box = (-20.6917 -20.6917 -20.6917) to (20.6917 20.6917 20.6917) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 1000 atoms - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors -pair_coeff * * - -thermo 1 -thermo_style custom step - -# Test 1a: range finder functionality -fix 1 all mscg 1 range on -rerun dump.meoh first 0 last 4500 every 250 dump x y z fx fy fz -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 12 - ghost atom cutoff = 12 - binsize = 6, bins = 7 7 7 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.794 | 5.794 | 5.794 Mbytes -Step - 0 - 250 - 500 - 750 - 1000 - 1250 - 1500 - 1750 - 2000 - 2250 - 2500 - 2750 - 3000 - 3250 - 3500 - 3750 - 4000 - 4250 - 4500 -Loop time of 0.581537 on 1 procs for 19 steps with 1000 atoms - -Performance: 2.823 ns/day, 8.502 hours/ns, 32.672 timesteps/s -99.2% CPU use with 1 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0 | 0 | 0 | 0.0 | 0.00 -Bond | 0 | 0 | 0 | 0.0 | 0.00 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0 | 0 | 0 | 0.0 | 0.00 -Output | 0 | 0 | 0 | 0.0 | 0.00 -Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 0.5815 | | |100.00 - -Nlocal: 1000 ave 1000 max 1000 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 2934 ave 2934 max 2934 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 50654 ave 50654 max 50654 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 50654 -Ave neighs/atom = 50.654 -Ave special neighs/atom = 0 -Neighbor list builds = 0 -Dangerous builds = 0 -print "TEST_1a mscg range finder" -TEST_1a mscg range finder -unfix 1 - -# Test 1b: force matching functionality -fix 1 all mscg 1 -rerun dump.meoh first 0 last 4500 every 250 dump x y z fx fy fz -Per MPI rank memory allocation (min/avg/max) = 5.794 | 5.794 | 5.794 Mbytes -Step - 0 - 250 - 500 - 750 - 1000 - 1250 - 1500 - 1750 - 2000 - 2250 - 2500 - 2750 - 3000 - 3250 - 3500 - 3750 - 4000 - 4250 - 4500 -Loop time of 0.841917 on 1 procs for 19 steps with 1000 atoms - -Performance: 1.950 ns/day, 12.309 hours/ns, 22.568 timesteps/s -99.8% CPU use with 1 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0 | 0 | 0 | 0.0 | 0.00 -Bond | 0 | 0 | 0 | 0.0 | 0.00 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0 | 0 | 0 | 0.0 | 0.00 -Output | 0 | 0 | 0 | 0.0 | 0.00 -Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 0.8419 | | |100.00 - -Nlocal: 1000 ave 1000 max 1000 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 2934 ave 2934 max 2934 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 50654 ave 50654 max 50654 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 50654 -Ave neighs/atom = 50.654 -Ave special neighs/atom = 0 -Neighbor list builds = 0 -Dangerous builds = 0 -print "TEST_1b mscg force matching" -TEST_1b mscg force matching - -print TEST_DONE -TEST_DONE -Total wall time: 0:00:01 diff --git a/examples/mscg/output_16Mar23/1_1.dat b/examples/mscg/output_16Mar23/1_1.dat new file mode 100644 index 0000000000..d73cd05fe6 --- /dev/null +++ b/examples/mscg/output_16Mar23/1_1.dat @@ -0,0 +1,71 @@ +3.000000 9.109433117503674e+00 +3.100000 6.562933520937051e+00 +3.200000 3.803570347770783e+00 +3.300000 1.524835163098694e+00 +3.400000 3.680752991750511e-02 +3.500000 -6.369395346711866e-01 +3.600000 -6.624341032589213e-01 +3.700000 -2.983998819283989e-01 +3.800000 1.996942072449469e-01 +3.900000 6.507540486137935e-01 +4.000000 9.561503221901252e-01 +4.100000 1.082978861799261e+00 +4.200000 1.046366050930359e+00 +4.300000 8.917742185869113e-01 +4.400000 6.773070351372578e-01 +4.500000 4.561974686292022e-01 +4.600000 2.640422255436971e-01 +4.700000 1.180848207166380e-01 +4.800000 2.124502216672507e-02 +4.900000 -3.366915456585443e-02 +5.000000 -5.974945208074427e-02 +5.100000 -7.177537677873873e-02 +5.200000 -8.204929079011507e-02 +5.300000 -9.745573177789707e-02 +5.400000 -1.196283642109915e-01 +5.500000 -1.463411396781238e-01 +5.600000 -1.729465415853768e-01 +5.700000 -1.938138298537278e-01 +5.800000 -2.037672856165882e-01 +5.900000 -1.995060297815394e-01 +6.000000 -1.805447650094144e-01 +6.100000 -1.489384048916932e-01 +6.200000 -1.085276302304308e-01 +6.300000 -6.416601955090541e-02 +6.400000 -2.094717961426480e-02 +6.500000 1.656812406982645e-02 +6.600000 4.511482523443927e-02 +6.700000 6.322611594801032e-02 +6.800000 7.107524696431811e-02 +6.900000 7.005702917383723e-02 +7.000000 6.235932355899154e-02 +7.100000 5.053453114940768e-02 +7.200000 3.707108297716843e-02 +7.300000 2.397003518601587e-02 +7.400000 1.245439896007831e-02 +7.500000 3.015413982707119e-03 +7.600000 -4.408442264121739e-03 +7.700000 -1.024733994435217e-02 +7.800000 -1.511598231239246e-02 +7.900000 -1.962949115765983e-02 +8.000000 -2.422153184874873e-02 +8.100000 -2.902066868449916e-02 +8.200000 -3.387453677654857e-02 +8.300000 -3.843224513464188e-02 +8.400000 -4.222901944115068e-02 +8.500000 -4.477084482559266e-02 +8.600000 -4.561910863915099e-02 +8.700000 -4.447439067652353e-02 +8.800000 -4.123808661911404e-02 +8.900000 -3.601776131390161e-02 +9.000000 -2.911033476210515e-02 +9.100000 -2.098441550402311e-02 +9.200000 -1.226263400387303e-02 +9.300000 -3.703976034631109e-03 +9.400000 3.815231963949414e-03 +9.500000 9.355387087425532e-03 +9.600000 1.205664749783030e-02 +9.700000 1.131702059340882e-02 +9.800000 6.971799313021964e-03 +9.900000 -5.270015594498346e-04 +10.000000 -9.931209090702869e-03 diff --git a/examples/mscg/output_16Mar23/1_1.table b/examples/mscg/output_16Mar23/1_1.table new file mode 100644 index 0000000000..148d909ad3 --- /dev/null +++ b/examples/mscg/output_16Mar23/1_1.table @@ -0,0 +1,104 @@ +# Header information on force file + +1_1 +N 99 R 0.200000 10.000000 + +1 0.200000 127.263594 80.411422 +2 0.300000 119.349776 77.864922 +3 0.400000 111.690609 75.318423 +4 0.500000 104.286092 72.771923 +5 0.600000 97.136225 70.225423 +6 0.700000 90.241007 67.678924 +7 0.800000 83.600440 65.132424 +8 0.900000 77.214522 62.585925 +9 1.000000 71.083255 60.039425 +10 1.100000 65.206637 57.492925 +11 1.200000 59.584670 54.946426 +12 1.300000 54.217352 52.399926 +13 1.400000 49.104684 49.853427 +14 1.500000 44.246667 47.306927 +15 1.600000 39.643299 44.760427 +16 1.700000 35.294581 42.213928 +17 1.800000 31.200513 39.667428 +18 1.900000 27.361096 37.120929 +19 2.000000 23.776328 34.574429 +20 2.100000 20.446210 32.027929 +21 2.200000 17.370742 29.481430 +22 2.300000 14.549924 26.934930 +23 2.400000 11.983756 24.388431 +24 2.500000 9.672238 21.841931 +25 2.600000 7.615370 19.295432 +26 2.700000 5.813151 16.748932 +27 2.800000 4.265583 14.202432 +28 2.900000 2.972665 11.655933 +29 3.000000 1.934397 9.109433 +30 3.100000 1.150778 6.562934 +31 3.200000 0.632453 3.803570 +32 3.300000 0.366033 1.524835 +33 3.400000 0.287951 0.036808 +34 3.500000 0.317957 -0.636940 +35 3.600000 0.382926 -0.662434 +36 3.700000 0.430968 -0.298400 +37 3.800000 0.435903 0.199694 +38 3.900000 0.393381 0.650754 +39 4.000000 0.313035 0.956150 +40 4.100000 0.211079 1.082979 +41 4.200000 0.104612 1.046366 +42 4.300000 0.007705 0.891774 +43 4.400000 -0.070749 0.677307 +44 4.500000 -0.127425 0.456197 +45 4.600000 -0.163437 0.264042 +46 4.700000 -0.182543 0.118085 +47 4.800000 -0.189509 0.021245 +48 4.900000 -0.188888 -0.033669 +49 5.000000 -0.184217 -0.059749 +50 5.100000 -0.177641 -0.071775 +51 5.200000 -0.169950 -0.082049 +52 5.300000 -0.160975 -0.097456 +53 5.400000 -0.150120 -0.119628 +54 5.500000 -0.136822 -0.146341 +55 5.600000 -0.120858 -0.172947 +56 5.700000 -0.102520 -0.193814 +57 5.800000 -0.082640 -0.203767 +58 5.900000 -0.062477 -0.199506 +59 6.000000 -0.043474 -0.180545 +60 6.100000 -0.027000 -0.148938 +61 6.200000 -0.014127 -0.108528 +62 6.300000 -0.005492 -0.064166 +63 6.400000 -0.001236 -0.020947 +64 6.500000 -0.001018 0.016568 +65 6.600000 -0.004102 0.045115 +66 6.700000 -0.009519 0.063226 +67 6.800000 -0.016234 0.071075 +68 6.900000 -0.023290 0.070057 +69 7.000000 -0.029911 0.062359 +70 7.100000 -0.035556 0.050535 +71 7.200000 -0.039936 0.037071 +72 7.300000 -0.042988 0.023970 +73 7.400000 -0.044809 0.012454 +74 7.500000 -0.045583 0.003015 +75 7.600000 -0.045513 -0.004408 +76 7.700000 -0.044781 -0.010247 +77 7.800000 -0.043512 -0.015116 +78 7.900000 -0.041775 -0.019629 +79 8.000000 -0.039583 -0.024222 +80 8.100000 -0.036920 -0.029021 +81 8.200000 -0.033776 -0.033875 +82 8.300000 -0.030160 -0.038432 +83 8.400000 -0.026127 -0.042229 +84 8.500000 -0.021777 -0.044771 +85 8.600000 -0.017258 -0.045619 +86 8.700000 -0.012753 -0.044474 +87 8.800000 -0.008467 -0.041238 +88 8.900000 -0.004605 -0.036018 +89 9.000000 -0.001348 -0.029110 +90 9.100000 0.001156 -0.020984 +91 9.200000 0.002819 -0.012263 +92 9.300000 0.003617 -0.003704 +93 9.400000 0.003612 0.003815 +94 9.500000 0.002953 0.009355 +95 9.600000 0.001882 0.012057 +96 9.700000 0.000714 0.011317 +97 9.800000 -0.000201 0.006972 +98 9.900000 -0.000523 -0.000527 +99 10.000000 0.000000 -0.009931 diff --git a/examples/mscg/output_16Mar23/b-spline.out b/examples/mscg/output_16Mar23/b-spline.out new file mode 100644 index 0000000000..8571ede9b7 --- /dev/null +++ b/examples/mscg/output_16Mar23/b-spline.out @@ -0,0 +1,2 @@ +n: 1 1 6 11 3.000000000000000e+00 1.000000000000000e+01 +9.109454054135307e+00 6.178334150703818e+00 -6.242976259059743e+00 4.778144787445235e+00 -1.082885612852992e+00 4.521835893850554e-01 -6.477047196208028e-01 2.947887062333265e-01 -4.195609079009661e-02 1.111775827831465e-02 -8.823466147380592e-02 -1.696076806027540e-02 3.192205281984208e-02 3.656991607866288e-03 -9.931306149957592e-03 diff --git a/examples/mscg/output_9Jan17/rmin.in b/examples/mscg/output_16Mar23/rmin.in similarity index 100% rename from examples/mscg/output_9Jan17/rmin.in rename to examples/mscg/output_16Mar23/rmin.in diff --git a/examples/mscg/output_9Jan17/rmin_b.in b/examples/mscg/output_16Mar23/rmin_b.in similarity index 100% rename from examples/mscg/output_9Jan17/rmin_b.in rename to examples/mscg/output_16Mar23/rmin_b.in diff --git a/examples/mscg/output_16Mar23/sol_info.out b/examples/mscg/output_16Mar23/sol_info.out new file mode 100644 index 0000000000..eb4460f9ce --- /dev/null +++ b/examples/mscg/output_16Mar23/sol_info.out @@ -0,0 +1,17 @@ +fm_matrix_rows:3000; fm_matrix_columns:15; +Singular vector: +2.307693e+00 +1.998418e+00 +1.400114e+00 +1.183608e+00 +9.718949e-01 +7.471241e-01 +5.277965e-01 +5.084369e-01 +3.510398e-01 +2.997000e-01 +2.142454e-01 +1.201800e-01 +7.143923e-02 +3.077326e-02 +1.835581e-02 diff --git a/examples/mscg/output_16Mar23/x.out b/examples/mscg/output_16Mar23/x.out new file mode 100644 index 0000000000..d9ae514466 --- /dev/null +++ b/examples/mscg/output_16Mar23/x.out @@ -0,0 +1,2 @@ +ýÙ\ +8"@Ÿ!D:¶@Îv¹ÄÎøÀH…¶üÑ@H3HÝSñ¿Ô– p“ðÜ??ÿ¹ä¿€% sÑÝÒ?:yŸËD{¥¿Œz®AèĆ?#Tgù‹–¶¿l#‰à)^‘¿ÂÊÃYX ?KçpkDõm?ª ÷XÝV„¿ \ No newline at end of file diff --git a/examples/mscg/output_9Jan17/1_1.dat b/examples/mscg/output_9Jan17/1_1.dat deleted file mode 100644 index fcfbe0d7c8..0000000000 --- a/examples/mscg/output_9Jan17/1_1.dat +++ /dev/null @@ -1,77 +0,0 @@ -2.500000 5.670970817963099e+02 -2.600000 2.404059283529051e+02 -2.700000 9.157060823529977e+01 -2.800000 3.428273061369140e+01 -2.900000 1.619868149395266e+01 -3.000000 1.039607214301755e+01 -3.100000 6.830187514267188e+00 -3.200000 3.861970842349535e+00 -3.300000 1.645948643278161e+00 -3.400000 2.395428971623918e-01 -3.500000 -4.276763637833773e-01 -3.600000 -5.132022977965877e-01 -3.700000 -2.208024961234051e-01 -3.800000 2.402697744243800e-01 -3.900000 6.956064296165573e-01 -4.000000 1.034070044257954e+00 -4.100000 1.205997975111669e+00 -4.200000 1.209501102128581e+00 -4.300000 1.076304670380924e+00 -4.400000 8.575891319958883e-01 -4.500000 6.098309880892070e-01 -4.600000 3.807992942746473e-01 -4.700000 1.995994191469442e-01 -4.800000 7.699059877424269e-02 -4.900000 9.750744163981299e-03 -5.000000 -1.480308769532222e-02 -5.100000 -1.429422279228416e-02 -5.200000 -6.765899050869768e-03 -5.300000 -6.214398421078919e-03 -5.400000 -1.951586041390797e-02 -5.500000 -4.689090237947263e-02 -5.600000 -8.376292122940529e-02 -5.700000 -1.226699982917263e-01 -5.800000 -1.551768041657136e-01 -5.900000 -1.737865035767736e-01 -6.000000 -1.738272491408507e-01 -6.100000 -1.546779867768825e-01 -6.200000 -1.193171291488982e-01 -6.300000 -7.321054075616322e-02 -6.400000 -2.317411193286228e-02 -6.500000 2.376366715221714e-02 -6.600000 6.149913249600215e-02 -6.700000 8.597538938112201e-02 -6.800000 9.590170060736655e-02 -6.900000 9.245100462148878e-02 -7.000000 7.855487875847664e-02 -7.100000 5.818301960249692e-02 -7.200000 3.562272334783877e-02 -7.300000 1.475836615985744e-02 -7.400000 -1.639617536128255e-03 -7.500000 -1.237881063914745e-02 -7.600000 -1.768202571195587e-02 -7.700000 -1.877757119362295e-02 -7.800000 -1.748001968416543e-02 -7.900000 -1.577097622918088e-02 -8.000000 -1.537984660448136e-02 -8.100000 -1.737044400054951e-02 -8.200000 -2.187939410237979e-02 -8.300000 -2.823987455760605e-02 -8.400000 -3.525715284001425e-02 -8.500000 -4.148996251287761e-02 -8.600000 -4.553187949229211e-02 -8.700000 -4.629269831051163e-02 -8.800000 -4.327548798226762e-02 -8.900000 -3.674131754868225e-02 -9.000000 -2.758883541814894e-02 -9.100000 -1.712151838480657e-02 -9.200000 -6.810600249997737e-03 -9.300000 1.941999556272785e-03 -9.400000 8.040747353879739e-03 -9.500000 1.092691524686838e-02 -9.600000 1.063606620723048e-02 -9.700000 7.416550438142138e-03 -9.800000 1.175066786686231e-03 -9.900000 -9.084427187675534e-03 -10.000000 -2.582180514463068e-02 -10.100000 -5.352186189454393e-02 diff --git a/examples/mscg/output_9Jan17/1_1.table b/examples/mscg/output_9Jan17/1_1.table deleted file mode 100644 index 9d78fabc77..0000000000 --- a/examples/mscg/output_9Jan17/1_1.table +++ /dev/null @@ -1,82 +0,0 @@ -# Header information on force file - -1_1 -N 77 R 2.500000 10.100000 - -1 2.500000 69.428523 567.097082 -2 2.600000 29.053372 240.405928 -3 2.700000 12.454545 91.570608 -4 2.800000 6.161878 34.282731 -5 2.900000 3.637808 16.198681 -6 3.000000 2.308070 10.396072 -7 3.100000 1.446757 6.830188 -8 3.200000 0.912149 3.861971 -9 3.300000 0.636753 1.645949 -10 3.400000 0.542478 0.239543 -11 3.500000 0.551885 -0.427676 -12 3.600000 0.598929 -0.513202 -13 3.700000 0.635629 -0.220802 -14 3.800000 0.634656 0.240270 -15 3.900000 0.587862 0.695606 -16 4.000000 0.501378 1.034070 -17 4.100000 0.389375 1.205998 -18 4.200000 0.268600 1.209501 -19 4.300000 0.154310 1.076305 -20 4.400000 0.057615 0.857589 -21 4.500000 -0.015756 0.609831 -22 4.600000 -0.065288 0.380799 -23 4.700000 -0.094307 0.199599 -24 4.800000 -0.108137 0.076991 -25 4.900000 -0.112474 0.009751 -26 5.000000 -0.112221 -0.014803 -27 5.100000 -0.110767 -0.014294 -28 5.200000 -0.109714 -0.006766 -29 5.300000 -0.109065 -0.006214 -30 5.400000 -0.107778 -0.019516 -31 5.500000 -0.104458 -0.046891 -32 5.600000 -0.097925 -0.083763 -33 5.700000 -0.087603 -0.122670 -34 5.800000 -0.073711 -0.155177 -35 5.900000 -0.057263 -0.173787 -36 6.000000 -0.039882 -0.173827 -37 6.100000 -0.023457 -0.154678 -38 6.200000 -0.009757 -0.119317 -39 6.300000 -0.000131 -0.073211 -40 6.400000 0.004688 -0.023174 -41 6.500000 0.004659 0.023764 -42 6.600000 0.000396 0.061499 -43 6.700000 -0.006978 0.085975 -44 6.800000 -0.016072 0.095902 -45 6.900000 -0.025489 0.092451 -46 7.000000 -0.034040 0.078555 -47 7.100000 -0.040877 0.058183 -48 7.200000 -0.045567 0.035623 -49 7.300000 -0.048086 0.014758 -50 7.400000 -0.048742 -0.001640 -51 7.500000 -0.048041 -0.012379 -52 7.600000 -0.046538 -0.017682 -53 7.700000 -0.044715 -0.018778 -54 7.800000 -0.042902 -0.017480 -55 7.900000 -0.041239 -0.015771 -56 8.000000 -0.039682 -0.015380 -57 8.100000 -0.038044 -0.017370 -58 8.200000 -0.036082 -0.021879 -59 8.300000 -0.033576 -0.028240 -60 8.400000 -0.030401 -0.035257 -61 8.500000 -0.026564 -0.041490 -62 8.600000 -0.022213 -0.045532 -63 8.700000 -0.017621 -0.046293 -64 8.800000 -0.013143 -0.043275 -65 8.900000 -0.009142 -0.036741 -66 9.000000 -0.005926 -0.027589 -67 9.100000 -0.003690 -0.017122 -68 9.200000 -0.002494 -0.006811 -69 9.300000 -0.002250 0.001942 -70 9.400000 -0.002749 0.008041 -71 9.500000 -0.003698 0.010927 -72 9.600000 -0.004776 0.010636 -73 9.700000 -0.005678 0.007417 -74 9.800000 -0.006108 0.001175 -75 9.900000 -0.005712 -0.009084 -76 10.000000 -0.003967 -0.025822 -77 10.100000 0.000000 -0.053522 diff --git a/examples/mscg/output_9Jan17/b-spline.out b/examples/mscg/output_9Jan17/b-spline.out deleted file mode 100644 index c1dcd731ca..0000000000 --- a/examples/mscg/output_9Jan17/b-spline.out +++ /dev/null @@ -1,2 +0,0 @@ -n: 1 1 6 12 2.400000000000002e+00 1.010000000000000e+01 -1.200460787805587e+03 2.169623423326193e+01 2.388396964379328e+01 -1.197754948555067e+01 6.472482422420378e+00 -1.483711824891365e+00 7.768139601662113e-01 -7.869494711740244e-01 4.830820182054661e-01 -1.892989444995645e-01 1.021275453070386e-01 -1.637649039972671e-01 5.570978712841167e-02 7.637188693695119e-03 -4.109175461195019e-03 -5.352186189455146e-02 diff --git a/examples/mscg/output_9Jan17/sol_info.out b/examples/mscg/output_9Jan17/sol_info.out deleted file mode 100644 index 5f02270f51..0000000000 --- a/examples/mscg/output_9Jan17/sol_info.out +++ /dev/null @@ -1,18 +0,0 @@ -fm_matrix_rows:3000; fm_matrix_columns:16; -Singular vector: -2.442317e+00 -2.105009e+00 -1.433251e+00 -1.184602e+00 -9.739627e-01 -6.944898e-01 -5.376709e-01 -4.616070e-01 -3.257062e-01 -2.683729e-01 -1.530153e-01 -9.336288e-02 -5.042150e-02 -2.126912e-02 -1.446682e-02 -4.167763e-05 diff --git a/examples/mscg/output_9Jan17/x.out b/examples/mscg/output_9Jan17/x.out deleted file mode 100644 index 124cf8bf41..0000000000 --- a/examples/mscg/output_9Jan17/x.out +++ /dev/null @@ -1 +0,0 @@ -‘-ÂØ×Á’@47h<²5@¸¿¦ÕKâ7@ÑR½]ô'Àéë nÒã@ÝŒIœH½÷¿¯?ó¨Ûè?r€I¨°.鿚^×ÐêÞ?Wå£ò:È¿(Oã%º?ËNs•?öÄ¿:‘Cþ…¬?ËÃ:,H?à}‚cÈÔp¿£ê¬7g«¿ \ No newline at end of file From f63befc80f33819fc2ce4395e2c1d2a658396867 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 16 Mar 2023 10:29:00 -0400 Subject: [PATCH 335/448] consolidate replicated commands to single location --- cmake/Modules/Packages/GPU.cmake | 24 ++++++------------------ 1 file changed, 6 insertions(+), 18 deletions(-) diff --git a/cmake/Modules/Packages/GPU.cmake b/cmake/Modules/Packages/GPU.cmake index a0578394f1..034c4b3a9f 100644 --- a/cmake/Modules/Packages/GPU.cmake +++ b/cmake/Modules/Packages/GPU.cmake @@ -176,12 +176,6 @@ if(GPU_API STREQUAL "CUDA") target_include_directories(gpu PRIVATE ${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini) target_compile_definitions(gpu PRIVATE -DUSE_CUDPP) endif() - if(BUILD_OMP) - find_package(OpenMP COMPONENTS CXX REQUIRED) - target_link_libraries(gpu PRIVATE OpenMP::OpenMP_CXX) - endif() - - target_link_libraries(lammps PRIVATE gpu) add_executable(nvc_get_devices ${LAMMPS_LIB_SOURCE_DIR}/gpu/geryon/ucl_get_devices.cpp) target_compile_definitions(nvc_get_devices PRIVATE -DUCL_CUDADR) @@ -255,12 +249,6 @@ elseif(GPU_API STREQUAL "OPENCL") else() target_compile_definitions(gpu PRIVATE -DMPI_GERYON -DGERYON_NUMA_FISSION -DUCL_NO_EXIT) endif() - if(BUILD_OMP) - find_package(OpenMP COMPONENTS CXX REQUIRED) - target_link_libraries(gpu PRIVATE OpenMP::OpenMP_CXX) - endif() - - target_link_libraries(lammps PRIVATE gpu) add_executable(ocl_get_devices ${LAMMPS_LIB_SOURCE_DIR}/gpu/geryon/ucl_get_devices.cpp) target_compile_definitions(ocl_get_devices PRIVATE -DUCL_OPENCL) @@ -417,10 +405,6 @@ elseif(GPU_API STREQUAL "HIP") target_compile_definitions(gpu PRIVATE -DMPI_GERYON -DUCL_NO_EXIT) endif() target_link_libraries(gpu PRIVATE hip::host) - if(BUILD_OMP) - find_package(OpenMP COMPONENTS CXX REQUIRED) - target_link_libraries(gpu PRIVATE OpenMP::OpenMP_CXX) - endif() if(HIP_USE_DEVICE_SORT) if(HIP_PLATFORM STREQUAL "amd") @@ -489,10 +473,14 @@ elseif(GPU_API STREQUAL "HIP") target_include_directories(hip_get_devices PRIVATE ${CUDA_INCLUDE_DIRS}) target_link_libraries(hip_get_devices PRIVATE ${CUDA_LIBRARIES} ${CUDA_CUDA_LIBRARY}) endif() - - target_link_libraries(lammps PRIVATE gpu) endif() +if(BUILD_OMP) + find_package(OpenMP COMPONENTS CXX REQUIRED) + target_link_libraries(gpu PRIVATE OpenMP::OpenMP_CXX) +endif() +target_link_libraries(lammps PRIVATE gpu) + set_property(GLOBAL PROPERTY "GPU_SOURCES" "${GPU_SOURCES}") # detect styles which have a GPU version RegisterStylesExt(${GPU_SOURCES_DIR} gpu GPU_SOURCES) From d71a78449a0b66b6fa1252aea2ea73e273a15426 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 16 Mar 2023 12:29:51 -0400 Subject: [PATCH 336/448] fix two bugs in the ndx2group command --- src/COLVARS/ndx_group.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/COLVARS/ndx_group.cpp b/src/COLVARS/ndx_group.cpp index 4f8a682a2a..1d24db3900 100644 --- a/src/COLVARS/ndx_group.cpp +++ b/src/COLVARS/ndx_group.cpp @@ -81,6 +81,8 @@ void Ndx2Group::command(int narg, char **arg) if (narg < 1) error->all(FLERR,"Illegal ndx2group command"); if (atom->tag_enable == 0) error->all(FLERR,"Must have atom IDs for ndx2group command"); + if (atom->map_style == Atom::MAP_NONE) + error->all(FLERR,"Must have an atom map for ndx2group command"); if (comm->me == 0) { fp = fopen(arg[0], "r"); if (fp == nullptr) @@ -153,11 +155,12 @@ void Ndx2Group::command(int narg, char **arg) MPI_Bcast((void *)name.c_str(),len,MPI_CHAR,0,world); // read tags for atoms in group and broadcast - std::vector tags = read_section(fp,name); + std::vector tags = read_section(fp,next); num = tags.size(); MPI_Bcast(&num,1,MPI_LMP_BIGINT,0,world); MPI_Bcast((void *)tags.data(),num,MPI_LMP_TAGINT,0,world); create(name,tags); + name = next; } } else { MPI_Bcast(&len,1,MPI_INT,0,world); From feb1b9e029a170a7fe4b7f7edb1b95fd1ad5e0aa Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 16 Mar 2023 12:55:30 -0400 Subject: [PATCH 337/448] fix whitespace --- src/improper.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/improper.h b/src/improper.h index fbe86dfcd1..22a5d09926 100644 --- a/src/improper.h +++ b/src/improper.h @@ -36,11 +36,11 @@ class Improper : protected Pointers { // CENTROID_SAME = same as two-body stress // CENTROID_AVAIL = different and implemented // CENTROID_NOTAVAIL = different, not yet implemented - + int symmatoms[4]; // symmetry atom(s) of improper style // value of 0: interchangable atoms // value of 1: central atom - // values >1: additional atoms of symmetry + // values >1: additional atoms of symmetry // KOKKOS host/device flag and data masks From 4a66389bf1110e5687631121877d867a9e458dd7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 16 Mar 2023 16:29:42 -0400 Subject: [PATCH 338/448] purge build folder from within install.py script --- cmake/CMakeLists.txt | 3 +-- python/install.py | 4 ++++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 5a30cd5aa5..14961209c8 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -841,8 +841,7 @@ if(BUILD_SHARED_LIBS) set(LIBLAMMPS_SHARED_BINARY ${MY_BUILD_DIR}/liblammps${LAMMPS_MACHINE}${CMAKE_SHARED_LIBRARY_SUFFIX}) if(Python_EXECUTABLE) add_custom_target( - install-python ${CMAKE_COMMAND} -E remove_directory build - COMMAND ${Python_EXECUTABLE} ${LAMMPS_PYTHON_DIR}/install.py -p ${LAMMPS_PYTHON_DIR}/lammps + install-python ${Python_EXECUTABLE} ${LAMMPS_PYTHON_DIR}/install.py -p ${LAMMPS_PYTHON_DIR}/lammps -l ${LIBLAMMPS_SHARED_BINARY} -w ${MY_BUILD_DIR} COMMENT "Installing LAMMPS Python module") else() diff --git a/python/install.py b/python/install.py index 591e8525dc..561e93caa9 100644 --- a/python/install.py +++ b/python/install.py @@ -59,6 +59,10 @@ olddir = os.path.abspath('.') os.chdir(os.path.dirname(args.package)) # remove any wheel files left over from previous calls +if os.path.isdir(os.path.join(olddir,"build")): + print("Cleaning old build directory") + shutil.rmtree(os.path.join(olddir,"build")) + print("Purging existing wheels...") for wheel in glob.glob('lammps-*.whl'): print("deleting " + wheel) From 120f5cf7f120f4aa30c677ddaef1cee77129dc9d Mon Sep 17 00:00:00 2001 From: jtclemm Date: Thu, 16 Mar 2023 15:20:18 -0600 Subject: [PATCH 339/448] Minor patches to BPM, multi, and rigid --- doc/src/bond_bpm_rotational.rst | 9 ++++++++- doc/src/bond_bpm_spring.rst | 28 ++++++++++++++++++-------- doc/src/comm_modify.rst | 1 + doc/src/neighbor.rst | 21 +++++++++++++++----- src/BPM/bond_bpm.cpp | 16 ++++++++++----- src/BPM/bond_bpm.h | 2 +- src/RIGID/fix_rigid.cpp | 34 +++++++++++++++++--------------- src/fix_update_special_bonds.cpp | 3 +++ src/neighbor.cpp | 10 ++++++++++ 9 files changed, 88 insertions(+), 36 deletions(-) diff --git a/doc/src/bond_bpm_rotational.rst b/doc/src/bond_bpm_rotational.rst index bc2f383828..0975fb35f6 100644 --- a/doc/src/bond_bpm_rotational.rst +++ b/doc/src/bond_bpm_rotational.rst @@ -10,7 +10,7 @@ Syntax bond_style bpm/rotational keyword value attribute1 attribute2 ... -* optional keyword = *overlay/pair* or *store/local* or *smooth* +* optional keyword = *overlay/pair* or *store/local* or *smooth* or *break/no* .. parsed-literal:: @@ -30,6 +30,9 @@ Syntax *smooth* value = *yes* or *no* smooths bond forces near the breaking point + *break/no* + indicates that bonds should not break during a run + Examples """""""" @@ -138,6 +141,10 @@ the *overlay/pair* keyword. These settings require specific restrictions. Further details can be found in the `:doc: how to ` page on BPMs. +If the *break/no* keyword is used, then LAMMPS assumes bonds should not break +during a simulation run. This will prevent some unnecessary calculation. +However, if a bond does break, it will trigger an error. + If the *store/local* keyword is used, an internal fix will track bonds that break during the simulation. Whenever a bond breaks, data is processed and transferred to an internal fix labeled *fix_ID*. This allows the diff --git a/doc/src/bond_bpm_spring.rst b/doc/src/bond_bpm_spring.rst index de31357afe..fe5c63216d 100644 --- a/doc/src/bond_bpm_spring.rst +++ b/doc/src/bond_bpm_spring.rst @@ -10,7 +10,7 @@ Syntax bond_style bpm/spring keyword value attribute1 attribute2 ... -* optional keyword = *overlay/pair* or *store/local* or *smooth* +* optional keyword = *overlay/pair* or *store/local* or *smooth* or *break/no* .. parsed-literal:: @@ -30,6 +30,9 @@ Syntax *smooth* value = *yes* or *no* smooths bond forces near the breaking point + *break/no* + indicates that bonds should not break during a run + Examples """""""" @@ -45,16 +48,17 @@ Examples Description """"""""""" -The *bpm/spring* bond style computes forces and torques based on -deviations from the initial reference state of the two atoms. The -reference state is stored by each bond when it is first computed in -the setup of a run. Data is then preserved across run commands and is -written to :doc:`binary restart files ` such that restarting -the system will not reset the reference state of a bond. +The *bpm/spring* bond style computes forces based on deviations from +the initial reference state of the two atoms. The reference state is +stored by each bond when it is first computed in the setup of a run. +Data is then preserved across run commands and is written to +:doc:`binary restart files ` such that restarting the system +will not reset the reference state of a bond. This bond style only applies central-body forces which conserve the translational and rotational degrees of freedom of a bonded set of -particles. The force has a magnitude of +particles based on a model described by Clemmer and Robbins +:ref:`(Clemmer) `. The force has a magnitude of .. math:: @@ -103,6 +107,10 @@ the *overlay/pair* keyword. These settings require specific restrictions. Further details can be found in the `:doc: how to ` page on BPMs. +If the *break/no* keyword is used, then LAMMPS assumes bonds should not break +during a simulation run. This will prevent some unnecessary calculation. +However, if a bond does break, it will trigger an error. + If the *store/local* keyword is used, an internal fix will track bonds that break during the simulation. Whenever a bond breaks, data is processed and transferred to an internal fix labeled *fix_ID*. This allows the @@ -198,6 +206,10 @@ The option defaults are *smooth* = *yes* ---------- +.. _fragment-Clemmer: + +**(Clemmer)** Clemmer and Robbins, Phys. Rev. Lett. (2022). + .. _Groot4: **(Groot)** Groot and Warren, J Chem Phys, 107, 4423-35 (1997). diff --git a/doc/src/comm_modify.rst b/doc/src/comm_modify.rst index d0526b792b..14f55378c2 100644 --- a/doc/src/comm_modify.rst +++ b/doc/src/comm_modify.rst @@ -69,6 +69,7 @@ For many systems this is an efficient algorithm, but for systems with widely varying cutoffs for different type pairs, the *multi* or *multi/old* mode can be faster. In *multi*, each atom is assigned to a collection which should correspond to a set of atoms with similar interaction cutoffs. +See the :doc:`neighbor ` command for a detailed description of collections. In this case, each atom collection is assigned its own distance cutoff for communication purposes, and fewer atoms will be communicated. in *multi/old*, a similar technique is used but atoms diff --git a/doc/src/neighbor.rst b/doc/src/neighbor.rst index 663170ef47..bf9a13923c 100644 --- a/doc/src/neighbor.rst +++ b/doc/src/neighbor.rst @@ -59,9 +59,16 @@ long cutoff, but other type pairs have a much shorter cutoff. The sized particles, where "size" may mean the physical size of the particle or its cutoff distance for interacting with other particles. Different sets of bins are then used to construct the neighbor lists as as further -described by Shire, Hanley, and Stratford :ref:`(Shire) `. -This imposes some extra setup overhead, but the searches themselves may -be much faster. By default, each atom type defines a separate collection +described by Shire, Hanley, and Stratford :ref:`(Shire) ` +and Monti et al. :ref:`(Monti) `. This imposes some extra +setup overhead, but the searches themselves may be much faster. For +instance in a dense binary system with a ratio of the size of the largest +to smallest collection bin :math:`\lamda`, the computational costs of +building a default neighbor list grows as :math:`\lamda^6` while the costs +for *multi* grows as :math:`\lamda^3`, equivalent to the cost of force +evaluations, as identified in Monti et al. :ref:`(Monti) `. + +By default in *multi*, each atom type defines a separate collection of particles. For systems where two or more atom types have the same size (either physical size or cutoff distance), the definition of collections can be customized, which can result in less overhead and @@ -118,6 +125,10 @@ Default ---------- -.. _bytype-Shire: +.. _multi-Shire: -**(Shire)** Shire, Hanley and Stratford, Comp Part Mech, (2020). +**(Shire)** Shire, Hanley and Stratford, Comp. Part. Mech., (2020). + +.. _multi-Monti: + +**(Monti)** Monti, Clemmer, Srivastava, Silbert, Grest, and Lechman, Phys. Rev. E, (2022). diff --git a/src/BPM/bond_bpm.cpp b/src/BPM/bond_bpm.cpp index 5a20059860..724ec0a7bc 100644 --- a/src/BPM/bond_bpm.cpp +++ b/src/BPM/bond_bpm.cpp @@ -39,6 +39,7 @@ BondBPM::BondBPM(LAMMPS *_lmp) : { overlay_flag = 0; prop_atom_flag = 0; + break_flag = 1; nvalues = 0; r0_max_estimate = 0.0; @@ -103,21 +104,21 @@ void BondBPM::init_style() } } else { // Require atoms know about all of their bonds and if they break - if (force->newton_bond) - error->all(FLERR, "Without overlay/pair, BPM bond styles require Newton bond off"); + if (force->newton_bond && break_flag) + error->all(FLERR, "Without overlay/pair or break/no, BPM bond styles require Newton bond off"); // special lj must be 0 1 1 to censor pair forces between bonded particles // special coulomb must be 1 1 1 to ensure all pairs are included in the // neighbor list and 1-3 and 1-4 special bond lists are skipped if (force->special_lj[1] != 0.0 || force->special_lj[2] != 1.0 || force->special_lj[3] != 1.0) error->all(FLERR, - "Without overlay/pair, BPM bond sytles requires special LJ weights = 0,1,1"); + "Without overlay/pair, BPM bond styles requires special LJ weights = 0,1,1"); if (force->special_coul[1] != 1.0 || force->special_coul[2] != 1.0 || force->special_coul[3] != 1.0) error->all(FLERR, - "Without overlay/pair, BPM bond sytles requires special Coulomb weights = 1,1,1"); + "Without overlay/pair, BPM bond styles requires special Coulomb weights = 1,1,1"); - if (id_fix_dummy) { + if (id_fix_dummy && break_flag) { id_fix_update = utils::strdup("BPM_UPDATE_SPECIAL_BONDS"); fix_update_special_bonds = dynamic_cast(modify->replace_fix( id_fix_dummy, fmt::format("{} all UPDATE_SPECIAL_BONDS", id_fix_update), 1)); @@ -187,6 +188,9 @@ void BondBPM::settings(int narg, char **arg) } else if (strcmp(arg[iarg], "overlay/pair") == 0) { overlay_flag = 1; iarg++; + } else if (strcmp(arg[iarg], "break/no") == 0) { + break_flag = 0; + iarg++; } else { leftover_iarg.push_back(iarg); iarg++; @@ -328,6 +332,8 @@ void BondBPM::read_restart(FILE *fp) void BondBPM::process_broken(int i, int j) { + if (break_flag) + error->one(FLERR, "BPM bond broke with break/no option"); if (fix_store_local) { for (int n = 0; n < nvalues; n++) (this->*pack_choice[n])(n, i, j); diff --git a/src/BPM/bond_bpm.h b/src/BPM/bond_bpm.h index 7a32ec2d0d..470307add1 100644 --- a/src/BPM/bond_bpm.h +++ b/src/BPM/bond_bpm.h @@ -52,7 +52,7 @@ class BondBPM : public Bond { FnPtrPack *pack_choice; // ptrs to pack functions double *output_data; - int prop_atom_flag, nvalues, overlay_flag; + int prop_atom_flag, nvalues, overlay_flag, break_flag; int index_x_ref, index_y_ref, index_z_ref; void pack_id1(int, int, int); diff --git a/src/RIGID/fix_rigid.cpp b/src/RIGID/fix_rigid.cpp index f0bcf630b7..caae812468 100644 --- a/src/RIGID/fix_rigid.cpp +++ b/src/RIGID/fix_rigid.cpp @@ -2523,9 +2523,17 @@ int FixRigid::pack_exchange(int i, double *buf) buf[2] = displace[i][0]; buf[3] = displace[i][1]; buf[4] = displace[i][2]; - if (!extended) return 5; + + // must also pack vatom if per-atom virial calculated on this timestep + // since vatom is calculated before and after atom migration int m = 5; + if (vflag_atom) + for (int k = 0; k < 6; k++) + buf[m++] = vatom[i][k]; + + if (!extended) return m; + buf[m++] = eflags[i]; for (int j = 0; j < orientflag; j++) buf[m++] = orient[i][j]; @@ -2535,13 +2543,6 @@ int FixRigid::pack_exchange(int i, double *buf) buf[m++] = dorient[i][2]; } - // must also pack vatom if per-atom virial calculated on this timestep - // since vatom is calculated before and after atom migration - - if (vflag_atom) - for (int k = 0; k < 6; k++) - buf[m++] = vatom[i][k]; - return m; } @@ -2556,9 +2557,17 @@ int FixRigid::unpack_exchange(int nlocal, double *buf) displace[nlocal][0] = buf[2]; displace[nlocal][1] = buf[3]; displace[nlocal][2] = buf[4]; - if (!extended) return 5; + + // must also unpack vatom if per-atom virial calculated on this timestep + // since vatom is calculated before and after atom migration int m = 5; + if (vflag_atom) + for (int k = 0; k < 6; k++) + vatom[nlocal][k] = buf[m++]; + + if (!extended) return m; + eflags[nlocal] = static_cast (buf[m++]); for (int j = 0; j < orientflag; j++) orient[nlocal][j] = buf[m++]; @@ -2568,13 +2577,6 @@ int FixRigid::unpack_exchange(int nlocal, double *buf) dorient[nlocal][2] = buf[m++]; } - // must also unpack vatom if per-atom virial calculated on this timestep - // since vatom is calculated before and after atom migration - - if (vflag_atom) - for (int k = 0; k < 6; k++) - vatom[nlocal][k] = buf[m++]; - return m; } diff --git a/src/fix_update_special_bonds.cpp b/src/fix_update_special_bonds.cpp index 581918dbd3..9ffd84c7de 100644 --- a/src/fix_update_special_bonds.cpp +++ b/src/fix_update_special_bonds.cpp @@ -73,6 +73,9 @@ void FixUpdateSpecialBonds::setup(int /*vflag*/) force->special_coul[3] != 1.0) error->all(FLERR, "Fix update/special/bonds requires special Coulomb weights = 1,1,1"); // Implies neighbor->special_flag = [X, 2, 1, 1] + + if (utils::strmatch(force->pair_style, "^hybrid")) + error->all(FLERR, "Cannot use fix update/special/bonds with hybrid pair styles"); } /* ---------------------------------------------------------------------- diff --git a/src/neighbor.cpp b/src/neighbor.cpp index 298ec29994..6696971e7d 100644 --- a/src/neighbor.cpp +++ b/src/neighbor.cpp @@ -95,6 +95,16 @@ static const char cite_neigh_multi[] = " Detection Applied to Investigate the Quasi-Static Limit},\n" " journal = {Computational Particle Mechanics},\n" " year = {2020}\n" + "@article{Monti2022,\n" + " author = {Monti, Joseph M. and Clemmer, Joel T. and Srivastava, \n" + " Ishan and Silbert, Leonardo E. and Grest, Gary S. \n" + " and Lechman, Jeremy B.},\n" + " title = {Large-scale frictionless jamming with power-law particle \n" + " size distributions},\n" + " journal = {Phys. Rev. E},\n" + " volume = {106}\n" + " issue = {3}\n" + " year = {2022}\n" "}\n\n"; // template for factory functions: From d3a23817f14e5b83741332f983df3c792495f894 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 16 Mar 2023 17:25:11 -0400 Subject: [PATCH 340/448] disable purging old wheel files --- python/install.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/python/install.py b/python/install.py index 561e93caa9..6c27ebd0bd 100644 --- a/python/install.py +++ b/python/install.py @@ -63,10 +63,10 @@ if os.path.isdir(os.path.join(olddir,"build")): print("Cleaning old build directory") shutil.rmtree(os.path.join(olddir,"build")) -print("Purging existing wheels...") -for wheel in glob.glob('lammps-*.whl'): - print("deleting " + wheel) - os.remove(wheel) +#print("Purging existing wheels...") +#for wheel in glob.glob('lammps-*.whl'): +# print("deleting " + wheel) +# os.remove(wheel) # copy shared object to the current folder so that # it will show up in the installation at the expected location From f1539d0ef52f9f0644a8b8258135f5980adeb821 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 16 Mar 2023 17:53:58 -0400 Subject: [PATCH 341/448] silence compiler warnings --- src/GRANULAR/fix_heat_flow.cpp | 16 +++++----------- src/GRANULAR/fix_wall_gran.cpp | 2 +- src/GRANULAR/fix_wall_gran_region.cpp | 2 +- src/GRANULAR/gran_sub_mod_tangential.cpp | 3 +-- src/GRANULAR/pair_granular.cpp | 4 +--- 5 files changed, 9 insertions(+), 18 deletions(-) diff --git a/src/GRANULAR/fix_heat_flow.cpp b/src/GRANULAR/fix_heat_flow.cpp index f9ad309f98..a9c110a2e7 100644 --- a/src/GRANULAR/fix_heat_flow.cpp +++ b/src/GRANULAR/fix_heat_flow.cpp @@ -156,7 +156,7 @@ void FixHeatFlow::final_integrate() /* ---------------------------------------------------------------------- */ -void FixHeatFlow::final_integrate_respa(int ilevel, int /*iloop*/) +void FixHeatFlow::final_integrate_respa(int /*ilevel*/, int /*iloop*/) { dt = update->dt; final_integrate(); @@ -215,13 +215,11 @@ void FixHeatFlow::unpack_forward_comm(int n, int first, double *buf) int FixHeatFlow::pack_reverse_comm(int n, int first, double *buf) { - int i,k,last; - int m = 0; - last = first + n; + int last = first + n; double *heatflow = atom->heatflow; - for (i = first; i < last; i++) { + for (int i = first; i < last; i++) { buf[m++] = heatflow[i]; } @@ -232,13 +230,9 @@ int FixHeatFlow::pack_reverse_comm(int n, int first, double *buf) void FixHeatFlow::unpack_reverse_comm(int n, int *list, double *buf) { - int i,j,k,kk,ncount; - int m = 0; double *heatflow = atom->heatflow; - for (i = 0; i < n; i++) { - j = list[i]; - heatflow[j] += buf[m++]; - } + for (int i = 0; i < n; i++) + heatflow[list[i]] += buf[m++]; } diff --git a/src/GRANULAR/fix_wall_gran.cpp b/src/GRANULAR/fix_wall_gran.cpp index 7029074fe8..8ebe2d5a4c 100644 --- a/src/GRANULAR/fix_wall_gran.cpp +++ b/src/GRANULAR/fix_wall_gran.cpp @@ -452,7 +452,7 @@ void FixWallGran::post_force(int /*vflag*/) } for (int i = 0; i < nlocal; i++) { - if (! mask[i] & groupbit) continue; + if ((!mask[i]) & groupbit) continue; dx = dy = dz = 0.0; diff --git a/src/GRANULAR/fix_wall_gran_region.cpp b/src/GRANULAR/fix_wall_gran_region.cpp index 57f84e26cb..02cbd94510 100644 --- a/src/GRANULAR/fix_wall_gran_region.cpp +++ b/src/GRANULAR/fix_wall_gran_region.cpp @@ -195,7 +195,7 @@ void FixWallGranRegion::post_force(int /*vflag*/) } for (i = 0; i < nlocal; i++) { - if (! mask[i] & groupbit) continue; + if ((!mask[i]) & groupbit) continue; if (! region->match(x[i][0], x[i][1], x[i][2])) continue; nc = region->surface(x[i][0], x[i][1], x[i][2], model->pulloff_distance(radius[i], 0.0)); diff --git a/src/GRANULAR/gran_sub_mod_tangential.cpp b/src/GRANULAR/gran_sub_mod_tangential.cpp index 677ba4d363..ed7704349d 100644 --- a/src/GRANULAR/gran_sub_mod_tangential.cpp +++ b/src/GRANULAR/gran_sub_mod_tangential.cpp @@ -174,9 +174,8 @@ GranSubModTangentialLinearHistoryClassic::GranSubModTangentialLinearHistoryClass void GranSubModTangentialLinearHistoryClassic::calculate_forces() { - double magfs, magfs_inv, rsht, shrmag, prjmag, temp_dbl; + double magfs, magfs_inv, rsht, shrmag; double temp_array[3]; - int frame_update = 0; damp = xt * gm->damping_model->damp_prefactor; diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index c4711d6f59..85cee11564 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -685,7 +685,7 @@ void PairGranular::reset_dt() /* ---------------------------------------------------------------------- */ double PairGranular::single(int i, int j, int itype, int jtype, - double rsq, double /* factor_coul */, + double /*rsq*/, double /* factor_coul */, double factor_lj, double &fforce) { if (factor_lj == 0) { @@ -764,8 +764,6 @@ double PairGranular::single(int i, int j, int itype, int jtype, model->calculate_forces(); double *forces = model->forces; - double *torquesi = model->torquesi; - double *torquesj = model->torquesj; // apply forces & torques fforce = MathExtra::len3(forces); From bf944488436c48fc6c7e8d256665bed1cd7f798d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 16 Mar 2023 18:32:54 -0400 Subject: [PATCH 342/448] simplify and avoid segfault without pair style --- src/EXTRA-FIX/fix_efield_tip4p.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/EXTRA-FIX/fix_efield_tip4p.cpp b/src/EXTRA-FIX/fix_efield_tip4p.cpp index a204fe6f7d..3d6a2f66b7 100644 --- a/src/EXTRA-FIX/fix_efield_tip4p.cpp +++ b/src/EXTRA-FIX/fix_efield_tip4p.cpp @@ -46,6 +46,7 @@ void FixEfieldTIP4P::init() if (atom->tag_enable == 0) error->all(FLERR, "Fix efield/tip4p requires atom IDs"); if (!atom->q_flag) error->all(FLERR, "Fix efield/tip4p requires atom attribute q"); + if (!force->pair) error->all(FLERR, "A TIP4P pair style must be defined fix efield/tip4p"); int itmp; double *p_qdist = (double *) force->pair->extract("qdist", itmp); @@ -60,13 +61,12 @@ void FixEfieldTIP4P::init() int typeA = *p_typeA; int typeB = *p_typeB; - if (force->angle == nullptr || force->bond == nullptr || force->angle->setflag == nullptr || - force->bond->setflag == nullptr) - error->all(FLERR, "Bond and angle potentials must be defined for compute {}", style); + if (!force->angle || !force->bond || !force->angle->setflag || !force->bond->setflag) + error->all(FLERR, "Bond and angle potentials must be defined for fix efield/tip4p"); if ((typeA < 1) || (typeA > atom->nangletypes) || (force->angle->setflag[typeA] == 0)) - error->all(FLERR, "Bad TIP4P angle type for compute {}", style); + error->all(FLERR, "Bad TIP4P angle type for fix efield/tip4p"); if ((typeB < 1) || (typeB > atom->nbondtypes) || (force->bond->setflag[typeB] == 0)) - error->all(FLERR, "Bad TIP4P bond type for PPPM/TIP4P"); + error->all(FLERR, "Bad TIP4P bond type for fix efield/tip4p"); // determine alpha parameter From ea20c934ea5f10d06d09035093c178e14cbb2796 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 16 Mar 2023 18:33:23 -0400 Subject: [PATCH 343/448] print warning when using fix efield with a TIP4P pair style --- src/fix_efield.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/fix_efield.cpp b/src/fix_efield.cpp index 3046f21ef3..d1765ed536 100644 --- a/src/fix_efield.cpp +++ b/src/fix_efield.cpp @@ -26,6 +26,7 @@ #include "input.h" #include "memory.h" #include "modify.h" +#include "pair.h" #include "region.h" #include "respa.h" #include "update.h" @@ -145,6 +146,13 @@ void FixEfield::init() if (atom->mu_flag && atom->torque_flag) muflag = 1; if (!qflag && !muflag) error->all(FLERR, "Fix {} requires atom attribute q or mu", style); + // warn if TIP4P pair style is used with plain fix efield + if ((strcmp(style, "efield") == 0) && (comm->me == 0)) { + int itmp; + if (force->pair && force->pair->extract("qdist", itmp)) + error->warning(FLERR, "Fix efield produces incorrect forces when applied to TIP4P atoms"); + } + // check variables if (xstr) { From 08153b7b4dbe4c0b430c89da68ea796f5c1d670c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 16 Mar 2023 21:01:32 -0400 Subject: [PATCH 344/448] trim list of known plumed source packages. --- lib/plumed/Install.py | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/lib/plumed/Install.py b/lib/plumed/Install.py index 21e8ac51ff..9c42da4089 100644 --- a/lib/plumed/Install.py +++ b/lib/plumed/Install.py @@ -37,30 +37,12 @@ make lib-plumed args="-b" # download/build in lib/plumed/plumed2 make lib-plumed args="-p $HOME/plumed2 -m shared" # use existing Plumed2 installation in $HOME/plumed2 """ -# known checksums for different PLUMED versions. used to validate the download. +# known checksums for different PLUMED versions. used to validate downloads. checksums = { \ - '2.4.2' : '88188743a6e03ef076e5377d03ebb0e7', \ - '2.4.3' : 'b1be7c48971627febc11c61b70767fc5', \ '2.4.4' : '71ed465bdc7c2059e282dbda8d564e71', \ - '2.5.0' : '6224cd089493661e19ceacccd35cf911', \ - '2.5.1' : 'c2a7b519e32197a120cdf47e0f194f81', \ - '2.5.2' : 'bd2f18346c788eb54e1e52f4f6acf41a', \ - '2.5.3' : 'de30d6e7c2dcc0973298e24a6da24286', \ - '2.5.4' : 'f31b7d16a4be2e30aa7d5c19c3d37853', \ '2.5.7' : '1ca36226fdb8110b1009aa61d615d4e5', \ - '2.6.0' : '204d2edae58d9b10ba3ad460cad64191', \ - '2.6.1' : '89a9a450fc6025299fe16af235957163', \ - '2.6.3' : 'a9f8028fd74528c2024781ea1fdefeee', \ - '2.6.5' : 'b67356f027e5c2747823b0422c3b0ec2', \ '2.6.6' : '6b470dcdce04c221ea42d8500b03c49b', \ - '2.7.0' : '95f29dd0c067577f11972ff90dfc7d12', \ - '2.7.1' : '4eac6a462ec84dfe0cec96c82421b8e8', \ - '2.7.2' : 'cfa0b4dd90a81c25d3302e8d97bfeaea', \ - '2.7.3' : 'f00cc82edfefe6bb3df934911dbe32fb', \ - '2.7.4' : 'f858e0b6aed173748fc85b6bc8a9dcb3', \ - '2.7.5' : '2aca1986d6c1ca3ba7e9eb51b1102792', \ '2.7.6' : 'fb8c0ec10f97a9353eb123a5c4c35aa6', \ - '2.8.0' : '489b23daba70da78cf0506cbc31689c6', \ '2.8.1' : '6bfe72ebdae63dc38a9ca27d9b0e08f8', \ '2.8.2' : '599092b6a0aa6fff992612537ad98994', \ } From e7b7d5804e46faee3f192806d788eec970013335 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 16 Mar 2023 21:23:02 -0400 Subject: [PATCH 345/448] Update URL for EPEL --- doc/src/Install_linux.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/Install_linux.rst b/doc/src/Install_linux.rst index 91e7529879..53f4965e08 100644 --- a/doc/src/Install_linux.rst +++ b/doc/src/Install_linux.rst @@ -172,7 +172,7 @@ Pre-built EPEL Linux executable ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Pre-built LAMMPS (and KIM) packages for stable releases are available -in the `Extra Packages for Enterprise Linux (EPEL) repository `_ +in the `Extra Packages for Enterprise Linux (EPEL) repository `_ for use with Red Hat Enterprise Linux (RHEL) or CentOS version 7.x and compatible Linux distributions. Names of packages, executable, and content are the same as described above for Fedora Linux. From c9b383d3f0ca367f02d2996f8b712900066afafb Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 16 Mar 2023 22:18:35 -0400 Subject: [PATCH 346/448] grammar --- src/GRANULAR/fix_pour.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/GRANULAR/fix_pour.cpp b/src/GRANULAR/fix_pour.cpp index 477fc4720b..f92bca5073 100644 --- a/src/GRANULAR/fix_pour.cpp +++ b/src/GRANULAR/fix_pour.cpp @@ -678,7 +678,7 @@ void FixPour::pre_exchange() int ninserted_atoms = nnear - nprevious; int ninserted_mols = ninserted_atoms / natom; ninserted += ninserted_mols; - if (ninserted_mols < nnew && me == 0) error->warning(FLERR, "Less insertions than requested"); + if (ninserted_mols < nnew && me == 0) error->warning(FLERR, "Fewer insertions than requested"); // reset global natoms,nbonds,etc // increment maxtag_all and maxmol_all if necessary From 073f21c0d9eb653020716d488df5d4f5d86ef281 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 16 Mar 2023 22:35:25 -0400 Subject: [PATCH 347/448] spelling --- doc/src/Modify_gran_sub_mod.rst | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/doc/src/Modify_gran_sub_mod.rst b/doc/src/Modify_gran_sub_mod.rst index fe8b0da275..e1d559e6bf 100644 --- a/doc/src/Modify_gran_sub_mod.rst +++ b/doc/src/Modify_gran_sub_mod.rst @@ -20,16 +20,16 @@ parent GranSubMod class, several types of sub-model classes are derived: * GranSubModTwisting: twisting friction sub-model * GranSubModHeat: heat conduction sub-model -For each type of sub-model, more classes are further derived, each describing -a specific implementation. For instance, from the GranSubModNormal class the +For each type of sub-model, more classes are further derived, each describing a +specific implementation. For instance, from the GranSubModNormal class the GranSubModNormalHooke, GranSubModNormalHertz, and GranSubModNormalJKR classes -are derived which calculate Hookean, Hertzian, or JKR normal forces, respectively. -This modular structure simplifies the addition of new granular contact models as -as one onlyneeds to create a new GranSubMod class without having to modify the more -complex PairGranular, FixGranWall, and GranularModel classes. Most GranSubMod methods -are also already defined by the parent classes so new contact models typically only -require edits to a few relevant methods (e.g. methods that define coefficients and -calculate forces). +are derived which calculate Hookean, Hertzian, or JKR normal forces, +respectively. This modular structure simplifies the addition of new granular +contact models as as one only needs to create a new GranSubMod class without +having to modify the more complex PairGranular, FixGranWall, and GranularModel +classes. Most GranSubMod methods are also already defined by the parent classes +so new contact models typically only require edits to a few relevant methods +(e.g. methods that define coefficients and calculate forces). Each GranSubMod class has a pointer to both the LAMMPS class and the GranularModel class which owns it, ``lmp`` and ``gm``, respectively. The GranularModel class From a232915e716126f317dcd332e9fcc1b8448214bd Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 16 Mar 2023 22:37:58 -0400 Subject: [PATCH 348/448] update example logs for changed granular pair style --- .../log.15Sep22.granregion.box.g++.1 | 493 -------------- .../log.15Sep22.granregion.box.g++.4 | 493 -------------- .../log.15Sep22.granregion.funnel.g++.1 | 633 ----------------- .../log.15Sep22.granregion.funnel.g++.4 | 633 ----------------- .../log.15Sep22.granregion.mixer.g++.1 | 632 ----------------- .../log.15Sep22.granregion.mixer.g++.4 | 632 ----------------- .../log.16Mar23.granregion.box.g++.1 | 484 +++++++++++++ .../log.16Mar23.granregion.box.g++.4 | 484 +++++++++++++ .../log.16Mar23.granregion.funnel.g++.1 | 635 ++++++++++++++++++ .../log.16Mar23.granregion.funnel.g++.4 | 635 ++++++++++++++++++ .../log.16Mar23.granregion.mixer.g++.1 | 634 +++++++++++++++++ .../log.16Mar23.granregion.mixer.g++.4 | 634 +++++++++++++++++ examples/pour/log.16Mar23.pour.2d.g++.1 | 125 ++++ examples/pour/log.16Mar23.pour.2d.g++.4 | 125 ++++ .../pour/log.16Mar23.pour.2d.molecule.g++.1 | 148 ++++ .../pour/log.16Mar23.pour.2d.molecule.g++.4 | 148 ++++ examples/pour/log.16Mar23.pour.g++.1 | 178 +++++ examples/pour/log.16Mar23.pour.g++.4 | 178 +++++ examples/pour/log.27Nov18.pour.2d.g++.1 | 121 ---- examples/pour/log.27Nov18.pour.2d.g++.4 | 121 ---- .../pour/log.27Nov18.pour.2d.molecule.g++.1 | 142 ---- .../pour/log.27Nov18.pour.2d.molecule.g++.4 | 142 ---- examples/pour/log.27Nov18.pour.g++.1 | 175 ----- examples/pour/log.27Nov18.pour.g++.4 | 175 ----- 24 files changed, 4408 insertions(+), 4392 deletions(-) delete mode 100644 examples/granregion/log.15Sep22.granregion.box.g++.1 delete mode 100644 examples/granregion/log.15Sep22.granregion.box.g++.4 delete mode 100644 examples/granregion/log.15Sep22.granregion.funnel.g++.1 delete mode 100644 examples/granregion/log.15Sep22.granregion.funnel.g++.4 delete mode 100644 examples/granregion/log.15Sep22.granregion.mixer.g++.1 delete mode 100644 examples/granregion/log.15Sep22.granregion.mixer.g++.4 create mode 100644 examples/granregion/log.16Mar23.granregion.box.g++.1 create mode 100644 examples/granregion/log.16Mar23.granregion.box.g++.4 create mode 100644 examples/granregion/log.16Mar23.granregion.funnel.g++.1 create mode 100644 examples/granregion/log.16Mar23.granregion.funnel.g++.4 create mode 100644 examples/granregion/log.16Mar23.granregion.mixer.g++.1 create mode 100644 examples/granregion/log.16Mar23.granregion.mixer.g++.4 create mode 100644 examples/pour/log.16Mar23.pour.2d.g++.1 create mode 100644 examples/pour/log.16Mar23.pour.2d.g++.4 create mode 100644 examples/pour/log.16Mar23.pour.2d.molecule.g++.1 create mode 100644 examples/pour/log.16Mar23.pour.2d.molecule.g++.4 create mode 100644 examples/pour/log.16Mar23.pour.g++.1 create mode 100644 examples/pour/log.16Mar23.pour.g++.4 delete mode 100644 examples/pour/log.27Nov18.pour.2d.g++.1 delete mode 100644 examples/pour/log.27Nov18.pour.2d.g++.4 delete mode 100644 examples/pour/log.27Nov18.pour.2d.molecule.g++.1 delete mode 100644 examples/pour/log.27Nov18.pour.2d.molecule.g++.4 delete mode 100644 examples/pour/log.27Nov18.pour.g++.1 delete mode 100644 examples/pour/log.27Nov18.pour.g++.4 diff --git a/examples/granregion/log.15Sep22.granregion.box.g++.1 b/examples/granregion/log.15Sep22.granregion.box.g++.1 deleted file mode 100644 index 0df89d49ee..0000000000 --- a/examples/granregion/log.15Sep22.granregion.box.g++.1 +++ /dev/null @@ -1,493 +0,0 @@ -LAMMPS (15 Sep 2022) -# pouring spheres into container box - -units lj -atom_style sphere -boundary f f f -dimension 3 -comm_modify vel yes - -region box block -10 10 -10 10 -10 10 units box -create_box 2 box -Created orthogonal box = (-10 -10 -10) to (10 10 10) - 1 by 1 by 1 MPI processor grid - -pair_style hybrid gran/hooke 4000.0 NULL 100.0 NULL 0.5 1 -pair_coeff * * gran/hooke - -region container block -6 6 -6 6 -6 6 units box -fix container all wall/gran/region hooke/history 4000.0 NULL 100.0 NULL 0.5 1 region container - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -fix 2 all nve/sphere -fix 3 all gravity 1.0 vector 0 0 -1 - -region slab block -2 2 -2 2 -2 2 units box -fix ins all pour 100 2 4767548 vol 0.4 10 diam one 1.0 region slab ignore -Particle insertion: 48 every 566 steps, 100 by step 1133 - -timestep 0.005 - -compute 1 all temp -compute_modify 1 dynamic/dof yes - -compute 2 all temp/sphere -compute_modify 2 dynamic/dof yes - -thermo 100 -thermo_style custom step atoms temp c_1 c_2 press -thermo_modify lost ignore -compute_modify thermo_temp dynamic/dof yes - -#dump 2 all image 100 image.*.jpg type type # zoom 1.4 adiam 1.0 box no 0.0 axes yes 0.9 0.03 -#dump_modify 2 pad 5 - -run 5000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.3 - ghost atom cutoff = 1.3 - binsize = 0.65, bins = 31 31 31 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair gran/hooke, perpetual - attributes: half, newton on, size - pair build: half/size/bin/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 0.5861 | 0.5861 | 0.5861 Mbytes - Step Atoms Temp c_1 c_2 Press - 0 0 0 0 0 0 -WARNING: Less insertions than requested (../fix_pour.cpp:681) - 100 30 0.803783 0.803783 0.39507978 0.0029137134 - 200 30 1.1967995 1.1967995 0.5882574 0.0043383984 - 300 30 1.2814686 1.2814686 0.62987441 0.0046453238 - 400 30 0.82331082 0.82331082 0.41173176 0.0029845017 - 500 30 0.7708462 0.7708462 0.38777784 0.0043831147 -WARNING: Less insertions than requested (../fix_pour.cpp:681) - 600 64 0.51564897 0.51564897 0.26631577 0.0040059368 - 700 64 0.57239348 0.57239348 0.29566901 0.0045075987 - 800 64 0.61837087 0.61837087 0.32195387 0.0048123564 - 900 64 0.53061888 0.53061888 0.28564763 0.0055906552 - 1000 64 0.496299 0.496299 0.26801572 0.0061169128 - 1100 64 0.46068308 0.46068308 0.24699057 0.0055717699 -WARNING: Less insertions than requested (../fix_pour.cpp:681) - 1200 99 0.39206225 0.39206225 0.21356546 0.0066294211 - 1300 99 0.38624966 0.38624966 0.21345854 0.0049051051 - 1400 99 0.35615284 0.35615284 0.19785725 0.0046170772 - 1500 99 0.31486693 0.31486693 0.17429055 0.0064903432 - 1600 99 0.26369001 0.26369001 0.15095266 0.0045226847 - 1700 100 0.1925923 0.1925923 0.11308104 0.007362313 - 1800 100 0.13724978 0.13724978 0.083276845 0.0058136373 - 1900 100 0.077212636 0.077212636 0.053159386 0.0016509598 - 2000 100 0.065294031 0.065294031 0.04372752 0.0020346467 - 2100 100 0.057431398 0.057431398 0.037977068 0.0012681098 - 2200 100 0.059093045 0.059093045 0.037435193 0.00096610799 - 2300 100 0.03422338 0.03422338 0.025491304 0.00069886052 - 2400 100 0.020558284 0.020558284 0.016163009 0.0017260663 - 2500 100 0.015339709 0.015339709 0.012329236 0.00041308031 - 2600 100 0.012891354 0.012891354 0.009766054 0.00030356722 - 2700 100 0.0092634449 0.0092634449 0.0073580108 0.00077723051 - 2800 100 0.0073925841 0.0073925841 0.0059932218 0.00016466767 - 2900 100 0.0081228267 0.0081228267 0.006281761 0.00013828388 - 3000 100 0.0041833223 0.0041833223 0.0035147096 0.00013160599 - 3100 100 0.0035930775 0.0035930775 0.0030039922 0.00060639771 - 3200 100 0.0030824465 0.0030824465 0.0026541293 0.00047391014 - 3300 100 0.0035087522 0.0035087522 0.0027664508 0.00014080317 - 3400 100 0.0018537868 0.0018537868 0.0017099705 6.3326674e-05 - 3500 100 0.0015371228 0.0015371228 0.0014155433 0.00021612522 - 3600 100 0.001708556 0.001708556 0.0014369892 8.1034202e-05 - 3700 100 0.00095948652 0.00095948652 0.0009788528 3.4694023e-05 - 3800 100 0.00091875668 0.00091875668 0.00086805146 3.9373686e-05 - 3900 100 0.001557068 0.001557068 0.001159526 2.5178607e-05 - 4000 100 0.00062012451 0.00062012451 0.00066806922 5.6680551e-06 - 4100 100 0.00060940771 0.00060940771 0.00065614741 1.0137901e-05 - 4200 100 0.00059538437 0.00059538437 0.00064501521 7.3679744e-06 - 4300 100 0.00052946048 0.00052946048 0.00059353641 5.9225081e-06 - 4400 100 0.00051202281 0.00051202281 0.00057524772 3.6198435e-05 - 4500 100 0.00049986632 0.00049986632 0.00055754521 2.2275519e-05 - 4600 100 0.00048187334 0.00048187334 0.00053988815 2.2015243e-05 - 4700 100 0.00045261491 0.00045261491 0.00050298355 8.9681339e-05 - 4800 100 0.00034965427 0.00034965427 0.0004278781 1.0983535e-05 - 4900 100 0.00033555621 0.00033555621 0.00041435167 2.9266598e-05 - 5000 100 0.00031387148 0.00031387148 0.00039605781 2.5628425e-05 -Loop time of 0.078687 on 1 procs for 5000 steps with 100 atoms - -Performance: 27450544.413 tau/day, 63542.927 timesteps/s, 6.354 Matom-step/s -80.5% CPU use with 1 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0084151 | 0.0084151 | 0.0084151 | 0.0 | 10.69 -Neigh | 0.012728 | 0.012728 | 0.012728 | 0.0 | 16.18 -Comm | 0.0056143 | 0.0056143 | 0.0056143 | 0.0 | 7.14 -Output | 0.00051411 | 0.00051411 | 0.00051411 | 0.0 | 0.65 -Modify | 0.041412 | 0.041412 | 0.041412 | 0.0 | 52.63 -Other | | 0.01 | | | 12.71 - -Nlocal: 100 ave 100 max 100 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 164 ave 164 max 164 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 164 -Ave neighs/atom = 1.64 -Neighbor list builds = 281 -Dangerous builds = 0 - -region container delete -variable theta equal (step-5000)*(4.0*PI/5000) -region container block -6 6 -6 6 -6 6 units box rotate v_theta 0 0 0 0 0 1 -run 5000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.3 - ghost atom cutoff = 1.3 - binsize = 0.65, bins = 31 31 31 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair gran/hooke, perpetual - attributes: half, newton on, size - pair build: half/size/bin/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.837 | 5.837 | 5.837 Mbytes - Step Atoms Temp c_1 c_2 Press - 5000 100 0.00031387148 0.00031387148 0.00039605781 2.6174978e-05 - 5100 100 0.54537023 0.54537023 0.30042175 0.0087427352 - 5200 100 0.57210852 0.57210852 0.3192468 0.0098134067 - 5300 100 0.7168108 0.7168108 0.38577893 0.011004584 - 5400 100 0.78895524 0.78895524 0.41889428 0.013555713 - 5500 100 0.87797874 0.87797874 0.45689223 0.01565356 - 5600 100 0.95424379 0.95424379 0.48830429 0.014707858 - 5700 100 1.0046012 1.0046012 0.51054927 0.01469179 - 5800 100 1.0371453 1.0371453 0.5262568 0.015576788 - 5900 100 1.0545743 1.0545743 0.5361173 0.01589889 - 6000 100 1.0932949 1.0932949 0.55402214 0.017484573 - 6100 100 1.1148364 1.1148364 0.56241126 0.01721788 - 6200 100 1.1315267 1.1315267 0.57050887 0.017961246 - 6300 100 1.1506124 1.1506124 0.58009471 0.017159062 - 6400 100 1.1663328 1.1663328 0.5876586 0.017935311 - 6500 100 1.1821086 1.1821086 0.59595162 0.018005316 - 6600 100 1.2039397 1.2039397 0.60567524 0.021604669 - 6700 100 1.2269911 1.2269911 0.61770224 0.018907995 - 6800 100 1.2447035 1.2447035 0.6257652 0.02053766 - 6900 100 1.2625323 1.2625323 0.63486698 0.020106134 - 7000 100 1.2617127 1.2617127 0.63318163 0.019670429 - 7100 100 1.260715 1.260715 0.63311254 0.019810631 - 7200 100 1.2790404 1.2790404 0.64079001 0.020218903 - 7300 100 1.2760228 1.2760228 0.6395331 0.021749906 - 7400 100 1.2799658 1.2799658 0.64139084 0.020472922 - 7500 100 1.2846473 1.2846473 0.64343085 0.020610025 - 7600 100 1.2883965 1.2883965 0.64491873 0.02074884 - 7700 100 1.2926891 1.2926891 0.64684545 0.020599654 - 7800 100 1.3032201 1.3032201 0.65119455 0.02183405 - 7900 100 1.3025628 1.3025628 0.65068661 0.021248589 - 8000 100 1.3052302 1.3052302 0.65208602 0.021399549 - 8100 100 1.3069867 1.3069867 0.65304849 0.021254794 - 8200 100 1.3092024 1.3092024 0.6543837 0.021220909 - 8300 100 1.3101468 1.3101468 0.65519741 0.021328361 - 8400 100 1.3116005 1.3116005 0.65545253 0.021493555 - 8500 100 1.3153616 1.3153616 0.65731542 0.021433279 - 8600 100 1.3164556 1.3164556 0.65791227 0.021531213 - 8700 100 1.3187245 1.3187245 0.65915974 0.02170181 - 8800 100 1.3215981 1.3215981 0.66036644 0.022358849 - 8900 100 1.3206845 1.3206845 0.65984651 0.021901337 - 9000 100 1.3213046 1.3213046 0.66020378 0.021876353 - 9100 100 1.3225084 1.3225084 0.66088847 0.021811098 - 9200 100 1.3240309 1.3240309 0.66180646 0.021768929 - 9300 100 1.325458 1.325458 0.66280401 0.02165852 - 9400 100 1.3322968 1.3322968 0.66615126 0.022139018 - 9500 100 1.3416035 1.3416035 0.67030794 0.022243129 - 9600 100 1.3353326 1.3353326 0.66692811 0.022622122 - 9700 100 1.336265 1.336265 0.66727395 0.022171165 - 9800 100 1.3344531 1.3344531 0.66634538 0.022025131 - 9900 100 1.3337098 1.3337098 0.66601721 0.022111706 - 10000 100 1.3335539 1.3335539 0.66597627 0.022133817 -Loop time of 0.235008 on 1 procs for 5000 steps with 100 atoms - -Performance: 9191156.994 tau/day, 21275.826 timesteps/s, 2.128 Matom-step/s -94.1% CPU use with 1 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.029846 | 0.029846 | 0.029846 | 0.0 | 12.70 -Neigh | 0.030211 | 0.030211 | 0.030211 | 0.0 | 12.86 -Comm | 0.005731 | 0.005731 | 0.005731 | 0.0 | 2.44 -Output | 0.00051873 | 0.00051873 | 0.00051873 | 0.0 | 0.22 -Modify | 0.1583 | 0.1583 | 0.1583 | 0.0 | 67.36 -Other | | 0.01041 | | | 4.43 - -Nlocal: 100 ave 100 max 100 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 186 ave 186 max 186 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 186 -Ave neighs/atom = 1.86 -Neighbor list builds = 626 -Dangerous builds = 0 - -region container delete -region container block -6 6 -6 6 -6 6 units box -run 5000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 5.837 | 5.837 | 5.837 Mbytes - Step Atoms Temp c_1 c_2 Press - 10000 100 1.3335539 1.3335539 0.66597627 0.022207076 - 10100 100 0.29976134 0.29976134 0.1752962 0.0091355801 - 10200 100 0.1548002 0.1548002 0.1005356 0.0062509071 - 10300 100 0.082468613 0.082468613 0.066729575 0.0017315098 - 10400 100 0.06731284 0.06731284 0.056685383 0.0011965765 - 10500 100 0.050167538 0.050167538 0.042388389 0.0010830279 - 10600 100 0.041091371 0.041091371 0.034743534 0.00092984522 - 10700 100 0.033199041 0.033199041 0.027954031 0.0018451338 - 10800 100 0.027880411 0.027880411 0.024437224 0.0013039536 - 10900 100 0.024634597 0.024634597 0.021815184 0.00030935286 - 11000 100 0.020741105 0.020741105 0.018754221 0.0006306901 - 11100 100 0.017210914 0.017210914 0.015842306 0.00075930229 - 11200 100 0.01254319 0.01254319 0.012145795 0.00047388541 - 11300 100 0.010032468 0.010032468 0.0095918697 0.0014677116 - 11400 100 0.0081538458 0.0081538458 0.0080985914 0.00032485316 - 11500 100 0.0072918155 0.0072918155 0.0070156789 0.00023642827 - 11600 100 0.0070136586 0.0070136586 0.0067263114 7.8490444e-05 - 11700 100 0.0061722946 0.0061722946 0.0058832419 0.00013450793 - 11800 100 0.0052444487 0.0052444487 0.0049294304 8.6973121e-05 - 11900 100 0.0048212279 0.0048212279 0.0045261412 0.00010458031 - 12000 100 0.0046782797 0.0046782797 0.0044011937 0.00018881094 - 12100 100 0.0042066617 0.0042066617 0.0040330976 0.00015507521 - 12200 100 0.0038529032 0.0038529032 0.003664712 1.1476621e-05 - 12300 100 0.0033203238 0.0033203238 0.0032404054 0.00027622191 - 12400 100 0.003113731 0.003113731 0.0030491123 3.8532421e-05 - 12500 100 0.0029925149 0.0029925149 0.0029415075 4.2673261e-05 - 12600 100 0.0028383323 0.0028383323 0.0027902992 9.328552e-05 - 12700 100 0.0026386104 0.0026386104 0.0026095714 7.7740986e-05 - 12800 100 0.0023509873 0.0023509873 0.0023518594 3.1944764e-05 - 12900 100 0.0022296104 0.0022296104 0.0022030693 4.5393502e-05 - 13000 100 0.0021991358 0.0021991358 0.0021560478 0.0001221212 - 13100 100 0.0021011001 0.0021011001 0.0020752855 2.4605107e-05 - 13200 100 0.002004495 0.002004495 0.0020040212 2.4805625e-05 - 13300 100 0.0018394135 0.0018394135 0.0018288384 6.2227066e-05 - 13400 100 0.0016314086 0.0016314086 0.0016058102 0.00010372886 - 13500 100 0.0015042857 0.0015042857 0.0014660263 0.00020805178 - 13600 100 0.0013584764 0.0013584764 0.0013177418 5.1603333e-05 - 13700 100 0.0012407449 0.0012407449 0.0011902637 8.87401e-05 - 13800 100 0.0011673364 0.0011673364 0.0011324247 2.3668551e-05 - 13900 100 0.0011429204 0.0011429204 0.0011072347 1.414364e-05 - 14000 100 0.001087543 0.001087543 0.0010616439 3.0874865e-05 - 14100 100 0.00098839393 0.00098839393 0.00096445684 6.5331515e-05 - 14200 100 0.00095139076 0.00095139076 0.00093658993 2.5649208e-05 - 14300 100 0.00089532494 0.00089532494 0.00082626435 2.6200482e-05 - 14400 100 0.00077973015 0.00077973015 0.00070733785 2.29298e-05 - 14500 100 0.00068559117 0.00068559117 0.00062297009 8.4841907e-06 - 14600 100 0.00059199698 0.00059199698 0.00052453148 1.2737231e-05 - 14700 100 0.00055052378 0.00055052378 0.00048459372 1.3028328e-05 - 14800 100 0.00049397913 0.00049397913 0.00044094284 6.1129918e-06 - 14900 100 0.00048082746 0.00048082746 0.00043128724 3.7301936e-06 - 15000 100 0.00046847825 0.00046847825 0.00041484245 5.7974184e-06 -Loop time of 0.0802044 on 1 procs for 5000 steps with 100 atoms - -Performance: 26931180.398 tau/day, 62340.695 timesteps/s, 6.234 Matom-step/s -82.1% CPU use with 1 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0080809 | 0.0080809 | 0.0080809 | 0.0 | 10.08 -Neigh | 0.0048815 | 0.0048815 | 0.0048815 | 0.0 | 6.09 -Comm | 0.0055605 | 0.0055605 | 0.0055605 | 0.0 | 6.93 -Output | 0.00050386 | 0.00050386 | 0.00050386 | 0.0 | 0.63 -Modify | 0.051104 | 0.051104 | 0.051104 | 0.0 | 63.72 -Other | | 0.01007 | | | 12.56 - -Nlocal: 100 ave 100 max 100 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 157 ave 157 max 157 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 157 -Ave neighs/atom = 1.57 -Neighbor list builds = 100 -Dangerous builds = 0 - -region container delete -variable theta equal (step-15000)*(4.0*PI/5000) -region container block -6 6 -6 6 -6 6 units box rotate v_theta 0 0 0 1 1 1 -run 5000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 5.837 | 5.837 | 5.837 Mbytes - Step Atoms Temp c_1 c_2 Press - 15000 100 0.00046847825 0.00046847825 0.00041484245 5.7974184e-06 - 15100 100 0.96677694 0.96677694 0.64420785 0.01431184 - 15200 100 1.0659255 1.0659255 0.69293741 0.013240486 - 15300 100 1.1647631 1.1647631 0.75191941 0.014622673 - 15400 100 1.3411593 1.3411593 0.85696383 0.02561549 - 15500 100 1.6033758 1.6033758 0.99094919 0.026221789 - 15600 100 1.7889645 1.7889645 1.075315 0.024116301 - 15700 100 1.8077023 1.8077023 1.0842652 0.031781756 - 15800 100 2.0252655 2.0252655 1.1517407 0.037201818 - 15900 100 2.1479427 2.1479427 1.2061238 0.027668435 - 16000 100 2.1788838 2.1788838 1.2205599 0.029114273 - 16100 100 2.3257431 2.3257431 1.2921157 0.035663063 - 16200 100 2.3885449 2.3885449 1.3282237 0.032255517 - 16300 100 2.3670966 2.3670966 1.3091694 0.029579008 - 16400 100 2.5097781 2.5097781 1.3712036 0.034579196 - 16500 100 2.6440883 2.6440883 1.4440043 0.03347813 - 16600 100 2.7230084 2.7230084 1.481565 0.036660339 - 16700 100 2.8246108 2.8246108 1.5298387 0.035623641 - 16800 100 3.0338694 3.0338694 1.6333504 0.038818594 - 16900 100 3.1219584 3.1219584 1.6790766 0.043444123 - 17000 100 3.4103817 3.4103817 1.8222668 0.044524654 - 17100 100 3.3869069 3.3869069 1.8170743 0.050670801 - 17200 100 3.4220314 3.4220314 1.8312364 0.045956123 - 17300 100 3.396894 3.396894 1.8158291 0.050420297 - 17400 100 3.4508224 3.4508224 1.8429996 0.049923733 - 17500 100 3.5039601 3.5039601 1.8822352 0.051047713 - 17600 100 3.3743905 3.3743905 1.8380347 0.047922214 - 17700 100 3.3729709 3.3729709 1.8224123 0.04758126 - 17800 100 3.3237798 3.3237798 1.7962316 0.045427975 - 17900 100 3.2441052 3.2441052 1.7782748 0.044651231 - 18000 100 3.1169205 3.1169205 1.704639 0.047440495 - 18100 100 3.1704608 3.1704608 1.7326375 0.045656546 - 18200 100 3.1113438 3.1113438 1.7002232 0.041619255 - 18300 100 3.2506111 3.2506111 1.7693075 0.048028527 - 18400 100 3.3840681 3.3840681 1.8370672 0.04443243 - 18500 100 3.4822823 3.4822823 1.9125273 0.043687118 - 18600 100 3.5214372 3.5214372 1.9364829 0.049798605 - 18700 100 3.5439229 3.5439229 1.9441301 0.046240266 - 18800 100 3.6046761 3.6046761 1.9791448 0.054369382 - 18900 100 3.8598403 3.8598403 2.0999449 0.049863074 - 19000 100 3.8606461 3.8606461 2.0885493 0.050269245 - 19100 100 4.076627 4.076627 2.2025766 0.058050893 - 19200 100 3.8280814 3.8280814 2.0749884 0.05730905 - 19300 100 3.8211633 3.8211633 2.0759453 0.05145071 - 19400 100 3.7726284 3.7726284 2.0466555 0.053566404 - 19500 100 3.7468403 3.7468403 2.03218 0.048422025 - 19600 100 3.6408955 3.6408955 1.9873843 0.046565134 - 19700 100 3.6454187 3.6454187 2.0042204 0.049299897 - 19800 100 3.5165071 3.5165071 1.937379 0.046319859 - 19900 100 3.4670702 3.4670702 1.9140316 0.045650114 - 20000 100 3.6114294 3.6114294 1.9798674 0.05431148 -Loop time of 0.203164 on 1 procs for 5000 steps with 100 atoms - -Performance: 10631806.993 tau/day, 24610.664 timesteps/s, 2.461 Matom-step/s -92.3% CPU use with 1 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.01242 | 0.01242 | 0.01242 | 0.0 | 6.11 -Neigh | 0.044478 | 0.044478 | 0.044478 | 0.0 | 21.89 -Comm | 0.0057766 | 0.0057766 | 0.0057766 | 0.0 | 2.84 -Output | 0.00051702 | 0.00051702 | 0.00051702 | 0.0 | 0.25 -Modify | 0.12923 | 0.12923 | 0.12923 | 0.0 | 63.61 -Other | | 0.01074 | | | 5.29 - -Nlocal: 100 ave 100 max 100 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 142 ave 142 max 142 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 142 -Ave neighs/atom = 1.42 -Neighbor list builds = 909 -Dangerous builds = 0 - -region container delete -region container block -6 6 -6 6 -6 6 units box -run 5000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 5.837 | 5.837 | 5.837 Mbytes - Step Atoms Temp c_1 c_2 Press - 20000 100 3.6114294 3.6114294 1.9798674 0.053887263 - 20100 100 1.0907336 1.0907336 0.69799767 0.013925984 - 20200 100 0.92304387 0.92304387 0.59520318 0.012377709 - 20300 100 0.84004201 0.84004201 0.55081472 0.012108246 - 20400 100 0.89491209 0.89491209 0.56269969 0.01221427 - 20500 100 0.92011482 0.92011482 0.56971815 0.011353588 - 20600 100 0.95722998 0.95722998 0.58038747 0.01185569 - 20700 100 0.92635786 0.92635786 0.55373959 0.011953734 - 20800 100 0.93088162 0.93088162 0.55094813 0.012887472 - 20900 100 0.97288373 0.97288373 0.56309599 0.013731021 - 21000 100 0.63378762 0.63378762 0.3779177 0.010114787 - 21100 100 0.34618473 0.34618473 0.21652381 0.0070717708 - 21200 100 0.18660008 0.18660008 0.1302051 0.006504227 - 21300 100 0.13917709 0.13917709 0.09667499 0.0032593765 - 21400 100 0.11627047 0.11627047 0.080272858 0.0028891045 - 21500 100 0.086269781 0.086269781 0.064184981 0.0019374959 - 21600 100 0.08052393 0.08052393 0.059561101 0.001214522 - 21700 100 0.036026032 0.036026032 0.030243348 0.001199233 - 21800 100 0.02392645 0.02392645 0.022284244 0.00060060634 - 21900 100 0.016991266 0.016991266 0.017366625 0.00065672411 - 22000 100 0.016974877 0.016974877 0.016399245 0.0005903103 - 22100 100 0.015491818 0.015491818 0.014806105 0.00051181051 - 22200 100 0.011908698 0.011908698 0.011206673 0.00099478656 - 22300 100 0.010002714 0.010002714 0.0093749794 0.00028214624 - 22400 100 0.0081652616 0.0081652616 0.0079594664 0.00026841276 - 22500 100 0.0067602843 0.0067602843 0.0067498831 0.00019472612 - 22600 100 0.0061024058 0.0061024058 0.0062958451 0.00016615781 - 22700 100 0.005331422 0.005331422 0.0056152366 0.00021543475 - 22800 100 0.0040796708 0.0040796708 0.004140932 0.00024397062 - 22900 100 0.0042042089 0.0042042089 0.0040406804 0.00015880055 - 23000 100 0.0056083872 0.0056083872 0.0046056699 0.00029203396 - 23100 100 0.0035006398 0.0035006398 0.003343101 0.00010571574 - 23200 100 0.0032402473 0.0032402473 0.003122476 0.00012784403 - 23300 100 0.0030100724 0.0030100724 0.0029649423 8.5613724e-05 - 23400 100 0.002746305 0.002746305 0.0027519317 9.6521844e-05 - 23500 100 0.0028543876 0.0028543876 0.002842845 0.00012566665 - 23600 100 0.0036979234 0.0036979234 0.0032448309 8.6321879e-05 - 23700 100 0.0030503565 0.0030503565 0.0027392305 5.9716835e-05 - 23800 100 0.0021564041 0.0021564041 0.0022097768 0.00028317769 - 23900 100 0.0018905956 0.0018905956 0.0020002233 4.5205733e-05 - 24000 100 0.0015705513 0.0015705513 0.0017262538 0.00026550225 - 24100 100 0.0013341334 0.0013341334 0.0015663921 4.8307183e-05 - 24200 100 0.0012426828 0.0012426828 0.0014960127 5.5195907e-05 - 24300 100 0.0011933799 0.0011933799 0.0014508697 5.2781568e-05 - 24400 100 0.0010126015 0.0010126015 0.0012821281 0.00011096457 - 24500 100 0.00094102576 0.00094102576 0.0012265703 3.3454252e-05 - 24600 100 0.00092243997 0.00092243997 0.0011970533 3.7288789e-05 - 24700 100 0.00080565605 0.00080565605 0.0010864406 0.00015797228 - 24800 100 0.00075303124 0.00075303124 0.0010103671 5.4727635e-05 - 24900 100 0.00074808599 0.00074808599 0.0010053951 8.6607732e-05 - 25000 100 0.00071720457 0.00071720457 0.00096622937 0.00015861964 -Loop time of 0.0845534 on 1 procs for 5000 steps with 100 atoms - -Performance: 25545994.179 tau/day, 59134.246 timesteps/s, 5.913 Matom-step/s -90.2% CPU use with 1 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0091411 | 0.0091411 | 0.0091411 | 0.0 | 10.81 -Neigh | 0.013557 | 0.013557 | 0.013557 | 0.0 | 16.03 -Comm | 0.0056205 | 0.0056205 | 0.0056205 | 0.0 | 6.65 -Output | 0.0005087 | 0.0005087 | 0.0005087 | 0.0 | 0.60 -Modify | 0.045578 | 0.045578 | 0.045578 | 0.0 | 53.90 -Other | | 0.01015 | | | 12.00 - -Nlocal: 100 ave 100 max 100 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 151 ave 151 max 151 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 151 -Ave neighs/atom = 1.51 -Neighbor list builds = 286 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/granregion/log.15Sep22.granregion.box.g++.4 b/examples/granregion/log.15Sep22.granregion.box.g++.4 deleted file mode 100644 index 3e83d3bb04..0000000000 --- a/examples/granregion/log.15Sep22.granregion.box.g++.4 +++ /dev/null @@ -1,493 +0,0 @@ -LAMMPS (15 Sep 2022) -# pouring spheres into container box - -units lj -atom_style sphere -boundary f f f -dimension 3 -comm_modify vel yes - -region box block -10 10 -10 10 -10 10 units box -create_box 2 box -Created orthogonal box = (-10 -10 -10) to (10 10 10) - 1 by 2 by 2 MPI processor grid - -pair_style hybrid gran/hooke 4000.0 NULL 100.0 NULL 0.5 1 -pair_coeff * * gran/hooke - -region container block -6 6 -6 6 -6 6 units box -fix container all wall/gran/region hooke/history 4000.0 NULL 100.0 NULL 0.5 1 region container - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -fix 2 all nve/sphere -fix 3 all gravity 1.0 vector 0 0 -1 - -region slab block -2 2 -2 2 -2 2 units box -fix ins all pour 100 2 4767548 vol 0.4 10 diam one 1.0 region slab ignore -Particle insertion: 48 every 566 steps, 100 by step 1133 - -timestep 0.005 - -compute 1 all temp -compute_modify 1 dynamic/dof yes - -compute 2 all temp/sphere -compute_modify 2 dynamic/dof yes - -thermo 100 -thermo_style custom step atoms temp c_1 c_2 press -thermo_modify lost ignore -compute_modify thermo_temp dynamic/dof yes - -#dump 2 all image 100 image.*.jpg type type # zoom 1.4 adiam 1.0 box no 0.0 axes yes 0.9 0.03 -#dump_modify 2 pad 5 - -run 5000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.3 - ghost atom cutoff = 1.3 - binsize = 0.65, bins = 31 31 31 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair gran/hooke, perpetual - attributes: half, newton on, size - pair build: half/size/bin/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 0.4843 | 0.4843 | 0.4843 Mbytes - Step Atoms Temp c_1 c_2 Press - 0 0 0 0 0 0 -WARNING: Less insertions than requested (../fix_pour.cpp:681) - 100 30 0.803783 0.803783 0.39507978 0.0029137134 - 200 30 1.1967995 1.1967995 0.5882574 0.0043383984 - 300 30 1.2814686 1.2814686 0.62987441 0.0046453238 - 400 30 0.82331082 0.82331082 0.41173176 0.0029845017 - 500 30 0.7708462 0.7708462 0.38777784 0.0043831147 -WARNING: Less insertions than requested (../fix_pour.cpp:681) - 600 64 0.51564897 0.51564897 0.26631577 0.0040059368 - 700 64 0.57239348 0.57239348 0.29566901 0.0045075987 - 800 64 0.61837087 0.61837087 0.32195387 0.0048123564 - 900 64 0.53061888 0.53061888 0.28564763 0.0055906552 - 1000 64 0.496299 0.496299 0.26801572 0.0061169128 - 1100 64 0.46068308 0.46068308 0.24699057 0.0055717699 -WARNING: Less insertions than requested (../fix_pour.cpp:681) - 1200 99 0.39206225 0.39206225 0.21356546 0.0066294211 - 1300 99 0.38624966 0.38624966 0.21345854 0.0049051051 - 1400 99 0.35615284 0.35615284 0.19785725 0.0046170774 - 1500 99 0.31486691 0.31486691 0.17429054 0.0064903404 - 1600 99 0.26369 0.26369 0.15095263 0.0045226821 - 1700 100 0.19259352 0.19259352 0.11308184 0.0073603886 - 1800 100 0.1372448 0.1372448 0.083273652 0.0058163062 - 1900 100 0.077253038 0.077253038 0.053166156 0.0017440856 - 2000 100 0.065472093 0.065472093 0.04375349 0.0018416047 - 2100 100 0.057213469 0.057213469 0.037773954 0.001226231 - 2200 100 0.058857437 0.058857437 0.0372655 0.00090812381 - 2300 100 0.035066108 0.035066108 0.025934054 0.00072114554 - 2400 100 0.021272125 0.021272125 0.016635107 0.0018506654 - 2500 100 0.015530432 0.015530432 0.012533546 0.0013883971 - 2600 100 0.012603946 0.012603946 0.0096981459 0.00038648118 - 2700 100 0.0097347475 0.0097347475 0.0076016624 0.00057313888 - 2800 100 0.0067081771 0.0067081771 0.0056944431 0.00085080075 - 2900 100 0.0089177981 0.0089177981 0.0065036822 0.00028986539 - 3000 100 0.0057840287 0.0057840287 0.0044989265 0.00016111737 - 3100 100 0.0038909621 0.0038909621 0.0031511938 0.0001708892 - 3200 100 0.0029043214 0.0029043214 0.0025807767 9.2473673e-05 - 3300 100 0.0022769336 0.0022769336 0.0021487157 0.00022312666 - 3400 100 0.0015571397 0.0015571397 0.0016669068 0.0003381372 - 3500 100 0.0015978184 0.0015978184 0.001707772 4.9930818e-05 - 3600 100 0.0023358916 0.0023358916 0.0020709426 9.7687609e-05 - 3700 100 0.0011186736 0.0011186736 0.0012146914 9.3338234e-05 - 3800 100 0.0011657036 0.0011657036 0.0012313764 3.1931251e-05 - 3900 100 0.0014998387 0.0014998387 0.0014015491 2.4226798e-05 - 4000 100 0.0010858335 0.0010858335 0.0010623286 1.6359241e-05 - 4100 100 0.0010464314 0.0010464314 0.0010123557 1.2949588e-05 - 4200 100 0.0010022428 0.0010022428 0.00097338971 1.2402332e-05 - 4300 100 0.00080622372 0.00080622372 0.00084329652 0.00033857037 - 4400 100 0.00073613921 0.00073613921 0.00078373608 1.0103949e-05 - 4500 100 0.00071402196 0.00071402196 0.00076658004 8.8360218e-06 - 4600 100 0.00064851765 0.00064851765 0.00071533461 1.0736438e-05 - 4700 100 0.00061146699 0.00061146699 0.00068274687 4.1341755e-06 - 4800 100 0.00059511472 0.00059511472 0.0006625527 7.3645447e-06 - 4900 100 0.00057700347 0.00057700347 0.0006468562 1.5411897e-05 - 5000 100 0.00056205001 0.00056205001 0.00063592505 7.8813845e-06 -Loop time of 0.0856033 on 4 procs for 5000 steps with 100 atoms - -Performance: 25232672.400 tau/day, 58408.964 timesteps/s, 5.841 Matom-step/s -88.4% CPU use with 4 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0034695 | 0.0050634 | 0.0068805 | 2.2 | 5.91 -Neigh | 0.0016916 | 0.0024175 | 0.0032212 | 1.5 | 2.82 -Comm | 0.020003 | 0.026482 | 0.033796 | 3.5 | 30.94 -Output | 0.0010864 | 0.001327 | 0.0014374 | 0.4 | 1.55 -Modify | 0.0067352 | 0.015857 | 0.025751 | 7.2 | 18.52 -Other | | 0.03446 | | | 40.25 - -Nlocal: 25 ave 53 max 0 min -Histogram: 2 0 0 0 0 0 0 0 1 1 -Nghost: 4 ave 8 max 0 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Neighs: 40.5 ave 92 max 0 min -Histogram: 2 0 0 0 0 0 0 1 0 1 - -Total # of neighbors = 162 -Ave neighs/atom = 1.62 -Neighbor list builds = 288 -Dangerous builds = 0 - -region container delete -variable theta equal (step-5000)*(4.0*PI/5000) -region container block -6 6 -6 6 -6 6 units box rotate v_theta 0 0 0 0 0 1 -run 5000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.3 - ghost atom cutoff = 1.3 - binsize = 0.65, bins = 31 31 31 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair gran/hooke, perpetual - attributes: half, newton on, size - pair build: half/size/bin/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.609 | 5.672 | 5.734 Mbytes - Step Atoms Temp c_1 c_2 Press - 5000 100 0.00056205001 0.00056205001 0.00063592505 7.871665e-06 - 5100 100 0.59585977 0.59585977 0.32464933 0.0141718 - 5200 100 0.67306764 0.67306764 0.35872096 0.013373672 - 5300 100 0.76065187 0.76065187 0.39925025 0.011460301 - 5400 100 0.87984446 0.87984446 0.45261417 0.013937042 - 5500 100 0.95548319 0.95548319 0.48706892 0.013601658 - 5600 100 0.9993278 0.9993278 0.50830306 0.015663766 - 5700 100 1.0449415 1.0449415 0.52967249 0.016797841 - 5800 100 1.0767598 1.0767598 0.54508699 0.016128855 - 5900 100 1.118688 1.118688 0.56530849 0.016830117 - 6000 100 1.1535698 1.1535698 0.58290663 0.01715335 - 6100 100 1.1753828 1.1753828 0.59419088 0.019273207 - 6200 100 1.1994171 1.1994171 0.60433264 0.018391566 - 6300 100 1.2244707 1.2244707 0.61626199 0.018842556 - 6400 100 1.2507994 1.2507994 0.62829386 0.019538413 - 6500 100 1.2684644 1.2684644 0.63747702 0.020794729 - 6600 100 1.2704726 1.2704726 0.63929889 0.020253985 - 6700 100 1.2737302 1.2737302 0.63970688 0.020858602 - 6800 100 1.287922 1.287922 0.64460894 0.021589773 - 6900 100 1.3028782 1.3028782 0.65197802 0.02135295 - 7000 100 1.306633 1.306633 0.65371741 0.021291182 - 7100 100 1.3161393 1.3161393 0.65785404 0.022554896 - 7200 100 1.3228158 1.3228158 0.6609031 0.021811977 - 7300 100 1.3245632 1.3245632 0.66161966 0.02206776 - 7400 100 1.3266822 1.3266822 0.662738 0.022070761 - 7500 100 1.3265138 1.3265138 0.6624472 0.021944768 - 7600 100 1.3286802 1.3286802 0.66338775 0.0219393 - 7700 100 1.332829 1.332829 0.66547051 0.022142398 - 7800 100 1.3323535 1.3323535 0.66534513 0.022787777 - 7900 100 1.3372424 1.3372424 0.66777556 0.02192759 - 8000 100 1.3396201 1.3396201 0.66910123 0.022439596 - 8100 100 1.3422271 1.3422271 0.67060566 0.023784952 - 8200 100 1.3468062 1.3468062 0.6728991 0.02243345 - 8300 100 1.3439408 1.3439408 0.6717529 0.022312339 - 8400 100 1.3484134 1.3484134 0.67346027 0.022770922 - 8500 100 1.3490032 1.3490032 0.67378177 0.022427863 - 8600 100 1.349789 1.349789 0.67398897 0.022494049 - 8700 100 1.3513512 1.3513512 0.67475613 0.022413559 - 8800 100 1.3535168 1.3535168 0.67589784 0.022356566 - 8900 100 1.3505765 1.3505765 0.67442168 0.022240615 - 9000 100 1.3499918 1.3499918 0.67419831 0.02226049 - 9100 100 1.3518103 1.3518103 0.67489482 0.022399038 - 9200 100 1.3526275 1.3526275 0.67529852 0.022395079 - 9300 100 1.353741 1.353741 0.67585205 0.022471008 - 9400 100 1.3538758 1.3538758 0.67589523 0.022461734 - 9500 100 1.3537199 1.3537199 0.67586527 0.022370169 - 9600 100 1.3539788 1.3539788 0.67602899 0.022400771 - 9700 100 1.3544874 1.3544874 0.67619552 0.022648464 - 9800 100 1.3555422 1.3555422 0.67666186 0.022367319 - 9900 100 1.3560106 1.3560106 0.6768751 0.02236585 - 10000 100 1.3563578 1.3563578 0.6770434 0.022359307 -Loop time of 0.139615 on 4 procs for 5000 steps with 100 atoms - -Performance: 15471121.710 tau/day, 35812.782 timesteps/s, 3.581 Matom-step/s -89.9% CPU use with 4 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0034672 | 0.011349 | 0.019511 | 7.2 | 8.13 -Neigh | 0.0032972 | 0.0053674 | 0.0074946 | 2.8 | 3.84 -Comm | 0.011049 | 0.018572 | 0.027876 | 5.6 | 13.30 -Output | 0.0010807 | 0.0015593 | 0.0018738 | 0.8 | 1.12 -Modify | 0.013556 | 0.040435 | 0.066715 | 13.0 | 28.96 -Other | | 0.06233 | | | 44.65 - -Nlocal: 25 ave 52 max 0 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Nghost: 3 ave 6 max 0 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Neighs: 48.25 ave 109 max 0 min -Histogram: 2 0 0 0 0 0 0 1 0 1 - -Total # of neighbors = 193 -Ave neighs/atom = 1.93 -Neighbor list builds = 626 -Dangerous builds = 0 - -region container delete -region container block -6 6 -6 6 -6 6 units box -run 5000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 5.609 | 5.672 | 5.735 Mbytes - Step Atoms Temp c_1 c_2 Press - 10000 100 1.3563578 1.3563578 0.6770434 0.022433108 - 10100 100 0.32881547 0.32881547 0.18968913 0.0063460187 - 10200 100 0.19880113 0.19880113 0.12812646 0.0074601538 - 10300 100 0.12614062 0.12614062 0.090121373 0.0028337336 - 10400 100 0.088358363 0.088358363 0.067236815 0.0020269846 - 10500 100 0.071199344 0.071199344 0.055567135 0.0016191769 - 10600 100 0.053909616 0.053909616 0.042301996 0.00098643468 - 10700 100 0.039560745 0.039560745 0.032482256 0.00089240864 - 10800 100 0.032130432 0.032130432 0.02705329 0.00058669881 - 10900 100 0.02462494 0.02462494 0.021121496 0.0017376127 - 11000 100 0.020941068 0.020941068 0.017866781 0.00031112553 - 11100 100 0.016775675 0.016775675 0.014620214 0.00026856842 - 11200 100 0.015005732 0.015005732 0.012803923 0.00067036626 - 11300 100 0.012099209 0.012099209 0.010308221 0.00032666902 - 11400 100 0.010559421 0.010559421 0.0090243729 0.00013645685 - 11500 100 0.0093738615 0.0093738615 0.0080176514 0.00098541099 - 11600 100 0.0081900702 0.0081900702 0.0070256953 0.00025935992 - 11700 100 0.0068100165 0.0068100165 0.0058703223 0.00014866816 - 11800 100 0.0060475708 0.0060475708 0.0052518105 0.00017895168 - 11900 100 0.0055607485 0.0055607485 0.0047184164 0.00011358846 - 12000 100 0.0053149064 0.0053149064 0.0045168418 0.00015222428 - 12100 100 0.0050909525 0.0050909525 0.0043196952 6.3000537e-05 - 12200 100 0.0041810842 0.0041810842 0.0036835522 4.6423956e-05 - 12300 100 0.0034305227 0.0034305227 0.0031222649 0.00020251115 - 12400 100 0.0031763077 0.0031763077 0.0028956456 0.00030307787 - 12500 100 0.0027440829 0.0027440829 0.0025087304 0.00010418607 - 12600 100 0.0024581964 0.0024581964 0.0022200229 3.042018e-05 - 12700 100 0.002259527 0.002259527 0.0020708869 4.192368e-05 - 12800 100 0.0019143448 0.0019143448 0.0018088032 4.6200439e-05 - 12900 100 0.0017935964 0.0017935964 0.0017028317 2.2195756e-05 - 13000 100 0.0017286429 0.0017286429 0.0016396753 2.3108871e-05 - 13100 100 0.0017055291 0.0017055291 0.0016122058 2.2444611e-05 - 13200 100 0.0016539275 0.0016539275 0.0015570166 2.0467353e-05 - 13300 100 0.0015777788 0.0015777788 0.0014852505 1.9525012e-05 - 13400 100 0.0015372199 0.0015372199 0.0014497102 2.3203566e-05 - 13500 100 0.0015066638 0.0015066638 0.0014097203 1.8644964e-05 - 13600 100 0.0012290618 0.0012290618 0.0012056216 1.3235643e-05 - 13700 100 0.0011781948 0.0011781948 0.0011685226 3.4312262e-05 - 13800 100 0.0011530136 0.0011530136 0.0011433171 2.8832126e-05 - 13900 100 0.0011085224 0.0011085224 0.0011052764 1.444139e-05 - 14000 100 0.0010656788 0.0010656788 0.0010702461 1.3187775e-05 - 14100 100 0.001029277 0.001029277 0.0010469537 1.2837267e-05 - 14200 100 0.0009750904 0.0009750904 0.0009915384 1.209089e-05 - 14300 100 0.00094893337 0.00094893337 0.00096909301 1.1743051e-05 - 14400 100 0.00087708427 0.00087708427 0.00087575318 1.9027338e-05 - 14500 100 0.00086229913 0.00086229913 0.0008643568 1.0670952e-05 - 14600 100 0.00084206808 0.00084206808 0.0008268172 3.2391722e-05 - 14700 100 0.00077682873 0.00077682873 0.00077186085 9.6132555e-06 - 14800 100 0.00074736908 0.00074736908 0.00074958372 9.2486924e-06 - 14900 100 0.00074456847 0.00074456847 0.00074779946 9.2140349e-06 - 15000 100 0.00073830282 0.00073830282 0.0007426924 9.1364974e-06 -Loop time of 0.0808149 on 4 procs for 5000 steps with 100 atoms - -Performance: 26727738.394 tau/day, 61869.765 timesteps/s, 6.187 Matom-step/s -86.6% CPU use with 4 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0034354 | 0.0050332 | 0.0069329 | 2.2 | 6.23 -Neigh | 0.00051999 | 0.00084906 | 0.0012075 | 0.0 | 1.05 -Comm | 0.0063631 | 0.014527 | 0.023754 | 6.8 | 17.98 -Output | 0.0010373 | 0.001342 | 0.001464 | 0.5 | 1.66 -Modify | 0.0051837 | 0.017338 | 0.031605 | 9.3 | 21.45 -Other | | 0.04173 | | | 51.63 - -Nlocal: 25 ave 53 max 0 min -Histogram: 2 0 0 0 0 0 0 0 1 1 -Nghost: 3.75 ave 8 max 0 min -Histogram: 2 0 0 0 0 0 0 0 1 1 -Neighs: 39.25 ave 82 max 0 min -Histogram: 2 0 0 0 0 0 0 0 0 2 - -Total # of neighbors = 157 -Ave neighs/atom = 1.57 -Neighbor list builds = 100 -Dangerous builds = 0 - -region container delete -variable theta equal (step-15000)*(4.0*PI/5000) -region container block -6 6 -6 6 -6 6 units box rotate v_theta 0 0 0 1 1 1 -run 5000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 5.609 | 5.672 | 5.735 Mbytes - Step Atoms Temp c_1 c_2 Press - 15000 100 0.00073830282 0.00073830282 0.0007426924 9.1364974e-06 - 15100 100 1.1048281 1.1048281 0.7023727 0.018379275 - 15200 100 1.2022249 1.2022249 0.77748962 0.015662439 - 15300 100 1.2561351 1.2561351 0.82563065 0.01835048 - 15400 100 1.4372446 1.4372446 0.92907923 0.02087065 - 15500 100 1.6414713 1.6414713 1.0284489 0.025654324 - 15600 100 1.7844655 1.7844655 1.0861866 0.025170346 - 15700 100 2.034248 2.034248 1.2017171 0.040341642 - 15800 100 2.1253699 2.1253699 1.2228657 0.029297194 - 15900 100 2.1940232 2.1940232 1.2470589 0.033866758 - 16000 100 2.2624419 2.2624419 1.2828225 0.030063645 - 16100 100 2.3208536 2.3208536 1.3118956 0.0323489 - 16200 100 2.3564971 2.3564971 1.3261173 0.032882494 - 16300 100 2.3956066 2.3956066 1.3260307 0.03292972 - 16400 100 2.5025831 2.5025831 1.3817693 0.031132988 - 16500 100 2.5947914 2.5947914 1.4152657 0.036126782 - 16600 100 2.7688769 2.7688769 1.4975686 0.037497127 - 16700 100 2.812503 2.812503 1.5216659 0.039316167 - 16800 100 2.8977424 2.8977424 1.5599254 0.039996029 - 16900 100 3.045802 3.045802 1.6332888 0.041406156 - 17000 100 3.2195366 3.2195366 1.7247171 0.040023634 - 17100 100 3.2597294 3.2597294 1.7527958 0.04828292 - 17200 100 3.293587 3.293587 1.7693254 0.044001441 - 17300 100 3.1861836 3.1861836 1.7142076 0.049158822 - 17400 100 3.4593561 3.4593561 1.8426619 0.053469673 - 17500 100 3.3813767 3.3813767 1.8079958 0.058776299 - 17600 100 3.5834203 3.5834203 1.9094759 0.053256842 - 17700 100 3.2243306 3.2243306 1.7425111 0.064354789 - 17800 100 3.358228 3.358228 1.8202932 0.046798524 - 17900 100 3.2257908 3.2257908 1.7678964 0.043655204 - 18000 100 3.237732 3.237732 1.7598181 0.050850672 - 18100 100 3.2042441 3.2042441 1.751979 0.045582006 - 18200 100 3.1562775 3.1562775 1.7336068 0.042210739 - 18300 100 3.2630507 3.2630507 1.7925333 0.046412778 - 18400 100 3.4150588 3.4150588 1.8668408 0.044386435 - 18500 100 3.4913198 3.4913198 1.9125495 0.043329829 - 18600 100 3.5290036 3.5290036 1.9184098 0.048302721 - 18700 100 3.4852698 3.4852698 1.8865833 0.059566124 - 18800 100 3.7157551 3.7157551 2.0082235 0.051356305 - 18900 100 3.9504619 3.9504619 2.1377018 0.051553987 - 19000 100 3.9711274 3.9711274 2.1549121 0.051555312 - 19100 100 3.90954 3.90954 2.1135174 0.0548311 - 19200 100 4.0672819 4.0672819 2.1837089 0.064431553 - 19300 100 3.998355 3.998355 2.1572884 0.056830399 - 19400 100 3.9172127 3.9172127 2.1130164 0.051264041 - 19500 100 3.9120291 3.9120291 2.1088399 0.052545115 - 19600 100 3.8613614 3.8613614 2.0752883 0.055466569 - 19700 100 3.8428824 3.8428824 2.0787804 0.05129261 - 19800 100 3.5686751 3.5686751 1.9356553 0.059177256 - 19900 100 3.5573788 3.5573788 1.9430183 0.054618794 - 20000 100 3.5453022 3.5453022 1.9413343 0.047640543 -Loop time of 0.13841 on 4 procs for 5000 steps with 100 atoms - -Performance: 15605800.739 tau/day, 36124.539 timesteps/s, 3.612 Matom-step/s -89.0% CPU use with 4 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0047469 | 0.0062771 | 0.0080644 | 1.5 | 4.54 -Neigh | 0.0062517 | 0.0079248 | 0.0094271 | 1.3 | 5.73 -Comm | 0.047109 | 0.048595 | 0.050543 | 0.6 | 35.11 -Output | 0.0011807 | 0.0013428 | 0.0015517 | 0.4 | 0.97 -Modify | 0.022766 | 0.033256 | 0.039993 | 3.5 | 24.03 -Other | | 0.04101 | | | 29.63 - -Nlocal: 25 ave 36 max 13 min -Histogram: 1 0 0 0 1 0 1 0 0 1 -Nghost: 5 ave 9 max 2 min -Histogram: 1 0 1 0 1 0 0 0 0 1 -Neighs: 37.5 ave 53 max 15 min -Histogram: 1 0 0 0 0 1 0 1 0 1 - -Total # of neighbors = 150 -Ave neighs/atom = 1.5 -Neighbor list builds = 913 -Dangerous builds = 0 - -region container delete -region container block -6 6 -6 6 -6 6 units box -run 5000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 5.734 | 5.735 | 5.735 Mbytes - Step Atoms Temp c_1 c_2 Press - 20000 100 3.5453022 3.5453022 1.9413343 0.047178052 - 20100 100 1.0878587 1.0878587 0.68666704 0.016139979 - 20200 100 1.0230655 1.0230655 0.63593494 0.014642345 - 20300 100 0.94958824 0.94958824 0.59306601 0.011745659 - 20400 100 0.93038108 0.93038108 0.57232527 0.01154829 - 20500 100 0.92183816 0.92183816 0.55466942 0.01212559 - 20600 100 1.0175846 1.0175846 0.59940035 0.013815361 - 20700 100 1.0564615 1.0564615 0.60726745 0.013073711 - 20800 100 0.99967869 0.99967869 0.57665019 0.012450813 - 20900 100 0.97051084 0.97051084 0.5574217 0.015686955 - 21000 100 0.639185 0.639185 0.37441942 0.017594616 - 21100 100 0.24979014 0.24979014 0.17121567 0.0084027295 - 21200 100 0.15147941 0.15147941 0.11124349 0.0030435746 - 21300 100 0.13117502 0.13117502 0.091432638 0.0029110318 - 21400 100 0.11158272 0.11158272 0.076264692 0.0021951204 - 21500 100 0.056660993 0.056660993 0.043503807 0.0010993096 - 21600 100 0.028640836 0.028640836 0.026000267 0.0010440792 - 21700 100 0.025816483 0.025816483 0.021922896 0.00081674646 - 21800 100 0.023929555 0.023929555 0.019936972 0.0010383614 - 21900 100 0.022271339 0.022271339 0.017947505 0.0014630387 - 22000 100 0.019277834 0.019277834 0.015483116 0.00058751407 - 22100 100 0.019997809 0.019997809 0.015919504 0.00064176101 - 22200 100 0.015870543 0.015870543 0.01244838 0.0004205505 - 22300 100 0.011797587 0.011797587 0.0096491363 0.00034907063 - 22400 100 0.010745212 0.010745212 0.008874218 0.00035427537 - 22500 100 0.0082372399 0.0082372399 0.0071217811 0.00028179943 - 22600 100 0.007942576 0.007942576 0.0067248822 0.001507115 - 22700 100 0.0061733667 0.0061733667 0.0053092324 0.00056018554 - 22800 100 0.0058287651 0.0058287651 0.004972189 0.00023807695 - 22900 100 0.0051352339 0.0051352339 0.004324157 0.00020849263 - 23000 100 0.0040107769 0.0040107769 0.0035769703 0.00022626101 - 23100 100 0.0040288854 0.0040288854 0.0034355474 0.00019107621 - 23200 100 0.003277858 0.003277858 0.0030013165 0.00016119888 - 23300 100 0.0033633749 0.0033633749 0.0030188927 0.00014459404 - 23400 100 0.003468042 0.003468042 0.0030079205 0.00013778427 - 23500 100 0.0027616702 0.0027616702 0.0024994596 0.00011834915 - 23600 100 0.0022531303 0.0022531303 0.0021182802 0.0002279623 - 23700 100 0.002067768 0.002067768 0.0019631752 0.00014341503 - 23800 100 0.0020069255 0.0020069255 0.0019209587 0.00010673435 - 23900 100 0.0019630617 0.0019630617 0.0018748221 0.00011856923 - 24000 100 0.0018800646 0.0018800646 0.0018190347 0.00010707562 - 24100 100 0.0018028137 0.0018028137 0.0017067233 0.00010884117 - 24200 100 0.0017278932 0.0017278932 0.0016251004 0.00013664683 - 24300 100 0.0016373288 0.0016373288 0.0015529481 0.00010025414 - 24400 100 0.0019876848 0.0019876848 0.0016912033 0.00011235942 - 24500 100 0.0013677345 0.0013677345 0.0012839488 7.8669645e-05 - 24600 100 0.0012852614 0.0012852614 0.0012065052 0.00010172361 - 24700 100 0.0011145002 0.0011145002 0.0010748344 7.5021689e-05 - 24800 100 0.0012860792 0.0012860792 0.0011429675 5.7939624e-05 - 24900 100 0.00097198499 0.00097198499 0.00096175911 5.443837e-05 - 25000 100 0.00096224466 0.00096224466 0.00095159089 5.4245409e-05 -Loop time of 0.0846408 on 4 procs for 5000 steps with 100 atoms - -Performance: 25519602.289 tau/day, 59073.153 timesteps/s, 5.907 Matom-step/s -82.3% CPU use with 4 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0035473 | 0.0055294 | 0.0082454 | 2.7 | 6.53 -Neigh | 0.0016391 | 0.0022521 | 0.0028115 | 1.1 | 2.66 -Comm | 0.014697 | 0.021565 | 0.029045 | 4.1 | 25.48 -Output | 0.0010785 | 0.00132 | 0.0014171 | 0.4 | 1.56 -Modify | 0.0059648 | 0.01618 | 0.027615 | 7.9 | 19.12 -Other | | 0.03779 | | | 44.65 - -Nlocal: 25 ave 56 max 0 min -Histogram: 2 0 0 0 0 0 0 1 0 1 -Nghost: 5.5 ave 12 max 0 min -Histogram: 2 0 0 0 0 0 0 0 1 1 -Neighs: 40 ave 101 max 0 min -Histogram: 2 0 0 0 0 1 0 0 0 1 - -Total # of neighbors = 160 -Ave neighs/atom = 1.6 -Neighbor list builds = 275 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/granregion/log.15Sep22.granregion.funnel.g++.1 b/examples/granregion/log.15Sep22.granregion.funnel.g++.1 deleted file mode 100644 index fc60ca4928..0000000000 --- a/examples/granregion/log.15Sep22.granregion.funnel.g++.1 +++ /dev/null @@ -1,633 +0,0 @@ -LAMMPS (15 Sep 2022) -# pour particles into cone-shaped funnel, settle them, let them run out bottom - -variable name string funnel_pour - -thermo_modify flush yes -units si -variable PI equal 3.141592653589 -variable seed equal 14314 - -############################################### -# Geometry-related parameters -############################################### - -variable xlo equal 10 -variable xhi equal 40 -variable ylo equal 10 -variable yhi equal 40 -variable zlo equal -20 -variable zhi equal 50 - -variable xc equal 25 -variable yc equal 25 - -variable zconehi equal 50 -variable zconelo equal 10 -variable zcyllo equal 0 -variable radconelo equal 2 -variable radconehi equal 20 - -################################################ -# Particle sizes -################################################ - -variable rlo equal 0.25 -variable rhi equal 0.5 -variable dlo equal 2.0*${rlo} -variable dlo equal 2.0*0.25 -variable dhi equal 2.0*${rhi} -variable dhi equal 2.0*0.5 - -variable skin equal ${rhi} -variable skin equal 0.5 - -############################################### -# Granular contact parameters -############################################### - -variable coeffRes equal 0.1 -variable coeffFric equal 0.5 - -variable density equal 1.0 -variable EYoung equal 10^5 -variable Poisson equal 2.0/7.0 -variable GShear equal ${EYoung}/(2*(1+${Poisson})) -variable GShear equal 100000/(2*(1+${Poisson})) -variable GShear equal 100000/(2*(1+0.285714285714286)) - -variable gravity equal 1.0 - -variable reff equal 0.5*(${rhi}+${rlo}) -variable reff equal 0.5*(0.5+${rlo}) -variable reff equal 0.5*(0.5+0.25) -variable meff equal ${density}*4.0/3.0*${PI}*${reff}^3 -variable meff equal 1*4.0/3.0*${PI}*${reff}^3 -variable meff equal 1*4.0/3.0*3.141592653589*${reff}^3 -variable meff equal 1*4.0/3.0*3.141592653589*0.375^3 -variable min_mass equal ${density}*4.0/3.0*${PI}*${rlo}*${rlo}*${rlo} -variable min_mass equal 1*4.0/3.0*${PI}*${rlo}*${rlo}*${rlo} -variable min_mass equal 1*4.0/3.0*3.141592653589*${rlo}*${rlo}*${rlo} -variable min_mass equal 1*4.0/3.0*3.141592653589*0.25*${rlo}*${rlo} -variable min_mass equal 1*4.0/3.0*3.141592653589*0.25*0.25*${rlo} -variable min_mass equal 1*4.0/3.0*3.141592653589*0.25*0.25*0.25 -variable max_mass equal ${density}*4.0/3.0*${PI}*${rhi}*${rhi}*${rhi} -variable max_mass equal 1*4.0/3.0*${PI}*${rhi}*${rhi}*${rhi} -variable max_mass equal 1*4.0/3.0*3.141592653589*${rhi}*${rhi}*${rhi} -variable max_mass equal 1*4.0/3.0*3.141592653589*0.5*${rhi}*${rhi} -variable max_mass equal 1*4.0/3.0*3.141592653589*0.5*0.5*${rhi} -variable max_mass equal 1*4.0/3.0*3.141592653589*0.5*0.5*0.5 - -## Typical way to set kn, kt, etc.: -variable kn equal 4.0*${GShear}/(3*(1-${Poisson})) -variable kn equal 4.0*38888.8888888889/(3*(1-${Poisson})) -variable kn equal 4.0*38888.8888888889/(3*(1-0.285714285714286)) -variable kt equal 4.0*${GShear}/(2-${Poisson}) -variable kt equal 4.0*38888.8888888889/(2-${Poisson}) -variable kt equal 4.0*38888.8888888889/(2-0.285714285714286) - -variable a equal (-2.0*log(${coeffRes})/${PI})^2 -variable a equal (-2.0*log(0.1)/${PI})^2 -variable a equal (-2.0*log(0.1)/3.141592653589)^2 -variable gamma_n equal sqrt($a*2*${kn}/${min_mass}/(1+0.25*$a)) -variable gamma_n equal sqrt(0.405284734569556*2*${kn}/${min_mass}/(1+0.25*$a)) -variable gamma_n equal sqrt(0.405284734569556*2*72592.5925925926/${min_mass}/(1+0.25*$a)) -variable gamma_n equal sqrt(0.405284734569556*2*72592.5925925926/0.0654498469497708/(1+0.25*$a)) -variable gamma_n equal sqrt(0.405284734569556*2*72592.5925925926/0.0654498469497708/(1+0.25*0.405284734569556)) -variable gamma_t equal ${gamma_n}*0.5 -variable gamma_t equal 903.503751814138*0.5 - -variable tcol equal ${PI}/sqrt(2*${kn}/${min_mass}-${gamma_n}/4.0) -variable tcol equal 3.141592653589/sqrt(2*${kn}/${min_mass}-${gamma_n}/4.0) -variable tcol equal 3.141592653589/sqrt(2*72592.5925925926/${min_mass}-${gamma_n}/4.0) -variable tcol equal 3.141592653589/sqrt(2*72592.5925925926/0.0654498469497708-${gamma_n}/4.0) -variable tcol equal 3.141592653589/sqrt(2*72592.5925925926/0.0654498469497708-903.503751814138/4.0) - -variable dt equal ${tcol}*0.05 -variable dt equal 0.00210943016014969*0.05 -timestep ${dt} -timestep 0.000105471508007485 - -############################################### -variable dumpfreq equal 1000 -variable logfreq equal 1000 - -newton off -atom_style sphere - -boundary p p f - -region boxreg block ${xlo} ${xhi} ${ylo} ${yhi} ${zlo} ${zhi} -region boxreg block 10 ${xhi} ${ylo} ${yhi} ${zlo} ${zhi} -region boxreg block 10 40 ${ylo} ${yhi} ${zlo} ${zhi} -region boxreg block 10 40 10 ${yhi} ${zlo} ${zhi} -region boxreg block 10 40 10 40 ${zlo} ${zhi} -region boxreg block 10 40 10 40 -20 ${zhi} -region boxreg block 10 40 10 40 -20 50 -create_box 1 boxreg -Created orthogonal box = (10 10 -20) to (40 40 50) - 1 by 1 by 1 MPI processor grid - -pair_style gran/hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 -pair_style gran/hertz/history 72592.5925925926 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 -pair_style gran/hertz/history 72592.5925925926 90740.7407407408 ${gamma_n} ${gamma_t} ${coeffFric} 1 -pair_style gran/hertz/history 72592.5925925926 90740.7407407408 903.503751814138 ${gamma_t} ${coeffFric} 1 -pair_style gran/hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 ${coeffFric} 1 -pair_style gran/hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 0.5 1 -pair_coeff * * - -neighbor ${skin} multi -neighbor 0.5 multi -thermo ${logfreq} -thermo 1000 - -comm_style brick -comm_modify mode multi group all vel yes -balance 1.1 shift xyz 20 1.1 -Balancing ... -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 0 - ghost atom cutoff = 0 - binsize = 30, bins = 1 1 3 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair gran/hertz/history, perpetual - attributes: half, newton off, size, history - pair build: half/size/multi/newtoff - stencil: full/multi/3d - bin: multi -WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) -fix bal all balance 10000 1.1 shift xyz 20 1.01 - -####################### Options specific to pouring ######################### - -# insertion region for fix/pour - -region insreg cylinder z ${xc} ${yc} 10 30 50 side in units box -region insreg cylinder z 25 ${yc} 10 30 50 side in units box -region insreg cylinder z 25 25 10 30 50 side in units box - -# define cone and cylinder regions - see lammps doc on region command -# note new open options - -region cylreg cylinder z ${xc} ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 2 #Top is open -region cylreg cylinder z 25 ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 2 -region cylreg cylinder z 25 25 ${radconelo} ${zcyllo} ${zconelo} side in units box open 2 -region cylreg cylinder z 25 25 2 ${zcyllo} ${zconelo} side in units box open 2 -region cylreg cylinder z 25 25 2 0 ${zconelo} side in units box open 2 -region cylreg cylinder z 25 25 2 0 10 side in units box open 2 - -region conereg cone z ${xc} ${yc} ${radconelo} ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2 #Bottom and top are open -region conereg cone z 25 ${yc} ${radconelo} ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2 -region conereg cone z 25 25 ${radconelo} ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2 -region conereg cone z 25 25 2 ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2 -region conereg cone z 25 25 2 20 ${zconelo} ${zconehi} side in units box open 1 open 2 -region conereg cone z 25 25 2 20 10 ${zconehi} side in units box open 1 open 2 -region conereg cone z 25 25 2 20 10 50 side in units box open 1 open 2 - -region hopreg union 2 conereg cylreg - -fix grav all gravity ${gravity} vector 0 0 -1 -fix grav all gravity 1 vector 0 0 -1 -fix 1 all nve/sphere - - -fix hopper3 all wall/gran/region hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 ${gamma_t} ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 0.5 1 region hopreg - -fix ins all pour 2000 1 42424 region insreg diam range ${dlo} ${dhi} dens ${density} ${density} -fix ins all pour 2000 1 42424 region insreg diam range 0.5 ${dhi} dens ${density} ${density} -fix ins all pour 2000 1 42424 region insreg diam range 0.5 1 dens ${density} ${density} -fix ins all pour 2000 1 42424 region insreg diam range 0.5 1 dens 1 ${density} -fix ins all pour 2000 1 42424 region insreg diam range 0.5 1 dens 1 1 -Particle insertion: 3000 every 59965 steps, 2000 by step 1 - -#dump 1 all custom ${dumpfreq} ${name}.dump # id type mass diameter x y z - -#dump 2 all image 4000 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 zoom 3.0 # box no 0.0 axes no 0.0 0.0 -#dump_modify 2 pad 6 - -thermo_style custom step cpu atoms ke -WARNING: New thermo_style command, previous thermo_modify settings will be lost (../output.cpp:896) -thermo_modify flush yes lost warn - -# Initial run to fill up the cone - -run 20000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- neighbor multi command: doi:10.1016/j.cpc.2008.03.005, doi:10.1007/s40571-020-00361-2 - -@Article{Intveld08, - author = {in 't Veld, P. J. and S. J.~Plimpton and G. S. Grest}, - title = {Accurate and Efficient Methods for Modeling Colloidal - Mixtures in an Explicit Solvent using Molecular Dynamics}, - journal = {Comput.\ Phys.\ Commut.}, - year = 2008, - volume = 179, - pages = {320--329} -} - -@article{Shire2020, - author = {Shire, Tom and Hanley, Kevin J. and Stratford, Kevin}, - title = {{DEM} Simulations of Polydisperse Media: Efficient Contact - Detection Applied to Investigate the Quasi-Static Limit}, - journal = {Computational Particle Mechanics}, - year = {2020} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 6.648 | 6.648 | 6.648 Mbytes - Step CPU Atoms KinEng - 0 0 0 -0 - 1000 0.39961733 2000 -0 - 2000 0.61811961 2000 -0 - 3000 0.83512725 2000 -0 - 4000 1.0492881 2000 -0 - 5000 1.2650657 2000 -0 - 6000 1.479921 2000 -0 - 7000 1.6970993 2000 -0 - 8000 1.9107924 2000 -0 - 9000 2.1251713 2000 -0 - 10000 2.3403682 2000 -0 - 11000 2.549912 2000 -0 - 12000 2.7584788 2000 -0 - 13000 2.9712482 2000 -0 - 14000 3.1877015 2000 -0 - 15000 3.4017175 2000 -0 - 16000 3.6127477 2000 -0 - 17000 3.8250134 2000 -0 - 18000 4.0320643 2000 -0 - 19000 4.2371057 2000 -0 - 20000 4.4450882 2000 -0 -Loop time of 4.44512 on 1 procs for 20000 steps with 2000 atoms - -98.7% CPU use with 1 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.40438 | 0.40438 | 0.40438 | 0.0 | 9.10 -Neigh | 0.078634 | 0.078634 | 0.078634 | 0.0 | 1.77 -Comm | 0.01999 | 0.01999 | 0.01999 | 0.0 | 0.45 -Output | 0.00069031 | 0.00069031 | 0.00069031 | 0.0 | 0.02 -Modify | 3.795 | 3.795 | 3.795 | 0.0 | 85.38 -Other | | 0.1464 | | | 3.29 - -Nlocal: 2000 ave 2000 max 2000 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 1607 ave 1607 max 1607 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 1607 -Ave neighs/atom = 0.8035 -Neighbor list builds = 71 -Dangerous builds = 0 -unfix ins -run 150000 -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 12.69 | 12.69 | 12.69 Mbytes - Step CPU Atoms KinEng - 20000 0 2000 6652.2957 - 21000 0.2135317 2000 6807.2201 - 22000 0.4235523 2000 6973.9359 - 23000 0.63502794 2000 7142.3648 - 24000 0.84593615 2000 7276.9717 - 25000 1.0580291 2000 7369.4191 - 26000 1.2719892 2000 7497.6526 - 27000 1.4843056 2000 7638.946 - 28000 1.9685336 2000 7780.0339 - 29000 2.1850097 2000 7881.8177 - 30000 2.4033006 2000 7967.2641 - 31000 2.6219694 2000 7994.9273 - 32000 2.8455468 2000 7937.0671 - 33000 3.0720066 2000 7774.0508 - 34000 3.3070513 2000 7591.1491 - 35000 3.5468777 2000 7357.5176 - 36000 3.7908265 2000 7147.2024 - 37000 4.0388657 2000 6979.1604 - 38000 4.2873223 2000 6813.2152 - 39000 4.5424244 2000 6660.2701 - 40000 4.8055367 2000 6502.8957 - 41000 5.0754561 2000 6324.3951 - 42000 5.3564118 2000 6132.7516 - 43000 5.6357256 2000 5913.1841 - 44000 5.9130645 2000 5732.2095 - 45000 6.1943539 2000 5508.8322 - 46000 6.4862302 2000 5306.8932 - 47000 6.7796417 2000 5152.0521 - 48000 7.0750069 2000 5028.2274 - 49000 7.3705252 2000 4896.102 - 50000 7.6693894 2000 4723.5189 - 51000 7.9685182 2000 4583.7526 - 52000 8.2774033 2000 4447.0187 - 53000 8.591482 2000 4303.2307 - 54000 8.9156439 2000 4168.5251 - 55000 9.2437364 2000 4036.9704 - 56000 9.5745684 2000 3901.1183 - 57000 9.9173689 2000 3716.7071 - 58000 10.270229 2000 3473.5422 - 59000 10.629101 2000 3245.1223 - 60000 10.989479 2000 3039.7845 - 61000 11.349843 2000 2780.0187 - 62000 11.716916 2000 2577.3345 - 63000 12.093666 2000 2346.2488 - 64000 12.474788 2000 2116.7298 - 65000 12.861438 2000 1903.7828 - 66000 13.25464 2000 1631.1676 - 67000 13.658382 2000 1431.0198 - 68000 14.067584 2000 1212.875 - 69000 14.480877 2000 995.45046 - 70000 14.894765 2000 811.54766 - 71000 15.309158 2000 624.08622 - 72000 15.732937 2000 471.00862 - 73000 16.158388 2000 358.33486 - 74000 16.583847 2000 284.39416 - 75000 17.008335 2000 234.26671 - 76000 17.429582 2000 185.61836 - 77000 17.852799 2000 152.95918 - 78000 18.276783 2000 122.49023 - 79000 18.697016 2000 102.29396 - 80000 19.12318 2000 86.284684 - 81000 19.54992 2000 73.984781 - 82000 19.986149 2000 63.042918 - 83000 20.430305 2000 53.338428 - 84000 20.876061 2000 45.89585 - 85000 21.32714 2000 40.412826 - 86000 21.781352 2000 34.183381 - 87000 22.238656 2000 29.671524 - 88000 22.698093 2000 26.90414 - 89000 23.160614 2000 24.362631 - 90000 23.630639 2000 21.887341 - 91000 24.095463 2000 19.985662 - 92000 24.570659 2000 18.728162 - 93000 25.047431 2000 16.99941 - 94000 25.549041 2000 15.71941 - 95000 26.03281 2000 14.744057 - 96000 26.513659 2000 14.214918 - 97000 26.998918 2000 13.450182 - 98000 27.486584 2000 12.79222 - 99000 27.986785 2000 12.10595 - 100000 28.48799 2000 11.281863 - 101000 28.986622 2000 10.025419 - 102000 29.491312 2000 9.9574468 - 103000 29.999421 2000 9.4078117 - 104000 30.507211 2000 8.9079161 - 105000 31.016484 2000 8.6269302 - 106000 31.527511 2000 8.5512649 - 107000 32.042612 2000 8.4703948 - 108000 32.555041 2000 8.2747542 - 109000 33.07064 2000 8.2895118 - 110000 33.593773 2000 8.1785613 - 111000 34.107129 2000 7.8443234 - 112000 34.619185 2000 7.7436124 - 113000 35.13418 2000 7.8118604 - 114000 35.653352 2000 7.3806177 - 115000 36.179577 2000 7.0857235 - 116000 36.69882 2000 7.1346752 - 117000 37.224612 2000 7.0653751 - 118000 37.756738 2000 6.6314104 - 119000 38.283151 2000 6.2169614 - 120000 38.808288 2000 5.8988829 - 121000 39.334913 2000 5.4197277 - 122000 39.862081 2000 4.6381303 - 123000 40.390252 2000 4.4949206 - 124000 40.920744 2000 4.4261118 - 125000 41.4469 2000 4.4223703 - 126000 41.977937 2000 4.4858898 - 127000 42.51483 2000 4.3312536 - 128000 43.046324 2000 3.7124973 - 129000 43.573687 2000 3.5467396 - 130000 44.103102 2000 3.5104139 - 131000 44.629869 2000 3.5725612 - 132000 45.156621 2000 3.669455 - 133000 45.69364 2000 3.6168912 - 134000 46.23133 2000 3.3598517 - 135000 46.765487 2000 3.3743407 - 136000 47.323693 2000 3.1109764 - 137000 47.881617 2000 3.0720146 - 138000 48.439179 2000 3.1303776 - 139000 49.001417 2000 3.2052806 - 140000 49.558061 2000 2.8958882 - 141000 50.097789 2000 2.9931572 - 142000 50.636089 2000 3.0967832 - 143000 51.175873 2000 3.0576365 - 144000 51.706799 2000 3.2016943 - 145000 52.239356 2000 3.3817709 - 146000 52.769944 2000 3.4527239 - 147000 53.30872 2000 3.5928733 - 148000 53.847762 2000 3.7784682 - 149000 54.387455 2000 3.6587944 - 150000 54.931594 2000 3.7945669 - 151000 55.470076 2000 3.5551557 - 152000 56.01448 2000 3.6248848 - 153000 56.552259 2000 3.7361463 - 154000 57.092655 2000 3.8534319 - 155000 57.635767 2000 4.0101408 - 156000 58.180249 2000 3.7670652 - 157000 58.724032 2000 3.1487676 - 158000 59.262015 2000 2.980076 - 159000 59.794312 2000 3.0350592 - 160000 60.331617 2000 3.125389 - 161000 60.861827 2000 2.7516115 - 162000 61.396691 2000 2.413911 - 163000 61.930145 2000 2.297713 - 164000 62.466983 2000 2.3190806 - 165000 63.00535 2000 2.2868879 - 166000 63.546881 2000 2.1658547 - 167000 64.091461 2000 1.7511071 - 168000 64.63141 2000 1.4112478 - 169000 65.17459 2000 1.3623558 - 170000 65.719571 2000 1.3701579 -Loop time of 65.7196 on 1 procs for 150000 steps with 2000 atoms - -98.9% CPU use with 1 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 32.424 | 32.424 | 32.424 | 0.0 | 49.34 -Neigh | 0.65326 | 0.65326 | 0.65326 | 0.0 | 0.99 -Comm | 0.14207 | 0.14207 | 0.14207 | 0.0 | 0.22 -Output | 0.26326 | 0.26326 | 0.26326 | 0.0 | 0.40 -Modify | 31.109 | 31.109 | 31.109 | 0.0 | 47.34 -Other | | 1.128 | | | 1.72 - -Nlocal: 2000 ave 2000 max 2000 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 15308 ave 15308 max 15308 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 15308 -Ave neighs/atom = 7.654 -Neighbor list builds = 367 -Dangerous builds = 0 - -# remove "plug" - need to redefine cylinder region & union - -region cylreg delete -region hopreg delete -region cylreg cylinder z ${xc} ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 1 open 2 #Bottom & top are open -region cylreg cylinder z 25 ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 1 open 2 -region cylreg cylinder z 25 25 ${radconelo} ${zcyllo} ${zconelo} side in units box open 1 open 2 -region cylreg cylinder z 25 25 2 ${zcyllo} ${zconelo} side in units box open 1 open 2 -region cylreg cylinder z 25 25 2 0 ${zconelo} side in units box open 1 open 2 -region cylreg cylinder z 25 25 2 0 10 side in units box open 1 open 2 - -region hopreg union 2 cylreg conereg - -unfix hopper3 -fix hopper3 all wall/gran/region hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 ${gamma_t} ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 0.5 1 region hopreg - -run 100000 -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 12.69 | 12.69 | 12.69 Mbytes - Step CPU Atoms KinEng - 170000 0 2000 1.3701579 - 171000 0.54961146 2000 2.3724823 - 172000 1.0905775 2000 3.5881441 - 173000 1.6190656 2000 5.3771633 - 174000 2.1428619 2000 7.5896471 - 175000 2.6623327 2000 10.77251 - 176000 3.1738773 2000 14.806868 - 177000 3.6751053 2000 19.607624 - 178000 4.17465 2000 25.426227 - 179000 4.6736143 2000 32.23584 - 180000 5.1769137 2000 39.930468 - 181000 5.6766809 2000 47.686304 - 182000 6.1722504 2000 56.506806 - 183000 6.6603586 2000 66.514326 - 184000 7.1473381 2000 77.554644 - 185000 7.6343824 2000 89.224002 - 186000 8.1170225 2000 102.07846 - 187000 8.598305 2000 116.08141 - 188000 9.0708108 2000 130.97964 - 189000 9.5435695 2000 146.77806 - 190000 10.015069 2000 162.79858 - 191000 10.480992 2000 179.02052 - 192000 10.941896 2000 196.26683 - 193000 11.398748 2000 214.38928 - 194000 11.856098 2000 232.32068 - 195000 12.314324 2000 251.74644 - 196000 12.765746 2000 272.25231 - 197000 13.216453 2000 294.64075 - 198000 13.663698 2000 318.32895 - 199000 14.109901 2000 342.44005 - 200000 14.560399 2000 368.35469 - 201000 15.008158 2000 395.2465 - 202000 15.460487 2000 422.63599 - 203000 15.913115 2000 450.45248 - 204000 16.363656 2000 479.60812 - 205000 16.816929 2000 510.44155 - 206000 17.265488 2000 543.25751 - 207000 17.707782 2000 577.35928 - 208000 18.151051 2000 612.29718 - 209000 18.588363 2000 647.8951 - 210000 19.027167 2000 683.79409 - 211000 19.463213 2000 720.36556 - 212000 19.901783 2000 759.27331 - 213000 20.340436 2000 798.27302 - 214000 20.775782 2000 837.93849 - 215000 21.207465 2000 877.92945 - 216000 21.641572 2000 919.62532 - 217000 22.077351 2000 962.83509 - 218000 22.517089 2000 1008.5243 - 219000 22.948683 2000 1054.5769 - 220000 23.381029 2000 1103.1843 - 221000 23.809214 2000 1153.0349 - 222000 24.246127 2000 1204.5599 - 223000 24.677676 2000 1257.1367 - 224000 25.113989 2000 1308.6735 -WARNING: Lost atoms: original 2000 current 1999 (../thermo.cpp:486) - 225000 25.549621 1999 1360.1205 - 226000 25.977155 1998 1404.8405 - 227000 26.406475 1996 1448.4869 - 228000 26.832152 1992 1491.8112 - 229000 27.25327 1985 1518.7013 - 230000 27.672907 1971 1507.6699 - 231000 28.086761 1965 1533.5096 - 232000 28.500134 1948 1489.4128 - 233000 28.912212 1933 1477.4536 - 234000 29.320197 1915 1425.8398 - 235000 29.723669 1904 1410.1451 - 236000 30.124339 1892 1401.7595 - 237000 30.523539 1880 1368.893 - 238000 30.919483 1868 1341.8885 - 239000 31.313194 1850 1286.7968 - 240000 31.711659 1833 1219.5123 - 241000 32.106468 1820 1173.3608 - 242000 32.505486 1806 1106.0727 - 243000 32.905579 1788 1035.912 - 244000 33.303155 1779 1021.6147 - 245000 33.696614 1767 969.40032 - 246000 34.083545 1757 939.12022 - 247000 34.472486 1739 840.9396 - 248000 34.858907 1730 822.06575 - 249000 35.248061 1719 762.11057 - 250000 35.639608 1707 708.50308 - 251000 36.029812 1700 692.12647 - 252000 36.428881 1697 694.5812 - 253000 36.821304 1686 652.36951 - 254000 37.203008 1682 662.95256 - 255000 37.576678 1677 637.34619 - 256000 37.952398 1672 630.71277 - 257000 38.336834 1669 641.87365 - 258000 38.719421 1665 635.862 - 259000 39.104236 1664 658.5339 - 260000 39.484223 1662 669.95468 - 261000 39.861203 1660 676.93495 - 262000 40.240183 1657 681.72646 - 263000 40.614974 1655 687.4078 - 264000 40.99447 1651 681.61352 - 265000 41.368018 1647 673.20622 - 266000 41.740288 1644 677.30073 - 267000 42.111704 1641 671.05897 - 268000 42.479868 1639 689.55776 - 269000 42.851008 1637 711.98809 - 270000 43.22438 1633 705.29974 -Loop time of 43.2244 on 1 procs for 100000 steps with 1633 atoms - -99.2% CPU use with 1 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 22.312 | 22.312 | 22.312 | 0.0 | 51.62 -Neigh | 0.47451 | 0.47451 | 0.47451 | 0.0 | 1.10 -Comm | 0.093822 | 0.093822 | 0.093822 | 0.0 | 0.22 -Output | 0.0028326 | 0.0028326 | 0.0028326 | 0.0 | 0.01 -Modify | 19.626 | 19.626 | 19.626 | 0.0 | 45.40 -Other | | 0.7152 | | | 1.65 - -Nlocal: 1633 ave 1633 max 1633 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 11358 ave 11358 max 11358 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 11358 -Ave neighs/atom = 6.955297 -Neighbor list builds = 244 -Dangerous builds = 0 -Total wall time: 0:01:53 diff --git a/examples/granregion/log.15Sep22.granregion.funnel.g++.4 b/examples/granregion/log.15Sep22.granregion.funnel.g++.4 deleted file mode 100644 index 3c18217deb..0000000000 --- a/examples/granregion/log.15Sep22.granregion.funnel.g++.4 +++ /dev/null @@ -1,633 +0,0 @@ -LAMMPS (15 Sep 2022) -# pour particles into cone-shaped funnel, settle them, let them run out bottom - -variable name string funnel_pour - -thermo_modify flush yes -units si -variable PI equal 3.141592653589 -variable seed equal 14314 - -############################################### -# Geometry-related parameters -############################################### - -variable xlo equal 10 -variable xhi equal 40 -variable ylo equal 10 -variable yhi equal 40 -variable zlo equal -20 -variable zhi equal 50 - -variable xc equal 25 -variable yc equal 25 - -variable zconehi equal 50 -variable zconelo equal 10 -variable zcyllo equal 0 -variable radconelo equal 2 -variable radconehi equal 20 - -################################################ -# Particle sizes -################################################ - -variable rlo equal 0.25 -variable rhi equal 0.5 -variable dlo equal 2.0*${rlo} -variable dlo equal 2.0*0.25 -variable dhi equal 2.0*${rhi} -variable dhi equal 2.0*0.5 - -variable skin equal ${rhi} -variable skin equal 0.5 - -############################################### -# Granular contact parameters -############################################### - -variable coeffRes equal 0.1 -variable coeffFric equal 0.5 - -variable density equal 1.0 -variable EYoung equal 10^5 -variable Poisson equal 2.0/7.0 -variable GShear equal ${EYoung}/(2*(1+${Poisson})) -variable GShear equal 100000/(2*(1+${Poisson})) -variable GShear equal 100000/(2*(1+0.285714285714286)) - -variable gravity equal 1.0 - -variable reff equal 0.5*(${rhi}+${rlo}) -variable reff equal 0.5*(0.5+${rlo}) -variable reff equal 0.5*(0.5+0.25) -variable meff equal ${density}*4.0/3.0*${PI}*${reff}^3 -variable meff equal 1*4.0/3.0*${PI}*${reff}^3 -variable meff equal 1*4.0/3.0*3.141592653589*${reff}^3 -variable meff equal 1*4.0/3.0*3.141592653589*0.375^3 -variable min_mass equal ${density}*4.0/3.0*${PI}*${rlo}*${rlo}*${rlo} -variable min_mass equal 1*4.0/3.0*${PI}*${rlo}*${rlo}*${rlo} -variable min_mass equal 1*4.0/3.0*3.141592653589*${rlo}*${rlo}*${rlo} -variable min_mass equal 1*4.0/3.0*3.141592653589*0.25*${rlo}*${rlo} -variable min_mass equal 1*4.0/3.0*3.141592653589*0.25*0.25*${rlo} -variable min_mass equal 1*4.0/3.0*3.141592653589*0.25*0.25*0.25 -variable max_mass equal ${density}*4.0/3.0*${PI}*${rhi}*${rhi}*${rhi} -variable max_mass equal 1*4.0/3.0*${PI}*${rhi}*${rhi}*${rhi} -variable max_mass equal 1*4.0/3.0*3.141592653589*${rhi}*${rhi}*${rhi} -variable max_mass equal 1*4.0/3.0*3.141592653589*0.5*${rhi}*${rhi} -variable max_mass equal 1*4.0/3.0*3.141592653589*0.5*0.5*${rhi} -variable max_mass equal 1*4.0/3.0*3.141592653589*0.5*0.5*0.5 - -## Typical way to set kn, kt, etc.: -variable kn equal 4.0*${GShear}/(3*(1-${Poisson})) -variable kn equal 4.0*38888.8888888889/(3*(1-${Poisson})) -variable kn equal 4.0*38888.8888888889/(3*(1-0.285714285714286)) -variable kt equal 4.0*${GShear}/(2-${Poisson}) -variable kt equal 4.0*38888.8888888889/(2-${Poisson}) -variable kt equal 4.0*38888.8888888889/(2-0.285714285714286) - -variable a equal (-2.0*log(${coeffRes})/${PI})^2 -variable a equal (-2.0*log(0.1)/${PI})^2 -variable a equal (-2.0*log(0.1)/3.141592653589)^2 -variable gamma_n equal sqrt($a*2*${kn}/${min_mass}/(1+0.25*$a)) -variable gamma_n equal sqrt(0.405284734569556*2*${kn}/${min_mass}/(1+0.25*$a)) -variable gamma_n equal sqrt(0.405284734569556*2*72592.5925925926/${min_mass}/(1+0.25*$a)) -variable gamma_n equal sqrt(0.405284734569556*2*72592.5925925926/0.0654498469497708/(1+0.25*$a)) -variable gamma_n equal sqrt(0.405284734569556*2*72592.5925925926/0.0654498469497708/(1+0.25*0.405284734569556)) -variable gamma_t equal ${gamma_n}*0.5 -variable gamma_t equal 903.503751814138*0.5 - -variable tcol equal ${PI}/sqrt(2*${kn}/${min_mass}-${gamma_n}/4.0) -variable tcol equal 3.141592653589/sqrt(2*${kn}/${min_mass}-${gamma_n}/4.0) -variable tcol equal 3.141592653589/sqrt(2*72592.5925925926/${min_mass}-${gamma_n}/4.0) -variable tcol equal 3.141592653589/sqrt(2*72592.5925925926/0.0654498469497708-${gamma_n}/4.0) -variable tcol equal 3.141592653589/sqrt(2*72592.5925925926/0.0654498469497708-903.503751814138/4.0) - -variable dt equal ${tcol}*0.05 -variable dt equal 0.00210943016014969*0.05 -timestep ${dt} -timestep 0.000105471508007485 - -############################################### -variable dumpfreq equal 1000 -variable logfreq equal 1000 - -newton off -atom_style sphere - -boundary p p f - -region boxreg block ${xlo} ${xhi} ${ylo} ${yhi} ${zlo} ${zhi} -region boxreg block 10 ${xhi} ${ylo} ${yhi} ${zlo} ${zhi} -region boxreg block 10 40 ${ylo} ${yhi} ${zlo} ${zhi} -region boxreg block 10 40 10 ${yhi} ${zlo} ${zhi} -region boxreg block 10 40 10 40 ${zlo} ${zhi} -region boxreg block 10 40 10 40 -20 ${zhi} -region boxreg block 10 40 10 40 -20 50 -create_box 1 boxreg -Created orthogonal box = (10 10 -20) to (40 40 50) - 1 by 1 by 4 MPI processor grid - -pair_style gran/hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 -pair_style gran/hertz/history 72592.5925925926 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 -pair_style gran/hertz/history 72592.5925925926 90740.7407407408 ${gamma_n} ${gamma_t} ${coeffFric} 1 -pair_style gran/hertz/history 72592.5925925926 90740.7407407408 903.503751814138 ${gamma_t} ${coeffFric} 1 -pair_style gran/hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 ${coeffFric} 1 -pair_style gran/hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 0.5 1 -pair_coeff * * - -neighbor ${skin} multi -neighbor 0.5 multi -thermo ${logfreq} -thermo 1000 - -comm_style brick -comm_modify mode multi group all vel yes -balance 1.1 shift xyz 20 1.1 -Balancing ... -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 0 - ghost atom cutoff = 0 - binsize = 30, bins = 1 1 3 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair gran/hertz/history, perpetual - attributes: half, newton off, size, history - pair build: half/size/multi/newtoff - stencil: full/multi/3d - bin: multi -WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) -fix bal all balance 10000 1.1 shift xyz 20 1.01 - -####################### Options specific to pouring ######################### - -# insertion region for fix/pour - -region insreg cylinder z ${xc} ${yc} 10 30 50 side in units box -region insreg cylinder z 25 ${yc} 10 30 50 side in units box -region insreg cylinder z 25 25 10 30 50 side in units box - -# define cone and cylinder regions - see lammps doc on region command -# note new open options - -region cylreg cylinder z ${xc} ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 2 #Top is open -region cylreg cylinder z 25 ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 2 -region cylreg cylinder z 25 25 ${radconelo} ${zcyllo} ${zconelo} side in units box open 2 -region cylreg cylinder z 25 25 2 ${zcyllo} ${zconelo} side in units box open 2 -region cylreg cylinder z 25 25 2 0 ${zconelo} side in units box open 2 -region cylreg cylinder z 25 25 2 0 10 side in units box open 2 - -region conereg cone z ${xc} ${yc} ${radconelo} ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2 #Bottom and top are open -region conereg cone z 25 ${yc} ${radconelo} ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2 -region conereg cone z 25 25 ${radconelo} ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2 -region conereg cone z 25 25 2 ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2 -region conereg cone z 25 25 2 20 ${zconelo} ${zconehi} side in units box open 1 open 2 -region conereg cone z 25 25 2 20 10 ${zconehi} side in units box open 1 open 2 -region conereg cone z 25 25 2 20 10 50 side in units box open 1 open 2 - -region hopreg union 2 conereg cylreg - -fix grav all gravity ${gravity} vector 0 0 -1 -fix grav all gravity 1 vector 0 0 -1 -fix 1 all nve/sphere - - -fix hopper3 all wall/gran/region hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 ${gamma_t} ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 0.5 1 region hopreg - -fix ins all pour 2000 1 42424 region insreg diam range ${dlo} ${dhi} dens ${density} ${density} -fix ins all pour 2000 1 42424 region insreg diam range 0.5 ${dhi} dens ${density} ${density} -fix ins all pour 2000 1 42424 region insreg diam range 0.5 1 dens ${density} ${density} -fix ins all pour 2000 1 42424 region insreg diam range 0.5 1 dens 1 ${density} -fix ins all pour 2000 1 42424 region insreg diam range 0.5 1 dens 1 1 -Particle insertion: 3000 every 59965 steps, 2000 by step 1 - -#dump 1 all custom ${dumpfreq} ${name}.dump # id type mass diameter x y z - -#dump 2 all image 4000 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 zoom 3.0 # box no 0.0 axes no 0.0 0.0 -#dump_modify 2 pad 6 - -thermo_style custom step cpu atoms ke -WARNING: New thermo_style command, previous thermo_modify settings will be lost (../output.cpp:896) -thermo_modify flush yes lost warn - -# Initial run to fill up the cone - -run 20000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- neighbor multi command: doi:10.1016/j.cpc.2008.03.005, doi:10.1007/s40571-020-00361-2 - -@Article{Intveld08, - author = {in 't Veld, P. J. and S. J.~Plimpton and G. S. Grest}, - title = {Accurate and Efficient Methods for Modeling Colloidal - Mixtures in an Explicit Solvent using Molecular Dynamics}, - journal = {Comput.\ Phys.\ Commut.}, - year = 2008, - volume = 179, - pages = {320--329} -} - -@article{Shire2020, - author = {Shire, Tom and Hanley, Kevin J. and Stratford, Kevin}, - title = {{DEM} Simulations of Polydisperse Media: Efficient Contact - Detection Applied to Investigate the Quasi-Static Limit}, - journal = {Computational Particle Mechanics}, - year = {2020} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 6.049 | 6.049 | 6.049 Mbytes - Step CPU Atoms KinEng - 0 0 0 -0 - 1000 0.4194951 2000 -0 - 2000 0.61516729 2000 -0 - 3000 0.80702516 2000 -0 - 4000 0.99253349 2000 -0 - 5000 1.172741 2000 -0 - 6000 1.3484682 2000 -0 - 7000 1.5206253 2000 -0 - 8000 1.6875025 2000 -0 - 9000 1.8503087 2000 -0 - 10000 2.0125622 2000 -0 - 11000 2.0890872 2000 -0 - 12000 2.1663582 2000 -0 - 13000 2.2430386 2000 -0 - 14000 2.320045 2000 -0 - 15000 2.3989769 2000 -0 - 16000 2.4824747 2000 -0 - 17000 2.5693391 2000 -0 - 18000 2.6595183 2000 -0 - 19000 2.752627 2000 -0 - 20000 2.8503071 2000 -0 -Loop time of 2.85034 on 4 procs for 20000 steps with 2000 atoms - -98.0% CPU use with 4 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.04057 | 0.088166 | 0.18377 | 18.9 | 3.09 -Neigh | 0.0072649 | 0.014273 | 0.025073 | 5.5 | 0.50 -Comm | 0.097843 | 0.19506 | 0.29871 | 19.9 | 6.84 -Output | 0.00099986 | 0.0018246 | 0.0023299 | 1.2 | 0.06 -Modify | 0.68567 | 1.1174 | 1.9527 | 46.8 | 39.20 -Other | | 1.434 | | | 50.30 - -Nlocal: 500 ave 510 max 493 min -Histogram: 1 1 0 0 0 1 0 0 0 1 -Nghost: 154 ave 227 max 79 min -Histogram: 1 0 0 0 1 0 1 0 0 1 -Neighs: 415.5 ave 610 max 258 min -Histogram: 1 1 0 0 0 0 1 0 0 1 - -Total # of neighbors = 1662 -Ave neighs/atom = 0.831 -Neighbor list builds = 71 -Dangerous builds = 0 -unfix ins -run 150000 -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 12.33 | 12.5 | 12.68 Mbytes - Step CPU Atoms KinEng - 20000 0 2000 6652.2957 - 21000 0.069761009 2000 6807.2201 - 22000 0.14277925 2000 6973.9359 - 23000 0.21755553 2000 7142.3648 - 24000 0.29656838 2000 7276.9717 - 25000 0.3791331 2000 7369.4191 - 26000 0.46663378 2000 7497.6526 - 27000 0.55670237 2000 7638.946 - 28000 0.65212555 2000 7780.0339 - 29000 0.75032507 2000 7881.8177 - 30000 0.85580942 2000 7967.2641 - 31000 0.93204785 2000 7994.9273 - 32000 1.0168325 2000 7937.0672 - 33000 1.1081585 2000 7774.0508 - 34000 1.2084122 2000 7591.1511 - 35000 1.3164174 2000 7357.5032 - 36000 1.4326847 2000 7147.3776 - 37000 1.5548919 2000 6980.0719 - 38000 1.6806183 2000 6813.0872 - 39000 1.8171138 2000 6657.0693 - 40000 1.9655069 2000 6505.1155 - 41000 2.0788398 2000 6330.2864 - 42000 2.1972941 2000 6147.8022 - 43000 2.3180177 2000 5932.9244 - 44000 2.4424194 2000 5755.296 - 45000 2.5679759 2000 5511.622 - 46000 2.7042099 2000 5332.3171 - 47000 2.8436403 2000 5162.4926 - 48000 2.983017 2000 5044.5764 - 49000 3.1228322 2000 4901.1141 - 50000 3.2614172 2000 4731.1949 - 51000 3.3835559 2000 4575.418 - 52000 3.5097034 2000 4428.9425 - 53000 3.6438561 2000 4291.7282 - 54000 3.7823058 2000 4154.1885 - 55000 3.9269393 2000 3994.9402 - 56000 4.0761939 2000 3855.5977 - 57000 4.2262191 2000 3672.9504 - 58000 4.3809045 2000 3435.3395 - 59000 4.5439971 2000 3200.7379 - 60000 4.7111867 2000 2986.5411 - 61000 4.8700167 2000 2747.3628 - 62000 5.030656 2000 2542.0805 - 63000 5.1932098 2000 2336.7687 - 64000 5.3585095 2000 2151.6388 - 65000 5.5278279 2000 1933.6773 - 66000 5.7032072 2000 1699.0747 - 67000 5.8804545 2000 1467.7209 - 68000 6.0598984 2000 1227.3577 - 69000 6.2471961 2000 1016.2766 - 70000 6.4413532 2000 812.90843 - 71000 6.615215 2000 632.88108 - 72000 6.7897335 2000 470.67731 - 73000 6.964705 2000 360.47748 - 74000 7.1361808 2000 286.10584 - 75000 7.3068097 2000 229.70386 - 76000 7.4771974 2000 179.62654 - 77000 7.6485358 2000 142.40417 - 78000 7.8200771 2000 113.55745 - 79000 7.9923688 2000 93.787669 - 80000 8.164219 2000 80.646319 - 81000 8.3372059 2000 70.944319 - 82000 8.5130035 2000 59.2275 - 83000 8.6877383 2000 49.633808 - 84000 8.8675712 2000 42.882698 - 85000 9.0509682 2000 36.841824 - 86000 9.2393665 2000 31.776681 - 87000 9.4296116 2000 28.25076 - 88000 9.622196 2000 25.228966 - 89000 9.8176023 2000 22.593627 - 90000 10.01325 2000 21.15796 - 91000 10.204474 2000 19.941629 - 92000 10.399553 2000 18.375654 - 93000 10.596683 2000 17.056701 - 94000 10.796988 2000 16.192511 - 95000 10.998545 2000 15.572922 - 96000 11.200614 2000 14.827788 - 97000 11.402484 2000 13.919613 - 98000 11.606219 2000 13.19525 - 99000 11.81042 2000 11.993376 - 100000 12.018294 2000 11.258787 - 101000 12.223702 2000 10.641688 - 102000 12.432026 2000 10.430435 - 103000 12.640962 2000 9.518069 - 104000 12.849109 2000 9.1332086 - 105000 13.05872 2000 9.2151611 - 106000 13.269956 2000 9.0035132 - 107000 13.481882 2000 8.7835861 - 108000 13.693895 2000 8.5124479 - 109000 13.906381 2000 8.2975453 - 110000 14.120217 2000 8.3483043 - 111000 14.332078 2000 8.4658572 - 112000 14.54349 2000 8.4771784 - 113000 14.755719 2000 7.8937975 - 114000 14.968619 2000 7.2472953 - 115000 15.180485 2000 6.5812074 - 116000 15.394405 2000 5.5651566 - 117000 15.607523 2000 5.3015807 - 118000 15.821873 2000 5.0133941 - 119000 16.035675 2000 4.8746036 - 120000 16.24964 2000 4.9133073 - 121000 16.462102 2000 4.3337392 - 122000 16.676371 2000 4.3374836 - 123000 16.890252 2000 4.3721818 - 124000 17.106594 2000 4.3894508 - 125000 17.321433 2000 4.1811774 - 126000 17.536692 2000 4.3011002 - 127000 17.748238 2000 4.442228 - 128000 17.962609 2000 4.6170394 - 129000 18.175315 2000 4.8184318 - 130000 18.389056 2000 4.8442096 - 131000 18.600872 2000 4.9668117 - 132000 18.81412 2000 4.8364562 - 133000 19.027514 2000 4.6658645 - 134000 19.23975 2000 4.5758487 - 135000 19.451085 2000 4.7251949 - 136000 19.663874 2000 4.5846492 - 137000 19.87624 2000 4.7565986 - 138000 20.088654 2000 4.8186623 - 139000 20.29935 2000 4.6571647 - 140000 20.510911 2000 4.0730143 - 141000 20.722072 2000 4.0605542 - 142000 20.933113 2000 4.1457179 - 143000 21.143916 2000 4.3418042 - 144000 21.353873 2000 4.0323813 - 145000 21.567015 2000 3.8064958 - 146000 21.781334 2000 3.1802044 - 147000 21.996799 2000 2.7947641 - 148000 22.209808 2000 2.7384164 - 149000 22.423177 2000 2.7428829 - 150000 22.638044 2000 2.7802186 - 151000 22.851676 2000 2.6703451 - 152000 23.065354 2000 2.3357647 - 153000 23.278882 2000 1.9855305 - 154000 23.494254 2000 1.9442713 - 155000 23.708192 2000 1.7348027 - 156000 23.923005 2000 1.5699942 - 157000 24.13827 2000 1.5224944 - 158000 24.352068 2000 1.4850914 - 159000 24.565616 2000 1.4461048 - 160000 24.779118 2000 1.3759525 - 161000 24.99111 2000 0.83754463 - 162000 25.205935 2000 0.7952922 - 163000 25.420817 2000 0.69670143 - 164000 25.632672 2000 0.66253723 - 165000 25.846901 2000 0.64602969 - 166000 26.060074 2000 0.60229858 - 167000 26.273714 2000 0.5757589 - 168000 26.484855 2000 0.5996023 - 169000 26.698151 2000 0.62130448 - 170000 26.911208 2000 0.63888277 -Loop time of 26.9112 on 4 procs for 150000 steps with 2000 atoms - -95.1% CPU use with 4 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 4.5517 | 8.6135 | 10.872 | 82.7 | 32.01 -Neigh | 0.092491 | 0.15402 | 0.19598 | 9.7 | 0.57 -Comm | 2.0054 | 3.8686 | 4.6494 | 55.0 | 14.38 -Output | 0.0047033 | 0.0096766 | 0.016452 | 4.6 | 0.04 -Modify | 5.6498 | 7.9588 | 9.4012 | 49.7 | 29.57 -Other | | 6.307 | | | 23.43 - -Nlocal: 500 ave 538 max 419 min -Histogram: 1 0 0 0 0 0 0 1 0 2 -Nghost: 445.5 ave 688 max 200 min -Histogram: 1 0 0 0 1 0 1 0 0 1 -Neighs: 4500.25 ave 5610 max 3443 min -Histogram: 1 0 1 0 0 0 1 0 0 1 - -Total # of neighbors = 18001 -Ave neighs/atom = 9.0005 -Neighbor list builds = 362 -Dangerous builds = 0 - -# remove "plug" - need to redefine cylinder region & union - -region cylreg delete -region hopreg delete -region cylreg cylinder z ${xc} ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 1 open 2 #Bottom & top are open -region cylreg cylinder z 25 ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 1 open 2 -region cylreg cylinder z 25 25 ${radconelo} ${zcyllo} ${zconelo} side in units box open 1 open 2 -region cylreg cylinder z 25 25 2 ${zcyllo} ${zconelo} side in units box open 1 open 2 -region cylreg cylinder z 25 25 2 0 ${zconelo} side in units box open 1 open 2 -region cylreg cylinder z 25 25 2 0 10 side in units box open 1 open 2 - -region hopreg union 2 cylreg conereg - -unfix hopper3 -fix hopper3 all wall/gran/region hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 ${gamma_t} ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 ${coeffFric} 1 region hopreg -fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 0.5 1 region hopreg - -run 100000 -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 12.34 | 12.53 | 12.68 Mbytes - Step CPU Atoms KinEng - 170000 0 2000 0.63888277 - 171000 0.21419748 2000 1.4139245 - 172000 0.42844271 2000 2.2400138 - 173000 0.64333145 2000 3.8034979 - 174000 0.85456696 2000 6.116727 - 175000 1.0672981 2000 8.9536458 - 176000 1.2790911 2000 12.74348 - 177000 1.491721 2000 17.410816 - 178000 1.7033452 2000 22.879174 - 179000 1.9168047 2000 28.966022 - 180000 2.1329071 2000 35.449239 - 181000 2.3490841 2000 42.694882 - 182000 2.565508 2000 50.913279 - 183000 2.780369 2000 60.098465 - 184000 2.9967771 2000 70.133474 - 185000 3.2116891 2000 80.950013 - 186000 3.4248923 2000 92.495525 - 187000 3.6394206 2000 104.83034 - 188000 3.8527533 2000 118.04659 - 189000 4.0650838 2000 132.7403 - 190000 4.2781031 2000 148.31955 - 191000 4.476226 2000 164.26321 - 192000 4.6750263 2000 180.6933 - 193000 4.8710737 2000 197.72012 - 194000 5.0677642 2000 215.43637 - 195000 5.2639974 2000 234.29738 - 196000 5.4599746 2000 254.03407 - 197000 5.6534894 2000 274.58626 - 198000 5.8462402 2000 296.88915 - 199000 6.0400194 2000 320.45001 - 200000 6.2329415 2000 344.75891 - 201000 6.4235068 2000 370.14016 - 202000 6.6142055 2000 395.72827 - 203000 6.8048206 2000 420.42026 - 204000 6.9987454 2000 446.08079 - 205000 7.1925778 2000 473.62963 - 206000 7.3846227 2000 501.05693 - 207000 7.5775122 2000 530.40427 - 208000 7.77052 2000 560.62015 - 209000 7.964984 2000 593.00113 - 210000 8.1601405 2000 626.36661 - 211000 8.3504978 2000 661.34861 - 212000 8.5425141 2000 697.41001 - 213000 8.736112 2000 735.12299 - 214000 8.9267615 2000 773.89126 - 215000 9.1154738 2000 813.83268 - 216000 9.3019826 2000 854.63669 - 217000 9.4878433 2000 896.59089 - 218000 9.6739682 2000 938.70251 - 219000 9.8566518 2000 982.10773 - 220000 10.042289 2000 1025.2953 - 221000 10.227275 2000 1069.8382 - 222000 10.412363 2000 1115.4449 - 223000 10.602757 2000 1161.6742 - 224000 10.789101 2000 1211.289 - 225000 10.974854 2000 1262.8074 - 226000 11.157089 2000 1316.6353 - 227000 11.337044 2000 1370.7434 -WARNING: Lost atoms: original 2000 current 1991 (../thermo.cpp:486) - 228000 11.518718 1991 1382.0924 - 229000 11.700488 1986 1407.1543 - 230000 11.883057 1975 1415.708 - 231000 12.063962 1968 1430.6498 - 232000 12.246917 1957 1421.0352 - 233000 12.429345 1939 1376.0322 - 234000 12.6113 1925 1350.1292 - 235000 12.791233 1912 1337.0529 - 236000 12.968444 1893 1273.2219 - 237000 13.146668 1879 1207.0473 - 238000 13.327542 1861 1132.0109 - 239000 13.50936 1846 1083.1042 - 240000 13.693504 1826 1004.3265 - 241000 13.863443 1819 989.36186 - 242000 14.03294 1812 983.26132 - 243000 14.20032 1805 985.79932 - 244000 14.366236 1794 936.34844 - 245000 14.532759 1784 889.17423 - 246000 14.703029 1770 846.65018 - 247000 14.873941 1753 751.16306 - 248000 15.045272 1740 709.23095 - 249000 15.217896 1732 687.61586 - 250000 15.388727 1721 638.82967 - 251000 15.558032 1714 618.71543 - 252000 15.725309 1709 611.25444 - 253000 15.888727 1705 606.6846 - 254000 16.050605 1702 601.7236 - 255000 16.212982 1697 575.97244 - 256000 16.378352 1695 577.1712 - 257000 16.547488 1691 576.93668 - 258000 16.718964 1688 586.63687 - 259000 16.892601 1686 581.52487 - 260000 17.066036 1682 566.49544 - 261000 17.22488 1681 586.18628 - 262000 17.379249 1678 582.11927 - 263000 17.534079 1675 589.96041 - 264000 17.690288 1672 577.55581 - 265000 17.847805 1669 570.45998 - 266000 18.006261 1666 574.0576 - 267000 18.1674 1662 578.07385 - 268000 18.326753 1660 587.65705 - 269000 18.488052 1657 584.43358 - 270000 18.647474 1654 591.22601 -Loop time of 18.6475 on 4 procs for 100000 steps with 1654 atoms - -94.4% CPU use with 4 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 2.7714 | 6.1879 | 8.8765 | 88.8 | 33.18 -Neigh | 0.094692 | 0.11244 | 0.13298 | 4.6 | 0.60 -Comm | 1.2471 | 2.918 | 3.5873 | 57.0 | 15.65 -Output | 0.0013438 | 0.0067176 | 0.014709 | 6.0 | 0.04 -Modify | 4.4355 | 5.0416 | 5.5692 | 21.9 | 27.04 -Other | | 4.381 | | | 23.49 - -Nlocal: 413.5 ave 429 max 408 min -Histogram: 3 0 0 0 0 0 0 0 0 1 -Nghost: 408.25 ave 653 max 182 min -Histogram: 1 0 0 1 0 1 0 0 0 1 -Neighs: 3486.25 ave 4367 max 2213 min -Histogram: 1 0 0 0 0 1 0 0 1 1 - -Total # of neighbors = 13945 -Ave neighs/atom = 8.4310762 -Neighbor list builds = 227 -Dangerous builds = 0 -Total wall time: 0:00:48 diff --git a/examples/granregion/log.15Sep22.granregion.mixer.g++.1 b/examples/granregion/log.15Sep22.granregion.mixer.g++.1 deleted file mode 100644 index 2a3402c642..0000000000 --- a/examples/granregion/log.15Sep22.granregion.mixer.g++.1 +++ /dev/null @@ -1,632 +0,0 @@ -LAMMPS (15 Sep 2022) -variable name string mixer - -thermo_modify flush yes -variable seed equal 14314 - -############################################### -# Particle parameters -################################################ - -variable rlo equal 0.3 -variable rhi equal 0.6 -variable dlo equal 2.0*${rlo} -variable dlo equal 2.0*0.3 -variable dhi equal 2.0*${rhi} -variable dhi equal 2.0*0.6 -variable skin equal ${rhi} -variable skin equal 0.6 - -variable coeffRes equal 0.1 -variable coeffFric equal 0.5 - -variable kn equal 10^5 -variable kt equal 0.2*${kn} -variable kt equal 0.2*100000 - -variable gravity equal 1.0 -variable density equal 1.0 - -variable min_mass equal ${density}*4.0/3.0*PI*${rlo}*${rlo}*${rlo} -variable min_mass equal 1*4.0/3.0*PI*${rlo}*${rlo}*${rlo} -variable min_mass equal 1*4.0/3.0*PI*0.3*${rlo}*${rlo} -variable min_mass equal 1*4.0/3.0*PI*0.3*0.3*${rlo} -variable min_mass equal 1*4.0/3.0*PI*0.3*0.3*0.3 -variable a equal (-2.0*log(${coeffRes})/PI)^2 -variable a equal (-2.0*log(0.1)/PI)^2 -variable gamma_n equal sqrt($a*2*${kn}/${min_mass}/(1+0.25*$a)) -variable gamma_n equal sqrt(0.405284734569351*2*${kn}/${min_mass}/(1+0.25*$a)) -variable gamma_n equal sqrt(0.405284734569351*2*100000/${min_mass}/(1+0.25*$a)) -variable gamma_n equal sqrt(0.405284734569351*2*100000/0.113097335529233/(1+0.25*$a)) -variable gamma_n equal sqrt(0.405284734569351*2*100000/0.113097335529233/(1+0.25*0.405284734569351)) -variable gamma_t equal ${gamma_n}*0.5 -variable gamma_t equal 806.699778405191*0.5 - -variable tcol equal PI/sqrt(2*${kn}/${min_mass}-${gamma_n}/4.0) -variable tcol equal PI/sqrt(2*100000/${min_mass}-${gamma_n}/4.0) -variable tcol equal PI/sqrt(2*100000/0.113097335529233-${gamma_n}/4.0) -variable tcol equal PI/sqrt(2*100000/0.113097335529233-806.699778405191/4.0) - -variable dt equal ${tcol}*0.02 -variable dt equal 0.00236257621510454*0.02 -timestep ${dt} -timestep 4.72515243020908e-05 - -############################################### - -variable dumpfreq equal 1000 -variable logfreq equal 1000 - -newton on -atom_style sphere - -boundary p p f - -region boxreg block 0 20 0 20 0 20 -create_box 1 boxreg -Created orthogonal box = (0 0 0) to (20 20 20) - 1 by 1 by 1 MPI processor grid - -pair_style gran/hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 -pair_style gran/hertz/history 100000 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 -pair_style gran/hertz/history 100000 20000 ${gamma_n} ${gamma_t} ${coeffFric} 1 -pair_style gran/hertz/history 100000 20000 806.699778405191 ${gamma_t} ${coeffFric} 1 -pair_style gran/hertz/history 100000 20000 806.699778405191 403.349889202595 ${coeffFric} 1 -pair_style gran/hertz/history 100000 20000 806.699778405191 403.349889202595 0.5 1 -pair_coeff * * - -neighbor ${skin} multi -neighbor 0.6 multi -thermo ${logfreq} -thermo 1000 - -comm_style brick -comm_modify mode multi group all vel yes -balance 1.1 shift xyz 20 1.1 -Balancing ... -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 0 - ghost atom cutoff = 0 - binsize = 20, bins = 1 1 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair gran/hertz/history, perpetual - attributes: half, newton on, size, history - pair build: half/size/multi/newton - stencil: half/multi/3d - bin: multi -WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) -fix bal all balance 10000 1.1 shift xyz 20 1.01 - -####################### Options specific to pouring ######################### - -region insreg cylinder z 10 10 8 10 18 side in units box -region cylreg cylinder z 10 10 10 0 20 side in units box - -variable theta equal (step/400000)*2*PI - -region b1 block 2 18 9 11 0 4 side out rotate v_theta 10 10 0 0 0 1 units box -region b2 block 9 11 2 18 0 3.99999 side out rotate v_theta 10 10 0 0 0 1 units box - -region mixer intersect 3 cylreg b1 b2 side in - -fix grav all gravity ${gravity} vector 0 0 -1 -fix grav all gravity 1 vector 0 0 -1 -fix 1 all nve/sphere - -fix mixwall all wall/gran/region hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region mixer -fix mixwall all wall/gran/region hertz/history 100000 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region mixer -fix mixwall all wall/gran/region hertz/history 100000 20000 ${gamma_n} ${gamma_t} ${coeffFric} 1 region mixer -fix mixwall all wall/gran/region hertz/history 100000 20000 806.699778405191 ${gamma_t} ${coeffFric} 1 region mixer -fix mixwall all wall/gran/region hertz/history 100000 20000 806.699778405191 403.349889202595 ${coeffFric} 1 region mixer -fix mixwall all wall/gran/region hertz/history 100000 20000 806.699778405191 403.349889202595 0.5 1 region mixer - -fix ins all pour 1000 1 42424 region insreg diam range ${dlo} ${dhi} dens ${density} ${density} -fix ins all pour 1000 1 42424 region insreg diam range 0.6 ${dhi} dens ${density} ${density} -fix ins all pour 1000 1 42424 region insreg diam range 0.6 1.2 dens ${density} ${density} -fix ins all pour 1000 1 42424 region insreg diam range 0.6 1.2 dens 1 ${density} -fix ins all pour 1000 1 42424 region insreg diam range 0.6 1.2 dens 1 1 -Particle insertion: 444 every 84653 steps, 1000 by step 169307 - -#dump 1 all custom ${dumpfreq} ${name}_pour.dump # id type mass diameter x y z - -#dump 2 all image 4000 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 zoom 1.5 # box no 0.0 axes no 0.0 0.0 -#dump_modify 2 pad 6 - -thermo_style custom step cpu atoms ke v_theta -WARNING: New thermo_style command, previous thermo_modify settings will be lost (../output.cpp:896) -thermo_modify flush yes lost warn - -run 200000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- neighbor multi command: doi:10.1016/j.cpc.2008.03.005, doi:10.1007/s40571-020-00361-2 - -@Article{Intveld08, - author = {in 't Veld, P. J. and S. J.~Plimpton and G. S. Grest}, - title = {Accurate and Efficient Methods for Modeling Colloidal - Mixtures in an Explicit Solvent using Molecular Dynamics}, - journal = {Comput.\ Phys.\ Commut.}, - year = 2008, - volume = 179, - pages = {320--329} -} - -@article{Shire2020, - author = {Shire, Tom and Hanley, Kevin J. and Stratford, Kevin}, - title = {{DEM} Simulations of Polydisperse Media: Efficient Contact - Detection Applied to Investigate the Quasi-Static Limit}, - journal = {Computational Particle Mechanics}, - year = {2020} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 5.861 | 5.861 | 5.861 Mbytes - Step CPU Atoms KinEng v_theta - 0 0 0 -0 0 - 1000 0.10672296 444 -0 0.015707963 - 2000 0.2090638 444 -0 0.031415927 - 3000 0.31029663 444 -0 0.04712389 - 4000 0.41047624 444 -0 0.062831853 - 5000 0.51132361 444 -0 0.078539816 - 6000 0.61279172 444 -0 0.09424778 - 7000 0.71396622 444 -0 0.10995574 - 8000 0.81644319 444 -0 0.12566371 - 9000 0.91730959 444 -0 0.14137167 - 10000 1.0181635 444 -0 0.15707963 - 11000 1.1182214 444 -0 0.1727876 - 12000 1.2190013 444 -0 0.18849556 - 13000 1.3196138 444 -0 0.20420352 - 14000 1.4183593 444 -0 0.21991149 - 15000 1.5178458 444 -0 0.23561945 - 16000 1.6169535 444 -0 0.25132741 - 17000 1.7219188 444 -0 0.26703538 - 18000 1.8266303 444 -0 0.28274334 - 19000 1.9331589 444 -0 0.2984513 - 20000 2.0392693 444 -0 0.31415927 - 21000 2.1457521 444 -0 0.32986723 - 22000 2.2507526 444 -0 0.34557519 - 23000 2.3548243 444 -0 0.36128316 - 24000 2.4606335 444 -0 0.37699112 - 25000 2.5657643 444 -0 0.39269908 - 26000 2.6698254 444 -0 0.40840704 - 27000 2.7732221 444 -0 0.42411501 - 28000 2.8766441 444 -0 0.43982297 - 29000 2.9801547 444 -0 0.45553093 - 30000 3.0839748 444 -0 0.4712389 - 31000 3.1880063 444 -0 0.48694686 - 32000 3.2923439 444 -0 0.50265482 - 33000 3.3969501 444 -0 0.51836279 - 34000 3.5012646 444 -0 0.53407075 - 35000 3.6057831 444 -0 0.54977871 - 36000 3.7098273 444 -0 0.56548668 - 37000 3.8146061 444 -0 0.58119464 - 38000 3.9215588 444 -0 0.5969026 - 39000 4.0474026 444 -0 0.61261057 - 40000 4.1544945 444 -0 0.62831853 - 41000 4.2605761 444 -0 0.64402649 - 42000 4.3665287 444 -0 0.65973446 - 43000 4.4728216 444 -0 0.67544242 - 44000 4.5782483 444 -0 0.69115038 - 45000 4.6833043 444 -0 0.70685835 - 46000 4.7902207 444 -0 0.72256631 - 47000 4.8968527 444 -0 0.73827427 - 48000 5.0035027 444 -0 0.75398224 - 49000 5.1117191 444 -0 0.7696902 - 50000 5.2186233 444 -0 0.78539816 - 51000 5.3244005 444 -0 0.80110613 - 52000 5.4316153 444 -0 0.81681409 - 53000 5.5381785 444 -0 0.83252205 - 54000 5.6458179 444 -0 0.84823002 - 55000 5.759203 444 -0 0.86393798 - 56000 5.8779849 444 -0 0.87964594 - 57000 5.9953108 444 -0 0.89535391 - 58000 6.1115532 444 -0 0.91106187 - 59000 6.2298342 444 -0 0.92676983 - 60000 6.3474382 444 -0 0.9424778 - 61000 6.4642217 444 -0 0.95818576 - 62000 6.5815141 444 -0 0.97389372 - 63000 6.6999766 444 -0 0.98960169 - 64000 6.8181369 444 -0 1.0053096 - 65000 6.9368124 444 -0 1.0210176 - 66000 7.0560733 444 -0 1.0367256 - 67000 7.1761749 444 -0 1.0524335 - 68000 7.2942246 444 -0 1.0681415 - 69000 7.4146786 444 -0 1.0838495 - 70000 7.5364025 444 -0 1.0995574 - 71000 7.6565177 444 -0 1.1152654 - 72000 7.7776652 444 -0 1.1309734 - 73000 7.8972494 444 -0 1.1466813 - 74000 8.0183599 444 -0 1.1623893 - 75000 8.1423045 444 -0 1.1780972 - 76000 8.2667013 444 -0 1.1938052 - 77000 8.3876604 444 -0 1.2095132 - 78000 8.5095993 444 -0 1.2252211 - 79000 8.6317663 444 -0 1.2409291 - 80000 8.7562108 444 -0 1.2566371 - 81000 8.8812625 444 -0 1.272345 - 82000 9.006825 444 -0 1.288053 - 83000 9.1310939 444 -0 1.303761 - 84000 9.2540049 444 -0 1.3194689 - 85000 9.4210019 888 -0 1.3351769 - 86000 9.6509014 888 -0 1.3508848 - 87000 9.8827304 888 -0 1.3665928 - 88000 10.113857 888 -0 1.3823008 - 89000 10.34324 888 -0 1.3980087 - 90000 10.574203 888 -0 1.4137167 - 91000 10.806069 888 -0 1.4294247 - 92000 11.037044 888 -0 1.4451326 - 93000 11.262596 888 -0 1.4608406 - 94000 11.490532 888 -0 1.4765485 - 95000 11.716452 888 -0 1.4922565 - 96000 11.943883 888 -0 1.5079645 - 97000 12.171353 888 -0 1.5236724 - 98000 12.396787 888 -0 1.5393804 - 99000 12.623788 888 -0 1.5550884 - 100000 12.849633 888 -0 1.5707963 - 101000 13.082904 888 -0 1.5865043 - 102000 13.316986 888 -0 1.6022123 - 103000 13.54777 888 -0 1.6179202 - 104000 13.77928 888 -0 1.6336282 - 105000 14.014818 888 -0 1.6493361 - 106000 14.250986 888 -0 1.6650441 - 107000 14.485754 888 -0 1.6807521 - 108000 14.720106 888 -0 1.69646 - 109000 14.970869 888 -0 1.712168 - 110000 15.219203 888 -0 1.727876 - 111000 15.469876 888 -0 1.7435839 - 112000 15.721351 888 -0 1.7592919 - 113000 15.972099 888 -0 1.7749998 - 114000 16.222357 888 -0 1.7907078 - 115000 16.474863 888 -0 1.8064158 - 116000 16.725352 888 -0 1.8221237 - 117000 16.979634 888 -0 1.8378317 - 118000 17.231379 888 -0 1.8535397 - 119000 17.483691 888 -0 1.8692476 - 120000 17.737897 888 -0 1.8849556 - 121000 17.991241 888 -0 1.9006636 - 122000 18.245626 888 -0 1.9163715 - 123000 18.499984 888 -0 1.9320795 - 124000 18.754367 888 -0 1.9477874 - 125000 19.006448 888 -0 1.9634954 - 126000 19.260545 888 -0 1.9792034 - 127000 19.513633 888 -0 1.9949113 - 128000 19.769389 888 -0 2.0106193 - 129000 20.025088 888 -0 2.0263273 - 130000 20.277534 888 -0 2.0420352 - 131000 20.529284 888 -0 2.0577432 - 132000 20.785132 888 -0 2.0734512 - 133000 21.038442 888 -0 2.0891591 - 134000 21.293932 888 -0 2.1048671 - 135000 21.545354 888 -0 2.120575 - 136000 21.799547 888 -0 2.136283 - 137000 22.053639 888 -0 2.151991 - 138000 22.310106 888 -0 2.1676989 - 139000 22.569362 888 -0 2.1834069 - 140000 22.829416 888 -0 2.1991149 - 141000 23.089132 888 -0 2.2148228 - 142000 23.345737 888 -0 2.2305308 - 143000 23.60621 888 -0 2.2462387 - 144000 23.867414 888 -0 2.2619467 - 145000 24.132954 888 -0 2.2776547 - 146000 24.39395 888 -0 2.2933626 - 147000 24.657881 888 -0 2.3090706 - 148000 24.918563 888 -0 2.3247786 - 149000 25.177446 888 -0 2.3404865 - 150000 25.446598 888 -0 2.3561945 - 151000 25.715494 888 -0 2.3719025 - 152000 25.985991 888 -0 2.3876104 - 153000 26.256676 888 -0 2.4033184 - 154000 26.525639 888 -0 2.4190263 - 155000 26.82656 888 -0 2.4347343 - 156000 27.157272 888 -0 2.4504423 - 157000 27.481755 888 -0 2.4661502 - 158000 27.80198 888 -0 2.4818582 - 159000 28.123258 888 -0 2.4975662 - 160000 28.437502 888 -0 2.5132741 - 161000 28.756496 888 -0 2.5289821 - 162000 29.080609 888 -0 2.54469 - 163000 29.399252 888 -0 2.560398 - 164000 29.718986 888 -0 2.576106 - 165000 30.045206 888 -0 2.5918139 - 166000 30.365168 888 -0 2.6075219 - 167000 30.684007 888 -0 2.6232299 - 168000 31.006154 888 -0 2.6389378 - 169000 31.330336 888 -0 2.6546458 - 170000 31.681761 1000 -0 2.6703538 - 171000 32.049778 1000 -0 2.6860617 - 172000 32.421067 1000 -0 2.7017697 - 173000 32.79935 1000 -0 2.7174776 - 174000 33.178002 1000 -0 2.7331856 - 175000 33.54236 1000 -0 2.7488936 - 176000 33.904734 1000 -0 2.7646015 - 177000 34.269671 1000 -0 2.7803095 - 178000 34.633106 1000 -0 2.7960175 - 179000 35.001441 1000 -0 2.8117254 - 180000 35.374769 1000 -0 2.8274334 - 181000 35.742362 1000 -0 2.8431414 - 182000 36.115908 1000 -0 2.8588493 - 183000 36.490149 1000 -0 2.8745573 - 184000 36.866289 1000 -0 2.8902652 - 185000 37.252911 1000 -0 2.9059732 - 186000 37.644586 1000 -0 2.9216812 - 187000 38.028002 1000 -0 2.9373891 - 188000 38.40724 1000 -0 2.9530971 - 189000 38.77431 1000 -0 2.9688051 - 190000 39.14138 1000 -0 2.984513 - 191000 39.519083 1000 -0 3.000221 - 192000 39.895243 1000 -0 3.0159289 - 193000 40.237532 1000 -0 3.0316369 - 194000 40.587663 1000 -0 3.0473449 - 195000 40.939032 1000 -0 3.0630528 - 196000 41.290257 1000 -0 3.0787608 - 197000 41.643778 1000 -0 3.0944688 - 198000 41.992818 1000 -0 3.1101767 - 199000 42.335934 1000 -0 3.1258847 - 200000 42.681071 1000 -0 3.1415927 -Loop time of 42.6811 on 1 procs for 200000 steps with 1000 atoms - -Performance: 19130.397 tau/day, 4685.915 timesteps/s, 4.686 Matom-step/s -98.5% CPU use with 1 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 2.6365 | 2.6365 | 2.6365 | 0.0 | 6.18 -Neigh | 0.051681 | 0.051681 | 0.051681 | 0.0 | 0.12 -Comm | 0.52007 | 0.52007 | 0.52007 | 0.0 | 1.22 -Output | 0.02209 | 0.02209 | 0.02209 | 0.0 | 0.05 -Modify | 38.71 | 38.71 | 38.71 | 0.0 | 90.70 -Other | | 0.7407 | | | 1.74 - -Nlocal: 1000 ave 1000 max 1000 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 183 ave 183 max 183 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 3757 ave 3757 max 3757 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 3757 -Ave neighs/atom = 3.757 -Neighbor list builds = 200 -Dangerous builds = 0 -unfix ins -run 200000 -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 11.89 | 11.89 | 11.89 Mbytes - Step CPU Atoms KinEng v_theta - 200000 0 1000 1.0515941 3.1415927 - 201000 0.35477257 1000 1.0348185 3.1573006 - 202000 0.71436123 1000 1.0220859 3.1730086 - 203000 1.0642832 1000 1.0225785 3.1887165 - 204000 1.4165213 1000 1.0206121 3.2044245 - 205000 1.7728133 1000 1.009961 3.2201325 - 206000 2.1279101 1000 0.9993323 3.2358404 - 207000 2.480623 1000 0.99602628 3.2515484 - 208000 2.8321106 1000 0.98341818 3.2672564 - 209000 3.2138945 1000 0.96700718 3.2829643 - 210000 3.5921146 1000 0.95226699 3.2986723 - 211000 3.9643569 1000 0.93911691 3.3143802 - 212000 4.3368151 1000 0.92920029 3.3300882 - 213000 4.7130192 1000 0.91893472 3.3457962 - 214000 5.0881313 1000 0.90873324 3.3615041 - 215000 5.4660106 1000 0.88925817 3.3772121 - 216000 5.8455926 1000 0.89108236 3.3929201 - 217000 6.2204827 1000 0.90176711 3.408628 - 218000 6.6046736 1000 0.90149435 3.424336 - 219000 6.9931145 1000 0.89629307 3.440044 - 220000 7.3771565 1000 0.90390589 3.4557519 - 221000 7.7635603 1000 0.87858148 3.4714599 - 222000 8.1502771 1000 0.88862314 3.4871678 - 223000 8.5393557 1000 0.90394098 3.5028758 - 224000 8.9327212 1000 0.91005462 3.5185838 - 225000 9.315331 1000 0.91753865 3.5342917 - 226000 9.6930994 1000 0.91741233 3.5499997 - 227000 10.077148 1000 0.9041879 3.5657077 - 228000 10.463223 1000 0.9085712 3.5814156 - 229000 10.850271 1000 0.8937854 3.5971236 - 230000 11.230235 1000 0.88740571 3.6128316 - 231000 11.61003 1000 0.88350028 3.6285395 - 232000 11.988134 1000 0.88344474 3.6442475 - 233000 12.365856 1000 0.88003311 3.6599554 - 234000 12.745397 1000 0.87416727 3.6756634 - 235000 13.120344 1000 0.86154585 3.6913714 - 236000 13.489521 1000 0.85705071 3.7070793 - 237000 13.858736 1000 0.85297378 3.7227873 - 238000 14.230242 1000 0.84879486 3.7384953 - 239000 14.609692 1000 0.86978407 3.7542032 - 240000 14.998899 1000 0.86758733 3.7699112 - 241000 15.40773 1000 0.86123097 3.7856191 - 242000 15.81537 1000 0.86088136 3.8013271 - 243000 16.221448 1000 0.85270311 3.8170351 - 244000 16.619008 1000 0.8524395 3.832743 - 245000 17.003986 1000 0.84054009 3.848451 - 246000 17.380362 1000 0.82623612 3.864159 - 247000 17.756477 1000 0.82787746 3.8798669 - 248000 18.136456 1000 0.83027177 3.8955749 - 249000 18.521277 1000 0.83307565 3.9112829 - 250000 18.906407 1000 0.82612362 3.9269908 - 251000 19.28348 1000 0.8404639 3.9426988 - 252000 19.66549 1000 0.83550946 3.9584067 - 253000 20.053842 1000 0.81516472 3.9741147 - 254000 20.451357 1000 0.79127421 3.9898227 - 255000 20.844416 1000 0.78373024 4.0055306 - 256000 21.228637 1000 0.79885661 4.0212386 - 257000 21.613641 1000 0.80322118 4.0369466 - 258000 21.99162 1000 0.79861523 4.0526545 - 259000 22.367158 1000 0.79216962 4.0683625 - 260000 22.746158 1000 0.79543097 4.0840704 - 261000 23.125626 1000 0.79394211 4.0997784 - 262000 23.504282 1000 0.79269346 4.1154864 - 263000 23.883609 1000 0.80022854 4.1311943 - 264000 24.261864 1000 0.79885184 4.1469023 - 265000 24.639269 1000 0.79595018 4.1626103 - 266000 25.016335 1000 0.78191184 4.1783182 - 267000 25.389754 1000 0.76329279 4.1940262 - 268000 25.762053 1000 0.7342663 4.2097342 - 269000 26.133966 1000 0.72303366 4.2254421 - 270000 26.511157 1000 0.70016481 4.2411501 - 271000 26.888842 1000 0.68891731 4.256858 - 272000 27.26804 1000 0.68545775 4.272566 - 273000 27.644067 1000 0.68712156 4.288274 - 274000 28.024704 1000 0.69249813 4.3039819 - 275000 28.404842 1000 0.70187847 4.3196899 - 276000 28.785799 1000 0.70679419 4.3353979 - 277000 29.165857 1000 0.70955357 4.3511058 - 278000 29.545291 1000 0.70183408 4.3668138 - 279000 29.926113 1000 0.69979273 4.3825218 - 280000 30.302095 1000 0.70822139 4.3982297 - 281000 30.684406 1000 0.71629209 4.4139377 - 282000 31.065873 1000 0.73094905 4.4296456 - 283000 31.445972 1000 0.74554115 4.4453536 - 284000 31.828184 1000 0.74390104 4.4610616 - 285000 32.207807 1000 0.74675359 4.4767695 - 286000 32.58802 1000 0.75330713 4.4924775 - 287000 32.964457 1000 0.75525926 4.5081855 - 288000 33.343222 1000 0.75174884 4.5238934 - 289000 33.717663 1000 0.74062375 4.5396014 - 290000 34.094722 1000 0.72784613 4.5553093 - 291000 34.46982 1000 0.72151574 4.5710173 - 292000 34.843777 1000 0.71712409 4.5867253 - 293000 35.208307 1000 0.71803758 4.6024332 - 294000 35.576207 1000 0.71002715 4.6181412 - 295000 35.942972 1000 0.7070911 4.6338492 - 296000 36.3107 1000 0.71082175 4.6495571 - 297000 36.682044 1000 0.70438977 4.6652651 - 298000 37.054664 1000 0.70240345 4.6809731 - 299000 37.424717 1000 0.70525357 4.696681 - 300000 37.796148 1000 0.70636846 4.712389 - 301000 38.166828 1000 0.70443346 4.7280969 - 302000 38.538428 1000 0.71187973 4.7438049 - 303000 38.907221 1000 0.71047139 4.7595129 - 304000 39.280263 1000 0.71405925 4.7752208 - 305000 39.652902 1000 0.71277063 4.7909288 - 306000 40.02752 1000 0.72005331 4.8066368 - 307000 40.402955 1000 0.72466112 4.8223447 - 308000 40.784177 1000 0.72001329 4.8380527 - 309000 41.173226 1000 0.70611982 4.8537606 - 310000 41.559195 1000 0.70810918 4.8694686 - 311000 41.946697 1000 0.70377166 4.8851766 - 312000 42.337059 1000 0.70434458 4.9008845 - 313000 42.728304 1000 0.70707385 4.9165925 - 314000 43.120803 1000 0.71412995 4.9323005 - 315000 43.510705 1000 0.72228946 4.9480084 - 316000 43.901867 1000 0.72715835 4.9637164 - 317000 44.295667 1000 0.73833476 4.9794244 - 318000 44.687503 1000 0.75953014 4.9951323 - 319000 45.077121 1000 0.76413836 5.0108403 - 320000 45.465317 1000 0.76745045 5.0265482 - 321000 45.86931 1000 0.75813288 5.0422562 - 322000 46.277029 1000 0.75324661 5.0579642 - 323000 46.680799 1000 0.75004276 5.0736721 - 324000 47.082361 1000 0.74316264 5.0893801 - 325000 47.481252 1000 0.74087383 5.1050881 - 326000 47.87511 1000 0.73244882 5.120796 - 327000 48.274582 1000 0.73096631 5.136504 - 328000 48.671718 1000 0.72955403 5.152212 - 329000 49.066335 1000 0.73464916 5.1679199 - 330000 49.459765 1000 0.73130257 5.1836279 - 331000 49.850698 1000 0.73008711 5.1993358 - 332000 50.241012 1000 0.72561074 5.2150438 - 333000 50.643245 1000 0.7214495 5.2307518 - 334000 51.039153 1000 0.71274232 5.2464597 - 335000 51.430328 1000 0.71335777 5.2621677 - 336000 51.819148 1000 0.71317423 5.2778757 - 337000 52.202763 1000 0.70965743 5.2935836 - 338000 52.585061 1000 0.69648518 5.3092916 - 339000 52.967678 1000 0.68985842 5.3249995 - 340000 53.351472 1000 0.6846783 5.3407075 - 341000 53.737731 1000 0.69031602 5.3564155 - 342000 54.131413 1000 0.69035259 5.3721234 - 343000 54.526384 1000 0.69843983 5.3878314 - 344000 54.921609 1000 0.69566088 5.4035394 - 345000 55.314258 1000 0.68309182 5.4192473 - 346000 55.701119 1000 0.68360919 5.4349553 - 347000 56.088194 1000 0.68034628 5.4506633 - 348000 56.467878 1000 0.67155093 5.4663712 - 349000 56.857709 1000 0.66504603 5.4820792 - 350000 57.250758 1000 0.66533658 5.4977871 - 351000 57.643438 1000 0.67726804 5.5134951 - 352000 58.04256 1000 0.68880987 5.5292031 - 353000 58.437369 1000 0.71377276 5.544911 - 354000 58.832421 1000 0.71715625 5.560619 - 355000 59.222221 1000 0.71729576 5.576327 - 356000 59.621431 1000 0.71088872 5.5920349 - 357000 60.013262 1000 0.70564615 5.6077429 - 358000 60.406494 1000 0.69291739 5.6234508 - 359000 60.800632 1000 0.68237469 5.6391588 - 360000 61.195364 1000 0.69105856 5.6548668 - 361000 61.588291 1000 0.69563351 5.6705747 - 362000 61.984821 1000 0.69762747 5.6862827 - 363000 62.377158 1000 0.69717346 5.7019907 - 364000 62.77604 1000 0.69413964 5.7176986 - 365000 63.165863 1000 0.68584257 5.7334066 - 366000 63.5503 1000 0.67653762 5.7491146 - 367000 63.930717 1000 0.66880284 5.7648225 - 368000 64.313698 1000 0.66024732 5.7805305 - 369000 64.708193 1000 0.65451701 5.7962384 - 370000 65.10142 1000 0.64352268 5.8119464 - 371000 65.49169 1000 0.63715296 5.8276544 - 372000 65.879115 1000 0.63840106 5.8433623 - 373000 66.268258 1000 0.64537192 5.8590703 - 374000 66.661807 1000 0.64498753 5.8747783 - 375000 67.052521 1000 0.64666103 5.8904862 - 376000 67.443168 1000 0.65957055 5.9061942 - 377000 67.835892 1000 0.65964257 5.9219022 - 378000 68.229282 1000 0.65720396 5.9376101 - 379000 68.623557 1000 0.66304265 5.9533181 - 380000 69.015967 1000 0.67465814 5.969026 - 381000 69.408981 1000 0.68582945 5.984734 - 382000 69.796561 1000 0.69516677 6.000442 - 383000 70.186403 1000 0.69835516 6.0161499 - 384000 70.5765 1000 0.70403284 6.0318579 - 385000 70.966205 1000 0.6955862 6.0475659 - 386000 71.360054 1000 0.704932 6.0632738 - 387000 71.757912 1000 0.71954173 6.0789818 - 388000 72.147544 1000 0.72347529 6.0946897 - 389000 72.535029 1000 0.72738907 6.1103977 - 390000 72.925842 1000 0.74783091 6.1261057 - 391000 73.306871 1000 0.76739039 6.1418136 - 392000 73.692746 1000 0.77184224 6.1575216 - 393000 74.053385 1000 0.76813357 6.1732296 - 394000 74.416323 1000 0.75994091 6.1889375 - 395000 74.777021 1000 0.74970188 6.2046455 - 396000 75.139847 1000 0.7523174 6.2203535 - 397000 75.502888 1000 0.74652931 6.2360614 - 398000 75.865442 1000 0.74418096 6.2517694 - 399000 76.225245 1000 0.75110038 6.2674773 - 400000 76.590032 1000 0.7609274 6.2831853 -Loop time of 76.5901 on 1 procs for 200000 steps with 1000 atoms - -Performance: 10660.735 tau/day, 2611.305 timesteps/s, 2.611 Matom-step/s -99.0% CPU use with 1 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 8.693 | 8.693 | 8.693 | 0.0 | 11.35 -Neigh | 0.082655 | 0.082655 | 0.082655 | 0.0 | 0.11 -Comm | 1.1618 | 1.1618 | 1.1618 | 0.0 | 1.52 -Output | 0.0052644 | 0.0052644 | 0.0052644 | 0.0 | 0.01 -Modify | 65.713 | 65.713 | 65.713 | 0.0 | 85.80 -Other | | 0.934 | | | 1.22 - -Nlocal: 1000 ave 1000 max 1000 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 268 ave 268 max 268 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 5015 ave 5015 max 5015 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 5015 -Ave neighs/atom = 5.015 -Neighbor list builds = 163 -Dangerous builds = 0 -Total wall time: 0:01:59 diff --git a/examples/granregion/log.15Sep22.granregion.mixer.g++.4 b/examples/granregion/log.15Sep22.granregion.mixer.g++.4 deleted file mode 100644 index 57c517a063..0000000000 --- a/examples/granregion/log.15Sep22.granregion.mixer.g++.4 +++ /dev/null @@ -1,632 +0,0 @@ -LAMMPS (15 Sep 2022) -variable name string mixer - -thermo_modify flush yes -variable seed equal 14314 - -############################################### -# Particle parameters -################################################ - -variable rlo equal 0.3 -variable rhi equal 0.6 -variable dlo equal 2.0*${rlo} -variable dlo equal 2.0*0.3 -variable dhi equal 2.0*${rhi} -variable dhi equal 2.0*0.6 -variable skin equal ${rhi} -variable skin equal 0.6 - -variable coeffRes equal 0.1 -variable coeffFric equal 0.5 - -variable kn equal 10^5 -variable kt equal 0.2*${kn} -variable kt equal 0.2*100000 - -variable gravity equal 1.0 -variable density equal 1.0 - -variable min_mass equal ${density}*4.0/3.0*PI*${rlo}*${rlo}*${rlo} -variable min_mass equal 1*4.0/3.0*PI*${rlo}*${rlo}*${rlo} -variable min_mass equal 1*4.0/3.0*PI*0.3*${rlo}*${rlo} -variable min_mass equal 1*4.0/3.0*PI*0.3*0.3*${rlo} -variable min_mass equal 1*4.0/3.0*PI*0.3*0.3*0.3 -variable a equal (-2.0*log(${coeffRes})/PI)^2 -variable a equal (-2.0*log(0.1)/PI)^2 -variable gamma_n equal sqrt($a*2*${kn}/${min_mass}/(1+0.25*$a)) -variable gamma_n equal sqrt(0.405284734569351*2*${kn}/${min_mass}/(1+0.25*$a)) -variable gamma_n equal sqrt(0.405284734569351*2*100000/${min_mass}/(1+0.25*$a)) -variable gamma_n equal sqrt(0.405284734569351*2*100000/0.113097335529233/(1+0.25*$a)) -variable gamma_n equal sqrt(0.405284734569351*2*100000/0.113097335529233/(1+0.25*0.405284734569351)) -variable gamma_t equal ${gamma_n}*0.5 -variable gamma_t equal 806.699778405191*0.5 - -variable tcol equal PI/sqrt(2*${kn}/${min_mass}-${gamma_n}/4.0) -variable tcol equal PI/sqrt(2*100000/${min_mass}-${gamma_n}/4.0) -variable tcol equal PI/sqrt(2*100000/0.113097335529233-${gamma_n}/4.0) -variable tcol equal PI/sqrt(2*100000/0.113097335529233-806.699778405191/4.0) - -variable dt equal ${tcol}*0.02 -variable dt equal 0.00236257621510454*0.02 -timestep ${dt} -timestep 4.72515243020908e-05 - -############################################### - -variable dumpfreq equal 1000 -variable logfreq equal 1000 - -newton on -atom_style sphere - -boundary p p f - -region boxreg block 0 20 0 20 0 20 -create_box 1 boxreg -Created orthogonal box = (0 0 0) to (20 20 20) - 1 by 2 by 2 MPI processor grid - -pair_style gran/hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 -pair_style gran/hertz/history 100000 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 -pair_style gran/hertz/history 100000 20000 ${gamma_n} ${gamma_t} ${coeffFric} 1 -pair_style gran/hertz/history 100000 20000 806.699778405191 ${gamma_t} ${coeffFric} 1 -pair_style gran/hertz/history 100000 20000 806.699778405191 403.349889202595 ${coeffFric} 1 -pair_style gran/hertz/history 100000 20000 806.699778405191 403.349889202595 0.5 1 -pair_coeff * * - -neighbor ${skin} multi -neighbor 0.6 multi -thermo ${logfreq} -thermo 1000 - -comm_style brick -comm_modify mode multi group all vel yes -balance 1.1 shift xyz 20 1.1 -Balancing ... -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 0 - ghost atom cutoff = 0 - binsize = 20, bins = 1 1 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair gran/hertz/history, perpetual - attributes: half, newton on, size, history - pair build: half/size/multi/newton - stencil: half/multi/3d - bin: multi -WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) -fix bal all balance 10000 1.1 shift xyz 20 1.01 - -####################### Options specific to pouring ######################### - -region insreg cylinder z 10 10 8 10 18 side in units box -region cylreg cylinder z 10 10 10 0 20 side in units box - -variable theta equal (step/400000)*2*PI - -region b1 block 2 18 9 11 0 4 side out rotate v_theta 10 10 0 0 0 1 units box -region b2 block 9 11 2 18 0 3.99999 side out rotate v_theta 10 10 0 0 0 1 units box - -region mixer intersect 3 cylreg b1 b2 side in - -fix grav all gravity ${gravity} vector 0 0 -1 -fix grav all gravity 1 vector 0 0 -1 -fix 1 all nve/sphere - -fix mixwall all wall/gran/region hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region mixer -fix mixwall all wall/gran/region hertz/history 100000 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region mixer -fix mixwall all wall/gran/region hertz/history 100000 20000 ${gamma_n} ${gamma_t} ${coeffFric} 1 region mixer -fix mixwall all wall/gran/region hertz/history 100000 20000 806.699778405191 ${gamma_t} ${coeffFric} 1 region mixer -fix mixwall all wall/gran/region hertz/history 100000 20000 806.699778405191 403.349889202595 ${coeffFric} 1 region mixer -fix mixwall all wall/gran/region hertz/history 100000 20000 806.699778405191 403.349889202595 0.5 1 region mixer - -fix ins all pour 1000 1 42424 region insreg diam range ${dlo} ${dhi} dens ${density} ${density} -fix ins all pour 1000 1 42424 region insreg diam range 0.6 ${dhi} dens ${density} ${density} -fix ins all pour 1000 1 42424 region insreg diam range 0.6 1.2 dens ${density} ${density} -fix ins all pour 1000 1 42424 region insreg diam range 0.6 1.2 dens 1 ${density} -fix ins all pour 1000 1 42424 region insreg diam range 0.6 1.2 dens 1 1 -Particle insertion: 444 every 84653 steps, 1000 by step 169307 - -#dump 1 all custom ${dumpfreq} ${name}_pour.dump # id type mass diameter x y z - -#dump 2 all image 4000 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 zoom 1.5 # box no 0.0 axes no 0.0 0.0 -#dump_modify 2 pad 6 - -thermo_style custom step cpu atoms ke v_theta -WARNING: New thermo_style command, previous thermo_modify settings will be lost (../output.cpp:896) -thermo_modify flush yes lost warn - -run 200000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- neighbor multi command: doi:10.1016/j.cpc.2008.03.005, doi:10.1007/s40571-020-00361-2 - -@Article{Intveld08, - author = {in 't Veld, P. J. and S. J.~Plimpton and G. S. Grest}, - title = {Accurate and Efficient Methods for Modeling Colloidal - Mixtures in an Explicit Solvent using Molecular Dynamics}, - journal = {Comput.\ Phys.\ Commut.}, - year = 2008, - volume = 179, - pages = {320--329} -} - -@article{Shire2020, - author = {Shire, Tom and Hanley, Kevin J. and Stratford, Kevin}, - title = {{DEM} Simulations of Polydisperse Media: Efficient Contact - Detection Applied to Investigate the Quasi-Static Limit}, - journal = {Computational Particle Mechanics}, - year = {2020} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 5.816 | 5.816 | 5.816 Mbytes - Step CPU Atoms KinEng v_theta - 0 0 0 -0 0 - 1000 0.089993907 444 -0 0.015707963 - 2000 0.14885989 444 -0 0.031415927 - 3000 0.20954563 444 -0 0.04712389 - 4000 0.27002257 444 -0 0.062831853 - 5000 0.33034347 444 -0 0.078539816 - 6000 0.39049526 444 -0 0.09424778 - 7000 0.45002664 444 -0 0.10995574 - 8000 0.50911338 444 -0 0.12566371 - 9000 0.56771745 444 -0 0.14137167 - 10000 0.62699472 444 -0 0.15707963 - 11000 0.67300351 444 -0 0.1727876 - 12000 0.71981356 444 -0 0.18849556 - 13000 0.76697682 444 -0 0.20420352 - 14000 0.81412229 444 -0 0.21991149 - 15000 0.86284749 444 -0 0.23561945 - 16000 0.91199522 444 -0 0.25132741 - 17000 0.96230663 444 -0 0.26703538 - 18000 1.0118327 444 -0 0.28274334 - 19000 1.0617397 444 -0 0.2984513 - 20000 1.111586 444 -0 0.31415927 - 21000 1.1556637 444 -0 0.32986723 - 22000 1.2005913 444 -0 0.34557519 - 23000 1.2455061 444 -0 0.36128316 - 24000 1.2910181 444 -0 0.37699112 - 25000 1.3370577 444 -0 0.39269908 - 26000 1.383595 444 -0 0.40840704 - 27000 1.430922 444 -0 0.42411501 - 28000 1.478627 444 -0 0.43982297 - 29000 1.5278607 444 -0 0.45553093 - 30000 1.576597 444 -0 0.4712389 - 31000 1.6202694 444 -0 0.48694686 - 32000 1.6646667 444 -0 0.50265482 - 33000 1.7092726 444 -0 0.51836279 - 34000 1.7535573 444 -0 0.53407075 - 35000 1.7985995 444 -0 0.54977871 - 36000 1.8440346 444 -0 0.56548668 - 37000 1.8900841 444 -0 0.58119464 - 38000 1.9368772 444 -0 0.5969026 - 39000 1.9842867 444 -0 0.61261057 - 40000 2.0318482 444 -0 0.62831853 - 41000 2.0753049 444 -0 0.64402649 - 42000 2.1196274 444 -0 0.65973446 - 43000 2.1647071 444 -0 0.67544242 - 44000 2.2101195 444 -0 0.69115038 - 45000 2.2564642 444 -0 0.70685835 - 46000 2.3033573 444 -0 0.72256631 - 47000 2.3500515 444 -0 0.73827427 - 48000 2.3972268 444 -0 0.75398224 - 49000 2.4444727 444 -0 0.7696902 - 50000 2.4921003 444 -0 0.78539816 - 51000 2.535088 444 -0 0.80110613 - 52000 2.5785564 444 -0 0.81681409 - 53000 2.6221392 444 -0 0.83252205 - 54000 2.6664169 444 -0 0.84823002 - 55000 2.7108951 444 -0 0.86393798 - 56000 2.7560522 444 -0 0.87964594 - 57000 2.8010254 444 -0 0.89535391 - 58000 2.8484456 444 -0 0.91106187 - 59000 2.8951674 444 -0 0.92676983 - 60000 2.9424205 444 -0 0.9424778 - 61000 2.9885999 444 -0 0.95818576 - 62000 3.0338676 444 -0 0.97389372 - 63000 3.0793674 444 -0 0.98960169 - 64000 3.1253557 444 -0 1.0053096 - 65000 3.1723823 444 -0 1.0210176 - 66000 3.2203846 444 -0 1.0367256 - 67000 3.2690443 444 -0 1.0524335 - 68000 3.317707 444 -0 1.0681415 - 69000 3.3670196 444 -0 1.0838495 - 70000 3.4160505 444 -0 1.0995574 - 71000 3.4621197 444 -0 1.1152654 - 72000 3.5086434 444 -0 1.1309734 - 73000 3.555691 444 -0 1.1466813 - 74000 3.6032072 444 -0 1.1623893 - 75000 3.6514849 444 -0 1.1780972 - 76000 3.7002713 444 -0 1.1938052 - 77000 3.7497321 444 -0 1.2095132 - 78000 3.7997711 444 -0 1.2252211 - 79000 3.8504338 444 -0 1.2409291 - 80000 3.9020416 444 -0 1.2566371 - 81000 3.9496762 444 -0 1.272345 - 82000 3.9968215 444 -0 1.288053 - 83000 4.04496 444 -0 1.303761 - 84000 4.0936477 444 -0 1.3194689 - 85000 4.1618384 888 -0 1.3351769 - 86000 4.2472086 888 -0 1.3508848 - 87000 4.3322855 888 -0 1.3665928 - 88000 4.4169835 888 -0 1.3823008 - 89000 4.5014588 888 -0 1.3980087 - 90000 4.5861842 888 -0 1.4137167 - 91000 4.653654 888 -0 1.4294247 - 92000 4.7217642 888 -0 1.4451326 - 93000 4.791842 888 -0 1.4608406 - 94000 4.8601789 888 -0 1.4765485 - 95000 4.92849 888 -0 1.4922565 - 96000 4.9976811 888 -0 1.5079645 - 97000 5.0687073 888 -0 1.5236724 - 98000 5.1387234 888 -0 1.5393804 - 99000 5.2086037 888 -0 1.5550884 - 100000 5.2786924 888 -0 1.5707963 - 101000 5.3466895 888 -0 1.5865043 - 102000 5.417132 888 -0 1.6022123 - 103000 5.4865633 888 -0 1.6179202 - 104000 5.5565911 888 -0 1.6336282 - 105000 5.6266394 888 -0 1.6493361 - 106000 5.6975394 888 -0 1.6650441 - 107000 5.7687753 888 -0 1.6807521 - 108000 5.8408498 888 -0 1.69646 - 109000 5.9132618 888 -0 1.712168 - 110000 5.9872629 888 -0 1.727876 - 111000 6.0588115 888 -0 1.7435839 - 112000 6.1308729 888 -0 1.7592919 - 113000 6.2047311 888 -0 1.7749998 - 114000 6.2780757 888 -0 1.7907078 - 115000 6.3528542 888 -0 1.8064158 - 116000 6.4277704 888 -0 1.8221237 - 117000 6.5034683 888 -0 1.8378317 - 118000 6.5795779 888 -0 1.8535397 - 119000 6.655928 888 -0 1.8692476 - 120000 6.7335119 888 -0 1.8849556 - 121000 6.806827 888 -0 1.9006636 - 122000 6.881052 888 -0 1.9163715 - 123000 6.9559647 888 -0 1.9320795 - 124000 7.0300829 888 -0 1.9477874 - 125000 7.1047925 888 -0 1.9634954 - 126000 7.1797025 888 -0 1.9792034 - 127000 7.2556934 888 -0 1.9949113 - 128000 7.3317803 888 -0 2.0106193 - 129000 7.4088096 888 -0 2.0263273 - 130000 7.4862461 888 -0 2.0420352 - 131000 7.5633585 888 -0 2.0577432 - 132000 7.641939 888 -0 2.0734512 - 133000 7.7192741 888 -0 2.0891591 - 134000 7.7970156 888 -0 2.1048671 - 135000 7.8760712 888 -0 2.120575 - 136000 7.9563099 888 -0 2.136283 - 137000 8.0381808 888 -0 2.151991 - 138000 8.1210957 888 -0 2.1676989 - 139000 8.20401 888 -0 2.1834069 - 140000 8.2871705 888 -0 2.1991149 - 141000 8.364321 888 -0 2.2148228 - 142000 8.4426744 888 -0 2.2305308 - 143000 8.5238377 888 -0 2.2462387 - 144000 8.6050517 888 -0 2.2619467 - 145000 8.6865872 888 -0 2.2776547 - 146000 8.767621 888 -0 2.2933626 - 147000 8.8496616 888 -0 2.3090706 - 148000 8.9329599 888 -0 2.3247786 - 149000 9.0165929 888 -0 2.3404865 - 150000 9.1015214 888 -0 2.3561945 - 151000 9.1847289 888 -0 2.3719025 - 152000 9.2689185 888 -0 2.3876104 - 153000 9.3518862 888 -0 2.4033184 - 154000 9.4367057 888 -0 2.4190263 - 155000 9.5227466 888 -0 2.4347343 - 156000 9.6087196 888 -0 2.4504423 - 157000 9.6955661 888 -0 2.4661502 - 158000 9.7838227 888 -0 2.4818582 - 159000 9.8731804 888 -0 2.4975662 - 160000 9.9626648 888 -0 2.5132741 - 161000 10.050473 888 -0 2.5289821 - 162000 10.137725 888 -0 2.54469 - 163000 10.227259 888 -0 2.560398 - 164000 10.318501 888 -0 2.576106 - 165000 10.409218 888 -0 2.5918139 - 166000 10.502055 888 -0 2.6075219 - 167000 10.593786 888 -0 2.6232299 - 168000 10.688536 888 -0 2.6389378 - 169000 10.786033 888 -0 2.6546458 - 170000 10.886377 1000 -0 2.6703538 - 171000 10.987493 1000 -0 2.6860617 - 172000 11.084584 1000 -0 2.7017697 - 173000 11.181502 1000 -0 2.7174776 - 174000 11.28434 1000 -0 2.7331856 - 175000 11.387838 1000 -0 2.7488936 - 176000 11.490915 1000 -0 2.7646015 - 177000 11.595473 1000 -0 2.7803095 - 178000 11.699823 1000 -0 2.7960175 - 179000 11.803927 1000 -0 2.8117254 - 180000 11.90548 1000 -0 2.8274334 - 181000 12.00857 1000 -0 2.8431414 - 182000 12.112787 1000 -0 2.8588493 - 183000 12.217943 1000 -0 2.8745573 - 184000 12.322668 1000 -0 2.8902652 - 185000 12.428332 1000 -0 2.9059732 - 186000 12.535414 1000 -0 2.9216812 - 187000 12.642404 1000 -0 2.9373891 - 188000 12.749332 1000 -0 2.9530971 - 189000 12.856872 1000 -0 2.9688051 - 190000 12.965335 1000 -0 2.984513 - 191000 13.073275 1000 -0 3.000221 - 192000 13.180122 1000 -0 3.0159289 - 193000 13.288112 1000 -0 3.0316369 - 194000 13.394688 1000 -0 3.0473449 - 195000 13.501251 1000 -0 3.0630528 - 196000 13.607472 1000 -0 3.0787608 - 197000 13.71396 1000 -0 3.0944688 - 198000 13.821133 1000 -0 3.1101767 - 199000 13.929192 1000 -0 3.1258847 - 200000 14.036724 1000 -0 3.1415927 -Loop time of 14.0368 on 4 procs for 200000 steps with 1000 atoms - -Performance: 58169.166 tau/day, 14248.307 timesteps/s, 14.248 Matom-step/s -95.5% CPU use with 4 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.47004 | 0.75698 | 1.1 | 33.1 | 5.39 -Neigh | 0.0078501 | 0.010659 | 0.013902 | 2.7 | 0.08 -Comm | 3.9589 | 4.4102 | 4.9322 | 21.6 | 31.42 -Output | 0.0031054 | 0.0046208 | 0.0069341 | 2.1 | 0.03 -Modify | 6.1829 | 6.8363 | 7.6135 | 24.8 | 48.70 -Other | | 2.018 | | | 14.38 - -Nlocal: 250 ave 260 max 242 min -Histogram: 1 0 1 0 0 1 0 0 0 1 -Nghost: 279.25 ave 325 max 232 min -Histogram: 1 1 0 0 0 0 0 0 1 1 -Neighs: 939.75 ave 1397 max 509 min -Histogram: 2 0 0 0 0 0 0 0 0 2 - -Total # of neighbors = 3759 -Ave neighs/atom = 3.759 -Neighbor list builds = 201 -Dangerous builds = 0 -unfix ins -run 200000 -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 11.87 | 11.88 | 11.89 Mbytes - Step CPU Atoms KinEng v_theta - 200000 0 1000 1.0071568 3.1415927 - 201000 0.099357585 1000 1.0036239 3.1573006 - 202000 0.19922889 1000 0.99846844 3.1730086 - 203000 0.29896537 1000 0.98236169 3.1887165 - 204000 0.39875771 1000 0.98625572 3.2044245 - 205000 0.49759454 1000 0.9893407 3.2201325 - 206000 0.59609243 1000 1.0012123 3.2358404 - 207000 0.69408206 1000 1.0231892 3.2515484 - 208000 0.79216806 1000 1.0265912 3.2672564 - 209000 0.8902274 1000 1.0190202 3.2829643 - 210000 0.98909509 1000 1.0267754 3.2986723 - 211000 1.0882901 1000 1.0186847 3.3143802 - 212000 1.1895753 1000 1.0159848 3.3300882 - 213000 1.2891277 1000 0.99326329 3.3457962 - 214000 1.387486 1000 0.97263135 3.3615041 - 215000 1.4850078 1000 0.97246409 3.3772121 - 216000 1.58405 1000 0.96000626 3.3929201 - 217000 1.6853829 1000 0.95730432 3.408628 - 218000 1.7911163 1000 0.95605591 3.424336 - 219000 1.8974141 1000 0.94983 3.440044 - 220000 2.0029829 1000 0.95291888 3.4557519 - 221000 2.108723 1000 0.93612997 3.4714599 - 222000 2.2151561 1000 0.93414081 3.4871678 - 223000 2.3220866 1000 0.93321246 3.5028758 - 224000 2.4285504 1000 0.93026943 3.5185838 - 225000 2.5356173 1000 0.930478 3.5342917 - 226000 2.6415516 1000 0.92909096 3.5499997 - 227000 2.747634 1000 0.92308495 3.5657077 - 228000 2.8524082 1000 0.91075986 3.5814156 - 229000 2.9570172 1000 0.9006662 3.5971236 - 230000 3.0627535 1000 0.88869212 3.6128316 - 231000 3.1683919 1000 0.8877611 3.6285395 - 232000 3.2749534 1000 0.89409636 3.6442475 - 233000 3.3824185 1000 0.90866091 3.6599554 - 234000 3.4917899 1000 0.90454601 3.6756634 - 235000 3.6009156 1000 0.89408327 3.6913714 - 236000 3.7111309 1000 0.8881044 3.7070793 - 237000 3.8197619 1000 0.89322168 3.7227873 - 238000 3.9302291 1000 0.89018045 3.7384953 - 239000 4.0407242 1000 0.88771268 3.7542032 - 240000 4.1521989 1000 0.88957717 3.7699112 - 241000 4.2639861 1000 0.89362036 3.7856191 - 242000 4.3782856 1000 0.90967472 3.8013271 - 243000 4.4925107 1000 0.91366381 3.8170351 - 244000 4.6057342 1000 0.9150959 3.832743 - 245000 4.7199383 1000 0.92725789 3.848451 - 246000 4.8346784 1000 0.93024722 3.864159 - 247000 4.9515438 1000 0.93297974 3.8798669 - 248000 5.0696512 1000 0.94755869 3.8955749 - 249000 5.1838845 1000 0.94761679 3.9112829 - 250000 5.297991 1000 0.92701064 3.9269908 - 251000 5.412562 1000 0.91365252 3.9426988 - 252000 5.5274859 1000 0.90918381 3.9584067 - 253000 5.6418647 1000 0.90612685 3.9741147 - 254000 5.7593721 1000 0.90352142 3.9898227 - 255000 5.8759086 1000 0.90421567 4.0055306 - 256000 5.993588 1000 0.90024688 4.0212386 - 257000 6.1142027 1000 0.88540341 4.0369466 - 258000 6.2318882 1000 0.87890423 4.0526545 - 259000 6.3502765 1000 0.86833748 4.0683625 - 260000 6.4677878 1000 0.85465694 4.0840704 - 261000 6.5875341 1000 0.83941242 4.0997784 - 262000 6.7063481 1000 0.81790404 4.1154864 - 263000 6.8249742 1000 0.82284562 4.1311943 - 264000 6.9421188 1000 0.80961447 4.1469023 - 265000 7.0588866 1000 0.80567073 4.1626103 - 266000 7.1763855 1000 0.79577448 4.1783182 - 267000 7.295632 1000 0.78489106 4.1940262 - 268000 7.4144463 1000 0.77348757 4.2097342 - 269000 7.5333839 1000 0.76606696 4.2254421 - 270000 7.6527119 1000 0.7649744 4.2411501 - 271000 7.7704222 1000 0.76050309 4.256858 - 272000 7.8903012 1000 0.75378759 4.272566 - 273000 8.0106197 1000 0.75633811 4.288274 - 274000 8.1309707 1000 0.75703106 4.3039819 - 275000 8.2522837 1000 0.75227453 4.3196899 - 276000 8.3730898 1000 0.76003902 4.3353979 - 277000 8.4955037 1000 0.76274661 4.3511058 - 278000 8.6153206 1000 0.75888482 4.3668138 - 279000 8.7339569 1000 0.75071875 4.3825218 - 280000 8.8515447 1000 0.75454927 4.3982297 - 281000 8.9685253 1000 0.75617824 4.4139377 - 282000 9.0856168 1000 0.75230835 4.4296456 - 283000 9.2018894 1000 0.75417571 4.4453536 - 284000 9.3179777 1000 0.74559345 4.4610616 - 285000 9.4341721 1000 0.73274661 4.4767695 - 286000 9.5498722 1000 0.72385193 4.4924775 - 287000 9.6651326 1000 0.72398899 4.5081855 - 288000 9.7810274 1000 0.72009027 4.5238934 - 289000 9.8959471 1000 0.72026686 4.5396014 - 290000 10.010007 1000 0.72330145 4.5553093 - 291000 10.123304 1000 0.71630656 4.5710173 - 292000 10.238277 1000 0.71089192 4.5867253 - 293000 10.351465 1000 0.70584923 4.6024332 - 294000 10.464794 1000 0.71350398 4.6181412 - 295000 10.57818 1000 0.72781836 4.6338492 - 296000 10.692249 1000 0.72285512 4.6495571 - 297000 10.80741 1000 0.71649517 4.6652651 - 298000 10.923694 1000 0.71132209 4.6809731 - 299000 11.039173 1000 0.73602072 4.696681 - 300000 11.157002 1000 0.74400837 4.712389 - 301000 11.272462 1000 0.76618562 4.7280969 - 302000 11.386581 1000 0.77476041 4.7438049 - 303000 11.499191 1000 0.77124283 4.7595129 - 304000 11.611585 1000 0.7625748 4.7752208 - 305000 11.725012 1000 0.74979361 4.7909288 - 306000 11.838032 1000 0.74515733 4.8066368 - 307000 11.949194 1000 0.74302741 4.8223447 - 308000 12.060586 1000 0.73732959 4.8380527 - 309000 12.171445 1000 0.73368237 4.8537606 - 310000 12.283518 1000 0.72374292 4.8694686 - 311000 12.393447 1000 0.72107784 4.8851766 - 312000 12.505136 1000 0.72944426 4.9008845 - 313000 12.616959 1000 0.73958637 4.9165925 - 314000 12.730312 1000 0.75160847 4.9323005 - 315000 12.846163 1000 0.74419683 4.9480084 - 316000 12.960328 1000 0.74652593 4.9637164 - 317000 13.073994 1000 0.74933482 4.9794244 - 318000 13.186549 1000 0.74200509 4.9951323 - 319000 13.296925 1000 0.7346024 5.0108403 - 320000 13.406825 1000 0.72806145 5.0265482 - 321000 13.51703 1000 0.72147888 5.0422562 - 322000 13.628261 1000 0.71460041 5.0579642 - 323000 13.74063 1000 0.70255075 5.0736721 - 324000 13.853826 1000 0.70640327 5.0893801 - 325000 13.968533 1000 0.70643428 5.1050881 - 326000 14.081456 1000 0.69751794 5.120796 - 327000 14.195505 1000 0.69035108 5.136504 - 328000 14.310048 1000 0.68068243 5.152212 - 329000 14.426048 1000 0.69123492 5.1679199 - 330000 14.543349 1000 0.70326515 5.1836279 - 331000 14.662021 1000 0.70551726 5.1993358 - 332000 14.782194 1000 0.70514444 5.2150438 - 333000 14.901573 1000 0.71102045 5.2307518 - 334000 15.020642 1000 0.71336747 5.2464597 - 335000 15.136739 1000 0.70816388 5.2621677 - 336000 15.252554 1000 0.69502472 5.2778757 - 337000 15.368496 1000 0.69314289 5.2935836 - 338000 15.483744 1000 0.68565794 5.3092916 - 339000 15.599584 1000 0.67268053 5.3249995 - 340000 15.717342 1000 0.68313196 5.3407075 - 341000 15.835594 1000 0.68782815 5.3564155 - 342000 15.954546 1000 0.6989326 5.3721234 - 343000 16.074184 1000 0.694926 5.3878314 - 344000 16.193902 1000 0.7006474 5.4035394 - 345000 16.314878 1000 0.70783177 5.4192473 - 346000 16.434704 1000 0.71334276 5.4349553 - 347000 16.554708 1000 0.72917419 5.4506633 - 348000 16.673034 1000 0.74315705 5.4663712 - 349000 16.791269 1000 0.76731311 5.4820792 - 350000 16.912554 1000 0.79761434 5.4977871 - 351000 17.03323 1000 0.80447724 5.5134951 - 352000 17.155644 1000 0.80118728 5.5292031 - 353000 17.281134 1000 0.77990459 5.544911 - 354000 17.406672 1000 0.76453299 5.560619 - 355000 17.532346 1000 0.76538392 5.576327 - 356000 17.657256 1000 0.76310698 5.5920349 - 357000 17.782477 1000 0.75897095 5.6077429 - 358000 17.909642 1000 0.75071115 5.6234508 - 359000 18.035032 1000 0.74034801 5.6391588 - 360000 18.160696 1000 0.72671924 5.6548668 - 361000 18.285089 1000 0.72111017 5.6705747 - 362000 18.408849 1000 0.71875181 5.6862827 - 363000 18.533901 1000 0.71469706 5.7019907 - 364000 18.659326 1000 0.70470493 5.7176986 - 365000 18.784109 1000 0.70863047 5.7334066 - 366000 18.911344 1000 0.70850561 5.7491146 - 367000 19.039756 1000 0.71413452 5.7648225 - 368000 19.169907 1000 0.71314184 5.7805305 - 369000 19.299066 1000 0.71309549 5.7962384 - 370000 19.428116 1000 0.71132937 5.8119464 - 371000 19.553027 1000 0.70788039 5.8276544 - 372000 19.678121 1000 0.71780071 5.8433623 - 373000 19.804465 1000 0.72352571 5.8590703 - 374000 19.92949 1000 0.71723739 5.8747783 - 375000 20.053554 1000 0.71556941 5.8904862 - 376000 20.177991 1000 0.70935312 5.9061942 - 377000 20.301972 1000 0.71551157 5.9219022 - 378000 20.427612 1000 0.7235163 5.9376101 - 379000 20.554742 1000 0.73896421 5.9533181 - 380000 20.680899 1000 0.74906169 5.969026 - 381000 20.805515 1000 0.75303336 5.984734 - 382000 20.931483 1000 0.75359492 6.000442 - 383000 21.05731 1000 0.75579354 6.0161499 - 384000 21.184712 1000 0.75178368 6.0318579 - 385000 21.310667 1000 0.74412159 6.0475659 - 386000 21.433509 1000 0.7360955 6.0632738 - 387000 21.554251 1000 0.73461103 6.0789818 - 388000 21.674477 1000 0.72496617 6.0946897 - 389000 21.794698 1000 0.7219047 6.1103977 - 390000 21.914083 1000 0.71837013 6.1261057 - 391000 22.033188 1000 0.71495923 6.1418136 - 392000 22.152689 1000 0.71436707 6.1575216 - 393000 22.271183 1000 0.71447834 6.1732296 - 394000 22.389775 1000 0.71334298 6.1889375 - 395000 22.509106 1000 0.71510229 6.2046455 - 396000 22.628068 1000 0.7121714 6.2203535 - 397000 22.746926 1000 0.70818894 6.2360614 - 398000 22.865086 1000 0.70059455 6.2517694 - 399000 22.982394 1000 0.69960089 6.2674773 - 400000 23.100381 1000 0.70261998 6.2831853 -Loop time of 23.1004 on 4 procs for 200000 steps with 1000 atoms - -Performance: 35345.963 tau/day, 8657.854 timesteps/s, 8.658 Matom-step/s -92.9% CPU use with 4 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 1.263 | 2.1388 | 3.0295 | 58.6 | 9.26 -Neigh | 0.012633 | 0.017793 | 0.023147 | 3.7 | 0.08 -Comm | 7.8521 | 9.0474 | 10.284 | 39.6 | 39.17 -Output | 0.0029549 | 0.004916 | 0.0068506 | 2.0 | 0.02 -Modify | 8.3635 | 9.8066 | 11.142 | 41.0 | 42.45 -Other | | 2.085 | | | 9.03 - -Nlocal: 250 ave 258 max 241 min -Histogram: 1 0 0 0 1 0 0 1 0 1 -Nghost: 412 ave 492 max 332 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Neighs: 1258.5 ave 1588 max 953 min -Histogram: 2 0 0 0 0 0 0 0 1 1 - -Total # of neighbors = 5034 -Ave neighs/atom = 5.034 -Neighbor list builds = 159 -Dangerous builds = 0 -Total wall time: 0:00:37 diff --git a/examples/granregion/log.16Mar23.granregion.box.g++.1 b/examples/granregion/log.16Mar23.granregion.box.g++.1 new file mode 100644 index 0000000000..b7bdeda1d4 --- /dev/null +++ b/examples/granregion/log.16Mar23.granregion.box.g++.1 @@ -0,0 +1,484 @@ +LAMMPS (8 Feb 2023) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# pouring spheres into container box + +units lj +atom_style sphere +boundary f f f +dimension 3 +comm_modify vel yes + +region box block -10 10 -10 10 -10 10 units box +create_box 2 box +Created orthogonal box = (-10 -10 -10) to (10 10 10) + 1 by 1 by 1 MPI processor grid + +pair_style hybrid gran/hooke 4000.0 NULL 100.0 NULL 0.5 1 +pair_coeff * * gran/hooke + +region container block -6 6 -6 6 -6 6 units box +fix container all wall/gran/region hooke/history 4000.0 NULL 100.0 NULL 0.5 1 region container + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 2 all nve/sphere +fix 3 all gravity 1.0 vector 0 0 -1 + +region slab block -2 2 -2 2 -2 2 units box +fix ins all pour 100 2 4767548 vol 0.4 10 diam one 1.0 region slab ignore +Particle insertion: 48 every 566 steps, 100 by step 1133 + +timestep 0.005 + +compute 1 all temp +compute_modify 1 dynamic/dof yes + +compute 2 all temp/sphere +compute_modify 2 dynamic/dof yes + +thermo 100 +thermo_style custom step atoms temp c_1 c_2 press +thermo_modify lost ignore +compute_modify thermo_temp dynamic/dof yes + +#dump 2 all image 100 image.*.jpg type type # zoom 1.4 adiam 1.0 box no 0.0 axes yes 0.9 0.03 +#dump_modify 2 pad 5 + +run 5000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.3 + ghost atom cutoff = 1.3 + binsize = 0.65, bins = 31 31 31 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair gran/hooke, perpetual + attributes: half, newton on, size + pair build: half/size/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 0.5861 | 0.5861 | 0.5861 Mbytes + Step Atoms Temp c_1 c_2 Press + 0 0 0 0 0 0 +WARNING: Fewer insertions than requested (src/GRANULAR/fix_pour.cpp:681) + 100 30 0.803783 0.803783 0.39507978 0.0029137134 + 200 30 1.1967995 1.1967995 0.5882574 0.0043383984 + 300 30 1.2814686 1.2814686 0.62987441 0.0046453238 + 400 30 0.82331082 0.82331082 0.41173176 0.0029845017 + 500 30 0.7708462 0.7708462 0.38777784 0.0043831147 +WARNING: Fewer insertions than requested (src/GRANULAR/fix_pour.cpp:681) + 600 64 0.51564897 0.51564897 0.26631577 0.0040059368 + 700 64 0.57239348 0.57239348 0.29566901 0.0045075987 + 800 64 0.61837087 0.61837087 0.32195387 0.0048123564 + 900 64 0.53061888 0.53061888 0.28564763 0.0055906552 + 1000 64 0.496299 0.496299 0.26801572 0.0061169128 + 1100 64 0.46068308 0.46068308 0.24699057 0.0055717699 +WARNING: Fewer insertions than requested (src/GRANULAR/fix_pour.cpp:681) + 1200 99 0.39206225 0.39206225 0.21356546 0.0066294211 + 1300 99 0.38624966 0.38624966 0.21345854 0.0049051051 + 1400 99 0.35615284 0.35615284 0.19785725 0.0046170772 + 1500 99 0.31486693 0.31486693 0.17429055 0.0064903432 + 1600 99 0.26369001 0.26369001 0.15095266 0.0045226847 + 1700 100 0.1925923 0.1925923 0.11308104 0.007362313 + 1800 100 0.13724978 0.13724978 0.083276845 0.0058136373 + 1900 100 0.077212636 0.077212636 0.053159386 0.0016509598 + 2000 100 0.065294031 0.065294031 0.04372752 0.0020346467 + 2100 100 0.057431398 0.057431398 0.037977068 0.0012681098 + 2200 100 0.059093045 0.059093045 0.037435193 0.00096610799 + 2300 100 0.03422338 0.03422338 0.025491304 0.00069886052 + 2400 100 0.020558284 0.020558284 0.016163009 0.0017260663 + 2500 100 0.015339709 0.015339709 0.012329236 0.00041308031 + 2600 100 0.012891354 0.012891354 0.009766054 0.00030356722 + 2700 100 0.0092634449 0.0092634449 0.0073580108 0.00077723051 + 2800 100 0.0073925841 0.0073925841 0.0059932218 0.00016466767 + 2900 100 0.0081228267 0.0081228267 0.006281761 0.00013828388 + 3000 100 0.0041833223 0.0041833223 0.0035147096 0.00013160599 + 3100 100 0.0035930775 0.0035930775 0.0030039922 0.00060639771 + 3200 100 0.0030824465 0.0030824465 0.0026541293 0.00047391014 + 3300 100 0.0035087522 0.0035087522 0.0027664508 0.00014080317 + 3400 100 0.0018537868 0.0018537868 0.0017099705 6.3326674e-05 + 3500 100 0.0015371228 0.0015371228 0.0014155433 0.00021612522 + 3600 100 0.001708556 0.001708556 0.0014369892 8.1034202e-05 + 3700 100 0.00095948652 0.00095948652 0.0009788528 3.4694023e-05 + 3800 100 0.00091875668 0.00091875668 0.00086805146 3.9373686e-05 + 3900 100 0.001557068 0.001557068 0.001159526 2.5178607e-05 + 4000 100 0.00062012451 0.00062012451 0.00066806922 5.6680551e-06 + 4100 100 0.00060940771 0.00060940771 0.00065614741 1.0137901e-05 + 4200 100 0.00059538437 0.00059538437 0.00064501521 7.3679744e-06 + 4300 100 0.00052946048 0.00052946048 0.00059353641 5.9225081e-06 + 4400 100 0.00051202281 0.00051202281 0.00057524772 3.6198435e-05 + 4500 100 0.00049986632 0.00049986632 0.00055754521 2.2275519e-05 + 4600 100 0.00048187334 0.00048187334 0.00053988815 2.2015243e-05 + 4700 100 0.00045261491 0.00045261491 0.00050298355 8.9681339e-05 + 4800 100 0.00034965427 0.00034965427 0.0004278781 1.0983535e-05 + 4900 100 0.00033555621 0.00033555621 0.00041435167 2.9266598e-05 + 5000 100 0.00031387148 0.00031387148 0.00039605781 2.5628425e-05 +Loop time of 0.073938 on 1 procs for 5000 steps with 100 atoms + +Performance: 29213677.752 tau/day, 67624.254 timesteps/s, 6.762 Matom-step/s +98.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0084547 | 0.0084547 | 0.0084547 | 0.0 | 11.43 +Neigh | 0.011399 | 0.011399 | 0.011399 | 0.0 | 15.42 +Comm | 0.00077205 | 0.00077205 | 0.00077205 | 0.0 | 1.04 +Output | 0.00042663 | 0.00042663 | 0.00042663 | 0.0 | 0.58 +Modify | 0.049692 | 0.049692 | 0.049692 | 0.0 | 67.21 +Other | | 0.003194 | | | 4.32 + +Nlocal: 100 ave 100 max 100 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 164 ave 164 max 164 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 164 +Ave neighs/atom = 1.64 +Neighbor list builds = 281 +Dangerous builds = 0 + +region container delete +variable theta equal (step-5000)*(4.0*PI/5000) +region container block -6 6 -6 6 -6 6 units box rotate v_theta 0 0 0 0 0 1 +run 5000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +WARNING: Region properties for region container changed between runs, resetting its motion (src/GRANULAR/fix_wall_gran_region.cpp:101) +Per MPI rank memory allocation (min/avg/max) = 5.837 | 5.837 | 5.837 Mbytes + Step Atoms Temp c_1 c_2 Press + 5000 100 0.00031387148 0.00031387148 0.00039605781 2.6174978e-05 + 5100 100 0.54537023 0.54537023 0.30042175 0.0087427352 + 5200 100 0.57210852 0.57210852 0.3192468 0.0098134067 + 5300 100 0.7168108 0.7168108 0.38577893 0.011004584 + 5400 100 0.78895524 0.78895524 0.41889428 0.013555713 + 5500 100 0.87797874 0.87797874 0.45689223 0.01565356 + 5600 100 0.95424379 0.95424379 0.48830429 0.014707858 + 5700 100 1.0046012 1.0046012 0.51054927 0.01469179 + 5800 100 1.0371453 1.0371453 0.5262568 0.015576788 + 5900 100 1.0545743 1.0545743 0.5361173 0.01589889 + 6000 100 1.0932949 1.0932949 0.55402214 0.017484573 + 6100 100 1.1148364 1.1148364 0.56241126 0.01721788 + 6200 100 1.1315267 1.1315267 0.57050887 0.017961246 + 6300 100 1.1506124 1.1506124 0.58009471 0.017159062 + 6400 100 1.1663328 1.1663328 0.5876586 0.017935311 + 6500 100 1.1821086 1.1821086 0.59595161 0.018005316 + 6600 100 1.2039397 1.2039397 0.60567523 0.021604661 + 6700 100 1.2269912 1.2269912 0.61770225 0.018907995 + 6800 100 1.2447034 1.2447034 0.62576519 0.020537655 + 6900 100 1.2625323 1.2625323 0.63486698 0.02010613 + 7000 100 1.2617127 1.2617127 0.63318163 0.019670429 + 7100 100 1.260715 1.260715 0.63311254 0.01981063 + 7200 100 1.2790404 1.2790404 0.64079 0.020218912 + 7300 100 1.2760228 1.2760228 0.6395331 0.021749952 + 7400 100 1.2799657 1.2799657 0.64139078 0.020472917 + 7500 100 1.2846472 1.2846472 0.64343076 0.020610029 + 7600 100 1.2883963 1.2883963 0.6449186 0.020748906 + 7700 100 1.2926891 1.2926891 0.64684538 0.020599574 + 7800 100 1.3033565 1.3033565 0.65126214 0.021822145 + 7900 100 1.3025797 1.3025797 0.65069472 0.02121384 + 8000 100 1.3052551 1.3052551 0.65209898 0.021398725 + 8100 100 1.3069868 1.3069868 0.65304899 0.021246465 + 8200 100 1.3091964 1.3091964 0.65438143 0.021222398 + 8300 100 1.3101277 1.3101277 0.65518554 0.021329556 + 8400 100 1.3117162 1.3117162 0.65551056 0.021468306 + 8500 100 1.3143892 1.3143892 0.65683087 0.021610874 + 8600 100 1.3164123 1.3164123 0.65789423 0.021564818 + 8700 100 1.3186854 1.3186854 0.65914031 0.021745193 + 8800 100 1.3216944 1.3216944 0.66041385 0.022178553 + 8900 100 1.3207558 1.3207558 0.65988071 0.021810027 + 9000 100 1.3213131 1.3213131 0.66020938 0.021890893 + 9100 100 1.3224905 1.3224905 0.66088289 0.021824994 + 9200 100 1.3240681 1.3240681 0.66183168 0.021784616 + 9300 100 1.3254174 1.3254174 0.66279883 0.021664485 + 9400 100 1.3326916 1.3326916 0.66633358 0.021979709 + 9500 100 1.3405062 1.3405062 0.66975745 0.022238702 + 9600 100 1.3363695 1.3363695 0.66742377 0.022104646 + 9700 100 1.3363391 1.3363391 0.6673032 0.022066628 + 9800 100 1.334875 1.334875 0.6665532 0.021902669 + 9900 100 1.3339805 1.3339805 0.66614358 0.022018971 + 10000 100 1.3337897 1.3337897 0.66609803 0.022184385 +Loop time of 0.213875 on 1 procs for 5000 steps with 100 atoms + +Performance: 10099379.673 tau/day, 23378.194 timesteps/s, 2.338 Matom-step/s +99.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.031863 | 0.031863 | 0.031863 | 0.0 | 14.90 +Neigh | 0.026844 | 0.026844 | 0.026844 | 0.0 | 12.55 +Comm | 0.0011059 | 0.0011059 | 0.0011059 | 0.0 | 0.52 +Output | 0.00072907 | 0.00072907 | 0.00072907 | 0.0 | 0.34 +Modify | 0.14874 | 0.14874 | 0.14874 | 0.0 | 69.54 +Other | | 0.004595 | | | 2.15 + +Nlocal: 100 ave 100 max 100 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 186 ave 186 max 186 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 186 +Ave neighs/atom = 1.86 +Neighbor list builds = 626 +Dangerous builds = 0 + +region container delete +region container block -6 6 -6 6 -6 6 units box +run 5000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 5.837 | 5.837 | 5.837 Mbytes + Step Atoms Temp c_1 c_2 Press + 10000 100 1.3337897 1.3337897 0.66609803 0.022303323 + 10100 100 0.29960521 0.29960521 0.17535846 0.0099382421 + 10200 100 0.15737069 0.15737069 0.1024212 0.0045555648 + 10300 100 0.087501771 0.087501771 0.070895975 0.00093482858 + 10400 100 0.069967301 0.069967301 0.059253397 0.0008760803 + 10500 100 0.056137153 0.056137153 0.047810947 0.0009202993 + 10600 100 0.046835352 0.046835352 0.039400006 0.0011343063 + 10700 100 0.035422167 0.035422167 0.030746587 0.00081816474 + 10800 100 0.029180739 0.029180739 0.02627693 0.00039292712 + 10900 100 0.025094915 0.025094915 0.023244435 0.00044742245 + 11000 100 0.018014893 0.018014893 0.016862375 0.00017018411 + 11100 100 0.014549072 0.014549072 0.014551468 0.00020988549 + 11200 100 0.012586232 0.012586232 0.012569333 0.00019035396 + 11300 100 0.01003586 0.01003586 0.010253286 0.0004598214 + 11400 100 0.0067515743 0.0067515743 0.0069569741 0.00040592883 + 11500 100 0.0057834612 0.0057834612 0.0060790719 0.00013993531 + 11600 100 0.005496335 0.005496335 0.0056855922 0.00013419698 + 11700 100 0.0051524178 0.0051524178 0.0053354591 7.4388594e-05 + 11800 100 0.004911096 0.004911096 0.0051415984 0.00010665621 + 11900 100 0.004687138 0.004687138 0.0049520306 6.7492552e-05 + 12000 100 0.0041516495 0.0041516495 0.0044351666 4.3841199e-05 + 12100 100 0.0033948026 0.0033948026 0.0036851466 4.2010682e-05 + 12200 100 0.0029584231 0.0029584231 0.0031151054 5.1583068e-05 + 12300 100 0.0028401114 0.0028401114 0.0030094644 4.5499489e-05 + 12400 100 0.002650861 0.002650861 0.0027699066 0.00015370263 + 12500 100 0.0026018053 0.0026018053 0.0027178583 3.219734e-05 + 12600 100 0.0025788693 0.0025788693 0.0026939358 3.6615314e-05 + 12700 100 0.0024798907 0.0024798907 0.0026181033 3.0688648e-05 + 12800 100 0.0023930719 0.0023930719 0.0025491721 7.5200629e-05 + 12900 100 0.0022100795 0.0022100795 0.0024231125 2.3210159e-05 + 13000 100 0.0021267492 0.0021267492 0.0023312893 2.463758e-05 + 13100 100 0.0020732193 0.0020732193 0.0022673707 2.5656089e-05 + 13200 100 0.0020010659 0.0020010659 0.0021834293 2.4913608e-05 + 13300 100 0.0019645929 0.0019645929 0.0021311636 6.8209063e-05 + 13400 100 0.0019236711 0.0019236711 0.0020928899 2.3805429e-05 + 13500 100 0.001857137 0.001857137 0.0020387354 3.1316165e-05 + 13600 100 0.0018399111 0.0018399111 0.0020204586 2.27689e-05 + 13700 100 0.0016240252 0.0016240252 0.0017492695 0.00023180963 + 13800 100 0.0015856393 0.0015856393 0.0017164012 4.2480373e-05 + 13900 100 0.0014770352 0.0014770352 0.001571278 2.3192512e-05 + 14000 100 0.0013712974 0.0013712974 0.0014839763 4.7410142e-05 + 14100 100 0.0012396318 0.0012396318 0.0013778109 1.3867692e-05 + 14200 100 0.0011502319 0.0011502319 0.0012780584 0.00018410725 + 14300 100 0.0011020896 0.0011020896 0.0012348357 7.8122446e-05 + 14400 100 0.0010486644 0.0010486644 0.0011483239 0.00015074963 + 14500 100 0.00094167471 0.00094167471 0.0010033809 1.9550083e-05 + 14600 100 0.00080775791 0.00080775791 0.00087434944 4.6043659e-05 + 14700 100 0.00076176039 0.00076176039 0.00083462461 8.1916038e-05 + 14800 100 0.00073637901 0.00073637901 0.00081306941 9.1126903e-06 + 14900 100 0.00072682383 0.00072682383 0.00079396231 8.9944449e-06 + 15000 100 0.00070207518 0.00070207518 0.00077168127 2.2155171e-05 +Loop time of 0.0756704 on 1 procs for 5000 steps with 100 atoms + +Performance: 28544845.995 tau/day, 66076.032 timesteps/s, 6.608 Matom-step/s +99.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0079484 | 0.0079484 | 0.0079484 | 0.0 | 10.50 +Neigh | 0.0043035 | 0.0043035 | 0.0043035 | 0.0 | 5.69 +Comm | 0.00064796 | 0.00064796 | 0.00064796 | 0.0 | 0.86 +Output | 0.00044137 | 0.00044137 | 0.00044137 | 0.0 | 0.58 +Modify | 0.059329 | 0.059329 | 0.059329 | 0.0 | 78.40 +Other | | 0.003 | | | 3.97 + +Nlocal: 100 ave 100 max 100 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 165 ave 165 max 165 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 165 +Ave neighs/atom = 1.65 +Neighbor list builds = 101 +Dangerous builds = 0 + +region container delete +variable theta equal (step-15000)*(4.0*PI/5000) +region container block -6 6 -6 6 -6 6 units box rotate v_theta 0 0 0 1 1 1 +run 5000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 5.837 | 5.837 | 5.837 Mbytes + Step Atoms Temp c_1 c_2 Press + 15000 100 0.00070207518 0.00070207518 0.00077168127 2.0192237e-05 + 15100 100 1.1160127 1.1160127 0.69939857 0.01822663 + 15200 100 1.2546016 1.2546016 0.78819474 0.017013321 + 15300 100 1.1930613 1.1930613 0.77429911 0.015607175 + 15400 100 1.3791371 1.3791371 0.87875984 0.018478669 + 15500 100 1.6063158 1.6063158 0.98587325 0.027330546 + 15600 100 1.7719925 1.7719925 1.0773314 0.025651867 + 15700 100 1.8053439 1.8053439 1.0934572 0.033790716 + 15800 100 1.959016 1.959016 1.1465659 0.033715025 + 15900 100 2.1365654 2.1365654 1.2217718 0.03009529 + 16000 100 2.2883378 2.2883378 1.2768504 0.030582689 + 16100 100 2.4384012 2.4384012 1.3513708 0.031435936 + 16200 100 2.3571308 2.3571308 1.29989 0.034824253 + 16300 100 2.4671092 2.4671092 1.3516798 0.032364282 + 16400 100 2.4411936 2.4411936 1.3385743 0.031890134 + 16500 100 2.4930545 2.4930545 1.3635435 0.032601452 + 16600 100 2.5771906 2.5771906 1.4113993 0.034547128 + 16700 100 2.723199 2.723199 1.4769168 0.036582811 + 16800 100 2.8616886 2.8616886 1.5379462 0.036224198 + 16900 100 2.9517942 2.9517942 1.5872824 0.038757052 + 17000 100 3.0150335 3.0150335 1.6337001 0.044031411 + 17100 100 3.2211536 3.2211536 1.7374532 0.041483093 + 17200 100 3.2509982 3.2509982 1.7512835 0.042718835 + 17300 100 3.262348 3.262348 1.7648674 0.049291835 + 17400 100 3.4050702 3.4050702 1.8352043 0.04435958 + 17500 100 3.5236051 3.5236051 1.9003369 0.045640904 + 17600 100 3.4005287 3.4005287 1.8404347 0.044832295 + 17700 100 3.3190992 3.3190992 1.8154147 0.046365998 + 17800 100 3.2981138 3.2981138 1.811389 0.04607132 + 17900 100 3.2839466 3.2839466 1.7863773 0.045628167 + 18000 100 3.1519747 3.1519747 1.7382103 0.041739193 + 18100 100 3.1205305 3.1205305 1.7101547 0.043511342 + 18200 100 3.2014874 3.2014874 1.746745 0.04452173 + 18300 100 3.2739622 3.2739622 1.7796276 0.041345823 + 18400 100 3.3157359 3.3157359 1.8158932 0.047414 + 18500 100 3.5592096 3.5592096 1.9307695 0.046458132 + 18600 100 3.6594352 3.6594352 1.9851626 0.046396953 + 18700 100 3.6392917 3.6392917 1.9701361 0.047272883 + 18800 100 3.8490892 3.8490892 2.0832481 0.052344106 + 18900 100 3.8465732 3.8465732 2.0790411 0.054203126 + 19000 100 4.010008 4.010008 2.1620722 0.054242542 + 19100 100 4.0417392 4.0417392 2.168506 0.066484948 + 19200 100 3.8791541 3.8791541 2.0791914 0.060788142 + 19300 100 4.1023603 4.1023603 2.1944127 0.056461298 + 19400 100 4.1294375 4.1294375 2.2009649 0.061099665 + 19500 100 3.9274112 3.9274112 2.0877398 0.066068401 + 19600 100 4.066229 4.066229 2.1678487 0.055961003 + 19700 100 3.9829257 3.9829257 2.1184329 0.061961838 + 19800 100 4.0303258 4.0303258 2.14544 0.053667616 + 19900 100 3.9385166 3.9385166 2.1074364 0.060804382 + 20000 100 3.8534401 3.8534401 2.0796496 0.057588336 +Loop time of 0.167801 on 1 procs for 5000 steps with 100 atoms + +Performance: 12872385.064 tau/day, 29797.188 timesteps/s, 2.980 Matom-step/s +99.1% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.013849 | 0.013849 | 0.013849 | 0.0 | 8.25 +Neigh | 0.038108 | 0.038108 | 0.038108 | 0.0 | 22.71 +Comm | 0.0011352 | 0.0011352 | 0.0011352 | 0.0 | 0.68 +Output | 0.00073125 | 0.00073125 | 0.00073125 | 0.0 | 0.44 +Modify | 0.10927 | 0.10927 | 0.10927 | 0.0 | 65.12 +Other | | 0.004703 | | | 2.80 + +Nlocal: 100 ave 100 max 100 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 157 ave 157 max 157 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 157 +Ave neighs/atom = 1.57 +Neighbor list builds = 914 +Dangerous builds = 0 + +region container delete +region container block -6 6 -6 6 -6 6 units box +run 5000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 5.837 | 5.837 | 5.837 Mbytes + Step Atoms Temp c_1 c_2 Press + 20000 100 3.8534401 3.8534401 2.0796496 0.057176513 + 20100 100 1.2993548 1.2993548 0.81360425 0.016153186 + 20200 100 1.0761427 1.0761427 0.68479926 0.014383682 + 20300 100 0.95889127 0.95889127 0.61193887 0.01314653 + 20400 100 0.89684043 0.89684043 0.57475851 0.011106613 + 20500 100 0.85901565 0.85901565 0.54372093 0.015717834 + 20600 100 0.98438384 0.98438384 0.6079212 0.013965815 + 20700 100 1.1061789 1.1061789 0.66511277 0.013698526 + 20800 100 1.0615292 1.0615292 0.6269413 0.014496973 + 20900 100 0.92980037 0.92980037 0.54727184 0.014568574 + 21000 100 0.71248123 0.71248123 0.41945517 0.01199152 + 21100 100 0.34785801 0.34785801 0.21699877 0.0062324631 + 21200 100 0.2452514 0.2452514 0.15265503 0.0041094159 + 21300 100 0.22937209 0.22937209 0.13988978 0.0034016589 + 21400 100 0.17765021 0.17765021 0.11334596 0.0024169343 + 21500 100 0.11484505 0.11484505 0.078119393 0.0020987046 + 21600 100 0.077564645 0.077564645 0.056175123 0.002107237 + 21700 100 0.049571519 0.049571519 0.039920177 0.00099127481 + 21800 100 0.0403125 0.0403125 0.032827882 0.00074671903 + 21900 100 0.02735168 0.02735168 0.023877339 0.0018186225 + 22000 100 0.02218474 0.02218474 0.01893178 0.00061438633 + 22100 100 0.021701103 0.021701103 0.0179008 0.00068071664 + 22200 100 0.01777321 0.01777321 0.014521817 0.00045296506 + 22300 100 0.016056338 0.016056338 0.01280709 0.00038192299 + 22400 100 0.013344054 0.013344054 0.010788852 0.0002617289 + 22500 100 0.011625836 0.011625836 0.0094362641 0.00045947089 + 22600 100 0.0068875777 0.0068875777 0.0058858647 0.00028566999 + 22700 100 0.0054081662 0.0054081662 0.0049545239 0.00029291503 + 22800 100 0.0045080107 0.0045080107 0.0042362636 0.00015217816 + 22900 100 0.0038090552 0.0038090552 0.0036905284 0.00049430003 + 23000 100 0.003551951 0.003551951 0.0033639677 0.00022478393 + 23100 100 0.0033854012 0.0033854012 0.00317485 0.00015179604 + 23200 100 0.0032951003 0.0032951003 0.0029760374 0.00015363208 + 23300 100 0.0022995179 0.0022995179 0.0023224311 0.00018791799 + 23400 100 0.0020834178 0.0020834178 0.0021434342 0.00020683744 + 23500 100 0.0019221303 0.0019221303 0.0020227484 0.00018960984 + 23600 100 0.0018393381 0.0018393381 0.0019560681 0.00021375486 + 23700 100 0.0019027035 0.0019027035 0.0020047598 0.00010932204 + 23800 100 0.0023612063 0.0023612063 0.0021895633 6.7671176e-05 + 23900 100 0.0019570853 0.0019570853 0.0018847178 5.6761457e-05 + 24000 100 0.0013011744 0.0013011744 0.0013899106 3.8847148e-05 + 24100 100 0.001281115 0.001281115 0.0013737259 3.7559904e-05 + 24200 100 0.0012136262 0.0012136262 0.0013002937 6.8727546e-05 + 24300 100 0.0011789934 0.0011789934 0.0012399341 3.7633632e-05 + 24400 100 0.0011601514 0.0011601514 0.0012186534 4.0077907e-05 + 24500 100 0.0010660295 0.0010660295 0.0011419405 0.00015757237 + 24600 100 0.00098862453 0.00098862453 0.0010869455 4.5714503e-05 + 24700 100 0.00087647136 0.00087647136 0.00091405278 3.3129869e-05 + 24800 100 0.00063913046 0.00063913046 0.00072298864 3.5424308e-05 + 24900 100 0.00062195456 0.00062195456 0.00070527087 2.6201396e-05 + 25000 100 0.00057599538 0.00057599538 0.00065623226 2.0096103e-05 +Loop time of 0.0771328 on 1 procs for 5000 steps with 100 atoms + +Performance: 28003659.560 tau/day, 64823.286 timesteps/s, 6.482 Matom-step/s +99.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0090635 | 0.0090635 | 0.0090635 | 0.0 | 11.75 +Neigh | 0.012028 | 0.012028 | 0.012028 | 0.0 | 15.59 +Comm | 0.0008345 | 0.0008345 | 0.0008345 | 0.0 | 1.08 +Output | 0.00038777 | 0.00038777 | 0.00038777 | 0.0 | 0.50 +Modify | 0.051619 | 0.051619 | 0.051619 | 0.0 | 66.92 +Other | | 0.0032 | | | 4.15 + +Nlocal: 100 ave 100 max 100 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 158 ave 158 max 158 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 158 +Ave neighs/atom = 1.58 +Neighbor list builds = 310 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/granregion/log.16Mar23.granregion.box.g++.4 b/examples/granregion/log.16Mar23.granregion.box.g++.4 new file mode 100644 index 0000000000..0874981da4 --- /dev/null +++ b/examples/granregion/log.16Mar23.granregion.box.g++.4 @@ -0,0 +1,484 @@ +LAMMPS (8 Feb 2023) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# pouring spheres into container box + +units lj +atom_style sphere +boundary f f f +dimension 3 +comm_modify vel yes + +region box block -10 10 -10 10 -10 10 units box +create_box 2 box +Created orthogonal box = (-10 -10 -10) to (10 10 10) + 1 by 2 by 2 MPI processor grid + +pair_style hybrid gran/hooke 4000.0 NULL 100.0 NULL 0.5 1 +pair_coeff * * gran/hooke + +region container block -6 6 -6 6 -6 6 units box +fix container all wall/gran/region hooke/history 4000.0 NULL 100.0 NULL 0.5 1 region container + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 2 all nve/sphere +fix 3 all gravity 1.0 vector 0 0 -1 + +region slab block -2 2 -2 2 -2 2 units box +fix ins all pour 100 2 4767548 vol 0.4 10 diam one 1.0 region slab ignore +Particle insertion: 48 every 566 steps, 100 by step 1133 + +timestep 0.005 + +compute 1 all temp +compute_modify 1 dynamic/dof yes + +compute 2 all temp/sphere +compute_modify 2 dynamic/dof yes + +thermo 100 +thermo_style custom step atoms temp c_1 c_2 press +thermo_modify lost ignore +compute_modify thermo_temp dynamic/dof yes + +#dump 2 all image 100 image.*.jpg type type # zoom 1.4 adiam 1.0 box no 0.0 axes yes 0.9 0.03 +#dump_modify 2 pad 5 + +run 5000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.3 + ghost atom cutoff = 1.3 + binsize = 0.65, bins = 31 31 31 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair gran/hooke, perpetual + attributes: half, newton on, size + pair build: half/size/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 0.4843 | 0.4843 | 0.4843 Mbytes + Step Atoms Temp c_1 c_2 Press + 0 0 0 0 0 0 +WARNING: Fewer insertions than requested (src/GRANULAR/fix_pour.cpp:681) + 100 30 0.803783 0.803783 0.39507978 0.0029137134 + 200 30 1.1967995 1.1967995 0.5882574 0.0043383984 + 300 30 1.2814686 1.2814686 0.62987441 0.0046453238 + 400 30 0.82331082 0.82331082 0.41173176 0.0029845017 + 500 30 0.7708462 0.7708462 0.38777784 0.0043831147 +WARNING: Fewer insertions than requested (src/GRANULAR/fix_pour.cpp:681) + 600 64 0.51564897 0.51564897 0.26631577 0.0040059368 + 700 64 0.57239348 0.57239348 0.29566901 0.0045075987 + 800 64 0.61837087 0.61837087 0.32195387 0.0048123564 + 900 64 0.53061888 0.53061888 0.28564763 0.0055906552 + 1000 64 0.496299 0.496299 0.26801572 0.0061169128 + 1100 64 0.46068308 0.46068308 0.24699057 0.0055717699 +WARNING: Fewer insertions than requested (src/GRANULAR/fix_pour.cpp:681) + 1200 99 0.39206225 0.39206225 0.21356546 0.0066294211 + 1300 99 0.38624966 0.38624966 0.21345854 0.0049051051 + 1400 99 0.35615284 0.35615284 0.19785725 0.0046170772 + 1500 99 0.31486693 0.31486693 0.17429055 0.0064903432 + 1600 99 0.26369001 0.26369001 0.15095266 0.0045226847 + 1700 100 0.1925923 0.1925923 0.11308104 0.007362313 + 1800 100 0.13724978 0.13724978 0.083276845 0.0058136373 + 1900 100 0.077212636 0.077212636 0.053159386 0.0016509598 + 2000 100 0.065294031 0.065294031 0.04372752 0.0020346467 + 2100 100 0.057431398 0.057431398 0.037977068 0.0012681098 + 2200 100 0.059093046 0.059093046 0.037435194 0.00096610935 + 2300 100 0.034223376 0.034223376 0.025491303 0.00069886041 + 2400 100 0.020558283 0.020558283 0.016163008 0.0017260646 + 2500 100 0.015339698 0.015339698 0.012329233 0.00041312351 + 2600 100 0.012891357 0.012891357 0.0097660566 0.00030356702 + 2700 100 0.0092631621 0.0092631621 0.0073576327 0.00077729311 + 2800 100 0.0073866488 0.0073866488 0.0060126175 0.00018677664 + 2900 100 0.0081122362 0.0081122362 0.0062557089 0.00013749542 + 3000 100 0.0042333757 0.0042333757 0.0035407672 0.00016515787 + 3100 100 0.0035433278 0.0035433278 0.0029683167 0.00033693479 + 3200 100 0.0030692964 0.0030692964 0.0026495167 0.00043739373 + 3300 100 0.0033703684 0.0033703684 0.0026931948 0.00014857157 + 3400 100 0.0018405709 0.0018405709 0.0016990035 6.0202278e-05 + 3500 100 0.0014788087 0.0014788087 0.0013889916 0.00016730937 + 3600 100 0.0015932961 0.0015932961 0.0013807898 0.0001418157 + 3700 100 0.00096238915 0.00096238915 0.00097931829 6.7974535e-05 + 3800 100 0.00093087985 0.00093087985 0.00087659377 0.0001504142 + 3900 100 0.0015825065 0.0015825065 0.0011708936 1.9583518e-05 + 4000 100 0.00062295367 0.00062295367 0.00067129665 3.9455653e-05 + 4100 100 0.00061259406 0.00061259406 0.00065710963 1.8540759e-05 + 4200 100 0.00059619666 0.00059619666 0.00064365219 7.3779336e-06 + 4300 100 0.00051191641 0.00051191641 0.00057870947 6.3349656e-06 + 4400 100 0.00050668587 0.00050668587 0.00057057233 6.2702376e-06 + 4500 100 0.00049474942 0.00049474942 0.00055151343 1.5746831e-05 + 4600 100 0.00049309932 0.00049309932 0.00054086323 6.1021041e-06 + 4700 100 0.00049263883 0.00049263883 0.00052677244 6.0964056e-06 + 4800 100 0.00041885021 0.00041885021 0.00047389202 9.5350789e-05 + 4900 100 0.00035596444 0.00035596444 0.00042522549 5.8036712e-05 + 5000 100 0.00032946897 0.00032946897 0.00040320773 6.5350005e-06 +Loop time of 0.0763179 on 4 procs for 5000 steps with 100 atoms + +Performance: 28302682.620 tau/day, 65515.469 timesteps/s, 6.552 Matom-step/s +96.7% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0010572 | 0.0039588 | 0.0074661 | 4.6 | 5.19 +Neigh | 0.0025868 | 0.0049885 | 0.0075283 | 3.4 | 6.54 +Comm | 0.011862 | 0.014631 | 0.018383 | 2.0 | 19.17 +Output | 0.0009702 | 0.0012326 | 0.0014234 | 0.5 | 1.62 +Modify | 0.0019843 | 0.018558 | 0.036592 | 12.2 | 24.32 +Other | | 0.03295 | | | 43.17 + +Nlocal: 25 ave 54 max 0 min +Histogram: 2 0 0 0 0 0 0 0 1 1 +Nghost: 4.5 ave 10 max 0 min +Histogram: 2 0 0 0 0 0 0 0 1 1 +Neighs: 40.5 ave 94 max 0 min +Histogram: 2 0 0 0 0 0 0 1 0 1 + +Total # of neighbors = 162 +Ave neighs/atom = 1.62 +Neighbor list builds = 281 +Dangerous builds = 0 + +region container delete +variable theta equal (step-5000)*(4.0*PI/5000) +region container block -6 6 -6 6 -6 6 units box rotate v_theta 0 0 0 0 0 1 +run 5000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +WARNING: Region properties for region container changed between runs, resetting its motion (src/GRANULAR/fix_wall_gran_region.cpp:101) +Per MPI rank memory allocation (min/avg/max) = 5.609 | 5.672 | 5.735 Mbytes + Step Atoms Temp c_1 c_2 Press + 5000 100 0.00032946897 0.00032946897 0.00040320773 6.050219e-06 + 5100 100 0.54371575 0.54371575 0.29836301 0.008148168 + 5200 100 0.60281896 0.60281896 0.33161676 0.0083772071 + 5300 100 0.70823011 0.70823011 0.38289657 0.0099694209 + 5400 100 0.78467127 0.78467127 0.4133495 0.010119104 + 5500 100 0.85741178 0.85741178 0.44761254 0.013013239 + 5600 100 0.93241573 0.93241573 0.47879351 0.017769592 + 5700 100 1.019104 1.019104 0.51644461 0.015312937 + 5800 100 1.0550014 1.0550014 0.53450507 0.017227797 + 5900 100 1.0910946 1.0910946 0.55272891 0.017469625 + 6000 100 1.1275288 1.1275288 0.56906788 0.018958103 + 6100 100 1.1545017 1.1545017 0.58324166 0.019220208 + 6200 100 1.1815817 1.1815817 0.59552677 0.019397271 + 6300 100 1.1963931 1.1963931 0.60251664 0.018382058 + 6400 100 1.2084652 1.2084652 0.60776713 0.020027986 + 6500 100 1.2217215 1.2217215 0.61406339 0.021750945 + 6600 100 1.2364016 1.2364016 0.62124174 0.021701243 + 6700 100 1.2739954 1.2739954 0.63930766 0.02025277 + 6800 100 1.3032733 1.3032733 0.65268105 0.021684843 + 6900 100 1.3226653 1.3226653 0.66168772 0.021187963 + 7000 100 1.3464995 1.3464995 0.67431153 0.022066117 + 7100 100 1.3250485 1.3250485 0.66342366 0.02109487 + 7200 100 1.3384316 1.3384316 0.67035095 0.021554113 + 7300 100 1.3280234 1.3280234 0.66553439 0.020829435 + 7400 100 1.3218971 1.3218971 0.66186263 0.020882591 + 7500 100 1.3293858 1.3293858 0.66506462 0.020897778 + 7600 100 1.3386019 1.3386019 0.66909392 0.020754479 + 7700 100 1.3465327 1.3465327 0.67316081 0.021231547 + 7800 100 1.3510586 1.3510586 0.67531764 0.021053475 + 7900 100 1.3508987 1.3508987 0.67535907 0.020769633 + 8000 100 1.3575635 1.3575635 0.67875993 0.022020776 + 8100 100 1.3655144 1.3655144 0.68258066 0.021016999 + 8200 100 1.375187 1.375187 0.68732222 0.021385146 + 8300 100 1.3799568 1.3799568 0.69000134 0.02114428 + 8400 100 1.3755871 1.3755871 0.68757909 0.022395102 + 8500 100 1.3708345 1.3708345 0.68509834 0.021603853 + 8600 100 1.3689806 1.3689806 0.68388935 0.022127839 + 8700 100 1.3697516 1.3697516 0.68411868 0.02165119 + 8800 100 1.3700522 1.3700522 0.68423671 0.021554001 + 8900 100 1.3705045 1.3705045 0.68451935 0.021470392 + 9000 100 1.3715107 1.3715107 0.68506443 0.021789844 + 9100 100 1.3707806 1.3707806 0.68467539 0.021451331 + 9200 100 1.371112 1.371112 0.68485975 0.021479203 + 9300 100 1.3716851 1.3716851 0.68516034 0.021515076 + 9400 100 1.3719031 1.3719031 0.68529221 0.021502802 + 9500 100 1.3726759 1.3726759 0.68544012 0.021585119 + 9600 100 1.3746583 1.3746583 0.68636924 0.02206073 + 9700 100 1.3761662 1.3761662 0.68716579 0.021533719 + 9800 100 1.3760157 1.3760157 0.687092 0.02163129 + 9900 100 1.3762626 1.3762626 0.68726404 0.021707045 + 10000 100 1.376303 1.376303 0.68735031 0.022306557 +Loop time of 0.128472 on 4 procs for 5000 steps with 100 atoms + +Performance: 16812995.511 tau/day, 38918.971 timesteps/s, 3.892 Matom-step/s +98.7% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0012241 | 0.0085024 | 0.016023 | 7.8 | 6.62 +Neigh | 0.0051137 | 0.0079745 | 0.011012 | 3.2 | 6.21 +Comm | 0.0050448 | 0.009504 | 0.015048 | 4.6 | 7.40 +Output | 0.00090309 | 0.0014765 | 0.0019648 | 1.2 | 1.15 +Modify | 0.0072253 | 0.041211 | 0.076226 | 16.7 | 32.08 +Other | | 0.0598 | | | 46.55 + +Nlocal: 25 ave 51 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 3.25 ave 7 max 0 min +Histogram: 2 0 0 0 0 0 0 0 1 1 +Neighs: 46 ave 101 max 0 min +Histogram: 2 0 0 0 0 0 0 0 1 1 + +Total # of neighbors = 184 +Ave neighs/atom = 1.84 +Neighbor list builds = 628 +Dangerous builds = 0 + +region container delete +region container block -6 6 -6 6 -6 6 units box +run 5000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 5.609 | 5.672 | 5.735 Mbytes + Step Atoms Temp c_1 c_2 Press + 10000 100 1.376303 1.376303 0.68735031 0.022411506 + 10100 100 0.28192752 0.28192752 0.16298909 0.0041760951 + 10200 100 0.14576408 0.14576408 0.10117889 0.0058653094 + 10300 100 0.10070361 0.10070361 0.078060938 0.0041432979 + 10400 100 0.07455595 0.07455595 0.061163197 0.0029733745 + 10500 100 0.063531027 0.063531027 0.052515707 0.0015731241 + 10600 100 0.049259626 0.049259626 0.041321284 0.00073083104 + 10700 100 0.037377957 0.037377957 0.032017729 0.0022631642 + 10800 100 0.031849901 0.031849901 0.027079116 0.0014148618 + 10900 100 0.02795233 0.02795233 0.02461403 0.00037567522 + 11000 100 0.02597858 0.02597858 0.022516094 0.00054992645 + 11100 100 0.021812043 0.021812043 0.019276946 0.00043233309 + 11200 100 0.019318956 0.019318956 0.017224213 0.00035792964 + 11300 100 0.017760494 0.017760494 0.01578407 0.00056959435 + 11400 100 0.015485043 0.015485043 0.013703 0.00061308169 + 11500 100 0.015051781 0.015051781 0.012994991 0.00040607387 + 11600 100 0.012204953 0.012204953 0.01079191 0.00059482171 + 11700 100 0.011242847 0.011242847 0.0096811013 0.00018299476 + 11800 100 0.0089605707 0.0089605707 0.0075086629 0.0012779422 + 11900 100 0.0065544011 0.0065544011 0.0056480432 0.00039599272 + 12000 100 0.0048068901 0.0048068901 0.004185961 0.00022434097 + 12100 100 0.0045272524 0.0045272524 0.0039084556 7.8443821e-05 + 12200 100 0.0038926209 0.0038926209 0.0033949999 0.00011203445 + 12300 100 0.0034653 0.0034653 0.0030246557 0.00014999893 + 12400 100 0.0034031041 0.0034031041 0.0029879474 7.9628343e-05 + 12500 100 0.0032219984 0.0032219984 0.0028369239 6.1651251e-05 + 12600 100 0.0031148659 0.0031148659 0.0027543848 5.7332789e-05 + 12700 100 0.0027407824 0.0027407824 0.0024822578 5.150993e-05 + 12800 100 0.0026205294 0.0026205294 0.0023576698 8.896122e-05 + 12900 100 0.0025633289 0.0025633289 0.0023134486 7.0525939e-05 + 13000 100 0.0025434711 0.0025434711 0.0022833007 5.5638668e-05 + 13100 100 0.0025046562 0.0025046562 0.002227265 5.2772716e-05 + 13200 100 0.0023544645 0.0023544645 0.0021086805 0.00030775943 + 13300 100 0.0022163971 0.0022163971 0.0020107508 4.9204292e-05 + 13400 100 0.0021307794 0.0021307794 0.0019334987 4.8144132e-05 + 13500 100 0.0019891796 0.0019891796 0.0018128084 4.8532374e-05 + 13600 100 0.0018591538 0.0018591538 0.0016721703 4.4781385e-05 + 13700 100 0.001768055 0.001768055 0.001597222 1.6800418e-05 + 13800 100 0.001569014 0.001569014 0.0014331265 4.2982654e-05 + 13900 100 0.0013700893 0.0013700893 0.0012782771 4.8209662e-05 + 14000 100 0.0012398662 0.0012398662 0.0011606486 5.5766702e-05 + 14100 100 0.0011707267 0.0011707267 0.0010811523 3.4913501e-05 + 14200 100 0.0010483984 0.0010483984 0.0009831881 3.4742894e-05 + 14300 100 0.0010043196 0.0010043196 0.00092474592 3.4196115e-05 + 14400 100 0.00094238924 0.00094238924 0.00087181843 8.1414071e-05 + 14500 100 0.00093341457 0.00093341457 0.00086429224 3.3276909e-05 + 14600 100 0.00086042474 0.00086042474 0.00079524877 3.2260019e-05 + 14700 100 0.00080525469 0.00080525469 0.00075380989 2.8374703e-05 + 14800 100 0.00070848512 0.00070848512 0.0006762901 2.9937591e-05 + 14900 100 0.00060414588 0.00060414588 0.00058494979 2.5684401e-05 + 15000 100 0.00054251571 0.00054251571 0.00053643753 4.5496354e-05 +Loop time of 0.0553238 on 4 procs for 5000 steps with 100 atoms + +Performance: 39042861.362 tau/day, 90376.994 timesteps/s, 9.038 Matom-step/s +98.2% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00085556 | 0.0028667 | 0.0052429 | 3.6 | 5.18 +Neigh | 0.00076731 | 0.0012173 | 0.0016987 | 1.3 | 2.20 +Comm | 0.0016497 | 0.0060965 | 0.010792 | 5.7 | 11.02 +Output | 0.00072675 | 0.00099509 | 0.0011615 | 0.0 | 1.80 +Modify | 0.00064371 | 0.014719 | 0.030427 | 11.6 | 26.61 +Other | | 0.02943 | | | 53.19 + +Nlocal: 25 ave 54 max 0 min +Histogram: 2 0 0 0 0 0 0 0 1 1 +Nghost: 5 ave 11 max 0 min +Histogram: 2 0 0 0 0 0 0 0 1 1 +Neighs: 40 ave 88 max 0 min +Histogram: 2 0 0 0 0 0 0 0 1 1 + +Total # of neighbors = 160 +Ave neighs/atom = 1.6 +Neighbor list builds = 97 +Dangerous builds = 0 + +region container delete +variable theta equal (step-15000)*(4.0*PI/5000) +region container block -6 6 -6 6 -6 6 units box rotate v_theta 0 0 0 1 1 1 +run 5000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 5.609 | 5.672 | 5.735 Mbytes + Step Atoms Temp c_1 c_2 Press + 15000 100 0.00054251571 0.00054251571 0.00053643753 4.3506263e-05 + 15100 100 1.1164435 1.1164435 0.7163854 0.017358175 + 15200 100 1.0384203 1.0384203 0.66790042 0.016095459 + 15300 100 1.0829984 1.0829984 0.712381 0.015915015 + 15400 100 1.4187366 1.4187366 0.89537718 0.023771032 + 15500 100 1.5397547 1.5397547 0.97895571 0.025145916 + 15600 100 1.7993339 1.7993339 1.1003794 0.026783317 + 15700 100 1.8858073 1.8858073 1.1481696 0.030802833 + 15800 100 1.9368129 1.9368129 1.1450129 0.032144729 + 15900 100 2.0379823 2.0379823 1.1738926 0.031969116 + 16000 100 2.0655671 2.0655671 1.187038 0.032395513 + 16100 100 2.1199141 2.1199141 1.2102937 0.028830059 + 16200 100 2.1819656 2.1819656 1.245147 0.029493813 + 16300 100 2.2451204 2.2451204 1.2726968 0.029915554 + 16400 100 2.1697892 2.1697892 1.2342734 0.027495983 + 16500 100 2.2689358 2.2689358 1.2710223 0.029516621 + 16600 100 2.3901976 2.3901976 1.3328992 0.030049751 + 16700 100 2.4731258 2.4731258 1.3763126 0.032663365 + 16800 100 2.5708338 2.5708338 1.4255635 0.032731991 + 16900 100 2.7232422 2.7232422 1.5006931 0.036649645 + 17000 100 2.901986 2.901986 1.5886643 0.037333791 + 17100 100 2.8787369 2.8787369 1.5752504 0.03582313 + 17200 100 3.1137189 3.1137189 1.6974538 0.041245422 + 17300 100 3.1805823 3.1805823 1.7370013 0.040766564 + 17400 100 3.3215703 3.3215703 1.8109954 0.044269306 + 17500 100 3.3767256 3.3767256 1.813696 0.048012575 + 17600 100 3.3618731 3.3618731 1.8004834 0.06103562 + 17700 100 3.2288285 3.2288285 1.7447885 0.042875761 + 17800 100 3.2545435 3.2545435 1.7617642 0.04661949 + 17900 100 3.1162969 3.1162969 1.6850561 0.040086156 + 18000 100 3.2053719 3.2053719 1.7132296 0.040657811 + 18100 100 3.2924625 3.2924625 1.7709303 0.048407939 + 18200 100 3.1682076 3.1682076 1.7136129 0.040996326 + 18300 100 3.2244534 3.2244534 1.7401102 0.043957312 + 18400 100 3.1470903 3.1470903 1.7171698 0.043123438 + 18500 100 3.2690021 3.2690021 1.7803818 0.042693323 + 18600 100 3.2566233 3.2566233 1.7670476 0.04776305 + 18700 100 3.384347 3.384347 1.8334885 0.04441225 + 18800 100 3.6479797 3.6479797 1.9565845 0.047454733 + 18900 100 3.6894531 3.6894531 1.9767079 0.053222159 + 19000 100 3.7867788 3.7867788 2.0265223 0.055923793 + 19100 100 3.9120999 3.9120999 2.0850815 0.053591707 + 19200 100 3.8255419 3.8255419 2.0517931 0.061034295 + 19300 100 3.764721 3.764721 2.0089969 0.068118255 + 19400 100 3.8604884 3.8604884 2.0640292 0.052825172 + 19500 100 3.7763823 3.7763823 2.0223758 0.054529616 + 19600 100 3.9158781 3.9158781 2.0873723 0.053130512 + 19700 100 3.6394071 3.6394071 1.9735106 0.047466529 + 19800 100 3.5409741 3.5409741 1.9335311 0.047317029 + 19900 100 3.5961407 3.5961407 1.954696 0.048093129 + 20000 100 3.4355899 3.4355899 1.8679902 0.0486077 +Loop time of 0.107854 on 4 procs for 5000 steps with 100 atoms + +Performance: 20026986.271 tau/day, 46358.765 timesteps/s, 4.636 Matom-step/s +98.9% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0025992 | 0.0042158 | 0.0061269 | 1.9 | 3.91 +Neigh | 0.0089595 | 0.011254 | 0.012853 | 1.3 | 10.43 +Comm | 0.020408 | 0.022579 | 0.024669 | 1.4 | 20.94 +Output | 0.0010271 | 0.0011457 | 0.0012268 | 0.2 | 1.06 +Modify | 0.019454 | 0.032696 | 0.040003 | 4.4 | 30.31 +Other | | 0.03596 | | | 33.34 + +Nlocal: 25 ave 36 max 16 min +Histogram: 1 0 1 0 0 0 1 0 0 1 +Nghost: 5.5 ave 8 max 2 min +Histogram: 1 0 0 0 0 1 0 0 1 1 +Neighs: 34.25 ave 48 max 19 min +Histogram: 1 1 0 0 0 0 0 0 0 2 + +Total # of neighbors = 137 +Ave neighs/atom = 1.37 +Neighbor list builds = 908 +Dangerous builds = 0 + +region container delete +region container block -6 6 -6 6 -6 6 units box +run 5000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 5.734 | 5.735 | 5.735 Mbytes + Step Atoms Temp c_1 c_2 Press + 20000 100 3.4355899 3.4355899 1.8679902 0.047866781 + 20100 100 1.1677914 1.1677914 0.70763342 0.015645481 + 20200 100 0.99137326 0.99137326 0.61064707 0.012080974 + 20300 100 0.84603548 0.84603548 0.52093267 0.012501649 + 20400 100 0.82813609 0.82813609 0.50585936 0.010248184 + 20500 100 0.86524293 0.86524293 0.5210492 0.011145216 + 20600 100 0.92229302 0.92229302 0.54567614 0.012838894 + 20700 100 0.93499886 0.93499886 0.55161401 0.011618713 + 20800 100 0.95831407 0.95831407 0.56173113 0.014502297 + 20900 100 0.88486451 0.88486451 0.51926962 0.013847246 + 21000 100 0.66876325 0.66876325 0.39313901 0.010224296 + 21100 100 0.46578708 0.46578708 0.28086455 0.0089121873 + 21200 100 0.21445902 0.21445902 0.14749113 0.0033665892 + 21300 100 0.12935011 0.12935011 0.09319765 0.002811107 + 21400 100 0.10572326 0.10572326 0.075154962 0.0034728629 + 21500 100 0.10952604 0.10952604 0.073864376 0.0017411404 + 21600 100 0.074321422 0.074321422 0.051368858 0.0037915268 + 21700 100 0.043324694 0.043324694 0.032954769 0.00092476658 + 21800 100 0.034911155 0.034911155 0.026843877 0.00061350592 + 21900 100 0.02261818 0.02261818 0.018357224 0.00049800957 + 22000 100 0.015096211 0.015096211 0.01390442 0.00059260194 + 22100 100 0.016119209 0.016119209 0.013990821 0.00038431756 + 22200 100 0.012184692 0.012184692 0.011062653 0.00030466184 + 22300 100 0.0090526001 0.0090526001 0.0080893293 0.00082507232 + 22400 100 0.007155528 0.007155528 0.0067365227 0.00094740021 + 22500 100 0.0057433117 0.0057433117 0.0057438575 0.00016706605 + 22600 100 0.0053029734 0.0053029734 0.0050429137 0.00018457156 + 22700 100 0.0041888319 0.0041888319 0.0039979907 0.00029467329 + 22800 100 0.0046486843 0.0046486843 0.0042259456 0.00019395675 + 22900 100 0.0046414295 0.0046414295 0.0040659744 0.00016025205 + 23000 100 0.0033983576 0.0033983576 0.0033431909 0.00039998961 + 23100 100 0.0031212625 0.0031212625 0.0031113361 0.00024783655 + 23200 100 0.0026724347 0.0026724347 0.0026905233 0.00026001445 + 23300 100 0.0029222876 0.0029222876 0.002946198 0.00012385327 + 23400 100 0.0023944825 0.0023944825 0.0021829995 0.00016185776 + 23500 100 0.0020384082 0.0020384082 0.0019106613 9.2139544e-05 + 23600 100 0.0019773679 0.0019773679 0.0018577006 8.9169073e-05 + 23700 100 0.0018850072 0.0018850072 0.0017715658 9.1301463e-05 + 23800 100 0.0020857322 0.0020857322 0.001864009 7.4633597e-05 + 23900 100 0.0017616498 0.0017616498 0.001680563 4.8547939e-05 + 24000 100 0.0017183254 0.0017183254 0.0016568629 6.56741e-05 + 24100 100 0.0014311732 0.0014311732 0.0013829993 6.0743962e-05 + 24200 100 0.0013434756 0.0013434756 0.001315682 0.00025727478 + 24300 100 0.0012855885 0.0012855885 0.0012558467 9.0130585e-05 + 24400 100 0.0012731213 0.0012731213 0.0012408428 8.2008231e-05 + 24500 100 0.0011333063 0.0011333063 0.001045815 8.8391061e-05 + 24600 100 0.0010560932 0.0010560932 0.00098304208 5.6725938e-05 + 24700 100 0.00097698038 0.00097698038 0.00092381967 7.1771848e-05 + 24800 100 0.00094316799 0.00094316799 0.00089343119 5.5558578e-05 + 24900 100 0.00082812377 0.00082812377 0.00076615512 5.8668812e-05 + 25000 100 0.00076097781 0.00076097781 0.00069462801 6.5742694e-05 +Loop time of 0.0523621 on 4 procs for 5000 steps with 100 atoms + +Performance: 41251226.669 tau/day, 95488.951 timesteps/s, 9.549 Matom-step/s +98.6% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0011166 | 0.0029573 | 0.0049613 | 3.3 | 5.65 +Neigh | 0.0026276 | 0.0033989 | 0.0041666 | 1.1 | 6.49 +Comm | 0.0054479 | 0.0084136 | 0.01182 | 2.9 | 16.07 +Output | 0.00070658 | 0.00092447 | 0.0010421 | 0.0 | 1.77 +Modify | 0.0015069 | 0.012796 | 0.025273 | 9.9 | 24.44 +Other | | 0.02387 | | | 45.59 + +Nlocal: 25 ave 55 max 0 min +Histogram: 2 0 0 0 0 0 0 0 1 1 +Nghost: 6 ave 14 max 0 min +Histogram: 2 0 0 0 0 0 0 1 0 1 +Neighs: 39.25 ave 88 max 0 min +Histogram: 2 0 0 0 0 0 0 1 0 1 + +Total # of neighbors = 157 +Ave neighs/atom = 1.57 +Neighbor list builds = 280 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/granregion/log.16Mar23.granregion.funnel.g++.1 b/examples/granregion/log.16Mar23.granregion.funnel.g++.1 new file mode 100644 index 0000000000..0ead1ddd41 --- /dev/null +++ b/examples/granregion/log.16Mar23.granregion.funnel.g++.1 @@ -0,0 +1,635 @@ +LAMMPS (8 Feb 2023) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# pour particles into cone-shaped funnel, settle them, let them run out bottom + +variable name string funnel_pour + +thermo_modify flush yes +units si +variable PI equal 3.141592653589 +variable seed equal 14314 + +############################################### +# Geometry-related parameters +############################################### + +variable xlo equal 10 +variable xhi equal 40 +variable ylo equal 10 +variable yhi equal 40 +variable zlo equal -20 +variable zhi equal 50 + +variable xc equal 25 +variable yc equal 25 + +variable zconehi equal 50 +variable zconelo equal 10 +variable zcyllo equal 0 +variable radconelo equal 2 +variable radconehi equal 20 + +################################################ +# Particle sizes +################################################ + +variable rlo equal 0.25 +variable rhi equal 0.5 +variable dlo equal 2.0*${rlo} +variable dlo equal 2.0*0.25 +variable dhi equal 2.0*${rhi} +variable dhi equal 2.0*0.5 + +variable skin equal ${rhi} +variable skin equal 0.5 + +############################################### +# Granular contact parameters +############################################### + +variable coeffRes equal 0.1 +variable coeffFric equal 0.5 + +variable density equal 1.0 +variable EYoung equal 10^5 +variable Poisson equal 2.0/7.0 +variable GShear equal ${EYoung}/(2*(1+${Poisson})) +variable GShear equal 100000/(2*(1+${Poisson})) +variable GShear equal 100000/(2*(1+0.285714285714286)) + +variable gravity equal 1.0 + +variable reff equal 0.5*(${rhi}+${rlo}) +variable reff equal 0.5*(0.5+${rlo}) +variable reff equal 0.5*(0.5+0.25) +variable meff equal ${density}*4.0/3.0*${PI}*${reff}^3 +variable meff equal 1*4.0/3.0*${PI}*${reff}^3 +variable meff equal 1*4.0/3.0*3.141592653589*${reff}^3 +variable meff equal 1*4.0/3.0*3.141592653589*0.375^3 +variable min_mass equal ${density}*4.0/3.0*${PI}*${rlo}*${rlo}*${rlo} +variable min_mass equal 1*4.0/3.0*${PI}*${rlo}*${rlo}*${rlo} +variable min_mass equal 1*4.0/3.0*3.141592653589*${rlo}*${rlo}*${rlo} +variable min_mass equal 1*4.0/3.0*3.141592653589*0.25*${rlo}*${rlo} +variable min_mass equal 1*4.0/3.0*3.141592653589*0.25*0.25*${rlo} +variable min_mass equal 1*4.0/3.0*3.141592653589*0.25*0.25*0.25 +variable max_mass equal ${density}*4.0/3.0*${PI}*${rhi}*${rhi}*${rhi} +variable max_mass equal 1*4.0/3.0*${PI}*${rhi}*${rhi}*${rhi} +variable max_mass equal 1*4.0/3.0*3.141592653589*${rhi}*${rhi}*${rhi} +variable max_mass equal 1*4.0/3.0*3.141592653589*0.5*${rhi}*${rhi} +variable max_mass equal 1*4.0/3.0*3.141592653589*0.5*0.5*${rhi} +variable max_mass equal 1*4.0/3.0*3.141592653589*0.5*0.5*0.5 + +## Typical way to set kn, kt, etc.: +variable kn equal 4.0*${GShear}/(3*(1-${Poisson})) +variable kn equal 4.0*38888.8888888889/(3*(1-${Poisson})) +variable kn equal 4.0*38888.8888888889/(3*(1-0.285714285714286)) +variable kt equal 4.0*${GShear}/(2-${Poisson}) +variable kt equal 4.0*38888.8888888889/(2-${Poisson}) +variable kt equal 4.0*38888.8888888889/(2-0.285714285714286) + +variable a equal (-2.0*log(${coeffRes})/${PI})^2 +variable a equal (-2.0*log(0.1)/${PI})^2 +variable a equal (-2.0*log(0.1)/3.141592653589)^2 +variable gamma_n equal sqrt($a*2*${kn}/${min_mass}/(1+0.25*$a)) +variable gamma_n equal sqrt(0.405284734569556*2*${kn}/${min_mass}/(1+0.25*$a)) +variable gamma_n equal sqrt(0.405284734569556*2*72592.5925925926/${min_mass}/(1+0.25*$a)) +variable gamma_n equal sqrt(0.405284734569556*2*72592.5925925926/0.0654498469497708/(1+0.25*$a)) +variable gamma_n equal sqrt(0.405284734569556*2*72592.5925925926/0.0654498469497708/(1+0.25*0.405284734569556)) +variable gamma_t equal ${gamma_n}*0.5 +variable gamma_t equal 903.503751814138*0.5 + +variable tcol equal ${PI}/sqrt(2*${kn}/${min_mass}-${gamma_n}/4.0) +variable tcol equal 3.141592653589/sqrt(2*${kn}/${min_mass}-${gamma_n}/4.0) +variable tcol equal 3.141592653589/sqrt(2*72592.5925925926/${min_mass}-${gamma_n}/4.0) +variable tcol equal 3.141592653589/sqrt(2*72592.5925925926/0.0654498469497708-${gamma_n}/4.0) +variable tcol equal 3.141592653589/sqrt(2*72592.5925925926/0.0654498469497708-903.503751814138/4.0) + +variable dt equal ${tcol}*0.05 +variable dt equal 0.00210943016014969*0.05 +timestep ${dt} +timestep 0.000105471508007485 + +############################################### +variable dumpfreq equal 1000 +variable logfreq equal 1000 + +newton off +atom_style sphere + +boundary p p f + +region boxreg block ${xlo} ${xhi} ${ylo} ${yhi} ${zlo} ${zhi} +region boxreg block 10 ${xhi} ${ylo} ${yhi} ${zlo} ${zhi} +region boxreg block 10 40 ${ylo} ${yhi} ${zlo} ${zhi} +region boxreg block 10 40 10 ${yhi} ${zlo} ${zhi} +region boxreg block 10 40 10 40 ${zlo} ${zhi} +region boxreg block 10 40 10 40 -20 ${zhi} +region boxreg block 10 40 10 40 -20 50 +create_box 1 boxreg +Created orthogonal box = (10 10 -20) to (40 40 50) + 1 by 1 by 1 MPI processor grid + +pair_style gran/hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 +pair_style gran/hertz/history 72592.5925925926 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 +pair_style gran/hertz/history 72592.5925925926 90740.7407407408 ${gamma_n} ${gamma_t} ${coeffFric} 1 +pair_style gran/hertz/history 72592.5925925926 90740.7407407408 903.503751814138 ${gamma_t} ${coeffFric} 1 +pair_style gran/hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 ${coeffFric} 1 +pair_style gran/hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 0.5 1 +pair_coeff * * + +neighbor ${skin} multi +neighbor 0.5 multi +thermo ${logfreq} +thermo 1000 + +comm_style brick +comm_modify mode multi group all vel yes +balance 1.1 shift xyz 20 1.1 +Balancing ... +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 0 + ghost atom cutoff = 0 + binsize = 30, bins = 1 1 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair gran/hertz/history, perpetual + attributes: half, newton off, size, history + pair build: half/size/multi/newtoff + stencil: full/multi/3d + bin: multi +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:210) +fix bal all balance 10000 1.1 shift xyz 20 1.01 + +####################### Options specific to pouring ######################### + +# insertion region for fix/pour + +region insreg cylinder z ${xc} ${yc} 10 30 50 side in units box +region insreg cylinder z 25 ${yc} 10 30 50 side in units box +region insreg cylinder z 25 25 10 30 50 side in units box + +# define cone and cylinder regions - see lammps doc on region command +# note new open options + +region cylreg cylinder z ${xc} ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 2 #Top is open +region cylreg cylinder z 25 ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 2 +region cylreg cylinder z 25 25 ${radconelo} ${zcyllo} ${zconelo} side in units box open 2 +region cylreg cylinder z 25 25 2 ${zcyllo} ${zconelo} side in units box open 2 +region cylreg cylinder z 25 25 2 0 ${zconelo} side in units box open 2 +region cylreg cylinder z 25 25 2 0 10 side in units box open 2 + +region conereg cone z ${xc} ${yc} ${radconelo} ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2 #Bottom and top are open +region conereg cone z 25 ${yc} ${radconelo} ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2 +region conereg cone z 25 25 ${radconelo} ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2 +region conereg cone z 25 25 2 ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2 +region conereg cone z 25 25 2 20 ${zconelo} ${zconehi} side in units box open 1 open 2 +region conereg cone z 25 25 2 20 10 ${zconehi} side in units box open 1 open 2 +region conereg cone z 25 25 2 20 10 50 side in units box open 1 open 2 + +region hopreg union 2 conereg cylreg + +fix grav all gravity ${gravity} vector 0 0 -1 +fix grav all gravity 1 vector 0 0 -1 +fix 1 all nve/sphere + + +fix hopper3 all wall/gran/region hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 ${gamma_t} ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 0.5 1 region hopreg + +fix ins all pour 2000 1 42424 region insreg diam range ${dlo} ${dhi} dens ${density} ${density} +fix ins all pour 2000 1 42424 region insreg diam range 0.5 ${dhi} dens ${density} ${density} +fix ins all pour 2000 1 42424 region insreg diam range 0.5 1 dens ${density} ${density} +fix ins all pour 2000 1 42424 region insreg diam range 0.5 1 dens 1 ${density} +fix ins all pour 2000 1 42424 region insreg diam range 0.5 1 dens 1 1 +Particle insertion: 3000 every 59965 steps, 2000 by step 1 + +#dump 1 all custom ${dumpfreq} ${name}.dump # id type mass diameter x y z + +#dump 2 all image 4000 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 zoom 3.0 # box no 0.0 axes no 0.0 0.0 +#dump_modify 2 pad 6 + +thermo_style custom step cpu atoms ke +WARNING: New thermo_style command, previous thermo_modify settings will be lost (src/output.cpp:895) +thermo_modify flush yes lost warn + +# Initial run to fill up the cone + +run 20000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- neighbor multi command: doi:10.1016/j.cpc.2008.03.005, doi:10.1007/s40571-020-00361-2 + +@Article{Intveld08, + author = {in 't Veld, P. J. and S. J.~Plimpton and G. S. Grest}, + title = {Accurate and Efficient Methods for Modeling Colloidal + Mixtures in an Explicit Solvent using Molecular Dynamics}, + journal = {Comput.\ Phys.\ Commut.}, + year = 2008, + volume = 179, + pages = {320--329} +} + +@article{Shire2020, + author = {Shire, Tom and Hanley, Kevin J. and Stratford, Kevin}, + title = {{DEM} Simulations of Polydisperse Media: Efficient Contact + Detection Applied to Investigate the Quasi-Static Limit}, + journal = {Computational Particle Mechanics}, + year = {2020} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 6.648 | 6.648 | 6.648 Mbytes + Step CPU Atoms KinEng + 0 0 0 -0 + 1000 0.52844331 2000 -0 + 2000 0.76085445 2000 -0 + 3000 0.99183068 2000 -0 + 4000 1.2193085 2000 -0 + 5000 1.4439617 2000 -0 + 6000 1.6703511 2000 -0 + 7000 1.9053408 2000 -0 + 8000 2.1323525 2000 -0 + 9000 2.3566342 2000 -0 + 10000 2.5829638 2000 -0 + 11000 2.8106202 2000 -0 + 12000 3.0371473 2000 -0 + 13000 3.2621782 2000 -0 + 14000 3.4860689 2000 -0 + 15000 3.7138322 2000 -0 + 16000 3.9424002 2000 -0 + 17000 4.1703584 2000 -0 + 18000 4.3973348 2000 -0 + 19000 4.6213358 2000 -0 + 20000 4.8547603 2000 -0 +Loop time of 4.85478 on 1 procs for 20000 steps with 2000 atoms + +99.8% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.52375 | 0.52375 | 0.52375 | 0.0 | 10.79 +Neigh | 0.070018 | 0.070018 | 0.070018 | 0.0 | 1.44 +Comm | 0.011077 | 0.011077 | 0.011077 | 0.0 | 0.23 +Output | 0.00071321 | 0.00071321 | 0.00071321 | 0.0 | 0.01 +Modify | 4.1233 | 4.1233 | 4.1233 | 0.0 | 84.93 +Other | | 0.126 | | | 2.59 + +Nlocal: 2000 ave 2000 max 2000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 1607 ave 1607 max 1607 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 1607 +Ave neighs/atom = 0.8035 +Neighbor list builds = 71 +Dangerous builds = 0 +unfix ins +run 150000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 12.69 | 12.69 | 12.69 Mbytes + Step CPU Atoms KinEng + 20000 0 2000 6652.2957 + 21000 0.22761741 2000 6807.2201 + 22000 0.45508977 2000 6973.9359 + 23000 0.68132308 2000 7142.3648 + 24000 0.91084802 2000 7276.9717 + 25000 1.1397154 2000 7369.4191 + 26000 1.3724974 2000 7497.6526 + 27000 1.6037436 2000 7638.946 + 28000 1.8381254 2000 7780.0339 + 29000 2.0763695 2000 7881.8177 + 30000 2.3169444 2000 7967.2641 + 31000 2.5544704 2000 7994.9273 + 32000 2.7981688 2000 7937.0671 + 33000 3.0486439 2000 7774.0508 + 34000 3.3065315 2000 7591.1491 + 35000 3.5712927 2000 7357.5176 + 36000 3.8415508 2000 7147.2024 + 37000 4.1137466 2000 6979.1604 + 38000 4.3946186 2000 6813.2152 + 39000 4.6737386 2000 6660.2701 + 40000 4.9654287 2000 6502.8957 + 41000 5.2606376 2000 6324.3951 + 42000 5.5633065 2000 6132.7516 + 43000 5.8692745 2000 5913.1841 + 44000 6.1757115 2000 5732.2095 + 45000 6.4896845 2000 5508.8322 + 46000 6.8170163 2000 5306.8932 + 47000 7.1514543 2000 5152.0521 + 48000 7.4863157 2000 5028.2274 + 49000 7.8214974 2000 4896.102 + 50000 8.1600826 2000 4723.5189 + 51000 8.4984004 2000 4583.7526 + 52000 8.8500924 2000 4447.0187 + 53000 9.2046999 2000 4303.2307 + 54000 9.5724785 2000 4168.5251 + 55000 9.9479954 2000 4036.9704 + 56000 10.324666 2000 3901.1183 + 57000 10.708944 2000 3716.7071 + 58000 11.108887 2000 3473.5422 + 59000 11.515057 2000 3245.1223 + 60000 11.922119 2000 3039.7845 + 61000 12.331146 2000 2780.0187 + 62000 12.745147 2000 2577.3345 + 63000 13.169644 2000 2346.2488 + 64000 13.602869 2000 2116.7298 + 65000 14.044828 2000 1903.7828 + 66000 14.49159 2000 1631.1676 + 67000 14.953127 2000 1431.0198 + 68000 15.428874 2000 1212.875 + 69000 15.981012 2000 995.45046 + 70000 16.458356 2000 811.54766 + 71000 16.936094 2000 624.08622 + 72000 17.432306 2000 471.00862 + 73000 17.949423 2000 358.33486 + 74000 18.467878 2000 284.39416 + 75000 18.970599 2000 234.26671 + 76000 19.45957 2000 185.61836 + 77000 19.959792 2000 152.95918 + 78000 20.455734 2000 122.49023 + 79000 20.93849 2000 102.29396 + 80000 21.430632 2000 86.284684 + 81000 21.925932 2000 73.984781 + 82000 22.428573 2000 63.042918 + 83000 22.945552 2000 53.338428 + 84000 23.467102 2000 45.89585 + 85000 23.992243 2000 40.412826 + 86000 24.512956 2000 34.183381 + 87000 25.037944 2000 29.671524 + 88000 25.56622 2000 26.90414 + 89000 26.102251 2000 24.362631 + 90000 26.638165 2000 21.887341 + 91000 27.17863 2000 19.985662 + 92000 27.72662 2000 18.728162 + 93000 28.276842 2000 16.99941 + 94000 28.830281 2000 15.71941 + 95000 29.389744 2000 14.744057 + 96000 29.972451 2000 14.214918 + 97000 30.575245 2000 13.450182 + 98000 31.141552 2000 12.79222 + 99000 31.711177 2000 12.10595 + 100000 32.286609 2000 11.281863 + 101000 32.879692 2000 10.025419 + 102000 33.460265 2000 9.9574468 + 103000 34.040002 2000 9.4078117 + 104000 34.619096 2000 8.9079161 + 105000 35.199384 2000 8.6269302 + 106000 35.784782 2000 8.5512649 + 107000 36.37489 2000 8.4703948 + 108000 36.963891 2000 8.2747542 + 109000 37.551549 2000 8.2895118 + 110000 38.154561 2000 8.1785613 + 111000 38.749306 2000 7.8443234 + 112000 39.344241 2000 7.7436124 + 113000 39.938878 2000 7.8118604 + 114000 40.531935 2000 7.3806177 + 115000 41.130022 2000 7.0857235 + 116000 41.726772 2000 7.1346752 + 117000 42.322611 2000 7.0653751 + 118000 42.927287 2000 6.6314104 + 119000 43.524125 2000 6.2169614 + 120000 44.127912 2000 5.8988829 + 121000 44.724988 2000 5.4197277 + 122000 45.328051 2000 4.6381303 + 123000 45.93285 2000 4.4949206 + 124000 46.54149 2000 4.4261118 + 125000 47.301723 2000 4.4223703 + 126000 48.071689 2000 4.4858898 + 127000 48.834286 2000 4.3312536 + 128000 49.448737 2000 3.7124973 + 129000 50.169622 2000 3.5467396 + 130000 50.867494 2000 3.5104139 + 131000 51.585563 2000 3.5725612 + 132000 52.240372 2000 3.669455 + 133000 52.892134 2000 3.6168912 + 134000 53.50594 2000 3.3598517 + 135000 54.114565 2000 3.3743407 + 136000 54.725082 2000 3.1109764 + 137000 55.358218 2000 3.0720146 + 138000 55.977314 2000 3.1303776 + 139000 56.589791 2000 3.2052806 + 140000 57.212518 2000 2.8958882 + 141000 57.867102 2000 2.9931572 + 142000 58.690342 2000 3.0967832 + 143000 59.418639 2000 3.0576365 + 144000 60.035852 2000 3.2016943 + 145000 60.666569 2000 3.3817709 + 146000 61.368878 2000 3.4527239 + 147000 62.159309 2000 3.5928733 + 148000 62.879677 2000 3.7784682 + 149000 63.50784 2000 3.6587944 + 150000 64.129366 2000 3.7945669 + 151000 64.74324 2000 3.5551557 + 152000 65.360802 2000 3.6248848 + 153000 65.979475 2000 3.7361463 + 154000 66.593554 2000 3.8534319 + 155000 67.30899 2000 4.0101408 + 156000 68.295637 2000 3.7670652 + 157000 69.257704 2000 3.1487676 + 158000 70.085566 2000 2.980076 + 159000 70.914218 2000 3.0350592 + 160000 71.734553 2000 3.125389 + 161000 72.423913 2000 2.7516115 + 162000 73.264994 2000 2.413911 + 163000 74.126424 2000 2.297713 + 164000 75.050891 2000 2.3190806 + 165000 75.917063 2000 2.2868879 + 166000 76.783267 2000 2.1658547 + 167000 77.516683 2000 1.7511071 + 168000 78.319102 2000 1.4112478 + 169000 78.961239 2000 1.3623558 + 170000 79.578448 2000 1.3701579 +Loop time of 79.5785 on 1 procs for 150000 steps with 2000 atoms + +99.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 40.78 | 40.78 | 40.78 | 0.0 | 51.25 +Neigh | 0.6504 | 0.6504 | 0.6504 | 0.0 | 0.82 +Comm | 0.090848 | 0.090848 | 0.090848 | 0.0 | 0.11 +Output | 0.0059597 | 0.0059597 | 0.0059597 | 0.0 | 0.01 +Modify | 36.939 | 36.939 | 36.939 | 0.0 | 46.42 +Other | | 1.112 | | | 1.40 + +Nlocal: 2000 ave 2000 max 2000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 15308 ave 15308 max 15308 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 15308 +Ave neighs/atom = 7.654 +Neighbor list builds = 367 +Dangerous builds = 0 + +# remove "plug" - need to redefine cylinder region & union + +region cylreg delete +region hopreg delete +region cylreg cylinder z ${xc} ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 1 open 2 #Bottom & top are open +region cylreg cylinder z 25 ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 1 open 2 +region cylreg cylinder z 25 25 ${radconelo} ${zcyllo} ${zconelo} side in units box open 1 open 2 +region cylreg cylinder z 25 25 2 ${zcyllo} ${zconelo} side in units box open 1 open 2 +region cylreg cylinder z 25 25 2 0 ${zconelo} side in units box open 1 open 2 +region cylreg cylinder z 25 25 2 0 10 side in units box open 1 open 2 + +region hopreg union 2 cylreg conereg + +unfix hopper3 +fix hopper3 all wall/gran/region hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 ${gamma_t} ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 0.5 1 region hopreg + +run 100000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 12.69 | 12.69 | 12.69 Mbytes + Step CPU Atoms KinEng + 170000 0 2000 1.3701579 + 171000 0.71457906 2000 2.3724823 + 172000 1.4067557 2000 3.5881441 + 173000 2.0500352 2000 5.3771633 + 174000 2.8020081 2000 7.5896471 + 175000 3.467807 2000 10.77251 + 176000 4.064748 2000 14.806868 + 177000 4.6769962 2000 19.607624 + 178000 5.26259 2000 25.426227 + 179000 5.8424937 2000 32.23584 + 180000 6.4222206 2000 39.930468 + 181000 6.9910375 2000 47.686304 + 182000 7.5601562 2000 56.506806 + 183000 8.1243537 2000 66.514326 + 184000 8.6871123 2000 77.554644 + 185000 9.3749051 2000 89.224002 + 186000 10.008412 2000 102.07846 + 187000 10.668269 2000 116.08141 + 188000 11.26663 2000 130.97964 + 189000 11.874542 2000 146.77806 + 190000 12.436262 2000 162.79858 + 191000 12.973297 2000 179.02052 + 192000 13.532286 2000 196.26683 + 193000 14.056018 2000 214.38928 + 194000 14.593726 2000 232.32068 + 195000 15.115478 2000 251.74644 + 196000 15.637308 2000 272.25231 + 197000 16.159144 2000 294.64075 + 198000 16.676958 2000 318.32895 + 199000 17.186114 2000 342.44005 + 200000 17.706244 2000 368.35469 + 201000 18.221731 2000 395.2465 + 202000 18.739505 2000 422.63599 + 203000 19.259645 2000 450.45248 + 204000 19.769875 2000 479.60812 + 205000 20.293972 2000 510.44155 + 206000 20.806658 2000 543.25751 + 207000 21.348998 2000 577.35928 + 208000 21.888691 2000 612.29718 + 209000 22.421596 2000 647.8951 + 210000 22.922782 2000 683.79409 + 211000 23.473165 2000 720.36556 + 212000 24.008952 2000 759.27331 + 213000 24.56155 2000 798.27302 + 214000 25.062386 2000 837.93849 + 215000 25.563743 2000 877.92945 + 216000 26.066188 2000 919.62532 + 217000 26.584605 2000 962.83509 + 218000 27.15076 2000 1008.5243 + 219000 27.651387 2000 1054.5769 + 220000 28.146147 2000 1103.1843 + 221000 28.644239 2000 1153.0349 + 222000 29.141899 2000 1204.5599 + 223000 29.636644 2000 1257.1367 + 224000 30.13786 2000 1308.6735 +WARNING: Lost atoms: original 2000 current 1999 (src/thermo.cpp:487) + 225000 30.638093 1999 1360.1205 + 226000 31.127956 1998 1404.8405 + 227000 31.620394 1996 1448.4869 + 228000 32.108597 1992 1491.8112 + 229000 32.592048 1985 1518.7013 + 230000 33.067462 1971 1507.6699 + 231000 33.552874 1965 1533.5096 + 232000 34.037763 1948 1489.4128 + 233000 34.531058 1933 1477.4536 + 234000 35.01451 1915 1425.8398 + 235000 35.495081 1904 1410.1451 + 236000 35.963357 1892 1401.7595 + 237000 36.428382 1880 1368.893 + 238000 36.890459 1868 1341.8885 + 239000 37.358838 1850 1286.7968 + 240000 37.828549 1833 1219.5123 + 241000 38.29428 1820 1173.3608 + 242000 38.750021 1806 1106.0727 + 243000 39.206425 1788 1035.912 + 244000 39.690492 1779 1021.6147 + 245000 40.138287 1767 969.40032 + 246000 40.582591 1757 939.12022 + 247000 41.02378 1739 840.9396 + 248000 41.472154 1730 822.06575 + 249000 41.916625 1719 762.11057 + 250000 42.365019 1707 708.50308 + 251000 42.804617 1700 692.12647 + 252000 43.257666 1697 694.5812 + 253000 43.777656 1686 652.36951 + 254000 44.244131 1682 662.95256 + 255000 44.667759 1677 637.34619 + 256000 45.111967 1672 630.71277 + 257000 45.550194 1669 641.87365 + 258000 45.985106 1665 635.862 + 259000 46.42582 1664 658.5339 + 260000 46.860965 1662 669.95468 + 261000 47.298309 1660 676.93495 + 262000 47.748236 1657 681.72646 + 263000 48.215018 1655 687.4078 + 264000 48.657973 1651 681.61352 + 265000 49.076584 1647 673.20622 + 266000 49.497823 1644 677.30073 + 267000 49.917789 1641 671.05897 + 268000 50.347112 1639 689.55776 + 269000 50.778062 1637 711.98809 + 270000 51.226034 1633 705.29974 +Loop time of 51.2261 on 1 procs for 100000 steps with 1633 atoms + +99.8% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 27.462 | 27.462 | 27.462 | 0.0 | 53.61 +Neigh | 0.47887 | 0.47887 | 0.47887 | 0.0 | 0.93 +Comm | 0.058496 | 0.058496 | 0.058496 | 0.0 | 0.11 +Output | 0.0039167 | 0.0039167 | 0.0039167 | 0.0 | 0.01 +Modify | 22.566 | 22.566 | 22.566 | 0.0 | 44.05 +Other | | 0.6567 | | | 1.28 + +Nlocal: 1633 ave 1633 max 1633 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 11358 ave 11358 max 11358 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 11358 +Ave neighs/atom = 6.955297 +Neighbor list builds = 244 +Dangerous builds = 0 +Total wall time: 0:02:15 diff --git a/examples/granregion/log.16Mar23.granregion.funnel.g++.4 b/examples/granregion/log.16Mar23.granregion.funnel.g++.4 new file mode 100644 index 0000000000..451e508fe3 --- /dev/null +++ b/examples/granregion/log.16Mar23.granregion.funnel.g++.4 @@ -0,0 +1,635 @@ +LAMMPS (8 Feb 2023) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# pour particles into cone-shaped funnel, settle them, let them run out bottom + +variable name string funnel_pour + +thermo_modify flush yes +units si +variable PI equal 3.141592653589 +variable seed equal 14314 + +############################################### +# Geometry-related parameters +############################################### + +variable xlo equal 10 +variable xhi equal 40 +variable ylo equal 10 +variable yhi equal 40 +variable zlo equal -20 +variable zhi equal 50 + +variable xc equal 25 +variable yc equal 25 + +variable zconehi equal 50 +variable zconelo equal 10 +variable zcyllo equal 0 +variable radconelo equal 2 +variable radconehi equal 20 + +################################################ +# Particle sizes +################################################ + +variable rlo equal 0.25 +variable rhi equal 0.5 +variable dlo equal 2.0*${rlo} +variable dlo equal 2.0*0.25 +variable dhi equal 2.0*${rhi} +variable dhi equal 2.0*0.5 + +variable skin equal ${rhi} +variable skin equal 0.5 + +############################################### +# Granular contact parameters +############################################### + +variable coeffRes equal 0.1 +variable coeffFric equal 0.5 + +variable density equal 1.0 +variable EYoung equal 10^5 +variable Poisson equal 2.0/7.0 +variable GShear equal ${EYoung}/(2*(1+${Poisson})) +variable GShear equal 100000/(2*(1+${Poisson})) +variable GShear equal 100000/(2*(1+0.285714285714286)) + +variable gravity equal 1.0 + +variable reff equal 0.5*(${rhi}+${rlo}) +variable reff equal 0.5*(0.5+${rlo}) +variable reff equal 0.5*(0.5+0.25) +variable meff equal ${density}*4.0/3.0*${PI}*${reff}^3 +variable meff equal 1*4.0/3.0*${PI}*${reff}^3 +variable meff equal 1*4.0/3.0*3.141592653589*${reff}^3 +variable meff equal 1*4.0/3.0*3.141592653589*0.375^3 +variable min_mass equal ${density}*4.0/3.0*${PI}*${rlo}*${rlo}*${rlo} +variable min_mass equal 1*4.0/3.0*${PI}*${rlo}*${rlo}*${rlo} +variable min_mass equal 1*4.0/3.0*3.141592653589*${rlo}*${rlo}*${rlo} +variable min_mass equal 1*4.0/3.0*3.141592653589*0.25*${rlo}*${rlo} +variable min_mass equal 1*4.0/3.0*3.141592653589*0.25*0.25*${rlo} +variable min_mass equal 1*4.0/3.0*3.141592653589*0.25*0.25*0.25 +variable max_mass equal ${density}*4.0/3.0*${PI}*${rhi}*${rhi}*${rhi} +variable max_mass equal 1*4.0/3.0*${PI}*${rhi}*${rhi}*${rhi} +variable max_mass equal 1*4.0/3.0*3.141592653589*${rhi}*${rhi}*${rhi} +variable max_mass equal 1*4.0/3.0*3.141592653589*0.5*${rhi}*${rhi} +variable max_mass equal 1*4.0/3.0*3.141592653589*0.5*0.5*${rhi} +variable max_mass equal 1*4.0/3.0*3.141592653589*0.5*0.5*0.5 + +## Typical way to set kn, kt, etc.: +variable kn equal 4.0*${GShear}/(3*(1-${Poisson})) +variable kn equal 4.0*38888.8888888889/(3*(1-${Poisson})) +variable kn equal 4.0*38888.8888888889/(3*(1-0.285714285714286)) +variable kt equal 4.0*${GShear}/(2-${Poisson}) +variable kt equal 4.0*38888.8888888889/(2-${Poisson}) +variable kt equal 4.0*38888.8888888889/(2-0.285714285714286) + +variable a equal (-2.0*log(${coeffRes})/${PI})^2 +variable a equal (-2.0*log(0.1)/${PI})^2 +variable a equal (-2.0*log(0.1)/3.141592653589)^2 +variable gamma_n equal sqrt($a*2*${kn}/${min_mass}/(1+0.25*$a)) +variable gamma_n equal sqrt(0.405284734569556*2*${kn}/${min_mass}/(1+0.25*$a)) +variable gamma_n equal sqrt(0.405284734569556*2*72592.5925925926/${min_mass}/(1+0.25*$a)) +variable gamma_n equal sqrt(0.405284734569556*2*72592.5925925926/0.0654498469497708/(1+0.25*$a)) +variable gamma_n equal sqrt(0.405284734569556*2*72592.5925925926/0.0654498469497708/(1+0.25*0.405284734569556)) +variable gamma_t equal ${gamma_n}*0.5 +variable gamma_t equal 903.503751814138*0.5 + +variable tcol equal ${PI}/sqrt(2*${kn}/${min_mass}-${gamma_n}/4.0) +variable tcol equal 3.141592653589/sqrt(2*${kn}/${min_mass}-${gamma_n}/4.0) +variable tcol equal 3.141592653589/sqrt(2*72592.5925925926/${min_mass}-${gamma_n}/4.0) +variable tcol equal 3.141592653589/sqrt(2*72592.5925925926/0.0654498469497708-${gamma_n}/4.0) +variable tcol equal 3.141592653589/sqrt(2*72592.5925925926/0.0654498469497708-903.503751814138/4.0) + +variable dt equal ${tcol}*0.05 +variable dt equal 0.00210943016014969*0.05 +timestep ${dt} +timestep 0.000105471508007485 + +############################################### +variable dumpfreq equal 1000 +variable logfreq equal 1000 + +newton off +atom_style sphere + +boundary p p f + +region boxreg block ${xlo} ${xhi} ${ylo} ${yhi} ${zlo} ${zhi} +region boxreg block 10 ${xhi} ${ylo} ${yhi} ${zlo} ${zhi} +region boxreg block 10 40 ${ylo} ${yhi} ${zlo} ${zhi} +region boxreg block 10 40 10 ${yhi} ${zlo} ${zhi} +region boxreg block 10 40 10 40 ${zlo} ${zhi} +region boxreg block 10 40 10 40 -20 ${zhi} +region boxreg block 10 40 10 40 -20 50 +create_box 1 boxreg +Created orthogonal box = (10 10 -20) to (40 40 50) + 1 by 1 by 4 MPI processor grid + +pair_style gran/hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 +pair_style gran/hertz/history 72592.5925925926 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 +pair_style gran/hertz/history 72592.5925925926 90740.7407407408 ${gamma_n} ${gamma_t} ${coeffFric} 1 +pair_style gran/hertz/history 72592.5925925926 90740.7407407408 903.503751814138 ${gamma_t} ${coeffFric} 1 +pair_style gran/hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 ${coeffFric} 1 +pair_style gran/hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 0.5 1 +pair_coeff * * + +neighbor ${skin} multi +neighbor 0.5 multi +thermo ${logfreq} +thermo 1000 + +comm_style brick +comm_modify mode multi group all vel yes +balance 1.1 shift xyz 20 1.1 +Balancing ... +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 0 + ghost atom cutoff = 0 + binsize = 30, bins = 1 1 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair gran/hertz/history, perpetual + attributes: half, newton off, size, history + pair build: half/size/multi/newtoff + stencil: full/multi/3d + bin: multi +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:210) +fix bal all balance 10000 1.1 shift xyz 20 1.01 + +####################### Options specific to pouring ######################### + +# insertion region for fix/pour + +region insreg cylinder z ${xc} ${yc} 10 30 50 side in units box +region insreg cylinder z 25 ${yc} 10 30 50 side in units box +region insreg cylinder z 25 25 10 30 50 side in units box + +# define cone and cylinder regions - see lammps doc on region command +# note new open options + +region cylreg cylinder z ${xc} ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 2 #Top is open +region cylreg cylinder z 25 ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 2 +region cylreg cylinder z 25 25 ${radconelo} ${zcyllo} ${zconelo} side in units box open 2 +region cylreg cylinder z 25 25 2 ${zcyllo} ${zconelo} side in units box open 2 +region cylreg cylinder z 25 25 2 0 ${zconelo} side in units box open 2 +region cylreg cylinder z 25 25 2 0 10 side in units box open 2 + +region conereg cone z ${xc} ${yc} ${radconelo} ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2 #Bottom and top are open +region conereg cone z 25 ${yc} ${radconelo} ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2 +region conereg cone z 25 25 ${radconelo} ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2 +region conereg cone z 25 25 2 ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2 +region conereg cone z 25 25 2 20 ${zconelo} ${zconehi} side in units box open 1 open 2 +region conereg cone z 25 25 2 20 10 ${zconehi} side in units box open 1 open 2 +region conereg cone z 25 25 2 20 10 50 side in units box open 1 open 2 + +region hopreg union 2 conereg cylreg + +fix grav all gravity ${gravity} vector 0 0 -1 +fix grav all gravity 1 vector 0 0 -1 +fix 1 all nve/sphere + + +fix hopper3 all wall/gran/region hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 ${gamma_t} ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 0.5 1 region hopreg + +fix ins all pour 2000 1 42424 region insreg diam range ${dlo} ${dhi} dens ${density} ${density} +fix ins all pour 2000 1 42424 region insreg diam range 0.5 ${dhi} dens ${density} ${density} +fix ins all pour 2000 1 42424 region insreg diam range 0.5 1 dens ${density} ${density} +fix ins all pour 2000 1 42424 region insreg diam range 0.5 1 dens 1 ${density} +fix ins all pour 2000 1 42424 region insreg diam range 0.5 1 dens 1 1 +Particle insertion: 3000 every 59965 steps, 2000 by step 1 + +#dump 1 all custom ${dumpfreq} ${name}.dump # id type mass diameter x y z + +#dump 2 all image 4000 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 zoom 3.0 # box no 0.0 axes no 0.0 0.0 +#dump_modify 2 pad 6 + +thermo_style custom step cpu atoms ke +WARNING: New thermo_style command, previous thermo_modify settings will be lost (src/output.cpp:895) +thermo_modify flush yes lost warn + +# Initial run to fill up the cone + +run 20000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- neighbor multi command: doi:10.1016/j.cpc.2008.03.005, doi:10.1007/s40571-020-00361-2 + +@Article{Intveld08, + author = {in 't Veld, P. J. and S. J.~Plimpton and G. S. Grest}, + title = {Accurate and Efficient Methods for Modeling Colloidal + Mixtures in an Explicit Solvent using Molecular Dynamics}, + journal = {Comput.\ Phys.\ Commut.}, + year = 2008, + volume = 179, + pages = {320--329} +} + +@article{Shire2020, + author = {Shire, Tom and Hanley, Kevin J. and Stratford, Kevin}, + title = {{DEM} Simulations of Polydisperse Media: Efficient Contact + Detection Applied to Investigate the Quasi-Static Limit}, + journal = {Computational Particle Mechanics}, + year = {2020} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 6.049 | 6.049 | 6.049 Mbytes + Step CPU Atoms KinEng + 0 0 0 -0 + 1000 0.55467905 2000 -0 + 2000 0.77825615 2000 -0 + 3000 0.99338813 2000 -0 + 4000 1.2048904 2000 -0 + 5000 1.4073987 2000 -0 + 6000 1.6070452 2000 -0 + 7000 1.8056594 2000 -0 + 8000 1.9907326 2000 -0 + 9000 2.1732359 2000 -0 + 10000 2.3525506 2000 -0 + 11000 2.4202338 2000 -0 + 12000 2.4883928 2000 -0 + 13000 2.5587335 2000 -0 + 14000 2.6327822 2000 -0 + 15000 2.7095893 2000 -0 + 16000 2.7909032 2000 -0 + 17000 2.8763781 2000 -0 + 18000 2.9671807 2000 -0 + 19000 3.05783 2000 -0 + 20000 3.1546642 2000 -0 +Loop time of 3.1547 on 4 procs for 20000 steps with 2000 atoms + +98.6% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.045592 | 0.12271 | 0.29398 | 28.5 | 3.89 +Neigh | 0.011353 | 0.019401 | 0.032667 | 5.7 | 0.61 +Comm | 0.043342 | 0.09899 | 0.1539 | 14.6 | 3.14 +Output | 0.00097884 | 0.0019761 | 0.0024333 | 1.3 | 0.06 +Modify | 0.8096 | 1.2822 | 2.26 | 50.7 | 40.65 +Other | | 1.629 | | | 51.65 + +Nlocal: 500 ave 510 max 493 min +Histogram: 1 1 0 0 0 1 0 0 0 1 +Nghost: 154 ave 227 max 79 min +Histogram: 1 0 0 0 1 0 1 0 0 1 +Neighs: 415.5 ave 610 max 258 min +Histogram: 1 1 0 0 0 0 1 0 0 1 + +Total # of neighbors = 1662 +Ave neighs/atom = 0.831 +Neighbor list builds = 71 +Dangerous builds = 0 +unfix ins +run 150000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 12.33 | 12.5 | 12.68 Mbytes + Step CPU Atoms KinEng + 20000 0 2000 6652.2957 + 21000 0.068149031 2000 6807.2201 + 22000 0.13906682 2000 6973.9359 + 23000 0.21167896 2000 7142.3648 + 24000 0.28828482 2000 7276.9717 + 25000 0.36895294 2000 7369.4191 + 26000 0.45705665 2000 7497.6526 + 27000 0.55283141 2000 7638.946 + 28000 0.65163553 2000 7780.0339 + 29000 0.75208427 2000 7881.8177 + 30000 0.85956458 2000 7967.2641 + 31000 0.94177635 2000 7994.9273 + 32000 1.0345834 2000 7937.0672 + 33000 1.1315152 2000 7774.0508 + 34000 1.2426423 2000 7591.1511 + 35000 1.3578344 2000 7357.5032 + 36000 1.4893311 2000 7147.3776 + 37000 1.6240315 2000 6980.0719 + 38000 1.7664339 2000 6813.0872 + 39000 1.91857 2000 6657.0694 + 40000 2.0835393 2000 6505.1356 + 41000 2.2038908 2000 6330.3106 + 42000 2.330345 2000 6148.0635 + 43000 2.4596185 2000 5933.4808 + 44000 2.5912876 2000 5759.5507 + 45000 2.7316375 2000 5510.4729 + 46000 2.8777238 2000 5332.8673 + 47000 3.0357893 2000 5164.4197 + 48000 3.1931582 2000 5027.4099 + 49000 3.341993 2000 4904.6999 + 50000 3.4914327 2000 4712.0967 + 51000 3.6880787 2000 4575.8693 + 52000 3.8868278 2000 4443.4894 + 53000 4.0538325 2000 4272.1666 + 54000 4.2275386 2000 4113.2811 + 55000 4.3935565 2000 3974.5981 + 56000 4.6008319 2000 3863.5272 + 57000 4.8305792 2000 3676.8918 + 58000 5.1085757 2000 3446.5177 + 59000 5.3025239 2000 3227.8857 + 60000 5.5061134 2000 2997.8151 + 61000 5.6771065 2000 2745.5998 + 62000 5.8533046 2000 2530.2536 + 63000 6.0266287 2000 2352.9283 + 64000 6.1975348 2000 2102.4916 + 65000 6.375875 2000 1906.3034 + 66000 6.6008814 2000 1683.179 + 67000 6.8728018 2000 1440.0663 + 68000 7.1104699 2000 1220.2743 + 69000 7.3660591 2000 1012.4596 + 70000 7.6208232 2000 796.99913 + 71000 7.8459169 2000 631.28788 + 72000 8.0433916 2000 459.93641 + 73000 8.2225178 2000 359.28959 + 74000 8.3982201 2000 286.19292 + 75000 8.5769976 2000 235.53259 + 76000 8.7541865 2000 187.55737 + 77000 9.0010462 2000 144.42323 + 78000 9.2721615 2000 116.12613 + 79000 9.4992863 2000 95.625301 + 80000 9.7368141 2000 82.645629 + 81000 9.9462546 2000 72.124657 + 82000 10.15281 2000 64.266704 + 83000 10.365519 2000 56.7285 + 84000 10.55069 2000 49.44393 + 85000 10.764107 2000 42.434733 + 86000 10.993211 2000 37.816266 + 87000 11.243268 2000 33.892006 + 88000 11.487204 2000 29.898596 + 89000 11.684173 2000 26.4401 + 90000 11.880908 2000 23.329056 + 91000 12.078366 2000 21.291141 + 92000 12.347446 2000 19.494401 + 93000 12.582632 2000 18.157646 + 94000 12.833491 2000 17.176709 + 95000 13.109452 2000 16.059418 + 96000 13.34541 2000 15.524934 + 97000 13.604566 2000 13.887097 + 98000 13.816696 2000 12.98846 + 99000 14.043128 2000 12.325347 + 100000 14.35998 2000 11.567779 + 101000 14.584033 2000 11.097346 + 102000 14.793606 2000 10.981696 + 103000 15.011832 2000 10.914661 + 104000 15.223053 2000 10.183009 + 105000 15.435892 2000 9.9825606 + 106000 15.651946 2000 9.5164341 + 107000 15.870696 2000 9.4270389 + 108000 16.237826 2000 9.2752131 + 109000 16.525601 2000 8.580319 + 110000 16.74452 2000 8.3138082 + 111000 16.991527 2000 7.826454 + 112000 17.322972 2000 7.5958866 + 113000 17.649386 2000 7.2760339 + 114000 17.967676 2000 7.2879075 + 115000 18.27941 2000 6.8298855 + 116000 18.619507 2000 6.6964815 + 117000 18.979092 2000 6.490952 + 118000 19.303215 2000 6.0204595 + 119000 19.683409 2000 5.9293145 + 120000 20.034873 2000 5.7244854 + 121000 20.329374 2000 5.4221021 + 122000 20.670529 2000 4.8227757 + 123000 20.970073 2000 4.7914829 + 124000 21.297132 2000 4.6895984 + 125000 21.524346 2000 4.4951309 + 126000 21.742931 2000 4.5186107 + 127000 21.983039 2000 4.5989696 + 128000 22.203881 2000 4.5578225 + 129000 22.428553 2000 4.2667783 + 130000 22.662049 2000 4.0855202 + 131000 22.893977 2000 4.129346 + 132000 23.134398 2000 4.1720282 + 133000 23.367561 2000 4.3178701 + 134000 23.614361 2000 4.1047803 + 135000 23.840139 2000 3.856834 + 136000 24.095293 2000 4.0099605 + 137000 24.320746 2000 4.1104868 + 138000 24.555868 2000 4.1538456 + 139000 24.798604 2000 4.3079797 + 140000 25.125474 2000 4.0655486 + 141000 25.360498 2000 4.1257388 + 142000 25.597535 2000 4.1180413 + 143000 25.824173 2000 4.2764691 + 144000 26.082826 2000 4.3992832 + 145000 26.307002 2000 4.0978942 + 146000 26.532413 2000 4.1776805 + 147000 26.759469 2000 4.2261665 + 148000 26.989405 2000 4.4049886 + 149000 27.215826 2000 4.5559941 + 150000 27.443235 2000 4.7449947 + 151000 27.670397 2000 4.962558 + 152000 27.901368 2000 4.8517188 + 153000 28.148201 2000 4.9263912 + 154000 28.379071 2000 4.6200149 + 155000 28.621063 2000 4.8289752 + 156000 28.870192 2000 5.043235 + 157000 29.105614 2000 5.2399981 + 158000 29.330537 2000 5.494424 + 159000 29.558095 2000 4.9215021 + 160000 29.785841 2000 4.8938104 + 161000 30.011182 2000 5.0832139 + 162000 30.23825 2000 5.2281894 + 163000 30.464829 2000 5.4710487 + 164000 30.719854 2000 5.7311326 + 165000 31.038065 2000 5.9048483 + 166000 31.340672 2000 6.1177544 + 167000 31.649901 2000 4.0749212 + 168000 31.928746 2000 4.0087545 + 169000 32.153717 2000 2.8333927 + 170000 32.380796 2000 2.6131424 +Loop time of 32.3808 on 4 procs for 150000 steps with 2000 atoms + +98.9% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 6.997 | 12.251 | 14.992 | 89.3 | 37.83 +Neigh | 0.1358 | 0.20191 | 0.24331 | 9.0 | 0.62 +Comm | 1.2102 | 2.0432 | 2.4992 | 36.1 | 6.31 +Output | 0.0079578 | 0.012222 | 0.020149 | 4.4 | 0.04 +Modify | 7.1333 | 9.974 | 12.03 | 56.2 | 30.80 +Other | | 7.899 | | | 24.39 + +Nlocal: 500 ave 547 max 414 min +Histogram: 1 0 0 0 0 0 1 0 0 2 +Nghost: 447.5 ave 678 max 201 min +Histogram: 1 0 0 0 1 0 1 0 0 1 +Neighs: 4478.75 ave 5715 max 3358 min +Histogram: 1 0 0 1 0 0 1 0 0 1 + +Total # of neighbors = 17915 +Ave neighs/atom = 8.9575 +Neighbor list builds = 375 +Dangerous builds = 0 + +# remove "plug" - need to redefine cylinder region & union + +region cylreg delete +region hopreg delete +region cylreg cylinder z ${xc} ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 1 open 2 #Bottom & top are open +region cylreg cylinder z 25 ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 1 open 2 +region cylreg cylinder z 25 25 ${radconelo} ${zcyllo} ${zconelo} side in units box open 1 open 2 +region cylreg cylinder z 25 25 2 ${zcyllo} ${zconelo} side in units box open 1 open 2 +region cylreg cylinder z 25 25 2 0 ${zconelo} side in units box open 1 open 2 +region cylreg cylinder z 25 25 2 0 10 side in units box open 1 open 2 + +region hopreg union 2 cylreg conereg + +unfix hopper3 +fix hopper3 all wall/gran/region hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 ${gamma_t} ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 ${coeffFric} 1 region hopreg +fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 0.5 1 region hopreg + +run 100000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 12.34 | 12.53 | 12.68 Mbytes + Step CPU Atoms KinEng + 170000 0 2000 2.6131424 + 171000 0.22601136 2000 3.529459 + 172000 0.45221016 2000 4.7071494 + 173000 0.68427839 2000 6.3480095 + 174000 0.91114205 2000 8.8055429 + 175000 1.1431874 2000 12.020148 + 176000 1.3732197 2000 16.079961 + 177000 1.6051751 2000 20.911155 + 178000 1.8346523 2000 26.447901 + 179000 2.0762403 2000 32.277607 + 180000 2.3420473 2000 39.374754 + 181000 2.6328957 2000 46.824434 + 182000 2.8669203 2000 54.755937 + 183000 3.1047916 2000 63.957816 + 184000 3.3310346 2000 74.217343 + 185000 3.5685015 2000 85.472859 + 186000 3.7955114 2000 97.586962 + 187000 4.0326183 2000 110.39658 + 188000 4.267244 2000 123.54524 + 189000 4.4987867 2000 137.45798 + 190000 4.7358838 2000 151.81094 + 191000 4.9494874 2000 166.91945 + 192000 5.1552044 2000 182.93379 + 193000 5.3547002 2000 200.32195 + 194000 5.5590208 2000 218.31863 + 195000 5.7575332 2000 237.22122 + 196000 5.9520759 2000 255.12936 + 197000 6.1457469 2000 273.87347 + 198000 6.341216 2000 293.82126 + 199000 6.5397944 2000 315.13067 + 200000 6.7418645 2000 337.18517 + 201000 6.9368245 2000 359.48438 + 202000 7.1538903 2000 382.76229 + 203000 7.3864641 2000 408.60338 + 204000 7.6731476 2000 435.15421 + 205000 7.9053649 2000 462.53542 + 206000 8.1480905 2000 490.85791 + 207000 8.3856692 2000 519.80878 + 208000 8.6034715 2000 550.44978 + 209000 8.8046602 2000 581.78594 + 210000 9.0044136 2000 615.02491 + 211000 9.2216638 2000 649.34564 + 212000 9.4269046 2000 684.24357 + 213000 9.6587854 2000 720.72627 + 214000 9.8596293 2000 757.96901 + 215000 10.05877 2000 796.8493 + 216000 10.256066 2000 836.58839 + 217000 10.48718 2000 877.81823 + 218000 10.694787 2000 920.81077 + 219000 10.891455 2000 963.77552 + 220000 11.147269 2000 1007.6868 + 221000 11.400829 2000 1054.0654 + 222000 11.65238 2000 1102.4934 + 223000 11.846807 2000 1151.1348 + 224000 12.040148 2000 1200.6622 + 225000 12.229259 2000 1251.5126 +WARNING: Lost atoms: original 2000 current 1999 (src/thermo.cpp:487) + 226000 12.420863 1999 1299.6349 + 227000 12.635492 1997 1338.1126 + 228000 12.827738 1987 1354.6661 + 229000 13.016127 1980 1369.1412 + 230000 13.211511 1970 1369.1776 + 231000 13.404909 1963 1377.7863 + 232000 13.602332 1950 1362.1028 + 233000 13.796103 1938 1344.4535 + 234000 13.988442 1924 1318.1397 + 235000 14.185813 1907 1269.3181 + 236000 14.378388 1895 1242.269 + 237000 14.568867 1881 1188.0729 + 238000 14.75676 1868 1162.8778 + 239000 14.947894 1854 1111.9974 + 240000 15.160004 1840 1050.2813 + 241000 15.340495 1831 1024.5782 + 242000 15.523597 1816 980.07203 + 243000 15.725193 1807 973.84606 + 244000 15.902549 1796 936.95947 + 245000 16.081382 1790 916.53685 + 246000 16.261081 1780 893.82891 + 247000 16.451727 1770 853.09944 + 248000 16.628641 1755 804.73429 + 249000 16.804105 1749 773.19378 + 250000 16.978354 1738 734.78084 + 251000 17.152527 1725 668.92528 + 252000 17.328291 1717 651.36038 + 253000 17.512786 1706 595.48412 + 254000 17.695931 1699 564.79829 + 255000 17.874221 1695 558.19897 + 256000 18.050516 1693 568.02459 + 257000 18.228697 1692 584.97166 + 258000 18.400925 1689 574.19701 + 259000 18.576449 1687 583.36332 + 260000 18.754006 1684 577.56927 + 261000 18.946091 1681 582.0375 + 262000 19.182957 1679 583.29644 + 263000 19.394795 1676 575.09831 + 264000 19.604668 1673 575.78272 + 265000 19.81517 1672 595.66572 + 266000 20.046658 1670 610.84262 + 267000 20.332684 1665 588.36505 + 268000 20.573691 1662 593.44831 + 269000 20.800574 1660 600.31964 + 270000 21.058624 1656 588.46212 +Loop time of 21.0587 on 4 procs for 100000 steps with 1656 atoms + +99.0% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 3.8632 | 8.4037 | 11.541 | 97.3 | 39.91 +Neigh | 0.13431 | 0.15665 | 0.17248 | 3.8 | 0.74 +Comm | 0.70516 | 1.4552 | 1.9637 | 40.7 | 6.91 +Output | 0.0030904 | 0.0079543 | 0.016722 | 5.9 | 0.04 +Modify | 5.3661 | 6.1781 | 6.8249 | 22.0 | 29.34 +Other | | 4.857 | | | 23.06 + +Nlocal: 414 ave 426 max 385 min +Histogram: 1 0 0 0 0 0 0 0 0 3 +Nghost: 408 ave 634 max 183 min +Histogram: 1 0 0 1 0 0 1 0 0 1 +Neighs: 3463 ave 4360 max 2354 min +Histogram: 1 0 0 1 0 0 0 0 1 1 + +Total # of neighbors = 13852 +Ave neighs/atom = 8.3647343 +Neighbor list builds = 255 +Dangerous builds = 0 +Total wall time: 0:00:56 diff --git a/examples/granregion/log.16Mar23.granregion.mixer.g++.1 b/examples/granregion/log.16Mar23.granregion.mixer.g++.1 new file mode 100644 index 0000000000..3fc012d20c --- /dev/null +++ b/examples/granregion/log.16Mar23.granregion.mixer.g++.1 @@ -0,0 +1,634 @@ +LAMMPS (8 Feb 2023) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +variable name string mixer + +thermo_modify flush yes +variable seed equal 14314 + +############################################### +# Particle parameters +################################################ + +variable rlo equal 0.3 +variable rhi equal 0.6 +variable dlo equal 2.0*${rlo} +variable dlo equal 2.0*0.3 +variable dhi equal 2.0*${rhi} +variable dhi equal 2.0*0.6 +variable skin equal ${rhi} +variable skin equal 0.6 + +variable coeffRes equal 0.1 +variable coeffFric equal 0.5 + +variable kn equal 10^5 +variable kt equal 0.2*${kn} +variable kt equal 0.2*100000 + +variable gravity equal 1.0 +variable density equal 1.0 + +variable min_mass equal ${density}*4.0/3.0*PI*${rlo}*${rlo}*${rlo} +variable min_mass equal 1*4.0/3.0*PI*${rlo}*${rlo}*${rlo} +variable min_mass equal 1*4.0/3.0*PI*0.3*${rlo}*${rlo} +variable min_mass equal 1*4.0/3.0*PI*0.3*0.3*${rlo} +variable min_mass equal 1*4.0/3.0*PI*0.3*0.3*0.3 +variable a equal (-2.0*log(${coeffRes})/PI)^2 +variable a equal (-2.0*log(0.1)/PI)^2 +variable gamma_n equal sqrt($a*2*${kn}/${min_mass}/(1+0.25*$a)) +variable gamma_n equal sqrt(0.405284734569351*2*${kn}/${min_mass}/(1+0.25*$a)) +variable gamma_n equal sqrt(0.405284734569351*2*100000/${min_mass}/(1+0.25*$a)) +variable gamma_n equal sqrt(0.405284734569351*2*100000/0.113097335529233/(1+0.25*$a)) +variable gamma_n equal sqrt(0.405284734569351*2*100000/0.113097335529233/(1+0.25*0.405284734569351)) +variable gamma_t equal ${gamma_n}*0.5 +variable gamma_t equal 806.699778405191*0.5 + +variable tcol equal PI/sqrt(2*${kn}/${min_mass}-${gamma_n}/4.0) +variable tcol equal PI/sqrt(2*100000/${min_mass}-${gamma_n}/4.0) +variable tcol equal PI/sqrt(2*100000/0.113097335529233-${gamma_n}/4.0) +variable tcol equal PI/sqrt(2*100000/0.113097335529233-806.699778405191/4.0) + +variable dt equal ${tcol}*0.02 +variable dt equal 0.00236257621510454*0.02 +timestep ${dt} +timestep 4.72515243020908e-05 + +############################################### + +variable dumpfreq equal 1000 +variable logfreq equal 1000 + +newton on +atom_style sphere + +boundary p p f + +region boxreg block 0 20 0 20 0 20 +create_box 1 boxreg +Created orthogonal box = (0 0 0) to (20 20 20) + 1 by 1 by 1 MPI processor grid + +pair_style gran/hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 +pair_style gran/hertz/history 100000 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 +pair_style gran/hertz/history 100000 20000 ${gamma_n} ${gamma_t} ${coeffFric} 1 +pair_style gran/hertz/history 100000 20000 806.699778405191 ${gamma_t} ${coeffFric} 1 +pair_style gran/hertz/history 100000 20000 806.699778405191 403.349889202595 ${coeffFric} 1 +pair_style gran/hertz/history 100000 20000 806.699778405191 403.349889202595 0.5 1 +pair_coeff * * + +neighbor ${skin} multi +neighbor 0.6 multi +thermo ${logfreq} +thermo 1000 + +comm_style brick +comm_modify mode multi group all vel yes +balance 1.1 shift xyz 20 1.1 +Balancing ... +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 0 + ghost atom cutoff = 0 + binsize = 20, bins = 1 1 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair gran/hertz/history, perpetual + attributes: half, newton on, size, history + pair build: half/size/multi/newton + stencil: half/multi/3d + bin: multi +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:210) +fix bal all balance 10000 1.1 shift xyz 20 1.01 + +####################### Options specific to pouring ######################### + +region insreg cylinder z 10 10 8 10 18 side in units box +region cylreg cylinder z 10 10 10 0 20 side in units box + +variable theta equal (step/400000)*2*PI + +region b1 block 2 18 9 11 0 4 side out rotate v_theta 10 10 0 0 0 1 units box +region b2 block 9 11 2 18 0 3.99999 side out rotate v_theta 10 10 0 0 0 1 units box + +region mixer intersect 3 cylreg b1 b2 side in + +fix grav all gravity ${gravity} vector 0 0 -1 +fix grav all gravity 1 vector 0 0 -1 +fix 1 all nve/sphere + +fix mixwall all wall/gran/region hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region mixer +fix mixwall all wall/gran/region hertz/history 100000 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region mixer +fix mixwall all wall/gran/region hertz/history 100000 20000 ${gamma_n} ${gamma_t} ${coeffFric} 1 region mixer +fix mixwall all wall/gran/region hertz/history 100000 20000 806.699778405191 ${gamma_t} ${coeffFric} 1 region mixer +fix mixwall all wall/gran/region hertz/history 100000 20000 806.699778405191 403.349889202595 ${coeffFric} 1 region mixer +fix mixwall all wall/gran/region hertz/history 100000 20000 806.699778405191 403.349889202595 0.5 1 region mixer + +fix ins all pour 1000 1 42424 region insreg diam range ${dlo} ${dhi} dens ${density} ${density} +fix ins all pour 1000 1 42424 region insreg diam range 0.6 ${dhi} dens ${density} ${density} +fix ins all pour 1000 1 42424 region insreg diam range 0.6 1.2 dens ${density} ${density} +fix ins all pour 1000 1 42424 region insreg diam range 0.6 1.2 dens 1 ${density} +fix ins all pour 1000 1 42424 region insreg diam range 0.6 1.2 dens 1 1 +Particle insertion: 444 every 84653 steps, 1000 by step 169307 + +#dump 1 all custom ${dumpfreq} ${name}_pour.dump # id type mass diameter x y z + +#dump 2 all image 4000 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 zoom 1.5 # box no 0.0 axes no 0.0 0.0 +#dump_modify 2 pad 6 + +thermo_style custom step cpu atoms ke v_theta +WARNING: New thermo_style command, previous thermo_modify settings will be lost (src/output.cpp:895) +thermo_modify flush yes lost warn + +run 200000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- neighbor multi command: doi:10.1016/j.cpc.2008.03.005, doi:10.1007/s40571-020-00361-2 + +@Article{Intveld08, + author = {in 't Veld, P. J. and S. J.~Plimpton and G. S. Grest}, + title = {Accurate and Efficient Methods for Modeling Colloidal + Mixtures in an Explicit Solvent using Molecular Dynamics}, + journal = {Comput.\ Phys.\ Commut.}, + year = 2008, + volume = 179, + pages = {320--329} +} + +@article{Shire2020, + author = {Shire, Tom and Hanley, Kevin J. and Stratford, Kevin}, + title = {{DEM} Simulations of Polydisperse Media: Efficient Contact + Detection Applied to Investigate the Quasi-Static Limit}, + journal = {Computational Particle Mechanics}, + year = {2020} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 5.861 | 5.861 | 5.861 Mbytes + Step CPU Atoms KinEng v_theta + 0 0 0 -0 0 + 1000 0.11477344 444 -0 0.015707963 + 2000 0.21604269 444 -0 0.031415927 + 3000 0.31421365 444 -0 0.04712389 + 4000 0.41095902 444 -0 0.062831853 + 5000 0.50703042 444 -0 0.078539816 + 6000 0.60585007 444 -0 0.09424778 + 7000 0.70232419 444 -0 0.10995574 + 8000 0.80002622 444 -0 0.12566371 + 9000 0.89464008 444 -0 0.14137167 + 10000 0.99260726 444 -0 0.15707963 + 11000 1.090675 444 -0 0.1727876 + 12000 1.1878107 444 -0 0.18849556 + 13000 1.2860401 444 -0 0.20420352 + 14000 1.3830433 444 -0 0.21991149 + 15000 1.4834023 444 -0 0.23561945 + 16000 1.5799984 444 -0 0.25132741 + 17000 1.6758091 444 -0 0.26703538 + 18000 1.7713554 444 -0 0.28274334 + 19000 1.8684734 444 -0 0.2984513 + 20000 1.9661563 444 -0 0.31415927 + 21000 2.0629748 444 -0 0.32986723 + 22000 2.1575594 444 -0 0.34557519 + 23000 2.2530422 444 -0 0.36128316 + 24000 2.3525179 444 -0 0.37699112 + 25000 2.4494323 444 -0 0.39269908 + 26000 2.5454666 444 -0 0.40840704 + 27000 2.6402269 444 -0 0.42411501 + 28000 2.7364338 444 -0 0.43982297 + 29000 2.8349 444 -0 0.45553093 + 30000 2.9327959 444 -0 0.4712389 + 31000 3.0304534 444 -0 0.48694686 + 32000 3.1315005 444 -0 0.50265482 + 33000 3.2290307 444 -0 0.51836279 + 34000 3.3243787 444 -0 0.53407075 + 35000 3.4232964 444 -0 0.54977871 + 36000 3.5235978 444 -0 0.56548668 + 37000 3.6214101 444 -0 0.58119464 + 38000 3.7179412 444 -0 0.5969026 + 39000 3.8159856 444 -0 0.61261057 + 40000 3.9121916 444 -0 0.62831853 + 41000 4.0080794 444 -0 0.64402649 + 42000 4.1087349 444 -0 0.65973446 + 43000 4.2059697 444 -0 0.67544242 + 44000 4.3043867 444 -0 0.69115038 + 45000 4.4014253 444 -0 0.70685835 + 46000 4.5000241 444 -0 0.72256631 + 47000 4.5970258 444 -0 0.73827427 + 48000 4.6929243 444 -0 0.75398224 + 49000 4.7894702 444 -0 0.7696902 + 50000 4.8858098 444 -0 0.78539816 + 51000 4.985063 444 -0 0.80110613 + 52000 5.0863877 444 -0 0.81681409 + 53000 5.181301 444 -0 0.83252205 + 54000 5.2819523 444 -0 0.84823002 + 55000 5.3895357 444 -0 0.86393798 + 56000 5.5225568 444 -0 0.87964594 + 57000 5.6473901 444 -0 0.89535391 + 58000 5.7786123 444 -0 0.91106187 + 59000 5.8932617 444 -0 0.92676983 + 60000 6.004952 444 -0 0.9424778 + 61000 6.1168028 444 -0 0.95818576 + 62000 6.2274784 444 -0 0.97389372 + 63000 6.341172 444 -0 0.98960169 + 64000 6.4565154 444 -0 1.0053096 + 65000 6.5684785 444 -0 1.0210176 + 66000 6.6836542 444 -0 1.0367256 + 67000 6.797745 444 -0 1.0524335 + 68000 6.9091592 444 -0 1.0681415 + 69000 7.0230958 444 -0 1.0838495 + 70000 7.140508 444 -0 1.0995574 + 71000 7.2547153 444 -0 1.1152654 + 72000 7.3698096 444 -0 1.1309734 + 73000 7.4846587 444 -0 1.1466813 + 74000 7.6005538 444 -0 1.1623893 + 75000 7.715498 444 -0 1.1780972 + 76000 7.8306339 444 -0 1.1938052 + 77000 7.9458861 444 -0 1.2095132 + 78000 8.0608796 444 -0 1.2252211 + 79000 8.1819612 444 -0 1.2409291 + 80000 8.3017939 444 -0 1.2566371 + 81000 8.4206794 444 -0 1.272345 + 82000 8.5396045 444 -0 1.288053 + 83000 8.6588178 444 -0 1.303761 + 84000 8.7939815 444 -0 1.3194689 + 85000 8.9999511 888 -0 1.3351769 + 86000 9.2762515 888 -0 1.3508848 + 87000 9.5497189 888 -0 1.3665928 + 88000 9.8025426 888 -0 1.3823008 + 89000 10.063005 888 -0 1.3980087 + 90000 10.343956 888 -0 1.4137167 + 91000 10.630004 888 -0 1.4294247 + 92000 10.865437 888 -0 1.4451326 + 93000 11.090302 888 -0 1.4608406 + 94000 11.306921 888 -0 1.4765485 + 95000 11.525442 888 -0 1.4922565 + 96000 11.786482 888 -0 1.5079645 + 97000 12.033336 888 -0 1.5236724 + 98000 12.258224 888 -0 1.5393804 + 99000 12.486583 888 -0 1.5550884 + 100000 12.70566 888 -0 1.5707963 + 101000 12.934051 888 -0 1.5865043 + 102000 13.194977 888 -0 1.6022123 + 103000 13.503561 888 -0 1.6179202 + 104000 13.737785 888 -0 1.6336282 + 105000 13.96388 888 -0 1.6493361 + 106000 14.190156 888 -0 1.6650441 + 107000 14.416346 888 -0 1.6807521 + 108000 14.642321 888 -0 1.69646 + 109000 14.877668 888 -0 1.712168 + 110000 15.114644 888 -0 1.727876 + 111000 15.354762 888 -0 1.7435839 + 112000 15.615795 888 -0 1.7592919 + 113000 15.854301 888 -0 1.7749998 + 114000 16.099855 888 -0 1.7907078 + 115000 16.344044 888 -0 1.8064158 + 116000 16.60829 888 -0 1.8221237 + 117000 16.847146 888 -0 1.8378317 + 118000 17.086787 888 -0 1.8535397 + 119000 17.324264 888 -0 1.8692476 + 120000 17.563913 888 -0 1.8849556 + 121000 17.798333 888 -0 1.9006636 + 122000 18.033339 888 -0 1.9163715 + 123000 18.275883 888 -0 1.9320795 + 124000 18.542879 888 -0 1.9477874 + 125000 18.790098 888 -0 1.9634954 + 126000 19.034113 888 -0 1.9792034 + 127000 19.286183 888 -0 1.9949113 + 128000 19.574764 888 -0 2.0106193 + 129000 19.832536 888 -0 2.0263273 + 130000 20.085705 888 -0 2.0420352 + 131000 20.327805 888 -0 2.0577432 + 132000 20.576476 888 -0 2.0734512 + 133000 20.82021 888 -0 2.0891591 + 134000 21.063425 888 -0 2.1048671 + 135000 21.304848 888 -0 2.120575 + 136000 21.554936 888 -0 2.136283 + 137000 21.797949 888 -0 2.151991 + 138000 22.041181 888 -0 2.1676989 + 139000 22.288509 888 -0 2.1834069 + 140000 22.539512 888 -0 2.1991149 + 141000 22.786046 888 -0 2.2148228 + 142000 23.052553 888 -0 2.2305308 + 143000 23.321282 888 -0 2.2462387 + 144000 23.619171 888 -0 2.2619467 + 145000 23.918581 888 -0 2.2776547 + 146000 24.200849 888 -0 2.2933626 + 147000 24.500127 888 -0 2.3090706 + 148000 24.756357 888 -0 2.3247786 + 149000 25.015262 888 -0 2.3404865 + 150000 25.271136 888 -0 2.3561945 + 151000 25.519846 888 -0 2.3719025 + 152000 25.780481 888 -0 2.3876104 + 153000 26.027917 888 -0 2.4033184 + 154000 26.277021 888 -0 2.4190263 + 155000 26.54158 888 -0 2.4347343 + 156000 26.828357 888 -0 2.4504423 + 157000 27.172993 888 -0 2.4661502 + 158000 27.454171 888 -0 2.4818582 + 159000 27.72964 888 -0 2.4975662 + 160000 28.007464 888 -0 2.5132741 + 161000 28.28268 888 -0 2.5289821 + 162000 28.561094 888 -0 2.54469 + 163000 28.839295 888 -0 2.560398 + 164000 29.117588 888 -0 2.576106 + 165000 29.394126 888 -0 2.5918139 + 166000 29.675102 888 -0 2.6075219 + 167000 29.951524 888 -0 2.6232299 + 168000 30.233181 888 -0 2.6389378 + 169000 30.516798 888 -0 2.6546458 + 170000 30.818897 1000 -0 2.6703538 + 171000 31.215403 1000 -0 2.6860617 + 172000 31.528362 1000 -0 2.7017697 + 173000 31.844759 1000 -0 2.7174776 + 174000 32.159787 1000 -0 2.7331856 + 175000 32.482605 1000 -0 2.7488936 + 176000 32.798004 1000 -0 2.7646015 + 177000 33.112668 1000 -0 2.7803095 + 178000 33.429501 1000 -0 2.7960175 + 179000 33.74646 1000 -0 2.8117254 + 180000 34.059172 1000 -0 2.8274334 + 181000 34.381226 1000 -0 2.8431414 + 182000 34.697465 1000 -0 2.8588493 + 183000 35.008892 1000 -0 2.8745573 + 184000 35.332856 1000 -0 2.8902652 + 185000 35.650733 1000 -0 2.9059732 + 186000 35.971328 1000 -0 2.9216812 + 187000 36.298046 1000 -0 2.9373891 + 188000 36.622634 1000 -0 2.9530971 + 189000 36.945728 1000 -0 2.9688051 + 190000 37.268801 1000 -0 2.984513 + 191000 37.592615 1000 -0 3.000221 + 192000 37.915197 1000 -0 3.0159289 + 193000 38.226138 1000 -0 3.0316369 + 194000 38.534735 1000 -0 3.0473449 + 195000 38.844711 1000 -0 3.0630528 + 196000 39.159518 1000 -0 3.0787608 + 197000 39.474235 1000 -0 3.0944688 + 198000 39.786609 1000 -0 3.1101767 + 199000 40.10213 1000 -0 3.1258847 + 200000 40.421226 1000 -0 3.1415927 +Loop time of 40.4213 on 1 procs for 200000 steps with 1000 atoms + +Performance: 20199.903 tau/day, 4947.886 timesteps/s, 4.948 Matom-step/s +99.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 3.6681 | 3.6681 | 3.6681 | 0.0 | 9.07 +Neigh | 0.050194 | 0.050194 | 0.050194 | 0.0 | 0.12 +Comm | 0.53308 | 0.53308 | 0.53308 | 0.0 | 1.32 +Output | 0.0071363 | 0.0071363 | 0.0071363 | 0.0 | 0.02 +Modify | 35.563 | 35.563 | 35.563 | 0.0 | 87.98 +Other | | 0.5999 | | | 1.48 + +Nlocal: 1000 ave 1000 max 1000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 197 ave 197 max 197 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 3812 ave 3812 max 3812 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 3812 +Ave neighs/atom = 3.812 +Neighbor list builds = 205 +Dangerous builds = 0 +unfix ins +run 200000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 11.89 | 11.89 | 11.89 Mbytes + Step CPU Atoms KinEng v_theta + 200000 0 1000 1.0188213 3.1415927 + 201000 0.31745969 1000 1.0237918 3.1573006 + 202000 0.6315036 1000 1.0177231 3.1730086 + 203000 0.9480314 1000 1.0127096 3.1887165 + 204000 1.2572431 1000 1.0084386 3.2044245 + 205000 1.5683429 1000 0.9957528 3.2201325 + 206000 1.8801922 1000 1.0003921 3.2358404 + 207000 2.1905883 1000 0.99358387 3.2515484 + 208000 2.4948426 1000 0.99103748 3.2672564 + 209000 2.8195665 1000 0.98488628 3.2829643 + 210000 3.1420952 1000 0.98305824 3.2986723 + 211000 3.4618849 1000 0.97185818 3.3143802 + 212000 3.7910078 1000 0.96191966 3.3300882 + 213000 4.1184009 1000 0.95953159 3.3457962 + 214000 4.4491355 1000 0.95307268 3.3615041 + 215000 4.7782398 1000 0.95612155 3.3772121 + 216000 5.1088177 1000 0.96582166 3.3929201 + 217000 5.4376503 1000 0.96124408 3.408628 + 218000 5.7707229 1000 0.95705813 3.424336 + 219000 6.1055922 1000 0.9660222 3.440044 + 220000 6.4418056 1000 0.97539486 3.4557519 + 221000 6.7755181 1000 0.97919396 3.4714599 + 222000 7.104521 1000 0.97448171 3.4871678 + 223000 7.4368025 1000 0.95742917 3.5028758 + 224000 7.7623405 1000 0.94218245 3.5185838 + 225000 8.0932682 1000 0.93056484 3.5342917 + 226000 8.4217598 1000 0.92009109 3.5499997 + 227000 8.747426 1000 0.90684871 3.5657077 + 228000 9.0818038 1000 0.91719046 3.5814156 + 229000 9.4125504 1000 0.92681746 3.5971236 + 230000 9.7439963 1000 0.9195493 3.6128316 + 231000 10.075499 1000 0.93275667 3.6285395 + 232000 10.404017 1000 0.9494565 3.6442475 + 233000 10.774786 1000 0.95036607 3.6599554 + 234000 11.158713 1000 0.9596283 3.6756634 + 235000 11.566878 1000 0.98314341 3.6913714 + 236000 11.977294 1000 0.98115865 3.7070793 + 237000 12.347191 1000 0.9723466 3.7227873 + 238000 12.686388 1000 0.95267817 3.7384953 + 239000 13.031631 1000 0.92661956 3.7542032 + 240000 13.451121 1000 0.92237207 3.7699112 + 241000 13.855031 1000 0.91301732 3.7856191 + 242000 14.272001 1000 0.90488754 3.8013271 + 243000 14.632631 1000 0.90430417 3.8170351 + 244000 14.97608 1000 0.90179051 3.832743 + 245000 15.419173 1000 0.89658897 3.848451 + 246000 15.903699 1000 0.89583335 3.864159 + 247000 16.312374 1000 0.89409138 3.8798669 + 248000 16.660472 1000 0.89948364 3.8955749 + 249000 17.063147 1000 0.90196936 3.9112829 + 250000 17.423622 1000 0.89616943 3.9269908 + 251000 17.76439 1000 0.87816303 3.9426988 + 252000 18.103828 1000 0.86705341 3.9584067 + 253000 18.454644 1000 0.84494344 3.9741147 + 254000 18.876297 1000 0.81541663 3.9898227 + 255000 19.264851 1000 0.80071805 4.0055306 + 256000 19.669757 1000 0.80290754 4.0212386 + 257000 20.066097 1000 0.80000385 4.0369466 + 258000 20.481516 1000 0.80379277 4.0526545 + 259000 20.851537 1000 0.81091684 4.0683625 + 260000 21.246226 1000 0.80124855 4.0840704 + 261000 21.586832 1000 0.79581606 4.0997784 + 262000 21.968726 1000 0.78415946 4.1154864 + 263000 22.388474 1000 0.78837276 4.1311943 + 264000 22.76238 1000 0.78962435 4.1469023 + 265000 23.13787 1000 0.79388706 4.1626103 + 266000 23.470742 1000 0.80484385 4.1783182 + 267000 23.801402 1000 0.79505699 4.1940262 + 268000 24.14266 1000 0.78663829 4.2097342 + 269000 24.545281 1000 0.77557297 4.2254421 + 270000 24.886776 1000 0.76992342 4.2411501 + 271000 25.218744 1000 0.75955867 4.256858 + 272000 25.549898 1000 0.76207709 4.272566 + 273000 25.882738 1000 0.76891185 4.288274 + 274000 26.212384 1000 0.77380617 4.3039819 + 275000 26.540612 1000 0.77349795 4.3196899 + 276000 26.869636 1000 0.77559636 4.3353979 + 277000 27.200449 1000 0.76806972 4.3511058 + 278000 27.548549 1000 0.76223861 4.3668138 + 279000 27.883681 1000 0.76306533 4.3825218 + 280000 28.221552 1000 0.76369569 4.3982297 + 281000 28.558479 1000 0.75945303 4.4139377 + 282000 28.892758 1000 0.75872312 4.4296456 + 283000 29.224927 1000 0.75354345 4.4453536 + 284000 29.565477 1000 0.74433058 4.4610616 + 285000 29.914679 1000 0.7349005 4.4767695 + 286000 30.265305 1000 0.73182808 4.4924775 + 287000 30.607982 1000 0.73334122 4.5081855 + 288000 30.94168 1000 0.73308623 4.5238934 + 289000 31.276062 1000 0.73620818 4.5396014 + 290000 31.614934 1000 0.73906492 4.5553093 + 291000 31.959782 1000 0.73921306 4.5710173 + 292000 32.296279 1000 0.73919766 4.5867253 + 293000 32.615262 1000 0.75148875 4.6024332 + 294000 32.93925 1000 0.76390126 4.6181412 + 295000 33.266316 1000 0.76421084 4.6338492 + 296000 33.591115 1000 0.78124272 4.6495571 + 297000 33.924279 1000 0.78526224 4.6652651 + 298000 34.256265 1000 0.78279226 4.6809731 + 299000 34.584382 1000 0.78390001 4.696681 + 300000 34.910629 1000 0.78017239 4.712389 + 301000 35.233205 1000 0.77432653 4.7280969 + 302000 35.55956 1000 0.7627792 4.7438049 + 303000 35.885484 1000 0.75222273 4.7595129 + 304000 36.205453 1000 0.73765921 4.7752208 + 305000 36.525101 1000 0.72338298 4.7909288 + 306000 36.845236 1000 0.71944975 4.8066368 + 307000 37.168044 1000 0.71547274 4.8223447 + 308000 37.491196 1000 0.71267737 4.8380527 + 309000 37.827079 1000 0.70506173 4.8537606 + 310000 38.168049 1000 0.70685173 4.8694686 + 311000 38.504282 1000 0.70327488 4.8851766 + 312000 38.846152 1000 0.69732519 4.9008845 + 313000 39.191958 1000 0.70137823 4.9165925 + 314000 39.532177 1000 0.70613806 4.9323005 + 315000 39.876728 1000 0.70981591 4.9480084 + 316000 40.225244 1000 0.72246602 4.9637164 + 317000 40.573681 1000 0.71946499 4.9794244 + 318000 40.918134 1000 0.73275857 4.9951323 + 319000 41.261914 1000 0.74357547 5.0108403 + 320000 41.607984 1000 0.74138038 5.0265482 + 321000 41.957822 1000 0.73285846 5.0422562 + 322000 42.30176 1000 0.72990718 5.0579642 + 323000 42.644077 1000 0.72024459 5.0736721 + 324000 42.985509 1000 0.71052943 5.0893801 + 325000 43.323921 1000 0.69560261 5.1050881 + 326000 43.664945 1000 0.69939398 5.120796 + 327000 44.004741 1000 0.71331291 5.136504 + 328000 44.347204 1000 0.72181082 5.152212 + 329000 44.689866 1000 0.72534262 5.1679199 + 330000 45.055673 1000 0.73874292 5.1836279 + 331000 45.400501 1000 0.74135464 5.1993358 + 332000 45.743289 1000 0.73578005 5.2150438 + 333000 46.087061 1000 0.72662516 5.2307518 + 334000 46.427231 1000 0.72030125 5.2464597 + 335000 46.767813 1000 0.72801784 5.2621677 + 336000 47.108619 1000 0.73020974 5.2778757 + 337000 47.44666 1000 0.7344527 5.2935836 + 338000 47.784653 1000 0.73826638 5.3092916 + 339000 48.124114 1000 0.74079395 5.3249995 + 340000 48.463953 1000 0.74030413 5.3407075 + 341000 48.804616 1000 0.74815855 5.3564155 + 342000 49.143226 1000 0.75762011 5.3721234 + 343000 49.482788 1000 0.76311094 5.3878314 + 344000 49.822597 1000 0.76394459 5.4035394 + 345000 50.162186 1000 0.75550163 5.4192473 + 346000 50.496689 1000 0.7594991 5.4349553 + 347000 50.831695 1000 0.76650932 5.4506633 + 348000 51.167201 1000 0.76750437 5.4663712 + 349000 51.501847 1000 0.77084248 5.4820792 + 350000 51.841805 1000 0.76487701 5.4977871 + 351000 52.179907 1000 0.76870148 5.5134951 + 352000 52.517605 1000 0.77597853 5.5292031 + 353000 52.850047 1000 0.77929348 5.544911 + 354000 53.182408 1000 0.7744937 5.560619 + 355000 53.512931 1000 0.76114616 5.576327 + 356000 53.845782 1000 0.75392687 5.5920349 + 357000 54.178336 1000 0.74858889 5.6077429 + 358000 54.514517 1000 0.75630978 5.6234508 + 359000 54.850783 1000 0.75781107 5.6391588 + 360000 55.183323 1000 0.75613713 5.6548668 + 361000 55.518704 1000 0.75250391 5.6705747 + 362000 55.851425 1000 0.75790051 5.6862827 + 363000 56.212376 1000 0.75283475 5.7019907 + 364000 56.542027 1000 0.7431151 5.7176986 + 365000 56.874325 1000 0.73274509 5.7334066 + 366000 57.208926 1000 0.72261631 5.7491146 + 367000 57.596495 1000 0.71279773 5.7648225 + 368000 58.007863 1000 0.70452113 5.7805305 + 369000 58.346944 1000 0.69777381 5.7962384 + 370000 58.686215 1000 0.69698007 5.8119464 + 371000 59.030366 1000 0.69322062 5.8276544 + 372000 59.368607 1000 0.67728454 5.8433623 + 373000 59.704376 1000 0.67335006 5.8590703 + 374000 60.044772 1000 0.66920493 5.8747783 + 375000 60.382875 1000 0.65614401 5.8904862 + 376000 60.72002 1000 0.65874131 5.9061942 + 377000 61.058554 1000 0.67072465 5.9219022 + 378000 61.400078 1000 0.68118419 5.9376101 + 379000 61.748931 1000 0.68481865 5.9533181 + 380000 62.098203 1000 0.68840839 5.969026 + 381000 62.444961 1000 0.69447162 5.984734 + 382000 62.797286 1000 0.69881397 6.000442 + 383000 63.154921 1000 0.69610171 6.0161499 + 384000 63.508448 1000 0.70059329 6.0318579 + 385000 63.857115 1000 0.71085103 6.0475659 + 386000 64.207915 1000 0.71532684 6.0632738 + 387000 64.561127 1000 0.72968624 6.0789818 + 388000 64.939826 1000 0.74729894 6.0946897 + 389000 65.284635 1000 0.76268063 6.1103977 + 390000 65.631752 1000 0.77170089 6.1261057 + 391000 65.981566 1000 0.77212462 6.1418136 + 392000 66.328406 1000 0.773784 6.1575216 + 393000 66.655905 1000 0.7731096 6.1732296 + 394000 66.993751 1000 0.77245259 6.1889375 + 395000 67.322842 1000 0.76912533 6.2046455 + 396000 67.647532 1000 0.76397972 6.2203535 + 397000 67.977448 1000 0.75736166 6.2360614 + 398000 68.310064 1000 0.75287599 6.2517694 + 399000 68.635966 1000 0.75354368 6.2674773 + 400000 68.963492 1000 0.75582397 6.2831853 +Loop time of 68.9635 on 1 procs for 200000 steps with 1000 atoms + +Performance: 11839.683 tau/day, 2900.084 timesteps/s, 2.900 Matom-step/s +99.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 11.238 | 11.238 | 11.238 | 0.0 | 16.30 +Neigh | 0.077817 | 0.077817 | 0.077817 | 0.0 | 0.11 +Comm | 1.5441 | 1.5441 | 1.5441 | 0.0 | 2.24 +Output | 0.0082341 | 0.0082341 | 0.0082341 | 0.0 | 0.01 +Modify | 55.304 | 55.304 | 55.304 | 0.0 | 80.19 +Other | | 0.7909 | | | 1.15 + +Nlocal: 1000 ave 1000 max 1000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 278 ave 278 max 278 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 5072 ave 5072 max 5072 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 5072 +Ave neighs/atom = 5.072 +Neighbor list builds = 166 +Dangerous builds = 0 +Total wall time: 0:01:49 diff --git a/examples/granregion/log.16Mar23.granregion.mixer.g++.4 b/examples/granregion/log.16Mar23.granregion.mixer.g++.4 new file mode 100644 index 0000000000..b601f3f13a --- /dev/null +++ b/examples/granregion/log.16Mar23.granregion.mixer.g++.4 @@ -0,0 +1,634 @@ +LAMMPS (8 Feb 2023) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +variable name string mixer + +thermo_modify flush yes +variable seed equal 14314 + +############################################### +# Particle parameters +################################################ + +variable rlo equal 0.3 +variable rhi equal 0.6 +variable dlo equal 2.0*${rlo} +variable dlo equal 2.0*0.3 +variable dhi equal 2.0*${rhi} +variable dhi equal 2.0*0.6 +variable skin equal ${rhi} +variable skin equal 0.6 + +variable coeffRes equal 0.1 +variable coeffFric equal 0.5 + +variable kn equal 10^5 +variable kt equal 0.2*${kn} +variable kt equal 0.2*100000 + +variable gravity equal 1.0 +variable density equal 1.0 + +variable min_mass equal ${density}*4.0/3.0*PI*${rlo}*${rlo}*${rlo} +variable min_mass equal 1*4.0/3.0*PI*${rlo}*${rlo}*${rlo} +variable min_mass equal 1*4.0/3.0*PI*0.3*${rlo}*${rlo} +variable min_mass equal 1*4.0/3.0*PI*0.3*0.3*${rlo} +variable min_mass equal 1*4.0/3.0*PI*0.3*0.3*0.3 +variable a equal (-2.0*log(${coeffRes})/PI)^2 +variable a equal (-2.0*log(0.1)/PI)^2 +variable gamma_n equal sqrt($a*2*${kn}/${min_mass}/(1+0.25*$a)) +variable gamma_n equal sqrt(0.405284734569351*2*${kn}/${min_mass}/(1+0.25*$a)) +variable gamma_n equal sqrt(0.405284734569351*2*100000/${min_mass}/(1+0.25*$a)) +variable gamma_n equal sqrt(0.405284734569351*2*100000/0.113097335529233/(1+0.25*$a)) +variable gamma_n equal sqrt(0.405284734569351*2*100000/0.113097335529233/(1+0.25*0.405284734569351)) +variable gamma_t equal ${gamma_n}*0.5 +variable gamma_t equal 806.699778405191*0.5 + +variable tcol equal PI/sqrt(2*${kn}/${min_mass}-${gamma_n}/4.0) +variable tcol equal PI/sqrt(2*100000/${min_mass}-${gamma_n}/4.0) +variable tcol equal PI/sqrt(2*100000/0.113097335529233-${gamma_n}/4.0) +variable tcol equal PI/sqrt(2*100000/0.113097335529233-806.699778405191/4.0) + +variable dt equal ${tcol}*0.02 +variable dt equal 0.00236257621510454*0.02 +timestep ${dt} +timestep 4.72515243020908e-05 + +############################################### + +variable dumpfreq equal 1000 +variable logfreq equal 1000 + +newton on +atom_style sphere + +boundary p p f + +region boxreg block 0 20 0 20 0 20 +create_box 1 boxreg +Created orthogonal box = (0 0 0) to (20 20 20) + 1 by 2 by 2 MPI processor grid + +pair_style gran/hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 +pair_style gran/hertz/history 100000 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 +pair_style gran/hertz/history 100000 20000 ${gamma_n} ${gamma_t} ${coeffFric} 1 +pair_style gran/hertz/history 100000 20000 806.699778405191 ${gamma_t} ${coeffFric} 1 +pair_style gran/hertz/history 100000 20000 806.699778405191 403.349889202595 ${coeffFric} 1 +pair_style gran/hertz/history 100000 20000 806.699778405191 403.349889202595 0.5 1 +pair_coeff * * + +neighbor ${skin} multi +neighbor 0.6 multi +thermo ${logfreq} +thermo 1000 + +comm_style brick +comm_modify mode multi group all vel yes +balance 1.1 shift xyz 20 1.1 +Balancing ... +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 0 + ghost atom cutoff = 0 + binsize = 20, bins = 1 1 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair gran/hertz/history, perpetual + attributes: half, newton on, size, history + pair build: half/size/multi/newton + stencil: half/multi/3d + bin: multi +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:210) +fix bal all balance 10000 1.1 shift xyz 20 1.01 + +####################### Options specific to pouring ######################### + +region insreg cylinder z 10 10 8 10 18 side in units box +region cylreg cylinder z 10 10 10 0 20 side in units box + +variable theta equal (step/400000)*2*PI + +region b1 block 2 18 9 11 0 4 side out rotate v_theta 10 10 0 0 0 1 units box +region b2 block 9 11 2 18 0 3.99999 side out rotate v_theta 10 10 0 0 0 1 units box + +region mixer intersect 3 cylreg b1 b2 side in + +fix grav all gravity ${gravity} vector 0 0 -1 +fix grav all gravity 1 vector 0 0 -1 +fix 1 all nve/sphere + +fix mixwall all wall/gran/region hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region mixer +fix mixwall all wall/gran/region hertz/history 100000 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region mixer +fix mixwall all wall/gran/region hertz/history 100000 20000 ${gamma_n} ${gamma_t} ${coeffFric} 1 region mixer +fix mixwall all wall/gran/region hertz/history 100000 20000 806.699778405191 ${gamma_t} ${coeffFric} 1 region mixer +fix mixwall all wall/gran/region hertz/history 100000 20000 806.699778405191 403.349889202595 ${coeffFric} 1 region mixer +fix mixwall all wall/gran/region hertz/history 100000 20000 806.699778405191 403.349889202595 0.5 1 region mixer + +fix ins all pour 1000 1 42424 region insreg diam range ${dlo} ${dhi} dens ${density} ${density} +fix ins all pour 1000 1 42424 region insreg diam range 0.6 ${dhi} dens ${density} ${density} +fix ins all pour 1000 1 42424 region insreg diam range 0.6 1.2 dens ${density} ${density} +fix ins all pour 1000 1 42424 region insreg diam range 0.6 1.2 dens 1 ${density} +fix ins all pour 1000 1 42424 region insreg diam range 0.6 1.2 dens 1 1 +Particle insertion: 444 every 84653 steps, 1000 by step 169307 + +#dump 1 all custom ${dumpfreq} ${name}_pour.dump # id type mass diameter x y z + +#dump 2 all image 4000 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 zoom 1.5 # box no 0.0 axes no 0.0 0.0 +#dump_modify 2 pad 6 + +thermo_style custom step cpu atoms ke v_theta +WARNING: New thermo_style command, previous thermo_modify settings will be lost (src/output.cpp:895) +thermo_modify flush yes lost warn + +run 200000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- neighbor multi command: doi:10.1016/j.cpc.2008.03.005, doi:10.1007/s40571-020-00361-2 + +@Article{Intveld08, + author = {in 't Veld, P. J. and S. J.~Plimpton and G. S. Grest}, + title = {Accurate and Efficient Methods for Modeling Colloidal + Mixtures in an Explicit Solvent using Molecular Dynamics}, + journal = {Comput.\ Phys.\ Commut.}, + year = 2008, + volume = 179, + pages = {320--329} +} + +@article{Shire2020, + author = {Shire, Tom and Hanley, Kevin J. and Stratford, Kevin}, + title = {{DEM} Simulations of Polydisperse Media: Efficient Contact + Detection Applied to Investigate the Quasi-Static Limit}, + journal = {Computational Particle Mechanics}, + year = {2020} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 5.816 | 5.816 | 5.816 Mbytes + Step CPU Atoms KinEng v_theta + 0 0 0 -0 0 + 1000 0.069039547 444 -0 0.015707963 + 2000 0.12867095 444 -0 0.031415927 + 3000 0.18791426 444 -0 0.04712389 + 4000 0.24614388 444 -0 0.062831853 + 5000 0.30404486 444 -0 0.078539816 + 6000 0.36105446 444 -0 0.09424778 + 7000 0.41713358 444 -0 0.10995574 + 8000 0.47282802 444 -0 0.12566371 + 9000 0.52742586 444 -0 0.14137167 + 10000 0.58233488 444 -0 0.15707963 + 11000 0.62155506 444 -0 0.1727876 + 12000 0.6605457 444 -0 0.18849556 + 13000 0.69971591 444 -0 0.20420352 + 14000 0.73821845 444 -0 0.21991149 + 15000 0.77860211 444 -0 0.23561945 + 16000 0.8188072 444 -0 0.25132741 + 17000 0.85992964 444 -0 0.26703538 + 18000 0.9008443 444 -0 0.28274334 + 19000 0.94216466 444 -0 0.2984513 + 20000 0.98508697 444 -0 0.31415927 + 21000 1.0241468 444 -0 0.32986723 + 22000 1.0606191 444 -0 0.34557519 + 23000 1.0972735 444 -0 0.36128316 + 24000 1.134726 444 -0 0.37699112 + 25000 1.1723693 444 -0 0.39269908 + 26000 1.211349 444 -0 0.40840704 + 27000 1.250291 444 -0 0.42411501 + 28000 1.2906408 444 -0 0.43982297 + 29000 1.3307315 444 -0 0.45553093 + 30000 1.3704867 444 -0 0.4712389 + 31000 1.4064392 444 -0 0.48694686 + 32000 1.4426955 444 -0 0.50265482 + 33000 1.4789666 444 -0 0.51836279 + 34000 1.5163037 444 -0 0.53407075 + 35000 1.5534135 444 -0 0.54977871 + 36000 1.5907054 444 -0 0.56548668 + 37000 1.6296055 444 -0 0.58119464 + 38000 1.6690167 444 -0 0.5969026 + 39000 1.7082024 444 -0 0.61261057 + 40000 1.7476796 444 -0 0.62831853 + 41000 1.7847465 444 -0 0.64402649 + 42000 1.8216975 444 -0 0.65973446 + 43000 1.8594424 444 -0 0.67544242 + 44000 1.8975401 444 -0 0.69115038 + 45000 1.9361216 444 -0 0.70685835 + 46000 1.9764821 444 -0 0.72256631 + 47000 2.0221252 444 -0 0.73827427 + 48000 2.0635337 444 -0 0.75398224 + 49000 2.104472 444 -0 0.7696902 + 50000 2.1447842 444 -0 0.78539816 + 51000 2.1808558 444 -0 0.80110613 + 52000 2.2180542 444 -0 0.81681409 + 53000 2.2547243 444 -0 0.83252205 + 54000 2.2934546 444 -0 0.84823002 + 55000 2.3321909 444 -0 0.86393798 + 56000 2.3732179 444 -0 0.87964594 + 57000 2.4141133 444 -0 0.89535391 + 58000 2.455667 444 -0 0.91106187 + 59000 2.4983196 444 -0 0.92676983 + 60000 2.5415086 444 -0 0.9424778 + 61000 2.581342 444 -0 0.95818576 + 62000 2.6215029 444 -0 0.97389372 + 63000 2.6633884 444 -0 0.98960169 + 64000 2.7048848 444 -0 1.0053096 + 65000 2.7497607 444 -0 1.0210176 + 66000 2.7952373 444 -0 1.0367256 + 67000 2.8399748 444 -0 1.0524335 + 68000 2.8851806 444 -0 1.0681415 + 69000 2.9303317 444 -0 1.0838495 + 70000 2.9815632 444 -0 1.0995574 + 71000 3.0257986 444 -0 1.1152654 + 72000 3.068788 444 -0 1.1309734 + 73000 3.1130125 444 -0 1.1466813 + 74000 3.1558178 444 -0 1.1623893 + 75000 3.1993327 444 -0 1.1780972 + 76000 3.2444469 444 -0 1.1938052 + 77000 3.2901781 444 -0 1.2095132 + 78000 3.3356302 444 -0 1.2252211 + 79000 3.3814834 444 -0 1.2409291 + 80000 3.4290631 444 -0 1.2566371 + 81000 3.4715671 444 -0 1.272345 + 82000 3.5136342 444 -0 1.288053 + 83000 3.5566281 444 -0 1.303761 + 84000 3.6001405 444 -0 1.3194689 + 85000 3.6709788 888 -0 1.3351769 + 86000 3.7652387 888 -0 1.3508848 + 87000 3.8618109 888 -0 1.3665928 + 88000 3.9546406 888 -0 1.3823008 + 89000 4.0475587 888 -0 1.3980087 + 90000 4.1424919 888 -0 1.4137167 + 91000 4.2114594 888 -0 1.4294247 + 92000 4.2842588 888 -0 1.4451326 + 93000 4.3524161 888 -0 1.4608406 + 94000 4.4204131 888 -0 1.4765485 + 95000 4.4886628 888 -0 1.4922565 + 96000 4.5588224 888 -0 1.5079645 + 97000 4.6304943 888 -0 1.5236724 + 98000 4.7018695 888 -0 1.5393804 + 99000 4.774147 888 -0 1.5550884 + 100000 4.847776 888 -0 1.5707963 + 101000 4.9173562 888 -0 1.5865043 + 102000 4.9886499 888 -0 1.6022123 + 103000 5.0618801 888 -0 1.6179202 + 104000 5.1331411 888 -0 1.6336282 + 105000 5.205209 888 -0 1.6493361 + 106000 5.2795148 888 -0 1.6650441 + 107000 5.3523346 888 -0 1.6807521 + 108000 5.4263886 888 -0 1.69646 + 109000 5.5029416 888 -0 1.712168 + 110000 5.5807033 888 -0 1.727876 + 111000 5.6574852 888 -0 1.7435839 + 112000 5.7320356 888 -0 1.7592919 + 113000 5.8097178 888 -0 1.7749998 + 114000 5.8858974 888 -0 1.7907078 + 115000 5.9636528 888 -0 1.8064158 + 116000 6.0421783 888 -0 1.8221237 + 117000 6.12052 888 -0 1.8378317 + 118000 6.2016349 888 -0 1.8535397 + 119000 6.2834058 888 -0 1.8692476 + 120000 6.3644485 888 -0 1.8849556 + 121000 6.4398727 888 -0 1.9006636 + 122000 6.5152081 888 -0 1.9163715 + 123000 6.5916482 888 -0 1.9320795 + 124000 6.6694407 888 -0 1.9477874 + 125000 6.7474201 888 -0 1.9634954 + 126000 6.8270768 888 -0 1.9792034 + 127000 6.9060885 888 -0 1.9949113 + 128000 6.9847809 888 -0 2.0106193 + 129000 7.0660497 888 -0 2.0263273 + 130000 7.1468939 888 -0 2.0420352 + 131000 7.2275386 888 -0 2.0577432 + 132000 7.3103515 888 -0 2.0734512 + 133000 7.3904073 888 -0 2.0891591 + 134000 7.4711333 888 -0 2.1048671 + 135000 7.5529594 888 -0 2.120575 + 136000 7.6399017 888 -0 2.136283 + 137000 7.7263891 888 -0 2.151991 + 138000 7.815523 888 -0 2.1676989 + 139000 7.9041642 888 -0 2.1834069 + 140000 7.9950145 888 -0 2.1991149 + 141000 8.0776291 888 -0 2.2148228 + 142000 8.1584715 888 -0 2.2305308 + 143000 8.2409653 888 -0 2.2462387 + 144000 8.326064 888 -0 2.2619467 + 145000 8.4107211 888 -0 2.2776547 + 146000 8.4946153 888 -0 2.2933626 + 147000 8.5784663 888 -0 2.3090706 + 148000 8.6648861 888 -0 2.3247786 + 149000 8.7503472 888 -0 2.3404865 + 150000 8.8378801 888 -0 2.3561945 + 151000 8.9221381 888 -0 2.3719025 + 152000 9.0101516 888 -0 2.3876104 + 153000 9.0982387 888 -0 2.4033184 + 154000 9.1851912 888 -0 2.4190263 + 155000 9.2744741 888 -0 2.4347343 + 156000 9.3697509 888 -0 2.4504423 + 157000 9.4640354 888 -0 2.4661502 + 158000 9.5594845 888 -0 2.4818582 + 159000 9.6572972 888 -0 2.4975662 + 160000 9.7543656 888 -0 2.5132741 + 161000 9.8485073 888 -0 2.5289821 + 162000 9.9446493 888 -0 2.54469 + 163000 10.040013 888 -0 2.560398 + 164000 10.137116 888 -0 2.576106 + 165000 10.23506 888 -0 2.5918139 + 166000 10.335537 888 -0 2.6075219 + 167000 10.436607 888 -0 2.6232299 + 168000 10.537429 888 -0 2.6389378 + 169000 10.642458 888 -0 2.6546458 + 170000 10.74705 1000 -0 2.6703538 + 171000 10.857156 1000 -0 2.6860617 + 172000 10.965939 1000 -0 2.7017697 + 173000 11.076233 1000 -0 2.7174776 + 174000 11.184172 1000 -0 2.7331856 + 175000 11.293846 1000 -0 2.7488936 + 176000 11.402493 1000 -0 2.7646015 + 177000 11.513895 1000 -0 2.7803095 + 178000 11.625438 1000 -0 2.7960175 + 179000 11.738308 1000 -0 2.8117254 + 180000 11.854793 1000 -0 2.8274334 + 181000 11.968344 1000 -0 2.8431414 + 182000 12.082268 1000 -0 2.8588493 + 183000 12.196356 1000 -0 2.8745573 + 184000 12.313359 1000 -0 2.8902652 + 185000 12.429559 1000 -0 2.9059732 + 186000 12.545853 1000 -0 2.9216812 + 187000 12.661447 1000 -0 2.9373891 + 188000 12.777355 1000 -0 2.9530971 + 189000 12.894856 1000 -0 2.9688051 + 190000 13.0103 1000 -0 2.984513 + 191000 13.126221 1000 -0 3.000221 + 192000 13.241507 1000 -0 3.0159289 + 193000 13.356198 1000 -0 3.0316369 + 194000 13.468168 1000 -0 3.0473449 + 195000 13.582232 1000 -0 3.0630528 + 196000 13.700446 1000 -0 3.0787608 + 197000 13.816948 1000 -0 3.0944688 + 198000 13.934106 1000 -0 3.1101767 + 199000 14.053497 1000 -0 3.1258847 + 200000 14.171799 1000 -0 3.1415927 +Loop time of 14.1719 on 4 procs for 200000 steps with 1000 atoms + +Performance: 57614.644 tau/day, 14112.479 timesteps/s, 14.112 Matom-step/s +99.1% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.46468 | 0.82686 | 1.2428 | 39.9 | 5.83 +Neigh | 0.010644 | 0.013047 | 0.015567 | 2.0 | 0.09 +Comm | 2.2447 | 2.716 | 3.2525 | 28.2 | 19.16 +Output | 0.0040193 | 0.0057101 | 0.0084742 | 2.2 | 0.04 +Modify | 7.9913 | 8.6193 | 9.394 | 20.9 | 60.82 +Other | | 1.991 | | | 14.05 + +Nlocal: 250 ave 266 max 237 min +Histogram: 1 0 0 1 1 0 0 0 0 1 +Nghost: 294 ave 335 max 253 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 960.25 ave 1454 max 492 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 3841 +Ave neighs/atom = 3.841 +Neighbor list builds = 201 +Dangerous builds = 0 +unfix ins +run 200000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 11.87 | 11.89 | 11.9 Mbytes + Step CPU Atoms KinEng v_theta + 200000 0 1000 1.0060272 3.1415927 + 201000 0.11023112 1000 1.0117513 3.1573006 + 202000 0.22297119 1000 1.0121624 3.1730086 + 203000 0.33090251 1000 1.0099707 3.1887165 + 204000 0.43921623 1000 1.0099624 3.2044245 + 205000 0.54813391 1000 1.009398 3.2201325 + 206000 0.6597641 1000 0.99686298 3.2358404 + 207000 0.76806828 1000 0.96520673 3.2515484 + 208000 0.88217705 1000 0.96521294 3.2672564 + 209000 0.99810181 1000 0.96501099 3.2829643 + 210000 1.1113988 1000 0.96426624 3.2986723 + 211000 1.2252752 1000 0.9564358 3.3143802 + 212000 1.3381064 1000 0.95482019 3.3300882 + 213000 1.4513852 1000 0.9446233 3.3457962 + 214000 1.5630713 1000 0.92461651 3.3615041 + 215000 1.6785702 1000 0.92106646 3.3772121 + 216000 1.7937182 1000 0.92058667 3.3929201 + 217000 1.9092992 1000 0.91797493 3.408628 + 218000 2.0251567 1000 0.91351081 3.424336 + 219000 2.1419482 1000 0.91991749 3.440044 + 220000 2.258391 1000 0.92943198 3.4557519 + 221000 2.3747328 1000 0.93176684 3.4714599 + 222000 2.4930355 1000 0.92625008 3.4871678 + 223000 2.6111794 1000 0.9216243 3.5028758 + 224000 2.729971 1000 0.92332955 3.5185838 + 225000 2.8489286 1000 0.91963985 3.5342917 + 226000 2.97003 1000 0.91913679 3.5499997 + 227000 3.0874646 1000 0.92381436 3.5657077 + 228000 3.2089543 1000 0.93085242 3.5814156 + 229000 3.3281962 1000 0.92872221 3.5971236 + 230000 3.4476271 1000 0.92536664 3.6128316 + 231000 3.5681706 1000 0.92953138 3.6285395 + 232000 3.6911427 1000 0.93937257 3.6442475 + 233000 3.8115833 1000 0.95916002 3.6599554 + 234000 3.9301977 1000 0.96652709 3.6756634 + 235000 4.0481963 1000 0.96753364 3.6913714 + 236000 4.1684171 1000 0.96096249 3.7070793 + 237000 4.2874672 1000 0.97028893 3.7227873 + 238000 4.4072896 1000 0.95323014 3.7384953 + 239000 4.5292898 1000 0.94143454 3.7542032 + 240000 4.6529563 1000 0.9334569 3.7699112 + 241000 4.7701737 1000 0.93340822 3.7856191 + 242000 4.8891772 1000 0.93517762 3.8013271 + 243000 5.0078759 1000 0.92632745 3.8170351 + 244000 5.1260291 1000 0.91858996 3.832743 + 245000 5.2472736 1000 0.90006015 3.848451 + 246000 5.363907 1000 0.8850116 3.864159 + 247000 5.4838317 1000 0.87807775 3.8798669 + 248000 5.6039445 1000 0.85981326 3.8955749 + 249000 5.7262584 1000 0.85764597 3.9112829 + 250000 5.8488174 1000 0.86748856 3.9269908 + 251000 5.9665578 1000 0.85889952 3.9426988 + 252000 6.084021 1000 0.84476495 3.9584067 + 253000 6.203987 1000 0.84094974 3.9741147 + 254000 6.3221073 1000 0.82638568 3.9898227 + 255000 6.441682 1000 0.81449512 4.0055306 + 256000 6.5625653 1000 0.80130582 4.0212386 + 257000 6.6860772 1000 0.79100139 4.0369466 + 258000 6.8117355 1000 0.78531082 4.0526545 + 259000 6.9379959 1000 0.7678277 4.0683625 + 260000 7.0606907 1000 0.74798797 4.0840704 + 261000 7.1846943 1000 0.73902576 4.0997784 + 262000 7.3084818 1000 0.73326104 4.1154864 + 263000 7.4304296 1000 0.7370234 4.1311943 + 264000 7.5536012 1000 0.73817854 4.1469023 + 265000 7.6792395 1000 0.74675482 4.1626103 + 266000 7.8061753 1000 0.7480056 4.1783182 + 267000 7.9331093 1000 0.748671 4.1940262 + 268000 8.0593048 1000 0.74430146 4.2097342 + 269000 8.1888555 1000 0.73246199 4.2254421 + 270000 8.3184687 1000 0.71666285 4.2411501 + 271000 8.4489277 1000 0.69699332 4.256858 + 272000 8.5822473 1000 0.69724726 4.272566 + 273000 8.7148666 1000 0.69752702 4.288274 + 274000 8.8426159 1000 0.69393439 4.3039819 + 275000 8.9746848 1000 0.67961922 4.3196899 + 276000 9.1020134 1000 0.67808365 4.3353979 + 277000 9.232486 1000 0.66241302 4.3511058 + 278000 9.3607588 1000 0.65559661 4.3668138 + 279000 9.4879578 1000 0.64949975 4.3825218 + 280000 9.6142148 1000 0.65351945 4.3982297 + 281000 9.7437802 1000 0.66566267 4.4139377 + 282000 9.87097 1000 0.68284419 4.4296456 + 283000 9.9975944 1000 0.68906456 4.4453536 + 284000 10.124724 1000 0.69474503 4.4610616 + 285000 10.25369 1000 0.71686298 4.4767695 + 286000 10.38212 1000 0.70966561 4.4924775 + 287000 10.513274 1000 0.70173402 4.5081855 + 288000 10.641359 1000 0.69841037 4.5238934 + 289000 10.765608 1000 0.68947449 4.5396014 + 290000 10.893738 1000 0.68391661 4.5553093 + 291000 11.018982 1000 0.69112115 4.5710173 + 292000 11.146639 1000 0.70208247 4.5867253 + 293000 11.269392 1000 0.70044553 4.6024332 + 294000 11.39243 1000 0.69973655 4.6181412 + 295000 11.517741 1000 0.70719661 4.6338492 + 296000 11.643013 1000 0.69961909 4.6495571 + 297000 11.771064 1000 0.7038606 4.6652651 + 298000 11.899855 1000 0.70651383 4.6809731 + 299000 12.024499 1000 0.72028817 4.696681 + 300000 12.151124 1000 0.72141372 4.712389 + 301000 12.278902 1000 0.73011344 4.7280969 + 302000 12.402615 1000 0.74750506 4.7438049 + 303000 12.524021 1000 0.74362139 4.7595129 + 304000 12.645914 1000 0.73643471 4.7752208 + 305000 12.766721 1000 0.73250587 4.7909288 + 306000 12.945373 1000 0.72450933 4.8066368 + 307000 13.084062 1000 0.71650682 4.8223447 + 308000 13.210593 1000 0.71012044 4.8380527 + 309000 13.339536 1000 0.7045498 4.8537606 + 310000 13.477512 1000 0.69904261 4.8694686 + 311000 13.617832 1000 0.69370407 4.8851766 + 312000 13.802532 1000 0.70012261 4.9008845 + 313000 13.9682 1000 0.69796658 4.9165925 + 314000 14.139079 1000 0.70673901 4.9323005 + 315000 14.290205 1000 0.70285296 4.9480084 + 316000 14.414474 1000 0.69917788 4.9637164 + 317000 14.541743 1000 0.69153454 4.9794244 + 318000 14.672817 1000 0.69630312 4.9951323 + 319000 14.800594 1000 0.70732059 5.0108403 + 320000 14.982014 1000 0.71069744 5.0265482 + 321000 15.126459 1000 0.70982909 5.0422562 + 322000 15.264165 1000 0.70514067 5.0579642 + 323000 15.391036 1000 0.70591206 5.0736721 + 324000 15.518096 1000 0.70992653 5.0893801 + 325000 15.644416 1000 0.70605327 5.1050881 + 326000 15.772686 1000 0.70492617 5.120796 + 327000 15.899812 1000 0.69711977 5.136504 + 328000 16.050906 1000 0.68791974 5.152212 + 329000 16.197987 1000 0.68350425 5.1679199 + 330000 16.346901 1000 0.67886559 5.1836279 + 331000 16.511885 1000 0.6838106 5.1993358 + 332000 16.666556 1000 0.68570448 5.2150438 + 333000 16.820557 1000 0.68347768 5.2307518 + 334000 16.972048 1000 0.67352858 5.2464597 + 335000 17.171176 1000 0.67154375 5.2621677 + 336000 17.380218 1000 0.67050288 5.2778757 + 337000 17.561848 1000 0.66093797 5.2935836 + 338000 17.746525 1000 0.65261747 5.3092916 + 339000 17.926411 1000 0.65084314 5.3249995 + 340000 18.105197 1000 0.65003008 5.3407075 + 341000 18.235972 1000 0.65397536 5.3564155 + 342000 18.389741 1000 0.67129271 5.3721234 + 343000 18.604032 1000 0.68934086 5.3878314 + 344000 18.788879 1000 0.71225704 5.4035394 + 345000 18.935273 1000 0.72645711 5.4192473 + 346000 19.136926 1000 0.73153889 5.4349553 + 347000 19.310095 1000 0.74047453 5.4506633 + 348000 19.476545 1000 0.74508084 5.4663712 + 349000 19.599138 1000 0.74030176 5.4820792 + 350000 19.753114 1000 0.72037009 5.4977871 + 351000 19.893497 1000 0.71009934 5.5134951 + 352000 20.020982 1000 0.69475509 5.5292031 + 353000 20.149857 1000 0.68883962 5.544911 + 354000 20.278476 1000 0.68764856 5.560619 + 355000 20.407747 1000 0.6853423 5.576327 + 356000 20.53591 1000 0.69528948 5.5920349 + 357000 20.668654 1000 0.70787069 5.6077429 + 358000 20.802835 1000 0.70110924 5.6234508 + 359000 20.950394 1000 0.69356484 5.6391588 + 360000 21.076061 1000 0.69727901 5.6548668 + 361000 21.224785 1000 0.69878093 5.6705747 + 362000 21.416947 1000 0.70063124 5.6862827 + 363000 21.632619 1000 0.68842038 5.7019907 + 364000 21.836231 1000 0.68478573 5.7176986 + 365000 21.963636 1000 0.68232032 5.7334066 + 366000 22.092926 1000 0.66971225 5.7491146 + 367000 22.219251 1000 0.67006227 5.7648225 + 368000 22.344723 1000 0.6694355 5.7805305 + 369000 22.470654 1000 0.66622377 5.7962384 + 370000 22.59941 1000 0.66501888 5.8119464 + 371000 22.732869 1000 0.66108622 5.8276544 + 372000 22.859824 1000 0.65989005 5.8433623 + 373000 22.989282 1000 0.65277032 5.8590703 + 374000 23.116089 1000 0.64599939 5.8747783 + 375000 23.243733 1000 0.64279675 5.8904862 + 376000 23.371971 1000 0.64321129 5.9061942 + 377000 23.505382 1000 0.65596736 5.9219022 + 378000 23.638755 1000 0.68055295 5.9376101 + 379000 23.770714 1000 0.71147476 5.9533181 + 380000 23.906376 1000 0.7478441 5.969026 + 381000 24.040685 1000 0.76216879 5.984734 + 382000 24.173446 1000 0.78574658 6.000442 + 383000 24.30114 1000 0.80947952 6.0161499 + 384000 24.426872 1000 0.81514681 6.0318579 + 385000 24.555905 1000 0.81469775 6.0475659 + 386000 24.684891 1000 0.80579609 6.0632738 + 387000 24.811946 1000 0.79952446 6.0789818 + 388000 24.940028 1000 0.78668384 6.0946897 + 389000 25.061479 1000 0.78375511 6.1103977 + 390000 25.18315 1000 0.78124583 6.1261057 + 391000 25.303012 1000 0.77072038 6.1418136 + 392000 25.423275 1000 0.75748297 6.1575216 + 393000 25.542996 1000 0.74703682 6.1732296 + 394000 25.661826 1000 0.74135384 6.1889375 + 395000 25.782254 1000 0.73344196 6.2046455 + 396000 25.903156 1000 0.72305463 6.2203535 + 397000 26.026207 1000 0.71221263 6.2360614 + 398000 26.145498 1000 0.70602241 6.2517694 + 399000 26.266146 1000 0.69822375 6.2674773 + 400000 26.387762 1000 0.69567985 6.2831853 +Loop time of 26.3878 on 4 procs for 200000 steps with 1000 atoms + +Performance: 30942.580 tau/day, 7579.263 timesteps/s, 7.579 Matom-step/s +99.1% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.6871 | 2.8172 | 3.925 | 64.8 | 10.68 +Neigh | 0.017325 | 0.021917 | 0.026669 | 3.1 | 0.08 +Comm | 4.7404 | 6.0917 | 7.4409 | 54.5 | 23.09 +Output | 0.0043138 | 0.0065642 | 0.0087622 | 1.9 | 0.02 +Modify | 13.258 | 14.716 | 16.132 | 35.6 | 55.77 +Other | | 2.735 | | | 10.36 + +Nlocal: 250 ave 257 max 241 min +Histogram: 1 0 0 0 0 1 0 1 0 1 +Nghost: 387.5 ave 477 max 299 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 1233.5 ave 1523 max 917 min +Histogram: 1 1 0 0 0 0 0 0 0 2 + +Total # of neighbors = 4934 +Ave neighs/atom = 4.934 +Neighbor list builds = 168 +Dangerous builds = 0 +Total wall time: 0:00:40 diff --git a/examples/pour/log.16Mar23.pour.2d.g++.1 b/examples/pour/log.16Mar23.pour.2d.g++.1 new file mode 100644 index 0000000000..76533e5cbf --- /dev/null +++ b/examples/pour/log.16Mar23.pour.2d.g++.1 @@ -0,0 +1,125 @@ +LAMMPS (8 Feb 2023) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Pour 2d granular particles into container + +dimension 2 +atom_style sphere +boundary f fm p +newton off +comm_modify vel yes + +region reg block 0 100 0 50 -0.5 0.5 units box +create_box 1 reg +Created orthogonal box = (0 0 -0.5) to (100 50 0.5) + 1 by 1 by 1 MPI processor grid + +neighbor 0.2 bin +neigh_modify delay 0 + +# IMPORTANT NOTE: these values of stiffness (4000) and timestep (0.001) +# are used in this example file to produce a quick simulation and movie. +# More appropriate values for realistic simulations would be +# k = 4.0e5 and dt = 0.0001, as in bench/in.chute (if it were Hertzian). + +pair_style gran/hertz/history 4000.0 NULL 100.0 NULL 0.5 0 +pair_coeff * * + +timestep 0.001 + +fix 1 all nve/sphere +fix 2 all gravity 1.0 spherical 0.0 -180.0 +fix xwalls all wall/gran hertz/history 4000.0 NULL 100.0 NULL 0 1 xplane 0 100 +fix ywalls all wall/gran hertz/history 4000.0 NULL 100.0 NULL 0 1 yplane 0 NULL + +region slab block 1.0 99.0 30 34.5 -0.5 0.5 units box +fix ins all pour 1000 1 4767548 vol 0.4 10 diam range 0.5 1.0 region slab +Particle insertion: 224 every 3000 steps, 1000 by step 12001 + +fix 3 all enforce2d + +compute 1 all erotate/sphere +thermo_style custom step atoms ke c_1 vol +thermo 1000 +thermo_modify lost ignore norm no +compute_modify thermo_temp dynamic/dof yes + +#dump id all atom 250 dump.pour + +#dump 2 all image 500 image.*.jpg type type # zoom 1.6 adiam 1.5 +#dump_modify 2 pad 5 + +#dump 3 all movie 500 movie.mpg type type # zoom 1.6 adiam 1.5 +#dump_modify 3 pad 5 + +run 25000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.2 + ghost atom cutoff = 1.2 + binsize = 0.6, bins = 167 84 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair gran/hertz/history, perpetual + attributes: half, newton off, size, history + pair build: half/size/bin/newtoff + stencil: full/bin/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.805 | 5.805 | 5.805 Mbytes + Step Atoms KinEng c_1 Volume + 0 0 -0 0 5000 + 1000 224 202.80417 0 5000 + 2000 224 373.00249 0 5000 + 3000 224 599.26757 0 5000 + 4000 448 1078.4787 0 5000 + 5000 448 1589.4845 0 5000 + 6000 448 1743.8281 26.918824 5000 +WARNING: Fewer insertions than requested (src/GRANULAR/fix_pour.cpp:681) + 7000 669 1818.5075 88.370238 5000 + 8000 669 1850.1368 105.77613 5000 + 9000 669 1757.9791 107.52328 5000 +WARNING: Fewer insertions than requested (src/GRANULAR/fix_pour.cpp:681) + 10000 886 1792.8816 79.515458 5000 + 11000 886 1639.0751 64.104708 5000 + 12000 886 1541.1208 55.91813 5000 + 13000 1000 1462.8753 69.093182 5000 + 14000 1000 1277.8754 48.097953 5000 + 15000 1000 1144.6235 50.637004 5000 + 16000 1000 847.34312 43.242219 5000 + 17000 1000 574.34264 41.336666 5000 + 18000 1000 383.60272 32.744393 5000 + 19000 1000 174.44969 31.691706 5000 + 20000 1000 44.566368 14.781893 5000 + 21000 1000 22.655785 9.8501131 5000 + 22000 1000 17.403069 6.4074514 5000 + 23000 1000 13.892292 4.8987582 5000 + 24000 1000 11.699592 4.0659436 5000 + 25000 1000 9.6606627 3.6642658 5000 +Loop time of 2.84114 on 1 procs for 25000 steps with 1000 atoms + +Performance: 760257.044 tau/day, 8799.271 timesteps/s, 8.799 Matom-step/s +99.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.092 | 1.092 | 1.092 | 0.0 | 38.44 +Neigh | 0.30793 | 0.30793 | 0.30793 | 0.0 | 10.84 +Comm | 0.012168 | 0.012168 | 0.012168 | 0.0 | 0.43 +Output | 0.00076223 | 0.00076223 | 0.00076223 | 0.0 | 0.03 +Modify | 1.3179 | 1.3179 | 1.3179 | 0.0 | 46.38 +Other | | 0.1104 | | | 3.89 + +Nlocal: 1000 ave 1000 max 1000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 2344 ave 2344 max 2344 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 2344 +Ave neighs/atom = 2.344 +Neighbor list builds = 2097 +Dangerous builds = 0 +Total wall time: 0:00:02 diff --git a/examples/pour/log.16Mar23.pour.2d.g++.4 b/examples/pour/log.16Mar23.pour.2d.g++.4 new file mode 100644 index 0000000000..9ced9784dc --- /dev/null +++ b/examples/pour/log.16Mar23.pour.2d.g++.4 @@ -0,0 +1,125 @@ +LAMMPS (8 Feb 2023) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Pour 2d granular particles into container + +dimension 2 +atom_style sphere +boundary f fm p +newton off +comm_modify vel yes + +region reg block 0 100 0 50 -0.5 0.5 units box +create_box 1 reg +Created orthogonal box = (0 0 -0.5) to (100 50 0.5) + 4 by 1 by 1 MPI processor grid + +neighbor 0.2 bin +neigh_modify delay 0 + +# IMPORTANT NOTE: these values of stiffness (4000) and timestep (0.001) +# are used in this example file to produce a quick simulation and movie. +# More appropriate values for realistic simulations would be +# k = 4.0e5 and dt = 0.0001, as in bench/in.chute (if it were Hertzian). + +pair_style gran/hertz/history 4000.0 NULL 100.0 NULL 0.5 0 +pair_coeff * * + +timestep 0.001 + +fix 1 all nve/sphere +fix 2 all gravity 1.0 spherical 0.0 -180.0 +fix xwalls all wall/gran hertz/history 4000.0 NULL 100.0 NULL 0 1 xplane 0 100 +fix ywalls all wall/gran hertz/history 4000.0 NULL 100.0 NULL 0 1 yplane 0 NULL + +region slab block 1.0 99.0 30 34.5 -0.5 0.5 units box +fix ins all pour 1000 1 4767548 vol 0.4 10 diam range 0.5 1.0 region slab +Particle insertion: 224 every 3000 steps, 1000 by step 12001 + +fix 3 all enforce2d + +compute 1 all erotate/sphere +thermo_style custom step atoms ke c_1 vol +thermo 1000 +thermo_modify lost ignore norm no +compute_modify thermo_temp dynamic/dof yes + +#dump id all atom 250 dump.pour + +#dump 2 all image 500 image.*.jpg type type # zoom 1.6 adiam 1.5 +#dump_modify 2 pad 5 + +#dump 3 all movie 500 movie.mpg type type # zoom 1.6 adiam 1.5 +#dump_modify 3 pad 5 + +run 25000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.2 + ghost atom cutoff = 1.2 + binsize = 0.6, bins = 167 84 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair gran/hertz/history, perpetual + attributes: half, newton off, size, history + pair build: half/size/bin/newtoff + stencil: full/bin/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.77 | 5.77 | 5.77 Mbytes + Step Atoms KinEng c_1 Volume + 0 0 -0 0 5000 + 1000 224 202.80417 0 5000 + 2000 224 373.00249 0 5000 + 3000 224 599.26757 0 5000 + 4000 448 1078.4787 0 5000 + 5000 448 1589.4845 0 5000 + 6000 448 1743.8281 26.918824 5000 +WARNING: Fewer insertions than requested (src/GRANULAR/fix_pour.cpp:681) + 7000 669 1818.5075 88.370238 5000 + 8000 669 1850.1368 105.77613 5000 + 9000 669 1757.9791 107.52328 5000 +WARNING: Fewer insertions than requested (src/GRANULAR/fix_pour.cpp:681) + 10000 886 1792.8816 79.515458 5000 + 11000 886 1639.0751 64.104716 5000 + 12000 886 1541.1046 55.902437 5000 + 13000 1000 1461.0291 68.011357 5000 + 14000 1000 1286.1144 48.551003 5000 + 15000 1000 1155.6137 55.503871 5000 + 16000 1000 833.49034 46.163926 5000 + 17000 1000 581.69308 43.140124 5000 + 18000 1000 369.375 37.675729 5000 + 19000 1000 188.74424 31.66369 5000 + 20000 1000 48.73107 23.067611 5000 + 21000 1000 27.652985 14.176945 5000 + 22000 1000 22.545416 9.6960211 5000 + 23000 1000 17.575825 6.6345699 5000 + 24000 1000 12.464163 4.9073459 5000 + 25000 1000 9.9507487 3.1967219 5000 +Loop time of 0.793403 on 4 procs for 25000 steps with 1000 atoms + +Performance: 2722450.224 tau/day, 31509.841 timesteps/s, 31.510 Matom-step/s +99.2% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.2392 | 0.24458 | 0.25441 | 1.2 | 30.83 +Neigh | 0.075663 | 0.07738 | 0.078869 | 0.4 | 9.75 +Comm | 0.037752 | 0.045698 | 0.049012 | 2.2 | 5.76 +Output | 0.00063359 | 0.0006788 | 0.00078796 | 0.0 | 0.09 +Modify | 0.30883 | 0.3111 | 0.31377 | 0.3 | 39.21 +Other | | 0.114 | | | 14.36 + +Nlocal: 250 ave 254 max 244 min +Histogram: 1 0 0 0 0 0 0 2 0 1 +Nghost: 19.75 ave 28 max 11 min +Histogram: 1 0 1 0 0 0 0 0 1 1 +Neighs: 600 ave 624 max 569 min +Histogram: 1 0 0 1 0 0 0 0 1 1 + +Total # of neighbors = 2400 +Ave neighs/atom = 2.4 +Neighbor list builds = 2138 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/pour/log.16Mar23.pour.2d.molecule.g++.1 b/examples/pour/log.16Mar23.pour.2d.molecule.g++.1 new file mode 100644 index 0000000000..0c5cbd9dc3 --- /dev/null +++ b/examples/pour/log.16Mar23.pour.2d.molecule.g++.1 @@ -0,0 +1,148 @@ +LAMMPS (8 Feb 2023) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Pour 2d granular particles into container + +dimension 2 +atom_style sphere +atom_modify map array +boundary f fm p +newton off +comm_modify vel yes cutoff 2.5 + +fix prop all property/atom mol ghost yes + +region reg block 0 100 0 50 -0.5 0.5 units box +create_box 1 reg +Created orthogonal box = (0 0 -0.5) to (100 50 0.5) + 1 by 1 by 1 MPI processor grid + +neighbor 0.2 bin +neigh_modify delay 0 + +# IMPORTANT NOTE: these values of stiffness (4000) and timestep (0.001) +# are used in this example file to produce a quick simulation and movie. +# More appropriate values for realistic simulations would be +# k = 4.0e5 and dt = 0.0001, as in bench/in.chute (if it were Hertzian). + +pair_style gran/hertz/history 4000.0 NULL 100.0 NULL 0.5 0 +pair_coeff * * + +timestep 0.001 + +fix 2 all gravity 1.0 spherical 0.0 -180.0 +fix xwalls all wall/gran hertz/history 4000.0 NULL 100.0 NULL 0 1 xplane 0 100 +fix ywalls all wall/gran hertz/history 4000.0 NULL 100.0 NULL 0 1 yplane 0 NULL + +molecule object molecule.vshape +Read molecule template object: + 1 molecules + 0 fragments + 5 atoms with max type 1 + 0 bonds with max type 0 + 0 angles with max type 0 + 0 dihedrals with max type 0 + 0 impropers with max type 0 +fix 3 all rigid/small molecule mol object + create bodies CPU = 0.000 seconds + 0 rigid bodies with 0 atoms + 2.236068 = max distance from body owner to body atom + +# ensure region size + molecule size does not overlap wall + +region slab block 3.0 97.0 30 34.5 -0.5 0.5 units box +fix ins all pour 500 0 4767548 vol 0.8 10 region slab mol object rigid 3 +Particle insertion: 26 every 3000 steps, 500 by step 57001 + +fix 4 all enforce2d + +compute 1 all erotate/sphere +compute Tsphere all temp/sphere +thermo_style custom step atoms ke c_1 vol +thermo_modify lost ignore norm no temp Tsphere +compute_modify Tsphere dynamic/dof yes + +thermo 1000 + +#dump id all atom 100 tmp.dump + +#variable colors string # "red green blue yellow white # purple pink orange lime gray" +#variable mol2 atom mol%10 +#dump 2 all image 250 image.*.jpg v_mol2 type # zoom 1.6 adiam 1.5 +#dump_modify 2 pad 5 amap 0 10 sa 1 10 ${colors} + +#variable colors string # "red green blue yellow white # purple pink orange lime gray" +#variable mol3 atom mol%10 +#dump 3 all movie 250 movie.mpg v_mol3 type # zoom 1.6 adiam 1.5 +#dump_modify 3 pad 5 amap 0 10 sa 1 10 ${colors} + +run 25000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +WARNING: Gravity may not be correctly applied to rigid bodies if they consist of overlapped particles (src/RIGID/fix_rigid_small.cpp:554) +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.2 + ghost atom cutoff = 2.5 + binsize = 0.6, bins = 167 84 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair gran/hertz/history, perpetual + attributes: half, newton off, size, history + pair build: half/size/bin/newtoff + stencil: full/bin/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.811 | 5.811 | 5.811 Mbytes + Step Atoms KinEng c_1 Volume + 0 0 -0 0 5000 + 1000 130 248.65568 0.002050506 5000 + 2000 130 452.01354 0.0020557556 5000 + 3000 130 720.36849 0.0021462148 5000 + 4000 260 1281.7126 0.0021462148 5000 + 5000 260 1875.9602 0.0021462148 5000 + 6000 260 1742.7747 2.0692779 5000 + 7000 390 1860.2142 1.7515066 5000 + 8000 390 1853.6219 2.3354959 5000 + 9000 390 1749.6466 5.1516327 5000 + 10000 520 1860.4314 4.2186838 5000 + 11000 520 1636.9411 4.006706 5000 + 12000 520 1454.1835 4.3341069 5000 + 13000 650 1881.6358 3.9606372 5000 + 14000 650 1648.6494 3.8239413 5000 + 15000 650 1463.0973 2.9363979 5000 + 16000 780 1571.0119 3.9061213 5000 + 17000 780 1472.941 2.0289533 5000 + 18000 780 1370.5265 3.1038747 5000 + 19000 910 1433.6728 2.7600498 5000 + 20000 910 1375.3634 2.964893 5000 + 21000 910 1184.8059 2.5050961 5000 + 22000 1040 1312.0948 1.844008 5000 + 23000 1040 1181.4208 1.7766375 5000 + 24000 1040 1263.1226 2.1430511 5000 + 25000 1170 1152.9064 2.4175531 5000 +Loop time of 3.37143 on 1 procs for 25000 steps with 1170 atoms + +Performance: 640677.536 tau/day, 7415.249 timesteps/s, 8.676 Matom-step/s +99.4% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.91106 | 0.91106 | 0.91106 | 0.0 | 27.02 +Neigh | 0.19015 | 0.19015 | 0.19015 | 0.0 | 5.64 +Comm | 0.016916 | 0.016916 | 0.016916 | 0.0 | 0.50 +Output | 0.0011065 | 0.0011065 | 0.0011065 | 0.0 | 0.03 +Modify | 2.1372 | 2.1372 | 2.1372 | 0.0 | 63.39 +Other | | 0.115 | | | 3.41 + +Nlocal: 1170 ave 1170 max 1170 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 1685 ave 1685 max 1685 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 1685 +Ave neighs/atom = 1.4401709 +Neighbor list builds = 1707 +Dangerous builds = 0 +Total wall time: 0:00:03 diff --git a/examples/pour/log.16Mar23.pour.2d.molecule.g++.4 b/examples/pour/log.16Mar23.pour.2d.molecule.g++.4 new file mode 100644 index 0000000000..f0d3cd2db1 --- /dev/null +++ b/examples/pour/log.16Mar23.pour.2d.molecule.g++.4 @@ -0,0 +1,148 @@ +LAMMPS (8 Feb 2023) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Pour 2d granular particles into container + +dimension 2 +atom_style sphere +atom_modify map array +boundary f fm p +newton off +comm_modify vel yes cutoff 2.5 + +fix prop all property/atom mol ghost yes + +region reg block 0 100 0 50 -0.5 0.5 units box +create_box 1 reg +Created orthogonal box = (0 0 -0.5) to (100 50 0.5) + 4 by 1 by 1 MPI processor grid + +neighbor 0.2 bin +neigh_modify delay 0 + +# IMPORTANT NOTE: these values of stiffness (4000) and timestep (0.001) +# are used in this example file to produce a quick simulation and movie. +# More appropriate values for realistic simulations would be +# k = 4.0e5 and dt = 0.0001, as in bench/in.chute (if it were Hertzian). + +pair_style gran/hertz/history 4000.0 NULL 100.0 NULL 0.5 0 +pair_coeff * * + +timestep 0.001 + +fix 2 all gravity 1.0 spherical 0.0 -180.0 +fix xwalls all wall/gran hertz/history 4000.0 NULL 100.0 NULL 0 1 xplane 0 100 +fix ywalls all wall/gran hertz/history 4000.0 NULL 100.0 NULL 0 1 yplane 0 NULL + +molecule object molecule.vshape +Read molecule template object: + 1 molecules + 0 fragments + 5 atoms with max type 1 + 0 bonds with max type 0 + 0 angles with max type 0 + 0 dihedrals with max type 0 + 0 impropers with max type 0 +fix 3 all rigid/small molecule mol object + create bodies CPU = 0.000 seconds + 0 rigid bodies with 0 atoms + 2.236068 = max distance from body owner to body atom + +# ensure region size + molecule size does not overlap wall + +region slab block 3.0 97.0 30 34.5 -0.5 0.5 units box +fix ins all pour 500 0 4767548 vol 0.8 10 region slab mol object rigid 3 +Particle insertion: 26 every 3000 steps, 500 by step 57001 + +fix 4 all enforce2d + +compute 1 all erotate/sphere +compute Tsphere all temp/sphere +thermo_style custom step atoms ke c_1 vol +thermo_modify lost ignore norm no temp Tsphere +compute_modify Tsphere dynamic/dof yes + +thermo 1000 + +#dump id all atom 100 tmp.dump + +#variable colors string # "red green blue yellow white # purple pink orange lime gray" +#variable mol2 atom mol%10 +#dump 2 all image 250 image.*.jpg v_mol2 type # zoom 1.6 adiam 1.5 +#dump_modify 2 pad 5 amap 0 10 sa 1 10 ${colors} + +#variable colors string # "red green blue yellow white # purple pink orange lime gray" +#variable mol3 atom mol%10 +#dump 3 all movie 250 movie.mpg v_mol3 type # zoom 1.6 adiam 1.5 +#dump_modify 3 pad 5 amap 0 10 sa 1 10 ${colors} + +run 25000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +WARNING: Gravity may not be correctly applied to rigid bodies if they consist of overlapped particles (src/RIGID/fix_rigid_small.cpp:554) +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.2 + ghost atom cutoff = 2.5 + binsize = 0.6, bins = 167 84 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair gran/hertz/history, perpetual + attributes: half, newton off, size, history + pair build: half/size/bin/newtoff + stencil: full/bin/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.773 | 5.773 | 5.773 Mbytes + Step Atoms KinEng c_1 Volume + 0 0 -0 0 5000 + 1000 130 248.65568 0.002050506 5000 + 2000 130 452.01354 0.0020557556 5000 + 3000 130 720.36849 0.0021462148 5000 + 4000 260 1281.7126 0.0021462148 5000 + 5000 260 1875.9602 0.0021462148 5000 + 6000 260 1742.7747 2.0692779 5000 + 7000 390 1860.2142 1.7515066 5000 + 8000 390 1853.6219 2.3354959 5000 + 9000 390 1749.6466 5.1516327 5000 + 10000 520 1860.4314 4.2186838 5000 + 11000 520 1636.9411 4.006706 5000 + 12000 520 1454.1835 4.3341069 5000 + 13000 650 1881.6358 3.9606372 5000 + 14000 650 1648.6494 3.8239413 5000 + 15000 650 1463.0973 2.9363979 5000 + 16000 780 1571.0119 3.9061213 5000 + 17000 780 1472.941 2.0289532 5000 + 18000 780 1370.5265 3.1038747 5000 + 19000 910 1433.6728 2.7600454 5000 + 20000 910 1375.3629 2.9649297 5000 + 21000 910 1184.8017 2.5049255 5000 + 22000 1040 1312.0653 1.8441521 5000 + 23000 1040 1181.5473 1.7693597 5000 + 24000 1040 1263.4442 2.1476891 5000 + 25000 1170 1152.2404 2.4292153 5000 +Loop time of 1.59966 on 4 procs for 25000 steps with 1170 atoms + +Performance: 1350285.365 tau/day, 15628.303 timesteps/s, 18.285 Matom-step/s +98.5% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.23769 | 0.30075 | 0.35002 | 7.5 | 18.80 +Neigh | 0.048877 | 0.062647 | 0.073072 | 3.7 | 3.92 +Comm | 0.075225 | 0.087826 | 0.096819 | 2.9 | 5.49 +Output | 0.0010015 | 0.0011427 | 0.0015053 | 0.6 | 0.07 +Modify | 0.97758 | 0.99506 | 1.0071 | 1.1 | 62.20 +Other | | 0.1522 | | | 9.52 + +Nlocal: 292.5 ave 314 max 274 min +Histogram: 1 0 0 1 0 1 0 0 0 1 +Nghost: 44.5 ave 67 max 23 min +Histogram: 1 0 1 0 0 0 0 1 0 1 +Neighs: 430 ave 452 max 393 min +Histogram: 1 0 0 0 0 0 0 2 0 1 + +Total # of neighbors = 1720 +Ave neighs/atom = 1.4700855 +Neighbor list builds = 1707 +Dangerous builds = 0 +Total wall time: 0:00:01 diff --git a/examples/pour/log.16Mar23.pour.g++.1 b/examples/pour/log.16Mar23.pour.g++.1 new file mode 100644 index 0000000000..4896a1e4e4 --- /dev/null +++ b/examples/pour/log.16Mar23.pour.g++.1 @@ -0,0 +1,178 @@ +LAMMPS (8 Feb 2023) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Pour granular particles into chute container, then induce flow + +atom_style sphere +boundary p p fm +newton off +comm_modify vel yes + +region reg block -10 10 -10 10 -0.5 16 units box +create_box 1 reg +Created orthogonal box = (-10 -10 -0.5) to (10 10 16) + 1 by 1 by 1 MPI processor grid + +neighbor 0.2 bin +neigh_modify delay 0 + +# IMPORTANT NOTE: these values of stiffness (2000) and timestep (0.001) +# are used in this example file to produce a quick simulation and movie. +# More appropriate values for realistic simulations would be +# k = 2.0e5 and dt = 0.0001, as in bench/in.chute. + +pair_style gran/hooke/history 2000.0 NULL 50.0 NULL 0.5 0 +pair_coeff * * + +timestep 0.001 + +fix 1 all nve/sphere +fix 2 all gravity 1.0 spherical 0.0 -180.0 +fix zlower all wall/gran hooke/history 2000.0 NULL 50.0 NULL 0.5 0 zplane 0.0 2000.0 + +region slab block -9.0 9.0 -9.0 9.0 10.0 15.0 units box +fix ins all pour 3000 1 300719 vol 0.13 50 region slab +Particle insertion: 402 every 3162 steps, 3000 by step 22135 + +compute 1 all erotate/sphere +thermo_style custom step atoms ke c_1 vol +thermo 1000 +thermo_modify lost ignore norm no +compute_modify thermo_temp dynamic/dof yes + +#dump id all atom 1000 dump.pour + +#dump 2 all image 1000 image.*.jpg type type # axes yes 0.8 0.02 view 80 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 1000 movie.mpg type type # axes yes 0.8 0.02 view 80 -30 +#dump_modify 3 pad 5 + +run 25000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.2 + ghost atom cutoff = 1.2 + binsize = 0.6, bins = 34 34 28 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair gran/hooke/history, perpetual + attributes: half, newton off, size, history + pair build: half/size/bin/newtoff + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.956 | 5.956 | 5.956 Mbytes + Step Atoms KinEng c_1 Volume + 0 0 -0 0 6600 + 1000 402 753.1301 0 6600 + 2000 402 1389.6785 0 6600 + 3000 402 1439.3007 16.360577 6600 + 4000 804 1694.9311 52.966189 6600 + 5000 804 1564.7533 67.202593 6600 + 6000 804 1303.6937 65.31424 6600 + 7000 1206 1590.3342 63.948699 6600 + 8000 1206 1489.2483 54.736993 6600 + 9000 1206 1234.442 56.141183 6600 + 10000 1608 1314.3588 49.189129 6600 + 11000 1608 1238.0609 42.558653 6600 + 12000 1608 1143.6455 41.554747 6600 + 13000 2010 1229.989 49.661038 6600 + 14000 2010 1176.3015 40.982761 6600 + 15000 2010 1011.4718 45.872673 6600 + 16000 2412 1128.8326 47.405058 6600 + 17000 2412 1035.4314 40.22595 6600 + 18000 2412 873.87039 40.07875 6600 + 19000 2814 967.91799 41.49685 6600 + 20000 2814 928.0341 39.924344 6600 + 21000 2814 820.35467 37.621246 6600 + 22000 2814 549.00702 41.541324 6600 + 23000 3000 441.94025 41.467527 6600 + 24000 3000 339.91044 25.849093 6600 + 25000 3000 243.91083 20.921917 6600 +Loop time of 8.07068 on 1 procs for 25000 steps with 3000 atoms + +Performance: 267635.587 tau/day, 3097.634 timesteps/s, 9.293 Matom-step/s +99.8% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 4.6682 | 4.6682 | 4.6682 | 0.0 | 57.84 +Neigh | 1.0497 | 1.0497 | 1.0497 | 0.0 | 13.01 +Comm | 0.16028 | 0.16028 | 0.16028 | 0.0 | 1.99 +Output | 0.00076244 | 0.00076244 | 0.00076244 | 0.0 | 0.01 +Modify | 2.0196 | 2.0196 | 2.0196 | 0.0 | 25.02 +Other | | 0.172 | | | 2.13 + +Nlocal: 3000 ave 3000 max 3000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 667 ave 667 max 667 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 13503 ave 13503 max 13503 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 13503 +Ave neighs/atom = 4.501 +Neighbor list builds = 1150 +Dangerous builds = 0 + +unfix ins +fix 2 all gravity 1.0 chute 26.0 +run 25000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 10.64 | 10.64 | 10.64 Mbytes + Step Atoms KinEng c_1 Volume + 25000 3000 243.91083 20.921917 6600 + 26000 3000 111.73212 19.181089 6600 + 27000 3000 175.53659 12.143401 6600 + 28000 3000 315.95861 12.721047 6600 + 29000 3000 516.24386 15.103525 6600 + 30000 3000 779.3423 19.057186 6600 + 31000 3000 1118.6219 21.320808 6600 + 32000 3000 1512.8878 25.012099 6600 + 33000 3000 1969.247 30.402739 6600 + 34000 3000 2499.318 37.297539 6600 + 35000 3000 3074.9401 45.925996 6600 + 36000 3000 3768.2108 39.734162 6600 + 37000 3000 4400.6971 44.337674 6600 + 38000 3000 5178.4457 63.168989 6600 + 39000 3000 6028.928 56.570416 6600 + 40000 3000 6947.424 67.360376 6600 + 41000 3000 7896.0016 69.368604 6600 + 42000 3000 8977.9347 66.242546 6600 + 43000 3000 10026.618 55.776273 6600 + 44000 3000 11106.873 69.943396 6600 + 45000 3000 12264.363 79.440158 6600 + 46000 3000 13562.635 67.026549 6600 + 47000 3000 14796.806 70.121289 6600 + 48000 3000 16254.182 70.690438 6600 + 49000 3000 17711.386 63.668043 6600 + 50000 3000 19144.269 66.708659 6600 +Loop time of 17.582 on 1 procs for 25000 steps with 3000 atoms + +Performance: 122853.050 tau/day, 1421.910 timesteps/s, 4.266 Matom-step/s +99.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 11.641 | 11.641 | 11.641 | 0.0 | 66.21 +Neigh | 1.7715 | 1.7715 | 1.7715 | 0.0 | 10.08 +Comm | 0.38219 | 0.38219 | 0.38219 | 0.0 | 2.17 +Output | 0.0010728 | 0.0010728 | 0.0010728 | 0.0 | 0.01 +Modify | 3.4549 | 3.4549 | 3.4549 | 0.0 | 19.65 +Other | | 0.3309 | | | 1.88 + +Nlocal: 3000 ave 3000 max 3000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 748 ave 748 max 748 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 14117 ave 14117 max 14117 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 14117 +Ave neighs/atom = 4.7056667 +Neighbor list builds = 848 +Dangerous builds = 0 +Total wall time: 0:00:25 diff --git a/examples/pour/log.16Mar23.pour.g++.4 b/examples/pour/log.16Mar23.pour.g++.4 new file mode 100644 index 0000000000..f0ffbd8001 --- /dev/null +++ b/examples/pour/log.16Mar23.pour.g++.4 @@ -0,0 +1,178 @@ +LAMMPS (8 Feb 2023) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Pour granular particles into chute container, then induce flow + +atom_style sphere +boundary p p fm +newton off +comm_modify vel yes + +region reg block -10 10 -10 10 -0.5 16 units box +create_box 1 reg +Created orthogonal box = (-10 -10 -0.5) to (10 10 16) + 2 by 2 by 1 MPI processor grid + +neighbor 0.2 bin +neigh_modify delay 0 + +# IMPORTANT NOTE: these values of stiffness (2000) and timestep (0.001) +# are used in this example file to produce a quick simulation and movie. +# More appropriate values for realistic simulations would be +# k = 2.0e5 and dt = 0.0001, as in bench/in.chute. + +pair_style gran/hooke/history 2000.0 NULL 50.0 NULL 0.5 0 +pair_coeff * * + +timestep 0.001 + +fix 1 all nve/sphere +fix 2 all gravity 1.0 spherical 0.0 -180.0 +fix zlower all wall/gran hooke/history 2000.0 NULL 50.0 NULL 0.5 0 zplane 0.0 2000.0 + +region slab block -9.0 9.0 -9.0 9.0 10.0 15.0 units box +fix ins all pour 3000 1 300719 vol 0.13 50 region slab +Particle insertion: 402 every 3162 steps, 3000 by step 22135 + +compute 1 all erotate/sphere +thermo_style custom step atoms ke c_1 vol +thermo 1000 +thermo_modify lost ignore norm no +compute_modify thermo_temp dynamic/dof yes + +#dump id all atom 1000 dump.pour + +#dump 2 all image 1000 image.*.jpg type type # axes yes 0.8 0.02 view 80 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 1000 movie.mpg type type # axes yes 0.8 0.02 view 80 -30 +#dump_modify 3 pad 5 + +run 25000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.2 + ghost atom cutoff = 1.2 + binsize = 0.6, bins = 34 34 28 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair gran/hooke/history, perpetual + attributes: half, newton off, size, history + pair build: half/size/bin/newtoff + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.831 | 5.831 | 5.831 Mbytes + Step Atoms KinEng c_1 Volume + 0 0 -0 0 6600 + 1000 402 753.1301 0 6600 + 2000 402 1389.6785 0 6600 + 3000 402 1439.3007 16.360577 6600 + 4000 804 1694.9311 52.966189 6600 + 5000 804 1564.7533 67.202593 6600 + 6000 804 1303.6937 65.31424 6600 + 7000 1206 1590.3342 63.948699 6600 + 8000 1206 1489.2483 54.736993 6600 + 9000 1206 1234.442 56.141183 6600 + 10000 1608 1314.3588 49.189127 6600 + 11000 1608 1237.9823 42.555046 6600 + 12000 1608 1142.8729 41.96142 6600 + 13000 2010 1230.1948 49.194135 6600 + 14000 2010 1178.1648 39.43872 6600 + 15000 2010 1031.6441 46.416609 6600 + 16000 2412 1109.7641 45.866965 6600 + 17000 2412 1047.232 38.618366 6600 + 18000 2412 888.02373 41.307438 6600 + 19000 2814 965.06339 40.889834 6600 + 20000 2814 922.71203 40.04001 6600 + 21000 2814 815.9575 38.366756 6600 + 22000 2814 570.89153 37.83039 6600 + 23000 3000 428.71007 37.62527 6600 + 24000 3000 341.87262 24.030639 6600 + 25000 3000 243.78921 22.003596 6600 +Loop time of 2.70972 on 4 procs for 25000 steps with 3000 atoms + +Performance: 797131.262 tau/day, 9226.056 timesteps/s, 27.678 Matom-step/s +99.2% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.2559 | 1.2759 | 1.2886 | 1.2 | 47.09 +Neigh | 0.29364 | 0.29822 | 0.30487 | 0.8 | 11.01 +Comm | 0.24161 | 0.25182 | 0.26235 | 1.5 | 9.29 +Output | 0.00076819 | 0.00084565 | 0.00098501 | 0.0 | 0.03 +Modify | 0.59267 | 0.61574 | 0.63388 | 2.3 | 22.72 +Other | | 0.2672 | | | 9.86 + +Nlocal: 750 ave 759 max 734 min +Histogram: 1 0 0 0 0 0 0 1 1 1 +Nghost: 381.75 ave 392 max 367 min +Histogram: 1 0 0 0 0 0 1 1 0 1 +Neighs: 3569.75 ave 3651 max 3448 min +Histogram: 1 0 0 0 0 0 1 1 0 1 + +Total # of neighbors = 14279 +Ave neighs/atom = 4.7596667 +Neighbor list builds = 1151 +Dangerous builds = 0 + +unfix ins +fix 2 all gravity 1.0 chute 26.0 +run 25000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 10.43 | 10.43 | 10.43 Mbytes + Step Atoms KinEng c_1 Volume + 25000 3000 243.78921 22.003596 6600 + 26000 3000 119.4338 18.414134 6600 + 27000 3000 172.50337 12.019175 6600 + 28000 3000 316.78411 12.871972 6600 + 29000 3000 524.47221 16.004598 6600 + 30000 3000 812.57656 20.096736 6600 + 31000 3000 1181.7814 28.226314 6600 + 32000 3000 1612.855 28.279192 6600 + 33000 3000 2075.6364 29.358829 6600 + 34000 3000 2634.5344 36.312508 6600 + 35000 3000 3213.2814 43.992962 6600 + 36000 3000 3900.499 38.674908 6600 + 37000 3000 4594.329 46.025242 6600 + 38000 3000 5367.8353 46.404081 6600 + 39000 3000 6180.9788 56.484589 6600 + 40000 3000 7111.5267 51.165038 6600 + 41000 3000 7998.6331 65.039037 6600 + 42000 3000 9037.3716 69.653749 6600 + 43000 3000 10148.985 65.082635 6600 + 44000 3000 11242.901 62.787818 6600 + 45000 3000 12445.247 64.68269 6600 + 46000 3000 13773.582 59.313484 6600 + 47000 3000 15000.566 54.417728 6600 + 48000 3000 16312.814 60.23943 6600 + 49000 3000 17730.721 60.028021 6600 + 50000 3000 19221.273 62.659312 6600 +Loop time of 5.52345 on 4 procs for 25000 steps with 3000 atoms + +Performance: 391059.670 tau/day, 4526.154 timesteps/s, 13.578 Matom-step/s +99.3% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 3.1235 | 3.1506 | 3.1758 | 1.1 | 57.04 +Neigh | 0.47171 | 0.47561 | 0.48174 | 0.5 | 8.61 +Comm | 0.39363 | 0.39957 | 0.4049 | 0.6 | 7.23 +Output | 0.0010759 | 0.0011654 | 0.0012802 | 0.2 | 0.02 +Modify | 0.93409 | 0.95091 | 0.96521 | 1.2 | 17.22 +Other | | 0.5456 | | | 9.88 + +Nlocal: 750 ave 759 max 744 min +Histogram: 1 0 1 1 0 0 0 0 0 1 +Nghost: 404.75 ave 411 max 402 min +Histogram: 1 2 0 0 0 0 0 0 0 1 +Neighs: 3694.75 ave 3722 max 3672 min +Histogram: 1 0 0 1 1 0 0 0 0 1 + +Total # of neighbors = 14779 +Ave neighs/atom = 4.9263333 +Neighbor list builds = 856 +Dangerous builds = 0 +Total wall time: 0:00:08 diff --git a/examples/pour/log.27Nov18.pour.2d.g++.1 b/examples/pour/log.27Nov18.pour.2d.g++.1 deleted file mode 100644 index d8b615816f..0000000000 --- a/examples/pour/log.27Nov18.pour.2d.g++.1 +++ /dev/null @@ -1,121 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Pour 2d granular particles into container - -dimension 2 -atom_style sphere -boundary f fm p -newton off -comm_modify vel yes - -region reg block 0 100 0 50 -0.5 0.5 units box -create_box 1 reg -Created orthogonal box = (0 0 -0.5) to (100 50 0.5) - 1 by 1 by 1 MPI processor grid - -neighbor 0.2 bin -neigh_modify delay 0 - -# IMPORTANT NOTE: these values of stiffness (4000) and timestep (0.001) -# are used in this example file to produce a quick simulation and movie. -# More appropriate values for realistic simulations would be -# k = 4.0e5 and dt = 0.0001, as in bench/in.chute (if it were Hertzian). - -pair_style gran/hertz/history 4000.0 NULL 100.0 NULL 0.5 0 -pair_coeff * * - -timestep 0.001 - -fix 1 all nve/sphere -fix 2 all gravity 1.0 spherical 0.0 -180.0 -fix xwalls all wall/gran hertz/history 4000.0 NULL 100.0 NULL 0 1 xplane 0 100 -fix ywalls all wall/gran hertz/history 4000.0 NULL 100.0 NULL 0 1 yplane 0 NULL - -region slab block 1.0 99.0 30 34.5 -0.5 0.5 units box -fix ins all pour 1000 1 4767548 vol 0.4 10 diam range 0.5 1.0 region slab -Particle insertion: 224 every 3000 steps, 1000 by step 12001 - -fix 3 all enforce2d - -compute 1 all erotate/sphere -thermo_style custom step atoms ke c_1 vol -thermo 1000 -thermo_modify lost ignore norm no -compute_modify thermo_temp dynamic/dof yes - -#dump id all atom 250 dump.pour - -#dump 2 all image 500 image.*.jpg type type # zoom 1.6 adiam 1.5 -#dump_modify 2 pad 5 - -#dump 3 all movie 500 movie.mpg type type # zoom 1.6 adiam 1.5 -#dump_modify 3 pad 5 - -run 25000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.2 - ghost atom cutoff = 1.2 - binsize = 0.6, bins = 167 84 2 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair gran/hertz/history, perpetual - attributes: half, newton off, size, history - pair build: half/size/bin/newtoff - stencil: half/bin/2d/newtoff - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.804 | 5.804 | 5.804 Mbytes -Step Atoms KinEng c_1 Volume - 0 0 -0 0 5000 - 1000 224 201.77464 0 5000 - 2000 224 372.42868 0 5000 - 3000 224 599.60221 0 5000 - 4000 448 1084.3752 0 5000 - 5000 448 1592.4543 0 5000 - 6000 448 1763.3153 37.274939 5000 - 7000 672 1805.206 89.331853 5000 - 8000 672 1778.0015 111.58381 5000 - 9000 672 1592.6805 97.550311 5000 - 10000 896 1631.962 76.905078 5000 - 11000 896 1590.1527 68.644552 5000 - 12000 896 1564.4707 60.119562 5000 - 13000 1000 1490.072 56.982972 5000 - 14000 1000 1266.4669 57.579371 5000 - 15000 1000 1034.1055 46.079374 5000 - 16000 1000 748.70283 43.933154 5000 - 17000 1000 462.65166 37.522016 5000 - 18000 1000 327.40481 29.450285 5000 - 19000 1000 223.24319 31.981144 5000 - 20000 1000 54.792042 23.449101 5000 - 21000 1000 25.805484 16.352528 5000 - 22000 1000 20.617765 11.756965 5000 - 23000 1000 16.115382 7.9435503 5000 - 24000 1000 11.971003 5.9411126 5000 - 25000 1000 10.404117 4.3811155 5000 -Loop time of 2.72875 on 1 procs for 25000 steps with 1000 atoms - -Performance: 791570.958 tau/day, 9161.701 timesteps/s -98.8% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.95597 | 0.95597 | 0.95597 | 0.0 | 35.03 -Neigh | 0.38475 | 0.38475 | 0.38475 | 0.0 | 14.10 -Comm | 0.010862 | 0.010862 | 0.010862 | 0.0 | 0.40 -Output | 0.00054383 | 0.00054383 | 0.00054383 | 0.0 | 0.02 -Modify | 1.2364 | 1.2364 | 1.2364 | 0.0 | 45.31 -Other | | 0.1402 | | | 5.14 - -Nlocal: 1000 ave 1000 max 1000 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 2374 ave 2374 max 2374 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 2374 -Ave neighs/atom = 2.374 -Neighbor list builds = 2089 -Dangerous builds = 0 -Total wall time: 0:00:02 diff --git a/examples/pour/log.27Nov18.pour.2d.g++.4 b/examples/pour/log.27Nov18.pour.2d.g++.4 deleted file mode 100644 index a491cf4866..0000000000 --- a/examples/pour/log.27Nov18.pour.2d.g++.4 +++ /dev/null @@ -1,121 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Pour 2d granular particles into container - -dimension 2 -atom_style sphere -boundary f fm p -newton off -comm_modify vel yes - -region reg block 0 100 0 50 -0.5 0.5 units box -create_box 1 reg -Created orthogonal box = (0 0 -0.5) to (100 50 0.5) - 4 by 1 by 1 MPI processor grid - -neighbor 0.2 bin -neigh_modify delay 0 - -# IMPORTANT NOTE: these values of stiffness (4000) and timestep (0.001) -# are used in this example file to produce a quick simulation and movie. -# More appropriate values for realistic simulations would be -# k = 4.0e5 and dt = 0.0001, as in bench/in.chute (if it were Hertzian). - -pair_style gran/hertz/history 4000.0 NULL 100.0 NULL 0.5 0 -pair_coeff * * - -timestep 0.001 - -fix 1 all nve/sphere -fix 2 all gravity 1.0 spherical 0.0 -180.0 -fix xwalls all wall/gran hertz/history 4000.0 NULL 100.0 NULL 0 1 xplane 0 100 -fix ywalls all wall/gran hertz/history 4000.0 NULL 100.0 NULL 0 1 yplane 0 NULL - -region slab block 1.0 99.0 30 34.5 -0.5 0.5 units box -fix ins all pour 1000 1 4767548 vol 0.4 10 diam range 0.5 1.0 region slab -Particle insertion: 224 every 3000 steps, 1000 by step 12001 - -fix 3 all enforce2d - -compute 1 all erotate/sphere -thermo_style custom step atoms ke c_1 vol -thermo 1000 -thermo_modify lost ignore norm no -compute_modify thermo_temp dynamic/dof yes - -#dump id all atom 250 dump.pour - -#dump 2 all image 500 image.*.jpg type type # zoom 1.6 adiam 1.5 -#dump_modify 2 pad 5 - -#dump 3 all movie 500 movie.mpg type type # zoom 1.6 adiam 1.5 -#dump_modify 3 pad 5 - -run 25000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.2 - ghost atom cutoff = 1.2 - binsize = 0.6, bins = 167 84 2 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair gran/hertz/history, perpetual - attributes: half, newton off, size, history - pair build: half/size/bin/newtoff - stencil: half/bin/2d/newtoff - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.77 | 5.77 | 5.77 Mbytes -Step Atoms KinEng c_1 Volume - 0 0 -0 0 5000 - 1000 224 201.77464 0 5000 - 2000 224 372.42868 0 5000 - 3000 224 599.60221 0 5000 - 4000 448 1084.3752 0 5000 - 5000 448 1592.4543 0 5000 - 6000 448 1763.3153 37.274939 5000 - 7000 672 1805.206 89.331853 5000 - 8000 672 1778.0015 111.58381 5000 - 9000 672 1592.6805 97.550311 5000 - 10000 896 1630.8521 79.742572 5000 - 11000 896 1593.1588 67.633788 5000 - 12000 896 1562.2084 65.097236 5000 - 13000 1000 1504.1203 63.468934 5000 - 14000 1000 1266.5724 55.837334 5000 - 15000 1000 1041.8665 48.938774 5000 - 16000 1000 766.27305 43.846151 5000 - 17000 1000 466.30103 43.206188 5000 - 18000 1000 320.50154 26.84775 5000 - 19000 1000 207.91453 29.183522 5000 - 20000 1000 52.447982 19.30378 5000 - 21000 1000 22.027641 10.395933 5000 - 22000 1000 15.395099 6.7003289 5000 - 23000 1000 11.97674 5.2548063 5000 - 24000 1000 7.8974699 3.7396899 5000 - 25000 1000 6.1288038 2.2056805 5000 -Loop time of 0.901039 on 4 procs for 25000 steps with 1000 atoms - -Performance: 2397232.992 tau/day, 27745.752 timesteps/s -96.8% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.21557 | 0.22754 | 0.23651 | 1.9 | 25.25 -Neigh | 0.098304 | 0.10178 | 0.10595 | 1.0 | 11.30 -Comm | 0.051792 | 0.066485 | 0.079589 | 3.8 | 7.38 -Output | 0.00052619 | 0.00061941 | 0.00082016 | 0.0 | 0.07 -Modify | 0.31782 | 0.32767 | 0.33815 | 1.5 | 36.37 -Other | | 0.1769 | | | 19.64 - -Nlocal: 250 ave 267 max 232 min -Histogram: 1 0 0 0 1 1 0 0 0 1 -Nghost: 18 ave 23 max 14 min -Histogram: 2 0 0 0 0 0 0 1 0 1 -Neighs: 606 ave 664 max 559 min -Histogram: 1 0 1 0 0 1 0 0 0 1 - -Total # of neighbors = 2424 -Ave neighs/atom = 2.424 -Neighbor list builds = 2060 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/pour/log.27Nov18.pour.2d.molecule.g++.1 b/examples/pour/log.27Nov18.pour.2d.molecule.g++.1 deleted file mode 100644 index 38d3778b01..0000000000 --- a/examples/pour/log.27Nov18.pour.2d.molecule.g++.1 +++ /dev/null @@ -1,142 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Pour 2d granular particles into container - -dimension 2 -atom_style sphere -atom_modify map array -boundary f fm p -newton off -comm_modify vel yes cutoff 2.5 - -fix prop all property/atom mol ghost yes - -region reg block 0 100 0 50 -0.5 0.5 units box -create_box 1 reg -Created orthogonal box = (0 0 -0.5) to (100 50 0.5) - 1 by 1 by 1 MPI processor grid - -neighbor 0.2 bin -neigh_modify delay 0 - -# IMPORTANT NOTE: these values of stiffness (4000) and timestep (0.001) -# are used in this example file to produce a quick simulation and movie. -# More appropriate values for realistic simulations would be -# k = 4.0e5 and dt = 0.0001, as in bench/in.chute (if it were Hertzian). - -pair_style gran/hertz/history 4000.0 NULL 100.0 NULL 0.5 0 -pair_coeff * * - -timestep 0.001 - -fix 2 all gravity 1.0 spherical 0.0 -180.0 -fix xwalls all wall/gran hertz/history 4000.0 NULL 100.0 NULL 0 1 xplane 0 100 -fix ywalls all wall/gran hertz/history 4000.0 NULL 100.0 NULL 0 1 yplane 0 NULL - -molecule object molecule.vshape -Read molecule object: - 5 atoms with max type 1 - 0 bonds with max type 0 - 0 angles with max type 0 - 0 dihedrals with max type 0 - 0 impropers with max type 0 -fix 3 all rigid/small molecule mol object -0 rigid bodies with 0 atoms - 2.23607 = max distance from body owner to body atom - -# ensure region size + molecule size does not overlap wall - -region slab block 3.0 97.0 30 34.5 -0.5 0.5 units box -fix ins all pour 500 0 4767548 vol 0.8 10 region slab mol object rigid 3 -Particle insertion: 26 every 3000 steps, 500 by step 57001 - -fix 4 all enforce2d - -compute 1 all erotate/sphere -compute Tsphere all temp/sphere -thermo_style custom step atoms ke c_1 vol -thermo_modify lost ignore norm no temp Tsphere -compute_modify Tsphere dynamic/dof yes - -thermo 1000 - -#dump id all atom 100 tmp.dump - -#variable colors string # "red green blue yellow white # purple pink orange lime gray" -#variable mol2 atom mol%10 -#dump 2 all image 250 image.*.jpg v_mol2 type # zoom 1.6 adiam 1.5 -#dump_modify 2 pad 5 amap 0 10 sa 1 10 ${colors} - -#variable colors string # "red green blue yellow white # purple pink orange lime gray" -#variable mol3 atom mol%10 -#dump 3 all movie 250 movie.mpg v_mol3 type # zoom 1.6 adiam 1.5 -#dump_modify 3 pad 5 amap 0 10 sa 1 10 ${colors} - -run 25000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.2 - ghost atom cutoff = 2.5 - binsize = 0.6, bins = 167 84 2 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair gran/hertz/history, perpetual - attributes: half, newton off, size, history - pair build: half/size/bin/newtoff - stencil: half/bin/2d/newtoff - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.81 | 5.81 | 5.81 Mbytes -Step Atoms KinEng c_1 Volume - 0 0 -0 0 5000 - 1000 130 259.24123 2.3772821e-30 5000 - 2000 130 465.39775 9.5010246e-30 5000 - 3000 130 736.55426 2.1365791e-29 5000 - 4000 260 1274.295 6.045774e-05 5000 - 5000 260 1855.4991 0.0021687846 5000 - 6000 260 1743.415 1.9678991 5000 - 7000 390 1675.8228 2.0085353 5000 - 8000 390 1845.2936 2.678293 5000 - 9000 390 1747.0301 2.5461774 5000 - 10000 520 2204.3744 1.3847146 5000 - 11000 520 1872.5943 6.5018283 5000 - 12000 520 1448.8705 3.2789997 5000 - 13000 650 1687.7845 2.4723994 5000 - 14000 650 1534.5832 1.7381523 5000 - 15000 650 1517.5812 2.4425352 5000 - 16000 780 1681.4276 3.5245463 5000 - 17000 780 1660.4845 3.5652485 5000 - 18000 780 1400.1788 4.1717202 5000 - 19000 910 1525.4386 3.2537276 5000 - 20000 910 1326.4257 3.5226044 5000 - 21000 910 1125.4321 3.1564949 5000 - 22000 1040 1262.0253 1.6097601 5000 - 23000 1040 1042.7 3.1078701 5000 - 24000 1040 1167.4717 1.4954047 5000 - 25000 1170 1214.9087 2.4525535 5000 -Loop time of 3.36515 on 1 procs for 25000 steps with 1170 atoms - -Performance: 641872.369 tau/day, 7429.078 timesteps/s -99.8% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.73922 | 0.73922 | 0.73922 | 0.0 | 21.97 -Neigh | 0.22808 | 0.22808 | 0.22808 | 0.0 | 6.78 -Comm | 0.013331 | 0.013331 | 0.013331 | 0.0 | 0.40 -Output | 0.00082207 | 0.00082207 | 0.00082207 | 0.0 | 0.02 -Modify | 2.2694 | 2.2694 | 2.2694 | 0.0 | 67.44 -Other | | 0.1143 | | | 3.40 - -Nlocal: 1170 ave 1170 max 1170 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 1699 ave 1699 max 1699 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 1699 -Ave neighs/atom = 1.45214 -Neighbor list builds = 1715 -Dangerous builds = 0 -Total wall time: 0:00:03 diff --git a/examples/pour/log.27Nov18.pour.2d.molecule.g++.4 b/examples/pour/log.27Nov18.pour.2d.molecule.g++.4 deleted file mode 100644 index 397149fb6a..0000000000 --- a/examples/pour/log.27Nov18.pour.2d.molecule.g++.4 +++ /dev/null @@ -1,142 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Pour 2d granular particles into container - -dimension 2 -atom_style sphere -atom_modify map array -boundary f fm p -newton off -comm_modify vel yes cutoff 2.5 - -fix prop all property/atom mol ghost yes - -region reg block 0 100 0 50 -0.5 0.5 units box -create_box 1 reg -Created orthogonal box = (0 0 -0.5) to (100 50 0.5) - 4 by 1 by 1 MPI processor grid - -neighbor 0.2 bin -neigh_modify delay 0 - -# IMPORTANT NOTE: these values of stiffness (4000) and timestep (0.001) -# are used in this example file to produce a quick simulation and movie. -# More appropriate values for realistic simulations would be -# k = 4.0e5 and dt = 0.0001, as in bench/in.chute (if it were Hertzian). - -pair_style gran/hertz/history 4000.0 NULL 100.0 NULL 0.5 0 -pair_coeff * * - -timestep 0.001 - -fix 2 all gravity 1.0 spherical 0.0 -180.0 -fix xwalls all wall/gran hertz/history 4000.0 NULL 100.0 NULL 0 1 xplane 0 100 -fix ywalls all wall/gran hertz/history 4000.0 NULL 100.0 NULL 0 1 yplane 0 NULL - -molecule object molecule.vshape -Read molecule object: - 5 atoms with max type 1 - 0 bonds with max type 0 - 0 angles with max type 0 - 0 dihedrals with max type 0 - 0 impropers with max type 0 -fix 3 all rigid/small molecule mol object -0 rigid bodies with 0 atoms - 2.23607 = max distance from body owner to body atom - -# ensure region size + molecule size does not overlap wall - -region slab block 3.0 97.0 30 34.5 -0.5 0.5 units box -fix ins all pour 500 0 4767548 vol 0.8 10 region slab mol object rigid 3 -Particle insertion: 26 every 3000 steps, 500 by step 57001 - -fix 4 all enforce2d - -compute 1 all erotate/sphere -compute Tsphere all temp/sphere -thermo_style custom step atoms ke c_1 vol -thermo_modify lost ignore norm no temp Tsphere -compute_modify Tsphere dynamic/dof yes - -thermo 1000 - -#dump id all atom 100 tmp.dump - -#variable colors string # "red green blue yellow white # purple pink orange lime gray" -#variable mol2 atom mol%10 -#dump 2 all image 250 image.*.jpg v_mol2 type # zoom 1.6 adiam 1.5 -#dump_modify 2 pad 5 amap 0 10 sa 1 10 ${colors} - -#variable colors string # "red green blue yellow white # purple pink orange lime gray" -#variable mol3 atom mol%10 -#dump 3 all movie 250 movie.mpg v_mol3 type # zoom 1.6 adiam 1.5 -#dump_modify 3 pad 5 amap 0 10 sa 1 10 ${colors} - -run 25000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.2 - ghost atom cutoff = 2.5 - binsize = 0.6, bins = 167 84 2 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair gran/hertz/history, perpetual - attributes: half, newton off, size, history - pair build: half/size/bin/newtoff - stencil: half/bin/2d/newtoff - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.773 | 5.773 | 5.773 Mbytes -Step Atoms KinEng c_1 Volume - 0 0 -0 0 5000 - 1000 130 259.24123 2.3773387e-30 5000 - 2000 130 465.39775 9.5010816e-30 5000 - 3000 130 736.55426 2.1365846e-29 5000 - 4000 260 1274.295 6.045774e-05 5000 - 5000 260 1855.4991 0.0021687846 5000 - 6000 260 1743.415 1.9678991 5000 - 7000 390 1675.8228 2.0085353 5000 - 8000 390 1845.2936 2.678293 5000 - 9000 390 1747.0301 2.5461774 5000 - 10000 520 2204.3744 1.3847146 5000 - 11000 520 1872.5943 6.5018283 5000 - 12000 520 1448.8705 3.2789997 5000 - 13000 650 1687.7845 2.4723994 5000 - 14000 650 1534.5832 1.7381523 5000 - 15000 650 1517.5812 2.4425352 5000 - 16000 780 1680.8761 3.5506853 5000 - 17000 780 1661.6046 3.6673972 5000 - 18000 780 1391.3201 4.1075002 5000 - 19000 910 1526.6687 3.410537 5000 - 20000 910 1387.6908 2.7370047 5000 - 21000 910 1056.6723 2.5690119 5000 - 22000 1040 1226.7461 1.2299974 5000 - 23000 1040 1106.7165 3.1057108 5000 - 24000 1040 1161.9203 2.0994962 5000 - 25000 1170 1187.5093 2.9596172 5000 -Loop time of 1.4211 on 4 procs for 25000 steps with 1170 atoms - -Performance: 1519946.444 tau/day, 17591.973 timesteps/s -94.0% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.19053 | 0.21869 | 0.23582 | 3.7 | 15.39 -Neigh | 0.06394 | 0.066575 | 0.070017 | 0.9 | 4.68 -Comm | 0.055579 | 0.070079 | 0.080658 | 3.4 | 4.93 -Output | 0.0012593 | 0.0031545 | 0.0088205 | 5.8 | 0.22 -Modify | 0.89034 | 0.9006 | 0.91315 | 0.9 | 63.37 -Other | | 0.162 | | | 11.40 - -Nlocal: 292.5 ave 296 max 285 min -Histogram: 1 0 0 0 0 0 0 0 1 2 -Nghost: 44 ave 60 max 21 min -Histogram: 1 0 0 1 0 0 0 0 0 2 -Neighs: 433.25 ave 449 max 418 min -Histogram: 1 0 1 0 0 0 1 0 0 1 - -Total # of neighbors = 1733 -Ave neighs/atom = 1.4812 -Neighbor list builds = 1708 -Dangerous builds = 0 -Total wall time: 0:00:01 diff --git a/examples/pour/log.27Nov18.pour.g++.1 b/examples/pour/log.27Nov18.pour.g++.1 deleted file mode 100644 index a1ebc335cd..0000000000 --- a/examples/pour/log.27Nov18.pour.g++.1 +++ /dev/null @@ -1,175 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Pour granular particles into chute container, then induce flow - -atom_style sphere -boundary p p fm -newton off -comm_modify vel yes - -region reg block -10 10 -10 10 -0.5 16 units box -create_box 1 reg -Created orthogonal box = (-10 -10 -0.5) to (10 10 16) - 1 by 1 by 1 MPI processor grid - -neighbor 0.2 bin -neigh_modify delay 0 - -# IMPORTANT NOTE: these values of stiffness (2000) and timestep (0.001) -# are used in this example file to produce a quick simulation and movie. -# More appropriate values for realistic simulations would be -# k = 2.0e5 and dt = 0.0001, as in bench/in.chute. - -pair_style gran/hooke/history 2000.0 NULL 50.0 NULL 0.5 0 -pair_coeff * * - -timestep 0.001 - -fix 1 all nve/sphere -fix 2 all gravity 1.0 spherical 0.0 -180.0 -fix zlower all wall/gran hooke/history 2000.0 NULL 50.0 NULL 0.5 0 zplane 0.0 2000.0 - -region slab block -9.0 9.0 -9.0 9.0 10.0 15.0 units box -fix ins all pour 3000 1 300719 vol 0.13 50 region slab -Particle insertion: 402 every 3162 steps, 3000 by step 22135 - -compute 1 all erotate/sphere -thermo_style custom step atoms ke c_1 vol -thermo 1000 -thermo_modify lost ignore norm no -compute_modify thermo_temp dynamic/dof yes - -#dump id all atom 1000 dump.pour - -#dump 2 all image 1000 image.*.jpg type type # axes yes 0.8 0.02 view 80 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 1000 movie.mpg type type # axes yes 0.8 0.02 view 80 -30 -#dump_modify 3 pad 5 - -run 25000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.2 - ghost atom cutoff = 1.2 - binsize = 0.6, bins = 34 34 28 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair gran/hooke/history, perpetual - attributes: half, newton off, size, history - pair build: half/size/bin/newtoff - stencil: half/bin/3d/newtoff - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.955 | 5.955 | 5.955 Mbytes -Step Atoms KinEng c_1 Volume - 0 0 -0 0 6600 - 1000 402 768.04606 0 6600 - 2000 402 1407.1714 0 6600 - 3000 402 1373.819 15.59952 6600 - 4000 804 1737.1399 39.311164 6600 - 5000 804 1571.3184 67.501382 6600 - 6000 804 1318.6439 77.636174 6600 - 7000 1206 1522.1986 68.863683 6600 - 8000 1206 1387.2223 64.067846 6600 - 9000 1206 1265.9044 51.726525 6600 - 10000 1608 1460.3212 48.844763 6600 - 11000 1608 1310.2001 53.532609 6600 - 12000 1608 1134.4592 48.567743 6600 - 13000 2010 1182.5037 45.620614 6600 - 14000 2010 1192.4303 39.066935 6600 - 15000 2010 967.05968 42.363789 6600 - 16000 2412 1119.8304 39.217157 6600 - 17000 2412 1063.7921 45.71714 6600 - 18000 2412 855.28326 42.745948 6600 - 19000 2814 970.7019 40.155896 6600 - 20000 2814 923.94347 34.590568 6600 - 21000 2814 793.75092 36.707509 6600 - 22000 2814 543.4546 37.669131 6600 - 23000 3000 446.47658 39.719019 6600 - 24000 3000 331.57201 24.034747 6600 - 25000 3000 239.90493 18.457205 6600 -Loop time of 8.66761 on 1 procs for 25000 steps with 3000 atoms - -Performance: 249203.592 tau/day, 2884.301 timesteps/s -99.7% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 4.5311 | 4.5311 | 4.5311 | 0.0 | 52.28 -Neigh | 1.4556 | 1.4556 | 1.4556 | 0.0 | 16.79 -Comm | 0.2322 | 0.2322 | 0.2322 | 0.0 | 2.68 -Output | 0.00084257 | 0.00084257 | 0.00084257 | 0.0 | 0.01 -Modify | 2.1642 | 2.1642 | 2.1642 | 0.0 | 24.97 -Other | | 0.2837 | | | 3.27 - -Nlocal: 3000 ave 3000 max 3000 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 658 ave 658 max 658 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 13479 ave 13479 max 13479 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 13479 -Ave neighs/atom = 4.493 -Neighbor list builds = 1149 -Dangerous builds = 0 - -unfix ins -fix 2 all gravity 1.0 chute 26.0 -run 25000 -Per MPI rank memory allocation (min/avg/max) = 13.24 | 13.24 | 13.24 Mbytes -Step Atoms KinEng c_1 Volume - 25000 3000 239.90493 18.457205 6600 - 26000 3000 86.453151 19.990229 6600 - 27000 3000 104.03763 12.243926 6600 - 28000 3000 187.74939 11.703132 6600 - 29000 3000 316.59921 14.610301 6600 - 30000 3000 520.76149 18.82089 6600 - 31000 3000 821.71283 25.266473 6600 - 32000 3000 1153.8578 30.714985 6600 - 33000 3000 1520.1476 38.247011 6600 - 34000 3000 2006.3144 44.480026 6600 - 35000 3000 2556.4751 55.768118 6600 - 36000 3000 3160.9914 63.728696 6600 - 37000 3000 3877.5537 71.484742 6600 - 38000 3000 4675.4987 79.37485 6600 - 39000 3000 5479.8489 94.281786 6600 - 40000 3000 6350.6439 106.39353 6600 - 41000 3000 7245.0837 113.40306 6600 - 42000 3000 8227.1726 129.62268 6600 - 43000 3000 9422.0189 144.63991 6600 - 44000 3000 10616.036 149.84326 6600 - 45000 3000 11908.182 169.96204 6600 - 46000 3000 13257.313 184.73533 6600 - 47000 3000 14765.4 201.20237 6600 - 48000 3000 16184.643 202.00907 6600 - 49000 3000 17573.204 215.30429 6600 - 50000 3000 19117.749 232.28939 6600 -Loop time of 16.4345 on 1 procs for 25000 steps with 3000 atoms - -Performance: 131430.508 tau/day, 1521.186 timesteps/s -99.8% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 9.893 | 9.893 | 9.893 | 0.0 | 60.20 -Neigh | 2.1448 | 2.1448 | 2.1448 | 0.0 | 13.05 -Comm | 0.47991 | 0.47991 | 0.47991 | 0.0 | 2.92 -Output | 0.0011523 | 0.0011523 | 0.0011523 | 0.0 | 0.01 -Modify | 3.4635 | 3.4635 | 3.4635 | 0.0 | 21.07 -Other | | 0.4522 | | | 2.75 - -Nlocal: 3000 ave 3000 max 3000 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 742 ave 742 max 742 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 13997 ave 13997 max 13997 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 13997 -Ave neighs/atom = 4.66567 -Neighbor list builds = 836 -Dangerous builds = 0 -Total wall time: 0:00:25 diff --git a/examples/pour/log.27Nov18.pour.g++.4 b/examples/pour/log.27Nov18.pour.g++.4 deleted file mode 100644 index 004bf92608..0000000000 --- a/examples/pour/log.27Nov18.pour.g++.4 +++ /dev/null @@ -1,175 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Pour granular particles into chute container, then induce flow - -atom_style sphere -boundary p p fm -newton off -comm_modify vel yes - -region reg block -10 10 -10 10 -0.5 16 units box -create_box 1 reg -Created orthogonal box = (-10 -10 -0.5) to (10 10 16) - 2 by 2 by 1 MPI processor grid - -neighbor 0.2 bin -neigh_modify delay 0 - -# IMPORTANT NOTE: these values of stiffness (2000) and timestep (0.001) -# are used in this example file to produce a quick simulation and movie. -# More appropriate values for realistic simulations would be -# k = 2.0e5 and dt = 0.0001, as in bench/in.chute. - -pair_style gran/hooke/history 2000.0 NULL 50.0 NULL 0.5 0 -pair_coeff * * - -timestep 0.001 - -fix 1 all nve/sphere -fix 2 all gravity 1.0 spherical 0.0 -180.0 -fix zlower all wall/gran hooke/history 2000.0 NULL 50.0 NULL 0.5 0 zplane 0.0 2000.0 - -region slab block -9.0 9.0 -9.0 9.0 10.0 15.0 units box -fix ins all pour 3000 1 300719 vol 0.13 50 region slab -Particle insertion: 402 every 3162 steps, 3000 by step 22135 - -compute 1 all erotate/sphere -thermo_style custom step atoms ke c_1 vol -thermo 1000 -thermo_modify lost ignore norm no -compute_modify thermo_temp dynamic/dof yes - -#dump id all atom 1000 dump.pour - -#dump 2 all image 1000 image.*.jpg type type # axes yes 0.8 0.02 view 80 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 1000 movie.mpg type type # axes yes 0.8 0.02 view 80 -30 -#dump_modify 3 pad 5 - -run 25000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.2 - ghost atom cutoff = 1.2 - binsize = 0.6, bins = 34 34 28 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair gran/hooke/history, perpetual - attributes: half, newton off, size, history - pair build: half/size/bin/newtoff - stencil: half/bin/3d/newtoff - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.83 | 5.83 | 5.83 Mbytes -Step Atoms KinEng c_1 Volume - 0 0 -0 0 6600 - 1000 402 768.04606 0 6600 - 2000 402 1407.1714 0 6600 - 3000 402 1373.819 15.59952 6600 - 4000 804 1737.1399 39.311164 6600 - 5000 804 1571.3184 67.501382 6600 - 6000 804 1318.6439 77.636174 6600 - 7000 1206 1521.8348 69.010381 6600 - 8000 1206 1391.0761 64.407583 6600 - 9000 1206 1264.98 50.32567 6600 - 10000 1608 1462.7175 49.903609 6600 - 11000 1608 1317.5878 52.401196 6600 - 12000 1608 1120.9416 46.067058 6600 - 13000 2010 1200.1517 49.662302 6600 - 14000 2010 1180.2805 38.850379 6600 - 15000 2010 970.23519 39.121533 6600 - 16000 2412 1101.3888 44.051087 6600 - 17000 2412 1054.4967 43.489619 6600 - 18000 2412 850.25959 42.296696 6600 - 19000 2814 959.68841 42.757546 6600 - 20000 2814 933.72206 42.668586 6600 - 21000 2814 779.2842 42.116934 6600 - 22000 2814 537.68477 35.113909 6600 - 23000 3000 456.26221 36.394458 6600 - 24000 3000 334.38331 26.256087 6600 - 25000 3000 233.7217 18.768345 6600 -Loop time of 2.79912 on 4 procs for 25000 steps with 3000 atoms - -Performance: 771671.423 tau/day, 8931.382 timesteps/s -97.1% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 1.0916 | 1.1431 | 1.1982 | 4.0 | 40.84 -Neigh | 0.37439 | 0.39186 | 0.41149 | 2.6 | 14.00 -Comm | 0.32241 | 0.32795 | 0.33831 | 1.1 | 11.72 -Output | 0.00068283 | 0.0029467 | 0.0094671 | 6.9 | 0.11 -Modify | 0.5813 | 0.5952 | 0.60947 | 1.5 | 21.26 -Other | | 0.3381 | | | 12.08 - -Nlocal: 750 ave 765 max 730 min -Histogram: 1 0 0 0 1 0 0 0 1 1 -Nghost: 390.75 ave 393 max 385 min -Histogram: 1 0 0 0 0 0 0 0 1 2 -Neighs: 3548 ave 3643 max 3454 min -Histogram: 1 0 1 0 0 0 0 1 0 1 - -Total # of neighbors = 14192 -Ave neighs/atom = 4.73067 -Neighbor list builds = 1152 -Dangerous builds = 0 - -unfix ins -fix 2 all gravity 1.0 chute 26.0 -run 25000 -Per MPI rank memory allocation (min/avg/max) = 12.16 | 12.39 | 13.06 Mbytes -Step Atoms KinEng c_1 Volume - 25000 3000 233.7217 18.768345 6600 - 26000 3000 80.58756 21.114703 6600 - 27000 3000 112.90794 11.760837 6600 - 28000 3000 211.68857 11.667711 6600 - 29000 3000 368.27114 15.483397 6600 - 30000 3000 611.33941 21.023859 6600 - 31000 3000 902.04662 29.663904 6600 - 32000 3000 1188.6213 31.996848 6600 - 33000 3000 1626.3144 38.244424 6600 - 34000 3000 2068.1939 45.793779 6600 - 35000 3000 2654.4292 55.900641 6600 - 36000 3000 3212.0662 64.492942 6600 - 37000 3000 3942.9079 73.557353 6600 - 38000 3000 4710.2169 84.24051 6600 - 39000 3000 5513.597 93.737814 6600 - 40000 3000 6367.338 112.43633 6600 - 41000 3000 7417.7889 130.70338 6600 - 42000 3000 8428.2678 124.66302 6600 - 43000 3000 9498.0121 136.37107 6600 - 44000 3000 10680.269 149.21074 6600 - 45000 3000 11852.03 154.67802 6600 - 46000 3000 12896.699 167.10324 6600 - 47000 3000 14218.465 196.70386 6600 - 48000 3000 15555.796 204.40316 6600 - 49000 3000 16694.338 208.98934 6600 - 50000 3000 17936.665 192.19442 6600 -Loop time of 5.65089 on 4 procs for 25000 steps with 3000 atoms - -Performance: 382240.368 tau/day, 4424.078 timesteps/s -94.3% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 2.5656 | 2.5853 | 2.6068 | 0.9 | 45.75 -Neigh | 0.57736 | 0.59939 | 0.61824 | 1.9 | 10.61 -Comm | 0.58146 | 0.63908 | 0.70461 | 5.5 | 11.31 -Output | 0.00081015 | 0.002184 | 0.0061922 | 5.0 | 0.04 -Modify | 0.91975 | 0.93371 | 0.95875 | 1.5 | 16.52 -Other | | 0.8912 | | | 15.77 - -Nlocal: 750 ave 758 max 741 min -Histogram: 1 0 0 0 0 2 0 0 0 1 -Nghost: 404 ave 417 max 395 min -Histogram: 1 0 1 0 1 0 0 0 0 1 -Neighs: 3603.75 ave 3695 max 3528 min -Histogram: 1 0 0 1 1 0 0 0 0 1 - -Total # of neighbors = 14415 -Ave neighs/atom = 4.805 -Neighbor list builds = 827 -Dangerous builds = 0 -Total wall time: 0:00:08 From 4a7ab34568a4413cafe888b84c4ff4e690e2c207 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 16 Mar 2023 22:57:56 -0400 Subject: [PATCH 349/448] lift restriction to Sphinx version < 6.0, enable jquery extension --- doc/utils/requirements.txt | 3 ++- doc/utils/sphinx-config/conf.py.in | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/utils/requirements.txt b/doc/utils/requirements.txt index 8bec6d4148..a7a03e6e41 100644 --- a/doc/utils/requirements.txt +++ b/doc/utils/requirements.txt @@ -1,5 +1,6 @@ -Sphinx<6.0.0 +Sphinx < 7.0.0 sphinxcontrib-spelling +sphinxcontrib-jquery >=3.0.0 git+https://github.com/akohlmey/sphinx-fortran@parallel-read sphinx_tabs breathe diff --git a/doc/utils/sphinx-config/conf.py.in b/doc/utils/sphinx-config/conf.py.in index e8a67cc4f6..0da553d755 100644 --- a/doc/utils/sphinx-config/conf.py.in +++ b/doc/utils/sphinx-config/conf.py.in @@ -47,6 +47,7 @@ extensions = [ 'sphinx.ext.mathjax', 'sphinx.ext.imgmath', 'sphinx.ext.autodoc', + 'sphinxcontrib.jquery', 'sphinxfortran.fortran_domain', 'sphinx_tabs.tabs', 'table_from_list', From 21c71bf35d72875202e2d2b615db84eec7437fb2 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 16 Mar 2023 23:36:13 -0400 Subject: [PATCH 350/448] mention project boards. remove reference to milestones. --- doc/github-development-workflow.md | 32 +++++++++++++++++------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/doc/github-development-workflow.md b/doc/github-development-workflow.md index 830ce85f48..fccd75d29a 100644 --- a/doc/github-development-workflow.md +++ b/doc/github-development-workflow.md @@ -123,7 +123,7 @@ request is merged. The template for pull requests includes a header where connections between pull requests and issues can be listed, and thus where this comment should be placed. -## Milestones and Release Planning +## Release Planning LAMMPS uses a continuous release development model with incremental changes, i.e. significant effort is made -- including automated pre-merge @@ -132,24 +132,28 @@ broken. These tests are run after every update to a pull request. More extensive and time-consuming tests (including regression testing) are performed after code is merged to the "develop" branch. There are feature releases of LAMMPS made about every 4-6 weeks at a point, when the LAMMPS -developers feel, that a sufficient number of changes has been included +developers feel, that a sufficient number of changes have been included and all post-merge testing has been successful. These feature releases are marked with a `patch_` tag and the "release" branch follows only these versions with fast-forward merges. While "develop" may be temporarily broken through issues only detected by the post-merge tests, The "release" branch is always supposed to be of production quality. -About once each year, there is a "stable" release of LAMMPS. -These have seen additional, manual testing and review of -results from testing with instrumented code and static code analysis. -Also, the last few feature releases before a stable release are "release -candidate" versions which only contain bug fixes, feature additions to -peripheral functionality, and documentation updates. In between stable -releases, bug fixes and infrastructure updates are back-ported from the -"develop" branch to the "maintenance" branch and occasionally merged -into "stable" and published as update releases. +About once each year, there is a "stable" release of LAMMPS. These have +seen additional, manual testing and review of results from testing with +instrumented code and static code analysis. Also, the last few feature +releases before a stable release are "release candidate" versions which +only contain bug fixes, feature additions to peripheral functionality, +and documentation updates. In between stable releases, bug fixes and +infrastructure updates are back-ported from the "develop" branch to the +"maintenance" branch and occasionally merged into "stable" and published +as update releases. + +## Project Management For release planning and the information of code contributors, issues -and pull requests being actively worked on are assigned a "milestone", -which corresponds to the next stable release or the stable release after -that, with a tentative release date. +and pull requests are being managed with GitHub Project Boards. There +are currently three boards: LAMMPS Feature Requests, LAMMPS Bug Reports, +and LAMMPS Pull Requests. Each board is organized in columns where +submissions are categorized. Within each column the entries are +(manually) sorted according their priority. From 14e30d61cffce335686dbac85c9ac975f930f9cf Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 17 Mar 2023 06:30:14 -0400 Subject: [PATCH 351/448] more content --- doc/src/Developer_write_pair.rst | 176 ++++++++++++++++++++++++++++--- 1 file changed, 160 insertions(+), 16 deletions(-) diff --git a/doc/src/Developer_write_pair.rst b/doc/src/Developer_write_pair.rst index 6204da3ecf..1f4670d871 100644 --- a/doc/src/Developer_write_pair.rst +++ b/doc/src/Developer_write_pair.rst @@ -11,11 +11,16 @@ one. Pair styles can be grouped in multiple categories: (e.g. :doc:`Lennard-Jones `, :doc:`Morse `, :doc:`Buckingham `) #. pairwise additive interactions of point particles with added - :doc:`Coulomb ` interactions + :doc:`Coulomb ` interactions or *only* the Coulomb interactions #. manybody interactions of point particles (e.g. :doc:`EAM `, :doc:`Tersoff `) #. complex interactions that include additional per-atom properties (e.g. Discrete Element Models (DEM), Peridynamics, Ellipsoids) +#. special purpose pair styles that may not even compute forces like + :doc:`pair_style zero ` and :doc:`pair_style tracker + `, or are a wrapper for multiple kinds of interactions + like :doc:`pair_style hybrid `, :doc:`pair_style list `, + and :doc:`pair_style kim ` In the text below, we will discuss aspects of implementing pair styles in LAMMPS by looking at representative case studies. The design of @@ -382,7 +387,11 @@ the atom type arguments of the :doc:`pair_coeff command ` may be a range (e.g. \*\ 3 for atom types 1, 2, and 3), the corresponding arguments are passed to the :cpp:func:`utils::bounds() ` function which will then return the low -and high end of the range. +and high end of the range. Note that the ``setflag`` array is set to 1 +for all pairs of atom types processed by this call. This information is +later used in the ``init_one()`` function to determine if any coefficients +are missing and, if supported by the potential, generate those missing +coefficients from the selected mixing rule. .. code-block:: c++ @@ -427,24 +436,23 @@ and high end of the range. Initialization """""""""""""" -The ``init()`` function is called during the :doc:`"init" phase +The ``init_one()`` function is called during the :doc:`"init" phase ` of a simulation. This is where potential parameters are checked for completeness, derived parameters computed (e.g. the "offset" of the potential energy at the cutoff distance for use with the -:doc:`pair_modify shift yes ` command. If a pair style +:doc:`pair_modify shift yes ` command). If a pair style supports generating "mixed" parameters (i.e. where both atoms of a pair -have a different atom type) from a "mixing rule" from the parameters of +have a different atom type) using a "mixing rule" from the parameters of the type with itself, this is the place to compute and store those mixed -values. The *born/gauss* pair style does not, so we only check for -completeness. Another purpose of the ``init()`` function is to -symmetrize the potential parameter arrays. The return value is the -cutoff for the given pair of atom types. This is used by the neighbor -list code to determine the largest cutoff and then build the neighbor -lists accordingly. +values. The *born/gauss* pair style does not support mixing, so we only +check for completeness. Another purpose of the ``init_one()`` function +is to symmetrize the potential parameter arrays. The return value of +the function is the cutoff for the given pair of atom types. This +information is used by the neighbor list code to determine the largest +cutoff and then build the neighbor lists accordingly. .. code-block:: c++ - /* ---------------------------------------------------------------------- init for one type pair i,j and corresponding j,i ------------------------------------------------------------------------- */ @@ -474,11 +482,18 @@ lists accordingly. Computing forces from the neighbor list (required) """""""""""""""""""""""""""""""""""""""""""""""""" -The ``compute()`` function is the "workhorse" of a pair style. +The ``compute()`` function is the "workhorse" of a pair style. This is where +we have the nested loops all pairs of particles from the neighbor list to +compute forces and - if needed - energy and virial. + +The first part is to define some variables for later use and store cached +copies of data or pointers we need to access frequently. Also, this is +a good place to call `Pair::ev_init()`, which initializes several flags +derived from the `eflag` and `vflag` parameters signaling whether energy +and virial need to be tallied and whether only globally or also per-atom. .. code-block:: c++ - /* ---------------------------------------------------------------------- */ void PairBornGauss::compute(int eflag, int vflag) @@ -503,6 +518,22 @@ The ``compute()`` function is the "workhorse" of a pair style. numneigh = list->numneigh; firstneigh = list->firstneigh; +The outer loop (index *i*) is over local atoms of our sub-domain. +Typically, the value of `inum` (the number of neighbor lists) is the +same as the number of local atoms (= atoms *owned* but this sub-domain). +But in case the pair style is used as a sub-style of a :doc:`hybrid pair +style ` or neighbor list entries are removed with +:doc:`neigh_modify ` this number may be smaller. The array +`list->ilist` has the (local) indices of the atoms for which neighbor +lists have been created. Then `list->numneigh` is an `inum` sized array +with the number of entries of each list of neighbors and +`list->firstneigh` is a list of pointers to those lists. + +For efficiency reasons, cached copies of some properties of the outer +loop atoms are initialized. + +.. code-block:: c++ + // loop over neighbors of my atoms for (ii = 0; ii < inum; ii++) { @@ -514,6 +545,26 @@ The ``compute()`` function is the "workhorse" of a pair style. jlist = firstneigh[i]; jnum = numneigh[i]; +The inner loop (index (*j*) processes the neighbor lists. The neighbor +list code encodes in the upper bits (typically the upper 2 bit) whether +a pair is a 1-2, 1-3, or 1-4 :doc:`"special" neighbor ` +and we store the corresponding scaling factor in `factor_lj`. The ``sbmask()`` +inline function extracts those bits and converts them into a number from +0 to 3. The `force->special_lj` array contains the scaling factors for +non-Coulomb interactions between such pairs. Due to adding the extra bits, +the value of *j* would be out of range for the position arrays, so we apply +the NEIGHMASK constant to mask them out. This step *must* be done even if +a pair style does not use special bond scaling. Otherwise there will be +a segmentation fault for any system containing bonds. + +With the corrected *j* index it is now possible to compute the distance of +the pair. For efficiency reasons, the square root is only taken *after* +the check for the cutoff (which has been stored as squared cutoff by the +``Pair`` base class). For some pair styles, like the 12-6 Lennard-Jones +potential, computing the square root can be avoided entirely. + +.. code-block:: c++ + for (jj = 0; jj < jnum; jj++) { j = jlist[jj]; factor_lj = special_lj[sbmask(j)]; @@ -525,6 +576,14 @@ The ``compute()`` function is the "workhorse" of a pair style. rsq = delx * delx + dely * dely + delz * delz; jtype = type[j]; +This block is the actual application of the model potential to compute +the force. Note, that *fpair* is actually the force divided by the +distance, as this simplifies the projection of the x-, y-, and +z-components of the force vector by simply multiplying with the +respective distances in those directions. + +.. code-block:: c++ + if (rsq < cutsq[itype][jtype]) { r = sqrt(rsq); dr = r - r0[itype][jtype]; @@ -534,6 +593,24 @@ The ``compute()`` function is the "workhorse" of a pair style. fpair -= 2.0 * beta[itype][jtype] * dr * bexp; fpair *= factor_lj / r; +In this block the force is added to the per-atom force arrays. This +pair style uses a "half" neighbor list (each pair is listed only once) +so we take advantage of the fact that :math:` \vec{F}_{ij} = +-\vec{F}_{ji}`, i.e. apply Newton's third law. The force is *always* +stored when the atom is a "local" atom. Index *i* atoms are always "local" +(i.e. *i* < nlocal); index *j* atoms may be "ghost" atoms (*j* >= nlocal). + +Depending on the settings used with the :doc:`newton command ` +those pairs are are only listed once globally (newton_pair == 1), then +forces must be stored even with ghost atoms and then - after all forces +are computed - a "reverse communication" is performed to add those ghost +forces to their corresponding local atoms. If the setting is disabled, +then the extra communication is skipped, since pairs straddling +sub-domain boundaries are listed twice, that is where one of the two +atoms is a "local" atom. + +.. code-block:: c++ + f[i][0] += delx * fpair; f[i][1] += dely * fpair; f[i][2] += delz * fpair; @@ -543,12 +620,31 @@ The ``compute()`` function is the "workhorse" of a pair style. f[j][2] -= delz * fpair; } +For typical MD simulations, the potential energy is merely a diagnostic +and only output infrequently. Similarly, the pressure may only be computed +for infrequent diagnostic output. For all timesteps where this information +is not needed either `eflag` or `evflag` are zero and the computation skipped. + +The ``ev_tally()`` tallies global or per-atom energy and virial. + +.. code-block:: c++ + if (eflag) evdwl = factor_lj * (aexp - bexp - offset[itype][jtype]); if (evflag) ev_tally(i, j, nlocal, newton_pair, evdwl, 0.0, fpair, delx, dely, delz); } } } +If only the global virial is needed, then calls to ``ev_tally()`` can be +avoided and the global virial can be computed more efficiently using +total per-atom force vector and its position vector. +:math:`\vec{F}\cdot\vec{r}`. This has to be done *before* the reverse +communication to collect data from ghost atom, since the position has to +be the position used to compute the force, i.e. *not* the "local" +position if that ghost atom is a periodic copy. + +.. code-block:: c++ + if (vflag_fdotr) virial_fdotr_compute(); } @@ -556,6 +652,18 @@ The ``compute()`` function is the "workhorse" of a pair style. Computing force and energy for a single pair """""""""""""""""""""""""""""""""""""""""""" +Certain features in LAMMPS utilize computing interactions between +individual pairs of atoms only and the (optional) ``single()`` function +is needed to support those features (e.g. for tabulation of force and +energy with :doc:`pair_write `). This is a repetition of +the force kernel in the ``compute()`` function, but without the loop +over the neighbor list. By construction, this is also less efficient. +The energy is returned as the return value of the function and the force +as the `fforce` reference. Note, that this is - same as *fpair* in he +``compute()`` function - the magnitude of the force along the vector +between the two atoms *divided* by the distance. + + .. code-block:: c++ /* ---------------------------------------------------------------------- */ @@ -604,6 +712,8 @@ Reading and writing of restart files } } +.. code-block:: c++ + /* ---------------------------------------------------------------------- proc 0 reads from restart file, bcasts ------------------------------------------------------------------------- */ @@ -640,6 +750,8 @@ Reading and writing of restart files } } +.. code-block:: c++ + /* ---------------------------------------------------------------------- proc 0 writes to restart file ------------------------------------------------------------------------- */ @@ -651,6 +763,8 @@ Reading and writing of restart files fwrite(&mix_flag, sizeof(int), 1, fp); } +.. code-block:: c++ + /* ---------------------------------------------------------------------- proc 0 reads from restart file, bcasts ------------------------------------------------------------------------- */ @@ -670,7 +784,7 @@ Reading and writing of restart files Writing coefficients to data files """""""""""""""""""""""""""""""""" -.. code-block:: +.. code-block:: c++ /* ---------------------------------------------------------------------- proc 0 writes to data file @@ -683,6 +797,8 @@ Writing coefficients to data files r0[i][i]); } +.. code-block:: c++ + /* ---------------------------------------------------------------------- proc 0 writes all pairs to data file ------------------------------------------------------------------------- */ @@ -699,7 +815,7 @@ Writing coefficients to data files Give access to internal data """""""""""""""""""""""""""" -.. code-block:: +.. code-block:: c++ /* ---------------------------------------------------------------------- */ @@ -712,6 +828,34 @@ Give access to internal data return nullptr; } +Case 2: a many-body potential +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Since there is a detailed description of the purpose and general layout +of a pair style in the previous case, we will focus on where the +implementation of a typical many-body potential *differs* from a +pair-wise additive potential. We will use the implementation of the +Stillinger-Weber potential as :doc:`pair_style sw ` as an +example. + +TBA + +Case 3: a potential requiring communication +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +For some models, the interactions between atoms depends on properties of +their environment which have to be computed *before* the the forces can +be computed. Since LAMMPS is designed to run in parallel using a +:doc:`domain decomposition strategy `, not all +information of the atoms may be directly available and thus +communication steps may be need to collect data from ghost atoms of +neighboring subdomains or send data to ghost atoms for application +during the pairwise computation. For this we will look at how the +embedding term of the :doc:`embedded atom potential EAM ` is +implemented in LAMMPS. + +TBA + -------------- .. _Bomont2: From 1ccb0f8d8dd9193ca027b8955cf1d0038a28c0ad Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 18 Mar 2023 05:55:03 -0400 Subject: [PATCH 352/448] Introduce ComputeChunk class with shared functionality of all /chunk computes --- .../compute_dipole_tip4p_chunk.cpp | 190 +++------ .../compute_dipole_tip4p_chunk.h | 18 +- .../compute_gyration_shape_chunk.cpp | 55 +-- src/compute_angmom_chunk.cpp | 98 +---- src/compute_angmom_chunk.h | 20 +- src/compute_chunk.cpp | 156 +++++++ src/compute_chunk.h | 49 +++ src/compute_com_chunk.cpp | 141 ++----- src/compute_com_chunk.h | 22 +- src/compute_dipole_chunk.cpp | 184 +++------ src/compute_dipole_chunk.h | 18 +- src/compute_gyration_chunk.cpp | 212 +++------- src/compute_gyration_chunk.h | 18 +- src/compute_inertia_chunk.cpp | 170 ++------ src/compute_inertia_chunk.h | 19 +- src/compute_msd_chunk.cpp | 143 ++----- src/compute_msd_chunk.h | 16 +- src/compute_omega_chunk.cpp | 272 ++++-------- src/compute_omega_chunk.h | 20 +- src/compute_property_chunk.cpp | 177 ++------ src/compute_property_chunk.h | 20 +- src/compute_reduce_chunk.cpp | 231 ++++------- src/compute_reduce_chunk.h | 17 +- src/compute_temp_chunk.cpp | 390 +++++++----------- src/compute_temp_chunk.h | 18 +- src/compute_torque_chunk.cpp | 156 ++----- src/compute_torque_chunk.h | 17 +- src/compute_vcm_chunk.cpp | 140 ++----- src/compute_vcm_chunk.h | 21 +- 29 files changed, 958 insertions(+), 2050 deletions(-) create mode 100644 src/compute_chunk.cpp create mode 100644 src/compute_chunk.h diff --git a/src/EXTRA-COMPUTE/compute_dipole_tip4p_chunk.cpp b/src/EXTRA-COMPUTE/compute_dipole_tip4p_chunk.cpp index 651811bba5..571f1d562d 100644 --- a/src/EXTRA-COMPUTE/compute_dipole_tip4p_chunk.cpp +++ b/src/EXTRA-COMPUTE/compute_dipole_tip4p_chunk.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -22,11 +21,9 @@ #include "domain.h" #include "error.h" #include "force.h" -#include "pair.h" #include "math_special.h" #include "memory.h" -#include "modify.h" -#include "update.h" +#include "pair.h" #include #include @@ -39,13 +36,10 @@ enum { MASSCENTER, GEOMCENTER }; /* ---------------------------------------------------------------------- */ ComputeDipoleTIP4PChunk::ComputeDipoleTIP4PChunk(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), - idchunk(nullptr), massproc(nullptr), masstotal(nullptr), chrgproc(nullptr), - chrgtotal(nullptr), com(nullptr), - comall(nullptr), dipole(nullptr), dipoleall(nullptr) + ComputeChunk(lmp, narg, arg), massproc(nullptr), masstotal(nullptr), chrgproc(nullptr), + chrgtotal(nullptr), com(nullptr), comall(nullptr), dipole(nullptr), dipoleall(nullptr) { - if ((narg != 4) && (narg != 5)) - error->all(FLERR,"Illegal compute dipole/tip4p/chunk command"); + if ((narg != 4) && (narg != 5)) error->all(FLERR, "Illegal compute dipole/tip4p/chunk command"); array_flag = 1; size_array_cols = 4; @@ -53,32 +47,25 @@ ComputeDipoleTIP4PChunk::ComputeDipoleTIP4PChunk(LAMMPS *lmp, int narg, char **a size_array_rows_variable = 1; extarray = 0; - // ID of compute chunk/atom - - idchunk = utils::strdup(arg[3]); - usecenter = MASSCENTER; if (narg == 5) { - if (strncmp(arg[4],"geom",4) == 0) usecenter = GEOMCENTER; - else if (strcmp(arg[4],"mass") == 0) usecenter = MASSCENTER; - else error->all(FLERR,"Illegal compute dipole/tip4p/chunk command"); + if (strncmp(arg[4], "geom", 4) == 0) + usecenter = GEOMCENTER; + else if (strcmp(arg[4], "mass") == 0) + usecenter = MASSCENTER; + else + error->all(FLERR, "Illegal compute dipole/tip4p/chunk command"); } ComputeDipoleTIP4PChunk::init(); - - // chunk-based data - - nchunk = 1; - maxchunk = 0; - allocate(); + ComputeDipoleTIP4PChunk::allocate(); } /* ---------------------------------------------------------------------- */ ComputeDipoleTIP4PChunk::~ComputeDipoleTIP4PChunk() { - delete[] idchunk; memory->destroy(massproc); memory->destroy(masstotal); memory->destroy(chrgproc); @@ -93,14 +80,10 @@ ComputeDipoleTIP4PChunk::~ComputeDipoleTIP4PChunk() void ComputeDipoleTIP4PChunk::init() { - int icompute = modify->find_compute(idchunk); - if (icompute < 0) - error->all(FLERR,"Chunk/atom compute does not exist for compute dipole/tip4p/chunk"); - cchunk = dynamic_cast(modify->compute[icompute]); - if (strcmp(cchunk->style,"chunk/atom") != 0) - error->all(FLERR,"Compute dipole/tip4p/chunk does not use chunk/atom compute"); + ComputeChunk::init(); - if (!force->pair) error->all(FLERR, "Pair style must be defined for compute dipole/tip4p/chunk"); + if (!force->pair) + error->all(FLERR, "A pair style must be defined for compute dipole/tip4p/chunk"); int itmp; double *p_qdist = (double *) force->pair->extract("qdist", itmp); @@ -130,23 +113,13 @@ void ComputeDipoleTIP4PChunk::init() void ComputeDipoleTIP4PChunk::compute_array() { - int i,index; + int i, index; double massone; double unwrap[3]; - invoked_array = update->ntimestep; - - // compute chunk/atom assigns atoms to chunk IDs - // extract ichunk index vector from compute - // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms - - nchunk = cchunk->setup_chunks(); - cchunk->compute_ichunk(); + ComputeChunk::compute_array(); int *ichunk = cchunk->ichunk; - if (nchunk > maxchunk) allocate(); - size_array_rows = nchunk; - // zero local per-chunk values for (i = 0; i < nchunk; i++) { @@ -172,13 +145,16 @@ void ComputeDipoleTIP4PChunk::compute_array() for (i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; if (usecenter == MASSCENTER) { - if (rmass) massone = rmass[i]; - else massone = mass[type[i]]; - } else massone = 1.0; // usecenter == GEOMCENTER - domain->unmap(x[i],image[i],unwrap); + if (rmass) + massone = rmass[i]; + else + massone = mass[type[i]]; + } else + massone = 1.0; // usecenter == GEOMCENTER + domain->unmap(x[i], image[i], unwrap); massproc[index] += massone; if (atom->q_flag) chrgproc[index] += q[i]; com[index][0] += unwrap[0] * massone; @@ -186,9 +162,9 @@ void ComputeDipoleTIP4PChunk::compute_array() com[index][2] += unwrap[2] * massone; } - MPI_Allreduce(massproc,masstotal,nchunk,MPI_DOUBLE,MPI_SUM,world); - MPI_Allreduce(chrgproc,chrgtotal,nchunk,MPI_DOUBLE,MPI_SUM,world); - MPI_Allreduce(&com[0][0],&comall[0][0],3*nchunk,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(massproc, masstotal, nchunk, MPI_DOUBLE, MPI_SUM, world); + MPI_Allreduce(chrgproc, chrgtotal, nchunk, MPI_DOUBLE, MPI_SUM, world); + MPI_Allreduce(&com[0][0], &comall[0][0], 3 * nchunk, MPI_DOUBLE, MPI_SUM, world); for (i = 0; i < nchunk; i++) { if (masstotal[i] > 0.0) { @@ -202,20 +178,20 @@ void ComputeDipoleTIP4PChunk::compute_array() for (i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; if (type[i] == typeO) { - find_M(i,xM); + find_M(i, xM); xi = xM; } else { xi = x[i]; } - domain->unmap(xi,image[i],unwrap); + domain->unmap(xi, image[i], unwrap); if (atom->q_flag) { - dipole[index][0] += q[i]*unwrap[0]; - dipole[index][1] += q[i]*unwrap[1]; - dipole[index][2] += q[i]*unwrap[2]; + dipole[index][0] += q[i] * unwrap[0]; + dipole[index][1] += q[i] * unwrap[1]; + dipole[index][2] += q[i] * unwrap[2]; } if (atom->mu_flag) { dipole[index][0] += mu[i][0]; @@ -225,82 +201,26 @@ void ComputeDipoleTIP4PChunk::compute_array() } } - MPI_Allreduce(&dipole[0][0],&dipoleall[0][0],4*nchunk,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&dipole[0][0], &dipoleall[0][0], 4 * nchunk, MPI_DOUBLE, MPI_SUM, world); for (i = 0; i < nchunk; i++) { // correct for position dependence with charged chunks - dipoleall[i][0] -= chrgtotal[i]*comall[i][0]; - dipoleall[i][1] -= chrgtotal[i]*comall[i][1]; - dipoleall[i][2] -= chrgtotal[i]*comall[i][2]; + dipoleall[i][0] -= chrgtotal[i] * comall[i][0]; + dipoleall[i][1] -= chrgtotal[i] * comall[i][1]; + dipoleall[i][2] -= chrgtotal[i] * comall[i][2]; // compute total dipole moment - dipoleall[i][3] = sqrt(square(dipoleall[i][0]) - + square(dipoleall[i][1]) - + square(dipoleall[i][2])); + dipoleall[i][3] = + sqrt(square(dipoleall[i][0]) + square(dipoleall[i][1]) + square(dipoleall[i][2])); } } -/* ---------------------------------------------------------------------- - lock methods: called by fix ave/time - these methods ensure vector/array size is locked for Nfreq epoch - by passing lock info along to compute chunk/atom -------------------------------------------------------------------------- */ - -/* ---------------------------------------------------------------------- - increment lock counter -------------------------------------------------------------------------- */ - -void ComputeDipoleTIP4PChunk::lock_enable() -{ - cchunk->lockcount++; -} - -/* ---------------------------------------------------------------------- - decrement lock counter in compute chunk/atom, it if still exists -------------------------------------------------------------------------- */ - -void ComputeDipoleTIP4PChunk::lock_disable() -{ - int icompute = modify->find_compute(idchunk); - if (icompute >= 0) { - cchunk = dynamic_cast(modify->compute[icompute]); - cchunk->lockcount--; - } -} - -/* ---------------------------------------------------------------------- - calculate and return # of chunks = length of vector/array -------------------------------------------------------------------------- */ - -int ComputeDipoleTIP4PChunk::lock_length() -{ - nchunk = cchunk->setup_chunks(); - return nchunk; -} - -/* ---------------------------------------------------------------------- - set the lock from startstep to stopstep -------------------------------------------------------------------------- */ - -void ComputeDipoleTIP4PChunk::lock(Fix *fixptr, bigint startstep, bigint stopstep) -{ - cchunk->lock(fixptr,startstep,stopstep); -} - -/* ---------------------------------------------------------------------- - unset the lock -------------------------------------------------------------------------- */ - -void ComputeDipoleTIP4PChunk::unlock(Fix *fixptr) -{ - cchunk->unlock(fixptr); -} - /* ---------------------------------------------------------------------- free and reallocate per-chunk arrays ------------------------------------------------------------------------- */ void ComputeDipoleTIP4PChunk::allocate() { + ComputeChunk::allocate(); memory->destroy(massproc); memory->destroy(masstotal); memory->destroy(chrgproc); @@ -310,14 +230,14 @@ void ComputeDipoleTIP4PChunk::allocate() memory->destroy(dipole); memory->destroy(dipoleall); maxchunk = nchunk; - memory->create(massproc,maxchunk,"dipole/tip4p/chunk:massproc"); - memory->create(masstotal,maxchunk,"dipole/tip4p/chunk:masstotal"); - memory->create(chrgproc,maxchunk,"dipole/tip4p/chunk:chrgproc"); - memory->create(chrgtotal,maxchunk,"dipole/tip4p/chunk:chrgtotal"); - memory->create(com,maxchunk,3,"dipole/tip4p/chunk:com"); - memory->create(comall,maxchunk,3,"dipole/tip4p/chunk:comall"); - memory->create(dipole,maxchunk,4,"dipole/tip4p/chunk:dipole"); - memory->create(dipoleall,maxchunk,4,"dipole/tip4p/chunk:dipoleall"); + memory->create(massproc, maxchunk, "dipole/tip4p/chunk:massproc"); + memory->create(masstotal, maxchunk, "dipole/tip4p/chunk:masstotal"); + memory->create(chrgproc, maxchunk, "dipole/tip4p/chunk:chrgproc"); + memory->create(chrgtotal, maxchunk, "dipole/tip4p/chunk:chrgtotal"); + memory->create(com, maxchunk, 3, "dipole/tip4p/chunk:com"); + memory->create(comall, maxchunk, 3, "dipole/tip4p/chunk:comall"); + memory->create(dipole, maxchunk, 4, "dipole/tip4p/chunk:dipole"); + memory->create(dipoleall, maxchunk, 4, "dipole/tip4p/chunk:dipoleall"); array = dipoleall; } @@ -327,9 +247,9 @@ void ComputeDipoleTIP4PChunk::allocate() double ComputeDipoleTIP4PChunk::memory_usage() { - double bytes = (bigint) maxchunk * 2 * sizeof(double); - bytes += (double)maxchunk * 2*3 * sizeof(double); - bytes += (double)maxchunk * 2*4 * sizeof(double); + double bytes = (double) maxchunk * 2 * sizeof(double) + ComputeChunk::memory_usage(); + bytes += (double) maxchunk * 2 * 3 * sizeof(double); + bytes += (double) maxchunk * 2 * 4 * sizeof(double); return bytes; } @@ -342,14 +262,14 @@ void ComputeDipoleTIP4PChunk::find_M(int i, double *xM) int iH1 = atom->map(atom->tag[i] + 1); int iH2 = atom->map(atom->tag[i] + 2); - if ((iH1 == -1) || (iH2 == -1)) error->one(FLERR,"TIP4P hydrogen is missing"); + if ((iH1 == -1) || (iH2 == -1)) error->one(FLERR, "TIP4P hydrogen is missing"); if ((atom->type[iH1] != typeH) || (atom->type[iH2] != typeH)) - error->one(FLERR,"TIP4P hydrogen has incorrect atom type"); + error->one(FLERR, "TIP4P hydrogen has incorrect atom type"); // set iH1,iH2 to index of closest image to O - iH1 = domain->closest_image(i,iH1); - iH2 = domain->closest_image(i,iH2); + iH1 = domain->closest_image(i, iH1); + iH2 = domain->closest_image(i, iH2); double delx1 = x[iH1][0] - x[i][0]; double dely1 = x[iH1][1] - x[i][1]; diff --git a/src/EXTRA-COMPUTE/compute_dipole_tip4p_chunk.h b/src/EXTRA-COMPUTE/compute_dipole_tip4p_chunk.h index 63d6e8401e..b3354c9ab9 100644 --- a/src/EXTRA-COMPUTE/compute_dipole_tip4p_chunk.h +++ b/src/EXTRA-COMPUTE/compute_dipole_tip4p_chunk.h @@ -20,31 +20,21 @@ ComputeStyle(dipole/tip4p/chunk,ComputeDipoleTIP4PChunk); #ifndef LMP_COMPUTE_DIPOLE_TIP4P_CHUNK_H #define LMP_COMPUTE_DIPOLE_TIP4P_CHUNK_H -#include "compute.h" +#include "compute_chunk.h" namespace LAMMPS_NS { class Fix; -class ComputeDipoleTIP4PChunk : public Compute { +class ComputeDipoleTIP4PChunk : public ComputeChunk { public: ComputeDipoleTIP4PChunk(class LAMMPS *, int, char **); ~ComputeDipoleTIP4PChunk() override; void init() override; void compute_array() override; - void lock_enable() override; - void lock_disable() override; - int lock_length() override; - void lock(Fix *, bigint, bigint) override; - void unlock(Fix *) override; - double memory_usage() override; private: - int nchunk, maxchunk; - char *idchunk; - class ComputeChunkAtom *cchunk; - double *massproc, *masstotal; double *chrgproc, *chrgtotal; double **com, **comall; @@ -55,10 +45,8 @@ class ComputeDipoleTIP4PChunk : public Compute { double alpha; void find_M(int i, double *xM); - void allocate(); + void allocate() override; }; - } // namespace LAMMPS_NS - #endif #endif diff --git a/src/EXTRA-COMPUTE/compute_gyration_shape_chunk.cpp b/src/EXTRA-COMPUTE/compute_gyration_shape_chunk.cpp index 2a4eb78fa2..cc385c4c79 100644 --- a/src/EXTRA-COMPUTE/compute_gyration_shape_chunk.cpp +++ b/src/EXTRA-COMPUTE/compute_gyration_shape_chunk.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -33,9 +32,9 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ ComputeGyrationShapeChunk::ComputeGyrationShapeChunk(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), id_gyration_chunk(nullptr), shape_parameters(nullptr) + Compute(lmp, narg, arg), id_gyration_chunk(nullptr), shape_parameters(nullptr) { - if (narg != 4) error->all(FLERR,"Illegal compute gyration/shape/chunk command"); + if (narg != 4) error->all(FLERR, "Illegal compute gyration/shape/chunk command"); // ID of compute gyration id_gyration_chunk = utils::strdup(arg[3]); @@ -58,7 +57,7 @@ ComputeGyrationShapeChunk::ComputeGyrationShapeChunk(LAMMPS *lmp, int narg, char ComputeGyrationShapeChunk::~ComputeGyrationShapeChunk() { - delete [] id_gyration_chunk; + delete[] id_gyration_chunk; memory->destroy(shape_parameters); } @@ -67,22 +66,22 @@ ComputeGyrationShapeChunk::~ComputeGyrationShapeChunk() void ComputeGyrationShapeChunk::init() { // check that the compute gyration command exist - int icompute = modify->find_compute(id_gyration_chunk); - if (icompute < 0) - error->all(FLERR,"Compute gyration/chunk ID does not exist for " - "compute gyration/shape/chunk"); + + c_gyration_chunk = modify->get_compute_by_id(id_gyration_chunk); + if (!c_gyration_chunk) + error->all(FLERR, + "Compute gyration/chunk ID {} does not exist for compute gyration/shape/chunk", + id_gyration_chunk); // check the id_gyration_chunk corresponds really to a compute gyration/chunk command - c_gyration_chunk = (Compute *) modify->compute[icompute]; - if (strcmp(c_gyration_chunk->style,"gyration/chunk") != 0) - error->all(FLERR,"Compute gyration/shape/chunk does not point to " - "gyration compute/chunk"); + + if (strcmp(c_gyration_chunk->style, "gyration/chunk") != 0) + error->all(FLERR, "Compute {} is not of style gyration/chunk", id_gyration_chunk); // check the compute gyration/chunk command computes the whole gyration tensor if (c_gyration_chunk->array_flag == 0) - error->all(FLERR,"Compute gyration/chunk where gyration/shape/chunk points to " - "does not calculate the gyration tensor"); - + error->all(FLERR, "Compute gyration/chunk {} does not calculate the gyration tensor", + id_gyration_chunk); } /* ---------------------------------------------------------------------- */ @@ -108,7 +107,7 @@ void ComputeGyrationShapeChunk::compute_array() invoked_array = update->ntimestep; c_gyration_chunk->compute_array(); - current_nchunks = c_gyration_chunk->size_array_rows; // how to check for the number of chunks in the gyration/chunk? + current_nchunks = c_gyration_chunk->size_array_rows; if (former_nchunks != current_nchunks) allocate(); double **gyration_tensor = c_gyration_chunk->array; @@ -125,18 +124,20 @@ void ComputeGyrationShapeChunk::compute_array() ione[0][2] = ione[2][0] = gyration_tensor[ichunk][4]; ione[1][2] = ione[2][1] = gyration_tensor[ichunk][5]; - int ierror = MathEigen::jacobi3(ione,evalues,evectors); - if (ierror) error->all(FLERR, "Insufficient Jacobi rotations " - "for gyration/shape"); + int ierror = MathEigen::jacobi3(ione, evalues, evectors); + if (ierror) + error->all(FLERR, + "Insufficient Jacobi rotations " + "for gyration/shape"); // sort the eigenvalues according to their size with bubble sort double t; for (int i = 0; i < 3; i++) { - for (int j = 0; j < 2-i; j++) { - if (fabs(evalues[j]) < fabs(evalues[j+1])) { + for (int j = 0; j < 2 - i; j++) { + if (fabs(evalues[j]) < fabs(evalues[j + 1])) { t = evalues[j]; - evalues[j] = evalues[j+1]; - evalues[j+1] = t; + evalues[j] = evalues[j + 1]; + evalues[j + 1] = t; } } } @@ -147,14 +148,14 @@ void ComputeGyrationShapeChunk::compute_array() double sq_eigen_z = MathSpecial::square(evalues[2]); double nominator = sq_eigen_x + sq_eigen_y + sq_eigen_z; - double denominator = MathSpecial::square(evalues[0]+evalues[1]+evalues[2]); + double denominator = MathSpecial::square(evalues[0] + evalues[1] + evalues[2]); shape_parameters[ichunk][0] = evalues[0]; shape_parameters[ichunk][1] = evalues[1]; shape_parameters[ichunk][2] = evalues[2]; - shape_parameters[ichunk][3] = evalues[0] - 0.5*(evalues[1] + evalues[2]); + shape_parameters[ichunk][3] = evalues[0] - 0.5 * (evalues[1] + evalues[2]); shape_parameters[ichunk][4] = evalues[1] - evalues[2]; - shape_parameters[ichunk][5] = 1.5*nominator/denominator - 0.5; + shape_parameters[ichunk][5] = 1.5 * nominator / denominator - 0.5; } } @@ -176,7 +177,7 @@ void ComputeGyrationShapeChunk::allocate() { memory->destroy(shape_parameters); former_nchunks = current_nchunks; - memory->create(shape_parameters,current_nchunks,6,"gyration/shape/chunk:shape_parameters"); + memory->create(shape_parameters, current_nchunks, 6, "gyration/shape/chunk:shape_parameters"); array = shape_parameters; size_array_rows = current_nchunks; } diff --git a/src/compute_angmom_chunk.cpp b/src/compute_angmom_chunk.cpp index 3715bb4def..fcdd20cf07 100644 --- a/src/compute_angmom_chunk.cpp +++ b/src/compute_angmom_chunk.cpp @@ -18,17 +18,13 @@ #include "domain.h" #include "error.h" #include "memory.h" -#include "modify.h" -#include "update.h" - -#include using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ ComputeAngmomChunk::ComputeAngmomChunk(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), idchunk(nullptr), massproc(nullptr), masstotal(nullptr), com(nullptr), + ComputeChunk(lmp, narg, arg), massproc(nullptr), masstotal(nullptr), com(nullptr), comall(nullptr), angmom(nullptr), angmomall(nullptr) { if (narg != 4) error->all(FLERR, "Illegal compute angmom/chunk command"); @@ -39,24 +35,14 @@ ComputeAngmomChunk::ComputeAngmomChunk(LAMMPS *lmp, int narg, char **arg) : size_array_rows_variable = 1; extarray = 0; - // ID of compute chunk/atom - - idchunk = utils::strdup(arg[3]); - ComputeAngmomChunk::init(); - - // chunk-based data - - nchunk = 1; - maxchunk = 0; - allocate(); + ComputeAngmomChunk::allocate(); } /* ---------------------------------------------------------------------- */ ComputeAngmomChunk::~ComputeAngmomChunk() { - delete[] idchunk; memory->destroy(massproc); memory->destroy(masstotal); memory->destroy(com); @@ -67,35 +53,15 @@ ComputeAngmomChunk::~ComputeAngmomChunk() /* ---------------------------------------------------------------------- */ -void ComputeAngmomChunk::init() -{ - cchunk = dynamic_cast(modify->get_compute_by_id(idchunk)); - if (!cchunk) error->all(FLERR, "Chunk/atom compute does not exist for compute angmom/chunk"); - if (strcmp(cchunk->style, "chunk/atom") != 0) - error->all(FLERR, "Compute angmom/chunk does not use chunk/atom compute"); -} - -/* ---------------------------------------------------------------------- */ - void ComputeAngmomChunk::compute_array() { + ComputeChunk::compute_array(); + int i, index; double dx, dy, dz, massone; double unwrap[3]; - - invoked_array = update->ntimestep; - - // compute chunk/atom assigns atoms to chunk IDs - // extract ichunk index vector from compute - // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms - - nchunk = cchunk->setup_chunks(); - cchunk->compute_ichunk(); int *ichunk = cchunk->ichunk; - if (nchunk > maxchunk) allocate(); - size_array_rows = nchunk; - // zero local per-chunk values for (i = 0; i < nchunk; i++) { @@ -164,59 +130,6 @@ void ComputeAngmomChunk::compute_array() MPI_Allreduce(&angmom[0][0], &angmomall[0][0], 3 * nchunk, MPI_DOUBLE, MPI_SUM, world); } -/* ---------------------------------------------------------------------- - lock methods: called by fix ave/time - these methods ensure vector/array size is locked for Nfreq epoch - by passing lock info along to compute chunk/atom -------------------------------------------------------------------------- */ - -/* ---------------------------------------------------------------------- - increment lock counter -------------------------------------------------------------------------- */ - -void ComputeAngmomChunk::lock_enable() -{ - cchunk->lockcount++; -} - -/* ---------------------------------------------------------------------- - decrement lock counter in compute chunk/atom, it if still exists -------------------------------------------------------------------------- */ - -void ComputeAngmomChunk::lock_disable() -{ - cchunk = dynamic_cast(modify->get_compute_by_id(idchunk)); - if (cchunk) cchunk->lockcount--; -} - -/* ---------------------------------------------------------------------- - calculate and return # of chunks = length of vector/array -------------------------------------------------------------------------- */ - -int ComputeAngmomChunk::lock_length() -{ - nchunk = cchunk->setup_chunks(); - return nchunk; -} - -/* ---------------------------------------------------------------------- - set the lock from startstep to stopstep -------------------------------------------------------------------------- */ - -void ComputeAngmomChunk::lock(Fix *fixptr, bigint startstep, bigint stopstep) -{ - cchunk->lock(fixptr, startstep, stopstep); -} - -/* ---------------------------------------------------------------------- - unset the lock -------------------------------------------------------------------------- */ - -void ComputeAngmomChunk::unlock(Fix *fixptr) -{ - cchunk->unlock(fixptr); -} - /* ---------------------------------------------------------------------- free and reallocate per-chunk arrays ------------------------------------------------------------------------- */ @@ -245,7 +158,8 @@ void ComputeAngmomChunk::allocate() double ComputeAngmomChunk::memory_usage() { - double bytes = (bigint) maxchunk * 2 * sizeof(double); + double bytes = ComputeChunk::memory_usage(); + bytes += (bigint) maxchunk * 2 * sizeof(double); bytes += (double) maxchunk * 2 * 3 * sizeof(double); bytes += (double) maxchunk * 2 * 3 * sizeof(double); return bytes; diff --git a/src/compute_angmom_chunk.h b/src/compute_angmom_chunk.h index 04023dbe44..7f8172f863 100644 --- a/src/compute_angmom_chunk.h +++ b/src/compute_angmom_chunk.h @@ -20,39 +20,25 @@ ComputeStyle(angmom/chunk,ComputeAngmomChunk); #ifndef LMP_COMPUTE_ANGMOM_CHUNK_H #define LMP_COMPUTE_ANGMOM_CHUNK_H -#include "compute.h" +#include "compute_chunk.h" namespace LAMMPS_NS { - class Fix; -class ComputeAngmomChunk : public Compute { +class ComputeAngmomChunk : public ComputeChunk { public: ComputeAngmomChunk(class LAMMPS *, int, char **); ~ComputeAngmomChunk() override; - void init() override; void compute_array() override; - void lock_enable() override; - void lock_disable() override; - int lock_length() override; - void lock(Fix *, bigint, bigint) override; - void unlock(Fix *) override; - double memory_usage() override; private: - int nchunk, maxchunk; - char *idchunk; - class ComputeChunkAtom *cchunk; - double *massproc, *masstotal; double **com, **comall; double **angmom, **angmomall; - void allocate(); + void allocate() override; }; - } // namespace LAMMPS_NS - #endif #endif diff --git a/src/compute_chunk.cpp b/src/compute_chunk.cpp new file mode 100644 index 0000000000..0b5204ff94 --- /dev/null +++ b/src/compute_chunk.cpp @@ -0,0 +1,156 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "compute_chunk.h" + +#include "compute_chunk_atom.h" +#include "error.h" +#include "modify.h" +#include "update.h" + +using namespace LAMMPS_NS; +/* ---------------------------------------------------------------------- */ + +ComputeChunk::ComputeChunk(LAMMPS *lmp, int narg, char **arg) : + Compute(lmp, narg, arg), idchunk(nullptr), cchunk(nullptr) +{ + if (narg < 4) utils::missing_cmd_args(FLERR, std::string("compute ") + style, error); + + // ID of compute chunk/atom + + idchunk = utils::strdup(arg[3]); + + ComputeChunk::init(); + + // chunk-based data + + nchunk = 1; + maxchunk = 0; + firstflag = 1; + massneed = 1; +} + +/* ---------------------------------------------------------------------- */ + +ComputeChunk::~ComputeChunk() +{ + delete[] idchunk; +} + +/* ---------------------------------------------------------------------- */ + +void ComputeChunk::init() +{ + cchunk = dynamic_cast(modify->get_compute_by_id(idchunk)); + if (!cchunk) + error->all(FLERR, "Chunk/atom compute {} does not exist or is incorrect style for compute {}", + idchunk, style); +} + +/* ---------------------------------------------------------------------- + common code used by all /chunk computes +------------------------------------------------------------------------- */ + +void ComputeChunk::compute_vector() +{ + invoked_vector = update->ntimestep; + + // compute chunk/atom assigns atoms to chunk IDs + // extract ichunk index vector from compute + // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms + + nchunk = cchunk->setup_chunks(); + cchunk->compute_ichunk(); + + if (nchunk > maxchunk) allocate(); + size_vector = nchunk; +} + +/* ---------------------------------------------------------------------- */ + +void ComputeChunk::compute_array() +{ + invoked_array = update->ntimestep; + + // compute chunk/atom assigns atoms to chunk IDs + // extract ichunk index vector from compute + // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms + + nchunk = cchunk->setup_chunks(); + cchunk->compute_ichunk(); + + if (nchunk > maxchunk) allocate(); + size_array_rows = nchunk; +} + +/* ---------------------------------------------------------------------- + lock methods: called by fix ave/time + these methods ensure vector/array size is locked for Nfreq epoch + by passing lock info along to compute chunk/atom +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + increment lock counter +------------------------------------------------------------------------- */ + +void ComputeChunk::lock_enable() +{ + cchunk->lockcount++; +} + +/* ---------------------------------------------------------------------- + decrement lock counter in compute chunk/atom, it if still exists +------------------------------------------------------------------------- */ + +void ComputeChunk::lock_disable() +{ + cchunk = dynamic_cast(modify->get_compute_by_id(idchunk)); + if (!cchunk) cchunk->lockcount--; +} + +/* ---------------------------------------------------------------------- + calculate and return # of chunks = length of vector/array +------------------------------------------------------------------------- */ + +int ComputeChunk::lock_length() +{ + nchunk = cchunk->setup_chunks(); + return nchunk; +} + +/* ---------------------------------------------------------------------- + set the lock from startstep to stopstep +------------------------------------------------------------------------- */ + +void ComputeChunk::lock(Fix *fixptr, bigint startstep, bigint stopstep) +{ + cchunk->lock(fixptr, startstep, stopstep); +} + +/* ---------------------------------------------------------------------- + unset the lock +------------------------------------------------------------------------- */ + +void ComputeChunk::unlock(Fix *fixptr) +{ + cchunk->unlock(fixptr); +} + +/* ---------------------------------------------------------------------- + memory usage of local data +------------------------------------------------------------------------- */ + +double ComputeChunk::memory_usage() +{ + return sizeof(ComputeChunk) + sizeof(ComputeChunkAtom); +} diff --git a/src/compute_chunk.h b/src/compute_chunk.h new file mode 100644 index 0000000000..0c94f00bb0 --- /dev/null +++ b/src/compute_chunk.h @@ -0,0 +1,49 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifndef LMP_COMPUTE_CHUNK_H +#define LMP_COMPUTE_CHUNK_H + +#include "compute.h" + +namespace LAMMPS_NS { +class ComputeChunkAtom; +class Fix; + +class ComputeChunk : public Compute { + public: + char *idchunk; // fields accessed by other classes + + ComputeChunk(class LAMMPS *, int, char **); + ~ComputeChunk() override; + void init() override; + void compute_vector() override; + void compute_array() override; + + void lock_enable() override; + void lock_disable() override; + int lock_length() override; + void lock(Fix *, bigint, bigint) override; + void unlock(Fix *) override; + + double memory_usage() override; + + protected: + int nchunk, maxchunk; + int firstflag, massneed; + ComputeChunkAtom *cchunk; + + virtual void allocate(){}; +}; +} // namespace LAMMPS_NS +#endif diff --git a/src/compute_com_chunk.cpp b/src/compute_com_chunk.cpp index 7cd80545ee..582bd4f6fe 100644 --- a/src/compute_com_chunk.cpp +++ b/src/compute_com_chunk.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -19,22 +18,18 @@ #include "domain.h" #include "error.h" #include "memory.h" -#include "modify.h" -#include "update.h" - -#include using namespace LAMMPS_NS; -enum{ONCE,NFREQ,EVERY}; +enum { ONCE, NFREQ, EVERY }; /* ---------------------------------------------------------------------- */ ComputeCOMChunk::ComputeCOMChunk(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), - idchunk(nullptr), masstotal(nullptr), massproc(nullptr), com(nullptr), comall(nullptr) + ComputeChunk(lmp, narg, arg), masstotal(nullptr), massproc(nullptr), com(nullptr), + comall(nullptr) { - if (narg != 4) error->all(FLERR,"Illegal compute com/chunk command"); + if (narg != 4) error->all(FLERR, "Illegal compute com/chunk command"); array_flag = 1; size_array_cols = 3; @@ -42,26 +37,14 @@ ComputeCOMChunk::ComputeCOMChunk(LAMMPS *lmp, int narg, char **arg) : size_array_rows_variable = 1; extarray = 0; - // ID of compute chunk/atom - - idchunk = utils::strdup(arg[3]); - ComputeCOMChunk::init(); - - // chunk-based data - - nchunk = 1; - maxchunk = 0; - allocate(); - - firstflag = massneed = 1; + ComputeCOMChunk::allocate(); } /* ---------------------------------------------------------------------- */ ComputeCOMChunk::~ComputeCOMChunk() { - delete [] idchunk; memory->destroy(massproc); memory->destroy(masstotal); memory->destroy(com); @@ -70,18 +53,6 @@ ComputeCOMChunk::~ComputeCOMChunk() /* ---------------------------------------------------------------------- */ -void ComputeCOMChunk::init() -{ - int icompute = modify->find_compute(idchunk); - if (icompute < 0) - error->all(FLERR,"Chunk/atom compute does not exist for compute com/chunk"); - cchunk = dynamic_cast(modify->compute[icompute]); - if (strcmp(cchunk->style,"chunk/atom") != 0) - error->all(FLERR,"Compute com/chunk does not use chunk/atom compute"); -} - -/* ---------------------------------------------------------------------- */ - void ComputeCOMChunk::setup() { // one-time calculation of per-chunk mass @@ -101,23 +72,12 @@ void ComputeCOMChunk::compute_array() double massone; double unwrap[3]; - invoked_array = update->ntimestep; - - // compute chunk/atom assigns atoms to chunk IDs - // extract ichunk index vector from compute - // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms - - nchunk = cchunk->setup_chunks(); - cchunk->compute_ichunk(); + ComputeChunk::compute_array(); int *ichunk = cchunk->ichunk; - if (nchunk > maxchunk) allocate(); - size_array_rows = nchunk; - // zero local per-chunk values - for (int i = 0; i < nchunk; i++) - com[i][0] = com[i][1] = com[i][2] = 0.0; + for (int i = 0; i < nchunk; i++) com[i][0] = com[i][1] = com[i][2] = 0.0; if (massneed) for (int i = 0; i < nchunk; i++) massproc[i] = 0.0; @@ -133,86 +93,32 @@ void ComputeCOMChunk::compute_array() for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; - if (rmass) massone = rmass[i]; - else massone = mass[type[i]]; - domain->unmap(x[i],image[i],unwrap); + if (rmass) + massone = rmass[i]; + else + massone = mass[type[i]]; + domain->unmap(x[i], image[i], unwrap); com[index][0] += unwrap[0] * massone; com[index][1] += unwrap[1] * massone; com[index][2] += unwrap[2] * massone; if (massneed) massproc[index] += massone; } - MPI_Allreduce(&com[0][0],&comall[0][0],3*nchunk,MPI_DOUBLE,MPI_SUM,world); - if (massneed) - MPI_Allreduce(massproc,masstotal,nchunk,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&com[0][0], &comall[0][0], 3 * nchunk, MPI_DOUBLE, MPI_SUM, world); + if (massneed) MPI_Allreduce(massproc, masstotal, nchunk, MPI_DOUBLE, MPI_SUM, world); for (int i = 0; i < nchunk; i++) { if (masstotal[i] > 0.0) { comall[i][0] /= masstotal[i]; comall[i][1] /= masstotal[i]; comall[i][2] /= masstotal[i]; - } else comall[i][0] = comall[i][1] = comall[i][2] = 0.0; + } else + comall[i][0] = comall[i][1] = comall[i][2] = 0.0; } } -/* ---------------------------------------------------------------------- - lock methods: called by fix ave/time - these methods ensure vector/array size is locked for Nfreq epoch - by passing lock info along to compute chunk/atom -------------------------------------------------------------------------- */ - -/* ---------------------------------------------------------------------- - increment lock counter -------------------------------------------------------------------------- */ - -void ComputeCOMChunk::lock_enable() -{ - cchunk->lockcount++; -} - -/* ---------------------------------------------------------------------- - decrement lock counter in compute chunk/atom, it if still exists -------------------------------------------------------------------------- */ - -void ComputeCOMChunk::lock_disable() -{ - int icompute = modify->find_compute(idchunk); - if (icompute >= 0) { - cchunk = dynamic_cast(modify->compute[icompute]); - cchunk->lockcount--; - } -} - -/* ---------------------------------------------------------------------- - calculate and return # of chunks = length of vector/array -------------------------------------------------------------------------- */ - -int ComputeCOMChunk::lock_length() -{ - nchunk = cchunk->setup_chunks(); - return nchunk; -} - -/* ---------------------------------------------------------------------- - set the lock from startstep to stopstep -------------------------------------------------------------------------- */ - -void ComputeCOMChunk::lock(Fix *fixptr, bigint startstep, bigint stopstep) -{ - cchunk->lock(fixptr,startstep,stopstep); -} - -/* ---------------------------------------------------------------------- - unset the lock -------------------------------------------------------------------------- */ - -void ComputeCOMChunk::unlock(Fix *fixptr) -{ - cchunk->unlock(fixptr); -} - /* ---------------------------------------------------------------------- free and reallocate per-chunk arrays ------------------------------------------------------------------------- */ @@ -224,10 +130,10 @@ void ComputeCOMChunk::allocate() memory->destroy(com); memory->destroy(comall); maxchunk = nchunk; - memory->create(massproc,maxchunk,"com/chunk:massproc"); - memory->create(masstotal,maxchunk,"com/chunk:masstotal"); - memory->create(com,maxchunk,3,"com/chunk:com"); - memory->create(comall,maxchunk,3,"com/chunk:comall"); + memory->create(massproc, maxchunk, "com/chunk:massproc"); + memory->create(masstotal, maxchunk, "com/chunk:masstotal"); + memory->create(com, maxchunk, 3, "com/chunk:com"); + memory->create(comall, maxchunk, 3, "com/chunk:comall"); array = comall; } @@ -237,7 +143,8 @@ void ComputeCOMChunk::allocate() double ComputeCOMChunk::memory_usage() { - double bytes = (bigint) maxchunk * 2 * sizeof(double); - bytes += (double) maxchunk * 2*3 * sizeof(double); + double bytes = ComputeChunk::memory_usage(); + bytes += (bigint) maxchunk * 2 * sizeof(double); + bytes += (double) maxchunk * 2 * 3 * sizeof(double); return bytes; } diff --git a/src/compute_com_chunk.h b/src/compute_com_chunk.h index c617e181fe..17731eb4b5 100644 --- a/src/compute_com_chunk.h +++ b/src/compute_com_chunk.h @@ -20,42 +20,26 @@ ComputeStyle(com/chunk,ComputeCOMChunk); #ifndef LMP_COMPUTE_COM_CHUNK_H #define LMP_COMPUTE_COM_CHUNK_H -#include "compute.h" +#include "compute_chunk.h" namespace LAMMPS_NS { -class Fix; - -class ComputeCOMChunk : public Compute { +class ComputeCOMChunk : public ComputeChunk { public: - char *idchunk; // fields accessed by other classes double *masstotal; ComputeCOMChunk(class LAMMPS *, int, char **); ~ComputeCOMChunk() override; - void init() override; void setup() override; void compute_array() override; - void lock_enable() override; - void lock_disable() override; - int lock_length() override; - void lock(Fix *, bigint, bigint) override; - void unlock(Fix *) override; - double memory_usage() override; private: - int nchunk, maxchunk; - int firstflag, massneed; - class ComputeChunkAtom *cchunk; - double *massproc; double **com, **comall; - void allocate(); + void allocate() override; }; - } // namespace LAMMPS_NS - #endif #endif diff --git a/src/compute_dipole_chunk.cpp b/src/compute_dipole_chunk.cpp index 582a9f8652..8068ac583c 100644 --- a/src/compute_dipole_chunk.cpp +++ b/src/compute_dipole_chunk.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -22,8 +21,6 @@ #include "force.h" #include "math_special.h" #include "memory.h" -#include "modify.h" -#include "update.h" #include #include @@ -36,13 +33,10 @@ enum { MASSCENTER, GEOMCENTER }; /* ---------------------------------------------------------------------- */ ComputeDipoleChunk::ComputeDipoleChunk(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), - idchunk(nullptr), massproc(nullptr), masstotal(nullptr), chrgproc(nullptr), - chrgtotal(nullptr), com(nullptr), - comall(nullptr), dipole(nullptr), dipoleall(nullptr) + ComputeChunk(lmp, narg, arg), massproc(nullptr), masstotal(nullptr), chrgproc(nullptr), + chrgtotal(nullptr), com(nullptr), comall(nullptr), dipole(nullptr), dipoleall(nullptr) { - if ((narg != 4) && (narg != 5)) - error->all(FLERR,"Illegal compute dipole/chunk command"); + if ((narg != 4) && (narg != 5)) error->all(FLERR, "Illegal compute dipole/chunk command"); array_flag = 1; size_array_cols = 4; @@ -50,32 +44,25 @@ ComputeDipoleChunk::ComputeDipoleChunk(LAMMPS *lmp, int narg, char **arg) : size_array_rows_variable = 1; extarray = 0; - // ID of compute chunk/atom - - idchunk = utils::strdup(arg[3]); - usecenter = MASSCENTER; if (narg == 5) { - if (strncmp(arg[4],"geom",4) == 0) usecenter = GEOMCENTER; - else if (strcmp(arg[4],"mass") == 0) usecenter = MASSCENTER; - else error->all(FLERR,"Illegal compute dipole/chunk command"); + if (strncmp(arg[4], "geom", 4) == 0) + usecenter = GEOMCENTER; + else if (strcmp(arg[4], "mass") == 0) + usecenter = MASSCENTER; + else + error->all(FLERR, "Illegal compute dipole/chunk command"); } ComputeDipoleChunk::init(); - - // chunk-based data - - nchunk = 1; - maxchunk = 0; - allocate(); + ComputeDipoleChunk::allocate(); } /* ---------------------------------------------------------------------- */ ComputeDipoleChunk::~ComputeDipoleChunk() { - delete [] idchunk; memory->destroy(massproc); memory->destroy(masstotal); memory->destroy(chrgproc); @@ -90,40 +77,23 @@ ComputeDipoleChunk::~ComputeDipoleChunk() void ComputeDipoleChunk::init() { - int icompute = modify->find_compute(idchunk); - if (icompute < 0) - error->all(FLERR,"Chunk/atom compute does not exist for " - "compute dipole/chunk"); - cchunk = dynamic_cast(modify->compute[icompute]); - if (strcmp(cchunk->style,"chunk/atom") != 0) - error->all(FLERR,"Compute dipole/chunk does not use chunk/atom compute"); + ComputeChunk::init(); - if ((force->pair_match("/tip4p/",0) != nullptr) && (comm->me == 0)) - error->warning(FLERR,"Computed dipole moments may be incorrect when " - "using a tip4p pair style"); + if ((force->pair_match("tip4p/", 0) != nullptr) && (comm->me == 0)) + error->warning(FLERR, "Dipole moments may be incorrect when sing a TIP4P pair style"); } /* ---------------------------------------------------------------------- */ void ComputeDipoleChunk::compute_array() { - int i,index; + int i, index; double massone; double unwrap[3]; - invoked_array = update->ntimestep; - - // compute chunk/atom assigns atoms to chunk IDs - // extract ichunk index vector from compute - // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms - - nchunk = cchunk->setup_chunks(); - cchunk->compute_ichunk(); + ComputeChunk::compute_array(); int *ichunk = cchunk->ichunk; - if (nchunk > maxchunk) allocate(); - size_array_rows = nchunk; - // zero local per-chunk values for (i = 0; i < nchunk; i++) { @@ -147,14 +117,17 @@ void ComputeDipoleChunk::compute_array() for (i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; if (usecenter == MASSCENTER) { - if (rmass) massone = rmass[i]; - else massone = mass[type[i]]; - } else massone = 1.0; // usecenter == GEOMCENTER + if (rmass) + massone = rmass[i]; + else + massone = mass[type[i]]; + } else + massone = 1.0; // usecenter == GEOMCENTER - domain->unmap(x[i],image[i],unwrap); + domain->unmap(x[i], image[i], unwrap); massproc[index] += massone; if (atom->q_flag) chrgproc[index] += atom->q[i]; com[index][0] += unwrap[0] * massone; @@ -162,9 +135,9 @@ void ComputeDipoleChunk::compute_array() com[index][2] += unwrap[2] * massone; } - MPI_Allreduce(massproc,masstotal,nchunk,MPI_DOUBLE,MPI_SUM,world); - MPI_Allreduce(chrgproc,chrgtotal,nchunk,MPI_DOUBLE,MPI_SUM,world); - MPI_Allreduce(&com[0][0],&comall[0][0],3*nchunk,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(massproc, masstotal, nchunk, MPI_DOUBLE, MPI_SUM, world); + MPI_Allreduce(chrgproc, chrgtotal, nchunk, MPI_DOUBLE, MPI_SUM, world); + MPI_Allreduce(&com[0][0], &comall[0][0], 3 * nchunk, MPI_DOUBLE, MPI_SUM, world); for (i = 0; i < nchunk; i++) { if (masstotal[i] > 0.0) { @@ -178,13 +151,13 @@ void ComputeDipoleChunk::compute_array() for (i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; - domain->unmap(x[i],image[i],unwrap); + domain->unmap(x[i], image[i], unwrap); if (atom->q_flag) { - dipole[index][0] += q[i]*unwrap[0]; - dipole[index][1] += q[i]*unwrap[1]; - dipole[index][2] += q[i]*unwrap[2]; + dipole[index][0] += q[i] * unwrap[0]; + dipole[index][1] += q[i] * unwrap[1]; + dipole[index][2] += q[i] * unwrap[2]; } if (atom->mu_flag) { dipole[index][0] += mu[i][0]; @@ -194,83 +167,25 @@ void ComputeDipoleChunk::compute_array() } } - MPI_Allreduce(&dipole[0][0],&dipoleall[0][0],4*nchunk, - MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&dipole[0][0], &dipoleall[0][0], 4 * nchunk, MPI_DOUBLE, MPI_SUM, world); for (i = 0; i < nchunk; i++) { // correct for position dependence with charged chunks - dipoleall[i][0] -= chrgtotal[i]*comall[i][0]; - dipoleall[i][1] -= chrgtotal[i]*comall[i][1]; - dipoleall[i][2] -= chrgtotal[i]*comall[i][2]; + dipoleall[i][0] -= chrgtotal[i] * comall[i][0]; + dipoleall[i][1] -= chrgtotal[i] * comall[i][1]; + dipoleall[i][2] -= chrgtotal[i] * comall[i][2]; // compute total dipole moment - dipoleall[i][3] = sqrt(square(dipoleall[i][0]) - + square(dipoleall[i][1]) - + square(dipoleall[i][2])); + dipoleall[i][3] = + sqrt(square(dipoleall[i][0]) + square(dipoleall[i][1]) + square(dipoleall[i][2])); } } - -/* ---------------------------------------------------------------------- - lock methods: called by fix ave/time - these methods ensure vector/array size is locked for Nfreq epoch - by passing lock info along to compute chunk/atom -------------------------------------------------------------------------- */ - -/* ---------------------------------------------------------------------- - increment lock counter -------------------------------------------------------------------------- */ - -void ComputeDipoleChunk::lock_enable() -{ - cchunk->lockcount++; -} - -/* ---------------------------------------------------------------------- - decrement lock counter in compute chunk/atom, it if still exists -------------------------------------------------------------------------- */ - -void ComputeDipoleChunk::lock_disable() -{ - int icompute = modify->find_compute(idchunk); - if (icompute >= 0) { - cchunk = dynamic_cast(modify->compute[icompute]); - cchunk->lockcount--; - } -} - -/* ---------------------------------------------------------------------- - calculate and return # of chunks = length of vector/array -------------------------------------------------------------------------- */ - -int ComputeDipoleChunk::lock_length() -{ - nchunk = cchunk->setup_chunks(); - return nchunk; -} - -/* ---------------------------------------------------------------------- - set the lock from startstep to stopstep -------------------------------------------------------------------------- */ - -void ComputeDipoleChunk::lock(Fix *fixptr, bigint startstep, bigint stopstep) -{ - cchunk->lock(fixptr,startstep,stopstep); -} - -/* ---------------------------------------------------------------------- - unset the lock -------------------------------------------------------------------------- */ - -void ComputeDipoleChunk::unlock(Fix *fixptr) -{ - cchunk->unlock(fixptr); -} - /* ---------------------------------------------------------------------- free and reallocate per-chunk arrays ------------------------------------------------------------------------- */ void ComputeDipoleChunk::allocate() { + ComputeChunk::allocate(); memory->destroy(massproc); memory->destroy(masstotal); memory->destroy(chrgproc); @@ -280,14 +195,14 @@ void ComputeDipoleChunk::allocate() memory->destroy(dipole); memory->destroy(dipoleall); maxchunk = nchunk; - memory->create(massproc,maxchunk,"dipole/chunk:massproc"); - memory->create(masstotal,maxchunk,"dipole/chunk:masstotal"); - memory->create(chrgproc,maxchunk,"dipole/chunk:chrgproc"); - memory->create(chrgtotal,maxchunk,"dipole/chunk:chrgtotal"); - memory->create(com,maxchunk,3,"dipole/chunk:com"); - memory->create(comall,maxchunk,3,"dipole/chunk:comall"); - memory->create(dipole,maxchunk,4,"dipole/chunk:dipole"); - memory->create(dipoleall,maxchunk,4,"dipole/chunk:dipoleall"); + memory->create(massproc, maxchunk, "dipole/chunk:massproc"); + memory->create(masstotal, maxchunk, "dipole/chunk:masstotal"); + memory->create(chrgproc, maxchunk, "dipole/chunk:chrgproc"); + memory->create(chrgtotal, maxchunk, "dipole/chunk:chrgtotal"); + memory->create(com, maxchunk, 3, "dipole/chunk:com"); + memory->create(comall, maxchunk, 3, "dipole/chunk:comall"); + memory->create(dipole, maxchunk, 4, "dipole/chunk:dipole"); + memory->create(dipoleall, maxchunk, 4, "dipole/chunk:dipoleall"); array = dipoleall; } @@ -297,8 +212,9 @@ void ComputeDipoleChunk::allocate() double ComputeDipoleChunk::memory_usage() { - double bytes = (bigint) maxchunk * 2 * sizeof(double); - bytes += (double)maxchunk * 2*3 * sizeof(double); - bytes += (double)maxchunk * 2*4 * sizeof(double); + double bytes = ComputeChunk::memory_usage(); + bytes += (bigint) maxchunk * 2 * sizeof(double); + bytes += (double) maxchunk * 2 * 3 * sizeof(double); + bytes += (double) maxchunk * 2 * 4 * sizeof(double); return bytes; } diff --git a/src/compute_dipole_chunk.h b/src/compute_dipole_chunk.h index 42198fe478..603e6a4353 100644 --- a/src/compute_dipole_chunk.h +++ b/src/compute_dipole_chunk.h @@ -20,38 +20,28 @@ ComputeStyle(dipole/chunk,ComputeDipoleChunk); #ifndef LMP_COMPUTE_DIPOLE_CHUNK_H #define LMP_COMPUTE_DIPOLE_CHUNK_H -#include "compute.h" +#include "compute_chunk.h" namespace LAMMPS_NS { class Fix; -class ComputeDipoleChunk : public Compute { +class ComputeDipoleChunk : public ComputeChunk { public: ComputeDipoleChunk(class LAMMPS *, int, char **); ~ComputeDipoleChunk() override; void init() override; void compute_array() override; - void lock_enable() override; - void lock_disable() override; - int lock_length() override; - void lock(Fix *, bigint, bigint) override; - void unlock(Fix *) override; - double memory_usage() override; - private: - int nchunk, maxchunk; - char *idchunk; - class ComputeChunkAtom *cchunk; - + protected: double *massproc, *masstotal; double *chrgproc, *chrgtotal; double **com, **comall; double **dipole, **dipoleall; int usecenter; - void allocate(); + void allocate() override; }; } // namespace LAMMPS_NS diff --git a/src/compute_gyration_chunk.cpp b/src/compute_gyration_chunk.cpp index 4492d81d18..a02eb7fa4e 100644 --- a/src/compute_gyration_chunk.cpp +++ b/src/compute_gyration_chunk.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -14,31 +13,23 @@ #include "compute_gyration_chunk.h" -#include -#include #include "atom.h" -#include "update.h" -#include "modify.h" #include "compute_chunk_atom.h" #include "domain.h" -#include "memory.h" #include "error.h" +#include "memory.h" + +#include +#include using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ ComputeGyrationChunk::ComputeGyrationChunk(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), - idchunk(nullptr), massproc(nullptr), masstotal(nullptr), com(nullptr), comall(nullptr), - rg(nullptr), rgall(nullptr), rgt(nullptr), rgtall(nullptr) + ComputeChunk(lmp, narg, arg), massproc(nullptr), masstotal(nullptr), com(nullptr), + comall(nullptr), rg(nullptr), rgall(nullptr), rgt(nullptr), rgtall(nullptr) { - if (narg < 4) error->all(FLERR,"Illegal compute gyration/chunk command"); - - // ID of compute chunk/atom - - idchunk = utils::strdup(arg[3]); - ComputeGyrationChunk::init(); // optional args @@ -46,10 +37,11 @@ ComputeGyrationChunk::ComputeGyrationChunk(LAMMPS *lmp, int narg, char **arg) : tensor = 0; int iarg = 4; while (iarg < narg) { - if (strcmp(arg[iarg],"tensor") == 0) { + if (strcmp(arg[iarg], "tensor") == 0) { tensor = 1; iarg++; - } else error->all(FLERR,"Illegal compute gyration/chunk command"); + } else + error->all(FLERR, "Illegal compute gyration/chunk command"); } if (tensor) { @@ -65,18 +57,13 @@ ComputeGyrationChunk::ComputeGyrationChunk(LAMMPS *lmp, int narg, char **arg) : extvector = 0; } - // chunk-based data - - nchunk = 1; - maxchunk = 0; - allocate(); + ComputeGyrationChunk::allocate(); } /* ---------------------------------------------------------------------- */ ComputeGyrationChunk::~ComputeGyrationChunk() { - delete [] idchunk; memory->destroy(massproc); memory->destroy(masstotal); memory->destroy(com); @@ -89,26 +76,13 @@ ComputeGyrationChunk::~ComputeGyrationChunk() /* ---------------------------------------------------------------------- */ -void ComputeGyrationChunk::init() -{ - int icompute = modify->find_compute(idchunk); - if (icompute < 0) - error->all(FLERR,"Chunk/atom compute does not exist for " - "compute gyration/chunk"); - cchunk = dynamic_cast(modify->compute[icompute]); - if (strcmp(cchunk->style,"chunk/atom") != 0) - error->all(FLERR,"Compute gyration/chunk does not use chunk/atom compute"); -} - -/* ---------------------------------------------------------------------- */ - void ComputeGyrationChunk::compute_vector() { - int i,index; - double dx,dy,dz,massone; + int i, index; + double dx, dy, dz, massone; double unwrap[3]; - invoked_array = update->ntimestep; + ComputeChunk::compute_vector(); com_chunk(); int *ichunk = cchunk->ichunk; @@ -127,33 +101,34 @@ void ComputeGyrationChunk::compute_vector() for (i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; - domain->unmap(x[i],image[i],unwrap); + domain->unmap(x[i], image[i], unwrap); dx = unwrap[0] - comall[index][0]; dy = unwrap[1] - comall[index][1]; dz = unwrap[2] - comall[index][2]; - if (rmass) massone = rmass[i]; - else massone = mass[type[i]]; - rg[index] += (dx*dx + dy*dy + dz*dz) * massone; + if (rmass) + massone = rmass[i]; + else + massone = mass[type[i]]; + rg[index] += (dx * dx + dy * dy + dz * dz) * massone; } - MPI_Allreduce(rg,rgall,nchunk,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(rg, rgall, nchunk, MPI_DOUBLE, MPI_SUM, world); for (i = 0; i < nchunk; i++) - if (masstotal[i] > 0.0) - rgall[i] = sqrt(rgall[i]/masstotal[i]); + if (masstotal[i] > 0.0) rgall[i] = sqrt(rgall[i] / masstotal[i]); } /* ---------------------------------------------------------------------- */ void ComputeGyrationChunk::compute_array() { - int i,j,index; - double dx,dy,dz,massone; + int i, j, index; + double dx, dy, dz, massone; double unwrap[3]; - invoked_array = update->ntimestep; + ComputeChunk::compute_array(); com_chunk(); int *ichunk = cchunk->ichunk; @@ -171,34 +146,33 @@ void ComputeGyrationChunk::compute_array() for (i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; - domain->unmap(x[i],image[i],unwrap); + domain->unmap(x[i], image[i], unwrap); dx = unwrap[0] - comall[index][0]; dy = unwrap[1] - comall[index][1]; dz = unwrap[2] - comall[index][2]; - if (rmass) massone = rmass[i]; - else massone = mass[type[i]]; - rgt[index][0] += dx*dx * massone; - rgt[index][1] += dy*dy * massone; - rgt[index][2] += dz*dz * massone; - rgt[index][3] += dx*dy * massone; - rgt[index][4] += dx*dz * massone; - rgt[index][5] += dy*dz * massone; + if (rmass) + massone = rmass[i]; + else + massone = mass[type[i]]; + rgt[index][0] += dx * dx * massone; + rgt[index][1] += dy * dy * massone; + rgt[index][2] += dz * dz * massone; + rgt[index][3] += dx * dy * massone; + rgt[index][4] += dx * dz * massone; + rgt[index][5] += dy * dz * massone; } - if (nchunk) - MPI_Allreduce(&rgt[0][0],&rgtall[0][0],nchunk*6,MPI_DOUBLE,MPI_SUM,world); + if (nchunk) MPI_Allreduce(&rgt[0][0], &rgtall[0][0], nchunk * 6, MPI_DOUBLE, MPI_SUM, world); for (i = 0; i < nchunk; i++) { if (masstotal[i] > 0.0) { - for (j = 0; j < 6; j++) - rgtall[i][j] = rgtall[i][j]/masstotal[i]; + for (j = 0; j < 6; j++) rgtall[i][j] = rgtall[i][j] / masstotal[i]; } } } - /* ---------------------------------------------------------------------- calculate per-chunk COM, used by both scalar and tensor ------------------------------------------------------------------------- */ @@ -209,18 +183,8 @@ void ComputeGyrationChunk::com_chunk() double massone; double unwrap[3]; - // compute chunk/atom assigns atoms to chunk IDs - // extract ichunk index vector from compute - // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms - - nchunk = cchunk->setup_chunks(); - cchunk->compute_ichunk(); int *ichunk = cchunk->ichunk; - if (nchunk > maxchunk) allocate(); - if (tensor) size_array_rows = nchunk; - else size_vector = nchunk; - // zero local per-chunk values for (int i = 0; i < nchunk; i++) { @@ -240,19 +204,21 @@ void ComputeGyrationChunk::com_chunk() for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; - if (rmass) massone = rmass[i]; - else massone = mass[type[i]]; - domain->unmap(x[i],image[i],unwrap); + if (rmass) + massone = rmass[i]; + else + massone = mass[type[i]]; + domain->unmap(x[i], image[i], unwrap); massproc[index] += massone; com[index][0] += unwrap[0] * massone; com[index][1] += unwrap[1] * massone; com[index][2] += unwrap[2] * massone; } - MPI_Allreduce(massproc,masstotal,nchunk,MPI_DOUBLE,MPI_SUM,world); - MPI_Allreduce(&com[0][0],&comall[0][0],3*nchunk,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(massproc, masstotal, nchunk, MPI_DOUBLE, MPI_SUM, world); + MPI_Allreduce(&com[0][0], &comall[0][0], 3 * nchunk, MPI_DOUBLE, MPI_SUM, world); for (int i = 0; i < nchunk; i++) { if (masstotal[i] > 0.0) { @@ -263,68 +229,13 @@ void ComputeGyrationChunk::com_chunk() } } -/* ---------------------------------------------------------------------- - lock methods: called by fix ave/time - these methods ensure vector/array size is locked for Nfreq epoch - by passing lock info along to compute chunk/atom -------------------------------------------------------------------------- */ - -/* ---------------------------------------------------------------------- - increment lock counter -------------------------------------------------------------------------- */ - -void ComputeGyrationChunk::lock_enable() -{ - cchunk->lockcount++; -} - -/* ---------------------------------------------------------------------- - decrement lock counter in compute chunk/atom, it if still exists -------------------------------------------------------------------------- */ - -void ComputeGyrationChunk::lock_disable() -{ - int icompute = modify->find_compute(idchunk); - if (icompute >= 0) { - cchunk = dynamic_cast(modify->compute[icompute]); - cchunk->lockcount--; - } -} - -/* ---------------------------------------------------------------------- - calculate and return # of chunks = length of vector/array -------------------------------------------------------------------------- */ - -int ComputeGyrationChunk::lock_length() -{ - nchunk = cchunk->setup_chunks(); - return nchunk; -} - -/* ---------------------------------------------------------------------- - set the lock from startstep to stopstep -------------------------------------------------------------------------- */ - -void ComputeGyrationChunk::lock(Fix *fixptr, bigint startstep, bigint stopstep) -{ - cchunk->lock(fixptr,startstep,stopstep); -} - -/* ---------------------------------------------------------------------- - unset the lock -------------------------------------------------------------------------- */ - -void ComputeGyrationChunk::unlock(Fix *fixptr) -{ - cchunk->unlock(fixptr); -} - /* ---------------------------------------------------------------------- free and reallocate per-chunk arrays ------------------------------------------------------------------------- */ void ComputeGyrationChunk::allocate() { + ComputeChunk::allocate(); memory->destroy(massproc); memory->destroy(masstotal); memory->destroy(com); @@ -334,17 +245,17 @@ void ComputeGyrationChunk::allocate() memory->destroy(rgt); memory->destroy(rgtall); maxchunk = nchunk; - memory->create(massproc,maxchunk,"gyration/chunk:massproc"); - memory->create(masstotal,maxchunk,"gyration/chunk:masstotal"); - memory->create(com,maxchunk,3,"gyration/chunk:com"); - memory->create(comall,maxchunk,3,"gyration/chunk:comall"); + memory->create(massproc, maxchunk, "gyration/chunk:massproc"); + memory->create(masstotal, maxchunk, "gyration/chunk:masstotal"); + memory->create(com, maxchunk, 3, "gyration/chunk:com"); + memory->create(comall, maxchunk, 3, "gyration/chunk:comall"); if (tensor) { - memory->create(rgt,maxchunk,6,"gyration/chunk:rgt"); - memory->create(rgtall,maxchunk,6,"gyration/chunk:rgtall"); + memory->create(rgt, maxchunk, 6, "gyration/chunk:rgt"); + memory->create(rgtall, maxchunk, 6, "gyration/chunk:rgtall"); array = rgtall; } else { - memory->create(rg,maxchunk,"gyration/chunk:rg"); - memory->create(rgall,maxchunk,"gyration/chunk:rgall"); + memory->create(rg, maxchunk, "gyration/chunk:rg"); + memory->create(rgall, maxchunk, "gyration/chunk:rgall"); vector = rgall; } } @@ -355,9 +266,12 @@ void ComputeGyrationChunk::allocate() double ComputeGyrationChunk::memory_usage() { - double bytes = (bigint) maxchunk * 2 * sizeof(double); - bytes += (double) maxchunk * 2*3 * sizeof(double); - if (tensor) bytes += (double) maxchunk * 2*6 * sizeof(double); - else bytes += (double) maxchunk * 2 * sizeof(double); + double bytes = ComputeChunk::memory_usage(); + bytes += (bigint) maxchunk * 2 * sizeof(double); + bytes += (double) maxchunk * 2 * 3 * sizeof(double); + if (tensor) + bytes += (double) maxchunk * 2 * 6 * sizeof(double); + else + bytes += (double) maxchunk * 2 * sizeof(double); return bytes; } diff --git a/src/compute_gyration_chunk.h b/src/compute_gyration_chunk.h index c455f5a100..640d350a05 100644 --- a/src/compute_gyration_chunk.h +++ b/src/compute_gyration_chunk.h @@ -20,31 +20,21 @@ ComputeStyle(gyration/chunk,ComputeGyrationChunk); #ifndef LMP_COMPUTE_GYRATION_CHUNK_H #define LMP_COMPUTE_GYRATION_CHUNK_H -#include "compute.h" +#include "compute_chunk.h" namespace LAMMPS_NS { -class ComputeGyrationChunk : public Compute { +class ComputeGyrationChunk : public ComputeChunk { public: ComputeGyrationChunk(class LAMMPS *, int, char **); ~ComputeGyrationChunk() override; - void init() override; + void compute_vector() override; void compute_array() override; - void lock_enable() override; - void lock_disable() override; - int lock_length() override; - void lock(class Fix *, bigint, bigint) override; - void unlock(class Fix *) override; - double memory_usage() override; private: - int nchunk, maxchunk; - char *idchunk; - class ComputeChunkAtom *cchunk; - int tensor; double *massproc, *masstotal; @@ -53,7 +43,7 @@ class ComputeGyrationChunk : public Compute { double **rgt, **rgtall; void com_chunk(); - void allocate(); + void allocate() override; }; } // namespace LAMMPS_NS diff --git a/src/compute_inertia_chunk.cpp b/src/compute_inertia_chunk.cpp index 1e8f331fe1..0a0507c0cf 100644 --- a/src/compute_inertia_chunk.cpp +++ b/src/compute_inertia_chunk.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -14,25 +13,21 @@ #include "compute_inertia_chunk.h" -#include #include "atom.h" -#include "update.h" -#include "modify.h" #include "compute_chunk_atom.h" #include "domain.h" -#include "memory.h" #include "error.h" +#include "memory.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ ComputeInertiaChunk::ComputeInertiaChunk(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), - idchunk(nullptr), massproc(nullptr), masstotal(nullptr), com(nullptr), comall(nullptr), - inertia(nullptr), inertiaall(nullptr) + ComputeChunk(lmp, narg, arg), massproc(nullptr), masstotal(nullptr), com(nullptr), + comall(nullptr), inertia(nullptr), inertiaall(nullptr) { - if (narg != 4) error->all(FLERR,"Illegal compute inertia/chunk command"); + if (narg != 4) error->all(FLERR, "Illegal compute inertia/chunk command"); array_flag = 1; size_array_cols = 6; @@ -40,24 +35,14 @@ ComputeInertiaChunk::ComputeInertiaChunk(LAMMPS *lmp, int narg, char **arg) : size_array_rows_variable = 1; extarray = 0; - // ID of compute chunk/atom - - idchunk = utils::strdup(arg[3]); - ComputeInertiaChunk::init(); - - // chunk-based data - - nchunk = 1; - maxchunk = 0; - allocate(); + ComputeInertiaChunk::allocate(); } /* ---------------------------------------------------------------------- */ ComputeInertiaChunk::~ComputeInertiaChunk() { - delete [] idchunk; memory->destroy(massproc); memory->destroy(masstotal); memory->destroy(com); @@ -68,38 +53,15 @@ ComputeInertiaChunk::~ComputeInertiaChunk() /* ---------------------------------------------------------------------- */ -void ComputeInertiaChunk::init() -{ - int icompute = modify->find_compute(idchunk); - if (icompute < 0) - error->all(FLERR,"Chunk/atom compute does not exist for " - "compute inertia/chunk"); - cchunk = dynamic_cast(modify->compute[icompute]); - if (strcmp(cchunk->style,"chunk/atom") != 0) - error->all(FLERR,"Compute inertia/chunk does not use chunk/atom compute"); -} - -/* ---------------------------------------------------------------------- */ - void ComputeInertiaChunk::compute_array() { - int i,j,index; - double dx,dy,dz,massone; + int i, j, index; + double dx, dy, dz, massone; double unwrap[3]; - invoked_array = update->ntimestep; - - // compute chunk/atom assigns atoms to chunk IDs - // extract ichunk index vector from compute - // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms - - nchunk = cchunk->setup_chunks(); - cchunk->compute_ichunk(); + ComputeChunk::compute_array(); int *ichunk = cchunk->ichunk; - if (nchunk > maxchunk) allocate(); - size_array_rows = nchunk; - // zero local per-chunk values for (i = 0; i < nchunk; i++) { @@ -120,19 +82,21 @@ void ComputeInertiaChunk::compute_array() for (i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; - if (rmass) massone = rmass[i]; - else massone = mass[type[i]]; - domain->unmap(x[i],image[i],unwrap); + if (rmass) + massone = rmass[i]; + else + massone = mass[type[i]]; + domain->unmap(x[i], image[i], unwrap); massproc[index] += massone; com[index][0] += unwrap[0] * massone; com[index][1] += unwrap[1] * massone; com[index][2] += unwrap[2] * massone; } - MPI_Allreduce(massproc,masstotal,nchunk,MPI_DOUBLE,MPI_SUM,world); - MPI_Allreduce(&com[0][0],&comall[0][0],3*nchunk,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(massproc, masstotal, nchunk, MPI_DOUBLE, MPI_SUM, world); + MPI_Allreduce(&com[0][0], &comall[0][0], 3 * nchunk, MPI_DOUBLE, MPI_SUM, world); for (i = 0; i < nchunk; i++) { if (masstotal[i] > 0.0) { @@ -146,83 +110,26 @@ void ComputeInertiaChunk::compute_array() for (i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; - if (rmass) massone = rmass[i]; - else massone = mass[type[i]]; - domain->unmap(x[i],image[i],unwrap); + if (rmass) + massone = rmass[i]; + else + massone = mass[type[i]]; + domain->unmap(x[i], image[i], unwrap); dx = unwrap[0] - comall[index][0]; dy = unwrap[1] - comall[index][1]; dz = unwrap[2] - comall[index][2]; - inertia[index][0] += massone * (dy*dy + dz*dz); - inertia[index][1] += massone * (dx*dx + dz*dz); - inertia[index][2] += massone * (dx*dx + dy*dy); - inertia[index][3] -= massone * dx*dy; - inertia[index][4] -= massone * dy*dz; - inertia[index][5] -= massone * dx*dz; + inertia[index][0] += massone * (dy * dy + dz * dz); + inertia[index][1] += massone * (dx * dx + dz * dz); + inertia[index][2] += massone * (dx * dx + dy * dy); + inertia[index][3] -= massone * dx * dy; + inertia[index][4] -= massone * dy * dz; + inertia[index][5] -= massone * dx * dz; } - MPI_Allreduce(&inertia[0][0],&inertiaall[0][0],6*nchunk, - MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&inertia[0][0], &inertiaall[0][0], 6 * nchunk, MPI_DOUBLE, MPI_SUM, world); } - -/* ---------------------------------------------------------------------- - lock methods: called by fix ave/time - these methods ensure vector/array size is locked for Nfreq epoch - by passing lock info along to compute chunk/atom -------------------------------------------------------------------------- */ - -/* ---------------------------------------------------------------------- - increment lock counter -------------------------------------------------------------------------- */ - -void ComputeInertiaChunk::lock_enable() -{ - cchunk->lockcount++; -} - -/* ---------------------------------------------------------------------- - decrement lock counter in compute chunk/atom, it if still exists -------------------------------------------------------------------------- */ - -void ComputeInertiaChunk::lock_disable() -{ - int icompute = modify->find_compute(idchunk); - if (icompute >= 0) { - cchunk = dynamic_cast(modify->compute[icompute]); - cchunk->lockcount--; - } -} - -/* ---------------------------------------------------------------------- - calculate and return # of chunks = length of vector/array -------------------------------------------------------------------------- */ - -int ComputeInertiaChunk::lock_length() -{ - nchunk = cchunk->setup_chunks(); - return nchunk; -} - -/* ---------------------------------------------------------------------- - set the lock from startstep to stopstep -------------------------------------------------------------------------- */ - -void ComputeInertiaChunk::lock(Fix *fixptr, bigint startstep, bigint stopstep) -{ - cchunk->lock(fixptr,startstep,stopstep); -} - -/* ---------------------------------------------------------------------- - unset the lock -------------------------------------------------------------------------- */ - -void ComputeInertiaChunk::unlock(Fix *fixptr) -{ - cchunk->unlock(fixptr); -} - - /* ---------------------------------------------------------------------- free and reallocate per-chunk arrays ------------------------------------------------------------------------- */ @@ -236,12 +143,12 @@ void ComputeInertiaChunk::allocate() memory->destroy(inertia); memory->destroy(inertiaall); maxchunk = nchunk; - memory->create(massproc,maxchunk,"inertia/chunk:massproc"); - memory->create(masstotal,maxchunk,"inertia/chunk:masstotal"); - memory->create(com,maxchunk,3,"inertia/chunk:com"); - memory->create(comall,maxchunk,3,"inertia/chunk:comall"); - memory->create(inertia,maxchunk,6,"inertia/chunk:inertia"); - memory->create(inertiaall,maxchunk,6,"inertia/chunk:inertiaall"); + memory->create(massproc, maxchunk, "inertia/chunk:massproc"); + memory->create(masstotal, maxchunk, "inertia/chunk:masstotal"); + memory->create(com, maxchunk, 3, "inertia/chunk:com"); + memory->create(comall, maxchunk, 3, "inertia/chunk:comall"); + memory->create(inertia, maxchunk, 6, "inertia/chunk:inertia"); + memory->create(inertiaall, maxchunk, 6, "inertia/chunk:inertiaall"); array = inertiaall; } @@ -251,8 +158,9 @@ void ComputeInertiaChunk::allocate() double ComputeInertiaChunk::memory_usage() { - double bytes = (bigint) maxchunk * 2 * sizeof(double); - bytes += (double) maxchunk * 2*3 * sizeof(double); - bytes += (double) maxchunk * 2*6 * sizeof(double); + double bytes = ComputeChunk::memory_usage(); + bytes += (bigint) maxchunk * 2 * sizeof(double); + bytes += (double) maxchunk * 2 * 3 * sizeof(double); + bytes += (double) maxchunk * 2 * 6 * sizeof(double); return bytes; } diff --git a/src/compute_inertia_chunk.h b/src/compute_inertia_chunk.h index 6ec318833a..17acd4ac40 100644 --- a/src/compute_inertia_chunk.h +++ b/src/compute_inertia_chunk.h @@ -20,38 +20,25 @@ ComputeStyle(inertia/chunk,ComputeInertiaChunk); #ifndef LMP_COMPUTE_INERTIA_CHUNK_H #define LMP_COMPUTE_INERTIA_CHUNK_H -#include "compute.h" +#include "compute_chunk.h" namespace LAMMPS_NS { -class ComputeInertiaChunk : public Compute { +class ComputeInertiaChunk : public ComputeChunk { public: ComputeInertiaChunk(class LAMMPS *, int, char **); ~ComputeInertiaChunk() override; - void init() override; void compute_array() override; - void lock_enable() override; - void lock_disable() override; - int lock_length() override; - void lock(class Fix *, bigint, bigint) override; - void unlock(class Fix *) override; - double memory_usage() override; private: - int nchunk, maxchunk; - char *idchunk; - class ComputeChunkAtom *cchunk; - double *massproc, *masstotal; double **com, **comall; double **inertia, **inertiaall; - void allocate(); + void allocate() override; }; - } // namespace LAMMPS_NS - #endif #endif diff --git a/src/compute_msd_chunk.cpp b/src/compute_msd_chunk.cpp index 6e23ac1a86..07234ecfdb 100644 --- a/src/compute_msd_chunk.cpp +++ b/src/compute_msd_chunk.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -22,19 +21,16 @@ #include "group.h" #include "memory.h" #include "modify.h" -#include "update.h" - -#include using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ ComputeMSDChunk::ComputeMSDChunk(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), idchunk(nullptr), id_fix(nullptr), massproc(nullptr), - masstotal(nullptr), com(nullptr), comall(nullptr), msd(nullptr) + ComputeChunk(lmp, narg, arg), id_fix(nullptr), massproc(nullptr), masstotal(nullptr), + com(nullptr), comall(nullptr), msd(nullptr) { - if (narg != 4) error->all(FLERR,"Illegal compute msd/chunk command"); + if (narg != 4) error->all(FLERR, "Illegal compute msd/chunk command"); array_flag = 1; size_array_cols = 4; @@ -42,11 +38,6 @@ ComputeMSDChunk::ComputeMSDChunk(LAMMPS *lmp, int narg, char **arg) : size_array_rows_variable = 1; extarray = 0; - // ID of compute chunk/atom - - idchunk = utils::strdup(arg[3]); - - firstflag = 1; ComputeMSDChunk::init(); // create a new fix STORE style for reference positions @@ -58,7 +49,7 @@ ComputeMSDChunk::ComputeMSDChunk(LAMMPS *lmp, int narg, char **arg) : id_fix = utils::strdup(std::string(id) + "_COMPUTE_STORE"); fix = dynamic_cast( - modify->add_fix(fmt::format("{} {} STORE/GLOBAL 1 1", id_fix,group->names[igroup]))); + modify->add_fix(fmt::format("{} {} STORE/GLOBAL 1 1", id_fix, group->names[igroup]))); } /* ---------------------------------------------------------------------- */ @@ -70,7 +61,6 @@ ComputeMSDChunk::~ComputeMSDChunk() if (modify->nfix) modify->delete_fix(id_fix); delete[] id_fix; - delete[] idchunk; memory->destroy(massproc); memory->destroy(masstotal); memory->destroy(com); @@ -82,19 +72,14 @@ ComputeMSDChunk::~ComputeMSDChunk() void ComputeMSDChunk::init() { - int icompute = modify->find_compute(idchunk); - if (icompute < 0) - error->all(FLERR,"Chunk/atom compute does not exist for compute msd/chunk"); - cchunk = dynamic_cast(modify->compute[icompute]); - if (strcmp(cchunk->style,"chunk/atom") != 0) - error->all(FLERR,"Compute msd/chunk does not use chunk/atom compute"); + ComputeChunk::init(); // set fix which stores reference atom coords // if firstflag, will be created in setup() if (!firstflag) { fix = dynamic_cast(modify->get_fix_by_id(id_fix)); - if (!fix) error->all(FLERR,"Could not find compute msd/chunk fix with ID {}", id_fix); + if (!fix) error->all(FLERR, "Could not find compute msd/chunk fix with ID {}", id_fix); } } @@ -113,7 +98,7 @@ void ComputeMSDChunk::setup() // otherwise reset its size now and initialize to current COM if (fix->nrow == nchunk && fix->ncol == 3) return; - fix->reset_global(nchunk,3); + fix->reset_global(nchunk, 3); double **cominit = fix->astore; for (int i = 0; i < nchunk; i++) { @@ -132,25 +117,15 @@ void ComputeMSDChunk::compute_array() double massone; double unwrap[3]; - invoked_array = update->ntimestep; - - // compute chunk/atom assigns atoms to chunk IDs - // extract ichunk index vector from compute - // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms - - int n = cchunk->setup_chunks(); - cchunk->compute_ichunk(); + int oldnchunk = nchunk; + ComputeChunk::compute_array(); int *ichunk = cchunk->ichunk; // first time call, allocate per-chunk arrays // thereafter, require nchunk remain the same - if (firstflag) { - nchunk = n; - allocate(); - size_array_rows = nchunk; - } else if (n != nchunk) - error->all(FLERR,"Compute msd/chunk nchunk is not static"); + if (!firstflag && (oldnchunk != nchunk)) + error->all(FLERR, "Compute msd/chunk nchunk is not static"); // zero local per-chunk values @@ -171,19 +146,21 @@ void ComputeMSDChunk::compute_array() for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; - if (rmass) massone = rmass[i]; - else massone = mass[type[i]]; - domain->unmap(x[i],image[i],unwrap); + if (rmass) + massone = rmass[i]; + else + massone = mass[type[i]]; + domain->unmap(x[i], image[i], unwrap); massproc[index] += massone; com[index][0] += unwrap[0] * massone; com[index][1] += unwrap[1] * massone; com[index][2] += unwrap[2] * massone; } - MPI_Allreduce(massproc,masstotal,nchunk,MPI_DOUBLE,MPI_SUM,world); - MPI_Allreduce(&com[0][0],&comall[0][0],3*nchunk,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(massproc, masstotal, nchunk, MPI_DOUBLE, MPI_SUM, world); + MPI_Allreduce(&com[0][0], &comall[0][0], 3 * nchunk, MPI_DOUBLE, MPI_SUM, world); for (int i = 0; i < nchunk; i++) { if (masstotal[i] > 0.0) { @@ -198,87 +175,32 @@ void ComputeMSDChunk::compute_array() if (firstflag) return; - double dx,dy,dz; + double dx, dy, dz; double **cominit = fix->astore; for (int i = 0; i < nchunk; i++) { dx = comall[i][0] - cominit[i][0]; dy = comall[i][1] - cominit[i][1]; dz = comall[i][2] - cominit[i][2]; - msd[i][0] = dx*dx; - msd[i][1] = dy*dy; - msd[i][2] = dz*dz; - msd[i][3] = dx*dx + dy*dy + dz*dz; + msd[i][0] = dx * dx; + msd[i][1] = dy * dy; + msd[i][2] = dz * dz; + msd[i][3] = dx * dx + dy * dy + dz * dz; } } -/* ---------------------------------------------------------------------- - lock methods: called by fix ave/time - these methods ensure vector/array size is locked for Nfreq epoch - by passing lock info along to compute chunk/atom -------------------------------------------------------------------------- */ - -/* ---------------------------------------------------------------------- - increment lock counter -------------------------------------------------------------------------- */ - -void ComputeMSDChunk::lock_enable() -{ - cchunk->lockcount++; -} - -/* ---------------------------------------------------------------------- - decrement lock counter in compute chunk/atom, it if still exists -------------------------------------------------------------------------- */ - -void ComputeMSDChunk::lock_disable() -{ - int icompute = modify->find_compute(idchunk); - if (icompute >= 0) { - cchunk = dynamic_cast(modify->compute[icompute]); - cchunk->lockcount--; - } -} - -/* ---------------------------------------------------------------------- - calculate and return # of chunks = length of vector/array -------------------------------------------------------------------------- */ - -int ComputeMSDChunk::lock_length() -{ - nchunk = cchunk->setup_chunks(); - return nchunk; -} - -/* ---------------------------------------------------------------------- - set the lock from startstep to stopstep -------------------------------------------------------------------------- */ - -void ComputeMSDChunk::lock(Fix *fixptr, bigint startstep, bigint stopstep) -{ - cchunk->lock(fixptr,startstep,stopstep); -} - -/* ---------------------------------------------------------------------- - unset the lock -------------------------------------------------------------------------- */ - -void ComputeMSDChunk::unlock(Fix *fixptr) -{ - cchunk->unlock(fixptr); -} - /* ---------------------------------------------------------------------- one-time allocate of per-chunk arrays ------------------------------------------------------------------------- */ void ComputeMSDChunk::allocate() { - memory->create(massproc,nchunk,"msd/chunk:massproc"); - memory->create(masstotal,nchunk,"msd/chunk:masstotal"); - memory->create(com,nchunk,3,"msd/chunk:com"); - memory->create(comall,nchunk,3,"msd/chunk:comall"); - memory->create(msd,nchunk,4,"msd/chunk:msd"); + ComputeChunk::allocate(); + memory->create(massproc, nchunk, "msd/chunk:massproc"); + memory->create(masstotal, nchunk, "msd/chunk:masstotal"); + memory->create(com, nchunk, 3, "msd/chunk:com"); + memory->create(comall, nchunk, 3, "msd/chunk:comall"); + memory->create(msd, nchunk, 4, "msd/chunk:msd"); array = msd; } @@ -288,8 +210,9 @@ void ComputeMSDChunk::allocate() double ComputeMSDChunk::memory_usage() { - double bytes = (bigint) nchunk * 2 * sizeof(double); - bytes += (double) nchunk * 2*3 * sizeof(double); + double bytes = ComputeChunk::memory_usage(); + bytes += (bigint) nchunk * 2 * sizeof(double); + bytes += (double) nchunk * 2 * 3 * sizeof(double); bytes += (double) nchunk * 4 * sizeof(double); return bytes; } diff --git a/src/compute_msd_chunk.h b/src/compute_msd_chunk.h index 7357f440a1..aba0c25fcb 100644 --- a/src/compute_msd_chunk.h +++ b/src/compute_msd_chunk.h @@ -20,11 +20,11 @@ ComputeStyle(msd/chunk,ComputeMSDChunk); #ifndef LMP_COMPUTE_MSD_CHUNK_H #define LMP_COMPUTE_MSD_CHUNK_H -#include "compute.h" +#include "compute_chunk.h" namespace LAMMPS_NS { -class ComputeMSDChunk : public Compute { +class ComputeMSDChunk : public ComputeChunk { public: ComputeMSDChunk(class LAMMPS *, int, char **); ~ComputeMSDChunk() override; @@ -32,27 +32,17 @@ class ComputeMSDChunk : public Compute { void setup() override; void compute_array() override; - void lock_enable() override; - void lock_disable() override; - int lock_length() override; - void lock(class Fix *, bigint, bigint) override; - void unlock(class Fix *) override; - double memory_usage() override; private: - int nchunk; - char *idchunk; - class ComputeChunkAtom *cchunk; char *id_fix; class FixStoreGlobal *fix; - int firstflag; double *massproc, *masstotal; double **com, **comall; double **msd; - void allocate(); + void allocate() override; }; } // namespace LAMMPS_NS #endif diff --git a/src/compute_omega_chunk.cpp b/src/compute_omega_chunk.cpp index 159c865188..3c345ab7a4 100644 --- a/src/compute_omega_chunk.cpp +++ b/src/compute_omega_chunk.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -14,16 +13,13 @@ #include "compute_omega_chunk.h" -#include #include "atom.h" -#include "update.h" -#include "modify.h" #include "compute_chunk_atom.h" #include "domain.h" -#include "math_extra.h" -#include "math_eigen.h" -#include "memory.h" #include "error.h" +#include "math_eigen.h" +#include "math_extra.h" +#include "memory.h" using namespace LAMMPS_NS; @@ -32,11 +28,11 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ ComputeOmegaChunk::ComputeOmegaChunk(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), - idchunk(nullptr),massproc(nullptr),masstotal(nullptr),com(nullptr),comall(nullptr), - inertia(nullptr),inertiaall(nullptr),angmom(nullptr),angmomall(nullptr),omega(nullptr) + ComputeChunk(lmp, narg, arg), massproc(nullptr), masstotal(nullptr), com(nullptr), + comall(nullptr), inertia(nullptr), inertiaall(nullptr), angmom(nullptr), angmomall(nullptr), + omega(nullptr) { - if (narg != 4) error->all(FLERR,"Illegal compute omega/chunk command"); + if (narg != 4) error->all(FLERR, "Illegal compute omega/chunk command"); array_flag = 1; size_array_cols = 3; @@ -44,24 +40,14 @@ ComputeOmegaChunk::ComputeOmegaChunk(LAMMPS *lmp, int narg, char **arg) : size_array_rows_variable = 1; extarray = 0; - // ID of compute chunk/atom - - idchunk = utils::strdup(arg[3]); - ComputeOmegaChunk::init(); - - // chunk-based data - - nchunk = 1; - maxchunk = 0; - allocate(); + ComputeOmegaChunk::allocate(); } /* ---------------------------------------------------------------------- */ ComputeOmegaChunk::~ComputeOmegaChunk() { - delete [] idchunk; memory->destroy(massproc); memory->destroy(masstotal); memory->destroy(com); @@ -75,33 +61,13 @@ ComputeOmegaChunk::~ComputeOmegaChunk() /* ---------------------------------------------------------------------- */ -void ComputeOmegaChunk::init() -{ - int icompute = modify->find_compute(idchunk); - if (icompute < 0) - error->all(FLERR,"Chunk/atom compute does not exist for " - "compute omega/chunk"); - cchunk = dynamic_cast(modify->compute[icompute]); - if (strcmp(cchunk->style,"chunk/atom") != 0) - error->all(FLERR,"Compute omega/chunk does not use chunk/atom compute"); -} - -/* ---------------------------------------------------------------------- */ - void ComputeOmegaChunk::compute_array() { - int i,j,m,index; - double dx,dy,dz,massone; + int i, j, m, index; + double dx, dy, dz, massone; double unwrap[3]; - invoked_array = update->ntimestep; - - // compute chunk/atom assigns atoms to chunk IDs - // extract ichunk index vector from compute - // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms - - nchunk = cchunk->setup_chunks(); - cchunk->compute_ichunk(); + ComputeChunk::compute_array(); int *ichunk = cchunk->ichunk; if (nchunk > maxchunk) allocate(); @@ -129,19 +95,21 @@ void ComputeOmegaChunk::compute_array() for (i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; - if (rmass) massone = rmass[i]; - else massone = mass[type[i]]; - domain->unmap(x[i],image[i],unwrap); + if (rmass) + massone = rmass[i]; + else + massone = mass[type[i]]; + domain->unmap(x[i], image[i], unwrap); massproc[index] += massone; com[index][0] += unwrap[0] * massone; com[index][1] += unwrap[1] * massone; com[index][2] += unwrap[2] * massone; } - MPI_Allreduce(massproc,masstotal,nchunk,MPI_DOUBLE,MPI_SUM,world); - MPI_Allreduce(&com[0][0],&comall[0][0],3*nchunk,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(massproc, masstotal, nchunk, MPI_DOUBLE, MPI_SUM, world); + MPI_Allreduce(&com[0][0], &comall[0][0], 3 * nchunk, MPI_DOUBLE, MPI_SUM, world); for (i = 0; i < nchunk; i++) { if (masstotal[i] > 0.0) { @@ -155,24 +123,25 @@ void ComputeOmegaChunk::compute_array() for (i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; - if (rmass) massone = rmass[i]; - else massone = mass[type[i]]; - domain->unmap(x[i],image[i],unwrap); + if (rmass) + massone = rmass[i]; + else + massone = mass[type[i]]; + domain->unmap(x[i], image[i], unwrap); dx = unwrap[0] - comall[index][0]; dy = unwrap[1] - comall[index][1]; dz = unwrap[2] - comall[index][2]; - inertia[index][0] += massone * (dy*dy + dz*dz); - inertia[index][1] += massone * (dx*dx + dz*dz); - inertia[index][2] += massone * (dx*dx + dy*dy); - inertia[index][3] -= massone * dx*dy; - inertia[index][4] -= massone * dy*dz; - inertia[index][5] -= massone * dx*dz; + inertia[index][0] += massone * (dy * dy + dz * dz); + inertia[index][1] += massone * (dx * dx + dz * dz); + inertia[index][2] += massone * (dx * dx + dy * dy); + inertia[index][3] -= massone * dx * dy; + inertia[index][4] -= massone * dy * dz; + inertia[index][5] -= massone * dx * dz; } - MPI_Allreduce(&inertia[0][0],&inertiaall[0][0],6*nchunk, - MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&inertia[0][0], &inertiaall[0][0], 6 * nchunk, MPI_DOUBLE, MPI_SUM, world); // compute angmom for each chunk @@ -180,37 +149,38 @@ void ComputeOmegaChunk::compute_array() for (i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; - domain->unmap(x[i],image[i],unwrap); + domain->unmap(x[i], image[i], unwrap); dx = unwrap[0] - comall[index][0]; dy = unwrap[1] - comall[index][1]; dz = unwrap[2] - comall[index][2]; - if (rmass) massone = rmass[i]; - else massone = mass[type[i]]; - angmom[index][0] += massone * (dy*v[i][2] - dz*v[i][1]); - angmom[index][1] += massone * (dz*v[i][0] - dx*v[i][2]); - angmom[index][2] += massone * (dx*v[i][1] - dy*v[i][0]); + if (rmass) + massone = rmass[i]; + else + massone = mass[type[i]]; + angmom[index][0] += massone * (dy * v[i][2] - dz * v[i][1]); + angmom[index][1] += massone * (dz * v[i][0] - dx * v[i][2]); + angmom[index][2] += massone * (dx * v[i][1] - dy * v[i][0]); } - MPI_Allreduce(&angmom[0][0],&angmomall[0][0],3*nchunk, - MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&angmom[0][0], &angmomall[0][0], 3 * nchunk, MPI_DOUBLE, MPI_SUM, world); // compute omega for each chunk - double determinant,invdeterminant; - double idiag[3],ex[3],ey[3],ez[3],cross[3]; - double ione[3][3],inverse[3][3],evectors[3][3]; - double *iall,*mall; + double determinant, invdeterminant; + double idiag[3], ex[3], ey[3], ez[3], cross[3]; + double ione[3][3], inverse[3][3], evectors[3][3]; + double *iall, *mall; for (m = 0; m < nchunk; m++) { // determinant = triple product of rows of inertia matrix iall = &inertiaall[m][0]; - determinant = iall[0] * (iall[1]*iall[2] - iall[4]*iall[4]) + - iall[3] * (iall[4]*iall[5] - iall[3]*iall[2]) + - iall[5] * (iall[3]*iall[4] - iall[1]*iall[5]); + determinant = iall[0] * (iall[1] * iall[2] - iall[4] * iall[4]) + + iall[3] * (iall[4] * iall[5] - iall[3] * iall[2]) + + iall[5] * (iall[3] * iall[4] - iall[1] * iall[5]); ione[0][0] = iall[0]; ione[1][1] = iall[1]; @@ -223,39 +193,34 @@ void ComputeOmegaChunk::compute_array() // use L = Iw, inverting I to solve for w if (determinant > EPSILON) { - inverse[0][0] = ione[1][1]*ione[2][2] - ione[1][2]*ione[2][1]; - inverse[0][1] = -(ione[0][1]*ione[2][2] - ione[0][2]*ione[2][1]); - inverse[0][2] = ione[0][1]*ione[1][2] - ione[0][2]*ione[1][1]; + inverse[0][0] = ione[1][1] * ione[2][2] - ione[1][2] * ione[2][1]; + inverse[0][1] = -(ione[0][1] * ione[2][2] - ione[0][2] * ione[2][1]); + inverse[0][2] = ione[0][1] * ione[1][2] - ione[0][2] * ione[1][1]; - inverse[1][0] = -(ione[1][0]*ione[2][2] - ione[1][2]*ione[2][0]); - inverse[1][1] = ione[0][0]*ione[2][2] - ione[0][2]*ione[2][0]; - inverse[1][2] = -(ione[0][0]*ione[1][2] - ione[0][2]*ione[1][0]); + inverse[1][0] = -(ione[1][0] * ione[2][2] - ione[1][2] * ione[2][0]); + inverse[1][1] = ione[0][0] * ione[2][2] - ione[0][2] * ione[2][0]; + inverse[1][2] = -(ione[0][0] * ione[1][2] - ione[0][2] * ione[1][0]); - inverse[2][0] = ione[1][0]*ione[2][1] - ione[1][1]*ione[2][0]; - inverse[2][1] = -(ione[0][0]*ione[2][1] - ione[0][1]*ione[2][0]); - inverse[2][2] = ione[0][0]*ione[1][1] - ione[0][1]*ione[1][0]; + inverse[2][0] = ione[1][0] * ione[2][1] - ione[1][1] * ione[2][0]; + inverse[2][1] = -(ione[0][0] * ione[2][1] - ione[0][1] * ione[2][0]); + inverse[2][2] = ione[0][0] * ione[1][1] - ione[0][1] * ione[1][0]; - invdeterminant = 1.0/determinant; + invdeterminant = 1.0 / determinant; for (i = 0; i < 3; i++) - for (j = 0; j < 3; j++) - inverse[i][j] *= invdeterminant; + for (j = 0; j < 3; j++) inverse[i][j] *= invdeterminant; mall = &angmomall[m][0]; - omega[m][0] = inverse[0][0]*mall[0] + inverse[0][1]*mall[1] + - inverse[0][2]*mall[2]; - omega[m][1] = inverse[1][0]*mall[0] + inverse[1][1]*mall[1] + - inverse[1][2]*mall[2]; - omega[m][2] = inverse[2][0]*mall[0] + inverse[2][1]*mall[1] + - inverse[2][2]*mall[2]; + omega[m][0] = inverse[0][0] * mall[0] + inverse[0][1] * mall[1] + inverse[0][2] * mall[2]; + omega[m][1] = inverse[1][0] * mall[0] + inverse[1][1] * mall[1] + inverse[1][2] * mall[2]; + omega[m][2] = inverse[2][0] * mall[0] + inverse[2][1] * mall[1] + inverse[2][2] * mall[2]; - // handle each (nearly) singular I matrix - // due to 2-atom chunk or linear molecule - // use jacobi3() and angmom_to_omega() to calculate valid omega + // handle each (nearly) singular I matrix + // due to 2-atom chunk or linear molecule + // use jacobi3() and angmom_to_omega() to calculate valid omega } else { - int ierror = MathEigen::jacobi3(ione,idiag,evectors); - if (ierror) error->all(FLERR, - "Insufficient Jacobi rotations for omega/chunk"); + int ierror = MathEigen::jacobi3(ione, idiag, evectors); + if (ierror) error->all(FLERR, "Insufficient Jacobi rotations for omega/chunk"); ex[0] = evectors[0][0]; ex[1] = evectors[1][0]; @@ -270,88 +235,32 @@ void ComputeOmegaChunk::compute_array() // enforce 3 evectors as a right-handed coordinate system // flip 3rd vector if needed - MathExtra::cross3(ex,ey,cross); - if (MathExtra::dot3(cross,ez) < 0.0) MathExtra::negate3(ez); + MathExtra::cross3(ex, ey, cross); + if (MathExtra::dot3(cross, ez) < 0.0) MathExtra::negate3(ez); // if any principal moment < scaled EPSILON, set to 0.0 double max; - max = MAX(idiag[0],idiag[1]); - max = MAX(max,idiag[2]); + max = MAX(idiag[0], idiag[1]); + max = MAX(max, idiag[2]); - if (idiag[0] < EPSILON*max) idiag[0] = 0.0; - if (idiag[1] < EPSILON*max) idiag[1] = 0.0; - if (idiag[2] < EPSILON*max) idiag[2] = 0.0; + if (idiag[0] < EPSILON * max) idiag[0] = 0.0; + if (idiag[1] < EPSILON * max) idiag[1] = 0.0; + if (idiag[2] < EPSILON * max) idiag[2] = 0.0; // calculate omega using diagonalized inertia matrix - MathExtra::angmom_to_omega(&angmomall[m][0],ex,ey,ez,idiag,&omega[m][0]); + MathExtra::angmom_to_omega(&angmomall[m][0], ex, ey, ez, idiag, &omega[m][0]); } } } - -/* ---------------------------------------------------------------------- - lock methods: called by fix ave/time - these methods ensure vector/array size is locked for Nfreq epoch - by passing lock info along to compute chunk/atom -------------------------------------------------------------------------- */ - -/* ---------------------------------------------------------------------- - increment lock counter -------------------------------------------------------------------------- */ - -void ComputeOmegaChunk::lock_enable() -{ - cchunk->lockcount++; -} - -/* ---------------------------------------------------------------------- - decrement lock counter in compute chunk/atom, it if still exists -------------------------------------------------------------------------- */ - -void ComputeOmegaChunk::lock_disable() -{ - int icompute = modify->find_compute(idchunk); - if (icompute >= 0) { - cchunk = dynamic_cast(modify->compute[icompute]); - cchunk->lockcount--; - } -} - -/* ---------------------------------------------------------------------- - calculate and return # of chunks = length of vector/array -------------------------------------------------------------------------- */ - -int ComputeOmegaChunk::lock_length() -{ - nchunk = cchunk->setup_chunks(); - return nchunk; -} - -/* ---------------------------------------------------------------------- - set the lock from startstep to stopstep -------------------------------------------------------------------------- */ - -void ComputeOmegaChunk::lock(Fix *fixptr, bigint startstep, bigint stopstep) -{ - cchunk->lock(fixptr,startstep,stopstep); -} - -/* ---------------------------------------------------------------------- - unset the lock -------------------------------------------------------------------------- */ - -void ComputeOmegaChunk::unlock(Fix *fixptr) -{ - cchunk->unlock(fixptr); -} - /* ---------------------------------------------------------------------- free and reallocate per-chunk arrays ------------------------------------------------------------------------- */ void ComputeOmegaChunk::allocate() { + ComputeChunk::allocate(); memory->destroy(massproc); memory->destroy(masstotal); memory->destroy(com); @@ -362,15 +271,15 @@ void ComputeOmegaChunk::allocate() memory->destroy(angmomall); memory->destroy(omega); maxchunk = nchunk; - memory->create(massproc,maxchunk,"omega/chunk:massproc"); - memory->create(masstotal,maxchunk,"omega/chunk:masstotal"); - memory->create(com,maxchunk,3,"omega/chunk:com"); - memory->create(comall,maxchunk,3,"omega/chunk:comall"); - memory->create(inertia,maxchunk,6,"omega/chunk:inertia"); - memory->create(inertiaall,maxchunk,6,"omega/chunk:inertiaall"); - memory->create(angmom,maxchunk,3,"omega/chunk:angmom"); - memory->create(angmomall,maxchunk,3,"omega/chunk:angmomall"); - memory->create(omega,maxchunk,3,"omega/chunk:omega"); + memory->create(massproc, maxchunk, "omega/chunk:massproc"); + memory->create(masstotal, maxchunk, "omega/chunk:masstotal"); + memory->create(com, maxchunk, 3, "omega/chunk:com"); + memory->create(comall, maxchunk, 3, "omega/chunk:comall"); + memory->create(inertia, maxchunk, 6, "omega/chunk:inertia"); + memory->create(inertiaall, maxchunk, 6, "omega/chunk:inertiaall"); + memory->create(angmom, maxchunk, 3, "omega/chunk:angmom"); + memory->create(angmomall, maxchunk, 3, "omega/chunk:angmomall"); + memory->create(omega, maxchunk, 3, "omega/chunk:omega"); array = omega; } @@ -380,10 +289,11 @@ void ComputeOmegaChunk::allocate() double ComputeOmegaChunk::memory_usage() { - double bytes = (bigint) maxchunk * 2 * sizeof(double); - bytes += (double) maxchunk * 2*3 * sizeof(double); - bytes += (double) maxchunk * 2*6 * sizeof(double); - bytes += (double) maxchunk * 2*3 * sizeof(double); + double bytes = ComputeChunk::memory_usage(); + bytes += (bigint) maxchunk * 2 * sizeof(double); + bytes += (double) maxchunk * 2 * 3 * sizeof(double); + bytes += (double) maxchunk * 2 * 6 * sizeof(double); + bytes += (double) maxchunk * 2 * 3 * sizeof(double); bytes += (double) maxchunk * 3 * sizeof(double); return bytes; } diff --git a/src/compute_omega_chunk.h b/src/compute_omega_chunk.h index cbd158c525..6265be2010 100644 --- a/src/compute_omega_chunk.h +++ b/src/compute_omega_chunk.h @@ -20,40 +20,28 @@ ComputeStyle(omega/chunk,ComputeOmegaChunk); #ifndef LMP_COMPUTE_OMEGA_CHUNK_H #define LMP_COMPUTE_OMEGA_CHUNK_H -#include "compute.h" +#include "compute_chunk.h" namespace LAMMPS_NS { -class ComputeOmegaChunk : public Compute { +class ComputeOmegaChunk : public ComputeChunk { public: ComputeOmegaChunk(class LAMMPS *, int, char **); ~ComputeOmegaChunk() override; - void init() override; - void compute_array() override; - void lock_enable() override; - void lock_disable() override; - int lock_length() override; - void lock(class Fix *, bigint, bigint) override; - void unlock(class Fix *) override; + void compute_array() override; double memory_usage() override; private: - int nchunk, maxchunk; - char *idchunk; - class ComputeChunkAtom *cchunk; - double *massproc, *masstotal; double **com, **comall; double **inertia, **inertiaall; double **angmom, **angmomall; double **omega; - void allocate(); + void allocate() override; }; - } // namespace LAMMPS_NS - #endif #endif diff --git a/src/compute_property_chunk.cpp b/src/compute_property_chunk.cpp index 1fa8cf422b..190a75d1bd 100644 --- a/src/compute_property_chunk.cpp +++ b/src/compute_property_chunk.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -14,27 +13,21 @@ #include "compute_property_chunk.h" -#include #include "atom.h" -#include "update.h" -#include "modify.h" #include "compute_chunk_atom.h" -#include "memory.h" #include "error.h" +#include "memory.h" + +#include using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ ComputePropertyChunk::ComputePropertyChunk(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), - idchunk(nullptr), count_one(nullptr), count_all(nullptr) + ComputeChunk(lmp, narg, arg), count_one(nullptr), count_all(nullptr) { - if (narg < 5) error->all(FLERR,"Illegal compute property/chunk command"); - - // ID of compute chunk/atom - - idchunk = utils::strdup(arg[3]); + if (narg < 5) utils::missing_cmd_args(FLERR, "compute property/chunk", error); ComputePropertyChunk::init(); @@ -46,40 +39,32 @@ ComputePropertyChunk::ComputePropertyChunk(LAMMPS *lmp, int narg, char **arg) : int i; for (int iarg = 4; iarg < narg; iarg++) { - i = iarg-4; + i = iarg - 4; - if (strcmp(arg[iarg],"count") == 0) { + if (strcmp(arg[iarg], "count") == 0) { pack_choice[i] = &ComputePropertyChunk::pack_count; countflag = 1; - } else if (strcmp(arg[iarg],"id") == 0) { + } else if (strcmp(arg[iarg], "id") == 0) { if (!cchunk->compress) - error->all(FLERR,"Compute chunk/atom stores no IDs for " - "compute property/chunk"); + error->all(FLERR, "Compute chunk/atom stores no IDs for compute property/chunk"); pack_choice[i] = &ComputePropertyChunk::pack_id; - } else if (strcmp(arg[iarg],"coord1") == 0) { + } else if (strcmp(arg[iarg], "coord1") == 0) { if (cchunk->ncoord < 1) - error->all(FLERR,"Compute chunk/atom stores no coord1 for " - "compute property/chunk"); + error->all(FLERR, "Compute chunk/atom stores no coord1 for compute property/chunk"); pack_choice[i] = &ComputePropertyChunk::pack_coord1; - } else if (strcmp(arg[iarg],"coord2") == 0) { + } else if (strcmp(arg[iarg], "coord2") == 0) { if (cchunk->ncoord < 2) - error->all(FLERR,"Compute chunk/atom stores no coord2 for " - "compute property/chunk"); + error->all(FLERR, "Compute chunk/atom stores no coord2 for compute property/chunk"); pack_choice[i] = &ComputePropertyChunk::pack_coord2; - } else if (strcmp(arg[iarg],"coord3") == 0) { + } else if (strcmp(arg[iarg], "coord3") == 0) { if (cchunk->ncoord < 3) - error->all(FLERR,"Compute chunk/atom stores no coord3 for " - "compute property/chunk"); + error->all(FLERR, "Compute chunk/atom stores no coord3 for compute property/chunk"); pack_choice[i] = &ComputePropertyChunk::pack_coord3; - } else error->all(FLERR, - "Invalid keyword in compute property/chunk command"); + } else + error->all(FLERR, "Unkown keyword {} in compute property/chunk command", arg[iarg]); } - // initialization - - nchunk = 1; - maxchunk = 0; - allocate(); + ComputePropertyChunk::allocate(); if (nvalues == 1) { vector_flag = 1; @@ -99,8 +84,7 @@ ComputePropertyChunk::ComputePropertyChunk(LAMMPS *lmp, int narg, char **arg) : ComputePropertyChunk::~ComputePropertyChunk() { - delete [] idchunk; - delete [] pack_choice; + delete[] pack_choice; memory->destroy(vector); memory->destroy(array); memory->destroy(count_one); @@ -109,36 +93,11 @@ ComputePropertyChunk::~ComputePropertyChunk() /* ---------------------------------------------------------------------- */ -void ComputePropertyChunk::init() -{ - int icompute = modify->find_compute(idchunk); - if (icompute < 0) - error->all(FLERR,"Chunk/atom compute does not exist for " - "compute property/chunk"); - cchunk = dynamic_cast(modify->compute[icompute]); - if (strcmp(cchunk->style,"chunk/atom") != 0) - error->all(FLERR,"Compute property/chunk does not use chunk/atom compute"); -} - -/* ---------------------------------------------------------------------- */ - void ComputePropertyChunk::compute_vector() { - invoked_vector = update->ntimestep; + ComputeChunk::compute_vector(); - // compute chunk/atom assigns atoms to chunk IDs - // if need count, extract ichunk index vector from compute - // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms - - nchunk = cchunk->setup_chunks(); - if (nchunk > maxchunk) allocate(); - if (nvalues == 1) size_vector = nchunk; - else size_array_rows = nchunk; - - if (countflag) { - cchunk->compute_ichunk(); - ichunk = cchunk->ichunk; - } + if (countflag) ichunk = cchunk->ichunk; // fill vector @@ -150,101 +109,34 @@ void ComputePropertyChunk::compute_vector() void ComputePropertyChunk::compute_array() { - invoked_array = update->ntimestep; + ComputeChunk::compute_array(); - // compute chunk/atom assigns atoms to chunk IDs - // if need count, extract ichunk index vector from compute - // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms - - nchunk = cchunk->setup_chunks(); - if (nchunk > maxchunk) allocate(); - if (nvalues == 1) size_vector = nchunk; - else size_array_rows = nchunk; - - if (countflag) { - cchunk->compute_ichunk(); - ichunk = cchunk->ichunk; - } + if (countflag) ichunk = cchunk->ichunk; // fill array if (array) buf = &array[0][0]; - for (int n = 0; n < nvalues; n++) - (this->*pack_choice[n])(n); + for (int n = 0; n < nvalues; n++) (this->*pack_choice[n])(n); } - -/* ---------------------------------------------------------------------- - lock methods: called by fix ave/time - these methods ensure vector/array size is locked for Nfreq epoch - by passing lock info along to compute chunk/atom -------------------------------------------------------------------------- */ - -/* ---------------------------------------------------------------------- - increment lock counter -------------------------------------------------------------------------- */ - -void ComputePropertyChunk::lock_enable() -{ - cchunk->lockcount++; -} - -/* ---------------------------------------------------------------------- - decrement lock counter in compute chunk/atom, it if still exists -------------------------------------------------------------------------- */ - -void ComputePropertyChunk::lock_disable() -{ - int icompute = modify->find_compute(idchunk); - if (icompute >= 0) { - cchunk = dynamic_cast(modify->compute[icompute]); - cchunk->lockcount--; - } -} - -/* ---------------------------------------------------------------------- - calculate and return # of chunks = length of vector/array -------------------------------------------------------------------------- */ - -int ComputePropertyChunk::lock_length() -{ - nchunk = cchunk->setup_chunks(); - return nchunk; -} - -/* ---------------------------------------------------------------------- - set the lock from startstep to stopstep -------------------------------------------------------------------------- */ - -void ComputePropertyChunk::lock(Fix *fixptr, bigint startstep, bigint stopstep) -{ - cchunk->lock(fixptr,startstep,stopstep); -} - -/* ---------------------------------------------------------------------- - unset the lock -------------------------------------------------------------------------- */ - -void ComputePropertyChunk::unlock(Fix *fixptr) -{ - cchunk->unlock(fixptr); -} - /* ---------------------------------------------------------------------- free and reallocate per-chunk arrays ------------------------------------------------------------------------- */ void ComputePropertyChunk::allocate() { + ComputeChunk::allocate(); memory->destroy(vector); memory->destroy(array); memory->destroy(count_one); memory->destroy(count_all); maxchunk = nchunk; - if (nvalues == 1) memory->create(vector,maxchunk,"property/chunk:vector"); - else memory->create(array,maxchunk,nvalues,"property/chunk:array"); + if (nvalues == 1) + memory->create(vector, maxchunk, "property/chunk:vector"); + else + memory->create(array, maxchunk, nvalues, "property/chunk:array"); if (countflag) { - memory->create(count_one,maxchunk,"property/chunk:count_one"); - memory->create(count_all,maxchunk,"property/chunk:count_all"); + memory->create(count_one, maxchunk, "property/chunk:count_one"); + memory->create(count_all, maxchunk, "property/chunk:count_all"); } } @@ -254,7 +146,8 @@ void ComputePropertyChunk::allocate() double ComputePropertyChunk::memory_usage() { - double bytes = (bigint) nchunk * nvalues * sizeof(double); + double bytes = ComputeChunk::memory_usage(); + bytes += (bigint) nchunk * nvalues * sizeof(double); if (countflag) bytes += (double) nchunk * 2 * sizeof(int); return bytes; } @@ -277,13 +170,13 @@ void ComputePropertyChunk::pack_count(int n) int nlocal = atom->nlocal; for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; count_one[index]++; } } - MPI_Allreduce(count_one,count_all,nchunk,MPI_INT,MPI_SUM,world); + MPI_Allreduce(count_one, count_all, nchunk, MPI_INT, MPI_SUM, world); for (int m = 0; m < nchunk; m++) { buf[n] = count_all[m]; diff --git a/src/compute_property_chunk.h b/src/compute_property_chunk.h index 7339d6479a..3bc130e443 100644 --- a/src/compute_property_chunk.h +++ b/src/compute_property_chunk.h @@ -20,37 +20,27 @@ ComputeStyle(property/chunk,ComputePropertyChunk); #ifndef LMP_COMPUTE_CHUNK_MOLECULE_H #define LMP_COMPUTE_CHUNK_MOLECULE_H -#include "compute.h" +#include "compute_chunk.h" namespace LAMMPS_NS { -class ComputePropertyChunk : public Compute { +class ComputePropertyChunk : public ComputeChunk { public: ComputePropertyChunk(class LAMMPS *, int, char **); ~ComputePropertyChunk() override; - void init() override; + void compute_vector() override; void compute_array() override; - void lock_enable() override; - void lock_disable() override; - int lock_length() override; - void lock(class Fix *, bigint, bigint) override; - void unlock(class Fix *) override; - double memory_usage() override; private: - int nchunk, maxchunk; - char *idchunk; - class ComputeChunkAtom *cchunk; int *ichunk; - int nvalues, countflag; double *buf; int *count_one, *count_all; - void allocate(); + void allocate() override; typedef void (ComputePropertyChunk::*FnPtrPack)(int); FnPtrPack *pack_choice; // ptrs to pack functions @@ -61,8 +51,6 @@ class ComputePropertyChunk : public Compute { void pack_coord2(int); void pack_coord3(int); }; - } // namespace LAMMPS_NS - #endif #endif diff --git a/src/compute_reduce_chunk.cpp b/src/compute_reduce_chunk.cpp index 992ab91bea..51781eac7b 100644 --- a/src/compute_reduce_chunk.cpp +++ b/src/compute_reduce_chunk.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -30,29 +29,30 @@ using namespace LAMMPS_NS; -enum{ SUM, MINN, MAXX }; +enum { SUM, MINN, MAXX }; #define BIG 1.0e20 /* ---------------------------------------------------------------------- */ ComputeReduceChunk::ComputeReduceChunk(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), idchunk(nullptr), vlocal(nullptr), vglobal(nullptr), - alocal(nullptr), aglobal(nullptr), varatom(nullptr), cchunk(nullptr), ichunk(nullptr) + ComputeChunk(lmp, narg, arg), vlocal(nullptr), vglobal(nullptr), alocal(nullptr), + aglobal(nullptr), varatom(nullptr), ichunk(nullptr) { - if (narg < 6) utils::missing_cmd_args(FLERR,"compute reduce/chunk", error); + if (narg < 6) utils::missing_cmd_args(FLERR, "compute reduce/chunk", error); - // ID of compute chunk/atom - - idchunk = utils::strdup(arg[3]); - init_chunk(); + ComputeChunk::init(); // mode - if (strcmp(arg[4],"sum") == 0) mode = SUM; - else if (strcmp(arg[4],"min") == 0) mode = MINN; - else if (strcmp(arg[4],"max") == 0) mode = MAXX; - else error->all(FLERR,"Unknown compute reduce/chunk mode: {}", arg[4]); + if (strcmp(arg[4], "sum") == 0) + mode = SUM; + else if (strcmp(arg[4], "min") == 0) + mode = MINN; + else if (strcmp(arg[4], "max") == 0) + mode = MAXX; + else + error->all(FLERR, "Unknown compute reduce/chunk mode: {}", arg[4]); int iarg = 5; @@ -60,7 +60,7 @@ ComputeReduceChunk::ComputeReduceChunk(LAMMPS *lmp, int narg, char **arg) : int expand = 0; char **earg; - int nargnew = utils::expand_args(FLERR,narg-iarg,&arg[iarg],1,earg,lmp); + int nargnew = utils::expand_args(FLERR, narg - iarg, &arg[iarg], 1, earg, lmp); if (earg != &arg[iarg]) expand = 1; arg = earg; @@ -78,7 +78,7 @@ ComputeReduceChunk::ComputeReduceChunk(LAMMPS *lmp, int narg, char **arg) : val.val.c = nullptr; if ((val.which == ArgInfo::UNKNOWN) || (val.which == ArgInfo::NONE) || (argi.get_dim() > 1)) - error->all(FLERR,"Illegal compute reduce/chunk argument: {}", arg[iarg]); + error->all(FLERR, "Illegal compute reduce/chunk argument: {}", arg[iarg]); values.push_back(val); } @@ -86,7 +86,7 @@ ComputeReduceChunk::ComputeReduceChunk(LAMMPS *lmp, int narg, char **arg) : // if wildcard expansion occurred, free earg memory from expand_args() if (expand) { - for (int i = 0; i < nargnew; i++) delete [] earg[i]; + for (int i = 0; i < nargnew; i++) delete[] earg[i]; memory->sfree(earg); } @@ -96,15 +96,15 @@ ComputeReduceChunk::ComputeReduceChunk(LAMMPS *lmp, int narg, char **arg) : if (val.which == ArgInfo::COMPUTE) { val.val.c = modify->get_compute_by_id(val.id); if (!val.val.c) - error->all(FLERR,"Compute ID {} for compute reduce/chunk does not exist", val.id); + error->all(FLERR, "Compute ID {} for compute reduce/chunk does not exist", val.id); if (!val.val.c->peratom_flag) - error->all(FLERR,"Compute reduce/chunk compute {} does not calculate per-atom values", + error->all(FLERR, "Compute reduce/chunk compute {} does not calculate per-atom values", val.id); if ((val.argindex == 0) && (val.val.c->size_peratom_cols != 0)) - error->all(FLERR,"Compute reduce/chunk compute {} does not calculate a per-atom vector", + error->all(FLERR, "Compute reduce/chunk compute {} does not calculate a per-atom vector", val.id); if (val.argindex && (val.val.c->size_peratom_cols == 0)) - error->all(FLERR,"Compute reduce/chunk compute {} does not calculate a per-atom array", + error->all(FLERR, "Compute reduce/chunk compute {} does not calculate a per-atom array", val.id); if (val.argindex && (val.argindex > val.val.c->size_peratom_cols)) error->all(FLERR, "Compute reduce/chunk compute array {} is accessed out-of-range", val.id); @@ -112,22 +112,24 @@ ComputeReduceChunk::ComputeReduceChunk(LAMMPS *lmp, int narg, char **arg) : } else if (val.which == ArgInfo::FIX) { val.val.f = modify->get_fix_by_id(val.id); if (!val.val.f) - error->all(FLERR,"Fix ID {} for compute reduce/chunk does not exist", val.id); + error->all(FLERR, "Fix ID {} for compute reduce/chunk does not exist", val.id); if (!val.val.f->peratom_flag) - error->all(FLERR,"Compute reduce/chunk fix {} does not calculate per-atom values", val.id); + error->all(FLERR, "Compute reduce/chunk fix {} does not calculate per-atom values", val.id); if ((val.argindex == 0) && (val.val.f->size_peratom_cols != 0)) - error->all(FLERR,"Compute reduce/chunk fix {} does not calculate a per-atom vector", val.id); + error->all(FLERR, "Compute reduce/chunk fix {} does not calculate a per-atom vector", + val.id); if (val.argindex && (val.val.f->size_peratom_cols == 0)) - error->all(FLERR,"Compute reduce/chunk fix {} does not calculate a per-atom array", val.id); + error->all(FLERR, "Compute reduce/chunk fix {} does not calculate a per-atom array", + val.id); if (val.argindex && (val.argindex > val.val.f->size_peratom_cols)) - error->all(FLERR,"Compute reduce/chunk fix {} array is accessed out-of-range", val.id); + error->all(FLERR, "Compute reduce/chunk fix {} array is accessed out-of-range", val.id); } else if (val.which == ArgInfo::VARIABLE) { val.val.v = input->variable->find(val.id.c_str()); if (val.val.v < 0) - error->all(FLERR,"Variable name {} for compute reduce/chunk does not exist", val.id); + error->all(FLERR, "Variable name {} for compute reduce/chunk does not exist", val.id); if (input->variable->atomstyle(val.val.v) == 0) - error->all(FLERR,"Compute reduce/chunk variable is not atom-style variable"); + error->all(FLERR, "Compute reduce/chunk variable is not atom-style variable"); } } @@ -146,11 +148,13 @@ ComputeReduceChunk::ComputeReduceChunk(LAMMPS *lmp, int narg, char **arg) : // setup - if (mode == SUM) initvalue = 0.0; - else if (mode == MINN) initvalue = BIG; - else if (mode == MAXX) initvalue = -BIG; + if (mode == SUM) + initvalue = 0.0; + else if (mode == MINN) + initvalue = BIG; + else if (mode == MAXX) + initvalue = -BIG; - maxchunk = 0; vlocal = vglobal = nullptr; alocal = aglobal = nullptr; @@ -162,8 +166,6 @@ ComputeReduceChunk::ComputeReduceChunk(LAMMPS *lmp, int narg, char **arg) : ComputeReduceChunk::~ComputeReduceChunk() { - delete[] idchunk; - memory->destroy(vlocal); memory->destroy(vglobal); memory->destroy(alocal); @@ -176,7 +178,7 @@ ComputeReduceChunk::~ComputeReduceChunk() void ComputeReduceChunk::init() { - init_chunk(); + ComputeChunk::init(); // set indices of all computes,fixes,variables @@ -184,109 +186,84 @@ void ComputeReduceChunk::init() if (val.which == ArgInfo::COMPUTE) { val.val.c = modify->get_compute_by_id(val.id); if (!val.val.c) - error->all(FLERR,"Compute ID {} for compute reduce/chunk does not exist", val.id); + error->all(FLERR, "Compute ID {} for compute reduce/chunk does not exist", val.id); } else if (val.which == ArgInfo::FIX) { val.val.f = modify->get_fix_by_id(val.id); if (!val.val.f) - error->all(FLERR,"Fix ID {} for compute reduce/chunk does not exist", val.id); + error->all(FLERR, "Fix ID {} for compute reduce/chunk does not exist", val.id); } else if (val.which == ArgInfo::VARIABLE) { val.val.v = input->variable->find(val.id.c_str()); if (val.val.v < 0) - error->all(FLERR,"Variable name {} for compute reduce/chunk does not exist", val.id); + error->all(FLERR, "Variable name {} for compute reduce/chunk does not exist", val.id); } } } /* ---------------------------------------------------------------------- */ -void ComputeReduceChunk::init_chunk() -{ - cchunk = dynamic_cast(modify->get_compute_by_id(idchunk)); - if (!cchunk) - error->all(FLERR,"Compute chunk/atom {} does not exist or is incorrect style for " - "compute reduce/chunk", idchunk); -} - -/* ---------------------------------------------------------------------- */ - void ComputeReduceChunk::compute_vector() { - invoked_vector = update->ntimestep; - - // compute chunk/atom assigns atoms to chunk IDs - // extract ichunk index vector from compute - // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms - - nchunk = cchunk->setup_chunks(); - cchunk->compute_ichunk(); + ComputeChunk::compute_vector(); ichunk = cchunk->ichunk; if (!nchunk) return; - size_vector = nchunk; - if (nchunk > maxchunk) { memory->destroy(vlocal); memory->destroy(vglobal); maxchunk = nchunk; - memory->create(vlocal,maxchunk,"reduce/chunk:vlocal"); - memory->create(vglobal,maxchunk,"reduce/chunk:vglobal"); + memory->create(vlocal, maxchunk, "reduce/chunk:vlocal"); + memory->create(vglobal, maxchunk, "reduce/chunk:vglobal"); vector = vglobal; } // perform local reduction of single peratom value - compute_one(0,vlocal,1); + compute_one(0, vlocal, 1); // reduce the per-chunk values across all procs if (mode == SUM) - MPI_Allreduce(vlocal,vglobal,nchunk,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(vlocal, vglobal, nchunk, MPI_DOUBLE, MPI_SUM, world); else if (mode == MINN) - MPI_Allreduce(vlocal,vglobal,nchunk,MPI_DOUBLE,MPI_MIN,world); + MPI_Allreduce(vlocal, vglobal, nchunk, MPI_DOUBLE, MPI_MIN, world); else if (mode == MAXX) - MPI_Allreduce(vlocal,vglobal,nchunk,MPI_DOUBLE,MPI_MAX,world); + MPI_Allreduce(vlocal, vglobal, nchunk, MPI_DOUBLE, MPI_MAX, world); } /* ---------------------------------------------------------------------- */ void ComputeReduceChunk::compute_array() { - invoked_array = update->ntimestep; - - // compute chunk/atom assigns atoms to chunk IDs - // extract ichunk index vector from compute - // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms - - nchunk = cchunk->setup_chunks(); - cchunk->compute_ichunk(); + ComputeChunk::compute_array(); ichunk = cchunk->ichunk; if (!nchunk) return; - size_array_rows = nchunk; - if (nchunk > maxchunk) { memory->destroy(alocal); memory->destroy(aglobal); maxchunk = nchunk; - memory->create(alocal,maxchunk,values.size(),"reduce/chunk:alocal"); - memory->create(aglobal,maxchunk,values.size(),"reduce/chunk:aglobal"); + memory->create(alocal, maxchunk, values.size(), "reduce/chunk:alocal"); + memory->create(aglobal, maxchunk, values.size(), "reduce/chunk:aglobal"); array = aglobal; } // perform local reduction of all peratom values - for (std::size_t m = 0; m < values.size(); m++) compute_one(m,&alocal[0][m],values.size()); + for (std::size_t m = 0; m < values.size(); m++) compute_one(m, &alocal[0][m], values.size()); // reduce the per-chunk values across all procs if (mode == SUM) - MPI_Allreduce(&alocal[0][0],&aglobal[0][0],nchunk*values.size(),MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&alocal[0][0], &aglobal[0][0], nchunk * values.size(), MPI_DOUBLE, MPI_SUM, + world); else if (mode == MINN) - MPI_Allreduce(&alocal[0][0],&aglobal[0][0],nchunk*values.size(),MPI_DOUBLE,MPI_MIN,world); + MPI_Allreduce(&alocal[0][0], &aglobal[0][0], nchunk * values.size(), MPI_DOUBLE, MPI_MIN, + world); else if (mode == MAXX) - MPI_Allreduce(&alocal[0][0],&aglobal[0][0],nchunk*values.size(),MPI_DOUBLE,MPI_MAX,world); + MPI_Allreduce(&alocal[0][0], &aglobal[0][0], nchunk * values.size(), MPI_DOUBLE, MPI_MAX, + world); } /* ---------------------------------------------------------------------- */ @@ -295,7 +272,7 @@ void ComputeReduceChunk::compute_one(int m, double *vchunk, int nstride) { // initialize per-chunk values in accumulation vector - for (std::size_t i = 0; i < values.size()*nchunk; i += nstride) vchunk[i] = initvalue; + for (std::size_t i = 0; i < values.size() * nchunk; i += nstride) vchunk[i] = initvalue; // loop over my atoms // use peratom input and chunk ID of each atom to update vector @@ -321,61 +298,61 @@ void ComputeReduceChunk::compute_one(int m, double *vchunk, int nstride) double *vcompute = val.val.c->vector_atom; for (int i = 0; i < nlocal; i++) { if (!(mask[i] & groupbit)) continue; - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; - combine(vchunk[index*nstride],vcompute[i]); + combine(vchunk[index * nstride], vcompute[i]); } } else { double **acompute = val.val.c->array_atom; int argindexm1 = val.argindex - 1; for (int i = 0; i < nlocal; i++) { if (!(mask[i] & groupbit)) continue; - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; - combine(vchunk[index*nstride],acompute[i][argindexm1]); + combine(vchunk[index * nstride], acompute[i][argindexm1]); } } - // access fix fields, check if fix frequency is a match + // access fix fields, check if fix frequency is a match } else if (val.which == ArgInfo::FIX) { if (update->ntimestep % val.val.f->peratom_freq) - error->all(FLERR,"Fix used in compute reduce/chunk not computed at compatible time"); + error->all(FLERR, "Fix used in compute reduce/chunk not computed at compatible time"); if (val.argindex == 0) { double *vfix = val.val.f->vector_atom; for (int i = 0; i < nlocal; i++) { if (!(mask[i] & groupbit)) continue; - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; - combine(vchunk[index*nstride],vfix[i]); + combine(vchunk[index * nstride], vfix[i]); } } else { double **afix = val.val.f->array_atom; int argindexm1 = val.argindex - 1; for (int i = 0; i < nlocal; i++) { if (!(mask[i] & groupbit)) continue; - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; - combine(vchunk[index*nstride],afix[i][argindexm1]); + combine(vchunk[index * nstride], afix[i][argindexm1]); } } - // evaluate atom-style variable + // evaluate atom-style variable } else if (val.which == ArgInfo::VARIABLE) { if (atom->nmax > maxatom) { memory->destroy(varatom); maxatom = atom->nmax; - memory->create(varatom,maxatom,"reduce/chunk:varatom"); + memory->create(varatom, maxatom, "reduce/chunk:varatom"); } - input->variable->compute_atom(val.val.v,igroup,varatom,1,0); + input->variable->compute_atom(val.val.v, igroup, varatom, 1, 0); for (int i = 0; i < nlocal; i++) { if (!(mask[i] & groupbit)) continue; - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; - combine(vchunk[index*nstride],varatom[i]); + combine(vchunk[index * nstride], varatom[i]); } } } @@ -386,7 +363,8 @@ void ComputeReduceChunk::compute_one(int m, double *vchunk, int nstride) void ComputeReduceChunk::combine(double &one, double two) { - if (mode == SUM) one += two; + if (mode == SUM) + one += two; else if (mode == MINN) { if (two < one) one = two; } else if (mode == MAXX) { @@ -394,67 +372,16 @@ void ComputeReduceChunk::combine(double &one, double two) } } -/* ---------------------------------------------------------------------- - lock methods: called by fix ave/time - these methods ensure vector/array size is locked for Nfreq epoch - by passing lock info along to compute chunk/atom -------------------------------------------------------------------------- */ - -/* ---------------------------------------------------------------------- - increment lock counter -------------------------------------------------------------------------- */ - -void ComputeReduceChunk::lock_enable() -{ - cchunk->lockcount++; -} - -/* ---------------------------------------------------------------------- - decrement lock counter in compute chunk/atom, if it still exists -------------------------------------------------------------------------- */ - -void ComputeReduceChunk::lock_disable() -{ - cchunk = dynamic_cast(modify->get_compute_by_id(idchunk)); - if (cchunk) cchunk->lockcount--; -} - -/* ---------------------------------------------------------------------- - calculate and return # of chunks = length of vector/array -------------------------------------------------------------------------- */ - -int ComputeReduceChunk::lock_length() -{ - nchunk = cchunk->setup_chunks(); - return nchunk; -} - -/* ---------------------------------------------------------------------- - set the lock from startstep to stopstep -------------------------------------------------------------------------- */ - -void ComputeReduceChunk::lock(Fix *fixptr, bigint startstep, bigint stopstep) -{ - cchunk->lock(fixptr,startstep,stopstep); -} - -/* ---------------------------------------------------------------------- - unset the lock -------------------------------------------------------------------------- */ - -void ComputeReduceChunk::unlock(Fix *fixptr) -{ - cchunk->unlock(fixptr); -} - /* ---------------------------------------------------------------------- memory usage of local data ------------------------------------------------------------------------- */ double ComputeReduceChunk::memory_usage() { - double bytes = (bigint) maxatom * sizeof(double); - if (values.size() == 1) bytes += (double) maxchunk * 2 * sizeof(double); - else bytes += (double) maxchunk * values.size() * 2 * sizeof(double); + double bytes = (double) maxatom * sizeof(double) + ComputeChunk::memory_usage(); + if (values.size() == 1) + bytes += (double) maxchunk * 2 * sizeof(double); + else + bytes += (double) maxchunk * values.size() * 2 * sizeof(double); return bytes; } diff --git a/src/compute_reduce_chunk.h b/src/compute_reduce_chunk.h index 505e2b4a21..4055956d2d 100644 --- a/src/compute_reduce_chunk.h +++ b/src/compute_reduce_chunk.h @@ -20,11 +20,11 @@ ComputeStyle(reduce/chunk,ComputeReduceChunk); #ifndef LMP_COMPUTE_REDUCE_CHUNK_H #define LMP_COMPUTE_REDUCE_CHUNK_H -#include "compute.h" +#include "compute_chunk.h" namespace LAMMPS_NS { -class ComputeReduceChunk : public Compute { +class ComputeReduceChunk : public ComputeChunk { public: ComputeReduceChunk(class LAMMPS *, int, char **); ~ComputeReduceChunk() override; @@ -32,12 +32,6 @@ class ComputeReduceChunk : public Compute { void compute_vector() override; void compute_array() override; - void lock_enable() override; - void lock_disable() override; - int lock_length() override; - void lock(class Fix *, bigint, bigint) override; - void unlock(class Fix *) override; - double memory_usage() override; private: @@ -53,19 +47,14 @@ class ComputeReduceChunk : public Compute { }; std::vector values; - char *idchunk; - - int mode, nchunk; - int maxchunk, maxatom; + int mode, maxatom; double initvalue; double *vlocal, *vglobal; double **alocal, **aglobal; double *varatom; - class ComputeChunkAtom *cchunk; int *ichunk; - void init_chunk(); void compute_one(int, double *, int); void combine(double &, double); }; diff --git a/src/compute_temp_chunk.cpp b/src/compute_temp_chunk.cpp index e27dcb49f2..72c2471b87 100644 --- a/src/compute_temp_chunk.cpp +++ b/src/compute_temp_chunk.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -27,42 +26,40 @@ using namespace LAMMPS_NS; -enum{TEMP,KECOM,INTERNAL}; +enum { TEMP, KECOM, INTERNAL }; /* ---------------------------------------------------------------------- */ ComputeTempChunk::ComputeTempChunk(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), - which(nullptr), idchunk(nullptr), id_bias(nullptr), sum(nullptr), sumall(nullptr), count(nullptr), - countall(nullptr), massproc(nullptr), masstotal(nullptr), vcm(nullptr), vcmall(nullptr) + ComputeChunk(lmp, narg, arg), which(nullptr), id_bias(nullptr), sum(nullptr), sumall(nullptr), + count(nullptr), countall(nullptr), massproc(nullptr), masstotal(nullptr), vcm(nullptr), + vcmall(nullptr) { - if (narg < 4) error->all(FLERR,"Illegal compute temp/chunk command"); - scalar_flag = vector_flag = 1; size_vector = 6; extscalar = 0; extvector = 1; tempflag = 1; - // ID of compute chunk/atom - - idchunk = utils::strdup(arg[3]); - biasflag = 0; ComputeTempChunk::init(); // optional per-chunk values - nvalues = narg-4; + nvalues = narg - 4; which = new int[nvalues]; nvalues = 0; int iarg = 4; while (iarg < narg) { - if (strcmp(arg[iarg],"temp") == 0) which[nvalues] = TEMP; - else if (strcmp(arg[iarg],"kecom") == 0) which[nvalues] = KECOM; - else if (strcmp(arg[iarg],"internal") == 0) which[nvalues] = INTERNAL; - else break; + if (strcmp(arg[iarg], "temp") == 0) + which[nvalues] = TEMP; + else if (strcmp(arg[iarg], "kecom") == 0) + which[nvalues] = KECOM; + else if (strcmp(arg[iarg], "internal") == 0) + which[nvalues] = INTERNAL; + else + break; iarg++; nvalues++; } @@ -76,56 +73,49 @@ ComputeTempChunk::ComputeTempChunk(LAMMPS *lmp, int narg, char **arg) : cdof = 0.0; while (iarg < narg) { - if (strcmp(arg[iarg],"com") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal compute temp/chunk command"); - comflag = utils::logical(FLERR,arg[iarg+1],false,lmp); + if (strcmp(arg[iarg], "com") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute temp/chunk command"); + comflag = utils::logical(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"bias") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal compute temp/chunk command"); + } else if (strcmp(arg[iarg], "bias") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute temp/chunk command"); biasflag = 1; - id_bias = utils::strdup(arg[iarg+1]); + id_bias = utils::strdup(arg[iarg + 1]); iarg += 2; - } else if (strcmp(arg[iarg],"adof") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal compute temp/chunk command"); - adof = utils::numeric(FLERR,arg[iarg+1],false,lmp); + } else if (strcmp(arg[iarg], "adof") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute temp/chunk command"); + adof = utils::numeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"cdof") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal compute temp/chunk command"); - cdof = utils::numeric(FLERR,arg[iarg+1],false,lmp); + } else if (strcmp(arg[iarg], "cdof") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal compute temp/chunk command"); + cdof = utils::numeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else error->all(FLERR,"Illegal compute temp/chunk command"); + } else + error->all(FLERR, "Illegal compute temp/chunk command"); } // error check on bias compute if (biasflag) { - int i = modify->find_compute(id_bias); - if (i < 0) - error->all(FLERR,"Could not find compute ID for temperature bias"); - tbias = modify->compute[i]; - if (tbias->tempflag == 0) - error->all(FLERR,"Bias compute does not calculate temperature"); - if (tbias->tempbias == 0) - error->all(FLERR,"Bias compute does not calculate a velocity bias"); + tbias = modify->get_compute_by_id(id_bias); + if (!tbias) error->all(FLERR, "Could not find compute {} for temperature bias", id_bias); + + if (tbias->tempflag == 0) error->all(FLERR, "Bias compute does not calculate temperature"); + if (tbias->tempbias == 0) error->all(FLERR, "Bias compute does not calculate a velocity bias"); } // this compute only calculates a bias, if comflag is set // won't be two biases since comflag and biasflag cannot both be set if (comflag && biasflag) - error->all(FLERR,"Cannot use both com and bias with compute temp/chunk"); + error->all(FLERR, "Cannot use both com and bias with compute temp/chunk"); if (comflag) tempbias = 1; // vector data vector = new double[size_vector]; - // chunk-based data - - nchunk = 1; - maxchunk = 0; - - if (nvalues) { + if (nvalues) { array_flag = 1; size_array_cols = nvalues; size_array_rows = 0; @@ -133,7 +123,7 @@ ComputeTempChunk::ComputeTempChunk(LAMMPS *lmp, int narg, char **arg) : extarray = 0; } - allocate(); + ComputeTempChunk::allocate(); comstep = -1; } @@ -141,10 +131,9 @@ ComputeTempChunk::ComputeTempChunk(LAMMPS *lmp, int narg, char **arg) : ComputeTempChunk::~ComputeTempChunk() { - delete [] idchunk; - delete [] which; - delete [] id_bias; - delete [] vector; + delete[] which; + delete[] id_bias; + delete[] vector; memory->destroy(sum); memory->destroy(sumall); memory->destroy(count); @@ -160,19 +149,11 @@ ComputeTempChunk::~ComputeTempChunk() void ComputeTempChunk::init() { - int icompute = modify->find_compute(idchunk); - if (icompute < 0) - error->all(FLERR,"Chunk/atom compute does not exist for " - "compute temp/chunk"); - cchunk = dynamic_cast(modify->compute[icompute]); - if (strcmp(cchunk->style,"chunk/atom") != 0) - error->all(FLERR,"Compute temp/chunk does not use chunk/atom compute"); + ComputeChunk::init(); if (biasflag) { - int i = modify->find_compute(id_bias); - if (i < 0) - error->all(FLERR,"Could not find compute ID for temperature bias"); - tbias = modify->compute[i]; + tbias = modify->get_compute_by_id(id_bias); + if (!tbias) error->all(FLERR, "Could not find compute ID {} for temperature bias", id_bias); } } @@ -180,7 +161,7 @@ void ComputeTempChunk::init() double ComputeTempChunk::compute_scalar() { - int i,index; + int i, index; invoked_scalar = update->ntimestep; @@ -224,47 +205,45 @@ double ComputeTempChunk::compute_scalar() if (rmass) { for (i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; - t += (v[i][0]*v[i][0] + v[i][1]*v[i][1] + v[i][2]*v[i][2]) * - rmass[i]; + t += (v[i][0] * v[i][0] + v[i][1] * v[i][1] + v[i][2] * v[i][2]) * rmass[i]; mycount++; } } else { for (i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; - t += (v[i][0]*v[i][0] + v[i][1]*v[i][1] + v[i][2]*v[i][2]) * - mass[type[i]]; + t += (v[i][0] * v[i][0] + v[i][1] * v[i][1] + v[i][2] * v[i][2]) * mass[type[i]]; mycount++; - } + } } } else { - double vx,vy,vz; + double vx, vy, vz; if (rmass) { for (i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; vx = v[i][0] - vcmall[index][0]; vy = v[i][1] - vcmall[index][1]; vz = v[i][2] - vcmall[index][2]; - t += (vx*vx + vy*vy + vz*vz) * rmass[i]; + t += (vx * vx + vy * vy + vz * vz) * rmass[i]; mycount++; } } else { for (i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; vx = v[i][0] - vcmall[index][0]; vy = v[i][1] - vcmall[index][1]; vz = v[i][2] - vcmall[index][2]; - t += (vx*vx + vy*vy + vz*vz) * mass[type[i]]; + t += (vx * vx + vy * vy + vz * vz) * mass[type[i]]; mycount++; - } + } } } @@ -274,16 +253,15 @@ double ComputeTempChunk::compute_scalar() // final temperature - MPI_Allreduce(&t,&scalar,1,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&t, &scalar, 1, MPI_DOUBLE, MPI_SUM, world); double rcount = mycount; double allcount; - MPI_Allreduce(&rcount,&allcount,1,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&rcount, &allcount, 1, MPI_DOUBLE, MPI_SUM, world); - double dof = nchunk*cdof + adof*allcount; + double dof = nchunk * cdof + adof * allcount; double tfactor = 0.0; if (dof > 0.0) tfactor = force->mvv2e / (dof * force->boltz); - if (dof < 0.0 && allcount > 0.0) - error->all(FLERR,"Temperature compute degrees of freedom < 0"); + if (dof < 0.0 && allcount > 0.0) error->all(FLERR, "Temperature compute degrees of freedom < 0"); scalar *= tfactor; return scalar; } @@ -292,22 +270,11 @@ double ComputeTempChunk::compute_scalar() void ComputeTempChunk::compute_vector() { - int i,index; + int i, index; - invoked_vector = update->ntimestep; - - // calculate chunk assignments, - // since only atoms in chunks contribute to global temperature - // compute chunk/atom assigns atoms to chunk IDs - // extract ichunk index vector from compute - // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms - - nchunk = cchunk->setup_chunks(); - cchunk->compute_ichunk(); + ComputeChunk::compute_vector(); int *ichunk = cchunk->ichunk; - if (nchunk > maxchunk) allocate(); - // remove velocity bias if (biasflag) { @@ -329,40 +296,44 @@ void ComputeTempChunk::compute_vector() int *mask = atom->mask; int nlocal = atom->nlocal; - double massone,t[6]; + double massone, t[6]; for (i = 0; i < 6; i++) t[i] = 0.0; if (!comflag) { for (i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; - if (rmass) massone = rmass[i]; - else massone = mass[type[i]]; - t[0] += massone * v[i][0]*v[i][0]; - t[1] += massone * v[i][1]*v[i][1]; - t[2] += massone * v[i][2]*v[i][2]; - t[3] += massone * v[i][0]*v[i][1]; - t[4] += massone * v[i][0]*v[i][2]; - t[5] += massone * v[i][1]*v[i][2]; + if (rmass) + massone = rmass[i]; + else + massone = mass[type[i]]; + t[0] += massone * v[i][0] * v[i][0]; + t[1] += massone * v[i][1] * v[i][1]; + t[2] += massone * v[i][2] * v[i][2]; + t[3] += massone * v[i][0] * v[i][1]; + t[4] += massone * v[i][0] * v[i][2]; + t[5] += massone * v[i][1] * v[i][2]; } } else { - double vx,vy,vz; + double vx, vy, vz; for (i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; - if (rmass) massone = rmass[i]; - else massone = mass[type[i]]; + if (rmass) + massone = rmass[i]; + else + massone = mass[type[i]]; vx = v[i][0] - vcmall[index][0]; vy = v[i][1] - vcmall[index][1]; vz = v[i][2] - vcmall[index][2]; - t[0] += massone * vx*vx; - t[1] += massone * vy*vy; - t[2] += massone * vz*vz; - t[3] += massone * vx*vy; - t[4] += massone * vx*vz; - t[5] += massone * vy*vz; + t[0] += massone * vx * vx; + t[1] += massone * vy * vy; + t[2] += massone * vz * vz; + t[3] += massone * vx * vy; + t[4] += massone * vx * vz; + t[5] += massone * vy * vz; } } @@ -372,7 +343,7 @@ void ComputeTempChunk::compute_vector() // final KE - MPI_Allreduce(t,vector,6,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(t, vector, 6, MPI_DOUBLE, MPI_SUM, world); for (i = 0; i < 6; i++) vector[i] *= force->mvv2e; } @@ -380,17 +351,7 @@ void ComputeTempChunk::compute_vector() void ComputeTempChunk::compute_array() { - invoked_array = update->ntimestep; - - // compute chunk/atom assigns atoms to chunk IDs - // extract ichunk index vector from compute - // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms - - nchunk = cchunk->setup_chunks(); - cchunk->compute_ichunk(); - - if (nchunk > maxchunk) allocate(); - size_array_rows = nchunk; + ComputeChunk::compute_array(); // remove velocity bias @@ -409,9 +370,12 @@ void ComputeTempChunk::compute_array() // compute each value for (int i = 0; i < nvalues; i++) { - if (which[i] == TEMP) temperature(i); - else if (which[i] == KECOM) kecom(i); - else if (which[i] == INTERNAL) internal(i); + if (which[i] == TEMP) + temperature(i); + else if (which[i] == KECOM) + kecom(i); + else if (which[i] == INTERNAL) + internal(i); } // restore velocity bias @@ -425,7 +389,7 @@ void ComputeTempChunk::compute_array() void ComputeTempChunk::vcm_compute() { - int i,index; + int i, index; double massone; // avoid re-computing VCM more than once per step @@ -448,18 +412,20 @@ void ComputeTempChunk::vcm_compute() for (i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; - if (rmass) massone = rmass[i]; - else massone = mass[type[i]]; + if (rmass) + massone = rmass[i]; + else + massone = mass[type[i]]; vcm[index][0] += v[i][0] * massone; vcm[index][1] += v[i][1] * massone; vcm[index][2] += v[i][2] * massone; massproc[index] += massone; } - MPI_Allreduce(&vcm[0][0],&vcmall[0][0],3*nchunk,MPI_DOUBLE,MPI_SUM,world); - MPI_Allreduce(massproc,masstotal,nchunk,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&vcm[0][0], &vcmall[0][0], 3 * nchunk, MPI_DOUBLE, MPI_SUM, world); + MPI_Allreduce(massproc, masstotal, nchunk, MPI_DOUBLE, MPI_SUM, world); for (i = 0; i < nchunk; i++) { if (masstotal[i] > 0.0) { @@ -478,7 +444,7 @@ void ComputeTempChunk::vcm_compute() void ComputeTempChunk::temperature(int icol) { - int i,index; + int i, index; int *ichunk = cchunk->ichunk; // zero local per-chunk values @@ -501,65 +467,65 @@ void ComputeTempChunk::temperature(int icol) if (rmass) { for (i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; - sum[index] += (v[i][0]*v[i][0] + v[i][1]*v[i][1] + v[i][2]*v[i][2]) * - rmass[i]; + sum[index] += (v[i][0] * v[i][0] + v[i][1] * v[i][1] + v[i][2] * v[i][2]) * rmass[i]; count[index]++; } } else { for (i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; - sum[index] += (v[i][0]*v[i][0] + v[i][1]*v[i][1] + v[i][2]*v[i][2]) * - mass[type[i]]; + sum[index] += (v[i][0] * v[i][0] + v[i][1] * v[i][1] + v[i][2] * v[i][2]) * mass[type[i]]; count[index]++; - } + } } } else { - double vx,vy,vz; + double vx, vy, vz; if (rmass) { for (i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; vx = v[i][0] - vcmall[index][0]; vy = v[i][1] - vcmall[index][1]; vz = v[i][2] - vcmall[index][2]; - sum[index] += (vx*vx + vy*vy + vz*vz) * rmass[i]; + sum[index] += (vx * vx + vy * vy + vz * vz) * rmass[i]; count[index]++; } } else { for (i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; vx = v[i][0] - vcmall[index][0]; vy = v[i][1] - vcmall[index][1]; vz = v[i][2] - vcmall[index][2]; - sum[index] += (vx*vx + vy*vy + vz*vz) * mass[type[i]]; + sum[index] += (vx * vx + vy * vy + vz * vz) * mass[type[i]]; count[index]++; - } + } } } // sum across procs - MPI_Allreduce(sum,sumall,nchunk,MPI_DOUBLE,MPI_SUM,world); - MPI_Allreduce(count,countall,nchunk,MPI_INT,MPI_SUM,world); + MPI_Allreduce(sum, sumall, nchunk, MPI_DOUBLE, MPI_SUM, world); + MPI_Allreduce(count, countall, nchunk, MPI_INT, MPI_SUM, world); // normalize temperatures by per-chunk DOF - double dof,tfactor; + double dof, tfactor; double mvv2e = force->mvv2e; double boltz = force->boltz; for (i = 0; i < nchunk; i++) { - dof = cdof + adof*countall[i]; - if (dof > 0.0) tfactor = mvv2e / (dof * boltz); - else tfactor = 0.0; + dof = cdof + adof * countall[i]; + if (dof > 0.0) + tfactor = mvv2e / (dof * boltz); + else + tfactor = 0.0; array[i][icol] = tfactor * sumall[i]; } } @@ -585,37 +551,35 @@ void ComputeTempChunk::kecom(int icol) int *type = atom->type; int nlocal = atom->nlocal; - double vx,vy,vz; + double vx, vy, vz; if (rmass) { for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; vx = vcmall[index][0]; vy = vcmall[index][1]; vz = vcmall[index][2]; - sum[index] += (vx*vx + vy*vy + vz*vz) * rmass[i]; + sum[index] += (vx * vx + vy * vy + vz * vz) * rmass[i]; } } else { for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; vx = vcmall[index][0]; vy = vcmall[index][1]; vz = vcmall[index][2]; - sum[index] += (vx*vx + vy*vy + vz*vz) * mass[type[i]]; + sum[index] += (vx * vx + vy * vy + vz * vz) * mass[type[i]]; } } // sum across procs - MPI_Allreduce(sum,sumall,nchunk,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(sum, sumall, nchunk, MPI_DOUBLE, MPI_SUM, world); double mvv2e = force->mvv2e; - for (int i = 0; i < nchunk; i++) - array[i][icol] = 0.5 * mvv2e * sumall[i]; - + for (int i = 0; i < nchunk; i++) array[i][icol] = 0.5 * mvv2e * sumall[i]; } /* ---------------------------------------------------------------------- @@ -641,36 +605,35 @@ void ComputeTempChunk::internal(int icol) int *type = atom->type; int nlocal = atom->nlocal; - double vx,vy,vz; + double vx, vy, vz; if (rmass) { for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; vx = v[i][0] - vcmall[index][0]; vy = v[i][1] - vcmall[index][1]; vz = v[i][2] - vcmall[index][2]; - sum[index] += (vx*vx + vy*vy + vz*vz) * rmass[i]; + sum[index] += (vx * vx + vy * vy + vz * vz) * rmass[i]; } } else { for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; vx = v[i][0] - vcmall[index][0]; vy = v[i][1] - vcmall[index][1]; vz = v[i][2] - vcmall[index][2]; - sum[index] += (vx*vx + vy*vy + vz*vz) * mass[type[i]]; + sum[index] += (vx * vx + vy * vy + vz * vz) * mass[type[i]]; } } // sum across procs - MPI_Allreduce(sum,sumall,nchunk,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(sum, sumall, nchunk, MPI_DOUBLE, MPI_SUM, world); double mvv2e = force->mvv2e; - for (int i = 0; i < nchunk; i++) - array[i][icol] = 0.5 * mvv2e * sumall[i]; + for (int i = 0; i < nchunk; i++) array[i][icol] = 0.5 * mvv2e * sumall[i]; } /* ---------------------------------------------------------------------- @@ -683,7 +646,7 @@ void ComputeTempChunk::internal(int icol) void ComputeTempChunk::remove_bias(int i, double *v) { - int index = cchunk->ichunk[i]-1; + int index = cchunk->ichunk[i] - 1; if (index < 0) return; v[0] -= vcmall[index][0]; v[1] -= vcmall[index][1]; @@ -705,7 +668,7 @@ void ComputeTempChunk::remove_bias_all() for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; v[i][0] -= vcmall[index][0]; v[i][1] -= vcmall[index][1]; @@ -720,7 +683,7 @@ void ComputeTempChunk::remove_bias_all() void ComputeTempChunk::restore_bias(int i, double *v) { - int index = cchunk->ichunk[i]-1; + int index = cchunk->ichunk[i] - 1; if (index < 0) return; v[0] += vcmall[index][0]; v[1] += vcmall[index][1]; @@ -743,7 +706,7 @@ void ComputeTempChunk::restore_bias_all() for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; v[i][0] += vcmall[index][0]; v[i][1] += vcmall[index][1]; @@ -751,89 +714,34 @@ void ComputeTempChunk::restore_bias_all() } } -/* ---------------------------------------------------------------------- - lock methods: called by fix ave/time - these methods ensure vector/array size is locked for Nfreq epoch - by passing lock info along to compute chunk/atom -------------------------------------------------------------------------- */ - -/* ---------------------------------------------------------------------- - increment lock counter -------------------------------------------------------------------------- */ - -void ComputeTempChunk::lock_enable() -{ - cchunk->lockcount++; -} - -/* ---------------------------------------------------------------------- - decrement lock counter in compute chunk/atom, it if still exists -------------------------------------------------------------------------- */ - -void ComputeTempChunk::lock_disable() -{ - int icompute = modify->find_compute(idchunk); - if (icompute >= 0) { - cchunk = dynamic_cast(modify->compute[icompute]); - cchunk->lockcount--; - } -} - -/* ---------------------------------------------------------------------- - calculate and return # of chunks = length of vector/array -------------------------------------------------------------------------- */ - -int ComputeTempChunk::lock_length() -{ - nchunk = cchunk->setup_chunks(); - return nchunk; -} - -/* ---------------------------------------------------------------------- - set the lock from startstep to stopstep -------------------------------------------------------------------------- */ - -void ComputeTempChunk::lock(Fix *fixptr, bigint startstep, bigint stopstep) -{ - cchunk->lock(fixptr,startstep,stopstep); -} - -/* ---------------------------------------------------------------------- - unset the lock -------------------------------------------------------------------------- */ - -void ComputeTempChunk::unlock(Fix *fixptr) -{ - cchunk->unlock(fixptr); -} - /* ---------------------------------------------------------------------- free and reallocate per-chunk arrays ------------------------------------------------------------------------- */ void ComputeTempChunk::allocate() { + ComputeChunk::allocate(); memory->destroy(sum); memory->destroy(sumall); memory->destroy(count); memory->destroy(countall); memory->destroy(array); maxchunk = nchunk; - memory->create(sum,maxchunk,"temp/chunk:sum"); - memory->create(sumall,maxchunk,"temp/chunk:sumall"); - memory->create(count,maxchunk,"temp/chunk:count"); - memory->create(countall,maxchunk,"temp/chunk:countall"); - memory->create(array,maxchunk,nvalues,"temp/chunk:array"); + memory->create(sum, maxchunk, "temp/chunk:sum"); + memory->create(sumall, maxchunk, "temp/chunk:sumall"); + memory->create(count, maxchunk, "temp/chunk:count"); + memory->create(countall, maxchunk, "temp/chunk:countall"); + memory->create(array, maxchunk, nvalues, "temp/chunk:array"); if (comflag || nvalues) { memory->destroy(massproc); memory->destroy(masstotal); memory->destroy(vcm); memory->destroy(vcmall); - memory->create(massproc,maxchunk,"vcm/chunk:massproc"); - memory->create(masstotal,maxchunk,"vcm/chunk:masstotal"); - memory->create(vcm,maxchunk,3,"vcm/chunk:vcm"); - memory->create(vcmall,maxchunk,3,"vcm/chunk:vcmall"); + memory->create(massproc, maxchunk, "vcm/chunk:massproc"); + memory->create(masstotal, maxchunk, "vcm/chunk:masstotal"); + memory->create(vcm, maxchunk, 3, "vcm/chunk:vcm"); + memory->create(vcmall, maxchunk, 3, "vcm/chunk:vcmall"); } } @@ -843,12 +751,12 @@ void ComputeTempChunk::allocate() double ComputeTempChunk::memory_usage() { - double bytes = (bigint) maxchunk * 2 * sizeof(double); + double bytes = (double) maxchunk * 2 * sizeof(double) + ComputeChunk::memory_usage(); bytes += (double) maxchunk * 2 * sizeof(int); bytes += (double) maxchunk * nvalues * sizeof(double); if (comflag || nvalues) { bytes += (double) maxchunk * 2 * sizeof(double); - bytes += (double) maxchunk * 2*3 * sizeof(double); + bytes += (double) maxchunk * 2 * 3 * sizeof(double); } return bytes; } diff --git a/src/compute_temp_chunk.h b/src/compute_temp_chunk.h index fc9b6d78fd..30e211b175 100644 --- a/src/compute_temp_chunk.h +++ b/src/compute_temp_chunk.h @@ -20,11 +20,11 @@ ComputeStyle(temp/chunk,ComputeTempChunk); #ifndef LMP_COMPUTE_TEMP_CHUNK_H #define LMP_COMPUTE_TEMP_CHUNK_H -#include "compute.h" +#include "compute_chunk.h" namespace LAMMPS_NS { -class ComputeTempChunk : public Compute { +class ComputeTempChunk : public ComputeChunk { public: ComputeTempChunk(class LAMMPS *, int, char **); ~ComputeTempChunk() override; @@ -38,20 +38,12 @@ class ComputeTempChunk : public Compute { void restore_bias(int, double *) override; void restore_bias_all() override; - void lock_enable() override; - void lock_disable() override; - int lock_length() override; - void lock(class Fix *, bigint, bigint) override; - void unlock(class Fix *) override; - double memory_usage() override; private: - int nchunk, maxchunk, comflag, biasflag; + int comflag, biasflag; int nvalues; int *which; - char *idchunk; - class ComputeChunkAtom *cchunk; double adof, cdof; char *id_bias; class Compute *tbias; // ptr to additional bias compute @@ -66,10 +58,8 @@ class ComputeTempChunk : public Compute { void temperature(int); void kecom(int); void internal(int); - void allocate(); + void allocate() override; }; - } // namespace LAMMPS_NS - #endif #endif diff --git a/src/compute_torque_chunk.cpp b/src/compute_torque_chunk.cpp index 36aca5dd5f..522ba5a03e 100644 --- a/src/compute_torque_chunk.cpp +++ b/src/compute_torque_chunk.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -14,24 +13,21 @@ #include "compute_torque_chunk.h" -#include #include "atom.h" -#include "update.h" -#include "modify.h" #include "compute_chunk_atom.h" #include "domain.h" -#include "memory.h" #include "error.h" +#include "memory.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ ComputeTorqueChunk::ComputeTorqueChunk(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), - idchunk(nullptr), massproc(nullptr), masstotal(nullptr), com(nullptr), comall(nullptr), torque(nullptr), torqueall(nullptr) + ComputeChunk(lmp, narg, arg), massproc(nullptr), masstotal(nullptr), com(nullptr), + comall(nullptr), torque(nullptr), torqueall(nullptr) { - if (narg != 4) error->all(FLERR,"Illegal compute torque/chunk command"); + if (narg != 4) error->all(FLERR, "Illegal compute torque/chunk command"); array_flag = 1; size_array_cols = 3; @@ -39,24 +35,14 @@ ComputeTorqueChunk::ComputeTorqueChunk(LAMMPS *lmp, int narg, char **arg) : size_array_rows_variable = 1; extarray = 0; - // ID of compute chunk/atom - - idchunk = utils::strdup(arg[3]); - ComputeTorqueChunk::init(); - - // chunk-based data - - nchunk = 1; - maxchunk = 0; - allocate(); + ComputeTorqueChunk::allocate(); } /* ---------------------------------------------------------------------- */ ComputeTorqueChunk::~ComputeTorqueChunk() { - delete [] idchunk; memory->destroy(massproc); memory->destroy(masstotal); memory->destroy(com); @@ -67,38 +53,15 @@ ComputeTorqueChunk::~ComputeTorqueChunk() /* ---------------------------------------------------------------------- */ -void ComputeTorqueChunk::init() -{ - int icompute = modify->find_compute(idchunk); - if (icompute < 0) - error->all(FLERR,"Chunk/atom compute does not exist for " - "compute torque/chunk"); - cchunk = dynamic_cast(modify->compute[icompute]); - if (strcmp(cchunk->style,"chunk/atom") != 0) - error->all(FLERR,"Compute torque/chunk does not use chunk/atom compute"); -} - -/* ---------------------------------------------------------------------- */ - void ComputeTorqueChunk::compute_array() { - int i,index; - double dx,dy,dz,massone; + int i, index; + double dx, dy, dz, massone; double unwrap[3]; - invoked_array = update->ntimestep; - - // compute chunk/atom assigns atoms to chunk IDs - // extract ichunk index vector from compute - // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms - - nchunk = cchunk->setup_chunks(); - cchunk->compute_ichunk(); + ComputeChunk::compute_array(); int *ichunk = cchunk->ichunk; - if (nchunk > maxchunk) allocate(); - size_array_rows = nchunk; - // zero local per-chunk values for (i = 0; i < nchunk; i++) { @@ -119,19 +82,21 @@ void ComputeTorqueChunk::compute_array() for (i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; - if (rmass) massone = rmass[i]; - else massone = mass[type[i]]; - domain->unmap(x[i],image[i],unwrap); + if (rmass) + massone = rmass[i]; + else + massone = mass[type[i]]; + domain->unmap(x[i], image[i], unwrap); massproc[index] += massone; com[index][0] += unwrap[0] * massone; com[index][1] += unwrap[1] * massone; com[index][2] += unwrap[2] * massone; } - MPI_Allreduce(massproc,masstotal,nchunk,MPI_DOUBLE,MPI_SUM,world); - MPI_Allreduce(&com[0][0],&comall[0][0],3*nchunk,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(massproc, masstotal, nchunk, MPI_DOUBLE, MPI_SUM, world); + MPI_Allreduce(&com[0][0], &comall[0][0], 3 * nchunk, MPI_DOUBLE, MPI_SUM, world); for (i = 0; i < nchunk; i++) { if (masstotal[i] > 0.0) { @@ -147,83 +112,26 @@ void ComputeTorqueChunk::compute_array() for (i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; - domain->unmap(x[i],image[i],unwrap); + domain->unmap(x[i], image[i], unwrap); dx = unwrap[0] - comall[index][0]; dy = unwrap[1] - comall[index][1]; dz = unwrap[2] - comall[index][2]; - torque[index][0] += dy*f[i][2] - dz*f[i][1]; - torque[index][1] += dz*f[i][0] - dx*f[i][2]; - torque[index][2] += dx*f[i][1] - dy*f[i][0]; + torque[index][0] += dy * f[i][2] - dz * f[i][1]; + torque[index][1] += dz * f[i][0] - dx * f[i][2]; + torque[index][2] += dx * f[i][1] - dy * f[i][0]; } - MPI_Allreduce(&torque[0][0],&torqueall[0][0],3*nchunk, - MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&torque[0][0], &torqueall[0][0], 3 * nchunk, MPI_DOUBLE, MPI_SUM, world); } - -/* ---------------------------------------------------------------------- - lock methods: called by fix ave/time - these methods ensure vector/array size is locked for Nfreq epoch - by passing lock info along to compute chunk/atom -------------------------------------------------------------------------- */ - -/* ---------------------------------------------------------------------- - increment lock counter -------------------------------------------------------------------------- */ - -void ComputeTorqueChunk::lock_enable() -{ - cchunk->lockcount++; -} - -/* ---------------------------------------------------------------------- - decrement lock counter in compute chunk/atom, it if still exists -------------------------------------------------------------------------- */ - -void ComputeTorqueChunk::lock_disable() -{ - int icompute = modify->find_compute(idchunk); - if (icompute >= 0) { - cchunk = dynamic_cast(modify->compute[icompute]); - cchunk->lockcount--; - } -} - -/* ---------------------------------------------------------------------- - calculate and return # of chunks = length of vector/array -------------------------------------------------------------------------- */ - -int ComputeTorqueChunk::lock_length() -{ - nchunk = cchunk->setup_chunks(); - return nchunk; -} - -/* ---------------------------------------------------------------------- - set the lock from startstep to stopstep -------------------------------------------------------------------------- */ - -void ComputeTorqueChunk::lock(Fix *fixptr, bigint startstep, bigint stopstep) -{ - cchunk->lock(fixptr,startstep,stopstep); -} - -/* ---------------------------------------------------------------------- - unset the lock -------------------------------------------------------------------------- */ - -void ComputeTorqueChunk::unlock(Fix *fixptr) -{ - cchunk->unlock(fixptr); -} - /* ---------------------------------------------------------------------- free and reallocate per-chunk arrays ------------------------------------------------------------------------- */ void ComputeTorqueChunk::allocate() { + ComputeChunk::allocate(); memory->destroy(massproc); memory->destroy(masstotal); memory->destroy(com); @@ -231,12 +139,12 @@ void ComputeTorqueChunk::allocate() memory->destroy(torque); memory->destroy(torqueall); maxchunk = nchunk; - memory->create(massproc,maxchunk,"torque/chunk:massproc"); - memory->create(masstotal,maxchunk,"torque/chunk:masstotal"); - memory->create(com,maxchunk,3,"torque/chunk:com"); - memory->create(comall,maxchunk,3,"torque/chunk:comall"); - memory->create(torque,maxchunk,3,"torque/chunk:torque"); - memory->create(torqueall,maxchunk,3,"torque/chunk:torqueall"); + memory->create(massproc, maxchunk, "torque/chunk:massproc"); + memory->create(masstotal, maxchunk, "torque/chunk:masstotal"); + memory->create(com, maxchunk, 3, "torque/chunk:com"); + memory->create(comall, maxchunk, 3, "torque/chunk:comall"); + memory->create(torque, maxchunk, 3, "torque/chunk:torque"); + memory->create(torqueall, maxchunk, 3, "torque/chunk:torqueall"); array = torqueall; } @@ -246,8 +154,8 @@ void ComputeTorqueChunk::allocate() double ComputeTorqueChunk::memory_usage() { - double bytes = (bigint) maxchunk * 2 * sizeof(double); - bytes += (double) maxchunk * 2*3 * sizeof(double); - bytes += (double) maxchunk * 2*3 * sizeof(double); + double bytes = (double) maxchunk * 2 * sizeof(double) + ComputeChunk::memory_usage(); + bytes += (double) maxchunk * 2 * 3 * sizeof(double); + bytes += (double) maxchunk * 2 * 3 * sizeof(double); return bytes; } diff --git a/src/compute_torque_chunk.h b/src/compute_torque_chunk.h index c810f7dc03..27752d6843 100644 --- a/src/compute_torque_chunk.h +++ b/src/compute_torque_chunk.h @@ -20,35 +20,24 @@ ComputeStyle(torque/chunk,ComputeTorqueChunk); #ifndef LMP_COMPUTE_TORQUE_CHUNK_H #define LMP_COMPUTE_TORQUE_CHUNK_H -#include "compute.h" +#include "compute_chunk.h" namespace LAMMPS_NS { -class ComputeTorqueChunk : public Compute { +class ComputeTorqueChunk : public ComputeChunk { public: ComputeTorqueChunk(class LAMMPS *, int, char **); ~ComputeTorqueChunk() override; - void init() override; void compute_array() override; - void lock_enable() override; - void lock_disable() override; - int lock_length() override; - void lock(class Fix *, bigint, bigint) override; - void unlock(class Fix *) override; - double memory_usage() override; private: - int nchunk, maxchunk; - char *idchunk; - class ComputeChunkAtom *cchunk; - double *massproc, *masstotal; double **com, **comall; double **torque, **torqueall; - void allocate(); + void allocate() override; }; } // namespace LAMMPS_NS diff --git a/src/compute_vcm_chunk.cpp b/src/compute_vcm_chunk.cpp index c1d22bf5e6..07b504f2ae 100644 --- a/src/compute_vcm_chunk.cpp +++ b/src/compute_vcm_chunk.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -14,25 +13,22 @@ #include "compute_vcm_chunk.h" -#include #include "atom.h" -#include "update.h" -#include "modify.h" #include "compute_chunk_atom.h" -#include "memory.h" #include "error.h" +#include "memory.h" using namespace LAMMPS_NS; -enum{ONCE,NFREQ,EVERY}; +enum { ONCE, NFREQ, EVERY }; /* ---------------------------------------------------------------------- */ ComputeVCMChunk::ComputeVCMChunk(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), - idchunk(nullptr), massproc(nullptr), masstotal(nullptr), vcm(nullptr), vcmall(nullptr) + ComputeChunk(lmp, narg, arg), massproc(nullptr), masstotal(nullptr), vcm(nullptr), + vcmall(nullptr) { - if (narg != 4) error->all(FLERR,"Illegal compute vcm/chunk command"); + if (narg != 4) error->all(FLERR, "Illegal compute vcm/chunk command"); array_flag = 1; size_array_cols = 3; @@ -40,26 +36,14 @@ ComputeVCMChunk::ComputeVCMChunk(LAMMPS *lmp, int narg, char **arg) : size_array_rows_variable = 1; extarray = 0; - // ID of compute chunk/atom - - idchunk = utils::strdup(arg[3]); - ComputeVCMChunk::init(); - - // chunk-based data - - nchunk = 1; - maxchunk = 0; - allocate(); - - firstflag = massneed = 1; + ComputeVCMChunk::allocate(); } /* ---------------------------------------------------------------------- */ ComputeVCMChunk::~ComputeVCMChunk() { - delete [] idchunk; memory->destroy(massproc); memory->destroy(masstotal); memory->destroy(vcm); @@ -68,18 +52,6 @@ ComputeVCMChunk::~ComputeVCMChunk() /* ---------------------------------------------------------------------- */ -void ComputeVCMChunk::init() -{ - int icompute = modify->find_compute(idchunk); - if (icompute < 0) - error->all(FLERR,"Chunk/atom compute does not exist for compute vcm/chunk"); - cchunk = dynamic_cast(modify->compute[icompute]); - if (strcmp(cchunk->style,"chunk/atom") != 0) - error->all(FLERR,"Compute vcm/chunk does not use chunk/atom compute"); -} - -/* ---------------------------------------------------------------------- */ - void ComputeVCMChunk::setup() { // one-time calculation of per-chunk mass @@ -98,23 +70,12 @@ void ComputeVCMChunk::compute_array() int index; double massone; - invoked_array = update->ntimestep; - - // compute chunk/atom assigns atoms to chunk IDs - // extract ichunk index vector from compute - // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms - - nchunk = cchunk->setup_chunks(); - cchunk->compute_ichunk(); + ComputeChunk::compute_array(); int *ichunk = cchunk->ichunk; - if (nchunk > maxchunk) allocate(); - size_array_rows = nchunk; - // zero local per-chunk values - for (int i = 0; i < nchunk; i++) - vcm[i][0] = vcm[i][1] = vcm[i][2] = 0.0; + for (int i = 0; i < nchunk; i++) vcm[i][0] = vcm[i][1] = vcm[i][2] = 0.0; if (massneed) for (int i = 0; i < nchunk; i++) massproc[i] = 0.0; @@ -129,100 +90,47 @@ void ComputeVCMChunk::compute_array() for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - index = ichunk[i]-1; + index = ichunk[i] - 1; if (index < 0) continue; - if (rmass) massone = rmass[i]; - else massone = mass[type[i]]; + if (rmass) + massone = rmass[i]; + else + massone = mass[type[i]]; vcm[index][0] += v[i][0] * massone; vcm[index][1] += v[i][1] * massone; vcm[index][2] += v[i][2] * massone; if (massneed) massproc[index] += massone; } - MPI_Allreduce(&vcm[0][0],&vcmall[0][0],3*nchunk,MPI_DOUBLE,MPI_SUM,world); - if (massneed) - MPI_Allreduce(massproc,masstotal,nchunk,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&vcm[0][0], &vcmall[0][0], 3 * nchunk, MPI_DOUBLE, MPI_SUM, world); + if (massneed) MPI_Allreduce(massproc, masstotal, nchunk, MPI_DOUBLE, MPI_SUM, world); for (int i = 0; i < nchunk; i++) { if (masstotal[i] > 0.0) { vcmall[i][0] /= masstotal[i]; vcmall[i][1] /= masstotal[i]; vcmall[i][2] /= masstotal[i]; - } else vcmall[i][0] = vcmall[i][1] = vcmall[i][2] = 0.0; + } else + vcmall[i][0] = vcmall[i][1] = vcmall[i][2] = 0.0; } } -/* ---------------------------------------------------------------------- - lock methods: called by fix ave/time - these methods ensure vector/array size is locked for Nfreq epoch - by passing lock info along to compute chunk/atom -------------------------------------------------------------------------- */ - -/* ---------------------------------------------------------------------- - increment lock counter -------------------------------------------------------------------------- */ - -void ComputeVCMChunk::lock_enable() -{ - cchunk->lockcount++; -} - -/* ---------------------------------------------------------------------- - decrement lock counter in compute chunk/atom, it if still exists -------------------------------------------------------------------------- */ - -void ComputeVCMChunk::lock_disable() -{ - int icompute = modify->find_compute(idchunk); - if (icompute >= 0) { - cchunk = dynamic_cast(modify->compute[icompute]); - cchunk->lockcount--; - } -} - -/* ---------------------------------------------------------------------- - calculate and return # of chunks = length of vector/array -------------------------------------------------------------------------- */ - -int ComputeVCMChunk::lock_length() -{ - nchunk = cchunk->setup_chunks(); - return nchunk; -} - -/* ---------------------------------------------------------------------- - set the lock from startstep to stopstep -------------------------------------------------------------------------- */ - -void ComputeVCMChunk::lock(Fix *fixptr, bigint startstep, bigint stopstep) -{ - cchunk->lock(fixptr,startstep,stopstep); -} - -/* ---------------------------------------------------------------------- - unset the lock -------------------------------------------------------------------------- */ - -void ComputeVCMChunk::unlock(Fix *fixptr) -{ - cchunk->unlock(fixptr); -} - /* ---------------------------------------------------------------------- free and reallocate per-chunk arrays ------------------------------------------------------------------------- */ void ComputeVCMChunk::allocate() { + ComputeChunk::allocate(); memory->destroy(massproc); memory->destroy(masstotal); memory->destroy(vcm); memory->destroy(vcmall); maxchunk = nchunk; - memory->create(massproc,maxchunk,"vcm/chunk:massproc"); - memory->create(masstotal,maxchunk,"vcm/chunk:masstotal"); - memory->create(vcm,maxchunk,3,"vcm/chunk:vcm"); - memory->create(vcmall,maxchunk,3,"vcm/chunk:vcmall"); + memory->create(massproc, maxchunk, "vcm/chunk:massproc"); + memory->create(masstotal, maxchunk, "vcm/chunk:masstotal"); + memory->create(vcm, maxchunk, 3, "vcm/chunk:vcm"); + memory->create(vcmall, maxchunk, 3, "vcm/chunk:vcmall"); array = vcmall; } @@ -232,7 +140,7 @@ void ComputeVCMChunk::allocate() double ComputeVCMChunk::memory_usage() { - double bytes = (bigint) maxchunk * 2 * sizeof(double); - bytes += (double) maxchunk * 2*3 * sizeof(double); + double bytes = (double) maxchunk * 2 * sizeof(double) + ComputeChunk::memory_usage(); + bytes += (double) maxchunk * 2 * 3 * sizeof(double); return bytes; } diff --git a/src/compute_vcm_chunk.h b/src/compute_vcm_chunk.h index 418ae63c3a..af94a235d9 100644 --- a/src/compute_vcm_chunk.h +++ b/src/compute_vcm_chunk.h @@ -20,39 +20,26 @@ ComputeStyle(vcm/chunk,ComputeVCMChunk); #ifndef LMP_COMPUTE_VCM_CHUNK_H #define LMP_COMPUTE_VCM_CHUNK_H -#include "compute.h" +#include "compute_chunk.h" namespace LAMMPS_NS { -class ComputeVCMChunk : public Compute { +class ComputeVCMChunk : public ComputeChunk { public: ComputeVCMChunk(class LAMMPS *, int, char **); ~ComputeVCMChunk() override; - void init() override; + void setup() override; void compute_array() override; - void lock_enable() override; - void lock_disable() override; - int lock_length() override; - void lock(class Fix *, bigint, bigint) override; - void unlock(class Fix *) override; - double memory_usage() override; private: - int nchunk, maxchunk; - int firstflag, massneed; - char *idchunk; - class ComputeChunkAtom *cchunk; - double *massproc, *masstotal; double **vcm, **vcmall; - void allocate(); + void allocate() override; }; - } // namespace LAMMPS_NS - #endif #endif From 29e724b8107f2bbf2c2792641ef8995e85a55805 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 18 Mar 2023 11:14:32 -0400 Subject: [PATCH 353/448] add unit test for compute dipole/tip4p/chunk --- unittest/commands/test_compute_chunk.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/unittest/commands/test_compute_chunk.cpp b/unittest/commands/test_compute_chunk.cpp index 0a48087e81..3b306ab04b 100644 --- a/unittest/commands/test_compute_chunk.cpp +++ b/unittest/commands/test_compute_chunk.cpp @@ -315,6 +315,29 @@ TEST_F(ComputeChunkTest, ChunkComputes) EXPECT_NEAR(ctmp[5], -0.09219489, EPSILON); } +TEST_F(ComputeChunkTest, ChunkTIP4PComputes) +{ + if (lammps_get_natoms(lmp) == 0.0) GTEST_SKIP(); + if (!info->has_style("compute", "dipole/tip4p/chunk")) GTEST_SKIP(); + + BEGIN_HIDE_OUTPUT(); + command("pair_style tip4p/cut 5 2 5 1 0.15 10.0"); + command("pair_coeff * *"); + command("bond_coeff * 0.9572"); + command("angle_coeff * 104.52"); + command("compute dip all dipole/tip4p/chunk mols geometry"); + command("fix hist1 all ave/time 1 1 1 c_dip[*] mode vector"); + command("run 0 post no"); + END_HIDE_OUTPUT(); + auto cdip = get_array("dip"); + EXPECT_NEAR(cdip[0][3], 0.35912150, EPSILON); + EXPECT_NEAR(cdip[1][3], 0.68453713, EPSILON); + EXPECT_NEAR(cdip[2][3], 0.50272643, EPSILON); + EXPECT_NEAR(cdip[3][3], 0.37828094, EPSILON); + EXPECT_NEAR(cdip[4][3], 0.37018279, EPSILON); + EXPECT_NEAR(cdip[5][3], 0.36532949, EPSILON); +} + TEST_F(ComputeChunkTest, ChunkSpreadGlobal) { if (lammps_get_natoms(lmp) == 0.0) GTEST_SKIP(); From 26941e4a2e9cf1aebecae963baa35d686fcce9ff Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 18 Mar 2023 20:00:41 -0400 Subject: [PATCH 354/448] complete first draft of full pair style explanation and start with many-body --- doc/src/Developer_write_pair.rst | 245 +++++++++++++++++++++---------- 1 file changed, 171 insertions(+), 74 deletions(-) diff --git a/doc/src/Developer_write_pair.rst b/doc/src/Developer_write_pair.rst index 1f4670d871..b16bf2a240 100644 --- a/doc/src/Developer_write_pair.rst +++ b/doc/src/Developer_write_pair.rst @@ -486,11 +486,12 @@ The ``compute()`` function is the "workhorse" of a pair style. This is where we have the nested loops all pairs of particles from the neighbor list to compute forces and - if needed - energy and virial. -The first part is to define some variables for later use and store cached -copies of data or pointers we need to access frequently. Also, this is -a good place to call `Pair::ev_init()`, which initializes several flags -derived from the `eflag` and `vflag` parameters signaling whether energy -and virial need to be tallied and whether only globally or also per-atom. +The first part is to define some variables for later use and store +cached copies of data or pointers we need to access frequently. Also, +this is a good place to call ``Pair::ev_init()``, which initializes +several flags derived from the `eflag` and `vflag` parameters signaling +whether energy and virial need to be tallied and whether only globally +or also per-atom. .. code-block:: c++ @@ -521,17 +522,17 @@ and virial need to be tallied and whether only globally or also per-atom. The outer loop (index *i*) is over local atoms of our sub-domain. Typically, the value of `inum` (the number of neighbor lists) is the same as the number of local atoms (= atoms *owned* but this sub-domain). -But in case the pair style is used as a sub-style of a :doc:`hybrid pair +But when the pair style is used as a sub-style of a :doc:`hybrid pair style ` or neighbor list entries are removed with -:doc:`neigh_modify ` this number may be smaller. The array -`list->ilist` has the (local) indices of the atoms for which neighbor -lists have been created. Then `list->numneigh` is an `inum` sized array -with the number of entries of each list of neighbors and -`list->firstneigh` is a list of pointers to those lists. +:doc:`neigh_modify exclude ` this number may be +smaller. The array ``list->ilist`` has the (local) indices of the atoms +for which neighbor lists have been created. Then ``list->numneigh`` is +an `inum` sized array with the number of entries of each list of +neighbors and ``list->firstneigh`` is a list of pointers to those lists. For efficiency reasons, cached copies of some properties of the outer -loop atoms are initialized. - +loop atoms are also initialized. + .. code-block:: c++ // loop over neighbors of my atoms @@ -545,17 +546,19 @@ loop atoms are initialized. jlist = firstneigh[i]; jnum = numneigh[i]; -The inner loop (index (*j*) processes the neighbor lists. The neighbor -list code encodes in the upper bits (typically the upper 2 bit) whether -a pair is a 1-2, 1-3, or 1-4 :doc:`"special" neighbor ` -and we store the corresponding scaling factor in `factor_lj`. The ``sbmask()`` -inline function extracts those bits and converts them into a number from -0 to 3. The `force->special_lj` array contains the scaling factors for -non-Coulomb interactions between such pairs. Due to adding the extra bits, -the value of *j* would be out of range for the position arrays, so we apply -the NEIGHMASK constant to mask them out. This step *must* be done even if -a pair style does not use special bond scaling. Otherwise there will be -a segmentation fault for any system containing bonds. +The inner loop (index *j*) processes the neighbor lists. The neighbor +list code encodes in the upper bits (typically the upper 2 bits, i.e. as +a number from 0 to 3) whether a pair is a regular pair of neighbor (= 0) +or a pair of 1-2 (= 1), 1-3 (= 2), or 1-4 (= 3) :doc:`"special" neighbor +`. The ``sbmask()`` inline function extracts those bits +and converts them into a number and use the index to store the +corresponding scaling factor taken from the ``force->special_lj`` array +in `factor_lj`. Due to adding the extra bits, the value of *j* would be +out of range when accessing data from per-atom arrays, so we apply the +NEIGHMASK constant to mask them out. This step *must* be done even if a +pair style does not use special bond scaling. Otherwise there will be a +segmentation fault for systems containing bonds for atoms involved in +bonds. With the corrected *j* index it is now possible to compute the distance of the pair. For efficiency reasons, the square root is only taken *after* @@ -576,12 +579,12 @@ potential, computing the square root can be avoided entirely. rsq = delx * delx + dely * dely + delz * delz; jtype = type[j]; -This block is the actual application of the model potential to compute -the force. Note, that *fpair* is actually the force divided by the -distance, as this simplifies the projection of the x-, y-, and -z-components of the force vector by simply multiplying with the -respective distances in those directions. - +The following block of code is the actual application of the model +potential to compute the force. Note, that *fpair* is the pair-wise +force divided by the distance, as this simplifies the projection of the +x-, y-, and z-components of the force vector by simply multiplying with +the respective distances in those directions. + .. code-block:: c++ if (rsq < cutsq[itype][jtype]) { @@ -593,21 +596,21 @@ respective distances in those directions. fpair -= 2.0 * beta[itype][jtype] * dr * bexp; fpair *= factor_lj / r; -In this block the force is added to the per-atom force arrays. This +In the next block, the force is added to the per-atom force arrays. This pair style uses a "half" neighbor list (each pair is listed only once) so we take advantage of the fact that :math:` \vec{F}_{ij} = -\vec{F}_{ji}`, i.e. apply Newton's third law. The force is *always* stored when the atom is a "local" atom. Index *i* atoms are always "local" (i.e. *i* < nlocal); index *j* atoms may be "ghost" atoms (*j* >= nlocal). -Depending on the settings used with the :doc:`newton command ` +Depending on the settings used with the :doc:`newton command `, those pairs are are only listed once globally (newton_pair == 1), then -forces must be stored even with ghost atoms and then - after all forces -are computed - a "reverse communication" is performed to add those ghost -forces to their corresponding local atoms. If the setting is disabled, -then the extra communication is skipped, since pairs straddling -sub-domain boundaries are listed twice, that is where one of the two -atoms is a "local" atom. +forces must be stored even with ghost atoms and after all forces +are computed a "reverse communication" is performed to add those ghost +atom forces to their corresponding local atoms. If the setting is disabled, +then the extra communication is skipped, since for pairs straddling +sub-domain boundaries, the forces are computed twice and only stored with +the local atoms in the domain that *own* it. .. code-block:: c++ @@ -620,13 +623,16 @@ atoms is a "local" atom. f[j][2] -= delz * fpair; } -For typical MD simulations, the potential energy is merely a diagnostic -and only output infrequently. Similarly, the pressure may only be computed -for infrequent diagnostic output. For all timesteps where this information -is not needed either `eflag` or `evflag` are zero and the computation skipped. +The ``ev_tally()`` function tallies global or per-atom energy and +virial. For typical MD simulations, the potential energy is merely a +diagnostic and only needed on output. Similarly, the pressure may only +be computed for (infrequent) thermodynamic output. For all timesteps +where this information is not needed either, `eflag` or `evflag` are +zero and the computation and call to the tally function skipped. Note +that evdwl is initialized to zero at the beginning of the function, so +that it still is valid to access it, even if the energy is not computed +(e.g. when only the virial is needed). -The ``ev_tally()`` tallies global or per-atom energy and virial. - .. code-block:: c++ if (eflag) evdwl = factor_lj * (aexp - bexp - offset[itype][jtype]); @@ -635,14 +641,16 @@ The ``ev_tally()`` tallies global or per-atom energy and virial. } } -If only the global virial is needed, then calls to ``ev_tally()`` can be -avoided and the global virial can be computed more efficiently using -total per-atom force vector and its position vector. -:math:`\vec{F}\cdot\vec{r}`. This has to be done *before* the reverse -communication to collect data from ghost atom, since the position has to -be the position used to compute the force, i.e. *not* the "local" -position if that ghost atom is a periodic copy. - +If only the global virial is needed and no energy, then calls to +``ev_tally()`` can be avoided altogether and the global virial can be +computed more efficiently from the dot product of the total per-atom +force vector and the position vector of the corresponding atom, +:math:`\vec{F}\cdot\vec{r}`. This has to be done *after* all pair-wise +forces are computed and *before* the reverse communication to collect +data from ghost atom, since the position has to be the position that was +used to compute the force, i.e. *not* the "local" position if that ghost +atom is a periodic copy. + .. code-block:: c++ if (vflag_fdotr) virial_fdotr_compute(); @@ -656,13 +664,17 @@ Certain features in LAMMPS utilize computing interactions between individual pairs of atoms only and the (optional) ``single()`` function is needed to support those features (e.g. for tabulation of force and energy with :doc:`pair_write `). This is a repetition of -the force kernel in the ``compute()`` function, but without the loop -over the neighbor list. By construction, this is also less efficient. +the force kernel in the ``compute()`` function, but only for a single +pair of atoms, where the (squared) distance is provided as parameter +(so it may not even be an existing distance between two specific atoms). The energy is returned as the return value of the function and the force -as the `fforce` reference. Note, that this is - same as *fpair* in he -``compute()`` function - the magnitude of the force along the vector +as the `fforce` reference. Note, that is, same as *fpair* in he +``compute()`` function, the magnitude of the force along the vector between the two atoms *divided* by the distance. +The ``single()`` function is optional. The member variable +`single_enable` should be set to 0 in the constructor, if it is not +implemented (its default value is 1). .. code-block:: c++ @@ -686,6 +698,14 @@ between the two atoms *divided* by the distance. Reading and writing of restart files """""""""""""""""""""""""""""""""""" +Support for writing and reading binary restart files is provided by the +following four functions. Writing is only done by MPI processor rank 0. +The output of global (not related to atom types) settings is delegated +to the ``write_restart_settings()`` function. Implementing the +functions to read and write binary restart files is optional. The +member variable `restartinfo` should be set to 0 in the constructor, if +they are not implemented (its default value is 1). + .. code-block:: c++ /* ---------------------------------------------------------------------- @@ -712,6 +732,28 @@ Reading and writing of restart files } } + /* ---------------------------------------------------------------------- + proc 0 writes to restart file + ------------------------------------------------------------------------- */ + + void PairBornGauss::write_restart_settings(FILE *fp) + { + fwrite(&cut_global, sizeof(double), 1, fp); + fwrite(&offset_flag, sizeof(int), 1, fp); + fwrite(&mix_flag, sizeof(int), 1, fp); + } + +Similarly, on reading, only MPI processor rank 0 has opened the restart +file and will read the data. The data is then distributed across all +parallel processes using calls to ``MPI_Bcast()``. Before reading atom +type specific data, the corresponding storage needs to be allocated. +Order and number or storage size of items read must be exactly the same +as when writing, or else the data will be read incorrectly. + +Reading uses the :cpp:func:`utils::sfread ` +utility function to detect read errors and short reads, so that LAMMPS +can abort if that happens, e.g. when the restart file is corrupted. + .. code-block:: c++ /* ---------------------------------------------------------------------- @@ -750,21 +792,6 @@ Reading and writing of restart files } } -.. code-block:: c++ - - /* ---------------------------------------------------------------------- - proc 0 writes to restart file - ------------------------------------------------------------------------- */ - - void PairBornGauss::write_restart_settings(FILE *fp) - { - fwrite(&cut_global, sizeof(double), 1, fp); - fwrite(&offset_flag, sizeof(int), 1, fp); - fwrite(&mix_flag, sizeof(int), 1, fp); - } - -.. code-block:: c++ - /* ---------------------------------------------------------------------- proc 0 reads from restart file, bcasts ------------------------------------------------------------------------- */ @@ -784,6 +811,26 @@ Reading and writing of restart files Writing coefficients to data files """""""""""""""""""""""""""""""""" +The ``write_data()`` and ``write_data_all()`` functions are optional and +write out the current state of the :doc:`pair_coeff +settings` as "Pair Coeffs" or "PairIJ Coeffs" sections to a +data file when using the :doc:`write_data command `. The +``write_data()`` only writes out the diagonal elements of the pair +coefficient matrix, as that is required for the format of the "Pair +Coeffs" section. It is called when the "pair" option of the +:doc:`write_data command ` is "ii" (the default). This is +suitable for force fields where *all* off-diagonal terms of the pair +coefficient matrix are generated from mixing. If explicit settings for +off-diagonal elements were made, LAMMPS will print a warning, as those +would be lost. To avoid this, the "pair ij" option of :doc:`write_data +` can be used which will trigger calling the +``write_data_all()`` function instead, which will write out all settings +of the pair coefficient matrix (regardless of whether they were +originally created from mixing or not). + +The member variable `writedata` should be set to 1 in the constructor, +if they are implemented (the default value is 0). + .. code-block:: c++ /* ---------------------------------------------------------------------- @@ -797,8 +844,6 @@ Writing coefficients to data files r0[i][i]); } -.. code-block:: c++ - /* ---------------------------------------------------------------------- proc 0 writes all pairs to data file ------------------------------------------------------------------------- */ @@ -815,6 +860,11 @@ Writing coefficients to data files Give access to internal data """""""""""""""""""""""""""" +The purpose of the ``extract()`` function is to allow access to internal data +of the pair style from other parts of LAMMPS. One application is to use +:doc:`fix adapt ` to gradually change potential parameters during +a run. Here, we implement access to the pair coefficient matrix parameters. + .. code-block:: c++ /* ---------------------------------------------------------------------- */ @@ -828,6 +878,22 @@ Give access to internal data return nullptr; } +Since the mercury potential, for which we have implemented the +born/gauss pair style, has a temperature dependent parameter "biga1", we +can automatically adapt the potential based on the Taylor-MacLaurin +expansion for "biga1" when performing a simulation with a temperature +ramp. LAMMPS commands for that application are given below: + +.. code-block:: LAMMPS + + variable tlo index 300.0 + variable thi index 600.0 + variable temp equal ramp(v_tlo,v_thi) + variable biga1 equal (-2.58717e-8*v_temp+8.40841e-5)*v_temp+1.97475e-2 + + fix 1 all nvt temp ${tlo} ${thi} 0.1 + fix 2 all adapt 1 pair born/gauss biga1 * * v_biga1 + Case 2: a many-body potential ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -838,7 +904,38 @@ pair-wise additive potential. We will use the implementation of the Stillinger-Weber potential as :doc:`pair_style sw ` as an example. -TBA +Constructor +""""""""""" + +In the constructor several :doc:`pair style flags ` must +be set differently for many-body potentials: + +- the potential is not pair-wise additive, so the ``single()`` function cannot be used. This is indicated by setting the `single_enable` member variable to 0 (default value is 1) +- the for many-body potentials are usually not written to :doc:`binary + restart files `. This is indicated by setting the member + variable `restartinfo` to 0 (default is 1) +- many-body potentials typically read *all* parameters from a file which + stores parameters indexed with a string (e.g. the element). For this + only a single :doc:`pair_coeff \* \* ` command is allowed. + This requirement is set and checked for, when the member variable + `one_coeff` is set to 1 (default value is 0) +- many-body potentials can produce incorrect results if pairs of atoms + are excluded from the neighbor list, e.g. explicitly by + :doc:`neigh_modify exclude ` or implicitly through + defining bonds, angles, etc. and having a :doc:`special_bonds setting + ` that is not "special_bonds lj/coul 1.0 1.0 1.0". + LAMMPS will check for this and print a suitable warning, when the + member variable `manybody_flag` is set to 1 (default value is 0). + +.. code-block:: c++ + + PairSW::PairSW(LAMMPS *lmp) : Pair(lmp) + { + single_enable = 0; + restartinfo = 0; + one_coeff = 1; + manybody_flag = 1; + Case 3: a potential requiring communication ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ From c9af040be96b5b5e607b8b6494ff79c4a0dc5bf1 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 18 Mar 2023 20:00:58 -0400 Subject: [PATCH 355/448] improve error message --- src/fix_adapt.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fix_adapt.cpp b/src/fix_adapt.cpp index 8dd97250a3..c90aa7c5b6 100644 --- a/src/fix_adapt.cpp +++ b/src/fix_adapt.cpp @@ -368,7 +368,7 @@ void FixAdapt::init() void *ptr = ad->pair->extract(ad->pparam,ad->pdim); if (ptr == nullptr) - error->all(FLERR,"Fix adapt pair style param not supported"); + error->all(FLERR,"Fix adapt pair style {} param {} not supported", ad->pstyle, ad->pparam); // for pair styles only parameters that are 2-d arrays in atom types or // scalars are supported From a2a4dcba06278544bcad0f4a677e5105f266a3d0 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 18 Mar 2023 23:16:42 -0400 Subject: [PATCH 356/448] complete sections about variants of potentials --- doc/src/Developer_write_pair.rst | 239 +++++++++++++++++++- doc/utils/sphinx-config/false_positives.txt | 1 + 2 files changed, 236 insertions(+), 4 deletions(-) diff --git a/doc/src/Developer_write_pair.rst b/doc/src/Developer_write_pair.rst index b16bf2a240..fc592e11b3 100644 --- a/doc/src/Developer_write_pair.rst +++ b/doc/src/Developer_write_pair.rst @@ -901,7 +901,7 @@ Since there is a detailed description of the purpose and general layout of a pair style in the previous case, we will focus on where the implementation of a typical many-body potential *differs* from a pair-wise additive potential. We will use the implementation of the -Stillinger-Weber potential as :doc:`pair_style sw ` as an +Tersoff potential as :doc:`pair_style tersoff ` as an example. Constructor @@ -910,7 +910,9 @@ Constructor In the constructor several :doc:`pair style flags ` must be set differently for many-body potentials: -- the potential is not pair-wise additive, so the ``single()`` function cannot be used. This is indicated by setting the `single_enable` member variable to 0 (default value is 1) +- the potential is not pair-wise additive, so the ``single()`` function + cannot be used. This is indicated by setting the `single_enable` + member variable to 0 (default value is 1) - the for many-body potentials are usually not written to :doc:`binary restart files `. This is indicated by setting the member variable `restartinfo` to 0 (default is 1) @@ -929,13 +931,137 @@ be set differently for many-body potentials: .. code-block:: c++ - PairSW::PairSW(LAMMPS *lmp) : Pair(lmp) + PairTersoff::PairTersoff(LAMMPS *lmp) : Pair(lmp) { single_enable = 0; restartinfo = 0; one_coeff = 1; manybody_flag = 1; +Neighbor list request +""""""""""""""""""""" + +For computing the three-body interactions of the Tersoff potential a +"full" neighbor list (both atoms of a pair are listed in each other's +neighbor list) is required. By default a "half" neighbor list is +requested (each pair is listed only once) in. The request is made in +the ``init_style()`` function. Also, additional conditions must be met +and this is being checked for, too. + +.. code-block:: c++ + + /* ---------------------------------------------------------------------- + init specific to this pair style + ------------------------------------------------------------------------- */ + + void PairTersoff::init_style() + { + if (atom->tag_enable == 0) + error->all(FLERR,"Pair style Tersoff requires atom IDs"); + if (force->newton_pair == 0) + error->all(FLERR,"Pair style Tersoff requires newton pair on"); + + // need a full neighbor list + + neighbor->add_request(this,NeighConst::REQ_FULL); + } + +Computing forces from the neighbor list +""""""""""""""""""""""""""""""""""""""" + +Computing forces for a many-body potential is usually more complex than +for a pair-wise additive potential and there are multiple component. +For Tersoff, there is a pair-wise additive two-body term (two nested +loops over indices *i* and *j*) and a three-body term (three nested +loops over indices *i*, *j*, and *k*). Since the neighbor list has +all neighbors up to the maximum cutoff (for the two-body term), but +the three-body interactions have a significantly shorter cutoff, also +a "short neighbor list" is constructed at the same time while computing +the two-body and looping over the neighbor list for the first time. + +.. code-block:: c++ + + if (rsq < cutshortsq) { + neighshort[numshort++] = j; + if (numshort >= maxshort) { + maxshort += maxshort/2; + memory->grow(neighshort,maxshort,"pair:neighshort"); + } + } + +For the two-body term, only a half neighbor list would be needed, even +though we have requested a full list (for the three-body loops). +Rather than computing all interactions twice, we skip over half of +the entries. This is done in slightly complex way to make certain +the same choice is made across all subdomains and so that there is +no load imbalance introduced. + +.. code-block:: c++ + + jtag = tag[j]; + if (itag > jtag) { + if ((itag+jtag) % 2 == 0) continue; + } else if (itag < jtag) { + if ((itag+jtag) % 2 == 1) continue; + } else { + if (x[j][2] < x[i][2]) continue; + if (x[j][2] == ztmp && x[j][1] < ytmp) continue; + if (x[j][2] == ztmp && x[j][1] == ytmp && x[j][0] < xtmp) continue; + } + +For the three-body term, there is one additional nested loop and it uses +the "short" neighbor list, accumulated previously. + +.. code-block:: c++ + + // three-body interactions + // skip immediately if I-J is not within cutoff + double fjxtmp,fjytmp,fjztmp; + + for (jj = 0; jj < numshort; jj++) { + j = neighshort[jj]; + jtype = map[type[j]]; + + [...] + + for (kk = 0; kk < numshort; kk++) { + if (jj == kk) continue; + k = neighshort[kk]; + ktype = map[type[k]]; + + [...] + } + [...] + + +Reading potential parameters +"""""""""""""""""""""""""""" + +For the Tersoff potential, the parameters are listed in a file and associated +with triples for elements. Thus, the ``coeff()`` function has to do three +tasks, each of which is delegated to a function: + +#. map elements to atom types. Those follow the potential file name in the + command line arguments and are processed by the ``map_element2type()`` function. +#. read and parse the potential parameter file in the ``read_file()`` function. +#. Build data structures where the original and derived parameters are + indexed by all possible triples of atom types and thus can be looked + up quickly in the loops for the force computation + +.. code-block:: c++ + + void PairTersoff::coeff(int narg, char **arg) + { + if (!allocated) allocate(); + + map_element2type(narg-3,arg+3); + + // read potential file and initialize potential parameters + + read_file(arg[2]); + setup_params(); + } + Case 3: a potential requiring communication ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -951,7 +1077,112 @@ during the pairwise computation. For this we will look at how the embedding term of the :doc:`embedded atom potential EAM ` is implemented in LAMMPS. -TBA +Allocating additional per-atom storage +"""""""""""""""""""""""""""""""""""""" + +First suitable (local) per-atom arrays (`rho`, `fp`, `numforce`) are +allocated. These have to be large enough to include ghost atoms, are not +used outside the ``compute()`` function and are re-initialized to zero +once per timestep. + +.. code-block:: c++ + + if (atom->nmax > nmax) { + memory->destroy(rho); + memory->destroy(fp); + memory->destroy(numforce); + nmax = atom->nmax; + memory->create(rho,nmax,"pair:rho"); + memory->create(fp,nmax,"pair:fp"); + memory->create(numforce,nmax,"pair:numforce"); + } + +Reverse communication +""""""""""""""""""""" + +Then a first loop over all pairs (*i* and *j*) is performed, where data +is stored in the `rho` representing the electron density at the site of +*i* contributed from all neighbors *j*. Since the EAM pair style uses +a half neighbor list (for efficiency reasons), a reverse communication is +needed to collect the contributions to `rho` from ghost atoms (only if +:doc:`newton on ` is set for pair styles). + +.. code-block:: c++ + + if (newton_pair) comm->reverse_comm(this); + +To support the reverse communication two functions must be defined: +``pack_reverse_comm()`` that copy relevant data into a buffer for ghost +atoms and ``unpac_reverse_comm()`` and take the collected data and add +it to the `rho` array for the corresponding local atoms that match the +ghost atoms. In order to allocate sufficiently sized buffers, a flag +must be set in the pair style constructor. Since in this case a single +double precision number is communicated per atom, the `comm_reverse` +member variable is set to 1 (default is 0 = no reverse communication). + +.. code-block:: c++ + + int PairEAM::pack_reverse_comm(int n, int first, double *buf) + { + int i,m,last; + + m = 0; + last = first + n; + for (i = first; i < last; i++) buf[m++] = rho[i]; + return m; + } + + void PairEAM::unpack_reverse_comm(int n, int *list, double *buf) + { + int i,j,m; + + m = 0; + for (i = 0; i < n; i++) { + j = list[i]; + rho[j] += buf[m++]; + } + } + +Forward communication +""""""""""""""""""""" + +From the density array `rho`, the derivative of the embedding energy +`fp` is computed. The computation is only done for "local" atoms, but +for the force computation, that property also is needed on ghost atoms. +For that a forward communication is needed. + +.. code-block:: c++ + + comm->forward_comm(this); + +Similar to the reverse communication, this requires to implement a +``pack_forward_comm()`` and an ``unpack_forward_comm()`` function. +Since there is one double precision number per atom that needs to be +communicated, we must set the `comm_forward` member variable to 1 +(default is 0 = no forward communication). + +.. code-block:: c++ + + int PairEAM::pack_forward_comm(int n, int *list, double *buf, int pbc_flag, int *pbc) + { + int i,j,m; + + m = 0; + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = fp[j]; + } + return m; + } + + void PairEAM::unpack_forward_comm(int n, int first, double *buf) + { + int i,m,last; + + m = 0; + last = first + n; + for (i = first; i < last; i++) fp[i] = buf[m++]; + } -------------- diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 47039d429d..4b118c1b16 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -1983,6 +1983,7 @@ machdyn MACHDYN Mackay Mackrodt +MacLaurin macOS Macromolecules macroparticle From ece7697f6a3da0e8a7593321ba77fe846cbb98bf Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 18 Mar 2023 23:16:59 -0400 Subject: [PATCH 357/448] cosmetic --- src/MANYBODY/pair_eam.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/MANYBODY/pair_eam.cpp b/src/MANYBODY/pair_eam.cpp index ee824d291b..a3d4257cc2 100644 --- a/src/MANYBODY/pair_eam.cpp +++ b/src/MANYBODY/pair_eam.cpp @@ -852,8 +852,7 @@ double PairEAM::single(int i, int j, int itype, int jtype, /* ---------------------------------------------------------------------- */ -int PairEAM::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int * /*pbc*/) +int PairEAM::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/) { int i,j,m; From 03b63de58808697f29effb5be0d823972a85c4e7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 19 Mar 2023 16:05:53 -0400 Subject: [PATCH 358/448] update .gitignore for recently added styles --- src/.gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/.gitignore b/src/.gitignore index ac4a776cfc..7c7155018a 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -56,6 +56,8 @@ /pair_lepton.cpp /pair_lepton.h +/pair_lepton_coul.cpp +/pair_lepton_coul.h /bond_lepton.cpp /bond_lepton.h /angle_lepton.cpp From 57e86346a6936a9c1d23e5f24d1d79b8f12e190a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 19 Mar 2023 18:20:31 -0400 Subject: [PATCH 359/448] fix bug where floating point data was formatted as integer since the second column was assumed to be the type --- tools/python/pizza/dump.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/python/pizza/dump.py b/tools/python/pizza/dump.py index 3dabc9b1b4..d57bdf63a3 100644 --- a/tools/python/pizza/dump.py +++ b/tools/python/pizza/dump.py @@ -657,11 +657,14 @@ class dump: atoms = snap.atoms nvalues = len(atoms[0]) + keys = dict() + for pair in self.names.items(): + keys[pair[1]] = pair[0] for i in range(snap.natoms): if not snap.aselect[i]: continue line = "" for j in range(nvalues): - if (j < 2): + if keys[j] == 'id' or keys[j] == 'type' or keys[j] == 'mol': line += str(int(atoms[i][j])) + " " else: line += str(atoms[i][j]) + " " From b0e7d9702bfc83ea35056fdb8278033eea9005c2 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 20 Mar 2023 01:02:22 -0400 Subject: [PATCH 360/448] modernize and simplify --- src/KIM/kim_init.cpp | 8 ++----- src/KIM/kim_interactions.cpp | 39 +++++++++++++--------------------- src/KIM/kim_param.cpp | 19 +++++++---------- src/KIM/kim_query.cpp | 41 +++++++++++++++--------------------- 4 files changed, 42 insertions(+), 65 deletions(-) diff --git a/src/KIM/kim_init.cpp b/src/KIM/kim_init.cpp index 037fb2857e..b5b744d71b 100644 --- a/src/KIM/kim_init.cpp +++ b/src/KIM/kim_init.cpp @@ -312,12 +312,8 @@ void KimInit::do_init(char *model_name, char *user_units, char *model_units, KIM { // create storage proxy fix. delete existing fix, if needed. - int ifix = modify->find_fix("KIM_MODEL_STORE"); - if (ifix >= 0) modify->delete_fix(ifix); - modify->add_fix("KIM_MODEL_STORE all STORE/KIM"); - ifix = modify->find_fix("KIM_MODEL_STORE"); - - auto fix_store = dynamic_cast(modify->fix[ifix]); + if (modify->get_fix_by_id("KIM_MODEL_STORE")) modify->delete_fix("KIM_MODEL_STORE"); + auto fix_store = dynamic_cast(modify->add_fix("KIM_MODEL_STORE all STORE/KIM")); fix_store->setptr("model_name", (void *) model_name); fix_store->setptr("user_units", (void *) user_units); fix_store->setptr("model_units", (void *) model_units); diff --git a/src/KIM/kim_interactions.cpp b/src/KIM/kim_interactions.cpp index 5a91109e53..024586d6b3 100644 --- a/src/KIM/kim_interactions.cpp +++ b/src/KIM/kim_interactions.cpp @@ -103,11 +103,9 @@ void KimInteractions::do_setup(int narg, char **arg) if ((narg == 1) && (arg_str == "fixed_types")) { fixed_types = true; } else if (narg != atom->ntypes) { - error->all(FLERR, "Illegal 'kim interactions' command.\nThe " - "LAMMPS simulation has {} atom type(s), but " - "{} chemical species passed to the " - "'kim interactions' command", - atom->ntypes, narg); + error->all(FLERR, "Illegal 'kim interactions' command.\nThe LAMMPS simulation has {} atom " + "type(s), but {} chemical species passed to the 'kim interactions' command", + atom->ntypes, narg); } else { fixed_types = false; } @@ -119,16 +117,14 @@ void KimInteractions::do_setup(int narg, char **arg) // retrieve model name and pointer to simulator model class instance. // validate model name if not given as null pointer. - int ifix = modify->find_fix("KIM_MODEL_STORE"); - if (ifix >= 0) { - auto fix_store = dynamic_cast(modify->fix[ifix]); + auto fix_store = dynamic_cast(modify->get_fix_by_id("KIM_MODEL_STORE")); + if (fix_store) { model_name = (char *)fix_store->getptr("model_name"); simulatorModel = (KIM_SimulatorModel *)fix_store->getptr("simulator_model"); } else error->all(FLERR, "Must use 'kim init' before 'kim interactions'"); // Begin output to log file - input->write_echo("#=== BEGIN kim interactions ===========================" - "=======\n"); + input->write_echo("#=== BEGIN kim interactions ==================================\n"); if (simulatorModel) { auto first_visit = input->variable->find("kim_update"); @@ -165,8 +161,8 @@ void KimInteractions::do_setup(int narg, char **arg) if (atom_type_sym == sim_species) species_is_supported = true; } if (!species_is_supported) { - error->all(FLERR, "Species '{}' is not supported by this " - "KIM Simulator Model", atom_type_sym); + error->all(FLERR, "Species '{}' is not supported by this KIM Simulator Model", + atom_type_sym); } } } else { @@ -179,18 +175,15 @@ void KimInteractions::do_setup(int narg, char **arg) const char *sim_field, *sim_value; KIM_SimulatorModel_GetNumberOfSimulatorFields(simulatorModel, &sim_fields); for (int i = 0; i < sim_fields; ++i) { - KIM_SimulatorModel_GetSimulatorFieldMetadata( - simulatorModel, i, &sim_lines, &sim_field); + KIM_SimulatorModel_GetSimulatorFieldMetadata(simulatorModel, i, &sim_lines, &sim_field); const std::string sim_field_str(sim_field); if (sim_field_str == "units") { - KIM_SimulatorModel_GetSimulatorFieldLine( - simulatorModel, i, 0, &sim_value); + KIM_SimulatorModel_GetSimulatorFieldLine(simulatorModel, i, 0, &sim_value); - const std::string sim_value_str(sim_value); - const std::string unit_style_str(update->unit_style); - if (sim_value_str != unit_style_str) - error->all(FLERR, "Incompatible units for KIM Simulator Model"); + if (strcmp(sim_value, update->unit_style) != 0) + error->all(FLERR, "Incompatible units for KIM Simulator Model: {} vs {}", + sim_value, update->unit_style); } } @@ -217,8 +210,7 @@ void KimInteractions::do_setup(int narg, char **arg) no_model_definition = false; for (int j = 0; j < sim_lines; ++j) { - KIM_SimulatorModel_GetSimulatorFieldLine( - simulatorModel, i, j, &sim_value); + KIM_SimulatorModel_GetSimulatorFieldLine(simulatorModel, i, j, &sim_value); if (utils::strmatch(sim_value, "^KIM_SET_TYPE_PARAMETERS")) { // Notes regarding the KIM_SET_TYPE_PARAMETERS command // * This is an INTERNAL command. @@ -264,8 +256,7 @@ void KimInteractions::do_setup(int narg, char **arg) } // End output to log file - input->write_echo("#=== END kim interactions =============================" - "=======\n\n"); + input->write_echo("#=== END kim interactions ====================================\n\n"); } /* ---------------------------------------------------------------------- */ diff --git a/src/KIM/kim_param.cpp b/src/KIM/kim_param.cpp index 6473cb2ad0..daf761873d 100644 --- a/src/KIM/kim_param.cpp +++ b/src/KIM/kim_param.cpp @@ -159,20 +159,17 @@ void KimParam::command(int narg, char **arg) error->all(FLERR, "Incorrect arguments in 'kim param' command.\n" "'kim param get/set' is mandatory"); - int const ifix = modify->find_fix("KIM_MODEL_STORE"); - if (ifix >= 0) { - auto fix_store = reinterpret_cast(modify->fix[ifix]); - - KIM_SimulatorModel *simulatorModel = - reinterpret_cast( - fix_store->getptr("simulator_model")); + auto fix_store = dynamic_cast(modify->get_fix_by_id("KIM_MODEL_STORE")); + if (fix_store) { + auto *simulatorModel = reinterpret_cast( + fix_store->getptr("simulator_model")); if (simulatorModel) error->all(FLERR, "'kim param' can only be used with a KIM Portable Model"); } - input->write_echo(fmt::format("#=== BEGIN kim param {} ===================" - "==================\n", kim_param_get_set)); + input->write_echo(fmt::format("#=== BEGIN kim param {} =====================================\n", + kim_param_get_set)); KIM_Model *pkim = nullptr; @@ -431,6 +428,6 @@ void KimParam::command(int narg, char **arg) } else error->all(FLERR, "This model has No mutable parameters"); - input->write_echo(fmt::format("#=== END kim param {} =====================" - "==================\n", kim_param_get_set)); + input->write_echo(fmt::format("#=== END kim param {} =======================================\n", + kim_param_get_set)); } diff --git a/src/KIM/kim_query.cpp b/src/KIM/kim_query.cpp index ebb1790e6e..610ec18fcc 100644 --- a/src/KIM/kim_query.cpp +++ b/src/KIM/kim_query.cpp @@ -136,11 +136,9 @@ void KimQuery::command(int narg, char **arg) // check the query_args format (a series of keyword=value pairs) for (int i = 2; i < narg; ++i) { if (!utils::strmatch(arg[i], "[=][\\[].*[\\]]")) - error->all(FLERR, "Illegal query format.\nInput argument " - "of `{}` to 'kim query' is wrong. The " - "query format is the keyword=[value], " - "where value is always an array of one or " - "more comma-separated items", arg[i]); + error->all(FLERR, "Illegal query format.\nInput argument of `{}` to 'kim query' is wrong. " + "The query format is the keyword=[value], where value is always an array of one " + "or more comma-separated items", arg[i]); } if (query_function != "get_available_models") { @@ -156,15 +154,13 @@ void KimQuery::command(int narg, char **arg) // if the model name is not provided by the user if (model_name.empty()) { // check if we had a kim init command by finding fix STORE/KIM - const int ifix = modify->find_fix("KIM_MODEL_STORE"); - if (ifix >= 0) { - auto fix_store = dynamic_cast(modify->fix[ifix]); + auto fix_store = dynamic_cast(modify->get_fix_by_id("KIM_MODEL_STORE")); + if (fix_store) { char *model_name_c = (char *) fix_store->getptr("model_name"); model_name = model_name_c; } else { - error->all(FLERR, "Illegal query format.\nMust use 'kim init' " - "before 'kim query' or must provide the model name " - "after query function with the format of " + error->all(FLERR, "Illegal query format.\nMust use 'kim init' before 'kim query' " + "or must provide the model name after query function with the format of " "'model=[model_name]'"); } } @@ -179,16 +175,14 @@ void KimQuery::command(int narg, char **arg) // and then the error message that was returned by the web server if (strlen(value) == 0) { - auto msg = fmt::format("OpenKIM query failed: {}", value + 1); - delete [] value; - error->all(FLERR, msg); + error->all(FLERR, "OpenKIM query failed: {}", value + 1); + delete[] value; } else if (strcmp(value, "EMPTY") == 0) { - delete [] value; + delete[] value; error->all(FLERR, "OpenKIM query returned no results"); } - input->write_echo("#=== BEGIN kim-query ==================================" - "=======\n"); + input->write_echo("#=== BEGIN kim-query =========================================\n"); // trim list of models to those that are installed on the system if (query_function == "get_available_models") { Tokenizer vals(value, ", \""); @@ -199,7 +193,7 @@ void KimQuery::command(int narg, char **arg) KIM_CollectionItemType typ; if (KIM_Collections_Create(&collections)) { - delete [] value; + delete[] value; error->all(FLERR, "Unable to access KIM Collections to find Model"); } @@ -219,7 +213,7 @@ void KimQuery::command(int narg, char **arg) fmt::format("# Missing OpenKIM models: {}\n\n", missing)); if (available.empty()) { - delete [] value; + delete[] value; error->all(FLERR,"There are no matching OpenKIM models installed on the system"); } @@ -262,13 +256,12 @@ void KimQuery::command(int narg, char **arg) input->variable->set(setcmd); input->write_echo(fmt::format("variable {}\n", setcmd)); } - input->write_echo("#=== END kim-query ====================================" - "=======\n\n"); + input->write_echo("#=== END kim-query ===========================================\n\n"); - delete [] value; + delete[] value; #else - error->all(FLERR, "Cannot use 'kim query' command when KIM package " - "is compiled without support for libcurl"); + error->all(FLERR, "Cannot use 'kim query' command when KIM package is compiled without " + "support for libcurl"); #endif } From f4314076ae20cc2e0d9cbb19e2cea81714c4727a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 20 Mar 2023 06:17:37 -0400 Subject: [PATCH 361/448] address scoping issues, use constexpr for unit constants, modernize --- src/KIM/fix_store_kim.cpp | 43 ++-- src/KIM/kim_command.cpp | 58 ++--- src/KIM/kim_init.cpp | 56 +---- src/KIM/kim_interactions.cpp | 10 +- src/KIM/kim_param.cpp | 57 +---- src/KIM/kim_param.h | 2 - src/KIM/kim_property.cpp | 68 +++--- src/KIM/kim_units.cpp | 425 ++++++++++++++++++++--------------- src/KIM/kim_units.h | 17 +- src/KIM/pair_kim.cpp | 21 +- 10 files changed, 358 insertions(+), 399 deletions(-) diff --git a/src/KIM/fix_store_kim.cpp b/src/KIM/fix_store_kim.cpp index 415ba4c410..44c2ccaa1d 100644 --- a/src/KIM/fix_store_kim.cpp +++ b/src/KIM/fix_store_kim.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -69,11 +68,11 @@ using namespace FixConst; /* ---------------------------------------------------------------------- */ -FixStoreKIM::FixStoreKIM(LAMMPS *lmp, int narg, char **arg) - : Fix(lmp, narg, arg), simulator_model(nullptr), model_name(nullptr), - model_units(nullptr), user_units(nullptr) +FixStoreKIM::FixStoreKIM(LAMMPS *lmp, int narg, char **arg) : + Fix(lmp, narg, arg), simulator_model(nullptr), model_name(nullptr), model_units(nullptr), + user_units(nullptr) { - if (narg != 3) error->all(FLERR,"Illegal fix STORE/KIM command"); + if (narg != 3) error->all(FLERR, "Illegal fix STORE/KIM command"); } /* ---------------------------------------------------------------------- */ @@ -83,25 +82,25 @@ FixStoreKIM::~FixStoreKIM() // free associated storage if (simulator_model) { - auto sm = (KIM_SimulatorModel *)simulator_model; + auto sm = (KIM_SimulatorModel *) simulator_model; KIM_SimulatorModel_Destroy(&sm); simulator_model = nullptr; } if (model_name) { - auto mn = (char *)model_name; + auto mn = (char *) model_name; delete[] mn; model_name = nullptr; } if (model_units) { - auto mu = (char *)model_units; + auto mu = (char *) model_units; delete[] mu; model_units = nullptr; } if (user_units) { - auto uu = (char *)user_units; + auto uu = (char *) user_units; delete[] uu; user_units = nullptr; } @@ -121,38 +120,44 @@ void FixStoreKIM::setptr(const std::string &name, void *ptr) { if (name == "simulator_model") { if (simulator_model) { - auto sm = (KIM_SimulatorModel *)simulator_model; + auto sm = (KIM_SimulatorModel *) simulator_model; KIM_SimulatorModel_Destroy(&sm); } simulator_model = ptr; } else if (name == "model_name") { if (model_name) { - auto mn = (char *)model_name; + auto mn = (char *) model_name; delete[] mn; } model_name = ptr; } else if (name == "model_units") { if (model_units) { - auto mu = (char *)model_units; + auto mu = (char *) model_units; delete[] mu; } model_units = ptr; } else if (name == "user_units") { if (user_units) { - auto uu = (char *)user_units; + auto uu = (char *) user_units; delete[] uu; } user_units = ptr; - } else error->all(FLERR,"Unknown property in fix STORE/KIM"); + } else + error->all(FLERR, "Unknown property in fix STORE/KIM"); } /* ---------------------------------------------------------------------- */ void *FixStoreKIM::getptr(const std::string &name) { - if (name == "simulator_model") return simulator_model; - else if (name == "model_name") return model_name; - else if (name == "model_units") return model_units; - else if (name == "user_units") return user_units; - else return nullptr; + if (name == "simulator_model") + return simulator_model; + else if (name == "model_name") + return model_name; + else if (name == "model_units") + return model_units; + else if (name == "user_units") + return user_units; + else + return nullptr; } diff --git a/src/KIM/kim_command.cpp b/src/KIM/kim_command.cpp index 820e4dcba7..57871e964b 100644 --- a/src/KIM/kim_command.cpp +++ b/src/KIM/kim_command.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -70,40 +69,40 @@ using namespace LAMMPS_NS; static constexpr const char *const cite_openkim = - "OpenKIM Project: doi:10.1007/s11837-011-0102-6\n\n" - "@Article{tadmor:elliott:2011,\n" - " author = {E. B. Tadmor and R. S. Elliott and J. P. Sethna and R. E. Miller " - "and C. A. Becker},\n" - " title = {The potential of atomistic simulations and the {K}nowledgebase of " - "{I}nteratomic {M}odels},\n" - " journal = {{JOM}},\n" - " year = 2011,\n" - " volume = 63,\n" - " number = 17,\n" - " pages = {17},\n" - " doi = {10.1007/s11837-011-0102-6}\n" - "}\n\n"; + "OpenKIM Project: doi:10.1007/s11837-011-0102-6\n\n" + "@Article{tadmor:elliott:2011,\n" + " author = {E. B. Tadmor and R. S. Elliott and J. P. Sethna and R. E. Miller " + "and C. A. Becker},\n" + " title = {The potential of atomistic simulations and the {K}nowledgebase of " + "{I}nteratomic {M}odels},\n" + " journal = {{JOM}},\n" + " year = 2011,\n" + " volume = 63,\n" + " number = 17,\n" + " pages = {17},\n" + " doi = {10.1007/s11837-011-0102-6}\n" + "}\n\n"; static constexpr const char *const cite_openkim_query = - "OpenKIM query: doi:10.1063/5.0014267\n\n" - "@Article{karls:bierbaum:2020,\n" - " author = {D. S. Karls and M. Bierbaum and A. A. Alemi and R. S. Elliott " - "and J. P. Sethna and E. B. Tadmor},\n" - " title = {The {O}pen{KIM} processing pipeline: {A} cloud-based automatic " - "material property computation engine},\n" - " journal = {{T}he {J}ournal of {C}hemical {P}hysics},\n" - " year = 2020,\n" - " volume = 153,\n" - " number = 6,\n" - " pages = {064104},\n" - " doi = {10.1063/5.0014267}\n" - "}\n\n"; + "OpenKIM query: doi:10.1063/5.0014267\n\n" + "@Article{karls:bierbaum:2020,\n" + " author = {D. S. Karls and M. Bierbaum and A. A. Alemi and R. S. Elliott " + "and J. P. Sethna and E. B. Tadmor},\n" + " title = {The {O}pen{KIM} processing pipeline: {A} cloud-based automatic " + "material property computation engine},\n" + " journal = {{T}he {J}ournal of {C}hemical {P}hysics},\n" + " year = 2020,\n" + " volume = 153,\n" + " number = 6,\n" + " pages = {064104},\n" + " doi = {10.1063/5.0014267}\n" + "}\n\n"; /* ---------------------------------------------------------------------- */ void KimCommand::command(int narg, char **arg) { - if (narg < 1) error->all(FLERR,"Illegal kim command"); + if (narg < 1) error->all(FLERR, "Illegal kim command"); const std::string subcmd(arg[0]); narg--; @@ -132,5 +131,6 @@ void KimCommand::command(int narg, char **arg) auto cmd = new KimQuery(lmp); cmd->command(narg, arg); delete cmd; - } else error->all(FLERR,"Unknown kim subcommand {}", subcmd); + } else + error->all(FLERR, "Unknown kim subcommand {}", subcmd); } diff --git a/src/KIM/kim_init.cpp b/src/KIM/kim_init.cpp index b5b744d71b..f7dd01be49 100644 --- a/src/KIM/kim_init.cpp +++ b/src/KIM/kim_init.cpp @@ -76,6 +76,8 @@ extern "C" { } using namespace LAMMPS_NS; +using kim_units::get_kim_unit_names; +using kim_units::lammps_unit_conversion; /* ---------------------------------------------------------------------- */ @@ -96,7 +98,7 @@ void KimInit::command(int narg, char **arg) error->all(FLERR, "Illegal 'kim init' command.\n" "The argument followed by unit_style {} is an optional argument and when " - "is used must be unit_conversion_mode", + "used must be unit_conversion_mode", user_units); } } else @@ -109,58 +111,10 @@ void KimInit::command(int narg, char **arg) if (universe->nprocs > 1) MPI_Barrier(universe->uworld); determine_model_type_and_units(model_name, user_units, &model_units, pkim); - write_log_cite(lmp, model_type, model_name); - do_init(model_name, user_units, model_units, pkim); } -/* ---------------------------------------------------------------------- */ - -namespace { -void get_kim_unit_names(char const *const system, KIM_LengthUnit &lengthUnit, - KIM_EnergyUnit &energyUnit, KIM_ChargeUnit &chargeUnit, - KIM_TemperatureUnit &temperatureUnit, KIM_TimeUnit &timeUnit, Error *error) -{ - const std::string system_str(system); - if (system_str == "real") { - lengthUnit = KIM_LENGTH_UNIT_A; - energyUnit = KIM_ENERGY_UNIT_kcal_mol; - chargeUnit = KIM_CHARGE_UNIT_e; - temperatureUnit = KIM_TEMPERATURE_UNIT_K; - timeUnit = KIM_TIME_UNIT_fs; - } else if (system_str == "metal") { - lengthUnit = KIM_LENGTH_UNIT_A; - energyUnit = KIM_ENERGY_UNIT_eV; - chargeUnit = KIM_CHARGE_UNIT_e; - temperatureUnit = KIM_TEMPERATURE_UNIT_K; - timeUnit = KIM_TIME_UNIT_ps; - } else if (system_str == "si") { - lengthUnit = KIM_LENGTH_UNIT_m; - energyUnit = KIM_ENERGY_UNIT_J; - chargeUnit = KIM_CHARGE_UNIT_C; - temperatureUnit = KIM_TEMPERATURE_UNIT_K; - timeUnit = KIM_TIME_UNIT_s; - } else if (system_str == "cgs") { - lengthUnit = KIM_LENGTH_UNIT_cm; - energyUnit = KIM_ENERGY_UNIT_erg; - chargeUnit = KIM_CHARGE_UNIT_statC; - temperatureUnit = KIM_TEMPERATURE_UNIT_K; - timeUnit = KIM_TIME_UNIT_s; - } else if (system_str == "electron") { - lengthUnit = KIM_LENGTH_UNIT_Bohr; - energyUnit = KIM_ENERGY_UNIT_Hartree; - chargeUnit = KIM_CHARGE_UNIT_e; - temperatureUnit = KIM_TEMPERATURE_UNIT_K; - timeUnit = KIM_TIME_UNIT_fs; - } else if ((system_str == "lj") || (system_str == "micro") || (system_str == "nano")) { - error->all(FLERR, "LAMMPS unit_style {} not supported by KIM models", system_str); - } else { - error->all(FLERR, "Unknown unit_style"); - } -} -} // namespace - void KimInit::print_dirs(struct KIM_Collections *const collections) const { int kim_error = 0; @@ -467,9 +421,7 @@ void KimInit::do_variables(const std::string &from, const std::string &to) } ier = lammps_unit_conversion(units[i], from, to, conversion_factor); if (ier != 0) - error->all(FLERR, - "Unable to obtain conversion factor: " - "unit = {}; from = {}; to = {}", + error->all(FLERR, "Unable to obtain conversion factor: unit = {}; from = {}; to = {}", units[i], from, to); variable->internal_set(v_unit, conversion_factor); diff --git a/src/KIM/kim_interactions.cpp b/src/KIM/kim_interactions.cpp index 024586d6b3..1f4f84e648 100644 --- a/src/KIM/kim_interactions.cpp +++ b/src/KIM/kim_interactions.cpp @@ -85,11 +85,10 @@ using namespace LAMMPS_NS; void KimInteractions::command(int narg, char **arg) { - if (narg < 1) error->all(FLERR, "Illegal 'kim interactions' command"); + if (narg < 1) utils::missing_cmd_args(FLERR, "kim interactions", error); if (!domain->box_exist) - error->all(FLERR, "Must use 'kim interactions' command after " - "simulation box is defined"); + error->all(FLERR, "Use of 'kim interactions' before simulation box is defined"); do_setup(narg, arg); } @@ -267,8 +266,7 @@ void KimInteractions::KIM_SET_TYPE_PARAMETERS(const std::string &input_line) con const std::string key = words[1]; if (key != "pair" && key != "charge") - error->one(FLERR, "Unrecognized KEY {} for " - "KIM_SET_TYPE_PARAMETERS command", key); + error->one(FLERR, "Unrecognized KEY {} for KIM_SET_TYPE_PARAMETERS command", key); std::string filename = words[2]; std::vector species(words.begin() + 3, words.end()); @@ -278,7 +276,7 @@ void KimInteractions::KIM_SET_TYPE_PARAMETERS(const std::string &input_line) con FILE *fp = nullptr; if (comm->me == 0) { fp = fopen(filename.c_str(), "r"); - if (fp == nullptr) error->one(FLERR, "Parameter file not found"); + if (fp == nullptr) error->one(FLERR, "Parameter file {} not found", filename); } char line[MAXLINE], *ptr; diff --git a/src/KIM/kim_param.cpp b/src/KIM/kim_param.cpp index daf761873d..f72df81989 100644 --- a/src/KIM/kim_param.cpp +++ b/src/KIM/kim_param.cpp @@ -63,6 +63,7 @@ #include "fix_store_kim.h" #include "force.h" #include "input.h" +#include "kim_units.h" #include "modify.h" #include "pair_kim.h" #include "variable.h" @@ -77,61 +78,7 @@ extern "C" } using namespace LAMMPS_NS; - -/* ---------------------------------------------------------------------- */ - -namespace -{ -void get_kim_unit_names( - char const *const system, - KIM_LengthUnit &lengthUnit, - KIM_EnergyUnit &energyUnit, - KIM_ChargeUnit &chargeUnit, - KIM_TemperatureUnit &temperatureUnit, - KIM_TimeUnit &timeUnit, - Error *error) -{ - const std::string system_str(system); - if (system_str == "real") { - lengthUnit = KIM_LENGTH_UNIT_A; - energyUnit = KIM_ENERGY_UNIT_kcal_mol; - chargeUnit = KIM_CHARGE_UNIT_e; - temperatureUnit = KIM_TEMPERATURE_UNIT_K; - timeUnit = KIM_TIME_UNIT_fs; - } else if (system_str == "metal") { - lengthUnit = KIM_LENGTH_UNIT_A; - energyUnit = KIM_ENERGY_UNIT_eV; - chargeUnit = KIM_CHARGE_UNIT_e; - temperatureUnit = KIM_TEMPERATURE_UNIT_K; - timeUnit = KIM_TIME_UNIT_ps; - } else if (system_str == "si") { - lengthUnit = KIM_LENGTH_UNIT_m; - energyUnit = KIM_ENERGY_UNIT_J; - chargeUnit = KIM_CHARGE_UNIT_C; - temperatureUnit = KIM_TEMPERATURE_UNIT_K; - timeUnit = KIM_TIME_UNIT_s; - } else if (system_str == "cgs") { - lengthUnit = KIM_LENGTH_UNIT_cm; - energyUnit = KIM_ENERGY_UNIT_erg; - chargeUnit = KIM_CHARGE_UNIT_statC; - temperatureUnit = KIM_TEMPERATURE_UNIT_K; - timeUnit = KIM_TIME_UNIT_s; - } else if (system_str == "electron") { - lengthUnit = KIM_LENGTH_UNIT_Bohr; - energyUnit = KIM_ENERGY_UNIT_Hartree; - chargeUnit = KIM_CHARGE_UNIT_e; - temperatureUnit = KIM_TEMPERATURE_UNIT_K; - timeUnit = KIM_TIME_UNIT_fs; - } else if ((system_str == "lj") || - (system_str == "micro") || - (system_str == "nano")) { - error->all(FLERR, "LAMMPS unit_style {} not supported " - "by KIM models", system_str); - } else { - error->all(FLERR, "Unknown unit_style"); - } -} -} // namespace +using kim_units::get_kim_unit_names; /* ---------------------------------------------------------------------- */ diff --git a/src/KIM/kim_param.h b/src/KIM/kim_param.h index d160d2f1b1..daefb13017 100644 --- a/src/KIM/kim_param.h +++ b/src/KIM/kim_param.h @@ -67,7 +67,5 @@ class KimParam : protected Pointers { KimParam(class LAMMPS *lmp); void command(int, char **); }; - } // namespace LAMMPS_NS - #endif diff --git a/src/KIM/kim_property.cpp b/src/KIM/kim_property.cpp index 7d060ad8b1..6ddebeefc2 100644 --- a/src/KIM/kim_property.cpp +++ b/src/KIM/kim_property.cpp @@ -85,14 +85,13 @@ void KimProperty::command(int narg, char **arg) { #if LMP_PYTHON #if PY_MAJOR_VERSION >= 3 - if (narg < 2) error->all(FLERR, "Invalid 'kim property' command"); + if (narg < 2) utils::missing_cmd_args(FLERR, "kim property", error); const std::string subcmd(arg[0]); if ((subcmd != "create") && (subcmd != "destroy") && (subcmd != "modify") && (subcmd != "remove") && (subcmd != "dump")) { - std::string msg("Incorrect arguments in 'kim property' command.\n"); - msg += "'kim property create/destroy/modify/remove/dump' is mandatory"; - error->all(FLERR, msg); + error->all(FLERR, "Incorrect first argument {} to 'kim property' command.\n" + "One of create, destroy, modify, remove, or dump is mandatory", subcmd); } input->write_echo("#=== kim property =====================================" @@ -117,12 +116,11 @@ void KimProperty::command(int narg, char **arg) kim_property = PyImport_Import(obj); if (!kim_property) { PyGILState_Release(gstate); - std::string msg("Unable to import Python kim_property module!"); - msg += "\nkim-property Python package can be installed with pip:\n"; - msg += "'pip install kim-property'\nSee the installation instructions "; - msg += "at\nhttps://github.com/openkim/kim-property#installing-kim-"; - msg += "property\nfor detailed information"; - error->all(FLERR, msg); + error->all(FLERR, "Unable to import Python kim_property module!\n" + "kim-property Python package can be installed with pip:\n" + "'pip install kim-property'\nSee the installation instructions at\n" + "https://github.com/openkim/kim-property#installing-kim-property\n" + "for detailed information"); } // Decrementing of the reference count @@ -147,9 +145,8 @@ void KimProperty::command(int narg, char **arg) PyObject_GetAttrString(kim_property, "kim_property_create"); if (!pFunc) { PyGILState_Release(gstate); - std::string msg("Unable to get an attribute named "); - msg += "'kim_property_create' from a kim_property object"; - error->all(FLERR, msg); + error->all(FLERR, "Unable to get an attribute named 'kim_property_create' from " + "a kim_property object"); } // Decrementing of the reference count @@ -182,16 +179,13 @@ void KimProperty::command(int narg, char **arg) if (!pValue) { PyErr_Print(); PyGILState_Release(gstate); - std::string msg("Python 'kim_property_create' function "); - msg += "evaluation failed"; - error->one(FLERR, msg); + error->all(FLERR, "Python 'kim_property_create' function evaluation failed"); } // Python function returned a string value const char *pystr = PyUnicode_AsUTF8(pValue); if (kim_str) input->variable->set_string("kim_property_str", pystr); - else - input->variable->set(fmt::format("kim_property_str string '{}'", pystr)); + else input->variable->set(fmt::format("kim_property_str string '{}'", pystr)); Py_XDECREF(pArgs); Py_XDECREF(pFunc); @@ -216,9 +210,8 @@ void KimProperty::command(int narg, char **arg) PyObject_GetAttrString(kim_property, "kim_property_destroy"); if (!pFunc) { PyGILState_Release(gstate); - std::string msg("Unable to get an attribute named "); - msg += "'kim_property_destroy' from a kim_property object"; - error->all(FLERR, msg); + error->all(FLERR, "Unable to get an attribute named 'kim_property_destroy' " + "from a kim_property object"); } // Decrementing of the reference count @@ -244,9 +237,7 @@ void KimProperty::command(int narg, char **arg) if (!pValue) { PyErr_Print(); PyGILState_Release(gstate); - std::string msg("Python 'kim_property_destroy' function "); - msg += "evaluation failed"; - error->one(FLERR, msg); + error->all(FLERR, "Python 'kim_property_destroy' function evaluation failed"); } // Python function returned a string value @@ -276,9 +267,8 @@ void KimProperty::command(int narg, char **arg) PyObject_GetAttrString(kim_property, "kim_property_modify"); if (!pFunc) { PyGILState_Release(gstate); - std::string msg("Unable to get an attribute named "); - msg += "'kim_property_modify' from a kim_property object"; - error->all(FLERR, msg); + error->all(FLERR, "Unable to get an attribute named 'kim_property_modify' " + "from a kim_property object"); } // Decrementing of the reference count @@ -309,9 +299,7 @@ void KimProperty::command(int narg, char **arg) if (!pValue) { PyErr_Print(); PyGILState_Release(gstate); - std::string msg("Python 'kim_property_modify' function "); - msg += "evaluation failed"; - error->one(FLERR, msg); + error->all(FLERR, "Python 'kim_property_modify' function evaluation failed"); } // Python function returned a string value @@ -341,9 +329,8 @@ void KimProperty::command(int narg, char **arg) PyObject_GetAttrString(kim_property, "kim_property_remove"); if (!pFunc) { PyGILState_Release(gstate); - std::string msg("Unable to get an attribute named "); - msg += "'kim_property_remove' from a kim_property object"; - error->all(FLERR, msg); + error->all(FLERR, "Unable to get an attribute named " + "'kim_property_remove' from a kim_property object"); } // Decrementing of the reference count @@ -374,9 +361,7 @@ void KimProperty::command(int narg, char **arg) if (!pValue) { PyErr_Print(); PyGILState_Release(gstate); - std::string msg("Python 'kim_property_remove' function "); - msg += "evaluation failed"; - error->one(FLERR, msg); + error->all(FLERR, "Python 'kim_property_remove' function evaluation failed"); } // Python function returned a string value @@ -404,9 +389,8 @@ void KimProperty::command(int narg, char **arg) PyObject_GetAttrString(kim_property, "kim_property_dump"); if (!pFunc) { PyGILState_Release(gstate); - std::string msg("Unable to get an attribute named "); - msg += "'kim_property_dump' from a kim_property object"; - error->all(FLERR, msg); + error->all(FLERR, "Unable to get an attribute named " + "'kim_property_dump' from a kim_property object"); } // Decrementing of the reference count @@ -428,14 +412,12 @@ void KimProperty::command(int narg, char **arg) if (comm->me == 0) { // call the Python kim_property_dump function - // error check with one() since only some procs may fail + // error check with one() since only root process calls. pValue = PyObject_CallObject(pFunc, pArgs); if (!pValue) { PyErr_Print(); PyGILState_Release(gstate); - std::string msg("Python 'kim_property_dump' function "); - msg += "evaluation failed"; - error->one(FLERR, msg); + error->one(FLERR, "Python 'kim_property_dump' function evaluation failed"); } } else pValue = nullptr; diff --git a/src/KIM/kim_units.cpp b/src/KIM/kim_units.cpp index 7c57e3b71a..7687481cb9 100644 --- a/src/KIM/kim_units.cpp +++ b/src/KIM/kim_units.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -54,179 +53,182 @@ Designed for use with the kim-api-2.0.2 (and newer) package ------------------------------------------------------------------------- */ +#include "kim_units.h" + +#include "error.h" + #include #include #include #include using namespace std; - -namespace -{ +using namespace LAMMPS_NS; +using namespace kim_units; // Constants of nature and basic conversion factors // Source: https://physics.nist.gov/cuu/Constants/Table/allascii.txt // Working with NIST values even when there are newer values for // compatibility with LAMMPS +// clang-format off + /*---------------------- Fundamental constants ------------------------ */ -double const boltz_si = 1.38064852e-23; // [J K^-1] Boltzmann's factor - // (NIST value) -double const Nav = 6.022140857e23; // [unitless] Avogadro's number - // (NIST value) -// double const Nav = 6.02214076e23; // [unitless] Avogadro's number - // (official value May 2019) -double const me_si = 9.10938356e-31; // [kg] electron rest mass - // (NIST value) -// double me_si = 9.10938291e-31; // [kg] electron rest mass -double const e_si = 1.6021766208e-19; // [C] elementary charge - // (charge of an electron/proton) - // (NIST value) +static double constexpr boltz_si = 1.38064852e-23; // [J K^-1] Boltzmann's factor + // (NIST value) +static double constexpr Nav = 6.022140857e23; // [unitless] Avogadro's number (NIST value) +// static double constexp Nav = 6.02214076e23; // [unitless] Avogadro's number + // (official value May 2019) +static double constexpr me_si = 9.10938356e-31; // [kg] electron rest mass (NIST value) +// static double constexpr me_si = 9.10938291e-31; // [kg] electron rest mass +static double constexpr e_si = 1.6021766208e-19; // [C] elementary charge + // (charge of an electron/proton) + // (NIST value) /*---------------------- Distance units ------------------------ */ -double const bohr_si = 5.2917721067e-11; // [m] Bohr unit (distance between - // nucleus and electron in H) - // (NIST value) -double const angstrom_si = 1e-10; // [m] Angstrom -double const centimeter_si = 1e-2; // [m] centimeter -double const micrometer_si = 1e-6; // [m] micrometer (micron) -double const nanometer_si = 1e-9; // [m] nanometer +static double constexpr bohr_si = 5.2917721067e-11; // [m] Bohr unit (distance between + // nucleus and electron in H) (NIST value) +static double constexpr angstrom_si = 1e-10; // [m] Angstrom +static double constexpr centimeter_si = 1e-2; // [m] centimeter +static double constexpr micrometer_si = 1e-6; // [m] micrometer (micron) +static double constexpr nanometer_si = 1e-9; // [m] nanometer /*---------------------- Mass units ------------------------ */ -double const gram_per_mole_si = 1e-3/Nav; // [kg] gram per mole -double const amu_si = 1e-3/Nav; // [kg] atomic mass unit (molecular - // weight) For example, the mean - // molecular weight of water - // is 18.015 atomic mass units - // (amu), so one mole of water - // weight 18.015 grams. -double const gram_si = 1e-3; // [kg] gram -double const picogram_si = 1e-15; // [kg] picogram -double const attogram_si = 1e-21; // [kg[ attogram +static double constexpr gram_per_mole_si = 1e-3/Nav; // [kg] gram per mole +static double constexpr amu_si = 1e-3/Nav; // [kg] atomic mass unit (molecular + // weight) For example, the mean + // molecular weight of water + // is 18.015 atomic mass units + // (amu), so one mole of water + // weight 18.015 grams. +static double constexpr gram_si = 1e-3; // [kg] gram +static double constexpr picogram_si = 1e-15; // [kg] picogram +static double constexpr attogram_si = 1e-21; // [kg[ attogram /*---------------------- Time units ------------------------ */ -double const atu_si = 2.418884326509e-17; // [s] atomic time unit - // ( = hbar/E_h where E_h is the - // Hartree energy) (NIST value) -double const atu_electron_si = atu_si*sqrt(amu_si/me_si); - // [s] atomic time unit - // used in electron system (see https://sourceforge.net/p/lammps/mailman/lammps-users/thread/BCA2BDB2-BA03-4280-896F-1E6120EF47B2%40caltech.edu/) -double const microsecond_si = 1e-6; // [s] microsecond -double const nanosecond_si = 1e-9; // [s] nanosecond -double const picosecond_si = 1e-12; // [s] picosecond -double const femtosecond_si = 1e-15; // [s] femtosecond +static double constexpr atu_si = 2.418884326509e-17; // [s] atomic time unit + // ( = hbar/E_h where E_h is the + // Hartree energy) (NIST value) +static double constexpr atu_electron_si = 5153034.567408186; // must not use sqrt() in constexpr +// static double constexpr atu_electron_si = atu_si*sqrt(amu_si/me_si); + // [s] atomic time unit + // used in electron system (see https://sourceforge.net/p/lammps/mailman/lammps-users/thread/BCA2BDB2-BA03-4280-896F-1E6120EF47B2%40caltech.edu/) +static double constexpr microsecond_si = 1e-6; // [s] microsecond +static double constexpr nanosecond_si = 1e-9; // [s] nanosecond +static double constexpr picosecond_si = 1e-12; // [s] picosecond +static double constexpr femtosecond_si = 1e-15; // [s] femtosecond /*---------------------- Density units ------------------------ */ -double const gram_per_centimetercu_si = - gram_si/pow(centimeter_si,3); // [kg/m^3] gram/centimeter^3 -double const amu_per_bohrcu_si = amu_si/pow(bohr_si,3); // [kg/m^3] amu/bohr^3 -double const picogram_per_micrometercu_si = - picogram_si/pow(micrometer_si,3); // [kg/m^3] picogram/micrometer^3 -double const attogram_per_nanometercu_si = - attogram_si/pow(nanometer_si,3); // [kg/m^3] attogram/nanometer^3 +static double constexpr gram_per_centimetercu_si = + gram_si/centimeter_si/centimeter_si/centimeter_si; // [kg/m^3] gram/centimeter^3 +static double constexpr amu_per_bohrcu_si = amu_si/bohr_si/bohr_si/bohr_si; // [kg/m^3] amu/bohr^3 +static double constexpr picogram_per_micrometercu_si = + picogram_si/micrometer_si/micrometer_si/micrometer_si; // [kg/m^3] picogram/micrometer^3 +static double constexpr attogram_per_nanometercu_si = + attogram_si/nanometer_si/nanometer_si/nanometer_si; // [kg/m^3] attogram/nanometer^3 /*---------------------- Energy/torque units ------------------------ */ -double const kcal_si = 4184.0; // [J] kilocalorie (heat energy - // involved in warming up one - // kilogram of water by one - // degree Kelvin) -double const ev_si = 1.6021766208e-19; // [J] electron volt (amount of - // energy gained or lost by the - // charge of a single electron - // moving across an electric - // potential difference of one - // volt.) (NIST value) -double const hartree_si = 4.359744650e-18; // [J] Hartree (approximately the - // electric potential energy of - // the hydrogen atom in its - // ground state) (NIST value) -double const kcal_per_mole_si = kcal_si/Nav;// [J] kcal/mole -double const erg_si = 1e-7; // [J] erg -double const dyne_centimeter_si = 1e-7; // [J[ dyne*centimeter -double const picogram_micrometersq_per_microsecondsq_si = - picogram_si*pow(micrometer_si,2)/pow(microsecond_si,2); - // [J] picogram*micrometer^2/ - // microsecond^2 -double const attogram_nanometersq_per_nanosecondsq_si = - attogram_si*pow(nanometer_si,2)/pow(nanosecond_si,2); - // [J] attogram*nanometer^2/ - // nanosecond^2 +static double constexpr kcal_si = 4184.0; // [J] kilocalorie (heat energy + // involved in warming up one + // kilogram of water by one + // degree Kelvin) +static double constexpr ev_si = 1.6021766208e-19; // [J] electron volt (amount of + // energy gained or lost by the + // charge of a single electron + // moving across an electric + // potential difference of one + // volt.) (NIST value) +static double constexpr hartree_si = 4.359744650e-18; // [J] Hartree (approximately the + // electric potential energy of + // the hydrogen atom in its + // ground state) (NIST value) +static double constexpr kcal_per_mole_si = kcal_si/Nav;// [J] kcal/mole +static double constexpr erg_si = 1e-7; // [J] erg +static double constexpr dyne_centimeter_si = 1e-7; // [J[ dyne*centimeter +static double constexpr picogram_micrometersq_per_microsecondsq_si = + picogram_si*micrometer_si/microsecond_si*micrometer_si/microsecond_si; + // [J] picogram*micrometer^2/ + // microsecond^2 +static double constexpr attogram_nanometersq_per_nanosecondsq_si = + attogram_si*nanometer_si/nanosecond_si*nanometer_si/nanosecond_si; + // [J] attogram*nanometer^2/ + // nanosecond^2 /*---------------------- Velocity units ------------------------ */ -double const angstrom_per_femtosecond_si = +static double constexpr angstrom_per_femtosecond_si = angstrom_si/femtosecond_si; // [m/s] Angstrom/femtosecond -double const angstrom_per_picosecond_si = +static double constexpr angstrom_per_picosecond_si = angstrom_si/picosecond_si; // [m/s] Angstrom/picosecond -double const micrometer_per_microsecond_si = +static double constexpr micrometer_per_microsecond_si = micrometer_si/microsecond_si; // [m/s] micrometer/microsecond -double const nanometer_per_nanosecond_si = +static double constexpr nanometer_per_nanosecond_si = nanometer_si/nanosecond_si; // [m/s] nanometer/nanosecond -double const centimeter_per_second_si = +static double constexpr centimeter_per_second_si = centimeter_si; // [m/s] centimeter/second -double const bohr_per_atu_electron_si = +static double constexpr bohr_per_atu_electron_si = bohr_si/atu_electron_si; // [m/s] bohr/atu /*---------------------- Force units ------------------------ */ -double const kcal_per_mole_angstrom_si = +static double constexpr kcal_per_mole_angstrom_si = kcal_per_mole_si/angstrom_si; // [N] kcal/(mole*Angstrom) -double const ev_per_angstrom_si = +static double constexpr ev_per_angstrom_si = ev_si/angstrom_si; // [N] eV/Angstrom -double const dyne_si = +static double constexpr dyne_si = dyne_centimeter_si/centimeter_si; // [N] dyne -double const hartree_per_bohr_si = +static double constexpr hartree_per_bohr_si = hartree_si/bohr_si; // [N] hartree/bohr -double const picogram_micrometer_per_microsecondsq_si = - picogram_si*micrometer_si/pow(microsecond_si,2); +static double constexpr picogram_micrometer_per_microsecondsq_si = + picogram_si*micrometer_si/microsecond_si/microsecond_si; // [N] picogram*micrometer/ // microsecond^2 -double const attogram_nanometer_per_nanosecondsq_si = - attogram_si*nanometer_si/pow(nanosecond_si,2); +static double constexpr attogram_nanometer_per_nanosecondsq_si = + attogram_si*nanometer_si/nanosecond_si/nanosecond_si; // [N] attogram*nanometer/ // nanosecond^2 /*---------------------- Pressure units ------------------------ */ -double const atmosphere_si = 101325.0; // [Pa] standard atmosphere (NIST value) -double const bar_si = 1e5; // [Pa] bar -double const dyne_per_centimetersq_si = - dyne_centimeter_si/pow(centimeter_si,3); +static double constexpr atmosphere_si = 101325.0; // [Pa] standard atmosphere (NIST value) +static double constexpr bar_si = 1e5; // [Pa] bar +static double constexpr dyne_per_centimetersq_si = + dyne_centimeter_si/centimeter_si/centimeter_si/centimeter_si; // [Pa] dyne/centimeter^2 -double const picogram_per_micrometer_microsecondsq_si = - picogram_si/(micrometer_si*pow(microsecond_si,2)); +static double constexpr picogram_per_micrometer_microsecondsq_si = + picogram_si/(micrometer_si*microsecond_si*microsecond_si); // [Pa] picogram/(micrometer* // microsecond^2) -double const attogram_per_nanometer_nanosecondsq_si = - attogram_si/(nanometer_si*pow(nanosecond_si,2)); +static double constexpr attogram_per_nanometer_nanosecondsq_si = + attogram_si/(nanometer_si*nanosecond_si*nanosecond_si); // [Pa] attogram/(nanometer*nanosecond^2) /*---------------------- Viscosity units ------------------------ */ -double const poise_si = 0.1; // [Pa*s] Poise -double const amu_per_bohr_femtosecond_si = +static double constexpr poise_si = 0.1; // [Pa*s] Poise +static double constexpr amu_per_bohr_femtosecond_si = amu_si/(bohr_si*femtosecond_si); // [Pa*s] amu/(bohr*femtosecond) -double const picogram_per_micrometer_microsecond_si = +static double constexpr picogram_per_micrometer_microsecond_si = picogram_si/(micrometer_si*microsecond_si); // [Pa*s] picogram/(micrometer* // microsecond) -double const attogram_per_nanometer_nanosecond_si = +static double constexpr attogram_per_nanometer_nanosecond_si = attogram_si/(nanometer_si*nanosecond_si); // [Pa*s] attogram/(nanometer* // nanosecond) @@ -234,39 +236,41 @@ double const attogram_per_nanometer_nanosecond_si = /*---------------------- Charge units ------------------------ */ -double const echarge_si = e_si; // [C] electron charge unit -double const statcoulomb_si = e_si/4.8032044e-10; // [C] Statcoulomb or esu +static double constexpr echarge_si = e_si; // [C] electron charge unit +static double constexpr statcoulomb_si = e_si/4.8032044e-10; // [C] Statcoulomb or esu // (value from LAMMPS units // documentation) -double const picocoulomb_si = 1e-12; // [C] picocoulomb +static double constexpr picocoulomb_si = 1e-12; // [C] picocoulomb /*---------------------- Dipole units ------------------------ */ -double const electron_angstrom_si = echarge_si*angstrom_si; +static double constexpr electron_angstrom_si = echarge_si*angstrom_si; // [C*m] electron*angstrom -double const statcoulomb_centimeter_si = statcoulomb_si*centimeter_si; +static double constexpr statcoulomb_centimeter_si = statcoulomb_si*centimeter_si; // [C*m] statcoulomb*centimeter -double const debye_si = 1e-18*statcoulomb_centimeter_si; +static double constexpr debye_si = 1e-18*statcoulomb_centimeter_si; // [C*m] Debye -double const picocoulomb_micrometer_si = picocoulomb_si*micrometer_si; +static double constexpr picocoulomb_micrometer_si = picocoulomb_si*micrometer_si; // [C*m] picocoulomb*micrometer -double const electron_nanometer_si = echarge_si*nanometer_si; +static double constexpr electron_nanometer_si = echarge_si*nanometer_si; // [C*m] electron*nanometer /*---------------------- Electric field units ------------------------ */ -double const volt_per_angstrom_si = 1.0/angstrom_si;// [V/m] volt/angstrom -double const statvolt_per_centimeter_si = +static double constexpr volt_per_angstrom_si = 1.0/angstrom_si;// [V/m] volt/angstrom +static double constexpr statvolt_per_centimeter_si = erg_si/(statcoulomb_si*centimeter_si); // [V/m] statvolt/centimeter -double const volt_per_centimeter_si = +static double constexpr volt_per_centimeter_si = 1.0/centimeter_si; // [V/m] volt/centimeter -double const volt_per_micrometer_si = +static double constexpr volt_per_micrometer_si = 1.0/micrometer_si; // [V/m] volt/micrometer -double const volt_per_nanometer_si = +static double constexpr volt_per_nanometer_si = 1.0/nanometer_si; // [V/m] volt/nanometer +namespace LAMMPS_NS { +namespace kim_units { // Define enumerations enum sys_type { @@ -388,20 +392,42 @@ enum units attogram_per_nanometercu = 1405 }; +void initialize_dictionaries(); +units get_lammps_system_unit(sys_type system_enum, unit_type unit_type_enum); +double get_mass_conversion_factor(units from_unit_enum, units to_unit_enum); +double get_distance_conversion_factor(units from_unit_enum, units to_unit_enum); +double get_time_conversion_factor(units from_unit_enum, units to_unit_enum); +double get_energy_conversion_factor(units from_unit_enum, units to_unit_enum); +double get_velocity_conversion_factor(units from_unit_enum, units to_unit_enum); +double get_force_conversion_factor(units from_unit_enum, units to_unit_enum); +double get_torque_conversion_factor(units from_unit_enum, units to_unit_enum); +double get_temperature_conversion_factor(units from_unit_enum, units to_unit_enum); +double get_pressure_conversion_factor(units from_unit_enum, units to_unit_enum); +double get_viscosity_conversion_factor(units from_unit_enum, units to_unit_enum); +double get_charge_conversion_factor(units from_unit_enum, units to_unit_enum); +double get_dipole_conversion_factor(units from_unit_enum, units to_unit_enum); +double get_efield_conversion_factor(units from_unit_enum, units to_unit_enum); +double get_density_conversion_factor(units from_unit_enum, units to_unit_enum); +double get_unit_conversion_factor(unit_type &unit_type_enum, sys_type from_system_enum, + sys_type to_system_enum); + +} +} + // Define dictionaries -map system_dic; -map unit_dic; -map units_real_dic; -map units_metal_dic; -map units_si_dic; -map units_cgs_dic; -map units_electron_dic; -map units_micro_dic; -map units_nano_dic; +static map system_dic; +static map unit_dic; +static map units_real_dic; +static map units_metal_dic; +static map units_si_dic; +static map units_cgs_dic; +static map units_electron_dic; +static map units_micro_dic; +static map units_nano_dic; /* ---------------------------------------------------------------------- */ -void initialize_dictionaries() +void kim_units::initialize_dictionaries() { system_dic["real"] = real; system_dic["metal"] = metal; @@ -537,7 +563,7 @@ void initialize_dictionaries() // Get the enumeration for the unit of type `unit_type_enum` // for LAMMPS system `system_enum`. -units get_lammps_system_unit(sys_type system_enum, unit_type unit_type_enum) +units kim_units::get_lammps_system_unit(sys_type system_enum, unit_type unit_type_enum) { switch(system_enum) { case real : @@ -561,7 +587,7 @@ units get_lammps_system_unit(sys_type system_enum, unit_type unit_type_enum) /* ---------------------------------------------------------------------- */ // Mass conversion -double get_mass_conversion_factor(units from_unit_enum, units to_unit_enum) +double kim_units::get_mass_conversion_factor(units from_unit_enum, units to_unit_enum) { map > conv; double to_si; @@ -619,7 +645,7 @@ double get_mass_conversion_factor(units from_unit_enum, units to_unit_enum) /* ---------------------------------------------------------------------- */ // Distance conversion -double get_distance_conversion_factor(units from_unit_enum, units to_unit_enum) +double kim_units::get_distance_conversion_factor(units from_unit_enum, units to_unit_enum) { map > conv; double to_si; @@ -677,7 +703,7 @@ double get_distance_conversion_factor(units from_unit_enum, units to_unit_enum) /* ---------------------------------------------------------------------- */ // Time conversion -double get_time_conversion_factor(units from_unit_enum, units to_unit_enum) +double kim_units::get_time_conversion_factor(units from_unit_enum, units to_unit_enum) { map > conv; double to_si; @@ -722,7 +748,7 @@ double get_time_conversion_factor(units from_unit_enum, units to_unit_enum) /* ---------------------------------------------------------------------- */ // Energy conversion -double get_energy_conversion_factor(units from_unit_enum, units to_unit_enum) +double kim_units::get_energy_conversion_factor(units from_unit_enum, units to_unit_enum) { map > conv; @@ -796,7 +822,7 @@ double get_energy_conversion_factor(units from_unit_enum, units to_unit_enum) /* ---------------------------------------------------------------------- */ // Velocity conversion -double get_velocity_conversion_factor(units from_unit_enum, units to_unit_enum) +double kim_units::get_velocity_conversion_factor(units from_unit_enum, units to_unit_enum) { map > conv; double to_si; @@ -869,7 +895,7 @@ double get_velocity_conversion_factor(units from_unit_enum, units to_unit_enum) /* ---------------------------------------------------------------------- */ // Force conversion -double get_force_conversion_factor(units from_unit_enum, units to_unit_enum) +double kim_units::get_force_conversion_factor(units from_unit_enum, units to_unit_enum) { map > conv; double to_si; @@ -942,7 +968,7 @@ double get_force_conversion_factor(units from_unit_enum, units to_unit_enum) /* ---------------------------------------------------------------------- */ // Torque conversion -double get_torque_conversion_factor(units from_unit_enum, units to_unit_enum) +double kim_units::get_torque_conversion_factor(units from_unit_enum, units to_unit_enum) { map > conv; double to_si; @@ -1015,7 +1041,7 @@ double get_torque_conversion_factor(units from_unit_enum, units to_unit_enum) /* ---------------------------------------------------------------------- */ // Temperature conversion -double get_temperature_conversion_factor(units from_unit_enum, units to_unit_enum) +double kim_units::get_temperature_conversion_factor(units from_unit_enum, units to_unit_enum) { map > conv; @@ -1026,7 +1052,7 @@ double get_temperature_conversion_factor(units from_unit_enum, units to_unit_enu /* ---------------------------------------------------------------------- */ // Pressure conversion -double get_pressure_conversion_factor(units from_unit_enum, units to_unit_enum) +double kim_units::get_pressure_conversion_factor(units from_unit_enum, units to_unit_enum) { map > conv; double to_si; @@ -1084,7 +1110,7 @@ double get_pressure_conversion_factor(units from_unit_enum, units to_unit_enum) /* ---------------------------------------------------------------------- */ // Viscosity conversion -double get_viscosity_conversion_factor(units from_unit_enum, units to_unit_enum) +double kim_units::get_viscosity_conversion_factor(units from_unit_enum, units to_unit_enum) { map > conv; double to_si; @@ -1129,7 +1155,7 @@ double get_viscosity_conversion_factor(units from_unit_enum, units to_unit_enum) /* ---------------------------------------------------------------------- */ // Charge conversion -double get_charge_conversion_factor(units from_unit_enum, units to_unit_enum) +double kim_units::get_charge_conversion_factor(units from_unit_enum, units to_unit_enum) { map > conv; double to_si; @@ -1163,7 +1189,7 @@ double get_charge_conversion_factor(units from_unit_enum, units to_unit_enum) /* ---------------------------------------------------------------------- */ // Dipole conversion -double get_dipole_conversion_factor(units from_unit_enum, units to_unit_enum) +double kim_units::get_dipole_conversion_factor(units from_unit_enum, units to_unit_enum) { map > conv; double to_si; @@ -1221,7 +1247,7 @@ double get_dipole_conversion_factor(units from_unit_enum, units to_unit_enum) /* ---------------------------------------------------------------------- */ // Electric field conversion -double get_efield_conversion_factor(units from_unit_enum, units to_unit_enum) +double kim_units::get_efield_conversion_factor(units from_unit_enum, units to_unit_enum) { map > conv; double to_si; @@ -1278,8 +1304,8 @@ double get_efield_conversion_factor(units from_unit_enum, units to_unit_enum) /* ---------------------------------------------------------------------- */ -// Demsity conversion -double get_density_conversion_factor(units from_unit_enum, units to_unit_enum) +// Density conversion +double kim_units::get_density_conversion_factor(units from_unit_enum, units to_unit_enum) { map > conv; double to_si; @@ -1325,9 +1351,9 @@ double get_density_conversion_factor(units from_unit_enum, units to_unit_enum) // This routine returns the unit conversion factor between the // `from_system_enum` to the `to_system_enum` for the `unit_type_enum`. -double get_unit_conversion_factor(unit_type &unit_type_enum, - sys_type from_system_enum, - sys_type to_system_enum) +double kim_units::get_unit_conversion_factor(unit_type &unit_type_enum, + sys_type from_system_enum, + sys_type to_system_enum) { units from_unit = get_lammps_system_unit(from_system_enum, unit_type_enum); units to_unit = get_lammps_system_unit(to_system_enum, unit_type_enum); @@ -1364,48 +1390,87 @@ double get_unit_conversion_factor(unit_type &unit_type_enum, } } -} // end of anonymous name space - /* ---------------------------------------------------------------------- */ - +// clang-format on // Wrapper to the routine that gets the unit conversion. Translates strings // to enumerations and then call get_unit_conversion_factor() -int lammps_unit_conversion(const string &unit_type_str, - const string &from_system_str, - const string &to_system_str, - double &conversion_factor) +int kim_units::lammps_unit_conversion(const string &unit_type_str, const string &from_system_str, + const string &to_system_str, double &conversion_factor) { - // initialize - conversion_factor = 0.0; - initialize_dictionaries(); + // initialize + conversion_factor = 0.0; + initialize_dictionaries(); - // convert input to enumeration - unit_type unit_type_enum; - { - map::const_iterator itr = unit_dic.find(unit_type_str); - if (itr != unit_dic.end()) unit_type_enum = itr->second; - else return 1; // error - } - sys_type from_system_enum; - { - map::const_iterator - itr = system_dic.find(from_system_str); - if (itr != system_dic.end()) from_system_enum = itr->second; - else return 1; // error - } - sys_type to_system_enum; - { - map::const_iterator - itr = system_dic.find(to_system_str); - if (itr != system_dic.end()) to_system_enum = itr->second; - else return 1; - } + // convert input to enumeration + unit_type unit_type_enum; + { + map::const_iterator itr = unit_dic.find(unit_type_str); + if (itr != unit_dic.end()) + unit_type_enum = itr->second; + else + return 1; // error + } + sys_type from_system_enum; + { + map::const_iterator itr = system_dic.find(from_system_str); + if (itr != system_dic.end()) + from_system_enum = itr->second; + else + return 1; // error + } + sys_type to_system_enum; + { + map::const_iterator itr = system_dic.find(to_system_str); + if (itr != system_dic.end()) + to_system_enum = itr->second; + else + return 1; + } - // process unit conversions - conversion_factor = get_unit_conversion_factor(unit_type_enum, - from_system_enum, - to_system_enum); - return 0; + // process unit conversions + conversion_factor = get_unit_conversion_factor(unit_type_enum, from_system_enum, to_system_enum); + return 0; } - +void kim_units::get_kim_unit_names(char const *const system, KIM_LengthUnit &lengthUnit, + KIM_EnergyUnit &energyUnit, KIM_ChargeUnit &chargeUnit, + KIM_TemperatureUnit &temperatureUnit, KIM_TimeUnit &timeUnit, + Error *error) +{ + const std::string system_str(system); + if (system_str == "real") { + lengthUnit = KIM_LENGTH_UNIT_A; + energyUnit = KIM_ENERGY_UNIT_kcal_mol; + chargeUnit = KIM_CHARGE_UNIT_e; + temperatureUnit = KIM_TEMPERATURE_UNIT_K; + timeUnit = KIM_TIME_UNIT_fs; + } else if (system_str == "metal") { + lengthUnit = KIM_LENGTH_UNIT_A; + energyUnit = KIM_ENERGY_UNIT_eV; + chargeUnit = KIM_CHARGE_UNIT_e; + temperatureUnit = KIM_TEMPERATURE_UNIT_K; + timeUnit = KIM_TIME_UNIT_ps; + } else if (system_str == "si") { + lengthUnit = KIM_LENGTH_UNIT_m; + energyUnit = KIM_ENERGY_UNIT_J; + chargeUnit = KIM_CHARGE_UNIT_C; + temperatureUnit = KIM_TEMPERATURE_UNIT_K; + timeUnit = KIM_TIME_UNIT_s; + } else if (system_str == "cgs") { + lengthUnit = KIM_LENGTH_UNIT_cm; + energyUnit = KIM_ENERGY_UNIT_erg; + chargeUnit = KIM_CHARGE_UNIT_statC; + temperatureUnit = KIM_TEMPERATURE_UNIT_K; + timeUnit = KIM_TIME_UNIT_s; + } else if (system_str == "electron") { + lengthUnit = KIM_LENGTH_UNIT_Bohr; + energyUnit = KIM_ENERGY_UNIT_Hartree; + chargeUnit = KIM_CHARGE_UNIT_e; + temperatureUnit = KIM_TEMPERATURE_UNIT_K; + timeUnit = KIM_TIME_UNIT_fs; + } else if ((system_str == "lj") || (system_str == "micro") || (system_str == "nano")) { + error->all(FLERR, "LAMMPS unit_style {} not supported by KIM models", system_str); + } else { + error->all(FLERR, "Unknown unit_style {}", system_str); + } +} diff --git a/src/KIM/kim_units.h b/src/KIM/kim_units.h index e85760ab82..dfb30c0a4c 100644 --- a/src/KIM/kim_units.h +++ b/src/KIM/kim_units.h @@ -56,7 +56,20 @@ #define LMP_KIM_UNITS_H #include +extern "C" { +#include "KIM_SimulatorHeaders.h" +} -int lammps_unit_conversion(const std::string &unit_type_str, const std::string &from_system_str, - const std::string &to_system_str, double &conversion_factor); +namespace LAMMPS_NS { +class Error; + +namespace kim_units { + int lammps_unit_conversion(const std::string &unit_type_str, const std::string &from_system_str, + const std::string &to_system_str, double &conversion_factor); + void get_kim_unit_names(char const *const system, KIM_LengthUnit &lengthUnit, + KIM_EnergyUnit &energyUnit, KIM_ChargeUnit &chargeUnit, + KIM_TemperatureUnit &temperatureUnit, KIM_TimeUnit &timeUnit, + Error *error); +} // namespace kim_units +} // namespace LAMMPS_NS #endif diff --git a/src/KIM/pair_kim.cpp b/src/KIM/pair_kim.cpp index 6a5a792797..14564162e2 100644 --- a/src/KIM/pair_kim.cpp +++ b/src/KIM/pair_kim.cpp @@ -218,8 +218,7 @@ void PairKIM::compute(int eflag, int vflag) kim_particleSpecies); memory->create(kim_particleContributing,lmps_maxalloc, "pair:kim_particleContributing"); - kimerror = kimerror || KIM_ComputeArguments_SetArgumentPointerInteger( - pargs, + kimerror = kimerror || KIM_ComputeArguments_SetArgumentPointerInteger(pargs, KIM_COMPUTE_ARGUMENT_NAME_particleContributing, kim_particleContributing); if (kimerror) @@ -248,7 +247,7 @@ void PairKIM::compute(int eflag, int vflag) // compute via KIM model int kimerror = KIM_Model_Compute(pkim, pargs); - if (kimerror) error->all(FLERR,"KIM Compute returned error"); + if (kimerror) error->all(FLERR,"KIM Compute returned error {}", kimerror); // compute virial before reverse comm! if (vflag_global) @@ -454,7 +453,7 @@ void PairKIM::coeff(int narg, char **arg) kimerror = KIM_Model_GetParameterMetadata(pkim, param_index, &kim_DataType, &extent, &str_name, &str_desc); if (kimerror) - error->all(FLERR,"KIM GetParameterMetadata returned error"); + error->all(FLERR,"KIM GetParameterMetadata returned error {}", kimerror); const std::string str_name_str(str_name); if (paramname == str_name_str) break; @@ -484,8 +483,8 @@ void PairKIM::coeff(int narg, char **arg) nubound = atoi(words[1].c_str()); if ((nubound < 1) || (nubound > extent) || (nlbound < 1) || (nlbound > nubound)) - error->all(FLERR,"Illegal index_range '{}-{}' for '{}' parameter with the extent of '{}'", - nlbound, nubound, paramname, extent); + error->all(FLERR,"Illegal index_range '{}-{}' for '{}' parameter with the extent " + "of '{}'", nlbound, nubound, paramname, extent); } else { nlbound = atoi(argtostr.c_str()); @@ -975,7 +974,7 @@ void PairKIM::set_lmps_flags() // determine if running with pair hybrid if (force->pair_match("hybrid",0)) - error->all(FLERR,"pair_kim does not support hybrid"); + error->all(FLERR,"Pair style must not be used as a hybrid sub-style"); const std::string unit_style_str(update->unit_style); @@ -1018,10 +1017,9 @@ void PairKIM::set_lmps_flags() } else if ((unit_style_str == "lj") || (unit_style_str == "micro") || (unit_style_str == "nano")) { - error->all(FLERR,"LAMMPS unit_style {} not supported " - "by KIM models", unit_style_str); + error->all(FLERR,"LAMMPS unit_style {} not supported by KIM models", unit_style_str); } else { - error->all(FLERR,"Unknown unit_style"); + error->all(FLERR,"Unknown unit_style {}", unit_style_str); } } @@ -1100,7 +1098,8 @@ void PairKIM::set_kim_model_has_flags() if (comm->me == 0) { if (KIM_SupportStatus_Equal(kim_model_support_for_energy, KIM_SUPPORT_STATUS_notSupported)) - error->warning(FLERR,"KIM Model does not provide 'partialEnergy'; Potential energy will be zero"); + error->warning(FLERR,"KIM Model does not provide 'partialEnergy'; " + "Potential energy will be zero"); if (KIM_SupportStatus_Equal(kim_model_support_for_forces, KIM_SUPPORT_STATUS_notSupported)) From e317b0eb7e60ff8e8a48f7f4649fc3db6a1d037e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 20 Mar 2023 07:11:47 -0400 Subject: [PATCH 362/448] update kim unit tests for recent changes, make variable for extended test an option --- cmake/Modules/Packages/KIM.cmake | 2 +- unittest/commands/test_kim_commands.cpp | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/cmake/Modules/Packages/KIM.cmake b/cmake/Modules/Packages/KIM.cmake index 2a2a1cde78..995d2d9490 100644 --- a/cmake/Modules/Packages/KIM.cmake +++ b/cmake/Modules/Packages/KIM.cmake @@ -19,7 +19,7 @@ if(CURL_FOUND) target_compile_definitions(lammps PRIVATE -DLMP_NO_SSL_CHECK) endif() endif() -set(KIM_EXTRA_UNITTESTS OFF CACHE STRING "Set extra unit tests verbose mode on/off. If on, extra tests are included.") +option(KIM_EXTRA_UNITTESTS "Enable extra unit tests for the KIM package." OFF) mark_as_advanced(KIM_EXTRA_UNITTESTS) find_package(PkgConfig QUIET) set(DOWNLOAD_KIM_DEFAULT ON) diff --git a/unittest/commands/test_kim_commands.cpp b/unittest/commands/test_kim_commands.cpp index 988b0db69a..2e6e758c76 100644 --- a/unittest/commands/test_kim_commands.cpp +++ b/unittest/commands/test_kim_commands.cpp @@ -92,14 +92,14 @@ TEST_F(KimCommandsTest, kim_interactions) { if (!LAMMPS::is_installed_pkg("KIM")) GTEST_SKIP(); - TEST_FAILURE(".*ERROR: Illegal 'kim interactions' command.*", command("kim interactions");); + TEST_FAILURE(".*ERROR: Illegal kim interactions command: missing argument.*", + command("kim interactions");); BEGIN_HIDE_OUTPUT(); command("kim init LennardJones_Ar real"); END_HIDE_OUTPUT(); - TEST_FAILURE(".*ERROR: Must use 'kim interactions' command " - "after simulation box is defined.*", + TEST_FAILURE(".*ERROR: Use of 'kim interactions' before simulation box is defined.*", command("kim interactions Ar");); BEGIN_HIDE_OUTPUT(); @@ -410,11 +410,11 @@ TEST_F(KimCommandsTest, kim_property) "3 >= 3.6 support.*", command("kim property");); } else { - TEST_FAILURE(".*ERROR: Invalid 'kim property' command.*", command("kim property");); - TEST_FAILURE(".*ERROR: Invalid 'kim property' command.*", command("kim property create");); - TEST_FAILURE(".*ERROR: Incorrect arguments in 'kim property' command." - "\n'kim property create/destroy/modify/remove/dump' " - "is mandatory.*", + TEST_FAILURE(".*ERROR: Illegal kim property command: missing argument.*", + command("kim property");); + TEST_FAILURE(".*ERROR: Illegal kim property command: missing argument.*", + command("kim property create");); + TEST_FAILURE(".*ERROR: Incorrect first argument unknown to 'kim property' command.*", command("kim property unknown 1 atomic-mass");); } #if defined(KIM_EXTRA_UNITTESTS) From a320f242477e10dc1df4fe4073c8550898d9591a Mon Sep 17 00:00:00 2001 From: agiliopadua Date: Mon, 20 Mar 2023 14:46:01 +0100 Subject: [PATCH 363/448] Fixed bug in fep tools --- tools/fep/fdti.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/fep/fdti.py b/tools/fep/fdti.py index 1f3f86f001..c439f72eb0 100755 --- a/tools/fep/fdti.py +++ b/tools/fep/fdti.py @@ -23,7 +23,7 @@ if len(tok) == 4: v = float(tok[3]) lo = -rt * math.log(float(tok[2]) / v) -i = 0 +i = 1 sum = 0.0 for line in sys.stdin: tok = line.split() From 3280d6b7864a5c15e65e66e268f4e00bf08e0fa5 Mon Sep 17 00:00:00 2001 From: agiliopadua Date: Mon, 20 Mar 2023 14:47:40 +0100 Subject: [PATCH 364/448] Fixed bug in fep tools --- tools/fep/nti.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/fep/nti.py b/tools/fep/nti.py index ffe47fb908..cd426163bc 100755 --- a/tools/fep/nti.py +++ b/tools/fep/nti.py @@ -19,7 +19,7 @@ while line.startswith("#"): tok = line.split() lo = float(tok[1]) -i = 0 +i = 1 sum = 0.0 for line in sys.stdin: tok = line.split() From ecc626964806c5fb3a99dc2a69ac5dd512b3e13e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 20 Mar 2023 10:52:20 -0400 Subject: [PATCH 365/448] add useful comments --- tools/fep/fdti.py | 2 +- tools/fep/fep.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/fep/fdti.py b/tools/fep/fdti.py index c439f72eb0..42f0a5fd2a 100755 --- a/tools/fep/fdti.py +++ b/tools/fep/fdti.py @@ -10,7 +10,7 @@ if len(sys.argv) < 3: print("usage: fdti.py temperature hderiv < out.fep") sys.exit() -rt = 0.008314 / 4.184 * float(sys.argv[1]) +rt = 0.008314 / 4.184 * float(sys.argv[1]) # in kcal/mol hderiv = float(sys.argv[2]) line = sys.stdin.readline() diff --git a/tools/fep/fep.py b/tools/fep/fep.py index 22ebaf38c6..c7656c5ef5 100755 --- a/tools/fep/fep.py +++ b/tools/fep/fep.py @@ -9,7 +9,7 @@ if len(sys.argv) < 2: print("usage: fep.py temperature < out.fep") sys.exit() -rt = 0.008314 / 4.184 * float(sys.argv[1]) +rt = 0.008314 / 4.184 * float(sys.argv[1]) # in kcal/mol v = 1.0 sum = 0.0 From ac9389f5cbdaa2d0e16bb805c432498fb391fcf7 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Mon, 20 Mar 2023 14:24:21 -0600 Subject: [PATCH 366/448] Slight rewrite --- doc/src/neighbor.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/neighbor.rst b/doc/src/neighbor.rst index bf9a13923c..b5ca4d15a8 100644 --- a/doc/src/neighbor.rst +++ b/doc/src/neighbor.rst @@ -66,7 +66,7 @@ instance in a dense binary system with a ratio of the size of the largest to smallest collection bin :math:`\lamda`, the computational costs of building a default neighbor list grows as :math:`\lamda^6` while the costs for *multi* grows as :math:`\lamda^3`, equivalent to the cost of force -evaluations, as identified in Monti et al. :ref:`(Monti) `. +evaluations, as argued in Monti et al. :ref:`(Monti) `. By default in *multi*, each atom type defines a separate collection of particles. For systems where two or more atom types have the same From d15e13d4756270b42fb7762282028cd69916fddf Mon Sep 17 00:00:00 2001 From: jtclemm Date: Mon, 20 Mar 2023 14:56:39 -0600 Subject: [PATCH 367/448] Reverting mistakenly deleted line, fixing duplicated text in granular doc --- doc/src/Modify_gran_sub_mod.rst | 2 +- doc/src/bond_bpm_spring.rst | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/src/Modify_gran_sub_mod.rst b/doc/src/Modify_gran_sub_mod.rst index e1d559e6bf..b3b4a13cac 100644 --- a/doc/src/Modify_gran_sub_mod.rst +++ b/doc/src/Modify_gran_sub_mod.rst @@ -25,7 +25,7 @@ specific implementation. For instance, from the GranSubModNormal class the GranSubModNormalHooke, GranSubModNormalHertz, and GranSubModNormalJKR classes are derived which calculate Hookean, Hertzian, or JKR normal forces, respectively. This modular structure simplifies the addition of new granular -contact models as as one only needs to create a new GranSubMod class without +contact models as one only needs to create a new GranSubMod class without having to modify the more complex PairGranular, FixGranWall, and GranularModel classes. Most GranSubMod methods are also already defined by the parent classes so new contact models typically only require edits to a few relevant methods diff --git a/doc/src/bond_bpm_spring.rst b/doc/src/bond_bpm_spring.rst index 1de814b488..93908710d1 100644 --- a/doc/src/bond_bpm_spring.rst +++ b/doc/src/bond_bpm_spring.rst @@ -48,6 +48,8 @@ Examples Description """"""""""" +.. versionadded:: 4May2022 + The *bpm/spring* bond style computes forces based on deviations from the initial reference state of the two atoms. The reference state is stored by each bond when it is first computed in From badfd0bc40072d2da1a4de14eb0c098682b360bb Mon Sep 17 00:00:00 2001 From: jtclemm Date: Mon, 20 Mar 2023 15:34:52 -0600 Subject: [PATCH 368/448] Specifying dimensions, lamda->lambda --- doc/src/neighbor.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/src/neighbor.rst b/doc/src/neighbor.rst index b5ca4d15a8..c4a2caac81 100644 --- a/doc/src/neighbor.rst +++ b/doc/src/neighbor.rst @@ -62,11 +62,11 @@ sets of bins are then used to construct the neighbor lists as as further described by Shire, Hanley, and Stratford :ref:`(Shire) ` and Monti et al. :ref:`(Monti) `. This imposes some extra setup overhead, but the searches themselves may be much faster. For -instance in a dense binary system with a ratio of the size of the largest -to smallest collection bin :math:`\lamda`, the computational costs of -building a default neighbor list grows as :math:`\lamda^6` while the costs -for *multi* grows as :math:`\lamda^3`, equivalent to the cost of force -evaluations, as argued in Monti et al. :ref:`(Monti) `. +instance in a dense binary system in d-dimensions with a ratio of the size +of the largest to smallest collection bin :math:`\lambda`, the computational +costs of building a default neighbor list grows as :math:`\lambda^d` while +the costs for *multi* grows as :math:`\lambda^d`, equivalent to the cost +of force evaluations, as argued in Monti et al. :ref:`(Monti) `. By default in *multi*, each atom type defines a separate collection of particles. For systems where two or more atom types have the same From 4351ada794a5d5709c6bdbbde3a19467edd290eb Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 20 Mar 2023 21:05:11 -0400 Subject: [PATCH 369/448] improve error message throughout fix adap --- src/fix_adapt.cpp | 68 +++++++++++++++++++++-------------------------- 1 file changed, 30 insertions(+), 38 deletions(-) diff --git a/src/fix_adapt.cpp b/src/fix_adapt.cpp index c90aa7c5b6..0b4ec9a638 100644 --- a/src/fix_adapt.cpp +++ b/src/fix_adapt.cpp @@ -48,9 +48,9 @@ FixAdapt::FixAdapt(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), nadapt(0), anypair(0), anybond(0), anyangle(0), id_fix_diam(nullptr), id_fix_chg(nullptr), adapt(nullptr) { - if (narg < 5) error->all(FLERR,"Illegal fix adapt command"); + if (narg < 5) utils::missing_cmd_args(FLERR,"fix adapt", error); nevery = utils::inumeric(FLERR,arg[3],false,lmp); - if (nevery < 0) error->all(FLERR,"Illegal fix adapt command"); + if (nevery < 0) error->all(FLERR,"Illegal fix adapt every value {}", nevery); dynamic_group_allow = 1; create_attribute = 1; @@ -62,29 +62,29 @@ FixAdapt::FixAdapt(LAMMPS *lmp, int narg, char **arg) : int iarg = 4; while (iarg < narg) { if (strcmp(arg[iarg],"pair") == 0) { - if (iarg+6 > narg) error->all(FLERR,"Illegal fix adapt command"); + if (iarg+6 > narg) utils::missing_cmd_args(FLERR,"fix adapt pair", error); nadapt++; iarg += 6; } else if (strcmp(arg[iarg],"kspace") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix adapt command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR,"fix adapt kspace", error); nadapt++; iarg += 2; } else if (strcmp(arg[iarg],"atom") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal fix adapt command"); + if (iarg+3 > narg) utils::missing_cmd_args(FLERR,"fix adapt atom", error); nadapt++; iarg += 3; } else if (strcmp(arg[iarg],"bond") == 0) { - if (iarg+5 > narg) error->all(FLERR,"Illegal fix adapt command"); + if (iarg+5 > narg) utils::missing_cmd_args(FLERR,"fix adapt bond", error); nadapt++; iarg += 5; } else if (strcmp(arg[iarg],"angle") == 0) { - if (iarg+5 > narg) error->all(FLERR,"Illegal fix adapt command"); + if (iarg+5 > narg) utils::missing_cmd_args(FLERR,"fix adapt angle", error); nadapt++; iarg += 5; } else break; } - if (nadapt == 0) error->all(FLERR,"Illegal fix adapt command"); + if (nadapt == 0) error->all(FLERR,"Nothing to adapt in fix adapt command"); adapt = new Adapt[nadapt]; // parse keywords @@ -96,7 +96,6 @@ FixAdapt::FixAdapt(LAMMPS *lmp, int narg, char **arg) : iarg = 4; while (iarg < narg) { if (strcmp(arg[iarg],"pair") == 0) { - if (iarg+6 > narg) error->all(FLERR,"Illegal fix adapt command"); adapt[nadapt].which = PAIR; adapt[nadapt].pair = nullptr; adapt[nadapt].pstyle = utils::strdup(arg[iarg+1]); @@ -107,12 +106,11 @@ FixAdapt::FixAdapt(LAMMPS *lmp, int narg, char **arg) : adapt[nadapt].jlo,adapt[nadapt].jhi,error); if (utils::strmatch(arg[iarg+5],"^v_")) { adapt[nadapt].var = utils::strdup(arg[iarg+5]+2); - } else error->all(FLERR,"Illegal fix adapt command"); + } else error->all(FLERR,"Argument #{} must be variable not {}", iarg+6, arg[iarg+5]); nadapt++; iarg += 6; } else if (strcmp(arg[iarg],"bond") == 0) { - if (iarg+5 > narg) error->all(FLERR, "Illegal fix adapt command"); adapt[nadapt].which = BOND; adapt[nadapt].bond = nullptr; adapt[nadapt].bstyle = utils::strdup(arg[iarg+1]); @@ -121,12 +119,11 @@ FixAdapt::FixAdapt(LAMMPS *lmp, int narg, char **arg) : adapt[nadapt].ilo,adapt[nadapt].ihi,error); if (utils::strmatch(arg[iarg+4],"^v_")) { adapt[nadapt].var = utils::strdup(arg[iarg+4]+2); - } else error->all(FLERR,"Illegal fix adapt command"); + } else error->all(FLERR,"Argument #{} must be variable not {}", iarg+5, arg[iarg+4]); nadapt++; iarg += 5; } else if (strcmp(arg[iarg],"angle") == 0) { - if (iarg+5 > narg) error->all(FLERR, "Illegal fix adapt command"); adapt[nadapt].which = ANGLE; adapt[nadapt].angle = nullptr; adapt[nadapt].astyle = utils::strdup(arg[iarg+1]); @@ -135,21 +132,19 @@ FixAdapt::FixAdapt(LAMMPS *lmp, int narg, char **arg) : adapt[nadapt].ilo,adapt[nadapt].ihi,error); if (utils::strmatch(arg[iarg+4],"^v_")) { adapt[nadapt].var = utils::strdup(arg[iarg+4]+2); - } else error->all(FLERR,"Illegal fix adapt command"); + } else error->all(FLERR,"Argument #{} must be variable not {}", iarg+5, arg[iarg+4]); nadapt++; iarg += 5; } else if (strcmp(arg[iarg],"kspace") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix adapt command"); adapt[nadapt].which = KSPACE; if (utils::strmatch(arg[iarg+1],"^v_")) { adapt[nadapt].var = utils::strdup(arg[iarg+1]+2); - } else error->all(FLERR,"Illegal fix adapt command"); + } else error->all(FLERR,"Argument #{} must be variable not {}", iarg+2, arg[iarg+1]); nadapt++; iarg += 2; } else if (strcmp(arg[iarg],"atom") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal fix adapt command"); adapt[nadapt].which = ATOM; if (strcmp(arg[iarg+1],"diameter") == 0 || strcmp(arg[iarg+1],"diameter/disc") == 0) { @@ -160,10 +155,10 @@ FixAdapt::FixAdapt(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg+1],"charge") == 0) { adapt[nadapt].atomparam = CHARGE; chgflag = 1; - } else error->all(FLERR,"Illegal fix adapt command"); + } else error->all(FLERR,"Unsupported per-atom property {} for fix adapt", arg[iarg+1]); if (utils::strmatch(arg[iarg+2],"^v_")) { adapt[nadapt].var = utils::strdup(arg[iarg+2]+2); - } else error->all(FLERR,"Illegal fix adapt command"); + } else error->all(FLERR,"Argument #{} must be variable not {}", iarg+3, arg[iarg+2]); nadapt++; iarg += 3; } else break; @@ -177,18 +172,18 @@ FixAdapt::FixAdapt(LAMMPS *lmp, int narg, char **arg) : while (iarg < narg) { if (strcmp(arg[iarg],"reset") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix adapt command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR,"fix adapt reset", error); resetflag = utils::logical(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"scale") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix adapt command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR,"fix adapt scale", error); scaleflag = utils::logical(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"mass") == 0) { - if (iarg+2 > narg)error->all(FLERR,"Illegal fix adapt command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR,"fix adapt mass", error); massflag = utils::logical(FLERR,arg[iarg+1],false,lmp); iarg += 2; - } else error->all(FLERR,"Illegal fix adapt command"); + } else error->all(FLERR,"Unknown fix adapt keyword {}", arg[iarg]); } // if scaleflag set with diameter or charge adaptation, @@ -202,22 +197,19 @@ FixAdapt::FixAdapt(LAMMPS *lmp, int narg, char **arg) : int n = atom->ntypes; for (int m = 0; m < nadapt; m++) - if (adapt[m].which == PAIR) - memory->create(adapt[m].array_orig,n+1,n+1,"adapt:array_orig"); + if (adapt[m].which == PAIR) memory->create(adapt[m].array_orig,n+1,n+1,"adapt:array_orig"); // allocate bond style arrays: n = atom->nbondtypes; for (int m = 0; m < nadapt; ++m) - if (adapt[m].which == BOND) - memory->create(adapt[m].vector_orig,n+1,"adapt:vector_orig"); + if (adapt[m].which == BOND) memory->create(adapt[m].vector_orig,n+1,"adapt:vector_orig"); // allocate angle style arrays: n = atom->nbondtypes; for (int m = 0; m < nadapt; ++m) - if (adapt[m].which == ANGLE) - memory->create(adapt[m].vector_orig,n+1,"adapt:vector_orig"); + if (adapt[m].which == ANGLE) memory->create(adapt[m].vector_orig,n+1,"adapt:vector_orig"); } /* ---------------------------------------------------------------------- */ @@ -324,7 +316,7 @@ void FixAdapt::init() if (group->dynamic[igroup]) for (i = 0; i < nadapt; i++) if (adapt[i].which == ATOM) - error->all(FLERR,"Cannot use dynamic group with fix adapt atom"); + error->all(FLERR,"Cannot use dynamic group {} with fix adapt atom", group->names[igroup]); // setup and error checks @@ -337,9 +329,9 @@ void FixAdapt::init() ad->ivar = input->variable->find(ad->var); if (ad->ivar < 0) - error->all(FLERR,"Variable name for fix adapt does not exist"); + error->all(FLERR,"Variable name {} for fix adapt does not exist", ad->var); if (!input->variable->equalstyle(ad->ivar)) - error->all(FLERR,"Variable for fix adapt is invalid style"); + error->all(FLERR,"Variable {} for fix adapt is invalid style", ad->var); if (ad->which == PAIR) { anypair = 1; @@ -374,7 +366,7 @@ void FixAdapt::init() // scalars are supported if (ad->pdim != 2 && ad->pdim != 0) - error->all(FLERR,"Fix adapt pair style param is not compatible"); + error->all(FLERR,"Pair style parameter {} is not compatible with fix adapt", ad->pparam); if (ad->pdim == 2) ad->array = (double **) ptr; if (ad->pdim == 0) ad->scalar = (double *) ptr; @@ -402,12 +394,12 @@ void FixAdapt::init() if (ad->bond == nullptr) ad->bond = force->bond_match(bstyle); if (ad->bond == nullptr ) - error->all(FLERR,"Fix adapt bond style does not exist"); + error->all(FLERR,"Fix adapt bond style {} does not exist", bstyle); void *ptr = ad->bond->extract(ad->bparam,ad->bdim); if (ptr == nullptr) - error->all(FLERR,"Fix adapt bond style param not supported"); + error->all(FLERR,"Fix adapt bond style parameter {} not supported", ad->bparam); // for bond styles, use a vector @@ -428,12 +420,12 @@ void FixAdapt::init() if (ad->angle == nullptr) ad->angle = force->angle_match(astyle); if (ad->angle == nullptr ) - error->all(FLERR,"Fix adapt angle style does not exist"); + error->all(FLERR,"Fix adapt angle style {} does not exist", astyle); void *ptr = ad->angle->extract(ad->aparam,ad->adim); if (ptr == nullptr) - error->all(FLERR,"Fix adapt angle style param not supported"); + error->all(FLERR,"Fix adapt angle style parameter {} not supported", ad->aparam); // for angle styles, use a vector @@ -446,7 +438,7 @@ void FixAdapt::init() } else if (ad->which == KSPACE) { if (force->kspace == nullptr) - error->all(FLERR,"Fix adapt kspace style does not exist"); + error->all(FLERR,"Fix adapt expected a kspace style but none was defined"); kspace_scale = (double *) force->kspace->extract("scale"); } else if (ad->which == ATOM) { From 1101383b51b966fc59b354e6c6f28cef84ee1db5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 20 Mar 2023 22:07:02 -0400 Subject: [PATCH 370/448] add versionadded tags --- doc/src/bond_bpm_rotational.rst | 2 ++ doc/src/bond_bpm_spring.rst | 2 ++ 2 files changed, 4 insertions(+) diff --git a/doc/src/bond_bpm_rotational.rst b/doc/src/bond_bpm_rotational.rst index 19fd607169..0b3fa4442c 100644 --- a/doc/src/bond_bpm_rotational.rst +++ b/doc/src/bond_bpm_rotational.rst @@ -143,6 +143,8 @@ the *overlay/pair* keyword. These settings require specific restrictions. Further details can be found in the `:doc: how to ` page on BPMs. +.. versionadded:: TBD + If the *break/no* keyword is used, then LAMMPS assumes bonds should not break during a simulation run. This will prevent some unnecessary calculation. However, if a bond does break, it will trigger an error. diff --git a/doc/src/bond_bpm_spring.rst b/doc/src/bond_bpm_spring.rst index 93908710d1..5391d81420 100644 --- a/doc/src/bond_bpm_spring.rst +++ b/doc/src/bond_bpm_spring.rst @@ -109,6 +109,8 @@ the *overlay/pair* keyword. These settings require specific restrictions. Further details can be found in the `:doc: how to ` page on BPMs. +.. versionadded:: TBD + If the *break/no* keyword is used, then LAMMPS assumes bonds should not break during a simulation run. This will prevent some unnecessary calculation. However, if a bond does break, it will trigger an error. From 3c5083d75de2dc0b8fd9c8f18888f5d1d49559ec Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 21 Mar 2023 21:36:27 -0400 Subject: [PATCH 371/448] implement suggestions from @jtclemm --- doc/src/Developer_notes.rst | 2 ++ doc/src/Developer_write_fix.rst | 49 ++++++++++++++++---------------- doc/src/Developer_write_pair.rst | 31 +++++++++++--------- doc/src/Modify_pair.rst | 17 ++++++----- 4 files changed, 53 insertions(+), 46 deletions(-) diff --git a/doc/src/Developer_notes.rst b/doc/src/Developer_notes.rst index 07b289b583..9f950dda8a 100644 --- a/doc/src/Developer_notes.rst +++ b/doc/src/Developer_notes.rst @@ -74,6 +74,8 @@ when converting "12.5", while the ValueTokenizer class will throw an :cpp:func:`ValueTokenizer::next_int() ` is called on the same string. +.. _request-neighbor-list: + Requesting and accessing neighbor lists ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/doc/src/Developer_write_fix.rst b/doc/src/Developer_write_fix.rst index c065d557de..38fb772d28 100644 --- a/doc/src/Developer_write_fix.rst +++ b/doc/src/Developer_write_fix.rst @@ -1,17 +1,18 @@ Writing a new fix style ^^^^^^^^^^^^^^^^^^^^^^^ -Writing fixes is a flexible way of extending LAMMPS. Users can -implement many things using fixes: +Writing fix styles is a flexible way of extending LAMMPS. Users can +implement many things using fixes. Some fix styles are only used +internally to support compute styles or pair styles: -- changing particles attributes (positions, velocities, forces, etc.). Examples: FixNVE, FixFreeze. -- reading/writing data. Example: FixRestart. -- adding or modifying properties due to geometry. Example: FixWall. -- interacting with other subsystems or external code: Examples: FixTTM, FixExternal, FixLATTE +- change particles attributes (positions, velocities, forces, etc.). Examples: ``FixNVE``, ``FixFreeze``. +- read or write data. Example: ``FixRestart``. +- adding or modifying properties due to geometry. Example: ``FixWall``. +- interacting with other subsystems or external code: Examples: ``FixTTM``, ``FixExternal``, ``FixMDI`` - saving information for analysis or future use (previous positions, - for instance). Examples: Fix AveTime, FixStoreState. + for instance). Examples: ``FixAveTime``, ``FixStoreState``. -All fixes are derived from the Fix base class and must have a +All fixes are derived from the ``Fix`` base class and must have a constructor with the signature: ``FixPrintVel(class LAMMPS *, int, char **)``. Every fix must be registered in LAMMPS by writing the following lines @@ -43,23 +44,22 @@ of each timestep. First of all, implement a constructor: FixPrintVel::FixPrintVel(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { - if (narg < 4) - error->all(FLERR,"Illegal fix print/vel command"); + if (narg < 4) utils::missing_cmd_args(FLERR, "fix print/vel", error); nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery <= 0) - error->all(FLERR,"Illegal fix print/vel command"); + error->all(FLERR,"Illegal fix print/vel nevery value: {}", nevery); } -In the constructor you should parse your fix arguments which are -specified in the script. All fixes have pretty much the same syntax: -``fix ``. The -first 3 parameters are parsed by Fix base class constructor, while -```` should be parsed by you. In our case, we need to -specify how often we want to print an average velocity. For instance, -once in 50 timesteps: ``fix 1 print/vel 50``. There is a special variable -in the Fix class called ``nevery`` which specifies how often the method -``end_of_step()`` is called. Thus all we need to do is just set it up. +In the constructor you should parse the fix arguments which are +specified in the script. All fixes have pretty much the same syntax: +``fix ``. The first 3 +parameters are parsed by Fix base class constructor, while ```` should be parsed by you. In our case, we need to specify +how often we want to print an average velocity. For instance, once in 50 +timesteps: ``fix 1 print/vel 50``. There is a special variable in the +Fix class called ``nevery`` which specifies how often the method +``end_of_step()`` is called. Thus all we need to do is just set it up. The next method we need to implement is ``setmask()``: @@ -72,11 +72,10 @@ The next method we need to implement is ``setmask()``: return mask; } -Here the user specifies which methods of your fix should be called -during execution. The constant ``END_OF_STEP`` corresponds to the -``end_of_step()`` method. The most important available methods that -are called during a timestep and the order in which they are called -are shown in the previous section. +Here the we specify which methods of the fix should be called during +:doc:`execution of a timestep `. The constant +``END_OF_STEP`` corresponds to the ``end_of_step()`` method. The most +important available methods that are called during a timestep. .. code-block:: c++ diff --git a/doc/src/Developer_write_pair.rst b/doc/src/Developer_write_pair.rst index fc592e11b3..1b1520dc9b 100644 --- a/doc/src/Developer_write_pair.rst +++ b/doc/src/Developer_write_pair.rst @@ -547,18 +547,17 @@ loop atoms are also initialized. jnum = numneigh[i]; The inner loop (index *j*) processes the neighbor lists. The neighbor -list code encodes in the upper bits (typically the upper 2 bits, i.e. as -a number from 0 to 3) whether a pair is a regular pair of neighbor (= 0) -or a pair of 1-2 (= 1), 1-3 (= 2), or 1-4 (= 3) :doc:`"special" neighbor -`. The ``sbmask()`` inline function extracts those bits -and converts them into a number and use the index to store the -corresponding scaling factor taken from the ``force->special_lj`` array -in `factor_lj`. Due to adding the extra bits, the value of *j* would be -out of range when accessing data from per-atom arrays, so we apply the -NEIGHMASK constant to mask them out. This step *must* be done even if a -pair style does not use special bond scaling. Otherwise there will be a -segmentation fault for systems containing bonds for atoms involved in -bonds. +list code encodes in the upper 2 bits whether a pair is a regular pair +of neighbor (= 0) or a pair of 1-2 (= 1), 1-3 (= 2), or 1-4 (= 3) +:doc:`"special" neighbor `. The ``sbmask()`` inline +function extracts those bits and converts them into a number. This +number is used to look up the corresponding scaling factor for the +non-bonded interaction from the ``force->special_lj`` array and to store +it in `factor_lj`. Due to adding the additional bits, the value of *j* +would be out of range when accessing data from per-atom arrays, so we +apply the NEIGHMASK constant to mask them out. This step *must* be done +even if a pair style does not use special bond scaling. Otherwise there +could be a segmentation fault. With the corrected *j* index it is now possible to compute the distance of the pair. For efficiency reasons, the square root is only taken *after* @@ -945,8 +944,12 @@ For computing the three-body interactions of the Tersoff potential a "full" neighbor list (both atoms of a pair are listed in each other's neighbor list) is required. By default a "half" neighbor list is requested (each pair is listed only once) in. The request is made in -the ``init_style()`` function. Also, additional conditions must be met -and this is being checked for, too. +the ``init_style()`` function. A more in-depth discussion of neighbor +lists in LAMMPS and how to request them is in :ref:`this section of the +documentation ` + +Also, additional conditions must be met for some global settings and +this is being checked for in the ``init_style()`` function, too. .. code-block:: c++ diff --git a/doc/src/Modify_pair.rst b/doc/src/Modify_pair.rst index 38f5ade567..7d7d96609a 100644 --- a/doc/src/Modify_pair.rst +++ b/doc/src/Modify_pair.rst @@ -2,11 +2,11 @@ Pair styles =========== Classes that compute pairwise non-bonded interactions are derived from -the Pair class. In LAMMPS, pairwise calculation include many-body -potentials such as EAM, Tersoff, or ReaxFF where particles interact -without an explicit bond topology but include interactions beyond -pairwise non-bonded contributions. New styles can be created to add -support for additional pair potentials to LAMMPS. When the +the ``Pair`` class. In LAMMPS, pairwise force calculations include +many-body potentials such as EAM, Tersoff, or ReaxFF where particles +interact without an explicit bond topology but include interactions +beyond pairwise non-bonded contributions. New styles can be created to +add support for additional pair potentials to LAMMPS. When the modifications are small, sometimes it is more effective to derive from an existing pair style class. This latter approach is also used by :doc:`Accelerator packages ` where the accelerated style @@ -15,10 +15,13 @@ names differ from their base classes by an appended suffix. The file ``src/pair_lj_cut.cpp`` is an example of a Pair class with a very simple potential function. It includes several optional methods to enable its use with :doc:`run_style respa ` and :doc:`compute -group/group `. +group/group `. :doc:`Developer_write_pair` contains +a detailed discussion of writing new pair styles from scratch, and how +simple and more complex pair styles can be implemented with examples +from existing pair styles. Here is a brief list of some the class methods in the Pair class that -*must* be or *may* be overridden in a derived class. +*must* be or *may* be overridden in a derived class for a new pair style. +---------------------------------+---------------------------------------------------------------------+ | Required | "pure" methods that *must* be overridden in a derived class | From a6c7eef6249ee99326fc2a698906f3b53b35f597 Mon Sep 17 00:00:00 2001 From: Joel Thomas Clemmer Date: Tue, 21 Mar 2023 21:32:20 -0600 Subject: [PATCH 372/448] a few possible typos --- doc/src/Developer_write_fix.rst | 16 ++++---- doc/src/Developer_write_pair.rst | 70 ++++++++++++++++---------------- 2 files changed, 43 insertions(+), 43 deletions(-) diff --git a/doc/src/Developer_write_fix.rst b/doc/src/Developer_write_fix.rst index 38fb772d28..f8732f74e3 100644 --- a/doc/src/Developer_write_fix.rst +++ b/doc/src/Developer_write_fix.rst @@ -120,7 +120,7 @@ class) with all global information about the simulation system. Data from the Pointers class is available to all classes inherited from it using protected inheritance. Hence when you write you own class, which is going to use LAMMPS data, don't forget to inherit from Pointers -or pass an Pointer to it to all functions that need access. When writing +or pass a Pointer to it to all functions that need access. When writing fixes we inherit from class Fix which is inherited from Pointers so there is no need to inherit from it directly. @@ -130,7 +130,7 @@ script: ``group_name``. This parameter specifies the group of atoms used in the fix. So we should compute average for all particles in the simulation only if ``group_name == "all"``, but it can be any group. The group membership information of an atom is contained in the *mask* -property of and atom and the bit corresponding to a given group is +property of an atom and the bit corresponding to a given group is stored in the groupbit variable which is defined in Fix base class: .. code-block:: c++ @@ -141,26 +141,26 @@ stored in the groupbit variable which is defined in Fix base class: } } -Class Atom encapsulates atoms positions, velocities, forces, etc. User +Class Atom encapsulates atoms positions, velocities, forces, etc. Users can access them using particle index. Note, that particle indexes are usually changed every few timesteps because of neighbor list rebuilds and spatial sorting (to improve cache efficiency). Let us consider another Fix example: We want to have a fix which stores -atoms position from previous time step in your fix. The local atoms +atoms position from the previous time step in your fix. The local atoms indexes may not be valid on the next iteration. In order to handle this situation there are several methods which should be implemented: - ``double memory_usage()``: return how much memory the fix uses (optional) -- ``void grow_arrays(int)``: do reallocation of the per particle arrays in your fix +- ``void grow_arrays(int)``: do reallocation of the per-particle arrays in your fix - ``void copy_arrays(int i, int j, int delflag)``: copy i-th per-particle information to j-th. Used when atom sorting is performed. if delflag is set and atom j owns a body, move the body information to atom i. - ``void set_arrays(int i)``: sets i-th particle related information to zero -Note, that if your class implements these methods, it must call add calls of -add_callback and delete_callback to constructor and destructor. Since we want -to store positions of atoms from previous timestep, we need to add +Note, that if your class implements these methods, it must add calls of +add_callback and delete_callback to the constructor and destructor. Since we want +to store positions of atoms from the previous timestep, we need to add ``double** xold`` to the header file. Than add allocation code to the constructor: diff --git a/doc/src/Developer_write_pair.rst b/doc/src/Developer_write_pair.rst index 1b1520dc9b..9a80a01bb5 100644 --- a/doc/src/Developer_write_pair.rst +++ b/doc/src/Developer_write_pair.rst @@ -131,12 +131,12 @@ class in ``force.cpp`` to build a map of "factory functions" that will create an instance of these classes and return a pointer to it. The map connects the name of the pair style, "born/gauss", to the name of the class, ``PairBornGauss``. Before including the headers, the ``PAIR_CLASS`` -define is set and the ``PairStyle(name,class)`` macro defined as needed. +define is set and the ``PairStyle(name,class)`` macro is defined as needed. The list of header files to include is automatically updated by the build system, so the presence of the file in the ``src/EXTRA-PAIR`` -folder and the enabling of the EXTRA-PAIR package will trigger that -LAMMPS includes the new pair style when it is (re-)compiled. The "// +folder and the enabling of the EXTRA-PAIR package will trigger +LAMMPS to include the new pair style when it is (re-)compiled. The "// clang-format" format comments are needed so that running :ref:`clang-format ` on the file will not insert blanks between "born", "/", and "gauss" which would break the ``PairStyle`` @@ -152,7 +152,7 @@ given the "override" property, as it is done in the code shown below. The "override" property helps to detect unexpected mismatches because compilation will stop with an error in case the signature of a function is changed in the base class without also changing it in all derived -classes. For example, if this change would add an optional argument +classes. For example, if this change added an optional argument with a default value, then all existing source code *calling* the function would not need changes and still compile, but the function in the derived class would no longer override the one in the base class due @@ -190,7 +190,7 @@ such issues. void *extract(const char *, int &) override; Also, variables and arrays for storing global settings and potential -parameters are defined. Since those are internal to the class, they are +parameters are defined. Since these are internal to the class, they are placed after a "protected:" label. .. code-block:: c++ @@ -274,7 +274,7 @@ pointer as argument, but **not** the command line arguments of the :doc:`pair_style command `. Instead, those arguments are processed in the ``Pair::settings()`` function (or rather the version in the derived class). The constructor is the place where global defaults -are set and specifically flags are set about which optional features of +are set and specifically flags are set indicating which optional features of a pair style are available. .. code-block:: c++ @@ -327,7 +327,7 @@ the functions ``Pair::settings()`` and ``Pair::coeff()`` need to be re-implemented. The arguments to the ``settings()`` function are the arguments given to the :doc:`pair_style command `. Normally, those would already be processed as part of the constructor, -but moving this to a separate function allows to change global settings +but moving this to a separate function allows users to change global settings like the default cutoff without having to reissue all pair_coeff commands or re-read the ``Pair Coeffs`` sections from the data file. In the ``settings()`` function, also the arrays for storing parameters, @@ -381,7 +381,7 @@ allocation and initialization is moved to a function ``allocate()``. The arguments to the ``coeff()`` function are the arguments to the :doc:`pair_coeff command `. The function is also called when processing the ``Pair Coeffs`` or ``PairIJ Coeffs`` sections of -data files. In the case of the ``Pair Coeffs`` section there is only +data files. In the case of the ``Pair Coeffs`` section, there is only one atom type per line and thus the first argument is duplicated. Since the atom type arguments of the :doc:`pair_coeff command ` may be a range (e.g. \*\ 3 for atom types 1, 2, and 3), the @@ -483,14 +483,14 @@ Computing forces from the neighbor list (required) """""""""""""""""""""""""""""""""""""""""""""""""" The ``compute()`` function is the "workhorse" of a pair style. This is where -we have the nested loops all pairs of particles from the neighbor list to -compute forces and - if needed - energy and virial. +we have the nested loops of all pairs of particles from the neighbor list to +compute forces and - if needed - energies and virials. The first part is to define some variables for later use and store -cached copies of data or pointers we need to access frequently. Also, +cached copies of data or pointers that we need to access frequently. Also, this is a good place to call ``Pair::ev_init()``, which initializes several flags derived from the `eflag` and `vflag` parameters signaling -whether energy and virial need to be tallied and whether only globally +whether the energy and virial need to be tallied and whether only globally or also per-atom. .. code-block:: c++ @@ -521,7 +521,7 @@ or also per-atom. The outer loop (index *i*) is over local atoms of our sub-domain. Typically, the value of `inum` (the number of neighbor lists) is the -same as the number of local atoms (= atoms *owned* but this sub-domain). +same as the number of local atoms (= atoms *owned* by this sub-domain). But when the pair style is used as a sub-style of a :doc:`hybrid pair style ` or neighbor list entries are removed with :doc:`neigh_modify exclude ` this number may be @@ -597,7 +597,7 @@ the respective distances in those directions. In the next block, the force is added to the per-atom force arrays. This pair style uses a "half" neighbor list (each pair is listed only once) -so we take advantage of the fact that :math:` \vec{F}_{ij} = +so we take advantage of the fact that :math:`\vec{F}_{ij} = -\vec{F}_{ji}`, i.e. apply Newton's third law. The force is *always* stored when the atom is a "local" atom. Index *i* atoms are always "local" (i.e. *i* < nlocal); index *j* atoms may be "ghost" atoms (*j* >= nlocal). @@ -609,7 +609,7 @@ are computed a "reverse communication" is performed to add those ghost atom forces to their corresponding local atoms. If the setting is disabled, then the extra communication is skipped, since for pairs straddling sub-domain boundaries, the forces are computed twice and only stored with -the local atoms in the domain that *own* it. +the local atoms in the domain that *owns* it. .. code-block:: c++ @@ -659,15 +659,15 @@ atom is a periodic copy. Computing force and energy for a single pair """""""""""""""""""""""""""""""""""""""""""" -Certain features in LAMMPS utilize computing interactions between -individual pairs of atoms only and the (optional) ``single()`` function +Certain features in LAMMPS only require computing interactions between +individual pairs of atoms and the (optional) ``single()`` function is needed to support those features (e.g. for tabulation of force and energy with :doc:`pair_write `). This is a repetition of the force kernel in the ``compute()`` function, but only for a single pair of atoms, where the (squared) distance is provided as parameter (so it may not even be an existing distance between two specific atoms). The energy is returned as the return value of the function and the force -as the `fforce` reference. Note, that is, same as *fpair* in he +as the `fforce` reference. Note, that this is the same as *fpair* in the ``compute()`` function, the magnitude of the force along the vector between the two atoms *divided* by the distance. @@ -860,7 +860,7 @@ Give access to internal data """""""""""""""""""""""""""" The purpose of the ``extract()`` function is to allow access to internal data -of the pair style from other parts of LAMMPS. One application is to use +of the pair style to other parts of LAMMPS. One application is to use :doc:`fix adapt ` to gradually change potential parameters during a run. Here, we implement access to the pair coefficient matrix parameters. @@ -906,17 +906,17 @@ example. Constructor """"""""""" -In the constructor several :doc:`pair style flags ` must +In the constructor, several :doc:`pair style flags ` must be set differently for many-body potentials: - the potential is not pair-wise additive, so the ``single()`` function cannot be used. This is indicated by setting the `single_enable` member variable to 0 (default value is 1) -- the for many-body potentials are usually not written to :doc:`binary +- many-body potentials are usually not written to :doc:`binary restart files `. This is indicated by setting the member variable `restartinfo` to 0 (default is 1) - many-body potentials typically read *all* parameters from a file which - stores parameters indexed with a string (e.g. the element). For this + stores parameters indexed with a string (e.g. the element). For this, only a single :doc:`pair_coeff \* \* ` command is allowed. This requirement is set and checked for, when the member variable `one_coeff` is set to 1 (default value is 0) @@ -943,13 +943,13 @@ Neighbor list request For computing the three-body interactions of the Tersoff potential a "full" neighbor list (both atoms of a pair are listed in each other's neighbor list) is required. By default a "half" neighbor list is -requested (each pair is listed only once) in. The request is made in +requested (each pair is listed only once). The request is made in the ``init_style()`` function. A more in-depth discussion of neighbor lists in LAMMPS and how to request them is in :ref:`this section of the documentation ` -Also, additional conditions must be met for some global settings and -this is being checked for in the ``init_style()`` function, too. +Also, additional conditions must be met for some global settings which +are checked in the ``init_style()`` function. .. code-block:: c++ @@ -973,14 +973,14 @@ Computing forces from the neighbor list """"""""""""""""""""""""""""""""""""""" Computing forces for a many-body potential is usually more complex than -for a pair-wise additive potential and there are multiple component. +for a pair-wise additive potential and there are multiple components. For Tersoff, there is a pair-wise additive two-body term (two nested loops over indices *i* and *j*) and a three-body term (three nested loops over indices *i*, *j*, and *k*). Since the neighbor list has all neighbors up to the maximum cutoff (for the two-body term), but -the three-body interactions have a significantly shorter cutoff, also -a "short neighbor list" is constructed at the same time while computing -the two-body and looping over the neighbor list for the first time. +the three-body interactions have a significantly shorter cutoff, +a "short neighbor list" is also constructed at the same time while computing +the two-body term and looping over the neighbor list for the first time. .. code-block:: c++ @@ -995,7 +995,7 @@ the two-body and looping over the neighbor list for the first time. For the two-body term, only a half neighbor list would be needed, even though we have requested a full list (for the three-body loops). Rather than computing all interactions twice, we skip over half of -the entries. This is done in slightly complex way to make certain +the entries. This is done in a slightly complex way to make certain the same choice is made across all subdomains and so that there is no load imbalance introduced. @@ -1104,7 +1104,7 @@ Reverse communication """"""""""""""""""""" Then a first loop over all pairs (*i* and *j*) is performed, where data -is stored in the `rho` representing the electron density at the site of +is stored in the `rho` array representing the electron density at the site of *i* contributed from all neighbors *j*. Since the EAM pair style uses a half neighbor list (for efficiency reasons), a reverse communication is needed to collect the contributions to `rho` from ghost atoms (only if @@ -1114,9 +1114,9 @@ needed to collect the contributions to `rho` from ghost atoms (only if if (newton_pair) comm->reverse_comm(this); -To support the reverse communication two functions must be defined: -``pack_reverse_comm()`` that copy relevant data into a buffer for ghost -atoms and ``unpac_reverse_comm()`` and take the collected data and add +To support the reverse communication, two functions must be defined: +``pack_reverse_comm()`` that copies relevant data into a buffer for ghost +atoms and ``unpack_reverse_comm()`` that takes the collected data and adds it to the `rho` array for the corresponding local atoms that match the ghost atoms. In order to allocate sufficiently sized buffers, a flag must be set in the pair style constructor. Since in this case a single @@ -1158,7 +1158,7 @@ For that a forward communication is needed. comm->forward_comm(this); -Similar to the reverse communication, this requires to implement a +Similar to the reverse communication, this requires implementing a ``pack_forward_comm()`` and an ``unpack_forward_comm()`` function. Since there is one double precision number per atom that needs to be communicated, we must set the `comm_forward` member variable to 1 From 91eb544979434dfe1f454c946957771bfb1600b3 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Mar 2023 01:52:44 -0400 Subject: [PATCH 373/448] address spelling and grammar issues flagged by languagetool.org --- doc/src/Developer_write_pair.rst | 106 ++++++++++++++++--------------- 1 file changed, 54 insertions(+), 52 deletions(-) diff --git a/doc/src/Developer_write_pair.rst b/doc/src/Developer_write_pair.rst index 9a80a01bb5..e339394af5 100644 --- a/doc/src/Developer_write_pair.rst +++ b/doc/src/Developer_write_pair.rst @@ -5,7 +5,7 @@ Pair styles are at the core of most simulations with LAMMPS, since they are used to compute the forces (plus energy and virial contributions, if needed) on atoms for pairs of atoms within a given cutoff. This is often the dominant computation in LAMMPS, and sometimes even the only -one. Pair styles can be grouped in multiple categories: +one. Pair styles can be grouped into multiple categories: #. simple pairwise additive interactions of point particles (e.g. :doc:`Lennard-Jones `, :doc:`Morse `, @@ -38,7 +38,7 @@ be written that is either directly or indirectly derived from the ``Pair`` class. If that class is directly derived from ``Pair``, there are three methods that *must* be re-implemented, since they are "pure" in the base class: ``Pair::compute()``, ``Pair::settings()``, -``Pair::coeff()``. In addition a custom constructor is needed. All +``Pair::coeff()``. In addition, a custom constructor is needed. All other methods are optional and have default implementations in the base class (most of which do nothing), but they may need to be overridden depending on the requirements of the model. @@ -84,7 +84,7 @@ shall be named "born/gauss" and thus the class name would be ``pair_born_gauss.cpp``. Since this is a rather uncommon potential, it shall be added to the :ref:`EXTRA-PAIR ` package. For the implementation, we will use :doc:`pair style morse ` as -template. +a template. Header file """"""""""" @@ -152,13 +152,13 @@ given the "override" property, as it is done in the code shown below. The "override" property helps to detect unexpected mismatches because compilation will stop with an error in case the signature of a function is changed in the base class without also changing it in all derived -classes. For example, if this change added an optional argument -with a default value, then all existing source code *calling* the -function would not need changes and still compile, but the function in -the derived class would no longer override the one in the base class due -to the different number of arguments and the behavior of the pair style -is thus changed in an unintended way. Using "override" keyword prevents -such issues. +classes. For example, if this change added an optional argument with a +default value, then all existing source code *calling* the function +would not need changes and still compile, but the function in the +derived class would no longer override the one in the base class due to +the different number of arguments and the behavior of the pair style is +thus changed in an unintended way. Using the "override" keyword +prevents such issues. .. code-block:: c++ @@ -270,12 +270,12 @@ the constructor and the destructor. Pair styles are different from most classes in LAMMPS that define a "style", as their constructor only uses the LAMMPS class instance -pointer as argument, but **not** the command line arguments of the +pointer as an argument, but **not** the command line arguments of the :doc:`pair_style command `. Instead, those arguments are processed in the ``Pair::settings()`` function (or rather the version in the derived class). The constructor is the place where global defaults -are set and specifically flags are set indicating which optional features of -a pair style are available. +are set and specifically flags are set indicating which optional +features of a pair style are available. .. code-block:: c++ @@ -292,8 +292,8 @@ is, the class implements specific versions for ``Pair::data()`` and ``Pair::data_all()``. Other statements that could be added here would be `single_enable = 1;` or `respa_enable = 0;` to indicate that the ``Pair::single()`` function is present and the -``Pair::compute_(inner|middle|outer)`` are not, but those are also the -default settings and already set in the base class. +``Pair::compute_(inner|middle|outer)`` functions are not, but those are +also the default settings and already set in the base class. In the destructor, we need to delete all memory that was allocated by the pair style, usually to hold force field parameters that were entered @@ -327,13 +327,14 @@ the functions ``Pair::settings()`` and ``Pair::coeff()`` need to be re-implemented. The arguments to the ``settings()`` function are the arguments given to the :doc:`pair_style command `. Normally, those would already be processed as part of the constructor, -but moving this to a separate function allows users to change global settings -like the default cutoff without having to reissue all pair_coeff -commands or re-read the ``Pair Coeffs`` sections from the data file. -In the ``settings()`` function, also the arrays for storing parameters, -to define cutoffs, track with pairs of parameters have been explicitly -set are allocated and, if needed, initialized. In this case, the memory -allocation and initialization is moved to a function ``allocate()``. +but moving this to a separate function allows users to change global +settings like the default cutoff without having to reissue all +pair_coeff commands or re-read the ``Pair Coeffs`` sections from the +data file. In the ``settings()`` function, also the arrays for storing +parameters, to define cutoffs, track with pairs of parameters have been +explicitly set are allocated and, if needed, initialized. In this case, +the memory allocation and initialization is moved to a function +``allocate()``. .. code-block:: c++ @@ -482,9 +483,9 @@ cutoff and then build the neighbor lists accordingly. Computing forces from the neighbor list (required) """""""""""""""""""""""""""""""""""""""""""""""""" -The ``compute()`` function is the "workhorse" of a pair style. This is where -we have the nested loops of all pairs of particles from the neighbor list to -compute forces and - if needed - energies and virials. +The ``compute()`` function is the "workhorse" of a pair style. This is +where we have the nested loops over all pairs of particles from the +neighbor list to compute forces and - if needed - energies and virials. The first part is to define some variables for later use and store cached copies of data or pointers that we need to access frequently. Also, @@ -524,11 +525,11 @@ Typically, the value of `inum` (the number of neighbor lists) is the same as the number of local atoms (= atoms *owned* by this sub-domain). But when the pair style is used as a sub-style of a :doc:`hybrid pair style ` or neighbor list entries are removed with -:doc:`neigh_modify exclude ` this number may be +:doc:`neigh_modify exclude `, this number may be smaller. The array ``list->ilist`` has the (local) indices of the atoms for which neighbor lists have been created. Then ``list->numneigh`` is an `inum` sized array with the number of entries of each list of -neighbors and ``list->firstneigh`` is a list of pointers to those lists. +neighbors, and ``list->firstneigh`` is a list of pointers to those lists. For efficiency reasons, cached copies of some properties of the outer loop atoms are also initialized. @@ -552,18 +553,19 @@ of neighbor (= 0) or a pair of 1-2 (= 1), 1-3 (= 2), or 1-4 (= 3) :doc:`"special" neighbor `. The ``sbmask()`` inline function extracts those bits and converts them into a number. This number is used to look up the corresponding scaling factor for the -non-bonded interaction from the ``force->special_lj`` array and to store -it in `factor_lj`. Due to adding the additional bits, the value of *j* -would be out of range when accessing data from per-atom arrays, so we -apply the NEIGHMASK constant to mask them out. This step *must* be done -even if a pair style does not use special bond scaling. Otherwise there -could be a segmentation fault. +non-bonded interaction from the ``force->special_lj`` array and stores +it in the `factor_lj` variable. Due to the additional bits, the value +of *j* would be out of range when accessing data from per-atom arrays, +so we apply the NEIGHMASK constant with a bit-wise and operation to mask +them out. This step *must* be done, even if a pair style does not use +special bond scaling of forces and energies to avoid segmentation faults. -With the corrected *j* index it is now possible to compute the distance of -the pair. For efficiency reasons, the square root is only taken *after* -the check for the cutoff (which has been stored as squared cutoff by the -``Pair`` base class). For some pair styles, like the 12-6 Lennard-Jones -potential, computing the square root can be avoided entirely. +With the corrected *j* index, it is now possible to compute the distance +of the pair. For efficiency reasons, the square root is only taken +*after* the check for the cutoff (which has been stored as squared +cutoff by the ``Pair`` base class). For some pair styles, like the 12-6 +Lennard-Jones potential, computing the square root can be avoided +entirely. .. code-block:: c++ @@ -603,13 +605,13 @@ stored when the atom is a "local" atom. Index *i* atoms are always "local" (i.e. *i* < nlocal); index *j* atoms may be "ghost" atoms (*j* >= nlocal). Depending on the settings used with the :doc:`newton command `, -those pairs are are only listed once globally (newton_pair == 1), then -forces must be stored even with ghost atoms and after all forces -are computed a "reverse communication" is performed to add those ghost -atom forces to their corresponding local atoms. If the setting is disabled, +those pairs are only listed once globally (newton_pair == 1), then +forces must be stored even with ghost atoms and after all forces are +computed a "reverse communication" is performed to add those ghost atom +forces to their corresponding local atoms. If the setting is disabled, then the extra communication is skipped, since for pairs straddling -sub-domain boundaries, the forces are computed twice and only stored with -the local atoms in the domain that *owns* it. +sub-domain boundaries, the forces are computed twice and only stored +with the local atoms in the domain that *owns* it. .. code-block:: c++ @@ -641,12 +643,12 @@ that it still is valid to access it, even if the energy is not computed } If only the global virial is needed and no energy, then calls to -``ev_tally()`` can be avoided altogether and the global virial can be +``ev_tally()`` can be avoided altogether, and the global virial can be computed more efficiently from the dot product of the total per-atom force vector and the position vector of the corresponding atom, :math:`\vec{F}\cdot\vec{r}`. This has to be done *after* all pair-wise forces are computed and *before* the reverse communication to collect -data from ghost atom, since the position has to be the position that was +data from ghost atoms, since the position has to be the position that was used to compute the force, i.e. *not* the "local" position if that ghost atom is a periodic copy. @@ -660,16 +662,16 @@ Computing force and energy for a single pair """""""""""""""""""""""""""""""""""""""""""" Certain features in LAMMPS only require computing interactions between -individual pairs of atoms and the (optional) ``single()`` function -is needed to support those features (e.g. for tabulation of force and +individual pairs of atoms and the (optional) ``single()`` function is +needed to support those features (e.g. for tabulation of force and energy with :doc:`pair_write `). This is a repetition of the force kernel in the ``compute()`` function, but only for a single -pair of atoms, where the (squared) distance is provided as parameter +pair of atoms, where the (squared) distance is provided as a parameter (so it may not even be an existing distance between two specific atoms). The energy is returned as the return value of the function and the force -as the `fforce` reference. Note, that this is the same as *fpair* in the -``compute()`` function, the magnitude of the force along the vector -between the two atoms *divided* by the distance. +as the `fforce` reference. Note, that this is, similar to how *fpair* +is used in the ``compute()`` function, the magnitude of the force along +the vector between the two atoms *divided* by the distance. The ``single()`` function is optional. The member variable `single_enable` should be set to 0 in the constructor, if it is not From 375eb464509931f54d59d61ff1ed7559ead9d65a Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 22 Mar 2023 09:24:04 -0600 Subject: [PATCH 374/448] README edits --- examples/QUANTUM/PySCF/README | 10 +++++----- examples/QUANTUM/README | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/examples/QUANTUM/PySCF/README b/examples/QUANTUM/PySCF/README index de5582df66..d0b0bd00c6 100644 --- a/examples/QUANTUM/PySCF/README +++ b/examples/QUANTUM/PySCF/README @@ -11,11 +11,11 @@ Step 4: Perform test runs in any of 3 modes Step 0: What PySCF currently supports -PySCF can be used with fix mdi/qmmm for QM/MM simulations, but not with fix -mdi/qm to perform QM calculations of an entire system. For QM/MM it can use -the direct mode of fix mdi/qmmm, but not the plugin mode. PySCF can calculate -a QM energy and QM forces on each atom, but it cannot compute a QM stress -tensor. +PySCF can be used with fix mdi/qmmm for QM/MM simulations, but not +with fix mdi/qm to perform QM calculations of an entire system. For +QM/MM it can use the direct mode of fix mdi/qmmm, but not the +potential mode. PySCF can calculate a QM energy and QM forces on each +atom, but it cannot compute a QM stress tensor. PySCF does not support MPI parallelism, so run it on a single MPI task. But it does support multi-threading via OpenMP. By default it will use diff --git a/examples/QUANTUM/README b/examples/QUANTUM/README index 6a795e2134..dd0e6dd3ad 100644 --- a/examples/QUANTUM/README +++ b/examples/QUANTUM/README @@ -14,7 +14,7 @@ PySCF = quantum chemistry code from Caltech ----------------------------------------------------- -To be added later (as of Feb 2023): +To be added later (as of March 2023): Quantum Espresso (QE) = DFT code for materials modeling https://www.quantum-espresso.org From 669397b0929024a5f82088502f0c6ce4cdddaae4 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Wed, 22 Mar 2023 09:36:29 -0600 Subject: [PATCH 375/448] fixing exponent in multi documentation --- doc/src/neighbor.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/neighbor.rst b/doc/src/neighbor.rst index c4a2caac81..4ee3d859f8 100644 --- a/doc/src/neighbor.rst +++ b/doc/src/neighbor.rst @@ -64,7 +64,7 @@ and Monti et al. :ref:`(Monti) `. This imposes some extra setup overhead, but the searches themselves may be much faster. For instance in a dense binary system in d-dimensions with a ratio of the size of the largest to smallest collection bin :math:`\lambda`, the computational -costs of building a default neighbor list grows as :math:`\lambda^d` while +costs of building a default neighbor list grows as :math:`\lambda^{2d}` while the costs for *multi* grows as :math:`\lambda^d`, equivalent to the cost of force evaluations, as argued in Monti et al. :ref:`(Monti) `. From cc2106397af7f2cd3f3f07d12091350d7cb2f01e Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 22 Mar 2023 10:18:50 -0600 Subject: [PATCH 376/448] fix ids once bug in compute chunk/atom --- src/compute_chunk_atom.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/compute_chunk_atom.cpp b/src/compute_chunk_atom.cpp index f5c68c8f25..fc70a3246f 100644 --- a/src/compute_chunk_atom.cpp +++ b/src/compute_chunk_atom.cpp @@ -691,9 +691,10 @@ void ComputeChunkAtom::compute_ichunk() if (invoked_ichunk == update->ntimestep) return; // if old IDs persist via storage in fixstore, then just retrieve them - // yes if idsflag = ONCE, and already done once + // restore = yes if idsflag = ONCE, and already done once // or if idsflag = NFREQ and lock is in place and are on later timestep // else proceed to recalculate per-atom chunk assignments + // if restoring, update invoked_ichunk only for NFREQ case const int nlocal = atom->nlocal; int restore = 0; @@ -701,7 +702,7 @@ void ComputeChunkAtom::compute_ichunk() if (idsflag == NFREQ && lockfix && update->ntimestep > lockstart) restore = 1; if (restore) { - invoked_ichunk = update->ntimestep; + if (idsflag == NFREQ) invoked_ichunk = update->ntimestep; double *vstore = fixstore->vstore; for (i = 0; i < nlocal; i++) ichunk[i] = static_cast(vstore[i]); return; From 1370f0571486880179310483b1c6977dd517403d Mon Sep 17 00:00:00 2001 From: jtclemm Date: Wed, 22 Mar 2023 11:33:17 -0600 Subject: [PATCH 377/448] Elaborating on the scaling of multi --- doc/src/neighbor.rst | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/doc/src/neighbor.rst b/doc/src/neighbor.rst index 4ee3d859f8..9dcdd1daf2 100644 --- a/doc/src/neighbor.rst +++ b/doc/src/neighbor.rst @@ -61,12 +61,17 @@ or its cutoff distance for interacting with other particles. Different sets of bins are then used to construct the neighbor lists as as further described by Shire, Hanley, and Stratford :ref:`(Shire) ` and Monti et al. :ref:`(Monti) `. This imposes some extra -setup overhead, but the searches themselves may be much faster. For -instance in a dense binary system in d-dimensions with a ratio of the size +setup overhead, but the searches themselves may be much faster. + +For instance in a dense binary system in d-dimensions with a ratio of the size of the largest to smallest collection bin :math:`\lambda`, the computational costs of building a default neighbor list grows as :math:`\lambda^{2d}` while the costs for *multi* grows as :math:`\lambda^d`, equivalent to the cost of force evaluations, as argued in Monti et al. :ref:`(Monti) `. +In other words, the neighboring costs of *multi* are expected to scale the +same as force calculations, such that its relative cost is independent of +the particle size ratio. This is not the case for the default style which +becomes substantially more expensive with increasing size ratios. By default in *multi*, each atom type defines a separate collection of particles. For systems where two or more atom types have the same @@ -82,8 +87,11 @@ An alternate style, *multi/old*, sets the bin size to 1/2 of the shortest cutoff distance and multiple sets of bins are defined to search over for different atom types. This algorithm used to be the default *multi* algorithm in LAMMPS but was found to be significantly slower than the new -approach. For now we are keeping the old option in case there are use cases -where multi/old outperforms the new multi style. +approach. For the dense binary system, computational costs still grew as +:math:`\lambda^{2d}` at large enough :math:`\lambda`. This is equivalent +to the default style, albeit with a smaller prefactor. For now we are +keeping the old option in case there are use cases where multi/old +outperforms the new multi style. .. note:: From b5e1bbfa6f9294d837df9f26c3296e6b19cf04fe Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Mar 2023 15:02:14 -0400 Subject: [PATCH 378/448] move fix property/atom property type enumerator to class definition in header --- src/KOKKOS/fix_property_atom_kokkos.cpp | 2 -- src/fix_property_atom.cpp | 2 -- src/fix_property_atom.h | 3 ++- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/KOKKOS/fix_property_atom_kokkos.cpp b/src/KOKKOS/fix_property_atom_kokkos.cpp index 2c515510ee..6c7c7c6d37 100644 --- a/src/KOKKOS/fix_property_atom_kokkos.cpp +++ b/src/KOKKOS/fix_property_atom_kokkos.cpp @@ -24,8 +24,6 @@ using namespace LAMMPS_NS; using namespace FixConst; -enum{MOLECULE,CHARGE,RMASS,INTEGER,DOUBLE}; - /* ---------------------------------------------------------------------- */ FixPropertyAtomKokkos::FixPropertyAtomKokkos(LAMMPS *lmp, int narg, char **arg) : diff --git a/src/fix_property_atom.cpp b/src/fix_property_atom.cpp index 4b43feca74..994b4f0f19 100644 --- a/src/fix_property_atom.cpp +++ b/src/fix_property_atom.cpp @@ -25,8 +25,6 @@ using namespace LAMMPS_NS; using namespace FixConst; -enum { MOLECULE, CHARGE, RMASS, TEMPERATURE, HEATFLOW, IVEC, DVEC, IARRAY, DARRAY }; - /* ---------------------------------------------------------------------- */ FixPropertyAtom::FixPropertyAtom(LAMMPS *lmp, int narg, char **arg) : diff --git a/src/fix_property_atom.h b/src/fix_property_atom.h index 7d9f50b75e..f2f26d511b 100644 --- a/src/fix_property_atom.h +++ b/src/fix_property_atom.h @@ -27,11 +27,12 @@ namespace LAMMPS_NS { class FixPropertyAtom : public Fix { public: FixPropertyAtom(class LAMMPS *, int, char **); - ~FixPropertyAtom() override; int setmask() override; void init() override; + enum { MOLECULE, CHARGE, RMASS, TEMPERATURE, HEATFLOW, IVEC, DVEC, IARRAY, DARRAY }; + void read_data_section(char *, int, char *, tagint) override; bigint read_data_skip_lines(char *) override; void write_data_section_size(int, int &, int &) override; From 56ac387e6f4e0c0b619da85c7366c67e18a41dbb Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Mar 2023 15:02:49 -0400 Subject: [PATCH 379/448] synchronize Kokkos version of grow_atoms() with base version --- src/KOKKOS/fix_property_atom_kokkos.cpp | 36 ++++++++++++++++--------- 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/src/KOKKOS/fix_property_atom_kokkos.cpp b/src/KOKKOS/fix_property_atom_kokkos.cpp index 6c7c7c6d37..1de07b39dc 100644 --- a/src/KOKKOS/fix_property_atom_kokkos.cpp +++ b/src/KOKKOS/fix_property_atom_kokkos.cpp @@ -42,33 +42,45 @@ FixPropertyAtomKokkos::FixPropertyAtomKokkos(LAMMPS *lmp, int narg, char **arg) void FixPropertyAtomKokkos::grow_arrays(int nmax) { - for (int m = 0; m < nvalue; m++) { - if (styles[m] == MOLECULE) { + for (int nv = 0; nv < nvalue; nv++) { + if (styles[nv] == MOLECULE) { memory->grow(atom->molecule,nmax,"atom:molecule"); size_t nbytes = (nmax-nmax_old) * sizeof(tagint); memset(&atom->molecule[nmax_old],0,nbytes); - } else if (styles[m] == CHARGE) { + } else if (styles[nv] == CHARGE) { memory->grow(atom->q,nmax,"atom:q"); size_t nbytes = (nmax-nmax_old) * sizeof(double); memset(&atom->q[nmax_old],0,nbytes); - } else if (styles[m] == RMASS) { + } else if (styles[nv] == RMASS) { memory->grow(atom->rmass,nmax,"atom:rmass"); size_t nbytes = (nmax-nmax_old) * sizeof(double); memset(&atom->rmass[nmax_old],0,nbytes); - } else if (styles[m] == INTEGER) { - memory->grow(atom->ivector[index[m]],nmax,"atom:ivector"); + } else if (styles[nv] == TEMPERATURE) { + memory->grow(atom->temperature, nmax, "atom:temperature"); + size_t nbytes = (nmax - nmax_old) * sizeof(double); + memset(&atom->temperature[nmax_old], 0, nbytes); + } else if (styles[nv] == HEATFLOW) { + memory->grow(atom->heatflow, nmax, "atom:heatflow"); + size_t nbytes = (nmax - nmax_old) * sizeof(double); + memset(&atom->heatflow[nmax_old], 0, nbytes); + } else if (styles[nv] == IVEC) { + memory->grow(atom->ivector[index[nv]],nmax,"atom:ivector"); size_t nbytes = (nmax-nmax_old) * sizeof(int); - memset(&atom->ivector[index[m]][nmax_old],0,nbytes); - } else if (styles[m] == DOUBLE) { + memset(&atom->ivector[index[nv]][nmax_old],0,nbytes); + } else if (styles[nv] == DVEC) { atomKK->sync(Device,DVECTOR_MASK); memoryKK->grow_kokkos(atomKK->k_dvector,atomKK->dvector,atomKK->k_dvector.extent(0),nmax, "atom:dvector"); atomKK->modified(Device,DVECTOR_MASK); - //memory->grow(atom->dvector[index[m]],nmax,"atom:dvector"); - //size_t nbytes = (nmax-nmax_old) * sizeof(double); - //memset(&atom->dvector[index[m]][nmax_old],0,nbytes); + } else if (styles[nv] == IARRAY) { + memory->grow(atom->iarray[index[nv]], nmax, cols[nv], "atom:iarray"); + size_t nbytes = (size_t) (nmax - nmax_old) * cols[nv] * sizeof(int); + if (nbytes) memset(&atom->iarray[index[nv]][nmax_old][0], 0, nbytes); + } else if (styles[nv] == DARRAY) { + memory->grow(atom->darray[index[nv]], nmax, cols[nv], "atom:darray"); + size_t nbytes = (size_t) (nmax - nmax_old) * cols[nv] * sizeof(double); + if (nbytes) memset(&atom->darray[index[nv]][nmax_old][0], 0, nbytes); } } - nmax_old = nmax; } From 872a4e299924e91679158ab5bf6417d48f30c331 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Mar 2023 15:03:52 -0400 Subject: [PATCH 380/448] cosmetic. remove commented out debug code. --- src/KOKKOS/fix_rx_kokkos.cpp | 215 ----------------------------------- src/fix_property_atom.h | 8 +- 2 files changed, 4 insertions(+), 219 deletions(-) diff --git a/src/KOKKOS/fix_rx_kokkos.cpp b/src/KOKKOS/fix_rx_kokkos.cpp index 963fb32a1a..ac1821e142 100644 --- a/src/KOKKOS/fix_rx_kokkos.cpp +++ b/src/KOKKOS/fix_rx_kokkos.cpp @@ -74,23 +74,17 @@ FixRxKokkos::FixRxKokkos(LAMMPS *lmp, int narg, char **arg) : datamask_modify = EMPTY_MASK; k_error_flag = DAT::tdual_int_scalar("FixRxKokkos::k_error_flag"); - - //printf("Inside FixRxKokkos::FixRxKokkos\n"); } template FixRxKokkos::~FixRxKokkos() { - //printf("Inside FixRxKokkos::~FixRxKokkos copymode= %d\n", copymode); if (copymode) return; if (localTempFlag) memoryKK->destroy_kokkos(k_dpdThetaLocal, dpdThetaLocal); memoryKK->destroy_kokkos(k_sumWeights, sumWeights); - //memoryKK->destroy_kokkos(k_sumWeights); - - //delete [] scratchSpace; memoryKK->destroy_kokkos(d_scratchSpace); memoryKK->destroy_kokkos(k_cutsq); @@ -147,7 +141,6 @@ void FixRxKokkos::init() template void FixRxKokkos::init_list(int, class NeighList* ptr) { - //printf("Inside FixRxKokkos::init_list\n"); this->list = ptr; } @@ -551,7 +544,6 @@ void FixRxKokkos::k_rkf45(const int neq, const double t_stop, Vector nfe += 6; if (maxIters && nit > maxIters) { - //fprintf(stderr,"atom[%d] took too many iterations in rkf45 %d %e %e\n", id, nit, t, t_stop); counter.nFails ++; break; // We should set an error here so that the solution is not used! @@ -562,8 +554,6 @@ void FixRxKokkos::k_rkf45(const int neq, const double t_stop, Vector counter.nSteps += nst; counter.nIters += nit; counter.nFuncs += nfe; - - //printf("id= %d nst= %d nit= %d\n", id, nst, nit); } /* ---------------------------------------------------------------------- */ @@ -733,9 +723,6 @@ int FixRxKokkos::rkf45_h0(const int neq, const double t, const doubl yddnrm = sqrt( yddnrm / double(neq) ); - //std::cout << "iter " << _iter << " hg " << hg << " y'' " << yddnrm << std::endl; - //std::cout << "ydot " << ydot[neq-1] << std::endl; - // should we accept this? if (hnew_is_ok || iter == max_iters) { hnew = hg; @@ -760,8 +747,6 @@ int FixRxKokkos::rkf45_h0(const int neq, const double t, const doubl hnew_is_ok = true; } - //printf("iter=%d, yddnrw=%e, hnew=%e, hmin=%e, hmax=%e\n", iter, yddnrm, hnew, hmin, hmax); - hg = hnew; iter ++; } @@ -805,13 +790,9 @@ void FixRxKokkos::rkf45(const int neq, const double t_stop, double * double t = 0.0; if (h < h_min) { - //fprintf(stderr,"hin not implemented yet\n"); - //exit(-1); nfe = rkf45_h0 (neq, t, t_stop, h_min, h_max, h, y, rwork, v_param); } - //printf("t= %e t_stop= %e h= %e\n", t, t_stop, h); - // Integrate until we reach the end time. while (fabs(t - t_stop) > tround) { double *yout = rwork; @@ -865,7 +846,6 @@ void FixRxKokkos::rkf45(const int neq, const double t_stop, double * nfe += 6; if (maxIters && nit > maxIters) { - //fprintf(stderr,"atom[%d] took too many iterations in rkf45 %d %e %e\n", id, nit, t, t_stop); counter.nFails ++; break; // We should set an error here so that the solution is not used! @@ -876,8 +856,6 @@ void FixRxKokkos::rkf45(const int neq, const double t_stop, double * counter.nSteps += nst; counter.nIters += nit; counter.nFuncs += nfe; - - //printf("id= %d nst= %d nit= %d\n", id, nst, nit); } /* ---------------------------------------------------------------------- */ @@ -902,9 +880,6 @@ int FixRxKokkos::rhs_dense(double /*t*/, const double *y, double *dy double *rxnRateLaw = userData->rxnRateLaw; double *kFor = userData->kFor; - //const double VDPD = domain->xprd * domain->yprd * domain->zprd / atom->natoms; - //const int nspecies = atom->nspecies_dpd; - for (int ispecies=0; ispecies::rhs_dense(double /*t*/, const double *y, double *dy for (int ispecies=0; ispecies::rhs_dense(double /*t*/, const double *y, double *dy for (int jrxn=0; jrxn::rhs_sparse(double /*t*/, const double *y, double *d { UserRHSData *userData = (UserRHSData *) v_params; - //const double VDPD = domain->xprd * domain->yprd * domain->zprd / atom->natoms; - #define kFor (userData->kFor) #define kRev (nullptr) #define rxnRateLaw (userData->rxnRateLaw) @@ -964,7 +935,6 @@ int FixRxKokkos::rhs_sparse(double /*t*/, const double *y, double *d for (int kk = 1; kk < maxReactants; ++kk) { const int k = nuk(i,kk); if (k == SparseKinetics_invalidIndex) break; - //if (k != SparseKinetics_invalidIndex) rxnRateLawForward *= powint( conc[k], inu(i,kk) ); } } else { @@ -972,7 +942,6 @@ int FixRxKokkos::rhs_sparse(double /*t*/, const double *y, double *d for (int kk = 1; kk < maxReactants; ++kk) { const int k = nuk(i,kk); if (k == SparseKinetics_invalidIndex) break; - //if (k != SparseKinetics_invalidIndex) rxnRateLawForward *= pow( conc[k], nu(i,kk) ); } } @@ -991,7 +960,6 @@ int FixRxKokkos::rhs_sparse(double /*t*/, const double *y, double *d for (int kk = 1; kk < maxReactants; ++kk) { const int k = nuk(i,kk); if (k == SparseKinetics_invalidIndex) break; - //if (k != SparseKinetics_invalidIndex) dydt[k] -= nu(i,kk) * rxnRateLaw[i]; } @@ -1000,7 +968,6 @@ int FixRxKokkos::rhs_sparse(double /*t*/, const double *y, double *d for (int kk = maxReactants+1; kk < maxSpecies; ++kk) { const int k = nuk(i,kk); if (k == SparseKinetics_invalidIndex) break; - //if (k != SparseKinetics_invalidIndex) dydt[k] += nu(i,kk) * rxnRateLaw[i]; } } @@ -1048,9 +1015,6 @@ int FixRxKokkos::k_rhs_dense(double /*t*/, const VectorType& y, Vect #define rxnRateLaw (userData.rxnRateLaw) #define kFor (userData.kFor ) - //const double VDPD = domain->xprd * domain->yprd * domain->zprd / atom->natoms; - //const int nspecies = atom->nspecies_dpd; - for (int ispecies=0; ispecies::k_rhs_dense(double /*t*/, const VectorType& y, Vect for (int ispecies=0; ispecies::k_rhs_dense(double /*t*/, const VectorType& y, Vect for (int jrxn=0; jrxn::k_rhs_sparse(double /*t*/, const VectorType& y, Vec for (int kk = 1; kk < maxReactants; ++kk) { const int k = nuk(i,kk); if (k == SparseKinetics_invalidIndex) break; - //if (k != SparseKinetics_invalidIndex) rxnRateLawForward *= powint( conc[k], inu(i,kk) ); } } else { @@ -1119,7 +1080,6 @@ int FixRxKokkos::k_rhs_sparse(double /*t*/, const VectorType& y, Vec for (int kk = 1; kk < maxReactants; ++kk) { const int k = nuk(i,kk); if (k == SparseKinetics_invalidIndex) break; - //if (k != SparseKinetics_invalidIndex) rxnRateLawForward *= pow( conc[k], nu(i,kk) ); } } @@ -1138,7 +1098,6 @@ int FixRxKokkos::k_rhs_sparse(double /*t*/, const VectorType& y, Vec for (int kk = 1; kk < maxReactants; ++kk) { const int k = nuk(i,kk); if (k == SparseKinetics_invalidIndex) break; - //if (k != SparseKinetics_invalidIndex) dydt[k] -= nu(i,kk) * rxnRateLaw[i]; } @@ -1147,7 +1106,6 @@ int FixRxKokkos::k_rhs_sparse(double /*t*/, const VectorType& y, Vec for (int kk = maxReactants+1; kk < maxSpecies; ++kk) { const int k = nuk(i,kk); if (k == SparseKinetics_invalidIndex) break; - //if (k != SparseKinetics_invalidIndex) dydt[k] += nu(i,kk) * rxnRateLaw[i]; } } @@ -1215,8 +1173,6 @@ void FixRxKokkos::operator()(SolverType, const int &i) const template void FixRxKokkos::create_kinetics_data() { - //printf("Inside FixRxKokkos::create_kinetics_data\n"); - memoryKK->create_kokkos( d_kineticsData.Arr, h_kineticsData.Arr, nreactions, "KineticsType::Arr"); memoryKK->create_kokkos( d_kineticsData.nArr, h_kineticsData.nArr, nreactions, "KineticsType::nArr"); memoryKK->create_kokkos( d_kineticsData.Ea, h_kineticsData.Ea, nreactions, "KineticsType::Ea"); @@ -1296,8 +1252,6 @@ void FixRxKokkos::create_kinetics_data() template void FixRxKokkos::setup_pre_force(int vflag) { - //printf("Inside FixRxKokkos::setup_pre_force restartFlag= %d\n", my_restartFlag); - if (my_restartFlag) my_restartFlag = 0; else @@ -1309,8 +1263,6 @@ void FixRxKokkos::setup_pre_force(int vflag) template void FixRxKokkos::pre_force(int vflag) { - //printf("Inside FixRxKokkos::pre_force localTempFlag= %d\n", localTempFlag); - this->solve_reactions( vflag, true ); } @@ -1407,8 +1359,6 @@ void FixRxKokkos::operator()(Tag_FixRxKokkos_solveSystems void FixRxKokkos::solve_reactions(const int /*vflag*/, const bool isPreForce) { - //printf("Inside FixRxKokkos::solve_reactions localTempFlag= %d isPreForce= %s\n", localTempFlag, isPreForce ? "True" : "false"); - copymode = 1; if (update_kinetics_data) @@ -1416,7 +1366,6 @@ void FixRxKokkos::solve_reactions(const int /*vflag*/, const bool is //TimerType timer_start = getTimeStamp(); - //const int nlocal = atom->nlocal; this->nlocal = atom->nlocal; const int nghost = atom->nghost; const int newton_pair = force->newton_pair; @@ -1477,9 +1426,6 @@ void FixRxKokkos::solve_reactions(const int /*vflag*/, const bool is // ... // Local references to the atomKK objects. - //typename ArrayTypes::t_efloat_1d d_dpdTheta = atomKK->k_dpdTheta.view(); - //typename ArrayTypes::t_float_2d d_dvector = atomKK->k_dvector.view(); - //typename ArrayTypes::t_int_1d d_mask = atomKK->k_mask.view(); this->d_dpdTheta = atomKK->k_dpdTheta.view(); this->d_dvector = atomKK->k_dvector.view(); this->d_mask = atomKK->k_mask.view(); @@ -1488,8 +1434,6 @@ void FixRxKokkos::solve_reactions(const int /*vflag*/, const bool is atomKK->sync( execution_space, MASK_MASK | DVECTOR_MASK | DPDTHETA_MASK ); // Set some constants outside of the parallel_for - //const double boltz = force->boltz; - //const double t_stop = update->dt; // DPD time-step and integration length. this->boltz = force->boltz; this->t_stop = update->dt; // DPD time-step and integration length. @@ -1505,13 +1449,6 @@ void FixRxKokkos::solve_reactions(const int /*vflag*/, const bool is d_diagnosticCounterPerODEnFuncs = k_diagnosticCounterPerODEnFuncs.template view(); Kokkos::parallel_for ( Kokkos::RangePolicy(0,nlocal), *this); - //Kokkos::parallel_for ( nlocal, - // LAMMPS_LAMBDA(const int i) - // { - // d_diagnosticCounterPerODEnSteps(i) = 0; - // d_diagnosticCounterPerODEnFuncs(i) = 0; - // } - // ); } // Error flag for any failures. @@ -1523,116 +1460,17 @@ void FixRxKokkos::solve_reactions(const int /*vflag*/, const bool is k_error_flag.template sync(); // Create scratch array space. - //const size_t scratchSpaceSize = (8*nspecies + 2*nreactions); this->scratchSpaceSize = (8*nspecies + 2*nreactions); - //double *scratchSpace = new double[ scratchSpaceSize * nlocal ]; - //typename ArrayTypes::t_double_1d d_scratchSpace("d_scratchSpace", scratchSpaceSize * nlocal); if (nlocal*scratchSpaceSize > d_scratchSpace.extent(0)) { memoryKK->destroy_kokkos (d_scratchSpace); memoryKK->create_kokkos (d_scratchSpace, nlocal*scratchSpaceSize, "FixRxKokkos::d_scratchSpace"); } -#if 0 - Kokkos::parallel_reduce( nlocal, LAMMPS_LAMBDA(int i, CounterType &counter) - { - if (d_mask(i) & groupbit) - { - //double *y = new double[8*nspecies]; - //double *rwork = y + nspecies; - - //StridedArrayType _y( y ); - //StridedArrayType _rwork( rwork ); - - StridedArrayType y( d_scratchSpace.data() + scratchSpaceSize * i ); - StridedArrayType rwork( &y[nspecies] ); - - //UserRHSData userData; - //userData.kFor = new double[nreactions]; - //userData.rxnRateLaw = new double[nreactions]; - - //UserRHSDataKokkos<1> userDataKokkos; - //userDataKokkos.kFor.m_data = userData.kFor; - //userDataKokkos.rxnRateLaw.m_data = userData.rxnRateLaw; - - UserRHSDataKokkos<1> userData; - userData.kFor.m_data = &( rwork[7*nspecies] ); - userData.rxnRateLaw.m_data = &( userData.kFor[ nreactions ] ); - - CounterType counter_i; - - const double theta = (localTempFlag) ? d_dpdThetaLocal(i) : d_dpdTheta(i); - - //Compute the reaction rate constants - for (int irxn = 0; irxn < nreactions; irxn++) - { - if (setRatesToZero) - userData.kFor[irxn] = 0.0; - else - { - userData.kFor[irxn] = d_kineticsData.Arr(irxn) * - pow(theta, d_kineticsData.nArr(irxn)) * - exp(-d_kineticsData.Ea(irxn) / boltz / theta); - } - } - - // Update ConcOld and initialize the ODE solution vector y[]. - for (int ispecies = 0; ispecies < nspecies; ispecies++) - { - const double tmp = d_dvector(ispecies, i); - d_dvector(ispecies+nspecies, i) = tmp; - y[ispecies] = tmp; - } - - // Solver the ODE system. - if (odeIntegrationFlag == ODE_LAMMPS_RK4) - { - k_rk4(t_stop, y, rwork, userData); - } - else if (odeIntegrationFlag == ODE_LAMMPS_RKF45) - { - k_rkf45(nspecies, t_stop, y, rwork, userData, counter_i); - - if (diagnosticFrequency == 1) - { - d_diagnosticCounterPerODEnSteps(i) = counter_i.nSteps; - d_diagnosticCounterPerODEnFuncs(i) = counter_i.nFuncs; - } - } - - // Store the solution back in dvector. - for (int ispecies = 0; ispecies < nspecies; ispecies++) - { - if (y[ispecies] < -1.0e-10) - { - //error->one(FLERR,"Computed concentration in RK solver is < -1.0e-10"); - k_error_flag.template view()() = 2; - // This should be an atomic update. - } - else if (y[ispecies] < MY_EPSILON) - y[ispecies] = 0.0; - - d_dvector(ispecies,i) = y[ispecies]; - } - - //delete [] y; - //delete [] userData.kFor; - //delete [] userData.rxnRateLaw; - - // Update the iteration statistics counter. Is this unique for each iteration? - counter += counter_i; - - } // if - } // parallel_for lambda-body - - , TotalCounters // reduction value for all iterations. - ); -#else if (setRatesToZero) Kokkos::parallel_reduce( Kokkos::RangePolicy >(0,nlocal), *this, TotalCounters); else Kokkos::parallel_reduce( Kokkos::RangePolicy >(0,nlocal), *this, TotalCounters); -#endif TimerType timer_ODE = getTimeStamp(); @@ -1652,16 +1490,8 @@ void FixRxKokkos::solve_reactions(const int /*vflag*/, const bool is atomKK->modified ( Host, DVECTOR_MASK ); - //TimerType timer_stop = getTimeStamp(); - double time_ODE = getElapsedTime(timer_localTemperature, timer_ODE); - //printf("me= %d kokkos total= %g temp= %g ode= %g comm= %g nlocal= %d nfc= %d %d\n", comm->me, - // getElapsedTime(timer_start, timer_stop), - // getElapsedTime(timer_start, timer_localTemperature), - // getElapsedTime(timer_localTemperature, timer_ODE), - // getElapsedTime(timer_ODE, timer_stop), nlocal, TotalCounters.nFuncs, TotalCounters.nSteps); - // Warn the user if a failure was detected in the ODE solver. if (TotalCounters.nFails > 0) { char sbuf[128]; @@ -1731,7 +1561,6 @@ void FixRxKokkos::odeDiagnostics() // Compute counters per dpd time-step. for (int i = 0; i < numCounters; ++i) { my_vals[i] = this->diagnosticCounter[i] / nTimes; - //printf("my sum[%d] = %f %d\n", i, my_vals[i], comm->me); } MPI_Allreduce (my_vals, sums, numCounters, MPI_DOUBLE, MPI_SUM, world); @@ -1770,7 +1599,6 @@ void FixRxKokkos::odeDiagnostics() double my_max[numCounters], my_min[numCounters]; - //const int nlocal = atom->nlocal; nlocal = atom->nlocal; HAT::t_int_1d h_mask = atomKK->k_mask.h_view; @@ -1980,9 +1808,6 @@ template template void FixRxKokkos::computeLocalTemperature() { - //typename ArrayTypes::t_x_array_randomread d_x = atomKK->k_x.view(); - //typename ArrayTypes::t_int_1d_randomread d_type = atomKK->k_type.view(); - //typename ArrayTypes::t_efloat_1d d_dpdTheta = atomKK->k_dpdTheta.view(); d_x = atomKK->k_x.view(); d_type = atomKK->k_type.view(); d_dpdTheta = atomKK->k_dpdTheta.view(); @@ -1993,21 +1818,9 @@ void FixRxKokkos::computeLocalTemperature() nlocal = atom->nlocal; const int nghost = atom->nghost; - //printf("Inside FixRxKokkos::computeLocalTemperature: %d %d %d %d %d %d %d\n", WT_FLAG, LOCAL_TEMP_FLAG, NEWTON_PAIR, (int)lmp->kokkos->neighflag, NEIGHFLAG, nlocal, nghost); - - // Pull from pairDPDE. The pairDPDEKK objects are protected so recreate here for now. - //pairDPDEKK->k_cutsq.template sync(); - //typename ArrayTypes::t_ffloat_2d d_cutsq = pairDPDEKK->k_cutsq.template view::tdual_ffloat_2d k_cutsq; - //typename ArrayTypes::t_ffloat_2d d_cutsq; - //double **h_cutsq; - { const int ntypes = atom->ntypes; - //memoryKK->create_kokkos (k_cutsq, h_cutsq, ntypes+1, ntypes+1, "pair:cutsq"); if (ntypes+1 > (int) k_cutsq.extent(0)) { memoryKK->destroy_kokkos (k_cutsq); memoryKK->create_kokkos (k_cutsq, ntypes+1, ntypes+1, "FixRxKokkos::k_cutsq"); @@ -2028,7 +1841,6 @@ void FixRxKokkos::computeLocalTemperature() // Initialize the local temperature weight array int sumWeightsCt = nlocal + (NEWTON_PAIR ? nghost : 0); - //memoryKK->create_kokkos (k_sumWeights, sumWeights, sumWeightsCt, "FixRxKokkos::sumWeights"); if (sumWeightsCt > (int)k_sumWeights.template view().extent(0)) { memoryKK->destroy_kokkos(k_sumWeights, sumWeights); memoryKK->create_kokkos (k_sumWeights, sumWeightsCt, "FixRxKokkos::sumWeights"); @@ -2036,14 +1848,6 @@ void FixRxKokkos::computeLocalTemperature() h_sumWeights = k_sumWeights.h_view; } - // Initialize the accumulator to zero ... - //Kokkos::parallel_for (sumWeightsCt, - // LAMMPS_LAMBDA(const int i) - // { - // d_sumWeights(i) = 0.0; - // } - // ); - Kokkos::parallel_for (Kokkos::RangePolicy(0, sumWeightsCt), *this); // Local list views. (This isn't working!) @@ -2051,9 +1855,6 @@ void FixRxKokkos::computeLocalTemperature() if (!list->kokkos) error->one(FLERR,"list is not a Kokkos list\n"); - //typename ArrayTypes::t_neighbors_2d d_neighbors = k_list->d_neighbors; - //typename ArrayTypes::t_int_1d d_ilist = k_list->d_ilist; - //typename ArrayTypes::t_int_1d d_numneigh = k_list->d_numneigh; d_neighbors = k_list->d_neighbors; d_ilist = k_list->d_ilist; d_numneigh = k_list->d_numneigh; @@ -2067,7 +1868,6 @@ void FixRxKokkos::computeLocalTemperature() { // Create an atomic view of sumWeights and dpdThetaLocal. Only needed // for Half/thread scenarios. - //typedef Kokkos::View< E_FLOAT*, typename DAT::t_efloat_1d::array_layout, typename KKDevice::value, Kokkos::MemoryTraits< AtomicF< NEIGHFLAG >::value> > AtomicViewType; typedef Kokkos::View< E_FLOAT*, typename DAT::t_efloat_1d::array_layout, typename KKDevice::value, Kokkos::MemoryTraits< AtomicF< NEIGHFLAG >::value> > AtomicViewType; AtomicViewType a_dpdThetaLocal = d_dpdThetaLocal; @@ -2174,8 +1974,6 @@ void FixRxKokkos::computeLocalTemperature() template int FixRxKokkos::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/) { - //printf("inside FixRxKokkos::pack_forward_comm %d\n", comm->me); - HAT::t_float_2d h_dvector = atomKK->k_dvector.h_view; int m = 0; @@ -2186,9 +1984,6 @@ int FixRxKokkos::pack_forward_comm(int n, int *list, double *buf, in buf[m++] = h_dvector(ispecies+nspecies,jj); } } - - //printf("done with FixRxKokkos::pack_forward_comm %d\n", comm->me); - return m; } @@ -2197,8 +1992,6 @@ int FixRxKokkos::pack_forward_comm(int n, int *list, double *buf, in template void FixRxKokkos::unpack_forward_comm(int n, int first, double *buf) { - //printf("inside FixRxKokkos::unpack_forward_comm %d\n", comm->me); - HAT::t_float_2d h_dvector = atomKK->k_dvector.h_view; const int last = first + n ; @@ -2209,8 +2002,6 @@ void FixRxKokkos::unpack_forward_comm(int n, int first, double *buf) h_dvector(ispecies+nspecies,ii) = buf[m++]; } } - - //printf("done with FixRxKokkos::unpack_forward_comm %d\n", comm->me); } /* ---------------------------------------------------------------------- */ @@ -2218,7 +2009,6 @@ void FixRxKokkos::unpack_forward_comm(int n, int first, double *buf) template int FixRxKokkos::pack_reverse_comm(int n, int first, double *buf) { - //printf("inside FixRxKokkos::pack_reverse_comm %d %d %d\n", comm->me, first, n); // Sync the host view. k_dpdThetaLocal.template sync(); k_sumWeights. template sync(); @@ -2230,8 +2020,6 @@ int FixRxKokkos::pack_reverse_comm(int n, int first, double *buf) buf[m++] = h_dpdThetaLocal(i); buf[m++] = h_sumWeights(i); } - //printf("done with FixRxKokkos::pack_reverse_comm %d\n", comm->me); - return m; } @@ -2240,7 +2028,6 @@ int FixRxKokkos::pack_reverse_comm(int n, int first, double *buf) template void FixRxKokkos::unpack_reverse_comm(int n, int *list, double *buf) { - // printf("inside FixRxKokkos::unpack_reverse_comm %d\n", comm->me); int m = 0; for (int i = 0; i < n; i++) { const int j = list[i]; @@ -2252,8 +2039,6 @@ void FixRxKokkos::unpack_reverse_comm(int n, int *list, double *buf) // Signal that the host view has been modified. k_dpdThetaLocal.template modify(); k_sumWeights. template modify(); - - // printf("done with FixRxKokkos::unpack_reverse_comm %d\n", comm->me); } namespace LAMMPS_NS { diff --git a/src/fix_property_atom.h b/src/fix_property_atom.h index f2f26d511b..92497d6188 100644 --- a/src/fix_property_atom.h +++ b/src/fix_property_atom.h @@ -56,10 +56,10 @@ class FixPropertyAtom : public Fix { int nvalue, border; int molecule_flag, q_flag, rmass_flag; // flags for specific fields int temperature_flag, heatflow_flag; - int *styles; // style of each value, see enum - int *index; // indices into atom custom data structs - int *cols; // columns per value, for arrays - char *astyle; // atom style at instantiation + int *styles; // style of each value, see enum + int *index; // indices into atom custom data structs + int *cols; // columns per value, for arrays + char *astyle; // atom style at instantiation int values_peratom; // # of values per atom, including multiple for arrays int nmax_old; // length of peratom arrays the last time they grew From 5e85baf9190618081711dc95cc59a5e1c6bbaf01 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 22 Mar 2023 13:46:20 -0600 Subject: [PATCH 381/448] update of quantum code repos and instructions and log files --- examples/QUANTUM/LATTE/README | 45 +- examples/QUANTUM/LATTE/latte_mdi.py | 2 +- ...4Feb23.ch4.mpi.1 => log.22Mar23.ch4.mpi.1} | 20 +- ....ch4.plugin.1 => log.22Mar23.ch4.plugin.1} | 22 +- ...phene.mpi.1 => log.22Mar23.graphene.mpi.1} | 20 +- ...plugin.1 => log.22Mar23.graphene.plugin.1} | 22 +- ....series.mpi.1 => log.22Mar23.series.mpi.1} | 24 +- ...s.plugin.1 => log.22Mar23.series.plugin.1} | 28 +- ...ucrose.mpi.1 => log.22Mar23.sucrose.mpi.1} | 22 +- ....plugin.1 => log.22Mar23.sucrose.plugin.1} | 22 +- ...4Feb23.uo2.mpi.1 => log.22Mar23.uo2.mpi.1} | 20 +- ....uo2.plugin.1 => log.22Mar23.uo2.plugin.1} | 20 +- ....min.mpi.1 => log.22Mar23.water.min.mpi.1} | 24 +- ...lugin.1 => log.22Mar23.water.min.plugin.1} | 26 +- ...23.water.mpi.1 => log.22Mar23.water.mpi.1} | 22 +- ...er.plugin.1 => log.22Mar23.water.plugin.1} | 24 +- examples/QUANTUM/NWChem/README | 35 +- ....series.mpi.1 => log.22Mar23.series.mpi.1} | 2 +- ...s.plugin.1 => log.22Mar23.series.plugin.1} | 2 +- ...cc.1 => log.22Mar23.series.plugin.w.bcc.1} | 6 +- ... => log.22Mar23.series.plugin.w.diamond.1} | 8 +- ...1 => log.22Mar23.series.plugin.w.sc_001.1} | 8 +- ...lugin.1 => log.22Mar23.series.pwdft.mpi.1} | 1481 +++--- .../NWChem/log.22Mar23.series.pwdft.plugin.1 | 1198 +++++ ...ies.w.bcc.1 => log.22Mar23.series.w.bcc.1} | 8 +- ...amond.1 => log.22Mar23.series.w.diamond.1} | 8 +- ...sc_001.1 => log.22Mar23.series.w.sc_001.1} | 8 +- ...i.2 => log.22Mar23.water.pwdft.qmmm.mpi.2} | 494 +- ... => log.22Mar23.water.pwdft.qmmm.plugin.2} | 494 +- ...mmm.mpi.1 => log.22Mar23.water.qmmm.mpi.1} | 40 +- ...ugin.2 => log.22Mar23.water.qmmm.plugin.2} | 44 +- ...8 => log.22Mar23.zeolite.pwdft.qmmm.mpi.8} | 190 +- ...> log.22Mar23.zeolite.pwdft.qmmm.plugin.8} | 190 +- ...m.mpi.1 => log.22Mar23.zeolite.qmmm.mpi.1} | 26 +- ...in.8 => log.22Mar23.zeolite.qmmm.plugin.8} | 24 +- .../NWChem/log.24Feb23.series.pwdft.mpi.1 | 4116 ----------------- .../NWChem/log.24Feb23.series.w.bcc_222.1 | 0 .../NWChem/log.24Feb23.series.w.fcc_001.1 | 0 examples/QUANTUM/NWChem/nwchem_mdi.py | 2 +- examples/QUANTUM/PySCF/README | 59 +- .../QUANTUM/PySCF/log.22Mar23.mixture.mm.1 | 112 + ...m.mpi.1 => log.22Mar23.mixture.qmmm.mpi.1} | 28 +- ...in.1 => log.22Mar23.mixture.qmmm.plugin.1} | 30 +- ...mmm.mpi.1 => log.22Mar23.water.qmmm.mpi.1} | 46 +- ...ugin.1 => log.22Mar23.water.qmmm.plugin.1} | 44 +- examples/QUANTUM/PySCF/pyscf_mdi.py | 6 +- 46 files changed, 3178 insertions(+), 5894 deletions(-) rename examples/QUANTUM/LATTE/{log.24Feb23.ch4.mpi.1 => log.22Mar23.ch4.mpi.1} (84%) rename examples/QUANTUM/LATTE/{log.24Feb23.ch4.plugin.1 => log.22Mar23.ch4.plugin.1} (84%) rename examples/QUANTUM/LATTE/{log.24Feb23.graphene.mpi.1 => log.22Mar23.graphene.mpi.1} (83%) rename examples/QUANTUM/LATTE/{log.24Feb23.graphene.plugin.1 => log.22Mar23.graphene.plugin.1} (83%) rename examples/QUANTUM/LATTE/{log.24Feb23.series.mpi.1 => log.22Mar23.series.mpi.1} (92%) rename examples/QUANTUM/LATTE/{log.24Feb23.series.plugin.1 => log.22Mar23.series.plugin.1} (92%) rename examples/QUANTUM/LATTE/{log.24Feb23.sucrose.mpi.1 => log.22Mar23.sucrose.mpi.1} (84%) rename examples/QUANTUM/LATTE/{log.24Feb23.sucrose.plugin.1 => log.22Mar23.sucrose.plugin.1} (84%) rename examples/QUANTUM/LATTE/{log.24Feb23.uo2.mpi.1 => log.22Mar23.uo2.mpi.1} (81%) rename examples/QUANTUM/LATTE/{log.24Feb23.uo2.plugin.1 => log.22Mar23.uo2.plugin.1} (82%) rename examples/QUANTUM/LATTE/{log.24Feb23.water.min.mpi.1 => log.22Mar23.water.min.mpi.1} (84%) rename examples/QUANTUM/LATTE/{log.24Feb23.water.min.plugin.1 => log.22Mar23.water.min.plugin.1} (84%) rename examples/QUANTUM/LATTE/{log.24Feb23.water.mpi.1 => log.22Mar23.water.mpi.1} (83%) rename examples/QUANTUM/LATTE/{log.24Feb23.water.plugin.1 => log.22Mar23.water.plugin.1} (83%) rename examples/QUANTUM/NWChem/{log.24Feb23.series.mpi.1 => log.22Mar23.series.mpi.1} (95%) rename examples/QUANTUM/NWChem/{log.24Feb23.series.plugin.1 => log.22Mar23.series.plugin.1} (95%) rename examples/QUANTUM/NWChem/{log.24Feb23.series.plugin.w.bcc.1 => log.22Mar23.series.plugin.w.bcc.1} (93%) rename examples/QUANTUM/NWChem/{log.24Feb23.series.plugin.w.diamond.1 => log.22Mar23.series.plugin.w.diamond.1} (91%) rename examples/QUANTUM/NWChem/{log.24Feb23.series.plugin.w.sc_001.1 => log.22Mar23.series.plugin.w.sc_001.1} (90%) rename examples/QUANTUM/NWChem/{log.24Feb23.series.pwdft.plugin.1 => log.22Mar23.series.pwdft.mpi.1} (87%) create mode 100644 examples/QUANTUM/NWChem/log.22Mar23.series.pwdft.plugin.1 rename examples/QUANTUM/NWChem/{log.24Feb23.series.w.bcc.1 => log.22Mar23.series.w.bcc.1} (90%) rename examples/QUANTUM/NWChem/{log.24Feb23.series.w.diamond.1 => log.22Mar23.series.w.diamond.1} (90%) rename examples/QUANTUM/NWChem/{log.24Feb23.series.w.sc_001.1 => log.22Mar23.series.w.sc_001.1} (89%) rename examples/QUANTUM/NWChem/{log.24Feb23.water.pwdft.qmmm.mpi.2 => log.22Mar23.water.pwdft.qmmm.mpi.2} (89%) rename examples/QUANTUM/NWChem/{log.24Feb23.water.pwdft.qmmm.plugin.2 => log.22Mar23.water.pwdft.qmmm.plugin.2} (89%) rename examples/QUANTUM/NWChem/{log.24Feb23.water.qmmm.mpi.1 => log.22Mar23.water.qmmm.mpi.1} (82%) rename examples/QUANTUM/NWChem/{log.24Feb23.water.qmmm.plugin.2 => log.22Mar23.water.qmmm.plugin.2} (82%) rename examples/QUANTUM/NWChem/{log.24Feb23.zeolite.pwdft.qmmm.mpi.8 => log.22Mar23.zeolite.pwdft.qmmm.mpi.8} (89%) rename examples/QUANTUM/NWChem/{log.24Feb23.zeolite.pwdft.qmmm.plugin.8 => log.22Mar23.zeolite.pwdft.qmmm.plugin.8} (89%) rename examples/QUANTUM/NWChem/{log.24Feb23.zeolite.qmmm.mpi.1 => log.22Mar23.zeolite.qmmm.mpi.1} (87%) rename examples/QUANTUM/NWChem/{log.24Feb23.zeolite.qmmm.plugin.8 => log.22Mar23.zeolite.qmmm.plugin.8} (88%) delete mode 100644 examples/QUANTUM/NWChem/log.24Feb23.series.pwdft.mpi.1 delete mode 100644 examples/QUANTUM/NWChem/log.24Feb23.series.w.bcc_222.1 delete mode 100644 examples/QUANTUM/NWChem/log.24Feb23.series.w.fcc_001.1 create mode 100644 examples/QUANTUM/PySCF/log.22Mar23.mixture.mm.1 rename examples/QUANTUM/PySCF/{log.24Feb23.mixture.qmmm.mpi.1 => log.22Mar23.mixture.qmmm.mpi.1} (85%) rename examples/QUANTUM/PySCF/{log.24Feb23.mixture.qmmm.plugin.1 => log.22Mar23.mixture.qmmm.plugin.1} (85%) rename examples/QUANTUM/PySCF/{log.24Feb23.water.qmmm.mpi.1 => log.22Mar23.water.qmmm.mpi.1} (70%) rename examples/QUANTUM/PySCF/{log.24Feb23.water.qmmm.plugin.1 => log.22Mar23.water.qmmm.plugin.1} (70%) diff --git a/examples/QUANTUM/LATTE/README b/examples/QUANTUM/LATTE/README index 28efbf3507..2ceadba28b 100644 --- a/examples/QUANTUM/LATTE/README +++ b/examples/QUANTUM/LATTE/README @@ -2,7 +2,7 @@ Step 0: What LATTE currently supports Step 1: Build LAMMPS -Step 2: Download/build MDI code coupling package +Step 2: Install or download/build MDI code coupling package Step 3: Download/build LATTE Step 4: Perform test runs in any of 3 modes @@ -65,7 +65,27 @@ CMake: --------------------------------- --------------------------------- -Step 2: Download/build MDI code coupling package +Step 2: Install or download/build MDI code coupling package + +To simply use the MDI python module for the example scripts in this +dir, you only need to install the MDI python module in your +environment. Alternatively, you can download/build MDI itself, which +will include its documentation and examples (as well as libraries and +Python interface). + +NOTE: It should be fine to leave off the version number for the python +module installs, to just grab the latest MDI version. 1.4.16 is the +version of MDI LAMMPS is currently using. + +(option 1) Install MDI python module via conda: + +% conda install -c conda-forge pymdi=1.4.16 + +(option 2) Install MDI python module via pip: + +% pip install 'pymdi>=1.4.14' + +(option 3) Download/build MDI code coupling package (a) clone the MDI Git repo @@ -84,38 +104,43 @@ Python can find MDI: For bash: -% export PYTHONPATH="$PYTHONPATH:/home/sjplimp/mdi/git" +% export PYTHONPATH="$PYTHONPATH:/home/sjplimp/mdi/git/build/MDI_Library" % hash -r For (t)csh: -% setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/mdi/git +% setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/mdi/git/build/MDI_Library % rehash -(d) Check import of 3 Python modules which the script that wraps LATTE -will need: +(d) Check import of 3 Python modules which the script that wraps +LATTE will need: % python >>> import numpy as np >>> from mpi4py import MPI ->>> import MDI_Library as mdi +>>> import mdi --------------------------------- --------------------------------- Step 3: Download/build LATTE -(a) clone the skimLATTE repo +NOTE: As of March 2023, this ECP branch of the LATTE repo is the +latest developement version of LATTE to use with LAMMPS. It will be +become the default LATTE branch at some point in the future. This doc +page will be updated when that happens. + +(a) clone the ECP branch of the LATTE Git repo % mkdir latte; cd latte -% git clone git@github.com:lanl/LATTE.git git +% git clone -b ECP git@github.com:lanl/LATTE.git git (b) build LATTE as a shared library % cd ~/latte/git % mkdir build; cd build % cmake -DBUILD_SHARED_LIBS=on ../cmake -% make # should produce liblatte.so in build +% make -j # should produce liblatte.so in build (c) Add a line like this to your ~/.bashrc or ~/.cshrc file so that the liblatte.so file can be found: diff --git a/examples/QUANTUM/LATTE/latte_mdi.py b/examples/QUANTUM/LATTE/latte_mdi.py index 2469591216..0170feee1f 100644 --- a/examples/QUANTUM/LATTE/latte_mdi.py +++ b/examples/QUANTUM/LATTE/latte_mdi.py @@ -7,7 +7,7 @@ from ctypes import * import numpy as np from mpi4py import MPI -import MDI_Library as mdi +import mdi # -------------------------------------------- diff --git a/examples/QUANTUM/LATTE/log.24Feb23.ch4.mpi.1 b/examples/QUANTUM/LATTE/log.22Mar23.ch4.mpi.1 similarity index 84% rename from examples/QUANTUM/LATTE/log.24Feb23.ch4.mpi.1 rename to examples/QUANTUM/LATTE/log.22Mar23.ch4.mpi.1 index bed9c8ac60..ef01c61b6c 100644 --- a/examples/QUANTUM/LATTE/log.24Feb23.ch4.mpi.1 +++ b/examples/QUANTUM/LATTE/log.22Mar23.ch4.mpi.1 @@ -1,4 +1,4 @@ -LAMMPS (22 Dec 2022) +LAMMPS (8 Feb 2023) # simple CH4 model with LATTE units metal @@ -78,21 +78,21 @@ Per MPI rank memory allocation (min/avg/max) = 6.027 | 6.027 | 6.027 Mbytes 80 5.1636049 -23.983039 -23.980369 297.94883 90 13.368191 -23.987306 -23.980394 192.91153 100 7.0848846 -23.984037 -23.980374 -269.0214 -Loop time of 0.13604 on 1 procs for 100 steps with 5 atoms +Loop time of 0.0756328 on 1 procs for 100 steps with 5 atoms -Performance: 15.878 ns/day, 1.512 hours/ns, 735.079 timesteps/s, 3.675 katom-step/s -99.3% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 28.559 ns/day, 0.840 hours/ns, 1322.179 timesteps/s, 6.611 katom-step/s +99.4% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 3.348e-06 | 3.348e-06 | 3.348e-06 | 0.0 | 0.00 -Bond | 2.237e-06 | 2.237e-06 | 2.237e-06 | 0.0 | 0.00 +Pair | 2.862e-06 | 2.862e-06 | 2.862e-06 | 0.0 | 0.00 +Bond | 1.987e-06 | 1.987e-06 | 1.987e-06 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 1.0553e-05 | 1.0553e-05 | 1.0553e-05 | 0.0 | 0.01 -Output | 4.264e-05 | 4.264e-05 | 4.264e-05 | 0.0 | 0.03 -Modify | 0.13597 | 0.13597 | 0.13597 | 0.0 | 99.95 -Other | | 1.515e-05 | | | 0.01 +Comm | 8.987e-06 | 8.987e-06 | 8.987e-06 | 0.0 | 0.01 +Output | 2.5967e-05 | 2.5967e-05 | 2.5967e-05 | 0.0 | 0.03 +Modify | 0.075581 | 0.075581 | 0.075581 | 0.0 | 99.93 +Other | | 1.178e-05 | | | 0.02 Nlocal: 5 ave 5 max 5 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/QUANTUM/LATTE/log.24Feb23.ch4.plugin.1 b/examples/QUANTUM/LATTE/log.22Mar23.ch4.plugin.1 similarity index 84% rename from examples/QUANTUM/LATTE/log.24Feb23.ch4.plugin.1 rename to examples/QUANTUM/LATTE/log.22Mar23.ch4.plugin.1 index 2ab2e5dc78..2c61dbd38d 100644 --- a/examples/QUANTUM/LATTE/log.24Feb23.ch4.plugin.1 +++ b/examples/QUANTUM/LATTE/log.22Mar23.ch4.plugin.1 @@ -1,4 +1,4 @@ -LAMMPS (22 Dec 2022) +LAMMPS (8 Feb 2023) # simple CH4 model with LATTE units metal @@ -18,7 +18,7 @@ Finding 1-2 1-3 1-4 neighbors ... 0 = max # of 1-4 neighbors 1 = max # of special neighbors special bonds CPU = 0.000 seconds - read_data CPU = 0.003 seconds + read_data CPU = 0.004 seconds # replicate system if requested @@ -80,21 +80,21 @@ Per MPI rank memory allocation (min/avg/max) = 6.027 | 6.027 | 6.027 Mbytes 80 5.1636049 -23.983039 -23.980369 297.94883 90 13.368191 -23.987306 -23.980394 192.91153 100 7.0848846 -23.984037 -23.980374 -269.0214 -Loop time of 0.1213 on 1 procs for 100 steps with 5 atoms +Loop time of 0.0679725 on 1 procs for 100 steps with 5 atoms -Performance: 17.807 ns/day, 1.348 hours/ns, 824.404 timesteps/s, 4.122 katom-step/s -100.0% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 31.778 ns/day, 0.755 hours/ns, 1471.184 timesteps/s, 7.356 katom-step/s +90.7% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 1.0677e-05 | 1.0677e-05 | 1.0677e-05 | 0.0 | 0.01 -Bond | 3.272e-06 | 3.272e-06 | 3.272e-06 | 0.0 | 0.00 +Pair | 5.878e-06 | 5.878e-06 | 5.878e-06 | 0.0 | 0.01 +Bond | 3.369e-06 | 3.369e-06 | 3.369e-06 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 2.6324e-05 | 2.6324e-05 | 2.6324e-05 | 0.0 | 0.02 -Output | 8.975e-05 | 8.975e-05 | 8.975e-05 | 0.0 | 0.07 -Modify | 0.12112 | 0.12112 | 0.12112 | 0.0 | 99.85 -Other | | 4.71e-05 | | | 0.04 +Comm | 1.6278e-05 | 1.6278e-05 | 1.6278e-05 | 0.0 | 0.02 +Output | 5.6299e-05 | 5.6299e-05 | 5.6299e-05 | 0.0 | 0.08 +Modify | 0.067865 | 0.067865 | 0.067865 | 0.0 | 99.84 +Other | | 2.597e-05 | | | 0.04 Nlocal: 5 ave 5 max 5 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/QUANTUM/LATTE/log.24Feb23.graphene.mpi.1 b/examples/QUANTUM/LATTE/log.22Mar23.graphene.mpi.1 similarity index 83% rename from examples/QUANTUM/LATTE/log.24Feb23.graphene.mpi.1 rename to examples/QUANTUM/LATTE/log.22Mar23.graphene.mpi.1 index cc9b842062..92ebab3429 100644 --- a/examples/QUANTUM/LATTE/log.24Feb23.graphene.mpi.1 +++ b/examples/QUANTUM/LATTE/log.22Mar23.graphene.mpi.1 @@ -1,4 +1,4 @@ -LAMMPS (22 Dec 2022) +LAMMPS (8 Feb 2023) # graphene model with LATTE units metal @@ -72,21 +72,21 @@ Per MPI rank memory allocation (min/avg/max) = 6.032 | 6.032 | 6.032 Mbytes 10 2683.9104 -257.82775 -247.07314 59699.92 15 4697.8879 -265.91019 -247.08545 57703.843 20 5758.1468 -270.16276 -247.0895 57792.304 -Loop time of 2.08088 on 1 procs for 20 steps with 32 atoms +Loop time of 1.62794 on 1 procs for 20 steps with 32 atoms -Performance: 0.208 ns/day, 115.604 hours/ns, 9.611 timesteps/s, 307.563 atom-step/s +Performance: 0.265 ns/day, 90.441 hours/ns, 12.285 timesteps/s, 393.134 atom-step/s 100.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 2.699e-06 | 2.699e-06 | 2.699e-06 | 0.0 | 0.00 -Bond | 6.76e-07 | 6.76e-07 | 6.76e-07 | 0.0 | 0.00 +Pair | 2.462e-06 | 2.462e-06 | 2.462e-06 | 0.0 | 0.00 +Bond | 6.56e-07 | 6.56e-07 | 6.56e-07 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 1.1723e-05 | 1.1723e-05 | 1.1723e-05 | 0.0 | 0.00 -Output | 3.0408e-05 | 3.0408e-05 | 3.0408e-05 | 0.0 | 0.00 -Modify | 2.0808 | 2.0808 | 2.0808 | 0.0 |100.00 -Other | | 1.043e-05 | | | 0.00 +Comm | 3.2959e-05 | 3.2959e-05 | 3.2959e-05 | 0.0 | 0.00 +Output | 2.315e-05 | 2.315e-05 | 2.315e-05 | 0.0 | 0.00 +Modify | 1.6279 | 1.6279 | 1.6279 | 0.0 |100.00 +Other | | 9.915e-06 | | | 0.00 Nlocal: 32 ave 32 max 32 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -100,4 +100,4 @@ Ave neighs/atom = 1.5 Ave special neighs/atom = 0 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:00:02 +Total wall time: 0:00:01 diff --git a/examples/QUANTUM/LATTE/log.24Feb23.graphene.plugin.1 b/examples/QUANTUM/LATTE/log.22Mar23.graphene.plugin.1 similarity index 83% rename from examples/QUANTUM/LATTE/log.24Feb23.graphene.plugin.1 rename to examples/QUANTUM/LATTE/log.22Mar23.graphene.plugin.1 index d60a7f3dd1..fea6d9431d 100644 --- a/examples/QUANTUM/LATTE/log.24Feb23.graphene.plugin.1 +++ b/examples/QUANTUM/LATTE/log.22Mar23.graphene.plugin.1 @@ -1,4 +1,4 @@ -LAMMPS (22 Dec 2022) +LAMMPS (8 Feb 2023) # graphene model with LATTE units metal @@ -18,7 +18,7 @@ Finding 1-2 1-3 1-4 neighbors ... 0 = max # of 1-4 neighbors 1 = max # of special neighbors special bonds CPU = 0.000 seconds - read_data CPU = 0.004 seconds + read_data CPU = 0.003 seconds # replicate system if requested @@ -74,21 +74,21 @@ Per MPI rank memory allocation (min/avg/max) = 6.032 | 6.032 | 6.032 Mbytes 10 2683.9104 -257.82775 -247.07314 59699.92 15 4697.8879 -265.91019 -247.08545 57703.843 20 5758.1468 -270.16276 -247.0895 57792.304 -Loop time of 2.09211 on 1 procs for 20 steps with 32 atoms +Loop time of 1.655 on 1 procs for 20 steps with 32 atoms -Performance: 0.206 ns/day, 116.229 hours/ns, 9.560 timesteps/s, 305.911 atom-step/s +Performance: 0.261 ns/day, 91.944 hours/ns, 12.085 timesteps/s, 386.708 atom-step/s 100.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 7.006e-06 | 7.006e-06 | 7.006e-06 | 0.0 | 0.00 -Bond | 1.479e-06 | 1.479e-06 | 1.479e-06 | 0.0 | 0.00 +Pair | 7.488e-06 | 7.488e-06 | 7.488e-06 | 0.0 | 0.00 +Bond | 1.768e-06 | 1.768e-06 | 1.768e-06 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 1.952e-05 | 1.952e-05 | 1.952e-05 | 0.0 | 0.00 -Output | 5.83e-05 | 5.83e-05 | 5.83e-05 | 0.0 | 0.00 -Modify | 2.092 | 2.092 | 2.092 | 0.0 | 99.99 -Other | | 3.168e-05 | | | 0.00 +Comm | 1.9365e-05 | 1.9365e-05 | 1.9365e-05 | 0.0 | 0.00 +Output | 5.8712e-05 | 5.8712e-05 | 5.8712e-05 | 0.0 | 0.00 +Modify | 1.6549 | 1.6549 | 1.6549 | 0.0 | 99.99 +Other | | 3.093e-05 | | | 0.00 Nlocal: 32 ave 32 max 32 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -102,4 +102,4 @@ Ave neighs/atom = 1.5 Ave special neighs/atom = 0 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:00:02 +Total wall time: 0:00:01 diff --git a/examples/QUANTUM/LATTE/log.24Feb23.series.mpi.1 b/examples/QUANTUM/LATTE/log.22Mar23.series.mpi.1 similarity index 92% rename from examples/QUANTUM/LATTE/log.24Feb23.series.mpi.1 rename to examples/QUANTUM/LATTE/log.22Mar23.series.mpi.1 index 5dfea3175e..540ce4e887 100644 --- a/examples/QUANTUM/LATTE/log.24Feb23.series.mpi.1 +++ b/examples/QUANTUM/LATTE/log.22Mar23.series.mpi.1 @@ -1,4 +1,4 @@ -LAMMPS (22 Dec 2022) +LAMMPS (8 Feb 2023) # Series of single-point calcs of 2,3,4 UO2 molecules # with LATTE in MDI stand-alone mode @@ -40,14 +40,14 @@ Finding 1-2 1-3 1-4 neighbors ... run 0 WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) -WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2348) WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) Per MPI rank memory allocation (min/avg/max) = 5.239 | 5.239 | 5.239 Mbytes Step Temp PotEng TotEng Press 0 0 -50.539026 -50.539026 -120855.18 -Loop time of 3.1e-07 on 1 procs for 0 steps with 6 atoms +Loop time of 4.37e-07 on 1 procs for 0 steps with 6 atoms -0.0% CPU use with 1 MPI tasks x no OpenMP threads +228.8% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -58,7 +58,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 3.1e-07 | | |100.00 +Other | | 4.37e-07 | | |100.00 Nlocal: 6 ave 6 max 6 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -113,14 +113,14 @@ Finding 1-2 1-3 1-4 neighbors ... run 0 WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) -WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2348) WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) Per MPI rank memory allocation (min/avg/max) = 5.239 | 5.239 | 5.239 Mbytes Step Temp PotEng TotEng Press 0 0 -78.155585 -78.155585 -99929.253 -Loop time of 5.28e-07 on 1 procs for 0 steps with 9 atoms +Loop time of 4.69e-07 on 1 procs for 0 steps with 9 atoms -189.4% CPU use with 1 MPI tasks x no OpenMP threads +213.2% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -131,7 +131,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 5.28e-07 | | |100.00 +Other | | 4.69e-07 | | |100.00 Nlocal: 9 ave 9 max 9 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -186,12 +186,12 @@ Finding 1-2 1-3 1-4 neighbors ... run 0 WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) -WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2348) WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) Per MPI rank memory allocation (min/avg/max) = 5.239 | 5.239 | 5.239 Mbytes Step Temp PotEng TotEng Press 0 0 -102.35715 -102.35715 -31036.694 -Loop time of 4.09e-07 on 1 procs for 0 steps with 12 atoms +Loop time of 4.2e-07 on 1 procs for 0 steps with 12 atoms 0.0% CPU use with 1 MPI tasks x no OpenMP threads @@ -204,7 +204,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 4.09e-07 | | |100.00 +Other | | 4.2e-07 | | |100.00 Nlocal: 12 ave 12 max 12 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/QUANTUM/LATTE/log.24Feb23.series.plugin.1 b/examples/QUANTUM/LATTE/log.22Mar23.series.plugin.1 similarity index 92% rename from examples/QUANTUM/LATTE/log.24Feb23.series.plugin.1 rename to examples/QUANTUM/LATTE/log.22Mar23.series.plugin.1 index 7afe809289..881a9678f9 100644 --- a/examples/QUANTUM/LATTE/log.24Feb23.series.plugin.1 +++ b/examples/QUANTUM/LATTE/log.22Mar23.series.plugin.1 @@ -1,4 +1,4 @@ -LAMMPS (22 Dec 2022) +LAMMPS (8 Feb 2023) # Series of single-point calcs of 2,3,4 UO2 molecules # with LATTE in MDI plugin mode @@ -24,7 +24,7 @@ Finding 1-2 1-3 1-4 neighbors ... 0 = max # of 1-4 neighbors 1 = max # of special neighbors special bonds CPU = 0.000 seconds - read_data CPU = 0.004 seconds + read_data CPU = 0.002 seconds neighbor 0.3 bin neigh_modify every 1 delay 0 check yes @@ -38,14 +38,14 @@ Finding 1-2 1-3 1-4 neighbors ... mdi plugin latte_mdi mdi "-role ENGINE -name LATTE -method LINK" extra latte.in.uo2 command "run 0" run 0 WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) -WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2348) WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) Per MPI rank memory allocation (min/avg/max) = 5.239 | 5.239 | 5.239 Mbytes Step Temp PotEng TotEng Press 0 0 -50.539026 -50.539026 -120855.18 -Loop time of 5.2e-07 on 1 procs for 0 steps with 6 atoms +Loop time of 3.55e-07 on 1 procs for 0 steps with 6 atoms -384.6% CPU use with 1 MPI tasks x no OpenMP threads +281.7% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -56,7 +56,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 5.2e-07 | | |100.00 +Other | | 3.55e-07 | | |100.00 Nlocal: 6 ave 6 max 6 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -111,14 +111,14 @@ Finding 1-2 1-3 1-4 neighbors ... mdi plugin latte_mdi mdi "-role ENGINE -name LATTE -method LINK" extra latte.in.uo2 command "run 0" run 0 WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) -WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2348) WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) Per MPI rank memory allocation (min/avg/max) = 5.239 | 5.239 | 5.239 Mbytes Step Temp PotEng TotEng Press 0 0 -78.155585 -78.155585 -99929.253 -Loop time of 5.5e-07 on 1 procs for 0 steps with 9 atoms +Loop time of 5.92e-07 on 1 procs for 0 steps with 9 atoms -181.8% CPU use with 1 MPI tasks x no OpenMP threads +168.9% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -129,7 +129,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 5.5e-07 | | |100.00 +Other | | 5.92e-07 | | |100.00 Nlocal: 9 ave 9 max 9 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -184,14 +184,14 @@ Finding 1-2 1-3 1-4 neighbors ... mdi plugin latte_mdi mdi "-role ENGINE -name LATTE -method LINK" extra latte.in.uo2 command "run 0" run 0 WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) -WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2348) WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) Per MPI rank memory allocation (min/avg/max) = 5.239 | 5.239 | 5.239 Mbytes Step Temp PotEng TotEng Press 0 0 -102.35715 -102.35715 -31036.694 -Loop time of 4.96e-07 on 1 procs for 0 steps with 12 atoms +Loop time of 4.14e-07 on 1 procs for 0 steps with 12 atoms -201.6% CPU use with 1 MPI tasks x no OpenMP threads +483.1% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -202,7 +202,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 4.96e-07 | | |100.00 +Other | | 4.14e-07 | | |100.00 Nlocal: 12 ave 12 max 12 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/QUANTUM/LATTE/log.24Feb23.sucrose.mpi.1 b/examples/QUANTUM/LATTE/log.22Mar23.sucrose.mpi.1 similarity index 84% rename from examples/QUANTUM/LATTE/log.24Feb23.sucrose.mpi.1 rename to examples/QUANTUM/LATTE/log.22Mar23.sucrose.mpi.1 index 6c4a9aab54..587d64526f 100644 --- a/examples/QUANTUM/LATTE/log.24Feb23.sucrose.mpi.1 +++ b/examples/QUANTUM/LATTE/log.22Mar23.sucrose.mpi.1 @@ -1,4 +1,4 @@ -LAMMPS (22 Dec 2022) +LAMMPS (8 Feb 2023) # sucrose model with LATTE units metal @@ -18,7 +18,7 @@ Finding 1-2 1-3 1-4 neighbors ... 0 = max # of 1-4 neighbors 1 = max # of special neighbors special bonds CPU = 0.000 seconds - read_data CPU = 0.001 seconds + read_data CPU = 0.002 seconds # replicate system if requested @@ -78,21 +78,21 @@ Per MPI rank memory allocation (min/avg/max) = 6.059 | 6.059 | 6.059 Mbytes 80 38.818553 -250.91757 -250.69679 -13.26722 90 53.942805 -251.00391 -250.69711 -245.17309 100 49.969604 -250.98104 -250.69684 -243.79969 -Loop time of 11.1859 on 1 procs for 100 steps with 45 atoms +Loop time of 8.6113 on 1 procs for 100 steps with 45 atoms -Performance: 0.193 ns/day, 124.287 hours/ns, 8.940 timesteps/s, 402.293 atom-step/s +Performance: 0.251 ns/day, 95.681 hours/ns, 11.613 timesteps/s, 522.569 atom-step/s 100.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 1.0375e-05 | 1.0375e-05 | 1.0375e-05 | 0.0 | 0.00 -Bond | 3.912e-06 | 3.912e-06 | 3.912e-06 | 0.0 | 0.00 +Pair | 7.518e-06 | 7.518e-06 | 7.518e-06 | 0.0 | 0.00 +Bond | 3.387e-06 | 3.387e-06 | 3.387e-06 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 1.3481e-05 | 1.3481e-05 | 1.3481e-05 | 0.0 | 0.00 -Output | 0.00010279 | 0.00010279 | 0.00010279 | 0.0 | 0.00 -Modify | 11.186 | 11.186 | 11.186 | 0.0 |100.00 -Other | | 6.822e-05 | | | 0.00 +Comm | 9.735e-06 | 9.735e-06 | 9.735e-06 | 0.0 | 0.00 +Output | 7.2205e-05 | 7.2205e-05 | 7.2205e-05 | 0.0 | 0.00 +Modify | 8.6112 | 8.6112 | 8.6112 | 0.0 |100.00 +Other | | 3.922e-05 | | | 0.00 Nlocal: 45 ave 45 max 45 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -106,4 +106,4 @@ Ave neighs/atom = 1.3111111 Ave special neighs/atom = 0 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:00:11 +Total wall time: 0:00:08 diff --git a/examples/QUANTUM/LATTE/log.24Feb23.sucrose.plugin.1 b/examples/QUANTUM/LATTE/log.22Mar23.sucrose.plugin.1 similarity index 84% rename from examples/QUANTUM/LATTE/log.24Feb23.sucrose.plugin.1 rename to examples/QUANTUM/LATTE/log.22Mar23.sucrose.plugin.1 index 66cec96e63..99f34d7670 100644 --- a/examples/QUANTUM/LATTE/log.24Feb23.sucrose.plugin.1 +++ b/examples/QUANTUM/LATTE/log.22Mar23.sucrose.plugin.1 @@ -1,4 +1,4 @@ -LAMMPS (22 Dec 2022) +LAMMPS (8 Feb 2023) # sucrose model with LATTE units metal @@ -80,21 +80,21 @@ Per MPI rank memory allocation (min/avg/max) = 6.059 | 6.059 | 6.059 Mbytes 80 38.818553 -250.91757 -250.69679 -13.26722 90 53.942805 -251.00391 -250.69711 -245.17309 100 49.969604 -250.98104 -250.69684 -243.79969 -Loop time of 9.70267 on 1 procs for 100 steps with 45 atoms +Loop time of 7.36277 on 1 procs for 100 steps with 45 atoms -Performance: 0.223 ns/day, 107.807 hours/ns, 10.306 timesteps/s, 463.790 atom-step/s -99.9% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 0.293 ns/day, 81.809 hours/ns, 13.582 timesteps/s, 611.183 atom-step/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 2.7045e-05 | 2.7045e-05 | 2.7045e-05 | 0.0 | 0.00 -Bond | 9.684e-06 | 9.684e-06 | 9.684e-06 | 0.0 | 0.00 +Pair | 2.5563e-05 | 2.5563e-05 | 2.5563e-05 | 0.0 | 0.00 +Bond | 6.88e-06 | 6.88e-06 | 6.88e-06 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 5.1297e-05 | 5.1297e-05 | 5.1297e-05 | 0.0 | 0.00 -Output | 0.00015901 | 0.00015901 | 0.00015901 | 0.0 | 0.00 -Modify | 9.7023 | 9.7023 | 9.7023 | 0.0 |100.00 -Other | | 0.0001426 | | | 0.00 +Comm | 2.6855e-05 | 2.6855e-05 | 2.6855e-05 | 0.0 | 0.00 +Output | 0.00012794 | 0.00012794 | 0.00012794 | 0.0 | 0.00 +Modify | 7.3625 | 7.3625 | 7.3625 | 0.0 |100.00 +Other | | 0.0001205 | | | 0.00 Nlocal: 45 ave 45 max 45 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -108,4 +108,4 @@ Ave neighs/atom = 1.3111111 Ave special neighs/atom = 0 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:00:09 +Total wall time: 0:00:07 diff --git a/examples/QUANTUM/LATTE/log.24Feb23.uo2.mpi.1 b/examples/QUANTUM/LATTE/log.22Mar23.uo2.mpi.1 similarity index 81% rename from examples/QUANTUM/LATTE/log.24Feb23.uo2.mpi.1 rename to examples/QUANTUM/LATTE/log.22Mar23.uo2.mpi.1 index bda48c652d..230499ad74 100644 --- a/examples/QUANTUM/LATTE/log.24Feb23.uo2.mpi.1 +++ b/examples/QUANTUM/LATTE/log.22Mar23.uo2.mpi.1 @@ -1,4 +1,4 @@ -LAMMPS (22 Dec 2022) +LAMMPS (8 Feb 2023) # AIMD test of two UO2 molecules with LATTE in MDI stand-alone mode units metal @@ -37,7 +37,7 @@ thermo 5 #dump 1 all custom 1 dump.aimd.mpi # id type x y z vx vy vz fx fy fz run 20 -WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2348) WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) Per MPI rank memory allocation (min/avg/max) = 5.239 | 5.239 | 5.239 Mbytes Step Temp PotEng TotEng Press @@ -46,21 +46,21 @@ Per MPI rank memory allocation (min/avg/max) = 5.239 | 5.239 | 5.239 Mbytes 10 428.81071 -50.636477 -50.359336 -118824.24 15 532.96198 -50.716083 -50.371629 -117598.48 20 657.59195 -50.812448 -50.387446 -115993.96 -Loop time of 0.405086 on 1 procs for 20 steps with 6 atoms +Loop time of 0.304615 on 1 procs for 20 steps with 6 atoms -Performance: 1.066 ns/day, 22.505 hours/ns, 49.372 timesteps/s, 296.234 atom-step/s -100.0% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 1.418 ns/day, 16.923 hours/ns, 65.657 timesteps/s, 393.940 atom-step/s +99.9% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- Pair | 0 | 0 | 0 | 0.0 | 0.00 -Bond | 6.57e-07 | 6.57e-07 | 6.57e-07 | 0.0 | 0.00 +Bond | 6.39e-07 | 6.39e-07 | 6.39e-07 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 3.381e-06 | 3.381e-06 | 3.381e-06 | 0.0 | 0.00 -Output | 2.2822e-05 | 2.2822e-05 | 2.2822e-05 | 0.0 | 0.01 -Modify | 0.40505 | 0.40505 | 0.40505 | 0.0 | 99.99 -Other | | 8.061e-06 | | | 0.00 +Comm | 2.832e-06 | 2.832e-06 | 2.832e-06 | 0.0 | 0.00 +Output | 2.8879e-05 | 2.8879e-05 | 2.8879e-05 | 0.0 | 0.01 +Modify | 0.30458 | 0.30458 | 0.30458 | 0.0 | 99.99 +Other | | 5.828e-06 | | | 0.00 Nlocal: 6 ave 6 max 6 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/QUANTUM/LATTE/log.24Feb23.uo2.plugin.1 b/examples/QUANTUM/LATTE/log.22Mar23.uo2.plugin.1 similarity index 82% rename from examples/QUANTUM/LATTE/log.24Feb23.uo2.plugin.1 rename to examples/QUANTUM/LATTE/log.22Mar23.uo2.plugin.1 index d688aeca7e..a14d079d51 100644 --- a/examples/QUANTUM/LATTE/log.24Feb23.uo2.plugin.1 +++ b/examples/QUANTUM/LATTE/log.22Mar23.uo2.plugin.1 @@ -1,4 +1,4 @@ -LAMMPS (22 Dec 2022) +LAMMPS (8 Feb 2023) # AIMD test of two UO2 molecules with LATTE in MDI stand-alone mode units metal @@ -18,7 +18,7 @@ Finding 1-2 1-3 1-4 neighbors ... 0 = max # of 1-4 neighbors 1 = max # of special neighbors special bonds CPU = 0.000 seconds - read_data CPU = 0.001 seconds + read_data CPU = 0.002 seconds velocity all create 300.0 87287 loop geom @@ -38,7 +38,7 @@ thermo 5 mdi plugin latte_mdi mdi "-role ENGINE -name LATTE -method LINK" extra latte.in.uo2 command "run 20" run 20 -WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2348) WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) Per MPI rank memory allocation (min/avg/max) = 5.239 | 5.239 | 5.239 Mbytes Step Temp PotEng TotEng Press @@ -47,21 +47,21 @@ Per MPI rank memory allocation (min/avg/max) = 5.239 | 5.239 | 5.239 Mbytes 10 428.81071 -50.636477 -50.359336 -118824.24 15 532.96198 -50.716083 -50.371629 -117598.48 20 657.59195 -50.812448 -50.387446 -115993.96 -Loop time of 0.589696 on 1 procs for 20 steps with 6 atoms +Loop time of 0.307869 on 1 procs for 20 steps with 6 atoms -Performance: 0.733 ns/day, 32.761 hours/ns, 33.916 timesteps/s, 203.495 atom-step/s +Performance: 1.403 ns/day, 17.104 hours/ns, 64.963 timesteps/s, 389.776 atom-step/s 100.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- Pair | 0 | 0 | 0 | 0.0 | 0.00 -Bond | 2.421e-06 | 2.421e-06 | 2.421e-06 | 0.0 | 0.00 +Bond | 1.987e-06 | 1.987e-06 | 1.987e-06 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 3.874e-05 | 3.874e-05 | 3.874e-05 | 0.0 | 0.01 -Output | 0.00014713 | 0.00014713 | 0.00014713 | 0.0 | 0.02 -Modify | 0.58943 | 0.58943 | 0.58943 | 0.0 | 99.95 -Other | | 8.234e-05 | | | 0.01 +Comm | 1.4031e-05 | 1.4031e-05 | 1.4031e-05 | 0.0 | 0.00 +Output | 4.9408e-05 | 4.9408e-05 | 4.9408e-05 | 0.0 | 0.02 +Modify | 0.30778 | 0.30778 | 0.30778 | 0.0 | 99.97 +Other | | 2.062e-05 | | | 0.01 Nlocal: 6 ave 6 max 6 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/QUANTUM/LATTE/log.24Feb23.water.min.mpi.1 b/examples/QUANTUM/LATTE/log.22Mar23.water.min.mpi.1 similarity index 84% rename from examples/QUANTUM/LATTE/log.24Feb23.water.min.mpi.1 rename to examples/QUANTUM/LATTE/log.22Mar23.water.min.mpi.1 index bb47f0d46e..943c2163fc 100644 --- a/examples/QUANTUM/LATTE/log.24Feb23.water.min.mpi.1 +++ b/examples/QUANTUM/LATTE/log.22Mar23.water.min.mpi.1 @@ -1,4 +1,4 @@ -LAMMPS (22 Dec 2022) +LAMMPS (8 Feb 2023) # minimize water model with LATTE and FIRE units metal @@ -79,14 +79,14 @@ Per MPI rank memory allocation (min/avg/max) = 6.007 | 6.007 | 6.007 Mbytes 60 3.0178396 -110.52031 -110.51134 1964.2113 70 26.161764 -110.55445 -110.47667 1839.5114 78 69.534871 -110.60152 -110.39479 2086.0227 -Loop time of 2.29667 on 1 procs for 78 steps with 24 atoms +Loop time of 1.36163 on 1 procs for 78 steps with 24 atoms -99.8% CPU use with 1 MPI tasks x no OpenMP threads +100.0% CPU use with 1 MPI tasks x no OpenMP threads Minimization stats: Stopping criterion = energy tolerance Energy initial, next-to-last, final = - -104.955956572959 -110.594257523308 -110.601518955935 + -104.955956572959 -110.594257523305 -110.601518955931 Force two-norm initial, final = 19.119006 0.28249145 Force max component initial, final = 11.775801 0.096323091 Final line search alpha, max atom move = 0 0 @@ -95,13 +95,13 @@ Minimization stats: MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 7.084e-06 | 7.084e-06 | 7.084e-06 | 0.0 | 0.00 -Bond | 3.108e-06 | 3.108e-06 | 3.108e-06 | 0.0 | 0.00 -Neigh | 1.7989e-05 | 1.7989e-05 | 1.7989e-05 | 0.0 | 0.00 -Comm | 3.7812e-05 | 3.7812e-05 | 3.7812e-05 | 0.0 | 0.00 -Output | 3.5572e-05 | 3.5572e-05 | 3.5572e-05 | 0.0 | 0.00 -Modify | 2.2965 | 2.2965 | 2.2965 | 0.0 | 99.99 -Other | | 6.848e-05 | | | 0.00 +Pair | 5.729e-06 | 5.729e-06 | 5.729e-06 | 0.0 | 0.00 +Bond | 2.468e-06 | 2.468e-06 | 2.468e-06 | 0.0 | 0.00 +Neigh | 1.8056e-05 | 1.8056e-05 | 1.8056e-05 | 0.0 | 0.00 +Comm | 3.9123e-05 | 3.9123e-05 | 3.9123e-05 | 0.0 | 0.00 +Output | 3.794e-05 | 3.794e-05 | 3.794e-05 | 0.0 | 0.00 +Modify | 1.3615 | 1.3615 | 1.3615 | 0.0 | 99.99 +Other | | 6.371e-05 | | | 0.00 Nlocal: 24 ave 24 max 24 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -115,4 +115,4 @@ Ave neighs/atom = 1.0833333 Ave special neighs/atom = 0 Neighbor list builds = 2 Dangerous builds = 0 -Total wall time: 0:00:02 +Total wall time: 0:00:01 diff --git a/examples/QUANTUM/LATTE/log.24Feb23.water.min.plugin.1 b/examples/QUANTUM/LATTE/log.22Mar23.water.min.plugin.1 similarity index 84% rename from examples/QUANTUM/LATTE/log.24Feb23.water.min.plugin.1 rename to examples/QUANTUM/LATTE/log.22Mar23.water.min.plugin.1 index 362345e0b9..b46bacfa56 100644 --- a/examples/QUANTUM/LATTE/log.24Feb23.water.min.plugin.1 +++ b/examples/QUANTUM/LATTE/log.22Mar23.water.min.plugin.1 @@ -1,4 +1,4 @@ -LAMMPS (22 Dec 2022) +LAMMPS (8 Feb 2023) # minimize water model with LATTE and FIRE units metal @@ -18,7 +18,7 @@ Finding 1-2 1-3 1-4 neighbors ... 0 = max # of 1-4 neighbors 1 = max # of special neighbors special bonds CPU = 0.000 seconds - read_data CPU = 0.005 seconds + read_data CPU = 0.004 seconds # replicate system if requested @@ -81,14 +81,14 @@ Per MPI rank memory allocation (min/avg/max) = 6.007 | 6.007 | 6.007 Mbytes 60 3.0178396 -110.52031 -110.51134 1964.2113 70 26.161764 -110.55445 -110.47667 1839.5114 78 69.534871 -110.60152 -110.39479 2086.0227 -Loop time of 2.24854 on 1 procs for 78 steps with 24 atoms +Loop time of 1.26399 on 1 procs for 78 steps with 24 atoms -100.0% CPU use with 1 MPI tasks x no OpenMP threads +99.5% CPU use with 1 MPI tasks x no OpenMP threads Minimization stats: Stopping criterion = energy tolerance Energy initial, next-to-last, final = - -104.955956572959 -110.594257523308 -110.601518955935 + -104.955956572959 -110.594257523305 -110.601518955931 Force two-norm initial, final = 19.119006 0.28249145 Force max component initial, final = 11.775801 0.096323091 Final line search alpha, max atom move = 0 0 @@ -97,13 +97,13 @@ Minimization stats: MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 4.5748e-05 | 4.5748e-05 | 4.5748e-05 | 0.0 | 0.00 -Bond | 4.621e-06 | 4.621e-06 | 4.621e-06 | 0.0 | 0.00 -Neigh | 2.4358e-05 | 2.4358e-05 | 2.4358e-05 | 0.0 | 0.00 -Comm | 0.00012166 | 0.00012166 | 0.00012166 | 0.0 | 0.01 -Output | 0.00011285 | 0.00011285 | 0.00011285 | 0.0 | 0.01 -Modify | 2.2478 | 2.2478 | 2.2478 | 0.0 | 99.97 -Other | | 0.0004278 | | | 0.02 +Pair | 1.4828e-05 | 1.4828e-05 | 1.4828e-05 | 0.0 | 0.00 +Bond | 3.973e-06 | 3.973e-06 | 3.973e-06 | 0.0 | 0.00 +Neigh | 1.813e-05 | 1.813e-05 | 1.813e-05 | 0.0 | 0.00 +Comm | 6.9762e-05 | 6.9762e-05 | 6.9762e-05 | 0.0 | 0.01 +Output | 7.4467e-05 | 7.4467e-05 | 7.4467e-05 | 0.0 | 0.01 +Modify | 1.2636 | 1.2636 | 1.2636 | 0.0 | 99.97 +Other | | 0.0001693 | | | 0.01 Nlocal: 24 ave 24 max 24 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -117,4 +117,4 @@ Ave neighs/atom = 1.0833333 Ave special neighs/atom = 0 Neighbor list builds = 2 Dangerous builds = 0 -Total wall time: 0:00:02 +Total wall time: 0:00:01 diff --git a/examples/QUANTUM/LATTE/log.24Feb23.water.mpi.1 b/examples/QUANTUM/LATTE/log.22Mar23.water.mpi.1 similarity index 83% rename from examples/QUANTUM/LATTE/log.24Feb23.water.mpi.1 rename to examples/QUANTUM/LATTE/log.22Mar23.water.mpi.1 index cd2a3d01c9..9ac9772589 100644 --- a/examples/QUANTUM/LATTE/log.24Feb23.water.mpi.1 +++ b/examples/QUANTUM/LATTE/log.22Mar23.water.mpi.1 @@ -1,4 +1,4 @@ -LAMMPS (22 Dec 2022) +LAMMPS (8 Feb 2023) # simple water model with LATTE units metal @@ -78,21 +78,21 @@ Per MPI rank memory allocation (min/avg/max) = 6.007 | 6.007 | 6.007 Mbytes 80 999.80278 -107.93147 -104.95907 36700.735 90 998.77487 -107.9257 -104.95636 107233.54 100 1281.4438 -108.76963 -104.95992 49702.389 -Loop time of 2.73762 on 1 procs for 100 steps with 24 atoms +Loop time of 1.3546 on 1 procs for 100 steps with 24 atoms -Performance: 0.789 ns/day, 30.418 hours/ns, 36.528 timesteps/s, 876.675 atom-step/s +Performance: 1.595 ns/day, 15.051 hours/ns, 73.823 timesteps/s, 1.772 katom-step/s 100.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 7.088e-06 | 7.088e-06 | 7.088e-06 | 0.0 | 0.00 -Bond | 3.433e-06 | 3.433e-06 | 3.433e-06 | 0.0 | 0.00 -Neigh | 2.0689e-05 | 2.0689e-05 | 2.0689e-05 | 0.0 | 0.00 -Comm | 5.1883e-05 | 5.1883e-05 | 5.1883e-05 | 0.0 | 0.00 -Output | 7.6376e-05 | 7.6376e-05 | 7.6376e-05 | 0.0 | 0.00 -Modify | 2.7374 | 2.7374 | 2.7374 | 0.0 | 99.99 -Other | | 3.262e-05 | | | 0.00 +Pair | 1.0596e-05 | 1.0596e-05 | 1.0596e-05 | 0.0 | 0.00 +Bond | 2.698e-06 | 2.698e-06 | 2.698e-06 | 0.0 | 0.00 +Neigh | 1.9285e-05 | 1.9285e-05 | 1.9285e-05 | 0.0 | 0.00 +Comm | 4.4683e-05 | 4.4683e-05 | 4.4683e-05 | 0.0 | 0.00 +Output | 4.9581e-05 | 4.9581e-05 | 4.9581e-05 | 0.0 | 0.00 +Modify | 1.3544 | 1.3544 | 1.3544 | 0.0 | 99.99 +Other | | 2.583e-05 | | | 0.00 Nlocal: 24 ave 24 max 24 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -106,4 +106,4 @@ Ave neighs/atom = 1.2916667 Ave special neighs/atom = 0 Neighbor list builds = 2 Dangerous builds = 0 -Total wall time: 0:00:02 +Total wall time: 0:00:01 diff --git a/examples/QUANTUM/LATTE/log.24Feb23.water.plugin.1 b/examples/QUANTUM/LATTE/log.22Mar23.water.plugin.1 similarity index 83% rename from examples/QUANTUM/LATTE/log.24Feb23.water.plugin.1 rename to examples/QUANTUM/LATTE/log.22Mar23.water.plugin.1 index cc39f70dde..a96837260a 100644 --- a/examples/QUANTUM/LATTE/log.24Feb23.water.plugin.1 +++ b/examples/QUANTUM/LATTE/log.22Mar23.water.plugin.1 @@ -1,4 +1,4 @@ -LAMMPS (22 Dec 2022) +LAMMPS (8 Feb 2023) # simple water model with LATTE units metal @@ -18,7 +18,7 @@ Finding 1-2 1-3 1-4 neighbors ... 0 = max # of 1-4 neighbors 1 = max # of special neighbors special bonds CPU = 0.000 seconds - read_data CPU = 0.001 seconds + read_data CPU = 0.002 seconds # replicate system if requested @@ -80,21 +80,21 @@ Per MPI rank memory allocation (min/avg/max) = 6.007 | 6.007 | 6.007 Mbytes 80 999.80278 -107.93147 -104.95907 36700.735 90 998.77487 -107.9257 -104.95636 107233.54 100 1281.4438 -108.76963 -104.95992 49702.389 -Loop time of 2.11666 on 1 procs for 100 steps with 24 atoms +Loop time of 1.26869 on 1 procs for 100 steps with 24 atoms -Performance: 1.020 ns/day, 23.518 hours/ns, 47.244 timesteps/s, 1.134 katom-step/s +Performance: 1.703 ns/day, 14.097 hours/ns, 78.821 timesteps/s, 1.892 katom-step/s 100.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 2.4966e-05 | 2.4966e-05 | 2.4966e-05 | 0.0 | 0.00 -Bond | 6.266e-06 | 6.266e-06 | 6.266e-06 | 0.0 | 0.00 -Neigh | 1.9178e-05 | 1.9178e-05 | 1.9178e-05 | 0.0 | 0.00 -Comm | 9.3879e-05 | 9.3879e-05 | 9.3879e-05 | 0.0 | 0.00 -Output | 0.00012448 | 0.00012448 | 0.00012448 | 0.0 | 0.01 -Modify | 2.1163 | 2.1163 | 2.1163 | 0.0 | 99.98 -Other | | 0.0001056 | | | 0.00 +Pair | 1.3605e-05 | 1.3605e-05 | 1.3605e-05 | 0.0 | 0.00 +Bond | 4.492e-06 | 4.492e-06 | 4.492e-06 | 0.0 | 0.00 +Neigh | 1.7779e-05 | 1.7779e-05 | 1.7779e-05 | 0.0 | 0.00 +Comm | 7.0791e-05 | 7.0791e-05 | 7.0791e-05 | 0.0 | 0.01 +Output | 0.00010052 | 0.00010052 | 0.00010052 | 0.0 | 0.01 +Modify | 1.2684 | 1.2684 | 1.2684 | 0.0 | 99.98 +Other | | 6.755e-05 | | | 0.01 Nlocal: 24 ave 24 max 24 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -108,4 +108,4 @@ Ave neighs/atom = 1.2916667 Ave special neighs/atom = 0 Neighbor list builds = 2 Dangerous builds = 0 -Total wall time: 0:00:02 +Total wall time: 0:00:01 diff --git a/examples/QUANTUM/NWChem/README b/examples/QUANTUM/NWChem/README index 24b51ef803..a8ab4f1d25 100644 --- a/examples/QUANTUM/NWChem/README +++ b/examples/QUANTUM/NWChem/README @@ -2,7 +2,7 @@ Step 0: What NWChem/PWDF currently supports Step 1: Build LAMMPS -Step 2: Download/build MDI code coupling package +Step 2: Install or download/build MDI code coupling package Step 3: Download/build NWChem PWDFT Step 4: Perform test runs in any of 3 modes @@ -47,7 +47,27 @@ CMake: --------------------------------- --------------------------------- -Step 2: Download/build MDI code coupling package +Step 2: Install or download/build MDI code coupling package + +To simply use the MDI python module for the example scripts in this +dir, you only need to install the MDI python module in your +environment. Alternatively, you can download/build MDI itself, which +will include its documentation and examples (as well as libraries and +Python interface). + +NOTE: It should be fine to leave off the version number for the python +module installs, to just grab the latest MDI version. 1.4.16 is the +version of MDI LAMMPS is currently using. + +(option 1) Install MDI python module via conda: + +% conda install -c conda-forge pymdi=1.4.16 + +(option 2) Install MDI python module via pip: + +% pip install 'pymdi>=1.4.14' + +(option 3) Download/build MDI code coupling package (a) clone the MDI Git repo @@ -66,12 +86,12 @@ Python can find MDI: For bash: -% export PYTHONPATH="$PYTHONPATH:/home/sjplimp/mdi/git" +% export PYTHONPATH="$PYTHONPATH:/home/sjplimp/mdi/git/build/MDI_Library" % hash -r For (t)csh: -% setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/mdi/git +% setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/mdi/git/build/MDI_Library % rehash (d) Check import of 3 Python modules which the script that wraps @@ -80,13 +100,18 @@ NWChem will need: % python >>> import numpy as np >>> from mpi4py import MPI ->>> import MDI_Library as mdi +>>> import mdi --------------------------------- --------------------------------- Step 3: Download/build NWChem PWDFT +NOTE: As of March 2023, this PWDFT-only repo is part of the new +NWChemEx (exascale) version of NWChem. It will be included in the +NWChemEx repo when it is publicly released. This doc page will be +updated when that happens. + (a) clone the PWDFT Git repo % mkdir nwchem; cd nwchem diff --git a/examples/QUANTUM/NWChem/log.24Feb23.series.mpi.1 b/examples/QUANTUM/NWChem/log.22Mar23.series.mpi.1 similarity index 95% rename from examples/QUANTUM/NWChem/log.24Feb23.series.mpi.1 rename to examples/QUANTUM/NWChem/log.22Mar23.series.mpi.1 index 785b8c452b..fb8fbd6c12 100644 --- a/examples/QUANTUM/NWChem/log.24Feb23.series.mpi.1 +++ b/examples/QUANTUM/NWChem/log.22Mar23.series.mpi.1 @@ -1,4 +1,4 @@ -LAMMPS (22 Dec 2022) +LAMMPS (8 Feb 2023) # multiple W conformations with NWChem # configs that don't currently work well diff --git a/examples/QUANTUM/NWChem/log.24Feb23.series.plugin.1 b/examples/QUANTUM/NWChem/log.22Mar23.series.plugin.1 similarity index 95% rename from examples/QUANTUM/NWChem/log.24Feb23.series.plugin.1 rename to examples/QUANTUM/NWChem/log.22Mar23.series.plugin.1 index 39a2d57d41..73ee0e510e 100644 --- a/examples/QUANTUM/NWChem/log.24Feb23.series.plugin.1 +++ b/examples/QUANTUM/NWChem/log.22Mar23.series.plugin.1 @@ -1,4 +1,4 @@ -LAMMPS (22 Dec 2022) +LAMMPS (8 Feb 2023) # multiple W conformations with NWChem # configs that don't currently work well diff --git a/examples/QUANTUM/NWChem/log.24Feb23.series.plugin.w.bcc.1 b/examples/QUANTUM/NWChem/log.22Mar23.series.plugin.w.bcc.1 similarity index 93% rename from examples/QUANTUM/NWChem/log.24Feb23.series.plugin.w.bcc.1 rename to examples/QUANTUM/NWChem/log.22Mar23.series.plugin.w.bcc.1 index 0fc62eec7b..dd2dd9169a 100644 --- a/examples/QUANTUM/NWChem/log.24Feb23.series.plugin.w.bcc.1 +++ b/examples/QUANTUM/NWChem/log.22Mar23.series.plugin.w.bcc.1 @@ -21,11 +21,11 @@ Reading data file ... mdi plugin nwchem_mdi mdi "-role ENGINE -name LATTE -method LINK" extra "template.w.nw w.nw log.series.pwdft.plugin.$p" command "run 0" run 0 WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) -WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2348) Per MPI rank memory allocation (min/avg/max) = 2.301 | 2.301 | 2.301 Mbytes Step Temp E_pair E_mol TotEng Press 0 0 0 0 -548.43494 0 -Loop time of 5.76e-07 on 1 procs for 0 steps with 2 atoms +Loop time of 5.49e-07 on 1 procs for 0 steps with 2 atoms 0.0% CPU use with 1 MPI tasks x no OpenMP threads @@ -37,7 +37,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 5.76e-07 | | |100.00 +Other | | 5.49e-07 | | |100.00 Nlocal: 2 ave 2 max 2 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/QUANTUM/NWChem/log.24Feb23.series.plugin.w.diamond.1 b/examples/QUANTUM/NWChem/log.22Mar23.series.plugin.w.diamond.1 similarity index 91% rename from examples/QUANTUM/NWChem/log.24Feb23.series.plugin.w.diamond.1 rename to examples/QUANTUM/NWChem/log.22Mar23.series.plugin.w.diamond.1 index e3354a122f..933039c140 100644 --- a/examples/QUANTUM/NWChem/log.24Feb23.series.plugin.w.diamond.1 +++ b/examples/QUANTUM/NWChem/log.22Mar23.series.plugin.w.diamond.1 @@ -21,13 +21,13 @@ Reading data file ... mdi plugin nwchem_mdi mdi "-role ENGINE -name LATTE -method LINK" extra "template.w.nw w.nw log.series.pwdft.plugin.$p" command "run 0" run 0 WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) -WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2348) Per MPI rank memory allocation (min/avg/max) = 2.301 | 2.301 | 2.301 Mbytes Step Temp E_pair E_mol TotEng Press 0 0 0 0 -984.24541 0 -Loop time of 5.74e-07 on 1 procs for 0 steps with 4 atoms +Loop time of 5.41e-07 on 1 procs for 0 steps with 4 atoms -174.2% CPU use with 1 MPI tasks x no OpenMP threads +0.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -37,7 +37,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 5.74e-07 | | |100.00 +Other | | 5.41e-07 | | |100.00 Nlocal: 4 ave 4 max 4 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/QUANTUM/NWChem/log.24Feb23.series.plugin.w.sc_001.1 b/examples/QUANTUM/NWChem/log.22Mar23.series.plugin.w.sc_001.1 similarity index 90% rename from examples/QUANTUM/NWChem/log.24Feb23.series.plugin.w.sc_001.1 rename to examples/QUANTUM/NWChem/log.22Mar23.series.plugin.w.sc_001.1 index b7a0d7a3a5..461356c418 100644 --- a/examples/QUANTUM/NWChem/log.24Feb23.series.plugin.w.sc_001.1 +++ b/examples/QUANTUM/NWChem/log.22Mar23.series.plugin.w.sc_001.1 @@ -21,13 +21,13 @@ Reading data file ... mdi plugin nwchem_mdi mdi "-role ENGINE -name LATTE -method LINK" extra "template.w.nw w.nw log.series.pwdft.plugin.$p" command "run 0" run 0 WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) -WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2348) Per MPI rank memory allocation (min/avg/max) = 2.302 | 2.302 | 2.302 Mbytes Step Temp E_pair E_mol TotEng Press 0 0 0 0 -2524.2082 0 -Loop time of 5.65e-07 on 1 procs for 0 steps with 9 atoms +Loop time of 5.82e-07 on 1 procs for 0 steps with 9 atoms -177.0% CPU use with 1 MPI tasks x no OpenMP threads +171.8% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -37,7 +37,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 5.65e-07 | | |100.00 +Other | | 5.82e-07 | | |100.00 Nlocal: 9 ave 9 max 9 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/QUANTUM/NWChem/log.24Feb23.series.pwdft.plugin.1 b/examples/QUANTUM/NWChem/log.22Mar23.series.pwdft.mpi.1 similarity index 87% rename from examples/QUANTUM/NWChem/log.24Feb23.series.pwdft.plugin.1 rename to examples/QUANTUM/NWChem/log.22Mar23.series.pwdft.mpi.1 index 2f71e04c95..c7705f041b 100644 --- a/examples/QUANTUM/NWChem/log.24Feb23.series.pwdft.plugin.1 +++ b/examples/QUANTUM/NWChem/log.22Mar23.series.pwdft.mpi.1 @@ -11,11 +11,12 @@ * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:20:41 2023 <<< + >>> job started at Wed Mar 22 12:38:46 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + generating 1d pseudopotential file: ./W.psp writing formatted psp filename: ./W.vpp generating random psi from scratch @@ -91,7 +92,7 @@ ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:20:41 2023 <<< + >>> iteration started at Wed Mar 22 12:38:47 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 15 steepest descent iterations performed @@ -103,7 +104,7 @@ 60 -1.881117950998e+01 -4.287319e-04 1.464725e-05 70 -1.881133499557e+01 -6.036766e-08 1.955112e-09 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:20:41 2023 <<< + >>> iteration ended at Wed Mar 22 12:38:47 2023 <<< ============== energy results (Molecule object) ============== @@ -148,25 +149,25 @@ mu = ( 17.9450 17.9453 17.9452 ) au ----------------- cputime in seconds - prologue : 4.358e-01 - main loop : 1.057e-01 - epilogue : 1.640e-04 - total : 5.416e-01 - cputime/step: 3.760e-04 ( 281 evaluations, 69 linesearches) + prologue : 4.220e-01 + main loop : 1.088e-01 + epilogue : 1.590e-04 + total : 5.309e-01 + cputime/step: 3.871e-04 ( 281 evaluations, 69 linesearches) Time spent doing total step percent - total time 1.455736e-01 5.180557e-04 100.00% - total FFT time 2.148429e-02 7.645657e-05 14.76% - lagrange multipliers 2.458190e-04 8.748007e-07 0.17% - local potentials 2.979000e-06 1.060142e-08 0.00% - non-local potentials 1.632231e-03 5.808651e-06 1.12% - ffm_dgemm 5.114960e-04 1.820270e-06 0.35% - fmf_dgemm 7.225530e-04 2.571363e-06 0.50% - m_diagonalize 2.341520e-04 8.332811e-07 0.16% - mmm_multiply 4.423900e-05 1.574342e-07 0.03% - SCVtrans 4.798400e-05 1.707616e-07 0.03% + total time 5.326872e-01 1.895684e-03 100.00% + total FFT time 4.430269e-02 1.576608e-04 8.32% + lagrange multipliers 2.533000e-04 9.014235e-07 0.05% + local potentials 3.347000e-06 1.191103e-08 0.00% + non-local potentials 1.635984e-03 5.822007e-06 0.31% + ffm_dgemm 5.309390e-04 1.889463e-06 0.10% + fmf_dgemm 7.341450e-04 2.612616e-06 0.14% + m_diagonalize 2.439160e-04 8.680285e-07 0.05% + mmm_multiply 4.611300e-05 1.641032e-07 0.01% + SCVtrans 5.179300e-05 1.843167e-07 0.01% - >>> job completed at Fri Feb 24 15:20:41 2023 <<< + >>> job completed at Wed Mar 22 12:38:47 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -180,7 +181,7 @@ mu = ( 17.9450 17.9453 17.9452 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:20:41 2023 <<< + >>> job started at Wed Mar 22 12:38:47 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -267,14 +268,14 @@ mu = ( 17.9450 17.9453 17.9452 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:20:41 2023 <<< + >>> iteration started at Wed Mar 22 12:38:47 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 15 steepest descent iterations performed 10 -2.015461227870e+01 -1.152391e-06 1.541098e-08 20 -2.015461250697e+01 -6.884596e-08 1.359336e-09 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:20:41 2023 <<< + >>> iteration ended at Wed Mar 22 12:38:47 2023 <<< ============== energy results (Molecule object) ============== @@ -325,25 +326,25 @@ mu = ( 17.9452 17.9453 17.9453 ) au ----------------- cputime in seconds - prologue : 3.487e-02 - main loop : 6.484e-02 - epilogue : 7.700e-04 - total : 1.005e-01 - cputime/step: 1.223e-03 ( 53 evaluations, 12 linesearches) + prologue : 3.545e-02 + main loop : 6.420e-02 + epilogue : 7.310e-04 + total : 1.004e-01 + cputime/step: 1.211e-03 ( 53 evaluations, 12 linesearches) Time spent doing total step percent - total time 2.462677e-01 4.646561e-03 100.00% - total FFT time 4.271251e-02 8.058965e-04 17.34% - lagrange multipliers 3.560350e-04 6.717642e-06 0.14% - local potentials 1.200200e-05 2.264528e-07 0.00% - non-local potentials 2.658581e-03 5.016191e-05 1.08% - ffm_dgemm 7.502480e-04 1.415562e-05 0.30% - fmf_dgemm 1.098637e-03 2.072900e-05 0.45% - m_diagonalize 2.931850e-04 5.531792e-06 0.12% - mmm_multiply 5.320400e-05 1.003849e-06 0.02% - SCVtrans 5.806000e-05 1.095472e-06 0.02% + total time 6.333207e-01 1.194945e-02 100.00% + total FFT time 8.407158e-02 1.586256e-03 13.27% + lagrange multipliers 3.533010e-04 6.666057e-06 0.06% + local potentials 1.259700e-05 2.376792e-07 0.00% + non-local potentials 2.644675e-03 4.989953e-05 0.42% + ffm_dgemm 7.637930e-04 1.441119e-05 0.12% + fmf_dgemm 1.099083e-03 2.073742e-05 0.17% + m_diagonalize 3.051740e-04 5.758000e-06 0.05% + mmm_multiply 5.490900e-05 1.036019e-06 0.01% + SCVtrans 6.234800e-05 1.176377e-06 0.01% - >>> job completed at Fri Feb 24 15:20:41 2023 <<< + >>> job completed at Wed Mar 22 12:38:47 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -357,7 +358,7 @@ mu = ( 17.9452 17.9453 17.9453 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:20:41 2023 <<< + >>> job started at Wed Mar 22 12:38:47 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -439,7 +440,7 @@ mu = ( 17.9452 17.9453 17.9453 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:20:41 2023 <<< + >>> iteration started at Wed Mar 22 12:38:47 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 15 steepest descent iterations performed @@ -474,7 +475,7 @@ mu = ( 17.9452 17.9453 17.9453 ) au 290 -3.179228652997e+01 -8.831259e-07 3.208422e-08 300 -3.179228729957e+01 -5.132388e-08 1.166168e-09 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:20:43 2023 <<< + >>> iteration ended at Wed Mar 22 12:38:49 2023 <<< ============== energy results (Molecule object) ============== @@ -525,25 +526,25 @@ mu = ( 31.9749 31.9747 67.8288 ) au ----------------- cputime in seconds - prologue : 3.338e-02 - main loop : 1.605e+00 - epilogue : 2.560e-04 - total : 1.638e+00 - cputime/step: 9.974e-04 ( 1609 evaluations, 294 linesearches) + prologue : 3.290e-02 + main loop : 2.339e+00 + epilogue : 2.700e-04 + total : 2.372e+00 + cputime/step: 1.454e-03 ( 1609 evaluations, 294 linesearches) Time spent doing total step percent - total time 1.888264e+00 1.173564e-03 100.00% - total FFT time 1.932814e-01 1.201252e-04 10.24% - lagrange multipliers 3.952486e-03 2.456486e-06 0.21% - local potentials 1.612500e-05 1.002175e-08 0.00% - non-local potentials 3.030321e-02 1.883357e-05 1.60% - ffm_dgemm 1.006300e-02 6.254193e-06 0.53% - fmf_dgemm 1.661634e-02 1.032712e-05 0.88% - m_diagonalize 3.872325e-03 2.406666e-06 0.21% - mmm_multiply 9.897250e-04 6.151181e-07 0.05% - SCVtrans 5.881430e-04 3.655333e-07 0.03% + total time 3.007315e+00 1.869059e-03 100.00% + total FFT time 7.064330e-01 4.390509e-04 23.49% + lagrange multipliers 6.188984e-03 3.846479e-06 0.21% + local potentials 1.690400e-05 1.050590e-08 0.00% + non-local potentials 4.272599e-02 2.655438e-05 1.42% + ffm_dgemm 1.453702e-02 9.034820e-06 0.48% + fmf_dgemm 2.303273e-02 1.431493e-05 0.77% + m_diagonalize 5.477974e-03 3.404583e-06 0.18% + mmm_multiply 1.458873e-03 9.066955e-07 0.05% + SCVtrans 8.520560e-04 5.295562e-07 0.03% - >>> job completed at Fri Feb 24 15:20:43 2023 <<< + >>> job completed at Wed Mar 22 12:38:49 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -557,7 +558,7 @@ mu = ( 31.9749 31.9747 67.8288 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:20:43 2023 <<< + >>> job started at Wed Mar 22 12:38:49 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -652,14 +653,14 @@ mu = ( 31.9749 31.9747 67.8288 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:20:43 2023 <<< + >>> iteration started at Wed Mar 22 12:38:49 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 15 steepest descent iterations performed 10 -3.617033061710e+01 -3.447767e-05 2.051315e-07 20 -3.617035193509e+01 -9.144932e-08 2.233123e-09 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:20:43 2023 <<< + >>> iteration ended at Wed Mar 22 12:38:49 2023 <<< ============== energy results (Molecule object) ============== @@ -718,25 +719,25 @@ mu = ( 31.9748 31.9748 67.8288 ) au ----------------- cputime in seconds - prologue : 4.121e-02 - main loop : 2.864e-01 - epilogue : 2.864e-03 - total : 3.305e-01 - cputime/step: 4.339e-03 ( 66 evaluations, 16 linesearches) + prologue : 4.698e-02 + main loop : 1.063e-01 + epilogue : 1.782e-03 + total : 1.551e-01 + cputime/step: 1.611e-03 ( 66 evaluations, 16 linesearches) Time spent doing total step percent - total time 2.219040e+00 3.362181e-02 100.00% - total FFT time 2.258103e-01 3.421368e-03 10.18% - lagrange multipliers 4.316719e-03 6.540483e-05 0.19% - local potentials 3.744600e-05 5.673636e-07 0.00% - non-local potentials 3.955901e-02 5.993790e-04 1.78% - ffm_dgemm 1.328333e-02 2.012625e-04 0.60% - fmf_dgemm 2.267217e-02 3.435178e-04 1.02% - m_diagonalize 4.615726e-03 6.993524e-05 0.21% - mmm_multiply 1.144970e-03 1.734803e-05 0.05% - SCVtrans 6.751840e-04 1.023006e-05 0.03% + total time 3.162662e+00 4.791912e-02 100.00% + total FFT time 7.429673e-01 1.125708e-02 23.49% + lagrange multipliers 6.602280e-03 1.000345e-04 0.21% + local potentials 3.458900e-05 5.240758e-07 0.00% + non-local potentials 4.642936e-02 7.034751e-04 1.47% + ffm_dgemm 1.572267e-02 2.382223e-04 0.50% + fmf_dgemm 2.503290e-02 3.792864e-04 0.79% + m_diagonalize 5.753158e-03 8.716906e-05 0.18% + mmm_multiply 1.507230e-03 2.283682e-05 0.05% + SCVtrans 8.849210e-04 1.340789e-05 0.03% - >>> job completed at Fri Feb 24 15:20:43 2023 <<< + >>> job completed at Wed Mar 22 12:38:49 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -750,7 +751,7 @@ mu = ( 31.9748 31.9748 67.8288 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:20:43 2023 <<< + >>> job started at Wed Mar 22 12:38:49 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -837,7 +838,7 @@ mu = ( 31.9748 31.9748 67.8288 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:20:43 2023 <<< + >>> iteration started at Wed Mar 22 12:38:50 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 15 steepest descent iterations performed @@ -867,7 +868,7 @@ mu = ( 31.9748 31.9748 67.8288 ) au 240 -8.831302766242e+01 -1.599960e-07 7.829532e-10 250 -8.831302775935e+01 -9.692576e-08 4.617615e-10 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:20:52 2023 <<< + >>> iteration ended at Wed Mar 22 12:38:59 2023 <<< ============== energy results (Molecule object) ============== @@ -933,25 +934,25 @@ mu = ( -0.0001 0.0000 2556.1878 ) au ----------------- cputime in seconds - prologue : 3.822e-01 - main loop : 8.069e+00 - epilogue : 2.043e-03 - total : 8.453e+00 - cputime/step: 8.310e-03 ( 971 evaluations, 241 linesearches) + prologue : 3.712e-01 + main loop : 9.266e+00 + epilogue : 2.242e-03 + total : 9.639e+00 + cputime/step: 9.542e-03 ( 971 evaluations, 241 linesearches) Time spent doing total step percent - total time 1.067845e+01 1.099737e-02 100.00% - total FFT time 1.073346e+00 1.105403e-03 10.05% - lagrange multipliers 8.767165e-02 9.029006e-05 0.82% - local potentials 1.346950e-04 1.387178e-07 0.00% - non-local potentials 8.071419e-01 8.312481e-04 7.56% - ffm_dgemm 2.842234e-01 2.927121e-04 2.66% - fmf_dgemm 6.105121e-01 6.287457e-04 5.72% - m_diagonalize 1.826974e-02 1.881538e-05 0.17% - mmm_multiply 5.996149e-03 6.175231e-06 0.06% - SCVtrans 2.036032e-03 2.096840e-06 0.02% + total time 1.280374e+01 1.318614e-02 100.00% + total FFT time 5.641512e+00 5.810003e-03 44.06% + lagrange multipliers 1.029000e-01 1.059732e-04 0.80% + local potentials 1.287240e-04 1.325685e-07 0.00% + non-local potentials 9.192912e-01 9.467468e-04 7.18% + ffm_dgemm 3.260871e-01 3.358261e-04 2.55% + fmf_dgemm 6.958791e-01 7.166623e-04 5.43% + m_diagonalize 2.143142e-02 2.207150e-05 0.17% + mmm_multiply 6.996908e-03 7.205878e-06 0.05% + SCVtrans 2.344807e-03 2.414837e-06 0.02% - >>> job completed at Fri Feb 24 15:20:52 2023 <<< + >>> job completed at Wed Mar 22 12:38:59 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -965,7 +966,7 @@ mu = ( -0.0001 0.0000 2556.1878 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:20:52 2023 <<< + >>> job started at Wed Mar 22 12:38:59 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -1080,7 +1081,7 @@ mu = ( -0.0001 0.0000 2556.1878 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:20:52 2023 <<< + >>> iteration started at Wed Mar 22 12:39:00 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 15 steepest descent iterations performed @@ -1098,7 +1099,7 @@ mu = ( -0.0001 0.0000 2556.1878 ) au 120 -9.276294176248e+01 -2.348768e-07 4.151375e-09 130 -9.276294233017e+01 -9.807081e-08 1.296479e-09 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:21:02 2023 <<< + >>> iteration ended at Wed Mar 22 12:39:11 2023 <<< ============== energy results (Molecule object) ============== @@ -1177,25 +1178,25 @@ mu = ( -0.2017 -0.0359 2556.1810 ) au ----------------- cputime in seconds - prologue : 4.685e-01 - main loop : 1.019e+01 - epilogue : 2.268e-02 - total : 1.068e+01 - cputime/step: 2.321e-02 ( 439 evaluations, 124 linesearches) + prologue : 5.431e-01 + main loop : 1.167e+01 + epilogue : 2.666e-02 + total : 1.224e+01 + cputime/step: 2.658e-02 ( 439 evaluations, 124 linesearches) Time spent doing total step percent - total time 2.137152e+01 4.868227e-02 100.00% - total FFT time 2.134465e+00 4.862108e-03 9.99% - lagrange multipliers 1.350824e-01 3.077048e-04 0.63% - local potentials 4.644930e-04 1.058071e-06 0.00% - non-local potentials 1.888708e+00 4.302296e-03 8.84% - ffm_dgemm 6.968704e-01 1.587404e-03 3.26% - fmf_dgemm 1.440728e+00 3.281840e-03 6.74% - m_diagonalize 2.611095e-02 5.947825e-05 0.12% - mmm_multiply 8.450231e-03 1.924882e-05 0.04% - SCVtrans 2.974830e-03 6.776378e-06 0.01% + total time 2.511120e+01 5.720091e-02 100.00% + total FFT time 1.195307e+01 2.722795e-02 47.60% + lagrange multipliers 1.578137e-01 3.594845e-04 0.63% + local potentials 5.548580e-04 1.263913e-06 0.00% + non-local potentials 2.142632e+00 4.880710e-03 8.53% + ffm_dgemm 7.997696e-01 1.821799e-03 3.18% + fmf_dgemm 1.656305e+00 3.772905e-03 6.60% + m_diagonalize 3.045132e-02 6.936519e-05 0.12% + mmm_multiply 9.809945e-03 2.234612e-05 0.04% + SCVtrans 3.383629e-03 7.707583e-06 0.01% - >>> job completed at Fri Feb 24 15:21:02 2023 <<< + >>> job completed at Wed Mar 22 12:39:11 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -1209,7 +1210,7 @@ mu = ( -0.2017 -0.0359 2556.1810 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:28:59 2023 <<< + >>> job started at Wed Mar 22 13:17:04 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -1289,7 +1290,7 @@ mu = ( -0.2017 -0.0359 2556.1810 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:28:59 2023 <<< + >>> iteration started at Wed Mar 22 13:17:04 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 15 steepest descent iterations performed @@ -1301,7 +1302,7 @@ mu = ( -0.2017 -0.0359 2556.1810 ) au 60 -1.881117950998e+01 -4.287319e-04 1.464725e-05 70 -1.881133499557e+01 -6.036766e-08 1.955112e-09 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:28:59 2023 <<< + >>> iteration ended at Wed Mar 22 13:17:04 2023 <<< ============== energy results (Molecule object) ============== @@ -1346,595 +1347,25 @@ mu = ( 17.9450 17.9453 17.9452 ) au ----------------- cputime in seconds - prologue : 3.997e-01 - main loop : 1.020e-01 - epilogue : 3.020e-04 - total : 5.020e-01 - cputime/step: 3.631e-04 ( 281 evaluations, 69 linesearches) - - Time spent doing total step percent - total time 1.426288e-01 5.075756e-04 100.00% - total FFT time 2.077359e-02 7.392736e-05 14.56% - lagrange multipliers 2.339130e-04 8.324306e-07 0.16% - local potentials 3.102000e-06 1.103915e-08 0.00% - non-local potentials 1.598382e-03 5.688192e-06 1.12% - ffm_dgemm 4.879580e-04 1.736505e-06 0.34% - fmf_dgemm 6.939140e-04 2.469445e-06 0.49% - m_diagonalize 2.252850e-04 8.017260e-07 0.16% - mmm_multiply 4.285000e-05 1.524911e-07 0.03% - SCVtrans 4.666400e-05 1.660641e-07 0.03% - - >>> job completed at Fri Feb 24 15:28:59 2023 <<< - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Fri Feb 24 15:28:59 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - writing formatted psp filename: ./W.vpp - psi grids are being converted: - -----------------------------: - converting .... psi:1 spin:1 - converting .... psi:2 spin:1 - converting .... psi:3 spin:1 - converting .... psi:4 spin:1 - converting .... psi:5 spin:1 - converting .... psi:6 spin:1 - - input psi exists, reading from file: ./nwchemex.movecs - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 1 - processor grid : 1 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: W valence charge = 6.0 lmax =2 - comment = Troullier-Martins pseudopotential - pseudopotential type = 0 - highest angular component = 2 - local potential used = 0 - number of non-local projections = 8 - semicore corrections inlcuded = 1.800 (radius) 4.536 (charge) - cutoff = 2.389 3.185 2.244 - - total charge = 0.000 - - atom composition: - W : 2 - - initial ion positions (au): - 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 - 2 W ( 2.99088 2.99088 2.99088 ) - atomic mass = 183.951 - G.C. ( 1.49544 1.49544 1.49544 ) - C.O.M. ( 1.49544 1.49544 1.49544 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 6 ( 6 per task) down = 6 ( 6 per task) - - supercell: - volume = 214.04 - lattice: a1 = < 5.982 0.000 0.000 > - a2 = < 0.000 5.982 0.000 > - a3 = < 0.000 0.000 5.982 > - reciprocal: b1 = < 1.050 0.000 0.000 > - b2 = < 0.000 1.050 0.000 > - b3 = < 0.000 0.000 1.050 > - lattice: a = 5.982 b = 5.982 c = 5.982 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 20.000 fft = 14 x 14 x 14 ( 463 waves 463 per task) - wavefnc cutoff = 10.000 fft = 14 x 14 x 14 ( 171 waves 171 per task) - - Ewald parameters: - energy cutoff = 20.000 fft = 14 x 14 x 14 ( 463 waves 463 per task) - Ewald summation: cut radius = 3.000 and 8 - Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 3.71078182) - - technical parameters: - fixed step: time step = 0.10 ficticious mass = 400000.00 - tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:28:59 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - - 15 steepest descent iterations performed - 10 -2.015461227870e+01 -1.152391e-06 1.541098e-08 - 20 -2.015461250697e+01 -6.884596e-08 1.359336e-09 - *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:28:59 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 6.00000 down= 6.00000 (real space) - - - total energy : -2.0154612507e+01 ( -1.00773e+01 /ion) - total orbital energy: 5.1934744194e+00 ( 8.65579e-01 /electron) - hartree energy : 2.9548501467e-01 ( 4.92475e-02 /electron) - exc-corr energy : -9.4995084169e+00 ( -1.58325e+00 /electron) - ion-ion energy : -2.1902017722e+01 ( -1.09510e+01 /ion) - - kinetic (planewave) : 1.4375731298e+01 ( 2.39596e+00 /electron) - V_local (planewave) : 1.1537789121e+01 ( 1.92296e+00 /electron) - V_nl (planewave) : -1.4962091802e+01 ( -2.49368e+00 /electron) - V_Coul (planewave) : 5.9097002933e-01 ( 9.84950e-02 /electron) - V_xc (planewave) : -6.3489242272e+00 ( -1.05815e+00 /electron) - Viral Coefficient : -6.3873320169e-01 - - orbital energy: - 5.4868319e-01 ( 14.931eV) - 5.4868125e-01 ( 14.930eV) - 5.4867927e-01 ( 14.930eV) - 3.7006985e-01 ( 10.070eV) - 3.7006983e-01 ( 10.070eV) - 2.1055382e-01 ( 5.730eV) - -== Center of Charge == - -spin up = ( 0.0000 -0.0000 0.0000 ) -spin down = ( 0.0000 -0.0000 0.0000 ) - total = ( 0.0000 -0.0000 0.0000 ) -ionic = ( 1.4954 1.4954 1.4954 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( 17.9452 17.9453 17.9453 ) au -|mu| = 31.0821 au ( 78.9982 Debye ) - - - Ion Forces (au): - 1 W ( 0.00000 -0.00000 0.00000 ) - 2 W ( 0.00000 -0.00000 0.00000 ) - - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 3.350e-02 - main loop : 6.453e-02 - epilogue : 7.280e-04 - total : 9.876e-02 - cputime/step: 1.218e-03 ( 53 evaluations, 12 linesearches) - - Time spent doing total step percent - total time 2.416496e-01 4.559426e-03 100.00% - total FFT time 4.204099e-02 7.932262e-04 17.40% - lagrange multipliers 3.477750e-04 6.561792e-06 0.14% - local potentials 1.297200e-05 2.447547e-07 0.01% - non-local potentials 2.653162e-03 5.005966e-05 1.10% - ffm_dgemm 7.273210e-04 1.372304e-05 0.30% - fmf_dgemm 1.055990e-03 1.992434e-05 0.44% - m_diagonalize 2.849180e-04 5.375811e-06 0.12% - mmm_multiply 5.157100e-05 9.730377e-07 0.02% - SCVtrans 5.634600e-05 1.063132e-06 0.02% - - >>> job completed at Fri Feb 24 15:28:59 2023 <<< - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Fri Feb 24 15:28:59 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - writing formatted psp filename: ./W.vpp - generating random psi from scratch - Warning - Gram-Schmidt being performed on psi2 - - exact norm = 24 norm=24.6349 corrected norm=24 (error=0.634911) - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 1 - processor grid : 1 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: W valence charge = 6.0 lmax =2 - comment = Troullier-Martins pseudopotential - pseudopotential type = 0 - highest angular component = 2 - local potential used = 0 - number of non-local projections = 8 - semicore corrections inlcuded = 1.800 (radius) 4.591 (charge) - cutoff = 2.389 3.185 2.244 - - total charge = 0.000 - - atom composition: - W : 4 - - initial ion positions (au): - 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 - 2 W ( 2.66457 0.00000 1.88413 ) - atomic mass = 183.951 - 3 W ( 2.66457 2.66457 3.76827 ) - atomic mass = 183.951 - 4 W ( 0.00000 2.66457 5.65240 ) - atomic mass = 183.951 - G.C. ( 1.33228 1.33228 2.82620 ) - C.O.M. ( 1.33228 1.33228 2.82620 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 12 ( 12 per task) down = 12 ( 12 per task) - - supercell: - volume = 214.04 - lattice: a1 = < 5.329 0.000 0.000 > - a2 = < 0.000 5.329 0.000 > - a3 = < 0.000 0.000 7.537 > - reciprocal: b1 = < 1.179 0.000 0.000 > - b2 = < 0.000 1.179 0.000 > - b3 = < 0.000 0.000 0.834 > - lattice: a = 5.329 b = 5.329 c = 7.537 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 10.000 fft = 10 x 10 x 12 ( 160 waves 160 per task) - wavefnc cutoff = 5.000 fft = 10 x 10 x 12 ( 62 waves 62 per task) - - Ewald parameters: - energy cutoff = 10.000 fft = 10 x 10 x 12 ( 160 waves 160 per task) - Ewald summation: cut radius = 3.000 and 8 - Mandelung Wigner-Seitz = 1.68382487 (alpha = 2.71431215 rs = 3.71078182) - - technical parameters: - fixed step: time step = 0.10 ficticious mass = 400000.00 - tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:28:59 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - - 15 steepest descent iterations performed - 10 -6.055830132329e+00 -3.950403e-02 1.828100e-06 - 20 -6.385809714715e+00 -3.894785e-02 1.758309e-06 - 30 -6.711168070530e+00 -3.840461e-02 1.691928e-06 - 40 -7.032007984384e+00 -3.787299e-02 1.628803e-06 - 50 -7.348421375629e+00 -3.735174e-02 1.568781e-06 - 60 -7.660489824954e+00 -3.683964e-02 1.511713e-06 - 70 -7.968285124894e+00 -3.633557e-02 1.457453e-06 - 80 -8.271869852255e+00 -3.583846e-02 1.405859e-06 - 90 -8.571297960274e+00 -3.534732e-02 1.356792e-06 - 100 -8.866615388055e+00 -3.486124e-02 1.310118e-06 - 110 -9.157860684583e+00 -3.437936e-02 1.265708e-06 - 120 -9.445065644289e+00 -3.390092e-02 1.223435e-06 - 130 -9.728255950944e+00 -3.342523e-02 1.183180e-06 - 140 -1.000745182635e+01 -3.295167e-02 1.144828e-06 - 150 -1.028266868013e+01 -3.247971e-02 1.108268e-06 - 160 -1.055391775670e+01 -3.200889e-02 1.073396e-06 - 170 -1.082120677550e+01 -3.153881e-02 1.040111e-06 - 180 -1.108454056030e+01 -3.106918e-02 1.008319e-06 - 190 -1.134392165365e+01 -3.059975e-02 9.779312e-07 - 200 -1.159935091250e+01 -3.013035e-02 9.488616e-07 - 210 -1.185082808097e+01 -2.966088e-02 9.210311e-07 - 220 -2.307658315652e+01 -2.660051e+00 3.534559e-02 - 230 -3.129825644760e+01 -8.384921e-02 8.831546e-04 - 240 -3.157478329913e+01 -8.501628e-03 7.365980e-05 - 250 -3.162757137408e+01 -3.007578e-03 8.118567e-04 - 260 -3.166852145652e+01 -6.760182e-03 2.472568e-03 - 270 -3.176521423332e+01 -6.489845e-03 3.635301e-04 - 280 -3.179220352327e+01 -2.631131e-05 6.062148e-07 - 290 -3.179228652997e+01 -8.831259e-07 3.208422e-08 - 300 -3.179228729957e+01 -5.132388e-08 1.166168e-09 - *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:29:01 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 12.00000 down= 12.00000 (real space) - - - total energy : -3.1792287300e+01 ( -7.94807e+00 /ion) - total orbital energy: 2.6841552423e+01 ( 2.23680e+00 /electron) - hartree energy : 8.0875740830e-01 ( 6.73965e-02 /electron) - exc-corr energy : -2.2041168198e+01 ( -1.83676e+00 /electron) - ion-ion energy : -5.1462581522e+01 ( -1.28656e+01 /ion) - - kinetic (planewave) : 3.6677604642e+01 ( 3.05647e+00 /electron) - V_local (planewave) : 3.8319838624e+01 ( 3.19332e+00 /electron) - V_nl (planewave) : -3.4094738254e+01 ( -2.84123e+00 /electron) - V_Coul (planewave) : 1.6175148166e+00 ( 1.34793e-01 /electron) - V_xc (planewave) : -1.5678667407e+01 ( -1.30656e+00 /electron) - Viral Coefficient : -2.6817597046e-01 - - orbital energy: - 1.4446153e+00 ( 39.310eV) - 1.4446141e+00 ( 39.310eV) - 1.2075227e+00 ( 32.859eV) - 1.2075208e+00 ( 32.859eV) - 1.2040031e+00 ( 32.763eV) - 1.1965068e+00 ( 32.559eV) - 1.1964933e+00 ( 32.558eV) - 1.0077700e+00 ( 27.423eV) - 9.8716725e-01 ( 26.862eV) - 8.7232872e-01 ( 23.737eV) - 8.7232366e-01 ( 23.737eV) - 7.7991047e-01 ( 21.223eV) - -== Center of Charge == - -spin up = ( -0.0000 0.0000 0.0000 ) -spin down = ( -0.0000 0.0000 0.0000 ) - total = ( -0.0000 0.0000 0.0000 ) -ionic = ( 1.3323 1.3323 2.8262 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( 31.9749 31.9747 67.8288 ) au -|mu| = 81.5200 au ( 207.1913 Debye ) - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 3.334e-02 - main loop : 1.548e+00 - epilogue : 2.560e-04 - total : 1.581e+00 - cputime/step: 9.618e-04 ( 1609 evaluations, 294 linesearches) - - Time spent doing total step percent - total time 1.826692e+00 1.135297e-03 100.00% - total FFT time 1.862587e-01 1.157605e-04 10.20% - lagrange multipliers 3.785279e-03 2.352566e-06 0.21% - local potentials 1.706600e-05 1.060659e-08 0.00% - non-local potentials 2.940054e-02 1.827255e-05 1.61% - ffm_dgemm 9.762918e-03 6.067693e-06 0.53% - fmf_dgemm 1.612580e-02 1.002225e-05 0.88% - m_diagonalize 3.766893e-03 2.341139e-06 0.21% - mmm_multiply 9.820350e-04 6.103387e-07 0.05% - SCVtrans 5.929350e-04 3.685115e-07 0.03% - - >>> job completed at Fri Feb 24 15:29:01 2023 <<< - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Fri Feb 24 15:29:01 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - writing formatted psp filename: ./W.vpp - psi grids are being converted: - -----------------------------: - converting .... psi:1 spin:1 - converting .... psi:2 spin:1 - converting .... psi:3 spin:1 - converting .... psi:4 spin:1 - converting .... psi:5 spin:1 - converting .... psi:6 spin:1 - converting .... psi:7 spin:1 - converting .... psi:8 spin:1 - converting .... psi:9 spin:1 - converting .... psi:10 spin:1 - converting .... psi:11 spin:1 - converting .... psi:12 spin:1 - - input psi exists, reading from file: ./nwchemex.movecs - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 1 - processor grid : 1 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: W valence charge = 6.0 lmax =2 - comment = Troullier-Martins pseudopotential - pseudopotential type = 0 - highest angular component = 2 - local potential used = 0 - number of non-local projections = 8 - semicore corrections inlcuded = 1.800 (radius) 4.595 (charge) - cutoff = 2.389 3.185 2.244 - - total charge = 0.000 - - atom composition: - W : 4 - - initial ion positions (au): - 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 - 2 W ( 2.66457 0.00000 1.88413 ) - atomic mass = 183.951 - 3 W ( 2.66457 2.66457 3.76827 ) - atomic mass = 183.951 - 4 W ( 0.00000 2.66457 5.65240 ) - atomic mass = 183.951 - G.C. ( 1.33228 1.33228 2.82620 ) - C.O.M. ( 1.33228 1.33228 2.82620 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 12 ( 12 per task) down = 12 ( 12 per task) - - supercell: - volume = 214.04 - lattice: a1 = < 5.329 0.000 0.000 > - a2 = < 0.000 5.329 0.000 > - a3 = < 0.000 0.000 7.537 > - reciprocal: b1 = < 1.179 0.000 0.000 > - b2 = < 0.000 1.179 0.000 > - b3 = < 0.000 0.000 0.834 > - lattice: a = 5.329 b = 5.329 c = 7.537 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 20.000 fft = 12 x 12 x 16 ( 460 waves 460 per task) - wavefnc cutoff = 10.000 fft = 12 x 12 x 16 ( 160 waves 160 per task) - - Ewald parameters: - energy cutoff = 20.000 fft = 12 x 12 x 16 ( 460 waves 460 per task) - Ewald summation: cut radius = 3.000 and 8 - Mandelung Wigner-Seitz = 1.68382487 (alpha = 2.71431215 rs = 3.71078182) - - technical parameters: - fixed step: time step = 0.10 ficticious mass = 400000.00 - tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:29:01 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - - 15 steepest descent iterations performed - 10 -3.617033061710e+01 -3.447767e-05 2.051315e-07 - 20 -3.617035193509e+01 -9.144932e-08 2.233123e-09 - *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:29:01 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 12.00000 down= 12.00000 (real space) - - - total energy : -3.6170351935e+01 ( -9.04259e+00 /ion) - total orbital energy: 2.3048851372e+01 ( 1.92074e+00 /electron) - hartree energy : 1.2466960309e+00 ( 1.03891e-01 /electron) - exc-corr energy : -2.2474177760e+01 ( -1.87285e+00 /electron) - ion-ion energy : -5.1462581522e+01 ( -1.28656e+01 /ion) - - kinetic (planewave) : 4.2172537419e+01 ( 3.51438e+00 /electron) - V_local (planewave) : 4.2389901334e+01 ( 3.53249e+00 /electron) - V_nl (planewave) : -4.8042727436e+01 ( -4.00356e+00 /electron) - V_Coul (planewave) : 2.4933920618e+00 ( 2.07783e-01 /electron) - V_xc (planewave) : -1.5964252007e+01 ( -1.33035e+00 /electron) - Viral Coefficient : -4.5346301687e-01 - - orbital energy: - 1.2694201e+00 ( 34.543eV) - 1.2694200e+00 ( 34.543eV) - 1.0542936e+00 ( 28.689eV) - 1.0542930e+00 ( 28.689eV) - 1.0521347e+00 ( 28.630eV) - 1.0163764e+00 ( 27.657eV) - 1.0163729e+00 ( 27.657eV) - 8.0982926e-01 ( 22.037eV) - 7.9408393e-01 ( 21.608eV) - 7.3283710e-01 ( 19.942eV) - 7.2768246e-01 ( 19.801eV) - 7.2768240e-01 ( 19.801eV) - -== Center of Charge == - -spin up = ( -0.0000 0.0000 -0.0000 ) -spin down = ( -0.0000 0.0000 -0.0000 ) - total = ( -0.0000 0.0000 -0.0000 ) -ionic = ( 1.3323 1.3323 2.8262 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( 31.9748 31.9748 67.8288 ) au -|mu| = 81.5201 au ( 207.1914 Debye ) - - - Ion Forces (au): - 1 W ( -0.00006 0.00001 0.00000 ) - 2 W ( -0.00006 0.00001 -0.00000 ) - 3 W ( 0.00005 -0.00001 0.00000 ) - 4 W ( 0.00006 -0.00001 -0.00000 ) - - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 4.004e-02 - main loop : 8.792e-02 - epilogue : 1.494e-03 + prologue : 2.496e-02 + main loop : 1.043e-01 + epilogue : 2.530e-04 total : 1.295e-01 - cputime/step: 1.332e-03 ( 66 evaluations, 16 linesearches) + cputime/step: 3.712e-04 ( 281 evaluations, 69 linesearches) Time spent doing total step percent - total time 1.956435e+00 2.964296e-02 100.00% - total FFT time 1.970198e-01 2.985148e-03 10.07% - lagrange multipliers 4.139054e-03 6.271294e-05 0.21% - local potentials 3.264100e-05 4.945606e-07 0.00% - non-local potentials 3.254549e-02 4.931134e-04 1.66% - ffm_dgemm 1.077761e-02 1.632972e-04 0.55% - fmf_dgemm 1.782622e-02 2.700943e-04 0.91% - m_diagonalize 3.999186e-03 6.059373e-05 0.20% - mmm_multiply 1.025057e-03 1.553117e-05 0.05% - SCVtrans 6.170460e-04 9.349182e-06 0.03% + total time 1.312236e-01 4.669878e-04 100.00% + total FFT time 4.236834e-02 1.507770e-04 32.29% + lagrange multipliers 2.336690e-04 8.315623e-07 0.18% + local potentials 3.448000e-06 1.227046e-08 0.00% + non-local potentials 1.560344e-03 5.552826e-06 1.19% + ffm_dgemm 5.100320e-04 1.815060e-06 0.39% + fmf_dgemm 7.351090e-04 2.616046e-06 0.56% + m_diagonalize 2.286610e-04 8.137402e-07 0.17% + mmm_multiply 4.442300e-05 1.580890e-07 0.03% + SCVtrans 4.797800e-05 1.707402e-07 0.04% - >>> job completed at Fri Feb 24 15:29:01 2023 <<< + >>> job completed at Wed Mar 22 13:17:04 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -1948,7 +1379,577 @@ mu = ( 31.9748 31.9748 67.8288 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:29:01 2023 <<< + >>> job started at Wed Mar 22 13:17:04 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + psi grids are being converted: + -----------------------------: + converting .... psi:1 spin:1 + converting .... psi:2 spin:1 + converting .... psi:3 spin:1 + converting .... psi:4 spin:1 + converting .... psi:5 spin:1 + converting .... psi:6 spin:1 + + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.536 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 2 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.99088 2.99088 2.99088 ) - atomic mass = 183.951 + G.C. ( 1.49544 1.49544 1.49544 ) + C.O.M. ( 1.49544 1.49544 1.49544 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 6 ( 6 per task) down = 6 ( 6 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.982 0.000 0.000 > + a2 = < 0.000 5.982 0.000 > + a3 = < 0.000 0.000 5.982 > + reciprocal: b1 = < 1.050 0.000 0.000 > + b2 = < 0.000 1.050 0.000 > + b3 = < 0.000 0.000 1.050 > + lattice: a = 5.982 b = 5.982 c = 5.982 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 20.000 fft = 14 x 14 x 14 ( 463 waves 463 per task) + wavefnc cutoff = 10.000 fft = 14 x 14 x 14 ( 171 waves 171 per task) + + Ewald parameters: + energy cutoff = 20.000 fft = 14 x 14 x 14 ( 463 waves 463 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 3.71078182) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Wed Mar 22 13:17:04 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -2.015461227870e+01 -1.152391e-06 1.541098e-08 + 20 -2.015461250697e+01 -6.884596e-08 1.359336e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Wed Mar 22 13:17:04 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 6.00000 down= 6.00000 (real space) + + + total energy : -2.0154612507e+01 ( -1.00773e+01 /ion) + total orbital energy: 5.1934744194e+00 ( 8.65579e-01 /electron) + hartree energy : 2.9548501467e-01 ( 4.92475e-02 /electron) + exc-corr energy : -9.4995084169e+00 ( -1.58325e+00 /electron) + ion-ion energy : -2.1902017722e+01 ( -1.09510e+01 /ion) + + kinetic (planewave) : 1.4375731298e+01 ( 2.39596e+00 /electron) + V_local (planewave) : 1.1537789121e+01 ( 1.92296e+00 /electron) + V_nl (planewave) : -1.4962091802e+01 ( -2.49368e+00 /electron) + V_Coul (planewave) : 5.9097002933e-01 ( 9.84950e-02 /electron) + V_xc (planewave) : -6.3489242272e+00 ( -1.05815e+00 /electron) + Viral Coefficient : -6.3873320169e-01 + + orbital energy: + 5.4868319e-01 ( 14.931eV) + 5.4868125e-01 ( 14.930eV) + 5.4867927e-01 ( 14.930eV) + 3.7006985e-01 ( 10.070eV) + 3.7006983e-01 ( 10.070eV) + 2.1055382e-01 ( 5.730eV) + +== Center of Charge == + +spin up = ( 0.0000 -0.0000 0.0000 ) +spin down = ( 0.0000 -0.0000 0.0000 ) + total = ( 0.0000 -0.0000 0.0000 ) +ionic = ( 1.4954 1.4954 1.4954 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 17.9452 17.9453 17.9453 ) au +|mu| = 31.0821 au ( 78.9982 Debye ) + + + Ion Forces (au): + 1 W ( 0.00000 -0.00000 0.00000 ) + 2 W ( 0.00000 -0.00000 0.00000 ) + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 3.565e-02 + main loop : 6.227e-02 + epilogue : 7.220e-04 + total : 9.864e-02 + cputime/step: 1.175e-03 ( 53 evaluations, 12 linesearches) + + Time spent doing total step percent + total time 2.301125e-01 4.341745e-03 100.00% + total FFT time 8.104117e-02 1.529079e-03 35.22% + lagrange multipliers 3.374650e-04 6.367264e-06 0.15% + local potentials 1.217900e-05 2.297925e-07 0.01% + non-local potentials 2.504244e-03 4.724989e-05 1.09% + ffm_dgemm 7.371550e-04 1.390858e-05 0.32% + fmf_dgemm 1.086779e-03 2.050526e-05 0.47% + m_diagonalize 2.868510e-04 5.412283e-06 0.12% + mmm_multiply 5.258000e-05 9.920755e-07 0.02% + SCVtrans 5.828700e-05 1.099755e-06 0.03% + + >>> job completed at Wed Mar 22 13:17:04 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Wed Mar 22 13:17:04 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + generating random psi from scratch + Warning - Gram-Schmidt being performed on psi2 + - exact norm = 24 norm=24.6349 corrected norm=24 (error=0.634911) + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.591 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 4 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.66457 0.00000 1.88413 ) - atomic mass = 183.951 + 3 W ( 2.66457 2.66457 3.76827 ) - atomic mass = 183.951 + 4 W ( 0.00000 2.66457 5.65240 ) - atomic mass = 183.951 + G.C. ( 1.33228 1.33228 2.82620 ) + C.O.M. ( 1.33228 1.33228 2.82620 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 12 ( 12 per task) down = 12 ( 12 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.329 0.000 0.000 > + a2 = < 0.000 5.329 0.000 > + a3 = < 0.000 0.000 7.537 > + reciprocal: b1 = < 1.179 0.000 0.000 > + b2 = < 0.000 1.179 0.000 > + b3 = < 0.000 0.000 0.834 > + lattice: a = 5.329 b = 5.329 c = 7.537 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 10.000 fft = 10 x 10 x 12 ( 160 waves 160 per task) + wavefnc cutoff = 5.000 fft = 10 x 10 x 12 ( 62 waves 62 per task) + + Ewald parameters: + energy cutoff = 10.000 fft = 10 x 10 x 12 ( 160 waves 160 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz = 1.68382487 (alpha = 2.71431215 rs = 3.71078182) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Wed Mar 22 13:17:04 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -6.055830132329e+00 -3.950403e-02 1.828100e-06 + 20 -6.385809714715e+00 -3.894785e-02 1.758309e-06 + 30 -6.711168070530e+00 -3.840461e-02 1.691928e-06 + 40 -7.032007984384e+00 -3.787299e-02 1.628803e-06 + 50 -7.348421375629e+00 -3.735174e-02 1.568781e-06 + 60 -7.660489824954e+00 -3.683964e-02 1.511713e-06 + 70 -7.968285124894e+00 -3.633557e-02 1.457453e-06 + 80 -8.271869852255e+00 -3.583846e-02 1.405859e-06 + 90 -8.571297960274e+00 -3.534732e-02 1.356792e-06 + 100 -8.866615388055e+00 -3.486124e-02 1.310118e-06 + 110 -9.157860684583e+00 -3.437936e-02 1.265708e-06 + 120 -9.445065644289e+00 -3.390092e-02 1.223435e-06 + 130 -9.728255950944e+00 -3.342523e-02 1.183180e-06 + 140 -1.000745182635e+01 -3.295167e-02 1.144828e-06 + 150 -1.028266868013e+01 -3.247971e-02 1.108268e-06 + 160 -1.055391775670e+01 -3.200889e-02 1.073396e-06 + 170 -1.082120677550e+01 -3.153881e-02 1.040111e-06 + 180 -1.108454056030e+01 -3.106918e-02 1.008319e-06 + 190 -1.134392165365e+01 -3.059975e-02 9.779312e-07 + 200 -1.159935091250e+01 -3.013035e-02 9.488616e-07 + 210 -1.185082808097e+01 -2.966088e-02 9.210311e-07 + 220 -2.307658315652e+01 -2.660051e+00 3.534559e-02 + 230 -3.129825644760e+01 -8.384921e-02 8.831546e-04 + 240 -3.157478329913e+01 -8.501628e-03 7.365980e-05 + 250 -3.162757137408e+01 -3.007578e-03 8.118567e-04 + 260 -3.166852145652e+01 -6.760182e-03 2.472568e-03 + 270 -3.176521423332e+01 -6.489845e-03 3.635301e-04 + 280 -3.179220352327e+01 -2.631131e-05 6.062148e-07 + 290 -3.179228652997e+01 -8.831259e-07 3.208422e-08 + 300 -3.179228729957e+01 -5.132388e-08 1.166168e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Wed Mar 22 13:17:06 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 12.00000 down= 12.00000 (real space) + + + total energy : -3.1792287300e+01 ( -7.94807e+00 /ion) + total orbital energy: 2.6841552423e+01 ( 2.23680e+00 /electron) + hartree energy : 8.0875740830e-01 ( 6.73965e-02 /electron) + exc-corr energy : -2.2041168198e+01 ( -1.83676e+00 /electron) + ion-ion energy : -5.1462581522e+01 ( -1.28656e+01 /ion) + + kinetic (planewave) : 3.6677604642e+01 ( 3.05647e+00 /electron) + V_local (planewave) : 3.8319838624e+01 ( 3.19332e+00 /electron) + V_nl (planewave) : -3.4094738254e+01 ( -2.84123e+00 /electron) + V_Coul (planewave) : 1.6175148166e+00 ( 1.34793e-01 /electron) + V_xc (planewave) : -1.5678667407e+01 ( -1.30656e+00 /electron) + Viral Coefficient : -2.6817597046e-01 + + orbital energy: + 1.4446153e+00 ( 39.310eV) + 1.4446141e+00 ( 39.310eV) + 1.2075227e+00 ( 32.859eV) + 1.2075208e+00 ( 32.859eV) + 1.2040031e+00 ( 32.763eV) + 1.1965068e+00 ( 32.559eV) + 1.1964933e+00 ( 32.558eV) + 1.0077700e+00 ( 27.423eV) + 9.8716725e-01 ( 26.862eV) + 8.7232872e-01 ( 23.737eV) + 8.7232366e-01 ( 23.737eV) + 7.7991047e-01 ( 21.223eV) + +== Center of Charge == + +spin up = ( -0.0000 0.0000 0.0000 ) +spin down = ( -0.0000 0.0000 0.0000 ) + total = ( -0.0000 0.0000 0.0000 ) +ionic = ( 1.3323 1.3323 2.8262 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 31.9749 31.9747 67.8288 ) au +|mu| = 81.5200 au ( 207.1913 Debye ) + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 3.306e-02 + main loop : 2.031e+00 + epilogue : 5.200e-04 + total : 2.065e+00 + cputime/step: 1.262e-03 ( 1609 evaluations, 294 linesearches) + + Time spent doing total step percent + total time 2.296604e+00 1.427349e-03 100.00% + total FFT time 6.041492e-01 3.754811e-04 26.31% + lagrange multipliers 3.886039e-03 2.415189e-06 0.17% + local potentials 1.617600e-05 1.005345e-08 0.00% + non-local potentials 3.648634e-02 2.267641e-05 1.59% + ffm_dgemm 1.295028e-02 8.048649e-06 0.56% + fmf_dgemm 2.113136e-02 1.313323e-05 0.92% + m_diagonalize 5.531595e-03 3.437909e-06 0.24% + mmm_multiply 1.293869e-03 8.041448e-07 0.06% + SCVtrans 7.841560e-04 4.873561e-07 0.03% + + >>> job completed at Wed Mar 22 13:17:06 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Wed Mar 22 13:17:06 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + psi grids are being converted: + -----------------------------: + converting .... psi:1 spin:1 + converting .... psi:2 spin:1 + converting .... psi:3 spin:1 + converting .... psi:4 spin:1 + converting .... psi:5 spin:1 + converting .... psi:6 spin:1 + converting .... psi:7 spin:1 + converting .... psi:8 spin:1 + converting .... psi:9 spin:1 + converting .... psi:10 spin:1 + converting .... psi:11 spin:1 + converting .... psi:12 spin:1 + + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.595 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 4 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.66457 0.00000 1.88413 ) - atomic mass = 183.951 + 3 W ( 2.66457 2.66457 3.76827 ) - atomic mass = 183.951 + 4 W ( 0.00000 2.66457 5.65240 ) - atomic mass = 183.951 + G.C. ( 1.33228 1.33228 2.82620 ) + C.O.M. ( 1.33228 1.33228 2.82620 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 12 ( 12 per task) down = 12 ( 12 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.329 0.000 0.000 > + a2 = < 0.000 5.329 0.000 > + a3 = < 0.000 0.000 7.537 > + reciprocal: b1 = < 1.179 0.000 0.000 > + b2 = < 0.000 1.179 0.000 > + b3 = < 0.000 0.000 0.834 > + lattice: a = 5.329 b = 5.329 c = 7.537 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 20.000 fft = 12 x 12 x 16 ( 460 waves 460 per task) + wavefnc cutoff = 10.000 fft = 12 x 12 x 16 ( 160 waves 160 per task) + + Ewald parameters: + energy cutoff = 20.000 fft = 12 x 12 x 16 ( 460 waves 460 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz = 1.68382487 (alpha = 2.71431215 rs = 3.71078182) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Wed Mar 22 13:17:06 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -3.617033061710e+01 -3.447767e-05 2.051315e-07 + 20 -3.617035193509e+01 -9.144932e-08 2.233123e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Wed Mar 22 13:17:06 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 12.00000 down= 12.00000 (real space) + + + total energy : -3.6170351935e+01 ( -9.04259e+00 /ion) + total orbital energy: 2.3048851372e+01 ( 1.92074e+00 /electron) + hartree energy : 1.2466960309e+00 ( 1.03891e-01 /electron) + exc-corr energy : -2.2474177760e+01 ( -1.87285e+00 /electron) + ion-ion energy : -5.1462581522e+01 ( -1.28656e+01 /ion) + + kinetic (planewave) : 4.2172537419e+01 ( 3.51438e+00 /electron) + V_local (planewave) : 4.2389901334e+01 ( 3.53249e+00 /electron) + V_nl (planewave) : -4.8042727436e+01 ( -4.00356e+00 /electron) + V_Coul (planewave) : 2.4933920618e+00 ( 2.07783e-01 /electron) + V_xc (planewave) : -1.5964252007e+01 ( -1.33035e+00 /electron) + Viral Coefficient : -4.5346301687e-01 + + orbital energy: + 1.2694201e+00 ( 34.543eV) + 1.2694200e+00 ( 34.543eV) + 1.0542936e+00 ( 28.689eV) + 1.0542930e+00 ( 28.689eV) + 1.0521347e+00 ( 28.630eV) + 1.0163764e+00 ( 27.657eV) + 1.0163729e+00 ( 27.657eV) + 8.0982926e-01 ( 22.037eV) + 7.9408393e-01 ( 21.608eV) + 7.3283710e-01 ( 19.942eV) + 7.2768246e-01 ( 19.801eV) + 7.2768240e-01 ( 19.801eV) + +== Center of Charge == + +spin up = ( -0.0000 0.0000 -0.0000 ) +spin down = ( -0.0000 0.0000 -0.0000 ) + total = ( -0.0000 0.0000 -0.0000 ) +ionic = ( 1.3323 1.3323 2.8262 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 31.9748 31.9748 67.8288 ) au +|mu| = 81.5201 au ( 207.1914 Debye ) + + + Ion Forces (au): + 1 W ( -0.00006 0.00001 0.00000 ) + 2 W ( -0.00006 0.00001 -0.00000 ) + 3 W ( 0.00005 -0.00001 0.00000 ) + 4 W ( 0.00006 -0.00001 -0.00000 ) + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 8.283e-02 + main loop : 1.384e-01 + epilogue : 2.053e-03 + total : 2.233e-01 + cputime/step: 2.097e-03 ( 66 evaluations, 16 linesearches) + + Time spent doing total step percent + total time 2.520381e+00 3.818759e-02 100.00% + total FFT time 6.526095e-01 9.888023e-03 25.89% + lagrange multipliers 4.507901e-03 6.830153e-05 0.18% + local potentials 4.089200e-05 6.195758e-07 0.00% + non-local potentials 4.131665e-02 6.260099e-04 1.64% + ffm_dgemm 1.451011e-02 2.198502e-04 0.58% + fmf_dgemm 2.372824e-02 3.595188e-04 0.94% + m_diagonalize 5.878501e-03 8.906820e-05 0.23% + mmm_multiply 1.361049e-03 2.062195e-05 0.05% + SCVtrans 8.221450e-04 1.245674e-05 0.03% + + >>> job completed at Wed Mar 22 13:17:06 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Wed Mar 22 13:17:06 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -2035,7 +2036,7 @@ mu = ( 31.9748 31.9748 67.8288 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:29:01 2023 <<< + >>> iteration started at Wed Mar 22 13:17:07 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 15 steepest descent iterations performed @@ -2065,7 +2066,7 @@ mu = ( 31.9748 31.9748 67.8288 ) au 240 -8.831302766242e+01 -1.599960e-07 7.829532e-10 250 -8.831302775935e+01 -9.692576e-08 4.617615e-10 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:29:10 2023 <<< + >>> iteration ended at Wed Mar 22 13:17:16 2023 <<< ============== energy results (Molecule object) ============== @@ -2131,25 +2132,25 @@ mu = ( -0.0001 0.0000 2556.1878 ) au ----------------- cputime in seconds - prologue : 3.137e-01 - main loop : 8.214e+00 - epilogue : 1.993e-03 - total : 8.530e+00 - cputime/step: 8.459e-03 ( 971 evaluations, 241 linesearches) + prologue : 3.906e-01 + main loop : 9.311e+00 + epilogue : 2.276e-03 + total : 9.703e+00 + cputime/step: 9.589e-03 ( 971 evaluations, 241 linesearches) Time spent doing total step percent - total time 1.049025e+01 1.080355e-02 100.00% - total FFT time 1.059479e+00 1.091122e-03 10.10% - lagrange multipliers 8.753689e-02 9.015128e-05 0.83% - local potentials 1.162330e-04 1.197044e-07 0.00% - non-local potentials 8.105549e-01 8.347630e-04 7.73% - ffm_dgemm 2.886437e-01 2.972643e-04 2.75% - fmf_dgemm 6.242469e-01 6.428907e-04 5.95% - m_diagonalize 1.797765e-02 1.851457e-05 0.17% - mmm_multiply 6.072983e-03 6.254359e-06 0.06% - SCVtrans 2.162798e-03 2.227392e-06 0.02% + total time 1.222606e+01 1.259120e-02 100.00% + total FFT time 5.571228e+00 5.737619e-03 45.57% + lagrange multipliers 1.010620e-01 1.040803e-04 0.83% + local potentials 1.368780e-04 1.409660e-07 0.00% + non-local potentials 9.251906e-01 9.528224e-04 7.57% + ffm_dgemm 3.260552e-01 3.357932e-04 2.67% + fmf_dgemm 6.966647e-01 7.174714e-04 5.70% + m_diagonalize 2.152491e-02 2.216777e-05 0.18% + mmm_multiply 6.881618e-03 7.087145e-06 0.06% + SCVtrans 2.273848e-03 2.341759e-06 0.02% - >>> job completed at Fri Feb 24 15:29:10 2023 <<< + >>> job completed at Wed Mar 22 13:17:16 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -2163,7 +2164,7 @@ mu = ( -0.0001 0.0000 2556.1878 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:29:10 2023 <<< + >>> job started at Wed Mar 22 13:17:16 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -2278,7 +2279,7 @@ mu = ( -0.0001 0.0000 2556.1878 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:29:10 2023 <<< + >>> iteration started at Wed Mar 22 13:17:17 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 15 steepest descent iterations performed @@ -2296,7 +2297,7 @@ mu = ( -0.0001 0.0000 2556.1878 ) au 120 -9.276294176248e+01 -2.348768e-07 4.151375e-09 130 -9.276294233017e+01 -9.807081e-08 1.296479e-09 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:29:21 2023 <<< + >>> iteration ended at Wed Mar 22 13:17:29 2023 <<< ============== energy results (Molecule object) ============== @@ -2375,22 +2376,22 @@ mu = ( -0.2017 -0.0359 2556.1810 ) au ----------------- cputime in seconds - prologue : 4.693e-01 - main loop : 1.043e+01 - epilogue : 2.300e-02 - total : 1.092e+01 - cputime/step: 2.375e-02 ( 439 evaluations, 124 linesearches) + prologue : 5.438e-01 + main loop : 1.198e+01 + epilogue : 2.676e-02 + total : 1.255e+01 + cputime/step: 2.730e-02 ( 439 evaluations, 124 linesearches) Time spent doing total step percent - total time 2.141551e+01 4.878249e-02 100.00% - total FFT time 2.135531e+00 4.864536e-03 9.97% - lagrange multipliers 1.438961e-01 3.277815e-04 0.67% - local potentials 4.699060e-04 1.070401e-06 0.00% - non-local potentials 1.918834e+00 4.370920e-03 8.96% - ffm_dgemm 7.128095e-01 1.623712e-03 3.33% - fmf_dgemm 1.468991e+00 3.346221e-03 6.86% - m_diagonalize 2.585836e-02 5.890287e-05 0.12% - mmm_multiply 8.551421e-03 1.947932e-05 0.04% - SCVtrans 3.197823e-03 7.284335e-06 0.01% + total time 2.479577e+01 5.648239e-02 100.00% + total FFT time 1.202874e+01 2.740032e-02 48.51% + lagrange multipliers 1.581909e-01 3.603437e-04 0.64% + local potentials 5.581040e-04 1.271308e-06 0.00% + non-local potentials 2.192835e+00 4.995068e-03 8.84% + ffm_dgemm 8.123112e-01 1.850367e-03 3.28% + fmf_dgemm 1.667525e+00 3.798463e-03 6.73% + m_diagonalize 3.069774e-02 6.992651e-05 0.12% + mmm_multiply 9.825792e-03 2.238221e-05 0.04% + SCVtrans 3.424110e-03 7.799795e-06 0.01% - >>> job completed at Fri Feb 24 15:29:21 2023 <<< + >>> job completed at Wed Mar 22 13:17:29 2023 <<< diff --git a/examples/QUANTUM/NWChem/log.22Mar23.series.pwdft.plugin.1 b/examples/QUANTUM/NWChem/log.22Mar23.series.pwdft.plugin.1 new file mode 100644 index 0000000000..8245a48462 --- /dev/null +++ b/examples/QUANTUM/NWChem/log.22Mar23.series.pwdft.plugin.1 @@ -0,0 +1,1198 @@ + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Wed Mar 22 13:23:19 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + generating random psi from scratch + Warning - Gram-Schmidt being performed on psi2 + - exact norm = 12 norm=12.2903 corrected norm=12 (error=0.290271) + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.532 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 2 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.99088 2.99088 2.99088 ) - atomic mass = 183.951 + G.C. ( 1.49544 1.49544 1.49544 ) + C.O.M. ( 1.49544 1.49544 1.49544 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 6 ( 6 per task) down = 6 ( 6 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.982 0.000 0.000 > + a2 = < 0.000 5.982 0.000 > + a3 = < 0.000 0.000 5.982 > + reciprocal: b1 = < 1.050 0.000 0.000 > + b2 = < 0.000 1.050 0.000 > + b3 = < 0.000 0.000 1.050 > + lattice: a = 5.982 b = 5.982 c = 5.982 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 10.000 fft = 10 x 10 x 10 ( 171 waves 171 per task) + wavefnc cutoff = 5.000 fft = 10 x 10 x 10 ( 62 waves 62 per task) + + Ewald parameters: + energy cutoff = 10.000 fft = 10 x 10 x 10 ( 171 waves 171 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 3.71078182) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Wed Mar 22 13:23:19 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -1.674215046115e+01 -8.251196e-02 9.196301e-04 + 20 -1.749771236403e+01 -1.002147e-01 1.472766e-03 + 30 -1.823150320727e+01 -3.534576e-02 3.524284e-04 + 40 -1.846047982908e+01 -2.204551e-02 2.446432e-04 + 50 -1.868365376681e+01 -1.854154e-02 2.029002e-04 + 60 -1.881117950998e+01 -4.287319e-04 1.464725e-05 + 70 -1.881133499557e+01 -6.036766e-08 1.955112e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Wed Mar 22 13:23:20 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 6.00000 down= 6.00000 (real space) + + + total energy : -1.8811334996e+01 ( -9.40567e+00 /ion) + total orbital energy: 6.3205159164e+00 ( 1.05342e+00 /electron) + hartree energy : 1.5018043194e-01 ( 2.50301e-02 /electron) + exc-corr energy : -9.2446725740e+00 ( -1.54078e+00 /electron) + ion-ion energy : -2.1902017722e+01 ( -1.09510e+01 /ion) + + kinetic (planewave) : 1.2028654702e+01 ( 2.00478e+00 /electron) + V_local (planewave) : 9.8433605672e+00 ( 1.64056e+00 /electron) + V_nl (planewave) : -9.6868404003e+00 ( -1.61447e+00 /electron) + V_Coul (planewave) : 3.0036086388e-01 ( 5.00601e-02 /electron) + V_xc (planewave) : -6.1650198159e+00 ( -1.02750e+00 /electron) + Viral Coefficient : -4.7454506982e-01 + + orbital energy: + 6.7570236e-01 ( 18.387eV) + 6.7570093e-01 ( 18.387eV) + 6.7569918e-01 ( 18.387eV) + 4.5449701e-01 ( 12.368eV) + 4.5449681e-01 ( 12.368eV) + 2.2416167e-01 ( 6.100eV) + +== Center of Charge == + +spin up = ( 0.0000 -0.0000 0.0000 ) +spin down = ( 0.0000 -0.0000 0.0000 ) + total = ( 0.0000 -0.0000 0.0000 ) +ionic = ( 1.4954 1.4954 1.4954 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 17.9450 17.9453 17.9452 ) au +|mu| = 31.0820 au ( 78.9979 Debye ) + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 3.760e-01 + main loop : 1.083e-01 + epilogue : 3.260e-04 + total : 4.846e-01 + cputime/step: 3.853e-04 ( 281 evaluations, 69 linesearches) + + Time spent doing total step percent + total time 1.486831e-01 5.291214e-04 100.00% + total FFT time 4.388060e-02 1.561587e-04 29.51% + lagrange multipliers 2.533510e-04 9.016050e-07 0.17% + local potentials 5.159000e-06 1.835943e-08 0.00% + non-local potentials 1.651818e-03 5.878356e-06 1.11% + ffm_dgemm 5.361790e-04 1.908110e-06 0.36% + fmf_dgemm 7.489670e-04 2.665363e-06 0.50% + m_diagonalize 2.423270e-04 8.623737e-07 0.16% + mmm_multiply 4.555200e-05 1.621068e-07 0.03% + SCVtrans 5.897900e-05 2.098897e-07 0.04% + + >>> job completed at Wed Mar 22 13:23:20 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Wed Mar 22 13:23:20 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + psi grids are being converted: + -----------------------------: + converting .... psi:1 spin:1 + converting .... psi:2 spin:1 + converting .... psi:3 spin:1 + converting .... psi:4 spin:1 + converting .... psi:5 spin:1 + converting .... psi:6 spin:1 + + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.536 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 2 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.99088 2.99088 2.99088 ) - atomic mass = 183.951 + G.C. ( 1.49544 1.49544 1.49544 ) + C.O.M. ( 1.49544 1.49544 1.49544 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 6 ( 6 per task) down = 6 ( 6 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.982 0.000 0.000 > + a2 = < 0.000 5.982 0.000 > + a3 = < 0.000 0.000 5.982 > + reciprocal: b1 = < 1.050 0.000 0.000 > + b2 = < 0.000 1.050 0.000 > + b3 = < 0.000 0.000 1.050 > + lattice: a = 5.982 b = 5.982 c = 5.982 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 20.000 fft = 14 x 14 x 14 ( 463 waves 463 per task) + wavefnc cutoff = 10.000 fft = 14 x 14 x 14 ( 171 waves 171 per task) + + Ewald parameters: + energy cutoff = 20.000 fft = 14 x 14 x 14 ( 463 waves 463 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 3.71078182) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Wed Mar 22 13:23:20 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -2.015461227870e+01 -1.152391e-06 1.541098e-08 + 20 -2.015461250697e+01 -6.884596e-08 1.359336e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Wed Mar 22 13:23:20 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 6.00000 down= 6.00000 (real space) + + + total energy : -2.0154612507e+01 ( -1.00773e+01 /ion) + total orbital energy: 5.1934744194e+00 ( 8.65579e-01 /electron) + hartree energy : 2.9548501467e-01 ( 4.92475e-02 /electron) + exc-corr energy : -9.4995084169e+00 ( -1.58325e+00 /electron) + ion-ion energy : -2.1902017722e+01 ( -1.09510e+01 /ion) + + kinetic (planewave) : 1.4375731298e+01 ( 2.39596e+00 /electron) + V_local (planewave) : 1.1537789121e+01 ( 1.92296e+00 /electron) + V_nl (planewave) : -1.4962091802e+01 ( -2.49368e+00 /electron) + V_Coul (planewave) : 5.9097002933e-01 ( 9.84950e-02 /electron) + V_xc (planewave) : -6.3489242272e+00 ( -1.05815e+00 /electron) + Viral Coefficient : -6.3873320169e-01 + + orbital energy: + 5.4868319e-01 ( 14.931eV) + 5.4868125e-01 ( 14.930eV) + 5.4867927e-01 ( 14.930eV) + 3.7006985e-01 ( 10.070eV) + 3.7006983e-01 ( 10.070eV) + 2.1055382e-01 ( 5.730eV) + +== Center of Charge == + +spin up = ( 0.0000 -0.0000 0.0000 ) +spin down = ( 0.0000 -0.0000 0.0000 ) + total = ( 0.0000 -0.0000 0.0000 ) +ionic = ( 1.4954 1.4954 1.4954 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 17.9452 17.9453 17.9453 ) au +|mu| = 31.0821 au ( 78.9982 Debye ) + + + Ion Forces (au): + 1 W ( 0.00000 -0.00000 0.00000 ) + 2 W ( 0.00000 -0.00000 0.00000 ) + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 3.605e-02 + main loop : 6.686e-02 + epilogue : 8.060e-04 + total : 1.037e-01 + cputime/step: 1.262e-03 ( 53 evaluations, 12 linesearches) + + Time spent doing total step percent + total time 2.526706e-01 4.767370e-03 100.00% + total FFT time 8.538122e-02 1.610966e-03 33.79% + lagrange multipliers 3.641960e-04 6.871623e-06 0.14% + local potentials 1.539400e-05 2.904528e-07 0.01% + non-local potentials 2.728483e-03 5.148081e-05 1.08% + ffm_dgemm 7.778410e-04 1.467625e-05 0.31% + fmf_dgemm 1.124244e-03 2.121215e-05 0.44% + m_diagonalize 3.047480e-04 5.749962e-06 0.12% + mmm_multiply 5.424200e-05 1.023434e-06 0.02% + SCVtrans 6.965200e-05 1.314189e-06 0.03% + + >>> job completed at Wed Mar 22 13:23:20 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Wed Mar 22 13:23:20 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + generating random psi from scratch + Warning - Gram-Schmidt being performed on psi2 + - exact norm = 24 norm=24.6349 corrected norm=24 (error=0.634911) + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.591 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 4 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.66457 0.00000 1.88413 ) - atomic mass = 183.951 + 3 W ( 2.66457 2.66457 3.76827 ) - atomic mass = 183.951 + 4 W ( 0.00000 2.66457 5.65240 ) - atomic mass = 183.951 + G.C. ( 1.33228 1.33228 2.82620 ) + C.O.M. ( 1.33228 1.33228 2.82620 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 12 ( 12 per task) down = 12 ( 12 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.329 0.000 0.000 > + a2 = < 0.000 5.329 0.000 > + a3 = < 0.000 0.000 7.537 > + reciprocal: b1 = < 1.179 0.000 0.000 > + b2 = < 0.000 1.179 0.000 > + b3 = < 0.000 0.000 0.834 > + lattice: a = 5.329 b = 5.329 c = 7.537 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 10.000 fft = 10 x 10 x 12 ( 160 waves 160 per task) + wavefnc cutoff = 5.000 fft = 10 x 10 x 12 ( 62 waves 62 per task) + + Ewald parameters: + energy cutoff = 10.000 fft = 10 x 10 x 12 ( 160 waves 160 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz = 1.68382487 (alpha = 2.71431215 rs = 3.71078182) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Wed Mar 22 13:23:20 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -6.055830132329e+00 -3.950403e-02 1.828100e-06 + 20 -6.385809714715e+00 -3.894785e-02 1.758309e-06 + 30 -6.711168070530e+00 -3.840461e-02 1.691928e-06 + 40 -7.032007984384e+00 -3.787299e-02 1.628803e-06 + 50 -7.348421375629e+00 -3.735174e-02 1.568781e-06 + 60 -7.660489824954e+00 -3.683964e-02 1.511713e-06 + 70 -7.968285124894e+00 -3.633557e-02 1.457453e-06 + 80 -8.271869852255e+00 -3.583846e-02 1.405859e-06 + 90 -8.571297960274e+00 -3.534732e-02 1.356792e-06 + 100 -8.866615388055e+00 -3.486124e-02 1.310118e-06 + 110 -9.157860684583e+00 -3.437936e-02 1.265708e-06 + 120 -9.445065644289e+00 -3.390092e-02 1.223435e-06 + 130 -9.728255950944e+00 -3.342523e-02 1.183180e-06 + 140 -1.000745182635e+01 -3.295167e-02 1.144828e-06 + 150 -1.028266868013e+01 -3.247971e-02 1.108268e-06 + 160 -1.055391775670e+01 -3.200889e-02 1.073396e-06 + 170 -1.082120677550e+01 -3.153881e-02 1.040111e-06 + 180 -1.108454056030e+01 -3.106918e-02 1.008319e-06 + 190 -1.134392165365e+01 -3.059975e-02 9.779312e-07 + 200 -1.159935091250e+01 -3.013035e-02 9.488616e-07 + 210 -1.185082808097e+01 -2.966088e-02 9.210311e-07 + 220 -2.307658315652e+01 -2.660051e+00 3.534559e-02 + 230 -3.129825644760e+01 -8.384921e-02 8.831546e-04 + 240 -3.157478329913e+01 -8.501628e-03 7.365980e-05 + 250 -3.162757137408e+01 -3.007578e-03 8.118567e-04 + 260 -3.166852145652e+01 -6.760182e-03 2.472568e-03 + 270 -3.176521423332e+01 -6.489845e-03 3.635301e-04 + 280 -3.179220352327e+01 -2.631131e-05 6.062148e-07 + 290 -3.179228652997e+01 -8.831259e-07 3.208422e-08 + 300 -3.179228729957e+01 -5.132388e-08 1.166168e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Wed Mar 22 13:23:21 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 12.00000 down= 12.00000 (real space) + + + total energy : -3.1792287300e+01 ( -7.94807e+00 /ion) + total orbital energy: 2.6841552423e+01 ( 2.23680e+00 /electron) + hartree energy : 8.0875740830e-01 ( 6.73965e-02 /electron) + exc-corr energy : -2.2041168198e+01 ( -1.83676e+00 /electron) + ion-ion energy : -5.1462581522e+01 ( -1.28656e+01 /ion) + + kinetic (planewave) : 3.6677604642e+01 ( 3.05647e+00 /electron) + V_local (planewave) : 3.8319838624e+01 ( 3.19332e+00 /electron) + V_nl (planewave) : -3.4094738254e+01 ( -2.84123e+00 /electron) + V_Coul (planewave) : 1.6175148166e+00 ( 1.34793e-01 /electron) + V_xc (planewave) : -1.5678667407e+01 ( -1.30656e+00 /electron) + Viral Coefficient : -2.6817597046e-01 + + orbital energy: + 1.4446153e+00 ( 39.310eV) + 1.4446141e+00 ( 39.310eV) + 1.2075227e+00 ( 32.859eV) + 1.2075208e+00 ( 32.859eV) + 1.2040031e+00 ( 32.763eV) + 1.1965068e+00 ( 32.559eV) + 1.1964933e+00 ( 32.558eV) + 1.0077700e+00 ( 27.423eV) + 9.8716725e-01 ( 26.862eV) + 8.7232872e-01 ( 23.737eV) + 8.7232366e-01 ( 23.737eV) + 7.7991047e-01 ( 21.223eV) + +== Center of Charge == + +spin up = ( -0.0000 0.0000 0.0000 ) +spin down = ( -0.0000 0.0000 0.0000 ) + total = ( -0.0000 0.0000 0.0000 ) +ionic = ( 1.3323 1.3323 2.8262 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 31.9749 31.9747 67.8288 ) au +|mu| = 81.5200 au ( 207.1913 Debye ) + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 3.433e-02 + main loop : 1.653e+00 + epilogue : 2.800e-04 + total : 1.688e+00 + cputime/step: 1.028e-03 ( 1609 evaluations, 294 linesearches) + + Time spent doing total step percent + total time 1.944316e+00 1.208400e-03 100.00% + total FFT time 5.239267e-01 3.256226e-04 26.95% + lagrange multipliers 4.009723e-03 2.492059e-06 0.21% + local potentials 1.966300e-05 1.222063e-08 0.00% + non-local potentials 3.117257e-02 1.937388e-05 1.60% + ffm_dgemm 1.059045e-02 6.582006e-06 0.54% + fmf_dgemm 1.719144e-02 1.068455e-05 0.88% + m_diagonalize 4.168782e-03 2.590915e-06 0.21% + mmm_multiply 1.029194e-03 6.396482e-07 0.05% + SCVtrans 7.712430e-04 4.793306e-07 0.04% + + >>> job completed at Wed Mar 22 13:23:21 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Wed Mar 22 13:23:21 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + psi grids are being converted: + -----------------------------: + converting .... psi:1 spin:1 + converting .... psi:2 spin:1 + converting .... psi:3 spin:1 + converting .... psi:4 spin:1 + converting .... psi:5 spin:1 + converting .... psi:6 spin:1 + converting .... psi:7 spin:1 + converting .... psi:8 spin:1 + converting .... psi:9 spin:1 + converting .... psi:10 spin:1 + converting .... psi:11 spin:1 + converting .... psi:12 spin:1 + + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.595 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 4 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 + 2 W ( 2.66457 0.00000 1.88413 ) - atomic mass = 183.951 + 3 W ( 2.66457 2.66457 3.76827 ) - atomic mass = 183.951 + 4 W ( 0.00000 2.66457 5.65240 ) - atomic mass = 183.951 + G.C. ( 1.33228 1.33228 2.82620 ) + C.O.M. ( 1.33228 1.33228 2.82620 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 12 ( 12 per task) down = 12 ( 12 per task) + + supercell: + volume = 214.04 + lattice: a1 = < 5.329 0.000 0.000 > + a2 = < 0.000 5.329 0.000 > + a3 = < 0.000 0.000 7.537 > + reciprocal: b1 = < 1.179 0.000 0.000 > + b2 = < 0.000 1.179 0.000 > + b3 = < 0.000 0.000 0.834 > + lattice: a = 5.329 b = 5.329 c = 7.537 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 20.000 fft = 12 x 12 x 16 ( 460 waves 460 per task) + wavefnc cutoff = 10.000 fft = 12 x 12 x 16 ( 160 waves 160 per task) + + Ewald parameters: + energy cutoff = 20.000 fft = 12 x 12 x 16 ( 460 waves 460 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz = 1.68382487 (alpha = 2.71431215 rs = 3.71078182) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Wed Mar 22 13:23:21 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -3.617033061710e+01 -3.447767e-05 2.051315e-07 + 20 -3.617035193509e+01 -9.144932e-08 2.233123e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Wed Mar 22 13:23:22 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 12.00000 down= 12.00000 (real space) + + + total energy : -3.6170351935e+01 ( -9.04259e+00 /ion) + total orbital energy: 2.3048851372e+01 ( 1.92074e+00 /electron) + hartree energy : 1.2466960309e+00 ( 1.03891e-01 /electron) + exc-corr energy : -2.2474177760e+01 ( -1.87285e+00 /electron) + ion-ion energy : -5.1462581522e+01 ( -1.28656e+01 /ion) + + kinetic (planewave) : 4.2172537419e+01 ( 3.51438e+00 /electron) + V_local (planewave) : 4.2389901334e+01 ( 3.53249e+00 /electron) + V_nl (planewave) : -4.8042727436e+01 ( -4.00356e+00 /electron) + V_Coul (planewave) : 2.4933920618e+00 ( 2.07783e-01 /electron) + V_xc (planewave) : -1.5964252007e+01 ( -1.33035e+00 /electron) + Viral Coefficient : -4.5346301687e-01 + + orbital energy: + 1.2694201e+00 ( 34.543eV) + 1.2694200e+00 ( 34.543eV) + 1.0542936e+00 ( 28.689eV) + 1.0542930e+00 ( 28.689eV) + 1.0521347e+00 ( 28.630eV) + 1.0163764e+00 ( 27.657eV) + 1.0163729e+00 ( 27.657eV) + 8.0982926e-01 ( 22.037eV) + 7.9408393e-01 ( 21.608eV) + 7.3283710e-01 ( 19.942eV) + 7.2768246e-01 ( 19.801eV) + 7.2768240e-01 ( 19.801eV) + +== Center of Charge == + +spin up = ( -0.0000 0.0000 -0.0000 ) +spin down = ( -0.0000 0.0000 -0.0000 ) + total = ( -0.0000 0.0000 -0.0000 ) +ionic = ( 1.3323 1.3323 2.8262 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( 31.9748 31.9748 67.8288 ) au +|mu| = 81.5201 au ( 207.1914 Debye ) + + + Ion Forces (au): + 1 W ( -0.00006 0.00001 0.00000 ) + 2 W ( -0.00006 0.00001 -0.00000 ) + 3 W ( 0.00005 -0.00001 0.00000 ) + 4 W ( 0.00006 -0.00001 -0.00000 ) + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 4.162e-02 + main loop : 9.200e-02 + epilogue : 1.537e-03 + total : 1.352e-01 + cputime/step: 1.394e-03 ( 66 evaluations, 16 linesearches) + + Time spent doing total step percent + total time 2.079766e+00 3.151161e-02 100.00% + total FFT time 5.558667e-01 8.422222e-03 26.73% + lagrange multipliers 4.365632e-03 6.614594e-05 0.21% + local potentials 3.695300e-05 5.598939e-07 0.00% + non-local potentials 3.440982e-02 5.213609e-04 1.65% + ffm_dgemm 1.161249e-02 1.759468e-04 0.56% + fmf_dgemm 1.892709e-02 2.867741e-04 0.91% + m_diagonalize 4.406844e-03 6.677036e-05 0.21% + mmm_multiply 1.079749e-03 1.635983e-05 0.05% + SCVtrans 7.970360e-04 1.207630e-05 0.04% + + >>> job completed at Wed Mar 22 13:23:22 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Wed Mar 22 13:23:22 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + generating random psi from scratch + Warning - Gram-Schmidt being performed on psi2 + - exact norm = 54 norm=55.9896 corrected norm=54 (error=1.98964) + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.774 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 9 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 28.34589 ) - atomic mass = 183.951 + 2 W ( 0.00000 0.00000 33.09361 ) - atomic mass = 183.951 + 3 W ( 0.00000 0.00000 37.84133 ) - atomic mass = 183.951 + 4 W ( 0.00000 0.00000 42.58905 ) - atomic mass = 183.951 + 5 W ( 0.00000 0.00000 47.33676 ) - atomic mass = 183.951 + 6 W ( 0.00000 0.00000 52.08448 ) - atomic mass = 183.951 + 7 W ( 0.00000 0.00000 56.83220 ) - atomic mass = 183.951 + 8 W ( 0.00000 0.00000 61.57992 ) - atomic mass = 183.951 + 9 W ( 0.00000 0.00000 66.32764 ) - atomic mass = 183.951 + G.C. ( 0.00000 0.00000 47.33676 ) + C.O.M. ( 0.00000 0.00000 47.33676 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 27 ( 27 per task) down = 27 ( 27 per task) + + supercell: + volume = 2134.02 + lattice: a1 = < 4.748 0.000 0.000 > + a2 = < 0.000 4.748 0.000 > + a3 = < 0.000 0.000 94.674 > + reciprocal: b1 = < 1.323 0.000 0.000 > + b2 = < 0.000 1.323 0.000 > + b3 = < 0.000 0.000 0.066 > + lattice: a = 4.748 b = 4.748 c = 94.674 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 10.000 fft = 8 x 8 x 140 ( 1654 waves 1654 per task) + wavefnc cutoff = 5.000 fft = 8 x 8 x 140 ( 614 waves 614 per task) + + Ewald parameters: + energy cutoff = 10.000 fft = 8 x 8 x 140 ( 1654 waves 1654 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz =-28.56716969 (alpha =-46.05004769 rs = 7.98674752) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Wed Mar 22 13:23:22 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -1.537543929874e+01 -2.016560e+00 3.077105e-03 + 20 -3.254785807349e+01 -1.663493e+00 2.853796e-03 + 30 -4.810772454500e+01 -1.411329e+00 2.524724e-03 + 40 -5.924331815603e+01 -8.722325e-01 1.601473e-03 + 50 -6.598737094914e+01 -5.386274e-01 1.018644e-03 + 60 -7.047458695974e+01 -3.842901e-01 7.275415e-04 + 70 -7.391410353045e+01 -3.094978e-01 5.927380e-04 + 80 -7.675659679950e+01 -2.575519e-01 5.074834e-04 + 90 -7.908051946463e+01 -2.066346e-01 4.202545e-04 + 100 -8.091371386799e+01 -1.620794e-01 3.417256e-04 + 110 -8.236293503847e+01 -1.299053e-01 2.852820e-04 + 120 -8.354092927149e+01 -1.068684e-01 2.434477e-04 + 130 -8.451154165098e+01 -8.805956e-02 2.067634e-04 + 140 -8.530664269190e+01 -7.198981e-02 1.738582e-04 + 150 -8.596030731896e+01 -5.983311e-02 1.488597e-04 + 160 -8.651711846167e+01 -5.225598e-02 1.343065e-04 + 170 -8.701856676886e+01 -4.832242e-02 1.282183e-04 + 180 -8.748424331332e+01 -4.442332e-02 1.222405e-04 + 190 -8.787610642248e+01 -3.338040e-02 9.947921e-05 + 200 -8.811847068979e+01 -1.693656e-02 5.903923e-05 + 210 -8.830054273921e+01 -3.581922e-03 6.916884e-05 + 220 -8.831280544154e+01 -5.396840e-05 7.863732e-07 + 230 -8.831301827046e+01 -3.445163e-06 4.311563e-08 + 240 -8.831302766242e+01 -1.599960e-07 7.829532e-10 + 250 -8.831302775935e+01 -9.692576e-08 4.617615e-10 + *** tolerance ok. iteration terminated + >>> iteration ended at Wed Mar 22 13:23:30 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 27.00000 down= 27.00000 (real space) + + + total energy : -8.8313027759e+01 ( -9.81256e+00 /ion) + total orbital energy: -5.1543739929e+00 ( -1.90903e-01 /electron) + hartree energy : 1.9217358728e+03 ( 7.11754e+01 /electron) + exc-corr energy : -4.2845603491e+01 ( -1.58687e+00 /electron) + ion-ion energy : 1.8531858410e+03 ( 2.05910e+02 /ion) + + kinetic (planewave) : 4.3121050224e+01 ( 1.59708e+00 /electron) + V_local (planewave) : -3.8291999293e+03 ( -1.41822e+02 /electron) + V_nl (planewave) : -3.4310258960e+01 ( -1.27075e+00 /electron) + V_Coul (planewave) : 3.8434717456e+03 ( 1.42351e+02 /electron) + V_xc (planewave) : -2.8236981532e+01 ( -1.04581e+00 /electron) + Viral Coefficient : -1.1195326637e+00 + + orbital energy: + 1.2651002e-01 ( 3.443eV) + 1.8839147e-02 ( 0.513eV) + 1.5118032e-02 ( 0.411eV) + -2.7745187e-03 ( -0.075eV) + -4.3030191e-03 ( -0.117eV) + -4.6545708e-03 ( -0.127eV) + -1.4954346e-02 ( -0.407eV) + -1.6336988e-02 ( -0.445eV) + -2.5371336e-02 ( -0.690eV) + -3.3327415e-02 ( -0.907eV) + -3.4658629e-02 ( -0.943eV) + -4.4732074e-02 ( -1.217eV) + -5.0668501e-02 ( -1.379eV) + -5.6656231e-02 ( -1.542eV) + -5.6949941e-02 ( -1.550eV) + -6.8047676e-02 ( -1.852eV) + -9.2316879e-02 ( -2.512eV) + -9.7184443e-02 ( -2.645eV) + -1.2662593e-01 ( -3.446eV) + -1.4011181e-01 ( -3.813eV) + -1.7225396e-01 ( -4.687eV) + -2.0713982e-01 ( -5.637eV) + -2.4175322e-01 ( -6.578eV) + -2.7471999e-01 ( -7.476eV) + -3.0358991e-01 ( -8.261eV) + -3.2631421e-01 ( -8.880eV) + -3.4220877e-01 ( -9.312eV) + +== Center of Charge == + +spin up = ( 0.0000 -0.0000 -0.0000 ) +spin down = ( 0.0000 -0.0000 -0.0000 ) + total = ( 0.0000 -0.0000 -0.0000 ) +ionic = ( 0.0000 0.0000 47.3368 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( -0.0001 0.0000 2556.1878 ) au +|mu| = 2556.1878 au ( 6496.8070 Debye ) + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 3.226e-01 + main loop : 8.323e+00 + epilogue : 2.219e-03 + total : 8.648e+00 + cputime/step: 8.572e-03 ( 971 evaluations, 241 linesearches) + + Time spent doing total step percent + total time 1.073199e+01 1.105251e-02 100.00% + total FFT time 4.945736e+00 5.093446e-03 46.08% + lagrange multipliers 8.980556e-02 9.248770e-05 0.84% + local potentials 1.234820e-04 1.271699e-07 0.00% + non-local potentials 8.239903e-01 8.485997e-04 7.68% + ffm_dgemm 2.899092e-01 2.985676e-04 2.70% + fmf_dgemm 6.240114e-01 6.426482e-04 5.81% + m_diagonalize 1.887037e-02 1.943396e-05 0.18% + mmm_multiply 5.945749e-03 6.123325e-06 0.06% + SCVtrans 2.362329e-03 2.432883e-06 0.02% + + >>> job completed at Wed Mar 22 13:23:30 2023 <<< + ***************************************************** + * * + * PWDFT PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * [ C++ implementation ] * + * * + * version #7.00 02/27/21 * + * * + * This code was developed by Eric J. Bylaska, * + * Abhishek Bagusetty, David H. Bross, ... * + * * + ***************************************************** + >>> job started at Wed Mar 22 13:23:30 2023 <<< + + psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps + + + + writing formatted psp filename: ./W.vpp + psi grids are being converted: + -----------------------------: + converting .... psi:1 spin:1 + converting .... psi:2 spin:1 + converting .... psi:3 spin:1 + converting .... psi:4 spin:1 + converting .... psi:5 spin:1 + converting .... psi:6 spin:1 + converting .... psi:7 spin:1 + converting .... psi:8 spin:1 + converting .... psi:9 spin:1 + converting .... psi:10 spin:1 + converting .... psi:11 spin:1 + converting .... psi:12 spin:1 + converting .... psi:13 spin:1 + converting .... psi:14 spin:1 + converting .... psi:15 spin:1 + converting .... psi:16 spin:1 + converting .... psi:17 spin:1 + converting .... psi:18 spin:1 + converting .... psi:19 spin:1 + converting .... psi:20 spin:1 + converting .... psi:21 spin:1 + converting .... psi:22 spin:1 + converting .... psi:23 spin:1 + converting .... psi:24 spin:1 + converting .... psi:25 spin:1 + converting .... psi:26 spin:1 + converting .... psi:27 spin:1 + + input psi exists, reading from file: ./nwchemex.movecs + + ============== summary of input ================== + + input psi filename: ./nwchemex.movecs + + number of processors used: 1 + processor grid : 1 x1 + parallel mapping : 2d-hcurve + parallel mapping : balanced + + options: + boundary conditions = periodic + electron spin = restricted + exchange-correlation = PBE96 (White and Bird) parameterization + + elements involved in the cluster: + 1: W valence charge = 6.0 lmax =2 + comment = Troullier-Martins pseudopotential + pseudopotential type = 0 + highest angular component = 2 + local potential used = 0 + number of non-local projections = 8 + semicore corrections inlcuded = 1.800 (radius) 4.778 (charge) + cutoff = 2.389 3.185 2.244 + + total charge = 0.000 + + atom composition: + W : 9 + + initial ion positions (au): + 1 W ( 0.00000 0.00000 28.34589 ) - atomic mass = 183.951 + 2 W ( 0.00000 0.00000 33.09361 ) - atomic mass = 183.951 + 3 W ( 0.00000 0.00000 37.84133 ) - atomic mass = 183.951 + 4 W ( 0.00000 0.00000 42.58905 ) - atomic mass = 183.951 + 5 W ( 0.00000 0.00000 47.33677 ) - atomic mass = 183.951 + 6 W ( 0.00000 0.00000 52.08449 ) - atomic mass = 183.951 + 7 W ( 0.00000 0.00000 56.83220 ) - atomic mass = 183.951 + 8 W ( 0.00000 0.00000 61.57992 ) - atomic mass = 183.951 + 9 W ( 0.00000 0.00000 66.32764 ) - atomic mass = 183.951 + G.C. ( 0.00000 0.00000 47.33677 ) + C.O.M. ( 0.00000 0.00000 47.33677 ) + + real space Electric field: + Electric Field (au) = ( 0.00000 0.00000 0.00000 ) + Center (au) = ( 0.00000 0.00000 0.00000 ) + + + number of electrons: spin up = 27 ( 27 per task) down = 27 ( 27 per task) + + supercell: + volume = 2134.02 + lattice: a1 = < 4.748 0.000 0.000 > + a2 = < 0.000 4.748 0.000 > + a3 = < 0.000 0.000 94.674 > + reciprocal: b1 = < 1.323 0.000 0.000 > + b2 = < 0.000 1.323 0.000 > + b3 = < 0.000 0.000 0.066 > + lattice: a = 4.748 b = 4.748 c = 94.674 + alpha = 90.000 beta = 90.000 gamma = 90.000 + density cutoff = 20.000 fft = 12 x 12 x 192 ( 4574 waves 4574 per task) + wavefnc cutoff = 10.000 fft = 12 x 12 x 192 ( 1654 waves 1654 per task) + + Ewald parameters: + energy cutoff = 20.000 fft = 12 x 12 x 192 ( 4574 waves 4574 per task) + Ewald summation: cut radius = 3.000 and 8 + Mandelung Wigner-Seitz =-28.56716969 (alpha =-46.05004769 rs = 7.98674752) + + technical parameters: + fixed step: time step = 0.10 ficticious mass = 400000.00 + tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) + max iterations = 1000 ( 10 inner 100 outer) + minimizer = Grassmann conjugate gradient + + + + ============ Grassmann conjugate gradient iteration ============ + >>> iteration started at Wed Mar 22 13:23:31 2023 <<< + iter. Energy DeltaE DeltaRho + ---------------------------------------------------------------- + - 15 steepest descent iterations performed + 10 -9.275052119381e+01 -2.122242e-03 2.935377e-05 + 20 -9.275868040192e+01 -9.515326e-05 2.529918e-06 + 30 -9.275878712055e+01 -1.142202e-06 1.213725e-08 + 40 -9.275883858492e+01 -3.931136e-05 2.900787e-06 + 50 -9.275989368099e+01 -1.676866e-04 3.620223e-06 + 60 -9.276172965263e+01 -1.366180e-04 1.437493e-06 + 70 -9.276242641237e+01 -4.950588e-05 9.514774e-07 + 80 -9.276275885983e+01 -2.351096e-05 4.450692e-07 + 90 -9.276288269800e+01 -6.609562e-06 1.250224e-07 + 100 -9.276292451479e+01 -2.485196e-06 4.417831e-08 + 110 -9.276293769116e+01 -6.446969e-07 1.169540e-08 + 120 -9.276294176248e+01 -2.348768e-07 4.151375e-09 + 130 -9.276294233017e+01 -9.807081e-08 1.296479e-09 + *** tolerance ok. iteration terminated + >>> iteration ended at Wed Mar 22 13:23:41 2023 <<< + + ============== energy results (Molecule object) ============== + + + number of electrons: spin up= 27.00000 down= 27.00000 (real space) + + + total energy : -9.2762942330e+01 ( -1.03070e+01 /ion) + total orbital energy: -5.0623378840e+00 ( -1.87494e-01 /electron) + hartree energy : 1.9260817620e+03 ( 7.13364e+01 /electron) + exc-corr energy : -4.3777835977e+01 ( -1.62140e+00 /electron) + ion-ion energy : 1.8531856136e+03 ( 2.05910e+02 /ion) + + kinetic (planewave) : 5.2807679120e+01 ( 1.95584e+00 /electron) + V_local (planewave) : -3.8274779701e+03 ( -1.41758e+02 /electron) + V_nl (planewave) : -5.3582190935e+01 ( -1.98453e+00 /electron) + V_Coul (planewave) : 3.8521635239e+03 ( 1.42673e+02 /electron) + V_xc (planewave) : -2.8973379949e+01 ( -1.07309e+00 /electron) + Viral Coefficient : -1.0958636692e+00 + + orbital energy: + 1.0091573e-01 ( 2.746eV) + 4.2336667e-02 ( 1.152eV) + 2.1250054e-02 ( 0.578eV) + -4.9936494e-03 ( -0.136eV) + -3.0518213e-02 ( -0.830eV) + -3.4502515e-02 ( -0.939eV) + -4.1369266e-02 ( -1.126eV) + -5.3099040e-02 ( -1.445eV) + -5.7197969e-02 ( -1.556eV) + -5.8820459e-02 ( -1.601eV) + -6.6577151e-02 ( -1.812eV) + -6.8252501e-02 ( -1.857eV) + -7.4315282e-02 ( -2.022eV) + -9.2483451e-02 ( -2.517eV) + -9.7091101e-02 ( -2.642eV) + -9.8701112e-02 ( -2.686eV) + -9.9172297e-02 ( -2.699eV) + -1.1503130e-01 ( -3.130eV) + -1.2350704e-01 ( -3.361eV) + -1.2461151e-01 ( -3.391eV) + -1.3767779e-01 ( -3.746eV) + -1.5539558e-01 ( -4.229eV) + -1.8177422e-01 ( -4.946eV) + -2.1054366e-01 ( -5.729eV) + -2.3653121e-01 ( -6.436eV) + -2.6484631e-01 ( -7.207eV) + -2.6865877e-01 ( -7.311eV) + +== Center of Charge == + +spin up = ( 0.0037 0.0007 0.0001 ) +spin down = ( 0.0037 0.0007 0.0001 ) + total = ( 0.0037 0.0007 0.0001 ) +ionic = ( 0.0000 0.0000 47.3368 ) + +== Molecular Dipole wrt Center of Mass == + +mu = ( -0.2017 -0.0359 2556.1810 ) au +|mu| = 2556.1810 au ( 6496.7896 Debye ) + + + Ion Forces (au): + 1 W ( -0.00665 -0.00100 -0.21569 ) + 2 W ( 0.00352 0.00053 -0.00769 ) + 3 W ( 0.00252 0.00038 -0.00345 ) + 4 W ( 0.00056 0.00009 0.00018 ) + 5 W ( 0.00014 0.00003 -0.00010 ) + 6 W ( 0.00056 0.00011 -0.00037 ) + 7 W ( 0.00249 0.00051 0.00324 ) + 8 W ( 0.00347 0.00072 0.00752 ) + 9 W ( -0.00655 -0.00135 0.21561 ) + + + output psi to filename: ./nwchemex.movecs + + ----------------- + cputime in seconds + prologue : 4.936e-01 + main loop : 1.056e+01 + epilogue : 2.361e-02 + total : 1.107e+01 + cputime/step: 2.405e-02 ( 439 evaluations, 124 linesearches) + + Time spent doing total step percent + total time 2.181488e+01 4.969221e-02 100.00% + total FFT time 1.065601e+01 2.427338e-02 48.85% + lagrange multipliers 1.394519e-01 3.176582e-04 0.64% + local potentials 4.858950e-04 1.106822e-06 0.00% + non-local potentials 1.944448e+00 4.429267e-03 8.91% + ffm_dgemm 7.140117e-01 1.626450e-03 3.27% + fmf_dgemm 1.488984e+00 3.391762e-03 6.83% + m_diagonalize 2.703476e-02 6.158259e-05 0.12% + mmm_multiply 8.455387e-03 1.926056e-05 0.04% + SCVtrans 3.325962e-03 7.576223e-06 0.02% + + >>> job completed at Wed Mar 22 13:23:41 2023 <<< diff --git a/examples/QUANTUM/NWChem/log.24Feb23.series.w.bcc.1 b/examples/QUANTUM/NWChem/log.22Mar23.series.w.bcc.1 similarity index 90% rename from examples/QUANTUM/NWChem/log.24Feb23.series.w.bcc.1 rename to examples/QUANTUM/NWChem/log.22Mar23.series.w.bcc.1 index e3aefced14..f348b0cdbf 100644 --- a/examples/QUANTUM/NWChem/log.24Feb23.series.w.bcc.1 +++ b/examples/QUANTUM/NWChem/log.22Mar23.series.w.bcc.1 @@ -20,13 +20,13 @@ Reading data file ... run 0 WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) -WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2348) Per MPI rank memory allocation (min/avg/max) = 2.301 | 2.301 | 2.301 Mbytes Step Temp E_pair E_mol TotEng Press 0 0 0 0 -548.43494 0 -Loop time of 5.19e-07 on 1 procs for 0 steps with 2 atoms +Loop time of 5.15e-07 on 1 procs for 0 steps with 2 atoms -192.7% CPU use with 1 MPI tasks x no OpenMP threads +194.2% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -36,7 +36,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 5.19e-07 | | |100.00 +Other | | 5.15e-07 | | |100.00 Nlocal: 2 ave 2 max 2 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/QUANTUM/NWChem/log.24Feb23.series.w.diamond.1 b/examples/QUANTUM/NWChem/log.22Mar23.series.w.diamond.1 similarity index 90% rename from examples/QUANTUM/NWChem/log.24Feb23.series.w.diamond.1 rename to examples/QUANTUM/NWChem/log.22Mar23.series.w.diamond.1 index 34e82651e3..9e97275b88 100644 --- a/examples/QUANTUM/NWChem/log.24Feb23.series.w.diamond.1 +++ b/examples/QUANTUM/NWChem/log.22Mar23.series.w.diamond.1 @@ -20,13 +20,13 @@ Reading data file ... run 0 WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) -WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2348) Per MPI rank memory allocation (min/avg/max) = 2.301 | 2.301 | 2.301 Mbytes Step Temp E_pair E_mol TotEng Press 0 0 0 0 -984.24541 0 -Loop time of 5.69e-07 on 1 procs for 0 steps with 4 atoms +Loop time of 6.97e-07 on 1 procs for 0 steps with 4 atoms -175.7% CPU use with 1 MPI tasks x no OpenMP threads +143.5% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -36,7 +36,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 5.69e-07 | | |100.00 +Other | | 6.97e-07 | | |100.00 Nlocal: 4 ave 4 max 4 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/QUANTUM/NWChem/log.24Feb23.series.w.sc_001.1 b/examples/QUANTUM/NWChem/log.22Mar23.series.w.sc_001.1 similarity index 89% rename from examples/QUANTUM/NWChem/log.24Feb23.series.w.sc_001.1 rename to examples/QUANTUM/NWChem/log.22Mar23.series.w.sc_001.1 index b2739a6069..d093e5b15b 100644 --- a/examples/QUANTUM/NWChem/log.24Feb23.series.w.sc_001.1 +++ b/examples/QUANTUM/NWChem/log.22Mar23.series.w.sc_001.1 @@ -20,13 +20,13 @@ Reading data file ... run 0 WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60) -WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2344) +WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (../atom.cpp:2348) Per MPI rank memory allocation (min/avg/max) = 2.302 | 2.302 | 2.302 Mbytes Step Temp E_pair E_mol TotEng Press 0 0 0 0 -2524.2082 0 -Loop time of 6.32e-07 on 1 procs for 0 steps with 9 atoms +Loop time of 6.96e-07 on 1 procs for 0 steps with 9 atoms -158.2% CPU use with 1 MPI tasks x no OpenMP threads +143.7% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -36,7 +36,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 6.32e-07 | | |100.00 +Other | | 6.96e-07 | | |100.00 Nlocal: 9 ave 9 max 9 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/QUANTUM/NWChem/log.24Feb23.water.pwdft.qmmm.mpi.2 b/examples/QUANTUM/NWChem/log.22Mar23.water.pwdft.qmmm.mpi.2 similarity index 89% rename from examples/QUANTUM/NWChem/log.24Feb23.water.pwdft.qmmm.mpi.2 rename to examples/QUANTUM/NWChem/log.22Mar23.water.pwdft.qmmm.mpi.2 index d2a376218b..d60a5c0730 100644 --- a/examples/QUANTUM/NWChem/log.24Feb23.water.pwdft.qmmm.mpi.2 +++ b/examples/QUANTUM/NWChem/log.22Mar23.water.pwdft.qmmm.mpi.2 @@ -11,7 +11,7 @@ * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:21:13 2023 <<< + >>> job started at Wed Mar 22 13:17:46 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -111,7 +111,7 @@ ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:21:13 2023 <<< + >>> iteration started at Wed Mar 22 13:17:46 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 15 steepest descent iterations performed @@ -124,7 +124,7 @@ 70 -1.630527201766e+01 -3.772506e-09 2.820925e-11 80 -1.630527202296e+01 -9.484040e-10 1.063105e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:21:24 2023 <<< + >>> iteration ended at Wed Mar 22 13:17:55 2023 <<< ============== energy results (Molecule object) ============== @@ -208,25 +208,25 @@ mu = ( 0.0649 -0.0820 -0.4407 ) au ----------------- cputime in seconds - prologue : 1.651e-01 - main loop : 1.070e+01 - epilogue : 1.107e-02 - total : 1.088e+01 - cputime/step: 3.334e-02 ( 321 evaluations, 74 linesearches) + prologue : 1.708e-01 + main loop : 9.289e+00 + epilogue : 1.045e-02 + total : 9.470e+00 + cputime/step: 2.894e-02 ( 321 evaluations, 74 linesearches) Time spent doing total step percent - total time 1.088195e+01 3.390017e-02 100.00% - total FFT time 3.089919e+00 9.625917e-03 28.39% - lagrange multipliers 7.903565e-03 2.462170e-05 0.07% - local potentials 4.879860e-04 1.520206e-06 0.00% - non-local potentials 2.865222e-01 8.925924e-04 2.63% - ffm_dgemm 4.862987e-02 1.514949e-04 0.45% - fmf_dgemm 9.401141e-02 2.928704e-04 0.86% - m_diagonalize 6.033740e-04 1.879670e-06 0.01% - mmm_multiply 8.365600e-05 2.606106e-07 0.00% - SCVtrans 2.262810e-04 7.049252e-07 0.00% + total time 9.474797e+00 2.951650e-02 100.00% + total FFT time 4.701573e+00 1.464664e-02 49.62% + lagrange multipliers 6.452029e-03 2.009978e-05 0.07% + local potentials 4.972720e-04 1.549134e-06 0.01% + non-local potentials 2.758520e-01 8.593519e-04 2.91% + ffm_dgemm 4.302740e-02 1.340417e-04 0.45% + fmf_dgemm 8.837429e-02 2.753093e-04 0.93% + m_diagonalize 5.491270e-04 1.710676e-06 0.01% + mmm_multiply 5.458400e-05 1.700436e-07 0.00% + SCVtrans 2.298030e-04 7.158972e-07 0.00% - >>> job completed at Fri Feb 24 15:21:24 2023 <<< + >>> job completed at Wed Mar 22 13:17:55 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -240,7 +240,7 @@ mu = ( 0.0649 -0.0820 -0.4407 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:21:24 2023 <<< + >>> job started at Wed Mar 22 13:17:55 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -343,7 +343,7 @@ mu = ( 0.0649 -0.0820 -0.4407 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:21:24 2023 <<< + >>> iteration started at Wed Mar 22 13:17:56 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 15 steepest descent iterations performed @@ -353,7 +353,7 @@ mu = ( 0.0649 -0.0820 -0.4407 ) au 40 -1.709728957060e+01 -2.322675e-09 1.887065e-11 50 -1.709728957412e+01 -8.859047e-10 2.923518e-12 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:21:42 2023 <<< + >>> iteration ended at Wed Mar 22 13:18:13 2023 <<< ============== energy results (Molecule object) ============== @@ -437,25 +437,25 @@ mu = ( 0.0958 -0.1200 -0.6599 ) au ----------------- cputime in seconds - prologue : 2.196e-01 - main loop : 1.797e+01 - epilogue : 3.373e-02 - total : 1.823e+01 - cputime/step: 1.175e-01 ( 153 evaluations, 43 linesearches) + prologue : 2.014e-01 + main loop : 1.748e+01 + epilogue : 3.418e-02 + total : 1.771e+01 + cputime/step: 1.142e-01 ( 153 evaluations, 43 linesearches) Time spent doing total step percent - total time 2.914616e+01 1.904977e-01 100.00% - total FFT time 8.491301e+00 5.549870e-02 29.13% - lagrange multipliers 1.597690e-02 1.044242e-04 0.05% - local potentials 2.137926e-03 1.397337e-05 0.01% - non-local potentials 6.779523e-01 4.431061e-03 2.33% - ffm_dgemm 1.292102e-01 8.445109e-04 0.44% - fmf_dgemm 2.557188e-01 1.671365e-03 0.88% - m_diagonalize 1.039458e-03 6.793843e-06 0.00% - mmm_multiply 1.326820e-04 8.672026e-07 0.00% - SCVtrans 3.666890e-04 2.396660e-06 0.00% + total time 2.726710e+01 1.782163e-01 100.00% + total FFT time 1.385444e+01 9.055188e-02 50.81% + lagrange multipliers 1.421041e-02 9.287850e-05 0.05% + local potentials 2.017550e-03 1.318660e-05 0.01% + non-local potentials 6.631697e-01 4.334442e-03 2.43% + ffm_dgemm 1.226991e-01 8.019550e-04 0.45% + fmf_dgemm 2.455101e-01 1.604641e-03 0.90% + m_diagonalize 9.172850e-04 5.995327e-06 0.00% + mmm_multiply 9.698200e-05 6.338693e-07 0.00% + SCVtrans 3.681870e-04 2.406451e-06 0.00% - >>> job completed at Fri Feb 24 15:21:42 2023 <<< + >>> job completed at Wed Mar 22 13:18:13 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -469,7 +469,7 @@ mu = ( 0.0958 -0.1200 -0.6599 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:21:42 2023 <<< + >>> job started at Wed Mar 22 13:18:13 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -575,7 +575,7 @@ mu = ( 0.0958 -0.1200 -0.6599 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:21:42 2023 <<< + >>> iteration started at Wed Mar 22 13:18:13 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 15 steepest descent iterations performed @@ -585,7 +585,7 @@ mu = ( 0.0958 -0.1200 -0.6599 ) au 40 -1.719867026700e+01 -2.809305e-09 2.902516e-11 50 -1.719867027685e+01 -8.940333e-10 2.138434e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:22:20 2023 <<< + >>> iteration ended at Wed Mar 22 13:18:51 2023 <<< ============== energy results (Molecule object) ============== @@ -691,25 +691,25 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au ----------------- cputime in seconds - prologue : 3.181e-01 - main loop : 3.806e+01 - epilogue : 9.161e-02 - total : 3.847e+01 - cputime/step: 2.409e-01 ( 158 evaluations, 46 linesearches) + prologue : 3.146e-01 + main loop : 3.791e+01 + epilogue : 9.140e-02 + total : 3.832e+01 + cputime/step: 2.399e-01 ( 158 evaluations, 46 linesearches) Time spent doing total step percent - total time 6.766889e+01 4.282841e-01 100.00% - total FFT time 1.932203e+01 1.222913e-01 28.55% - lagrange multipliers 3.219883e-02 2.037901e-04 0.05% - local potentials 2.973460e-01 1.881937e-03 0.44% - non-local potentials 1.436583e+00 9.092295e-03 2.12% - ffm_dgemm 3.027219e-01 1.915962e-03 0.45% - fmf_dgemm 6.203377e-01 3.926188e-03 0.92% - m_diagonalize 1.390513e-03 8.800715e-06 0.00% - mmm_multiply 1.933130e-04 1.223500e-06 0.00% - SCVtrans 5.217430e-04 3.302171e-06 0.00% + total time 6.563998e+01 4.154429e-01 100.00% + total FFT time 3.258009e+01 2.062031e-01 49.63% + lagrange multipliers 3.072189e-02 1.944423e-04 0.05% + local potentials 2.950571e-01 1.867450e-03 0.45% + non-local potentials 1.418041e+00 8.974943e-03 2.16% + ffm_dgemm 2.993915e-01 1.894883e-03 0.46% + fmf_dgemm 6.095285e-01 3.857775e-03 0.93% + m_diagonalize 1.307605e-03 8.275981e-06 0.00% + mmm_multiply 1.494250e-04 9.457278e-07 0.00% + SCVtrans 5.338350e-04 3.378703e-06 0.00% - >>> job completed at Fri Feb 24 15:22:20 2023 <<< + >>> job completed at Wed Mar 22 13:18:51 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -723,7 +723,7 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:22:21 2023 <<< + >>> job started at Wed Mar 22 13:18:51 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -822,14 +822,14 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:22:21 2023 <<< + >>> iteration started at Wed Mar 22 13:18:52 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- 10 -1.719868650088e+01 -1.191274e-07 1.696566e-09 20 -1.719868671143e+01 -2.961066e-09 1.371379e-10 30 -1.719868671344e+01 -8.149925e-10 3.387972e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:22:37 2023 <<< + >>> iteration ended at Wed Mar 22 13:19:08 2023 <<< ============== energy results (Molecule object) ============== @@ -935,25 +935,25 @@ mu = ( 0.1158 -0.1433 -0.7837 ) au ----------------- cputime in seconds - prologue : 2.151e-01 - main loop : 1.673e+01 - epilogue : 9.486e-02 - total : 1.704e+01 - cputime/step: 2.424e-01 ( 69 evaluations, 22 linesearches) + prologue : 2.117e-01 + main loop : 1.658e+01 + epilogue : 9.209e-02 + total : 1.689e+01 + cputime/step: 2.403e-01 ( 69 evaluations, 22 linesearches) Time spent doing total step percent - total time 8.474417e+01 1.228176e+00 100.00% - total FFT time 2.406928e+01 3.488302e-01 28.40% - lagrange multipliers 3.219883e-02 4.666497e-04 0.04% - local potentials 4.298287e-01 6.229401e-03 0.51% - non-local potentials 1.774054e+00 2.571092e-02 2.09% - ffm_dgemm 3.831397e-01 5.552749e-03 0.45% - fmf_dgemm 7.904935e-01 1.145643e-02 0.93% - m_diagonalize 1.603273e-03 2.323584e-05 0.00% - mmm_multiply 2.215800e-04 3.211304e-06 0.00% - SCVtrans 5.952880e-04 8.627362e-06 0.00% + total time 8.255932e+01 1.196512e+00 100.00% + total FFT time 4.073910e+01 5.904218e-01 49.35% + lagrange multipliers 3.072189e-02 4.452448e-04 0.04% + local potentials 4.253197e-01 6.164053e-03 0.52% + non-local potentials 1.754934e+00 2.543383e-02 2.13% + ffm_dgemm 3.786676e-01 5.487937e-03 0.46% + fmf_dgemm 7.828753e-01 1.134602e-02 0.95% + m_diagonalize 1.522452e-03 2.206452e-05 0.00% + mmm_multiply 1.707430e-04 2.474536e-06 0.00% + SCVtrans 6.125190e-04 8.877087e-06 0.00% - >>> job completed at Fri Feb 24 15:22:38 2023 <<< + >>> job completed at Wed Mar 22 13:19:08 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -967,7 +967,7 @@ mu = ( 0.1158 -0.1433 -0.7837 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:22:38 2023 <<< + >>> job started at Wed Mar 22 13:19:08 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -1066,14 +1066,14 @@ mu = ( 0.1158 -0.1433 -0.7837 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:22:38 2023 <<< + >>> iteration started at Wed Mar 22 13:19:09 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- 10 -1.719870171703e+01 -1.219497e-07 1.764004e-09 20 -1.719870193981e+01 -3.368982e-09 1.558810e-10 30 -1.719870194210e+01 -9.363497e-10 3.900300e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:22:55 2023 <<< + >>> iteration ended at Wed Mar 22 13:19:25 2023 <<< ============== energy results (Molecule object) ============== @@ -1179,25 +1179,25 @@ mu = ( 0.1164 -0.1456 -0.7836 ) au ----------------- cputime in seconds - prologue : 2.179e-01 - main loop : 1.686e+01 - epilogue : 9.253e-02 - total : 1.717e+01 - cputime/step: 2.408e-01 ( 70 evaluations, 22 linesearches) + prologue : 2.148e-01 + main loop : 1.690e+01 + epilogue : 9.273e-02 + total : 1.721e+01 + cputime/step: 2.414e-01 ( 70 evaluations, 22 linesearches) Time spent doing total step percent - total time 1.019417e+02 1.456311e+00 100.00% - total FFT time 2.883893e+01 4.119847e-01 28.29% - lagrange multipliers 3.219883e-02 4.599833e-04 0.03% - local potentials 5.648793e-01 8.069705e-03 0.55% - non-local potentials 2.116254e+00 3.023219e-02 2.08% - ffm_dgemm 4.622931e-01 6.604187e-03 0.45% - fmf_dgemm 9.608198e-01 1.372600e-02 0.94% - m_diagonalize 1.790052e-03 2.557217e-05 0.00% - mmm_multiply 2.506550e-04 3.580786e-06 0.00% - SCVtrans 6.784630e-04 9.692329e-06 0.00% + total time 9.979319e+01 1.425617e+00 100.00% + total FFT time 4.905785e+01 7.008264e-01 49.16% + lagrange multipliers 3.072189e-02 4.388842e-04 0.03% + local potentials 5.595579e-01 7.993685e-03 0.56% + non-local potentials 2.095285e+00 2.993264e-02 2.10% + ffm_dgemm 4.583615e-01 6.548022e-03 0.46% + fmf_dgemm 9.560158e-01 1.365737e-02 0.96% + m_diagonalize 1.729009e-03 2.470013e-05 0.00% + mmm_multiply 1.919260e-04 2.741800e-06 0.00% + SCVtrans 7.101920e-04 1.014560e-05 0.00% - >>> job completed at Fri Feb 24 15:22:55 2023 <<< + >>> job completed at Wed Mar 22 13:19:26 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -1211,7 +1211,7 @@ mu = ( 0.1164 -0.1456 -0.7836 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:22:55 2023 <<< + >>> job started at Wed Mar 22 13:19:26 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -1310,14 +1310,14 @@ mu = ( 0.1164 -0.1456 -0.7836 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:22:55 2023 <<< + >>> iteration started at Wed Mar 22 13:19:26 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- 10 -1.719871563015e+01 -1.218310e-07 1.769858e-09 20 -1.719871585343e+01 -3.402761e-09 1.567384e-10 30 -1.719871585576e+01 -9.502941e-10 3.917663e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:23:12 2023 <<< + >>> iteration ended at Wed Mar 22 13:19:43 2023 <<< ============== energy results (Molecule object) ============== @@ -1423,25 +1423,25 @@ mu = ( 0.1169 -0.1479 -0.7835 ) au ----------------- cputime in seconds - prologue : 2.123e-01 - main loop : 1.659e+01 - epilogue : 9.235e-02 - total : 1.689e+01 - cputime/step: 2.404e-01 ( 69 evaluations, 22 linesearches) + prologue : 2.127e-01 + main loop : 1.716e+01 + epilogue : 1.025e-01 + total : 1.748e+01 + cputime/step: 2.488e-01 ( 69 evaluations, 22 linesearches) Time spent doing total step percent - total time 1.188644e+02 1.722673e+00 100.00% - total FFT time 3.353913e+01 4.860744e-01 28.22% - lagrange multipliers 3.219883e-02 4.666497e-04 0.03% - local potentials 6.977565e-01 1.011241e-02 0.59% - non-local potentials 2.451990e+00 3.553608e-02 2.06% - ffm_dgemm 5.405846e-01 7.834559e-03 0.45% - fmf_dgemm 1.131584e+00 1.639977e-02 0.95% - m_diagonalize 1.980797e-03 2.870720e-05 0.00% - mmm_multiply 2.799330e-04 4.057000e-06 0.00% - SCVtrans 7.528130e-04 1.091033e-05 0.00% + total time 1.173010e+02 1.700014e+00 100.00% + total FFT time 5.755049e+01 8.340650e-01 49.06% + lagrange multipliers 3.072189e-02 4.452448e-04 0.03% + local potentials 6.984826e-01 1.012294e-02 0.60% + non-local potentials 2.440140e+00 3.536435e-02 2.08% + ffm_dgemm 5.394126e-01 7.817575e-03 0.46% + fmf_dgemm 1.136790e+00 1.647522e-02 0.97% + m_diagonalize 1.997850e-03 2.895435e-05 0.00% + mmm_multiply 2.168020e-04 3.142058e-06 0.00% + SCVtrans 8.028170e-04 1.163503e-05 0.00% - >>> job completed at Fri Feb 24 15:23:12 2023 <<< + >>> job completed at Wed Mar 22 13:19:43 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -1455,7 +1455,7 @@ mu = ( 0.1169 -0.1479 -0.7835 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:23:12 2023 <<< + >>> job started at Wed Mar 22 13:19:43 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -1554,14 +1554,14 @@ mu = ( 0.1169 -0.1479 -0.7835 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:23:12 2023 <<< + >>> iteration started at Wed Mar 22 13:19:43 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- 10 -1.719872820987e+01 -1.215314e-07 1.769459e-09 20 -1.719872843272e+01 -3.399670e-09 1.562326e-10 30 -1.719872843505e+01 -9.484324e-10 3.915468e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:23:29 2023 <<< + >>> iteration ended at Wed Mar 22 13:20:01 2023 <<< ============== energy results (Molecule object) ============== @@ -1667,25 +1667,25 @@ mu = ( 0.1175 -0.1502 -0.7835 ) au ----------------- cputime in seconds - prologue : 2.118e-01 - main loop : 1.680e+01 - epilogue : 9.271e-02 - total : 1.710e+01 - cputime/step: 2.399e-01 ( 70 evaluations, 22 linesearches) + prologue : 2.413e-01 + main loop : 1.800e+01 + epilogue : 9.837e-02 + total : 1.834e+01 + cputime/step: 2.571e-01 ( 70 evaluations, 22 linesearches) Time spent doing total step percent - total time 1.359911e+02 1.942731e+00 100.00% - total FFT time 3.828495e+01 5.469279e-01 28.15% - lagrange multipliers 3.219883e-02 4.599833e-04 0.02% - local potentials 8.319622e-01 1.188517e-02 0.61% - non-local potentials 2.790823e+00 3.986890e-02 2.05% - ffm_dgemm 6.194457e-01 8.849225e-03 0.46% - fmf_dgemm 1.303682e+00 1.862403e-02 0.96% - m_diagonalize 2.164352e-03 3.091931e-05 0.00% - mmm_multiply 3.095400e-04 4.422000e-06 0.00% - SCVtrans 8.382380e-04 1.197483e-05 0.00% + total time 1.356781e+02 1.938258e+00 100.00% + total FFT time 6.649787e+01 9.499695e-01 49.01% + lagrange multipliers 3.072189e-02 4.388842e-04 0.02% + local potentials 8.408613e-01 1.201230e-02 0.62% + non-local potentials 2.797033e+00 3.995762e-02 2.06% + ffm_dgemm 6.265406e-01 8.950581e-03 0.46% + fmf_dgemm 1.324485e+00 1.892121e-02 0.98% + m_diagonalize 2.255655e-03 3.222364e-05 0.00% + mmm_multiply 2.451390e-04 3.501986e-06 0.00% + SCVtrans 8.983880e-04 1.283411e-05 0.00% - >>> job completed at Fri Feb 24 15:23:29 2023 <<< + >>> job completed at Wed Mar 22 13:20:01 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -1699,7 +1699,7 @@ mu = ( 0.1175 -0.1502 -0.7835 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:23:29 2023 <<< + >>> job started at Wed Mar 22 13:20:01 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -1798,14 +1798,14 @@ mu = ( 0.1175 -0.1502 -0.7835 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:23:29 2023 <<< + >>> iteration started at Wed Mar 22 13:20:02 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- 10 -1.719873952441e+01 -1.209993e-07 1.761267e-09 20 -1.719873974629e+01 -3.384447e-09 1.553970e-10 30 -1.719873974860e+01 -9.436718e-10 3.898850e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:23:46 2023 <<< + >>> iteration ended at Wed Mar 22 13:20:20 2023 <<< ============== energy results (Molecule object) ============== @@ -1911,25 +1911,25 @@ mu = ( 0.1180 -0.1526 -0.7835 ) au ----------------- cputime in seconds - prologue : 2.121e-01 - main loop : 1.661e+01 - epilogue : 9.208e-02 - total : 1.691e+01 - cputime/step: 2.407e-01 ( 69 evaluations, 22 linesearches) + prologue : 2.175e-01 + main loop : 1.829e+01 + epilogue : 9.952e-02 + total : 1.861e+01 + cputime/step: 2.651e-01 ( 69 evaluations, 22 linesearches) Time spent doing total step percent - total time 1.529324e+02 2.216412e+00 100.00% - total FFT time 4.299154e+01 6.230657e-01 28.11% - lagrange multipliers 3.219883e-02 4.666497e-04 0.02% - local potentials 9.639591e-01 1.397042e-02 0.63% - non-local potentials 3.124697e+00 4.528546e-02 2.04% - ffm_dgemm 6.976735e-01 1.011121e-02 0.46% - fmf_dgemm 1.474900e+00 2.137537e-02 0.96% - m_diagonalize 2.352395e-03 3.409268e-05 0.00% - mmm_multiply 3.376260e-04 4.893130e-06 0.00% - SCVtrans 9.183650e-04 1.330964e-05 0.00% + total time 1.543836e+02 2.237444e+00 100.00% + total FFT time 7.561437e+01 1.095860e+00 48.98% + lagrange multipliers 3.072189e-02 4.452448e-04 0.02% + local potentials 9.836006e-01 1.425508e-02 0.64% + non-local potentials 3.155264e+00 4.572846e-02 2.04% + ffm_dgemm 7.164388e-01 1.038317e-02 0.46% + fmf_dgemm 1.515947e+00 2.197024e-02 0.98% + m_diagonalize 2.581842e-03 3.741800e-05 0.00% + mmm_multiply 2.754650e-04 3.992246e-06 0.00% + SCVtrans 9.959470e-04 1.443401e-05 0.00% - >>> job completed at Fri Feb 24 15:23:46 2023 <<< + >>> job completed at Wed Mar 22 13:20:20 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -1943,7 +1943,7 @@ mu = ( 0.1180 -0.1526 -0.7835 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:23:46 2023 <<< + >>> job started at Wed Mar 22 13:20:20 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -2042,14 +2042,14 @@ mu = ( 0.1180 -0.1526 -0.7835 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:23:46 2023 <<< + >>> iteration started at Wed Mar 22 13:20:20 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- 10 -1.719874972509e+01 -1.202287e-07 1.744875e-09 20 -1.719874994548e+01 -3.358913e-09 1.537448e-10 30 -1.719874994777e+01 -9.346657e-10 3.862702e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:24:03 2023 <<< + >>> iteration ended at Wed Mar 22 13:20:38 2023 <<< ============== energy results (Molecule object) ============== @@ -2155,25 +2155,25 @@ mu = ( 0.1186 -0.1549 -0.7836 ) au ----------------- cputime in seconds - prologue : 2.125e-01 - main loop : 1.682e+01 - epilogue : 9.162e-02 - total : 1.713e+01 - cputime/step: 2.404e-01 ( 70 evaluations, 22 linesearches) + prologue : 2.109e-01 + main loop : 1.756e+01 + epilogue : 1.006e-01 + total : 1.787e+01 + cputime/step: 2.508e-01 ( 70 evaluations, 22 linesearches) Time spent doing total step percent - total time 1.700924e+02 2.429892e+00 100.00% - total FFT time 4.776459e+01 6.823513e-01 28.08% - lagrange multipliers 3.219883e-02 4.599833e-04 0.02% - local potentials 1.098758e+00 1.569654e-02 0.65% - non-local potentials 3.463642e+00 4.948060e-02 2.04% - ffm_dgemm 7.773590e-01 1.110513e-02 0.46% - fmf_dgemm 1.645667e+00 2.350953e-02 0.97% - m_diagonalize 2.534141e-03 3.620201e-05 0.00% - mmm_multiply 3.674490e-04 5.249271e-06 0.00% - SCVtrans 9.900060e-04 1.414294e-05 0.00% + total time 1.723082e+02 2.461546e+00 100.00% + total FFT time 8.432872e+01 1.204696e+00 48.94% + lagrange multipliers 3.072189e-02 4.388842e-04 0.02% + local potentials 1.120448e+00 1.600640e-02 0.65% + non-local potentials 3.506749e+00 5.009641e-02 2.04% + ffm_dgemm 8.015564e-01 1.145081e-02 0.47% + fmf_dgemm 1.696728e+00 2.423897e-02 0.98% + m_diagonalize 2.830670e-03 4.043814e-05 0.00% + mmm_multiply 3.002290e-04 4.288986e-06 0.00% + SCVtrans 1.083137e-03 1.547339e-05 0.00% - >>> job completed at Fri Feb 24 15:24:03 2023 <<< + >>> job completed at Wed Mar 22 13:20:38 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -2187,7 +2187,7 @@ mu = ( 0.1186 -0.1549 -0.7836 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:24:03 2023 <<< + >>> job started at Wed Mar 22 13:20:38 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -2286,14 +2286,14 @@ mu = ( 0.1186 -0.1549 -0.7836 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:24:03 2023 <<< + >>> iteration started at Wed Mar 22 13:20:38 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- 10 -1.719875903611e+01 -1.191965e-07 1.720239e-09 20 -1.719875925446e+01 -3.321944e-09 1.519031e-10 30 -1.719875925672e+01 -9.223200e-10 3.814911e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:24:20 2023 <<< + >>> iteration ended at Wed Mar 22 13:20:56 2023 <<< ============== energy results (Molecule object) ============== @@ -2399,25 +2399,25 @@ mu = ( 0.1192 -0.1573 -0.7837 ) au ----------------- cputime in seconds - prologue : 2.090e-01 - main loop : 1.658e+01 - epilogue : 9.267e-02 - total : 1.688e+01 - cputime/step: 2.403e-01 ( 69 evaluations, 22 linesearches) + prologue : 2.145e-01 + main loop : 1.731e+01 + epilogue : 1.022e-01 + total : 1.762e+01 + cputime/step: 2.508e-01 ( 69 evaluations, 22 linesearches) Time spent doing total step percent - total time 1.870016e+02 2.710168e+00 100.00% - total FFT time 5.246375e+01 7.603443e-01 28.06% - lagrange multipliers 3.219883e-02 4.666497e-04 0.02% - local potentials 1.231018e+00 1.784085e-02 0.66% - non-local potentials 3.798777e+00 5.505474e-02 2.03% - ffm_dgemm 8.556586e-01 1.240085e-02 0.46% - fmf_dgemm 1.817975e+00 2.634747e-02 0.97% - m_diagonalize 2.717328e-03 3.938157e-05 0.00% - mmm_multiply 3.963870e-04 5.744739e-06 0.00% - SCVtrans 1.064728e-03 1.543084e-05 0.00% + total time 1.900368e+02 2.754156e+00 100.00% + total FFT time 9.297830e+01 1.347512e+00 48.93% + lagrange multipliers 3.072189e-02 4.452448e-04 0.02% + local potentials 1.254231e+00 1.817726e-02 0.66% + non-local potentials 3.857176e+00 5.590110e-02 2.03% + ffm_dgemm 8.862682e-01 1.284447e-02 0.47% + fmf_dgemm 1.877948e+00 2.721663e-02 0.99% + m_diagonalize 3.070397e-03 4.449851e-05 0.00% + mmm_multiply 3.251820e-04 4.712783e-06 0.00% + SCVtrans 1.162460e-03 1.684725e-05 0.00% - >>> job completed at Fri Feb 24 15:24:20 2023 <<< + >>> job completed at Wed Mar 22 13:20:56 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -2431,7 +2431,7 @@ mu = ( 0.1192 -0.1573 -0.7837 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:24:20 2023 <<< + >>> job started at Wed Mar 22 13:20:56 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -2530,14 +2530,14 @@ mu = ( 0.1192 -0.1573 -0.7837 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:24:20 2023 <<< + >>> iteration started at Wed Mar 22 13:20:56 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- 10 -1.719876774792e+01 -1.179609e-07 1.688321e-09 20 -1.719876796378e+01 -3.274007e-09 1.497515e-10 30 -1.719876796600e+01 -9.055405e-10 3.769551e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:24:37 2023 <<< + >>> iteration ended at Wed Mar 22 13:21:14 2023 <<< ============== energy results (Molecule object) ============== @@ -2643,25 +2643,25 @@ mu = ( 0.1197 -0.1597 -0.7839 ) au ----------------- cputime in seconds - prologue : 2.127e-01 - main loop : 1.684e+01 - epilogue : 9.244e-02 - total : 1.715e+01 - cputime/step: 2.406e-01 ( 70 evaluations, 22 linesearches) + prologue : 2.138e-01 + main loop : 1.766e+01 + epilogue : 9.482e-02 + total : 1.797e+01 + cputime/step: 2.522e-01 ( 70 evaluations, 22 linesearches) Time spent doing total step percent - total time 2.041779e+02 2.916827e+00 100.00% - total FFT time 5.722964e+01 8.175664e-01 28.03% - lagrange multipliers 3.219883e-02 4.599833e-04 0.02% - local potentials 1.365665e+00 1.950950e-02 0.67% - non-local potentials 4.138432e+00 5.912045e-02 2.03% - ffm_dgemm 9.341649e-01 1.334521e-02 0.46% - fmf_dgemm 1.989104e+00 2.841577e-02 0.97% - m_diagonalize 2.904906e-03 4.149866e-05 0.00% - mmm_multiply 4.271440e-04 6.102057e-06 0.00% - SCVtrans 1.133048e-03 1.618640e-05 0.00% + total time 2.080297e+02 2.971853e+00 100.00% + total FFT time 1.017706e+02 1.453866e+00 48.92% + lagrange multipliers 3.072189e-02 4.388842e-04 0.01% + local potentials 1.391259e+00 1.987513e-02 0.67% + non-local potentials 4.210847e+00 6.015496e-02 2.02% + ffm_dgemm 9.711644e-01 1.387378e-02 0.47% + fmf_dgemm 2.061014e+00 2.944306e-02 0.99% + m_diagonalize 3.346006e-03 4.780009e-05 0.00% + mmm_multiply 3.477460e-04 4.967800e-06 0.00% + SCVtrans 1.250645e-03 1.786636e-05 0.00% - >>> job completed at Fri Feb 24 15:24:37 2023 <<< + >>> job completed at Wed Mar 22 13:21:14 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -2675,7 +2675,7 @@ mu = ( 0.1197 -0.1597 -0.7839 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:24:37 2023 <<< + >>> job started at Wed Mar 22 13:21:14 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -2774,14 +2774,14 @@ mu = ( 0.1197 -0.1597 -0.7839 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:24:37 2023 <<< + >>> iteration started at Wed Mar 22 13:21:14 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- 10 -1.719877621179e+01 -1.165157e-07 1.648981e-09 20 -1.719877642471e+01 -3.218958e-09 1.465438e-10 30 -1.719877642689e+01 -8.878089e-10 3.673901e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:24:54 2023 <<< + >>> iteration ended at Wed Mar 22 13:21:31 2023 <<< ============== energy results (Molecule object) ============== @@ -2887,25 +2887,25 @@ mu = ( 0.1203 -0.1621 -0.7842 ) au ----------------- cputime in seconds - prologue : 2.134e-01 - main loop : 1.662e+01 - epilogue : 9.251e-02 - total : 1.692e+01 - cputime/step: 2.408e-01 ( 69 evaluations, 22 linesearches) + prologue : 2.196e-01 + main loop : 1.705e+01 + epilogue : 1.030e-01 + total : 1.738e+01 + cputime/step: 2.471e-01 ( 69 evaluations, 22 linesearches) Time spent doing total step percent - total time 2.211262e+02 3.204727e+00 100.00% - total FFT time 6.193820e+01 8.976551e-01 28.01% - lagrange multipliers 3.219883e-02 4.666497e-04 0.01% - local potentials 1.498146e+00 2.171226e-02 0.68% - non-local potentials 4.472692e+00 6.482163e-02 2.02% - ffm_dgemm 1.013158e+00 1.468345e-02 0.46% - fmf_dgemm 2.159346e+00 3.129486e-02 0.98% - m_diagonalize 3.087728e-03 4.474968e-05 0.00% - mmm_multiply 4.593240e-04 6.656870e-06 0.00% - SCVtrans 1.206779e-03 1.748955e-05 0.00% + total time 2.254378e+02 3.267215e+00 100.00% + total FFT time 1.102113e+02 1.597265e+00 48.89% + lagrange multipliers 3.072189e-02 4.452448e-04 0.01% + local potentials 1.524606e+00 2.209574e-02 0.68% + non-local potentials 4.550725e+00 6.595254e-02 2.02% + ffm_dgemm 1.053098e+00 1.526229e-02 0.47% + fmf_dgemm 2.237115e+00 3.242196e-02 0.99% + m_diagonalize 3.606789e-03 5.227230e-05 0.00% + mmm_multiply 3.704170e-04 5.368362e-06 0.00% + SCVtrans 1.331040e-03 1.929043e-05 0.00% - >>> job completed at Fri Feb 24 15:24:54 2023 <<< + >>> job completed at Wed Mar 22 13:21:31 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -2919,7 +2919,7 @@ mu = ( 0.1203 -0.1621 -0.7842 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:24:54 2023 <<< + >>> job started at Wed Mar 22 13:21:31 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -3018,14 +3018,14 @@ mu = ( 0.1203 -0.1621 -0.7842 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:24:54 2023 <<< + >>> iteration started at Wed Mar 22 13:21:31 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- 10 -1.719878482168e+01 -1.148433e-07 1.602192e-09 20 -1.719878503116e+01 -3.152156e-09 1.428693e-10 30 -1.719878503329e+01 -8.665708e-10 3.580971e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:25:11 2023 <<< + >>> iteration ended at Wed Mar 22 13:21:49 2023 <<< ============== energy results (Molecule object) ============== @@ -3131,22 +3131,22 @@ mu = ( 0.1208 -0.1646 -0.7844 ) au ----------------- cputime in seconds - prologue : 2.152e-01 - main loop : 1.685e+01 - epilogue : 9.250e-02 - total : 1.716e+01 - cputime/step: 2.407e-01 ( 70 evaluations, 22 linesearches) + prologue : 2.161e-01 + main loop : 1.720e+01 + epilogue : 9.528e-02 + total : 1.751e+01 + cputime/step: 2.457e-01 ( 70 evaluations, 22 linesearches) Time spent doing total step percent - total time 2.383116e+02 3.404451e+00 100.00% - total FFT time 6.670926e+01 9.529894e-01 27.99% - lagrange multipliers 3.219883e-02 4.599833e-04 0.01% - local potentials 1.633177e+00 2.333109e-02 0.69% - non-local potentials 4.810871e+00 6.872673e-02 2.02% - ffm_dgemm 1.093199e+00 1.561712e-02 0.46% - fmf_dgemm 2.333036e+00 3.332908e-02 0.98% - m_diagonalize 3.275008e-03 4.678583e-05 0.00% - mmm_multiply 4.867030e-04 6.952900e-06 0.00% - SCVtrans 1.284188e-03 1.834554e-05 0.00% + total time 2.429791e+02 3.471131e+00 100.00% + total FFT time 1.187376e+02 1.696252e+00 48.87% + lagrange multipliers 3.072189e-02 4.388842e-04 0.01% + local potentials 1.660312e+00 2.371874e-02 0.68% + non-local potentials 4.895816e+00 6.994022e-02 2.01% + ffm_dgemm 1.133056e+00 1.618651e-02 0.47% + fmf_dgemm 2.412774e+00 3.446820e-02 0.99% + m_diagonalize 3.820225e-03 5.457464e-05 0.00% + mmm_multiply 3.937100e-04 5.624429e-06 0.00% + SCVtrans 1.414712e-03 2.021017e-05 0.00% - >>> job completed at Fri Feb 24 15:25:11 2023 <<< + >>> job completed at Wed Mar 22 13:21:49 2023 <<< diff --git a/examples/QUANTUM/NWChem/log.24Feb23.water.pwdft.qmmm.plugin.2 b/examples/QUANTUM/NWChem/log.22Mar23.water.pwdft.qmmm.plugin.2 similarity index 89% rename from examples/QUANTUM/NWChem/log.24Feb23.water.pwdft.qmmm.plugin.2 rename to examples/QUANTUM/NWChem/log.22Mar23.water.pwdft.qmmm.plugin.2 index 803b663521..fdf8ccf8ce 100644 --- a/examples/QUANTUM/NWChem/log.24Feb23.water.pwdft.qmmm.plugin.2 +++ b/examples/QUANTUM/NWChem/log.22Mar23.water.pwdft.qmmm.plugin.2 @@ -11,7 +11,7 @@ * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:36:02 2023 <<< + >>> job started at Wed Mar 22 13:23:51 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -109,7 +109,7 @@ ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:36:02 2023 <<< + >>> iteration started at Wed Mar 22 13:23:51 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 15 steepest descent iterations performed @@ -122,7 +122,7 @@ 70 -1.630527201766e+01 -3.772506e-09 2.820925e-11 80 -1.630527202296e+01 -9.484040e-10 1.063105e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:36:11 2023 <<< + >>> iteration ended at Wed Mar 22 13:24:01 2023 <<< ============== energy results (Molecule object) ============== @@ -206,25 +206,25 @@ mu = ( 0.0649 -0.0820 -0.4407 ) au ----------------- cputime in seconds - prologue : 1.132e-01 - main loop : 9.352e+00 - epilogue : 8.307e-03 - total : 9.473e+00 - cputime/step: 2.913e-02 ( 321 evaluations, 74 linesearches) + prologue : 1.106e-01 + main loop : 9.217e+00 + epilogue : 8.271e-03 + total : 9.336e+00 + cputime/step: 2.871e-02 ( 321 evaluations, 74 linesearches) Time spent doing total step percent - total time 9.443260e+00 2.941826e-02 100.00% - total FFT time 2.670474e+00 8.319235e-03 28.28% - lagrange multipliers 6.575587e-03 2.048469e-05 0.07% - local potentials 4.501420e-04 1.402312e-06 0.00% - non-local potentials 2.709856e-01 8.441918e-04 2.87% - ffm_dgemm 4.360340e-02 1.358361e-04 0.46% - fmf_dgemm 8.802816e-02 2.742310e-04 0.93% - m_diagonalize 5.288340e-04 1.647458e-06 0.01% - mmm_multiply 7.064400e-05 2.200748e-07 0.00% - SCVtrans 2.730270e-04 8.505514e-07 0.00% + total time 9.306616e+00 2.899257e-02 100.00% + total FFT time 4.679345e+00 1.457740e-02 50.28% + lagrange multipliers 8.330698e-03 2.595233e-05 0.09% + local potentials 4.681520e-04 1.458417e-06 0.01% + non-local potentials 2.656175e-01 8.274687e-04 2.85% + ffm_dgemm 4.394902e-02 1.369129e-04 0.47% + fmf_dgemm 8.611803e-02 2.682805e-04 0.93% + m_diagonalize 6.304950e-04 1.964159e-06 0.01% + mmm_multiply 5.209700e-05 1.622960e-07 0.00% + SCVtrans 2.574300e-04 8.019626e-07 0.00% - >>> job completed at Fri Feb 24 15:36:11 2023 <<< + >>> job completed at Wed Mar 22 13:24:01 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -238,7 +238,7 @@ mu = ( 0.0649 -0.0820 -0.4407 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:36:11 2023 <<< + >>> job started at Wed Mar 22 13:24:01 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -341,7 +341,7 @@ mu = ( 0.0649 -0.0820 -0.4407 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:36:12 2023 <<< + >>> iteration started at Wed Mar 22 13:24:01 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 15 steepest descent iterations performed @@ -351,7 +351,7 @@ mu = ( 0.0649 -0.0820 -0.4407 ) au 40 -1.709728957060e+01 -2.322675e-09 1.887065e-11 50 -1.709728957412e+01 -8.859047e-10 2.923518e-12 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:36:27 2023 <<< + >>> iteration ended at Wed Mar 22 13:24:16 2023 <<< ============== energy results (Molecule object) ============== @@ -435,25 +435,25 @@ mu = ( 0.0958 -0.1200 -0.6599 ) au ----------------- cputime in seconds - prologue : 1.760e-01 - main loop : 1.544e+01 - epilogue : 2.727e-02 - total : 1.564e+01 - cputime/step: 1.009e-01 ( 153 evaluations, 43 linesearches) + prologue : 1.747e-01 + main loop : 1.552e+01 + epilogue : 2.823e-02 + total : 1.572e+01 + cputime/step: 1.014e-01 ( 153 evaluations, 43 linesearches) Time spent doing total step percent - total time 2.512266e+01 1.642004e-01 100.00% - total FFT time 7.228765e+00 4.724683e-02 28.77% - lagrange multipliers 1.332931e-02 8.711969e-05 0.05% - local potentials 2.540088e-03 1.660188e-05 0.01% - non-local potentials 6.403892e-01 4.185550e-03 2.55% - ffm_dgemm 1.154356e-01 7.544813e-04 0.46% - fmf_dgemm 2.257187e-01 1.475285e-03 0.90% - m_diagonalize 8.679170e-04 5.672660e-06 0.00% - mmm_multiply 1.086730e-04 7.102810e-07 0.00% - SCVtrans 4.051150e-04 2.647810e-06 0.00% + total time 2.508567e+01 1.639586e-01 100.00% + total FFT time 1.284514e+01 8.395516e-02 51.21% + lagrange multipliers 1.513895e-02 9.894738e-05 0.06% + local potentials 1.769965e-03 1.156840e-05 0.01% + non-local potentials 6.350641e-01 4.150746e-03 2.53% + ffm_dgemm 1.156895e-01 7.561402e-04 0.46% + fmf_dgemm 2.245439e-01 1.467607e-03 0.90% + m_diagonalize 1.039867e-03 6.796516e-06 0.00% + mmm_multiply 9.590800e-05 6.268497e-07 0.00% + SCVtrans 3.926470e-04 2.566320e-06 0.00% - >>> job completed at Fri Feb 24 15:36:27 2023 <<< + >>> job completed at Wed Mar 22 13:24:16 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -467,7 +467,7 @@ mu = ( 0.0958 -0.1200 -0.6599 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:36:27 2023 <<< + >>> job started at Wed Mar 22 13:24:16 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -573,7 +573,7 @@ mu = ( 0.0958 -0.1200 -0.6599 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:36:27 2023 <<< + >>> iteration started at Wed Mar 22 13:24:17 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 15 steepest descent iterations performed @@ -583,7 +583,7 @@ mu = ( 0.0958 -0.1200 -0.6599 ) au 40 -1.719867026700e+01 -2.808584e-09 2.902516e-11 50 -1.719867027685e+01 -8.939232e-10 2.123599e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:37:01 2023 <<< + >>> iteration ended at Wed Mar 22 13:24:51 2023 <<< ============== energy results (Molecule object) ============== @@ -689,25 +689,25 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au ----------------- cputime in seconds - prologue : 2.886e-01 - main loop : 3.407e+01 - epilogue : 7.946e-02 - total : 3.443e+01 - cputime/step: 2.143e-01 ( 159 evaluations, 46 linesearches) + prologue : 2.832e-01 + main loop : 3.450e+01 + epilogue : 8.040e-02 + total : 3.487e+01 + cputime/step: 2.170e-01 ( 159 evaluations, 46 linesearches) Time spent doing total step percent - total time 5.961894e+01 3.749619e-01 100.00% - total FFT time 1.705569e+01 1.072685e-01 28.61% - lagrange multipliers 2.770001e-02 1.742139e-04 0.05% - local potentials 2.728062e-01 1.715762e-03 0.46% - non-local potentials 1.365814e+00 8.590024e-03 2.29% - ffm_dgemm 2.722403e-01 1.712203e-03 0.46% - fmf_dgemm 5.543930e-01 3.486748e-03 0.93% - m_diagonalize 1.230453e-03 7.738698e-06 0.00% - mmm_multiply 1.692010e-04 1.064157e-06 0.00% - SCVtrans 5.798710e-04 3.646987e-06 0.00% + total time 6.001546e+01 3.774557e-01 100.00% + total FFT time 3.013702e+01 1.895410e-01 50.22% + lagrange multipliers 2.981301e-02 1.875032e-04 0.05% + local potentials 2.752184e-01 1.730933e-03 0.46% + non-local potentials 1.367670e+00 8.601697e-03 2.28% + ffm_dgemm 2.790694e-01 1.755153e-03 0.46% + fmf_dgemm 5.597321e-01 3.520328e-03 0.93% + m_diagonalize 1.574677e-03 9.903629e-06 0.00% + mmm_multiply 1.410530e-04 8.871258e-07 0.00% + SCVtrans 5.487810e-04 3.451453e-06 0.00% - >>> job completed at Fri Feb 24 15:37:02 2023 <<< + >>> job completed at Wed Mar 22 13:24:51 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -721,7 +721,7 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:37:02 2023 <<< + >>> job started at Wed Mar 22 13:24:51 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -820,14 +820,14 @@ mu = ( 0.1153 -0.1410 -0.7838 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:37:02 2023 <<< + >>> iteration started at Wed Mar 22 13:24:51 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- 10 -1.719868650088e+01 -1.191269e-07 1.696551e-09 20 -1.719868671143e+01 -2.961354e-09 1.370154e-10 30 -1.719868671344e+01 -8.142145e-10 3.386329e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:37:17 2023 <<< + >>> iteration ended at Wed Mar 22 13:25:07 2023 <<< ============== energy results (Molecule object) ============== @@ -933,25 +933,25 @@ mu = ( 0.1158 -0.1433 -0.7837 ) au ----------------- cputime in seconds - prologue : 1.864e-01 - main loop : 1.491e+01 - epilogue : 7.967e-02 - total : 1.518e+01 - cputime/step: 2.131e-01 ( 70 evaluations, 22 linesearches) + prologue : 1.894e-01 + main loop : 1.522e+01 + epilogue : 8.313e-02 + total : 1.549e+01 + cputime/step: 2.174e-01 ( 70 evaluations, 22 linesearches) Time spent doing total step percent - total time 7.483701e+01 1.069100e+00 100.00% - total FFT time 2.134523e+01 3.049319e-01 28.52% - lagrange multipliers 2.770001e-02 3.957144e-04 0.04% - local potentials 3.948498e-01 5.640711e-03 0.53% - non-local potentials 1.688850e+00 2.412643e-02 2.26% - ffm_dgemm 3.442074e-01 4.917248e-03 0.46% - fmf_dgemm 7.092531e-01 1.013219e-02 0.95% - m_diagonalize 1.408884e-03 2.012691e-05 0.00% - mmm_multiply 1.976730e-04 2.823900e-06 0.00% - SCVtrans 6.549420e-04 9.356314e-06 0.00% + total time 7.554417e+01 1.079202e+00 100.00% + total FFT time 3.775891e+01 5.394130e-01 49.98% + lagrange multipliers 2.981301e-02 4.259002e-04 0.04% + local potentials 3.993341e-01 5.704773e-03 0.53% + non-local potentials 1.694793e+00 2.421133e-02 2.24% + ffm_dgemm 3.532435e-01 5.046336e-03 0.47% + fmf_dgemm 7.202612e-01 1.028945e-02 0.95% + m_diagonalize 1.808546e-03 2.583637e-05 0.00% + mmm_multiply 1.677180e-04 2.395971e-06 0.00% + SCVtrans 6.317750e-04 9.025357e-06 0.00% - >>> job completed at Fri Feb 24 15:37:17 2023 <<< + >>> job completed at Wed Mar 22 13:25:07 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -965,7 +965,7 @@ mu = ( 0.1158 -0.1433 -0.7837 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:37:17 2023 <<< + >>> job started at Wed Mar 22 13:25:07 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -1064,14 +1064,14 @@ mu = ( 0.1158 -0.1433 -0.7837 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:37:17 2023 <<< + >>> iteration started at Wed Mar 22 13:25:07 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- 10 -1.719870171705e+01 -1.219371e-07 1.763819e-09 20 -1.719870193981e+01 -3.368804e-09 1.554026e-10 30 -1.719870194212e+01 -9.379342e-10 3.872352e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:37:32 2023 <<< + >>> iteration ended at Wed Mar 22 13:25:22 2023 <<< ============== energy results (Molecule object) ============== @@ -1177,25 +1177,25 @@ mu = ( 0.1164 -0.1456 -0.7836 ) au ----------------- cputime in seconds - prologue : 1.845e-01 - main loop : 1.471e+01 - epilogue : 7.953e-02 - total : 1.498e+01 - cputime/step: 2.132e-01 ( 69 evaluations, 22 linesearches) + prologue : 1.888e-01 + main loop : 1.500e+01 + epilogue : 8.112e-02 + total : 1.527e+01 + cputime/step: 2.173e-01 ( 69 evaluations, 22 linesearches) Time spent doing total step percent - total time 8.984342e+01 1.302079e+00 100.00% - total FFT time 2.557525e+01 3.706558e-01 28.47% - lagrange multipliers 2.770001e-02 4.014494e-04 0.03% - local potentials 5.165274e-01 7.485904e-03 0.57% - non-local potentials 2.005381e+00 2.906349e-02 2.23% - ffm_dgemm 4.152934e-01 6.018744e-03 0.46% - fmf_dgemm 8.630479e-01 1.250794e-02 0.96% - m_diagonalize 1.593157e-03 2.308923e-05 0.00% - mmm_multiply 2.208580e-04 3.200841e-06 0.00% - SCVtrans 7.428100e-04 1.076536e-05 0.00% + total time 9.084098e+01 1.316536e+00 100.00% + total FFT time 4.527524e+01 6.561629e-01 49.84% + lagrange multipliers 2.981301e-02 4.320727e-04 0.03% + local potentials 5.205714e-01 7.544513e-03 0.57% + non-local potentials 2.016398e+00 2.922316e-02 2.22% + ffm_dgemm 4.262594e-01 6.177672e-03 0.47% + fmf_dgemm 8.783808e-01 1.273016e-02 0.97% + m_diagonalize 2.061074e-03 2.987064e-05 0.00% + mmm_multiply 1.905490e-04 2.761580e-06 0.00% + SCVtrans 7.141050e-04 1.034935e-05 0.00% - >>> job completed at Fri Feb 24 15:37:32 2023 <<< + >>> job completed at Wed Mar 22 13:25:22 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -1209,7 +1209,7 @@ mu = ( 0.1164 -0.1456 -0.7836 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:37:32 2023 <<< + >>> job started at Wed Mar 22 13:25:22 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -1308,14 +1308,14 @@ mu = ( 0.1164 -0.1456 -0.7836 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:37:32 2023 <<< + >>> iteration started at Wed Mar 22 13:25:22 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- 10 -1.719871563023e+01 -1.217943e-07 1.769172e-09 20 -1.719871585343e+01 -3.400775e-09 1.566525e-10 30 -1.719871585575e+01 -9.490755e-10 3.915450e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:37:47 2023 <<< + >>> iteration ended at Wed Mar 22 13:25:37 2023 <<< ============== energy results (Molecule object) ============== @@ -1421,25 +1421,25 @@ mu = ( 0.1169 -0.1479 -0.7835 ) au ----------------- cputime in seconds - prologue : 1.854e-01 - main loop : 1.472e+01 - epilogue : 7.945e-02 - total : 1.499e+01 - cputime/step: 2.133e-01 ( 69 evaluations, 22 linesearches) + prologue : 1.896e-01 + main loop : 1.499e+01 + epilogue : 8.351e-02 + total : 1.527e+01 + cputime/step: 2.173e-01 ( 69 evaluations, 22 linesearches) Time spent doing total step percent - total time 1.048592e+02 1.519698e+00 100.00% - total FFT time 2.981387e+01 4.320850e-01 28.43% - lagrange multipliers 2.770001e-02 4.014494e-04 0.03% - local potentials 6.370326e-01 9.232357e-03 0.61% - non-local potentials 2.322153e+00 3.365439e-02 2.21% - ffm_dgemm 4.864077e-01 7.049387e-03 0.46% - fmf_dgemm 1.017373e+00 1.474454e-02 0.97% - m_diagonalize 1.773788e-03 2.570707e-05 0.00% - mmm_multiply 2.417260e-04 3.503275e-06 0.00% - SCVtrans 8.274320e-04 1.199177e-05 0.00% + total time 1.061363e+02 1.538207e+00 100.00% + total FFT time 5.278619e+01 7.650173e-01 49.73% + lagrange multipliers 2.981301e-02 4.320727e-04 0.03% + local potentials 6.412672e-01 9.293728e-03 0.60% + non-local potentials 2.339096e+00 3.389994e-02 2.20% + ffm_dgemm 4.999976e-01 7.246342e-03 0.47% + fmf_dgemm 1.035938e+00 1.501359e-02 0.98% + m_diagonalize 2.292837e-03 3.322952e-05 0.00% + mmm_multiply 2.141470e-04 3.103580e-06 0.00% + SCVtrans 7.869570e-04 1.140517e-05 0.00% - >>> job completed at Fri Feb 24 15:37:47 2023 <<< + >>> job completed at Wed Mar 22 13:25:37 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -1453,7 +1453,7 @@ mu = ( 0.1169 -0.1479 -0.7835 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:37:47 2023 <<< + >>> job started at Wed Mar 22 13:25:37 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -1552,14 +1552,14 @@ mu = ( 0.1169 -0.1479 -0.7835 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:37:47 2023 <<< + >>> iteration started at Wed Mar 22 13:25:38 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- 10 -1.719872820986e+01 -1.215313e-07 1.769468e-09 20 -1.719872843271e+01 -3.399332e-09 1.563800e-10 30 -1.719872843504e+01 -9.486847e-10 3.917318e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:38:02 2023 <<< + >>> iteration ended at Wed Mar 22 13:25:53 2023 <<< ============== energy results (Molecule object) ============== @@ -1665,25 +1665,25 @@ mu = ( 0.1175 -0.1502 -0.7835 ) au ----------------- cputime in seconds - prologue : 1.844e-01 - main loop : 1.508e+01 - epilogue : 7.972e-02 - total : 1.534e+01 - cputime/step: 2.185e-01 ( 69 evaluations, 22 linesearches) + prologue : 1.880e-01 + main loop : 1.500e+01 + epilogue : 8.688e-02 + total : 1.528e+01 + cputime/step: 2.174e-01 ( 69 evaluations, 22 linesearches) Time spent doing total step percent - total time 1.202296e+02 1.742458e+00 100.00% - total FFT time 3.418173e+01 4.953874e-01 28.43% - lagrange multipliers 2.770001e-02 4.014494e-04 0.02% - local potentials 7.595677e-01 1.100823e-02 0.63% - non-local potentials 2.645585e+00 3.834181e-02 2.20% - ffm_dgemm 5.602690e-01 8.119841e-03 0.47% - fmf_dgemm 1.175396e+00 1.703473e-02 0.98% - m_diagonalize 1.971332e-03 2.857003e-05 0.00% - mmm_multiply 2.742840e-04 3.975130e-06 0.00% - SCVtrans 9.132550e-04 1.323558e-05 0.00% + total time 1.214423e+02 1.760034e+00 100.00% + total FFT time 6.029616e+01 8.738574e-01 49.65% + lagrange multipliers 2.981301e-02 4.320727e-04 0.02% + local potentials 7.625363e-01 1.105125e-02 0.63% + non-local potentials 2.661082e+00 3.856641e-02 2.19% + ffm_dgemm 5.732980e-01 8.308666e-03 0.47% + fmf_dgemm 1.194139e+00 1.730636e-02 0.98% + m_diagonalize 2.507436e-03 3.633965e-05 0.00% + mmm_multiply 2.405750e-04 3.486594e-06 0.00% + SCVtrans 8.698320e-04 1.260626e-05 0.00% - >>> job completed at Fri Feb 24 15:38:02 2023 <<< + >>> job completed at Wed Mar 22 13:25:53 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -1697,7 +1697,7 @@ mu = ( 0.1175 -0.1502 -0.7835 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:38:02 2023 <<< + >>> job started at Wed Mar 22 13:25:53 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -1796,14 +1796,14 @@ mu = ( 0.1175 -0.1502 -0.7835 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:38:02 2023 <<< + >>> iteration started at Wed Mar 22 13:25:53 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- 10 -1.719873952436e+01 -1.210124e-07 1.761503e-09 20 -1.719873974626e+01 -3.384773e-09 1.558265e-10 30 -1.719873974856e+01 -9.415757e-10 3.924430e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:38:17 2023 <<< + >>> iteration ended at Wed Mar 22 13:26:08 2023 <<< ============== energy results (Molecule object) ============== @@ -1909,25 +1909,25 @@ mu = ( 0.1180 -0.1526 -0.7835 ) au ----------------- cputime in seconds - prologue : 1.859e-01 - main loop : 1.513e+01 - epilogue : 8.564e-02 - total : 1.541e+01 - cputime/step: 2.162e-01 ( 70 evaluations, 22 linesearches) + prologue : 1.920e-01 + main loop : 1.523e+01 + epilogue : 8.625e-02 + total : 1.551e+01 + cputime/step: 2.176e-01 ( 70 evaluations, 22 linesearches) Time spent doing total step percent - total time 1.356640e+02 1.938057e+00 100.00% - total FFT time 3.855053e+01 5.507218e-01 28.42% - lagrange multipliers 2.770001e-02 3.957144e-04 0.02% - local potentials 8.837432e-01 1.262490e-02 0.65% - non-local potentials 2.971914e+00 4.245591e-02 2.19% - ffm_dgemm 6.336332e-01 9.051903e-03 0.47% - fmf_dgemm 1.331620e+00 1.902314e-02 0.98% - m_diagonalize 2.158650e-03 3.083786e-05 0.00% - mmm_multiply 2.969320e-04 4.241886e-06 0.00% - SCVtrans 9.962090e-04 1.423156e-05 0.00% + total time 1.369895e+02 1.956993e+00 100.00% + total FFT time 6.792382e+01 9.703403e-01 49.58% + lagrange multipliers 2.981301e-02 4.259002e-04 0.02% + local potentials 8.859406e-01 1.265629e-02 0.65% + non-local potentials 2.991570e+00 4.273671e-02 2.18% + ffm_dgemm 6.479614e-01 9.256592e-03 0.47% + fmf_dgemm 1.352663e+00 1.932376e-02 0.99% + m_diagonalize 2.769437e-03 3.956339e-05 0.00% + mmm_multiply 2.649070e-04 3.784386e-06 0.00% + SCVtrans 9.502210e-04 1.357459e-05 0.00% - >>> job completed at Fri Feb 24 15:38:18 2023 <<< + >>> job completed at Wed Mar 22 13:26:08 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -1941,7 +1941,7 @@ mu = ( 0.1180 -0.1526 -0.7835 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:38:18 2023 <<< + >>> job started at Wed Mar 22 13:26:08 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -2040,14 +2040,14 @@ mu = ( 0.1180 -0.1526 -0.7835 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:38:18 2023 <<< + >>> iteration started at Wed Mar 22 13:26:08 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- 10 -1.719874972499e+01 -1.202626e-07 1.745497e-09 20 -1.719874994545e+01 -3.359311e-09 1.543546e-10 30 -1.719874994772e+01 -9.330776e-10 3.890141e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:38:33 2023 <<< + >>> iteration ended at Wed Mar 22 13:26:24 2023 <<< ============== energy results (Molecule object) ============== @@ -2153,25 +2153,25 @@ mu = ( 0.1186 -0.1549 -0.7836 ) au ----------------- cputime in seconds - prologue : 2.009e-01 - main loop : 1.508e+01 - epilogue : 7.948e-02 - total : 1.536e+01 - cputime/step: 2.155e-01 ( 70 evaluations, 22 linesearches) + prologue : 1.903e-01 + main loop : 1.524e+01 + epilogue : 8.209e-02 + total : 1.551e+01 + cputime/step: 2.177e-01 ( 70 evaluations, 22 linesearches) Time spent doing total step percent - total time 1.510580e+02 2.157972e+00 100.00% - total FFT time 4.290913e+01 6.129876e-01 28.41% - lagrange multipliers 2.770001e-02 3.957144e-04 0.02% - local potentials 1.007041e+00 1.438630e-02 0.67% - non-local potentials 3.297171e+00 4.710244e-02 2.18% - ffm_dgemm 7.058073e-01 1.008296e-02 0.47% - fmf_dgemm 1.487577e+00 2.125110e-02 0.98% - m_diagonalize 2.364530e-03 3.377900e-05 0.00% - mmm_multiply 3.226130e-04 4.608757e-06 0.00% - SCVtrans 1.072642e-03 1.532346e-05 0.00% + total time 1.525297e+02 2.178996e+00 100.00% + total FFT time 7.556300e+01 1.079471e+00 49.54% + lagrange multipliers 2.981301e-02 4.259002e-04 0.02% + local potentials 1.008353e+00 1.440504e-02 0.66% + non-local potentials 3.316118e+00 4.737312e-02 2.17% + ffm_dgemm 7.210078e-01 1.030011e-02 0.47% + fmf_dgemm 1.510971e+00 2.158530e-02 0.99% + m_diagonalize 3.007852e-03 4.296931e-05 0.00% + mmm_multiply 2.929850e-04 4.185500e-06 0.00% + SCVtrans 1.035571e-03 1.479387e-05 0.00% - >>> job completed at Fri Feb 24 15:38:33 2023 <<< + >>> job completed at Wed Mar 22 13:26:24 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -2185,7 +2185,7 @@ mu = ( 0.1186 -0.1549 -0.7836 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:38:33 2023 <<< + >>> job started at Wed Mar 22 13:26:24 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -2284,14 +2284,14 @@ mu = ( 0.1186 -0.1549 -0.7836 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:38:33 2023 <<< + >>> iteration started at Wed Mar 22 13:26:24 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- 10 -1.719875903598e+01 -1.192421e-07 1.721068e-09 20 -1.719875925443e+01 -3.322963e-09 1.518403e-10 30 -1.719875925670e+01 -9.227143e-10 3.815349e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:38:48 2023 <<< + >>> iteration ended at Wed Mar 22 13:26:39 2023 <<< ============== energy results (Molecule object) ============== @@ -2397,25 +2397,25 @@ mu = ( 0.1192 -0.1573 -0.7837 ) au ----------------- cputime in seconds - prologue : 1.852e-01 - main loop : 1.503e+01 - epilogue : 7.935e-02 - total : 1.530e+01 - cputime/step: 2.147e-01 ( 70 evaluations, 22 linesearches) + prologue : 1.891e-01 + main loop : 1.521e+01 + epilogue : 8.196e-02 + total : 1.548e+01 + cputime/step: 2.173e-01 ( 70 evaluations, 22 linesearches) Time spent doing total step percent - total time 1.663930e+02 2.377044e+00 100.00% - total FFT time 4.725231e+01 6.750330e-01 28.40% - lagrange multipliers 2.770001e-02 3.957144e-04 0.02% - local potentials 1.129230e+00 1.613185e-02 0.68% - non-local potentials 3.622172e+00 5.174532e-02 2.18% - ffm_dgemm 7.790205e-01 1.112886e-02 0.47% - fmf_dgemm 1.644238e+00 2.348911e-02 0.99% - m_diagonalize 2.559593e-03 3.656561e-05 0.00% - mmm_multiply 3.530830e-04 5.044043e-06 0.00% - SCVtrans 1.156750e-03 1.652500e-05 0.00% + total time 1.680417e+02 2.400596e+00 100.00% + total FFT time 8.318452e+01 1.188350e+00 49.50% + lagrange multipliers 2.981301e-02 4.259002e-04 0.02% + local potentials 1.132464e+00 1.617806e-02 0.67% + non-local potentials 3.639604e+00 5.199434e-02 2.17% + ffm_dgemm 7.951496e-01 1.135928e-02 0.47% + fmf_dgemm 1.670029e+00 2.385756e-02 0.99% + m_diagonalize 3.262615e-03 4.660879e-05 0.00% + mmm_multiply 3.217810e-04 4.596871e-06 0.00% + SCVtrans 1.111058e-03 1.587226e-05 0.00% - >>> job completed at Fri Feb 24 15:38:48 2023 <<< + >>> job completed at Wed Mar 22 13:26:39 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -2429,7 +2429,7 @@ mu = ( 0.1192 -0.1573 -0.7837 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:38:48 2023 <<< + >>> job started at Wed Mar 22 13:26:39 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -2528,14 +2528,14 @@ mu = ( 0.1192 -0.1573 -0.7837 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:38:48 2023 <<< + >>> iteration started at Wed Mar 22 13:26:39 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- 10 -1.719876774793e+01 -1.179461e-07 1.688046e-09 20 -1.719876796376e+01 -3.274653e-09 1.497207e-10 30 -1.719876796597e+01 -9.055015e-10 3.768875e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:39:04 2023 <<< + >>> iteration ended at Wed Mar 22 13:26:55 2023 <<< ============== energy results (Molecule object) ============== @@ -2641,25 +2641,25 @@ mu = ( 0.1197 -0.1597 -0.7839 ) au ----------------- cputime in seconds - prologue : 1.838e-01 - main loop : 1.505e+01 - epilogue : 8.071e-02 - total : 1.532e+01 - cputime/step: 2.151e-01 ( 70 evaluations, 22 linesearches) + prologue : 1.874e-01 + main loop : 1.520e+01 + epilogue : 8.304e-02 + total : 1.547e+01 + cputime/step: 2.172e-01 ( 70 evaluations, 22 linesearches) Time spent doing total step percent - total time 1.817423e+02 2.596318e+00 100.00% - total FFT time 5.160324e+01 7.371891e-01 28.39% - lagrange multipliers 2.770001e-02 3.957144e-04 0.02% - local potentials 1.251543e+00 1.787919e-02 0.69% - non-local potentials 3.948653e+00 5.640933e-02 2.17% - ffm_dgemm 8.518783e-01 1.216969e-02 0.47% - fmf_dgemm 1.801103e+00 2.573004e-02 0.99% - m_diagonalize 2.756033e-03 3.937190e-05 0.00% - mmm_multiply 3.777040e-04 5.395771e-06 0.00% - SCVtrans 1.244777e-03 1.778253e-05 0.00% + total time 1.835454e+02 2.622077e+00 100.00% + total FFT time 9.080036e+01 1.297148e+00 49.47% + lagrange multipliers 2.981301e-02 4.259002e-04 0.02% + local potentials 1.255656e+00 1.793794e-02 0.68% + non-local potentials 3.968929e+00 5.669899e-02 2.16% + ffm_dgemm 8.689244e-01 1.241321e-02 0.47% + fmf_dgemm 1.828717e+00 2.612452e-02 1.00% + m_diagonalize 3.476752e-03 4.966789e-05 0.00% + mmm_multiply 3.507860e-04 5.011229e-06 0.00% + SCVtrans 1.199914e-03 1.714163e-05 0.00% - >>> job completed at Fri Feb 24 15:39:04 2023 <<< + >>> job completed at Wed Mar 22 13:26:55 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -2673,7 +2673,7 @@ mu = ( 0.1197 -0.1597 -0.7839 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:39:04 2023 <<< + >>> job started at Wed Mar 22 13:26:55 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -2772,14 +2772,14 @@ mu = ( 0.1197 -0.1597 -0.7839 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:39:04 2023 <<< + >>> iteration started at Wed Mar 22 13:26:55 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- 10 -1.719877621178e+01 -1.165163e-07 1.648981e-09 20 -1.719877642470e+01 -3.218972e-09 1.467855e-10 30 -1.719877642687e+01 -8.877059e-10 3.689561e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:39:19 2023 <<< + >>> iteration ended at Wed Mar 22 13:27:10 2023 <<< ============== energy results (Molecule object) ============== @@ -2885,25 +2885,25 @@ mu = ( 0.1203 -0.1621 -0.7842 ) au ----------------- cputime in seconds - prologue : 1.884e-01 - main loop : 1.509e+01 - epilogue : 8.094e-02 - total : 1.536e+01 - cputime/step: 2.155e-01 ( 70 evaluations, 22 linesearches) + prologue : 1.901e-01 + main loop : 1.520e+01 + epilogue : 8.224e-02 + total : 1.548e+01 + cputime/step: 2.172e-01 ( 70 evaluations, 22 linesearches) Time spent doing total step percent - total time 1.971258e+02 2.816083e+00 100.00% - total FFT time 5.596337e+01 7.994767e-01 28.39% - lagrange multipliers 2.770001e-02 3.957144e-04 0.01% - local potentials 1.374475e+00 1.963536e-02 0.70% - non-local potentials 4.274452e+00 6.106360e-02 2.17% - ffm_dgemm 9.247135e-01 1.321019e-02 0.47% - fmf_dgemm 1.956741e+00 2.795345e-02 0.99% - m_diagonalize 2.942782e-03 4.203974e-05 0.00% - mmm_multiply 4.013750e-04 5.733929e-06 0.00% - SCVtrans 1.324074e-03 1.891534e-05 0.00% + total time 1.990545e+02 2.843635e+00 100.00% + total FFT time 9.841785e+01 1.405969e+00 49.44% + lagrange multipliers 2.981301e-02 4.259002e-04 0.01% + local potentials 1.377527e+00 1.967896e-02 0.69% + non-local potentials 4.297225e+00 6.138893e-02 2.16% + ffm_dgemm 9.427488e-01 1.346784e-02 0.47% + fmf_dgemm 1.986003e+00 2.837147e-02 1.00% + m_diagonalize 3.715711e-03 5.308159e-05 0.00% + mmm_multiply 3.720040e-04 5.314343e-06 0.00% + SCVtrans 1.283846e-03 1.834066e-05 0.00% - >>> job completed at Fri Feb 24 15:39:19 2023 <<< + >>> job completed at Wed Mar 22 13:27:10 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -2917,7 +2917,7 @@ mu = ( 0.1203 -0.1621 -0.7842 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:39:19 2023 <<< + >>> job started at Wed Mar 22 13:27:10 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -3016,14 +3016,14 @@ mu = ( 0.1203 -0.1621 -0.7842 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:39:19 2023 <<< + >>> iteration started at Wed Mar 22 13:27:11 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- 10 -1.719878482165e+01 -1.148640e-07 1.602574e-09 20 -1.719878503117e+01 -3.151882e-09 1.429151e-10 30 -1.719878503330e+01 -8.673275e-10 3.582155e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:39:34 2023 <<< + >>> iteration ended at Wed Mar 22 13:27:26 2023 <<< ============== energy results (Molecule object) ============== @@ -3129,22 +3129,22 @@ mu = ( 0.1208 -0.1646 -0.7844 ) au ----------------- cputime in seconds - prologue : 1.876e-01 - main loop : 1.500e+01 - epilogue : 8.115e-02 - total : 1.527e+01 - cputime/step: 2.143e-01 ( 70 evaluations, 22 linesearches) + prologue : 1.888e-01 + main loop : 1.525e+01 + epilogue : 8.163e-02 + total : 1.552e+01 + cputime/step: 2.178e-01 ( 70 evaluations, 22 linesearches) Time spent doing total step percent - total time 2.124248e+02 3.034640e+00 100.00% - total FFT time 6.029227e+01 8.613181e-01 28.38% - lagrange multipliers 2.770001e-02 3.957144e-04 0.01% - local potentials 1.496944e+00 2.138492e-02 0.70% - non-local potentials 4.598708e+00 6.569583e-02 2.16% - ffm_dgemm 9.972296e-01 1.424614e-02 0.47% - fmf_dgemm 2.112001e+00 3.017144e-02 0.99% - m_diagonalize 3.129735e-03 4.471050e-05 0.00% - mmm_multiply 4.250280e-04 6.071829e-06 0.00% - SCVtrans 1.411684e-03 2.016691e-05 0.00% + total time 2.146049e+02 3.065785e+00 100.00% + total FFT time 1.060520e+02 1.515029e+00 49.42% + lagrange multipliers 2.981301e-02 4.259002e-04 0.01% + local potentials 1.500153e+00 2.143076e-02 0.70% + non-local potentials 4.628065e+00 6.611522e-02 2.16% + ffm_dgemm 1.016673e+00 1.452390e-02 0.47% + fmf_dgemm 2.146075e+00 3.065821e-02 1.00% + m_diagonalize 3.949949e-03 5.642784e-05 0.00% + mmm_multiply 4.028350e-04 5.754786e-06 0.00% + SCVtrans 1.356799e-03 1.938284e-05 0.00% - >>> job completed at Fri Feb 24 15:39:34 2023 <<< + >>> job completed at Wed Mar 22 13:27:26 2023 <<< diff --git a/examples/QUANTUM/NWChem/log.24Feb23.water.qmmm.mpi.1 b/examples/QUANTUM/NWChem/log.22Mar23.water.qmmm.mpi.1 similarity index 82% rename from examples/QUANTUM/NWChem/log.24Feb23.water.qmmm.mpi.1 rename to examples/QUANTUM/NWChem/log.22Mar23.water.qmmm.mpi.1 index ab4f74d988..6494eb2bc8 100644 --- a/examples/QUANTUM/NWChem/log.24Feb23.water.qmmm.mpi.1 +++ b/examples/QUANTUM/NWChem/log.22Mar23.water.qmmm.mpi.1 @@ -1,4 +1,4 @@ -LAMMPS (22 Dec 2022) +LAMMPS (8 Feb 2023) # QMMM with NWChem units real @@ -118,31 +118,31 @@ Neighbor list info ... Per MPI rank memory allocation (min/avg/max) = 7.445 | 7.445 | 7.445 Mbytes Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long f_2 PotEng TotEng Press 0 0 300 4.4712151 0.95937448 -170.68507 -169.7257 3.3962859 0 -10627.88 -10794.209 -10789.738 -296.31483 - 1 17.075269 304.678 4.5409362 0.95696149 -170.42801 -169.47105 3.3391714 0 -10628.16 -10794.292 -10789.751 -305.47131 - 2 34.27241 311.21028 4.6382937 0.9544861 -170.14558 -169.1911 3.25367 0 -10628.467 -10794.404 -10789.766 -318.76873 - 3 51.195376 319.44283 4.7609921 0.9519482 -169.87321 -168.92126 3.1420353 0 -10628.766 -10794.545 -10789.784 -336.5052 - 4 68.32214 329.18599 4.9062046 0.94934821 -169.61529 -168.66594 3.0070837 0 -10629.053 -10794.712 -10789.806 -358.70074 - 5 85.263316 340.2199 5.0706544 0.94668697 -169.37336 -168.42667 2.8521374 0 -10629.326 -10794.901 -10789.83 -385.34191 - 6 102.42331 352.29871 5.2506777 0.94396585 -169.14843 -168.20446 2.6809583 0 -10629.585 -10795.108 -10789.857 -416.40137 - 7 119.33258 365.15522 5.4422918 0.94118664 -168.94159 -168.0004 2.4976729 0 -10629.827 -10795.33 -10789.888 -451.84095 - 8 136.50864 378.50608 5.6412736 0.93835162 -168.75364 -167.81529 2.3066899 0 -10630.053 -10795.562 -10789.921 -491.60675 - 9 153.45724 392.05743 5.8432436 0.93546349 -168.58491 -167.64945 2.1126114 0 -10630.263 -10795.8 -10789.956 -535.62553 - 10 170.64253 405.51042 6.0437477 0.9325254 -168.43613 -167.50361 1.9201417 0 -10630.455 -10796.038 -10789.994 -583.81036 -Loop time of 170.643 on 1 procs for 10 steps with 6 atoms + 1 16.919228 304.678 4.5409362 0.95696149 -170.42801 -169.47105 3.3391714 0 -10628.16 -10794.292 -10789.751 -305.47131 + 2 34.15349 311.21028 4.6382937 0.9544861 -170.14558 -169.1911 3.25367 0 -10628.467 -10794.404 -10789.766 -318.76873 + 3 51.665217 319.44283 4.7609921 0.9519482 -169.87321 -168.92126 3.1420353 0 -10628.766 -10794.545 -10789.784 -336.5052 + 4 70.038328 329.18599 4.9062046 0.94934821 -169.61529 -168.66594 3.0070837 0 -10629.053 -10794.712 -10789.806 -358.70074 + 5 88.743922 340.2199 5.0706544 0.94668697 -169.37336 -168.42667 2.8521374 0 -10629.326 -10794.901 -10789.83 -385.34191 + 6 106.66884 352.29871 5.2506777 0.94396585 -169.14843 -168.20446 2.6809583 0 -10629.585 -10795.108 -10789.857 -416.40137 + 7 124.39767 365.15522 5.4422918 0.94118664 -168.94159 -168.0004 2.4976729 0 -10629.827 -10795.33 -10789.888 -451.84095 + 8 142.3903 378.50608 5.6412736 0.93835162 -168.75364 -167.81529 2.3066899 0 -10630.053 -10795.562 -10789.921 -491.60675 + 9 159.79847 392.05743 5.8432436 0.93546349 -168.58491 -167.64945 2.1126114 0 -10630.263 -10795.8 -10789.956 -535.62553 + 10 177.34027 405.51042 6.0437477 0.9325254 -168.43613 -167.50361 1.9201417 0 -10630.455 -10796.038 -10789.994 -583.81036 +Loop time of 177.34 on 1 procs for 10 steps with 6 atoms -Performance: 0.001 ns/day, 47400.708 hours/ns, 0.059 timesteps/s, 0.352 atom-step/s +Performance: 0.000 ns/day, 49261.193 hours/ns, 0.056 timesteps/s, 0.338 atom-step/s 100.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 4.7066e-05 | 4.7066e-05 | 4.7066e-05 | 0.0 | 0.00 -Bond | 2.3501e-05 | 2.3501e-05 | 2.3501e-05 | 0.0 | 0.00 +Pair | 6.7731e-05 | 6.7731e-05 | 6.7731e-05 | 0.0 | 0.00 +Bond | 3.2954e-05 | 3.2954e-05 | 3.2954e-05 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 1.4251e-05 | 1.4251e-05 | 1.4251e-05 | 0.0 | 0.00 -Output | 0.00021231 | 0.00021231 | 0.00021231 | 0.0 | 0.00 -Modify | 170.64 | 170.64 | 170.64 | 0.0 |100.00 -Other | | 1.698e-05 | | | 0.00 +Comm | 1.9729e-05 | 1.9729e-05 | 1.9729e-05 | 0.0 | 0.00 +Output | 0.00025255 | 0.00025255 | 0.00025255 | 0.0 | 0.00 +Modify | 177.34 | 177.34 | 177.34 | 0.0 |100.00 +Other | | 2.243e-05 | | | 0.00 Nlocal: 6 ave 6 max 6 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -156,4 +156,4 @@ Ave neighs/atom = 2 Ave special neighs/atom = 1 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:03:58 +Total wall time: 0:04:02 diff --git a/examples/QUANTUM/NWChem/log.24Feb23.water.qmmm.plugin.2 b/examples/QUANTUM/NWChem/log.22Mar23.water.qmmm.plugin.2 similarity index 82% rename from examples/QUANTUM/NWChem/log.24Feb23.water.qmmm.plugin.2 rename to examples/QUANTUM/NWChem/log.22Mar23.water.qmmm.plugin.2 index 3f7045076e..3ab99992bb 100644 --- a/examples/QUANTUM/NWChem/log.24Feb23.water.qmmm.plugin.2 +++ b/examples/QUANTUM/NWChem/log.22Mar23.water.qmmm.plugin.2 @@ -1,4 +1,4 @@ -LAMMPS (22 Dec 2022) +LAMMPS (8 Feb 2023) # QMMM with NWChem units real @@ -29,7 +29,7 @@ Finding 1-2 1-3 1-4 neighbors ... 1 = max # of 1-4 neighbors 2 = max # of special neighbors special bonds CPU = 0.000 seconds - read_data CPU = 0.002 seconds + read_data CPU = 0.004 seconds # QM atoms are 1st water # MM atoms are 2nd water @@ -121,31 +121,31 @@ Neighbor list info ... Per MPI rank memory allocation (min/avg/max) = 7.453 | 7.453 | 7.453 Mbytes Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long f_2 PotEng TotEng Press 0 0 300 4.4712151 0.95937448 -170.68507 -169.7257 3.3962859 0 -10627.88 -10794.209 -10789.738 -296.31485 - 1 15.217945 304.678 4.5409362 0.95696149 -170.42798 -169.47102 3.3391714 0 -10628.16 -10794.292 -10789.751 -305.47106 - 2 30.224117 311.2103 4.638294 0.9544861 -170.14543 -169.19094 3.25367 0 -10628.467 -10794.404 -10789.766 -318.76733 - 3 45.240076 319.44288 4.7609928 0.9519482 -169.8732 -168.92125 3.1420353 0 -10628.766 -10794.545 -10789.784 -336.50512 - 4 60.610333 329.18604 4.9062053 0.94934821 -169.61533 -168.66598 3.0070837 0 -10629.053 -10794.712 -10789.806 -358.70105 - 5 76.045449 340.21992 5.0706548 0.94668697 -169.3735 -168.42681 2.8521374 0 -10629.326 -10794.901 -10789.83 -385.34313 - 6 91.439055 352.2987 5.2506775 0.94396585 -169.1486 -168.20464 2.6809583 0 -10629.584 -10795.108 -10789.857 -416.4029 - 7 106.77383 365.15519 5.4422913 0.94118664 -168.94156 -168.00037 2.497673 0 -10629.827 -10795.33 -10789.888 -451.84068 - 8 122.12298 378.50604 5.641273 0.93835162 -168.75364 -167.81529 2.3066899 0 -10630.053 -10795.562 -10789.921 -491.60674 - 9 137.5072 392.05738 5.8432429 0.93546349 -168.58499 -167.64953 2.1126114 0 -10630.263 -10795.8 -10789.956 -535.62626 - 10 152.80585 405.51036 6.0437468 0.9325254 -168.43613 -167.50361 1.9201417 0 -10630.455 -10796.038 -10789.994 -583.81041 -Loop time of 152.806 on 2 procs for 10 steps with 6 atoms + 1 15.528918 304.678 4.5409362 0.95696149 -170.42798 -169.47102 3.3391714 0 -10628.16 -10794.292 -10789.751 -305.47106 + 2 30.82596 311.2103 4.638294 0.9544861 -170.14543 -169.19094 3.25367 0 -10628.467 -10794.404 -10789.766 -318.76733 + 3 46.12067 319.44288 4.7609928 0.9519482 -169.8732 -168.92125 3.1420353 0 -10628.766 -10794.545 -10789.784 -336.50512 + 4 61.426937 329.18604 4.9062053 0.94934821 -169.61533 -168.66598 3.0070837 0 -10629.053 -10794.712 -10789.806 -358.70105 + 5 76.974028 340.21992 5.0706548 0.94668697 -169.3735 -168.42681 2.8521374 0 -10629.326 -10794.901 -10789.83 -385.34313 + 6 92.514159 352.2987 5.2506775 0.94396585 -169.1486 -168.20464 2.6809583 0 -10629.584 -10795.108 -10789.857 -416.4029 + 7 108.02602 365.15519 5.4422913 0.94118664 -168.94156 -168.00037 2.497673 0 -10629.827 -10795.33 -10789.888 -451.84068 + 8 123.53064 378.50604 5.641273 0.93835162 -168.75364 -167.81529 2.3066899 0 -10630.053 -10795.562 -10789.921 -491.60674 + 9 139.03936 392.05738 5.8432429 0.93546349 -168.58499 -167.64953 2.1126114 0 -10630.263 -10795.8 -10789.956 -535.62626 + 10 154.58942 405.51036 6.0437468 0.9325254 -168.43613 -167.50361 1.9201417 0 -10630.455 -10796.038 -10789.994 -583.81041 +Loop time of 154.589 on 2 procs for 10 steps with 6 atoms -Performance: 0.001 ns/day, 42446.073 hours/ns, 0.065 timesteps/s, 0.393 atom-step/s -95.1% CPU use with 2 MPI tasks x no OpenMP threads +Performance: 0.001 ns/day, 42941.510 hours/ns, 0.065 timesteps/s, 0.388 atom-step/s +94.9% CPU use with 2 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 4.9233e-05 | 5.1075e-05 | 5.2917e-05 | 0.0 | 0.00 -Bond | 1.3827e-05 | 2.121e-05 | 2.8592e-05 | 0.0 | 0.00 +Pair | 5.1041e-05 | 5.223e-05 | 5.342e-05 | 0.0 | 0.00 +Bond | 1.5014e-05 | 2.1316e-05 | 2.7617e-05 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 7.811e-05 | 8.3101e-05 | 8.8091e-05 | 0.0 | 0.00 -Output | 0.00017716 | 0.00019425 | 0.00021135 | 0.0 | 0.00 -Modify | 152.81 | 152.81 | 152.81 | 0.0 |100.00 -Other | | 4.045e-05 | | | 0.00 +Comm | 8.387e-05 | 8.7597e-05 | 9.1324e-05 | 0.0 | 0.00 +Output | 0.00018411 | 0.00020226 | 0.0002204 | 0.0 | 0.00 +Modify | 154.59 | 154.59 | 154.59 | 0.0 |100.00 +Other | | 4.372e-05 | | | 0.00 Nlocal: 3 ave 4 max 2 min Histogram: 1 0 0 0 0 0 0 0 0 1 @@ -159,4 +159,4 @@ Ave neighs/atom = 2 Ave special neighs/atom = 1 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:03:32 +Total wall time: 0:03:34 diff --git a/examples/QUANTUM/NWChem/log.24Feb23.zeolite.pwdft.qmmm.mpi.8 b/examples/QUANTUM/NWChem/log.22Mar23.zeolite.pwdft.qmmm.mpi.8 similarity index 89% rename from examples/QUANTUM/NWChem/log.24Feb23.zeolite.pwdft.qmmm.mpi.8 rename to examples/QUANTUM/NWChem/log.22Mar23.zeolite.pwdft.qmmm.mpi.8 index a8306da7b4..f5c44e8726 100644 --- a/examples/QUANTUM/NWChem/log.24Feb23.zeolite.pwdft.qmmm.mpi.8 +++ b/examples/QUANTUM/NWChem/log.22Mar23.zeolite.pwdft.qmmm.mpi.8 @@ -11,7 +11,7 @@ * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:27:06 2023 <<< + >>> job started at Wed Mar 22 13:22:00 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -112,7 +112,7 @@ ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:27:07 2023 <<< + >>> iteration started at Wed Mar 22 13:22:00 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 15 steepest descent iterations performed @@ -125,7 +125,7 @@ 70 -8.004884338953e+00 -3.872844e-07 5.817324e-09 80 -8.004884709510e+00 -5.000125e-10 2.370000e-12 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:27:11 2023 <<< + >>> iteration ended at Wed Mar 22 13:22:07 2023 <<< ============== energy results (Molecule object) ============== @@ -213,25 +213,25 @@ mu = ( -0.0000 0.0000 -0.0000 ) au ----------------- cputime in seconds - prologue : 2.451e-01 - main loop : 4.109e+00 - epilogue : 7.546e-03 - total : 4.362e+00 - cputime/step: 1.062e-02 ( 387 evaluations, 80 linesearches) + prologue : 2.988e-01 + main loop : 6.403e+00 + epilogue : 1.224e-02 + total : 6.714e+00 + cputime/step: 1.654e-02 ( 387 evaluations, 80 linesearches) Time spent doing total step percent - total time 4.374464e+00 1.130352e-02 100.00% - total FFT time 1.931506e+00 4.990970e-03 44.15% - lagrange multipliers 4.511191e-03 1.165682e-05 0.10% - local potentials 1.157610e-04 2.991240e-07 0.00% - non-local potentials 1.392419e-01 3.597982e-04 3.18% - ffm_dgemm 3.299335e-02 8.525414e-05 0.75% - fmf_dgemm 1.698146e-02 4.387973e-05 0.39% - m_diagonalize 9.489770e-04 2.452137e-06 0.02% - mmm_multiply 1.395860e-04 3.606873e-07 0.00% - SCVtrans 3.330280e-04 8.605375e-07 0.01% + total time 6.720210e+00 1.736488e-02 100.00% + total FFT time 3.878963e+00 1.002316e-02 57.72% + lagrange multipliers 6.152792e-03 1.589869e-05 0.09% + local potentials 1.851190e-04 4.783437e-07 0.00% + non-local potentials 1.544448e-01 3.990820e-04 2.30% + ffm_dgemm 4.568343e-02 1.180450e-04 0.68% + fmf_dgemm 3.140507e-02 8.115006e-05 0.47% + m_diagonalize 1.843176e-03 4.762729e-06 0.03% + mmm_multiply 1.517620e-04 3.921499e-07 0.00% + SCVtrans 4.847780e-04 1.252656e-06 0.01% - >>> job completed at Fri Feb 24 15:27:11 2023 <<< + >>> job completed at Wed Mar 22 13:22:07 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -245,7 +245,7 @@ mu = ( -0.0000 0.0000 -0.0000 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:27:11 2023 <<< + >>> job started at Wed Mar 22 13:22:07 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -350,7 +350,7 @@ mu = ( -0.0000 0.0000 -0.0000 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:27:11 2023 <<< + >>> iteration started at Wed Mar 22 13:22:07 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 15 steepest descent iterations performed @@ -358,7 +358,7 @@ mu = ( -0.0000 0.0000 -0.0000 ) au 20 -8.100916832098e+00 -5.390028e-08 8.935025e-10 30 -8.100916942729e+00 -6.377725e-10 2.740636e-12 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:27:18 2023 <<< + >>> iteration ended at Wed Mar 22 13:22:14 2023 <<< ============== energy results (Molecule object) ============== @@ -446,25 +446,25 @@ mu = ( -0.0000 0.0000 0.0000 ) au ----------------- cputime in seconds - prologue : 2.790e-01 - main loop : 6.826e+00 - epilogue : 3.635e-02 - total : 7.141e+00 - cputime/step: 6.320e-02 ( 108 evaluations, 30 linesearches) + prologue : 4.326e-01 + main loop : 6.782e+00 + epilogue : 3.724e-02 + total : 7.252e+00 + cputime/step: 6.280e-02 ( 108 evaluations, 30 linesearches) Time spent doing total step percent - total time 1.153347e+01 1.067914e-01 100.00% - total FFT time 4.965503e+00 4.597688e-02 43.05% - lagrange multipliers 7.390648e-03 6.843193e-05 0.06% - local potentials 8.757480e-04 8.108778e-06 0.01% - non-local potentials 3.060991e-01 2.834251e-03 2.65% - ffm_dgemm 8.191361e-02 7.584594e-04 0.71% - fmf_dgemm 5.746136e-02 5.320496e-04 0.50% - m_diagonalize 1.522323e-03 1.409558e-05 0.01% - mmm_multiply 1.963460e-04 1.818019e-06 0.00% - SCVtrans 4.729490e-04 4.379157e-06 0.00% + total time 1.399813e+01 1.296123e-01 100.00% + total FFT time 8.280919e+00 7.667518e-02 59.16% + lagrange multipliers 1.093935e-02 1.012903e-04 0.08% + local potentials 8.399840e-04 7.777630e-06 0.01% + non-local potentials 3.016410e-01 2.792972e-03 2.15% + ffm_dgemm 9.550159e-02 8.842740e-04 0.68% + fmf_dgemm 5.757758e-02 5.331258e-04 0.41% + m_diagonalize 2.503998e-03 2.318517e-05 0.02% + mmm_multiply 2.029370e-04 1.879046e-06 0.00% + SCVtrans 6.226800e-04 5.765556e-06 0.00% - >>> job completed at Fri Feb 24 15:27:18 2023 <<< + >>> job completed at Wed Mar 22 13:22:14 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -478,7 +478,7 @@ mu = ( -0.0000 0.0000 0.0000 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:27:18 2023 <<< + >>> job started at Wed Mar 22 13:22:14 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -588,7 +588,7 @@ mu = ( -0.0000 0.0000 0.0000 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:27:18 2023 <<< + >>> iteration started at Wed Mar 22 13:22:15 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 15 steepest descent iterations performed @@ -598,7 +598,7 @@ mu = ( -0.0000 0.0000 0.0000 ) au 40 -8.182847052999e+00 -1.416657e-09 8.184430e-12 50 -8.182847053862e+00 -8.627232e-10 2.687794e-12 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:27:33 2023 <<< + >>> iteration ended at Wed Mar 22 13:22:33 2023 <<< ============== energy results (Molecule object) ============== @@ -710,25 +710,25 @@ mu = ( -0.0153 -0.0154 -0.0200 ) au ----------------- cputime in seconds - prologue : 5.439e-01 - main loop : 1.494e+01 - epilogue : 9.720e-02 - total : 1.558e+01 - cputime/step: 1.030e-01 ( 145 evaluations, 41 linesearches) + prologue : 5.609e-01 + main loop : 1.800e+01 + epilogue : 1.055e-01 + total : 1.867e+01 + cputime/step: 1.242e-01 ( 145 evaluations, 41 linesearches) Time spent doing total step percent - total time 2.715432e+01 1.872712e-01 100.00% - total FFT time 8.435628e+00 5.817674e-02 31.07% - lagrange multipliers 1.385636e-02 9.556110e-05 0.05% - local potentials 1.495277e-01 1.031226e-03 0.55% - non-local potentials 6.332409e-01 4.367178e-03 2.33% - ffm_dgemm 1.396381e-01 9.630211e-04 0.51% - fmf_dgemm 1.942377e-01 1.339570e-03 0.72% - m_diagonalize 2.358284e-03 1.626403e-05 0.01% - mmm_multiply 2.838490e-04 1.957579e-06 0.00% - SCVtrans 7.066190e-04 4.873234e-06 0.00% + total time 3.270758e+01 2.255695e-01 100.00% + total FFT time 1.689736e+01 1.165335e-01 51.66% + lagrange multipliers 1.969867e-02 1.358529e-04 0.06% + local potentials 7.676014e-02 5.293803e-04 0.23% + non-local potentials 6.861524e-01 4.732085e-03 2.10% + ffm_dgemm 2.318948e-01 1.599275e-03 0.71% + fmf_dgemm 1.241573e-01 8.562569e-04 0.38% + m_diagonalize 3.465406e-03 2.389935e-05 0.01% + mmm_multiply 2.889440e-04 1.992717e-06 0.00% + SCVtrans 8.250200e-04 5.689793e-06 0.00% - >>> job completed at Fri Feb 24 15:27:33 2023 <<< + >>> job completed at Wed Mar 22 13:22:33 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -742,7 +742,7 @@ mu = ( -0.0153 -0.0154 -0.0200 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:27:33 2023 <<< + >>> job started at Wed Mar 22 13:22:33 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -845,14 +845,14 @@ mu = ( -0.0153 -0.0154 -0.0200 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:27:34 2023 <<< + >>> iteration started at Wed Mar 22 13:22:33 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- 10 -8.182830536518e+00 -2.197608e-07 2.256621e-09 20 -8.182830900682e+00 -4.328632e-09 9.765043e-11 30 -8.182830904722e+00 -8.535181e-10 2.468428e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:27:43 2023 <<< + >>> iteration ended at Wed Mar 22 13:22:42 2023 <<< ============== energy results (Molecule object) ============== @@ -964,25 +964,25 @@ mu = ( -0.0068 -0.0137 -0.0188 ) au ----------------- cputime in seconds - prologue : 4.748e-01 - main loop : 8.894e+00 - epilogue : 1.337e-01 - total : 9.502e+00 - cputime/step: 1.235e-01 ( 72 evaluations, 23 linesearches) + prologue : 4.852e-01 + main loop : 8.737e+00 + epilogue : 7.831e-02 + total : 9.300e+00 + cputime/step: 1.213e-01 ( 72 evaluations, 23 linesearches) Time spent doing total step percent - total time 3.667277e+01 5.093441e-01 100.00% - total FFT time 1.041664e+01 1.446756e-01 28.40% - lagrange multipliers 1.385636e-02 1.924494e-04 0.04% - local potentials 2.487152e-01 3.454378e-03 0.68% - non-local potentials 8.225840e-01 1.142478e-02 2.24% - ffm_dgemm 1.764834e-01 2.451159e-03 0.48% - fmf_dgemm 3.026922e-01 4.204059e-03 0.83% - m_diagonalize 2.869274e-03 3.985103e-05 0.01% - mmm_multiply 3.413670e-04 4.741208e-06 0.00% - SCVtrans 8.394070e-04 1.165843e-05 0.00% + total time 4.202364e+01 5.836616e-01 100.00% + total FFT time 2.092312e+01 2.905989e-01 49.79% + lagrange multipliers 1.969867e-02 2.735926e-04 0.05% + local potentials 1.194018e-01 1.658359e-03 0.28% + non-local potentials 8.690730e-01 1.207046e-02 2.07% + ffm_dgemm 2.978448e-01 4.136734e-03 0.71% + fmf_dgemm 1.627067e-01 2.259815e-03 0.39% + m_diagonalize 4.032853e-03 5.601185e-05 0.01% + mmm_multiply 3.368130e-04 4.677958e-06 0.00% + SCVtrans 9.406600e-04 1.306472e-05 0.00% - >>> job completed at Fri Feb 24 15:27:43 2023 <<< + >>> job completed at Wed Mar 22 13:22:42 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -996,7 +996,7 @@ mu = ( -0.0068 -0.0137 -0.0188 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:27:43 2023 <<< + >>> job started at Wed Mar 22 13:22:42 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -1099,14 +1099,14 @@ mu = ( -0.0068 -0.0137 -0.0188 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:27:43 2023 <<< + >>> iteration started at Wed Mar 22 13:22:43 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- 10 -8.182810981296e+00 -2.215203e-07 2.287391e-09 20 -8.182811349779e+00 -4.397116e-09 9.867630e-11 30 -8.182811353896e+00 -8.712249e-10 2.529314e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:27:52 2023 <<< + >>> iteration ended at Wed Mar 22 13:22:52 2023 <<< ============== energy results (Molecule object) ============== @@ -1218,22 +1218,22 @@ mu = ( 0.0018 -0.0121 -0.0176 ) au ----------------- cputime in seconds - prologue : 4.743e-01 - main loop : 9.021e+00 - epilogue : 9.163e-02 - total : 9.587e+00 - cputime/step: 1.236e-01 ( 73 evaluations, 23 linesearches) + prologue : 4.858e-01 + main loop : 9.108e+00 + epilogue : 9.517e-02 + total : 9.689e+00 + cputime/step: 1.248e-01 ( 73 evaluations, 23 linesearches) Time spent doing total step percent - total time 4.627295e+01 6.338760e-01 100.00% - total FFT time 1.312363e+01 1.797758e-01 28.36% - lagrange multipliers 1.385636e-02 1.898131e-04 0.03% - local potentials 2.924758e-01 4.006517e-03 0.63% - non-local potentials 1.023527e+00 1.402092e-02 2.21% - ffm_dgemm 2.467424e-01 3.380033e-03 0.53% - fmf_dgemm 3.436315e-01 4.707281e-03 0.74% - m_diagonalize 3.309592e-03 4.533688e-05 0.01% - mmm_multiply 3.842540e-04 5.263753e-06 0.00% - SCVtrans 9.530720e-04 1.305578e-05 0.00% + total time 5.174306e+01 7.088090e-01 100.00% + total FFT time 2.516682e+01 3.447510e-01 48.64% + lagrange multipliers 1.969867e-02 2.698448e-04 0.04% + local potentials 1.599026e-01 2.190446e-03 0.31% + non-local potentials 1.062476e+00 1.455447e-02 2.05% + ffm_dgemm 3.694323e-01 5.060717e-03 0.71% + fmf_dgemm 2.000022e-01 2.739756e-03 0.39% + m_diagonalize 4.556421e-03 6.241673e-05 0.01% + mmm_multiply 3.813920e-04 5.224548e-06 0.00% + SCVtrans 1.060802e-03 1.453153e-05 0.00% - >>> job completed at Fri Feb 24 15:27:53 2023 <<< + >>> job completed at Wed Mar 22 13:22:52 2023 <<< diff --git a/examples/QUANTUM/NWChem/log.24Feb23.zeolite.pwdft.qmmm.plugin.8 b/examples/QUANTUM/NWChem/log.22Mar23.zeolite.pwdft.qmmm.plugin.8 similarity index 89% rename from examples/QUANTUM/NWChem/log.24Feb23.zeolite.pwdft.qmmm.plugin.8 rename to examples/QUANTUM/NWChem/log.22Mar23.zeolite.pwdft.qmmm.plugin.8 index e39182b4f5..d7af7a9ff4 100644 --- a/examples/QUANTUM/NWChem/log.24Feb23.zeolite.pwdft.qmmm.plugin.8 +++ b/examples/QUANTUM/NWChem/log.22Mar23.zeolite.pwdft.qmmm.plugin.8 @@ -11,7 +11,7 @@ * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:34:51 2023 <<< + >>> job started at Wed Mar 22 13:29:39 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -111,7 +111,7 @@ ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:34:51 2023 <<< + >>> iteration started at Wed Mar 22 13:29:39 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 15 steepest descent iterations performed @@ -124,7 +124,7 @@ 70 -8.004884338953e+00 -3.872844e-07 5.817324e-09 80 -8.004884709510e+00 -5.000125e-10 2.370000e-12 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:34:55 2023 <<< + >>> iteration ended at Wed Mar 22 13:29:46 2023 <<< ============== energy results (Molecule object) ============== @@ -212,25 +212,25 @@ mu = ( -0.0000 0.0000 -0.0000 ) au ----------------- cputime in seconds - prologue : 1.595e-01 - main loop : 3.787e+00 - epilogue : 9.482e-03 - total : 3.956e+00 - cputime/step: 9.785e-03 ( 387 evaluations, 80 linesearches) + prologue : 1.758e-01 + main loop : 6.764e+00 + epilogue : 1.571e-02 + total : 6.955e+00 + cputime/step: 1.748e-02 ( 387 evaluations, 80 linesearches) Time spent doing total step percent - total time 4.010368e+00 1.036271e-02 100.00% - total FFT time 1.438542e+00 3.717162e-03 35.87% - lagrange multipliers 3.241243e-03 8.375305e-06 0.08% - local potentials 1.960790e-04 5.066641e-07 0.00% - non-local potentials 1.082494e-01 2.797142e-04 2.70% - ffm_dgemm 2.214324e-02 5.721767e-05 0.55% - fmf_dgemm 2.273377e-02 5.874360e-05 0.57% - m_diagonalize 9.632340e-04 2.488977e-06 0.02% - mmm_multiply 1.514320e-04 3.912972e-07 0.00% - SCVtrans 4.638540e-04 1.198589e-06 0.01% + total time 7.012158e+00 1.811927e-02 100.00% + total FFT time 3.804680e+00 9.831214e-03 54.26% + lagrange multipliers 5.167837e-03 1.335358e-05 0.07% + local potentials 2.635560e-04 6.810233e-07 0.00% + non-local potentials 1.484669e-01 3.836354e-04 2.12% + ffm_dgemm 3.174551e-02 8.202974e-05 0.45% + fmf_dgemm 6.780997e-02 1.752196e-04 0.97% + m_diagonalize 1.872389e-03 4.838214e-06 0.03% + mmm_multiply 1.975720e-04 5.105220e-07 0.00% + SCVtrans 6.013160e-04 1.553788e-06 0.01% - >>> job completed at Fri Feb 24 15:34:55 2023 <<< + >>> job completed at Wed Mar 22 13:29:46 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -244,7 +244,7 @@ mu = ( -0.0000 0.0000 -0.0000 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:34:55 2023 <<< + >>> job started at Wed Mar 22 13:29:46 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -349,7 +349,7 @@ mu = ( -0.0000 0.0000 -0.0000 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:34:55 2023 <<< + >>> iteration started at Wed Mar 22 13:29:46 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 15 steepest descent iterations performed @@ -357,7 +357,7 @@ mu = ( -0.0000 0.0000 -0.0000 ) au 20 -8.100916832098e+00 -5.390028e-08 8.935025e-10 30 -8.100916942729e+00 -6.377725e-10 2.740636e-12 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:35:01 2023 <<< + >>> iteration ended at Wed Mar 22 13:29:54 2023 <<< ============== energy results (Molecule object) ============== @@ -445,25 +445,25 @@ mu = ( -0.0000 0.0000 0.0000 ) au ----------------- cputime in seconds - prologue : 2.732e-01 - main loop : 5.622e+00 - epilogue : 3.173e-02 - total : 5.927e+00 - cputime/step: 5.206e-02 ( 108 evaluations, 30 linesearches) + prologue : 4.141e-01 + main loop : 7.141e+00 + epilogue : 5.415e-02 + total : 7.609e+00 + cputime/step: 6.612e-02 ( 108 evaluations, 30 linesearches) Time spent doing total step percent - total time 9.955325e+00 9.217893e-02 100.00% - total FFT time 3.803579e+00 3.521833e-02 38.21% - lagrange multipliers 6.129098e-03 5.675091e-05 0.06% - local potentials 5.926650e-04 5.487639e-06 0.01% - non-local potentials 2.428148e-01 2.248285e-03 2.44% - ffm_dgemm 6.414881e-02 5.939704e-04 0.64% - fmf_dgemm 4.714669e-02 4.365434e-04 0.47% - m_diagonalize 1.474902e-03 1.365650e-05 0.01% - mmm_multiply 2.004250e-04 1.855787e-06 0.00% - SCVtrans 6.219350e-04 5.758657e-06 0.01% + total time 1.462769e+01 1.354415e-01 100.00% + total FFT time 8.054527e+00 7.457895e-02 55.06% + lagrange multipliers 1.094073e-02 1.013031e-04 0.07% + local potentials 1.842256e-03 1.705793e-05 0.01% + non-local potentials 3.042916e-01 2.817515e-03 2.08% + ffm_dgemm 6.520903e-02 6.037873e-04 0.45% + fmf_dgemm 1.620837e-01 1.500775e-03 1.11% + m_diagonalize 2.612238e-03 2.418739e-05 0.02% + mmm_multiply 2.652770e-04 2.456269e-06 0.00% + SCVtrans 7.770950e-04 7.195324e-06 0.01% - >>> job completed at Fri Feb 24 15:35:01 2023 <<< + >>> job completed at Wed Mar 22 13:29:54 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -477,7 +477,7 @@ mu = ( -0.0000 0.0000 0.0000 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:35:01 2023 <<< + >>> job started at Wed Mar 22 13:29:54 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -587,7 +587,7 @@ mu = ( -0.0000 0.0000 0.0000 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:35:01 2023 <<< + >>> iteration started at Wed Mar 22 13:29:54 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- - 15 steepest descent iterations performed @@ -597,7 +597,7 @@ mu = ( -0.0000 0.0000 0.0000 ) au 40 -8.182847052998e+00 -1.414195e-09 8.198303e-12 50 -8.182847053858e+00 -8.599947e-10 2.632630e-12 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:35:19 2023 <<< + >>> iteration ended at Wed Mar 22 13:30:14 2023 <<< ============== energy results (Molecule object) ============== @@ -709,25 +709,25 @@ mu = ( -0.0153 -0.0154 -0.0200 ) au ----------------- cputime in seconds - prologue : 5.228e-01 - main loop : 1.749e+01 - epilogue : 8.364e-02 - total : 1.810e+01 - cputime/step: 1.198e-01 ( 146 evaluations, 41 linesearches) + prologue : 5.277e-01 + main loop : 2.014e+01 + epilogue : 1.113e-01 + total : 2.078e+01 + cputime/step: 1.379e-01 ( 146 evaluations, 41 linesearches) Time spent doing total step percent - total time 2.808223e+01 1.923440e-01 100.00% - total FFT time 9.399366e+00 6.437922e-02 33.47% - lagrange multipliers 1.506629e-02 1.031937e-04 0.05% - local potentials 6.734369e-02 4.612581e-04 0.24% - non-local potentials 6.385224e-01 4.373441e-03 2.27% - ffm_dgemm 2.097046e-01 1.436333e-03 0.75% - fmf_dgemm 1.108857e-01 7.594912e-04 0.39% - m_diagonalize 2.215479e-03 1.517451e-05 0.01% - mmm_multiply 2.865570e-04 1.962719e-06 0.00% - SCVtrans 8.248870e-04 5.649911e-06 0.00% + total time 3.540977e+01 2.425326e-01 100.00% + total FFT time 1.589810e+01 1.088911e-01 44.90% + lagrange multipliers 2.325128e-02 1.592553e-04 0.07% + local potentials 2.356402e-01 1.613974e-03 0.67% + non-local potentials 7.225650e-01 4.949076e-03 2.04% + ffm_dgemm 1.613235e-01 1.104956e-03 0.46% + fmf_dgemm 4.167923e-01 2.854742e-03 1.18% + m_diagonalize 3.687637e-03 2.525779e-05 0.01% + mmm_multiply 3.791810e-04 2.597130e-06 0.00% + SCVtrans 1.029224e-03 7.049479e-06 0.00% - >>> job completed at Fri Feb 24 15:35:19 2023 <<< + >>> job completed at Wed Mar 22 13:30:14 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -741,7 +741,7 @@ mu = ( -0.0153 -0.0154 -0.0200 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:35:19 2023 <<< + >>> job started at Wed Mar 22 13:30:14 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -844,14 +844,14 @@ mu = ( -0.0153 -0.0154 -0.0200 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:35:19 2023 <<< + >>> iteration started at Wed Mar 22 13:30:15 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- 10 -8.182830536518e+00 -2.197736e-07 2.256651e-09 20 -8.182830900676e+00 -4.318915e-09 9.765466e-11 30 -8.182830904722e+00 -8.524523e-10 2.468493e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:35:28 2023 <<< + >>> iteration ended at Wed Mar 22 13:30:24 2023 <<< ============== energy results (Molecule object) ============== @@ -963,25 +963,25 @@ mu = ( -0.0068 -0.0137 -0.0188 ) au ----------------- cputime in seconds - prologue : 4.440e-01 - main loop : 8.313e+00 - epilogue : 8.275e-02 - total : 8.840e+00 - cputime/step: 1.155e-01 ( 72 evaluations, 23 linesearches) + prologue : 4.790e-01 + main loop : 8.877e+00 + epilogue : 1.043e-01 + total : 9.460e+00 + cputime/step: 1.233e-01 ( 72 evaluations, 23 linesearches) Time spent doing total step percent - total time 3.693778e+01 5.130248e-01 100.00% - total FFT time 1.187153e+01 1.648824e-01 32.14% - lagrange multipliers 1.506629e-02 2.092540e-04 0.04% - local potentials 1.061810e-01 1.474735e-03 0.29% - non-local potentials 8.305631e-01 1.153560e-02 2.25% - ffm_dgemm 2.775519e-01 3.854887e-03 0.75% - fmf_dgemm 1.455879e-01 2.022055e-03 0.39% - m_diagonalize 2.586739e-03 3.592693e-05 0.01% - mmm_multiply 3.378180e-04 4.691917e-06 0.00% - SCVtrans 9.386530e-04 1.303685e-05 0.00% + total time 4.489523e+01 6.235449e-01 100.00% + total FFT time 1.937127e+01 2.690455e-01 43.15% + lagrange multipliers 2.325128e-02 3.229344e-04 0.05% + local potentials 3.358577e-01 4.664690e-03 0.75% + non-local potentials 9.084824e-01 1.261781e-02 2.02% + ffm_dgemm 2.030486e-01 2.820120e-03 0.45% + fmf_dgemm 5.348666e-01 7.428703e-03 1.19% + m_diagonalize 4.256079e-03 5.911221e-05 0.01% + mmm_multiply 4.308740e-04 5.984361e-06 0.00% + SCVtrans 1.153347e-03 1.601871e-05 0.00% - >>> job completed at Fri Feb 24 15:35:28 2023 <<< + >>> job completed at Wed Mar 22 13:30:24 2023 <<< ***************************************************** * * * PWDFT PSPW Calculation * @@ -995,7 +995,7 @@ mu = ( -0.0068 -0.0137 -0.0188 ) au * Abhishek Bagusetty, David H. Bross, ... * * * ***************************************************** - >>> job started at Fri Feb 24 15:35:28 2023 <<< + >>> job started at Wed Mar 22 13:30:24 2023 <<< psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps @@ -1098,14 +1098,14 @@ mu = ( -0.0068 -0.0137 -0.0188 ) au ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:35:28 2023 <<< + >>> iteration started at Wed Mar 22 13:30:24 2023 <<< iter. Energy DeltaE DeltaRho ---------------------------------------------------------------- 10 -8.182810981303e+00 -2.215175e-07 2.287391e-09 20 -8.182811349783e+00 -4.390625e-09 9.867638e-11 30 -8.182811353905e+00 -8.746959e-10 2.529312e-11 *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:35:38 2023 <<< + >>> iteration ended at Wed Mar 22 13:30:33 2023 <<< ============== energy results (Molecule object) ============== @@ -1217,22 +1217,22 @@ mu = ( 0.0018 -0.0121 -0.0176 ) au ----------------- cputime in seconds - prologue : 4.353e-01 - main loop : 9.961e+00 - epilogue : 1.226e-01 - total : 1.052e+01 - cputime/step: 1.364e-01 ( 73 evaluations, 23 linesearches) + prologue : 4.447e-01 + main loop : 8.586e+00 + epilogue : 1.234e-01 + total : 9.154e+00 + cputime/step: 1.176e-01 ( 73 evaluations, 23 linesearches) Time spent doing total step percent - total time 4.747262e+01 6.503098e-01 100.00% - total FFT time 1.409904e+01 1.931375e-01 29.70% - lagrange multipliers 1.506629e-02 2.063875e-04 0.03% - local potentials 2.250200e-01 3.082466e-03 0.47% - non-local potentials 1.034927e+00 1.417708e-02 2.18% - ffm_dgemm 3.267232e-01 4.475660e-03 0.69% - fmf_dgemm 2.866943e-01 3.927320e-03 0.60% - m_diagonalize 3.005182e-03 4.116688e-05 0.01% - mmm_multiply 3.852970e-04 5.278041e-06 0.00% - SCVtrans 1.084624e-03 1.485786e-05 0.00% + total time 5.438367e+01 7.449818e-01 100.00% + total FFT time 2.273538e+01 3.114436e-01 41.81% + lagrange multipliers 2.325128e-02 3.185107e-04 0.04% + local potentials 4.297434e-01 5.886895e-03 0.79% + non-local potentials 1.094960e+00 1.499946e-02 2.01% + ffm_dgemm 2.412862e-01 3.305291e-03 0.44% + fmf_dgemm 6.432003e-01 8.810963e-03 1.18% + m_diagonalize 4.840937e-03 6.631421e-05 0.01% + mmm_multiply 4.780550e-04 6.548699e-06 0.00% + SCVtrans 1.267429e-03 1.736204e-05 0.00% - >>> job completed at Fri Feb 24 15:35:38 2023 <<< + >>> job completed at Wed Mar 22 13:30:33 2023 <<< diff --git a/examples/QUANTUM/NWChem/log.24Feb23.zeolite.qmmm.mpi.1 b/examples/QUANTUM/NWChem/log.22Mar23.zeolite.qmmm.mpi.1 similarity index 87% rename from examples/QUANTUM/NWChem/log.24Feb23.zeolite.qmmm.mpi.1 rename to examples/QUANTUM/NWChem/log.22Mar23.zeolite.qmmm.mpi.1 index cbb18d73a4..3ac0d0ff64 100644 --- a/examples/QUANTUM/NWChem/log.24Feb23.zeolite.qmmm.mpi.1 +++ b/examples/QUANTUM/NWChem/log.22Mar23.zeolite.qmmm.mpi.1 @@ -1,4 +1,4 @@ -LAMMPS (22 Dec 2022) +LAMMPS (8 Feb 2023) # QMMM for SiO2 zeolite with one methane molecule units metal @@ -29,7 +29,7 @@ Finding 1-2 1-3 1-4 neighbors ... 3 = max # of 1-4 neighbors 4 = max # of special neighbors special bonds CPU = 0.000 seconds - read_data CPU = 0.011 seconds + read_data CPU = 0.004 seconds # MM atoms are Si,O # QM atoms are C,H @@ -133,23 +133,23 @@ Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule Per MPI rank memory allocation (min/avg/max) = 9.773 | 9.773 | 9.773 Mbytes Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long f_2 PotEng TotEng Press 0 0 300 2.9471313 -106.25003 -1065.0366 -1171.2866 0 0 -198.982 -1370.2686 -1367.3215 -636.5915 - 1 9.5176351 299.91213 2.9462681 -106.24961 -1065.1058 -1171.3554 0 0 -198.9099 -1370.2653 -1367.3191 -659.4799 - 2 19.118171 299.81516 2.9453155 -106.24919 -1065.1818 -1171.431 0 0 -198.83143 -1370.2624 -1367.3171 -684.54277 -Loop time of 19.1182 on 1 procs for 2 steps with 77 atoms + 1 9.3150131 299.91213 2.9462681 -106.24961 -1065.1058 -1171.3554 0 0 -198.9099 -1370.2653 -1367.3191 -659.4799 + 2 19.034541 299.81516 2.9453155 -106.24919 -1065.1818 -1171.431 0 0 -198.83143 -1370.2624 -1367.3171 -684.54277 +Loop time of 19.0346 on 1 procs for 2 steps with 77 atoms -Performance: 0.001 ns/day, 26553.057 hours/ns, 0.105 timesteps/s, 8.055 atom-step/s +Performance: 0.001 ns/day, 26436.900 hours/ns, 0.105 timesteps/s, 8.091 atom-step/s 100.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.00039501 | 0.00039501 | 0.00039501 | 0.0 | 0.00 -Bond | 3.707e-06 | 3.707e-06 | 3.707e-06 | 0.0 | 0.00 +Pair | 0.00047343 | 0.00047343 | 0.00047343 | 0.0 | 0.00 +Bond | 3.757e-06 | 3.757e-06 | 3.757e-06 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 1.4217e-05 | 1.4217e-05 | 1.4217e-05 | 0.0 | 0.00 -Output | 7.0836e-05 | 7.0836e-05 | 7.0836e-05 | 0.0 | 0.00 -Modify | 19.118 | 19.118 | 19.118 | 0.0 |100.00 -Other | | 1.073e-05 | | | 0.00 +Comm | 1.6917e-05 | 1.6917e-05 | 1.6917e-05 | 0.0 | 0.00 +Output | 6.2975e-05 | 6.2975e-05 | 6.2975e-05 | 0.0 | 0.00 +Modify | 19.034 | 19.034 | 19.034 | 0.0 |100.00 +Other | | 1.37e-05 | | | 0.00 Nlocal: 77 ave 77 max 77 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -163,4 +163,4 @@ Ave neighs/atom = 40.857143 Ave special neighs/atom = 0 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:00:46 +Total wall time: 0:00:51 diff --git a/examples/QUANTUM/NWChem/log.24Feb23.zeolite.qmmm.plugin.8 b/examples/QUANTUM/NWChem/log.22Mar23.zeolite.qmmm.plugin.8 similarity index 88% rename from examples/QUANTUM/NWChem/log.24Feb23.zeolite.qmmm.plugin.8 rename to examples/QUANTUM/NWChem/log.22Mar23.zeolite.qmmm.plugin.8 index e8934eda24..45404344b6 100644 --- a/examples/QUANTUM/NWChem/log.24Feb23.zeolite.qmmm.plugin.8 +++ b/examples/QUANTUM/NWChem/log.22Mar23.zeolite.qmmm.plugin.8 @@ -1,4 +1,4 @@ -LAMMPS (22 Dec 2022) +LAMMPS (8 Feb 2023) # QMMM for SiO2 zeolite with one methane molecule units metal @@ -136,23 +136,23 @@ Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule Per MPI rank memory allocation (min/avg/max) = 9.612 | 9.612 | 9.612 Mbytes Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long f_2 PotEng TotEng Press 0 0 300 2.9471313 -106.25003 -1065.0366 -1171.2866 0 0 -198.982 -1370.2686 -1367.3215 -636.59012 - 1 8.8530796 299.91213 2.9462681 -106.24961 -1065.1058 -1171.3554 0 0 -198.9099 -1370.2653 -1367.3191 -659.4798 - 2 19.38784 299.81516 2.9453155 -106.24919 -1065.1818 -1171.431 0 0 -198.83143 -1370.2624 -1367.3171 -684.54277 -Loop time of 19.3879 on 8 procs for 2 steps with 77 atoms + 1 9.4846618 299.91213 2.9462681 -106.24961 -1065.1058 -1171.3554 0 0 -198.9099 -1370.2653 -1367.3191 -659.4798 + 2 18.971154 299.81516 2.9453155 -106.24919 -1065.1818 -1171.431 0 0 -198.83143 -1370.2624 -1367.3171 -684.54277 +Loop time of 18.9712 on 8 procs for 2 steps with 77 atoms -Performance: 0.001 ns/day, 26927.617 hours/ns, 0.103 timesteps/s, 7.943 atom-step/s +Performance: 0.001 ns/day, 26348.886 hours/ns, 0.105 timesteps/s, 8.118 atom-step/s 97.2% CPU use with 8 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 4.0782e-05 | 7.3511e-05 | 0.00014727 | 0.0 | 0.00 -Bond | 2.187e-06 | 2.916e-06 | 3.961e-06 | 0.0 | 0.00 +Pair | 3.8009e-05 | 7.1162e-05 | 0.00014671 | 0.0 | 0.00 +Bond | 2.484e-06 | 2.9337e-06 | 3.884e-06 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 7.767e-05 | 0.00015066 | 0.000182 | 0.0 | 0.00 -Output | 8.065e-05 | 8.458e-05 | 0.00010015 | 0.0 | 0.00 -Modify | 19.388 | 19.388 | 19.388 | 0.0 |100.00 -Other | | 4.056e-05 | | | 0.00 +Comm | 7.6395e-05 | 0.00015395 | 0.00018947 | 0.0 | 0.00 +Output | 8.145e-05 | 8.6522e-05 | 0.00010329 | 0.0 | 0.00 +Modify | 18.971 | 18.971 | 18.971 | 0.0 |100.00 +Other | | 4.276e-05 | | | 0.00 Nlocal: 9.625 ave 20 max 3 min Histogram: 1 2 1 0 1 2 0 0 0 1 @@ -166,4 +166,4 @@ Ave neighs/atom = 40.857143 Ave special neighs/atom = 0 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:00:47 +Total wall time: 0:00:54 diff --git a/examples/QUANTUM/NWChem/log.24Feb23.series.pwdft.mpi.1 b/examples/QUANTUM/NWChem/log.24Feb23.series.pwdft.mpi.1 deleted file mode 100644 index 3d6de3c0dd..0000000000 --- a/examples/QUANTUM/NWChem/log.24Feb23.series.pwdft.mpi.1 +++ /dev/null @@ -1,4116 +0,0 @@ - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Fri Feb 24 15:17:08 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - generating 1d pseudopotential file: ./W.psp - - writing formatted psp filename: ./W.vpp - generating random psi from scratch - Warning - Gram-Schmidt being performed on psi2 - - exact norm = 12 norm=12.2903 corrected norm=12 (error=0.290271) - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 1 - processor grid : 1 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: W valence charge = 6.0 lmax =2 - comment = Troullier-Martins pseudopotential - pseudopotential type = 0 - highest angular component = 2 - local potential used = 0 - number of non-local projections = 8 - semicore corrections inlcuded = 1.800 (radius) 4.532 (charge) - cutoff = 2.389 3.185 2.244 - - total charge = 0.000 - - atom composition: - W : 2 - - initial ion positions (au): - 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 - 2 W ( 2.99088 2.99088 2.99088 ) - atomic mass = 183.951 - G.C. ( 1.49544 1.49544 1.49544 ) - C.O.M. ( 1.49544 1.49544 1.49544 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 6 ( 6 per task) down = 6 ( 6 per task) - - supercell: - volume = 214.04 - lattice: a1 = < 5.982 0.000 0.000 > - a2 = < 0.000 5.982 0.000 > - a3 = < 0.000 0.000 5.982 > - reciprocal: b1 = < 1.050 0.000 0.000 > - b2 = < 0.000 1.050 0.000 > - b3 = < 0.000 0.000 1.050 > - lattice: a = 5.982 b = 5.982 c = 5.982 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 10.000 fft = 10 x 10 x 10 ( 171 waves 171 per task) - wavefnc cutoff = 5.000 fft = 10 x 10 x 10 ( 62 waves 62 per task) - - Ewald parameters: - energy cutoff = 10.000 fft = 10 x 10 x 10 ( 171 waves 171 per task) - Ewald summation: cut radius = 3.000 and 8 - Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 3.71078182) - - technical parameters: - fixed step: time step = 0.10 ficticious mass = 400000.00 - tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:17:09 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - - 15 steepest descent iterations performed - 10 -1.674215046115e+01 -8.251196e-02 9.196301e-04 - 20 -1.749771236403e+01 -1.002147e-01 1.472766e-03 - 30 -1.823150320727e+01 -3.534576e-02 3.524284e-04 - 40 -1.846047982908e+01 -2.204551e-02 2.446432e-04 - 50 -1.868365376681e+01 -1.854154e-02 2.029002e-04 - 60 -1.881117950998e+01 -4.287319e-04 1.464725e-05 - 70 -1.881133499557e+01 -6.036766e-08 1.955112e-09 - *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:17:09 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 6.00000 down= 6.00000 (real space) - - - total energy : -1.8811334996e+01 ( -9.40567e+00 /ion) - total orbital energy: 6.3205159164e+00 ( 1.05342e+00 /electron) - hartree energy : 1.5018043194e-01 ( 2.50301e-02 /electron) - exc-corr energy : -9.2446725740e+00 ( -1.54078e+00 /electron) - ion-ion energy : -2.1902017722e+01 ( -1.09510e+01 /ion) - - kinetic (planewave) : 1.2028654702e+01 ( 2.00478e+00 /electron) - V_local (planewave) : 9.8433605672e+00 ( 1.64056e+00 /electron) - V_nl (planewave) : -9.6868404003e+00 ( -1.61447e+00 /electron) - V_Coul (planewave) : 3.0036086388e-01 ( 5.00601e-02 /electron) - V_xc (planewave) : -6.1650198159e+00 ( -1.02750e+00 /electron) - Viral Coefficient : -4.7454506982e-01 - - orbital energy: - 6.7570236e-01 ( 18.387eV) - 6.7570093e-01 ( 18.387eV) - 6.7569918e-01 ( 18.387eV) - 4.5449701e-01 ( 12.368eV) - 4.5449681e-01 ( 12.368eV) - 2.2416167e-01 ( 6.100eV) - -== Center of Charge == - -spin up = ( 0.0000 -0.0000 0.0000 ) -spin down = ( 0.0000 -0.0000 0.0000 ) - total = ( 0.0000 -0.0000 0.0000 ) -ionic = ( 1.4954 1.4954 1.4954 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( 17.9450 17.9453 17.9452 ) au -|mu| = 31.0820 au ( 78.9979 Debye ) - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 4.221e-01 - main loop : 1.112e-01 - epilogue : 1.810e-04 - total : 5.335e-01 - cputime/step: 3.958e-04 ( 281 evaluations, 69 linesearches) - - Time spent doing total step percent - total time 5.354079e-01 1.905366e-03 100.00% - total FFT time 2.252566e-02 8.016248e-05 4.21% - lagrange multipliers 2.499160e-04 8.893808e-07 0.05% - local potentials 3.723000e-06 1.324911e-08 0.00% - non-local potentials 1.662679e-03 5.917007e-06 0.31% - ffm_dgemm 5.448580e-04 1.938996e-06 0.10% - fmf_dgemm 7.621260e-04 2.712192e-06 0.14% - m_diagonalize 2.418520e-04 8.606833e-07 0.05% - mmm_multiply 4.825200e-05 1.717153e-07 0.01% - SCVtrans 5.023800e-05 1.787829e-07 0.01% - - >>> job completed at Fri Feb 24 15:17:09 2023 <<< - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Fri Feb 24 15:17:09 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - writing formatted psp filename: ./W.vpp - psi grids are being converted: - -----------------------------: - converting .... psi:1 spin:1 - converting .... psi:2 spin:1 - converting .... psi:3 spin:1 - converting .... psi:4 spin:1 - converting .... psi:5 spin:1 - converting .... psi:6 spin:1 - - input psi exists, reading from file: ./nwchemex.movecs - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 1 - processor grid : 1 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: W valence charge = 6.0 lmax =2 - comment = Troullier-Martins pseudopotential - pseudopotential type = 0 - highest angular component = 2 - local potential used = 0 - number of non-local projections = 8 - semicore corrections inlcuded = 1.800 (radius) 4.536 (charge) - cutoff = 2.389 3.185 2.244 - - total charge = 0.000 - - atom composition: - W : 2 - - initial ion positions (au): - 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 - 2 W ( 2.99088 2.99088 2.99088 ) - atomic mass = 183.951 - G.C. ( 1.49544 1.49544 1.49544 ) - C.O.M. ( 1.49544 1.49544 1.49544 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 6 ( 6 per task) down = 6 ( 6 per task) - - supercell: - volume = 214.04 - lattice: a1 = < 5.982 0.000 0.000 > - a2 = < 0.000 5.982 0.000 > - a3 = < 0.000 0.000 5.982 > - reciprocal: b1 = < 1.050 0.000 0.000 > - b2 = < 0.000 1.050 0.000 > - b3 = < 0.000 0.000 1.050 > - lattice: a = 5.982 b = 5.982 c = 5.982 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 20.000 fft = 14 x 14 x 14 ( 463 waves 463 per task) - wavefnc cutoff = 10.000 fft = 14 x 14 x 14 ( 171 waves 171 per task) - - Ewald parameters: - energy cutoff = 20.000 fft = 14 x 14 x 14 ( 463 waves 463 per task) - Ewald summation: cut radius = 3.000 and 8 - Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 3.71078182) - - technical parameters: - fixed step: time step = 0.10 ficticious mass = 400000.00 - tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:17:09 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - - 15 steepest descent iterations performed - 10 -2.015461227870e+01 -1.152391e-06 1.541098e-08 - 20 -2.015461250697e+01 -6.884596e-08 1.359336e-09 - *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:17:09 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 6.00000 down= 6.00000 (real space) - - - total energy : -2.0154612507e+01 ( -1.00773e+01 /ion) - total orbital energy: 5.1934744194e+00 ( 8.65579e-01 /electron) - hartree energy : 2.9548501467e-01 ( 4.92475e-02 /electron) - exc-corr energy : -9.4995084169e+00 ( -1.58325e+00 /electron) - ion-ion energy : -2.1902017722e+01 ( -1.09510e+01 /ion) - - kinetic (planewave) : 1.4375731298e+01 ( 2.39596e+00 /electron) - V_local (planewave) : 1.1537789121e+01 ( 1.92296e+00 /electron) - V_nl (planewave) : -1.4962091802e+01 ( -2.49368e+00 /electron) - V_Coul (planewave) : 5.9097002933e-01 ( 9.84950e-02 /electron) - V_xc (planewave) : -6.3489242272e+00 ( -1.05815e+00 /electron) - Viral Coefficient : -6.3873320169e-01 - - orbital energy: - 5.4868319e-01 ( 14.931eV) - 5.4868125e-01 ( 14.930eV) - 5.4867927e-01 ( 14.930eV) - 3.7006985e-01 ( 10.070eV) - 3.7006983e-01 ( 10.070eV) - 2.1055382e-01 ( 5.730eV) - -== Center of Charge == - -spin up = ( 0.0000 -0.0000 0.0000 ) -spin down = ( 0.0000 -0.0000 0.0000 ) - total = ( 0.0000 -0.0000 0.0000 ) -ionic = ( 1.4954 1.4954 1.4954 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( 17.9452 17.9453 17.9453 ) au -|mu| = 31.0821 au ( 78.9982 Debye ) - - - Ion Forces (au): - 1 W ( 0.00000 -0.00000 0.00000 ) - 2 W ( 0.00000 -0.00000 0.00000 ) - - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 3.517e-02 - main loop : 6.438e-02 - epilogue : 7.300e-04 - total : 1.003e-01 - cputime/step: 1.215e-03 ( 53 evaluations, 12 linesearches) - - Time spent doing total step percent - total time 6.359576e-01 1.199920e-02 100.00% - total FFT time 4.368675e-02 8.242784e-04 6.87% - lagrange multipliers 3.567910e-04 6.731906e-06 0.06% - local potentials 1.288300e-05 2.430755e-07 0.00% - non-local potentials 2.660545e-03 5.019896e-05 0.42% - ffm_dgemm 7.837750e-04 1.478821e-05 0.12% - fmf_dgemm 1.127194e-03 2.126781e-05 0.18% - m_diagonalize 3.013810e-04 5.686434e-06 0.05% - mmm_multiply 5.726400e-05 1.080453e-06 0.01% - SCVtrans 5.970600e-05 1.126528e-06 0.01% - - >>> job completed at Fri Feb 24 15:17:09 2023 <<< - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Fri Feb 24 15:17:09 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - writing formatted psp filename: ./W.vpp - generating random psi from scratch - Warning - Gram-Schmidt being performed on psi2 - - exact norm = 24 norm=24.6349 corrected norm=24 (error=0.634911) - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 1 - processor grid : 1 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: W valence charge = 6.0 lmax =2 - comment = Troullier-Martins pseudopotential - pseudopotential type = 0 - highest angular component = 2 - local potential used = 0 - number of non-local projections = 8 - semicore corrections inlcuded = 1.800 (radius) 4.591 (charge) - cutoff = 2.389 3.185 2.244 - - total charge = 0.000 - - atom composition: - W : 4 - - initial ion positions (au): - 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 - 2 W ( 2.66457 0.00000 1.88413 ) - atomic mass = 183.951 - 3 W ( 2.66457 2.66457 3.76827 ) - atomic mass = 183.951 - 4 W ( 0.00000 2.66457 5.65240 ) - atomic mass = 183.951 - G.C. ( 1.33228 1.33228 2.82620 ) - C.O.M. ( 1.33228 1.33228 2.82620 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 12 ( 12 per task) down = 12 ( 12 per task) - - supercell: - volume = 214.04 - lattice: a1 = < 5.329 0.000 0.000 > - a2 = < 0.000 5.329 0.000 > - a3 = < 0.000 0.000 7.537 > - reciprocal: b1 = < 1.179 0.000 0.000 > - b2 = < 0.000 1.179 0.000 > - b3 = < 0.000 0.000 0.834 > - lattice: a = 5.329 b = 5.329 c = 7.537 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 10.000 fft = 10 x 10 x 12 ( 160 waves 160 per task) - wavefnc cutoff = 5.000 fft = 10 x 10 x 12 ( 62 waves 62 per task) - - Ewald parameters: - energy cutoff = 10.000 fft = 10 x 10 x 12 ( 160 waves 160 per task) - Ewald summation: cut radius = 3.000 and 8 - Mandelung Wigner-Seitz = 1.68382487 (alpha = 2.71431215 rs = 3.71078182) - - technical parameters: - fixed step: time step = 0.10 ficticious mass = 400000.00 - tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:17:09 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - - 15 steepest descent iterations performed - 10 -6.055830132329e+00 -3.950403e-02 1.828100e-06 - 20 -6.385809714715e+00 -3.894785e-02 1.758309e-06 - 30 -6.711168070530e+00 -3.840461e-02 1.691928e-06 - 40 -7.032007984384e+00 -3.787299e-02 1.628803e-06 - 50 -7.348421375629e+00 -3.735174e-02 1.568781e-06 - 60 -7.660489824954e+00 -3.683964e-02 1.511713e-06 - 70 -7.968285124894e+00 -3.633557e-02 1.457453e-06 - 80 -8.271869852255e+00 -3.583846e-02 1.405859e-06 - 90 -8.571297960274e+00 -3.534732e-02 1.356792e-06 - 100 -8.866615388055e+00 -3.486124e-02 1.310118e-06 - 110 -9.157860684583e+00 -3.437936e-02 1.265708e-06 - 120 -9.445065644289e+00 -3.390092e-02 1.223435e-06 - 130 -9.728255950944e+00 -3.342523e-02 1.183180e-06 - 140 -1.000745182635e+01 -3.295167e-02 1.144828e-06 - 150 -1.028266868013e+01 -3.247971e-02 1.108268e-06 - 160 -1.055391775670e+01 -3.200889e-02 1.073396e-06 - 170 -1.082120677550e+01 -3.153881e-02 1.040111e-06 - 180 -1.108454056030e+01 -3.106918e-02 1.008319e-06 - 190 -1.134392165365e+01 -3.059975e-02 9.779312e-07 - 200 -1.159935091250e+01 -3.013035e-02 9.488616e-07 - 210 -1.185082808097e+01 -2.966088e-02 9.210311e-07 - 220 -2.307658315652e+01 -2.660051e+00 3.534559e-02 - 230 -3.129825644760e+01 -8.384921e-02 8.831546e-04 - 240 -3.157478329913e+01 -8.501628e-03 7.365980e-05 - 250 -3.162757137408e+01 -3.007578e-03 8.118567e-04 - 260 -3.166852145652e+01 -6.760182e-03 2.472568e-03 - 270 -3.176521423332e+01 -6.489845e-03 3.635301e-04 - 280 -3.179220352327e+01 -2.631131e-05 6.062148e-07 - 290 -3.179228652997e+01 -8.831259e-07 3.208422e-08 - 300 -3.179228729957e+01 -5.132388e-08 1.166168e-09 - *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:17:11 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 12.00000 down= 12.00000 (real space) - - - total energy : -3.1792287300e+01 ( -7.94807e+00 /ion) - total orbital energy: 2.6841552423e+01 ( 2.23680e+00 /electron) - hartree energy : 8.0875740830e-01 ( 6.73965e-02 /electron) - exc-corr energy : -2.2041168198e+01 ( -1.83676e+00 /electron) - ion-ion energy : -5.1462581522e+01 ( -1.28656e+01 /ion) - - kinetic (planewave) : 3.6677604642e+01 ( 3.05647e+00 /electron) - V_local (planewave) : 3.8319838624e+01 ( 3.19332e+00 /electron) - V_nl (planewave) : -3.4094738254e+01 ( -2.84123e+00 /electron) - V_Coul (planewave) : 1.6175148166e+00 ( 1.34793e-01 /electron) - V_xc (planewave) : -1.5678667407e+01 ( -1.30656e+00 /electron) - Viral Coefficient : -2.6817597046e-01 - - orbital energy: - 1.4446153e+00 ( 39.310eV) - 1.4446141e+00 ( 39.310eV) - 1.2075227e+00 ( 32.859eV) - 1.2075208e+00 ( 32.859eV) - 1.2040031e+00 ( 32.763eV) - 1.1965068e+00 ( 32.559eV) - 1.1964933e+00 ( 32.558eV) - 1.0077700e+00 ( 27.423eV) - 9.8716725e-01 ( 26.862eV) - 8.7232872e-01 ( 23.737eV) - 8.7232366e-01 ( 23.737eV) - 7.7991047e-01 ( 21.223eV) - -== Center of Charge == - -spin up = ( -0.0000 0.0000 0.0000 ) -spin down = ( -0.0000 0.0000 0.0000 ) - total = ( -0.0000 0.0000 0.0000 ) -ionic = ( 1.3323 1.3323 2.8262 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( 31.9749 31.9747 67.8288 ) au -|mu| = 81.5200 au ( 207.1913 Debye ) - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 3.353e-02 - main loop : 1.843e+00 - epilogue : 2.252e-03 - total : 1.879e+00 - cputime/step: 1.145e-03 ( 1609 evaluations, 294 linesearches) - - Time spent doing total step percent - total time 2.516344e+00 1.563918e-03 100.00% - total FFT time 2.118846e-01 1.316872e-04 8.42% - lagrange multipliers 4.042236e-03 2.512266e-06 0.16% - local potentials 1.690100e-05 1.050404e-08 0.00% - non-local potentials 3.378008e-02 2.099445e-05 1.34% - ffm_dgemm 1.149993e-02 7.147251e-06 0.46% - fmf_dgemm 1.886915e-02 1.172726e-05 0.75% - m_diagonalize 4.742182e-03 2.947285e-06 0.19% - mmm_multiply 1.167435e-03 7.255656e-07 0.05% - SCVtrans 7.065190e-04 4.391044e-07 0.03% - - >>> job completed at Fri Feb 24 15:17:11 2023 <<< - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Fri Feb 24 15:17:11 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - writing formatted psp filename: ./W.vpp - psi grids are being converted: - -----------------------------: - converting .... psi:1 spin:1 - converting .... psi:2 spin:1 - converting .... psi:3 spin:1 - converting .... psi:4 spin:1 - converting .... psi:5 spin:1 - converting .... psi:6 spin:1 - converting .... psi:7 spin:1 - converting .... psi:8 spin:1 - converting .... psi:9 spin:1 - converting .... psi:10 spin:1 - converting .... psi:11 spin:1 - converting .... psi:12 spin:1 - - input psi exists, reading from file: ./nwchemex.movecs - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 1 - processor grid : 1 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: W valence charge = 6.0 lmax =2 - comment = Troullier-Martins pseudopotential - pseudopotential type = 0 - highest angular component = 2 - local potential used = 0 - number of non-local projections = 8 - semicore corrections inlcuded = 1.800 (radius) 4.595 (charge) - cutoff = 2.389 3.185 2.244 - - total charge = 0.000 - - atom composition: - W : 4 - - initial ion positions (au): - 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 - 2 W ( 2.66457 0.00000 1.88413 ) - atomic mass = 183.951 - 3 W ( 2.66457 2.66457 3.76827 ) - atomic mass = 183.951 - 4 W ( 0.00000 2.66457 5.65240 ) - atomic mass = 183.951 - G.C. ( 1.33228 1.33228 2.82620 ) - C.O.M. ( 1.33228 1.33228 2.82620 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 12 ( 12 per task) down = 12 ( 12 per task) - - supercell: - volume = 214.04 - lattice: a1 = < 5.329 0.000 0.000 > - a2 = < 0.000 5.329 0.000 > - a3 = < 0.000 0.000 7.537 > - reciprocal: b1 = < 1.179 0.000 0.000 > - b2 = < 0.000 1.179 0.000 > - b3 = < 0.000 0.000 0.834 > - lattice: a = 5.329 b = 5.329 c = 7.537 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 20.000 fft = 12 x 12 x 16 ( 460 waves 460 per task) - wavefnc cutoff = 10.000 fft = 12 x 12 x 16 ( 160 waves 160 per task) - - Ewald parameters: - energy cutoff = 20.000 fft = 12 x 12 x 16 ( 460 waves 460 per task) - Ewald summation: cut radius = 3.000 and 8 - Mandelung Wigner-Seitz = 1.68382487 (alpha = 2.71431215 rs = 3.71078182) - - technical parameters: - fixed step: time step = 0.10 ficticious mass = 400000.00 - tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:17:11 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - - 15 steepest descent iterations performed - 10 -3.617033061710e+01 -3.447767e-05 2.051315e-07 - 20 -3.617035193509e+01 -9.144932e-08 2.233123e-09 - *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:17:11 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 12.00000 down= 12.00000 (real space) - - - total energy : -3.6170351935e+01 ( -9.04259e+00 /ion) - total orbital energy: 2.3048851372e+01 ( 1.92074e+00 /electron) - hartree energy : 1.2466960309e+00 ( 1.03891e-01 /electron) - exc-corr energy : -2.2474177760e+01 ( -1.87285e+00 /electron) - ion-ion energy : -5.1462581522e+01 ( -1.28656e+01 /ion) - - kinetic (planewave) : 4.2172537419e+01 ( 3.51438e+00 /electron) - V_local (planewave) : 4.2389901334e+01 ( 3.53249e+00 /electron) - V_nl (planewave) : -4.8042727436e+01 ( -4.00356e+00 /electron) - V_Coul (planewave) : 2.4933920618e+00 ( 2.07783e-01 /electron) - V_xc (planewave) : -1.5964252007e+01 ( -1.33035e+00 /electron) - Viral Coefficient : -4.5346301687e-01 - - orbital energy: - 1.2694201e+00 ( 34.543eV) - 1.2694200e+00 ( 34.543eV) - 1.0542936e+00 ( 28.689eV) - 1.0542930e+00 ( 28.689eV) - 1.0521347e+00 ( 28.630eV) - 1.0163764e+00 ( 27.657eV) - 1.0163729e+00 ( 27.657eV) - 8.0982926e-01 ( 22.037eV) - 7.9408393e-01 ( 21.608eV) - 7.3283710e-01 ( 19.942eV) - 7.2768246e-01 ( 19.801eV) - 7.2768240e-01 ( 19.801eV) - -== Center of Charge == - -spin up = ( -0.0000 0.0000 -0.0000 ) -spin down = ( -0.0000 0.0000 -0.0000 ) - total = ( -0.0000 0.0000 -0.0000 ) -ionic = ( 1.3323 1.3323 2.8262 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( 31.9748 31.9748 67.8288 ) au -|mu| = 81.5201 au ( 207.1914 Debye ) - - - Ion Forces (au): - 1 W ( -0.00006 0.00001 0.00000 ) - 2 W ( -0.00006 0.00001 -0.00000 ) - 3 W ( 0.00005 -0.00001 0.00000 ) - 4 W ( 0.00006 -0.00001 -0.00000 ) - - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 2.092e-01 - main loop : 1.621e-01 - epilogue : 2.184e-03 - total : 3.735e-01 - cputime/step: 2.457e-03 ( 66 evaluations, 16 linesearches) - - Time spent doing total step percent - total time 2.891602e+00 4.381216e-02 100.00% - total FFT time 2.323204e-01 3.520005e-03 8.03% - lagrange multipliers 4.868200e-03 7.376061e-05 0.17% - local potentials 4.891700e-05 7.411667e-07 0.00% - non-local potentials 3.949778e-02 5.984511e-04 1.37% - ffm_dgemm 1.337231e-02 2.026108e-04 0.46% - fmf_dgemm 2.186952e-02 3.313564e-04 0.76% - m_diagonalize 5.134010e-03 7.778803e-05 0.18% - mmm_multiply 1.244951e-03 1.886289e-05 0.04% - SCVtrans 7.485450e-04 1.134159e-05 0.03% - - >>> job completed at Fri Feb 24 15:17:11 2023 <<< - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Fri Feb 24 15:17:11 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - writing formatted psp filename: ./W.vpp - generating random psi from scratch - Warning - Gram-Schmidt being performed on psi2 - - exact norm = 108 norm=113.313 corrected norm=108 (error=5.31316) - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 1 - processor grid : 1 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: W valence charge = 6.0 lmax =2 - comment = Troullier-Martins pseudopotential - pseudopotential type = 0 - highest angular component = 2 - local potential used = 0 - number of non-local projections = 8 - semicore corrections inlcuded = 1.800 (radius) 4.473 (charge) - cutoff = 2.389 3.185 2.244 - - total charge = 0.000 - - atom composition: - W : 18 - - initial ion positions (au): - 1 W ( 0.00000 0.00000 28.34589 ) - atomic mass = 183.951 - 2 W ( 12.68921 2.44204 30.07267 ) - atomic mass = 183.951 - 3 W ( 8.45947 4.88408 31.79946 ) - atomic mass = 183.951 - 4 W ( 21.14868 7.32612 33.52624 ) - atomic mass = 183.951 - 5 W ( 12.68921 2.44204 35.25302 ) - atomic mass = 183.951 - 6 W ( 8.45947 4.88408 36.97980 ) - atomic mass = 183.951 - 7 W ( 4.22974 7.32612 38.70659 ) - atomic mass = 183.951 - 8 W ( 12.68921 2.44204 40.43337 ) - atomic mass = 183.951 - 9 W ( 8.45947 4.88408 42.16015 ) - atomic mass = 183.951 - 10 W ( 4.22974 7.32612 43.88693 ) - atomic mass = 183.951 - 11 W ( 12.68921 2.44204 45.61372 ) - atomic mass = 183.951 - 12 W ( 8.45947 4.88408 47.34050 ) - atomic mass = 183.951 - 13 W ( 4.22974 7.32612 49.06728 ) - atomic mass = 183.951 - 14 W ( 12.68921 2.44204 50.79406 ) - atomic mass = 183.951 - 15 W ( 8.45947 4.88408 52.52085 ) - atomic mass = 183.951 - 16 W ( 4.22974 7.32612 54.24763 ) - atomic mass = 183.951 - 17 W ( 12.68921 2.44204 55.97441 ) - atomic mass = 183.951 - 18 W ( 8.45947 4.88408 57.70119 ) - atomic mass = 183.951 - G.C. ( 9.16443 4.47707 43.02354 ) - C.O.M. ( 9.16443 4.47707 43.02354 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 54 ( 54 per task) down = 54 ( 54 per task) - - supercell: - volume = 10665.55 - lattice: a1 = < 16.919 0.000 0.000 > - a2 = < 4.230 7.326 0.000 > - a3 = < 0.000 0.000 86.047 > - reciprocal: b1 = < 0.371 -0.214 0.000 > - b2 = < 0.000 0.858 0.000 > - b3 = < 0.000 0.000 0.073 > - lattice: a = 16.919 b = 8.459 c = 86.047 - alpha = 90.000 beta = 90.000 gamma = 60.000 - density cutoff = 10.000 fft = 24 x 12 x 126 ( 7980 waves 7980 per task) - wavefnc cutoff = 5.000 fft = 24 x 12 x 126 ( 2885 waves 2885 per task) - - Ewald parameters: - energy cutoff = 10.000 fft = 24 x 12 x 126 ( 7980 waves 7980 per task) - Ewald summation: cut radius = 3.000 and 8 - Mandelung Wigner-Seitz = -5.39277004 (alpha = -8.69310192 rs = 13.65520583) - - technical parameters: - fixed step: time step = 0.10 ficticious mass = 400000.00 - tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:17:12 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - - 15 steepest descent iterations performed - 10 -1.257495359341e+02 -3.464359e+00 1.247211e-02 - 20 -1.447882093226e+02 -1.221705e+00 4.803697e-03 - 30 -1.529288323360e+02 -5.695469e-01 2.365631e-03 - 40 -1.568708672638e+02 -2.882918e-01 1.244294e-03 - 50 -1.590399861897e+02 -1.748691e-01 7.706837e-04 - 60 -1.604951580834e+02 -1.263110e-01 5.585834e-04 - 70 -1.615709521550e+02 -9.309404e-02 4.070485e-04 - 80 -1.623452921480e+02 -6.566580e-02 2.838812e-04 - 90 -1.628901962570e+02 -4.649726e-02 2.001141e-04 - 100 -1.632840522410e+02 -3.427733e-02 1.475104e-04 - 110 -1.635803584250e+02 -2.618586e-02 1.130174e-04 - 120 -1.638093987980e+02 -2.040919e-02 8.862512e-05 - 130 -1.639890655720e+02 -1.609396e-02 7.052487e-05 - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Fri Feb 24 15:18:12 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - writing formatted psp filename: ./W.vpp - generating random psi from scratch - Warning - Gram-Schmidt being performed on psi2 - - exact norm = 12 norm=12.2903 corrected norm=12 (error=0.290271) - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 1 - processor grid : 1 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: W valence charge = 6.0 lmax =2 - comment = Troullier-Martins pseudopotential - pseudopotential type = 0 - highest angular component = 2 - local potential used = 0 - number of non-local projections = 8 - semicore corrections inlcuded = 1.800 (radius) 4.532 (charge) - cutoff = 2.389 3.185 2.244 - - total charge = 0.000 - - atom composition: - W : 2 - - initial ion positions (au): - 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 - 2 W ( 2.99088 2.99088 2.99088 ) - atomic mass = 183.951 - G.C. ( 1.49544 1.49544 1.49544 ) - C.O.M. ( 1.49544 1.49544 1.49544 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 6 ( 6 per task) down = 6 ( 6 per task) - - supercell: - volume = 214.04 - lattice: a1 = < 5.982 0.000 0.000 > - a2 = < 0.000 5.982 0.000 > - a3 = < 0.000 0.000 5.982 > - reciprocal: b1 = < 1.050 0.000 0.000 > - b2 = < 0.000 1.050 0.000 > - b3 = < 0.000 0.000 1.050 > - lattice: a = 5.982 b = 5.982 c = 5.982 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 10.000 fft = 10 x 10 x 10 ( 171 waves 171 per task) - wavefnc cutoff = 5.000 fft = 10 x 10 x 10 ( 62 waves 62 per task) - - Ewald parameters: - energy cutoff = 10.000 fft = 10 x 10 x 10 ( 171 waves 171 per task) - Ewald summation: cut radius = 3.000 and 8 - Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 3.71078182) - - technical parameters: - fixed step: time step = 0.10 ficticious mass = 400000.00 - tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:18:12 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - - 15 steepest descent iterations performed - 10 -1.674215046115e+01 -8.251196e-02 9.196301e-04 - 20 -1.749771236403e+01 -1.002147e-01 1.472766e-03 - 30 -1.823150320727e+01 -3.534576e-02 3.524284e-04 - 40 -1.846047982908e+01 -2.204551e-02 2.446432e-04 - 50 -1.868365376681e+01 -1.854154e-02 2.029002e-04 - 60 -1.881117950998e+01 -4.287319e-04 1.464725e-05 - 70 -1.881133499557e+01 -6.036766e-08 1.955112e-09 - *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:18:12 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 6.00000 down= 6.00000 (real space) - - - total energy : -1.8811334996e+01 ( -9.40567e+00 /ion) - total orbital energy: 6.3205159164e+00 ( 1.05342e+00 /electron) - hartree energy : 1.5018043194e-01 ( 2.50301e-02 /electron) - exc-corr energy : -9.2446725740e+00 ( -1.54078e+00 /electron) - ion-ion energy : -2.1902017722e+01 ( -1.09510e+01 /ion) - - kinetic (planewave) : 1.2028654702e+01 ( 2.00478e+00 /electron) - V_local (planewave) : 9.8433605672e+00 ( 1.64056e+00 /electron) - V_nl (planewave) : -9.6868404003e+00 ( -1.61447e+00 /electron) - V_Coul (planewave) : 3.0036086388e-01 ( 5.00601e-02 /electron) - V_xc (planewave) : -6.1650198159e+00 ( -1.02750e+00 /electron) - Viral Coefficient : -4.7454506982e-01 - - orbital energy: - 6.7570236e-01 ( 18.387eV) - 6.7570093e-01 ( 18.387eV) - 6.7569918e-01 ( 18.387eV) - 4.5449701e-01 ( 12.368eV) - 4.5449681e-01 ( 12.368eV) - 2.2416167e-01 ( 6.100eV) - -== Center of Charge == - -spin up = ( 0.0000 -0.0000 0.0000 ) -spin down = ( 0.0000 -0.0000 0.0000 ) - total = ( 0.0000 -0.0000 0.0000 ) -ionic = ( 1.4954 1.4954 1.4954 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( 17.9450 17.9453 17.9452 ) au -|mu| = 31.0820 au ( 78.9979 Debye ) - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 2.609e-02 - main loop : 1.104e-01 - epilogue : 1.730e-04 - total : 1.367e-01 - cputime/step: 3.930e-04 ( 281 evaluations, 69 linesearches) - - Time spent doing total step percent - total time 1.379650e-01 4.909786e-04 100.00% - total FFT time 2.255524e-02 8.026776e-05 16.35% - lagrange multipliers 2.559860e-04 9.109822e-07 0.19% - local potentials 3.873000e-06 1.378292e-08 0.00% - non-local potentials 1.679673e-03 5.977484e-06 1.22% - ffm_dgemm 5.301410e-04 1.886623e-06 0.38% - fmf_dgemm 7.524170e-04 2.677641e-06 0.55% - m_diagonalize 2.372140e-04 8.441779e-07 0.17% - mmm_multiply 4.599200e-05 1.636726e-07 0.03% - SCVtrans 4.989500e-05 1.775623e-07 0.04% - - >>> job completed at Fri Feb 24 15:18:12 2023 <<< - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Fri Feb 24 15:18:12 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - writing formatted psp filename: ./W.vpp - psi grids are being converted: - -----------------------------: - converting .... psi:1 spin:1 - converting .... psi:2 spin:1 - converting .... psi:3 spin:1 - converting .... psi:4 spin:1 - converting .... psi:5 spin:1 - converting .... psi:6 spin:1 - - input psi exists, reading from file: ./nwchemex.movecs - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 1 - processor grid : 1 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: W valence charge = 6.0 lmax =2 - comment = Troullier-Martins pseudopotential - pseudopotential type = 0 - highest angular component = 2 - local potential used = 0 - number of non-local projections = 8 - semicore corrections inlcuded = 1.800 (radius) 4.536 (charge) - cutoff = 2.389 3.185 2.244 - - total charge = 0.000 - - atom composition: - W : 2 - - initial ion positions (au): - 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 - 2 W ( 2.99088 2.99088 2.99088 ) - atomic mass = 183.951 - G.C. ( 1.49544 1.49544 1.49544 ) - C.O.M. ( 1.49544 1.49544 1.49544 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 6 ( 6 per task) down = 6 ( 6 per task) - - supercell: - volume = 214.04 - lattice: a1 = < 5.982 0.000 0.000 > - a2 = < 0.000 5.982 0.000 > - a3 = < 0.000 0.000 5.982 > - reciprocal: b1 = < 1.050 0.000 0.000 > - b2 = < 0.000 1.050 0.000 > - b3 = < 0.000 0.000 1.050 > - lattice: a = 5.982 b = 5.982 c = 5.982 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 20.000 fft = 14 x 14 x 14 ( 463 waves 463 per task) - wavefnc cutoff = 10.000 fft = 14 x 14 x 14 ( 171 waves 171 per task) - - Ewald parameters: - energy cutoff = 20.000 fft = 14 x 14 x 14 ( 463 waves 463 per task) - Ewald summation: cut radius = 3.000 and 8 - Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 3.71078182) - - technical parameters: - fixed step: time step = 0.10 ficticious mass = 400000.00 - tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:18:12 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - - 15 steepest descent iterations performed - 10 -2.015461227870e+01 -1.152391e-06 1.541098e-08 - 20 -2.015461250697e+01 -6.884596e-08 1.359336e-09 - *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:18:12 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 6.00000 down= 6.00000 (real space) - - - total energy : -2.0154612507e+01 ( -1.00773e+01 /ion) - total orbital energy: 5.1934744194e+00 ( 8.65579e-01 /electron) - hartree energy : 2.9548501467e-01 ( 4.92475e-02 /electron) - exc-corr energy : -9.4995084169e+00 ( -1.58325e+00 /electron) - ion-ion energy : -2.1902017722e+01 ( -1.09510e+01 /ion) - - kinetic (planewave) : 1.4375731298e+01 ( 2.39596e+00 /electron) - V_local (planewave) : 1.1537789121e+01 ( 1.92296e+00 /electron) - V_nl (planewave) : -1.4962091802e+01 ( -2.49368e+00 /electron) - V_Coul (planewave) : 5.9097002933e-01 ( 9.84950e-02 /electron) - V_xc (planewave) : -6.3489242272e+00 ( -1.05815e+00 /electron) - Viral Coefficient : -6.3873320169e-01 - - orbital energy: - 5.4868319e-01 ( 14.931eV) - 5.4868125e-01 ( 14.930eV) - 5.4867927e-01 ( 14.930eV) - 3.7006985e-01 ( 10.070eV) - 3.7006983e-01 ( 10.070eV) - 2.1055382e-01 ( 5.730eV) - -== Center of Charge == - -spin up = ( 0.0000 -0.0000 0.0000 ) -spin down = ( 0.0000 -0.0000 0.0000 ) - total = ( 0.0000 -0.0000 0.0000 ) -ionic = ( 1.4954 1.4954 1.4954 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( 17.9452 17.9453 17.9453 ) au -|mu| = 31.0821 au ( 78.9982 Debye ) - - - Ion Forces (au): - 1 W ( 0.00000 -0.00000 0.00000 ) - 2 W ( 0.00000 -0.00000 0.00000 ) - - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 3.547e-02 - main loop : 6.480e-02 - epilogue : 7.350e-04 - total : 1.010e-01 - cputime/step: 1.223e-03 ( 53 evaluations, 12 linesearches) - - Time spent doing total step percent - total time 2.392505e-01 4.514160e-03 100.00% - total FFT time 4.375828e-02 8.256278e-04 18.29% - lagrange multipliers 3.668260e-04 6.921245e-06 0.15% - local potentials 1.290900e-05 2.435660e-07 0.01% - non-local potentials 2.668669e-03 5.035225e-05 1.12% - ffm_dgemm 7.706410e-04 1.454040e-05 0.32% - fmf_dgemm 1.125526e-03 2.123634e-05 0.47% - m_diagonalize 2.963020e-04 5.590604e-06 0.12% - mmm_multiply 5.492700e-05 1.036358e-06 0.02% - SCVtrans 6.026800e-05 1.137132e-06 0.03% - - >>> job completed at Fri Feb 24 15:18:12 2023 <<< - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Fri Feb 24 15:18:12 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - writing formatted psp filename: ./W.vpp - generating random psi from scratch - Warning - Gram-Schmidt being performed on psi2 - - exact norm = 24 norm=24.6349 corrected norm=24 (error=0.634911) - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 1 - processor grid : 1 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: W valence charge = 6.0 lmax =2 - comment = Troullier-Martins pseudopotential - pseudopotential type = 0 - highest angular component = 2 - local potential used = 0 - number of non-local projections = 8 - semicore corrections inlcuded = 1.800 (radius) 4.591 (charge) - cutoff = 2.389 3.185 2.244 - - total charge = 0.000 - - atom composition: - W : 4 - - initial ion positions (au): - 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 - 2 W ( 2.66457 0.00000 1.88413 ) - atomic mass = 183.951 - 3 W ( 2.66457 2.66457 3.76827 ) - atomic mass = 183.951 - 4 W ( 0.00000 2.66457 5.65240 ) - atomic mass = 183.951 - G.C. ( 1.33228 1.33228 2.82620 ) - C.O.M. ( 1.33228 1.33228 2.82620 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 12 ( 12 per task) down = 12 ( 12 per task) - - supercell: - volume = 214.04 - lattice: a1 = < 5.329 0.000 0.000 > - a2 = < 0.000 5.329 0.000 > - a3 = < 0.000 0.000 7.537 > - reciprocal: b1 = < 1.179 0.000 0.000 > - b2 = < 0.000 1.179 0.000 > - b3 = < 0.000 0.000 0.834 > - lattice: a = 5.329 b = 5.329 c = 7.537 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 10.000 fft = 10 x 10 x 12 ( 160 waves 160 per task) - wavefnc cutoff = 5.000 fft = 10 x 10 x 12 ( 62 waves 62 per task) - - Ewald parameters: - energy cutoff = 10.000 fft = 10 x 10 x 12 ( 160 waves 160 per task) - Ewald summation: cut radius = 3.000 and 8 - Mandelung Wigner-Seitz = 1.68382487 (alpha = 2.71431215 rs = 3.71078182) - - technical parameters: - fixed step: time step = 0.10 ficticious mass = 400000.00 - tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:18:12 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - - 15 steepest descent iterations performed - 10 -6.055830132329e+00 -3.950403e-02 1.828100e-06 - 20 -6.385809714715e+00 -3.894785e-02 1.758309e-06 - 30 -6.711168070530e+00 -3.840461e-02 1.691928e-06 - 40 -7.032007984384e+00 -3.787299e-02 1.628803e-06 - 50 -7.348421375629e+00 -3.735174e-02 1.568781e-06 - 60 -7.660489824954e+00 -3.683964e-02 1.511713e-06 - 70 -7.968285124894e+00 -3.633557e-02 1.457453e-06 - 80 -8.271869852255e+00 -3.583846e-02 1.405859e-06 - 90 -8.571297960274e+00 -3.534732e-02 1.356792e-06 - 100 -8.866615388055e+00 -3.486124e-02 1.310118e-06 - 110 -9.157860684583e+00 -3.437936e-02 1.265708e-06 - 120 -9.445065644289e+00 -3.390092e-02 1.223435e-06 - 130 -9.728255950944e+00 -3.342523e-02 1.183180e-06 - 140 -1.000745182635e+01 -3.295167e-02 1.144828e-06 - 150 -1.028266868013e+01 -3.247971e-02 1.108268e-06 - 160 -1.055391775670e+01 -3.200889e-02 1.073396e-06 - 170 -1.082120677550e+01 -3.153881e-02 1.040111e-06 - 180 -1.108454056030e+01 -3.106918e-02 1.008319e-06 - 190 -1.134392165365e+01 -3.059975e-02 9.779312e-07 - 200 -1.159935091250e+01 -3.013035e-02 9.488616e-07 - 210 -1.185082808097e+01 -2.966088e-02 9.210311e-07 - 220 -2.307658315652e+01 -2.660051e+00 3.534559e-02 - 230 -3.129825644760e+01 -8.384921e-02 8.831546e-04 - 240 -3.157478329913e+01 -8.501628e-03 7.365980e-05 - 250 -3.162757137408e+01 -3.007578e-03 8.118567e-04 - 260 -3.166852145652e+01 -6.760182e-03 2.472568e-03 - 270 -3.176521423332e+01 -6.489845e-03 3.635301e-04 - 280 -3.179220352327e+01 -2.631131e-05 6.062148e-07 - 290 -3.179228652997e+01 -8.831259e-07 3.208422e-08 - 300 -3.179228729957e+01 -5.132388e-08 1.166168e-09 - *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:18:14 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 12.00000 down= 12.00000 (real space) - - - total energy : -3.1792287300e+01 ( -7.94807e+00 /ion) - total orbital energy: 2.6841552423e+01 ( 2.23680e+00 /electron) - hartree energy : 8.0875740830e-01 ( 6.73965e-02 /electron) - exc-corr energy : -2.2041168198e+01 ( -1.83676e+00 /electron) - ion-ion energy : -5.1462581522e+01 ( -1.28656e+01 /ion) - - kinetic (planewave) : 3.6677604642e+01 ( 3.05647e+00 /electron) - V_local (planewave) : 3.8319838624e+01 ( 3.19332e+00 /electron) - V_nl (planewave) : -3.4094738254e+01 ( -2.84123e+00 /electron) - V_Coul (planewave) : 1.6175148166e+00 ( 1.34793e-01 /electron) - V_xc (planewave) : -1.5678667407e+01 ( -1.30656e+00 /electron) - Viral Coefficient : -2.6817597046e-01 - - orbital energy: - 1.4446153e+00 ( 39.310eV) - 1.4446141e+00 ( 39.310eV) - 1.2075227e+00 ( 32.859eV) - 1.2075208e+00 ( 32.859eV) - 1.2040031e+00 ( 32.763eV) - 1.1965068e+00 ( 32.559eV) - 1.1964933e+00 ( 32.558eV) - 1.0077700e+00 ( 27.423eV) - 9.8716725e-01 ( 26.862eV) - 8.7232872e-01 ( 23.737eV) - 8.7232366e-01 ( 23.737eV) - 7.7991047e-01 ( 21.223eV) - -== Center of Charge == - -spin up = ( -0.0000 0.0000 0.0000 ) -spin down = ( -0.0000 0.0000 0.0000 ) - total = ( -0.0000 0.0000 0.0000 ) -ionic = ( 1.3323 1.3323 2.8262 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( 31.9749 31.9747 67.8288 ) au -|mu| = 81.5200 au ( 207.1913 Debye ) - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 3.422e-02 - main loop : 1.668e+00 - epilogue : 2.330e-04 - total : 1.703e+00 - cputime/step: 1.037e-03 ( 1609 evaluations, 294 linesearches) - - Time spent doing total step percent - total time 1.943853e+00 1.208112e-03 100.00% - total FFT time 1.988299e-01 1.235736e-04 10.23% - lagrange multipliers 3.994508e-03 2.482603e-06 0.21% - local potentials 1.711900e-05 1.063953e-08 0.00% - non-local potentials 3.079812e-02 1.914116e-05 1.58% - ffm_dgemm 1.029855e-02 6.400592e-06 0.53% - fmf_dgemm 1.705348e-02 1.059881e-05 0.88% - m_diagonalize 3.946935e-03 2.453036e-06 0.20% - mmm_multiply 1.035682e-03 6.436805e-07 0.05% - SCVtrans 6.631020e-04 4.121206e-07 0.03% - - >>> job completed at Fri Feb 24 15:18:14 2023 <<< - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Fri Feb 24 15:18:14 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - writing formatted psp filename: ./W.vpp - psi grids are being converted: - -----------------------------: - converting .... psi:1 spin:1 - converting .... psi:2 spin:1 - converting .... psi:3 spin:1 - converting .... psi:4 spin:1 - converting .... psi:5 spin:1 - converting .... psi:6 spin:1 - converting .... psi:7 spin:1 - converting .... psi:8 spin:1 - converting .... psi:9 spin:1 - converting .... psi:10 spin:1 - converting .... psi:11 spin:1 - converting .... psi:12 spin:1 - - input psi exists, reading from file: ./nwchemex.movecs - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 1 - processor grid : 1 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: W valence charge = 6.0 lmax =2 - comment = Troullier-Martins pseudopotential - pseudopotential type = 0 - highest angular component = 2 - local potential used = 0 - number of non-local projections = 8 - semicore corrections inlcuded = 1.800 (radius) 4.595 (charge) - cutoff = 2.389 3.185 2.244 - - total charge = 0.000 - - atom composition: - W : 4 - - initial ion positions (au): - 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 - 2 W ( 2.66457 0.00000 1.88413 ) - atomic mass = 183.951 - 3 W ( 2.66457 2.66457 3.76827 ) - atomic mass = 183.951 - 4 W ( 0.00000 2.66457 5.65240 ) - atomic mass = 183.951 - G.C. ( 1.33228 1.33228 2.82620 ) - C.O.M. ( 1.33228 1.33228 2.82620 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 12 ( 12 per task) down = 12 ( 12 per task) - - supercell: - volume = 214.04 - lattice: a1 = < 5.329 0.000 0.000 > - a2 = < 0.000 5.329 0.000 > - a3 = < 0.000 0.000 7.537 > - reciprocal: b1 = < 1.179 0.000 0.000 > - b2 = < 0.000 1.179 0.000 > - b3 = < 0.000 0.000 0.834 > - lattice: a = 5.329 b = 5.329 c = 7.537 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 20.000 fft = 12 x 12 x 16 ( 460 waves 460 per task) - wavefnc cutoff = 10.000 fft = 12 x 12 x 16 ( 160 waves 160 per task) - - Ewald parameters: - energy cutoff = 20.000 fft = 12 x 12 x 16 ( 460 waves 460 per task) - Ewald summation: cut radius = 3.000 and 8 - Mandelung Wigner-Seitz = 1.68382487 (alpha = 2.71431215 rs = 3.71078182) - - technical parameters: - fixed step: time step = 0.10 ficticious mass = 400000.00 - tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:18:14 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - - 15 steepest descent iterations performed - 10 -3.617033061710e+01 -3.447767e-05 2.051315e-07 - 20 -3.617035193509e+01 -9.144932e-08 2.233123e-09 - *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:18:14 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 12.00000 down= 12.00000 (real space) - - - total energy : -3.6170351935e+01 ( -9.04259e+00 /ion) - total orbital energy: 2.3048851372e+01 ( 1.92074e+00 /electron) - hartree energy : 1.2466960309e+00 ( 1.03891e-01 /electron) - exc-corr energy : -2.2474177760e+01 ( -1.87285e+00 /electron) - ion-ion energy : -5.1462581522e+01 ( -1.28656e+01 /ion) - - kinetic (planewave) : 4.2172537419e+01 ( 3.51438e+00 /electron) - V_local (planewave) : 4.2389901334e+01 ( 3.53249e+00 /electron) - V_nl (planewave) : -4.8042727436e+01 ( -4.00356e+00 /electron) - V_Coul (planewave) : 2.4933920618e+00 ( 2.07783e-01 /electron) - V_xc (planewave) : -1.5964252007e+01 ( -1.33035e+00 /electron) - Viral Coefficient : -4.5346301687e-01 - - orbital energy: - 1.2694201e+00 ( 34.543eV) - 1.2694200e+00 ( 34.543eV) - 1.0542936e+00 ( 28.689eV) - 1.0542930e+00 ( 28.689eV) - 1.0521347e+00 ( 28.630eV) - 1.0163764e+00 ( 27.657eV) - 1.0163729e+00 ( 27.657eV) - 8.0982926e-01 ( 22.037eV) - 7.9408393e-01 ( 21.608eV) - 7.3283710e-01 ( 19.942eV) - 7.2768246e-01 ( 19.801eV) - 7.2768240e-01 ( 19.801eV) - -== Center of Charge == - -spin up = ( -0.0000 0.0000 -0.0000 ) -spin down = ( -0.0000 0.0000 -0.0000 ) - total = ( -0.0000 0.0000 -0.0000 ) -ionic = ( 1.3323 1.3323 2.8262 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( 31.9748 31.9748 67.8288 ) au -|mu| = 81.5201 au ( 207.1914 Debye ) - - - Ion Forces (au): - 1 W ( -0.00006 0.00001 0.00000 ) - 2 W ( -0.00006 0.00001 -0.00000 ) - 3 W ( 0.00005 -0.00001 0.00000 ) - 4 W ( 0.00006 -0.00001 -0.00000 ) - - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 4.075e-02 - main loop : 9.259e-02 - epilogue : 1.541e-03 - total : 1.349e-01 - cputime/step: 1.403e-03 ( 66 evaluations, 16 linesearches) - - Time spent doing total step percent - total time 2.078999e+00 3.149998e-02 100.00% - total FFT time 2.101608e-01 3.184254e-03 10.11% - lagrange multipliers 4.359836e-03 6.605812e-05 0.21% - local potentials 3.280600e-05 4.970606e-07 0.00% - non-local potentials 3.407038e-02 5.162179e-04 1.64% - ffm_dgemm 1.133438e-02 1.717330e-04 0.55% - fmf_dgemm 1.879531e-02 2.847774e-04 0.90% - m_diagonalize 4.177315e-03 6.329265e-05 0.20% - mmm_multiply 1.080105e-03 1.636523e-05 0.05% - SCVtrans 6.877800e-04 1.042091e-05 0.03% - - >>> job completed at Fri Feb 24 15:18:14 2023 <<< - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Fri Feb 24 15:18:14 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - writing formatted psp filename: ./W.vpp - generating random psi from scratch - Warning - Gram-Schmidt being performed on psi2 - - exact norm = 108 norm=112.229 corrected norm=108 (error=4.2289) - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 1 - processor grid : 1 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: W valence charge = 6.0 lmax =2 - comment = Troullier-Martins pseudopotential - pseudopotential type = 0 - highest angular component = 2 - local potential used = 0 - number of non-local projections = 8 - semicore corrections inlcuded = 1.800 (radius) 4.473 (charge) - cutoff = 2.389 3.185 2.244 - - total charge = 0.000 - - atom composition: - W : 18 - - initial ion positions (au): - 1 W ( 0.00000 0.00000 56.69178 ) - atomic mass = 183.951 - 2 W ( 4.22974 4.22974 62.67353 ) - atomic mass = 183.951 - 3 W ( 0.00000 0.00000 68.65528 ) - atomic mass = 183.951 - 4 W ( 4.22974 4.22974 74.63703 ) - atomic mass = 183.951 - 5 W ( 0.00000 0.00000 80.61878 ) - atomic mass = 183.951 - 6 W ( 4.22974 4.22974 86.60053 ) - atomic mass = 183.951 - 7 W ( 0.00000 0.00000 92.58228 ) - atomic mass = 183.951 - 8 W ( 4.22974 4.22974 98.56403 ) - atomic mass = 183.951 - 9 W ( 0.00000 0.00000 104.54578 ) - atomic mass = 183.951 - 10 W ( 4.22974 4.22974 110.52753 ) - atomic mass = 183.951 - 11 W ( 0.00000 0.00000 116.50928 ) - atomic mass = 183.951 - 12 W ( 4.22974 4.22974 122.49103 ) - atomic mass = 183.951 - 13 W ( 0.00000 0.00000 128.47278 ) - atomic mass = 183.951 - 14 W ( 4.22974 4.22974 134.45454 ) - atomic mass = 183.951 - 15 W ( 0.00000 0.00000 140.43629 ) - atomic mass = 183.951 - 16 W ( 4.22974 4.22974 146.41804 ) - atomic mass = 183.951 - 17 W ( 0.00000 0.00000 152.39979 ) - atomic mass = 183.951 - 18 W ( 4.22974 4.22974 158.38154 ) - atomic mass = 183.951 - G.C. ( 2.11487 2.11487 107.53666 ) - C.O.M. ( 2.11487 2.11487 107.53666 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 54 ( 54 per task) down = 54 ( 54 per task) - - supercell: - volume = 15391.22 - lattice: a1 = < 8.459 0.000 0.000 > - a2 = < 0.000 8.459 0.000 > - a3 = < 0.000 0.000 215.073 > - reciprocal: b1 = < 0.743 0.000 0.000 > - b2 = < 0.000 0.743 0.000 > - b3 = < 0.000 0.000 0.029 > - lattice: a = 8.459 b = 8.459 c = 215.073 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 10.000 fft = 14 x 14 x 320 ( 11562 waves 11562 per task) - wavefnc cutoff = 5.000 fft = 14 x 14 x 320 ( 4131 waves 4131 per task) - - Ewald parameters: - energy cutoff = 10.000 fft = 14 x 14 x 320 ( 11562 waves 11562 per task) - Ewald summation: cut radius = 3.000 and 8 - Mandelung Wigner-Seitz =-41.45048086 (alpha =-66.81784163 rs = 15.43102707) - - technical parameters: - fixed step: time step = 0.10 ficticious mass = 400000.00 - tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:18:15 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - - 15 steepest descent iterations performed - 10 -4.708836988701e+01 -2.074508e+00 6.085500e-04 - 20 -6.382918523929e+01 -1.560307e+00 6.496852e-04 - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Fri Feb 24 15:18:38 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - writing formatted psp filename: ./W.vpp - generating random psi from scratch - Warning - Gram-Schmidt being performed on psi2 - - exact norm = 12 norm=12.2903 corrected norm=12 (error=0.290271) - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 1 - processor grid : 1 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: W valence charge = 6.0 lmax =2 - comment = Troullier-Martins pseudopotential - pseudopotential type = 0 - highest angular component = 2 - local potential used = 0 - number of non-local projections = 8 - semicore corrections inlcuded = 1.800 (radius) 4.532 (charge) - cutoff = 2.389 3.185 2.244 - - total charge = 0.000 - - atom composition: - W : 2 - - initial ion positions (au): - 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 - 2 W ( 2.99088 2.99088 2.99088 ) - atomic mass = 183.951 - G.C. ( 1.49544 1.49544 1.49544 ) - C.O.M. ( 1.49544 1.49544 1.49544 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 6 ( 6 per task) down = 6 ( 6 per task) - - supercell: - volume = 214.04 - lattice: a1 = < 5.982 0.000 0.000 > - a2 = < 0.000 5.982 0.000 > - a3 = < 0.000 0.000 5.982 > - reciprocal: b1 = < 1.050 0.000 0.000 > - b2 = < 0.000 1.050 0.000 > - b3 = < 0.000 0.000 1.050 > - lattice: a = 5.982 b = 5.982 c = 5.982 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 10.000 fft = 10 x 10 x 10 ( 171 waves 171 per task) - wavefnc cutoff = 5.000 fft = 10 x 10 x 10 ( 62 waves 62 per task) - - Ewald parameters: - energy cutoff = 10.000 fft = 10 x 10 x 10 ( 171 waves 171 per task) - Ewald summation: cut radius = 3.000 and 8 - Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 3.71078182) - - technical parameters: - fixed step: time step = 0.10 ficticious mass = 400000.00 - tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:18:38 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - - 15 steepest descent iterations performed - 10 -1.674215046115e+01 -8.251196e-02 9.196301e-04 - 20 -1.749771236403e+01 -1.002147e-01 1.472766e-03 - 30 -1.823150320727e+01 -3.534576e-02 3.524284e-04 - 40 -1.846047982908e+01 -2.204551e-02 2.446432e-04 - 50 -1.868365376681e+01 -1.854154e-02 2.029002e-04 - 60 -1.881117950998e+01 -4.287319e-04 1.464725e-05 - 70 -1.881133499557e+01 -6.036766e-08 1.955112e-09 - *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:18:38 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 6.00000 down= 6.00000 (real space) - - - total energy : -1.8811334996e+01 ( -9.40567e+00 /ion) - total orbital energy: 6.3205159164e+00 ( 1.05342e+00 /electron) - hartree energy : 1.5018043194e-01 ( 2.50301e-02 /electron) - exc-corr energy : -9.2446725740e+00 ( -1.54078e+00 /electron) - ion-ion energy : -2.1902017722e+01 ( -1.09510e+01 /ion) - - kinetic (planewave) : 1.2028654702e+01 ( 2.00478e+00 /electron) - V_local (planewave) : 9.8433605672e+00 ( 1.64056e+00 /electron) - V_nl (planewave) : -9.6868404003e+00 ( -1.61447e+00 /electron) - V_Coul (planewave) : 3.0036086388e-01 ( 5.00601e-02 /electron) - V_xc (planewave) : -6.1650198159e+00 ( -1.02750e+00 /electron) - Viral Coefficient : -4.7454506982e-01 - - orbital energy: - 6.7570236e-01 ( 18.387eV) - 6.7570093e-01 ( 18.387eV) - 6.7569918e-01 ( 18.387eV) - 4.5449701e-01 ( 12.368eV) - 4.5449681e-01 ( 12.368eV) - 2.2416167e-01 ( 6.100eV) - -== Center of Charge == - -spin up = ( 0.0000 -0.0000 0.0000 ) -spin down = ( 0.0000 -0.0000 0.0000 ) - total = ( 0.0000 -0.0000 0.0000 ) -ionic = ( 1.4954 1.4954 1.4954 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( 17.9450 17.9453 17.9452 ) au -|mu| = 31.0820 au ( 78.9979 Debye ) - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 2.524e-02 - main loop : 1.109e-01 - epilogue : 1.700e-04 - total : 1.363e-01 - cputime/step: 3.947e-04 ( 281 evaluations, 69 linesearches) - - Time spent doing total step percent - total time 1.376261e-01 4.897725e-04 100.00% - total FFT time 2.259259e-02 8.040066e-05 16.42% - lagrange multipliers 2.496160e-04 8.883132e-07 0.18% - local potentials 4.057000e-06 1.443772e-08 0.00% - non-local potentials 1.697206e-03 6.039879e-06 1.23% - ffm_dgemm 5.312040e-04 1.890406e-06 0.39% - fmf_dgemm 7.488590e-04 2.664979e-06 0.54% - m_diagonalize 2.523380e-04 8.980000e-07 0.18% - mmm_multiply 4.641000e-05 1.651601e-07 0.03% - SCVtrans 4.654400e-05 1.656370e-07 0.03% - - >>> job completed at Fri Feb 24 15:18:38 2023 <<< - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Fri Feb 24 15:18:38 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - writing formatted psp filename: ./W.vpp - psi grids are being converted: - -----------------------------: - converting .... psi:1 spin:1 - converting .... psi:2 spin:1 - converting .... psi:3 spin:1 - converting .... psi:4 spin:1 - converting .... psi:5 spin:1 - converting .... psi:6 spin:1 - - input psi exists, reading from file: ./nwchemex.movecs - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 1 - processor grid : 1 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: W valence charge = 6.0 lmax =2 - comment = Troullier-Martins pseudopotential - pseudopotential type = 0 - highest angular component = 2 - local potential used = 0 - number of non-local projections = 8 - semicore corrections inlcuded = 1.800 (radius) 4.536 (charge) - cutoff = 2.389 3.185 2.244 - - total charge = 0.000 - - atom composition: - W : 2 - - initial ion positions (au): - 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 - 2 W ( 2.99088 2.99088 2.99088 ) - atomic mass = 183.951 - G.C. ( 1.49544 1.49544 1.49544 ) - C.O.M. ( 1.49544 1.49544 1.49544 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 6 ( 6 per task) down = 6 ( 6 per task) - - supercell: - volume = 214.04 - lattice: a1 = < 5.982 0.000 0.000 > - a2 = < 0.000 5.982 0.000 > - a3 = < 0.000 0.000 5.982 > - reciprocal: b1 = < 1.050 0.000 0.000 > - b2 = < 0.000 1.050 0.000 > - b3 = < 0.000 0.000 1.050 > - lattice: a = 5.982 b = 5.982 c = 5.982 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 20.000 fft = 14 x 14 x 14 ( 463 waves 463 per task) - wavefnc cutoff = 10.000 fft = 14 x 14 x 14 ( 171 waves 171 per task) - - Ewald parameters: - energy cutoff = 20.000 fft = 14 x 14 x 14 ( 463 waves 463 per task) - Ewald summation: cut radius = 3.000 and 8 - Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 3.71078182) - - technical parameters: - fixed step: time step = 0.10 ficticious mass = 400000.00 - tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:18:38 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - - 15 steepest descent iterations performed - 10 -2.015461227870e+01 -1.152391e-06 1.541098e-08 - 20 -2.015461250697e+01 -6.884596e-08 1.359336e-09 - *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:18:38 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 6.00000 down= 6.00000 (real space) - - - total energy : -2.0154612507e+01 ( -1.00773e+01 /ion) - total orbital energy: 5.1934744194e+00 ( 8.65579e-01 /electron) - hartree energy : 2.9548501467e-01 ( 4.92475e-02 /electron) - exc-corr energy : -9.4995084169e+00 ( -1.58325e+00 /electron) - ion-ion energy : -2.1902017722e+01 ( -1.09510e+01 /ion) - - kinetic (planewave) : 1.4375731298e+01 ( 2.39596e+00 /electron) - V_local (planewave) : 1.1537789121e+01 ( 1.92296e+00 /electron) - V_nl (planewave) : -1.4962091802e+01 ( -2.49368e+00 /electron) - V_Coul (planewave) : 5.9097002933e-01 ( 9.84950e-02 /electron) - V_xc (planewave) : -6.3489242272e+00 ( -1.05815e+00 /electron) - Viral Coefficient : -6.3873320169e-01 - - orbital energy: - 5.4868319e-01 ( 14.931eV) - 5.4868125e-01 ( 14.930eV) - 5.4867927e-01 ( 14.930eV) - 3.7006985e-01 ( 10.070eV) - 3.7006983e-01 ( 10.070eV) - 2.1055382e-01 ( 5.730eV) - -== Center of Charge == - -spin up = ( 0.0000 -0.0000 0.0000 ) -spin down = ( 0.0000 -0.0000 0.0000 ) - total = ( 0.0000 -0.0000 0.0000 ) -ionic = ( 1.4954 1.4954 1.4954 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( 17.9452 17.9453 17.9453 ) au -|mu| = 31.0821 au ( 78.9982 Debye ) - - - Ion Forces (au): - 1 W ( 0.00000 -0.00000 0.00000 ) - 2 W ( 0.00000 -0.00000 0.00000 ) - - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 3.589e-02 - main loop : 6.538e-02 - epilogue : 7.730e-04 - total : 1.020e-01 - cputime/step: 1.234e-03 ( 53 evaluations, 12 linesearches) - - Time spent doing total step percent - total time 2.398962e-01 4.526344e-03 100.00% - total FFT time 4.397847e-02 8.297825e-04 18.33% - lagrange multipliers 3.621910e-04 6.833792e-06 0.15% - local potentials 1.360700e-05 2.567358e-07 0.01% - non-local potentials 2.715955e-03 5.124443e-05 1.13% - ffm_dgemm 7.720380e-04 1.456675e-05 0.32% - fmf_dgemm 1.121002e-03 2.115098e-05 0.47% - m_diagonalize 3.119640e-04 5.886113e-06 0.13% - mmm_multiply 5.513100e-05 1.040208e-06 0.02% - SCVtrans 5.648300e-05 1.065717e-06 0.02% - - >>> job completed at Fri Feb 24 15:18:38 2023 <<< - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Fri Feb 24 15:18:38 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - writing formatted psp filename: ./W.vpp - generating random psi from scratch - Warning - Gram-Schmidt being performed on psi2 - - exact norm = 24 norm=24.6349 corrected norm=24 (error=0.634911) - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 1 - processor grid : 1 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: W valence charge = 6.0 lmax =2 - comment = Troullier-Martins pseudopotential - pseudopotential type = 0 - highest angular component = 2 - local potential used = 0 - number of non-local projections = 8 - semicore corrections inlcuded = 1.800 (radius) 4.591 (charge) - cutoff = 2.389 3.185 2.244 - - total charge = 0.000 - - atom composition: - W : 4 - - initial ion positions (au): - 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 - 2 W ( 2.66457 0.00000 1.88413 ) - atomic mass = 183.951 - 3 W ( 2.66457 2.66457 3.76827 ) - atomic mass = 183.951 - 4 W ( 0.00000 2.66457 5.65240 ) - atomic mass = 183.951 - G.C. ( 1.33228 1.33228 2.82620 ) - C.O.M. ( 1.33228 1.33228 2.82620 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 12 ( 12 per task) down = 12 ( 12 per task) - - supercell: - volume = 214.04 - lattice: a1 = < 5.329 0.000 0.000 > - a2 = < 0.000 5.329 0.000 > - a3 = < 0.000 0.000 7.537 > - reciprocal: b1 = < 1.179 0.000 0.000 > - b2 = < 0.000 1.179 0.000 > - b3 = < 0.000 0.000 0.834 > - lattice: a = 5.329 b = 5.329 c = 7.537 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 10.000 fft = 10 x 10 x 12 ( 160 waves 160 per task) - wavefnc cutoff = 5.000 fft = 10 x 10 x 12 ( 62 waves 62 per task) - - Ewald parameters: - energy cutoff = 10.000 fft = 10 x 10 x 12 ( 160 waves 160 per task) - Ewald summation: cut radius = 3.000 and 8 - Mandelung Wigner-Seitz = 1.68382487 (alpha = 2.71431215 rs = 3.71078182) - - technical parameters: - fixed step: time step = 0.10 ficticious mass = 400000.00 - tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:18:38 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - - 15 steepest descent iterations performed - 10 -6.055830132329e+00 -3.950403e-02 1.828100e-06 - 20 -6.385809714715e+00 -3.894785e-02 1.758309e-06 - 30 -6.711168070530e+00 -3.840461e-02 1.691928e-06 - 40 -7.032007984384e+00 -3.787299e-02 1.628803e-06 - 50 -7.348421375629e+00 -3.735174e-02 1.568781e-06 - 60 -7.660489824954e+00 -3.683964e-02 1.511713e-06 - 70 -7.968285124894e+00 -3.633557e-02 1.457453e-06 - 80 -8.271869852255e+00 -3.583846e-02 1.405859e-06 - 90 -8.571297960274e+00 -3.534732e-02 1.356792e-06 - 100 -8.866615388055e+00 -3.486124e-02 1.310118e-06 - 110 -9.157860684583e+00 -3.437936e-02 1.265708e-06 - 120 -9.445065644289e+00 -3.390092e-02 1.223435e-06 - 130 -9.728255950944e+00 -3.342523e-02 1.183180e-06 - 140 -1.000745182635e+01 -3.295167e-02 1.144828e-06 - 150 -1.028266868013e+01 -3.247971e-02 1.108268e-06 - 160 -1.055391775670e+01 -3.200889e-02 1.073396e-06 - 170 -1.082120677550e+01 -3.153881e-02 1.040111e-06 - 180 -1.108454056030e+01 -3.106918e-02 1.008319e-06 - 190 -1.134392165365e+01 -3.059975e-02 9.779312e-07 - 200 -1.159935091250e+01 -3.013035e-02 9.488616e-07 - 210 -1.185082808097e+01 -2.966088e-02 9.210311e-07 - 220 -2.307658315652e+01 -2.660051e+00 3.534559e-02 - 230 -3.129825644760e+01 -8.384921e-02 8.831546e-04 - 240 -3.157478329913e+01 -8.501628e-03 7.365980e-05 - 250 -3.162757137408e+01 -3.007578e-03 8.118567e-04 - 260 -3.166852145652e+01 -6.760182e-03 2.472568e-03 - 270 -3.176521423332e+01 -6.489845e-03 3.635301e-04 - 280 -3.179220352327e+01 -2.631131e-05 6.062148e-07 - 290 -3.179228652997e+01 -8.831259e-07 3.208422e-08 - 300 -3.179228729957e+01 -5.132388e-08 1.166168e-09 - *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:18:40 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 12.00000 down= 12.00000 (real space) - - - total energy : -3.1792287300e+01 ( -7.94807e+00 /ion) - total orbital energy: 2.6841552423e+01 ( 2.23680e+00 /electron) - hartree energy : 8.0875740830e-01 ( 6.73965e-02 /electron) - exc-corr energy : -2.2041168198e+01 ( -1.83676e+00 /electron) - ion-ion energy : -5.1462581522e+01 ( -1.28656e+01 /ion) - - kinetic (planewave) : 3.6677604642e+01 ( 3.05647e+00 /electron) - V_local (planewave) : 3.8319838624e+01 ( 3.19332e+00 /electron) - V_nl (planewave) : -3.4094738254e+01 ( -2.84123e+00 /electron) - V_Coul (planewave) : 1.6175148166e+00 ( 1.34793e-01 /electron) - V_xc (planewave) : -1.5678667407e+01 ( -1.30656e+00 /electron) - Viral Coefficient : -2.6817597046e-01 - - orbital energy: - 1.4446153e+00 ( 39.310eV) - 1.4446141e+00 ( 39.310eV) - 1.2075227e+00 ( 32.859eV) - 1.2075208e+00 ( 32.859eV) - 1.2040031e+00 ( 32.763eV) - 1.1965068e+00 ( 32.559eV) - 1.1964933e+00 ( 32.558eV) - 1.0077700e+00 ( 27.423eV) - 9.8716725e-01 ( 26.862eV) - 8.7232872e-01 ( 23.737eV) - 8.7232366e-01 ( 23.737eV) - 7.7991047e-01 ( 21.223eV) - -== Center of Charge == - -spin up = ( -0.0000 0.0000 0.0000 ) -spin down = ( -0.0000 0.0000 0.0000 ) - total = ( -0.0000 0.0000 0.0000 ) -ionic = ( 1.3323 1.3323 2.8262 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( 31.9749 31.9747 67.8288 ) au -|mu| = 81.5200 au ( 207.1913 Debye ) - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 3.425e-02 - main loop : 1.670e+00 - epilogue : 2.360e-04 - total : 1.705e+00 - cputime/step: 1.038e-03 ( 1609 evaluations, 294 linesearches) - - Time spent doing total step percent - total time 1.952966e+00 1.213776e-03 100.00% - total FFT time 1.982451e-01 1.232101e-04 10.15% - lagrange multipliers 4.059472e-03 2.522978e-06 0.21% - local potentials 1.779100e-05 1.105718e-08 0.00% - non-local potentials 3.088589e-02 1.919571e-05 1.58% - ffm_dgemm 1.048618e-02 6.517201e-06 0.54% - fmf_dgemm 1.706496e-02 1.060594e-05 0.87% - m_diagonalize 4.001445e-03 2.486914e-06 0.20% - mmm_multiply 1.083454e-03 6.733710e-07 0.06% - SCVtrans 6.580950e-04 4.090087e-07 0.03% - - >>> job completed at Fri Feb 24 15:18:40 2023 <<< - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Fri Feb 24 15:18:40 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - writing formatted psp filename: ./W.vpp - psi grids are being converted: - -----------------------------: - converting .... psi:1 spin:1 - converting .... psi:2 spin:1 - converting .... psi:3 spin:1 - converting .... psi:4 spin:1 - converting .... psi:5 spin:1 - converting .... psi:6 spin:1 - converting .... psi:7 spin:1 - converting .... psi:8 spin:1 - converting .... psi:9 spin:1 - converting .... psi:10 spin:1 - converting .... psi:11 spin:1 - converting .... psi:12 spin:1 - - input psi exists, reading from file: ./nwchemex.movecs - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 1 - processor grid : 1 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: W valence charge = 6.0 lmax =2 - comment = Troullier-Martins pseudopotential - pseudopotential type = 0 - highest angular component = 2 - local potential used = 0 - number of non-local projections = 8 - semicore corrections inlcuded = 1.800 (radius) 4.595 (charge) - cutoff = 2.389 3.185 2.244 - - total charge = 0.000 - - atom composition: - W : 4 - - initial ion positions (au): - 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 - 2 W ( 2.66457 0.00000 1.88413 ) - atomic mass = 183.951 - 3 W ( 2.66457 2.66457 3.76827 ) - atomic mass = 183.951 - 4 W ( 0.00000 2.66457 5.65240 ) - atomic mass = 183.951 - G.C. ( 1.33228 1.33228 2.82620 ) - C.O.M. ( 1.33228 1.33228 2.82620 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 12 ( 12 per task) down = 12 ( 12 per task) - - supercell: - volume = 214.04 - lattice: a1 = < 5.329 0.000 0.000 > - a2 = < 0.000 5.329 0.000 > - a3 = < 0.000 0.000 7.537 > - reciprocal: b1 = < 1.179 0.000 0.000 > - b2 = < 0.000 1.179 0.000 > - b3 = < 0.000 0.000 0.834 > - lattice: a = 5.329 b = 5.329 c = 7.537 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 20.000 fft = 12 x 12 x 16 ( 460 waves 460 per task) - wavefnc cutoff = 10.000 fft = 12 x 12 x 16 ( 160 waves 160 per task) - - Ewald parameters: - energy cutoff = 20.000 fft = 12 x 12 x 16 ( 460 waves 460 per task) - Ewald summation: cut radius = 3.000 and 8 - Mandelung Wigner-Seitz = 1.68382487 (alpha = 2.71431215 rs = 3.71078182) - - technical parameters: - fixed step: time step = 0.10 ficticious mass = 400000.00 - tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:18:40 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - - 15 steepest descent iterations performed - 10 -3.617033061710e+01 -3.447767e-05 2.051315e-07 - 20 -3.617035193509e+01 -9.144932e-08 2.233123e-09 - *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:18:40 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 12.00000 down= 12.00000 (real space) - - - total energy : -3.6170351935e+01 ( -9.04259e+00 /ion) - total orbital energy: 2.3048851372e+01 ( 1.92074e+00 /electron) - hartree energy : 1.2466960309e+00 ( 1.03891e-01 /electron) - exc-corr energy : -2.2474177760e+01 ( -1.87285e+00 /electron) - ion-ion energy : -5.1462581522e+01 ( -1.28656e+01 /ion) - - kinetic (planewave) : 4.2172537419e+01 ( 3.51438e+00 /electron) - V_local (planewave) : 4.2389901334e+01 ( 3.53249e+00 /electron) - V_nl (planewave) : -4.8042727436e+01 ( -4.00356e+00 /electron) - V_Coul (planewave) : 2.4933920618e+00 ( 2.07783e-01 /electron) - V_xc (planewave) : -1.5964252007e+01 ( -1.33035e+00 /electron) - Viral Coefficient : -4.5346301687e-01 - - orbital energy: - 1.2694201e+00 ( 34.543eV) - 1.2694200e+00 ( 34.543eV) - 1.0542936e+00 ( 28.689eV) - 1.0542930e+00 ( 28.689eV) - 1.0521347e+00 ( 28.630eV) - 1.0163764e+00 ( 27.657eV) - 1.0163729e+00 ( 27.657eV) - 8.0982926e-01 ( 22.037eV) - 7.9408393e-01 ( 21.608eV) - 7.3283710e-01 ( 19.942eV) - 7.2768246e-01 ( 19.801eV) - 7.2768240e-01 ( 19.801eV) - -== Center of Charge == - -spin up = ( -0.0000 0.0000 -0.0000 ) -spin down = ( -0.0000 0.0000 -0.0000 ) - total = ( -0.0000 0.0000 -0.0000 ) -ionic = ( 1.3323 1.3323 2.8262 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( 31.9748 31.9748 67.8288 ) au -|mu| = 81.5201 au ( 207.1914 Debye ) - - - Ion Forces (au): - 1 W ( -0.00006 0.00001 0.00000 ) - 2 W ( -0.00006 0.00001 -0.00000 ) - 3 W ( 0.00005 -0.00001 0.00000 ) - 4 W ( 0.00006 -0.00001 -0.00000 ) - - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 4.137e-02 - main loop : 9.543e-02 - epilogue : 1.789e-03 - total : 1.386e-01 - cputime/step: 1.446e-03 ( 66 evaluations, 16 linesearches) - - Time spent doing total step percent - total time 2.091810e+00 3.169409e-02 100.00% - total FFT time 2.099361e-01 3.180850e-03 10.04% - lagrange multipliers 4.426488e-03 6.706800e-05 0.21% - local potentials 3.575100e-05 5.416818e-07 0.00% - non-local potentials 3.424697e-02 5.188935e-04 1.64% - ffm_dgemm 1.156122e-02 1.751700e-04 0.55% - fmf_dgemm 1.888972e-02 2.862079e-04 0.90% - m_diagonalize 4.247227e-03 6.435192e-05 0.20% - mmm_multiply 1.132024e-03 1.715188e-05 0.05% - SCVtrans 6.838130e-04 1.036080e-05 0.03% - - >>> job completed at Fri Feb 24 15:18:40 2023 <<< - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Fri Feb 24 15:18:40 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - writing formatted psp filename: ./W.vpp - generating random psi from scratch - Warning - Gram-Schmidt being performed on psi2 - - exact norm = 54 norm=55.9896 corrected norm=54 (error=1.98964) - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 1 - processor grid : 1 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: W valence charge = 6.0 lmax =2 - comment = Troullier-Martins pseudopotential - pseudopotential type = 0 - highest angular component = 2 - local potential used = 0 - number of non-local projections = 8 - semicore corrections inlcuded = 1.800 (radius) 4.774 (charge) - cutoff = 2.389 3.185 2.244 - - total charge = 0.000 - - atom composition: - W : 9 - - initial ion positions (au): - 1 W ( 0.00000 0.00000 28.34589 ) - atomic mass = 183.951 - 2 W ( 0.00000 0.00000 33.09361 ) - atomic mass = 183.951 - 3 W ( 0.00000 0.00000 37.84133 ) - atomic mass = 183.951 - 4 W ( 0.00000 0.00000 42.58905 ) - atomic mass = 183.951 - 5 W ( 0.00000 0.00000 47.33676 ) - atomic mass = 183.951 - 6 W ( 0.00000 0.00000 52.08448 ) - atomic mass = 183.951 - 7 W ( 0.00000 0.00000 56.83220 ) - atomic mass = 183.951 - 8 W ( 0.00000 0.00000 61.57992 ) - atomic mass = 183.951 - 9 W ( 0.00000 0.00000 66.32764 ) - atomic mass = 183.951 - G.C. ( 0.00000 0.00000 47.33676 ) - C.O.M. ( 0.00000 0.00000 47.33676 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 27 ( 27 per task) down = 27 ( 27 per task) - - supercell: - volume = 2134.02 - lattice: a1 = < 4.748 0.000 0.000 > - a2 = < 0.000 4.748 0.000 > - a3 = < 0.000 0.000 94.674 > - reciprocal: b1 = < 1.323 0.000 0.000 > - b2 = < 0.000 1.323 0.000 > - b3 = < 0.000 0.000 0.066 > - lattice: a = 4.748 b = 4.748 c = 94.674 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 10.000 fft = 8 x 8 x 140 ( 1654 waves 1654 per task) - wavefnc cutoff = 5.000 fft = 8 x 8 x 140 ( 614 waves 614 per task) - - Ewald parameters: - energy cutoff = 10.000 fft = 8 x 8 x 140 ( 1654 waves 1654 per task) - Ewald summation: cut radius = 3.000 and 8 - Mandelung Wigner-Seitz =-28.56716969 (alpha =-46.05004769 rs = 7.98674752) - - technical parameters: - fixed step: time step = 0.10 ficticious mass = 400000.00 - tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:18:40 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - - 15 steepest descent iterations performed - 10 -1.537543929874e+01 -2.016560e+00 3.077105e-03 - 20 -3.254785807349e+01 -1.663493e+00 2.853796e-03 - 30 -4.810772454500e+01 -1.411329e+00 2.524724e-03 - 40 -5.924331815603e+01 -8.722325e-01 1.601473e-03 - 50 -6.598737094914e+01 -5.386274e-01 1.018644e-03 - 60 -7.047458695974e+01 -3.842901e-01 7.275415e-04 - 70 -7.391410353045e+01 -3.094978e-01 5.927380e-04 - 80 -7.675659679950e+01 -2.575519e-01 5.074834e-04 - 90 -7.908051946463e+01 -2.066346e-01 4.202545e-04 - 100 -8.091371386799e+01 -1.620794e-01 3.417256e-04 - 110 -8.236293503847e+01 -1.299053e-01 2.852820e-04 - 120 -8.354092927149e+01 -1.068684e-01 2.434477e-04 - 130 -8.451154165098e+01 -8.805956e-02 2.067634e-04 - 140 -8.530664269190e+01 -7.198981e-02 1.738582e-04 - 150 -8.596030731896e+01 -5.983311e-02 1.488597e-04 - 160 -8.651711846167e+01 -5.225598e-02 1.343065e-04 - 170 -8.701856676886e+01 -4.832242e-02 1.282183e-04 - 180 -8.748424331332e+01 -4.442332e-02 1.222405e-04 - 190 -8.787610642248e+01 -3.338040e-02 9.947921e-05 - 200 -8.811847068979e+01 -1.693656e-02 5.903923e-05 - 210 -8.830054273921e+01 -3.581922e-03 6.916884e-05 - 220 -8.831280544154e+01 -5.396840e-05 7.863732e-07 - 230 -8.831301827046e+01 -3.445163e-06 4.311563e-08 - 240 -8.831302766242e+01 -1.599960e-07 7.829532e-10 - 250 -8.831302775935e+01 -9.692576e-08 4.617615e-10 - *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:18:50 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 27.00000 down= 27.00000 (real space) - - - total energy : -8.8313027759e+01 ( -9.81256e+00 /ion) - total orbital energy: -5.1543739929e+00 ( -1.90903e-01 /electron) - hartree energy : 1.9217358728e+03 ( 7.11754e+01 /electron) - exc-corr energy : -4.2845603491e+01 ( -1.58687e+00 /electron) - ion-ion energy : 1.8531858410e+03 ( 2.05910e+02 /ion) - - kinetic (planewave) : 4.3121050224e+01 ( 1.59708e+00 /electron) - V_local (planewave) : -3.8291999293e+03 ( -1.41822e+02 /electron) - V_nl (planewave) : -3.4310258960e+01 ( -1.27075e+00 /electron) - V_Coul (planewave) : 3.8434717456e+03 ( 1.42351e+02 /electron) - V_xc (planewave) : -2.8236981532e+01 ( -1.04581e+00 /electron) - Viral Coefficient : -1.1195326637e+00 - - orbital energy: - 1.2651002e-01 ( 3.443eV) - 1.8839147e-02 ( 0.513eV) - 1.5118032e-02 ( 0.411eV) - -2.7745187e-03 ( -0.075eV) - -4.3030191e-03 ( -0.117eV) - -4.6545708e-03 ( -0.127eV) - -1.4954346e-02 ( -0.407eV) - -1.6336988e-02 ( -0.445eV) - -2.5371336e-02 ( -0.690eV) - -3.3327415e-02 ( -0.907eV) - -3.4658629e-02 ( -0.943eV) - -4.4732074e-02 ( -1.217eV) - -5.0668501e-02 ( -1.379eV) - -5.6656231e-02 ( -1.542eV) - -5.6949941e-02 ( -1.550eV) - -6.8047676e-02 ( -1.852eV) - -9.2316879e-02 ( -2.512eV) - -9.7184443e-02 ( -2.645eV) - -1.2662593e-01 ( -3.446eV) - -1.4011181e-01 ( -3.813eV) - -1.7225396e-01 ( -4.687eV) - -2.0713982e-01 ( -5.637eV) - -2.4175322e-01 ( -6.578eV) - -2.7471999e-01 ( -7.476eV) - -3.0358991e-01 ( -8.261eV) - -3.2631421e-01 ( -8.880eV) - -3.4220877e-01 ( -9.312eV) - -== Center of Charge == - -spin up = ( 0.0000 -0.0000 -0.0000 ) -spin down = ( 0.0000 -0.0000 -0.0000 ) - total = ( 0.0000 -0.0000 -0.0000 ) -ionic = ( 0.0000 0.0000 47.3368 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( -0.0001 0.0000 2556.1878 ) au -|mu| = 2556.1878 au ( 6496.8070 Debye ) - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 3.833e-01 - main loop : 9.703e+00 - epilogue : 2.261e-03 - total : 1.009e+01 - cputime/step: 9.993e-03 ( 971 evaluations, 241 linesearches) - - Time spent doing total step percent - total time 1.218305e+01 1.254691e-02 100.00% - total FFT time 1.232095e+00 1.268893e-03 10.11% - lagrange multipliers 1.072657e-01 1.104693e-04 0.88% - local potentials 1.345550e-04 1.385736e-07 0.00% - non-local potentials 9.516212e-01 9.800424e-04 7.81% - ffm_dgemm 3.333505e-01 3.433063e-04 2.74% - fmf_dgemm 7.178644e-01 7.393042e-04 5.89% - m_diagonalize 2.038534e-02 2.099417e-05 0.17% - mmm_multiply 6.906521e-03 7.112792e-06 0.06% - SCVtrans 2.262612e-03 2.330187e-06 0.02% - - >>> job completed at Fri Feb 24 15:18:50 2023 <<< - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Fri Feb 24 15:18:50 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - writing formatted psp filename: ./W.vpp - psi grids are being converted: - -----------------------------: - converting .... psi:1 spin:1 - converting .... psi:2 spin:1 - converting .... psi:3 spin:1 - converting .... psi:4 spin:1 - converting .... psi:5 spin:1 - converting .... psi:6 spin:1 - converting .... psi:7 spin:1 - converting .... psi:8 spin:1 - converting .... psi:9 spin:1 - converting .... psi:10 spin:1 - converting .... psi:11 spin:1 - converting .... psi:12 spin:1 - converting .... psi:13 spin:1 - converting .... psi:14 spin:1 - converting .... psi:15 spin:1 - converting .... psi:16 spin:1 - converting .... psi:17 spin:1 - converting .... psi:18 spin:1 - converting .... psi:19 spin:1 - converting .... psi:20 spin:1 - converting .... psi:21 spin:1 - converting .... psi:22 spin:1 - converting .... psi:23 spin:1 - converting .... psi:24 spin:1 - converting .... psi:25 spin:1 - converting .... psi:26 spin:1 - converting .... psi:27 spin:1 - - input psi exists, reading from file: ./nwchemex.movecs - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 1 - processor grid : 1 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: W valence charge = 6.0 lmax =2 - comment = Troullier-Martins pseudopotential - pseudopotential type = 0 - highest angular component = 2 - local potential used = 0 - number of non-local projections = 8 - semicore corrections inlcuded = 1.800 (radius) 4.778 (charge) - cutoff = 2.389 3.185 2.244 - - total charge = 0.000 - - atom composition: - W : 9 - - initial ion positions (au): - 1 W ( 0.00000 0.00000 28.34589 ) - atomic mass = 183.951 - 2 W ( 0.00000 0.00000 33.09361 ) - atomic mass = 183.951 - 3 W ( 0.00000 0.00000 37.84133 ) - atomic mass = 183.951 - 4 W ( 0.00000 0.00000 42.58905 ) - atomic mass = 183.951 - 5 W ( 0.00000 0.00000 47.33677 ) - atomic mass = 183.951 - 6 W ( 0.00000 0.00000 52.08449 ) - atomic mass = 183.951 - 7 W ( 0.00000 0.00000 56.83220 ) - atomic mass = 183.951 - 8 W ( 0.00000 0.00000 61.57992 ) - atomic mass = 183.951 - 9 W ( 0.00000 0.00000 66.32764 ) - atomic mass = 183.951 - G.C. ( 0.00000 0.00000 47.33677 ) - C.O.M. ( 0.00000 0.00000 47.33677 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 27 ( 27 per task) down = 27 ( 27 per task) - - supercell: - volume = 2134.02 - lattice: a1 = < 4.748 0.000 0.000 > - a2 = < 0.000 4.748 0.000 > - a3 = < 0.000 0.000 94.674 > - reciprocal: b1 = < 1.323 0.000 0.000 > - b2 = < 0.000 1.323 0.000 > - b3 = < 0.000 0.000 0.066 > - lattice: a = 4.748 b = 4.748 c = 94.674 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 20.000 fft = 12 x 12 x 192 ( 4574 waves 4574 per task) - wavefnc cutoff = 10.000 fft = 12 x 12 x 192 ( 1654 waves 1654 per task) - - Ewald parameters: - energy cutoff = 20.000 fft = 12 x 12 x 192 ( 4574 waves 4574 per task) - Ewald summation: cut radius = 3.000 and 8 - Mandelung Wigner-Seitz =-28.56716969 (alpha =-46.05004769 rs = 7.98674752) - - technical parameters: - fixed step: time step = 0.10 ficticious mass = 400000.00 - tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:18:51 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - - 15 steepest descent iterations performed - 10 -9.275052119381e+01 -2.122242e-03 2.935377e-05 - 20 -9.275868040192e+01 -9.515326e-05 2.529918e-06 - 30 -9.275878712055e+01 -1.142202e-06 1.213725e-08 - 40 -9.275883858492e+01 -3.931136e-05 2.900787e-06 - 50 -9.275989368099e+01 -1.676866e-04 3.620223e-06 - 60 -9.276172965263e+01 -1.366180e-04 1.437493e-06 - 70 -9.276242641237e+01 -4.950588e-05 9.514774e-07 - 80 -9.276275885983e+01 -2.351096e-05 4.450692e-07 - 90 -9.276288269800e+01 -6.609562e-06 1.250224e-07 - 100 -9.276292451479e+01 -2.485196e-06 4.417831e-08 - 110 -9.276293769116e+01 -6.446969e-07 1.169540e-08 - 120 -9.276294176248e+01 -2.348768e-07 4.151375e-09 - 130 -9.276294233017e+01 -9.807081e-08 1.296479e-09 - *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:19:02 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 27.00000 down= 27.00000 (real space) - - - total energy : -9.2762942330e+01 ( -1.03070e+01 /ion) - total orbital energy: -5.0623378840e+00 ( -1.87494e-01 /electron) - hartree energy : 1.9260817620e+03 ( 7.13364e+01 /electron) - exc-corr energy : -4.3777835977e+01 ( -1.62140e+00 /electron) - ion-ion energy : 1.8531856136e+03 ( 2.05910e+02 /ion) - - kinetic (planewave) : 5.2807679120e+01 ( 1.95584e+00 /electron) - V_local (planewave) : -3.8274779701e+03 ( -1.41758e+02 /electron) - V_nl (planewave) : -5.3582190935e+01 ( -1.98453e+00 /electron) - V_Coul (planewave) : 3.8521635239e+03 ( 1.42673e+02 /electron) - V_xc (planewave) : -2.8973379949e+01 ( -1.07309e+00 /electron) - Viral Coefficient : -1.0958636692e+00 - - orbital energy: - 1.0091573e-01 ( 2.746eV) - 4.2336667e-02 ( 1.152eV) - 2.1250054e-02 ( 0.578eV) - -4.9936494e-03 ( -0.136eV) - -3.0518213e-02 ( -0.830eV) - -3.4502515e-02 ( -0.939eV) - -4.1369266e-02 ( -1.126eV) - -5.3099040e-02 ( -1.445eV) - -5.7197969e-02 ( -1.556eV) - -5.8820459e-02 ( -1.601eV) - -6.6577151e-02 ( -1.812eV) - -6.8252501e-02 ( -1.857eV) - -7.4315282e-02 ( -2.022eV) - -9.2483451e-02 ( -2.517eV) - -9.7091101e-02 ( -2.642eV) - -9.8701112e-02 ( -2.686eV) - -9.9172297e-02 ( -2.699eV) - -1.1503130e-01 ( -3.130eV) - -1.2350704e-01 ( -3.361eV) - -1.2461151e-01 ( -3.391eV) - -1.3767779e-01 ( -3.746eV) - -1.5539558e-01 ( -4.229eV) - -1.8177422e-01 ( -4.946eV) - -2.1054366e-01 ( -5.729eV) - -2.3653121e-01 ( -6.436eV) - -2.6484631e-01 ( -7.207eV) - -2.6865877e-01 ( -7.311eV) - -== Center of Charge == - -spin up = ( 0.0037 0.0007 0.0001 ) -spin down = ( 0.0037 0.0007 0.0001 ) - total = ( 0.0037 0.0007 0.0001 ) -ionic = ( 0.0000 0.0000 47.3368 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( -0.2017 -0.0359 2556.1810 ) au -|mu| = 2556.1810 au ( 6496.7896 Debye ) - - - Ion Forces (au): - 1 W ( -0.00665 -0.00100 -0.21569 ) - 2 W ( 0.00352 0.00053 -0.00769 ) - 3 W ( 0.00252 0.00038 -0.00345 ) - 4 W ( 0.00056 0.00009 0.00018 ) - 5 W ( 0.00014 0.00003 -0.00010 ) - 6 W ( 0.00056 0.00011 -0.00037 ) - 7 W ( 0.00249 0.00051 0.00324 ) - 8 W ( 0.00347 0.00072 0.00752 ) - 9 W ( -0.00655 -0.00135 0.21561 ) - - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 5.469e-01 - main loop : 1.180e+01 - epilogue : 2.687e-02 - total : 1.238e+01 - cputime/step: 2.689e-02 ( 439 evaluations, 124 linesearches) - - Time spent doing total step percent - total time 2.458279e+01 5.599725e-02 100.00% - total FFT time 2.459232e+00 5.601895e-03 10.00% - lagrange multipliers 1.624546e-01 3.700560e-04 0.66% - local potentials 5.490970e-04 1.250790e-06 0.00% - non-local potentials 2.201277e+00 5.014299e-03 8.95% - ffm_dgemm 8.148809e-01 1.856221e-03 3.31% - fmf_dgemm 1.682853e+00 3.833377e-03 6.85% - m_diagonalize 2.945842e-02 6.710345e-05 0.12% - mmm_multiply 9.795465e-03 2.231313e-05 0.04% - SCVtrans 3.374611e-03 7.687041e-06 0.01% - - >>> job completed at Fri Feb 24 15:19:02 2023 <<< - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Fri Feb 24 15:20:07 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - writing formatted psp filename: ./W.vpp - generating random psi from scratch - Warning - Gram-Schmidt being performed on psi2 - - exact norm = 12 norm=12.2903 corrected norm=12 (error=0.290271) - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 1 - processor grid : 1 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: W valence charge = 6.0 lmax =2 - comment = Troullier-Martins pseudopotential - pseudopotential type = 0 - highest angular component = 2 - local potential used = 0 - number of non-local projections = 8 - semicore corrections inlcuded = 1.800 (radius) 4.532 (charge) - cutoff = 2.389 3.185 2.244 - - total charge = 0.000 - - atom composition: - W : 2 - - initial ion positions (au): - 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 - 2 W ( 2.99088 2.99088 2.99088 ) - atomic mass = 183.951 - G.C. ( 1.49544 1.49544 1.49544 ) - C.O.M. ( 1.49544 1.49544 1.49544 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 6 ( 6 per task) down = 6 ( 6 per task) - - supercell: - volume = 214.04 - lattice: a1 = < 5.982 0.000 0.000 > - a2 = < 0.000 5.982 0.000 > - a3 = < 0.000 0.000 5.982 > - reciprocal: b1 = < 1.050 0.000 0.000 > - b2 = < 0.000 1.050 0.000 > - b3 = < 0.000 0.000 1.050 > - lattice: a = 5.982 b = 5.982 c = 5.982 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 10.000 fft = 10 x 10 x 10 ( 171 waves 171 per task) - wavefnc cutoff = 5.000 fft = 10 x 10 x 10 ( 62 waves 62 per task) - - Ewald parameters: - energy cutoff = 10.000 fft = 10 x 10 x 10 ( 171 waves 171 per task) - Ewald summation: cut radius = 3.000 and 8 - Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 3.71078182) - - technical parameters: - fixed step: time step = 0.10 ficticious mass = 400000.00 - tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:20:07 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - - 15 steepest descent iterations performed - 10 -1.674215046115e+01 -8.251196e-02 9.196301e-04 - 20 -1.749771236403e+01 -1.002147e-01 1.472766e-03 - 30 -1.823150320727e+01 -3.534576e-02 3.524284e-04 - 40 -1.846047982908e+01 -2.204551e-02 2.446432e-04 - 50 -1.868365376681e+01 -1.854154e-02 2.029002e-04 - 60 -1.881117950998e+01 -4.287319e-04 1.464725e-05 - 70 -1.881133499557e+01 -6.036766e-08 1.955112e-09 - *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:20:07 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 6.00000 down= 6.00000 (real space) - - - total energy : -1.8811334996e+01 ( -9.40567e+00 /ion) - total orbital energy: 6.3205159164e+00 ( 1.05342e+00 /electron) - hartree energy : 1.5018043194e-01 ( 2.50301e-02 /electron) - exc-corr energy : -9.2446725740e+00 ( -1.54078e+00 /electron) - ion-ion energy : -2.1902017722e+01 ( -1.09510e+01 /ion) - - kinetic (planewave) : 1.2028654702e+01 ( 2.00478e+00 /electron) - V_local (planewave) : 9.8433605672e+00 ( 1.64056e+00 /electron) - V_nl (planewave) : -9.6868404003e+00 ( -1.61447e+00 /electron) - V_Coul (planewave) : 3.0036086388e-01 ( 5.00601e-02 /electron) - V_xc (planewave) : -6.1650198159e+00 ( -1.02750e+00 /electron) - Viral Coefficient : -4.7454506982e-01 - - orbital energy: - 6.7570236e-01 ( 18.387eV) - 6.7570093e-01 ( 18.387eV) - 6.7569918e-01 ( 18.387eV) - 4.5449701e-01 ( 12.368eV) - 4.5449681e-01 ( 12.368eV) - 2.2416167e-01 ( 6.100eV) - -== Center of Charge == - -spin up = ( 0.0000 -0.0000 0.0000 ) -spin down = ( 0.0000 -0.0000 0.0000 ) - total = ( 0.0000 -0.0000 0.0000 ) -ionic = ( 1.4954 1.4954 1.4954 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( 17.9450 17.9453 17.9452 ) au -|mu| = 31.0820 au ( 78.9979 Debye ) - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 2.697e-02 - main loop : 1.105e-01 - epilogue : 2.850e-04 - total : 1.378e-01 - cputime/step: 3.933e-04 ( 281 evaluations, 69 linesearches) - - Time spent doing total step percent - total time 1.395954e-01 4.967806e-04 100.00% - total FFT time 2.252745e-02 8.016885e-05 16.14% - lagrange multipliers 2.573430e-04 9.158114e-07 0.18% - local potentials 3.645000e-06 1.297153e-08 0.00% - non-local potentials 1.679224e-03 5.975886e-06 1.20% - ffm_dgemm 5.371630e-04 1.911612e-06 0.38% - fmf_dgemm 7.437690e-04 2.646865e-06 0.53% - m_diagonalize 2.406510e-04 8.564093e-07 0.17% - mmm_multiply 4.706100e-05 1.674769e-07 0.03% - SCVtrans 4.836400e-05 1.721139e-07 0.03% - - >>> job completed at Fri Feb 24 15:20:07 2023 <<< - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Fri Feb 24 15:20:07 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - writing formatted psp filename: ./W.vpp - psi grids are being converted: - -----------------------------: - converting .... psi:1 spin:1 - converting .... psi:2 spin:1 - converting .... psi:3 spin:1 - converting .... psi:4 spin:1 - converting .... psi:5 spin:1 - converting .... psi:6 spin:1 - - input psi exists, reading from file: ./nwchemex.movecs - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 1 - processor grid : 1 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: W valence charge = 6.0 lmax =2 - comment = Troullier-Martins pseudopotential - pseudopotential type = 0 - highest angular component = 2 - local potential used = 0 - number of non-local projections = 8 - semicore corrections inlcuded = 1.800 (radius) 4.536 (charge) - cutoff = 2.389 3.185 2.244 - - total charge = 0.000 - - atom composition: - W : 2 - - initial ion positions (au): - 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 - 2 W ( 2.99088 2.99088 2.99088 ) - atomic mass = 183.951 - G.C. ( 1.49544 1.49544 1.49544 ) - C.O.M. ( 1.49544 1.49544 1.49544 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 6 ( 6 per task) down = 6 ( 6 per task) - - supercell: - volume = 214.04 - lattice: a1 = < 5.982 0.000 0.000 > - a2 = < 0.000 5.982 0.000 > - a3 = < 0.000 0.000 5.982 > - reciprocal: b1 = < 1.050 0.000 0.000 > - b2 = < 0.000 1.050 0.000 > - b3 = < 0.000 0.000 1.050 > - lattice: a = 5.982 b = 5.982 c = 5.982 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 20.000 fft = 14 x 14 x 14 ( 463 waves 463 per task) - wavefnc cutoff = 10.000 fft = 14 x 14 x 14 ( 171 waves 171 per task) - - Ewald parameters: - energy cutoff = 20.000 fft = 14 x 14 x 14 ( 463 waves 463 per task) - Ewald summation: cut radius = 3.000 and 8 - Mandelung Wigner-Seitz = 1.76011888 (alpha = 2.83729748 rs = 3.71078182) - - technical parameters: - fixed step: time step = 0.10 ficticious mass = 400000.00 - tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:20:07 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - - 15 steepest descent iterations performed - 10 -2.015461227870e+01 -1.152391e-06 1.541098e-08 - 20 -2.015461250697e+01 -6.884596e-08 1.359336e-09 - *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:20:07 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 6.00000 down= 6.00000 (real space) - - - total energy : -2.0154612507e+01 ( -1.00773e+01 /ion) - total orbital energy: 5.1934744194e+00 ( 8.65579e-01 /electron) - hartree energy : 2.9548501467e-01 ( 4.92475e-02 /electron) - exc-corr energy : -9.4995084169e+00 ( -1.58325e+00 /electron) - ion-ion energy : -2.1902017722e+01 ( -1.09510e+01 /ion) - - kinetic (planewave) : 1.4375731298e+01 ( 2.39596e+00 /electron) - V_local (planewave) : 1.1537789121e+01 ( 1.92296e+00 /electron) - V_nl (planewave) : -1.4962091802e+01 ( -2.49368e+00 /electron) - V_Coul (planewave) : 5.9097002933e-01 ( 9.84950e-02 /electron) - V_xc (planewave) : -6.3489242272e+00 ( -1.05815e+00 /electron) - Viral Coefficient : -6.3873320169e-01 - - orbital energy: - 5.4868319e-01 ( 14.931eV) - 5.4868125e-01 ( 14.930eV) - 5.4867927e-01 ( 14.930eV) - 3.7006985e-01 ( 10.070eV) - 3.7006983e-01 ( 10.070eV) - 2.1055382e-01 ( 5.730eV) - -== Center of Charge == - -spin up = ( 0.0000 -0.0000 0.0000 ) -spin down = ( 0.0000 -0.0000 0.0000 ) - total = ( 0.0000 -0.0000 0.0000 ) -ionic = ( 1.4954 1.4954 1.4954 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( 17.9452 17.9453 17.9453 ) au -|mu| = 31.0821 au ( 78.9982 Debye ) - - - Ion Forces (au): - 1 W ( 0.00000 -0.00000 0.00000 ) - 2 W ( 0.00000 -0.00000 0.00000 ) - - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 3.479e-02 - main loop : 6.340e-02 - epilogue : 7.400e-04 - total : 9.893e-02 - cputime/step: 1.196e-03 ( 53 evaluations, 12 linesearches) - - Time spent doing total step percent - total time 2.387721e-01 4.505133e-03 100.00% - total FFT time 4.329802e-02 8.169438e-04 18.13% - lagrange multipliers 3.635460e-04 6.859358e-06 0.15% - local potentials 1.191200e-05 2.247547e-07 0.00% - non-local potentials 2.695370e-03 5.085604e-05 1.13% - ffm_dgemm 7.719950e-04 1.456594e-05 0.32% - fmf_dgemm 1.109215e-03 2.092858e-05 0.46% - m_diagonalize 2.991510e-04 5.644358e-06 0.13% - mmm_multiply 5.592000e-05 1.055094e-06 0.02% - SCVtrans 5.805700e-05 1.095415e-06 0.02% - - >>> job completed at Fri Feb 24 15:20:07 2023 <<< - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Fri Feb 24 15:20:07 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - writing formatted psp filename: ./W.vpp - generating random psi from scratch - Warning - Gram-Schmidt being performed on psi2 - - exact norm = 24 norm=24.6349 corrected norm=24 (error=0.634911) - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 1 - processor grid : 1 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: W valence charge = 6.0 lmax =2 - comment = Troullier-Martins pseudopotential - pseudopotential type = 0 - highest angular component = 2 - local potential used = 0 - number of non-local projections = 8 - semicore corrections inlcuded = 1.800 (radius) 4.591 (charge) - cutoff = 2.389 3.185 2.244 - - total charge = 0.000 - - atom composition: - W : 4 - - initial ion positions (au): - 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 - 2 W ( 2.66457 0.00000 1.88413 ) - atomic mass = 183.951 - 3 W ( 2.66457 2.66457 3.76827 ) - atomic mass = 183.951 - 4 W ( 0.00000 2.66457 5.65240 ) - atomic mass = 183.951 - G.C. ( 1.33228 1.33228 2.82620 ) - C.O.M. ( 1.33228 1.33228 2.82620 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 12 ( 12 per task) down = 12 ( 12 per task) - - supercell: - volume = 214.04 - lattice: a1 = < 5.329 0.000 0.000 > - a2 = < 0.000 5.329 0.000 > - a3 = < 0.000 0.000 7.537 > - reciprocal: b1 = < 1.179 0.000 0.000 > - b2 = < 0.000 1.179 0.000 > - b3 = < 0.000 0.000 0.834 > - lattice: a = 5.329 b = 5.329 c = 7.537 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 10.000 fft = 10 x 10 x 12 ( 160 waves 160 per task) - wavefnc cutoff = 5.000 fft = 10 x 10 x 12 ( 62 waves 62 per task) - - Ewald parameters: - energy cutoff = 10.000 fft = 10 x 10 x 12 ( 160 waves 160 per task) - Ewald summation: cut radius = 3.000 and 8 - Mandelung Wigner-Seitz = 1.68382487 (alpha = 2.71431215 rs = 3.71078182) - - technical parameters: - fixed step: time step = 0.10 ficticious mass = 400000.00 - tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:20:07 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - - 15 steepest descent iterations performed - 10 -6.055830132329e+00 -3.950403e-02 1.828100e-06 - 20 -6.385809714715e+00 -3.894785e-02 1.758309e-06 - 30 -6.711168070530e+00 -3.840461e-02 1.691928e-06 - 40 -7.032007984384e+00 -3.787299e-02 1.628803e-06 - 50 -7.348421375629e+00 -3.735174e-02 1.568781e-06 - 60 -7.660489824954e+00 -3.683964e-02 1.511713e-06 - 70 -7.968285124894e+00 -3.633557e-02 1.457453e-06 - 80 -8.271869852255e+00 -3.583846e-02 1.405859e-06 - 90 -8.571297960274e+00 -3.534732e-02 1.356792e-06 - 100 -8.866615388055e+00 -3.486124e-02 1.310118e-06 - 110 -9.157860684583e+00 -3.437936e-02 1.265708e-06 - 120 -9.445065644289e+00 -3.390092e-02 1.223435e-06 - 130 -9.728255950944e+00 -3.342523e-02 1.183180e-06 - 140 -1.000745182635e+01 -3.295167e-02 1.144828e-06 - 150 -1.028266868013e+01 -3.247971e-02 1.108268e-06 - 160 -1.055391775670e+01 -3.200889e-02 1.073396e-06 - 170 -1.082120677550e+01 -3.153881e-02 1.040111e-06 - 180 -1.108454056030e+01 -3.106918e-02 1.008319e-06 - 190 -1.134392165365e+01 -3.059975e-02 9.779312e-07 - 200 -1.159935091250e+01 -3.013035e-02 9.488616e-07 - 210 -1.185082808097e+01 -2.966088e-02 9.210311e-07 - 220 -2.307658315652e+01 -2.660051e+00 3.534559e-02 - 230 -3.129825644760e+01 -8.384921e-02 8.831546e-04 - 240 -3.157478329913e+01 -8.501628e-03 7.365980e-05 - 250 -3.162757137408e+01 -3.007578e-03 8.118567e-04 - 260 -3.166852145652e+01 -6.760182e-03 2.472568e-03 - 270 -3.176521423332e+01 -6.489845e-03 3.635301e-04 - 280 -3.179220352327e+01 -2.631131e-05 6.062148e-07 - 290 -3.179228652997e+01 -8.831259e-07 3.208422e-08 - 300 -3.179228729957e+01 -5.132388e-08 1.166168e-09 - *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:20:09 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 12.00000 down= 12.00000 (real space) - - - total energy : -3.1792287300e+01 ( -7.94807e+00 /ion) - total orbital energy: 2.6841552423e+01 ( 2.23680e+00 /electron) - hartree energy : 8.0875740830e-01 ( 6.73965e-02 /electron) - exc-corr energy : -2.2041168198e+01 ( -1.83676e+00 /electron) - ion-ion energy : -5.1462581522e+01 ( -1.28656e+01 /ion) - - kinetic (planewave) : 3.6677604642e+01 ( 3.05647e+00 /electron) - V_local (planewave) : 3.8319838624e+01 ( 3.19332e+00 /electron) - V_nl (planewave) : -3.4094738254e+01 ( -2.84123e+00 /electron) - V_Coul (planewave) : 1.6175148166e+00 ( 1.34793e-01 /electron) - V_xc (planewave) : -1.5678667407e+01 ( -1.30656e+00 /electron) - Viral Coefficient : -2.6817597046e-01 - - orbital energy: - 1.4446153e+00 ( 39.310eV) - 1.4446141e+00 ( 39.310eV) - 1.2075227e+00 ( 32.859eV) - 1.2075208e+00 ( 32.859eV) - 1.2040031e+00 ( 32.763eV) - 1.1965068e+00 ( 32.559eV) - 1.1964933e+00 ( 32.558eV) - 1.0077700e+00 ( 27.423eV) - 9.8716725e-01 ( 26.862eV) - 8.7232872e-01 ( 23.737eV) - 8.7232366e-01 ( 23.737eV) - 7.7991047e-01 ( 21.223eV) - -== Center of Charge == - -spin up = ( -0.0000 0.0000 0.0000 ) -spin down = ( -0.0000 0.0000 0.0000 ) - total = ( -0.0000 0.0000 0.0000 ) -ionic = ( 1.3323 1.3323 2.8262 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( 31.9749 31.9747 67.8288 ) au -|mu| = 81.5200 au ( 207.1913 Debye ) - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 3.382e-02 - main loop : 1.646e+00 - epilogue : 2.230e-04 - total : 1.680e+00 - cputime/step: 1.023e-03 ( 1609 evaluations, 294 linesearches) - - Time spent doing total step percent - total time 1.920998e+00 1.193908e-03 100.00% - total FFT time 1.960416e-01 1.218406e-04 10.21% - lagrange multipliers 3.914261e-03 2.432729e-06 0.20% - local potentials 1.610100e-05 1.000684e-08 0.00% - non-local potentials 3.058647e-02 1.900961e-05 1.59% - ffm_dgemm 1.031510e-02 6.410878e-06 0.54% - fmf_dgemm 1.689123e-02 1.049797e-05 0.88% - m_diagonalize 3.920411e-03 2.436551e-06 0.20% - mmm_multiply 1.054590e-03 6.554319e-07 0.05% - SCVtrans 6.705100e-04 4.167247e-07 0.03% - - >>> job completed at Fri Feb 24 15:20:09 2023 <<< - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Fri Feb 24 15:20:09 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - writing formatted psp filename: ./W.vpp - psi grids are being converted: - -----------------------------: - converting .... psi:1 spin:1 - converting .... psi:2 spin:1 - converting .... psi:3 spin:1 - converting .... psi:4 spin:1 - converting .... psi:5 spin:1 - converting .... psi:6 spin:1 - converting .... psi:7 spin:1 - converting .... psi:8 spin:1 - converting .... psi:9 spin:1 - converting .... psi:10 spin:1 - converting .... psi:11 spin:1 - converting .... psi:12 spin:1 - - input psi exists, reading from file: ./nwchemex.movecs - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 1 - processor grid : 1 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: W valence charge = 6.0 lmax =2 - comment = Troullier-Martins pseudopotential - pseudopotential type = 0 - highest angular component = 2 - local potential used = 0 - number of non-local projections = 8 - semicore corrections inlcuded = 1.800 (radius) 4.595 (charge) - cutoff = 2.389 3.185 2.244 - - total charge = 0.000 - - atom composition: - W : 4 - - initial ion positions (au): - 1 W ( 0.00000 0.00000 0.00000 ) - atomic mass = 183.951 - 2 W ( 2.66457 0.00000 1.88413 ) - atomic mass = 183.951 - 3 W ( 2.66457 2.66457 3.76827 ) - atomic mass = 183.951 - 4 W ( 0.00000 2.66457 5.65240 ) - atomic mass = 183.951 - G.C. ( 1.33228 1.33228 2.82620 ) - C.O.M. ( 1.33228 1.33228 2.82620 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 12 ( 12 per task) down = 12 ( 12 per task) - - supercell: - volume = 214.04 - lattice: a1 = < 5.329 0.000 0.000 > - a2 = < 0.000 5.329 0.000 > - a3 = < 0.000 0.000 7.537 > - reciprocal: b1 = < 1.179 0.000 0.000 > - b2 = < 0.000 1.179 0.000 > - b3 = < 0.000 0.000 0.834 > - lattice: a = 5.329 b = 5.329 c = 7.537 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 20.000 fft = 12 x 12 x 16 ( 460 waves 460 per task) - wavefnc cutoff = 10.000 fft = 12 x 12 x 16 ( 160 waves 160 per task) - - Ewald parameters: - energy cutoff = 20.000 fft = 12 x 12 x 16 ( 460 waves 460 per task) - Ewald summation: cut radius = 3.000 and 8 - Mandelung Wigner-Seitz = 1.68382487 (alpha = 2.71431215 rs = 3.71078182) - - technical parameters: - fixed step: time step = 0.10 ficticious mass = 400000.00 - tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:20:09 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - - 15 steepest descent iterations performed - 10 -3.617033061710e+01 -3.447767e-05 2.051315e-07 - 20 -3.617035193509e+01 -9.144932e-08 2.233123e-09 - *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:20:09 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 12.00000 down= 12.00000 (real space) - - - total energy : -3.6170351935e+01 ( -9.04259e+00 /ion) - total orbital energy: 2.3048851372e+01 ( 1.92074e+00 /electron) - hartree energy : 1.2466960309e+00 ( 1.03891e-01 /electron) - exc-corr energy : -2.2474177760e+01 ( -1.87285e+00 /electron) - ion-ion energy : -5.1462581522e+01 ( -1.28656e+01 /ion) - - kinetic (planewave) : 4.2172537419e+01 ( 3.51438e+00 /electron) - V_local (planewave) : 4.2389901334e+01 ( 3.53249e+00 /electron) - V_nl (planewave) : -4.8042727436e+01 ( -4.00356e+00 /electron) - V_Coul (planewave) : 2.4933920618e+00 ( 2.07783e-01 /electron) - V_xc (planewave) : -1.5964252007e+01 ( -1.33035e+00 /electron) - Viral Coefficient : -4.5346301687e-01 - - orbital energy: - 1.2694201e+00 ( 34.543eV) - 1.2694200e+00 ( 34.543eV) - 1.0542936e+00 ( 28.689eV) - 1.0542930e+00 ( 28.689eV) - 1.0521347e+00 ( 28.630eV) - 1.0163764e+00 ( 27.657eV) - 1.0163729e+00 ( 27.657eV) - 8.0982926e-01 ( 22.037eV) - 7.9408393e-01 ( 21.608eV) - 7.3283710e-01 ( 19.942eV) - 7.2768246e-01 ( 19.801eV) - 7.2768240e-01 ( 19.801eV) - -== Center of Charge == - -spin up = ( -0.0000 0.0000 -0.0000 ) -spin down = ( -0.0000 0.0000 -0.0000 ) - total = ( -0.0000 0.0000 -0.0000 ) -ionic = ( 1.3323 1.3323 2.8262 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( 31.9748 31.9748 67.8288 ) au -|mu| = 81.5201 au ( 207.1914 Debye ) - - - Ion Forces (au): - 1 W ( -0.00006 0.00001 0.00000 ) - 2 W ( -0.00006 0.00001 -0.00000 ) - 3 W ( 0.00005 -0.00001 0.00000 ) - 4 W ( 0.00006 -0.00001 -0.00000 ) - - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 4.026e-02 - main loop : 9.175e-02 - epilogue : 1.533e-03 - total : 1.335e-01 - cputime/step: 1.390e-03 ( 66 evaluations, 16 linesearches) - - Time spent doing total step percent - total time 2.054788e+00 3.113315e-02 100.00% - total FFT time 2.072722e-01 3.140488e-03 10.09% - lagrange multipliers 4.277675e-03 6.481326e-05 0.21% - local potentials 3.325500e-05 5.038636e-07 0.00% - non-local potentials 3.383816e-02 5.126994e-04 1.65% - ffm_dgemm 1.137015e-02 1.722750e-04 0.55% - fmf_dgemm 1.860525e-02 2.818978e-04 0.91% - m_diagonalize 4.147088e-03 6.283467e-05 0.20% - mmm_multiply 1.097756e-03 1.663267e-05 0.05% - SCVtrans 6.952610e-04 1.053426e-05 0.03% - - >>> job completed at Fri Feb 24 15:20:09 2023 <<< - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Fri Feb 24 15:20:09 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - writing formatted psp filename: ./W.vpp - generating random psi from scratch - Warning - Gram-Schmidt being performed on psi2 - - exact norm = 54 norm=55.9896 corrected norm=54 (error=1.98964) - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 1 - processor grid : 1 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: W valence charge = 6.0 lmax =2 - comment = Troullier-Martins pseudopotential - pseudopotential type = 0 - highest angular component = 2 - local potential used = 0 - number of non-local projections = 8 - semicore corrections inlcuded = 1.800 (radius) 4.774 (charge) - cutoff = 2.389 3.185 2.244 - - total charge = 0.000 - - atom composition: - W : 9 - - initial ion positions (au): - 1 W ( 0.00000 0.00000 28.34589 ) - atomic mass = 183.951 - 2 W ( 0.00000 0.00000 33.09361 ) - atomic mass = 183.951 - 3 W ( 0.00000 0.00000 37.84133 ) - atomic mass = 183.951 - 4 W ( 0.00000 0.00000 42.58905 ) - atomic mass = 183.951 - 5 W ( 0.00000 0.00000 47.33676 ) - atomic mass = 183.951 - 6 W ( 0.00000 0.00000 52.08448 ) - atomic mass = 183.951 - 7 W ( 0.00000 0.00000 56.83220 ) - atomic mass = 183.951 - 8 W ( 0.00000 0.00000 61.57992 ) - atomic mass = 183.951 - 9 W ( 0.00000 0.00000 66.32764 ) - atomic mass = 183.951 - G.C. ( 0.00000 0.00000 47.33676 ) - C.O.M. ( 0.00000 0.00000 47.33676 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 27 ( 27 per task) down = 27 ( 27 per task) - - supercell: - volume = 2134.02 - lattice: a1 = < 4.748 0.000 0.000 > - a2 = < 0.000 4.748 0.000 > - a3 = < 0.000 0.000 94.674 > - reciprocal: b1 = < 1.323 0.000 0.000 > - b2 = < 0.000 1.323 0.000 > - b3 = < 0.000 0.000 0.066 > - lattice: a = 4.748 b = 4.748 c = 94.674 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 10.000 fft = 8 x 8 x 140 ( 1654 waves 1654 per task) - wavefnc cutoff = 5.000 fft = 8 x 8 x 140 ( 614 waves 614 per task) - - Ewald parameters: - energy cutoff = 10.000 fft = 8 x 8 x 140 ( 1654 waves 1654 per task) - Ewald summation: cut radius = 3.000 and 8 - Mandelung Wigner-Seitz =-28.56716969 (alpha =-46.05004769 rs = 7.98674752) - - technical parameters: - fixed step: time step = 0.10 ficticious mass = 400000.00 - tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:20:09 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - - 15 steepest descent iterations performed - 10 -1.537543929874e+01 -2.016560e+00 3.077105e-03 - 20 -3.254785807349e+01 -1.663493e+00 2.853796e-03 - 30 -4.810772454500e+01 -1.411329e+00 2.524724e-03 - 40 -5.924331815603e+01 -8.722325e-01 1.601473e-03 - 50 -6.598737094914e+01 -5.386274e-01 1.018644e-03 - 60 -7.047458695974e+01 -3.842901e-01 7.275415e-04 - 70 -7.391410353045e+01 -3.094978e-01 5.927380e-04 - 80 -7.675659679950e+01 -2.575519e-01 5.074834e-04 - 90 -7.908051946463e+01 -2.066346e-01 4.202545e-04 - 100 -8.091371386799e+01 -1.620794e-01 3.417256e-04 - 110 -8.236293503847e+01 -1.299053e-01 2.852820e-04 - 120 -8.354092927149e+01 -1.068684e-01 2.434477e-04 - 130 -8.451154165098e+01 -8.805956e-02 2.067634e-04 - 140 -8.530664269190e+01 -7.198981e-02 1.738582e-04 - 150 -8.596030731896e+01 -5.983311e-02 1.488597e-04 - 160 -8.651711846167e+01 -5.225598e-02 1.343065e-04 - 170 -8.701856676886e+01 -4.832242e-02 1.282183e-04 - 180 -8.748424331332e+01 -4.442332e-02 1.222405e-04 - 190 -8.787610642248e+01 -3.338040e-02 9.947921e-05 - 200 -8.811847068979e+01 -1.693656e-02 5.903923e-05 - 210 -8.830054273921e+01 -3.581922e-03 6.916884e-05 - 220 -8.831280544154e+01 -5.396840e-05 7.863732e-07 - 230 -8.831301827046e+01 -3.445163e-06 4.311563e-08 - 240 -8.831302766242e+01 -1.599960e-07 7.829532e-10 - 250 -8.831302775935e+01 -9.692576e-08 4.617615e-10 - *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:20:19 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 27.00000 down= 27.00000 (real space) - - - total energy : -8.8313027759e+01 ( -9.81256e+00 /ion) - total orbital energy: -5.1543739929e+00 ( -1.90903e-01 /electron) - hartree energy : 1.9217358728e+03 ( 7.11754e+01 /electron) - exc-corr energy : -4.2845603491e+01 ( -1.58687e+00 /electron) - ion-ion energy : 1.8531858410e+03 ( 2.05910e+02 /ion) - - kinetic (planewave) : 4.3121050224e+01 ( 1.59708e+00 /electron) - V_local (planewave) : -3.8291999293e+03 ( -1.41822e+02 /electron) - V_nl (planewave) : -3.4310258960e+01 ( -1.27075e+00 /electron) - V_Coul (planewave) : 3.8434717456e+03 ( 1.42351e+02 /electron) - V_xc (planewave) : -2.8236981532e+01 ( -1.04581e+00 /electron) - Viral Coefficient : -1.1195326637e+00 - - orbital energy: - 1.2651002e-01 ( 3.443eV) - 1.8839147e-02 ( 0.513eV) - 1.5118032e-02 ( 0.411eV) - -2.7745187e-03 ( -0.075eV) - -4.3030191e-03 ( -0.117eV) - -4.6545708e-03 ( -0.127eV) - -1.4954346e-02 ( -0.407eV) - -1.6336988e-02 ( -0.445eV) - -2.5371336e-02 ( -0.690eV) - -3.3327415e-02 ( -0.907eV) - -3.4658629e-02 ( -0.943eV) - -4.4732074e-02 ( -1.217eV) - -5.0668501e-02 ( -1.379eV) - -5.6656231e-02 ( -1.542eV) - -5.6949941e-02 ( -1.550eV) - -6.8047676e-02 ( -1.852eV) - -9.2316879e-02 ( -2.512eV) - -9.7184443e-02 ( -2.645eV) - -1.2662593e-01 ( -3.446eV) - -1.4011181e-01 ( -3.813eV) - -1.7225396e-01 ( -4.687eV) - -2.0713982e-01 ( -5.637eV) - -2.4175322e-01 ( -6.578eV) - -2.7471999e-01 ( -7.476eV) - -3.0358991e-01 ( -8.261eV) - -3.2631421e-01 ( -8.880eV) - -3.4220877e-01 ( -9.312eV) - -== Center of Charge == - -spin up = ( 0.0000 -0.0000 -0.0000 ) -spin down = ( 0.0000 -0.0000 -0.0000 ) - total = ( 0.0000 -0.0000 -0.0000 ) -ionic = ( 0.0000 0.0000 47.3368 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( -0.0001 0.0000 2556.1878 ) au -|mu| = 2556.1878 au ( 6496.8070 Debye ) - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 3.187e-01 - main loop : 9.670e+00 - epilogue : 2.445e-03 - total : 9.991e+00 - cputime/step: 9.959e-03 ( 971 evaluations, 241 linesearches) - - Time spent doing total step percent - total time 1.204904e+01 1.240890e-02 100.00% - total FFT time 1.224732e+00 1.261310e-03 10.16% - lagrange multipliers 1.105284e-01 1.138294e-04 0.92% - local potentials 1.142570e-04 1.176694e-07 0.00% - non-local potentials 9.456276e-01 9.738699e-04 7.85% - ffm_dgemm 3.384693e-01 3.485780e-04 2.81% - fmf_dgemm 7.139291e-01 7.352514e-04 5.93% - m_diagonalize 2.069621e-02 2.131433e-05 0.17% - mmm_multiply 6.767109e-03 6.969216e-06 0.06% - SCVtrans 2.193267e-03 2.258771e-06 0.02% - - >>> job completed at Fri Feb 24 15:20:19 2023 <<< - ***************************************************** - * * - * PWDFT PSPW Calculation * - * * - * [ (Grassmann/Stiefel manifold implementation) ] * - * [ C++ implementation ] * - * * - * version #7.00 02/27/21 * - * * - * This code was developed by Eric J. Bylaska, * - * Abhishek Bagusetty, David H. Bross, ... * - * * - ***************************************************** - >>> job started at Fri Feb 24 15:20:19 2023 <<< - - psp_library: /home/sjplimp/nwchem/PWDFT/Nwpw/libraryps - - - - writing formatted psp filename: ./W.vpp - psi grids are being converted: - -----------------------------: - converting .... psi:1 spin:1 - converting .... psi:2 spin:1 - converting .... psi:3 spin:1 - converting .... psi:4 spin:1 - converting .... psi:5 spin:1 - converting .... psi:6 spin:1 - converting .... psi:7 spin:1 - converting .... psi:8 spin:1 - converting .... psi:9 spin:1 - converting .... psi:10 spin:1 - converting .... psi:11 spin:1 - converting .... psi:12 spin:1 - converting .... psi:13 spin:1 - converting .... psi:14 spin:1 - converting .... psi:15 spin:1 - converting .... psi:16 spin:1 - converting .... psi:17 spin:1 - converting .... psi:18 spin:1 - converting .... psi:19 spin:1 - converting .... psi:20 spin:1 - converting .... psi:21 spin:1 - converting .... psi:22 spin:1 - converting .... psi:23 spin:1 - converting .... psi:24 spin:1 - converting .... psi:25 spin:1 - converting .... psi:26 spin:1 - converting .... psi:27 spin:1 - - input psi exists, reading from file: ./nwchemex.movecs - - ============== summary of input ================== - - input psi filename: ./nwchemex.movecs - - number of processors used: 1 - processor grid : 1 x1 - parallel mapping : 2d-hcurve - parallel mapping : balanced - - options: - boundary conditions = periodic - electron spin = restricted - exchange-correlation = PBE96 (White and Bird) parameterization - - elements involved in the cluster: - 1: W valence charge = 6.0 lmax =2 - comment = Troullier-Martins pseudopotential - pseudopotential type = 0 - highest angular component = 2 - local potential used = 0 - number of non-local projections = 8 - semicore corrections inlcuded = 1.800 (radius) 4.778 (charge) - cutoff = 2.389 3.185 2.244 - - total charge = 0.000 - - atom composition: - W : 9 - - initial ion positions (au): - 1 W ( 0.00000 0.00000 28.34589 ) - atomic mass = 183.951 - 2 W ( 0.00000 0.00000 33.09361 ) - atomic mass = 183.951 - 3 W ( 0.00000 0.00000 37.84133 ) - atomic mass = 183.951 - 4 W ( 0.00000 0.00000 42.58905 ) - atomic mass = 183.951 - 5 W ( 0.00000 0.00000 47.33677 ) - atomic mass = 183.951 - 6 W ( 0.00000 0.00000 52.08449 ) - atomic mass = 183.951 - 7 W ( 0.00000 0.00000 56.83220 ) - atomic mass = 183.951 - 8 W ( 0.00000 0.00000 61.57992 ) - atomic mass = 183.951 - 9 W ( 0.00000 0.00000 66.32764 ) - atomic mass = 183.951 - G.C. ( 0.00000 0.00000 47.33677 ) - C.O.M. ( 0.00000 0.00000 47.33677 ) - - real space Electric field: - Electric Field (au) = ( 0.00000 0.00000 0.00000 ) - Center (au) = ( 0.00000 0.00000 0.00000 ) - - - number of electrons: spin up = 27 ( 27 per task) down = 27 ( 27 per task) - - supercell: - volume = 2134.02 - lattice: a1 = < 4.748 0.000 0.000 > - a2 = < 0.000 4.748 0.000 > - a3 = < 0.000 0.000 94.674 > - reciprocal: b1 = < 1.323 0.000 0.000 > - b2 = < 0.000 1.323 0.000 > - b3 = < 0.000 0.000 0.066 > - lattice: a = 4.748 b = 4.748 c = 94.674 - alpha = 90.000 beta = 90.000 gamma = 90.000 - density cutoff = 20.000 fft = 12 x 12 x 192 ( 4574 waves 4574 per task) - wavefnc cutoff = 10.000 fft = 12 x 12 x 192 ( 1654 waves 1654 per task) - - Ewald parameters: - energy cutoff = 20.000 fft = 12 x 12 x 192 ( 4574 waves 4574 per task) - Ewald summation: cut radius = 3.000 and 8 - Mandelung Wigner-Seitz =-28.56716969 (alpha =-46.05004769 rs = 7.98674752) - - technical parameters: - fixed step: time step = 0.10 ficticious mass = 400000.00 - tolerance = 1.000e-07 (energy) 1.000e-07 (density) 1.000e-04 (ion) - max iterations = 1000 ( 10 inner 100 outer) - minimizer = Grassmann conjugate gradient - - - - ============ Grassmann conjugate gradient iteration ============ - >>> iteration started at Fri Feb 24 15:20:19 2023 <<< - iter. Energy DeltaE DeltaRho - ---------------------------------------------------------------- - - 15 steepest descent iterations performed - 10 -9.275052119381e+01 -2.122242e-03 2.935377e-05 - 20 -9.275868040192e+01 -9.515326e-05 2.529918e-06 - 30 -9.275878712055e+01 -1.142202e-06 1.213725e-08 - 40 -9.275883858492e+01 -3.931136e-05 2.900787e-06 - 50 -9.275989368099e+01 -1.676866e-04 3.620223e-06 - 60 -9.276172965263e+01 -1.366180e-04 1.437493e-06 - 70 -9.276242641237e+01 -4.950588e-05 9.514774e-07 - 80 -9.276275885983e+01 -2.351096e-05 4.450692e-07 - 90 -9.276288269800e+01 -6.609562e-06 1.250224e-07 - 100 -9.276292451479e+01 -2.485196e-06 4.417831e-08 - 110 -9.276293769116e+01 -6.446969e-07 1.169540e-08 - 120 -9.276294176248e+01 -2.348768e-07 4.151375e-09 - 130 -9.276294233017e+01 -9.807081e-08 1.296479e-09 - *** tolerance ok. iteration terminated - >>> iteration ended at Fri Feb 24 15:20:31 2023 <<< - - ============== energy results (Molecule object) ============== - - - number of electrons: spin up= 27.00000 down= 27.00000 (real space) - - - total energy : -9.2762942330e+01 ( -1.03070e+01 /ion) - total orbital energy: -5.0623378840e+00 ( -1.87494e-01 /electron) - hartree energy : 1.9260817620e+03 ( 7.13364e+01 /electron) - exc-corr energy : -4.3777835977e+01 ( -1.62140e+00 /electron) - ion-ion energy : 1.8531856136e+03 ( 2.05910e+02 /ion) - - kinetic (planewave) : 5.2807679120e+01 ( 1.95584e+00 /electron) - V_local (planewave) : -3.8274779701e+03 ( -1.41758e+02 /electron) - V_nl (planewave) : -5.3582190935e+01 ( -1.98453e+00 /electron) - V_Coul (planewave) : 3.8521635239e+03 ( 1.42673e+02 /electron) - V_xc (planewave) : -2.8973379949e+01 ( -1.07309e+00 /electron) - Viral Coefficient : -1.0958636692e+00 - - orbital energy: - 1.0091573e-01 ( 2.746eV) - 4.2336667e-02 ( 1.152eV) - 2.1250054e-02 ( 0.578eV) - -4.9936494e-03 ( -0.136eV) - -3.0518213e-02 ( -0.830eV) - -3.4502515e-02 ( -0.939eV) - -4.1369266e-02 ( -1.126eV) - -5.3099040e-02 ( -1.445eV) - -5.7197969e-02 ( -1.556eV) - -5.8820459e-02 ( -1.601eV) - -6.6577151e-02 ( -1.812eV) - -6.8252501e-02 ( -1.857eV) - -7.4315282e-02 ( -2.022eV) - -9.2483451e-02 ( -2.517eV) - -9.7091101e-02 ( -2.642eV) - -9.8701112e-02 ( -2.686eV) - -9.9172297e-02 ( -2.699eV) - -1.1503130e-01 ( -3.130eV) - -1.2350704e-01 ( -3.361eV) - -1.2461151e-01 ( -3.391eV) - -1.3767779e-01 ( -3.746eV) - -1.5539558e-01 ( -4.229eV) - -1.8177422e-01 ( -4.946eV) - -2.1054366e-01 ( -5.729eV) - -2.3653121e-01 ( -6.436eV) - -2.6484631e-01 ( -7.207eV) - -2.6865877e-01 ( -7.311eV) - -== Center of Charge == - -spin up = ( 0.0037 0.0007 0.0001 ) -spin down = ( 0.0037 0.0007 0.0001 ) - total = ( 0.0037 0.0007 0.0001 ) -ionic = ( 0.0000 0.0000 47.3368 ) - -== Molecular Dipole wrt Center of Mass == - -mu = ( -0.2017 -0.0359 2556.1810 ) au -|mu| = 2556.1810 au ( 6496.7896 Debye ) - - - Ion Forces (au): - 1 W ( -0.00665 -0.00100 -0.21569 ) - 2 W ( 0.00352 0.00053 -0.00769 ) - 3 W ( 0.00252 0.00038 -0.00345 ) - 4 W ( 0.00056 0.00009 0.00018 ) - 5 W ( 0.00014 0.00003 -0.00010 ) - 6 W ( 0.00056 0.00011 -0.00037 ) - 7 W ( 0.00249 0.00051 0.00324 ) - 8 W ( 0.00347 0.00072 0.00752 ) - 9 W ( -0.00655 -0.00135 0.21561 ) - - - output psi to filename: ./nwchemex.movecs - - ----------------- - cputime in seconds - prologue : 5.446e-01 - main loop : 1.186e+01 - epilogue : 2.640e-02 - total : 1.244e+01 - cputime/step: 2.703e-02 ( 439 evaluations, 124 linesearches) - - Time spent doing total step percent - total time 2.449926e+01 5.580697e-02 100.00% - total FFT time 2.455086e+00 5.592451e-03 10.02% - lagrange multipliers 1.675931e-01 3.817611e-04 0.68% - local potentials 5.291750e-04 1.205410e-06 0.00% - non-local potentials 2.198267e+00 5.007442e-03 8.97% - ffm_dgemm 8.172981e-01 1.861727e-03 3.34% - fmf_dgemm 1.676412e+00 3.818707e-03 6.84% - m_diagonalize 2.979409e-02 6.786809e-05 0.12% - mmm_multiply 9.669247e-03 2.202562e-05 0.04% - SCVtrans 3.365135e-03 7.665456e-06 0.01% - - >>> job completed at Fri Feb 24 15:20:31 2023 <<< diff --git a/examples/QUANTUM/NWChem/log.24Feb23.series.w.bcc_222.1 b/examples/QUANTUM/NWChem/log.24Feb23.series.w.bcc_222.1 deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/examples/QUANTUM/NWChem/log.24Feb23.series.w.fcc_001.1 b/examples/QUANTUM/NWChem/log.24Feb23.series.w.fcc_001.1 deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/examples/QUANTUM/NWChem/nwchem_mdi.py b/examples/QUANTUM/NWChem/nwchem_mdi.py index 0eed404348..170a15c732 100644 --- a/examples/QUANTUM/NWChem/nwchem_mdi.py +++ b/examples/QUANTUM/NWChem/nwchem_mdi.py @@ -8,7 +8,7 @@ from ctypes import * import numpy as np from mpi4py import MPI -import MDI_Library as mdi +import mdi as mdi # -------------------------------------------- diff --git a/examples/QUANTUM/PySCF/README b/examples/QUANTUM/PySCF/README index d0b0bd00c6..4c4b5c5858 100644 --- a/examples/QUANTUM/PySCF/README +++ b/examples/QUANTUM/PySCF/README @@ -2,7 +2,7 @@ Step 0: What PySCF currently supports Step 1: Build LAMMPS -Step 2: Download/build MDI code coupling package +Step 2: Install or download/build MDI code coupling package Step 3: Download/build PySCF Step 4: Perform test runs in any of 3 modes @@ -66,37 +66,76 @@ CMake: --------------------------------- --------------------------------- -Step 2: Install MDI code coupling python module +Step 2: Install or download/build MDI code coupling package -You can install MDI in your Python environment via conda: +To simply use the MDI python module for the example scripts in this +dir, you only need to install the MDI python module in your +environment. Alternatively, you can download/build MDI itself, which +will include its documentation and examples (as well as libraries and +Python interface). + +NOTE: It should be fine to leave off the version number for the python +module installs, to just grab the latest MDI version. 1.4.16 is the +version of MDI LAMMPS is currently using. + +(option 1) Install MDI python module via conda: % conda install -c conda-forge pymdi=1.4.16 -or via pip: +(option 2) Install MDI python module via pip: % pip install 'pymdi>=1.4.14' -It is likely fine to leave off the version number, to get the latest -MDI version. 1.4.16 is the version LAMMPS is currently using. +(option 3) Download/build MDI code coupling package + +(a) clone the MDI Git repo + +% mkdir mdi; cd mdi +% git clone git@github.com:MolSSI-MDI/MDI_Library.git git + +(b) build MDI + +% cd mdi/git +% mkdir build; cd build +% cmake .. +% make -j + +(c) Add a line like this to your ~/.bashrc or ~/.cshrc file so that +Python can find MDI: + +For bash: + +% export PYTHONPATH="$PYTHONPATH:/home/sjplimp/mdi/git/build/MDI_Library" +% hash -r + +For (t)csh: + +% setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/mdi/git/build/MDI_Library +% rehash --------------------------------- --------------------------------- Step 3: Download/build PySCF -See https://pyscf.org/install.html for install options. -This describes building PySCF from source code. +NOTE: As of March 2023, this PySCF repo is a fork of the main PySCF +repo. This fork has some additional features. It will be merged into +the main PySCF repo at some point in the future. This doc page will +be updated when that happens. + +This section describes building PySCF from source code. +See https://pyscf.org/install.html for other options. (a) clone the PySCF Git repo % mkdir pyscf; cd pyscf -% git clone https://github.com/pyscf/pyscf.git git +% git clone git@github.com:MoleOrbitalHybridAnalyst/pyscf.git git (b) build PySCF NOTE: you will also need numpy, scipy, h5py in your python -% cd pyscf/git/lib +% cd pyscf/git/pyscf/git/lib % mkdir build; cd build % cmake .. % make -j diff --git a/examples/QUANTUM/PySCF/log.22Mar23.mixture.mm.1 b/examples/QUANTUM/PySCF/log.22Mar23.mixture.mm.1 new file mode 100644 index 0000000000..8713842e08 --- /dev/null +++ b/examples/QUANTUM/PySCF/log.22Mar23.mixture.mm.1 @@ -0,0 +1,112 @@ +LAMMPS (22 Dec 2022) +# mixture example + +units real +atom_style full + +pair_style lj/cut/coul/long 12 +pair_modify mix arithmetic + +bond_style harmonic +angle_style harmonic +dihedral_style none +improper_style none + +kspace_style pppm 1e-5 + +read_data data.mixture +Reading data file ... + orthogonal box = (0 0 0) to (31.351877 31.351877 31.351877) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 3081 atoms + reading velocities ... + 3081 velocities + scanning bonds ... + 4 = max bonds/atom + scanning angles ... + 6 = max angles/atom + reading bonds ... + 2055 bonds + reading angles ... + 1033 angles +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 4 = max # of 1-2 neighbors + 3 = max # of 1-3 neighbors + 3 = max # of 1-4 neighbors + 4 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.012 seconds + +neighbor 2.0 bin +neigh_modify delay 0 every 1 check yes + +# MM dynamics + +timestep 0.01 + +fix 1 all nve + +thermo_style custom step cpu temp ke evdwl ecoul epair emol elong pe etotal press + +thermo 10 +run 20 +PPPM initialization ... + using 12-bit tables for long-range coulomb (../kspace.cpp:342) + G vector (1/distance) = 0.25751777 + grid = 24 24 24 + stencil order = 5 + estimated absolute RMS force accuracy = 0.0020473396 + estimated relative force accuracy = 6.1655023e-06 + using double precision KISS FFT + 3d grid and FFT values/proc = 29791 13824 +Generated 21 of 21 mixed pair_coeff terms from arithmetic mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 5 5 5 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 26.76 | 26.76 | 26.76 Mbytes + Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long PotEng TotEng Press + 0 0 0 0 2164.0602 35284.412 -12356.063 863.67442 -49804.536 -11492.389 -11492.389 -4362.0189 + 10 0.14354809 0.0049877709 0.0457922 2164.0602 35284.445 -12356.031 863.59574 -49804.536 -11492.435 -11492.389 -4360.2561 + 20 0.28788199 0.019888006 0.1825897 2164.0599 35284.545 -12355.932 863.36047 -49804.537 -11492.572 -11492.389 -4354.9791 +Loop time of 0.2879 on 1 procs for 20 steps with 3081 atoms + +Performance: 0.060 ns/day, 399.861 hours/ns, 69.469 timesteps/s, 214.033 katom-step/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.25532 | 0.25532 | 0.25532 | 0.0 | 88.69 +Bond | 0.00081079 | 0.00081079 | 0.00081079 | 0.0 | 0.28 +Kspace | 0.03016 | 0.03016 | 0.03016 | 0.0 | 10.48 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.00095451 | 0.00095451 | 0.00095451 | 0.0 | 0.33 +Output | 4.579e-05 | 4.579e-05 | 4.579e-05 | 0.0 | 0.02 +Modify | 0.00029651 | 0.00029651 | 0.00029651 | 0.0 | 0.10 +Other | | 0.0003077 | | | 0.11 + +Nlocal: 3081 ave 3081 max 3081 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 17741 ave 17741 max 17741 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 1.77144e+06 ave 1.77144e+06 max 1.77144e+06 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 1771437 +Ave neighs/atom = 574.95521 +Ave special neighs/atom = 2.004544 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/QUANTUM/PySCF/log.24Feb23.mixture.qmmm.mpi.1 b/examples/QUANTUM/PySCF/log.22Mar23.mixture.qmmm.mpi.1 similarity index 85% rename from examples/QUANTUM/PySCF/log.24Feb23.mixture.qmmm.mpi.1 rename to examples/QUANTUM/PySCF/log.22Mar23.mixture.qmmm.mpi.1 index c0278739f4..fc46275dce 100644 --- a/examples/QUANTUM/PySCF/log.24Feb23.mixture.qmmm.mpi.1 +++ b/examples/QUANTUM/PySCF/log.22Mar23.mixture.qmmm.mpi.1 @@ -1,4 +1,4 @@ -LAMMPS (22 Dec 2022) +LAMMPS (8 Feb 2023) # QMMM with PySCF - mixture example units real @@ -87,7 +87,7 @@ Finding 1-2 1-3 1-4 neighbors ... 1 = max # of 1-3 neighbors 1 = max # of 1-4 neighbors 4 = max # of special neighbors - special bonds CPU = 0.001 seconds + special bonds CPU = 0.000 seconds set group qm charge 0.0 Setting atom values ... 9 settings made for charge @@ -121,24 +121,24 @@ Generated 21 of 21 mixed pair_coeff terms from arithmetic mixing rule Per MPI rank memory allocation (min/avg/max) = 26.88 | 26.88 | 26.88 Mbytes Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long f_2 PotEng TotEng Press 0 0 0 0 103310.44 35284.412 88790.313 863.33521 -49804.536 -349295.05 -259641.4 -259641.4 897319.08 - 1 14.688336 631.94375 5801.8092 97293.123 35284.413 82773 863.33444 -49804.536 -349294.57 -265658.24 -259856.43 852336.04 - 2 29.934743 2211.4634 20303.213 82388.368 35284.413 67868.246 863.33213 -49804.536 -349292.7 -280561.12 -260257.91 741101.53 -Loop time of 29.9348 on 1 procs for 2 steps with 3081 atoms + 1 15.497825 631.94375 5801.8092 97293.123 35284.413 82773 863.33444 -49804.536 -349294.57 -265658.24 -259856.43 852336.04 + 2 31.725355 2211.4634 20303.213 82388.368 35284.413 67868.246 863.33213 -49804.536 -349292.7 -280561.12 -260257.91 741101.53 +Loop time of 31.7254 on 1 procs for 2 steps with 3081 atoms -Performance: 0.000 ns/day, 415760.629 hours/ns, 0.067 timesteps/s, 205.848 atom-step/s +Performance: 0.000 ns/day, 440630.293 hours/ns, 0.063 timesteps/s, 194.229 atom-step/s 100.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.046402 | 0.046402 | 0.046402 | 0.0 | 0.16 -Bond | 0.00014049 | 0.00014049 | 0.00014049 | 0.0 | 0.00 -Kspace | 0.0040776 | 0.0040776 | 0.0040776 | 0.0 | 0.01 +Pair | 0.046066 | 0.046066 | 0.046066 | 0.0 | 0.15 +Bond | 0.00013947 | 0.00013947 | 0.00013947 | 0.0 | 0.00 +Kspace | 0.0040439 | 0.0040439 | 0.0040439 | 0.0 | 0.01 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.00015243 | 0.00015243 | 0.00015243 | 0.0 | 0.00 -Output | 8.9222e-05 | 8.9222e-05 | 8.9222e-05 | 0.0 | 0.00 -Modify | 29.884 | 29.884 | 29.884 | 0.0 | 99.83 -Other | | 8.394e-05 | | | 0.00 +Comm | 0.00015604 | 0.00015604 | 0.00015604 | 0.0 | 0.00 +Output | 9.2355e-05 | 9.2355e-05 | 9.2355e-05 | 0.0 | 0.00 +Modify | 31.675 | 31.675 | 31.675 | 0.0 | 99.84 +Other | | 8.314e-05 | | | 0.00 Nlocal: 3081 ave 3081 max 3081 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -152,4 +152,4 @@ Ave neighs/atom = 574.95521 Ave special neighs/atom = 1.9941577 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:00:46 +Total wall time: 0:00:50 diff --git a/examples/QUANTUM/PySCF/log.24Feb23.mixture.qmmm.plugin.1 b/examples/QUANTUM/PySCF/log.22Mar23.mixture.qmmm.plugin.1 similarity index 85% rename from examples/QUANTUM/PySCF/log.24Feb23.mixture.qmmm.plugin.1 rename to examples/QUANTUM/PySCF/log.22Mar23.mixture.qmmm.plugin.1 index 970b9b2578..edb9786793 100644 --- a/examples/QUANTUM/PySCF/log.24Feb23.mixture.qmmm.plugin.1 +++ b/examples/QUANTUM/PySCF/log.22Mar23.mixture.qmmm.plugin.1 @@ -1,4 +1,4 @@ -LAMMPS (22 Dec 2022) +LAMMPS (8 Feb 2023) # QMMM with PySCF - mixture example units real @@ -38,7 +38,7 @@ Finding 1-2 1-3 1-4 neighbors ... 3 = max # of 1-4 neighbors 4 = max # of special neighbors special bonds CPU = 0.000 seconds - read_data CPU = 0.014 seconds + read_data CPU = 0.015 seconds # QM atoms are IDs 1 to 9 # MM atoms are remaining atoms @@ -123,24 +123,24 @@ Generated 21 of 21 mixed pair_coeff terms from arithmetic mixing rule Per MPI rank memory allocation (min/avg/max) = 26.88 | 26.88 | 26.88 Mbytes Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long f_2 PotEng TotEng Press 0 0 0 0 103310.44 35284.412 88790.313 863.33521 -49804.536 -349295.05 -259641.4 -259641.4 897319.08 - 1 12.796377 631.94375 5801.8092 97293.123 35284.413 82773 863.33444 -49804.536 -349294.57 -265658.24 -259856.43 852336.04 - 2 26.237305 2211.4634 20303.213 82388.368 35284.413 67868.246 863.33213 -49804.536 -349292.7 -280561.12 -260257.91 741101.53 -Loop time of 26.2373 on 1 procs for 2 steps with 3081 atoms + 1 13.124098 631.94375 5801.8092 97293.123 35284.413 82773 863.33444 -49804.536 -349294.57 -265658.24 -259856.43 852336.04 + 2 27.177573 2211.4634 20303.213 82388.368 35284.413 67868.246 863.33213 -49804.536 -349292.7 -280561.12 -260257.91 741101.53 +Loop time of 27.1776 on 1 procs for 2 steps with 3081 atoms -Performance: 0.000 ns/day, 364407.298 hours/ns, 0.076 timesteps/s, 234.856 atom-step/s -93.8% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 0.000 ns/day, 377466.604 hours/ns, 0.074 timesteps/s, 226.731 atom-step/s +96.6% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.043604 | 0.043604 | 0.043604 | 0.0 | 0.17 -Bond | 0.00012543 | 0.00012543 | 0.00012543 | 0.0 | 0.00 -Kspace | 0.0037225 | 0.0037225 | 0.0037225 | 0.0 | 0.01 +Pair | 0.040104 | 0.040104 | 0.040104 | 0.0 | 0.15 +Bond | 0.00012029 | 0.00012029 | 0.00012029 | 0.0 | 0.00 +Kspace | 0.003515 | 0.003515 | 0.003515 | 0.0 | 0.01 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.00016799 | 0.00016799 | 0.00016799 | 0.0 | 0.00 -Output | 7.5957e-05 | 7.5957e-05 | 7.5957e-05 | 0.0 | 0.00 -Modify | 26.19 | 26.19 | 26.19 | 0.0 | 99.82 -Other | | 0.0001029 | | | 0.00 +Comm | 0.00015099 | 0.00015099 | 0.00015099 | 0.0 | 0.00 +Output | 6.5629e-05 | 6.5629e-05 | 6.5629e-05 | 0.0 | 0.00 +Modify | 27.134 | 27.134 | 27.134 | 0.0 | 99.84 +Other | | 9.209e-05 | | | 0.00 Nlocal: 3081 ave 3081 max 3081 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -154,4 +154,4 @@ Ave neighs/atom = 574.95521 Ave special neighs/atom = 1.9941577 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:00:41 +Total wall time: 0:00:43 diff --git a/examples/QUANTUM/PySCF/log.24Feb23.water.qmmm.mpi.1 b/examples/QUANTUM/PySCF/log.22Mar23.water.qmmm.mpi.1 similarity index 70% rename from examples/QUANTUM/PySCF/log.24Feb23.water.qmmm.mpi.1 rename to examples/QUANTUM/PySCF/log.22Mar23.water.qmmm.mpi.1 index 4f0d028959..5d6131a259 100644 --- a/examples/QUANTUM/PySCF/log.24Feb23.water.qmmm.mpi.1 +++ b/examples/QUANTUM/PySCF/log.22Mar23.water.qmmm.mpi.1 @@ -1,4 +1,4 @@ -LAMMPS (22 Dec 2022) +LAMMPS (8 Feb 2023) # QMMM with PySCF - two water example units real @@ -99,7 +99,7 @@ velocity all create 300.0 87287 loop geom timestep 2.0 -fix 1 all nve +fix 1 all nve fix 2 qm mdi/qmmm direct elements O H fix_modify 2 energy yes @@ -107,7 +107,7 @@ fix_modify 2 energy yes thermo_style custom step cpu temp ke evdwl ecoul epair emol elong f_2 pe etotal press thermo 1 -run 10 +run 10 PPPM initialization ... using 12-bit tables for long-range coulomb (../kspace.cpp:342) G vector (1/distance) = 0.19767375 @@ -121,32 +121,32 @@ Generated 1 of 1 mixed pair_coeff terms from arithmetic mixing rule Per MPI rank memory allocation (min/avg/max) = 7.165 | 7.165 | 7.165 Mbytes Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long f_2 PotEng TotEng Press 0 0 300 4.4712151 -0.001256507 37.096223 -0.0091688448 0.95028479 -37.104135 -47941.423 -47940.482 -47936.011 -5.0247548 - 1 0.42459858 513.16174 7.6481883 -0.0012517531 37.10766 -0.0088283103 1.3202413 -37.115237 -47947.2 -47945.888 -47938.24 -15.573296 - 2 0.83921968 476.87607 7.1073848 -0.0012428971 37.140547 -0.0078675595 0.14078812 -37.147172 -47942.073 -47941.94 -47934.833 14.589522 - 3 1.282638 552.16606 8.2295107 -0.0012247602 37.169663 -0.0070877422 0.97249224 -37.175526 -47943.52 -47942.554 -47934.325 32.307164 - 4 1.7239672 311.70888 4.6457248 -0.001214705 37.181636 -0.0067643983 0.92481745 -37.187186 -47938.682 -47937.764 -47933.119 0.56846893 - 5 2.1677443 545.29773 8.1271448 -0.0012142012 37.183759 -0.0065649512 1.9626978 -37.18911 -47947.023 -47945.067 -47936.939 -16.524268 - 6 2.5938431 471.76687 7.0312372 -0.0012147223 37.184705 -0.0063050524 1.0470598 -37.189795 -47935.826 -47934.786 -47927.754 6.8724083 - 7 3.1976738 920.71804 13.722428 -0.0012039124 37.17538 -0.0062927565 1.1513661 -37.180469 -47936.811 -47935.666 -47921.943 41.323834 - 8 4.2646583 371.42423 5.5357253 -0.0012015277 37.147481 -0.0067304894 0.30070096 -37.15301 -47926.094 -47925.8 -47920.264 9.8713538 - 9 4.7956361 1313.1283 19.57093 -0.0012060837 37.113576 -0.0073073483 0.92112803 -37.119677 -47946.778 -47945.864 -47926.294 0.79539496 - 10 5.338625 1925.297 28.694723 -0.0012122897 37.098911 -0.0073851867 1.0565498 -37.105084 -47893.124 -47892.075 -47863.381 31.561748 -Loop time of 5.33864 on 1 procs for 10 steps with 6 atoms + 1 1.1968804 513.16171 7.648188 -0.0012517531 37.10766 -0.0088283103 1.3202413 -37.115237 -47947.2 -47945.888 -47938.24 -15.573297 + 2 1.9724248 476.87504 7.1073695 -0.0012428971 37.140547 -0.0078675595 0.14078812 -37.147172 -47942.073 -47941.94 -47934.833 14.589499 + 3 2.7513453 552.16501 8.229495 -0.0012247602 37.169663 -0.0070877422 0.97249224 -37.175526 -47943.52 -47942.554 -47934.325 32.307141 + 4 3.5346497 311.7073 4.6457012 -0.001214705 37.181636 -0.0067643983 0.92481745 -37.187186 -47938.682 -47937.764 -47933.119 0.56843394 + 5 4.3365751 545.29533 8.127109 -0.0012142012 37.183759 -0.0065649511 1.9626978 -37.18911 -47947.023 -47945.067 -47936.939 -16.524321 + 6 5.2102345 471.76402 7.0311947 -0.0012147223 37.184705 -0.0063050524 1.0470598 -37.189795 -47935.826 -47934.786 -47927.754 6.8723453 + 7 6.0808829 920.71341 13.722359 -0.0012039124 37.17538 -0.0062927565 1.1513661 -37.180469 -47936.811 -47935.666 -47921.944 41.323731 + 8 6.9043177 371.4235 5.5357146 -0.0012015277 37.147481 -0.0067304894 0.30070096 -37.15301 -47926.094 -47925.8 -47920.265 9.8713378 + 9 7.8167252 1313.1205 19.570814 -0.0012060836 37.113576 -0.0073073482 0.92112803 -37.119677 -47946.778 -47945.865 -47926.294 0.79522299 + 10 8.6886512 1925.2824 28.694506 -0.0012122896 37.098911 -0.0073851866 1.0565498 -37.105084 -47893.125 -47892.076 -47863.381 31.561426 +Loop time of 8.68868 on 1 procs for 10 steps with 6 atoms -Performance: 0.324 ns/day, 74.148 hours/ns, 1.873 timesteps/s, 11.239 atom-step/s +Performance: 0.199 ns/day, 120.676 hours/ns, 1.151 timesteps/s, 6.906 atom-step/s 100.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 3.4767e-05 | 3.4767e-05 | 3.4767e-05 | 0.0 | 0.00 -Bond | 1.9833e-05 | 1.9833e-05 | 1.9833e-05 | 0.0 | 0.00 -Kspace | 0.0012215 | 0.0012215 | 0.0012215 | 0.0 | 0.02 +Pair | 3.9169e-05 | 3.9169e-05 | 3.9169e-05 | 0.0 | 0.00 +Bond | 2.4067e-05 | 2.4067e-05 | 2.4067e-05 | 0.0 | 0.00 +Kspace | 0.0012065 | 0.0012065 | 0.0012065 | 0.0 | 0.01 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 1.1826e-05 | 1.1826e-05 | 1.1826e-05 | 0.0 | 0.00 -Output | 0.00019799 | 0.00019799 | 0.00019799 | 0.0 | 0.00 -Modify | 5.3371 | 5.3371 | 5.3371 | 0.0 | 99.97 -Other | | 1.674e-05 | | | 0.00 +Comm | 1.4026e-05 | 1.4026e-05 | 1.4026e-05 | 0.0 | 0.00 +Output | 0.00026063 | 0.00026063 | 0.00026063 | 0.0 | 0.00 +Modify | 8.6871 | 8.6871 | 8.6871 | 0.0 | 99.98 +Other | | 2.512e-05 | | | 0.00 Nlocal: 6 ave 6 max 6 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -160,4 +160,4 @@ Ave neighs/atom = 2.5 Ave special neighs/atom = 1 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:00:05 +Total wall time: 0:00:09 diff --git a/examples/QUANTUM/PySCF/log.24Feb23.water.qmmm.plugin.1 b/examples/QUANTUM/PySCF/log.22Mar23.water.qmmm.plugin.1 similarity index 70% rename from examples/QUANTUM/PySCF/log.24Feb23.water.qmmm.plugin.1 rename to examples/QUANTUM/PySCF/log.22Mar23.water.qmmm.plugin.1 index c4881c3972..4b02cf7f81 100644 --- a/examples/QUANTUM/PySCF/log.24Feb23.water.qmmm.plugin.1 +++ b/examples/QUANTUM/PySCF/log.22Mar23.water.qmmm.plugin.1 @@ -1,4 +1,4 @@ -LAMMPS (22 Dec 2022) +LAMMPS (8 Feb 2023) # QMMM with PySCF units real @@ -123,32 +123,32 @@ Generated 1 of 1 mixed pair_coeff terms from arithmetic mixing rule Per MPI rank memory allocation (min/avg/max) = 7.165 | 7.165 | 7.165 Mbytes Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long f_2 PotEng TotEng Press 0 0 300 4.4712151 -0.001256507 37.096223 -0.0091688448 0.95028479 -37.104135 -47941.423 -47940.482 -47936.011 -5.0247548 - 1 0.42885217 513.16174 7.6481883 -0.0012517531 37.10766 -0.0088283103 1.3202413 -37.115237 -47947.2 -47945.888 -47938.24 -15.573296 - 2 0.84949757 476.87607 7.1073848 -0.0012428971 37.140547 -0.0078675595 0.14078812 -37.147172 -47942.073 -47941.94 -47934.833 14.589522 - 3 1.2984619 552.16606 8.2295107 -0.0012247602 37.169663 -0.0070877422 0.97249224 -37.175526 -47943.52 -47942.554 -47934.325 32.307164 - 4 1.8060644 311.70888 4.6457248 -0.001214705 37.181636 -0.0067643983 0.92481745 -37.187186 -47938.682 -47937.764 -47933.119 0.56846893 - 5 2.5658572 545.29773 8.1271448 -0.0012142012 37.183759 -0.0065649512 1.9626978 -37.18911 -47947.023 -47945.067 -47936.939 -16.524268 - 6 3.0435932 471.76687 7.0312372 -0.0012147223 37.184705 -0.0063050524 1.0470598 -37.189795 -47935.826 -47934.786 -47927.754 6.8724083 - 7 3.5418257 920.71804 13.722428 -0.0012039124 37.17538 -0.0062927565 1.1513661 -37.180469 -47936.811 -47935.666 -47921.943 41.323834 - 8 4.0084852 371.42423 5.5357253 -0.0012015277 37.147481 -0.0067304894 0.30070096 -37.15301 -47926.094 -47925.8 -47920.264 9.8713538 - 9 4.4922341 1313.1283 19.57093 -0.0012060837 37.113576 -0.0073073483 0.92112803 -37.119677 -47946.778 -47945.864 -47926.294 0.79539496 - 10 4.9903309 1925.297 28.694723 -0.0012122897 37.098911 -0.0073851867 1.0565498 -37.105084 -47893.124 -47892.075 -47863.381 31.561748 -Loop time of 4.99035 on 1 procs for 10 steps with 6 atoms + 1 0.59760243 513.16171 7.648188 -0.0012517531 37.10766 -0.0088283103 1.3202413 -37.115237 -47947.2 -47945.888 -47938.24 -15.573297 + 2 1.204872 476.87504 7.1073695 -0.0012428971 37.140547 -0.0078675595 0.14078812 -37.147172 -47942.073 -47941.94 -47934.833 14.589499 + 3 1.8094932 552.16501 8.229495 -0.0012247602 37.169663 -0.0070877422 0.97249224 -37.175526 -47943.52 -47942.554 -47934.325 32.307141 + 4 2.6730646 311.7073 4.6457012 -0.001214705 37.181636 -0.0067643983 0.92481745 -37.187186 -47938.682 -47937.764 -47933.119 0.56843394 + 5 3.4516113 545.29533 8.127109 -0.0012142012 37.183759 -0.0065649511 1.9626978 -37.18911 -47947.023 -47945.067 -47936.939 -16.524321 + 6 4.0565551 471.76402 7.0311947 -0.0012147223 37.184705 -0.0063050524 1.0470598 -37.189795 -47935.826 -47934.786 -47927.754 6.8723453 + 7 4.7426982 920.71341 13.722359 -0.0012039124 37.17538 -0.0062927565 1.1513661 -37.180469 -47936.811 -47935.666 -47921.944 41.323731 + 8 5.3861659 371.4235 5.5357146 -0.0012015277 37.147481 -0.0067304894 0.30070096 -37.15301 -47926.094 -47925.8 -47920.265 9.8713378 + 9 6.0325824 1313.1205 19.570814 -0.0012060836 37.113576 -0.0073073482 0.92112803 -37.119677 -47946.778 -47945.865 -47926.294 0.79522299 + 10 6.6889764 1925.2824 28.694506 -0.0012122896 37.098911 -0.0073851866 1.0565498 -37.105084 -47893.125 -47892.076 -47863.381 31.561426 +Loop time of 6.68899 on 1 procs for 10 steps with 6 atoms -Performance: 0.346 ns/day, 69.310 hours/ns, 2.004 timesteps/s, 12.023 atom-step/s -98.3% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 0.258 ns/day, 92.903 hours/ns, 1.495 timesteps/s, 8.970 atom-step/s +97.9% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 4.0513e-05 | 4.0513e-05 | 4.0513e-05 | 0.0 | 0.00 -Bond | 2.9012e-05 | 2.9012e-05 | 2.9012e-05 | 0.0 | 0.00 -Kspace | 0.0010946 | 0.0010946 | 0.0010946 | 0.0 | 0.02 +Pair | 3.6715e-05 | 3.6715e-05 | 3.6715e-05 | 0.0 | 0.00 +Bond | 3.2015e-05 | 3.2015e-05 | 3.2015e-05 | 0.0 | 0.00 +Kspace | 0.0011869 | 0.0011869 | 0.0011869 | 0.0 | 0.02 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 2.2333e-05 | 2.2333e-05 | 2.2333e-05 | 0.0 | 0.00 -Output | 0.00026201 | 0.00026201 | 0.00026201 | 0.0 | 0.01 -Modify | 4.9889 | 4.9889 | 4.9889 | 0.0 | 99.97 -Other | | 2.45e-05 | | | 0.00 +Comm | 2.1429e-05 | 2.1429e-05 | 2.1429e-05 | 0.0 | 0.00 +Output | 0.00027662 | 0.00027662 | 0.00027662 | 0.0 | 0.00 +Modify | 6.6874 | 6.6874 | 6.6874 | 0.0 | 99.98 +Other | | 2.116e-05 | | | 0.00 Nlocal: 6 ave 6 max 6 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -162,4 +162,4 @@ Ave neighs/atom = 2.5 Ave special neighs/atom = 1 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:00:05 +Total wall time: 0:00:07 diff --git a/examples/QUANTUM/PySCF/pyscf_mdi.py b/examples/QUANTUM/PySCF/pyscf_mdi.py index 37d464779a..b48d9ae598 100644 --- a/examples/QUANTUM/PySCF/pyscf_mdi.py +++ b/examples/QUANTUM/PySCF/pyscf_mdi.py @@ -532,14 +532,14 @@ def evaluate(): if periodic: cell = Cell() - cell.verbose = 4 + #cell.verbose = 4 # uncomment to see more PySCF output cell.atom = atom_str cell.a = box_str cell.basis = basis cell.build() else: mol = Mole() - mol.verbose = 4 + #mol.verbose = 4 # uncomment to see more PySCF output mol.atom = atom_str mol.basis = basis #mol.max_memory = 10000 @@ -557,7 +557,7 @@ def evaluate(): if mode == QMMM: if periodic: mf = RKS_pbc(cell,xc=xcstr) else: mf = RKS_nonpbc(mol,xc=xcstr) - mf = qmmm.mm_charge(mf,mm_coords,mm_charges) + mf = qmmm.mm_charge(mf,mm_coords,mm_charges,mm_radii) if dm_previous_exists: qm_pe = mf.kernel(dm0=dm_previous) From 737ef160d2ca00cd759370fa86b5e58bd9341adf Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 22 Mar 2023 13:47:07 -0600 Subject: [PATCH 382/448] one more file --- .../QUANTUM/PySCF/log.24Feb23.mixture.mm.1 | 112 ------------------ 1 file changed, 112 deletions(-) delete mode 100644 examples/QUANTUM/PySCF/log.24Feb23.mixture.mm.1 diff --git a/examples/QUANTUM/PySCF/log.24Feb23.mixture.mm.1 b/examples/QUANTUM/PySCF/log.24Feb23.mixture.mm.1 deleted file mode 100644 index 8713842e08..0000000000 --- a/examples/QUANTUM/PySCF/log.24Feb23.mixture.mm.1 +++ /dev/null @@ -1,112 +0,0 @@ -LAMMPS (22 Dec 2022) -# mixture example - -units real -atom_style full - -pair_style lj/cut/coul/long 12 -pair_modify mix arithmetic - -bond_style harmonic -angle_style harmonic -dihedral_style none -improper_style none - -kspace_style pppm 1e-5 - -read_data data.mixture -Reading data file ... - orthogonal box = (0 0 0) to (31.351877 31.351877 31.351877) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 3081 atoms - reading velocities ... - 3081 velocities - scanning bonds ... - 4 = max bonds/atom - scanning angles ... - 6 = max angles/atom - reading bonds ... - 2055 bonds - reading angles ... - 1033 angles -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 4 = max # of 1-2 neighbors - 3 = max # of 1-3 neighbors - 3 = max # of 1-4 neighbors - 4 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.012 seconds - -neighbor 2.0 bin -neigh_modify delay 0 every 1 check yes - -# MM dynamics - -timestep 0.01 - -fix 1 all nve - -thermo_style custom step cpu temp ke evdwl ecoul epair emol elong pe etotal press - -thermo 10 -run 20 -PPPM initialization ... - using 12-bit tables for long-range coulomb (../kspace.cpp:342) - G vector (1/distance) = 0.25751777 - grid = 24 24 24 - stencil order = 5 - estimated absolute RMS force accuracy = 0.0020473396 - estimated relative force accuracy = 6.1655023e-06 - using double precision KISS FFT - 3d grid and FFT values/proc = 29791 13824 -Generated 21 of 21 mixed pair_coeff terms from arithmetic mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 14 - ghost atom cutoff = 14 - binsize = 7, bins = 5 5 5 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut/coul/long, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 26.76 | 26.76 | 26.76 Mbytes - Step CPU Temp KinEng E_vdwl E_coul E_pair E_mol E_long PotEng TotEng Press - 0 0 0 0 2164.0602 35284.412 -12356.063 863.67442 -49804.536 -11492.389 -11492.389 -4362.0189 - 10 0.14354809 0.0049877709 0.0457922 2164.0602 35284.445 -12356.031 863.59574 -49804.536 -11492.435 -11492.389 -4360.2561 - 20 0.28788199 0.019888006 0.1825897 2164.0599 35284.545 -12355.932 863.36047 -49804.537 -11492.572 -11492.389 -4354.9791 -Loop time of 0.2879 on 1 procs for 20 steps with 3081 atoms - -Performance: 0.060 ns/day, 399.861 hours/ns, 69.469 timesteps/s, 214.033 katom-step/s -100.0% CPU use with 1 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.25532 | 0.25532 | 0.25532 | 0.0 | 88.69 -Bond | 0.00081079 | 0.00081079 | 0.00081079 | 0.0 | 0.28 -Kspace | 0.03016 | 0.03016 | 0.03016 | 0.0 | 10.48 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.00095451 | 0.00095451 | 0.00095451 | 0.0 | 0.33 -Output | 4.579e-05 | 4.579e-05 | 4.579e-05 | 0.0 | 0.02 -Modify | 0.00029651 | 0.00029651 | 0.00029651 | 0.0 | 0.10 -Other | | 0.0003077 | | | 0.11 - -Nlocal: 3081 ave 3081 max 3081 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 17741 ave 17741 max 17741 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 1.77144e+06 ave 1.77144e+06 max 1.77144e+06 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 1771437 -Ave neighs/atom = 574.95521 -Ave special neighs/atom = 2.004544 -Neighbor list builds = 0 -Dangerous builds = 0 -Total wall time: 0:00:00 From 667ba0febb74b724b75e2760d26e8025f3c6385d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Mar 2023 20:42:54 -0400 Subject: [PATCH 383/448] update README files to have more conventional options and settings --- examples/QUANTUM/LATTE/README | 42 ++++++++++++------------ examples/QUANTUM/NWChem/README | 33 +++++++++---------- examples/QUANTUM/PySCF/README | 59 +++++++++++++++++++++++----------- 3 files changed, 76 insertions(+), 58 deletions(-) diff --git a/examples/QUANTUM/LATTE/README b/examples/QUANTUM/LATTE/README index 2ceadba28b..4444e77dce 100644 --- a/examples/QUANTUM/LATTE/README +++ b/examples/QUANTUM/LATTE/README @@ -77,24 +77,23 @@ NOTE: It should be fine to leave off the version number for the python module installs, to just grab the latest MDI version. 1.4.16 is the version of MDI LAMMPS is currently using. -(option 1) Install MDI python module via conda: - -% conda install -c conda-forge pymdi=1.4.16 - -(option 2) Install MDI python module via pip: +(option 1) Install MDI python module via pip: % pip install 'pymdi>=1.4.14' +(option 2) Install MDI python module via conda: + +% conda install -c conda-forge pymdi=1.4.16 + (option 3) Download/build MDI code coupling package (a) clone the MDI Git repo -% mkdir mdi; cd mdi -% git clone git@github.com:MolSSI-MDI/MDI_Library.git git +% git clone https://github.com/MolSSI-MDI/MDI_Library.git mdi (b) build MDI -% cd mdi/git +% cd mdi % mkdir build; cd build % cmake .. % make -j @@ -104,12 +103,12 @@ Python can find MDI: For bash: -% export PYTHONPATH="$PYTHONPATH:/home/sjplimp/mdi/git/build/MDI_Library" +% export PYTHONPATH="${HOME}/mdi/build/MDI_Library:${PYTHONPATH}" % hash -r For (t)csh: -% setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/mdi/git/build/MDI_Library +% setenv PYTHONPATH "${HOME}/mdi/build/MDI_Library:${PYTHONPATH}" % rehash (d) Check import of 3 Python modules which the script that wraps @@ -132,12 +131,11 @@ page will be updated when that happens. (a) clone the ECP branch of the LATTE Git repo -% mkdir latte; cd latte -% git clone -b ECP git@github.com:lanl/LATTE.git git +% git clone -b ECP https://github.com/lanl/LATTE.git latte (b) build LATTE as a shared library -% cd ~/latte/git +% cd ~/latte % mkdir build; cd build % cmake -DBUILD_SHARED_LIBS=on ../cmake % make -j # should produce liblatte.so in build @@ -147,12 +145,12 @@ the liblatte.so file can be found: For bash: -% export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/home/sjplimp/latte/git/build" +% export LD_LIBRARY_PATH="${HOME}/latte/build:${LD_LIBRARY_PATH}" % hash -r For (t)csh: -% setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/home/sjplimp/latte/git/build +% setenv LD_LIBRARY_PATH "${HOME}/latte/build:${LD_LIBRARY_PATH}" % rehash --------------------------------- @@ -198,16 +196,16 @@ mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.series.m ** run LATTE as plugin MDI engine, 1 proc -lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/LATTE" -log log.water.plugin.1 -in in.water.plugin +lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path ${HOME}/lammps/examples/QUANTUM/LATTE" -log log.water.plugin.1 -in in.water.plugin -lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/LATTE" -log log.water.min.plugin.1 -in in.water.min.plugin +lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path ${HOME}/lammps/examples/QUANTUM/LATTE" -log log.water.min.plugin.1 -in in.water.min.plugin -lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/LATTE" -log log.uo2.plugin.1 -in in.uo2.plugin +lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path ${HOME}/lammps/examples/QUANTUM/LATTE" -log log.uo2.plugin.1 -in in.uo2.plugin -lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/LATTE" -log log.ch4.plugin.1 -in in.ch4.plugin +lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path ${HOME}/lammps/examples/QUANTUM/LATTE" -log log.ch4.plugin.1 -in in.ch4.plugin -lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/LATTE" -log log.sucrose.plugin.1 -in in.sucrose.plugin +lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path ${HOME}/lammps/examples/QUANTUM/LATTE" -log log.sucrose.plugin.1 -in in.sucrose.plugin -lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/LATTE" -log log.graphene.plugin.1 -in in.graphene.plugin +lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path ${HOME}/lammps/examples/QUANTUM/LATTE" -log log.graphene.plugin.1 -in in.graphene.plugin -lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/LATTE" -log log.series.plugin.1 -in in.series.plugin +lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path ${HOME}/lammps/examples/QUANTUM/LATTE" -log log.series.plugin.1 -in in.series.plugin diff --git a/examples/QUANTUM/NWChem/README b/examples/QUANTUM/NWChem/README index a8ab4f1d25..f88eedd079 100644 --- a/examples/QUANTUM/NWChem/README +++ b/examples/QUANTUM/NWChem/README @@ -59,24 +59,23 @@ NOTE: It should be fine to leave off the version number for the python module installs, to just grab the latest MDI version. 1.4.16 is the version of MDI LAMMPS is currently using. -(option 1) Install MDI python module via conda: - -% conda install -c conda-forge pymdi=1.4.16 - -(option 2) Install MDI python module via pip: +(option 1) Install MDI python module via pip: % pip install 'pymdi>=1.4.14' +(option 2) Install MDI python module via conda: + +% conda install -c conda-forge pymdi=1.4.16 + (option 3) Download/build MDI code coupling package (a) clone the MDI Git repo -% mkdir mdi; cd mdi -% git clone git@github.com:MolSSI-MDI/MDI_Library.git git +% git clone https://github.com/MolSSI-MDI/MDI_Library.git mdi (b) build MDI -% cd mdi/git +% cd mdi % mkdir build; cd build % cmake .. % make -j @@ -86,12 +85,12 @@ Python can find MDI: For bash: -% export PYTHONPATH="$PYTHONPATH:/home/sjplimp/mdi/git/build/MDI_Library" +% export PYTHONPATH="${HOME}/mdi/build/MDI_Library:${PYTHONPATH}" % hash -r For (t)csh: -% setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/mdi/git/build/MDI_Library +% setenv PYTHONPATH "${HOME}/mdi/build/MDI_Library:${PYTHONPATH}" % rehash (d) Check import of 3 Python modules which the script that wraps @@ -115,7 +114,7 @@ updated when that happens. (a) clone the PWDFT Git repo % mkdir nwchem; cd nwchem -% git clone git@github.com:ebylaska/PWDFT.git PWDFT +% git clone https://github.com/ebylaska/PWDFT.git PWDFT (b) build PWDFT @@ -124,17 +123,17 @@ updated when that happens. % cmake -DMAKE_LIBRARY=true -DCMAKE_POSITION_INDEPENDENT_CODE=ON ../Nwpw % make -j # should produce libpwdft.so in build_library -(c) Add a line like this to your ~/.bashrc or !/.cshrc +(c) Add a line like this to your ~/.bashrc or ~/.cshrc file so that the libpwdft.so file can be found: For bash: -% export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/home/sjplimp/nwchem/PWDFT/build_library" +% export LD_LIBRARY_PATH="${HOME}/nwchem/PWDFT/build_library:${LD_LIBRARY_PATH}" % hash -r For (t)csh: -% setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/home/sjplimp/nwchem/PWDFT/build_library +% setenv LD_LIBRARY_PATH "${HOME}/nwchem/PWDFT/build_library:${LD_LIBRARY_PATH}" % rehash --------------------------------- @@ -175,8 +174,8 @@ mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.zeolite. ** run PWDFT as plugin MDI engine, 1 or more procs -lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/NWChem" -log log.series.plugin.1 -in in.series.plugin +lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path ${HOME}/lammps/examples/QUANTUM/NWChem" -log log.series.plugin.1 -in in.series.plugin -mpirun -np 2 lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/NWChem" -log log.water.qmmm.plugin.2 -in in.water.qmmm.plugin +mpirun -np 2 lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path ${HOME}/lammps/examples/QUANTUM/NWChem" -log log.water.qmmm.plugin.2 -in in.water.qmmm.plugin -mpirun -np 8 lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/NWChem" -log log.zeolite.qmmm.plugin.8 -in in.zeolite.qmmm.plugin +mpirun -np 8 lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path ${HOME}/lammps/examples/QUANTUM/NWChem" -log log.zeolite.qmmm.plugin.8 -in in.zeolite.qmmm.plugin diff --git a/examples/QUANTUM/PySCF/README b/examples/QUANTUM/PySCF/README index 4c4b5c5858..5578ea8ae0 100644 --- a/examples/QUANTUM/PySCF/README +++ b/examples/QUANTUM/PySCF/README @@ -78,24 +78,23 @@ NOTE: It should be fine to leave off the version number for the python module installs, to just grab the latest MDI version. 1.4.16 is the version of MDI LAMMPS is currently using. -(option 1) Install MDI python module via conda: - -% conda install -c conda-forge pymdi=1.4.16 - -(option 2) Install MDI python module via pip: +(option 1) Install MDI python module via pip: % pip install 'pymdi>=1.4.14' +(option 2) Install MDI python module via conda: + +% conda install -c conda-forge pymdi=1.4.16 + (option 3) Download/build MDI code coupling package (a) clone the MDI Git repo -% mkdir mdi; cd mdi -% git clone git@github.com:MolSSI-MDI/MDI_Library.git git +% git clone https://github.com/MolSSI-MDI/MDI_Library.git mdi (b) build MDI -% cd mdi/git +% cd mdi % mkdir build; cd build % cmake .. % make -j @@ -105,12 +104,12 @@ Python can find MDI: For bash: -% export PYTHONPATH="$PYTHONPATH:/home/sjplimp/mdi/git/build/MDI_Library" +% export PYTHONPATH="${HOME}/mdi/build/MDI_Library:${PYTHONPATH}" % hash -r For (t)csh: -% setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/mdi/git/build/MDI_Library +% setenv PYTHONPATH "${HOME}/mdi/build/MDI_Library:${PYTHONPATH}" % rehash --------------------------------- @@ -128,35 +127,57 @@ See https://pyscf.org/install.html for other options. (a) clone the PySCF Git repo -% mkdir pyscf; cd pyscf -% git clone git@github.com:MoleOrbitalHybridAnalyst/pyscf.git git +% git clone https://github.com/MoleOrbitalHybridAnalyst/pyscf.git pyscf + +(option 1) build using Python + +(b) create and install a wheel file + +% cd pyscf +% python -m pip install --user --upgrade pip +% python -m pip install --user build wheel +% python -m build -n --wheel -o . +% python -m pip install --user pyscf-2.*.whl + +(c) no setting of envionment variables needed + +(d) Check import of 4 Python modules which the script that wraps PySCF +will need: + +% python -i +>>> import numpy as np +>>> from mpi4py import MPI +>>> import mdi +>>> import pyscf + +(option 2) build using CMake and use in place (b) build PySCF NOTE: you will also need numpy, scipy, h5py in your python -% cd pyscf/git/pyscf/git/lib +% cd pyscf/pyscf/lib % mkdir build; cd build % cmake .. % make -j (c) Add a line like this to your ~/.bashrc or ~/.cshrc file so that -Python can find PySCF: +Python can find PySCF where you compiled it: For bash: -% export PYTHONPATH="$PYTHONPATH:/home/sjplimp/pyscf/git" +% export PYTHONPATH="${HOME}/pyscf:${PYTHONPATH}" % hash -r For (t)csh: -% setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/pyscf/git +% setenv PYTHONPATH "${HOME}/pyscf:${PYTHONPATH}" % rehash (d) Check import of 4 Python modules which the script that wraps PySCF will need: -% python +% python -i >>> import numpy as np >>> from mpi4py import MPI >>> import mdi @@ -192,6 +213,6 @@ mpirun -np 1 lmp_mpi -mdi "-name LMP -role DRIVER -method MPI" -log log.mixture. ** run PySCF as plugin MDI engine, 1 proc -lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/PySCF" -log log.water.qmmm.plugin.1 -in in.water.qmmm.plugin +lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path ${HOME}/lammps/examples/QUANTUM/PySCF" -log log.water.qmmm.plugin.1 -in in.water.qmmm.plugin -lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path /home/sjplimp/lammps/git/examples/QUANTUM/PySCF" -log log.mixture.qmmm.plugin.1 -in in.mixture.qmmm.plugin +lmp_mpi -mdi "-name LMP -role DRIVER -method LINK -plugin_path ${HOME}/lammps/examples/QUANTUM/PySCF" -log log.mixture.qmmm.plugin.1 -in in.mixture.qmmm.plugin From 8d0de74d5c2170a2fc0f77274f586f69b2641d25 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Fri, 3 Mar 2023 09:55:44 -0700 Subject: [PATCH 384/448] Remove deprecated code --- src/KOKKOS/domain_kokkos.cpp | 11 ----------- src/KOKKOS/fix_langevin_kokkos.h | 24 ------------------------ src/KOKKOS/nbin_ssa_kokkos.h | 8 ++++---- src/KOKKOS/pair_reaxff_kokkos.h | 6 ------ 4 files changed, 4 insertions(+), 45 deletions(-) diff --git a/src/KOKKOS/domain_kokkos.cpp b/src/KOKKOS/domain_kokkos.cpp index 379aa20ec8..9478aa939d 100644 --- a/src/KOKKOS/domain_kokkos.cpp +++ b/src/KOKKOS/domain_kokkos.cpp @@ -67,17 +67,6 @@ public: dst.value[2][1] = MAX(dst.value[2][1],src.value[2][1]); } - KOKKOS_INLINE_FUNCTION - void join(volatile value_type &dst, - const volatile value_type &src) const { - dst.value[0][0] = MIN(dst.value[0][0],src.value[0][0]); - dst.value[0][1] = MAX(dst.value[0][1],src.value[0][1]); - dst.value[1][0] = MIN(dst.value[1][0],src.value[1][0]); - dst.value[1][1] = MAX(dst.value[1][1],src.value[1][1]); - dst.value[2][0] = MIN(dst.value[2][0],src.value[2][0]); - dst.value[2][1] = MAX(dst.value[2][1],src.value[2][1]); - } - KOKKOS_INLINE_FUNCTION void operator() (const int &i, value_type &dst) const { dst.value[0][0] = MIN(dst.value[0][0],x(i,0)); diff --git a/src/KOKKOS/fix_langevin_kokkos.h b/src/KOKKOS/fix_langevin_kokkos.h index 97dbd28a33..adc07286f2 100644 --- a/src/KOKKOS/fix_langevin_kokkos.h +++ b/src/KOKKOS/fix_langevin_kokkos.h @@ -203,21 +203,6 @@ namespace LAMMPS_NS { update.fy += source.fy; update.fz += source.fz; } - - KOKKOS_INLINE_FUNCTION - static void init(volatile value_type &update) { - update.fx = 0.0; - update.fy = 0.0; - update.fz = 0.0; - } - KOKKOS_INLINE_FUNCTION - static void join(volatile value_type &update, - const volatile value_type &source) { - update.fx += source.fx; - update.fy += source.fy; - update.fz += source.fz; - } - }; template @@ -255,15 +240,6 @@ namespace LAMMPS_NS { const value_type &source) { update += source; } - KOKKOS_INLINE_FUNCTION - static void init(volatile value_type &update) { - update = 0.0; - } - KOKKOS_INLINE_FUNCTION - static void join(volatile value_type &update, - const volatile value_type &source) { - update += source; - } }; template diff --git a/src/KOKKOS/nbin_ssa_kokkos.h b/src/KOKKOS/nbin_ssa_kokkos.h index 8ce7cd2e0a..d3875ce201 100644 --- a/src/KOKKOS/nbin_ssa_kokkos.h +++ b/src/KOKKOS/nbin_ssa_kokkos.h @@ -199,8 +199,8 @@ struct NPairSSAKokkosBinIDAtomsFunctor { } KOKKOS_INLINE_FUNCTION - void join (volatile value_type& dst, - const volatile value_type& src) const { + void join (value_type& dst, + const value_type& src) const { if (dst < src) dst = src; } @@ -226,8 +226,8 @@ struct NPairSSAKokkosBinIDGhostsFunctor { } KOKKOS_INLINE_FUNCTION - void join (volatile value_type& dst, - const volatile value_type& src) const { + void join (value_type& dst, + const value_type& src) const { if (dst < src) dst = src; } diff --git a/src/KOKKOS/pair_reaxff_kokkos.h b/src/KOKKOS/pair_reaxff_kokkos.h index 56f89d4071..1ad0955a1e 100644 --- a/src/KOKKOS/pair_reaxff_kokkos.h +++ b/src/KOKKOS/pair_reaxff_kokkos.h @@ -530,12 +530,6 @@ struct PairReaxKokkosFindBondFunctor { dst = MAX(dst,src); } - KOKKOS_INLINE_FUNCTION - void join(volatile int &dst, - const volatile int &src) const { - dst = MAX(dst,src); - } - KOKKOS_INLINE_FUNCTION void operator()(const int ii, int &numbonds) const { c.calculate_find_bond_item(ii,numbonds); From 19efa08778d6e1f82bbdaa92c14b1a9c0a9b6e74 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Fri, 3 Mar 2023 10:06:58 -0700 Subject: [PATCH 385/448] Remove unused volatile overloads --- src/KOKKOS/compute_temp_deform_kokkos.h | 10 ---- src/KOKKOS/compute_temp_kokkos.h | 10 ---- src/KOKKOS/dihedral_charmm_kokkos.h | 19 ------- src/KOKKOS/fix_freeze_kokkos.h | 7 --- src/KOKKOS/fix_langevin_kokkos.h | 7 --- src/KOKKOS/fix_rx_kokkos.h | 9 ---- src/KOKKOS/fix_setforce_kokkos.h | 7 --- src/KOKKOS/kokkos_few.h | 21 -------- src/KOKKOS/kokkos_type.h | 70 ------------------------- src/KOKKOS/min_linesearch_kokkos.h | 6 --- 10 files changed, 166 deletions(-) diff --git a/src/KOKKOS/compute_temp_deform_kokkos.h b/src/KOKKOS/compute_temp_deform_kokkos.h index 17f0f6e0ab..2880314b55 100644 --- a/src/KOKKOS/compute_temp_deform_kokkos.h +++ b/src/KOKKOS/compute_temp_deform_kokkos.h @@ -58,16 +58,6 @@ class ComputeTempDeformKokkos: public ComputeTempDeform { t5 += rhs.t5; return *this; } - - KOKKOS_INLINE_FUNCTION - void operator+=(const volatile s_CTEMP &rhs) volatile { - t0 += rhs.t0; - t1 += rhs.t1; - t2 += rhs.t2; - t3 += rhs.t3; - t4 += rhs.t4; - t5 += rhs.t5; - } }; typedef s_CTEMP CTEMP; diff --git a/src/KOKKOS/compute_temp_kokkos.h b/src/KOKKOS/compute_temp_kokkos.h index 0bc56f13ba..828dfacd8e 100644 --- a/src/KOKKOS/compute_temp_kokkos.h +++ b/src/KOKKOS/compute_temp_kokkos.h @@ -54,16 +54,6 @@ class ComputeTempKokkos : public ComputeTemp { t5 += rhs.t5; return *this; } - - KOKKOS_INLINE_FUNCTION - void operator+=(const volatile s_CTEMP &rhs) volatile { - t0 += rhs.t0; - t1 += rhs.t1; - t2 += rhs.t2; - t3 += rhs.t3; - t4 += rhs.t4; - t5 += rhs.t5; - } }; typedef s_CTEMP CTEMP; diff --git a/src/KOKKOS/dihedral_charmm_kokkos.h b/src/KOKKOS/dihedral_charmm_kokkos.h index 96a9d2ffc1..dea251473b 100644 --- a/src/KOKKOS/dihedral_charmm_kokkos.h +++ b/src/KOKKOS/dihedral_charmm_kokkos.h @@ -63,25 +63,6 @@ struct s_EVM_FLOAT { vp[4] += rhs.vp[4]; vp[5] += rhs.vp[5]; } - - KOKKOS_INLINE_FUNCTION - void operator+=(const volatile s_EVM_FLOAT &rhs) volatile { - evdwl += rhs.evdwl; - ecoul += rhs.ecoul; - emol += rhs.emol; - v[0] += rhs.v[0]; - v[1] += rhs.v[1]; - v[2] += rhs.v[2]; - v[3] += rhs.v[3]; - v[4] += rhs.v[4]; - v[5] += rhs.v[5]; - vp[0] += rhs.vp[0]; - vp[1] += rhs.vp[1]; - vp[2] += rhs.vp[2]; - vp[3] += rhs.vp[3]; - vp[4] += rhs.vp[4]; - vp[5] += rhs.vp[5]; - } }; typedef struct s_EVM_FLOAT EVM_FLOAT; diff --git a/src/KOKKOS/fix_freeze_kokkos.h b/src/KOKKOS/fix_freeze_kokkos.h index 0a134030fb..04f28b742f 100644 --- a/src/KOKKOS/fix_freeze_kokkos.h +++ b/src/KOKKOS/fix_freeze_kokkos.h @@ -49,13 +49,6 @@ class FixFreezeKokkos : public FixFreeze { values[2] += rhs.values[2]; return *this; } - - KOKKOS_INLINE_FUNCTION - void operator+=(const volatile OriginalForce &rhs) volatile { - values[0] += rhs.values[0]; - values[1] += rhs.values[1]; - values[2] += rhs.values[2]; - } }; FixFreezeKokkos(class LAMMPS *, int, char **); diff --git a/src/KOKKOS/fix_langevin_kokkos.h b/src/KOKKOS/fix_langevin_kokkos.h index adc07286f2..f7142e6286 100644 --- a/src/KOKKOS/fix_langevin_kokkos.h +++ b/src/KOKKOS/fix_langevin_kokkos.h @@ -43,13 +43,6 @@ namespace LAMMPS_NS { fz += rhs.fz; return *this; } - - KOKKOS_INLINE_FUNCTION - void operator+=(const volatile s_FSUM &rhs) volatile { - fx += rhs.fx; - fy += rhs.fy; - fz += rhs.fz; - } }; typedef s_FSUM FSUM; diff --git a/src/KOKKOS/fix_rx_kokkos.h b/src/KOKKOS/fix_rx_kokkos.h index fba67de7bd..8633d665b3 100644 --- a/src/KOKKOS/fix_rx_kokkos.h +++ b/src/KOKKOS/fix_rx_kokkos.h @@ -59,15 +59,6 @@ struct s_CounterType nFails += rhs.nFails; return *this; } - - KOKKOS_INLINE_FUNCTION - void operator+=(const volatile s_CounterType &rhs) volatile - { - nSteps += rhs.nSteps; - nIters += rhs.nIters; - nFuncs += rhs.nFuncs; - nFails += rhs.nFails; - } }; typedef struct s_CounterType CounterType; diff --git a/src/KOKKOS/fix_setforce_kokkos.h b/src/KOKKOS/fix_setforce_kokkos.h index 4ed2cc5f0e..e723f9c7d6 100644 --- a/src/KOKKOS/fix_setforce_kokkos.h +++ b/src/KOKKOS/fix_setforce_kokkos.h @@ -41,13 +41,6 @@ struct s_double_3 { d2 += rhs.d2; return *this; } - - KOKKOS_INLINE_FUNCTION - void operator+=(const volatile s_double_3 &rhs) volatile { - d0 += rhs.d0; - d1 += rhs.d1; - d2 += rhs.d2; - } }; typedef s_double_3 double_3; diff --git a/src/KOKKOS/kokkos_few.h b/src/KOKKOS/kokkos_few.h index 48f6ed7390..96cbd1681f 100644 --- a/src/KOKKOS/kokkos_few.h +++ b/src/KOKKOS/kokkos_few.h @@ -28,42 +28,21 @@ class Few { KOKKOS_INLINE_FUNCTION Few(Few const& rhs) { for (std::size_t i = 0; i < n; ++i) new (data() + i) T(rhs[i]); } - KOKKOS_INLINE_FUNCTION Few(Few const volatile& rhs) { - for (std::size_t i = 0; i < n; ++i) new (data() + i) T(rhs[i]); - } - KOKKOS_INLINE_FUNCTION void operator=(Few const& rhs) volatile { - for (std::size_t i = 0; i < n; ++i) data()[i] = rhs[i]; - } KOKKOS_INLINE_FUNCTION void operator=(Few const& rhs) { for (std::size_t i = 0; i < n; ++i) data()[i] = rhs[i]; } - KOKKOS_INLINE_FUNCTION void operator=(Few const volatile& rhs) { - for (std::size_t i = 0; i < n; ++i) data()[i] = rhs[i]; - } KOKKOS_INLINE_FUNCTION T* data() { return reinterpret_cast(array_); } KOKKOS_INLINE_FUNCTION T const* data() const { return reinterpret_cast(array_); } - KOKKOS_INLINE_FUNCTION T volatile* data() volatile { - return reinterpret_cast(array_); - } - KOKKOS_INLINE_FUNCTION T const volatile* data() const volatile { - return reinterpret_cast(array_); - } KOKKOS_INLINE_FUNCTION T& operator[](std::size_t i) { return data()[i]; } KOKKOS_INLINE_FUNCTION T const& operator[](std::size_t i) const { return data()[i]; } - KOKKOS_INLINE_FUNCTION T volatile& operator[](std::size_t i) volatile { - return data()[i]; - } - KOKKOS_INLINE_FUNCTION T const volatile& operator[](std::size_t i) const volatile { - return data()[i]; - } }; #endif diff --git a/src/KOKKOS/kokkos_type.h b/src/KOKKOS/kokkos_type.h index a496f6ff94..06a6d3fc6e 100644 --- a/src/KOKKOS/kokkos_type.h +++ b/src/KOKKOS/kokkos_type.h @@ -64,23 +64,11 @@ namespace Kokkos { z+=tmp.z; } KOKKOS_INLINE_FUNCTION - void operator += (const lmp_float3& tmp) volatile { - x+=tmp.x; - y+=tmp.y; - z+=tmp.z; - } - KOKKOS_INLINE_FUNCTION void operator = (const lmp_float3& tmp) { x=tmp.x; y=tmp.y; z=tmp.z; } - KOKKOS_INLINE_FUNCTION - void operator = (const lmp_float3& tmp) volatile { - x=tmp.x; - y=tmp.y; - z=tmp.z; - } }; struct lmp_double3 { @@ -95,23 +83,11 @@ namespace Kokkos { z+=tmp.z; } KOKKOS_INLINE_FUNCTION - void operator += (const lmp_double3& tmp) volatile { - x+=tmp.x; - y+=tmp.y; - z+=tmp.z; - } - KOKKOS_INLINE_FUNCTION void operator = (const lmp_double3& tmp) { x=tmp.x; y=tmp.y; z=tmp.z; } - KOKKOS_INLINE_FUNCTION - void operator = (const lmp_double3& tmp) volatile { - x=tmp.x; - y=tmp.y; - z=tmp.z; - } }; template @@ -139,23 +115,11 @@ struct t_scalar3 { return *this; } - KOKKOS_FORCEINLINE_FUNCTION - t_scalar3 operator= (const volatile t_scalar3& rhs) { - x = rhs.x; y = rhs.y; z = rhs.z; - return *this; - } - KOKKOS_FORCEINLINE_FUNCTION t_scalar3 operator+= (const t_scalar3& rhs) { x += rhs.x; y += rhs.y; z += rhs.z; return *this; } - - KOKKOS_FORCEINLINE_FUNCTION - t_scalar3 operator+= (const volatile t_scalar3& rhs) volatile { - x += rhs.x; y += rhs.y; z += rhs.z; - return *this; - } }; template @@ -429,14 +393,6 @@ struct s_EV_FLOAT { for (int i = 0; i < 6; ++i) v[i] += rhs.v[i]; } - - KOKKOS_INLINE_FUNCTION - void operator+=(const volatile s_EV_FLOAT &rhs) volatile { - evdwl += rhs.evdwl; - ecoul += rhs.ecoul; - for (int i = 0; i < 6; ++i) - v[i] += rhs.v[i]; - } }; typedef struct s_EV_FLOAT EV_FLOAT; @@ -464,16 +420,6 @@ struct s_EV_FLOAT_REAX { for (int i = 0; i < 9; ++i) ereax[i] += rhs.ereax[i]; } - - KOKKOS_INLINE_FUNCTION - void operator+=(const volatile s_EV_FLOAT_REAX &rhs) volatile { - evdwl += rhs.evdwl; - ecoul += rhs.ecoul; - for (int i = 0; i < 6; ++i) - v[i] += rhs.v[i]; - for (int i = 0; i < 9; ++i) - ereax[i] += rhs.ereax[i]; - } }; typedef struct s_EV_FLOAT_REAX EV_FLOAT_REAX; @@ -501,16 +447,6 @@ struct s_FEV_FLOAT { for (int i = 0; i < 3; ++i) f[i] += rhs.f[i]; } - - KOKKOS_INLINE_FUNCTION - void operator+=(const volatile s_FEV_FLOAT &rhs) volatile { - evdwl += rhs.evdwl; - ecoul += rhs.ecoul; - for (int i = 0; i < 6; ++i) - v[i] += rhs.v[i]; - for (int i = 0; i < 3; ++i) - f[i] += rhs.f[i]; - } }; typedef struct s_FEV_FLOAT FEV_FLOAT; @@ -534,12 +470,6 @@ struct alignas(2*sizeof(F_FLOAT)) s_FLOAT2 { v[0] += rhs.v[0]; v[1] += rhs.v[1]; } - - KOKKOS_INLINE_FUNCTION - void operator+=(const volatile s_FLOAT2 &rhs) volatile { - v[0] += rhs.v[0]; - v[1] += rhs.v[1]; - } }; typedef struct s_FLOAT2 F_FLOAT2; diff --git a/src/KOKKOS/min_linesearch_kokkos.h b/src/KOKKOS/min_linesearch_kokkos.h index bf0b886b0c..5aae6e4487 100644 --- a/src/KOKKOS/min_linesearch_kokkos.h +++ b/src/KOKKOS/min_linesearch_kokkos.h @@ -31,12 +31,6 @@ namespace LAMMPS_NS { d1 += rhs.d1; return *this; } - - KOKKOS_INLINE_FUNCTION - void operator+=(const volatile s_double2 &rhs) volatile { - d0 += rhs.d0; - d1 += rhs.d1; - } }; //typedef s_double2 double2; From b669c793fc370b37118cfa3489e336e6649dccc3 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 23 Mar 2023 09:27:09 -0600 Subject: [PATCH 386/448] compute bounding box on Voronoi sub-domain correctly for triclinic tilted domains --- src/VORONOI/compute_voronoi_atom.cpp | 82 +++++++++++++++++++--------- 1 file changed, 55 insertions(+), 27 deletions(-) diff --git a/src/VORONOI/compute_voronoi_atom.cpp b/src/VORONOI/compute_voronoi_atom.cpp index d2f60a8586..f50972ffd7 100644 --- a/src/VORONOI/compute_voronoi_atom.cpp +++ b/src/VORONOI/compute_voronoi_atom.cpp @@ -234,15 +234,18 @@ void ComputeVoronoi::compute_peratom() } } +/* ---------------------------------------------------------------------- */ + void ComputeVoronoi::buildCells() { int i; - const double e = 0.01; + const double EPS = 0.01; int nlocal = atom->nlocal; int dim = domain->dimension; // in the onlyGroup mode we are not setting values for all atoms later in the voro loop // initialize everything to zero here + if (onlyGroup) { if (surface == VOROSURF_NONE) for (i = 0; i < nlocal; i++) voro[i][0] = voro[i][1] = 0.0; @@ -256,36 +259,37 @@ void ComputeVoronoi::buildCells() double sublo_bound[3], subhi_bound[3]; double **x = atom->x; - // setup bounds for voro++ domain for orthogonal and triclinic simulation boxes + // setup bounds for each processor's Voro++ domain + + // triclinic box + // embed parallelepiped into orthogonal voro++ domain + // cutghost is in lamda coordinates for triclinic boxes, use sub*_lamda + if (domain->triclinic) { - // triclinic box: embed parallelepiped into orthogonal voro++ domain - - // cutghost is in lamda coordinates for triclinic boxes, use subxx_lamda double *h = domain->h; - for (i=0; i<3; ++i) { - sublo_bound[i] = sublo_lamda[i]-cut[i]-e; - subhi_bound[i] = subhi_lamda[i]+cut[i]+e; - if (domain->periodicity[i]==0) { - sublo_bound[i] = MAX(sublo_bound[i],0.0); - subhi_bound[i] = MIN(subhi_bound[i],1.0); + + double sublo_bound_lamda[3], subhi_bound_lamda[3]; + for (i = 0; i < 3; ++i) { + sublo_bound_lamda[i] = sublo_lamda[i] - cut[i] - EPS; + subhi_bound_lamda[i] = subhi_lamda[i] + cut[i] + EPS; + if (domain->periodicity[i] == 0) { + sublo_bound_lamda[i] = MAX(sublo_bound_lamda[i], 0.0); + subhi_bound_lamda[i] = MIN(subhi_bound_lamda[i], 1.0); } } if (dim == 2) { - sublo_bound[2] = 0.0; - subhi_bound[2] = 1.0; + sublo_bound_lamda[2] = 0.0; + subhi_bound_lamda[2] = 1.0; } - sublo_bound[0] = h[0]*sublo_bound[0] + h[5]*sublo_bound[1] + h[4]*sublo_bound[2] + boxlo[0]; - sublo_bound[1] = h[1]*sublo_bound[1] + h[3]*sublo_bound[2] + boxlo[1]; - sublo_bound[2] = h[2]*sublo_bound[2] + boxlo[2]; - subhi_bound[0] = h[0]*subhi_bound[0] + h[5]*subhi_bound[1] + h[4]*subhi_bound[2] + boxlo[0]; - subhi_bound[1] = h[1]*subhi_bound[1] + h[3]*subhi_bound[2] + boxlo[1]; - subhi_bound[2] = h[2]*subhi_bound[2] + boxlo[2]; + domain->bbox(sublo_bound_lamda,subhi_bound_lamda,sublo_bound,subhi_bound); + + // orthogonal box + } else { - // orthogonal box for (i=0; i<3; ++i) { - sublo_bound[i] = sublo[i]-cut[i]-e; - subhi_bound[i] = subhi[i]+cut[i]+e; + sublo_bound[i] = sublo[i]-cut[i] - EPS; + subhi_bound[i] = subhi[i]+cut[i] + EPS; if (domain->periodicity[i]==0) { sublo_bound[i] = MAX(sublo_bound[i],domain->boxlo[i]); subhi_bound[i] = MIN(subhi_bound[i],domain->boxhi[i]); @@ -298,6 +302,7 @@ void ComputeVoronoi::buildCells() } // n = # of voro++ spatial hash cells (with approximately cubic cells) + int nall = nlocal + atom->nghost; double n[3], V; for (i=0; i<3; ++i) n[i] = subhi_bound[i] - sublo_bound[i]; @@ -308,33 +313,43 @@ void ComputeVoronoi::buildCells() } // clear edge statistics + if (maxedge > 0) for (i = 0; i <= maxedge; ++i) edge[i]=0; // initialize voro++ container // preallocates 8 atoms per cell - // voro++ allocates more memory if needed + // Voro++ allocates more memory if needed + int *mask = atom->mask; if (radstr) { + // check and fetch atom style variable data + int radvar = input->variable->find(radstr); if (radvar < 0) error->all(FLERR,"Variable name for voronoi radius does not exist"); if (!input->variable->atomstyle(radvar)) error->all(FLERR,"Variable for voronoi radius is not atom style"); + // prepare destination buffer for variable evaluation + if (atom->nmax > rmax) { memory->destroy(rfield); rmax = atom->nmax; memory->create(rfield,rmax,"voronoi/atom:rfield"); } + // compute atom style radius variable + input->variable->compute_atom(radvar,0,rfield,1,0); // communicate values to ghost atoms of neighboring nodes + comm->forward_comm(this); - // polydisperse voro++ container + // polydisperse Voro++ container + delete con_poly; con_poly = new container_poly(sublo_bound[0], subhi_bound[0], @@ -345,13 +360,16 @@ void ComputeVoronoi::buildCells() int(n[0]),int(n[1]),int(n[2]), false,false,false,8); - // pass coordinates for local and ghost atoms to voro++ + // pass coordinates for local and ghost atoms to Voro++ + for (i = 0; i < nall; i++) { if (!onlyGroup || (mask[i] & groupbit)) con_poly->put(i,x[i][0],x[i][1],x[i][2],rfield[i]); } + + // monodisperse Voro++ container + } else { - // monodisperse voro++ container delete con_mono; con_mono = new container(sublo_bound[0], @@ -363,13 +381,16 @@ void ComputeVoronoi::buildCells() int(n[0]),int(n[1]),int(n[2]), false,false,false,8); - // pass coordinates for local and ghost atoms to voro++ + // pass coordinates for local and ghost atoms to Voro++ + for (i = 0; i < nall; i++) if (!onlyGroup || (mask[i] & groupbit)) con_mono->put(i,x[i][0],x[i][1],x[i][2]); } } +/* ---------------------------------------------------------------------- */ + void ComputeVoronoi::checkOccupation() { // clear occupation vector @@ -455,6 +476,8 @@ void ComputeVoronoi::checkOccupation() } } +/* ---------------------------------------------------------------------- */ + void ComputeVoronoi::loopCells() { // invoke voro++ and fetch results for owned atoms in group @@ -481,6 +504,7 @@ void ComputeVoronoi::loopCells() /* ---------------------------------------------------------------------- memory usage of local atom-based array ------------------------------------------------------------------------- */ + void ComputeVoronoi::processCell(voronoicell_neighbor &c, int i) { int j,k, *mask = atom->mask; @@ -605,6 +629,8 @@ void ComputeVoronoi::processCell(voronoicell_neighbor &c, int i) } else if (i < atom->nlocal) voro[i][0] = voro[i][1] = 0.0; } +/* ---------------------------------------------------------------------- */ + double ComputeVoronoi::memory_usage() { double bytes = (double)size_peratom_cols * nmax * sizeof(double); @@ -613,6 +639,8 @@ double ComputeVoronoi::memory_usage() return bytes; } +/* ---------------------------------------------------------------------- */ + void ComputeVoronoi::compute_vector() { invoked_vector = update->ntimestep; From 3da45d2f9e7cfd9775fb221c796a72832ef35768 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 23 Mar 2023 11:28:17 -0600 Subject: [PATCH 387/448] miscount of comm forward values in fix_rigid_nh_small --- src/RIGID/fix_rigid_nh_small.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/RIGID/fix_rigid_nh_small.cpp b/src/RIGID/fix_rigid_nh_small.cpp index f0bfa1f50a..8d4c015f96 100644 --- a/src/RIGID/fix_rigid_nh_small.cpp +++ b/src/RIGID/fix_rigid_nh_small.cpp @@ -551,7 +551,7 @@ void FixRigidNHSmall::initial_integrate(int vflag) // forward communicate updated info of all bodies commflag = INITIAL; - comm->forward_comm(this,26); + comm->forward_comm(this,29); // accumulate translational and rotational kinetic energies From 3b3325076a0934cd2cc437ed7bb375a26b45e193 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 23 Mar 2023 14:31:08 -0400 Subject: [PATCH 388/448] whitespace --- src/VORONOI/compute_voronoi_atom.cpp | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/VORONOI/compute_voronoi_atom.cpp b/src/VORONOI/compute_voronoi_atom.cpp index f50972ffd7..1f6872a547 100644 --- a/src/VORONOI/compute_voronoi_atom.cpp +++ b/src/VORONOI/compute_voronoi_atom.cpp @@ -245,7 +245,7 @@ void ComputeVoronoi::buildCells() // in the onlyGroup mode we are not setting values for all atoms later in the voro loop // initialize everything to zero here - + if (onlyGroup) { if (surface == VOROSURF_NONE) for (i = 0; i < nlocal; i++) voro[i][0] = voro[i][1] = 0.0; @@ -260,11 +260,11 @@ void ComputeVoronoi::buildCells() double **x = atom->x; // setup bounds for each processor's Voro++ domain - + // triclinic box // embed parallelepiped into orthogonal voro++ domain // cutghost is in lamda coordinates for triclinic boxes, use sub*_lamda - + if (domain->triclinic) { double *h = domain->h; @@ -285,7 +285,7 @@ void ComputeVoronoi::buildCells() domain->bbox(sublo_bound_lamda,subhi_bound_lamda,sublo_bound,subhi_bound); // orthogonal box - + } else { for (i=0; i<3; ++i) { sublo_bound[i] = sublo[i]-cut[i] - EPS; @@ -302,7 +302,7 @@ void ComputeVoronoi::buildCells() } // n = # of voro++ spatial hash cells (with approximately cubic cells) - + int nall = nlocal + atom->nghost; double n[3], V; for (i=0; i<3; ++i) n[i] = subhi_bound[i] - sublo_bound[i]; @@ -313,25 +313,25 @@ void ComputeVoronoi::buildCells() } // clear edge statistics - + if (maxedge > 0) for (i = 0; i <= maxedge; ++i) edge[i]=0; // initialize voro++ container // preallocates 8 atoms per cell // Voro++ allocates more memory if needed - + int *mask = atom->mask; if (radstr) { - + // check and fetch atom style variable data - + int radvar = input->variable->find(radstr); if (radvar < 0) error->all(FLERR,"Variable name for voronoi radius does not exist"); if (!input->variable->atomstyle(radvar)) error->all(FLERR,"Variable for voronoi radius is not atom style"); - + // prepare destination buffer for variable evaluation if (atom->nmax > rmax) { @@ -345,11 +345,11 @@ void ComputeVoronoi::buildCells() input->variable->compute_atom(radvar,0,rfield,1,0); // communicate values to ghost atoms of neighboring nodes - + comm->forward_comm(this); // polydisperse Voro++ container - + delete con_poly; con_poly = new container_poly(sublo_bound[0], subhi_bound[0], @@ -361,7 +361,7 @@ void ComputeVoronoi::buildCells() false,false,false,8); // pass coordinates for local and ghost atoms to Voro++ - + for (i = 0; i < nall; i++) { if (!onlyGroup || (mask[i] & groupbit)) con_poly->put(i,x[i][0],x[i][1],x[i][2],rfield[i]); @@ -382,7 +382,7 @@ void ComputeVoronoi::buildCells() false,false,false,8); // pass coordinates for local and ghost atoms to Voro++ - + for (i = 0; i < nall; i++) if (!onlyGroup || (mask[i] & groupbit)) con_mono->put(i,x[i][0],x[i][1],x[i][2]); From bb1f1a7593bb374060c0af4e1abcc59edee00b0e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 23 Mar 2023 15:19:51 -0400 Subject: [PATCH 389/448] modernize check for fix drude. print warning about order of fixes with rigid. --- src/DRUDE/fix_drude_transform.cpp | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/DRUDE/fix_drude_transform.cpp b/src/DRUDE/fix_drude_transform.cpp index a301a0cbea..396a8cfa27 100644 --- a/src/DRUDE/fix_drude_transform.cpp +++ b/src/DRUDE/fix_drude_transform.cpp @@ -50,11 +50,22 @@ FixDrudeTransform::~FixDrudeTransform() template void FixDrudeTransform::init() { - int ifix; - for (ifix = 0; ifix < modify->nfix; ifix++) - if (strcmp(modify->fix[ifix]->style,"drude") == 0) break; - if (ifix == modify->nfix) error->all(FLERR, "fix drude/transform requires fix drude"); - fix_drude = (FixDrude *) modify->fix[ifix]; + fix_drude = nullptr; + std::string substyle = "direct"; + if (inverse) substyle = "inverse"; + + auto fixes = modify->get_fix_by_style("^drude"); + if (fixes.size() > 0) fix_drude = dynamic_cast(fixes[0]); + if (!fix_drude) + error->all(FLERR, "fix drude/transform/{} requires fix drude", substyle); + + int before_or_after = -1; + for (auto &ifix : modify->get_fix_list()) { + if ((ifix == this) && (before_or_after < 0)) before_or_after = 0; + if (utils::strmatch(ifix->style, "^rigid") && (before_or_after < 0)) before_or_after = 1; + } + if ((comm->me == 0) && (before_or_after > 0)) + error->warning(FLERR, "fix drude/transform/{} should come before any rigid fixes", substyle); } /* ---------------------------------------------------------------------- */ From 1ee2a7bff4476422a5e44baa44e535145feee71f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 23 Mar 2023 15:34:54 -0400 Subject: [PATCH 390/448] correct check for incompatible rigid fixes --- src/DRUDE/fix_drude_transform.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/DRUDE/fix_drude_transform.cpp b/src/DRUDE/fix_drude_transform.cpp index 396a8cfa27..4a85b8ae4c 100644 --- a/src/DRUDE/fix_drude_transform.cpp +++ b/src/DRUDE/fix_drude_transform.cpp @@ -59,13 +59,10 @@ void FixDrudeTransform::init() if (!fix_drude) error->all(FLERR, "fix drude/transform/{} requires fix drude", substyle); - int before_or_after = -1; - for (auto &ifix : modify->get_fix_list()) { - if ((ifix == this) && (before_or_after < 0)) before_or_after = 0; - if (utils::strmatch(ifix->style, "^rigid") && (before_or_after < 0)) before_or_after = 1; - } - if ((comm->me == 0) && (before_or_after > 0)) - error->warning(FLERR, "fix drude/transform/{} should come before any rigid fixes", substyle); + fixes = modify->get_fix_by_style("^rigid/np."); + if ((comm->me == 0) && (fixes.size() > 0)) + error->warning(FLERR, "fix drude/transform/{} is not compatible with box changing rigid fixes", + substyle); } /* ---------------------------------------------------------------------- */ From 51e3db6a6d8ecfd027e2b8953713212abc8ec1fc Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Thu, 23 Mar 2023 14:02:40 -0600 Subject: [PATCH 391/448] Updated LJ reference logfile because reported atom counts were mysteriously wrong --- .../mc/{log.27Nov18.gcmc.lj.g++.1 => log.23Mar23.gcmc.lj.g++.1} | 0 .../mc/{log.27Nov18.gcmc.lj.g++.4 => log.23Mar23.gcmc.lj.g++.4} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename examples/mc/{log.27Nov18.gcmc.lj.g++.1 => log.23Mar23.gcmc.lj.g++.1} (100%) rename examples/mc/{log.27Nov18.gcmc.lj.g++.4 => log.23Mar23.gcmc.lj.g++.4} (100%) diff --git a/examples/mc/log.27Nov18.gcmc.lj.g++.1 b/examples/mc/log.23Mar23.gcmc.lj.g++.1 similarity index 100% rename from examples/mc/log.27Nov18.gcmc.lj.g++.1 rename to examples/mc/log.23Mar23.gcmc.lj.g++.1 diff --git a/examples/mc/log.27Nov18.gcmc.lj.g++.4 b/examples/mc/log.23Mar23.gcmc.lj.g++.4 similarity index 100% rename from examples/mc/log.27Nov18.gcmc.lj.g++.4 rename to examples/mc/log.23Mar23.gcmc.lj.g++.4 From bd59c3ea69dc3ec034571a2221da268fa1729b05 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 23 Mar 2023 18:45:25 -0400 Subject: [PATCH 392/448] remove dead code --- src/VORONOI/compute_voronoi_atom.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/VORONOI/compute_voronoi_atom.cpp b/src/VORONOI/compute_voronoi_atom.cpp index 1f6872a547..28bab271a2 100644 --- a/src/VORONOI/compute_voronoi_atom.cpp +++ b/src/VORONOI/compute_voronoi_atom.cpp @@ -253,7 +253,7 @@ void ComputeVoronoi::buildCells() for (i = 0; i < nlocal; i++) voro[i][0] = voro[i][1] = voro[i][2] = 0.0; } - double *sublo = domain->sublo, *sublo_lamda = domain->sublo_lamda, *boxlo = domain->boxlo; + double *sublo = domain->sublo, *sublo_lamda = domain->sublo_lamda; double *subhi = domain->subhi, *subhi_lamda = domain->subhi_lamda; double *cut = comm->cutghost; double sublo_bound[3], subhi_bound[3]; @@ -266,8 +266,6 @@ void ComputeVoronoi::buildCells() // cutghost is in lamda coordinates for triclinic boxes, use sub*_lamda if (domain->triclinic) { - double *h = domain->h; - double sublo_bound_lamda[3], subhi_bound_lamda[3]; for (i = 0; i < 3; ++i) { sublo_bound_lamda[i] = sublo_lamda[i] - cut[i] - EPS; From 23524c665560c412a8a908be8596730add9d9d5a Mon Sep 17 00:00:00 2001 From: Yaser Afshar Date: Fri, 24 Mar 2023 06:55:52 -0700 Subject: [PATCH 393/448] use of type labels in set commands --- doc/src/set.rst | 52 +++++++++++++++---------- src/set.cpp | 24 +++++++++++- unittest/commands/test_set_property.cpp | 47 ++++++++++++++++++++++ 3 files changed, 101 insertions(+), 22 deletions(-) diff --git a/doc/src/set.rst b/doc/src/set.rst index 0073e44bf8..b4781d40fc 100644 --- a/doc/src/set.rst +++ b/doc/src/set.rst @@ -28,18 +28,18 @@ Syntax .. parsed-literal:: - *type* value = atom type + *type* value = atom type or type label value can be an atom-style variable (see below) *type/fraction* values = type fraction seed - type = new atom type + type = new atom type or type label fraction = approximate fraction of selected atoms to set to new atom type seed = random # seed (positive integer) *type/ratio* values = type fraction seed - type = new atom type + type = new atom type or type label fraction = exact fraction of selected atoms to set to new atom type seed = random # seed (positive integer) *type/subset* values = type Nsubset seed - type = new atom type + type = new atom type or type label Nsubset = exact number of selected atoms to set to new atom type seed = random # seed (positive integer) *mol* value = molecule ID @@ -107,10 +107,10 @@ Syntax *image* nx ny nz nx,ny,nz = which periodic image of the simulation box the atom is in any of nx,ny,nz can be an atom-style variable (see below) - *bond* value = bond type for all bonds between selected atoms - *angle* value = angle type for all angles between selected atoms - *dihedral* value = dihedral type for all dihedrals between selected atoms - *improper* value = improper type for all impropers between selected atoms + *bond* value = bond type or bond type label for all bonds between selected atoms + *angle* value = angle type or angle type label for all angles between selected atoms + *dihedral* value = dihedral type or dihedral type label for all dihedrals between selected atoms + *improper* value = improper type or improper type label for all impropers between selected atoms *sph/e* value = energy of SPH particles (need units) value can be an atom-style variable (see below) *sph/cv* value = heat capacity of SPH particles (need units) @@ -145,15 +145,19 @@ Examples .. code-block:: LAMMPS set group solvent type 2 + set group solvent type C set group solvent type/fraction 2 0.5 12393 + set group solvent type/fraction C 0.5 12393 set group edge bond 4 set region half charge 0.5 set type 3 charge 0.5 + set type H charge 0.5 set type 1*3 charge 0.5 set atom * charge v_atomfile set atom 100*200 x 0.5 y 1.0 set atom 100 vx 0.0 vy 0.0 vz -1.0 set atom 1492 type 3 + set atom 1492 type H set atom * i_myVal 5 set atom * d2_Sxyz[1] 6.4 @@ -184,8 +188,8 @@ This section describes how to select which atoms to change the properties of, via the *style* and *ID* arguments. The style *atom* selects all the atoms in a range of atom IDs. The -style *type* selects all the atoms in a range of types. The style -*mol* selects all the atoms in a range of molecule IDs. +style *type* selects all the atoms in a range of types or type labels. +The style *mol* selects all the atoms in a range of molecule IDs. In each of the range cases, the range can be specified as a single numeric value, or a wildcard asterisk can be used to specify a range @@ -237,24 +241,27 @@ from a file. such as the molecule ID, then the floating point value is truncated to its integer portion, e.g. a value of 2.6 would become 2. -Keyword *type* sets the atom type for all selected atoms. The -specified value must be from 1 to ntypes, where ntypes was set by the -:doc:`create_box ` command or the *atom types* field in the +Keyword *type* sets the atom type or atom type label for all selected atoms. +For atom type, specified value must be from 1 to ntypes, where ntypes was set +by the :doc:`create_box ` command or the *atom types* field in the header of the data file read by the :doc:`read_data ` -command. +command. In the case of the specified type label, it must have been defined +before use via an alphanumeric type label. See the +:doc:`Howto type labels ` doc page for the allowed syntax +of type labels and a general discussion of how type labels can be used. -Keyword *type/fraction* sets the atom type for a fraction of the -selected atoms. The actual number of atoms changed is not guaranteed +Keyword *type/fraction* sets the atom type or atom type label for a fraction +of the selected atoms. The actual number of atoms changed is not guaranteed to be exactly the specified fraction (0 <= *fraction* <= 1), but should be statistically close. Random numbers are used in such a way that a particular atom is changed or not changed, regardless of how many processors are being used. This keyword does not allow use of an atom-style variable. -Keywords *type/ratio* and *type/subset* also set the atom type for a -fraction of the selected atoms. The actual number of atoms changed -will be exactly the requested number. For *type/ratio* the specified -fraction (0 <= *fraction* <= 1) determines the number. For +Keywords *type/ratio* and *type/subset* also set the atom type or atom +type label for a fraction of the selected atoms. The actual number of +atoms changed will be exactly the requested number. For *type/ratio* the +specified fraction (0 <= *fraction* <= 1) determines the number. For *type/subset*, the specified *Nsubset* is the number. An iterative algorithm is used which ensures the correct number of atoms are selected, in a perfectly random fashion. Which atoms are selected @@ -465,7 +472,10 @@ molecule which straddles the periodic box. Keywords *bond*, *angle*, *dihedral*, and *improper*, set the bond type (angle type, etc) of all bonds (angles, etc) of selected atoms to the -specified value from 1 to nbondtypes (nangletypes, etc). All atoms in a +specified value from 1 to nbondtypes (nangletypes, etc). One can also use +a specified type label. See the :doc:`Howto type labels ` +doc page for the allowed syntax of type labels and a general discussion of +how type labels can be used. All atoms in a particular bond (angle, etc) must be selected atoms in order for the change to be made. The value of nbondtype (nangletypes, etc) was set by the *bond types* (\ *angle types*, etc) field in the header of the data diff --git a/src/set.cpp b/src/set.cpp index 3a175cbfe2..06c29b4965 100644 --- a/src/set.cpp +++ b/src/set.cpp @@ -93,12 +93,18 @@ void Set::command(int narg, char **arg) if (strcmp(arg[iarg],"type") == 0) { if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "set type", error); if (utils::strmatch(arg[iarg+1],"^v_")) varparse(arg[iarg+1],1); - else ivalue = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + else { + char *typestr = utils::expand_type(FLERR,arg[iarg+1],Atom::ATOM,lmp); + if (typestr) arg[iarg+1] = typestr; + ivalue = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + } set(TYPE); iarg += 2; } else if (strcmp(arg[iarg],"type/fraction") == 0) { if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "set type/fraction", error); + char *typestr = utils::expand_type(FLERR,arg[iarg+1],Atom::ATOM,lmp); + if (typestr) arg[iarg+1] = typestr; newtype = utils::inumeric(FLERR,arg[iarg+1],false,lmp); fraction = utils::numeric(FLERR,arg[iarg+2],false,lmp); ivalue = utils::inumeric(FLERR,arg[iarg+3],false,lmp); @@ -113,6 +119,8 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"type/ratio") == 0) { if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "set type/ratio", error); + char *typestr = utils::expand_type(FLERR,arg[iarg+1],Atom::ATOM,lmp); + if (typestr) arg[iarg+1] = typestr; newtype = utils::inumeric(FLERR,arg[iarg+1],false,lmp); fraction = utils::numeric(FLERR,arg[iarg+2],false,lmp); ivalue = utils::inumeric(FLERR,arg[iarg+3],false,lmp); @@ -127,6 +135,8 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"type/subset") == 0) { if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "set type/subset", error); + char *typestr = utils::expand_type(FLERR,arg[iarg+1],Atom::ATOM,lmp); + if (typestr) arg[iarg+1] = typestr; newtype = utils::inumeric(FLERR,arg[iarg+1],false,lmp); nsubset = utils::bnumeric(FLERR,arg[iarg+2],false,lmp); ivalue = utils::inumeric(FLERR,arg[iarg+3],false,lmp); @@ -477,6 +487,8 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"bond") == 0) { if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "set bond", error); + char *typestr = utils::expand_type(FLERR,arg[iarg+1],Atom::BOND,lmp); + if (typestr) arg[iarg+1] = typestr; ivalue = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (atom->avec->bonds_allow == 0) error->all(FLERR,"Cannot set attribute {} for atom style {}", arg[iarg], atom->get_style()); @@ -487,6 +499,8 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"angle") == 0) { if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "set angle", error); + char *typestr = utils::expand_type(FLERR,arg[iarg+1],Atom::ANGLE,lmp); + if (typestr) arg[iarg+1] = typestr; ivalue = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (atom->avec->angles_allow == 0) error->all(FLERR,"Cannot set attribute {} for atom style {}", arg[iarg], atom->get_style()); @@ -497,6 +511,8 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"dihedral") == 0) { if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "set dihedral", error); + char *typestr = utils::expand_type(FLERR,arg[iarg+1],Atom::DIHEDRAL,lmp); + if (typestr) arg[iarg+1] = typestr; ivalue = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (atom->avec->dihedrals_allow == 0) error->all(FLERR,"Cannot set attribute {} for atom style {}", arg[iarg], atom->get_style()); @@ -507,6 +523,8 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"improper") == 0) { if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "set improper", error); + char *typestr = utils::expand_type(FLERR,arg[iarg+1],Atom::IMPROPER,lmp); + if (typestr) arg[iarg+1] = typestr; ivalue = utils::inumeric(FLERR,arg[iarg+1],false,lmp); if (atom->avec->impropers_allow == 0) error->all(FLERR,"Cannot set attribute {} for atom style {}", arg[iarg], atom->get_style()); @@ -722,6 +740,8 @@ void Set::selection(int n) if (style == ATOM_SELECT) { if (atom->tag_enable == 0) error->all(FLERR,"Cannot use set atom with no atom IDs defined"); + char *typestr = utils::expand_type(FLERR,id,Atom::ATOM,lmp); + if (typestr) id = typestr; bigint nlobig,nhibig; utils::bounds(FLERR,id,1,MAXTAGINT,nlobig,nhibig,error); @@ -742,6 +762,8 @@ void Set::selection(int n) else select[i] = 0; } else if (style == TYPE_SELECT) { + char *typestr = utils::expand_type(FLERR, id, Atom::ATOM, lmp); + if (typestr) id = typestr; utils::bounds(FLERR,id,1,atom->ntypes,nlo,nhi,error); int *type = atom->type; diff --git a/unittest/commands/test_set_property.cpp b/unittest/commands/test_set_property.cpp index dbe9f619b5..62af47f2ed 100644 --- a/unittest/commands/test_set_property.cpp +++ b/unittest/commands/test_set_property.cpp @@ -206,6 +206,16 @@ TEST_F(SetTest, StylesTypes) sum += (atom->type[i] == 2) ? 1 : 0; ASSERT_EQ(sum, 4); + BEGIN_HIDE_OUTPUT(); + command("labelmap atom 1 C 2 H"); + command("set group all type C"); + command("set group all type/fraction H 0.5 453246"); + END_HIDE_OUTPUT(); + sum = 0; + for (int i = 0; i < 8; ++i) + sum += (atom->type[i] == 2) ? 1 : 0; + ASSERT_EQ(sum, 4); + BEGIN_HIDE_OUTPUT(); command("set group all type 1"); command("set group all type/ratio 2 0.5 5784536"); @@ -224,6 +234,15 @@ TEST_F(SetTest, StylesTypes) sum += (atom->type[i] == 2) ? 1 : 0; ASSERT_EQ(sum, 4); + BEGIN_HIDE_OUTPUT(); + command("set group all type C"); + command("set group all type/subset H 5 784536"); + END_HIDE_OUTPUT(); + sum = 0; + for (int i = 0; i < 8; ++i) + sum += (atom->type[i] == 2) ? 1 : 0; + ASSERT_EQ(sum, 5); + TEST_FAILURE(".*ERROR: Numeric index 9 is out of bounds .1-8.*", command("set type 9 x 0.0");); TEST_FAILURE(".*ERROR: Invalid range string: 3:10.*", command("set type 3:10 x 0.0");); TEST_FAILURE(".*ERROR: Could not find set group ID nope.*", command("set group nope x 0.0");); @@ -247,6 +266,34 @@ TEST_F(SetTest, PosVelCharge) ASSERT_EQ(atom->q[6], -1); ASSERT_EQ(atom->q[7], -1); + BEGIN_HIDE_OUTPUT(); + command("labelmap atom 1 C 2 H"); + command("set region right type H"); + END_HIDE_OUTPUT(); + + ASSERT_EQ(atom->type[0], 1); + ASSERT_EQ(atom->type[1], 2); + ASSERT_EQ(atom->type[2], 1); + ASSERT_EQ(atom->type[3], 2); + ASSERT_EQ(atom->type[4], 1); + ASSERT_EQ(atom->type[5], 2); + ASSERT_EQ(atom->type[6], 1); + ASSERT_EQ(atom->type[7], 2); + + BEGIN_HIDE_OUTPUT(); + command("set type C charge 1.25"); + command("set type H charge -1.25"); + END_HIDE_OUTPUT(); + + ASSERT_EQ(atom->q[0], 1.25); + ASSERT_EQ(atom->q[1], -1.25); + ASSERT_EQ(atom->q[2], 1.25); + ASSERT_EQ(atom->q[3], -1.25); + ASSERT_EQ(atom->q[4], 1.25); + ASSERT_EQ(atom->q[5], -1.25); + ASSERT_EQ(atom->q[6], 1.25); + ASSERT_EQ(atom->q[7], -1.25); + BEGIN_HIDE_OUTPUT(); command("variable xpos atom 0.5-x"); command("variable ypos atom y*0.5"); From d83386de56fb692ebabf345515fc2f5e3d3f4b58 Mon Sep 17 00:00:00 2001 From: Yaser Afshar Date: Fri, 24 Mar 2023 07:12:09 -0700 Subject: [PATCH 394/448] ATOM_SELECT uses numerical id for atom ID --- src/set.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/set.cpp b/src/set.cpp index 06c29b4965..6d7c307a13 100644 --- a/src/set.cpp +++ b/src/set.cpp @@ -740,8 +740,6 @@ void Set::selection(int n) if (style == ATOM_SELECT) { if (atom->tag_enable == 0) error->all(FLERR,"Cannot use set atom with no atom IDs defined"); - char *typestr = utils::expand_type(FLERR,id,Atom::ATOM,lmp); - if (typestr) id = typestr; bigint nlobig,nhibig; utils::bounds(FLERR,id,1,MAXTAGINT,nlobig,nhibig,error); From ff622f10ea5710ab7f3a1942511fbb107c719dea Mon Sep 17 00:00:00 2001 From: Yaser Afshar Date: Fri, 24 Mar 2023 07:13:54 -0700 Subject: [PATCH 395/448] Remove extra space --- src/set.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/set.cpp b/src/set.cpp index 6d7c307a13..ef5ea427b8 100644 --- a/src/set.cpp +++ b/src/set.cpp @@ -760,7 +760,7 @@ void Set::selection(int n) else select[i] = 0; } else if (style == TYPE_SELECT) { - char *typestr = utils::expand_type(FLERR, id, Atom::ATOM, lmp); + char *typestr = utils::expand_type(FLERR,id,Atom::ATOM,lmp); if (typestr) id = typestr; utils::bounds(FLERR,id,1,atom->ntypes,nlo,nhi,error); From 45fabe74b9239720c10d8a5d7ef56ca8204e9793 Mon Sep 17 00:00:00 2001 From: Yaser Afshar Date: Fri, 24 Mar 2023 08:52:16 -0700 Subject: [PATCH 396/448] Add TBD to inform the users for the new addition not available in older versions --- doc/src/set.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/doc/src/set.rst b/doc/src/set.rst index b4781d40fc..0a90b56b03 100644 --- a/doc/src/set.rst +++ b/doc/src/set.rst @@ -187,6 +187,10 @@ properties to reset and what the new values are. Some strings like This section describes how to select which atoms to change the properties of, via the *style* and *ID* arguments. +.. versionchanged:: TBD + + Support for type labels was added for + The style *atom* selects all the atoms in a range of atom IDs. The style *type* selects all the atoms in a range of types or type labels. The style *mol* selects all the atoms in a range of molecule IDs. @@ -241,6 +245,10 @@ from a file. such as the molecule ID, then the floating point value is truncated to its integer portion, e.g. a value of 2.6 would become 2. +.. versionchanged:: TBD + + Support for type labels was added for + Keyword *type* sets the atom type or atom type label for all selected atoms. For atom type, specified value must be from 1 to ntypes, where ntypes was set by the :doc:`create_box ` command or the *atom types* field in the From ab48b834f79defb51ef8df3eba138784f3fa6ab8 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 24 Mar 2023 17:43:52 -0400 Subject: [PATCH 397/448] refactor python module wheel building and installation to be less prone to race conditions --- cmake/CMakeLists.txt | 2 +- python/install.py | 93 +++++++++++++++++++++++--------------------- python/setup.py | 10 ++--- src/Makefile | 2 +- 4 files changed, 55 insertions(+), 52 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 14961209c8..6842c05f9d 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -842,7 +842,7 @@ if(BUILD_SHARED_LIBS) if(Python_EXECUTABLE) add_custom_target( install-python ${Python_EXECUTABLE} ${LAMMPS_PYTHON_DIR}/install.py -p ${LAMMPS_PYTHON_DIR}/lammps - -l ${LIBLAMMPS_SHARED_BINARY} -w ${MY_BUILD_DIR} + -l ${LIBLAMMPS_SHARED_BINARY} -w ${MY_BUILD_DIR} -v ${LAMMPS_SOURCE_DIR}/version.h COMMENT "Installing LAMMPS Python module") else() add_custom_target( diff --git a/python/install.py b/python/install.py index 6c27ebd0bd..25784791b4 100644 --- a/python/install.py +++ b/python/install.py @@ -25,6 +25,8 @@ parser.add_argument("-n", "--noinstall", action="store_true", default=False, help="only build a binary wheel. Don't attempt to install it") parser.add_argument("-w", "--wheeldir", required=False, help="path to a directory where the created wheel will be stored") +parser.add_argument("-v", "--versionfile", required=True, + help="path to the LAMMPS version.h source file") args = parser.parse_args() @@ -32,7 +34,7 @@ args = parser.parse_args() if args.package: if not os.path.exists(args.package): - print("ERROR: LAMMPS package %s does not exist" % args.package) + print("ERROR: LAMMPS package folder %s does not exist" % args.package) parser.print_help() sys.exit(1) else: @@ -54,19 +56,32 @@ if args.wheeldir: else: args.wheeldir = os.path.abspath(args.wheeldir) -# we need to switch to the folder of the python package +if args.versionfile: + if not os.path.exists(args.versionfile): + print("ERROR: LAMMPS version file at %s does not exist" % args.versionfile) + parser.print_help() + sys.exit(1) + else: + args.versionfile = os.path.abspath(args.versionfile) + olddir = os.path.abspath('.') -os.chdir(os.path.dirname(args.package)) +pythondir = os.path.abspath(os.path.join(args.package,'..')) +os.putenv('LAMMPS_VERSION_FILE',os.path.abspath(args.versionfile)) -# remove any wheel files left over from previous calls -if os.path.isdir(os.path.join(olddir,"build")): +# purge old build folder +if os.path.isdir(os.path.join(olddir, 'build-python')): print("Cleaning old build directory") - shutil.rmtree(os.path.join(olddir,"build")) + shutil.rmtree(os.path.join(olddir, 'build-python')) -#print("Purging existing wheels...") -#for wheel in glob.glob('lammps-*.whl'): -# print("deleting " + wheel) -# os.remove(wheel) +# remove any old wheel files left over from previous calls +print("Purging existing wheels...") +for wheel in glob.glob('lammps-*.whl'): + print("deleting " + wheel) + os.remove(wheel) + +# copy python tree to build folder +builddir = shutil.copytree(pythondir, os.path.join(olddir, 'build-python')) +os.chdir(builddir) # copy shared object to the current folder so that # it will show up in the installation at the expected location @@ -74,7 +89,7 @@ os.putenv('LAMMPS_SHARED_LIB',os.path.basename(args.lib)) shutil.copy(args.lib,'lammps') # create a virtual environment for building the wheel -shutil.rmtree('buildwheel',True) +shutil.rmtree('buildwheel', True) try: txt = subprocess.check_output([sys.executable, '-m', 'venv', 'buildwheel'], stderr=subprocess.STDOUT, shell=False) print(txt.decode('UTF-8')) @@ -86,18 +101,19 @@ except subprocess.CalledProcessError as err: # there is no simple way to return from that in python. os.system(sys.executable + ' makewheel.py') +# copy wheel to final location +for wheel in glob.glob('lammps-*.whl'): + if args.wheeldir: + shutil.copy(wheel, args.wheeldir) + +print('wheel = ', wheel) + # remove temporary folders and files -shutil.rmtree('buildwheel',True) -shutil.rmtree('build',True) -shutil.rmtree('lammps.egg-info',True) -os.remove(os.path.join('lammps',os.path.basename(args.lib))) +os.chdir(olddir) +shutil.rmtree('build-python',True) # stop here if we were asked not to install the wheel we created if args.noinstall: - if args.wheeldir: - for wheel in glob.glob('lammps-*.whl'): - shutil.copy(wheel, args.wheeldir) - os.remove(wheel) exit(0) # install the wheel with pip. first try to install in the default environment. @@ -122,28 +138,17 @@ else: print("Installing wheel into system site-packages folder") py_exe = sys.executable -for wheel in glob.glob('lammps-*.whl'): - try: - txt = subprocess.check_output([py_exe, '-m', 'pip', 'install', '--force-reinstall', wheel], stderr=subprocess.STDOUT, shell=False) - print(txt.decode('UTF-8')) - if args.wheeldir: - shutil.copy(wheel, args.wheeldir) - else: - shutil.copy(wheel, olddir) - os.remove(wheel) - continue - except subprocess.CalledProcessError as err: - errmsg = err.output.decode('UTF-8') - if errmsg.find("distutils installed"): - sys.exit(errmsg + "You need to uninstall the LAMMPS python module manually first.\n") - try: - print('Installing wheel into system site-packages folder failed. Trying user folder now') - txt = subprocess.check_output([sys.executable, '-m', 'pip', 'install', '--user', '--force-reinstall', wheel], stderr=subprocess.STDOUT, shell=False) - print(txt.decode('UTF-8')) - if args.wheeldir: - shutil.copy(wheel, args.wheeldir) - else: - shutil.copy(wheel, olddir) - os.remove(wheel) - except: - sys.exit('Failed to install wheel ' + wheel) +try: + txt = subprocess.check_output([py_exe, '-m', 'pip', 'install', '--force-reinstall', wheel], stderr=subprocess.STDOUT, shell=False) + print(txt.decode('UTF-8')) + sys.exit(0) +except subprocess.CalledProcessError as err: + errmsg = err.output.decode('UTF-8') + if errmsg.find("distutils installed"): + sys.exit(errmsg + "You need to uninstall the LAMMPS python module manually first.\n") +try: + print('Installing wheel into system site-packages folder failed. Trying user folder now') + txt = subprocess.check_output([sys.executable, '-m', 'pip', 'install', '--user', '--force-reinstall', wheel], stderr=subprocess.STDOUT, shell=False) + print(txt.decode('UTF-8')) +except: + sys.exit('Failed to install wheel ' + wheel) diff --git a/python/setup.py b/python/setup.py index 722230d477..cf4f1e7c4a 100644 --- a/python/setup.py +++ b/python/setup.py @@ -4,17 +4,15 @@ from setuptools import setup from setuptools.dist import Distribution from sys import version_info import os,time -LAMMPS_PYTHON_DIR = os.path.dirname(os.path.realpath(__file__)) -LAMMPS_DIR = os.path.dirname(LAMMPS_PYTHON_DIR) -LAMMPS_SOURCE_DIR = os.path.join(LAMMPS_DIR, 'src') -if not os.path.exists(LAMMPS_SOURCE_DIR): +versionfile = os.environ.get("LAMMPS_VERSION_FILE") +if not versionfile: # allows installing and building wheel from current directory LAMMPS_DIR = os.path.realpath(os.path.join(os.environ['PWD'], '..')) - LAMMPS_SOURCE_DIR = os.path.join(LAMMPS_DIR, 'src') + versionfile = os.path.join(LAMMPS_DIR, 'src', 'version.h') def get_lammps_version(): - version_h_file = os.path.join(LAMMPS_SOURCE_DIR, 'version.h') + version_h_file = os.path.join(versionfile) with open(version_h_file, 'r') as f: line = f.readline() start_pos = line.find('"')+1 diff --git a/src/Makefile b/src/Makefile index 30032250c9..676bd6d260 100644 --- a/src/Makefile +++ b/src/Makefile @@ -468,7 +468,7 @@ mpi-stubs: sinclude ../lib/python/Makefile.lammps install-python: @rm -rf ../python/build - @$(PYTHON) ../python/install.py -p ../python/lammps -l ../src/liblammps.so -w $(PWD) + @$(PYTHON) ../python/install.py -p ../python/lammps -l ../src/liblammps.so -w $(PWD) -v $(PWD)/version.h # Create a tarball of src dir and packages From a09013986a52197b9b0bd41777c1606cfff8b5bf Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 24 Mar 2023 18:02:01 -0400 Subject: [PATCH 398/448] update docs for python package installation and building of wheel file --- doc/src/Python_install.rst | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/doc/src/Python_install.rst b/doc/src/Python_install.rst index cc1e2cb5c9..c4fbec0be4 100644 --- a/doc/src/Python_install.rst +++ b/doc/src/Python_install.rst @@ -43,19 +43,20 @@ folder that the dynamic loader searches or inside of the installed Compile LAMMPS with either :doc:`CMake ` or the :doc:`traditional make ` procedure in :ref:`shared - mode `. After compilation has finished type (in the + mode `. After compilation has finished, type (in the compilation folder): .. code-block:: bash make install-python - This will try to build a so-called (binary) 'wheel', a compressed - binary python package and then install it with the python package - manager 'pip'. Installation will be attempted into a system-wide - ``site-packages`` folder and if that fails into the corresponding - folder in the user's home directory. For a system-wide installation you - would have to gain superuser privilege, e.g. though ``sudo`` + This will try to build a so-called (binary) wheel file, a + compressed binary python package and then install it with the + python package manager 'pip'. Installation will be attempted into + a system-wide ``site-packages`` folder and if that fails into the + corresponding folder in the user's home directory. For a + system-wide installation you usually would have to gain superuser + privilege first, e.g. though ``sudo`` +------------------------+----------------------------------------------------------+-------------------------------------------------------------+ | File | Location | Notes | @@ -106,10 +107,11 @@ folder that the dynamic loader searches or inside of the installed .. code-block:: bash - python install.py -p -l [-n] + python install.py -p -l -v [-n] * The ``-p`` flag points to the ``lammps`` Python package folder to be installed, * the ``-l`` flag points to the LAMMPS shared library file to be installed, + * the ``-v`` flag points to the LAMMPS version header file to extract the version date, * and the optional ``-n`` instructs the script to only build a wheel file but not attempt to install it. From 1a234a435101a10232e267e6f3ece0c26cc6e787 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 24 Mar 2023 20:07:45 -0400 Subject: [PATCH 399/448] update pair style writing docs according to suggestions by @sjplimp --- doc/src/Developer_write_pair.rst | 136 +++++++++++++++++++++---------- 1 file changed, 94 insertions(+), 42 deletions(-) diff --git a/doc/src/Developer_write_pair.rst b/doc/src/Developer_write_pair.rst index e339394af5..01f908e308 100644 --- a/doc/src/Developer_write_pair.rst +++ b/doc/src/Developer_write_pair.rst @@ -3,9 +3,9 @@ Writing new pair styles Pair styles are at the core of most simulations with LAMMPS, since they are used to compute the forces (plus energy and virial contributions, if -needed) on atoms for pairs of atoms within a given cutoff. This is -often the dominant computation in LAMMPS, and sometimes even the only -one. Pair styles can be grouped into multiple categories: +needed) on atoms for pairs or small clusters of atoms within a given +cutoff. This is often the dominant computation in LAMMPS, and sometimes +even the only one. Pair styles can be grouped into multiple categories: #. simple pairwise additive interactions of point particles (e.g. :doc:`Lennard-Jones `, :doc:`Morse `, @@ -48,7 +48,10 @@ Case 1: a pairwise additive model In this section, we will describe the procedure of adding a simple pair style to LAMMPS: an empirical model that can be used to model liquid -mercury. +mercury. The pair style shall be called :doc:`bond/gauss +` and the complete implementation can be found in the +files ``src/EXTRA-PAIR/pair_born_gauss.cpp`` and +``src/EXTRA-PAIR/pair_born_gauss.h`` of the LAMMPS source code. Model and general considerations """""""""""""""""""""""""""""""" @@ -82,9 +85,7 @@ Because of the combination of Born-Mayer with a Gaussian, the pair style shall be named "born/gauss" and thus the class name would be ``PairBornGauss`` and the source files ``pair_born_gauss.h`` and ``pair_born_gauss.cpp``. Since this is a rather uncommon potential, it -shall be added to the :ref:`EXTRA-PAIR ` package. For -the implementation, we will use :doc:`pair style morse ` as -a template. +shall be added to the :ref:`EXTRA-PAIR ` package. Header file """"""""""" @@ -126,23 +127,29 @@ message and before the include guards for the class definition: #endif -This second segment of the header file will be included by the ``Force`` -class in ``force.cpp`` to build a map of "factory functions" that will -create an instance of these classes and return a pointer to it. The map -connects the name of the pair style, "born/gauss", to the name of the -class, ``PairBornGauss``. Before including the headers, the ``PAIR_CLASS`` -define is set and the ``PairStyle(name,class)`` macro is defined as needed. +This block of between ``#ifdef PAIR_CLASS`` and ``#else`` will be +included by the ``Force`` class in ``force.cpp`` to build a map of +"factory functions" that will create an instance of these classes and +return a pointer to it. The map connects the name of the pair style, +"born/gauss", to the name of the class, ``PairBornGauss``. During +compilation, LAMMPS constructs a file ``style_pair.h`` that contains +``#include`` statements for all "installed" pair styles. Before +including ``style_pair.h`` into ``force.cpp``, the ``PAIR_CLASS`` define +is set and the ``PairStyle(name,class)`` macro defined. The code of the +macro adds the installed pair styles to the "factory map" which enables +the :doc:`pair_style command ` to create the pair style +instance. The list of header files to include is automatically updated by the -build system, so the presence of the file in the ``src/EXTRA-PAIR`` -folder and the enabling of the EXTRA-PAIR package will trigger -LAMMPS to include the new pair style when it is (re-)compiled. The "// -clang-format" format comments are needed so that running -:ref:`clang-format ` on the file will not insert blanks -between "born", "/", and "gauss" which would break the ``PairStyle`` -macro. +build system if there are new files, so the presence of the new header +file in the ``src/EXTRA-PAIR`` folder and the enabling of the EXTRA-PAIR +package will trigger LAMMPS to include the new pair style when it is +(re-)compiled. The "// clang-format" format comments are needed so that +running :ref:`clang-format ` on the file will not insert +unwanted blanks between "born", "/", and "gauss" which would break the +``PairStyle`` macro. -The third segment of the header is the actual class definition of the +The third part of the header file is the actual class definition of the ``PairBornGauss`` class. This has the prototypes for all member functions that will be implemented by this pair style. This includes :doc:`a few required and a number of optional functions `. @@ -673,9 +680,17 @@ as the `fforce` reference. Note, that this is, similar to how *fpair* is used in the ``compute()`` function, the magnitude of the force along the vector between the two atoms *divided* by the distance. -The ``single()`` function is optional. The member variable -`single_enable` should be set to 0 in the constructor, if it is not -implemented (its default value is 1). +The ``single()`` function is optional, but it is expected to be +implemented for any true pair-wise additive potential. Many-body +potentials and special case potentials do not implement it. In a few +special cases (EAM, long-range Coulomb), the ``single()`` function +implements the pairwise additive part of the complete force interaction +and depends on either pre-computed properties (derivative of embedding +term for EAM) or post-computed non-pair-wise force contributions (KSpace +style in case of long-range Coulomb). + +The member variable `single_enable` should be set to 0 in the +constructor, if it is not implemented (its default value is 1). .. code-block:: c++ @@ -701,11 +716,19 @@ Reading and writing of restart files Support for writing and reading binary restart files is provided by the following four functions. Writing is only done by MPI processor rank 0. -The output of global (not related to atom types) settings is delegated -to the ``write_restart_settings()`` function. Implementing the -functions to read and write binary restart files is optional. The -member variable `restartinfo` should be set to 0 in the constructor, if -they are not implemented (its default value is 1). +The output of global (not related to atom types) settings is usually +delegated to the ``write_restart_settings()`` function. This restart +facility is commonly only used, if there are small number of per-type +parameters. For potentials that use per-element parameters or tabulated +data and read these from files, those parameters and the name of the +potential file are not written to restart files and the :doc:`pair_coeff +command ` has to re-issued when restarting. For pair styles +like "born/gauss" that do support writing to restart files, this is not +required. + +Implementing the functions to read and write binary restart files is +optional. The member variable `restartinfo` should be set to 0 in the +constructor, if they are not implemented (its default value is 1). .. code-block:: c++ @@ -829,8 +852,17 @@ would be lost. To avoid this, the "pair ij" option of :doc:`write_data of the pair coefficient matrix (regardless of whether they were originally created from mixing or not). -The member variable `writedata` should be set to 1 in the constructor, -if they are implemented (the default value is 0). +These data file output functions are only useful for true pair-wise +additive potentials, where the potential parameters can be entered +through *multiple* :doc:`pair_coeff commands `. Pair styles +that require a single "pair_coeff \* \*" command line are not compatible +with reading their parameters from data files. For pair styles like +*born/gauss* that do support writing to data files, the potential +parameters will be read from the data file, if present and +:doc:`pair_coeff commands ` may not be needed. + +The member variable ``writedata`` should be set to 1 in the constructor, +if these functions are implemented (the default value is 0). .. code-block:: c++ @@ -861,10 +893,11 @@ if they are implemented (the default value is 0). Give access to internal data """""""""""""""""""""""""""" -The purpose of the ``extract()`` function is to allow access to internal data -of the pair style to other parts of LAMMPS. One application is to use -:doc:`fix adapt ` to gradually change potential parameters during -a run. Here, we implement access to the pair coefficient matrix parameters. +The purpose of the ``extract()`` function is to facilitate access to +internal data of the pair style by other parts of LAMMPS. One possible +application is to use :doc:`fix adapt ` to gradually change +potential parameters during a run. Here, we implement access to the +pair coefficient matrix parameters. .. code-block:: c++ @@ -903,7 +936,9 @@ of a pair style in the previous case, we will focus on where the implementation of a typical many-body potential *differs* from a pair-wise additive potential. We will use the implementation of the Tersoff potential as :doc:`pair_style tersoff ` as an -example. +example. The complete implementation can be found in the files +``src/MANYBODY/pair_tersoff.cpp`` and ``src/MANYBODY/pair_tersoff.h`` of +the LAMMPS source code. Constructor """"""""""" @@ -1042,9 +1077,13 @@ the "short" neighbor list, accumulated previously. Reading potential parameters """""""""""""""""""""""""""" -For the Tersoff potential, the parameters are listed in a file and associated -with triples for elements. Thus, the ``coeff()`` function has to do three -tasks, each of which is delegated to a function: +For the Tersoff potential, the parameters are listed in a file and +associated with triples of elements. Because we have set the +``one_coeff`` flag to 1 in the constructor, there may only be a single +:doc:`pair_coeff \* \* ` line in the input for this pair +style, and as a consequence the ``coeff()`` function will only be called +once. Thus, the ``coeff()`` function has to do three tasks, each of +which is delegated to a function in the ``PairTersoff`` class: #. map elements to atom types. Those follow the potential file name in the command line arguments and are processed by the ``map_element2type()`` function. @@ -1078,9 +1117,22 @@ be computed. Since LAMMPS is designed to run in parallel using a information of the atoms may be directly available and thus communication steps may be need to collect data from ghost atoms of neighboring subdomains or send data to ghost atoms for application -during the pairwise computation. For this we will look at how the -embedding term of the :doc:`embedded atom potential EAM ` is -implemented in LAMMPS. +during the pairwise computation. + +Specifically, two communication patterns are needed: a "reverse +communication" and a "forward communication". The reverse communication +collects data added to "ghost" atoms from neighboring sub-domains and +sums it to their corresponding "local" atoms. This communication is +only required and thus executed when the ``Force::newton_pair`` setting +is 1 (i.e. :doc:`newton on `, the default). The forward +communication is used to copy computed per-atom data from "local" atoms +to their corresponding "ghost" atoms in neighboring sub-domains. + +For this we will look at how the embedding term of the :doc:`embedded +atom potential EAM ` is implemented in LAMMPS. The complete +implementation of this pair style can be found in the files +``src/MANYBODY/pair_eam.cpp`` and ``src/MANYBODY/pair_eam.h`` of the +LAMMPS source code. Allocating additional per-atom storage """""""""""""""""""""""""""""""""""""" From 7ec1d1e330011686d125bea52f329646780f1f41 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 24 Mar 2023 21:43:51 -0400 Subject: [PATCH 400/448] discuss derived pair style classes that only modify some minor detail --- doc/src/Developer_write_pair.rst | 106 +++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) diff --git a/doc/src/Developer_write_pair.rst b/doc/src/Developer_write_pair.rst index 01f908e308..e830a82517 100644 --- a/doc/src/Developer_write_pair.rst +++ b/doc/src/Developer_write_pair.rst @@ -43,6 +43,15 @@ other methods are optional and have default implementations in the base class (most of which do nothing), but they may need to be overridden depending on the requirements of the model. +We are looking at the following cases: + +- `Case 1: a pairwise additive model`_ +- `Case 2: a many-body potential`_ +- `Case 3: a potential requiring communication`_ +- `Case 4: potentials without a compute() function`_ + +---- + Case 1: a pairwise additive model ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -1241,6 +1250,103 @@ communicated, we must set the `comm_forward` member variable to 1 for (i = first; i < last; i++) fp[i] = buf[m++]; } +Case 4: potentials without a compute() function +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +A small number of pair style classes do not implement a ``compute()`` +function, but instead use that of a different pair style. + +Embedded atom variants "eam/fs" and "eam/alloy" +""""""""""""""""""""""""""""""""""""""""""""""" + +The pair styles :doc:`eam/fs and eam/alloy ` share the same +model and potential function as the :doc:`eam pair style `. +They differ in the format of the potential files. Pair style :doc:`eam +` supports only potential files for single elements. For +multi-element systems, the mixed terms are computed from mixed +parameters. The *eam/fs* and *eam/alloy* pair styles, however, +**require** the use of a single potential file for all elements where +the mixed element potential is included in the tabulation. That enables +more accurate models for alloys, since the mixed terms can be adjusted +to a better representiation of material properties compared to terms +created from mixing or per-element terms. + +We take a closer at the *eam/alloy* pair style. The complete +implementation is in the files ``src/MANYBODY/pair_eam_alloy.cpp`` and +``src/MANYBODY/pair_eam_alloy.h``. + +The ``PairEAMAlloy`` class is derived from ``PairEAM`` and not ``Pair`` +and overrides only a small number of functions: + +.. code-block:: c++ + + class PairEAMAlloy : virtual public PairEAM { + public: + PairEAMAlloy(class LAMMPS *); + void coeff(int, char **) override; + + protected: + void read_file(char *) override; + void file2array() override; + }; + +All other functionality is inherited from the base classes. In the +constructor we set the ``one_coeff`` flag and the ``many_body`` flag to +1 to indicate the different behavior. + +.. code-block:: c++ + + PairEAMAlloy::PairEAMAlloy(LAMMPS *lmp) : PairEAM(lmp) + { + one_coeff = 1; + manybody_flag = 1; + } + +The ``coeff()`` function (not shown here) implements the different +behavior when processing the :doc:`pair_coeff command `. +The ``read_file()`` and ``file2array()`` replace the corresponding +``PairEAM`` class functions to accommodate the different data and +file format. + +AIREBO and AIREBO-M potentials +"""""""""""""""""""""""""""""" + +The AIREBO-M potential differs from the better known AIREBO potential in +that it use a Morse potential instead of a Lennard-Jones potential for +non-bonded interactions. Since this difference is very minimal compared +to the entire potential, both potentials are implemented in the +``PairAIREBO`` class and which non-bonded potential is used is +determined by the value of the ``morseflag`` flag, which would be set to +either 0 or 1. + +.. code-block:: c++ + + class PairAIREBOMorse : public PairAIREBO { + public: + PairAIREBOMorse(class LAMMPS *); + void settings(int, char **) override; + }; + +The ``morseflag`` variable defaults to 0 and is set to 1 in the +``PairAIREBOMorse::settings()`` function which is called by the +:doc:`pair_style ` command. This function delegates +all command line processing and setting of other parameters to the +``PairAIREBO::settings()`` function of the base class. + +.. code-block:: c++ + + void PairAIREBOMorse::settings(int narg, char **arg) + { + PairAIREBO::settings(narg, arg); + + morseflag = 1; + } + +The complete implementation is in the files +``src/MANYBODY/pair_airebo.cpp``, ``src/MANYBODY/pair_airebo.h``, +``src/MANYBODY/pair_airebo_morse.cpp``, +``src/MANYBODY/pair_airebo_morse.h``. + -------------- .. _Bomont2: From c0f0edfaba9bddf4415f649df55953bbd249626c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 24 Mar 2023 22:26:11 -0400 Subject: [PATCH 401/448] tweak sphinx config that PDF and HTML manual have the same chapter numbers --- doc/utils/sphinx-config/conf.py.in | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/utils/sphinx-config/conf.py.in b/doc/utils/sphinx-config/conf.py.in index 0da553d755..0a82f63d5c 100644 --- a/doc/utils/sphinx-config/conf.py.in +++ b/doc/utils/sphinx-config/conf.py.in @@ -327,6 +327,7 @@ latex_elements = { % Make ToC number fields wider to accommodate sections with >= 100 subsections % or >= 10 subsections with >= 10 subsubsections \makeatletter +\@addtoreset{chapter}{part} \renewcommand*{\sphinxtableofcontentshook}{% \renewcommand*\l@section{\@dottedtocline{1}{1.5em}{3.1em}} \renewcommand*\l@subsection{\@dottedtocline{2}{4.6em}{4.5em}} From 1d13af8057f2d0ad6d689bc0bae4afcef3fbb695 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 24 Mar 2023 21:44:38 -0400 Subject: [PATCH 402/448] check is already done in Input::pair_coeff() --- src/MANYBODY/pair_eam_alloy.cpp | 5 ----- src/MANYBODY/pair_eam_fs.cpp | 5 ----- 2 files changed, 10 deletions(-) diff --git a/src/MANYBODY/pair_eam_alloy.cpp b/src/MANYBODY/pair_eam_alloy.cpp index f5753a60e2..ffb08ab530 100644 --- a/src/MANYBODY/pair_eam_alloy.cpp +++ b/src/MANYBODY/pair_eam_alloy.cpp @@ -50,11 +50,6 @@ void PairEAMAlloy::coeff(int narg, char **arg) if (narg != 3 + atom->ntypes) error->all(FLERR,"Incorrect args for pair coefficients"); - // ensure I,J args are * * - - if (strcmp(arg[0],"*") != 0 || strcmp(arg[1],"*") != 0) - error->all(FLERR,"Incorrect args for pair coefficients"); - // read EAM setfl file if (setfl) { diff --git a/src/MANYBODY/pair_eam_fs.cpp b/src/MANYBODY/pair_eam_fs.cpp index 1d58bdad93..e2c894479b 100644 --- a/src/MANYBODY/pair_eam_fs.cpp +++ b/src/MANYBODY/pair_eam_fs.cpp @@ -51,11 +51,6 @@ void PairEAMFS::coeff(int narg, char **arg) if (narg != 3 + atom->ntypes) error->all(FLERR,"Incorrect args for pair coefficients"); - // ensure I,J args are * * - - if (strcmp(arg[0],"*") != 0 || strcmp(arg[1],"*") != 0) - error->all(FLERR,"Incorrect args for pair coefficients"); - // read EAM Finnis-Sinclair file if (fs) { From 529e81e142b516e9731444ef2263c7329e88c9ed Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 24 Mar 2023 21:44:12 -0400 Subject: [PATCH 403/448] enable and apply clang-format --- src/MANYBODY/pair_airebo_morse.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/MANYBODY/pair_airebo_morse.cpp b/src/MANYBODY/pair_airebo_morse.cpp index 18ae7fb1db..5ddc5b9d5f 100644 --- a/src/MANYBODY/pair_airebo_morse.cpp +++ b/src/MANYBODY/pair_airebo_morse.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -18,7 +17,8 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -PairAIREBOMorse::PairAIREBOMorse(LAMMPS *lmp) : PairAIREBO(lmp) { +PairAIREBOMorse::PairAIREBOMorse(LAMMPS *lmp) : PairAIREBO(lmp) +{ variant = AIREBO_M; } @@ -28,7 +28,7 @@ PairAIREBOMorse::PairAIREBOMorse(LAMMPS *lmp) : PairAIREBO(lmp) { void PairAIREBOMorse::settings(int narg, char **arg) { - PairAIREBO::settings(narg,arg); + PairAIREBO::settings(narg, arg); morseflag = 1; } From 19df5ff8114252f34c209d58abd981205cde9a7b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 25 Mar 2023 06:06:58 -0400 Subject: [PATCH 404/448] fix typo --- src/compute_chunk.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compute_chunk.cpp b/src/compute_chunk.cpp index 0b5204ff94..022b3fdf6b 100644 --- a/src/compute_chunk.cpp +++ b/src/compute_chunk.cpp @@ -115,7 +115,7 @@ void ComputeChunk::lock_enable() void ComputeChunk::lock_disable() { cchunk = dynamic_cast(modify->get_compute_by_id(idchunk)); - if (!cchunk) cchunk->lockcount--; + if (cchunk) cchunk->lockcount--; } /* ---------------------------------------------------------------------- From f906aeee9b61ec90d4c5153c8d9594074522b766 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 24 Mar 2023 22:11:42 -0400 Subject: [PATCH 405/448] spelling --- doc/src/Developer_write_pair.rst | 4 ++-- doc/utils/sphinx-config/false_positives.txt | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/src/Developer_write_pair.rst b/doc/src/Developer_write_pair.rst index e830a82517..d70f8ec50b 100644 --- a/doc/src/Developer_write_pair.rst +++ b/doc/src/Developer_write_pair.rst @@ -1268,8 +1268,8 @@ parameters. The *eam/fs* and *eam/alloy* pair styles, however, **require** the use of a single potential file for all elements where the mixed element potential is included in the tabulation. That enables more accurate models for alloys, since the mixed terms can be adjusted -to a better representiation of material properties compared to terms -created from mixing or per-element terms. +for a better representation of material properties compared to terms +created from mixing of per-element terms in the ``PairEAM`` class. We take a closer at the *eam/alloy* pair style. The complete implementation is in the files ``src/MANYBODY/pair_eam_alloy.cpp`` and diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 0baaaec5d3..c2ecce84d2 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -2218,6 +2218,7 @@ monopole monovalent Montalenti Montero +Monti Mora Morefoo Morfill From 0d145f317f22f149a4cc96713a9e842fa57cf848 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 25 Mar 2023 06:14:52 -0400 Subject: [PATCH 406/448] update version strings to 28 March 2023 for upcoming release --- doc/lammps.1 | 4 ++-- doc/src/Developer_updating.rst | 2 +- doc/src/bond_bpm_rotational.rst | 2 +- doc/src/bond_bpm_spring.rst | 2 +- doc/src/bond_harmonic_restrain.rst | 2 +- doc/src/compute_dipole.rst | 2 +- doc/src/compute_dipole_chunk.rst | 2 +- doc/src/compute_pressure_alchemy.rst | 2 +- doc/src/fix_alchemy.rst | 2 +- doc/src/fix_efield.rst | 2 +- doc/src/fix_mdi_qmmm.rst | 2 +- doc/src/fix_pimd.rst | 2 +- doc/src/fix_wall.rst | 4 ++-- doc/src/pair_gauss.rst | 2 +- src/version.h | 2 +- 15 files changed, 17 insertions(+), 17 deletions(-) diff --git a/doc/lammps.1 b/doc/lammps.1 index e4f6c61477..b1be867e60 100644 --- a/doc/lammps.1 +++ b/doc/lammps.1 @@ -1,7 +1,7 @@ -.TH LAMMPS "1" "8 February 2023" "2023-02-08" +.TH LAMMPS "1" "28 March 2023" "2023-03-28" .SH NAME .B LAMMPS -\- Molecular Dynamics Simulator. Version 8 February 2023 +\- Molecular Dynamics Simulator. Version 28 March 2023 .SH SYNOPSIS .B lmp diff --git a/doc/src/Developer_updating.rst b/doc/src/Developer_updating.rst index 28b3712ae0..36c6974b30 100644 --- a/doc/src/Developer_updating.rst +++ b/doc/src/Developer_updating.rst @@ -389,7 +389,7 @@ This change is **required** or else the code will not compile. Rename of fix STORE/PERATOM to fix STORE/ATOM and change of arguments ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -.. versionchanged:: TBD +.. versionchanged:: 28Mar2023 The available functionality of the internal fix to store per-atom properties was expanded to enable storing data with ghost atoms and to diff --git a/doc/src/bond_bpm_rotational.rst b/doc/src/bond_bpm_rotational.rst index 0b3fa4442c..ba93d679ba 100644 --- a/doc/src/bond_bpm_rotational.rst +++ b/doc/src/bond_bpm_rotational.rst @@ -143,7 +143,7 @@ the *overlay/pair* keyword. These settings require specific restrictions. Further details can be found in the `:doc: how to ` page on BPMs. -.. versionadded:: TBD +.. versionadded:: 28Mar2023 If the *break/no* keyword is used, then LAMMPS assumes bonds should not break during a simulation run. This will prevent some unnecessary calculation. diff --git a/doc/src/bond_bpm_spring.rst b/doc/src/bond_bpm_spring.rst index 5391d81420..5762dbe208 100644 --- a/doc/src/bond_bpm_spring.rst +++ b/doc/src/bond_bpm_spring.rst @@ -109,7 +109,7 @@ the *overlay/pair* keyword. These settings require specific restrictions. Further details can be found in the `:doc: how to ` page on BPMs. -.. versionadded:: TBD +.. versionadded:: 28Mar2023 If the *break/no* keyword is used, then LAMMPS assumes bonds should not break during a simulation run. This will prevent some unnecessary calculation. diff --git a/doc/src/bond_harmonic_restrain.rst b/doc/src/bond_harmonic_restrain.rst index c9707f5546..8ef92d8b44 100644 --- a/doc/src/bond_harmonic_restrain.rst +++ b/doc/src/bond_harmonic_restrain.rst @@ -21,7 +21,7 @@ Examples Description """"""""""" -.. versionadded:: TBD +.. versionadded:: 28Mar2023 The *harmonic/restrain* bond style uses the potential diff --git a/doc/src/compute_dipole.rst b/doc/src/compute_dipole.rst index fa1ca4ce0b..d8bcb29c71 100644 --- a/doc/src/compute_dipole.rst +++ b/doc/src/compute_dipole.rst @@ -42,7 +42,7 @@ geometric center times the net charge from the computed dipole vector. Both per-atom charges and per-atom dipole moments, if present, contribute to the computed dipole. -.. versionadded:: TBD +.. versionadded:: 28Mar2023 Compute *dipole/tip4p* includes adjustments for the charge carrying point M in molecules with TIP4P water geometry. The corresponding diff --git a/doc/src/compute_dipole_chunk.rst b/doc/src/compute_dipole_chunk.rst index 4e89bb748a..92289e10f9 100644 --- a/doc/src/compute_dipole_chunk.rst +++ b/doc/src/compute_dipole_chunk.rst @@ -51,7 +51,7 @@ center times the net charge from the computed dipole vector. Both per-atom charges and per-atom dipole moments, if present, contribute to the computed dipole. -.. versionadded:: TBD +.. versionadded:: 28Mar2023 Compute *dipole/tip4p/chunk* includes adjustments for the charge carrying point M in molecules with TIP4P water geometry. The diff --git a/doc/src/compute_pressure_alchemy.rst b/doc/src/compute_pressure_alchemy.rst index bdf9802e20..dcf6754c02 100644 --- a/doc/src/compute_pressure_alchemy.rst +++ b/doc/src/compute_pressure_alchemy.rst @@ -26,7 +26,7 @@ Examples Description """"""""""" -.. versionadded:: TBD +.. versionadded:: 28Mar2023 Define a compute style that makes the "mixed" system pressure available for a system that uses the :doc:`fix alchemy ` command to diff --git a/doc/src/fix_alchemy.rst b/doc/src/fix_alchemy.rst index 367b6d1cca..4f0ad06fd4 100644 --- a/doc/src/fix_alchemy.rst +++ b/doc/src/fix_alchemy.rst @@ -24,7 +24,7 @@ Examples Description """"""""""" -.. versionadded:: TBD +.. versionadded:: 28Mar2023 This fix command enables an "alchemical transformation" to be performed between two systems, whereby one system slowly transforms into the other diff --git a/doc/src/fix_efield.rst b/doc/src/fix_efield.rst index eebfaba8c6..e72510e4da 100644 --- a/doc/src/fix_efield.rst +++ b/doc/src/fix_efield.rst @@ -45,7 +45,7 @@ external electric field being applied to the system. If the system contains point-dipoles, also add a torque on the dipoles due to the external electric field. -.. versionadded:: TBD +.. versionadded:: 28Mar2023 When the *efield/tip4p* style is used, the E-field will be applied to the position of the virtual charge site M of a TIP4P molecule instead of diff --git a/doc/src/fix_mdi_qmmm.rst b/doc/src/fix_mdi_qmmm.rst index c933bb1e0e..3485e5152b 100644 --- a/doc/src/fix_mdi_qmmm.rst +++ b/doc/src/fix_mdi_qmmm.rst @@ -39,7 +39,7 @@ Examples Description """"""""""" -.. versionadded:: TBD +.. versionadded:: 28Mar2023 This command enables LAMMPS to act as a client with another server code to perform a coupled QM/MM (quantum-mechanics/molecular-mechanics) diff --git a/doc/src/fix_pimd.rst b/doc/src/fix_pimd.rst index 84c6e47c1f..eae14e9e86 100644 --- a/doc/src/fix_pimd.rst +++ b/doc/src/fix_pimd.rst @@ -33,7 +33,7 @@ Examples Description """"""""""" -.. versionchanged:: TBD +.. versionchanged:: 28Mar2023 Fix pimd was renamed to fix pimd/nvt. diff --git a/doc/src/fix_wall.rst b/doc/src/fix_wall.rst index cdf3c16cef..2cf5aeccff 100644 --- a/doc/src/fix_wall.rst +++ b/doc/src/fix_wall.rst @@ -194,7 +194,7 @@ For style *wall/morse*, the energy E is given by a Morse potential: E = D_0 \left[ e^{- 2 \alpha (r - r_0)} - 2 e^{- \alpha (r - r_0)} \right] \qquad r < r_c -.. versionadded:: TBD +.. versionadded:: 28Mar2023 For style *wall/lepton*, the energy E is provided as an Lepton expression string using "r" as the distance variable. The `Lepton @@ -215,7 +215,7 @@ spring as in fix *wall/harmonic* with a force constant *K* (same as :math:`\epsilon` above) of 100 energy units. More details on the Lepton expression strings are given below. -.. versionadded:: TBD +.. versionadded:: 28Mar2023 For style *wall/table*, the energy E and forces are determined from interpolation tables listed in one or more files as a function of diff --git a/doc/src/pair_gauss.rst b/doc/src/pair_gauss.rst index 5ac8f2aff4..dbbe39d4cf 100644 --- a/doc/src/pair_gauss.rst +++ b/doc/src/pair_gauss.rst @@ -170,7 +170,7 @@ The *gauss* and *gauss/cut* styles are part of the EXTRA-PAIR package. They are only enabled if LAMMPS is build with that package. See the :doc:`Build package ` page for more info. -.. versionchanged:: TBD +.. versionchanged:: 28Mar2023 Prior to this version, the *gauss* pair style did not apply :doc:`special_bonds ` factors. diff --git a/src/version.h b/src/version.h index ab4c21ece9..d37d757374 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define LAMMPS_VERSION "8 Feb 2023" +#define LAMMPS_VERSION "28 Mar 2023" From 974d56045301115e52ae84b35bb34ed581a8ab81 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 25 Mar 2023 06:24:55 -0400 Subject: [PATCH 407/448] enable and apply clang-format --- src/MANYBODY/pair_rebo.cpp | 27 ++++---- src/OPENMP/pair_airebo_morse_omp.cpp | 6 +- src/OPENMP/pair_eam_alloy_omp.cpp | 94 +++++++++++++--------------- src/OPENMP/pair_eam_fs_omp.cpp | 94 +++++++++++++--------------- src/OPENMP/pair_rebo_omp.cpp | 28 +++++---- 5 files changed, 120 insertions(+), 129 deletions(-) diff --git a/src/MANYBODY/pair_rebo.cpp b/src/MANYBODY/pair_rebo.cpp index a12c6eb2fc..5235d509dc 100644 --- a/src/MANYBODY/pair_rebo.cpp +++ b/src/MANYBODY/pair_rebo.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -19,7 +18,8 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -PairREBO::PairREBO(LAMMPS *lmp) : PairAIREBO(lmp) { +PairREBO::PairREBO(LAMMPS *lmp) : PairAIREBO(lmp) +{ variant = REBO_2; } @@ -29,7 +29,7 @@ PairREBO::PairREBO(LAMMPS *lmp) : PairAIREBO(lmp) { void PairREBO::settings(int narg, char ** /* arg */) { - if (narg != 0) error->all(FLERR,"Illegal pair_style command"); + if (narg != 0) error->all(FLERR, "Illegal pair_style command"); cutlj = 0.0; ljflag = torflag = 0; @@ -39,29 +39,30 @@ void PairREBO::settings(int narg, char ** /* arg */) initialize spline knot values ------------------------------------------------------------------------- */ -void PairREBO::spline_init() { +void PairREBO::spline_init() +{ PairAIREBO::spline_init(); PCCf[0][2] = 0.007860700254745; PCCf[0][3] = 0.016125364564267; PCCf[1][1] = 0.003026697473481; PCCf[1][2] = 0.006326248241119; - PCCf[2][0] = 0.; + PCCf[2][0] = 0.0; PCCf[2][1] = 0.003179530830731; for (int nH = 0; nH < 4; nH++) { for (int nC = 0; nC < 4; nC++) { double y[4] = {0}, y1[4] = {0}, y2[4] = {0}; y[0] = PCCf[nC][nH]; - y[1] = PCCf[nC][nH+1]; - y[2] = PCCf[nC+1][nH]; - y[3] = PCCf[nC+1][nH+1]; - Spbicubic_patch_coeffs(nC, nC+1, nH, nH+1, y, y1, y2, &pCC[nC][nH][0]); + y[1] = PCCf[nC][nH + 1]; + y[2] = PCCf[nC + 1][nH]; + y[3] = PCCf[nC + 1][nH + 1]; + Spbicubic_patch_coeffs(nC, nC + 1, nH, nH + 1, y, y1, y2, &pCC[nC][nH][0]); y[0] = PCHf[nC][nH]; - y[1] = PCHf[nC][nH+1]; - y[2] = PCHf[nC+1][nH]; - y[3] = PCHf[nC+1][nH+1]; - Spbicubic_patch_coeffs(nC, nC+1, nH, nH+1, y, y1, y2, &pCH[nC][nH][0]); + y[1] = PCHf[nC][nH + 1]; + y[2] = PCHf[nC + 1][nH]; + y[3] = PCHf[nC + 1][nH + 1]; + Spbicubic_patch_coeffs(nC, nC + 1, nH, nH + 1, y, y1, y2, &pCH[nC][nH][0]); } } } diff --git a/src/OPENMP/pair_airebo_morse_omp.cpp b/src/OPENMP/pair_airebo_morse_omp.cpp index 03468a629f..a72f78d72a 100644 --- a/src/OPENMP/pair_airebo_morse_omp.cpp +++ b/src/OPENMP/pair_airebo_morse_omp.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -18,7 +17,8 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -PairAIREBOMorseOMP::PairAIREBOMorseOMP(LAMMPS *lmp) : PairAIREBOOMP(lmp) { +PairAIREBOMorseOMP::PairAIREBOMorseOMP(LAMMPS *lmp) : PairAIREBOOMP(lmp) +{ variant = AIREBO_M; } @@ -28,7 +28,7 @@ PairAIREBOMorseOMP::PairAIREBOMorseOMP(LAMMPS *lmp) : PairAIREBOOMP(lmp) { void PairAIREBOMorseOMP::settings(int narg, char **arg) { - PairAIREBOOMP::settings(narg,arg); + PairAIREBOOMP::settings(narg, arg); morseflag = 1; } diff --git a/src/OPENMP/pair_eam_alloy_omp.cpp b/src/OPENMP/pair_eam_alloy_omp.cpp index 854d5d09e6..c3d7d41b18 100644 --- a/src/OPENMP/pair_eam_alloy_omp.cpp +++ b/src/OPENMP/pair_eam_alloy_omp.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -42,24 +41,23 @@ PairEAMAlloyOMP::PairEAMAlloyOMP(LAMMPS *lmp) : PairEAMOMP(lmp) void PairEAMAlloyOMP::coeff(int narg, char **arg) { - int i,j; + int i, j; if (!allocated) allocate(); - if (narg != 3 + atom->ntypes) - error->all(FLERR,"Incorrect args for pair coefficients"); + if (narg != 3 + atom->ntypes) error->all(FLERR, "Incorrect args for pair coefficients"); // ensure I,J args are * * - if (strcmp(arg[0],"*") != 0 || strcmp(arg[1],"*") != 0) - error->all(FLERR,"Incorrect args for pair coefficients"); + if (strcmp(arg[0], "*") != 0 || strcmp(arg[1], "*") != 0) + error->all(FLERR, "Incorrect args for pair coefficients"); // read EAM setfl file if (setfl) { - for (i = 0; i < setfl->nelements; i++) delete [] setfl->elements[i]; - delete [] setfl->elements; - delete [] setfl->mass; + for (i = 0; i < setfl->nelements; i++) delete[] setfl->elements[i]; + delete[] setfl->elements; + delete[] setfl->mass; memory->destroy(setfl->frho); memory->destroy(setfl->rhor); memory->destroy(setfl->z2r); @@ -72,22 +70,23 @@ void PairEAMAlloyOMP::coeff(int narg, char **arg) // map[i] = which element the Ith atom type is, -1 if "NULL" for (i = 3; i < narg; i++) { - if (strcmp(arg[i],"NULL") == 0) { - map[i-2] = -1; + if (strcmp(arg[i], "NULL") == 0) { + map[i - 2] = -1; continue; } for (j = 0; j < setfl->nelements; j++) - if (strcmp(arg[i],setfl->elements[j]) == 0) break; - if (j < setfl->nelements) map[i-2] = j; - else error->all(FLERR,"No matching element in EAM potential file"); + if (strcmp(arg[i], setfl->elements[j]) == 0) break; + if (j < setfl->nelements) + map[i - 2] = j; + else + error->all(FLERR, "No matching element in EAM potential file"); } // clear setflag since coeff() called once with I,J = * * int n = atom->ntypes; for (i = 1; i <= n; i++) - for (j = i; j <= n; j++) - setflag[i][j] = 0; + for (j = i; j <= n; j++) setflag[i][j] = 0; // set setflag i,j for type pairs where both are mapped to elements // set mass of atom type if i = j @@ -97,14 +96,14 @@ void PairEAMAlloyOMP::coeff(int narg, char **arg) for (j = i; j <= n; j++) { if (map[i] >= 0 && map[j] >= 0) { setflag[i][j] = 1; - if (i == j) atom->set_mass(FLERR,i,setfl->mass[map[i]]); + if (i == j) atom->set_mass(FLERR, i, setfl->mass[map[i]]); count++; } scale[i][j] = 1.0; } } - if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); + if (count == 0) error->all(FLERR, "Incorrect args for pair coefficients"); } /* ---------------------------------------------------------------------- @@ -117,14 +116,12 @@ void PairEAMAlloyOMP::read_file(char *filename) // read potential file if (comm->me == 0) { - PotentialFileReader reader(PairEAM::lmp, filename, - "eam/alloy", unit_convert_flag); + PotentialFileReader reader(PairEAM::lmp, filename, "eam/alloy", unit_convert_flag); // transparently convert units for supported conversions int unit_convert = reader.get_unit_convert(); - double conversion_factor = utils::get_conversion_factor(utils::ENERGY, - unit_convert); + double conversion_factor = utils::get_conversion_factor(utils::ENERGY, unit_convert); try { reader.skip_line(); reader.skip_line(); @@ -134,22 +131,22 @@ void PairEAMAlloyOMP::read_file(char *filename) ValueTokenizer values = reader.next_values(1); file->nelements = values.next_int(); - if ((int)values.count() != file->nelements + 1) - error->one(FLERR,"Incorrect element names in EAM potential file"); + if ((int) values.count() != file->nelements + 1) + error->one(FLERR, "Incorrect element names in EAM potential file"); - file->elements = new char*[file->nelements]; + file->elements = new char *[file->nelements]; for (int i = 0; i < file->nelements; i++) file->elements[i] = utils::strdup(values.next_string()); values = reader.next_values(5); file->nrho = values.next_int(); file->drho = values.next_double(); - file->nr = values.next_int(); - file->dr = values.next_double(); - file->cut = values.next_double(); + file->nr = values.next_int(); + file->dr = values.next_double(); + file->cut = values.next_double(); if ((file->nrho <= 0) || (file->nr <= 0) || (file->dr <= 0.0)) - error->one(FLERR,"Invalid EAM potential file"); + error->one(FLERR, "Invalid EAM potential file"); memory->create(file->mass, file->nelements, "pair:mass"); memory->create(file->frho, file->nelements, file->nrho + 1, "pair:frho"); @@ -158,14 +155,13 @@ void PairEAMAlloyOMP::read_file(char *filename) for (int i = 0; i < file->nelements; i++) { values = reader.next_values(2); - values.next_int(); // ignore + values.next_int(); // ignore file->mass[i] = values.next_double(); reader.next_dvector(&file->frho[i][1], file->nrho); reader.next_dvector(&file->rhor[i][1], file->nr); if (unit_convert) { - for (int j = 1; j < file->nrho; ++j) - file->frho[i][j] *= conversion_factor; + for (int j = 1; j < file->nrho; ++j) file->frho[i][j] *= conversion_factor; } } @@ -173,8 +169,7 @@ void PairEAMAlloyOMP::read_file(char *filename) for (int j = 0; j <= i; j++) { reader.next_dvector(&file->z2r[i][j][1], file->nr); if (unit_convert) { - for (int k = 1; k < file->nr; ++k) - file->z2r[i][j][k] *= conversion_factor; + for (int k = 1; k < file->nr; ++k) file->z2r[i][j][k] *= conversion_factor; } } } @@ -194,7 +189,7 @@ void PairEAMAlloyOMP::read_file(char *filename) // allocate memory on other procs if (comm->me != 0) { - file->elements = new char*[file->nelements]; + file->elements = new char *[file->nelements]; for (int i = 0; i < file->nelements; i++) file->elements[i] = nullptr; memory->create(file->mass, file->nelements, "pair:mass"); memory->create(file->frho, file->nelements, file->nrho + 1, "pair:frho"); @@ -220,9 +215,7 @@ void PairEAMAlloyOMP::read_file(char *filename) // broadcast file->z2r for (int i = 0; i < file->nelements; i++) { - for (int j = 0; j <= i; j++) { - MPI_Bcast(&file->z2r[i][j][1], file->nr, MPI_DOUBLE, 0, world); - } + for (int j = 0; j <= i; j++) { MPI_Bcast(&file->z2r[i][j][1], file->nr, MPI_DOUBLE, 0, world); } } } @@ -232,7 +225,7 @@ void PairEAMAlloyOMP::read_file(char *filename) void PairEAMAlloyOMP::file2array() { - int i,j,m,n; + int i, j, m, n; int ntypes = atom->ntypes; // set function params directly from setfl file @@ -241,7 +234,7 @@ void PairEAMAlloyOMP::file2array() nr = setfl->nr; drho = setfl->drho; dr = setfl->dr; - rhomax = (nrho-1) * drho; + rhomax = (nrho - 1) * drho; // ------------------------------------------------------------------ // setup frho arrays @@ -252,7 +245,7 @@ void PairEAMAlloyOMP::file2array() nfrho = setfl->nelements + 1; memory->destroy(frho); - memory->create(frho,nfrho,nrho+1,"pair:frho"); + memory->create(frho, nfrho, nrho + 1, "pair:frho"); // copy each element's frho to global frho @@ -262,15 +255,17 @@ void PairEAMAlloyOMP::file2array() // add extra frho of zeroes for non-EAM types to point to (pair hybrid) // this is necessary b/c fp is still computed for non-EAM atoms - for (m = 1; m <= nrho; m++) frho[nfrho-1][m] = 0.0; + for (m = 1; m <= nrho; m++) frho[nfrho - 1][m] = 0.0; // type2frho[i] = which frho array (0 to nfrho-1) each atom type maps to // if atom type doesn't point to element (non-EAM atom in pair hybrid) // then map it to last frho array of zeroes for (i = 1; i <= ntypes; i++) - if (map[i] >= 0) type2frho[i] = map[i]; - else type2frho[i] = nfrho-1; + if (map[i] >= 0) + type2frho[i] = map[i]; + else + type2frho[i] = nfrho - 1; // ------------------------------------------------------------------ // setup rhor arrays @@ -281,7 +276,7 @@ void PairEAMAlloyOMP::file2array() nrhor = setfl->nelements; memory->destroy(rhor); - memory->create(rhor,nrhor,nr+1,"pair:rhor"); + memory->create(rhor, nrhor, nr + 1, "pair:rhor"); // copy each element's rhor to global rhor @@ -293,8 +288,7 @@ void PairEAMAlloyOMP::file2array() // OK if map = -1 (non-EAM atom in pair hybrid) b/c type2rhor not used for (i = 1; i <= ntypes; i++) - for (j = 1; j <= ntypes; j++) - type2rhor[i][j] = map[i]; + for (j = 1; j <= ntypes; j++) type2rhor[i][j] = map[i]; // ------------------------------------------------------------------ // setup z2r arrays @@ -303,9 +297,9 @@ void PairEAMAlloyOMP::file2array() // allocate z2r arrays // nz2r = N*(N+1)/2 where N = # of setfl elements - nz2r = setfl->nelements * (setfl->nelements+1) / 2; + nz2r = setfl->nelements * (setfl->nelements + 1) / 2; memory->destroy(z2r); - memory->create(z2r,nz2r,nr+1,"pair:z2r"); + memory->create(z2r, nz2r, nr + 1, "pair:z2r"); // copy each element pair z2r to global z2r, only for I >= J @@ -324,7 +318,7 @@ void PairEAMAlloyOMP::file2array() // type2z2r is not used by non-opt // but set type2z2r to 0 since accessed by opt - int irow,icol; + int irow, icol; for (i = 1; i <= ntypes; i++) { for (j = 1; j <= ntypes; j++) { irow = map[i]; diff --git a/src/OPENMP/pair_eam_fs_omp.cpp b/src/OPENMP/pair_eam_fs_omp.cpp index fea581bda1..6ae6febb92 100644 --- a/src/OPENMP/pair_eam_fs_omp.cpp +++ b/src/OPENMP/pair_eam_fs_omp.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -42,24 +41,23 @@ PairEAMFSOMP::PairEAMFSOMP(LAMMPS *lmp) : PairEAMOMP(lmp) void PairEAMFSOMP::coeff(int narg, char **arg) { - int i,j; + int i, j; if (!allocated) allocate(); - if (narg != 3 + atom->ntypes) - error->all(FLERR,"Incorrect args for pair coefficients"); + if (narg != 3 + atom->ntypes) error->all(FLERR, "Incorrect args for pair coefficients"); // ensure I,J args are * * - if (strcmp(arg[0],"*") != 0 || strcmp(arg[1],"*") != 0) - error->all(FLERR,"Incorrect args for pair coefficients"); + if (strcmp(arg[0], "*") != 0 || strcmp(arg[1], "*") != 0) + error->all(FLERR, "Incorrect args for pair coefficients"); // read EAM Finnis-Sinclair file if (fs) { - for (i = 0; i < fs->nelements; i++) delete [] fs->elements[i]; - delete [] fs->elements; - delete [] fs->mass; + for (i = 0; i < fs->nelements; i++) delete[] fs->elements[i]; + delete[] fs->elements; + delete[] fs->mass; memory->destroy(fs->frho); memory->destroy(fs->rhor); memory->destroy(fs->z2r); @@ -72,22 +70,23 @@ void PairEAMFSOMP::coeff(int narg, char **arg) // map[i] = which element the Ith atom type is, -1 if "NULL" for (i = 3; i < narg; i++) { - if (strcmp(arg[i],"NULL") == 0) { - map[i-2] = -1; + if (strcmp(arg[i], "NULL") == 0) { + map[i - 2] = -1; continue; } for (j = 0; j < fs->nelements; j++) - if (strcmp(arg[i],fs->elements[j]) == 0) break; - if (j < fs->nelements) map[i-2] = j; - else error->all(FLERR,"No matching element in EAM potential file"); + if (strcmp(arg[i], fs->elements[j]) == 0) break; + if (j < fs->nelements) + map[i - 2] = j; + else + error->all(FLERR, "No matching element in EAM potential file"); } // clear setflag since coeff() called once with I,J = * * int n = atom->ntypes; for (i = 1; i <= n; i++) - for (j = i; j <= n; j++) - setflag[i][j] = 0; + for (j = i; j <= n; j++) setflag[i][j] = 0; // set setflag i,j for type pairs where both are mapped to elements // set mass of atom type if i = j @@ -97,14 +96,14 @@ void PairEAMFSOMP::coeff(int narg, char **arg) for (j = i; j <= n; j++) { if (map[i] >= 0 && map[j] >= 0) { setflag[i][j] = 1; - if (i == j) atom->set_mass(FLERR,i,fs->mass[map[i]]); + if (i == j) atom->set_mass(FLERR, i, fs->mass[map[i]]); count++; } scale[i][j] = 1.0; } } - if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); + if (count == 0) error->all(FLERR, "Incorrect args for pair coefficients"); } /* ---------------------------------------------------------------------- @@ -117,14 +116,12 @@ void PairEAMFSOMP::read_file(char *filename) // read potential file if (comm->me == 0) { - PotentialFileReader reader(PairEAM::lmp, filename, - "eam/fs", unit_convert_flag); + PotentialFileReader reader(PairEAM::lmp, filename, "eam/fs", unit_convert_flag); // transparently convert units for supported conversions int unit_convert = reader.get_unit_convert(); - double conversion_factor = utils::get_conversion_factor(utils::ENERGY, - unit_convert); + double conversion_factor = utils::get_conversion_factor(utils::ENERGY, unit_convert); try { reader.skip_line(); reader.skip_line(); @@ -134,22 +131,22 @@ void PairEAMFSOMP::read_file(char *filename) ValueTokenizer values = reader.next_values(1); file->nelements = values.next_int(); - if ((int)values.count() != file->nelements + 1) - error->one(FLERR,"Incorrect element names in EAM potential file"); + if ((int) values.count() != file->nelements + 1) + error->one(FLERR, "Incorrect element names in EAM potential file"); - file->elements = new char*[file->nelements]; + file->elements = new char *[file->nelements]; for (int i = 0; i < file->nelements; i++) file->elements[i] = utils::strdup(values.next_string()); values = reader.next_values(5); file->nrho = values.next_int(); file->drho = values.next_double(); - file->nr = values.next_int(); - file->dr = values.next_double(); - file->cut = values.next_double(); + file->nr = values.next_int(); + file->dr = values.next_double(); + file->cut = values.next_double(); if ((file->nrho <= 0) || (file->nr <= 0) || (file->dr <= 0.0)) - error->one(FLERR,"Invalid EAM potential file"); + error->one(FLERR, "Invalid EAM potential file"); memory->create(file->mass, file->nelements, "pair:mass"); memory->create(file->frho, file->nelements, file->nrho + 1, "pair:frho"); @@ -158,13 +155,12 @@ void PairEAMFSOMP::read_file(char *filename) for (int i = 0; i < file->nelements; i++) { values = reader.next_values(2); - values.next_int(); // ignore + values.next_int(); // ignore file->mass[i] = values.next_double(); reader.next_dvector(&file->frho[i][1], file->nrho); if (unit_convert) { - for (int j = 1; j <= file->nrho; ++j) - file->frho[i][j] *= conversion_factor; + for (int j = 1; j <= file->nrho; ++j) file->frho[i][j] *= conversion_factor; } for (int j = 0; j < file->nelements; j++) { @@ -176,8 +172,7 @@ void PairEAMFSOMP::read_file(char *filename) for (int j = 0; j <= i; j++) { reader.next_dvector(&file->z2r[i][j][1], file->nr); if (unit_convert) { - for (int k = 1; k <= file->nr; ++k) - file->z2r[i][j][k] *= conversion_factor; + for (int k = 1; k <= file->nr; ++k) file->z2r[i][j][k] *= conversion_factor; } } } @@ -197,7 +192,7 @@ void PairEAMFSOMP::read_file(char *filename) // allocate memory on other procs if (comm->me != 0) { - file->elements = new char*[file->nelements]; + file->elements = new char *[file->nelements]; for (int i = 0; i < file->nelements; i++) file->elements[i] = nullptr; memory->create(file->mass, file->nelements, "pair:mass"); memory->create(file->frho, file->nelements, file->nrho + 1, "pair:frho"); @@ -226,9 +221,7 @@ void PairEAMFSOMP::read_file(char *filename) // broadcast file->z2r for (int i = 0; i < file->nelements; i++) { - for (int j = 0; j <= i; j++) { - MPI_Bcast(&file->z2r[i][j][1], file->nr, MPI_DOUBLE, 0, world); - } + for (int j = 0; j <= i; j++) { MPI_Bcast(&file->z2r[i][j][1], file->nr, MPI_DOUBLE, 0, world); } } } @@ -238,7 +231,7 @@ void PairEAMFSOMP::read_file(char *filename) void PairEAMFSOMP::file2array() { - int i,j,m,n; + int i, j, m, n; int ntypes = atom->ntypes; // set function params directly from fs file @@ -247,7 +240,7 @@ void PairEAMFSOMP::file2array() nr = fs->nr; drho = fs->drho; dr = fs->dr; - rhomax = (nrho-1) * drho; + rhomax = (nrho - 1) * drho; // ------------------------------------------------------------------ // setup frho arrays @@ -258,7 +251,7 @@ void PairEAMFSOMP::file2array() nfrho = fs->nelements + 1; memory->destroy(frho); - memory->create(frho,nfrho,nrho+1,"pair:frho"); + memory->create(frho, nfrho, nrho + 1, "pair:frho"); // copy each element's frho to global frho @@ -268,15 +261,17 @@ void PairEAMFSOMP::file2array() // add extra frho of zeroes for non-EAM types to point to (pair hybrid) // this is necessary b/c fp is still computed for non-EAM atoms - for (m = 1; m <= nrho; m++) frho[nfrho-1][m] = 0.0; + for (m = 1; m <= nrho; m++) frho[nfrho - 1][m] = 0.0; // type2frho[i] = which frho array (0 to nfrho-1) each atom type maps to // if atom type doesn't point to element (non-EAM atom in pair hybrid) // then map it to last frho array of zeroes for (i = 1; i <= ntypes; i++) - if (map[i] >= 0) type2frho[i] = map[i]; - else type2frho[i] = nfrho-1; + if (map[i] >= 0) + type2frho[i] = map[i]; + else + type2frho[i] = nfrho - 1; // ------------------------------------------------------------------ // setup rhor arrays @@ -287,7 +282,7 @@ void PairEAMFSOMP::file2array() nrhor = fs->nelements * fs->nelements; memory->destroy(rhor); - memory->create(rhor,nrhor,nr+1,"pair:rhor"); + memory->create(rhor, nrhor, nr + 1, "pair:rhor"); // copy each element pair rhor to global rhor @@ -303,8 +298,7 @@ void PairEAMFSOMP::file2array() // OK if map = -1 (non-EAM atom in pair hybrid) b/c type2rhor not used for (i = 1; i <= ntypes; i++) - for (j = 1; j <= ntypes; j++) - type2rhor[i][j] = map[i] * fs->nelements + map[j]; + for (j = 1; j <= ntypes; j++) type2rhor[i][j] = map[i] * fs->nelements + map[j]; // ------------------------------------------------------------------ // setup z2r arrays @@ -313,9 +307,9 @@ void PairEAMFSOMP::file2array() // allocate z2r arrays // nz2r = N*(N+1)/2 where N = # of fs elements - nz2r = fs->nelements * (fs->nelements+1) / 2; + nz2r = fs->nelements * (fs->nelements + 1) / 2; memory->destroy(z2r); - memory->create(z2r,nz2r,nr+1,"pair:z2r"); + memory->create(z2r, nz2r, nr + 1, "pair:z2r"); // copy each element pair z2r to global z2r, only for I >= J @@ -334,7 +328,7 @@ void PairEAMFSOMP::file2array() // type2z2r is not used by non-opt // but set type2z2r to 0 since accessed by opt - int irow,icol; + int irow, icol; for (i = 1; i <= ntypes; i++) { for (j = 1; j <= ntypes; j++) { irow = map[i]; diff --git a/src/OPENMP/pair_rebo_omp.cpp b/src/OPENMP/pair_rebo_omp.cpp index cb43d193cd..6767ea166f 100644 --- a/src/OPENMP/pair_rebo_omp.cpp +++ b/src/OPENMP/pair_rebo_omp.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -13,13 +12,15 @@ ------------------------------------------------------------------------- */ #include "pair_rebo_omp.h" + #include "error.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -PairREBOOMP::PairREBOOMP(LAMMPS *lmp) : PairAIREBOOMP(lmp) { +PairREBOOMP::PairREBOOMP(LAMMPS *lmp) : PairAIREBOOMP(lmp) +{ variant = REBO_2; } @@ -29,7 +30,7 @@ PairREBOOMP::PairREBOOMP(LAMMPS *lmp) : PairAIREBOOMP(lmp) { void PairREBOOMP::settings(int narg, char ** /* arg */) { - if (narg != 0) error->all(FLERR,"Illegal pair_style command"); + if (narg != 0) error->all(FLERR, "Illegal pair_style command"); cutlj = 0.0; ljflag = torflag = 0; @@ -39,29 +40,30 @@ void PairREBOOMP::settings(int narg, char ** /* arg */) initialize spline knot values ------------------------------------------------------------------------- */ -void PairREBOOMP::spline_init() { +void PairREBOOMP::spline_init() +{ PairAIREBO::spline_init(); PCCf[0][2] = 0.007860700254745; PCCf[0][3] = 0.016125364564267; PCCf[1][1] = 0.003026697473481; PCCf[1][2] = 0.006326248241119; - PCCf[2][0] = 0.; + PCCf[2][0] = 0.0; PCCf[2][1] = 0.003179530830731; for (int nH = 0; nH < 4; nH++) { for (int nC = 0; nC < 4; nC++) { double y[4] = {0}, y1[4] = {0}, y2[4] = {0}; y[0] = PCCf[nC][nH]; - y[1] = PCCf[nC][nH+1]; - y[2] = PCCf[nC+1][nH]; - y[3] = PCCf[nC+1][nH+1]; - Spbicubic_patch_coeffs(nC, nC+1, nH, nH+1, y, y1, y2, &pCC[nC][nH][0]); + y[1] = PCCf[nC][nH + 1]; + y[2] = PCCf[nC + 1][nH]; + y[3] = PCCf[nC + 1][nH + 1]; + Spbicubic_patch_coeffs(nC, nC + 1, nH, nH + 1, y, y1, y2, &pCC[nC][nH][0]); y[0] = PCHf[nC][nH]; - y[1] = PCHf[nC][nH+1]; - y[2] = PCHf[nC+1][nH]; - y[3] = PCHf[nC+1][nH+1]; - Spbicubic_patch_coeffs(nC, nC+1, nH, nH+1, y, y1, y2, &pCH[nC][nH][0]); + y[1] = PCHf[nC][nH + 1]; + y[2] = PCHf[nC + 1][nH]; + y[3] = PCHf[nC + 1][nH + 1]; + Spbicubic_patch_coeffs(nC, nC + 1, nH, nH + 1, y, y1, y2, &pCH[nC][nH][0]); } } } From 7edb42f190a620f04b101a34a4c84fbee6b9aca7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 25 Mar 2023 06:30:30 -0400 Subject: [PATCH 408/448] remove redundant code --- src/OPENMP/pair_eam_alloy_omp.cpp | 5 ----- src/OPENMP/pair_eam_fs_omp.cpp | 5 ----- 2 files changed, 10 deletions(-) diff --git a/src/OPENMP/pair_eam_alloy_omp.cpp b/src/OPENMP/pair_eam_alloy_omp.cpp index c3d7d41b18..2503ff612f 100644 --- a/src/OPENMP/pair_eam_alloy_omp.cpp +++ b/src/OPENMP/pair_eam_alloy_omp.cpp @@ -47,11 +47,6 @@ void PairEAMAlloyOMP::coeff(int narg, char **arg) if (narg != 3 + atom->ntypes) error->all(FLERR, "Incorrect args for pair coefficients"); - // ensure I,J args are * * - - if (strcmp(arg[0], "*") != 0 || strcmp(arg[1], "*") != 0) - error->all(FLERR, "Incorrect args for pair coefficients"); - // read EAM setfl file if (setfl) { diff --git a/src/OPENMP/pair_eam_fs_omp.cpp b/src/OPENMP/pair_eam_fs_omp.cpp index 6ae6febb92..93b9b12526 100644 --- a/src/OPENMP/pair_eam_fs_omp.cpp +++ b/src/OPENMP/pair_eam_fs_omp.cpp @@ -47,11 +47,6 @@ void PairEAMFSOMP::coeff(int narg, char **arg) if (narg != 3 + atom->ntypes) error->all(FLERR, "Incorrect args for pair coefficients"); - // ensure I,J args are * * - - if (strcmp(arg[0], "*") != 0 || strcmp(arg[1], "*") != 0) - error->all(FLERR, "Incorrect args for pair coefficients"); - // read EAM Finnis-Sinclair file if (fs) { From 22a1cf935e464ced5842c828c51702c11ae26177 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 25 Mar 2023 06:48:59 -0400 Subject: [PATCH 409/448] enable and apply clang-format, remove redundant code, improve error message for EAM potential pair styles --- src/GPU/pair_eam_alloy_gpu.cpp | 11 +- src/GPU/pair_eam_fs_gpu.cpp | 11 +- src/GPU/pair_eam_gpu.cpp | 3 +- src/INTEL/pair_eam_alloy_intel.cpp | 89 ++++----- src/INTEL/pair_eam_fs_intel.cpp | 89 ++++----- src/KOKKOS/pair_eam_alloy_kokkos.cpp | 13 +- src/KOKKOS/pair_eam_fs_kokkos.cpp | 13 +- src/MANYBODY/pair_eam_alloy.cpp | 84 ++++---- src/MANYBODY/pair_eam_fs.cpp | 97 +++++---- src/MANYBODY/pair_eam_he.cpp | 96 +++++---- src/OPENMP/pair_eam_alloy_omp.cpp | 3 +- src/OPENMP/pair_eam_fs_omp.cpp | 3 +- src/OPT/pair_eam_alloy_opt.cpp | 4 +- src/OPT/pair_eam_fs_opt.cpp | 4 +- src/OPT/pair_eam_opt.cpp | 287 ++++++++++++++------------- src/pair.cpp | 2 +- 16 files changed, 385 insertions(+), 424 deletions(-) diff --git a/src/GPU/pair_eam_alloy_gpu.cpp b/src/GPU/pair_eam_alloy_gpu.cpp index 4b7693e989..971014296d 100644 --- a/src/GPU/pair_eam_alloy_gpu.cpp +++ b/src/GPU/pair_eam_alloy_gpu.cpp @@ -138,8 +138,7 @@ void PairEAMAlloyGPU::compute(int eflag, int vflag) eam_alloy_gpu_compute_force(nullptr, eflag, vflag, eflag_atom, vflag_atom); else eam_alloy_gpu_compute_force(ilist, eflag, vflag, eflag_atom, vflag_atom); - if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) - neighbor->build_topology(); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) neighbor->build_topology(); } /* ---------------------------------------------------------------------- @@ -282,12 +281,8 @@ void PairEAMAlloyGPU::coeff(int narg, char **arg) if (!allocated) allocate(); - if (narg != 3 + atom->ntypes) error->all(FLERR, "Incorrect args for pair coefficients"); - - // ensure I,J args are * * - - if (strcmp(arg[0], "*") != 0 || strcmp(arg[1], "*") != 0) - error->all(FLERR, "Incorrect args for pair coefficients"); + if (narg != 3 + atom->ntypes) + error->all(FLERR, "Number of element to type mappings does not match number of atom types"); // read EAM setfl file diff --git a/src/GPU/pair_eam_fs_gpu.cpp b/src/GPU/pair_eam_fs_gpu.cpp index 9da4e20a6f..58dcc9c868 100644 --- a/src/GPU/pair_eam_fs_gpu.cpp +++ b/src/GPU/pair_eam_fs_gpu.cpp @@ -138,8 +138,7 @@ void PairEAMFSGPU::compute(int eflag, int vflag) eam_fs_gpu_compute_force(nullptr, eflag, vflag, eflag_atom, vflag_atom); else eam_fs_gpu_compute_force(ilist, eflag, vflag, eflag_atom, vflag_atom); - if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) - neighbor->build_topology(); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) neighbor->build_topology(); } /* ---------------------------------------------------------------------- @@ -282,12 +281,8 @@ void PairEAMFSGPU::coeff(int narg, char **arg) if (!allocated) allocate(); - if (narg != 3 + atom->ntypes) error->all(FLERR, "Incorrect args for pair coefficients"); - - // ensure I,J args are * * - - if (strcmp(arg[0], "*") != 0 || strcmp(arg[1], "*") != 0) - error->all(FLERR, "Incorrect args for pair coefficients"); + if (narg != 3 + atom->ntypes) + error->all(FLERR, "Number of element to type mappings does not match number of atom types"); // read EAM Finnis-Sinclair file diff --git a/src/GPU/pair_eam_gpu.cpp b/src/GPU/pair_eam_gpu.cpp index 4cb7c7f749..155da43768 100644 --- a/src/GPU/pair_eam_gpu.cpp +++ b/src/GPU/pair_eam_gpu.cpp @@ -136,8 +136,7 @@ void PairEAMGPU::compute(int eflag, int vflag) eam_gpu_compute_force(nullptr, eflag, vflag, eflag_atom, vflag_atom); else eam_gpu_compute_force(ilist, eflag, vflag, eflag_atom, vflag_atom); - if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) - neighbor->build_topology(); + if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) neighbor->build_topology(); } /* ---------------------------------------------------------------------- diff --git a/src/INTEL/pair_eam_alloy_intel.cpp b/src/INTEL/pair_eam_alloy_intel.cpp index 5345785ddc..1f2b4cd257 100644 --- a/src/INTEL/pair_eam_alloy_intel.cpp +++ b/src/INTEL/pair_eam_alloy_intel.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -43,24 +42,19 @@ PairEAMAlloyIntel::PairEAMAlloyIntel(LAMMPS *lmp) : PairEAMIntel(lmp) void PairEAMAlloyIntel::coeff(int narg, char **arg) { - int i,j; + int i, j; if (!allocated) allocate(); if (narg != 3 + atom->ntypes) - error->all(FLERR,"Incorrect args for pair coefficients"); - - // ensure I,J args are * * - - if (strcmp(arg[0],"*") != 0 || strcmp(arg[1],"*") != 0) - error->all(FLERR,"Incorrect args for pair coefficients"); + error->all(FLERR, "Number of element to type mappings does not match number of atom types"); // read EAM setfl file if (setfl) { - for (i = 0; i < setfl->nelements; i++) delete [] setfl->elements[i]; - delete [] setfl->elements; - delete [] setfl->mass; + for (i = 0; i < setfl->nelements; i++) delete[] setfl->elements[i]; + delete[] setfl->elements; + delete[] setfl->mass; memory->destroy(setfl->frho); memory->destroy(setfl->rhor); memory->destroy(setfl->z2r); @@ -73,22 +67,23 @@ void PairEAMAlloyIntel::coeff(int narg, char **arg) // map[i] = which element the Ith atom type is, -1 if "NULL" for (i = 3; i < narg; i++) { - if (strcmp(arg[i],"NULL") == 0) { - map[i-2] = -1; + if (strcmp(arg[i], "NULL") == 0) { + map[i - 2] = -1; continue; } for (j = 0; j < setfl->nelements; j++) - if (strcmp(arg[i],setfl->elements[j]) == 0) break; - if (j < setfl->nelements) map[i-2] = j; - else error->all(FLERR,"No matching element in EAM potential file"); + if (strcmp(arg[i], setfl->elements[j]) == 0) break; + if (j < setfl->nelements) + map[i - 2] = j; + else + error->all(FLERR, "No matching element in EAM potential file"); } // clear setflag since coeff() called once with I,J = * * int n = atom->ntypes; for (i = 1; i <= n; i++) - for (j = i; j <= n; j++) - setflag[i][j] = 0; + for (j = i; j <= n; j++) setflag[i][j] = 0; // set setflag i,j for type pairs where both are mapped to elements // set mass of atom type if i = j @@ -98,14 +93,14 @@ void PairEAMAlloyIntel::coeff(int narg, char **arg) for (j = i; j <= n; j++) { if (map[i] >= 0 && map[j] >= 0) { setflag[i][j] = 1; - if (i == j) atom->set_mass(FLERR,i,setfl->mass[map[i]]); + if (i == j) atom->set_mass(FLERR, i, setfl->mass[map[i]]); count++; } scale[i][j] = 1.0; } } - if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); + if (count == 0) error->all(FLERR, "Incorrect args for pair coefficients"); } /* ---------------------------------------------------------------------- @@ -123,8 +118,7 @@ void PairEAMAlloyIntel::read_file(char *filename) // transparently convert units for supported conversions int unit_convert = reader.get_unit_convert(); - double conversion_factor = utils::get_conversion_factor(utils::ENERGY, - unit_convert); + double conversion_factor = utils::get_conversion_factor(utils::ENERGY, unit_convert); try { reader.skip_line(); reader.skip_line(); @@ -135,21 +129,21 @@ void PairEAMAlloyIntel::read_file(char *filename) file->nelements = values.next_int(); if (values.count() != file->nelements + 1) - error->one(FLERR,"Incorrect element names in EAM potential file"); + error->one(FLERR, "Incorrect element names in EAM potential file"); - file->elements = new char*[file->nelements]; + file->elements = new char *[file->nelements]; for (int i = 0; i < file->nelements; i++) file->elements[i] = utils::strdup(values.next_string()); values = reader.next_values(5); file->nrho = values.next_int(); file->drho = values.next_double(); - file->nr = values.next_int(); - file->dr = values.next_double(); - file->cut = values.next_double(); + file->nr = values.next_int(); + file->dr = values.next_double(); + file->cut = values.next_double(); if ((file->nrho <= 0) || (file->nr <= 0) || (file->dr <= 0.0)) - error->one(FLERR,"Invalid EAM potential file"); + error->one(FLERR, "Invalid EAM potential file"); memory->create(file->mass, file->nelements, "pair:mass"); memory->create(file->frho, file->nelements, file->nrho + 1, "pair:frho"); @@ -158,14 +152,13 @@ void PairEAMAlloyIntel::read_file(char *filename) for (int i = 0; i < file->nelements; i++) { values = reader.next_values(2); - values.next_int(); // ignore + values.next_int(); // ignore file->mass[i] = values.next_double(); reader.next_dvector(&file->frho[i][1], file->nrho); reader.next_dvector(&file->rhor[i][1], file->nr); if (unit_convert) { - for (int j = 1; j < file->nrho; ++j) - file->frho[i][j] *= conversion_factor; + for (int j = 1; j < file->nrho; ++j) file->frho[i][j] *= conversion_factor; } } @@ -173,8 +166,7 @@ void PairEAMAlloyIntel::read_file(char *filename) for (int j = 0; j <= i; j++) { reader.next_dvector(&file->z2r[i][j][1], file->nr); if (unit_convert) { - for (int k = 1; k < file->nr; ++k) - file->z2r[i][j][k] *= conversion_factor; + for (int k = 1; k < file->nr; ++k) file->z2r[i][j][k] *= conversion_factor; } } } @@ -194,7 +186,7 @@ void PairEAMAlloyIntel::read_file(char *filename) // allocate memory on other procs if (comm->me != 0) { - file->elements = new char*[file->nelements]; + file->elements = new char *[file->nelements]; for (int i = 0; i < file->nelements; i++) file->elements[i] = nullptr; memory->create(file->mass, file->nelements, "pair:mass"); memory->create(file->frho, file->nelements, file->nrho + 1, "pair:frho"); @@ -220,9 +212,7 @@ void PairEAMAlloyIntel::read_file(char *filename) // broadcast file->z2r for (int i = 0; i < file->nelements; i++) { - for (int j = 0; j <= i; j++) { - MPI_Bcast(&file->z2r[i][j][1], file->nr, MPI_DOUBLE, 0, world); - } + for (int j = 0; j <= i; j++) { MPI_Bcast(&file->z2r[i][j][1], file->nr, MPI_DOUBLE, 0, world); } } } @@ -232,7 +222,7 @@ void PairEAMAlloyIntel::read_file(char *filename) void PairEAMAlloyIntel::file2array() { - int i,j,m,n; + int i, j, m, n; int ntypes = atom->ntypes; // set function params directly from setfl file @@ -241,7 +231,7 @@ void PairEAMAlloyIntel::file2array() nr = setfl->nr; drho = setfl->drho; dr = setfl->dr; - rhomax = (nrho-1) * drho; + rhomax = (nrho - 1) * drho; // ------------------------------------------------------------------ // setup frho arrays @@ -252,7 +242,7 @@ void PairEAMAlloyIntel::file2array() nfrho = setfl->nelements + 1; memory->destroy(frho); - memory->create(frho,nfrho,nrho+1,"pair:frho"); + memory->create(frho, nfrho, nrho + 1, "pair:frho"); // copy each element's frho to global frho @@ -262,15 +252,17 @@ void PairEAMAlloyIntel::file2array() // add extra frho of zeroes for non-EAM types to point to (pair hybrid) // this is necessary b/c fp is still computed for non-EAM atoms - for (m = 1; m <= nrho; m++) frho[nfrho-1][m] = 0.0; + for (m = 1; m <= nrho; m++) frho[nfrho - 1][m] = 0.0; // type2frho[i] = which frho array (0 to nfrho-1) each atom type maps to // if atom type doesn't point to element (non-EAM atom in pair hybrid) // then map it to last frho array of zeroes for (i = 1; i <= ntypes; i++) - if (map[i] >= 0) type2frho[i] = map[i]; - else type2frho[i] = nfrho-1; + if (map[i] >= 0) + type2frho[i] = map[i]; + else + type2frho[i] = nfrho - 1; // ------------------------------------------------------------------ // setup rhor arrays @@ -281,7 +273,7 @@ void PairEAMAlloyIntel::file2array() nrhor = setfl->nelements; memory->destroy(rhor); - memory->create(rhor,nrhor,nr+1,"pair:rhor"); + memory->create(rhor, nrhor, nr + 1, "pair:rhor"); // copy each element's rhor to global rhor @@ -293,8 +285,7 @@ void PairEAMAlloyIntel::file2array() // OK if map = -1 (non-EAM atom in pair hybrid) b/c type2rhor not used for (i = 1; i <= ntypes; i++) - for (j = 1; j <= ntypes; j++) - type2rhor[i][j] = map[i]; + for (j = 1; j <= ntypes; j++) type2rhor[i][j] = map[i]; // ------------------------------------------------------------------ // setup z2r arrays @@ -303,9 +294,9 @@ void PairEAMAlloyIntel::file2array() // allocate z2r arrays // nz2r = N*(N+1)/2 where N = # of setfl elements - nz2r = setfl->nelements * (setfl->nelements+1) / 2; + nz2r = setfl->nelements * (setfl->nelements + 1) / 2; memory->destroy(z2r); - memory->create(z2r,nz2r,nr+1,"pair:z2r"); + memory->create(z2r, nz2r, nr + 1, "pair:z2r"); // copy each element pair z2r to global z2r, only for I >= J @@ -324,7 +315,7 @@ void PairEAMAlloyIntel::file2array() // type2z2r is not used by non-opt // but set type2z2r to 0 since accessed by opt - int irow,icol; + int irow, icol; for (i = 1; i <= ntypes; i++) { for (j = 1; j <= ntypes; j++) { irow = map[i]; diff --git a/src/INTEL/pair_eam_fs_intel.cpp b/src/INTEL/pair_eam_fs_intel.cpp index 82bd0cb1e9..7b62378310 100644 --- a/src/INTEL/pair_eam_fs_intel.cpp +++ b/src/INTEL/pair_eam_fs_intel.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -43,24 +42,19 @@ PairEAMFSIntel::PairEAMFSIntel(LAMMPS *lmp) : PairEAMIntel(lmp) void PairEAMFSIntel::coeff(int narg, char **arg) { - int i,j; + int i, j; if (!allocated) allocate(); if (narg != 3 + atom->ntypes) - error->all(FLERR,"Incorrect args for pair coefficients"); - - // ensure I,J args are * * - - if (strcmp(arg[0],"*") != 0 || strcmp(arg[1],"*") != 0) - error->all(FLERR,"Incorrect args for pair coefficients"); + error->all(FLERR, "Number of element to type mappings does not match number of atom types"); // read EAM Finnis-Sinclair file if (fs) { - for (i = 0; i < fs->nelements; i++) delete [] fs->elements[i]; - delete [] fs->elements; - delete [] fs->mass; + for (i = 0; i < fs->nelements; i++) delete[] fs->elements[i]; + delete[] fs->elements; + delete[] fs->mass; memory->destroy(fs->frho); memory->destroy(fs->rhor); memory->destroy(fs->z2r); @@ -73,22 +67,23 @@ void PairEAMFSIntel::coeff(int narg, char **arg) // map[i] = which element the Ith atom type is, -1 if "NULL" for (i = 3; i < narg; i++) { - if (strcmp(arg[i],"NULL") == 0) { - map[i-2] = -1; + if (strcmp(arg[i], "NULL") == 0) { + map[i - 2] = -1; continue; } for (j = 0; j < fs->nelements; j++) - if (strcmp(arg[i],fs->elements[j]) == 0) break; - if (j < fs->nelements) map[i-2] = j; - else error->all(FLERR,"No matching element in EAM potential file"); + if (strcmp(arg[i], fs->elements[j]) == 0) break; + if (j < fs->nelements) + map[i - 2] = j; + else + error->all(FLERR, "No matching element in EAM potential file"); } // clear setflag since coeff() called once with I,J = * * int n = atom->ntypes; for (i = 1; i <= n; i++) - for (j = i; j <= n; j++) - setflag[i][j] = 0; + for (j = i; j <= n; j++) setflag[i][j] = 0; // set setflag i,j for type pairs where both are mapped to elements // set mass of atom type if i = j @@ -98,14 +93,14 @@ void PairEAMFSIntel::coeff(int narg, char **arg) for (j = i; j <= n; j++) { if (map[i] >= 0 && map[j] >= 0) { setflag[i][j] = 1; - if (i == j) atom->set_mass(FLERR,i,fs->mass[map[i]]); + if (i == j) atom->set_mass(FLERR, i, fs->mass[map[i]]); count++; } scale[i][j] = 1.0; } } - if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); + if (count == 0) error->all(FLERR, "Incorrect args for pair coefficients"); } /* ---------------------------------------------------------------------- @@ -123,8 +118,7 @@ void PairEAMFSIntel::read_file(char *filename) // transparently convert units for supported conversions int unit_convert = reader.get_unit_convert(); - double conversion_factor = utils::get_conversion_factor(utils::ENERGY, - unit_convert); + double conversion_factor = utils::get_conversion_factor(utils::ENERGY, unit_convert); try { reader.skip_line(); reader.skip_line(); @@ -135,21 +129,21 @@ void PairEAMFSIntel::read_file(char *filename) file->nelements = values.next_int(); if (values.count() != file->nelements + 1) - error->one(FLERR,"Incorrect element names in EAM potential file"); + error->one(FLERR, "Incorrect element names in EAM potential file"); - file->elements = new char*[file->nelements]; + file->elements = new char *[file->nelements]; for (int i = 0; i < file->nelements; i++) file->elements[i] = utils::strdup(values.next_string()); values = reader.next_values(5); file->nrho = values.next_int(); file->drho = values.next_double(); - file->nr = values.next_int(); - file->dr = values.next_double(); - file->cut = values.next_double(); + file->nr = values.next_int(); + file->dr = values.next_double(); + file->cut = values.next_double(); if ((file->nrho <= 0) || (file->nr <= 0) || (file->dr <= 0.0)) - error->one(FLERR,"Invalid EAM potential file"); + error->one(FLERR, "Invalid EAM potential file"); memory->create(file->mass, file->nelements, "pair:mass"); memory->create(file->frho, file->nelements, file->nrho + 1, "pair:frho"); @@ -158,13 +152,12 @@ void PairEAMFSIntel::read_file(char *filename) for (int i = 0; i < file->nelements; i++) { values = reader.next_values(2); - values.next_int(); // ignore + values.next_int(); // ignore file->mass[i] = values.next_double(); reader.next_dvector(&file->frho[i][1], file->nrho); if (unit_convert) { - for (int j = 1; j <= file->nrho; ++j) - file->frho[i][j] *= conversion_factor; + for (int j = 1; j <= file->nrho; ++j) file->frho[i][j] *= conversion_factor; } for (int j = 0; j < file->nelements; j++) { @@ -176,8 +169,7 @@ void PairEAMFSIntel::read_file(char *filename) for (int j = 0; j <= i; j++) { reader.next_dvector(&file->z2r[i][j][1], file->nr); if (unit_convert) { - for (int k = 1; k <= file->nr; ++k) - file->z2r[i][j][k] *= conversion_factor; + for (int k = 1; k <= file->nr; ++k) file->z2r[i][j][k] *= conversion_factor; } } } @@ -197,7 +189,7 @@ void PairEAMFSIntel::read_file(char *filename) // allocate memory on other procs if (comm->me != 0) { - file->elements = new char*[file->nelements]; + file->elements = new char *[file->nelements]; for (int i = 0; i < file->nelements; i++) file->elements[i] = nullptr; memory->create(file->mass, file->nelements, "pair:mass"); memory->create(file->frho, file->nelements, file->nrho + 1, "pair:frho"); @@ -226,9 +218,7 @@ void PairEAMFSIntel::read_file(char *filename) // broadcast file->z2r for (int i = 0; i < file->nelements; i++) { - for (int j = 0; j <= i; j++) { - MPI_Bcast(&file->z2r[i][j][1], file->nr, MPI_DOUBLE, 0, world); - } + for (int j = 0; j <= i; j++) { MPI_Bcast(&file->z2r[i][j][1], file->nr, MPI_DOUBLE, 0, world); } } } @@ -238,7 +228,7 @@ void PairEAMFSIntel::read_file(char *filename) void PairEAMFSIntel::file2array() { - int i,j,m,n; + int i, j, m, n; int ntypes = atom->ntypes; // set function params directly from fs file @@ -247,7 +237,7 @@ void PairEAMFSIntel::file2array() nr = fs->nr; drho = fs->drho; dr = fs->dr; - rhomax = (nrho-1) * drho; + rhomax = (nrho - 1) * drho; // ------------------------------------------------------------------ // setup frho arrays @@ -258,7 +248,7 @@ void PairEAMFSIntel::file2array() nfrho = fs->nelements + 1; memory->destroy(frho); - memory->create(frho,nfrho,nrho+1,"pair:frho"); + memory->create(frho, nfrho, nrho + 1, "pair:frho"); // copy each element's frho to global frho @@ -268,15 +258,17 @@ void PairEAMFSIntel::file2array() // add extra frho of zeroes for non-EAM types to point to (pair hybrid) // this is necessary b/c fp is still computed for non-EAM atoms - for (m = 1; m <= nrho; m++) frho[nfrho-1][m] = 0.0; + for (m = 1; m <= nrho; m++) frho[nfrho - 1][m] = 0.0; // type2frho[i] = which frho array (0 to nfrho-1) each atom type maps to // if atom type doesn't point to element (non-EAM atom in pair hybrid) // then map it to last frho array of zeroes for (i = 1; i <= ntypes; i++) - if (map[i] >= 0) type2frho[i] = map[i]; - else type2frho[i] = nfrho-1; + if (map[i] >= 0) + type2frho[i] = map[i]; + else + type2frho[i] = nfrho - 1; // ------------------------------------------------------------------ // setup rhor arrays @@ -287,7 +279,7 @@ void PairEAMFSIntel::file2array() nrhor = fs->nelements * fs->nelements; memory->destroy(rhor); - memory->create(rhor,nrhor,nr+1,"pair:rhor"); + memory->create(rhor, nrhor, nr + 1, "pair:rhor"); // copy each element pair rhor to global rhor @@ -303,8 +295,7 @@ void PairEAMFSIntel::file2array() // OK if map = -1 (non-EAM atom in pair hybrid) b/c type2rhor not used for (i = 1; i <= ntypes; i++) - for (j = 1; j <= ntypes; j++) - type2rhor[i][j] = map[i] * fs->nelements + map[j]; + for (j = 1; j <= ntypes; j++) type2rhor[i][j] = map[i] * fs->nelements + map[j]; // ------------------------------------------------------------------ // setup z2r arrays @@ -313,9 +304,9 @@ void PairEAMFSIntel::file2array() // allocate z2r arrays // nz2r = N*(N+1)/2 where N = # of fs elements - nz2r = fs->nelements * (fs->nelements+1) / 2; + nz2r = fs->nelements * (fs->nelements + 1) / 2; memory->destroy(z2r); - memory->create(z2r,nz2r,nr+1,"pair:z2r"); + memory->create(z2r, nz2r, nr + 1, "pair:z2r"); // copy each element pair z2r to global z2r, only for I >= J @@ -334,7 +325,7 @@ void PairEAMFSIntel::file2array() // type2z2r is not used by non-opt // but set type2z2r to 0 since accessed by opt - int irow,icol; + int irow, icol; for (i = 1; i <= ntypes; i++) { for (j = 1; j <= ntypes; j++) { irow = map[i]; diff --git a/src/KOKKOS/pair_eam_alloy_kokkos.cpp b/src/KOKKOS/pair_eam_alloy_kokkos.cpp index e14b78a36f..ec72cabf33 100644 --- a/src/KOKKOS/pair_eam_alloy_kokkos.cpp +++ b/src/KOKKOS/pair_eam_alloy_kokkos.cpp @@ -919,19 +919,14 @@ void PairEAMAlloyKokkos::coeff(int narg, char **arg) if (!allocated) allocate(); if (narg != 3 + atom->ntypes) - error->all(FLERR,"Incorrect args for pair coefficients"); - - // ensure I,J args are * * - - if (strcmp(arg[0],"*") != 0 || strcmp(arg[1],"*") != 0) - error->all(FLERR,"Incorrect args for pair coefficients"); + error->all(FLERR, "Number of element to type mappings does not match number of atom types"); // read EAM setfl file if (setfl) { - for (i = 0; i < setfl->nelements; i++) delete [] setfl->elements[i]; - delete [] setfl->elements; - delete [] setfl->mass; + for (i = 0; i < setfl->nelements; i++) delete[] setfl->elements[i]; + delete[] setfl->elements; + delete[] setfl->mass; memory->destroy(setfl->frho); memory->destroy(setfl->rhor); memory->destroy(setfl->z2r); diff --git a/src/KOKKOS/pair_eam_fs_kokkos.cpp b/src/KOKKOS/pair_eam_fs_kokkos.cpp index 811b80e3a0..50abbc3191 100644 --- a/src/KOKKOS/pair_eam_fs_kokkos.cpp +++ b/src/KOKKOS/pair_eam_fs_kokkos.cpp @@ -920,19 +920,14 @@ void PairEAMFSKokkos::coeff(int narg, char **arg) if (!allocated) allocate(); if (narg != 3 + atom->ntypes) - error->all(FLERR,"Incorrect args for pair coefficients"); - - // ensure I,J args are * * - - if (strcmp(arg[0],"*") != 0 || strcmp(arg[1],"*") != 0) - error->all(FLERR,"Incorrect args for pair coefficients"); + error->all(FLERR, "Number of element to type mappings does not match number of atom types"); // read EAM Finnis-Sinclair file if (fs) { - for (i = 0; i < fs->nelements; i++) delete [] fs->elements[i]; - delete [] fs->elements; - delete [] fs->mass; + for (i = 0; i < fs->nelements; i++) delete[] fs->elements[i]; + delete[] fs->elements; + delete[] fs->mass; memory->destroy(fs->frho); memory->destroy(fs->rhor); memory->destroy(fs->z2r); diff --git a/src/MANYBODY/pair_eam_alloy.cpp b/src/MANYBODY/pair_eam_alloy.cpp index ffb08ab530..0163cb6ed5 100644 --- a/src/MANYBODY/pair_eam_alloy.cpp +++ b/src/MANYBODY/pair_eam_alloy.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -43,18 +42,18 @@ PairEAMAlloy::PairEAMAlloy(LAMMPS *lmp) : PairEAM(lmp) void PairEAMAlloy::coeff(int narg, char **arg) { - int i,j; + int i, j; if (!allocated) allocate(); if (narg != 3 + atom->ntypes) - error->all(FLERR,"Incorrect args for pair coefficients"); + error->all(FLERR, "Number of element to type mappings does not match number of atom types"); // read EAM setfl file if (setfl) { - for (i = 0; i < setfl->nelements; i++) delete [] setfl->elements[i]; - delete [] setfl->elements; + for (i = 0; i < setfl->nelements; i++) delete[] setfl->elements[i]; + delete[] setfl->elements; memory->destroy(setfl->mass); memory->destroy(setfl->frho); memory->destroy(setfl->rhor); @@ -68,22 +67,23 @@ void PairEAMAlloy::coeff(int narg, char **arg) // map[i] = which element the Ith atom type is, -1 if "NULL" for (i = 3; i < narg; i++) { - if (strcmp(arg[i],"NULL") == 0) { - map[i-2] = -1; + if (strcmp(arg[i], "NULL") == 0) { + map[i - 2] = -1; continue; } for (j = 0; j < setfl->nelements; j++) - if (strcmp(arg[i],setfl->elements[j]) == 0) break; - if (j < setfl->nelements) map[i-2] = j; - else error->all(FLERR,"No matching element in EAM potential file"); + if (strcmp(arg[i], setfl->elements[j]) == 0) break; + if (j < setfl->nelements) + map[i - 2] = j; + else + error->all(FLERR, "No matching element in EAM potential file"); } // clear setflag since coeff() called once with I,J = * * int n = atom->ntypes; for (i = 1; i <= n; i++) - for (j = i; j <= n; j++) - setflag[i][j] = 0; + for (j = i; j <= n; j++) setflag[i][j] = 0; // set setflag i,j for type pairs where both are mapped to elements // set mass of atom type if i = j @@ -93,14 +93,14 @@ void PairEAMAlloy::coeff(int narg, char **arg) for (j = i; j <= n; j++) { if (map[i] >= 0 && map[j] >= 0) { setflag[i][j] = 1; - if (i == j) atom->set_mass(FLERR,i,setfl->mass[map[i]]); + if (i == j) atom->set_mass(FLERR, i, setfl->mass[map[i]]); count++; } scale[i][j] = 1.0; } } - if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); + if (count == 0) error->all(FLERR, "Incorrect args for pair coefficients"); } /* ---------------------------------------------------------------------- @@ -118,8 +118,7 @@ void PairEAMAlloy::read_file(char *filename) // transparently convert units for supported conversions int unit_convert = reader.get_unit_convert(); - double conversion_factor = utils::get_conversion_factor(utils::ENERGY, - unit_convert); + double conversion_factor = utils::get_conversion_factor(utils::ENERGY, unit_convert); try { reader.skip_line(); reader.skip_line(); @@ -129,22 +128,22 @@ void PairEAMAlloy::read_file(char *filename) ValueTokenizer values = reader.next_values(1); file->nelements = values.next_int(); - if ((int)values.count() != file->nelements + 1) - error->one(FLERR,"Incorrect element names in EAM potential file"); + if ((int) values.count() != file->nelements + 1) + error->one(FLERR, "Incorrect element names in EAM potential file"); - file->elements = new char*[file->nelements]; + file->elements = new char *[file->nelements]; for (int i = 0; i < file->nelements; i++) file->elements[i] = utils::strdup(values.next_string()); values = reader.next_values(5); file->nrho = values.next_int(); file->drho = values.next_double(); - file->nr = values.next_int(); - file->dr = values.next_double(); - file->cut = values.next_double(); + file->nr = values.next_int(); + file->dr = values.next_double(); + file->cut = values.next_double(); if ((file->nrho <= 0) || (file->nr <= 0) || (file->dr <= 0.0)) - error->one(FLERR,"Invalid EAM potential file"); + error->one(FLERR, "Invalid EAM potential file"); memory->create(file->mass, file->nelements, "pair:mass"); memory->create(file->frho, file->nelements, file->nrho + 1, "pair:frho"); @@ -153,14 +152,13 @@ void PairEAMAlloy::read_file(char *filename) for (int i = 0; i < file->nelements; i++) { values = reader.next_values(2); - values.next_int(); // ignore + values.next_int(); // ignore file->mass[i] = values.next_double(); reader.next_dvector(&file->frho[i][1], file->nrho); reader.next_dvector(&file->rhor[i][1], file->nr); if (unit_convert) { - for (int j = 1; j < file->nrho; ++j) - file->frho[i][j] *= conversion_factor; + for (int j = 1; j < file->nrho; ++j) file->frho[i][j] *= conversion_factor; } } @@ -168,8 +166,7 @@ void PairEAMAlloy::read_file(char *filename) for (int j = 0; j <= i; j++) { reader.next_dvector(&file->z2r[i][j][1], file->nr); if (unit_convert) { - for (int k = 1; k < file->nr; ++k) - file->z2r[i][j][k] *= conversion_factor; + for (int k = 1; k < file->nr; ++k) file->z2r[i][j][k] *= conversion_factor; } } } @@ -189,7 +186,7 @@ void PairEAMAlloy::read_file(char *filename) // allocate memory on other procs if (comm->me != 0) { - file->elements = new char*[file->nelements]; + file->elements = new char *[file->nelements]; for (int i = 0; i < file->nelements; i++) file->elements[i] = nullptr; memory->create(file->mass, file->nelements, "pair:mass"); memory->create(file->frho, file->nelements, file->nrho + 1, "pair:frho"); @@ -215,9 +212,7 @@ void PairEAMAlloy::read_file(char *filename) // broadcast file->z2r for (int i = 0; i < file->nelements; i++) { - for (int j = 0; j <= i; j++) { - MPI_Bcast(&file->z2r[i][j][1], file->nr, MPI_DOUBLE, 0, world); - } + for (int j = 0; j <= i; j++) { MPI_Bcast(&file->z2r[i][j][1], file->nr, MPI_DOUBLE, 0, world); } } } @@ -227,7 +222,7 @@ void PairEAMAlloy::read_file(char *filename) void PairEAMAlloy::file2array() { - int i,j,m,n; + int i, j, m, n; int ntypes = atom->ntypes; // set function params directly from setfl file @@ -236,7 +231,7 @@ void PairEAMAlloy::file2array() nr = setfl->nr; drho = setfl->drho; dr = setfl->dr; - rhomax = (nrho-1) * drho; + rhomax = (nrho - 1) * drho; // ------------------------------------------------------------------ // setup frho arrays @@ -247,7 +242,7 @@ void PairEAMAlloy::file2array() nfrho = setfl->nelements + 1; memory->destroy(frho); - memory->create(frho,nfrho,nrho+1,"pair:frho"); + memory->create(frho, nfrho, nrho + 1, "pair:frho"); // copy each element's frho to global frho @@ -257,15 +252,17 @@ void PairEAMAlloy::file2array() // add extra frho of zeroes for non-EAM types to point to (pair hybrid) // this is necessary b/c fp is still computed for non-EAM atoms - for (m = 1; m <= nrho; m++) frho[nfrho-1][m] = 0.0; + for (m = 1; m <= nrho; m++) frho[nfrho - 1][m] = 0.0; // type2frho[i] = which frho array (0 to nfrho-1) each atom type maps to // if atom type doesn't point to element (non-EAM atom in pair hybrid) // then map it to last frho array of zeroes for (i = 1; i <= ntypes; i++) - if (map[i] >= 0) type2frho[i] = map[i]; - else type2frho[i] = nfrho-1; + if (map[i] >= 0) + type2frho[i] = map[i]; + else + type2frho[i] = nfrho - 1; // ------------------------------------------------------------------ // setup rhor arrays @@ -276,7 +273,7 @@ void PairEAMAlloy::file2array() nrhor = setfl->nelements; memory->destroy(rhor); - memory->create(rhor,nrhor,nr+1,"pair:rhor"); + memory->create(rhor, nrhor, nr + 1, "pair:rhor"); // copy each element's rhor to global rhor @@ -288,8 +285,7 @@ void PairEAMAlloy::file2array() // OK if map = -1 (non-EAM atom in pair hybrid) b/c type2rhor not used for (i = 1; i <= ntypes; i++) - for (j = 1; j <= ntypes; j++) - type2rhor[i][j] = map[i]; + for (j = 1; j <= ntypes; j++) type2rhor[i][j] = map[i]; // ------------------------------------------------------------------ // setup z2r arrays @@ -298,9 +294,9 @@ void PairEAMAlloy::file2array() // allocate z2r arrays // nz2r = N*(N+1)/2 where N = # of setfl elements - nz2r = setfl->nelements * (setfl->nelements+1) / 2; + nz2r = setfl->nelements * (setfl->nelements + 1) / 2; memory->destroy(z2r); - memory->create(z2r,nz2r,nr+1,"pair:z2r"); + memory->create(z2r, nz2r, nr + 1, "pair:z2r"); // copy each element pair z2r to global z2r, only for I >= J @@ -319,7 +315,7 @@ void PairEAMAlloy::file2array() // type2z2r is not used by non-opt // but set type2z2r to 0 since accessed by opt - int irow,icol; + int irow, icol; for (i = 1; i <= ntypes; i++) { for (j = 1; j <= ntypes; j++) { irow = map[i]; diff --git a/src/MANYBODY/pair_eam_fs.cpp b/src/MANYBODY/pair_eam_fs.cpp index e2c894479b..da4e2882b0 100644 --- a/src/MANYBODY/pair_eam_fs.cpp +++ b/src/MANYBODY/pair_eam_fs.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -44,18 +43,18 @@ PairEAMFS::PairEAMFS(LAMMPS *lmp) : PairEAM(lmp) void PairEAMFS::coeff(int narg, char **arg) { - int i,j; + int i, j; if (!allocated) allocate(); if (narg != 3 + atom->ntypes) - error->all(FLERR,"Incorrect args for pair coefficients"); + error->all(FLERR, "Number of element to type mappings does not match number of atom types"); // read EAM Finnis-Sinclair file if (fs) { - for (i = 0; i < fs->nelements; i++) delete [] fs->elements[i]; - delete [] fs->elements; + for (i = 0; i < fs->nelements; i++) delete[] fs->elements[i]; + delete[] fs->elements; memory->destroy(fs->mass); memory->destroy(fs->frho); memory->destroy(fs->rhor); @@ -69,22 +68,23 @@ void PairEAMFS::coeff(int narg, char **arg) // map[i] = which element the Ith atom type is, -1 if "NULL" for (i = 3; i < narg; i++) { - if (strcmp(arg[i],"NULL") == 0) { - map[i-2] = -1; + if (strcmp(arg[i], "NULL") == 0) { + map[i - 2] = -1; continue; } for (j = 0; j < fs->nelements; j++) - if (strcmp(arg[i],fs->elements[j]) == 0) break; - if (j < fs->nelements) map[i-2] = j; - else error->all(FLERR,"No matching element in EAM potential file"); + if (strcmp(arg[i], fs->elements[j]) == 0) break; + if (j < fs->nelements) + map[i - 2] = j; + else + error->all(FLERR, "No matching element in EAM potential file"); } // clear setflag since coeff() called once with I,J = * * int n = atom->ntypes; for (i = 1; i <= n; i++) - for (j = i; j <= n; j++) - setflag[i][j] = 0; + for (j = i; j <= n; j++) setflag[i][j] = 0; // set setflag i,j for type pairs where both are mapped to elements // set mass of atom type if i = j @@ -94,14 +94,14 @@ void PairEAMFS::coeff(int narg, char **arg) for (j = i; j <= n; j++) { if (map[i] >= 0 && map[j] >= 0) { setflag[i][j] = 1; - if (i == j) atom->set_mass(FLERR,i,fs->mass[map[i]]); + if (i == j) atom->set_mass(FLERR, i, fs->mass[map[i]]); count++; } scale[i][j] = 1.0; } } - if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); + if (count == 0) error->all(FLERR, "Incorrect args for pair coefficients"); } /* ---------------------------------------------------------------------- @@ -114,14 +114,12 @@ void PairEAMFS::read_file(char *filename) // read potential file if (comm->me == 0) { - PotentialFileReader reader(lmp, filename, he_flag ? "eam/he" : "eam/fs", - unit_convert_flag); + PotentialFileReader reader(lmp, filename, he_flag ? "eam/he" : "eam/fs", unit_convert_flag); // transparently convert units for supported conversions int unit_convert = reader.get_unit_convert(); - double conversion_factor = utils::get_conversion_factor(utils::ENERGY, - unit_convert); + double conversion_factor = utils::get_conversion_factor(utils::ENERGY, unit_convert); try { reader.skip_line(); reader.skip_line(); @@ -131,24 +129,26 @@ void PairEAMFS::read_file(char *filename) ValueTokenizer values = reader.next_values(1); file->nelements = values.next_int(); - if ((int)values.count() != file->nelements + 1) - error->one(FLERR,"Incorrect element names in EAM potential file"); + if ((int) values.count() != file->nelements + 1) + error->one(FLERR, "Incorrect element names in EAM potential file"); - file->elements = new char*[file->nelements]; + file->elements = new char *[file->nelements]; for (int i = 0; i < file->nelements; i++) file->elements[i] = utils::strdup(values.next_string()); - if (he_flag) values = reader.next_values(6); - else values = reader.next_values(5); + if (he_flag) + values = reader.next_values(6); + else + values = reader.next_values(5); file->nrho = values.next_int(); file->drho = values.next_double(); - file->nr = values.next_int(); - file->dr = values.next_double(); - file->cut = values.next_double(); + file->nr = values.next_int(); + file->dr = values.next_double(); + file->cut = values.next_double(); if (he_flag) rhomax = values.next_double(); if ((file->nrho <= 0) || (file->nr <= 0) || (file->dr <= 0.0)) - error->one(FLERR,"Invalid EAM potential file"); + error->one(FLERR, "Invalid EAM potential file"); memory->create(file->mass, file->nelements, "pair:mass"); memory->create(file->frho, file->nelements, file->nrho + 1, "pair:frho"); @@ -157,13 +157,12 @@ void PairEAMFS::read_file(char *filename) for (int i = 0; i < file->nelements; i++) { values = reader.next_values(2); - values.next_int(); // ignore + values.next_int(); // ignore file->mass[i] = values.next_double(); reader.next_dvector(&file->frho[i][1], file->nrho); if (unit_convert) { - for (int j = 1; j <= file->nrho; ++j) - file->frho[i][j] *= conversion_factor; + for (int j = 1; j <= file->nrho; ++j) file->frho[i][j] *= conversion_factor; } for (int j = 0; j < file->nelements; j++) { @@ -175,8 +174,7 @@ void PairEAMFS::read_file(char *filename) for (int j = 0; j <= i; j++) { reader.next_dvector(&file->z2r[i][j][1], file->nr); if (unit_convert) { - for (int k = 1; k <= file->nr; ++k) - file->z2r[i][j][k] *= conversion_factor; + for (int k = 1; k <= file->nr; ++k) file->z2r[i][j][k] *= conversion_factor; } } } @@ -197,7 +195,7 @@ void PairEAMFS::read_file(char *filename) // allocate memory on other procs if (comm->me != 0) { - file->elements = new char*[file->nelements]; + file->elements = new char *[file->nelements]; for (int i = 0; i < file->nelements; i++) file->elements[i] = nullptr; memory->create(file->mass, file->nelements, "pair:mass"); memory->create(file->frho, file->nelements, file->nrho + 1, "pair:frho"); @@ -226,9 +224,7 @@ void PairEAMFS::read_file(char *filename) // broadcast file->z2r for (int i = 0; i < file->nelements; i++) { - for (int j = 0; j <= i; j++) { - MPI_Bcast(&file->z2r[i][j][1], file->nr, MPI_DOUBLE, 0, world); - } + for (int j = 0; j <= i; j++) { MPI_Bcast(&file->z2r[i][j][1], file->nr, MPI_DOUBLE, 0, world); } } } @@ -238,7 +234,7 @@ void PairEAMFS::read_file(char *filename) void PairEAMFS::file2array() { - int i,j,m,n; + int i, j, m, n; int ntypes = atom->ntypes; // set function params directly from fs file @@ -247,8 +243,10 @@ void PairEAMFS::file2array() nr = fs->nr; drho = fs->drho; dr = fs->dr; - if (he_flag) rhomin = rhomax - (nrho-1) * drho; - else rhomax = (nrho-1) * drho; + if (he_flag) + rhomin = rhomax - (nrho - 1) * drho; + else + rhomax = (nrho - 1) * drho; // ------------------------------------------------------------------ // setup frho arrays @@ -259,7 +257,7 @@ void PairEAMFS::file2array() nfrho = fs->nelements + 1; memory->destroy(frho); - memory->create(frho,nfrho,nrho+1,"pair:frho"); + memory->create(frho, nfrho, nrho + 1, "pair:frho"); // copy each element's frho to global frho @@ -269,15 +267,17 @@ void PairEAMFS::file2array() // add extra frho of zeroes for non-EAM types to point to (pair hybrid) // this is necessary b/c fp is still computed for non-EAM atoms - for (m = 1; m <= nrho; m++) frho[nfrho-1][m] = 0.0; + for (m = 1; m <= nrho; m++) frho[nfrho - 1][m] = 0.0; // type2frho[i] = which frho array (0 to nfrho-1) each atom type maps to // if atom type doesn't point to element (non-EAM atom in pair hybrid) // then map it to last frho array of zeroes for (i = 1; i <= ntypes; i++) - if (map[i] >= 0) type2frho[i] = map[i]; - else type2frho[i] = nfrho-1; + if (map[i] >= 0) + type2frho[i] = map[i]; + else + type2frho[i] = nfrho - 1; // ------------------------------------------------------------------ // setup rhor arrays @@ -288,7 +288,7 @@ void PairEAMFS::file2array() nrhor = fs->nelements * fs->nelements; memory->destroy(rhor); - memory->create(rhor,nrhor,nr+1,"pair:rhor"); + memory->create(rhor, nrhor, nr + 1, "pair:rhor"); // copy each element pair rhor to global rhor @@ -304,8 +304,7 @@ void PairEAMFS::file2array() // OK if map = -1 (non-EAM atom in pair hybrid) b/c type2rhor not used for (i = 1; i <= ntypes; i++) - for (j = 1; j <= ntypes; j++) - type2rhor[i][j] = map[i] * fs->nelements + map[j]; + for (j = 1; j <= ntypes; j++) type2rhor[i][j] = map[i] * fs->nelements + map[j]; // ------------------------------------------------------------------ // setup z2r arrays @@ -314,9 +313,9 @@ void PairEAMFS::file2array() // allocate z2r arrays // nz2r = N*(N+1)/2 where N = # of fs elements - nz2r = fs->nelements * (fs->nelements+1) / 2; + nz2r = fs->nelements * (fs->nelements + 1) / 2; memory->destroy(z2r); - memory->create(z2r,nz2r,nr+1,"pair:z2r"); + memory->create(z2r, nz2r, nr + 1, "pair:z2r"); // copy each element pair z2r to global z2r, only for I >= J @@ -335,7 +334,7 @@ void PairEAMFS::file2array() // type2z2r is not used by non-opt // but set type2z2r to 0 since accessed by opt - int irow,icol; + int irow, icol; for (i = 1; i <= ntypes; i++) { for (j = 1; j <= ntypes; j++) { irow = map[i]; diff --git a/src/MANYBODY/pair_eam_he.cpp b/src/MANYBODY/pair_eam_he.cpp index bfbdbad5de..dbe1671d4f 100644 --- a/src/MANYBODY/pair_eam_he.cpp +++ b/src/MANYBODY/pair_eam_he.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -38,14 +37,14 @@ PairEAMHE::PairEAMHE(LAMMPS *lmp) : PairEAM(lmp), PairEAMFS(lmp) void PairEAMHE::compute(int eflag, int vflag) { - int i,j,ii,jj,m,inum,jnum,itype,jtype; - double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fpair; - double rsq,r,p,rhoip,rhojp,z2,z2p,recip,phip,psip,phi; + int i, j, ii, jj, m, inum, jnum, itype, jtype; + double xtmp, ytmp, ztmp, delx, dely, delz, evdwl, fpair; + double rsq, r, p, rhoip, rhojp, z2, z2p, recip, phip, psip, phi; double *coeff; - int *ilist,*jlist,*numneigh,**firstneigh; + int *ilist, *jlist, *numneigh, **firstneigh; evdwl = 0.0; - ev_init(eflag,vflag); + ev_init(eflag, vflag); // grow energy and fp arrays if necessary // need to be atom->nmax in length @@ -55,9 +54,9 @@ void PairEAMHE::compute(int eflag, int vflag) memory->destroy(fp); memory->destroy(numforce); nmax = atom->nmax; - memory->create(rho,nmax,"pair:rho"); - memory->create(fp,nmax,"pair:fp"); - memory->create(numforce,nmax,"pair:numforce"); + memory->create(rho, nmax, "pair:rho"); + memory->create(fp, nmax, "pair:fp"); + memory->create(numforce, nmax, "pair:numforce"); } double **x = atom->x; @@ -76,7 +75,8 @@ void PairEAMHE::compute(int eflag, int vflag) if (newton_pair) { for (i = 0; i < nall; i++) rho[i] = 0.0; - } else for (i = 0; i < nlocal; i++) rho[i] = 0.0; + } else + for (i = 0; i < nlocal; i++) rho[i] = 0.0; // rho = density at each atom // loop over neighbors of my atoms @@ -97,20 +97,20 @@ void PairEAMHE::compute(int eflag, int vflag) delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; + rsq = delx * delx + dely * dely + delz * delz; if (rsq < cutforcesq) { jtype = type[j]; - p = sqrt(rsq)*rdr + 1.0; - m = static_cast (p); - m = MIN(m,nr-1); + p = sqrt(rsq) * rdr + 1.0; + m = static_cast(p); + m = MIN(m, nr - 1); p -= m; - p = MIN(p,1.0); + p = MIN(p, 1.0); coeff = rhor_spline[type2rhor[jtype][itype]][m]; - rho[i] += ((coeff[3]*p + coeff[4])*p + coeff[5])*p + coeff[6]; + rho[i] += ((coeff[3] * p + coeff[4]) * p + coeff[5]) * p + coeff[6]; if (newton_pair || j < nlocal) { coeff = rhor_spline[type2rhor[itype][jtype]][m]; - rho[j] += ((coeff[3]*p + coeff[4])*p + coeff[5])*p + coeff[6]; + rho[j] += ((coeff[3] * p + coeff[4]) * p + coeff[5]) * p + coeff[6]; } } } @@ -127,12 +127,12 @@ void PairEAMHE::compute(int eflag, int vflag) for (ii = 0; ii < inum; ii++) { i = ilist[ii]; - p = (rho[i]-rhomin)*rdrho + 1.0; - m = static_cast (p); + p = (rho[i] - rhomin) * rdrho + 1.0; + m = static_cast(p); if (m < 2) { m = 2; - } else if (m > nrho-1) { - m = nrho-1; + } else if (m > nrho - 1) { + m = nrho - 1; } p -= m; if (p < -1.0) { @@ -141,13 +141,13 @@ void PairEAMHE::compute(int eflag, int vflag) p = 1.0; } coeff = frho_spline[type2frho[type[i]]][m]; - fp[i] = (coeff[0]*p + coeff[1])*p + coeff[2]; + fp[i] = (coeff[0] * p + coeff[1]) * p + coeff[2]; if (eflag) { - phi = ((coeff[3]*p + coeff[4])*p + coeff[5])*p + coeff[6]; + phi = ((coeff[3] * p + coeff[4]) * p + coeff[5]) * p + coeff[6]; if (rho[i] < rhomin) { - phi += fp[i] * (rho[i]-rhomin); + phi += fp[i] * (rho[i] - rhomin); } else if (rho[i] > rhomax) { - phi += fp[i] * (rho[i]-rhomax); + phi += fp[i] * (rho[i] - rhomax); } phi *= scale[type[i]][type[i]]; if (eflag_global) eng_vdwl += phi; @@ -181,17 +181,17 @@ void PairEAMHE::compute(int eflag, int vflag) delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; + rsq = delx * delx + dely * dely + delz * delz; if (rsq < cutforcesq) { ++numforce[i]; jtype = type[j]; r = sqrt(rsq); - p = r*rdr + 1.0; - m = static_cast (p); - m = MIN(m,nr-1); + p = r * rdr + 1.0; + m = static_cast(p); + m = MIN(m, nr - 1); p -= m; - p = MIN(p,1.0); + p = MIN(p, 1.0); // rhoip = derivative of (density at atom j due to atom i) // rhojp = derivative of (density at atom i due to atom j) @@ -205,35 +205,33 @@ void PairEAMHE::compute(int eflag, int vflag) // scale factor can be applied by thermodynamic integration coeff = rhor_spline[type2rhor[itype][jtype]][m]; - rhoip = (coeff[0]*p + coeff[1])*p + coeff[2]; + rhoip = (coeff[0] * p + coeff[1]) * p + coeff[2]; coeff = rhor_spline[type2rhor[jtype][itype]][m]; - rhojp = (coeff[0]*p + coeff[1])*p + coeff[2]; + rhojp = (coeff[0] * p + coeff[1]) * p + coeff[2]; coeff = z2r_spline[type2z2r[itype][jtype]][m]; - z2p = (coeff[0]*p + coeff[1])*p + coeff[2]; - z2 = ((coeff[3]*p + coeff[4])*p + coeff[5])*p + coeff[6]; + z2p = (coeff[0] * p + coeff[1]) * p + coeff[2]; + z2 = ((coeff[3] * p + coeff[4]) * p + coeff[5]) * p + coeff[6]; - recip = 1.0/r; - phi = z2*recip; - phip = z2p*recip - phi*recip; - psip = fp[i]*rhojp + fp[j]*rhoip + phip; - fpair = -scale[itype][jtype]*psip*recip; + recip = 1.0 / r; + phi = z2 * recip; + phip = z2p * recip - phi * recip; + psip = fp[i] * rhojp + fp[j] * rhoip + phip; + fpair = -scale[itype][jtype] * psip * recip; - f[i][0] += delx*fpair; - f[i][1] += dely*fpair; - f[i][2] += delz*fpair; + 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; + f[j][0] -= delx * fpair; + f[j][1] -= dely * fpair; + f[j][2] -= delz * fpair; } - if (eflag) evdwl = scale[itype][jtype]*phi; - if (evflag) ev_tally(i,j,nlocal,newton_pair, - evdwl,0.0,fpair,delx,dely,delz); + if (eflag) evdwl = scale[itype][jtype] * phi; + if (evflag) ev_tally(i, j, nlocal, newton_pair, evdwl, 0.0, fpair, delx, dely, delz); } } } if (vflag_fdotr) virial_fdotr_compute(); } - diff --git a/src/OPENMP/pair_eam_alloy_omp.cpp b/src/OPENMP/pair_eam_alloy_omp.cpp index 2503ff612f..e78fafb193 100644 --- a/src/OPENMP/pair_eam_alloy_omp.cpp +++ b/src/OPENMP/pair_eam_alloy_omp.cpp @@ -45,7 +45,8 @@ void PairEAMAlloyOMP::coeff(int narg, char **arg) if (!allocated) allocate(); - if (narg != 3 + atom->ntypes) error->all(FLERR, "Incorrect args for pair coefficients"); + if (narg != 3 + atom->ntypes) + error->all(FLERR, "Number of element to type mappings does not match number of atom types"); // read EAM setfl file diff --git a/src/OPENMP/pair_eam_fs_omp.cpp b/src/OPENMP/pair_eam_fs_omp.cpp index 93b9b12526..1674c09e7a 100644 --- a/src/OPENMP/pair_eam_fs_omp.cpp +++ b/src/OPENMP/pair_eam_fs_omp.cpp @@ -45,7 +45,8 @@ void PairEAMFSOMP::coeff(int narg, char **arg) if (!allocated) allocate(); - if (narg != 3 + atom->ntypes) error->all(FLERR, "Incorrect args for pair coefficients"); + if (narg != 3 + atom->ntypes) + error->all(FLERR, "Number of element to type mappings does not match number of atom types"); // read EAM Finnis-Sinclair file diff --git a/src/OPT/pair_eam_alloy_opt.cpp b/src/OPT/pair_eam_alloy_opt.cpp index a78d597a9c..bb10e938be 100644 --- a/src/OPT/pair_eam_alloy_opt.cpp +++ b/src/OPT/pair_eam_alloy_opt.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -31,5 +30,4 @@ using namespace LAMMPS_NS; inherit everything else from PairEAMAlloy ------------------------------------------------------------------------- */ -PairEAMAlloyOpt::PairEAMAlloyOpt(LAMMPS *lmp) : - PairEAM(lmp), PairEAMAlloy(lmp), PairEAMOpt(lmp) {} +PairEAMAlloyOpt::PairEAMAlloyOpt(LAMMPS *lmp) : PairEAM(lmp), PairEAMAlloy(lmp), PairEAMOpt(lmp) {} diff --git a/src/OPT/pair_eam_fs_opt.cpp b/src/OPT/pair_eam_fs_opt.cpp index 13f7ca7cdf..cdc7c5332b 100644 --- a/src/OPT/pair_eam_fs_opt.cpp +++ b/src/OPT/pair_eam_fs_opt.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -31,5 +30,4 @@ using namespace LAMMPS_NS; inherit everything else from PairEAMFS ------------------------------------------------------------------------- */ -PairEAMFSOpt::PairEAMFSOpt(LAMMPS *lmp) : - PairEAM(lmp), PairEAMFS(lmp), PairEAMOpt(lmp) {} +PairEAMFSOpt::PairEAMFSOpt(LAMMPS *lmp) : PairEAM(lmp), PairEAMFS(lmp), PairEAMOpt(lmp) {} diff --git a/src/OPT/pair_eam_opt.cpp b/src/OPT/pair_eam_opt.cpp index 7c003b2dd1..0560b0693a 100644 --- a/src/OPT/pair_eam_opt.cpp +++ b/src/OPT/pair_eam_opt.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -21,15 +20,16 @@ ------------------------------------------------------------------------- */ #include "pair_eam_opt.h" -#include #include "atom.h" #include "comm.h" #include "force.h" -#include "neigh_list.h" #include "memory.h" +#include "neigh_list.h" #include "update.h" +#include + using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ @@ -40,44 +40,51 @@ PairEAMOpt::PairEAMOpt(LAMMPS *lmp) : PairEAM(lmp) {} void PairEAMOpt::compute(int eflag, int vflag) { - ev_init(eflag,vflag); + ev_init(eflag, vflag); if (evflag) { if (eflag) { - if (force->newton_pair) return eval<1,1,1>(); - else return eval<1,1,0>(); + if (force->newton_pair) + return eval<1, 1, 1>(); + else + return eval<1, 1, 0>(); } else { - if (force->newton_pair) return eval<1,0,1>(); - else return eval<1,0,0>(); + if (force->newton_pair) + return eval<1, 0, 1>(); + else + return eval<1, 0, 0>(); } } else { - if (force->newton_pair) return eval<0,0,1>(); - else return eval<0,0,0>(); + if (force->newton_pair) + return eval<0, 0, 1>(); + else + return eval<0, 0, 0>(); } } /* ---------------------------------------------------------------------- */ -template < int EVFLAG, int EFLAG, int NEWTON_PAIR > -void PairEAMOpt::eval() +template void PairEAMOpt::eval() { - typedef struct { double x,y,z; } vec3_t; + typedef struct { + double x, y, z; + } vec3_t; typedef struct { - double rhor0i,rhor1i,rhor2i,rhor3i; - double rhor0j,rhor1j,rhor2j,rhor3j; + double rhor0i, rhor1i, rhor2i, rhor3i; + double rhor0j, rhor1j, rhor2j, rhor3j; } fast_alpha_t; typedef struct { - double rhor4i,rhor5i,rhor6i; - double rhor4j,rhor5j,rhor6j; - double z2r0,z2r1,z2r2,z2r3,z2r4,z2r5,z2r6; + double rhor4i, rhor5i, rhor6i; + double rhor4j, rhor5j, rhor6j; + double z2r0, z2r1, z2r2, z2r3, z2r4, z2r5, z2r6; double _pad[3]; } fast_gamma_t; - int i,j,ii,jj,inum,jnum,itype,jtype; + int i, j, ii, jj, inum, jnum, itype, jtype; double evdwl = 0.0; - double* _noalias coeff; + double *_noalias coeff; // grow energy array if necessary @@ -86,94 +93,97 @@ void PairEAMOpt::eval() memory->destroy(fp); memory->destroy(numforce); nmax = atom->nmax; - memory->create(rho,nmax,"pair:rho"); - memory->create(fp,nmax,"pair:fp"); - memory->create(numforce,nmax,"pair:numforce"); + memory->create(rho, nmax, "pair:rho"); + memory->create(fp, nmax, "pair:fp"); + memory->create(numforce, nmax, "pair:numforce"); } - double** _noalias x = atom->x; - double** _noalias f = atom->f; - int* _noalias type = atom->type; + double **_noalias x = atom->x; + double **_noalias f = atom->f; + int *_noalias type = atom->type; int nlocal = atom->nlocal; - auto * _noalias xx = (vec3_t*)x[0]; - auto * _noalias ff = (vec3_t*)f[0]; + auto *_noalias xx = (vec3_t *) x[0]; + auto *_noalias ff = (vec3_t *) f[0]; double tmp_cutforcesq = cutforcesq; double tmp_rdr = rdr; - int nr2 = nr-2; - int nr1 = nr-1; + int nr2 = nr - 2; + int nr1 = nr - 1; inum = list->inum; - int* _noalias ilist = list->ilist; - int** _noalias firstneigh = list->firstneigh; - int* _noalias numneigh = list->numneigh; + int *_noalias ilist = list->ilist; + int **_noalias firstneigh = list->firstneigh; + int *_noalias numneigh = list->numneigh; int ntypes = atom->ntypes; - int ntypes2 = ntypes*ntypes; + int ntypes2 = ntypes * ntypes; - auto * _noalias fast_alpha = - (fast_alpha_t*) malloc((size_t)ntypes2*(nr+1)*sizeof(fast_alpha_t)); - for (i = 0; i < ntypes; i++) for (j = 0; j < ntypes; j++) { - auto * _noalias tab = &fast_alpha[i*ntypes*nr+j*nr]; - if (type2rhor[i+1][j+1] >= 0) { - for (int m = 1; m <= nr; m++) { - tab[m].rhor0i = rhor_spline[type2rhor[i+1][j+1]][m][6]; - tab[m].rhor1i = rhor_spline[type2rhor[i+1][j+1]][m][5]; - tab[m].rhor2i = rhor_spline[type2rhor[i+1][j+1]][m][4]; - tab[m].rhor3i = rhor_spline[type2rhor[i+1][j+1]][m][3]; + auto *_noalias fast_alpha = + (fast_alpha_t *) malloc((size_t) ntypes2 * (nr + 1) * sizeof(fast_alpha_t)); + for (i = 0; i < ntypes; i++) + for (j = 0; j < ntypes; j++) { + auto *_noalias tab = &fast_alpha[i * ntypes * nr + j * nr]; + if (type2rhor[i + 1][j + 1] >= 0) { + for (int m = 1; m <= nr; m++) { + tab[m].rhor0i = rhor_spline[type2rhor[i + 1][j + 1]][m][6]; + tab[m].rhor1i = rhor_spline[type2rhor[i + 1][j + 1]][m][5]; + tab[m].rhor2i = rhor_spline[type2rhor[i + 1][j + 1]][m][4]; + tab[m].rhor3i = rhor_spline[type2rhor[i + 1][j + 1]][m][3]; + } + } + if (type2rhor[j + 1][i + 1] >= 0) { + for (int m = 1; m <= nr; m++) { + tab[m].rhor0j = rhor_spline[type2rhor[j + 1][i + 1]][m][6]; + tab[m].rhor1j = rhor_spline[type2rhor[j + 1][i + 1]][m][5]; + tab[m].rhor2j = rhor_spline[type2rhor[j + 1][i + 1]][m][4]; + tab[m].rhor3j = rhor_spline[type2rhor[j + 1][i + 1]][m][3]; + } } } - if (type2rhor[j+1][i+1] >= 0) { - for (int m = 1; m <= nr; m++) { - tab[m].rhor0j = rhor_spline[type2rhor[j+1][i+1]][m][6]; - tab[m].rhor1j = rhor_spline[type2rhor[j+1][i+1]][m][5]; - tab[m].rhor2j = rhor_spline[type2rhor[j+1][i+1]][m][4]; - tab[m].rhor3j = rhor_spline[type2rhor[j+1][i+1]][m][3]; - } - } - } - auto * _noalias tabeight = fast_alpha; + auto *_noalias tabeight = fast_alpha; - auto * _noalias fast_gamma = - (fast_gamma_t*) malloc((size_t)ntypes2*(nr+1)*sizeof(fast_gamma_t)); - for (i = 0; i < ntypes; i++) for (j = 0; j < ntypes; j++) { - auto * _noalias tab = &fast_gamma[i*ntypes*nr+j*nr]; - if (type2rhor[i+1][j+1] >= 0) { - for (int m = 1; m <= nr; m++) { - tab[m].rhor4i = rhor_spline[type2rhor[i+1][j+1]][m][2]; - tab[m].rhor5i = rhor_spline[type2rhor[i+1][j+1]][m][1]; - tab[m].rhor6i = rhor_spline[type2rhor[i+1][j+1]][m][0]; + auto *_noalias fast_gamma = + (fast_gamma_t *) malloc((size_t) ntypes2 * (nr + 1) * sizeof(fast_gamma_t)); + for (i = 0; i < ntypes; i++) + for (j = 0; j < ntypes; j++) { + auto *_noalias tab = &fast_gamma[i * ntypes * nr + j * nr]; + if (type2rhor[i + 1][j + 1] >= 0) { + for (int m = 1; m <= nr; m++) { + tab[m].rhor4i = rhor_spline[type2rhor[i + 1][j + 1]][m][2]; + tab[m].rhor5i = rhor_spline[type2rhor[i + 1][j + 1]][m][1]; + tab[m].rhor6i = rhor_spline[type2rhor[i + 1][j + 1]][m][0]; + } + } + if (type2rhor[j + 1][i + 1] >= 0) { + for (int m = 1; m <= nr; m++) { + tab[m].rhor4j = rhor_spline[type2rhor[j + 1][i + 1]][m][2]; + tab[m].rhor5j = rhor_spline[type2rhor[j + 1][i + 1]][m][1]; + tab[m].rhor6j = rhor_spline[type2rhor[j + 1][i + 1]][m][0]; + tab[m].z2r6 = z2r_spline[type2z2r[i + 1][j + 1]][m][0]; + } + } + if (type2z2r[i + 1][j + 1] >= 0) { + for (int m = 1; m <= nr; m++) { + tab[m].z2r0 = z2r_spline[type2z2r[i + 1][j + 1]][m][6]; + tab[m].z2r1 = z2r_spline[type2z2r[i + 1][j + 1]][m][5]; + tab[m].z2r2 = z2r_spline[type2z2r[i + 1][j + 1]][m][4]; + tab[m].z2r3 = z2r_spline[type2z2r[i + 1][j + 1]][m][3]; + tab[m].z2r4 = z2r_spline[type2z2r[i + 1][j + 1]][m][2]; + tab[m].z2r5 = z2r_spline[type2z2r[i + 1][j + 1]][m][1]; + tab[m].z2r6 = z2r_spline[type2z2r[i + 1][j + 1]][m][0]; + } } } - if (type2rhor[j+1][i+1] >= 0) { - for (int m = 1; m <= nr; m++) { - tab[m].rhor4j = rhor_spline[type2rhor[j+1][i+1]][m][2]; - tab[m].rhor5j = rhor_spline[type2rhor[j+1][i+1]][m][1]; - tab[m].rhor6j = rhor_spline[type2rhor[j+1][i+1]][m][0]; - tab[m].z2r6 = z2r_spline[type2z2r[i+1][j+1]][m][0]; - } - } - if (type2z2r[i+1][j+1] >= 0) { - for (int m = 1; m <= nr; m++) { - tab[m].z2r0 = z2r_spline[type2z2r[i+1][j+1]][m][6]; - tab[m].z2r1 = z2r_spline[type2z2r[i+1][j+1]][m][5]; - tab[m].z2r2 = z2r_spline[type2z2r[i+1][j+1]][m][4]; - tab[m].z2r3 = z2r_spline[type2z2r[i+1][j+1]][m][3]; - tab[m].z2r4 = z2r_spline[type2z2r[i+1][j+1]][m][2]; - tab[m].z2r5 = z2r_spline[type2z2r[i+1][j+1]][m][1]; - tab[m].z2r6 = z2r_spline[type2z2r[i+1][j+1]][m][0]; - } - } - } - auto * _noalias tabss = fast_gamma; + auto *_noalias tabss = fast_gamma; // zero out density if (NEWTON_PAIR) { int m = nlocal + atom->nghost; for (i = 0; i < m; i++) rho[i] = 0.0; - } else for (i = 0; i < nlocal; i++) rho[i] = 0.0; + } else + for (i = 0; i < nlocal; i++) rho[i] = 0.0; // rho = density at each atom // loop over neighbors of my atoms @@ -184,11 +194,11 @@ void PairEAMOpt::eval() double ytmp = xx[i].y; double ztmp = xx[i].z; itype = type[i] - 1; - int* _noalias jlist = firstneigh[i]; + int *_noalias jlist = firstneigh[i]; jnum = numneigh[i]; double tmprho = rho[i]; - auto * _noalias tabeighti = &tabeight[itype*ntypes*nr]; + auto *_noalias tabeighti = &tabeight[itype * ntypes * nr]; for (jj = 0; jj < jnum; jj++) { j = jlist[jj]; @@ -197,26 +207,24 @@ void PairEAMOpt::eval() double delx = xtmp - xx[j].x; double dely = ytmp - xx[j].y; double delz = ztmp - xx[j].z; - double rsq = delx*delx + dely*dely + delz*delz; + double rsq = delx * delx + dely * dely + delz * delz; if (rsq < tmp_cutforcesq) { jtype = type[j] - 1; - double p = sqrt(rsq)*tmp_rdr; - if ((int)p <= nr2) { - int m = (int)p + 1; - p -= (double)((int)p); - fast_alpha_t& a = tabeighti[jtype*nr+m]; - tmprho += ((a.rhor3j*p+a.rhor2j)*p+a.rhor1j)*p+a.rhor0j; + double p = sqrt(rsq) * tmp_rdr; + if ((int) p <= nr2) { + int m = (int) p + 1; + p -= (double) ((int) p); + fast_alpha_t &a = tabeighti[jtype * nr + m]; + tmprho += ((a.rhor3j * p + a.rhor2j) * p + a.rhor1j) * p + a.rhor0j; if (NEWTON_PAIR || j < nlocal) { - rho[j] += ((a.rhor3i*p+a.rhor2i)*p+a.rhor1i)*p+a.rhor0i; + rho[j] += ((a.rhor3i * p + a.rhor2i) * p + a.rhor1i) * p + a.rhor0i; } } else { - fast_alpha_t& a = tabeighti[jtype*nr+nr1]; - tmprho += a.rhor3j+a.rhor2j+a.rhor1j+a.rhor0j; - if (NEWTON_PAIR || j < nlocal) { - rho[j] += a.rhor3i+a.rhor2i+a.rhor1i+a.rhor0i; - } + fast_alpha_t &a = tabeighti[jtype * nr + nr1]; + tmprho += a.rhor3j + a.rhor2j + a.rhor1j + a.rhor0j; + if (NEWTON_PAIR || j < nlocal) { rho[j] += a.rhor3i + a.rhor2i + a.rhor1i + a.rhor0i; } } } } @@ -234,16 +242,16 @@ void PairEAMOpt::eval() for (ii = 0; ii < inum; ii++) { i = ilist[ii]; - double p = rho[i]*rdrho + 1.0; - int m = static_cast (p); - m = MAX(1,MIN(m,nrho-1)); + double p = rho[i] * rdrho + 1.0; + int m = static_cast(p); + m = MAX(1, MIN(m, nrho - 1)); p -= m; - p = MIN(p,1.0); + p = MIN(p, 1.0); coeff = frho_spline[type2frho[type[i]]][m]; - fp[i] = (coeff[0]*p + coeff[1])*p + coeff[2]; + fp[i] = (coeff[0] * p + coeff[1]) * p + coeff[2]; if (EFLAG) { - double phi = ((coeff[3]*p + coeff[4])*p + coeff[5])*p + coeff[6]; - if (rho[i] > rhomax) phi += fp[i] * (rho[i]-rhomax); + double phi = ((coeff[3] * p + coeff[4]) * p + coeff[5]) * p + coeff[6]; + if (rho[i] > rhomax) phi += fp[i] * (rho[i] - rhomax); phi *= scale[type[i]][type[i]]; if (eflag_global) eng_vdwl += phi; if (eflag_atom) eatom[i] += phi; @@ -264,15 +272,15 @@ void PairEAMOpt::eval() double ytmp = xx[i].y; double ztmp = xx[i].z; int itype1 = type[i] - 1; - int* _noalias jlist = firstneigh[i]; + int *_noalias jlist = firstneigh[i]; jnum = numneigh[i]; double tmpfx = 0.0; double tmpfy = 0.0; double tmpfz = 0.0; - auto * _noalias tabssi = &tabss[itype1*ntypes*nr]; - double* _noalias scale_i = scale[itype1+1]+1; + auto *_noalias tabssi = &tabss[itype1 * ntypes * nr]; + double *_noalias scale_i = scale[itype1 + 1] + 1; numforce[i] = 0; for (jj = 0; jj < jnum; jj++) { @@ -282,29 +290,29 @@ void PairEAMOpt::eval() double delx = xtmp - xx[j].x; double dely = ytmp - xx[j].y; double delz = ztmp - xx[j].z; - double rsq = delx*delx + dely*dely + delz*delz; + double rsq = delx * delx + dely * dely + delz * delz; if (rsq < tmp_cutforcesq) { ++numforce[i]; jtype = type[j] - 1; double r = sqrt(rsq); - double rhoip,rhojp,z2,z2p; - double p = r*tmp_rdr; - if ((int)p <= nr2) { + double rhoip, rhojp, z2, z2p; + double p = r * tmp_rdr; + if ((int) p <= nr2) { int m = (int) p + 1; - m = MIN(m,nr-1); - p -= (double)((int) p); - p = MIN(p,1.0); + m = MIN(m, nr - 1); + p -= (double) ((int) p); + p = MIN(p, 1.0); - fast_gamma_t& a = tabssi[jtype*nr+m]; - rhoip = (a.rhor6i*p + a.rhor5i)*p + a.rhor4i; - rhojp = (a.rhor6j*p + a.rhor5j)*p + a.rhor4j; - z2 = ((a.z2r3*p + a.z2r2)*p + a.z2r1)*p + a.z2r0; - z2p = (a.z2r6*p + a.z2r5)*p + a.z2r4; + fast_gamma_t &a = tabssi[jtype * nr + m]; + rhoip = (a.rhor6i * p + a.rhor5i) * p + a.rhor4i; + rhojp = (a.rhor6j * p + a.rhor5j) * p + a.rhor4j; + z2 = ((a.z2r3 * p + a.z2r2) * p + a.z2r1) * p + a.z2r0; + z2p = (a.z2r6 * p + a.z2r5) * p + a.z2r4; } else { - fast_gamma_t& a = tabssi[jtype*nr+nr1]; + fast_gamma_t &a = tabssi[jtype * nr + nr1]; rhoip = a.rhor6i + a.rhor5i + a.rhor4i; rhojp = a.rhor6j + a.rhor5j + a.rhor4j; z2 = a.z2r3 + a.z2r2 + a.z2r1 + a.z2r0; @@ -322,25 +330,24 @@ void PairEAMOpt::eval() // hence embed' = Fi(sum rho_ij) rhojp + Fj(sum rho_ji) rhoip // scale factor can be applied by thermodynamic integration - double recip = 1.0/r; - double phi = z2*recip; - double phip = z2p*recip - phi*recip; - double psip = fp[i]*rhojp + fp[j]*rhoip + phip; - double fpair = -scale_i[jtype]*psip*recip; + double recip = 1.0 / r; + double phi = z2 * recip; + double phip = z2p * recip - phi * recip; + double psip = fp[i] * rhojp + fp[j] * rhoip + phip; + double fpair = -scale_i[jtype] * psip * recip; - tmpfx += delx*fpair; - tmpfy += dely*fpair; - tmpfz += delz*fpair; + tmpfx += delx * fpair; + tmpfy += dely * fpair; + tmpfz += delz * fpair; if (NEWTON_PAIR || j < nlocal) { - ff[j].x -= delx*fpair; - ff[j].y -= dely*fpair; - ff[j].z -= delz*fpair; + ff[j].x -= delx * fpair; + ff[j].y -= dely * fpair; + ff[j].z -= delz * fpair; } - if (EFLAG) evdwl = scale_i[jtype]*phi; + if (EFLAG) evdwl = scale_i[jtype] * phi; - if (EVFLAG) ev_tally(i,j,nlocal,NEWTON_PAIR, - evdwl,0.0,fpair,delx,dely,delz); + if (EVFLAG) ev_tally(i, j, nlocal, NEWTON_PAIR, evdwl, 0.0, fpair, delx, dely, delz); } } @@ -349,8 +356,10 @@ void PairEAMOpt::eval() ff[i].z += tmpfz; } - free(fast_alpha); fast_alpha = nullptr; - free(fast_gamma); fast_gamma = nullptr; + free(fast_alpha); + fast_alpha = nullptr; + free(fast_gamma); + fast_gamma = nullptr; if (vflag_fdotr) virial_fdotr_compute(); } diff --git a/src/pair.cpp b/src/pair.cpp index 5d789fbb9b..0a6849c8dc 100644 --- a/src/pair.cpp +++ b/src/pair.cpp @@ -821,7 +821,7 @@ void Pair::map_element2type(int narg, char **arg, bool update_setflag) // elements = list of element names if (narg != ntypes) - error->all(FLERR,"Number of element to type mappings does not match number of atom types"); + error->all(FLERR, "Number of element to type mappings does not match number of atom types"); if (elements) { for (i = 0; i < nelements; i++) delete[] elements[i]; From 8cd34af4f093d522a0c8387e47abad4547226a09 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 25 Mar 2023 09:59:25 -0400 Subject: [PATCH 410/448] enable and apply clang-format to a whole bunch of small .cpp files in src/ --- src/citeme.cpp | 42 +++++++--------- src/compute_erotate_sphere_atom.cpp | 1 - src/compute_gyration.cpp | 45 +++++++++-------- src/compute_ke_atom.cpp | 35 +++++++------- src/compute_pair.cpp | 67 ++++++++++++++------------ src/compute_temp.cpp | 52 ++++++++++---------- src/compute_vacf.cpp | 30 ++++++------ src/dihedral_zero.cpp | 32 ++++++------ src/dump_movie.cpp | 35 ++++++-------- src/fix_lineforce.cpp | 22 ++++----- src/fix_planeforce.cpp | 22 ++++----- src/fix_read_restart.cpp | 32 ++++++------ src/fix_store_force.cpp | 30 ++++++------ src/fix_viscous.cpp | 43 ++++++++--------- src/fix_wall_lj1043.cpp | 59 ++++++++++++----------- src/fix_wall_lj126.cpp | 48 +++++++++--------- src/fix_wall_lj93.cpp | 55 +++++++++++---------- src/improper_zero.cpp | 33 ++++++------- src/math_eigen.cpp | 35 ++++++-------- src/memory.cpp | 6 +-- src/min_sd.cpp | 28 ++++++----- src/npair_full_bin.cpp | 53 +++++++++++--------- src/npair_full_nsq.cpp | 52 +++++++++++--------- src/npair_half_bin_atomonly_newton.cpp | 21 ++++---- src/npair_half_bin_newtoff.cpp | 49 ++++++++++--------- src/npair_half_nsq_newtoff.cpp | 49 ++++++++++--------- src/npair_half_size_nsq_newtoff.cpp | 51 ++++++++++---------- src/npair_halffull_newton.cpp | 11 ++--- src/npair_halffull_newton_trim.cpp | 13 ++--- src/npair_skip.cpp | 14 +++--- src/npair_skip_size_off2on.cpp | 11 ++--- src/nstencil_full_multi_3d.cpp | 7 +-- src/nstencil_half_multi_2d.cpp | 25 ++++------ src/nstencil_half_multi_2d_tri.cpp | 18 +++---- src/nstencil_half_multi_3d.cpp | 25 ++++------ src/nstencil_half_multi_3d_tri.cpp | 21 +++----- src/random_park.cpp | 33 ++++++------- src/region_plane.cpp | 44 ++++++++--------- 38 files changed, 604 insertions(+), 645 deletions(-) diff --git a/src/citeme.cpp b/src/citeme.cpp index 894fce84fd..56ba7fa3a4 100644 --- a/src/citeme.cpp +++ b/src/citeme.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -16,26 +15,24 @@ #include "comm.h" #include "universe.h" -#include // IWYU pragma: keep +#include // IWYU pragma: keep using namespace LAMMPS_NS; static const char cite_separator[] = - "CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE\n\n"; + "CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE\n\n"; static const char cite_nagline[] = - "Your simulation uses code contributions which should be cited:\n"; + "Your simulation uses code contributions which should be cited:\n"; -static const char cite_file[] = "The {} {} lists these citations in " - "BibTeX format.\n\n"; +static const char cite_file[] = "The {} {} lists these citations in BibTeX format.\n\n"; // define hash function static std::hash get_hash; /* ---------------------------------------------------------------------- */ -CiteMe::CiteMe(LAMMPS *lmp, int _screen, int _logfile, const char *_file) - : Pointers(lmp) +CiteMe::CiteMe(LAMMPS *lmp, int _screen, int _logfile, const char *_file) : Pointers(lmp) { fp = nullptr; cs = new citeset(); @@ -47,13 +44,13 @@ CiteMe::CiteMe(LAMMPS *lmp, int _screen, int _logfile, const char *_file) if (_file && universe->me == 0) { citefile = _file; - fp = fopen(_file,"w"); + fp = fopen(_file, "w"); if (fp) { - fputs(cite_nagline,fp); + fputs(cite_nagline, fp); fflush(fp); } else { - utils::logmesg(lmp, "Unable to open citation file '" + citefile - + "': " + utils::getsyserror() + "\n"); + utils::logmesg( + lmp, "Unable to open citation file '" + citefile + "': " + utils::getsyserror() + "\n"); } } } @@ -83,7 +80,7 @@ void CiteMe::add(const std::string &reference) cs->insert(crc); if (fp) { - fputs(reference.c_str(),fp); + fputs(reference.c_str(), fp); fflush(fp); } @@ -102,7 +99,7 @@ void CiteMe::add(const std::string &reference) } std::size_t found = reference.find_first_of('\n'); - std::string header = reference.substr(0,found+1); + std::string header = reference.substr(0, found + 1); if (screen_flag == VERBOSE) scrbuffer += "- " + reference; if (screen_flag == TERSE) scrbuffer += "- " + header; if (logfile_flag == VERBOSE) logbuffer += "- " + reference; @@ -113,23 +110,18 @@ void CiteMe::flush() { if (comm->me == 0) { if (!scrbuffer.empty()) { - if (!citefile.empty()) - scrbuffer += fmt::format(cite_file,"file",citefile); - if (logfile_flag == VERBOSE) - scrbuffer += fmt::format(cite_file,"log","file"); + if (!citefile.empty()) scrbuffer += fmt::format(cite_file, "file", citefile); + if (logfile_flag == VERBOSE) scrbuffer += fmt::format(cite_file, "log", "file"); scrbuffer += cite_separator; - if (screen) fputs(scrbuffer.c_str(),screen); + if (screen) fputs(scrbuffer.c_str(), screen); scrbuffer.clear(); } if (!logbuffer.empty()) { - if (!citefile.empty()) - logbuffer += fmt::format(cite_file,"file",citefile); - if (screen_flag == VERBOSE) - logbuffer += fmt::format(cite_file,"screen","output"); + if (!citefile.empty()) logbuffer += fmt::format(cite_file, "file", citefile); + if (screen_flag == VERBOSE) logbuffer += fmt::format(cite_file, "screen", "output"); logbuffer += cite_separator; - if (logfile) fputs(logbuffer.c_str(),logfile); + if (logfile) fputs(logbuffer.c_str(), logfile); logbuffer.clear(); } } } - diff --git a/src/compute_erotate_sphere_atom.cpp b/src/compute_erotate_sphere_atom.cpp index fc9016c06a..9bfa0afaea 100644 --- a/src/compute_erotate_sphere_atom.cpp +++ b/src/compute_erotate_sphere_atom.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories diff --git a/src/compute_gyration.cpp b/src/compute_gyration.cpp index 74220fb9f6..b8177d5cc0 100644 --- a/src/compute_gyration.cpp +++ b/src/compute_gyration.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -14,20 +13,19 @@ #include "compute_gyration.h" -#include "update.h" #include "atom.h" -#include "group.h" #include "domain.h" #include "error.h" +#include "group.h" +#include "update.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -ComputeGyration::ComputeGyration(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg) +ComputeGyration::ComputeGyration(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg) { - if (narg != 3) error->all(FLERR,"Illegal compute gyration command"); + if (narg != 3) error->all(FLERR, "Illegal compute gyration command"); scalar_flag = vector_flag = 1; size_vector = 6; @@ -41,7 +39,7 @@ ComputeGyration::ComputeGyration(LAMMPS *lmp, int narg, char **arg) : ComputeGyration::~ComputeGyration() { - delete [] vector; + delete[] vector; } /* ---------------------------------------------------------------------- */ @@ -59,8 +57,8 @@ double ComputeGyration::compute_scalar() double xcm[3]; if (group->dynamic[igroup]) masstotal = group->mass(igroup); - group->xcm(igroup,masstotal,xcm); - scalar = group->gyration(igroup,masstotal,xcm); + group->xcm(igroup, masstotal, xcm); + scalar = group->gyration(igroup, masstotal, xcm); return scalar; } @@ -75,7 +73,7 @@ void ComputeGyration::compute_vector() invoked_vector = update->ntimestep; double xcm[3]; - group->xcm(igroup,masstotal,xcm); + group->xcm(igroup, masstotal, xcm); double **x = atom->x; int *mask = atom->mask; @@ -85,7 +83,7 @@ void ComputeGyration::compute_vector() double *rmass = atom->rmass; int nlocal = atom->nlocal; - double dx,dy,dz,massone; + double dx, dy, dz, massone; double unwrap[3]; double rg[6]; @@ -93,24 +91,25 @@ void ComputeGyration::compute_vector() for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - if (rmass) massone = rmass[i]; - else massone = mass[type[i]]; + if (rmass) + massone = rmass[i]; + else + massone = mass[type[i]]; - domain->unmap(x[i],image[i],unwrap); + domain->unmap(x[i], image[i], unwrap); dx = unwrap[0] - xcm[0]; dy = unwrap[1] - xcm[1]; dz = unwrap[2] - xcm[2]; - rg[0] += dx*dx * massone; - rg[1] += dy*dy * massone; - rg[2] += dz*dz * massone; - rg[3] += dx*dy * massone; - rg[4] += dx*dz * massone; - rg[5] += dy*dz * massone; + rg[0] += dx * dx * massone; + rg[1] += dy * dy * massone; + rg[2] += dz * dz * massone; + rg[3] += dx * dy * massone; + rg[4] += dx * dz * massone; + rg[5] += dy * dz * massone; } - MPI_Allreduce(rg,vector,6,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(rg, vector, 6, MPI_DOUBLE, MPI_SUM, world); if (masstotal > 0.0) - for (int i = 0; i < 6; i++) - vector[i] /= masstotal; + for (int i = 0; i < 6; i++) vector[i] /= masstotal; } diff --git a/src/compute_ke_atom.cpp b/src/compute_ke_atom.cpp index 2db93f81fe..aab687755e 100644 --- a/src/compute_ke_atom.cpp +++ b/src/compute_ke_atom.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -13,24 +12,23 @@ ------------------------------------------------------------------------- */ #include "compute_ke_atom.h" -#include #include "atom.h" -#include "update.h" -#include "modify.h" #include "comm.h" +#include "error.h" #include "force.h" #include "memory.h" -#include "error.h" +#include "modify.h" +#include "update.h" +#include using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ ComputeKEAtom::ComputeKEAtom(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), - ke(nullptr) + Compute(lmp, narg, arg), ke(nullptr) { - if (narg != 3) error->all(FLERR,"Illegal compute ke/atom command"); + if (narg != 3) error->all(FLERR, "Illegal compute ke/atom command"); peratom_flag = 1; size_peratom_cols = 0; @@ -51,9 +49,8 @@ void ComputeKEAtom::init() { int count = 0; for (int i = 0; i < modify->ncompute; i++) - if (strcmp(modify->compute[i]->style,"ke/atom") == 0) count++; - if (count > 1 && comm->me == 0) - error->warning(FLERR,"More than one compute ke/atom"); + if (strcmp(modify->compute[i]->style, "ke/atom") == 0) count++; + if (count > 1 && comm->me == 0) error->warning(FLERR, "More than one compute ke/atom"); } /* ---------------------------------------------------------------------- */ @@ -67,7 +64,7 @@ void ComputeKEAtom::compute_peratom() if (atom->nmax > nmax) { memory->destroy(ke); nmax = atom->nmax; - memory->create(ke,nmax,"ke/atom:ke"); + memory->create(ke, nmax, "ke/atom:ke"); vector_atom = ke; } @@ -84,17 +81,19 @@ void ComputeKEAtom::compute_peratom() if (rmass) for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { - ke[i] = 0.5 * mvv2e * rmass[i] * - (v[i][0]*v[i][0] + v[i][1]*v[i][1] + v[i][2]*v[i][2]); - } else ke[i] = 0.0; + ke[i] = + 0.5 * mvv2e * rmass[i] * (v[i][0] * v[i][0] + v[i][1] * v[i][1] + v[i][2] * v[i][2]); + } else + ke[i] = 0.0; } else for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { ke[i] = 0.5 * mvv2e * mass[type[i]] * - (v[i][0]*v[i][0] + v[i][1]*v[i][1] + v[i][2]*v[i][2]); - } else ke[i] = 0.0; + (v[i][0] * v[i][0] + v[i][1] * v[i][1] + v[i][2] * v[i][2]); + } else + ke[i] = 0.0; } } @@ -104,6 +103,6 @@ void ComputeKEAtom::compute_peratom() double ComputeKEAtom::memory_usage() { - double bytes = (double)nmax * sizeof(double); + double bytes = (double) nmax * sizeof(double); return bytes; } diff --git a/src/compute_pair.cpp b/src/compute_pair.cpp index 7088787e6d..2788b632d2 100644 --- a/src/compute_pair.cpp +++ b/src/compute_pair.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -24,15 +23,14 @@ using namespace LAMMPS_NS; -enum{EPAIR,EVDWL,ECOUL}; +enum { EPAIR, EVDWL, ECOUL }; /* ---------------------------------------------------------------------- */ ComputePair::ComputePair(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), - pstyle(nullptr), pair(nullptr), one(nullptr) + Compute(lmp, narg, arg), pstyle(nullptr), pair(nullptr), one(nullptr) { - if (narg < 4) error->all(FLERR,"Illegal compute pair command"); + if (narg < 4) error->all(FLERR, "Illegal compute pair command"); scalar_flag = 1; extscalar = 1; @@ -41,8 +39,9 @@ ComputePair::ComputePair(LAMMPS *lmp, int narg, char **arg) : // copy with suffix so we can later chop it off, if needed if (lmp->suffix) - pstyle = utils::strdup(fmt::format("{}/{}",arg[3],lmp->suffix)); - else pstyle = utils::strdup(arg[3]); + pstyle = utils::strdup(fmt::format("{}/{}", arg[3], lmp->suffix)); + else + pstyle = utils::strdup(arg[3]); int iarg = 4; nsub = 0; @@ -50,31 +49,33 @@ ComputePair::ComputePair(LAMMPS *lmp, int narg, char **arg) : if (narg > iarg) { if (isdigit(arg[iarg][0])) { - nsub = utils::inumeric(FLERR,arg[iarg],false,lmp); + nsub = utils::inumeric(FLERR, arg[iarg], false, lmp); ++iarg; - if (nsub <= 0) - error->all(FLERR,"Illegal compute pair command"); + if (nsub <= 0) error->all(FLERR, "Illegal compute pair command"); } } - if (narg > iarg) { - if (strcmp(arg[iarg],"epair") == 0) evalue = EPAIR; - else if (strcmp(arg[iarg],"evdwl") == 0) evalue = EVDWL; - else if (strcmp(arg[iarg],"ecoul") == 0) evalue = ECOUL; - else error->all(FLERR, "Illegal compute pair command"); + if (narg > iarg) { + if (strcmp(arg[iarg], "epair") == 0) + evalue = EPAIR; + else if (strcmp(arg[iarg], "evdwl") == 0) + evalue = EVDWL; + else if (strcmp(arg[iarg], "ecoul") == 0) + evalue = ECOUL; + else + error->all(FLERR, "Illegal compute pair command"); ++iarg; } // check if pair style with and without suffix exists - pair = force->pair_match(pstyle,1,nsub); + pair = force->pair_match(pstyle, 1, nsub); if (!pair && lmp->suffix) { pstyle[strlen(pstyle) - strlen(lmp->suffix) - 1] = '\0'; - pair = force->pair_match(pstyle,1,nsub); + pair = force->pair_match(pstyle, 1, nsub); } - if (!pair) - error->all(FLERR,"Unrecognized pair style in compute pair command"); + if (!pair) error->all(FLERR, "Unrecognized pair style in compute pair command"); npair = pair->nextra; if (npair) { @@ -83,7 +84,8 @@ ComputePair::ComputePair(LAMMPS *lmp, int narg, char **arg) : extvector = 1; one = new double[npair]; vector = new double[npair]; - } else one = vector = nullptr; + } else + one = vector = nullptr; } /* ---------------------------------------------------------------------- */ @@ -101,9 +103,8 @@ void ComputePair::init() { // recheck for pair style in case it has been deleted - pair = force->pair_match(pstyle,1,nsub); - if (!pair) - error->all(FLERR,"Unrecognized pair style in compute pair command"); + pair = force->pair_match(pstyle, 1, nsub); + if (!pair) error->all(FLERR, "Unrecognized pair style in compute pair command"); } /* ---------------------------------------------------------------------- */ @@ -112,14 +113,17 @@ double ComputePair::compute_scalar() { invoked_scalar = update->ntimestep; if (update->eflag_global != invoked_scalar) - error->all(FLERR,"Energy was not tallied on needed timestep"); + error->all(FLERR, "Energy was not tallied on needed timestep"); double eng; - if (evalue == EPAIR) eng = pair->eng_vdwl + pair->eng_coul; - else if (evalue == EVDWL) eng = pair->eng_vdwl; - else if (evalue == ECOUL) eng = pair->eng_coul; + if (evalue == EPAIR) + eng = pair->eng_vdwl + pair->eng_coul; + else if (evalue == EVDWL) + eng = pair->eng_vdwl; + else if (evalue == ECOUL) + eng = pair->eng_coul; - MPI_Allreduce(&eng,&scalar,1,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&eng, &scalar, 1, MPI_DOUBLE, MPI_SUM, world); return scalar; } @@ -129,9 +133,8 @@ void ComputePair::compute_vector() { invoked_vector = update->ntimestep; if (update->eflag_global != invoked_vector) - error->all(FLERR,"Energy was not tallied on needed timestep"); + error->all(FLERR, "Energy was not tallied on needed timestep"); - for (int i = 0; i < npair; i++) - one[i] = pair->pvector[i]; - MPI_Allreduce(one,vector,npair,MPI_DOUBLE,MPI_SUM,world); + for (int i = 0; i < npair; i++) one[i] = pair->pvector[i]; + MPI_Allreduce(one, vector, npair, MPI_DOUBLE, MPI_SUM, world); } diff --git a/src/compute_temp.cpp b/src/compute_temp.cpp index 2aa8782002..37300f648d 100644 --- a/src/compute_temp.cpp +++ b/src/compute_temp.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -15,20 +14,19 @@ #include "compute_temp.h" #include "atom.h" -#include "update.h" -#include "force.h" #include "domain.h" -#include "group.h" #include "error.h" +#include "force.h" +#include "group.h" +#include "update.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -ComputeTemp::ComputeTemp(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg) +ComputeTemp::ComputeTemp(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg) { - if (narg != 3) error->all(FLERR,"Illegal compute temp command"); + if (narg != 3) error->all(FLERR, "Illegal compute temp command"); scalar_flag = vector_flag = 1; size_vector = 6; @@ -43,8 +41,7 @@ ComputeTemp::ComputeTemp(LAMMPS *lmp, int narg, char **arg) : ComputeTemp::~ComputeTemp() { - if (!copymode) - delete [] vector; + if (!copymode) delete[] vector; } /* ---------------------------------------------------------------------- */ @@ -64,8 +61,10 @@ void ComputeTemp::dof_compute() natoms_temp = group->count(igroup); dof = domain->dimension * natoms_temp; dof -= extra_dof + fix_dof; - if (dof > 0.0) tfactor = force->mvv2e / (dof * force->boltz); - else tfactor = 0.0; + if (dof > 0.0) + tfactor = force->mvv2e / (dof * force->boltz); + else + tfactor = 0.0; } /* ---------------------------------------------------------------------- */ @@ -86,18 +85,17 @@ double ComputeTemp::compute_scalar() if (rmass) { for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) - t += (v[i][0]*v[i][0] + v[i][1]*v[i][1] + v[i][2]*v[i][2]) * rmass[i]; + t += (v[i][0] * v[i][0] + v[i][1] * v[i][1] + v[i][2] * v[i][2]) * rmass[i]; } else { for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) - t += (v[i][0]*v[i][0] + v[i][1]*v[i][1] + v[i][2]*v[i][2]) * - mass[type[i]]; + t += (v[i][0] * v[i][0] + v[i][1] * v[i][1] + v[i][2] * v[i][2]) * mass[type[i]]; } - MPI_Allreduce(&t,&scalar,1,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&t, &scalar, 1, MPI_DOUBLE, MPI_SUM, world); if (dynamic) dof_compute(); if (dof < 0.0 && natoms_temp > 0.0) - error->all(FLERR,"Temperature compute degrees of freedom < 0"); + error->all(FLERR, "Temperature compute degrees of freedom < 0"); scalar *= tfactor; return scalar; } @@ -117,21 +115,23 @@ void ComputeTemp::compute_vector() int *mask = atom->mask; int nlocal = atom->nlocal; - double massone,t[6]; + double massone, t[6]; for (i = 0; i < 6; i++) t[i] = 0.0; for (i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - if (rmass) massone = rmass[i]; - else massone = mass[type[i]]; - t[0] += massone * v[i][0]*v[i][0]; - t[1] += massone * v[i][1]*v[i][1]; - t[2] += massone * v[i][2]*v[i][2]; - t[3] += massone * v[i][0]*v[i][1]; - t[4] += massone * v[i][0]*v[i][2]; - t[5] += massone * v[i][1]*v[i][2]; + if (rmass) + massone = rmass[i]; + else + massone = mass[type[i]]; + t[0] += massone * v[i][0] * v[i][0]; + t[1] += massone * v[i][1] * v[i][1]; + t[2] += massone * v[i][2] * v[i][2]; + t[3] += massone * v[i][0] * v[i][1]; + t[4] += massone * v[i][0] * v[i][2]; + t[5] += massone * v[i][1] * v[i][2]; } - MPI_Allreduce(t,vector,6,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(t, vector, 6, MPI_DOUBLE, MPI_SUM, world); for (i = 0; i < 6; i++) vector[i] *= force->mvv2e; } diff --git a/src/compute_vacf.cpp b/src/compute_vacf.cpp index acf1405092..813a28dff6 100644 --- a/src/compute_vacf.cpp +++ b/src/compute_vacf.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -15,20 +14,20 @@ #include "compute_vacf.h" #include "atom.h" -#include "update.h" +#include "error.h" +#include "fix_store_atom.h" #include "group.h" #include "modify.h" -#include "fix_store_atom.h" -#include "error.h" +#include "update.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ ComputeVACF::ComputeVACF(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), id_fix(nullptr) + Compute(lmp, narg, arg), id_fix(nullptr) { - if (narg < 3) error->all(FLERR,"Illegal compute vacf command"); + if (narg < 3) error->all(FLERR, "Illegal compute vacf command"); vector_flag = 1; size_vector = 4; @@ -40,12 +39,13 @@ ComputeVACF::ComputeVACF(LAMMPS *lmp, int narg, char **arg) : id_fix = utils::strdup(id + std::string("_COMPUTE_STORE")); fix = dynamic_cast( - modify->add_fix(fmt::format("{} {} STORE/ATOM 3 0 0 1", id_fix, group->names[igroup]))); + modify->add_fix(fmt::format("{} {} STORE/ATOM 3 0 0 1", id_fix, group->names[igroup]))); // store current velocities in fix store array // skip if reset from restart file - if (fix->restart_reset) fix->restart_reset = 0; + if (fix->restart_reset) + fix->restart_reset = 0; else { double **voriginal = fix->astore; @@ -58,7 +58,8 @@ ComputeVACF::ComputeVACF(LAMMPS *lmp, int narg, char **arg) : voriginal[i][0] = v[i][0]; voriginal[i][1] = v[i][1]; voriginal[i][2] = v[i][2]; - } else voriginal[i][0] = voriginal[i][1] = voriginal[i][2] = 0.0; + } else + voriginal[i][0] = voriginal[i][1] = voriginal[i][2] = 0.0; } // displacement vector @@ -74,8 +75,8 @@ ComputeVACF::~ComputeVACF() if (modify->nfix) modify->delete_fix(id_fix); - delete [] id_fix; - delete [] vector; + delete[] id_fix; + delete[] vector; } /* ---------------------------------------------------------------------- */ @@ -85,7 +86,7 @@ void ComputeVACF::init() // set fix which stores original atom velocities fix = dynamic_cast(modify->get_fix_by_id(id_fix)); - if (!fix) error->all(FLERR,"Could not find compute vacf fix ID {}", id_fix); + if (!fix) error->all(FLERR, "Could not find compute vacf fix ID {}", id_fix); // nvacf = # of atoms in group @@ -104,7 +105,7 @@ void ComputeVACF::compute_vector() int *mask = atom->mask; int nlocal = atom->nlocal; - double vxsq,vysq,vzsq; + double vxsq, vysq, vzsq; double vacf[4]; vacf[0] = vacf[1] = vacf[2] = vacf[3] = 0.0; @@ -119,7 +120,7 @@ void ComputeVACF::compute_vector() vacf[3] += vxsq + vysq + vzsq; } - MPI_Allreduce(vacf,vector,4,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(vacf, vector, 4, MPI_DOUBLE, MPI_SUM, world); if (nvacf) { vector[0] /= nvacf; vector[1] /= nvacf; @@ -140,4 +141,3 @@ void ComputeVACF::set_arrays(int i) voriginal[i][1] = v[i][1]; voriginal[i][2] = v[i][2]; } - diff --git a/src/dihedral_zero.cpp b/src/dihedral_zero.cpp index d6d8349b0e..a4f7524e02 100644 --- a/src/dihedral_zero.cpp +++ b/src/dihedral_zero.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -37,28 +36,27 @@ DihedralZero::DihedralZero(LAMMPS *lmp) : Dihedral(lmp), coeffflag(1) DihedralZero::~DihedralZero() { - if (allocated && !copymode) { - memory->destroy(setflag); - } + if (allocated && !copymode) memory->destroy(setflag); } /* ---------------------------------------------------------------------- */ void DihedralZero::compute(int eflag, int vflag) { - ev_init(eflag,vflag); + ev_init(eflag, vflag); } /* ---------------------------------------------------------------------- */ void DihedralZero::settings(int narg, char **arg) { - if ((narg != 0) && (narg != 1)) - error->all(FLERR,"Illegal dihedral_style command"); + if ((narg != 0) && (narg != 1)) error->all(FLERR, "Illegal dihedral_style command"); if (narg == 1) { - if (strcmp("nocoeff",arg[0]) == 0) coeffflag=0; - else error->all(FLERR,"Illegal dihedral_style command"); + if (strcmp("nocoeff", arg[0]) == 0) + coeffflag = 0; + else + error->all(FLERR, "Illegal dihedral_style command"); } } @@ -69,7 +67,7 @@ void DihedralZero::allocate() allocated = 1; int n = atom->ndihedraltypes; - memory->create(setflag,n+1,"dihedral:setflag"); + memory->create(setflag, n + 1, "dihedral:setflag"); for (int i = 1; i <= n; i++) setflag[i] = 0; } @@ -80,12 +78,12 @@ void DihedralZero::allocate() void DihedralZero::coeff(int narg, char **arg) { if ((narg < 1) || (coeffflag && narg > 1)) - error->all(FLERR,"Incorrect args for dihedral coefficients"); + error->all(FLERR, "Incorrect args for dihedral coefficients"); if (!allocated) allocate(); - int ilo,ihi; - utils::bounds(FLERR,arg[0],1,atom->ndihedraltypes,ilo,ihi,error); + int ilo, ihi; + utils::bounds(FLERR, arg[0], 1, atom->ndihedraltypes, ilo, ihi, error); int count = 0; for (int i = ilo; i <= ihi; i++) { @@ -93,7 +91,7 @@ void DihedralZero::coeff(int narg, char **arg) count++; } - if (count == 0) error->all(FLERR,"Incorrect args for dihedral coefficients"); + if (count == 0) error->all(FLERR, "Incorrect args for dihedral coefficients"); } /* ---------------------------------------------------------------------- @@ -116,7 +114,7 @@ void DihedralZero::read_restart(FILE * /*fp*/) proc 0 writes to data file ------------------------------------------------------------------------- */ -void DihedralZero::write_data(FILE *fp) { - for (int i = 1; i <= atom->ndihedraltypes; i++) - fprintf(fp,"%d\n",i); +void DihedralZero::write_data(FILE *fp) +{ + for (int i = 1; i <= atom->ndihedraltypes; i++) fprintf(fp, "%d\n", i); } diff --git a/src/dump_movie.cpp b/src/dump_movie.cpp index e442823113..eff4455ef2 100644 --- a/src/dump_movie.cpp +++ b/src/dump_movie.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -27,11 +26,9 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -DumpMovie::DumpMovie(LAMMPS *lmp, int narg, char **arg) : - DumpImage(lmp, narg, arg) +DumpMovie::DumpMovie(LAMMPS *lmp, int narg, char **arg) : DumpImage(lmp, narg, arg) { - if (multiproc || compressed || multifile) - error->all(FLERR,"Invalid dump movie filename"); + if (multiproc || compressed || multifile) error->all(FLERR, "Invalid dump movie filename"); filetype = PPM; bitrate = 2000; @@ -55,15 +52,15 @@ void DumpMovie::openfile() #ifdef LAMMPS_FFMPEG auto moviecmd = fmt::format("ffmpeg -v error -y -r {:.2f} -f image2pipe -c:v ppm -i - " - "-r 24.0 -b:v {}k {}", framerate, bitrate, filename); - fp = platform::popen(moviecmd,"w"); + "-r 24.0 -b:v {}k {}", + framerate, bitrate, filename); + fp = platform::popen(moviecmd, "w"); #else fp = nullptr; - error->one(FLERR,"Support for writing movies not included"); + error->one(FLERR, "Support for writing movies not included"); #endif - if (fp == nullptr) - error->one(FLERR,"Failed to open FFmpeg pipeline to file {}",filename); + if (fp == nullptr) error->one(FLERR, "Failed to open FFmpeg pipeline to file {}", filename); } } /* ---------------------------------------------------------------------- */ @@ -81,21 +78,21 @@ void DumpMovie::init_style() int DumpMovie::modify_param(int narg, char **arg) { - int n = DumpImage::modify_param(narg,arg); + int n = DumpImage::modify_param(narg, arg); if (n) return n; - if (strcmp(arg[0],"bitrate") == 0) { - if (narg < 2) error->all(FLERR,"Illegal dump_modify command"); - bitrate = utils::inumeric(FLERR,arg[1],false,lmp); - if (bitrate <= 0.0) error->all(FLERR,"Illegal dump_modify command"); + if (strcmp(arg[0], "bitrate") == 0) { + if (narg < 2) error->all(FLERR, "Illegal dump_modify command"); + bitrate = utils::inumeric(FLERR, arg[1], false, lmp); + if (bitrate <= 0.0) error->all(FLERR, "Illegal dump_modify command"); return 2; } - if (strcmp(arg[0],"framerate") == 0) { - if (narg < 2) error->all(FLERR,"Illegal dump_modify command"); - framerate = utils::numeric(FLERR,arg[1],false,lmp); + if (strcmp(arg[0], "framerate") == 0) { + if (narg < 2) error->all(FLERR, "Illegal dump_modify command"); + framerate = utils::numeric(FLERR, arg[1], false, lmp); if ((framerate <= 0.1) || (framerate > 24.0)) - error->all(FLERR,"Illegal dump_modify framerate command"); + error->all(FLERR, "Illegal dump_modify framerate command"); return 2; } diff --git a/src/fix_lineforce.cpp b/src/fix_lineforce.cpp index c0a6fb5a42..2ecd3cf04e 100644 --- a/src/fix_lineforce.cpp +++ b/src/fix_lineforce.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -26,18 +25,17 @@ using namespace FixConst; /* ---------------------------------------------------------------------- */ -FixLineForce::FixLineForce(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg) +FixLineForce::FixLineForce(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { dynamic_group_allow = 1; - if (narg != 6) error->all(FLERR,"Illegal fix lineforce command"); - xdir = utils::numeric(FLERR,arg[3],false,lmp); - ydir = utils::numeric(FLERR,arg[4],false,lmp); - zdir = utils::numeric(FLERR,arg[5],false,lmp); + if (narg != 6) error->all(FLERR, "Illegal fix lineforce command"); + xdir = utils::numeric(FLERR, arg[3], false, lmp); + ydir = utils::numeric(FLERR, arg[4], false, lmp); + zdir = utils::numeric(FLERR, arg[5], false, lmp); - double len = sqrt(xdir*xdir + ydir*ydir + zdir*zdir); - if (len == 0.0) error->all(FLERR,"Illegal fix lineforce command"); + double len = sqrt(xdir * xdir + ydir * ydir + zdir * zdir); + if (len == 0.0) error->all(FLERR, "Illegal fix lineforce command"); xdir /= len; ydir /= len; @@ -59,13 +57,13 @@ int FixLineForce::setmask() void FixLineForce::setup(int vflag) { - if (utils::strmatch(update->integrate_style,"^verlet")) + if (utils::strmatch(update->integrate_style, "^verlet")) post_force(vflag); else { int nlevels_respa = (dynamic_cast(update->integrate))->nlevels; for (int ilevel = 0; ilevel < nlevels_respa; ilevel++) { (dynamic_cast(update->integrate))->copy_flevel_f(ilevel); - post_force_respa(vflag,ilevel,0); + post_force_respa(vflag, ilevel, 0); (dynamic_cast(update->integrate))->copy_f_flevel(ilevel); } } @@ -89,7 +87,7 @@ void FixLineForce::post_force(int /*vflag*/) double dot; for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - dot = f[i][0]*xdir + f[i][1]*ydir + f[i][2]*zdir; + dot = f[i][0] * xdir + f[i][1] * ydir + f[i][2] * zdir; f[i][0] = dot * xdir; f[i][1] = dot * ydir; f[i][2] = dot * zdir; diff --git a/src/fix_planeforce.cpp b/src/fix_planeforce.cpp index 6cf5b61368..4183fe239a 100644 --- a/src/fix_planeforce.cpp +++ b/src/fix_planeforce.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -26,18 +25,17 @@ using namespace FixConst; /* ---------------------------------------------------------------------- */ -FixPlaneForce::FixPlaneForce(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg) +FixPlaneForce::FixPlaneForce(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { dynamic_group_allow = 1; - if (narg != 6) error->all(FLERR,"Illegal fix planeforce command"); - xdir = utils::numeric(FLERR,arg[3],false,lmp); - ydir = utils::numeric(FLERR,arg[4],false,lmp); - zdir = utils::numeric(FLERR,arg[5],false,lmp); + if (narg != 6) error->all(FLERR, "Illegal fix planeforce command"); + xdir = utils::numeric(FLERR, arg[3], false, lmp); + ydir = utils::numeric(FLERR, arg[4], false, lmp); + zdir = utils::numeric(FLERR, arg[5], false, lmp); - double len = sqrt(xdir*xdir + ydir*ydir + zdir*zdir); - if (len == 0.0) error->all(FLERR,"Illegal fix planeforce command"); + double len = sqrt(xdir * xdir + ydir * ydir + zdir * zdir); + if (len == 0.0) error->all(FLERR, "Illegal fix planeforce command"); xdir /= len; ydir /= len; @@ -59,13 +57,13 @@ int FixPlaneForce::setmask() void FixPlaneForce::setup(int vflag) { - if (utils::strmatch(update->integrate_style,"^verlet")) + if (utils::strmatch(update->integrate_style, "^verlet")) post_force(vflag); else { int nlevels_respa = (dynamic_cast(update->integrate))->nlevels; for (int ilevel = 0; ilevel < nlevels_respa; ilevel++) { (dynamic_cast(update->integrate))->copy_flevel_f(ilevel); - post_force_respa(vflag,ilevel,0); + post_force_respa(vflag, ilevel, 0); (dynamic_cast(update->integrate))->copy_f_flevel(ilevel); } } @@ -89,7 +87,7 @@ void FixPlaneForce::post_force(int /*vflag*/) double dot; for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - dot = f[i][0]*xdir + f[i][1]*ydir + f[i][2]*zdir; + dot = f[i][0] * xdir + f[i][1] * ydir + f[i][2] * zdir; f[i][0] -= dot * xdir; f[i][1] -= dot * ydir; f[i][2] -= dot * zdir; diff --git a/src/fix_read_restart.cpp b/src/fix_read_restart.cpp index 6d03394a08..45cc632630 100644 --- a/src/fix_read_restart.cpp +++ b/src/fix_read_restart.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -23,11 +22,10 @@ using namespace FixConst; /* ---------------------------------------------------------------------- */ FixReadRestart::FixReadRestart(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg), - count(nullptr), extra(nullptr) + Fix(lmp, narg, arg), count(nullptr), extra(nullptr) { - nextra = utils::inumeric(FLERR,arg[3],false,lmp); - int nfix = utils::inumeric(FLERR,arg[4],false,lmp); + nextra = utils::inumeric(FLERR, arg[3], false, lmp); + int nfix = utils::inumeric(FLERR, arg[4], false, lmp); // perform initial allocation of atom-based array // register with Atom class @@ -39,11 +37,11 @@ FixReadRestart::FixReadRestart(LAMMPS *lmp, int narg, char **arg) : double **atom_extra = atom->extra; int nlocal = atom->nlocal; - int i,j,m; + int i, j, m; for (i = 0; i < nlocal; i++) { m = 0; - for (j = 0; j < nfix; j++) m += static_cast (atom_extra[i][m]); + for (j = 0; j < nfix; j++) m += static_cast(atom_extra[i][m]); count[i] = m; for (j = 0; j < m; j++) extra[i][j] = atom_extra[i][j]; } @@ -55,7 +53,7 @@ FixReadRestart::~FixReadRestart() { // unregister callback to this fix from Atom class - atom->delete_callback(id,Atom::GROW); + atom->delete_callback(id, Atom::GROW); // delete locally stored arrays @@ -77,8 +75,8 @@ int FixReadRestart::setmask() double FixReadRestart::memory_usage() { - double bytes = (double)atom->nmax*nextra * sizeof(double); - bytes += (double)atom->nmax * sizeof(int); + double bytes = (double) atom->nmax * nextra * sizeof(double); + bytes += (double) atom->nmax * sizeof(int); return bytes; } @@ -88,8 +86,8 @@ double FixReadRestart::memory_usage() void FixReadRestart::grow_arrays(int nmax) { - memory->grow(count,nmax,"read_restart:count"); - memory->grow(extra,nmax,nextra,"read_restart:extra"); + memory->grow(count, nmax, "read_restart:count"); + memory->grow(extra, nmax, nextra, "read_restart:extra"); } /* ---------------------------------------------------------------------- @@ -109,8 +107,8 @@ void FixReadRestart::copy_arrays(int i, int j, int /*delflag*/) int FixReadRestart::pack_exchange(int i, double *buf) { buf[0] = count[i]; - for (int m = 0; m < count[i]; m++) buf[m+1] = extra[i][m]; - return count[i]+1; + for (int m = 0; m < count[i]; m++) buf[m + 1] = extra[i][m]; + return count[i] + 1; } /* ---------------------------------------------------------------------- @@ -119,7 +117,7 @@ int FixReadRestart::pack_exchange(int i, double *buf) int FixReadRestart::unpack_exchange(int nlocal, double *buf) { - count[nlocal] = static_cast (buf[0]); - for (int m = 0; m < count[nlocal]; m++) extra[nlocal][m] = buf[m+1]; - return count[nlocal]+1; + count[nlocal] = static_cast(buf[0]); + for (int m = 0; m < count[nlocal]; m++) extra[nlocal][m] = buf[m + 1]; + return count[nlocal] + 1; } diff --git a/src/fix_store_force.cpp b/src/fix_store_force.cpp index b6e2f4d8a1..3ca4c5e69b 100644 --- a/src/fix_store_force.cpp +++ b/src/fix_store_force.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -26,25 +25,23 @@ using namespace FixConst; /* ---------------------------------------------------------------------- */ FixStoreForce::FixStoreForce(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg), - foriginal(nullptr) + Fix(lmp, narg, arg), foriginal(nullptr) { - if (narg < 3) error->all(FLERR,"Illegal fix store/force command"); + if (narg < 3) error->all(FLERR, "Illegal fix store/force command"); peratom_flag = 1; size_peratom_cols = 3; peratom_freq = 1; nmax = atom->nmax; - memory->create(foriginal,nmax,3,"store/force:foriginal"); + memory->create(foriginal, nmax, 3, "store/force:foriginal"); array_atom = foriginal; // zero the array since dump may access it on timestep 0 // zero the array since a variable may access it before first run int nlocal = atom->nlocal; - for (int i = 0; i < nlocal; i++) - foriginal[i][0] = foriginal[i][1] = foriginal[i][2] = 0.0; + for (int i = 0; i < nlocal; i++) foriginal[i][0] = foriginal[i][1] = foriginal[i][2] = 0.0; } /* ---------------------------------------------------------------------- */ @@ -69,7 +66,7 @@ int FixStoreForce::setmask() void FixStoreForce::init() { - if (utils::strmatch(update->integrate_style,"^respa")) + if (utils::strmatch(update->integrate_style, "^respa")) nlevels_respa = (dynamic_cast(update->integrate))->nlevels; } @@ -77,12 +74,12 @@ void FixStoreForce::init() void FixStoreForce::setup(int vflag) { - if (utils::strmatch(update->integrate_style,"^verlet")) + if (utils::strmatch(update->integrate_style, "^verlet")) post_force(vflag); else { - (dynamic_cast(update->integrate))->copy_flevel_f(nlevels_respa-1); - post_force_respa(vflag,nlevels_respa-1,0); - (dynamic_cast(update->integrate))->copy_f_flevel(nlevels_respa-1); + (dynamic_cast(update->integrate))->copy_flevel_f(nlevels_respa - 1); + post_force_respa(vflag, nlevels_respa - 1, 0); + (dynamic_cast(update->integrate))->copy_f_flevel(nlevels_respa - 1); } } @@ -100,7 +97,7 @@ void FixStoreForce::post_force(int /*vflag*/) if (atom->nmax > nmax) { nmax = atom->nmax; memory->destroy(foriginal); - memory->create(foriginal,nmax,3,"store/force:foriginal"); + memory->create(foriginal, nmax, 3, "store/force:foriginal"); array_atom = foriginal; } @@ -113,14 +110,15 @@ void FixStoreForce::post_force(int /*vflag*/) foriginal[i][0] = f[i][0]; foriginal[i][1] = f[i][1]; foriginal[i][2] = f[i][2]; - } else foriginal[i][0] = foriginal[i][1] = foriginal[i][2] = 0.0; + } else + foriginal[i][0] = foriginal[i][1] = foriginal[i][2] = 0.0; } /* ---------------------------------------------------------------------- */ void FixStoreForce::post_force_respa(int vflag, int ilevel, int /*iloop*/) { - if (ilevel == nlevels_respa-1) post_force(vflag); + if (ilevel == nlevels_respa - 1) post_force(vflag); } /* ---------------------------------------------------------------------- */ @@ -136,6 +134,6 @@ void FixStoreForce::min_post_force(int vflag) double FixStoreForce::memory_usage() { - double bytes = (double)atom->nmax*3 * sizeof(double); + double bytes = (double) atom->nmax * 3 * sizeof(double); return bytes; } diff --git a/src/fix_viscous.cpp b/src/fix_viscous.cpp index fb0b38f264..0305ccee5a 100644 --- a/src/fix_viscous.cpp +++ b/src/fix_viscous.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -26,31 +25,29 @@ using namespace FixConst; /* ---------------------------------------------------------------------- */ -FixViscous::FixViscous(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg), - gamma(nullptr) +FixViscous::FixViscous(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), gamma(nullptr) { dynamic_group_allow = 1; - if (narg < 4) error->all(FLERR,"Illegal fix viscous command"); + if (narg < 4) error->all(FLERR, "Illegal fix viscous command"); - double gamma_one = utils::numeric(FLERR,arg[3],false,lmp); - gamma = new double[atom->ntypes+1]; + double gamma_one = utils::numeric(FLERR, arg[3], false, lmp); + gamma = new double[atom->ntypes + 1]; for (int i = 1; i <= atom->ntypes; i++) gamma[i] = gamma_one; // optional args int iarg = 4; while (iarg < narg) { - if (strcmp(arg[iarg],"scale") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal fix viscous command"); - int itype = utils::inumeric(FLERR,arg[iarg+1],false,lmp); - double scale = utils::numeric(FLERR,arg[iarg+2],false,lmp); - if (itype <= 0 || itype > atom->ntypes) - error->all(FLERR,"Illegal fix viscous command"); + if (strcmp(arg[iarg], "scale") == 0) { + if (iarg + 3 > narg) error->all(FLERR, "Illegal fix viscous command"); + int itype = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); + double scale = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + if (itype <= 0 || itype > atom->ntypes) error->all(FLERR, "Illegal fix viscous command"); gamma[itype] = gamma_one * scale; iarg += 3; - } else error->all(FLERR,"Illegal fix viscous command"); + } else + error->all(FLERR, "Illegal fix viscous command"); } respa_level_support = 1; @@ -63,7 +60,7 @@ FixViscous::~FixViscous() { if (copymode) return; - delete [] gamma; + delete[] gamma; } /* ---------------------------------------------------------------------- */ @@ -83,9 +80,9 @@ void FixViscous::init() { int max_respa = 0; - if (utils::strmatch(update->integrate_style,"^respa")) { - ilevel_respa = max_respa = (dynamic_cast(update->integrate))->nlevels-1; - if (respa_level >= 0) ilevel_respa = MIN(respa_level,max_respa); + if (utils::strmatch(update->integrate_style, "^respa")) { + ilevel_respa = max_respa = (dynamic_cast(update->integrate))->nlevels - 1; + if (respa_level >= 0) ilevel_respa = MIN(respa_level, max_respa); } } @@ -93,11 +90,11 @@ void FixViscous::init() void FixViscous::setup(int vflag) { - if (utils::strmatch(update->integrate_style,"^verlet")) + if (utils::strmatch(update->integrate_style, "^verlet")) post_force(vflag); else { (dynamic_cast(update->integrate))->copy_flevel_f(ilevel_respa); - post_force_respa(vflag,ilevel_respa,0); + post_force_respa(vflag, ilevel_respa, 0); (dynamic_cast(update->integrate))->copy_f_flevel(ilevel_respa); } } @@ -128,9 +125,9 @@ void FixViscous::post_force(int /*vflag*/) for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { drag = gamma[type[i]]; - f[i][0] -= drag*v[i][0]; - f[i][1] -= drag*v[i][1]; - f[i][2] -= drag*v[i][2]; + f[i][0] -= drag * v[i][0]; + f[i][1] -= drag * v[i][1]; + f[i][2] -= drag * v[i][2]; } } diff --git a/src/fix_wall_lj1043.cpp b/src/fix_wall_lj1043.cpp index dd6b5122f0..e8ab57bc43 100644 --- a/src/fix_wall_lj1043.cpp +++ b/src/fix_wall_lj1043.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -17,17 +16,18 @@ ------------------------------------------------------------------------- */ #include "fix_wall_lj1043.h" -#include + #include "atom.h" #include "math_const.h" +#include + using namespace LAMMPS_NS; using namespace MathConst; /* ---------------------------------------------------------------------- */ -FixWallLJ1043::FixWallLJ1043(LAMMPS *lmp, int narg, char **arg) : - FixWall(lmp, narg, arg) +FixWallLJ1043::FixWallLJ1043(LAMMPS *lmp, int narg, char **arg) : FixWall(lmp, narg, arg) { dynamic_group_allow = 1; } @@ -36,26 +36,26 @@ FixWallLJ1043::FixWallLJ1043(LAMMPS *lmp, int narg, char **arg) : void FixWallLJ1043::precompute(int m) { - coeff1[m] = MY_2PI * 2.0/5.0 * epsilon[m] * pow(sigma[m],10.0); - coeff2[m] = MY_2PI * epsilon[m] * pow(sigma[m],4.0); - coeff3[m] = MY_2PI * pow(2.0,1/2.0) / 3 * epsilon[m] * pow(sigma[m],3.0); - coeff4[m] = 0.61 / pow(2.0,1/2.0) * sigma[m]; + coeff1[m] = MY_2PI * 2.0 / 5.0 * epsilon[m] * pow(sigma[m], 10.0); + coeff2[m] = MY_2PI * epsilon[m] * pow(sigma[m], 4.0); + coeff3[m] = MY_2PI * pow(2.0, 1 / 2.0) / 3 * epsilon[m] * pow(sigma[m], 3.0); + coeff4[m] = 0.61 / pow(2.0, 1 / 2.0) * sigma[m]; coeff5[m] = coeff1[m] * 10.0; coeff6[m] = coeff2[m] * 4.0; coeff7[m] = coeff3[m] * 3.0; - double rinv = 1.0/cutoff[m]; - double r2inv = rinv*rinv; - double r4inv = r2inv*r2inv; - offset[m] = coeff1[m]*r4inv*r4inv*r2inv - coeff2[m]*r4inv - - coeff3[m]*pow(cutoff[m]+coeff4[m],-3.0); + double rinv = 1.0 / cutoff[m]; + double r2inv = rinv * rinv; + double r4inv = r2inv * r2inv; + offset[m] = coeff1[m] * r4inv * r4inv * r2inv - coeff2[m] * r4inv - + coeff3[m] * pow(cutoff[m] + coeff4[m], -3.0); } /* ---------------------------------------------------------------------- */ void FixWallLJ1043::wall_particle(int m, int which, double coord) { - double delta,rinv,r2inv,r4inv,r10inv,fwall; + double delta, rinv, r2inv, r4inv, r10inv, fwall; double vn; double **x = atom->x; @@ -69,25 +69,30 @@ void FixWallLJ1043::wall_particle(int m, int which, double coord) for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - if (side < 0) delta = x[i][dim] - coord; - else delta = coord - x[i][dim]; + if (side < 0) + delta = x[i][dim] - coord; + else + delta = coord - x[i][dim]; if (delta <= 0.0) continue; if (delta > cutoff[m]) continue; - rinv = 1.0/delta; - r2inv = rinv*rinv; - r4inv = r2inv*r2inv; - r10inv = r4inv*r4inv*r2inv; + rinv = 1.0 / delta; + r2inv = rinv * rinv; + r4inv = r2inv * r2inv; + r10inv = r4inv * r4inv * r2inv; - fwall = side * (coeff5[m]*r10inv*rinv - coeff6[m]*r4inv*rinv - - coeff7[m]*pow(delta+coeff4[m],-4.0)); + fwall = side * + (coeff5[m] * r10inv * rinv - coeff6[m] * r4inv * rinv - + coeff7[m] * pow(delta + coeff4[m], -4.0)); f[i][dim] -= fwall; - ewall[0] += coeff1[m]*r10inv - coeff2[m]*r4inv - - coeff3[m]*pow(delta+coeff4[m],-3.0) - offset[m]; - ewall[m+1] += fwall; + ewall[0] += coeff1[m] * r10inv - coeff2[m] * r4inv - + coeff3[m] * pow(delta + coeff4[m], -3.0) - offset[m]; + ewall[m + 1] += fwall; if (evflag) { - if (side < 0) vn = -fwall*delta; - else vn = fwall*delta; + if (side < 0) + vn = -fwall * delta; + else + vn = fwall * delta; v_tally(dim, i, vn); } } diff --git a/src/fix_wall_lj126.cpp b/src/fix_wall_lj126.cpp index f7458448be..5c8f0cedd4 100644 --- a/src/fix_wall_lj126.cpp +++ b/src/fix_wall_lj126.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -13,16 +12,15 @@ ------------------------------------------------------------------------- */ #include "fix_wall_lj126.h" -#include #include "atom.h" #include "error.h" +#include using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -FixWallLJ126::FixWallLJ126(LAMMPS *lmp, int narg, char **arg) : - FixWall(lmp, narg, arg) +FixWallLJ126::FixWallLJ126(LAMMPS *lmp, int narg, char **arg) : FixWall(lmp, narg, arg) { dynamic_group_allow = 1; } @@ -31,14 +29,14 @@ FixWallLJ126::FixWallLJ126(LAMMPS *lmp, int narg, char **arg) : void FixWallLJ126::precompute(int m) { - coeff1[m] = 48.0 * epsilon[m] * pow(sigma[m],12.0); - coeff2[m] = 24.0 * epsilon[m] * pow(sigma[m],6.0); - coeff3[m] = 4.0 * epsilon[m] * pow(sigma[m],12.0); - coeff4[m] = 4.0 * epsilon[m] * pow(sigma[m],6.0); + coeff1[m] = 48.0 * epsilon[m] * pow(sigma[m], 12.0); + coeff2[m] = 24.0 * epsilon[m] * pow(sigma[m], 6.0); + coeff3[m] = 4.0 * epsilon[m] * pow(sigma[m], 12.0); + coeff4[m] = 4.0 * epsilon[m] * pow(sigma[m], 6.0); - double r2inv = 1.0/(cutoff[m]*cutoff[m]); - double r6inv = r2inv*r2inv*r2inv; - offset[m] = r6inv*(coeff3[m]*r6inv - coeff4[m]); + double r2inv = 1.0 / (cutoff[m] * cutoff[m]); + double r6inv = r2inv * r2inv * r2inv; + offset[m] = r6inv * (coeff3[m] * r6inv - coeff4[m]); } /* ---------------------------------------------------------------------- @@ -50,7 +48,7 @@ void FixWallLJ126::precompute(int m) void FixWallLJ126::wall_particle(int m, int which, double coord) { - double delta,rinv,r2inv,r6inv,fwall; + double delta, rinv, r2inv, r6inv, fwall; double vn; double **x = atom->x; @@ -66,27 +64,31 @@ void FixWallLJ126::wall_particle(int m, int which, double coord) for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - if (side < 0) delta = x[i][dim] - coord; - else delta = coord - x[i][dim]; + if (side < 0) + delta = x[i][dim] - coord; + else + delta = coord - x[i][dim]; if (delta >= cutoff[m]) continue; if (delta <= 0.0) { onflag = 1; continue; } - rinv = 1.0/delta; - r2inv = rinv*rinv; - r6inv = r2inv*r2inv*r2inv; - fwall = side * r6inv*(coeff1[m]*r6inv - coeff2[m]) * rinv; + rinv = 1.0 / delta; + r2inv = rinv * rinv; + r6inv = r2inv * r2inv * r2inv; + fwall = side * r6inv * (coeff1[m] * r6inv - coeff2[m]) * rinv; f[i][dim] -= fwall; - ewall[0] += r6inv*(coeff3[m]*r6inv - coeff4[m]) - offset[m]; - ewall[m+1] += fwall; + ewall[0] += r6inv * (coeff3[m] * r6inv - coeff4[m]) - offset[m]; + ewall[m + 1] += fwall; if (evflag) { - if (side < 0) vn = -fwall*delta; - else vn = fwall*delta; + if (side < 0) + vn = -fwall * delta; + else + vn = fwall * delta; v_tally(dim, i, vn); } } - if (onflag) error->one(FLERR,"Particle on or inside fix wall surface"); + if (onflag) error->one(FLERR, "Particle on or inside fix wall surface"); } diff --git a/src/fix_wall_lj93.cpp b/src/fix_wall_lj93.cpp index 7c4db056f9..4db44fbce2 100644 --- a/src/fix_wall_lj93.cpp +++ b/src/fix_wall_lj93.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -13,16 +12,17 @@ ------------------------------------------------------------------------- */ #include "fix_wall_lj93.h" -#include + #include "atom.h" #include "error.h" +#include + using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -FixWallLJ93::FixWallLJ93(LAMMPS *lmp, int narg, char **arg) : - FixWall(lmp, narg, arg) +FixWallLJ93::FixWallLJ93(LAMMPS *lmp, int narg, char **arg) : FixWall(lmp, narg, arg) { dynamic_group_allow = 1; } @@ -31,15 +31,15 @@ FixWallLJ93::FixWallLJ93(LAMMPS *lmp, int narg, char **arg) : void FixWallLJ93::precompute(int m) { - coeff1[m] = 6.0/5.0 * epsilon[m] * pow(sigma[m],9.0); - coeff2[m] = 3.0 * epsilon[m] * pow(sigma[m],3.0); - coeff3[m] = 2.0/15.0 * epsilon[m] * pow(sigma[m],9.0); - coeff4[m] = epsilon[m] * pow(sigma[m],3.0); + coeff1[m] = 6.0 / 5.0 * epsilon[m] * pow(sigma[m], 9.0); + coeff2[m] = 3.0 * epsilon[m] * pow(sigma[m], 3.0); + coeff3[m] = 2.0 / 15.0 * epsilon[m] * pow(sigma[m], 9.0); + coeff4[m] = epsilon[m] * pow(sigma[m], 3.0); - double rinv = 1.0/cutoff[m]; - double r2inv = rinv*rinv; - double r4inv = r2inv*r2inv; - offset[m] = coeff3[m]*r4inv*r4inv*rinv - coeff4[m]*r2inv*rinv; + double rinv = 1.0 / cutoff[m]; + double r2inv = rinv * rinv; + double r4inv = r2inv * r2inv; + offset[m] = coeff3[m] * r4inv * r4inv * rinv - coeff4[m] * r2inv * rinv; } /* ---------------------------------------------------------------------- @@ -51,7 +51,7 @@ void FixWallLJ93::precompute(int m) void FixWallLJ93::wall_particle(int m, int which, double coord) { - double delta,rinv,r2inv,r4inv,r10inv,fwall; + double delta, rinv, r2inv, r4inv, r10inv, fwall; double vn; double **x = atom->x; @@ -67,29 +67,32 @@ void FixWallLJ93::wall_particle(int m, int which, double coord) for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - if (side < 0) delta = x[i][dim] - coord; - else delta = coord - x[i][dim]; + if (side < 0) + delta = x[i][dim] - coord; + else + delta = coord - x[i][dim]; if (delta >= cutoff[m]) continue; if (delta <= 0.0) { onflag = 1; continue; } - rinv = 1.0/delta; - r2inv = rinv*rinv; - r4inv = r2inv*r2inv; - r10inv = r4inv*r4inv*r2inv; - fwall = side * (coeff1[m]*r10inv - coeff2[m]*r4inv); + rinv = 1.0 / delta; + r2inv = rinv * rinv; + r4inv = r2inv * r2inv; + r10inv = r4inv * r4inv * r2inv; + fwall = side * (coeff1[m] * r10inv - coeff2[m] * r4inv); f[i][dim] -= fwall; - ewall[0] += coeff3[m]*r4inv*r4inv*rinv - - coeff4[m]*r2inv*rinv - offset[m]; - ewall[m+1] += fwall; + ewall[0] += coeff3[m] * r4inv * r4inv * rinv - coeff4[m] * r2inv * rinv - offset[m]; + ewall[m + 1] += fwall; if (evflag) { - if (side < 0) vn = -fwall*delta; - else vn = fwall*delta; + if (side < 0) + vn = -fwall * delta; + else + vn = fwall * delta; v_tally(dim, i, vn); } } - if (onflag) error->one(FLERR,"Particle on or inside fix wall surface"); + if (onflag) error->one(FLERR, "Particle on or inside fix wall surface"); } diff --git a/src/improper_zero.cpp b/src/improper_zero.cpp index 3a80cbeb72..e8497795ae 100644 --- a/src/improper_zero.cpp +++ b/src/improper_zero.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -37,28 +36,27 @@ ImproperZero::ImproperZero(LAMMPS *lmp) : Improper(lmp), coeffflag(1) ImproperZero::~ImproperZero() { - if (allocated && !copymode) { - memory->destroy(setflag); - } + if (allocated && !copymode) memory->destroy(setflag); } /* ---------------------------------------------------------------------- */ void ImproperZero::compute(int eflag, int vflag) { - ev_init(eflag,vflag); + ev_init(eflag, vflag); } /* ---------------------------------------------------------------------- */ void ImproperZero::settings(int narg, char **arg) { - if ((narg != 0) && (narg != 1)) - error->all(FLERR,"Illegal improper_style command"); + if ((narg != 0) && (narg != 1)) error->all(FLERR, "Illegal improper_style command"); if (narg == 1) { - if (strcmp("nocoeff",arg[0]) == 0) coeffflag=0; - else error->all(FLERR,"Illegal improper_style command"); + if (strcmp("nocoeff", arg[0]) == 0) + coeffflag = 0; + else + error->all(FLERR, "Illegal improper_style command"); } } @@ -69,7 +67,7 @@ void ImproperZero::allocate() allocated = 1; int n = atom->nimpropertypes; - memory->create(setflag,n+1,"improper:setflag"); + memory->create(setflag, n + 1, "improper:setflag"); for (int i = 1; i <= n; i++) setflag[i] = 0; } @@ -80,12 +78,12 @@ void ImproperZero::allocate() void ImproperZero::coeff(int narg, char **arg) { if ((narg < 1) || (coeffflag && narg > 1)) - error->all(FLERR,"Incorrect args for improper coefficients"); + error->all(FLERR, "Incorrect args for improper coefficients"); if (!allocated) allocate(); - int ilo,ihi; - utils::bounds(FLERR,arg[0],1,atom->nimpropertypes,ilo,ihi,error); + int ilo, ihi; + utils::bounds(FLERR, arg[0], 1, atom->nimpropertypes, ilo, ihi, error); int count = 0; for (int i = ilo; i <= ihi; i++) { @@ -93,7 +91,7 @@ void ImproperZero::coeff(int narg, char **arg) count++; } - if (count == 0) error->all(FLERR,"Incorrect args for improper coefficients"); + if (count == 0) error->all(FLERR, "Incorrect args for improper coefficients"); } /* ---------------------------------------------------------------------- @@ -116,8 +114,7 @@ void ImproperZero::read_restart(FILE * /*fp*/) proc 0 writes to data file ------------------------------------------------------------------------- */ -void ImproperZero::write_data(FILE *fp) { - for (int i = 1; i <= atom->nimpropertypes; i++) - fprintf(fp,"%d\n",i); +void ImproperZero::write_data(FILE *fp) +{ + for (int i = 1; i <= atom->nimpropertypes; i++) fprintf(fp, "%d\n", i); } - diff --git a/src/math_eigen.cpp b/src/math_eigen.cpp index 967739ded9..65c3fa806a 100644 --- a/src/math_eigen.cpp +++ b/src/math_eigen.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -23,23 +22,23 @@ #include #include -using std::vector; using std::array; +using std::vector; using namespace MathEigen; // Special case: 3x3 matrices -typedef Jacobi Jacobi_v1; -typedef Jacobi Jacobi_v2; +typedef Jacobi Jacobi_v1; +typedef Jacobi Jacobi_v2; int MathEigen::jacobi3(double const mat[3][3], double *eval, double evec[3][3]) { // make copy of const matrix - double mat_cpy[3][3] = { {mat[0][0], mat[0][1], mat[0][2]}, - {mat[1][0], mat[1][1], mat[1][2]}, - {mat[2][0], mat[2][1], mat[2][2]} }; - double *M[3] = { &(mat_cpy[0][0]), &(mat_cpy[1][0]), &(mat_cpy[2][0]) }; + double mat_cpy[3][3] = {{mat[0][0], mat[0][1], mat[0][2]}, + {mat[1][0], mat[1][1], mat[1][2]}, + {mat[2][0], mat[2][1], mat[2][2]}}; + double *M[3] = {&(mat_cpy[0][0]), &(mat_cpy[1][0]), &(mat_cpy[2][0])}; int midx[3]; // create instance of generic Jacobi class and get eigenvalues and -vectors @@ -49,21 +48,20 @@ int MathEigen::jacobi3(double const mat[3][3], double *eval, double evec[3][3]) // transpose the evec matrix - for (int i=0; i<3; i++) - for (int j=i+1; j<3; j++) - std::swap(evec[i][j], evec[j][i]); + for (int i = 0; i < 3; i++) + for (int j = i + 1; j < 3; j++) std::swap(evec[i][j], evec[j][i]); return ierror; } -int MathEigen::jacobi3(double const* const* mat, double *eval, double **evec) +int MathEigen::jacobi3(double const *const *mat, double *eval, double **evec) { // make copy of const matrix - double mat_cpy[3][3] = { {mat[0][0], mat[0][1], mat[0][2]}, - {mat[1][0], mat[1][1], mat[1][2]}, - {mat[2][0], mat[2][1], mat[2][2]} }; - double *M[3] = { &(mat_cpy[0][0]), &(mat_cpy[1][0]), &(mat_cpy[2][0]) }; + double mat_cpy[3][3] = {{mat[0][0], mat[0][1], mat[0][2]}, + {mat[1][0], mat[1][1], mat[1][2]}, + {mat[2][0], mat[2][1], mat[2][2]}}; + double *M[3] = {&(mat_cpy[0][0]), &(mat_cpy[1][0]), &(mat_cpy[2][0])}; int midx[3]; // create instance of generic Jacobi class and get eigenvalues and -vectors @@ -73,9 +71,8 @@ int MathEigen::jacobi3(double const* const* mat, double *eval, double **evec) // transpose the evec matrix - for (int i=0; i<3; i++) - for (int j=i+1; j<3; j++) - std::swap(evec[i][j], evec[j][i]); + for (int i = 0; i < 3; i++) + for (int j = i + 1; j < 3; j++) std::swap(evec[i][j], evec[j][i]); return ierror; } diff --git a/src/memory.cpp b/src/memory.cpp index c2d8163ece..62b602c9af 100644 --- a/src/memory.cpp +++ b/src/memory.cpp @@ -16,8 +16,7 @@ #include "error.h" -#if defined(LMP_INTEL) && \ - ((defined(__INTEL_COMPILER) || defined(__INTEL_LLVM_COMPILER))) +#if defined(LMP_INTEL) && ((defined(__INTEL_COMPILER) || defined(__INTEL_LLVM_COMPILER))) #ifndef LMP_INTEL_NO_TBB #define LMP_USE_TBB_ALLOCATOR #include "tbb/scalable_allocator.h" @@ -127,6 +126,5 @@ void Memory::sfree(void *ptr) void Memory::fail(const char *name) { - error->one(FLERR,"Cannot create/grow a vector/array of " - "pointers for {}",name); + error->one(FLERR,"Cannot create/grow a vector/array of pointers for {}",name); } diff --git a/src/min_sd.cpp b/src/min_sd.cpp index f8e9c44794..b190c78575 100644 --- a/src/min_sd.cpp +++ b/src/min_sd.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -37,9 +36,9 @@ MinSD::MinSD(LAMMPS *lmp) : MinLineSearch(lmp) {} int MinSD::iterate(int maxiter) { - int i,m,n,fail,ntimestep; + int i, m, n, fail, ntimestep; double fdotf; - double *fatom,*hatom; + double *fatom, *hatom; // initialize working vectors @@ -56,8 +55,7 @@ int MinSD::iterate(int maxiter) for (int iter = 0; iter < maxiter; iter++) { - if (timer->check_timeout(niter)) - return TIMEOUT; + if (timer->check_timeout(niter)) return TIMEOUT; ntimestep = ++update->ntimestep; niter++; @@ -66,7 +64,7 @@ int MinSD::iterate(int maxiter) // h = downhill gradient direction eprevious = ecurrent; - fail = (this->*linemin)(ecurrent,alpha_final); + fail = (this->*linemin)(ecurrent, alpha_final); if (fail) return fail; // function evaluation criterion @@ -75,19 +73,23 @@ int MinSD::iterate(int maxiter) // energy tolerance criterion - if (fabs(ecurrent-eprevious) < - update->etol * 0.5*(fabs(ecurrent) + fabs(eprevious) + EPS_ENERGY)) + if (fabs(ecurrent - eprevious) < + update->etol * 0.5 * (fabs(ecurrent) + fabs(eprevious) + EPS_ENERGY)) return ETOL; // force tolerance criterion fdotf = 0.0; if (update->ftol > 0.0) { - if (normstyle == MAX) fdotf = fnorm_max(); // max force norm - else if (normstyle == INF) fdotf = fnorm_inf(); // infinite force norm - else if (normstyle == TWO) fdotf = fnorm_sqr(); // Euclidean force 2-norm - else error->all(FLERR,"Illegal min_modify command"); - if (fdotf < update->ftol*update->ftol) return FTOL; + if (normstyle == MAX) + fdotf = fnorm_max(); // max force norm + else if (normstyle == INF) + fdotf = fnorm_inf(); // infinite force norm + else if (normstyle == TWO) + fdotf = fnorm_sqr(); // Euclidean force 2-norm + else + error->all(FLERR, "Illegal min_modify command"); + if (fdotf < update->ftol * update->ftol) return FTOL; } // set new search direction h to f = -Grad(x) diff --git a/src/npair_full_bin.cpp b/src/npair_full_bin.cpp index 152033cdc1..47e0943221 100644 --- a/src/npair_full_bin.cpp +++ b/src/npair_full_bin.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -13,13 +12,14 @@ ------------------------------------------------------------------------- */ #include "npair_full_bin.h" -#include "neigh_list.h" + #include "atom.h" #include "atom_vec.h" -#include "molecule.h" #include "domain.h" -#include "my_page.h" #include "error.h" +#include "molecule.h" +#include "my_page.h" +#include "neigh_list.h" using namespace LAMMPS_NS; @@ -34,9 +34,9 @@ NPairFullBin::NPairFullBin(LAMMPS *lmp) : NPair(lmp) {} void NPairFullBin::build(NeighList *list) { - int i,j,k,n,itype,jtype,ibin,which,imol,iatom,moltemplate; + int i, j, k, n, itype, jtype, ibin, which, imol, iatom, moltemplate; tagint tagprev; - double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + double xtmp, ytmp, ztmp, delx, dely, delz, rsq; int *neighptr; double **x = atom->x; @@ -52,8 +52,10 @@ void NPairFullBin::build(NeighList *list) int *molindex = atom->molindex; int *molatom = atom->molatom; Molecule **onemols = atom->avec->onemols; - if (molecular == Atom::TEMPLATE) moltemplate = 1; - else moltemplate = 0; + if (molecular == Atom::TEMPLATE) + moltemplate = 1; + else + moltemplate = 0; int *ilist = list->ilist; int *numneigh = list->numneigh; @@ -83,31 +85,35 @@ void NPairFullBin::build(NeighList *list) ibin = atom2bin[i]; for (k = 0; k < nstencil; k++) { - for (j = binhead[ibin+stencil[k]]; j >= 0; j = bins[j]) { + for (j = binhead[ibin + stencil[k]]; j >= 0; j = bins[j]) { if (i == j) continue; jtype = type[j]; - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + if (exclude && exclusion(i, j, itype, jtype, mask, molecule)) continue; delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; + rsq = delx * delx + dely * dely + delz * delz; if (rsq <= cutneighsq[itype][jtype]) { if (molecular != Atom::ATOMIC) { - if (!moltemplate) - which = find_special(special[i],nspecial[i],tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], - onemols[imol]->nspecial[iatom], - tag[j]-tagprev); - else which = 0; - if (which == 0) neighptr[n++] = j; - else if (domain->minimum_image_check(delx,dely,delz)) + if (!moltemplate) { + which = find_special(special[i], nspecial[i], tag[j]); + } else if (imol >= 0) { + const auto mol = onemols[imol]; + which = find_special(mol->special[iatom], mol->nspecial[iatom], tag[j] - tagprev); + } else { + which = 0; + } + if (which == 0) neighptr[n++] = j; - else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); - } else neighptr[n++] = j; + else if (domain->minimum_image_check(delx, dely, delz)) + neighptr[n++] = j; + else if (which > 0) + neighptr[n++] = j ^ (which << SBBITS); + } else + neighptr[n++] = j; } } } @@ -116,8 +122,7 @@ void NPairFullBin::build(NeighList *list) firstneigh[i] = neighptr; numneigh[i] = n; ipage->vgot(n); - if (ipage->status()) - error->one(FLERR,"Neighbor list overflow, boost neigh_modify one"); + if (ipage->status()) error->one(FLERR, "Neighbor list overflow, boost neigh_modify one"); } list->inum = inum; diff --git a/src/npair_full_nsq.cpp b/src/npair_full_nsq.cpp index 6743961d38..c4ae539622 100644 --- a/src/npair_full_nsq.cpp +++ b/src/npair_full_nsq.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -13,14 +12,15 @@ ------------------------------------------------------------------------- */ #include "npair_full_nsq.h" -#include "neigh_list.h" + #include "atom.h" #include "atom_vec.h" +#include "domain.h" +#include "error.h" #include "group.h" #include "molecule.h" -#include "domain.h" #include "my_page.h" -#include "error.h" +#include "neigh_list.h" using namespace LAMMPS_NS; @@ -35,9 +35,9 @@ NPairFullNsq::NPairFullNsq(LAMMPS *lmp) : NPair(lmp) {} void NPairFullNsq::build(NeighList *list) { - int i,j,n,itype,jtype,which,bitmask,imol,iatom,moltemplate; + int i, j, n, itype, jtype, which, bitmask, imol, iatom, moltemplate; tagint tagprev; - double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + double xtmp, ytmp, ztmp, delx, dely, delz, rsq; int *neighptr; double **x = atom->x; @@ -57,8 +57,10 @@ void NPairFullNsq::build(NeighList *list) int *molindex = atom->molindex; int *molatom = atom->molatom; Molecule **onemols = atom->avec->onemols; - if (molecular == Atom::TEMPLATE) moltemplate = 1; - else moltemplate = 0; + if (molecular == Atom::TEMPLATE) + moltemplate = 1; + else + moltemplate = 0; int *ilist = list->ilist; int *numneigh = list->numneigh; @@ -89,26 +91,31 @@ void NPairFullNsq::build(NeighList *list) if (includegroup && !(mask[j] & bitmask)) continue; if (i == j) continue; jtype = type[j]; - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + if (exclude && exclusion(i, j, itype, jtype, mask, molecule)) continue; delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; + rsq = delx * delx + dely * dely + delz * delz; if (rsq <= cutneighsq[itype][jtype]) { if (molecular != Atom::ATOMIC) { - if (!moltemplate) - which = find_special(special[i],nspecial[i],tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], - onemols[imol]->nspecial[iatom], - tag[j]-tagprev); - else which = 0; - if (which == 0) neighptr[n++] = j; - else if (domain->minimum_image_check(delx,dely,delz)) + if (!moltemplate) { + which = find_special(special[i], nspecial[i], tag[j]); + } else if (imol >= 0) { + const auto mol = onemols[imol]; + which = find_special(mol->special[iatom], mol->nspecial[iatom], tag[j] - tagprev); + } else { + which = 0; + } + + if (which == 0) neighptr[n++] = j; - else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); - } else neighptr[n++] = j; + else if (domain->minimum_image_check(delx, dely, delz)) + neighptr[n++] = j; + else if (which > 0) + neighptr[n++] = j ^ (which << SBBITS); + } else + neighptr[n++] = j; } } @@ -116,8 +123,7 @@ void NPairFullNsq::build(NeighList *list) firstneigh[i] = neighptr; numneigh[i] = n; ipage->vgot(n); - if (ipage->status()) - error->one(FLERR,"Neighbor list overflow, boost neigh_modify one"); + if (ipage->status()) error->one(FLERR, "Neighbor list overflow, boost neigh_modify one"); } list->inum = inum; diff --git a/src/npair_half_bin_atomonly_newton.cpp b/src/npair_half_bin_atomonly_newton.cpp index d69dba4643..316d7731fc 100644 --- a/src/npair_half_bin_atomonly_newton.cpp +++ b/src/npair_half_bin_atomonly_newton.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -23,8 +22,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NPairHalfBinAtomonlyNewton::NPairHalfBinAtomonlyNewton(LAMMPS *lmp) : - NPair(lmp) {} +NPairHalfBinAtomonlyNewton::NPairHalfBinAtomonlyNewton(LAMMPS *lmp) : NPair(lmp) {} /* ---------------------------------------------------------------------- binned neighbor list construction with full Newton's 3rd law @@ -34,8 +32,8 @@ NPairHalfBinAtomonlyNewton::NPairHalfBinAtomonlyNewton(LAMMPS *lmp) : void NPairHalfBinAtomonlyNewton::build(NeighList *list) { - int i,j,k,n,itype,jtype,ibin; - double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + int i, j, k, n, itype, jtype, ibin; + double xtmp, ytmp, ztmp, delx, dely, delz, rsq; int *neighptr; double **x = atom->x; @@ -76,12 +74,12 @@ void NPairHalfBinAtomonlyNewton::build(NeighList *list) } jtype = type[j]; - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + if (exclude && exclusion(i, j, itype, jtype, mask, molecule)) continue; delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; + rsq = delx * delx + dely * dely + delz * delz; if (rsq <= cutneighsq[itype][jtype]) neighptr[n++] = j; } @@ -91,14 +89,14 @@ void NPairHalfBinAtomonlyNewton::build(NeighList *list) ibin = atom2bin[i]; for (k = 0; k < nstencil; k++) { - for (j = binhead[ibin+stencil[k]]; j >= 0; j = bins[j]) { + for (j = binhead[ibin + stencil[k]]; j >= 0; j = bins[j]) { jtype = type[j]; - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + if (exclude && exclusion(i, j, itype, jtype, mask, molecule)) continue; delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; + rsq = delx * delx + dely * dely + delz * delz; if (rsq <= cutneighsq[itype][jtype]) neighptr[n++] = j; } @@ -108,8 +106,7 @@ void NPairHalfBinAtomonlyNewton::build(NeighList *list) firstneigh[i] = neighptr; numneigh[i] = n; ipage->vgot(n); - if (ipage->status()) - error->one(FLERR,"Neighbor list overflow, boost neigh_modify one"); + if (ipage->status()) error->one(FLERR, "Neighbor list overflow, boost neigh_modify one"); } list->inum = inum; diff --git a/src/npair_half_bin_newtoff.cpp b/src/npair_half_bin_newtoff.cpp index 240d6e4909..09d3e2a682 100644 --- a/src/npair_half_bin_newtoff.cpp +++ b/src/npair_half_bin_newtoff.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -13,13 +12,14 @@ ------------------------------------------------------------------------- */ #include "npair_half_bin_newtoff.h" -#include "neigh_list.h" + #include "atom.h" #include "atom_vec.h" -#include "molecule.h" #include "domain.h" -#include "my_page.h" #include "error.h" +#include "molecule.h" +#include "my_page.h" +#include "neigh_list.h" using namespace LAMMPS_NS; @@ -36,9 +36,9 @@ NPairHalfBinNewtoff::NPairHalfBinNewtoff(LAMMPS *lmp) : NPair(lmp) {} void NPairHalfBinNewtoff::build(NeighList *list) { - int i,j,k,n,itype,jtype,ibin,which,imol,iatom,moltemplate; + int i, j, k, n, itype, jtype, ibin, which, imol, iatom, moltemplate; tagint tagprev; - double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + double xtmp, ytmp, ztmp, delx, dely, delz, rsq; int *neighptr; double **x = atom->x; @@ -54,8 +54,10 @@ void NPairHalfBinNewtoff::build(NeighList *list) int *molindex = atom->molindex; int *molatom = atom->molatom; Molecule **onemols = atom->avec->onemols; - if (molecular == Atom::TEMPLATE) moltemplate = 1; - else moltemplate = 0; + if (molecular == Atom::TEMPLATE) + moltemplate = 1; + else + moltemplate = 0; int *ilist = list->ilist; int *numneigh = list->numneigh; @@ -87,32 +89,35 @@ void NPairHalfBinNewtoff::build(NeighList *list) ibin = atom2bin[i]; for (k = 0; k < nstencil; k++) { - for (j = binhead[ibin+stencil[k]]; j >= 0; j = bins[j]) { + for (j = binhead[ibin + stencil[k]]; j >= 0; j = bins[j]) { if (j <= i) continue; jtype = type[j]; - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + if (exclude && exclusion(i, j, itype, jtype, mask, molecule)) continue; delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; + rsq = delx * delx + dely * dely + delz * delz; if (rsq <= cutneighsq[itype][jtype]) { if (molecular != Atom::ATOMIC) { if (!moltemplate) - which = find_special(special[i],nspecial[i],tag[j]); + which = find_special(special[i], nspecial[i], tag[j]); else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], - onemols[imol]->nspecial[iatom], - tag[j]-tagprev); - else which = 0; - if (which == 0) neighptr[n++] = j; - else if (domain->minimum_image_check(delx,dely,delz)) + which = find_special(onemols[imol]->special[iatom], onemols[imol]->nspecial[iatom], + tag[j] - tagprev); + else + which = 0; + if (which == 0) neighptr[n++] = j; - else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); + else if (domain->minimum_image_check(delx, dely, delz)) + neighptr[n++] = j; + else if (which > 0) + neighptr[n++] = j ^ (which << SBBITS); // OLD: if (which >= 0) neighptr[n++] = j ^ (which << SBBITS); - } else neighptr[n++] = j; + } else + neighptr[n++] = j; } } } @@ -121,9 +126,7 @@ void NPairHalfBinNewtoff::build(NeighList *list) firstneigh[i] = neighptr; numneigh[i] = n; ipage->vgot(n); - if (ipage->status()) - error->one(FLERR,"Neighbor list overflow, boost neigh_modify one"); + if (ipage->status()) error->one(FLERR, "Neighbor list overflow, boost neigh_modify one"); } - list->inum = inum; } diff --git a/src/npair_half_nsq_newtoff.cpp b/src/npair_half_nsq_newtoff.cpp index c08147cc06..8cc79b7013 100644 --- a/src/npair_half_nsq_newtoff.cpp +++ b/src/npair_half_nsq_newtoff.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -13,14 +12,15 @@ ------------------------------------------------------------------------- */ #include "npair_half_nsq_newtoff.h" -#include "neigh_list.h" + #include "atom.h" #include "atom_vec.h" +#include "domain.h" +#include "error.h" #include "group.h" #include "molecule.h" -#include "domain.h" #include "my_page.h" -#include "error.h" +#include "neigh_list.h" using namespace LAMMPS_NS; @@ -36,9 +36,9 @@ NPairHalfNsqNewtoff::NPairHalfNsqNewtoff(LAMMPS *lmp) : NPair(lmp) {} void NPairHalfNsqNewtoff::build(NeighList *list) { - int i,j,n,itype,jtype,which,bitmask,imol,iatom,moltemplate; + int i, j, n, itype, jtype, which, bitmask, imol, iatom, moltemplate; tagint tagprev; - double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + double xtmp, ytmp, ztmp, delx, dely, delz, rsq; int *neighptr; double **x = atom->x; @@ -58,8 +58,10 @@ void NPairHalfNsqNewtoff::build(NeighList *list) int *molindex = atom->molindex; int *molatom = atom->molatom; Molecule **onemols = atom->avec->onemols; - if (molecular == Atom::TEMPLATE) moltemplate = 1; - else moltemplate = 0; + if (molecular == Atom::TEMPLATE) + moltemplate = 1; + else + moltemplate = 0; int *ilist = list->ilist; int *numneigh = list->numneigh; @@ -86,30 +88,33 @@ void NPairHalfNsqNewtoff::build(NeighList *list) // loop over remaining atoms, owned and ghost // only store pair if i < j - for (j = i+1; j < nall; j++) { + for (j = i + 1; j < nall; j++) { if (includegroup && !(mask[j] & bitmask)) continue; jtype = type[j]; - if (exclude && exclusion(i,j,itype,jtype,mask,molecule)) continue; + if (exclude && exclusion(i, j, itype, jtype, mask, molecule)) continue; delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; + rsq = delx * delx + dely * dely + delz * delz; if (rsq <= cutneighsq[itype][jtype]) { if (molecular != Atom::ATOMIC) { if (!moltemplate) - which = find_special(special[i],nspecial[i],tag[j]); + which = find_special(special[i], nspecial[i], tag[j]); else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], - onemols[imol]->nspecial[iatom], - tag[j]-tagprev); - else which = 0; - if (which == 0) neighptr[n++] = j; - else if (domain->minimum_image_check(delx,dely,delz)) + which = find_special(onemols[imol]->special[iatom], onemols[imol]->nspecial[iatom], + tag[j] - tagprev); + else + which = 0; + if (which == 0) neighptr[n++] = j; - else if (which > 0) neighptr[n++] = j ^ (which << SBBITS); - } else neighptr[n++] = j; + else if (domain->minimum_image_check(delx, dely, delz)) + neighptr[n++] = j; + else if (which > 0) + neighptr[n++] = j ^ (which << SBBITS); + } else + neighptr[n++] = j; } } @@ -117,9 +122,7 @@ void NPairHalfNsqNewtoff::build(NeighList *list) firstneigh[i] = neighptr; numneigh[i] = n; ipage->vgot(n); - if (ipage->status()) - error->one(FLERR,"Neighbor list overflow, boost neigh_modify one"); + if (ipage->status()) error->one(FLERR, "Neighbor list overflow, boost neigh_modify one"); } - list->inum = inum; } diff --git a/src/npair_half_size_nsq_newtoff.cpp b/src/npair_half_size_nsq_newtoff.cpp index f34c9e6323..acbb4cf7dd 100644 --- a/src/npair_half_size_nsq_newtoff.cpp +++ b/src/npair_half_size_nsq_newtoff.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -18,8 +17,8 @@ #include "atom_vec.h" #include "domain.h" #include "error.h" -#include "molecule.h" #include "group.h" +#include "molecule.h" #include "my_page.h" #include "neigh_list.h" @@ -38,10 +37,10 @@ NPairHalfSizeNsqNewtoff::NPairHalfSizeNsqNewtoff(LAMMPS *lmp) : NPair(lmp) {} void NPairHalfSizeNsqNewtoff::build(NeighList *list) { - int i,j,jh,n,bitmask,which,imol,iatom,moltemplate; + int i, j, jh, n, bitmask, which, imol, iatom, moltemplate; tagint tagprev; - double xtmp,ytmp,ztmp,delx,dely,delz,rsq; - double radi,radsum,cutsq; + double xtmp, ytmp, ztmp, delx, dely, delz, rsq; + double radi, radsum, cutsq; int *neighptr; double **x = atom->x; @@ -62,8 +61,10 @@ void NPairHalfSizeNsqNewtoff::build(NeighList *list) int *molindex = atom->molindex; int *molatom = atom->molatom; Molecule **onemols = atom->avec->onemols; - if (molecular == Atom::TEMPLATE) moltemplate = 1; - else moltemplate = 0; + if (molecular == Atom::TEMPLATE) + moltemplate = 1; + else + moltemplate = 0; int history = list->history; int *ilist = list->ilist; @@ -92,35 +93,37 @@ void NPairHalfSizeNsqNewtoff::build(NeighList *list) // loop over remaining atoms, owned and ghost - for (j = i+1; j < nall; j++) { + for (j = i + 1; j < nall; j++) { if (includegroup && !(mask[j] & bitmask)) continue; - if (exclude && exclusion(i,j,type[i],type[j],mask,molecule)) continue; + if (exclude && exclusion(i, j, type[i], type[j], mask, molecule)) continue; delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; + rsq = delx * delx + dely * dely + delz * delz; radsum = radi + radius[j]; - cutsq = (radsum+skin) * (radsum+skin); + cutsq = (radsum + skin) * (radsum + skin); if (rsq <= cutsq) { jh = j; - if (history && rsq < radsum*radsum) - jh = jh ^ mask_history; + if (history && rsq < radsum * radsum) jh = jh ^ mask_history; if (molecular != Atom::ATOMIC) { if (!moltemplate) - which = find_special(special[i],nspecial[i],tag[j]); + which = find_special(special[i], nspecial[i], tag[j]); else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], - onemols[imol]->nspecial[iatom], - tag[j]-tagprev); - else which = 0; - if (which == 0) neighptr[n++] = jh; - else if (domain->minimum_image_check(delx,dely,delz)) + which = find_special(onemols[imol]->special[iatom], onemols[imol]->nspecial[iatom], + tag[j] - tagprev); + else + which = 0; + if (which == 0) neighptr[n++] = jh; - else if (which > 0) neighptr[n++] = jh ^ (which << SBBITS); - } else neighptr[n++] = jh; + else if (domain->minimum_image_check(delx, dely, delz)) + neighptr[n++] = jh; + else if (which > 0) + neighptr[n++] = jh ^ (which << SBBITS); + } else + neighptr[n++] = jh; } } @@ -128,9 +131,7 @@ void NPairHalfSizeNsqNewtoff::build(NeighList *list) firstneigh[i] = neighptr; numneigh[i] = n; ipage->vgot(n); - if (ipage->status()) - error->one(FLERR,"Neighbor list overflow, boost neigh_modify one"); + if (ipage->status()) error->one(FLERR, "Neighbor list overflow, boost neigh_modify one"); } - list->inum = inum; } diff --git a/src/npair_halffull_newton.cpp b/src/npair_halffull_newton.cpp index 3232b79db1..407a71e614 100644 --- a/src/npair_halffull_newton.cpp +++ b/src/npair_halffull_newton.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -34,9 +33,9 @@ NPairHalffullNewton::NPairHalffullNewton(LAMMPS *lmp) : NPair(lmp) {} void NPairHalffullNewton::build(NeighList *list) { - int i,j,ii,jj,n,jnum,joriginal; - int *neighptr,*jlist; - double xtmp,ytmp,ztmp; + int i, j, ii, jj, n, jnum, joriginal; + int *neighptr, *jlist; + double xtmp, ytmp, ztmp; double **x = atom->x; int nlocal = atom->nlocal; @@ -89,9 +88,7 @@ void NPairHalffullNewton::build(NeighList *list) firstneigh[i] = neighptr; numneigh[i] = n; ipage->vgot(n); - if (ipage->status()) - error->one(FLERR,"Neighbor list overflow, boost neigh_modify one"); + if (ipage->status()) error->one(FLERR, "Neighbor list overflow, boost neigh_modify one"); } - list->inum = inum; } diff --git a/src/npair_halffull_newton_trim.cpp b/src/npair_halffull_newton_trim.cpp index d52806bdfa..b7bb72c990 100644 --- a/src/npair_halffull_newton_trim.cpp +++ b/src/npair_halffull_newton_trim.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -34,10 +33,10 @@ NPairHalffullNewtonTrim::NPairHalffullNewtonTrim(LAMMPS *lmp) : NPair(lmp) {} void NPairHalffullNewtonTrim::build(NeighList *list) { - int i,j,ii,jj,n,jnum,joriginal; - int *neighptr,*jlist; - double xtmp,ytmp,ztmp; - double delx,dely,delz,rsq; + int i, j, ii, jj, n, jnum, joriginal; + int *neighptr, *jlist; + double xtmp, ytmp, ztmp; + double delx, dely, delz, rsq; double **x = atom->x; int nlocal = atom->nlocal; @@ -100,9 +99,7 @@ void NPairHalffullNewtonTrim::build(NeighList *list) firstneigh[i] = neighptr; numneigh[i] = n; ipage->vgot(n); - if (ipage->status()) - error->one(FLERR,"Neighbor list overflow, boost neigh_modify one"); + if (ipage->status()) error->one(FLERR, "Neighbor list overflow, boost neigh_modify one"); } - list->inum = inum; } diff --git a/src/npair_skip.cpp b/src/npair_skip.cpp index b901611518..d9d4fa491f 100644 --- a/src/npair_skip.cpp +++ b/src/npair_skip.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -35,8 +34,8 @@ NPairSkip::NPairSkip(LAMMPS *lmp) : NPair(lmp) {} void NPairSkip::build(NeighList *list) { - int i,j,ii,jj,n,itype,jnum,joriginal; - int *neighptr,*jlist; + int i, j, ii, jj, n, itype, jnum, joriginal; + int *neighptr, *jlist; int *type = atom->type; int nlocal = atom->nlocal; @@ -86,16 +85,17 @@ void NPairSkip::build(NeighList *list) firstneigh[i] = neighptr; numneigh[i] = n; ipage->vgot(n); - if (ipage->status()) - error->one(FLERR,"Neighbor list overflow, boost neigh_modify one"); + if (ipage->status()) error->one(FLERR, "Neighbor list overflow, boost neigh_modify one"); } list->inum = inum; if (list->ghost) { int num = 0; for (i = 0; i < inum; i++) - if (ilist[i] < nlocal) num++; - else break; + if (ilist[i] < nlocal) + num++; + else + break; list->inum = num; list->gnum = inum - num; } diff --git a/src/npair_skip_size_off2on.cpp b/src/npair_skip_size_off2on.cpp index 00538b68c1..f1b6d2f4fb 100644 --- a/src/npair_skip_size_off2on.cpp +++ b/src/npair_skip_size_off2on.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -33,9 +32,9 @@ NPairSkipSizeOff2on::NPairSkipSizeOff2on(LAMMPS *lmp) : NPair(lmp) {} void NPairSkipSizeOff2on::build(NeighList *list) { - int i,j,ii,jj,n,itype,jnum,joriginal; - tagint itag,jtag; - int *neighptr,*jlist; + int i, j, ii, jj, n, itype, jnum, joriginal; + tagint itag, jtag; + int *neighptr, *jlist; tagint *tag = atom->tag; int *type = atom->type; @@ -92,9 +91,7 @@ void NPairSkipSizeOff2on::build(NeighList *list) firstneigh[i] = neighptr; numneigh[i] = n; ipage->vgot(n); - if (ipage->status()) - error->one(FLERR,"Neighbor list overflow, boost neigh_modify one"); + if (ipage->status()) error->one(FLERR, "Neighbor list overflow, boost neigh_modify one"); } - list->inum = inum; } diff --git a/src/nstencil_full_multi_3d.cpp b/src/nstencil_full_multi_3d.cpp index 107e3e6d13..d2d5faec62 100644 --- a/src/nstencil_full_multi_3d.cpp +++ b/src/nstencil_full_multi_3d.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -51,7 +50,6 @@ void NStencilFullMulti3d::create() int n = ncollections; double cutsq; - for (icollection = 0; icollection < n; icollection++) { for (jcollection = 0; jcollection < n; jcollection++) { if (flag_skip_multi[icollection][jcollection]) { @@ -76,9 +74,8 @@ void NStencilFullMulti3d::create() for (k = -sz; k <= sz; k++) for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance_multi(i,j,k,bin_collection) < cutsq) - stencil_multi[icollection][jcollection][ns++] = - k*mbiny*mbinx + j*mbinx + i; + if (bin_distance_multi(i, j, k, bin_collection) < cutsq) + stencil_multi[icollection][jcollection][ns++] = k * mbiny * mbinx + j * mbinx + i; nstencil_multi[icollection][jcollection] = ns; } diff --git a/src/nstencil_half_multi_2d.cpp b/src/nstencil_half_multi_2d.cpp index e8e452d8fc..5932ccae64 100644 --- a/src/nstencil_half_multi_2d.cpp +++ b/src/nstencil_half_multi_2d.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -20,8 +19,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilHalfMulti2d::NStencilHalfMulti2d(LAMMPS *lmp) : - NStencil(lmp) {} +NStencilHalfMulti2d::NStencilHalfMulti2d(LAMMPS *lmp) : NStencil(lmp) {} /* ---------------------------------------------------------------------- */ @@ -37,11 +35,11 @@ void NStencilHalfMulti2d::set_stencil_properties() for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { - if(cutcollectionsq[i][i] > cutcollectionsq[j][j]) continue; + if (cutcollectionsq[i][i] > cutcollectionsq[j][j]) continue; flag_skip_multi[i][j] = false; - if(cutcollectionsq[i][i] == cutcollectionsq[j][j]){ + if (cutcollectionsq[i][i] == cutcollectionsq[j][j]) { flag_half_multi[i][j] = true; bin_collection_multi[i][j] = i; } else { @@ -62,7 +60,6 @@ void NStencilHalfMulti2d::create() int n = ncollections; double cutsq; - for (icollection = 0; icollection < n; icollection++) { for (jcollection = 0; jcollection < n; jcollection++) { if (flag_skip_multi[icollection][jcollection]) { @@ -86,18 +83,16 @@ void NStencilHalfMulti2d::create() for (j = 0; j <= sy; j++) for (i = -sx; i <= sx; i++) if (j > 0 || (j == 0 && i > 0)) { - if (bin_distance_multi(i,j,0,bin_collection) < cutsq) - stencil_multi[icollection][jcollection][ns++] = j*mbinx + i; - } + if (bin_distance_multi(i, j, 0, bin_collection) < cutsq) + stencil_multi[icollection][jcollection][ns++] = j * mbinx + i; + } } else { - for (j = -sy; j <= sy; j++) - for (i = -sx; i <= sx; i++) - if (bin_distance_multi(i,j,0,bin_collection) < cutsq) - stencil_multi[icollection][jcollection][ns++] = j*mbinx + i; + for (j = -sy; j <= sy; j++) + for (i = -sx; i <= sx; i++) + if (bin_distance_multi(i, j, 0, bin_collection) < cutsq) + stencil_multi[icollection][jcollection][ns++] = j * mbinx + i; } - nstencil_multi[icollection][jcollection] = ns; } } } - diff --git a/src/nstencil_half_multi_2d_tri.cpp b/src/nstencil_half_multi_2d_tri.cpp index 9a63331f18..bf39c04099 100644 --- a/src/nstencil_half_multi_2d_tri.cpp +++ b/src/nstencil_half_multi_2d_tri.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -20,8 +19,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilHalfMulti2dTri::NStencilHalfMulti2dTri(LAMMPS *lmp) : - NStencil(lmp) {} +NStencilHalfMulti2dTri::NStencilHalfMulti2dTri(LAMMPS *lmp) : NStencil(lmp) {} /* ---------------------------------------------------------------------- */ @@ -37,11 +35,11 @@ void NStencilHalfMulti2dTri::set_stencil_properties() for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { - if(cutcollectionsq[i][i] > cutcollectionsq[j][j]) continue; + if (cutcollectionsq[i][i] > cutcollectionsq[j][j]) continue; flag_skip_multi[i][j] = false; - if(cutcollectionsq[i][i] == cutcollectionsq[j][j]){ + if (cutcollectionsq[i][i] == cutcollectionsq[j][j]) { flag_half_multi[i][j] = true; bin_collection_multi[i][j] = i; } else { @@ -62,7 +60,6 @@ void NStencilHalfMulti2dTri::create() int n = ncollections; double cutsq; - for (icollection = 0; icollection < n; icollection++) { for (jcollection = 0; jcollection < n; jcollection++) { if (flag_skip_multi[icollection][jcollection]) { @@ -85,15 +82,14 @@ void NStencilHalfMulti2dTri::create() if (flag_half_multi[icollection][jcollection]) { for (j = 0; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance_multi(i,j,0,bin_collection) < cutsq) - stencil_multi[icollection][jcollection][ns++] = j*mbinx + i; + if (bin_distance_multi(i, j, 0, bin_collection) < cutsq) + stencil_multi[icollection][jcollection][ns++] = j * mbinx + i; } else { for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance_multi(i,j,0,bin_collection) < cutsq) - stencil_multi[icollection][jcollection][ns++] = j*mbinx + i; + if (bin_distance_multi(i, j, 0, bin_collection) < cutsq) + stencil_multi[icollection][jcollection][ns++] = j * mbinx + i; } - nstencil_multi[icollection][jcollection] = ns; } } diff --git a/src/nstencil_half_multi_3d.cpp b/src/nstencil_half_multi_3d.cpp index 446f740617..8b1a1d85c5 100644 --- a/src/nstencil_half_multi_3d.cpp +++ b/src/nstencil_half_multi_3d.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -20,8 +19,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilHalfMulti3d::NStencilHalfMulti3d(LAMMPS *lmp) : - NStencil(lmp) {} +NStencilHalfMulti3d::NStencilHalfMulti3d(LAMMPS *lmp) : NStencil(lmp) {} /* ---------------------------------------------------------------------- */ @@ -37,11 +35,11 @@ void NStencilHalfMulti3d::set_stencil_properties() for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { - if(cutcollectionsq[i][i] > cutcollectionsq[j][j]) continue; + if (cutcollectionsq[i][i] > cutcollectionsq[j][j]) continue; flag_skip_multi[i][j] = false; - if(cutcollectionsq[i][i] == cutcollectionsq[j][j]){ + if (cutcollectionsq[i][i] == cutcollectionsq[j][j]) { flag_half_multi[i][j] = true; bin_collection_multi[i][j] = i; } else { @@ -62,7 +60,6 @@ void NStencilHalfMulti3d::create() int n = ncollections; double cutsq; - for (icollection = 0; icollection < n; icollection++) { for (jcollection = 0; jcollection < n; jcollection++) { if (flag_skip_multi[icollection][jcollection]) { @@ -88,22 +85,18 @@ void NStencilHalfMulti3d::create() for (k = 0; k <= sz; k++) for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (k > 0 || j > 0 || (j == 0 && i > 0)) { - if (bin_distance_multi(i,j,k,bin_collection) < cutsq) - stencil_multi[icollection][jcollection][ns++] = - k*mbiny*mbinx + j*mbinx + i; - } + if (k > 0 || j > 0 || (j == 0 && i > 0)) { + if (bin_distance_multi(i, j, k, bin_collection) < cutsq) + stencil_multi[icollection][jcollection][ns++] = k * mbiny * mbinx + j * mbinx + i; + } } else { for (k = -sz; k <= sz; k++) for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance_multi(i,j,k,bin_collection) < cutsq) - stencil_multi[icollection][jcollection][ns++] = - k*mbiny*mbinx + j*mbinx + i; + if (bin_distance_multi(i, j, k, bin_collection) < cutsq) + stencil_multi[icollection][jcollection][ns++] = k * mbiny * mbinx + j * mbinx + i; } - nstencil_multi[icollection][jcollection] = ns; } } } - diff --git a/src/nstencil_half_multi_3d_tri.cpp b/src/nstencil_half_multi_3d_tri.cpp index 4298353a86..f2d4d051ad 100644 --- a/src/nstencil_half_multi_3d_tri.cpp +++ b/src/nstencil_half_multi_3d_tri.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -20,8 +19,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -NStencilHalfMulti3dTri::NStencilHalfMulti3dTri(LAMMPS *lmp) : - NStencil(lmp) {} +NStencilHalfMulti3dTri::NStencilHalfMulti3dTri(LAMMPS *lmp) : NStencil(lmp) {} /* ---------------------------------------------------------------------- */ @@ -37,11 +35,11 @@ void NStencilHalfMulti3dTri::set_stencil_properties() for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { - if(cutcollectionsq[i][i] > cutcollectionsq[j][j]) continue; + if (cutcollectionsq[i][i] > cutcollectionsq[j][j]) continue; flag_skip_multi[i][j] = false; - if(cutcollectionsq[i][i] == cutcollectionsq[j][j]){ + if (cutcollectionsq[i][i] == cutcollectionsq[j][j]) { flag_half_multi[i][j] = true; bin_collection_multi[i][j] = i; } else { @@ -62,7 +60,6 @@ void NStencilHalfMulti3dTri::create() int n = ncollections; double cutsq; - for (icollection = 0; icollection < n; icollection++) { for (jcollection = 0; jcollection < n; jcollection++) { if (flag_skip_multi[icollection][jcollection]) { @@ -81,25 +78,21 @@ void NStencilHalfMulti3dTri::create() mbinz = stencil_mbinz_multi[icollection][jcollection]; bin_collection = bin_collection_multi[icollection][jcollection]; - cutsq = cutcollectionsq[icollection][jcollection]; if (flag_half_multi[icollection][jcollection]) { for (k = 0; k <= sz; k++) for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance_multi(i,j,k,bin_collection) < cutsq) - stencil_multi[icollection][jcollection][ns++] = - k*mbiny*mbinx + j*mbinx + i; + if (bin_distance_multi(i, j, k, bin_collection) < cutsq) + stencil_multi[icollection][jcollection][ns++] = k * mbiny * mbinx + j * mbinx + i; } else { for (k = -sz; k <= sz; k++) for (j = -sy; j <= sy; j++) for (i = -sx; i <= sx; i++) - if (bin_distance_multi(i,j,k,bin_collection) < cutsq) - stencil_multi[icollection][jcollection][ns++] = - k*mbiny*mbinx + j*mbinx + i; + if (bin_distance_multi(i, j, k, bin_collection) < cutsq) + stencil_multi[icollection][jcollection][ns++] = k * mbiny * mbinx + j * mbinx + i; } - nstencil_multi[icollection][jcollection] = ns; } } diff --git a/src/random_park.cpp b/src/random_park.cpp index f11515ff8c..d085c7fd03 100644 --- a/src/random_park.cpp +++ b/src/random_park.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -15,14 +14,16 @@ // Park/Miller RNG #include "random_park.h" -#include + #include "error.h" +#include + using namespace LAMMPS_NS; #define IA 16807 #define IM 2147483647 -#define AM (1.0/IM) +#define AM (1.0 / IM) #define IQ 127773 #define IR 2836 @@ -30,8 +31,7 @@ using namespace LAMMPS_NS; RanPark::RanPark(LAMMPS *lmp, int seed_init) : Pointers(lmp) { - if (seed_init <= 0) - error->one(FLERR,"Invalid seed for Park random # generator"); + if (seed_init <= 0) error->one(FLERR, "Invalid seed for Park random # generator"); seed = seed_init; save = 0; } @@ -42,10 +42,10 @@ RanPark::RanPark(LAMMPS *lmp, int seed_init) : Pointers(lmp) double RanPark::uniform() { - int k = seed/IQ; - seed = IA*(seed-k*IQ) - IR*k; + int k = seed / IQ; + seed = IA * (seed - k * IQ) - IR * k; if (seed < 0) seed += IM; - double ans = AM*seed; + double ans = AM * seed; return ans; } @@ -55,17 +55,17 @@ double RanPark::uniform() double RanPark::gaussian() { - double first,v1,v2,rsq,fac; + double first, v1, v2, rsq, fac; if (!save) { do { - v1 = 2.0*uniform()-1.0; - v2 = 2.0*uniform()-1.0; - rsq = v1*v1 + v2*v2; + v1 = 2.0 * uniform() - 1.0; + v2 = 2.0 * uniform() - 1.0; + rsq = v1 * v1 + v2 * v2; } while ((rsq >= 1.0) || (rsq == 0.0)); - fac = sqrt(-2.0*log(rsq)/rsq); - second = v1*fac; - first = v2*fac; + fac = sqrt(-2.0 * log(rsq) / rsq); + second = v1 * fac; + first = v2 * fac; save = 1; } else { first = second; @@ -78,8 +78,7 @@ double RanPark::gaussian() void RanPark::reset(int seed_init) { - if (seed_init <= 0) - error->all(FLERR,"Invalid seed for Park random # generator"); + if (seed_init <= 0) error->all(FLERR, "Invalid seed for Park random # generator"); seed = seed_init; save = 0; } diff --git a/src/region_plane.cpp b/src/region_plane.cpp index 06e7c467d7..154b072633 100644 --- a/src/region_plane.cpp +++ b/src/region_plane.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -22,22 +21,23 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -RegPlane::RegPlane(LAMMPS *lmp, int narg, char **arg) : - Region(lmp, narg, arg) +RegPlane::RegPlane(LAMMPS *lmp, int narg, char **arg) : Region(lmp, narg, arg) { - options(narg-8,&arg[8]); + options(narg - 8, &arg[8]); - xp = xscale*utils::numeric(FLERR,arg[2],false,lmp); - yp = yscale*utils::numeric(FLERR,arg[3],false,lmp); - zp = zscale*utils::numeric(FLERR,arg[4],false,lmp); - normal[0] = xscale*utils::numeric(FLERR,arg[5],false,lmp); - normal[1] = yscale*utils::numeric(FLERR,arg[6],false,lmp); - normal[2] = zscale*utils::numeric(FLERR,arg[7],false,lmp); + xp = xscale * utils::numeric(FLERR, arg[2], false, lmp); + yp = yscale * utils::numeric(FLERR, arg[3], false, lmp); + zp = zscale * utils::numeric(FLERR, arg[4], false, lmp); + normal[0] = xscale * utils::numeric(FLERR, arg[5], false, lmp); + normal[1] = yscale * utils::numeric(FLERR, arg[6], false, lmp); + normal[2] = zscale * utils::numeric(FLERR, arg[7], false, lmp); // enforce unit normal - double rsq = normal[0]*normal[0] + normal[1]*normal[1] + normal[2]*normal[2]; - if (rsq == 0.0) error->all(FLERR,"Illegal region plane normal vector: {} {} {}", normal[0], normal[1], normal[2]); + double rsq = normal[0] * normal[0] + normal[1] * normal[1] + normal[2] * normal[2]; + if (rsq == 0.0) + error->all(FLERR, "Illegal region plane normal vector: {} {} {}", normal[0], normal[1], + normal[2]); normal[0] /= sqrt(rsq); normal[1] /= sqrt(rsq); normal[2] /= sqrt(rsq); @@ -54,7 +54,7 @@ RegPlane::RegPlane(LAMMPS *lmp, int narg, char **arg) : RegPlane::~RegPlane() { - delete [] contact; + delete[] contact; } /* ---------------------------------------------------------------------- @@ -65,7 +65,7 @@ RegPlane::~RegPlane() int RegPlane::inside(double x, double y, double z) { - double dot = (x-xp)*normal[0] + (y-yp)*normal[1] + (z-zp)*normal[2]; + double dot = (x - xp) * normal[0] + (y - yp) * normal[1] + (z - zp) * normal[2]; if (dot >= 0.0) return 1; return 0; @@ -79,12 +79,12 @@ int RegPlane::inside(double x, double y, double z) int RegPlane::surface_interior(double *x, double cutoff) { - double dot = (x[0]-xp)*normal[0] + (x[1]-yp)*normal[1] + (x[2]-zp)*normal[2]; + double dot = (x[0] - xp) * normal[0] + (x[1] - yp) * normal[1] + (x[2] - zp) * normal[2]; if (dot < cutoff && dot >= 0.0) { contact[0].r = dot; - contact[0].delx = dot*normal[0]; - contact[0].dely = dot*normal[1]; - contact[0].delz = dot*normal[2]; + contact[0].delx = dot * normal[0]; + contact[0].dely = dot * normal[1]; + contact[0].delz = dot * normal[2]; contact[0].radius = 0; contact[0].iwall = 0; return 1; @@ -100,13 +100,13 @@ int RegPlane::surface_interior(double *x, double cutoff) int RegPlane::surface_exterior(double *x, double cutoff) { - double dot = (x[0]-xp)*normal[0] + (x[1]-yp)*normal[1] + (x[2]-zp)*normal[2]; + double dot = (x[0] - xp) * normal[0] + (x[1] - yp) * normal[1] + (x[2] - zp) * normal[2]; dot = -dot; if (dot < cutoff && dot >= 0.0) { contact[0].r = dot; - contact[0].delx = -dot*normal[0]; - contact[0].dely = -dot*normal[1]; - contact[0].delz = -dot*normal[2]; + contact[0].delx = -dot * normal[0]; + contact[0].dely = -dot * normal[1]; + contact[0].delz = -dot * normal[2]; contact[0].radius = 0; contact[0].iwall = 0; return 1; From 4de0cd762fa5df7a5564350c07c219e0391285d4 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 25 Mar 2023 10:12:05 -0400 Subject: [PATCH 411/448] use powint() instead of pow() for faster and more accurate results --- src/COLLOID/fix_wall_colloid.cpp | 105 +++++++++++++++++-------------- src/EXTRA-FIX/fix_wall_ees.cpp | 27 ++++---- src/fix_wall_lj1043.cpp | 16 ++--- src/fix_wall_lj126.cpp | 12 ++-- src/fix_wall_lj93.cpp | 10 +-- 5 files changed, 93 insertions(+), 77 deletions(-) diff --git a/src/COLLOID/fix_wall_colloid.cpp b/src/COLLOID/fix_wall_colloid.cpp index 3160fadb53..0637057417 100644 --- a/src/COLLOID/fix_wall_colloid.cpp +++ b/src/COLLOID/fix_wall_colloid.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -20,22 +19,22 @@ #include "atom.h" #include "error.h" +#include "math_special.h" #include using namespace LAMMPS_NS; +using MathSpecial::powint; /* ---------------------------------------------------------------------- */ -FixWallColloid::FixWallColloid(LAMMPS *lmp, int narg, char **arg) : - FixWall(lmp, narg, arg) {} +FixWallColloid::FixWallColloid(LAMMPS *lmp, int narg, char **arg) : FixWall(lmp, narg, arg) {} /* ---------------------------------------------------------------------- */ void FixWallColloid::init() { - if (!atom->sphere_flag) - error->all(FLERR,"Fix wall/colloid requires atom style sphere"); + if (!atom->sphere_flag) error->all(FLERR, "Fix wall/colloid requires atom style sphere"); // ensure all particles in group are extended particles @@ -49,8 +48,8 @@ void FixWallColloid::init() if (radius[i] == 0.0) flag = 1; int flagall; - MPI_Allreduce(&flag,&flagall,1,MPI_INT,MPI_SUM,world); - if (flagall) error->all(FLERR,"Fix wall/colloid requires extended particles"); + MPI_Allreduce(&flag, &flagall, 1, MPI_INT, MPI_SUM, world); + if (flagall) error->all(FLERR, "Fix wall/colloid requires extended particles"); FixWall::init(); } @@ -59,10 +58,10 @@ void FixWallColloid::init() void FixWallColloid::precompute(int m) { - coeff1[m] = 4.0/315.0 * epsilon[m] * pow(sigma[m],6.0); - coeff2[m] = 2.0/3.0 * epsilon[m]; - coeff3[m] = epsilon[m] * pow(sigma[m],6.0)/7560.0; - coeff4[m] = epsilon[m]/6.0; + coeff1[m] = 4.0 / 315.0 * epsilon[m] * powint(sigma[m], 6); + coeff2[m] = 2.0 / 3.0 * epsilon[m]; + coeff3[m] = epsilon[m] * powint(sigma[m], 6) / 7560.0; + coeff4[m] = epsilon[m] / 6.0; } /* ---------------------------------------------------------------------- @@ -74,10 +73,10 @@ void FixWallColloid::precompute(int m) void FixWallColloid::wall_particle(int m, int which, double coord) { - double delta,delta2,rinv,r2inv,r4inv,r8inv,fwall; - double r2,rinv2,r2inv2,r4inv2; - double r3,rinv3,r2inv3,r4inv3; - double rad,rad2,rad4,rad8,diam,new_coeff2; + double delta, delta2, rinv, r2inv, r4inv, r8inv, fwall; + double r2, rinv2, r2inv2, r4inv2; + double r3, rinv3, r2inv3, r4inv3; + double rad, rad2, rad4, rad8, diam, new_coeff2; double eoffset; double vn; @@ -87,7 +86,7 @@ void FixWallColloid::wall_particle(int m, int which, double coord) int *mask = atom->mask; int nlocal = atom->nlocal; - int dim = which / 2; + int dim = which / 2; int side = which % 2; if (side == 0) side = -1; @@ -95,8 +94,10 @@ void FixWallColloid::wall_particle(int m, int which, double coord) for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - if (side < 0) delta = x[i][dim] - coord; - else delta = coord - x[i][dim]; + if (side < 0) + delta = x[i][dim] - coord; + else + delta = coord - x[i][dim]; if (delta >= cutoff[m]) continue; rad = radius[i]; if (rad >= delta) { @@ -104,59 +105,67 @@ void FixWallColloid::wall_particle(int m, int which, double coord) continue; } - new_coeff2 = coeff2[m]*rad*rad*rad; - diam = 2.0*rad; - rad2 = rad*rad; - rad4 = rad2*rad2; - rad8 = rad4*rad4; - delta2 = rad2 - delta*delta; - rinv = 1.0/delta2; - r2inv = rinv*rinv; - r4inv = r2inv*r2inv; - r8inv = r4inv*r4inv; - fwall = side * (coeff1[m]*(rad8*rad + 27.0*rad4*rad2*rad*pow(delta,2.0) - + 63.0*rad4*rad*pow(delta,4.0) - + 21.0*rad2*rad*pow(delta,6.0))*r8inv - + new_coeff2 = coeff2[m] * rad * rad * rad; + diam = 2.0 * rad; + rad2 = rad * rad; + rad4 = rad2 * rad2; + rad8 = rad4 * rad4; + delta2 = rad2 - delta * delta; + rinv = 1.0 / delta2; + r2inv = rinv * rinv; + r4inv = r2inv * r2inv; + r8inv = r4inv * r4inv; + // clang-format off + fwall = side * (coeff1[m]*(rad8*rad + 27.0*rad4*rad2*rad*powint(delta,2) + + 63.0*rad4*rad*powint(delta,4) + + 21.0*rad2*rad*powint(delta,6))*r8inv - new_coeff2*r2inv); f[i][dim] -= fwall; + // clang-format on r2 = rad - delta; - rinv2 = 1.0/r2; - r2inv2 = rinv2*rinv2; - r4inv2 = r2inv2*r2inv2; + rinv2 = 1.0 / r2; + r2inv2 = rinv2 * rinv2; + r4inv2 = r2inv2 * r2inv2; r3 = delta + rad; - rinv3 = 1.0/r3; - r2inv3 = rinv3*rinv3; - r4inv3 = r2inv3*r2inv3; + rinv3 = 1.0 / r3; + r2inv3 = rinv3 * rinv3; + r4inv3 = r2inv3 * r2inv3; + // clang-format off ewall[0] += coeff3[m]*((-3.5*diam+delta)*r4inv2*r2inv2*rinv2 + (3.5*diam+delta)*r4inv3*r2inv3*rinv3) - coeff4[m]*((diam*delta-r2*r3*(log(-r2)-log(r3)))* (-rinv2)*rinv3); + // clang-format on // offset depends on particle size r2 = rad - cutoff[m]; - rinv2 = 1.0/r2; - r2inv2 = rinv2*rinv2; - r4inv2 = r2inv2*r2inv2; + rinv2 = 1.0 / r2; + r2inv2 = rinv2 * rinv2; + r4inv2 = r2inv2 * r2inv2; r3 = cutoff[m] + rad; - rinv3 = 1.0/r3; - r2inv3 = rinv3*rinv3; - r4inv3 = r2inv3*r2inv3; + rinv3 = 1.0 / r3; + r2inv3 = rinv3 * rinv3; + r4inv3 = r2inv3 * r2inv3; + // clang-format off eoffset = coeff3[m]*((-3.5*diam+cutoff[m])*r4inv2*r2inv2*rinv2 + (3.5*diam+cutoff[m])*r4inv3*r2inv3*rinv3) - coeff4[m]*((diam*cutoff[m]-r2*r3*(log(-r2)-log(r3)))* (-rinv2)*rinv3); ewall[0] -= eoffset; + // clang-format on - ewall[m+1] += fwall; + ewall[m + 1] += fwall; if (evflag) { - if (side < 0) vn = -fwall*delta; - else vn = fwall*delta; - v_tally(dim,i,vn); + if (side < 0) + vn = -fwall * delta; + else + vn = fwall * delta; + v_tally(dim, i, vn); } } - if (onflag) error->one(FLERR,"Particle on or inside fix wall surface"); + if (onflag) error->one(FLERR, "Particle on or inside fix wall surface"); } diff --git a/src/EXTRA-FIX/fix_wall_ees.cpp b/src/EXTRA-FIX/fix_wall_ees.cpp index d9bc2a8450..230b8f6ac0 100644 --- a/src/EXTRA-FIX/fix_wall_ees.cpp +++ b/src/EXTRA-FIX/fix_wall_ees.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -18,40 +17,40 @@ #include "fix_wall_ees.h" -#include "math_extra.h" #include "atom.h" #include "atom_vec_ellipsoid.h" #include "error.h" +#include "math_extra.h" +#include "math_special.h" #include using namespace LAMMPS_NS; +using MathSpecial::powint; /* ---------------------------------------------------------------------- */ -FixWallEES::FixWallEES(LAMMPS *lmp, int narg, char **arg) : - FixWall(lmp, narg, arg) {} +FixWallEES::FixWallEES(LAMMPS *lmp, int narg, char **arg) : FixWall(lmp, narg, arg) {} /* ---------------------------------------------------------------------- */ void FixWallEES::precompute(int m) { - coeff1[m] = ( 2. / 4725. ) * epsilon[m] * pow(sigma[m],12.0); - coeff2[m] = ( 1. / 24. ) * epsilon[m] * pow(sigma[m],6.0); + coeff1[m] = (2.0 / 4725.0) * epsilon[m] * powint(sigma[m], 12); + coeff2[m] = (1.0 / 24.0) * epsilon[m] * powint(sigma[m], 6); - coeff3[m] = ( 2. / 315. ) * epsilon[m] * pow(sigma[m],12.0); - coeff4[m] = ( 1. / 3. ) * epsilon[m] * pow(sigma[m],6.0); + coeff3[m] = (2.0 / 315.0) * epsilon[m] * powint(sigma[m], 12); + coeff4[m] = (1.0 / 3.0) * epsilon[m] * powint(sigma[m], 6); - coeff5[m] = ( 4. / 315. ) * epsilon[m] * pow(sigma[m],12.0); - coeff6[m] = ( 1. / 12. ) * epsilon[m] * pow(sigma[m],6.0); + coeff5[m] = (4.0 / 315.0) * epsilon[m] * powint(sigma[m], 12); + coeff6[m] = (1.0 / 12.0) * epsilon[m] * powint(sigma[m], 6); } /* ---------------------------------------------------------------------- */ void FixWallEES::init() { avec = dynamic_cast(atom->style_match("ellipsoid")); - if (!avec) - error->all(FLERR,"Fix wall/ees requires atom style ellipsoid"); + if (!avec) error->all(FLERR, "Fix wall/ees requires atom style ellipsoid"); // check that all particles are finite-size ellipsoids // no point particles allowed, spherical is OK @@ -62,12 +61,12 @@ void FixWallEES::init() for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) - if (ellipsoid[i] < 0) - error->one(FLERR,"Fix wall/ees requires extended particles"); + if (ellipsoid[i] < 0) error->one(FLERR, "Fix wall/ees requires extended particles"); FixWall::init(); } +// clang-format off /* ---------------------------------------------------------------------- interaction of all particles in group with a wall diff --git a/src/fix_wall_lj1043.cpp b/src/fix_wall_lj1043.cpp index e8ab57bc43..b44970677e 100644 --- a/src/fix_wall_lj1043.cpp +++ b/src/fix_wall_lj1043.cpp @@ -19,11 +19,13 @@ #include "atom.h" #include "math_const.h" +#include "math_special.h" #include using namespace LAMMPS_NS; -using namespace MathConst; +using MathConst::MY_2PI; +using MathSpecial::powint; /* ---------------------------------------------------------------------- */ @@ -36,9 +38,9 @@ FixWallLJ1043::FixWallLJ1043(LAMMPS *lmp, int narg, char **arg) : FixWall(lmp, n void FixWallLJ1043::precompute(int m) { - coeff1[m] = MY_2PI * 2.0 / 5.0 * epsilon[m] * pow(sigma[m], 10.0); - coeff2[m] = MY_2PI * epsilon[m] * pow(sigma[m], 4.0); - coeff3[m] = MY_2PI * pow(2.0, 1 / 2.0) / 3 * epsilon[m] * pow(sigma[m], 3.0); + coeff1[m] = MY_2PI * 2.0 / 5.0 * epsilon[m] * powint(sigma[m], 10); + coeff2[m] = MY_2PI * epsilon[m] * powint(sigma[m], 4); + coeff3[m] = MY_2PI * pow(2.0, 1 / 2.0) / 3 * epsilon[m] * powint(sigma[m], 3); coeff4[m] = 0.61 / pow(2.0, 1 / 2.0) * sigma[m]; coeff5[m] = coeff1[m] * 10.0; coeff6[m] = coeff2[m] * 4.0; @@ -48,7 +50,7 @@ void FixWallLJ1043::precompute(int m) double r2inv = rinv * rinv; double r4inv = r2inv * r2inv; offset[m] = coeff1[m] * r4inv * r4inv * r2inv - coeff2[m] * r4inv - - coeff3[m] * pow(cutoff[m] + coeff4[m], -3.0); + coeff3[m] * powint(cutoff[m] + coeff4[m], -3); } /* ---------------------------------------------------------------------- */ @@ -82,10 +84,10 @@ void FixWallLJ1043::wall_particle(int m, int which, double coord) fwall = side * (coeff5[m] * r10inv * rinv - coeff6[m] * r4inv * rinv - - coeff7[m] * pow(delta + coeff4[m], -4.0)); + coeff7[m] * powint(delta + coeff4[m], -4)); f[i][dim] -= fwall; ewall[0] += coeff1[m] * r10inv - coeff2[m] * r4inv - - coeff3[m] * pow(delta + coeff4[m], -3.0) - offset[m]; + coeff3[m] * powint(delta + coeff4[m], -3) - offset[m]; ewall[m + 1] += fwall; if (evflag) { diff --git a/src/fix_wall_lj126.cpp b/src/fix_wall_lj126.cpp index 5c8f0cedd4..f0f7750edb 100644 --- a/src/fix_wall_lj126.cpp +++ b/src/fix_wall_lj126.cpp @@ -12,11 +12,15 @@ ------------------------------------------------------------------------- */ #include "fix_wall_lj126.h" + #include "atom.h" #include "error.h" +#include "math_special.h" + #include using namespace LAMMPS_NS; +using MathSpecial::powint; /* ---------------------------------------------------------------------- */ @@ -29,10 +33,10 @@ FixWallLJ126::FixWallLJ126(LAMMPS *lmp, int narg, char **arg) : FixWall(lmp, nar void FixWallLJ126::precompute(int m) { - coeff1[m] = 48.0 * epsilon[m] * pow(sigma[m], 12.0); - coeff2[m] = 24.0 * epsilon[m] * pow(sigma[m], 6.0); - coeff3[m] = 4.0 * epsilon[m] * pow(sigma[m], 12.0); - coeff4[m] = 4.0 * epsilon[m] * pow(sigma[m], 6.0); + coeff1[m] = 48.0 * epsilon[m] * powint(sigma[m], 12); + coeff2[m] = 24.0 * epsilon[m] * powint(sigma[m], 6); + coeff3[m] = 4.0 * epsilon[m] * powint(sigma[m], 12); + coeff4[m] = 4.0 * epsilon[m] * powint(sigma[m], 6); double r2inv = 1.0 / (cutoff[m] * cutoff[m]); double r6inv = r2inv * r2inv * r2inv; diff --git a/src/fix_wall_lj93.cpp b/src/fix_wall_lj93.cpp index 4db44fbce2..c0c5e86ce3 100644 --- a/src/fix_wall_lj93.cpp +++ b/src/fix_wall_lj93.cpp @@ -15,10 +15,12 @@ #include "atom.h" #include "error.h" +#include "math_special.h" #include using namespace LAMMPS_NS; +using MathSpecial::powint; /* ---------------------------------------------------------------------- */ @@ -31,10 +33,10 @@ FixWallLJ93::FixWallLJ93(LAMMPS *lmp, int narg, char **arg) : FixWall(lmp, narg, void FixWallLJ93::precompute(int m) { - coeff1[m] = 6.0 / 5.0 * epsilon[m] * pow(sigma[m], 9.0); - coeff2[m] = 3.0 * epsilon[m] * pow(sigma[m], 3.0); - coeff3[m] = 2.0 / 15.0 * epsilon[m] * pow(sigma[m], 9.0); - coeff4[m] = epsilon[m] * pow(sigma[m], 3.0); + coeff1[m] = 6.0 / 5.0 * epsilon[m] * powint(sigma[m], 9); + coeff2[m] = 3.0 * epsilon[m] * powint(sigma[m], 3); + coeff3[m] = 2.0 / 15.0 * epsilon[m] * powint(sigma[m], 9); + coeff4[m] = epsilon[m] * powint(sigma[m], 3); double rinv = 1.0 / cutoff[m]; double r2inv = rinv * rinv; From c667b5d8dc6efd12e141424b249ed366039ca34c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 25 Mar 2023 10:26:07 -0400 Subject: [PATCH 412/448] complete documentation of version change --- doc/src/set.rst | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/doc/src/set.rst b/doc/src/set.rst index 0a90b56b03..488a391fa9 100644 --- a/doc/src/set.rst +++ b/doc/src/set.rst @@ -187,9 +187,9 @@ properties to reset and what the new values are. Some strings like This section describes how to select which atoms to change the properties of, via the *style* and *ID* arguments. -.. versionchanged:: TBD +.. versionchanged:: 28Mar2023 - Support for type labels was added for + Support for type labels was added for selecting atoms by type The style *atom* selects all the atoms in a range of atom IDs. The style *type* selects all the atoms in a range of types or type labels. @@ -245,9 +245,10 @@ from a file. such as the molecule ID, then the floating point value is truncated to its integer portion, e.g. a value of 2.6 would become 2. -.. versionchanged:: TBD +.. versionchanged:: 28Mar2023 - Support for type labels was added for + Support for type labels was added for setting atom, bond, angle, + dihedral, and improper types Keyword *type* sets the atom type or atom type label for all selected atoms. For atom type, specified value must be from 1 to ntypes, where ntypes was set From 5c4dd6d5a3c1aa76c5c51a3e1f57168714e837ec Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 25 Mar 2023 10:26:19 -0400 Subject: [PATCH 413/448] plug memory leaks --- src/set.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/set.cpp b/src/set.cpp index ef5ea427b8..88cd9164e1 100644 --- a/src/set.cpp +++ b/src/set.cpp @@ -97,6 +97,7 @@ void Set::command(int narg, char **arg) char *typestr = utils::expand_type(FLERR,arg[iarg+1],Atom::ATOM,lmp); if (typestr) arg[iarg+1] = typestr; ivalue = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + delete[] typestr; } set(TYPE); iarg += 2; @@ -108,6 +109,7 @@ void Set::command(int narg, char **arg) newtype = utils::inumeric(FLERR,arg[iarg+1],false,lmp); fraction = utils::numeric(FLERR,arg[iarg+2],false,lmp); ivalue = utils::inumeric(FLERR,arg[iarg+3],false,lmp); + delete[] typestr; if (newtype <= 0 || newtype > atom->ntypes) error->all(FLERR,"Invalid type value {} in set type/fraction command", newtype); if (fraction < 0.0 || fraction > 1.0) @@ -124,6 +126,7 @@ void Set::command(int narg, char **arg) newtype = utils::inumeric(FLERR,arg[iarg+1],false,lmp); fraction = utils::numeric(FLERR,arg[iarg+2],false,lmp); ivalue = utils::inumeric(FLERR,arg[iarg+3],false,lmp); + delete[] typestr; if (newtype <= 0 || newtype > atom->ntypes) error->all(FLERR,"Invalid type value {} in set type/ratio command", newtype); if (fraction < 0.0 || fraction > 1.0) @@ -140,6 +143,7 @@ void Set::command(int narg, char **arg) newtype = utils::inumeric(FLERR,arg[iarg+1],false,lmp); nsubset = utils::bnumeric(FLERR,arg[iarg+2],false,lmp); ivalue = utils::inumeric(FLERR,arg[iarg+3],false,lmp); + delete[] typestr; if (newtype <= 0 || newtype > atom->ntypes) error->all(FLERR,"Invalid type value {} in set type/subset command", newtype); if (nsubset < 0) @@ -490,6 +494,7 @@ void Set::command(int narg, char **arg) char *typestr = utils::expand_type(FLERR,arg[iarg+1],Atom::BOND,lmp); if (typestr) arg[iarg+1] = typestr; ivalue = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + delete[] typestr; if (atom->avec->bonds_allow == 0) error->all(FLERR,"Cannot set attribute {} for atom style {}", arg[iarg], atom->get_style()); if (ivalue <= 0 || ivalue > atom->nbondtypes) @@ -502,6 +507,7 @@ void Set::command(int narg, char **arg) char *typestr = utils::expand_type(FLERR,arg[iarg+1],Atom::ANGLE,lmp); if (typestr) arg[iarg+1] = typestr; ivalue = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + delete[] typestr; if (atom->avec->angles_allow == 0) error->all(FLERR,"Cannot set attribute {} for atom style {}", arg[iarg], atom->get_style()); if (ivalue <= 0 || ivalue > atom->nangletypes) @@ -514,6 +520,7 @@ void Set::command(int narg, char **arg) char *typestr = utils::expand_type(FLERR,arg[iarg+1],Atom::DIHEDRAL,lmp); if (typestr) arg[iarg+1] = typestr; ivalue = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + delete[] typestr; if (atom->avec->dihedrals_allow == 0) error->all(FLERR,"Cannot set attribute {} for atom style {}", arg[iarg], atom->get_style()); if (ivalue <= 0 || ivalue > atom->ndihedraltypes) @@ -526,6 +533,7 @@ void Set::command(int narg, char **arg) char *typestr = utils::expand_type(FLERR,arg[iarg+1],Atom::IMPROPER,lmp); if (typestr) arg[iarg+1] = typestr; ivalue = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + delete[] typestr; if (atom->avec->impropers_allow == 0) error->all(FLERR,"Cannot set attribute {} for atom style {}", arg[iarg], atom->get_style()); if (ivalue <= 0 || ivalue > atom->nimpropertypes) @@ -760,8 +768,10 @@ void Set::selection(int n) else select[i] = 0; } else if (style == TYPE_SELECT) { - char *typestr = utils::expand_type(FLERR,id,Atom::ATOM,lmp); - if (typestr) id = typestr; + if (char *typestr = utils::expand_type(FLERR,id,Atom::ATOM,lmp)) { + delete[] id; + id = typestr; + } utils::bounds(FLERR,id,1,atom->ntypes,nlo,nhi,error); int *type = atom->type; From 5074d589fe3f466b09cbab9839df5fd8ae837440 Mon Sep 17 00:00:00 2001 From: Yaser Afshar Date: Sat, 25 Mar 2023 08:25:56 -0700 Subject: [PATCH 414/448] delete created typestr --- src/atom.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/atom.cpp b/src/atom.cpp index 855c7385fa..71c8a06aa4 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -1959,6 +1959,8 @@ void Atom::set_mass(const char *file, int line, int /*narg*/, char **arg) mass[itype] = value; mass_setflag[itype] = 1; } + + delete[] typestr; } /* ---------------------------------------------------------------------- From 47e3da2c7b3ca147e97c235e8f3615d0b342c31f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 25 Mar 2023 18:09:23 -0400 Subject: [PATCH 415/448] fix uninitialized data access bug --- src/GRANULAR/fix_wall_gran_region.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/GRANULAR/fix_wall_gran_region.cpp b/src/GRANULAR/fix_wall_gran_region.cpp index 02cbd94510..d1f8aeaa3d 100644 --- a/src/GRANULAR/fix_wall_gran_region.cpp +++ b/src/GRANULAR/fix_wall_gran_region.cpp @@ -124,10 +124,8 @@ void FixWallGranRegion::init() void FixWallGranRegion::post_force(int /*vflag*/) { int i, m, nc, iwall; - double dx, dy, dz, meff; double *forces, *torquesi; - double vwall[3]; - double w0[3] = {0.0}; + double meff, vwall[3], w0[3] = {0.0, 0.0, 0.0}; bool touchflag = false; // do not update shear history during setup @@ -283,9 +281,9 @@ void FixWallGranRegion::post_force(int /*vflag*/) array_atom[i][1] = forces[0]; array_atom[i][2] = forces[1]; array_atom[i][3] = forces[2]; - array_atom[i][4] = x[i][0] - dx; - array_atom[i][5] = x[i][1] - dy; - array_atom[i][6] = x[i][2] - dz; + array_atom[i][4] = x[i][0] - model->dx[0]; + array_atom[i][5] = x[i][1] - model->dx[1]; + array_atom[i][6] = x[i][2] - model->dx[2]; array_atom[i][7] = radius[i]; } } From cfac692012adc92a56db440834ce4454808495df Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 25 Mar 2023 18:33:34 -0400 Subject: [PATCH 416/448] plug memory leaks in fix electrode/conp --- src/ELECTRODE/fix_electrode_conp.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/ELECTRODE/fix_electrode_conp.cpp b/src/ELECTRODE/fix_electrode_conp.cpp index beecc18f68..412a34a656 100644 --- a/src/ELECTRODE/fix_electrode_conp.cpp +++ b/src/ELECTRODE/fix_electrode_conp.cpp @@ -493,6 +493,8 @@ void FixElectrodeConp::setup_post_neighbor() } MPI_Allreduce(MPI_IN_PLACE, &iele_to_group.front(), ngroup, MPI_INT, MPI_MAX, world); + memory->destroy(elastance); + memory->destroy(capacitance); memory->create(elastance, ngroup, ngroup, "fix_electrode:matrix"); if (read_mat) read_from_file(input_file_mat, elastance, "elastance"); @@ -641,6 +643,8 @@ void FixElectrodeConp::setup_pre_exchange() // create_taglist int const nprocs = comm->nprocs; tagint *tag = atom->tag; + delete[] recvcounts; + delete[] displs; recvcounts = new int[nprocs]; displs = new int[nprocs]; @@ -1219,9 +1223,10 @@ FixElectrodeConp::~FixElectrodeConp() } if (!modify->get_fix_by_id(id)) // avoid segfault if derived fixes' ctor throws err atom->delete_callback(id, Atom::GROW); // atomvec track local electrode atoms + + delete[] recvcounts; + delete[] displs; if (matrix_algo) { - delete[] recvcounts; - delete[] displs; memory->destroy(iele_gathered); memory->destroy(buf_gathered); memory->destroy(potential_iele); @@ -1229,11 +1234,10 @@ FixElectrodeConp::~FixElectrodeConp() memory->destroy(potential_i); delete elyt_vector; + memory->destroy(elastance); + memory->destroy(capacitance); if (need_elec_vector) delete elec_vector; - if (algo == Algo::MATRIX_INV) - memory->destroy(capacitance); - else if (matrix_algo) - memory->destroy(elastance); + if (algo == Algo::MATRIX_INV) memory->destroy(capacitance); } /* ---------------------------------------------------------------------- */ From 315d0733f77482c08bc720514b0194c19eef6f5b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 25 Mar 2023 19:00:04 -0400 Subject: [PATCH 417/448] improve error messages and remove redundant fmt::format() calls --- src/ELECTRODE/fix_electrode_conp.cpp | 78 ++++++++++++---------------- 1 file changed, 33 insertions(+), 45 deletions(-) diff --git a/src/ELECTRODE/fix_electrode_conp.cpp b/src/ELECTRODE/fix_electrode_conp.cpp index 412a34a656..ff61eef30e 100644 --- a/src/ELECTRODE/fix_electrode_conp.cpp +++ b/src/ELECTRODE/fix_electrode_conp.cpp @@ -124,7 +124,7 @@ FixElectrodeConp::FixElectrodeConp(LAMMPS *lmp, int narg, char **arg) : if ((strcmp(arg[iarg], "couple") == 0)) { if (iarg + 3 > narg) error->all(FLERR, "Need two arguments after couple keyword"); int id = group->find(arg[++iarg]); - if (id < 0) error->all(FLERR, "Group does not exist"); + if (id < 0) error->all(FLERR, "Group {} does not exist", arg[iarg]); groups.push_back(id); group_bits.push_back(group->bitmask[id]); ++iarg; @@ -140,7 +140,7 @@ FixElectrodeConp::FixElectrodeConp(LAMMPS *lmp, int narg, char **arg) : group_psi.push_back(utils::numeric(FLERR, arg[iarg], false, lmp)); } } else if ((strcmp(arg[iarg], "algo") == 0)) { - if (!default_algo) error->one(FLERR, fmt::format("Algorithm can be set once, only")); + if (!default_algo) error->one(FLERR, "Algorithm can be set only once"); default_algo = false; if (iarg + 2 > narg) error->all(FLERR, "Need one argument after algo command"); char *algo_arg = arg[++iarg]; @@ -157,7 +157,7 @@ FixElectrodeConp::FixElectrodeConp(LAMMPS *lmp, int narg, char **arg) : matrix_algo = false; cg_algo = true; } else { - error->all(FLERR, "Invalid argument after algo keyword"); + error->all(FLERR, "Unknown algo keyword {}", algo_arg); } if (cg_algo) { if (iarg + 2 > narg) error->all(FLERR, "Need one argument after algo *cg command"); @@ -175,7 +175,7 @@ FixElectrodeConp::FixElectrodeConp(LAMMPS *lmp, int narg, char **arg) : write_vec = true; output_file_vec = arg[++iarg]; } else { - error->all(FLERR, "Illegal fix electrode/conp command with write"); + error->all(FLERR, "Illegal fix {} command with write", style); } } else if ((strncmp(arg[iarg], "read", 4) == 0)) { if (iarg + 2 > narg) error->all(FLERR, "Need one argument after read command"); @@ -186,12 +186,12 @@ FixElectrodeConp::FixElectrodeConp(LAMMPS *lmp, int narg, char **arg) : read_mat = true; input_file_mat = arg[++iarg]; } else { - error->all(FLERR, "Illegal fix electrode/conp command with read"); + error->all(FLERR, "Illegal fix {} command with read", style); } } else if ((strcmp(arg[iarg], "temp") == 0)) { if (iarg + 4 > narg) error->all(FLERR, "Need three arguments after temp command"); - if (strcmp(this->style, "electrode/thermo") != 0) - error->all(FLERR, "temp keyword not available for this electrode fix"); + if (!utils::strmatch(style, "electrode/thermo")) + error->all(FLERR, "temp keyword not available for fix {}", style); thermo_temp = force->boltz / force->qe2f * utils::numeric(FLERR, arg[++iarg], false, lmp); thermo_time = utils::numeric(FLERR, arg[++iarg], false, lmp); thermo_init = utils::inumeric(FLERR, arg[++iarg], false, lmp); @@ -203,7 +203,7 @@ FixElectrodeConp::FixElectrodeConp(LAMMPS *lmp, int narg, char **arg) : } else if ((strcmp(arg[iarg], "ffield") == 0)) { ffield = utils::logical(FLERR, arg[++iarg], false, lmp); } else { - error->all(FLERR, "Illegal fix electrode/conp command"); + error->all(FLERR, "Unknown keyword {} for fix {} command", arg[iarg], style); } iarg++; } @@ -241,9 +241,7 @@ FixElectrodeConp::FixElectrodeConp(LAMMPS *lmp, int narg, char **arg) : } if (read_inv && read_mat) error->all(FLERR, "Cannot read matrix from two files"); if (write_mat && read_inv) - error->all(FLERR, - "Cannot write elastance matrix if reading capacitance matrix " - "from file"); + error->all(FLERR, "Cannot write elastance matrix if reading capacitance matrix from file"); num_of_groups = static_cast(groups.size()); size_vector = num_of_groups; array_flag = !!(algo == Algo::MATRIX_INV); @@ -291,7 +289,7 @@ FixElectrodeConp::FixElectrodeConp(LAMMPS *lmp, int narg, char **arg) : int FixElectrodeConp::modify_param(int narg, char **arg) { if (strcmp(arg[0], "tf") == 0) { - if (narg < 4) error->all(FLERR, fmt::format("Incorrect number of arguments for fix_modify tf")); + if (narg < 4) error->all(FLERR, "Incorrect number of arguments for fix_modify {}", style); tfflag = true; // read atom type, Thomas-Fermi length, and voronoi volume (reciprocal // number density) @@ -323,13 +321,12 @@ int FixElectrodeConp::modify_param(int narg, char **arg) return 4; } else if (strcmp(arg[0], "timer") == 0) { - if (narg < 2) - error->all(FLERR, fmt::format("Incorrect number of arguments for fix_modify timer")); + if (narg < 2) error->all(FLERR, "Incorrect number of arguments for fix_modify {} timer", style); timer_flag = utils::logical(FLERR, arg[1], false, lmp); return 2; } else - error->all(FLERR, "Invalid argument for fix_modify electrode"); + error->all(FLERR, "Unknown argument {} for fix_modify {}", arg[0], style); return 0; } @@ -351,11 +348,11 @@ int FixElectrodeConp::modify_param(const std::string ¶m_str) int FixElectrodeConp::groupnum_from_name(char *groupname) { int id = group->find(groupname); - if (id < 0) error->all(FLERR, fmt::format("Group {} does not exist", groupname)); + if (id < 0) error->all(FLERR, "Group {} does not exist", groupname); for (int g = 0; g < num_of_groups; g++) { if (groups[g] == id) return g; } - error->all(FLERR, fmt::format("Group {} is not coupled by fix electrode", groupname)); + error->all(FLERR, "Group {} is not coupled by fix electrode", groupname); return -1; // dummy return value } @@ -445,7 +442,7 @@ void FixElectrodeConp::setup_post_neighbor() } MPI_Allreduce(MPI_IN_PLACE, &unset_tf, 1, MPI_INT, MPI_SUM, world); if (unset_tf) - error->all(FLERR, fmt::format("Thomas-Fermi parameters not set for all types in electrode")); + error->all(FLERR, "Thomas-Fermi parameters not set for all types in fix {}", style); } // get equal-style variable ids: @@ -454,11 +451,9 @@ void FixElectrodeConp::setup_post_neighbor() if (group_psi_var_styles[g] == VarStyle::CONST) continue; const char *var_name = group_psi_var_names[g].c_str(); int var_id = input->variable->find(var_name); - if (var_id < 0) - error->all(FLERR, fmt::format("Variable '{}' for fix electrode does not exist", var_name)); + if (var_id < 0) error->all(FLERR, "Variable '{}' for fix {} does not exist", var_name, style); if (!input->variable->equalstyle(var_id)) - error->all(FLERR, - fmt::format("Variable '{}' for fix electrode is not equal-style", var_name)); + error->all(FLERR, "Variable '{}' for fix {} is not equal-style", var_name, style); group_psi_var_ids[g] = var_id; } @@ -508,9 +503,8 @@ void FixElectrodeConp::setup_post_neighbor() if (comm->me == 0 && write_mat) { auto f_mat = fopen(output_file_mat.c_str(), "w"); if (f_mat == nullptr) - error->one(FLERR, - fmt::format("Cannot open elastance matrix file {}: {}", output_file_mat, - utils::getsyserror())); + error->one(FLERR, "Cannot open elastance matrix file {}: {}", output_file_mat, + utils::getsyserror()); write_to_file(f_mat, taglist_bygroup, order_matrix(group_idx, elastance)); fclose(f_mat); } @@ -534,8 +528,7 @@ void FixElectrodeConp::setup_post_neighbor() compute_macro_matrices(); MPI_Barrier(world); if (timer_flag && (comm->me == 0)) - utils::logmesg( - lmp, fmt::format("SD-vector and macro matrices time: {:.4g} s\n", MPI_Wtime() - start)); + utils::logmesg(lmp, "SD-vector and macro matrices time: {:.4g} s\n", MPI_Wtime() - start); } } // initial charges and b vector @@ -550,11 +543,9 @@ void FixElectrodeConp::setup_post_neighbor() if (comm->me == 0) { auto f_vec = fopen(output_file_vec.c_str(), "w"); if (f_vec == nullptr) - error->one( - FLERR, - fmt::format("Cannot open vector file {}: {}", output_file_vec, utils::getsyserror())); + error->one(FLERR, "Cannot open vector file {}: {}", output_file_vec, utils::getsyserror()); std::vector> vec(ngroup, std::vector(1)); - for (int i = 0; i < ngroup; i++) { vec[group_idx[i]][0] = potential_iele[i]; } + for (int i = 0; i < ngroup; i++) vec[group_idx[i]][0] = potential_iele[i]; write_to_file(f_vec, taglist_bygroup, vec); fclose(f_vec); } @@ -564,9 +555,8 @@ void FixElectrodeConp::setup_post_neighbor() if (comm->me == 0) { auto f_inv = fopen(output_file_inv.c_str(), "w"); if (f_inv == nullptr) - error->one(FLERR, - fmt::format("Cannot open capacitance matrix file {}: {}", output_file_inv, - utils::getsyserror())); + error->one(FLERR, "Cannot open capacitance matrix file {}: {}", output_file_inv, + utils::getsyserror()); write_to_file(f_inv, taglist_bygroup, order_matrix(group_idx, capacitance)); fclose(f_inv); } @@ -603,7 +593,7 @@ void FixElectrodeConp::invert() if (info_rf != 0 || info_ri != 0) error->all(FLERR, "CONP matrix inversion failed!"); MPI_Barrier(world); if (timer_flag && (comm->me == 0)) - utils::logmesg(lmp, fmt::format("Invert time: {:.4g} s\n", MPI_Wtime() - invert_time)); + utils::logmesg(lmp, "Invert time: {:.4g} s\n", MPI_Wtime() - invert_time); } /* ---------------------------------------------------------------------- */ @@ -694,9 +684,9 @@ void FixElectrodeConp::setup_pre_exchange() // create_taglist mem_needed /= (1024 * 1024 * 1024); // convert to GiB if (mem_needed > 0.5 && comm->me == 0) error->warning(FLERR, - fmt::format("Please ensure there is sufficient memory for fix electrode " - "(anticipated usage is at least {:.1f} GiB per proc)", - mem_needed)); + "Please ensure there is sufficient memory for fix electrode " + "(anticipated usage is at least {:.1f} GiB per proc)", + mem_needed); } /* ---------------------------------------------------------------------- */ @@ -867,7 +857,7 @@ void FixElectrodeConp::update_charges() update_time += MPI_Wtime() - start; } -std::vector FixElectrodeConp::ele_ele_interaction(const std::vector& q_local) +std::vector FixElectrodeConp::ele_ele_interaction(const std::vector &q_local) { assert(q_local.size() == nlocalele); assert(algo == Algo::CG || algo == Algo::MATRIX_CG); @@ -1211,13 +1201,11 @@ FixElectrodeConp::~FixElectrodeConp() if (comm->me == 0) { try { if (timer_flag) { - utils::logmesg(lmp, fmt::format("Multiplication time: {:.4g} s\n", mult_time)); - utils::logmesg(lmp, fmt::format("Update time: {:.4g} s\n", update_time)); + utils::logmesg(lmp, "Multiplication time: {:.4g} s\n", mult_time); + utils::logmesg(lmp, "Update time: {:.4g} s\n", update_time); } if (algo == Algo::CG || algo == Algo::MATRIX_CG) - utils::logmesg( - lmp, - fmt::format("Average conjugate gradient steps: {:.4g}\n", n_cg_step * 1. / n_call)); + utils::logmesg(lmp, "Average conjugate gradient steps: {:.4g}\n", n_cg_step * 1. / n_call); } catch (std::exception &) { } } @@ -1304,7 +1292,7 @@ void FixElectrodeConp::read_from_file(const std::string &input_file, double **ar } } if ((bigint) idx.size() != ngroup) - error->all(FLERR, fmt::format("Read tags do not match taglist of electrode/conp")); + error->all(FLERR, "Read tags do not match taglist of fix {}", style); for (bigint i = 0; i < ngroup; i++) { bigint const ii = idx[i]; for (bigint j = 0; j < ngroup; j++) array[i][j] = matrix[ii][idx[j]]; From e446b950d9f2375a9603758e371d7c8c08221843 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 25 Mar 2023 19:10:28 -0400 Subject: [PATCH 418/448] silence compiler warnings --- src/ELECTRODE/fix_electrode_conp.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/ELECTRODE/fix_electrode_conp.cpp b/src/ELECTRODE/fix_electrode_conp.cpp index ff61eef30e..872a5735c7 100644 --- a/src/ELECTRODE/fix_electrode_conp.cpp +++ b/src/ELECTRODE/fix_electrode_conp.cpp @@ -859,7 +859,7 @@ void FixElectrodeConp::update_charges() std::vector FixElectrodeConp::ele_ele_interaction(const std::vector &q_local) { - assert(q_local.size() == nlocalele); + assert((int)q_local.size() == nlocalele); assert(algo == Algo::CG || algo == Algo::MATRIX_CG); if (algo == Algo::CG) { set_charges(q_local); @@ -873,7 +873,7 @@ std::vector FixElectrodeConp::ele_ele_interaction(const std::vector q_local) { - assert(q_local.size() == nlocalele); + assert((int)q_local.size() == nlocalele); double *q = atom->q; for (int i = 0; i < nlocalele; i++) q[atom->map(taglist_local[i])] = q_local[i]; comm->forward_comm(this); @@ -942,7 +942,7 @@ std::vector FixElectrodeConp::scale_vector(double alpha, std::vector FixElectrodeConp::add_nlocalele(std::vector a, std::vector b) { - assert(a.size() == nlocalele && b.size() == nlocalele); + assert(((int)a.size() == nlocalele) && ((int)b.size() == nlocalele)); for (int i = 0; i < nlocalele; i++) a[i] += b[i]; return a; } @@ -951,7 +951,7 @@ std::vector FixElectrodeConp::add_nlocalele(std::vector a, std:: double FixElectrodeConp::dot_nlocalele(std::vector a, std::vector b) { - assert(a.size() == nlocalele && b.size() == nlocalele); + assert(((int)a.size() == nlocalele) && ((int)b.size() == nlocalele)); double out = 0.; for (int i = 0; i < nlocalele; i++) out += a[i] * b[i]; MPI_Allreduce(MPI_IN_PLACE, &out, 1, MPI_DOUBLE, MPI_SUM, world); @@ -962,7 +962,7 @@ double FixElectrodeConp::dot_nlocalele(std::vector a, std::vector FixElectrodeConp::times_elastance(std::vector x) { - assert(x.size() == ngroup); + assert((int)x.size() == ngroup); auto out = std::vector(nlocalele, 0.); for (int i = 0; i < nlocalele; i++) { double *_noalias row = elastance[list_iele[i]]; @@ -1413,7 +1413,7 @@ void FixElectrodeConp::gather_list_iele() } } nlocalele = static_cast(taglist_local.size()); // just for safety - assert(iele_to_group_local.size() == nlocalele); + assert((int)iele_to_group_local.size() == nlocalele); if (matrix_algo) { MPI_Allgather(&nlocalele, 1, MPI_INT, recvcounts, 1, MPI_INT, world); From 41e13e99fb6839d8da49e3e780b3830bf85de0f4 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 25 Mar 2023 21:44:43 -0400 Subject: [PATCH 419/448] avoid uninitialized data access --- src/modify.cpp | 1 + src/output.cpp | 2 ++ 2 files changed, 3 insertions(+) diff --git a/src/modify.cpp b/src/modify.cpp index bd62b03597..bfdfba3fbd 100644 --- a/src/modify.cpp +++ b/src/modify.cpp @@ -80,6 +80,7 @@ Modify::Modify(LAMMPS *lmp) : Pointers(lmp) list_timeflag = nullptr; + restart_pbc_any = 0; nfix_restart_global = 0; id_restart_global = style_restart_global = nullptr; state_restart_global = nullptr; diff --git a/src/output.cpp b/src/output.cpp index a6e81d8fca..6282b85b76 100644 --- a/src/output.cpp +++ b/src/output.cpp @@ -76,6 +76,8 @@ Output::Output(LAMMPS *lmp) : Pointers(lmp) ndump = 0; max_dump = 0; + any_time_dumps = 0; + next_dump_any = next_time_dump_any = MAXBIGINT; mode_dump = nullptr; every_dump = nullptr; every_time_dump = nullptr; From 5390b2b0aa5cea8d7dc0b5d3a5c3bc5c0535b15f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 25 Mar 2023 22:01:17 -0400 Subject: [PATCH 420/448] fix typo in test --- unittest/commands/test_groups.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unittest/commands/test_groups.cpp b/unittest/commands/test_groups.cpp index 25d687ed7b..57820a4548 100644 --- a/unittest/commands/test_groups.cpp +++ b/unittest/commands/test_groups.cpp @@ -249,7 +249,7 @@ TEST_F(GroupTest, Molecular) ASSERT_DOUBLE_EQ(group->mass(group->find("half")), 40); ASSERT_DOUBLE_EQ(group->mass(group->find("half"), domain->get_region_by_id("top")), 10); ASSERT_NEAR(group->charge(group->find("top")), 0, 1.0e-14); - ASSERT_NEAR(group->charge(group->find("right"), domain->get_region_by_id("top")), 0, 1.0e-14); + ASSERT_NEAR(group->charge(group->find("three"), domain->get_region_by_id("top")), 0, 1.0e-14); TEST_FAILURE(".*ERROR: Unknown group include keyword xxx.*", command("group three include xxx");); From 6facb8d424c483eb4bb1caf4b3f718e54b4608f0 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 26 Mar 2023 17:19:33 -0400 Subject: [PATCH 421/448] use override instead of virtual as per style conventions --- src/ASPHERE/pair_ylz.h | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/ASPHERE/pair_ylz.h b/src/ASPHERE/pair_ylz.h index 976a4d2465..f2ac26aa06 100644 --- a/src/ASPHERE/pair_ylz.h +++ b/src/ASPHERE/pair_ylz.h @@ -28,18 +28,18 @@ namespace LAMMPS_NS { class PairYLZ : public Pair { public: PairYLZ(LAMMPS *lmp); - virtual ~PairYLZ(); - virtual void compute(int, int); - virtual void settings(int, char **); + ~PairYLZ() override; + void compute(int, int) override; + void settings(int, char **) override; void coeff(int, char **); - virtual void init_style(); - double init_one(int, int); - void write_restart(FILE *); - void read_restart(FILE *); - void write_restart_settings(FILE *); - void read_restart_settings(FILE *); - void write_data(FILE *); - void write_data_all(FILE *); + void init_style() override; + double init_one(int, int) override; + void write_restart(FILE *) override; + void read_restart(FILE *) override; + void write_restart_settings(FILE *) override; + void read_restart_settings(FILE *) override; + void write_data(FILE *) override; + void write_data_all(FILE *) override; protected: double cut_global; From d31f7544512e782f26aff7f43629cfe684fbc09a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 26 Mar 2023 17:26:03 -0400 Subject: [PATCH 422/448] simplify --- src/atom_vec_ellipsoid.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/atom_vec_ellipsoid.cpp b/src/atom_vec_ellipsoid.cpp index 59b8310d3f..3eaa927384 100644 --- a/src/atom_vec_ellipsoid.cpp +++ b/src/atom_vec_ellipsoid.cpp @@ -225,8 +225,7 @@ int AtomVecEllipsoid::unpack_border_bonus(int n, int first, double *buf) m = 0; last = first + n; for (i = first; i < last; i++) { - ellipsoid[i] = (int) ubuf(buf[m++]).i; - if (ellipsoid[i] == 0) + if (ubuf(buf[m++]).i == 0) ellipsoid[i] = -1; else { j = nlocal_bonus + nghost_bonus; @@ -283,8 +282,7 @@ int AtomVecEllipsoid::unpack_exchange_bonus(int ilocal, double *buf) { int m = 0; - ellipsoid[ilocal] = (int) ubuf(buf[m++]).i; - if (ellipsoid[ilocal] == 0) + if (ubuf(buf[m++]).i == 0) ellipsoid[ilocal] = -1; else { if (nlocal_bonus == nmax_bonus) grow_bonus(); From a1a0186438955871e0cea6dfdf697beae887c7fc Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 26 Mar 2023 17:26:47 -0400 Subject: [PATCH 423/448] move initialization of all pointers to null to initializer list --- src/pair.cpp | 38 ++++++++++++++++---------------------- 1 file changed, 16 insertions(+), 22 deletions(-) diff --git a/src/pair.cpp b/src/pair.cpp index 0a6849c8dc..d5d815d4a4 100644 --- a/src/pair.cpp +++ b/src/pair.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -32,16 +31,17 @@ #include "suffix.h" #include "update.h" -#include // IWYU pragma: keep -#include // IWYU pragma: keep +#include // IWYU pragma: keep +#include // IWYU pragma: keep #include #include using namespace LAMMPS_NS; using namespace MathConst; -enum{NONE,RLINEAR,RSQ,BMP}; -static const std::string mixing_rule_names[Pair::SIXTHPOWER+1] = {"geometric", "arithmetic", "sixthpower" }; +enum { NONE, RLINEAR, RSQ, BMP }; +static const std::string mixing_rule_names[Pair::SIXTHPOWER + 1] = {"geometric", "arithmetic", + "sixthpower"}; // allocate space for static class instance variable and initialize it @@ -49,7 +49,15 @@ int Pair::instance_total = 0; /* ---------------------------------------------------------------------- */ -Pair::Pair(LAMMPS *lmp) : Pointers(lmp) +Pair::Pair(LAMMPS *lmp) : + Pointers(lmp), eatom(nullptr), vatom(nullptr), cvatom(nullptr), cutsq(nullptr), + setflag(nullptr), cutghost(nullptr), rtable(nullptr), drtable(nullptr), ftable(nullptr), + dftable(nullptr), ctable(nullptr), dctable(nullptr), etable(nullptr), detable(nullptr), + ptable(nullptr), dptable(nullptr), vtable(nullptr), dvtable(nullptr), rdisptable(nullptr), + drdisptable(nullptr), fdisptable(nullptr), dfdisptable(nullptr), edisptable(nullptr), + dedisptable(nullptr), pvector(nullptr), svector(nullptr), list(nullptr), listhalf(nullptr), + listfull(nullptr), list_tally_compute(nullptr), elements(nullptr), elem1param(nullptr), + elem2param(nullptr), elem3param(nullptr), map(nullptr) { instance_me = instance_total++; @@ -71,12 +79,7 @@ Pair::Pair(LAMMPS *lmp) : Pointers(lmp) did_mix = false; nextra = 0; - pvector = nullptr; single_extra = 0; - svector = nullptr; - - setflag = nullptr; - cutsq = nullptr; ewaldflag = pppmflag = msmflag = dispersionflag = tip4pflag = dipoleflag = spinflag = 0; reinitflag = 1; @@ -95,27 +98,16 @@ Pair::Pair(LAMMPS *lmp) : Pointers(lmp) ndisptablebits = 12; tabinner = sqrt(2.0); tabinner_disp = sqrt(2.0); - ftable = nullptr; - fdisptable = nullptr; trim_flag = 1; allocated = 0; suffix_flag = Suffix::NONE; maxeatom = maxvatom = maxcvatom = 0; - eatom = nullptr; - vatom = nullptr; - cvatom = nullptr; num_tally_compute = 0; - list_tally_compute = nullptr; nelements = nparams = maxparam = 0; - elements = nullptr; - elem1param = nullptr; - elem2param = nullptr; - elem3param = nullptr; - map = nullptr; nondefault_history_transfer = 0; beyond_contact = 0; @@ -151,6 +143,8 @@ Pair::~Pair() memory->destroy(cvatom); } +// clang-format off + /* ---------------------------------------------------------------------- modify parameters of the pair style pair_hybrid has its own version of this routine From 77877344969c5cf4e6c5c8233f8d8495b08dd3aa Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 26 Mar 2023 17:28:18 -0400 Subject: [PATCH 424/448] move check for non-ellipsoid atoms to compute function so it is compatible with hybrid pair styles --- src/ASPHERE/pair_ylz.cpp | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/src/ASPHERE/pair_ylz.cpp b/src/ASPHERE/pair_ylz.cpp index 31cbf3f929..a1b4ce703a 100644 --- a/src/ASPHERE/pair_ylz.cpp +++ b/src/ASPHERE/pair_ylz.cpp @@ -110,10 +110,18 @@ void PairYLZ::compute(int eflag, int vflag) // loop over neighbors of my atoms + int flag = 0; for (ii = 0; ii < inum; ii++) { i = ilist[ii]; itype = type[i]; + // count if pair has non-ellipsoid atom and skip over it to avoid segfault + + if (ellipsoid[i] < 0) { + ++flag; + continue; + } + iquat = bonus[ellipsoid[i]].quat; MathExtra::quat_to_mat_trans(iquat, a1); @@ -133,6 +141,13 @@ void PairYLZ::compute(int eflag, int vflag) rsq = MathExtra::dot3(r12, r12); jtype = type[j]; + // count if pair has non-ellipsoid atom and skip over it to avoid segfault + + if (ellipsoid[j] < 0) { + ++flag; + continue; + } + // compute if less than cutoff if (rsq < cutsq[itype][jtype]) { @@ -177,6 +192,12 @@ void PairYLZ::compute(int eflag, int vflag) } if (vflag_fdotr) virial_fdotr_compute(); + + // error out if any pairs were skipped over because they were not both ellipsoids + + int flag_all; + MPI_Allreduce(&flag, &flag_all, 1, MPI_INT, MPI_MAX, world); + if (flag_all) error->all(FLERR, "All atoms for pair style ylz must be ellipsoids"); } /* ---------------------------------------------------------------------- @@ -260,16 +281,6 @@ void PairYLZ::init_style() if (!avec) error->all(FLERR, "Pair style ylz requires atom style ellipsoid"); neighbor->request(this, instance_me); - - // check that all atoms are ellipsoids - - int flag_all, flag = 0; - const int *ellipsoid = atom->ellipsoid; - const int nlocal = atom->nlocal; - for (int i = 0; i < nlocal; ++i) - if (ellipsoid[i] < 0) flag = 1; - MPI_Allreduce(&flag, &flag_all, 1, MPI_INT, MPI_MAX, world); - if (flag_all) error->all(FLERR, "All atoms must be ellipsoids for pair style ylz"); } /* ---------------------------------------------------------------------- From 0d8623c3f21cddb5f474638ebb0aa6f8906a66d9 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 26 Mar 2023 21:33:37 -0400 Subject: [PATCH 425/448] simplified logic from clang-tidy --- src/ASPHERE/pair_resquared.cpp | 2 +- src/DIFFRACTION/compute_xrd.cpp | 2 +- src/ELECTRODE/electrode_matrix.cpp | 2 +- src/KSPACE/remap.cpp | 2 +- src/MANYBODY/pair_airebo.cpp | 6 +++--- src/MESONT/pair_mesocnt.cpp | 4 ++-- src/MESONT/pair_mesocnt_viscous.cpp | 4 ++-- src/OPENMP/pair_airebo_omp.cpp | 6 +++--- src/REACTION/fix_bond_react.cpp | 6 +++--- src/REPLICA/fix_neb.cpp | 2 +- src/RIGID/fix_rattle.cpp | 28 ++++++++++++++-------------- src/input.cpp | 2 +- 12 files changed, 33 insertions(+), 33 deletions(-) diff --git a/src/ASPHERE/pair_resquared.cpp b/src/ASPHERE/pair_resquared.cpp index 9322425a88..2044b83325 100644 --- a/src/ASPHERE/pair_resquared.cpp +++ b/src/ASPHERE/pair_resquared.cpp @@ -778,7 +778,7 @@ double PairRESquared::resquared_analytic(const int i, const int j, const RE2Vars // torque on j - if (!(force->newton_pair || j < atom->nlocal)) return Ua + Ur; + if (!force->newton_pair && j >= atom->nlocal) return Ua + Ur; MathExtra::vecmat(fourw, wj.aTe, fwae); diff --git a/src/DIFFRACTION/compute_xrd.cpp b/src/DIFFRACTION/compute_xrd.cpp index 48152a7f68..010e5bcb7d 100644 --- a/src/DIFFRACTION/compute_xrd.cpp +++ b/src/DIFFRACTION/compute_xrd.cpp @@ -125,7 +125,7 @@ ComputeXRD::ComputeXRD(LAMMPS *lmp, int narg, char **arg) : if (iarg+2 > narg) error->all(FLERR,"Illegal Compute XRD Command"); LP = utils::numeric(FLERR,arg[iarg+1],false,lmp); - if (!(LP == 1 || LP == 0)) + if (LP != 1 && LP != 0) error->all(FLERR,"Compute XRD: LP must have value of 0 or 1"); iarg += 2; diff --git a/src/ELECTRODE/electrode_matrix.cpp b/src/ELECTRODE/electrode_matrix.cpp index 5faac5a252..7be9119c62 100644 --- a/src/ELECTRODE/electrode_matrix.cpp +++ b/src/ELECTRODE/electrode_matrix.cpp @@ -158,7 +158,7 @@ void ElectrodeMatrix::pair_contribution(double **array) aij *= ElectrodeMath::safe_erfc(g_ewald * r); aij -= ElectrodeMath::safe_erfc(etaij * r) * rinv; // newton on or off? - if (!(newton_pair || j < nlocal)) aij *= 0.5; + if (!newton_pair && j >= nlocal) aij *= 0.5; bigint jpos = tag_to_iele[tag[j]]; array[ipos][jpos] += aij; array[jpos][ipos] += aij; diff --git a/src/KSPACE/remap.cpp b/src/KSPACE/remap.cpp index 2b2883e560..57bde0beca 100644 --- a/src/KSPACE/remap.cpp +++ b/src/KSPACE/remap.cpp @@ -637,7 +637,7 @@ void remap_3d_destroy_plan(struct remap_plan_3d *plan) { // free MPI communicator - if (!((plan->usecollective) && (plan->commringlen == 0))) + if (!(plan->usecollective) || (plan->commringlen != 0)) MPI_Comm_free(&plan->comm); if (plan->usecollective) { diff --git a/src/MANYBODY/pair_airebo.cpp b/src/MANYBODY/pair_airebo.cpp index 6f3706380e..129b9d2218 100644 --- a/src/MANYBODY/pair_airebo.cpp +++ b/src/MANYBODY/pair_airebo.cpp @@ -1775,7 +1775,7 @@ double PairAIREBO::bondorder(int i, int j, double rij[3], double rijmag, double atoml = REBO_neighs_j[l]; atom4 = atoml; ltype = map[type[atoml]]; - if (!(atoml == atomi || atoml == atomk)) { + if (atoml != atomi && atoml != atomk) { r34[0] = x[atom3][0]-x[atom4][0]; r34[1] = x[atom3][1]-x[atom4][1]; r34[2] = x[atom3][2]-x[atom4][2]; @@ -2284,7 +2284,7 @@ double PairAIREBO::bondorderLJ(int i, int j, double /* rij_mod */[3], double rij atoml = REBO_neighs_j[l]; atom4 = atoml; ltype = map[type[atoml]]; - if (!(atoml == atomi || atoml == atomk)) { + if (atoml != atomi && atoml != atomk) { r34[0] = x[atom3][0]-x[atom4][0]; r34[1] = x[atom3][1]-x[atom4][1]; r34[2] = x[atom3][2]-x[atom4][2]; @@ -2732,7 +2732,7 @@ double PairAIREBO::bondorderLJ(int i, int j, double /* rij_mod */[3], double rij atoml = REBO_neighs_j[l]; atom4 = atoml; ltype = map[type[atoml]]; - if (!(atoml == atomi || atoml == atomk)) { + if (atoml != atomi && atoml != atomk) { r34[0] = x[atom3][0]-x[atom4][0]; r34[1] = x[atom3][1]-x[atom4][1]; r34[2] = x[atom3][2]-x[atom4][2]; diff --git a/src/MESONT/pair_mesocnt.cpp b/src/MESONT/pair_mesocnt.cpp index 464d4ba8bc..521c8c5f60 100644 --- a/src/MESONT/pair_mesocnt.cpp +++ b/src/MESONT/pair_mesocnt.cpp @@ -481,7 +481,7 @@ void PairMesoCNT::compute(int eflag, int vflag) geometry(r1, r2, p1, p2, nullptr, p, m, param, basis); if (param[0] > cutoff) continue; - if (!(param[2] < 0 && param[3] > 0)) { + if (param[2] >= 0 || param[3] <= 0) { double salpha = sin(param[1]); double sxi1 = salpha * param[2]; double sxi2 = salpha * param[3]; @@ -503,7 +503,7 @@ void PairMesoCNT::compute(int eflag, int vflag) geometry(r1, r2, p2, p1, qe, p, m, param, basis); if (param[0] > cutoff) continue; - if (!(param[2] < 0 && param[3] > 0)) { + if (param[2] >= 0 || param[3] <= 0) { double hsq = param[0] * param[0]; double calpha = cos(param[1]); double etamin = calpha * param[2]; diff --git a/src/MESONT/pair_mesocnt_viscous.cpp b/src/MESONT/pair_mesocnt_viscous.cpp index 10ce8b8344..be3715be25 100644 --- a/src/MESONT/pair_mesocnt_viscous.cpp +++ b/src/MESONT/pair_mesocnt_viscous.cpp @@ -485,7 +485,7 @@ void PairMesoCNTViscous::compute(int eflag, int vflag) geometry(r1, r2, p1, p2, nullptr, p, m, param, basis); if (param[0] > cutoff) continue; - if (!(param[2] < 0 && param[3] > 0)) { + if (param[2] >= 0 || param[3] <= 0) { double salpha = sin(param[1]); double sxi1 = salpha * param[2]; double sxi2 = salpha * param[3]; @@ -508,7 +508,7 @@ void PairMesoCNTViscous::compute(int eflag, int vflag) geometry(r1, r2, p2, p1, qe, p, m, param, basis); if (param[0] > cutoff) continue; - if (!(param[2] < 0 && param[3] > 0)) { + if (param[2] >= 0 || param[3] <= 0) { double hsq = param[0] * param[0]; double calpha = cos(param[1]); double etamin = calpha * param[2]; diff --git a/src/OPENMP/pair_airebo_omp.cpp b/src/OPENMP/pair_airebo_omp.cpp index f5cd8ffd9d..0872678518 100644 --- a/src/OPENMP/pair_airebo_omp.cpp +++ b/src/OPENMP/pair_airebo_omp.cpp @@ -1546,7 +1546,7 @@ double PairAIREBOOMP::bondorder_thr(int i, int j, double rij[3], double rijmag, atoml = REBO_neighs_j[l]; atom4 = atoml; ltype = map[type[atoml]]; - if (!(atoml == atomi || atoml == atomk)) { + if (atoml != atomi && atoml != atomk) { r34[0] = x[atom3][0]-x[atom4][0]; r34[1] = x[atom3][1]-x[atom4][1]; r34[2] = x[atom3][2]-x[atom4][2]; @@ -2048,7 +2048,7 @@ double PairAIREBOOMP::bondorderLJ_thr(int i, int j, double /* rij_mod */[3], dou atoml = REBO_neighs_j[l]; atom4 = atoml; ltype = map[type[atoml]]; - if (!(atoml == atomi || atoml == atomk)) { + if (atoml != atomi && atoml != atomk) { r34[0] = x[atom3][0]-x[atom4][0]; r34[1] = x[atom3][1]-x[atom4][1]; r34[2] = x[atom3][2]-x[atom4][2]; @@ -2496,7 +2496,7 @@ double PairAIREBOOMP::bondorderLJ_thr(int i, int j, double /* rij_mod */[3], dou atoml = REBO_neighs_j[l]; atom4 = atoml; ltype = map[type[atoml]]; - if (!(atoml == atomi || atoml == atomk)) { + if (atoml != atomi && atoml != atomk) { r34[0] = x[atom3][0]-x[atom4][0]; r34[1] = x[atom3][1]-x[atom4][1]; r34[2] = x[atom3][2]-x[atom4][2]; diff --git a/src/REACTION/fix_bond_react.cpp b/src/REACTION/fix_bond_react.cpp index eaf4dfd0ec..784c163f70 100644 --- a/src/REACTION/fix_bond_react.cpp +++ b/src/REACTION/fix_bond_react.cpp @@ -1358,7 +1358,7 @@ void FixBondReact::superimpose_algorithm() int hang_catch = 0; - while (!(status == ACCEPT || status == REJECT)) { + while (status != ACCEPT && status != REJECT) { for (int i = 0; i < max_natoms; i++) { pioneers[i] = 0; @@ -4176,7 +4176,7 @@ void FixBondReact::ReadConstraints(char *line, int myrxn) tmp[3] = 182.0; rv = sscanf(line,"%*s %s %s %s %s %lg %lg %lg %lg",strargs[0],strargs[1], strargs[2],strargs[3],&tmp[0],&tmp[1],&tmp[2],&tmp[3]); - if (!(rv == 6 || rv == 8)) error->one(FLERR, "Dihedral constraint is incorrectly formatted"); + if (rv != 6 && rv != 8) error->one(FLERR, "Dihedral constraint is incorrectly formatted"); readID(strargs[0], i, myrxn, 0); readID(strargs[1], i, myrxn, 1); readID(strargs[2], i, myrxn, 2); @@ -4198,7 +4198,7 @@ void FixBondReact::ReadConstraints(char *line, int myrxn) constraints[i][myrxn].type = RMSD; strcpy(strargs[0],"0"); rv = sscanf(line,"%*s %lg %s",&tmp[0],strargs[0]); - if (!(rv == 1 || rv == 2)) error->one(FLERR, "RMSD constraint is incorrectly formatted"); + if (rv != 1 && rv != 2) error->one(FLERR, "RMSD constraint is incorrectly formatted"); constraints[i][myrxn].par[0] = tmp[0]; // RMSDmax constraints[i][myrxn].id[0] = -1; // optional molecule fragment if (isalpha(strargs[0][0])) { diff --git a/src/REPLICA/fix_neb.cpp b/src/REPLICA/fix_neb.cpp index 1ef3019b92..f2962d9b9d 100644 --- a/src/REPLICA/fix_neb.cpp +++ b/src/REPLICA/fix_neb.cpp @@ -804,7 +804,7 @@ Calculate ideal positions for parallel "ideal" or "equal" void FixNEB::calculate_ideal_positions() { // Skip unless "ideal" or "equal" - if (!((neb_mode == IDEAL) || (neb_mode == EQUAL))) return; + if ((neb_mode != IDEAL) && (neb_mode != EQUAL)) return; double lentot, lenuntilClimber; double meanDist, meanDistBeforeClimber, meanDistAfterClimber; diff --git a/src/RIGID/fix_rattle.cpp b/src/RIGID/fix_rattle.cpp index 0027b537ee..5a85902609 100644 --- a/src/RIGID/fix_rattle.cpp +++ b/src/RIGID/fix_rattle.cpp @@ -831,10 +831,10 @@ bool FixRattle::check2(double **v, int m, bool checkr, bool checkv) domain->minimum_image(r01); MathExtra::sub3(v[i1],v[i0],v01); - stat = !(checkr && (fabs(sqrt(MathExtra::dot3(r01,r01)) - bond1) > tol)); + stat = !checkr || (fabs(sqrt(MathExtra::dot3(r01,r01)) - bond1) <= tol); if (!stat) error->one(FLERR,"Coordinate constraints are not satisfied up to desired tolerance "); - stat = !(checkv && (fabs(MathExtra::dot3(r01,v01)) > tol)); + stat = !checkv || (fabs(MathExtra::dot3(r01,v01)) <= tol); if (!stat) error->one(FLERR,"Velocity constraints are not satisfied up to desired tolerance "); return stat; } @@ -863,12 +863,12 @@ bool FixRattle::check3(double **v, int m, bool checkr, bool checkv) MathExtra::sub3(v[i1],v[i0],v01); MathExtra::sub3(v[i2],v[i0],v02); - stat = !(checkr && (fabs(sqrt(MathExtra::dot3(r01,r01)) - bond1) > tol || - fabs(sqrt(MathExtra::dot3(r02,r02))-bond2) > tol)); + stat = !checkr || (fabs(sqrt(MathExtra::dot3(r01,r01)) - bond1) <= tol && + fabs(sqrt(MathExtra::dot3(r02,r02))-bond2) <= tol); if (!stat) error->one(FLERR,"Coordinate constraints are not satisfied up to desired tolerance "); - stat = !(checkv && (fabs(MathExtra::dot3(r01,v01)) > tol || - fabs(MathExtra::dot3(r02,v02)) > tol)); + stat = !checkv || (fabs(MathExtra::dot3(r01,v01)) <= tol && + fabs(MathExtra::dot3(r02,v02)) <= tol); if (!stat) error->one(FLERR,"Velocity constraints are not satisfied up to desired tolerance "); return stat; } @@ -901,14 +901,14 @@ bool FixRattle::check4(double **v, int m, bool checkr, bool checkv) MathExtra::sub3(v[i2],v[i0],v02); MathExtra::sub3(v[i3],v[i0],v03); - stat = !(checkr && (fabs(sqrt(MathExtra::dot3(r01,r01)) - bond1) > tol || - fabs(sqrt(MathExtra::dot3(r02,r02))-bond2) > tol || - fabs(sqrt(MathExtra::dot3(r03,r03))-bond3) > tol)); + stat = !checkr || (fabs(sqrt(MathExtra::dot3(r01,r01)) - bond1) <= tol && + fabs(sqrt(MathExtra::dot3(r02,r02))-bond2) <= tol && + fabs(sqrt(MathExtra::dot3(r03,r03))-bond3) <= tol); if (!stat) error->one(FLERR,"Coordinate constraints are not satisfied up to desired tolerance "); - stat = !(checkv && (fabs(MathExtra::dot3(r01,v01)) > tol || - fabs(MathExtra::dot3(r02,v02)) > tol || - fabs(MathExtra::dot3(r03,v03)) > tol)); + stat = !checkv || (fabs(MathExtra::dot3(r01,v01)) <= tol && + fabs(MathExtra::dot3(r02,v02)) <= tol && + fabs(MathExtra::dot3(r03,v03)) <= tol); if (!stat) error->one(FLERR,"Velocity constraints are not satisfied up to desired tolerance "); return stat; } @@ -944,7 +944,7 @@ bool FixRattle::check3angle(double **v, int m, bool checkr, bool checkv) double db2 = fabs(sqrt(MathExtra::dot3(r02,r02))-bond2); double db12 = fabs(sqrt(MathExtra::dot3(r12,r12))-bond12); - stat = !(checkr && (db1 > tol || db2 > tol || db12 > tol)); + stat = !checkr || (db1 <= tol && db2 <= tol && db12 <= tol); if (derr_max < db1/bond1) derr_max = db1/bond1; if (derr_max < db2/bond2) derr_max = db2/bond2; @@ -962,7 +962,7 @@ bool FixRattle::check3angle(double **v, int m, bool checkr, bool checkv) if (verr_max < dv2) verr_max = dv2; if (verr_max < dv12) verr_max = dv12; - stat = !(checkv && (dv1 > tol || dv2 > tol || dv12> tol)); + stat = !checkv || (dv1 <= tol && dv2 <= tol && dv12<= tol); #if RATTLE_RAISE_ERROR if (!stat) error->one(FLERR,"Velocity constraints are not satisfied up to desired tolerance!"); diff --git a/src/input.cpp b/src/input.cpp index ef0433dc99..1dc2b00ebc 100644 --- a/src/input.cpp +++ b/src/input.cpp @@ -607,7 +607,7 @@ void Input::substitute(char *&str, char *&str2, int &max, int &max2, int flag) paren_count = 0; i = 0; - while (var[i] != '\0' && !(var[i] == ')' && paren_count == 0)) { + while (var[i] != '\0' && (var[i] != ')' || paren_count != 0)) { switch (var[i]) { case '(': paren_count++; break; case ')': paren_count--; break; From 4234c04e6d6970b6b97e04cc87cd5be333a3e9f4 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 26 Mar 2023 21:34:16 -0400 Subject: [PATCH 426/448] use powint() where possible; simplify --- src/pair.cpp | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/pair.cpp b/src/pair.cpp index d5d815d4a4..32c7faaf90 100644 --- a/src/pair.cpp +++ b/src/pair.cpp @@ -26,6 +26,7 @@ #include "force.h" #include "kspace.h" #include "math_const.h" +#include "math_special.h" #include "memory.h" #include "neighbor.h" #include "suffix.h" @@ -37,7 +38,9 @@ #include using namespace LAMMPS_NS; -using namespace MathConst; +using MathConst::MY_ISPI4; +using MathConst::THIRD; +using MathSpecial::powint; enum { NONE, RLINEAR, RSQ, BMP }; static const std::string mixing_rule_names[Pair::SIXTHPOWER + 1] = {"geometric", "arithmetic", @@ -704,8 +707,8 @@ double Pair::mix_energy(double eps1, double eps2, double sig1, double sig2) else if (mix_flag == ARITHMETIC) return sqrt(eps1*eps2); else if (mix_flag == SIXTHPOWER) - return (2.0 * sqrt(eps1*eps2) * - pow(sig1,3.0) * pow(sig2,3.0) / (pow(sig1,6.0) + pow(sig2,6.0))); + return (2.0 * sqrt(eps1*eps2) * powint(sig1, 3) * powint(sig2, 3) + / (powint(sig1, 6) + powint(sig2, 6))); else did_mix = false; return 0.0; } @@ -721,7 +724,7 @@ double Pair::mix_distance(double sig1, double sig2) else if (mix_flag == ARITHMETIC) return (0.5 * (sig1+sig2)); else if (mix_flag == SIXTHPOWER) - return pow((0.5 * (pow(sig1,6.0) + pow(sig2,6.0))),1.0/6.0); + return pow((0.5 * (powint(sig1, 6) + powint(sig2, 6))), 1.0/6.0); else return 0.0; } @@ -1946,19 +1949,18 @@ void Pair::init_bitmap(double inner, double outer, int ntablebits, error->warning(FLERR,"Table inner cutoff >= outer cutoff"); int nlowermin = 1; - while (!((pow(double(2),(double)nlowermin) <= inner*inner) && - (pow(double(2),(double)nlowermin+1.0) > inner*inner))) { - if (pow(double(2),(double)nlowermin) <= inner*inner) nlowermin++; + while ((powint(2.0, nlowermin) > inner*inner) || (powint(2.0, nlowermin+1) <= inner*inner)) { + if (powint(2.0, nlowermin) <= inner*inner) nlowermin++; else nlowermin--; } int nexpbits = 0; - double required_range = outer*outer / pow(double(2),(double)nlowermin); + double required_range = outer*outer / powint(2.0, nlowermin); double available_range = 2.0; while (available_range < required_range) { nexpbits++; - available_range = pow(double(2),pow(double(2),(double)nexpbits)); + available_range = pow(2.0, powint(2.0, nexpbits)); } int nmantbits = ntablebits - nexpbits; From 584f526e71b1e6b5fdae4e7d16cc2e7fb1a324e2 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 26 Mar 2023 21:34:58 -0400 Subject: [PATCH 427/448] use emplace instead of push --- src/LEPTON/angle_lepton.cpp | 2 +- src/LEPTON/bond_lepton.cpp | 2 +- src/LEPTON/dihedral_lepton.cpp | 2 +- src/LEPTON/pair_lepton.cpp | 2 +- src/LEPTON/pair_lepton_coul.cpp | 2 +- src/OPENMP/pair_lepton_coul_omp.cpp | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/LEPTON/angle_lepton.cpp b/src/LEPTON/angle_lepton.cpp index e985509b1f..20d0feb41a 100644 --- a/src/LEPTON/angle_lepton.cpp +++ b/src/LEPTON/angle_lepton.cpp @@ -320,7 +320,7 @@ void AngleLepton::read_restart(FILE *fp) utils::sfread(FLERR, buf, sizeof(char), len, fp, nullptr, error); } MPI_Bcast(buf, maxlen, MPI_CHAR, 0, world); - expressions.push_back(buf); + expressions.emplace_back(buf); } delete[] buf; diff --git a/src/LEPTON/bond_lepton.cpp b/src/LEPTON/bond_lepton.cpp index 4a168902b8..ca0c633dc9 100644 --- a/src/LEPTON/bond_lepton.cpp +++ b/src/LEPTON/bond_lepton.cpp @@ -275,7 +275,7 @@ void BondLepton::read_restart(FILE *fp) utils::sfread(FLERR, buf, sizeof(char), len, fp, nullptr, error); } MPI_Bcast(buf, maxlen, MPI_CHAR, 0, world); - expressions.push_back(buf); + expressions.emplace_back(buf); } delete[] buf; diff --git a/src/LEPTON/dihedral_lepton.cpp b/src/LEPTON/dihedral_lepton.cpp index b9bb934b15..6470e43033 100644 --- a/src/LEPTON/dihedral_lepton.cpp +++ b/src/LEPTON/dihedral_lepton.cpp @@ -441,7 +441,7 @@ void DihedralLepton::read_restart(FILE *fp) utils::sfread(FLERR, buf, sizeof(char), len, fp, nullptr, error); } MPI_Bcast(buf, maxlen, MPI_CHAR, 0, world); - expressions.push_back(buf); + expressions.emplace_back(buf); } delete[] buf; diff --git a/src/LEPTON/pair_lepton.cpp b/src/LEPTON/pair_lepton.cpp index 84049ea291..e9ba3b02bc 100644 --- a/src/LEPTON/pair_lepton.cpp +++ b/src/LEPTON/pair_lepton.cpp @@ -356,7 +356,7 @@ void PairLepton::read_restart(FILE *fp) utils::sfread(FLERR, buf, sizeof(char), len, fp, nullptr, error); } MPI_Bcast(buf, maxlen, MPI_CHAR, 0, world); - expressions.push_back(buf); + expressions.emplace_back(buf); } delete[] buf; diff --git a/src/LEPTON/pair_lepton_coul.cpp b/src/LEPTON/pair_lepton_coul.cpp index 863daf57c6..2a3f96985b 100644 --- a/src/LEPTON/pair_lepton_coul.cpp +++ b/src/LEPTON/pair_lepton_coul.cpp @@ -86,7 +86,7 @@ template void PairLeptonCoul::eval() pairforce.emplace_back(parsed.differentiate("r").createCompiledExpression()); if (EFLAG) pairpot.emplace_back(parsed.createCompiledExpression()); pairforce.back().getVariableReference("r"); - have_q.emplace_back(std::make_pair(true, true)); + have_q.emplace_back(true, true); // check if there are references to charges try { diff --git a/src/OPENMP/pair_lepton_coul_omp.cpp b/src/OPENMP/pair_lepton_coul_omp.cpp index 14d49c308f..bc34bc00af 100644 --- a/src/OPENMP/pair_lepton_coul_omp.cpp +++ b/src/OPENMP/pair_lepton_coul_omp.cpp @@ -108,7 +108,7 @@ void PairLeptonCoulOMP::eval(int iifrom, int iito, ThrData *const thr) pairforce.emplace_back(parsed.differentiate("r").createCompiledExpression()); if (EFLAG) pairpot.emplace_back(parsed.createCompiledExpression()); pairforce.back().getVariableReference("r"); - have_q.emplace_back(std::make_pair(true, true)); + have_q.emplace_back(true, true); // check if there are references to charges try { From 4244e458f5a4a199b3050ed9e5e6dbf6c464c7f9 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 26 Mar 2023 21:50:29 -0400 Subject: [PATCH 428/448] silence compiler warnings about unused variables and parameters --- src/MDI/fix_mdi_qm.cpp | 4 ++-- src/MDI/fix_mdi_qmmm.cpp | 6 +++--- src/MISC/pair_tracker.cpp | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/MDI/fix_mdi_qm.cpp b/src/MDI/fix_mdi_qm.cpp index 6dc67b21e1..ee98429ccb 100644 --- a/src/MDI/fix_mdi_qm.cpp +++ b/src/MDI/fix_mdi_qm.cpp @@ -440,7 +440,7 @@ void FixMDIQM::post_neighbor() void FixMDIQM::post_force(int vflag) { - int index, ierr; + int ierr; // skip if timestep is not a multiple of every @@ -761,7 +761,7 @@ void FixMDIQM::create_qm_list() else if (!(mask[i] & excludebit)) qmIDs_mine[nqm_mine++] = tag[i]; } - int *recvcounts,*displs,*listall; + int *recvcounts, *displs; memory->create(recvcounts,nprocs,"mdi/qm:recvcounts"); memory->create(displs,nprocs,"mdi/qm:displs"); diff --git a/src/MDI/fix_mdi_qmmm.cpp b/src/MDI/fix_mdi_qmmm.cpp index efeafeaf84..f7def2e73a 100644 --- a/src/MDI/fix_mdi_qmmm.cpp +++ b/src/MDI/fix_mdi_qmmm.cpp @@ -583,7 +583,7 @@ void FixMDIQMMM::post_neighbor() void FixMDIQMMM::pre_force(int vflag) { - int ilocal,jlocal; + int ilocal; double rsq; double delta[3]; @@ -1360,7 +1360,7 @@ void FixMDIQMMM::create_qm_list() for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) qmIDs_mine[nqm_mine++] = tag[i]; - int *recvcounts,*displs,*listall; + int *recvcounts, *displs; memory->create(recvcounts,nprocs,"mdi/qmmm:recvcounts"); memory->create(displs,nprocs,"mdi/qmmm:displs"); @@ -1427,7 +1427,7 @@ void FixMDIQMMM::create_mm_list() for (int i = 0; i < nlocal; i++) if (!(mask[i] & groupbit)) mmIDs_mine[nmm_mine++] = tag[i]; - int *recvcounts,*displs,*listall; + int *recvcounts, *displs; memory->create(recvcounts,nprocs,"mdi/qmmm:recvcounts"); memory->create(displs,nprocs,"mdi/qmmm:displs"); diff --git a/src/MISC/pair_tracker.cpp b/src/MISC/pair_tracker.cpp index 887ae10f21..72463d84e9 100644 --- a/src/MISC/pair_tracker.cpp +++ b/src/MISC/pair_tracker.cpp @@ -514,7 +514,7 @@ double PairTracker::single(int /*i*/, int /*j*/, int /*itype*/, int /*jtype*/, d only needed if any history entries i-j are not just negative of j-i entries ------------------------------------------------------------------------- */ -void PairTracker::transfer_history(double *source, double *target, int itype, int jtype) +void PairTracker::transfer_history(double *source, double *target, int /*itype*/, int /*jtype*/) { for (int i = 0; i < size_history; i++) target[i] = source[i]; } From bc5e45af6cb8083289a0e7ef635dda9bd1a03a82 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 26 Mar 2023 23:22:13 -0400 Subject: [PATCH 429/448] remove redundant line --- src/ELECTRODE/fix_electrode_conp.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/ELECTRODE/fix_electrode_conp.cpp b/src/ELECTRODE/fix_electrode_conp.cpp index 872a5735c7..1547fa6b97 100644 --- a/src/ELECTRODE/fix_electrode_conp.cpp +++ b/src/ELECTRODE/fix_electrode_conp.cpp @@ -1225,7 +1225,6 @@ FixElectrodeConp::~FixElectrodeConp() memory->destroy(elastance); memory->destroy(capacitance); if (need_elec_vector) delete elec_vector; - if (algo == Algo::MATRIX_INV) memory->destroy(capacitance); } /* ---------------------------------------------------------------------- */ From 317ce2853882ac20c14a62ef5ebeff6b253763cf Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 27 Mar 2023 02:50:55 -0400 Subject: [PATCH 430/448] ensure that the atom map is initialized. Fixes #3708 --- src/PHONON/fix_phonon.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/PHONON/fix_phonon.cpp b/src/PHONON/fix_phonon.cpp index b08f005d87..6b5294d308 100644 --- a/src/PHONON/fix_phonon.cpp +++ b/src/PHONON/fix_phonon.cpp @@ -126,6 +126,8 @@ FixPhonon::FixPhonon(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) surf2tag.clear(); // get the mapping between lattice indices and atom IDs + + atom->map_init(); readmap(); delete[] mapfile; if (nucell == 1) nasr = MIN(1,nasr); From 0334dcaf5739081ccc7e4c6063b8ae8c687dbe24 Mon Sep 17 00:00:00 2001 From: Tim Bernhard Date: Mon, 27 Mar 2023 09:05:52 +0200 Subject: [PATCH 431/448] Fix issue where after expanding wrong argument errors were thrown --- src/EXTRA-FIX/fix_ave_correlate_long.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/EXTRA-FIX/fix_ave_correlate_long.cpp b/src/EXTRA-FIX/fix_ave_correlate_long.cpp index a44d6414f7..7fa57af343 100644 --- a/src/EXTRA-FIX/fix_ave_correlate_long.cpp +++ b/src/EXTRA-FIX/fix_ave_correlate_long.cpp @@ -121,7 +121,7 @@ FixAveCorrelateLong::FixAveCorrelateLong(LAMMPS *lmp, int narg, char **arg) : while (iarg < nargnew) { if (strcmp(arg[iarg], "type") == 0) { - if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate/long type", error); + if (iarg + 2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate/long type", error); if (strcmp(arg[iarg + 1], "auto") == 0) type = AUTO; else if (strcmp(arg[iarg + 1], "upper") == 0) @@ -138,23 +138,23 @@ FixAveCorrelateLong::FixAveCorrelateLong(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR, "Unknown fix ave/correlate/long type: {}"); iarg += 2; } else if (strcmp(arg[iarg], "start") == 0) { - if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate/long start", error); + if (iarg + 2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate/long start", error); startstep = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "ncorr") == 0) { - if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate/long ncorr", error); + if (iarg + 2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate/long ncorr", error); numcorrelators = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "nlen") == 0) { - if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate/long nlen", error); + if (iarg + 2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate/long nlen", error); p = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "ncount") == 0) { - if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate/long ncount", error); + if (iarg + 2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate/long ncount", error); m = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (strcmp(arg[iarg], "file") == 0) { - if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate/long file", error); + if (iarg + 2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate/long file", error); if (comm->me == 0) { fp = fopen(arg[iarg + 1], "w"); if (fp == nullptr) From 58b94668522b7843e8eaa0f9b95b440ebe208b80 Mon Sep 17 00:00:00 2001 From: Tim Bernhard Date: Fri, 14 Oct 2022 10:10:22 +0200 Subject: [PATCH 432/448] Fix typo in berendsen --- doc/src/fix_press_berendsen.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/fix_press_berendsen.rst b/doc/src/fix_press_berendsen.rst index 6d92a00178..dee93c5b8b 100644 --- a/doc/src/fix_press_berendsen.rst +++ b/doc/src/fix_press_berendsen.rst @@ -61,7 +61,7 @@ unchanged and controlling the pressure of a surrounding fluid. atoms. This fix can be used in conjunction with thermostatting fixes to control the temperature, such as :doc:`fix nvt ` or :doc:`fix langevin ` or :doc:`fix temp/berendsen `. -See the :doc:`Howto baroostat ` page for a +See the :doc:`Howto barostat ` page for a discussion of different ways to perform barostatting. ---------- From 8e8bb0d2b38dedb3ff670d9bfae550e213b20b50 Mon Sep 17 00:00:00 2001 From: Tim Bernhard Date: Mon, 27 Mar 2023 09:11:52 +0200 Subject: [PATCH 433/448] Document the useage of variable vectors in fix ave/correlate/long --- doc/src/fix_ave_correlate_long.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/src/fix_ave_correlate_long.rst b/doc/src/fix_ave_correlate_long.rst index d5120b1af5..e2b23248f2 100644 --- a/doc/src/fix_ave_correlate_long.rst +++ b/doc/src/fix_ave_correlate_long.rst @@ -15,7 +15,7 @@ Syntax * Nevery = use input values every this many time steps * Nfreq = save state of the time correlation functions every this many time steps * one or more input values can be listed -* value = c_ID, c_ID[N], f_ID, f_ID[N], v_name +* value = c_ID, c_ID[N], f_ID, f_ID[N], v_name, v_name[I] .. parsed-literal:: @@ -24,6 +24,7 @@ Syntax f_ID = global scalar calculated by a fix with ID f_ID[I] = Ith component of global vector calculated by a fix with ID v_name = global value calculated by an equal-style variable with name + v_name[I] = Ith component of global vector calculated by a vector-style variable with name * zero or more keyword/arg pairs may be appended * keyword = *type* or *start* or *file* or *overwrite* or *title1* or *title2* or *ncorr* or *nlen* or *ncount* From 5b37ff816020e9d920ce1a902230e5d974a725c6 Mon Sep 17 00:00:00 2001 From: Yaser Afshar Date: Mon, 27 Mar 2023 09:13:45 -0700 Subject: [PATCH 434/448] Clarify the doc for type label --- doc/src/set.rst | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/doc/src/set.rst b/doc/src/set.rst index 488a391fa9..0d32d156bc 100644 --- a/doc/src/set.rst +++ b/doc/src/set.rst @@ -250,8 +250,9 @@ from a file. Support for type labels was added for setting atom, bond, angle, dihedral, and improper types -Keyword *type* sets the atom type or atom type label for all selected atoms. -For atom type, specified value must be from 1 to ntypes, where ntypes was set +Keyword *type* sets the atom type for all selected atoms. A specified value +can be a type id or a type label for atom type. When using a +type id, the specified value must be from 1 to ntypes, where ntypes was set by the :doc:`create_box ` command or the *atom types* field in the header of the data file read by the :doc:`read_data ` command. In the case of the specified type label, it must have been defined @@ -259,16 +260,16 @@ before use via an alphanumeric type label. See the :doc:`Howto type labels ` doc page for the allowed syntax of type labels and a general discussion of how type labels can be used. -Keyword *type/fraction* sets the atom type or atom type label for a fraction -of the selected atoms. The actual number of atoms changed is not guaranteed +Keyword *type/fraction* sets the atom type for a fraction of the selected +atoms. The actual number of atoms changed is not guaranteed to be exactly the specified fraction (0 <= *fraction* <= 1), but should be statistically close. Random numbers are used in such a way that a particular atom is changed or not changed, regardless of how many processors are being used. This keyword does not allow use of an atom-style variable. -Keywords *type/ratio* and *type/subset* also set the atom type or atom -type label for a fraction of the selected atoms. The actual number of +Keywords *type/ratio* and *type/subset* also set the atom type for +a fraction of the selected atoms. The actual number of atoms changed will be exactly the requested number. For *type/ratio* the specified fraction (0 <= *fraction* <= 1) determines the number. For *type/subset*, the specified *Nsubset* is the number. An iterative From 47e32301864ba6a536c13c07a274bdf0c34e139f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 27 Mar 2023 15:52:52 -0400 Subject: [PATCH 435/448] apply logic fix from @jtclemm --- src/BPM/bond_bpm.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/BPM/bond_bpm.cpp b/src/BPM/bond_bpm.cpp index 38940b5ecb..a68aea3e68 100644 --- a/src/BPM/bond_bpm.cpp +++ b/src/BPM/bond_bpm.cpp @@ -332,7 +332,7 @@ void BondBPM::read_restart(FILE *fp) void BondBPM::process_broken(int i, int j) { - if (break_flag) + if (!break_flag) error->one(FLERR, "BPM bond broke with break/no option"); if (fix_store_local) { for (int n = 0; n < nvalues; n++) (this->*pack_choice[n])(n, i, j); From 165b40b22a90cb37ea55b731b02dbb3adbcc52b0 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Mon, 27 Mar 2023 16:29:17 -0600 Subject: [PATCH 436/448] Remove duplicated code in Kokkos PPPM --- src/KOKKOS/pppm_kokkos.cpp | 365 ++----------------------------------- src/KOKKOS/pppm_kokkos.h | 14 +- src/KSPACE/pppm.h | 2 +- 3 files changed, 20 insertions(+), 361 deletions(-) diff --git a/src/KOKKOS/pppm_kokkos.cpp b/src/KOKKOS/pppm_kokkos.cpp index d8f4aa8cc3..7405bcc0ef 100644 --- a/src/KOKKOS/pppm_kokkos.cpp +++ b/src/KOKKOS/pppm_kokkos.cpp @@ -115,17 +115,6 @@ PPPMKokkos::PPPMKokkos(LAMMPS *lmp) : PPPM(lmp) remap = nullptr; } -template -void PPPMKokkos::settings(int narg, char **arg) -{ - if (narg < 1) error->all(FLERR,"Illegal kspace_style {} command", force->kspace_style); - - accuracy_relative = fabs(utils::numeric(FLERR,arg[0],false,lmp)); - if (accuracy_relative > 1.0) - error->all(FLERR, "Invalid relative accuracy {:g} for kspace_style {}", - accuracy_relative, force->kspace_style); -} - /* ---------------------------------------------------------------------- free all memory ------------------------------------------------------------------------- */ @@ -503,59 +492,23 @@ template KOKKOS_INLINE_FUNCTION void PPPMKokkos::operator()(TagPPPM_setup_triclinic2, const int &n) const { - const double sqk = d_fkx[n]*d_fkx[n] + d_fky[n]*d_fky[n] + d_fkz[n]*d_fkz[n]; - if (sqk == 0.0) { - d_vg(n,0) = 0.0; - d_vg(n,1) = 0.0; - d_vg(n,2) = 0.0; - d_vg(n,3) = 0.0; - d_vg(n,4) = 0.0; - d_vg(n,5) = 0.0; - } else { - const double vterm = -2.0 * (1.0/sqk + 0.25/(g_ewald*g_ewald)); - d_vg(n,0) = 1.0 + vterm*d_fkx[n]*d_fkx[n]; - d_vg(n,1) = 1.0 + vterm*d_fky[n]*d_fky[n]; - d_vg(n,2) = 1.0 + vterm*d_fkz[n]*d_fkz[n]; - d_vg(n,3) = vterm*d_fkx[n]*d_fky[n]; - d_vg(n,4) = vterm*d_fkx[n]*d_fkz[n]; - d_vg(n,5) = vterm*d_fky[n]*d_fkz[n]; - } -} -/* ---------------------------------------------------------------------- - reset local grid arrays and communication stencils - called by fix balance b/c it changed sizes of processor sub-domains -------------------------------------------------------------------------- */ - -template -void PPPMKokkos::reset_grid() -{ - // free all arrays previously allocated - - deallocate(); - if (peratom_allocate_flag) deallocate_peratom(); - - // reset portion of global grid that each proc owns - - set_grid_local(); - - // reallocate K-space dependent memory - // check if grid communication is now overlapping if not allowed - // don't invoke allocate peratom(), will be allocated when needed - - allocate(); - - if (!overlap_allowed && !gc->ghost_adjacent()) - error->all(FLERR,"PPPM grid stencil extends beyond nearest neighbor processor"); - - // pre-compute Green's function denomiator expansion - // pre-compute 1d charge distribution coefficients - - compute_gf_denom(); - compute_rho_coeff(); - - // pre-compute volume-dependent coeffs for portion of grid I now own - - setup(); + const double sqk = d_fkx[n]*d_fkx[n] + d_fky[n]*d_fky[n] + d_fkz[n]*d_fkz[n]; + if (sqk == 0.0) { + d_vg(n,0) = 0.0; + d_vg(n,1) = 0.0; + d_vg(n,2) = 0.0; + d_vg(n,3) = 0.0; + d_vg(n,4) = 0.0; + d_vg(n,5) = 0.0; + } else { + const double vterm = -2.0 * (1.0/sqk + 0.25/(g_ewald*g_ewald)); + d_vg(n,0) = 1.0 + vterm*d_fkx[n]*d_fkx[n]; + d_vg(n,1) = 1.0 + vterm*d_fky[n]*d_fky[n]; + d_vg(n,2) = 1.0 + vterm*d_fkz[n]*d_fkz[n]; + d_vg(n,3) = vterm*d_fkx[n]*d_fky[n]; + d_vg(n,4) = vterm*d_fkx[n]*d_fkz[n]; + d_vg(n,5) = vterm*d_fky[n]*d_fkz[n]; + } } /* ---------------------------------------------------------------------- @@ -919,156 +872,6 @@ void PPPMKokkos::deallocate_peratom() peratom_allocate_flag = 0; } -/* ---------------------------------------------------------------------- - set global size of PPPM grid = nx,ny,nz_pppm - used for charge accumulation, FFTs, and electric field interpolation -------------------------------------------------------------------------- */ - -template -void PPPMKokkos::set_grid_global() -{ - // use xprd,yprd,zprd (even if triclinic, and then scale later) - // adjust z dimension for 2d slab PPPM - // 3d PPPM just uses zprd since slab_volfactor = 1.0 - - double xprd = domain->xprd; - double yprd = domain->yprd; - double zprd = domain->zprd; - double zprd_slab = zprd*slab_volfactor; - - // make initial g_ewald estimate - // based on desired accuracy and real space cutoff - // fluid-occupied volume used to estimate real-space error - // zprd used rather than zprd_slab - - bigint natoms = atomKK->natoms; - - if (!gewaldflag) { - if (accuracy <= 0.0) - error->all(FLERR,"KSpace accuracy must be > 0"); - if (q2 == 0.0) - error->all(FLERR,"Must use kspace_modify gewald for uncharged system"); - g_ewald = accuracy*sqrt(natoms*cutoff*xprd*yprd*zprd) / (2.0*q2); - if (g_ewald >= 1.0) g_ewald = (1.35 - 0.15*log(accuracy))/cutoff; - else g_ewald = sqrt(-log(g_ewald)) / cutoff; - } - - // set optimal nx_pppm,ny_pppm,nz_pppm based on order and accuracy - // nz_pppm uses extended zprd_slab instead of zprd - // reduce it until accuracy target is met - - if (!gridflag) { - - double err; - h_x = h_y = h_z = 1.0/g_ewald; - - nx_pppm = static_cast (xprd/h_x) + 1; - ny_pppm = static_cast (yprd/h_y) + 1; - nz_pppm = static_cast (zprd_slab/h_z) + 1; - - err = estimate_ik_error(h_x,xprd,natoms); - while (err > accuracy) { - err = estimate_ik_error(h_x,xprd,natoms); - nx_pppm++; - h_x = xprd/nx_pppm; - } - - err = estimate_ik_error(h_y,yprd,natoms); - while (err > accuracy) { - err = estimate_ik_error(h_y,yprd,natoms); - ny_pppm++; - h_y = yprd/ny_pppm; - } - - err = estimate_ik_error(h_z,zprd_slab,natoms); - while (err > accuracy) { - err = estimate_ik_error(h_z,zprd_slab,natoms); - nz_pppm++; - h_z = zprd_slab/nz_pppm; - } - - // scale grid for triclinic skew - - if (triclinic) { - double tmp[3]; - tmp[0] = nx_pppm/xprd; - tmp[1] = ny_pppm/yprd; - tmp[2] = nz_pppm/zprd; - lamda2xT(&tmp[0],&tmp[0]); - nx_pppm = static_cast(tmp[0]) + 1; - ny_pppm = static_cast(tmp[1]) + 1; - nz_pppm = static_cast(tmp[2]) + 1; - } - } - - // boost grid size until it is factorable - - while (!factorable(nx_pppm)) nx_pppm++; - while (!factorable(ny_pppm)) ny_pppm++; - while (!factorable(nz_pppm)) nz_pppm++; - - if (triclinic == 0) { - h_x = xprd/nx_pppm; - h_y = yprd/ny_pppm; - h_z = zprd_slab/nz_pppm; - } else { - double tmp[3]; - tmp[0] = nx_pppm; - tmp[1] = ny_pppm; - tmp[2] = nz_pppm; - x2lamdaT(&tmp[0],&tmp[0]); - h_x = 1.0/tmp[0]; - h_y = 1.0/tmp[1]; - h_z = 1.0/tmp[2]; - } - - if (nx_pppm >= OFFSET || ny_pppm >= OFFSET || nz_pppm >= OFFSET) - error->all(FLERR,"PPPM grid is too large"); -} - -/* ---------------------------------------------------------------------- - check if all factors of n are in list of factors - return 1 if yes, 0 if no -------------------------------------------------------------------------- */ - -template -int PPPMKokkos::factorable(int n) -{ - int i; - - while (n > 1) { - for (i = 0; i < nfactors; i++) { - if (n % factors[i] == 0) { - n /= factors[i]; - break; - } - } - if (i == nfactors) return 0; - } - - return 1; -} - -/* ---------------------------------------------------------------------- - compute estimated kspace force error -------------------------------------------------------------------------- */ - -template -double PPPMKokkos::compute_df_kspace() -{ - double xprd = domain->xprd; - double yprd = domain->yprd; - double zprd = domain->zprd; - double zprd_slab = zprd*slab_volfactor; - bigint natoms = atom->natoms; - double df_kspace = 0.0; - double lprx = estimate_ik_error(h_x,xprd,natoms); - double lpry = estimate_ik_error(h_y,yprd,natoms); - double lprz = estimate_ik_error(h_z,zprd_slab,natoms); - df_kspace = sqrt(lprx*lprx + lpry*lpry + lprz*lprz) / sqrt(3.0); - return df_kspace; -} - /* ---------------------------------------------------------------------- estimate kspace force error for ik method ------------------------------------------------------------------------- */ @@ -1085,88 +888,6 @@ double PPPMKokkos::estimate_ik_error(double h, double prd, bigint na return value; } -/* ---------------------------------------------------------------------- - adjust the g_ewald parameter to near its optimal value - using a Newton-Raphson solver -------------------------------------------------------------------------- */ - -template -void PPPMKokkos::adjust_gewald() -{ - double dx; - - for (int i = 0; i < LARGE; i++) { - dx = newton_raphson_f() / derivf(); - g_ewald -= dx; - if (fabs(newton_raphson_f()) < SMALL) return; - } - error->all(FLERR, "Could not compute g_ewald"); -} - -/* ---------------------------------------------------------------------- - calculate f(x) using Newton-Raphson solver -------------------------------------------------------------------------- */ - -template -double PPPMKokkos::newton_raphson_f() -{ - double xprd = domain->xprd; - double yprd = domain->yprd; - double zprd = domain->zprd; - bigint natoms = atom->natoms; - - double df_rspace = 2.0*q2*exp(-g_ewald*g_ewald*cutoff*cutoff) / - sqrt(natoms*cutoff*xprd*yprd*zprd); - - double df_kspace = compute_df_kspace(); - - return df_rspace - df_kspace; -} - -/* ---------------------------------------------------------------------- - calculate numerical derivative f'(x) using forward difference - [f(x + h) - f(x)] / h -------------------------------------------------------------------------- */ - -template -double PPPMKokkos::derivf() -{ - double h = 0.000001; //Derivative step-size - double df,f1,f2,g_ewald_old; - - f1 = newton_raphson_f(); - g_ewald_old = g_ewald; - g_ewald += h; - f2 = newton_raphson_f(); - g_ewald = g_ewald_old; - df = (f2 - f1)/h; - - return df; -} - -/* ---------------------------------------------------------------------- - calculate the final estimate of the accuracy -------------------------------------------------------------------------- */ - -template -double PPPMKokkos::final_accuracy() -{ - double xprd = domain->xprd; - double yprd = domain->yprd; - double zprd = domain->zprd; - bigint natoms = atom->natoms; - if (natoms == 0) natoms = 1; // avoid division by zero - - double df_kspace = compute_df_kspace(); - double q2_over_sqrt = q2 / sqrt(natoms*cutoff*xprd*yprd*zprd); - double df_rspace = 2.0 * q2_over_sqrt * exp(-g_ewald*g_ewald*cutoff*cutoff); - double df_table = estimate_table_accuracy(q2_over_sqrt,df_rspace); - double estimated_accuracy = sqrt(df_kspace*df_kspace + df_rspace*df_rspace + - df_table*df_table); - - return estimated_accuracy; -} - /* ---------------------------------------------------------------------- set params which determine which owned and ghost cells this proc owns Grid3d uses these params to partition grid @@ -1639,16 +1360,6 @@ void PPPMKokkos::operator()(TagPPPM_brick2fft, const int &ii) const d_density_fft[n] = d_density_brick(k,j,i); } -/* ---------------------------------------------------------------------- - FFT-based Poisson solver -------------------------------------------------------------------------- */ - -template -void PPPMKokkos::poisson() -{ - poisson_ik(); -} - /* ---------------------------------------------------------------------- FFT-based Poisson solver for ik ------------------------------------------------------------------------- */ @@ -1756,11 +1467,9 @@ void PPPMKokkos::poisson_ik() fft2->compute(d_work2,d_work2,FFT3dKokkos::BACKWARD); - copymode = 1; Kokkos::parallel_for(Kokkos::RangePolicy(0,inum_inout),*this); copymode = 0; - } template @@ -2291,6 +2000,7 @@ void PPPMKokkos::operator()(TagPPPM_poisson_peratom14, const int &ii i += nxlo_in-nxlo_out; d_v5_brick(k,j,i) = d_work2[n]; } + /* ---------------------------------------------------------------------- interpolate from grid to get electric field & force on my particles ------------------------------------------------------------------------- */ @@ -2611,45 +2321,6 @@ void PPPMKokkos::operator()(TagPPPM_unpack_reverse, const int &i) co d_density_brick(iz,iy,ix) += d_buf[i + unpack_offset]; } -/* ---------------------------------------------------------------------- - map nprocs to NX by NY grid as PX by PY procs - return optimal px,py -------------------------------------------------------------------------- */ - -template -void PPPMKokkos::procs2grid2d(int nprocs, int nx, int ny, int *px, int *py) -{ - // loop thru all possible factorizations of nprocs - // surf = surface area of largest proc sub-domain - // innermost if test minimizes surface area and surface/volume ratio - - int bestsurf = 2 * (nx + ny); - int bestboxx = 0; - int bestboxy = 0; - - int boxx,boxy,surf,ipx,ipy; - - ipx = 1; - while (ipx <= nprocs) { - if (nprocs % ipx == 0) { - ipy = nprocs/ipx; - boxx = nx/ipx; - if (nx % ipx) boxx++; - boxy = ny/ipy; - if (ny % ipy) boxy++; - surf = boxx + boxy; - if (surf < bestsurf || - (surf == bestsurf && boxx*boxy > bestboxx*bestboxy)) { - bestsurf = surf; - bestboxx = boxx; - bestboxy = boxy; - *px = ipx; - *py = ipy; - } - } - ipx++; - } -} - /* ---------------------------------------------------------------------- charge assignment into rho1d dx,dy,dz = distance of particle from "lower left" grid point diff --git a/src/KOKKOS/pppm_kokkos.h b/src/KOKKOS/pppm_kokkos.h index 1bdb03335e..fa614bad4e 100644 --- a/src/KOKKOS/pppm_kokkos.h +++ b/src/KOKKOS/pppm_kokkos.h @@ -124,8 +124,6 @@ class PPPMKokkos : public PPPM, public KokkosBaseFFT { ~PPPMKokkos() override; void init() override; void setup() override; - void reset_grid() override; - void settings(int, char **) override; void compute(int, int) override; int timing_1d(int, double &) override; int timing_3d(int, double &) override; @@ -393,23 +391,15 @@ class PPPMKokkos : public PPPM, public KokkosBaseFFT { //int **part2grid; // storage for particle -> grid mapping typename AT::t_int_1d_3 d_part2grid; - //double *boxlo; double boxlo[3]; - void set_grid_global() override; void set_grid_local() override; - void adjust_gewald(); - double newton_raphson_f() override; - double derivf(); - double final_accuracy(); void allocate() override; void allocate_peratom() override; void deallocate() override; void deallocate_peratom() override; - int factorable(int); - double compute_df_kspace() override; - double estimate_ik_error(double, double, bigint); + double estimate_ik_error(double, double, bigint) override; void compute_gf_denom() override; void compute_gf_ik() override; @@ -417,7 +407,6 @@ class PPPMKokkos : public PPPM, public KokkosBaseFFT { void make_rho() override; void brick2fft() override; - void poisson() override; void poisson_ik() override; void fieldforce() override; @@ -425,7 +414,6 @@ class PPPMKokkos : public PPPM, public KokkosBaseFFT { void poisson_peratom() override; void fieldforce_peratom() override; - void procs2grid2d(int,int,int,int *, int*); KOKKOS_INLINE_FUNCTION void compute_rho1d(const int i, const FFT_SCALAR &, const FFT_SCALAR &, diff --git a/src/KSPACE/pppm.h b/src/KSPACE/pppm.h index 9d85399272..315cf7087e 100644 --- a/src/KSPACE/pppm.h +++ b/src/KSPACE/pppm.h @@ -113,7 +113,7 @@ class PPPM : public KSpace { virtual void deallocate_peratom(); int factorable(int); virtual double compute_df_kspace(); - double estimate_ik_error(double, double, bigint); + virtual double estimate_ik_error(double, double, bigint); virtual double compute_qopt(); virtual void compute_gf_denom(); virtual void compute_gf_ik(); From 7460cc682dc5c0e3d05ca6873aafaf3062ba2d5e Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 27 Mar 2023 16:39:37 -0600 Subject: [PATCH 437/448] rewording of doc page --- doc/src/set.rst | 88 ++++++++++++++++++++++++++++--------------------- 1 file changed, 51 insertions(+), 37 deletions(-) diff --git a/doc/src/set.rst b/doc/src/set.rst index 0d32d156bc..740d30d3cf 100644 --- a/doc/src/set.rst +++ b/doc/src/set.rst @@ -11,7 +11,16 @@ Syntax set style ID keyword values ... * style = *atom* or *type* or *mol* or *group* or *region* -* ID = atom ID range or type range or mol ID range or group ID or region ID +* ID = depends on style + +.. parsed-literal:: + + for style = *atom*, ID = a range of atom IDs + for style = *type*, ID = a range of numeric types or a single type label + for style = *mol*, ID = a range of molecule IDs + for style = *group*, ID = a group ID + for style = *region*, ID = a region ID + * one or more keyword/value pairs may be appended * keyword = *type* or *type/fraction* or *type/ratio* or *type/subset* or *mol* or *x* or *y* or *z* or *vx* or *vy* or *vz* or *charge* or @@ -28,22 +37,22 @@ Syntax .. parsed-literal:: - *type* value = atom type or type label + *type* value = numeric atom type or type label value can be an atom-style variable (see below) *type/fraction* values = type fraction seed - type = new atom type or type label + type = numeric atom type or type label fraction = approximate fraction of selected atoms to set to new atom type seed = random # seed (positive integer) *type/ratio* values = type fraction seed - type = new atom type or type label + type = numeric atom type or type label fraction = exact fraction of selected atoms to set to new atom type seed = random # seed (positive integer) *type/subset* values = type Nsubset seed - type = new atom type or type label + type = numeric atom type or type label Nsubset = exact number of selected atoms to set to new atom type seed = random # seed (positive integer) *mol* value = molecule ID - value can be an atom-style variable (see below) + value can be an atom-style variable (see below) *x*,\ *y*,\ *z* value = atom coordinate (distance units) value can be an atom-style variable (see below) *vx*,\ *vy*,\ *vz* value = atom velocity (velocity units) @@ -107,10 +116,10 @@ Syntax *image* nx ny nz nx,ny,nz = which periodic image of the simulation box the atom is in any of nx,ny,nz can be an atom-style variable (see below) - *bond* value = bond type or bond type label for all bonds between selected atoms - *angle* value = angle type or angle type label for all angles between selected atoms - *dihedral* value = dihedral type or dihedral type label for all dihedrals between selected atoms - *improper* value = improper type or improper type label for all impropers between selected atoms + *bond* value = numeric bond type or bond type label, for all bonds between selected atoms + *angle* value = numeric angle type or angle type label, for all angles between selected atoms + *dihedral* value = numeric dihedral type or dihedral type label, for all dihedrals between selected atoms + *improper* value = numeric improper type or improper type label, for all impropers between selected atoms *sph/e* value = energy of SPH particles (need units) value can be an atom-style variable (see below) *sph/cv* value = heat capacity of SPH particles (need units) @@ -191,9 +200,13 @@ the properties of, via the *style* and *ID* arguments. Support for type labels was added for selecting atoms by type -The style *atom* selects all the atoms in a range of atom IDs. The -style *type* selects all the atoms in a range of types or type labels. -The style *mol* selects all the atoms in a range of molecule IDs. +The style *atom* selects all the atoms in a range of atom IDs. + +The style *type* selects all the atoms in a range of types or type +labels. The style *type* selects atoms in one of two ways. A range +of numeric atom types can be specified. Or a single atom type label +can be specified, e.g. "C". The style *mol* selects all the atoms in +a range of molecule IDs. In each of the range cases, the range can be specified as a single numeric value, or a wildcard asterisk can be used to specify a range @@ -250,15 +263,15 @@ from a file. Support for type labels was added for setting atom, bond, angle, dihedral, and improper types -Keyword *type* sets the atom type for all selected atoms. A specified value -can be a type id or a type label for atom type. When using a -type id, the specified value must be from 1 to ntypes, where ntypes was set -by the :doc:`create_box ` command or the *atom types* field in the -header of the data file read by the :doc:`read_data ` -command. In the case of the specified type label, it must have been defined -before use via an alphanumeric type label. See the -:doc:`Howto type labels ` doc page for the allowed syntax -of type labels and a general discussion of how type labels can be used. +Keyword *type* sets the atom type for all selected atoms. A specified +value can be either a numeric atom type or an atom type label. When +using a numeric type, the specified value must be from 1 to ntypes, +where ntypes was set by the :doc:`create_box ` command or +the *atom types* field in the header of the data file read by the +:doc:`read_data ` command. When using a type label it must +have been defined previously. See the :doc:`Howto type labels +` doc page for the allowed syntax of type labels +and a general discussion of how type labels can be used. Keyword *type/fraction* sets the atom type for a fraction of the selected atoms. The actual number of atoms changed is not guaranteed @@ -268,10 +281,10 @@ that a particular atom is changed or not changed, regardless of how many processors are being used. This keyword does not allow use of an atom-style variable. -Keywords *type/ratio* and *type/subset* also set the atom type for -a fraction of the selected atoms. The actual number of -atoms changed will be exactly the requested number. For *type/ratio* the -specified fraction (0 <= *fraction* <= 1) determines the number. For +Keywords *type/ratio* and *type/subset* also set the atom type for a +fraction of the selected atoms. The actual number of atoms changed +will be exactly the requested number. For *type/ratio* the specified +fraction (0 <= *fraction* <= 1) determines the number. For *type/subset*, the specified *Nsubset* is the number. An iterative algorithm is used which ensures the correct number of atoms are selected, in a perfectly random fashion. Which atoms are selected @@ -480,17 +493,18 @@ simulation, but may mess up analysis of the trajectories if a LAMMPS diagnostic or your own analysis relies on the image flags to unwrap a molecule which straddles the periodic box. -Keywords *bond*, *angle*, *dihedral*, and *improper*, set the bond type -(angle type, etc) of all bonds (angles, etc) of selected atoms to the -specified value from 1 to nbondtypes (nangletypes, etc). One can also use -a specified type label. See the :doc:`Howto type labels ` -doc page for the allowed syntax of type labels and a general discussion of -how type labels can be used. All atoms in a -particular bond (angle, etc) must be selected atoms in order for the -change to be made. The value of nbondtype (nangletypes, etc) was set by -the *bond types* (\ *angle types*, etc) field in the header of the data -file read by the :doc:`read_data ` command. These keywords -do not allow use of an atom-style variable. +Keywords *bond*, *angle*, *dihedral*, and *improper*, set the bond +type (angle type, etc) of all bonds (angles, etc) of selected atoms to +the specified value. The value can be a numeric type from 1 to +nbondtypes (nangletypes, etc). Or it can be a type label (bond type +label, angle type lable, etc). See the :doc:`Howto type labels +` doc page for the allowed syntax of type labels +and a general discussion of how type labels can be used. All atoms in +a particular bond (angle, etc) must be selected atoms in order for the +change to be made. The value of nbondtypes (nangletypes, etc) was set +by the *bond types* (\ *angle types*, etc) field in the header of the +data file read by the :doc:`read_data ` command. These +keywords do not allow use of an atom-style variable. Keywords *sph/e*, *sph/cv*, and *sph/rho* set the energy, heat capacity, and density of smoothed particle hydrodynamics (SPH) particles. See From 28acbdb4fc0cae1855bbedc5f7af3b65f25c3cc5 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Mon, 27 Mar 2023 16:53:23 -0600 Subject: [PATCH 438/448] Also rename function to prevent future bugs --- src/KOKKOS/pppm_kokkos.cpp | 6 +++--- src/KOKKOS/pppm_kokkos.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/KOKKOS/pppm_kokkos.cpp b/src/KOKKOS/pppm_kokkos.cpp index 7405bcc0ef..f76cab6f0f 100644 --- a/src/KOKKOS/pppm_kokkos.cpp +++ b/src/KOKKOS/pppm_kokkos.cpp @@ -482,7 +482,7 @@ void PPPMKokkos::operator()(TagPPPM_setup_triclinic1, const int &n) unitk_lamda[0] = 2.0*MY_PI*per_i; unitk_lamda[1] = 2.0*MY_PI*per_j; unitk_lamda[2] = 2.0*MY_PI*per_k; - x2lamdaT(&unitk_lamda[0],&unitk_lamda[0]); + x2lamdaT_kokkos(&unitk_lamda[0],&unitk_lamda[0]); d_fkx[n] = unitk_lamda[0]; d_fky[n] = unitk_lamda[1]; d_fkz[n] = unitk_lamda[2]; @@ -1073,7 +1073,7 @@ void PPPMKokkos::operator()(TagPPPM_compute_gf_ik_triclinic, const i unitk_lamda[0] = 2.0*MY_PI*kper; unitk_lamda[1] = 2.0*MY_PI*lper; unitk_lamda[2] = 2.0*MY_PI*mper; - x2lamdaT(&unitk_lamda[0],&unitk_lamda[0]); + x2lamdaT_kokkos(&unitk_lamda[0],&unitk_lamda[0]); const double sqk = square(unitk_lamda[0]) + square(unitk_lamda[1]) + square(unitk_lamda[2]); @@ -1098,7 +1098,7 @@ void PPPMKokkos::operator()(TagPPPM_compute_gf_ik_triclinic, const i b[0] = 2.0*MY_PI*nx_pppm*nx; b[1] = 2.0*MY_PI*ny_pppm*ny; b[2] = 2.0*MY_PI*nz_pppm*nz; - x2lamdaT(&b[0],&b[0]); + x2lamdaT_kokkos(&b[0],&b[0]); const double qx = unitk_lamda[0]+b[0]; const double sx = exp(-0.25*square(qx/g_ewald)); diff --git a/src/KOKKOS/pppm_kokkos.h b/src/KOKKOS/pppm_kokkos.h index fa614bad4e..50b5ac0f35 100644 --- a/src/KOKKOS/pppm_kokkos.h +++ b/src/KOKKOS/pppm_kokkos.h @@ -322,7 +322,7 @@ class PPPMKokkos : public PPPM, public KokkosBaseFFT { Few h, h_inv; KOKKOS_INLINE_FUNCTION - void x2lamdaT(double* v, double* lamda) const + void x2lamdaT_kokkos(double* v, double* lamda) const { double lamda_tmp[3]; From cbcba31d47f18c06231931ad064b5dd2a718fd7f Mon Sep 17 00:00:00 2001 From: Yaser Afshar Date: Mon, 27 Mar 2023 19:23:29 -0700 Subject: [PATCH 439/448] Fix the typestr replacement with arg issue --- src/atom.cpp | 11 +++++------ src/set.cpp | 29 +++++++++++------------------ 2 files changed, 16 insertions(+), 24 deletions(-) diff --git a/src/atom.cpp b/src/atom.cpp index 71c8a06aa4..29e1bb6305 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -1944,23 +1944,22 @@ void Atom::set_mass(const char *file, int line, int /*narg*/, char **arg) error->all(file,line, "Cannot set per-type atom mass for atom style {}", atom_style); char *typestr = utils::expand_type(file, line, arg[0], Atom::ATOM, lmp); - if (typestr) arg[0] = typestr; + const std::string str = typestr ? typestr : arg[0]; + delete[] typestr; int lo, hi; - utils::bounds(file, line, arg[0], 1, ntypes, lo, hi, error); + utils::bounds(file, line, str, 1, ntypes, lo, hi, error); if ((lo < 1) || (hi > ntypes)) - error->all(file, line, "Invalid atom type {} for atom mass", arg[0]); + error->all(file, line, "Invalid atom type {} for atom mass", str); const double value = utils::numeric(FLERR, arg[1], false, lmp); if (value <= 0.0) - error->all(file, line, "Invalid atom mass value {} for type {}", value, arg[0]); + error->all(file, line, "Invalid atom mass value {} for type {}", value, str); for (int itype = lo; itype <= hi; itype++) { mass[itype] = value; mass_setflag[itype] = 1; } - - delete[] typestr; } /* ---------------------------------------------------------------------- diff --git a/src/set.cpp b/src/set.cpp index 88cd9164e1..96bdaa24ab 100644 --- a/src/set.cpp +++ b/src/set.cpp @@ -95,8 +95,7 @@ void Set::command(int narg, char **arg) if (utils::strmatch(arg[iarg+1],"^v_")) varparse(arg[iarg+1],1); else { char *typestr = utils::expand_type(FLERR,arg[iarg+1],Atom::ATOM,lmp); - if (typestr) arg[iarg+1] = typestr; - ivalue = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + ivalue = utils::inumeric(FLERR,typestr?typestr:arg[iarg+1],false,lmp); delete[] typestr; } set(TYPE); @@ -105,11 +104,11 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"type/fraction") == 0) { if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "set type/fraction", error); char *typestr = utils::expand_type(FLERR,arg[iarg+1],Atom::ATOM,lmp); - if (typestr) arg[iarg+1] = typestr; + newtype = utils::inumeric(FLERR,typestr?typestr:arg[iarg+1],false,lmp); + delete[] typestr; newtype = utils::inumeric(FLERR,arg[iarg+1],false,lmp); fraction = utils::numeric(FLERR,arg[iarg+2],false,lmp); ivalue = utils::inumeric(FLERR,arg[iarg+3],false,lmp); - delete[] typestr; if (newtype <= 0 || newtype > atom->ntypes) error->all(FLERR,"Invalid type value {} in set type/fraction command", newtype); if (fraction < 0.0 || fraction > 1.0) @@ -122,11 +121,10 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"type/ratio") == 0) { if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "set type/ratio", error); char *typestr = utils::expand_type(FLERR,arg[iarg+1],Atom::ATOM,lmp); - if (typestr) arg[iarg+1] = typestr; - newtype = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + newtype = utils::inumeric(FLERR,typestr?typestr:arg[iarg+1],false,lmp); + delete[] typestr; fraction = utils::numeric(FLERR,arg[iarg+2],false,lmp); ivalue = utils::inumeric(FLERR,arg[iarg+3],false,lmp); - delete[] typestr; if (newtype <= 0 || newtype > atom->ntypes) error->all(FLERR,"Invalid type value {} in set type/ratio command", newtype); if (fraction < 0.0 || fraction > 1.0) @@ -139,11 +137,10 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"type/subset") == 0) { if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "set type/subset", error); char *typestr = utils::expand_type(FLERR,arg[iarg+1],Atom::ATOM,lmp); - if (typestr) arg[iarg+1] = typestr; - newtype = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + newtype = utils::inumeric(FLERR,typestr?typestr:arg[iarg+1],false,lmp); + delete[] typestr; nsubset = utils::bnumeric(FLERR,arg[iarg+2],false,lmp); ivalue = utils::inumeric(FLERR,arg[iarg+3],false,lmp); - delete[] typestr; if (newtype <= 0 || newtype > atom->ntypes) error->all(FLERR,"Invalid type value {} in set type/subset command", newtype); if (nsubset < 0) @@ -492,8 +489,7 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"bond") == 0) { if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "set bond", error); char *typestr = utils::expand_type(FLERR,arg[iarg+1],Atom::BOND,lmp); - if (typestr) arg[iarg+1] = typestr; - ivalue = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + ivalue = utils::inumeric(FLERR,typestr?typestr:arg[iarg+1],false,lmp); delete[] typestr; if (atom->avec->bonds_allow == 0) error->all(FLERR,"Cannot set attribute {} for atom style {}", arg[iarg], atom->get_style()); @@ -505,8 +501,7 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"angle") == 0) { if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "set angle", error); char *typestr = utils::expand_type(FLERR,arg[iarg+1],Atom::ANGLE,lmp); - if (typestr) arg[iarg+1] = typestr; - ivalue = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + ivalue = utils::inumeric(FLERR,typestr?typestr:arg[iarg+1],false,lmp); delete[] typestr; if (atom->avec->angles_allow == 0) error->all(FLERR,"Cannot set attribute {} for atom style {}", arg[iarg], atom->get_style()); @@ -518,8 +513,7 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"dihedral") == 0) { if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "set dihedral", error); char *typestr = utils::expand_type(FLERR,arg[iarg+1],Atom::DIHEDRAL,lmp); - if (typestr) arg[iarg+1] = typestr; - ivalue = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + ivalue = utils::inumeric(FLERR,typestr?typestr:arg[iarg+1],false,lmp); delete[] typestr; if (atom->avec->dihedrals_allow == 0) error->all(FLERR,"Cannot set attribute {} for atom style {}", arg[iarg], atom->get_style()); @@ -531,8 +525,7 @@ void Set::command(int narg, char **arg) } else if (strcmp(arg[iarg],"improper") == 0) { if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "set improper", error); char *typestr = utils::expand_type(FLERR,arg[iarg+1],Atom::IMPROPER,lmp); - if (typestr) arg[iarg+1] = typestr; - ivalue = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + ivalue = utils::inumeric(FLERR,typestr?typestr:arg[iarg+1],false,lmp); delete[] typestr; if (atom->avec->impropers_allow == 0) error->all(FLERR,"Cannot set attribute {} for atom style {}", arg[iarg], atom->get_style()); From aa918d3d1ec217d9f722f49772ec1cfe0ca2cf71 Mon Sep 17 00:00:00 2001 From: Yaser Afshar Date: Mon, 27 Mar 2023 19:34:34 -0700 Subject: [PATCH 440/448] Fix a typo --- src/set.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/set.cpp b/src/set.cpp index 96bdaa24ab..1c04157870 100644 --- a/src/set.cpp +++ b/src/set.cpp @@ -106,7 +106,6 @@ void Set::command(int narg, char **arg) char *typestr = utils::expand_type(FLERR,arg[iarg+1],Atom::ATOM,lmp); newtype = utils::inumeric(FLERR,typestr?typestr:arg[iarg+1],false,lmp); delete[] typestr; - newtype = utils::inumeric(FLERR,arg[iarg+1],false,lmp); fraction = utils::numeric(FLERR,arg[iarg+2],false,lmp); ivalue = utils::inumeric(FLERR,arg[iarg+3],false,lmp); if (newtype <= 0 || newtype > atom->ntypes) From 42fa5b736d33824e389b28758ea91dbd2058f214 Mon Sep 17 00:00:00 2001 From: Yaser Afshar Date: Mon, 27 Mar 2023 19:41:45 -0700 Subject: [PATCH 441/448] Remove the white space in doc --- doc/src/set.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/set.rst b/doc/src/set.rst index 740d30d3cf..37df8d8242 100644 --- a/doc/src/set.rst +++ b/doc/src/set.rst @@ -14,7 +14,7 @@ Syntax * ID = depends on style .. parsed-literal:: - + for style = *atom*, ID = a range of atom IDs for style = *type*, ID = a range of numeric types or a single type label for style = *mol*, ID = a range of molecule IDs From 2610feb270cef2e340da7d6bf7f775b1d579b10c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 27 Mar 2023 22:48:21 -0400 Subject: [PATCH 442/448] update version string for release --- doc/src/pair_born_gauss.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/pair_born_gauss.rst b/doc/src/pair_born_gauss.rst index 443c0ceac8..97f0042ee7 100644 --- a/doc/src/pair_born_gauss.rst +++ b/doc/src/pair_born_gauss.rst @@ -24,7 +24,7 @@ Examples Description """"""""""" -.. versionadded:: TBD +.. versionadded:: 28Mar2023 Pair style *born/gauss* computes pairwise interactions from a combination of a Born-Mayer repulsive term and a Gaussian attractive term according to :ref:`(Bomont) `: From 824ed3379a4836fc128a633bcc751717cd7e876e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 28 Mar 2023 01:48:16 -0400 Subject: [PATCH 443/448] avoid segmentation fault when atom map is cleared before sametag is allocated --- src/atom_map.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/atom_map.cpp b/src/atom_map.cpp index 0cfed5a595..c28b886335 100644 --- a/src/atom_map.cpp +++ b/src/atom_map.cpp @@ -118,7 +118,7 @@ void Atom::map_clear() if (map_style == MAP_ARRAY) { int nall = nlocal + nghost; for (int i = 0; i < nall; i++) { - sametag[i] = -1; + if (sametag) sametag[i] = -1; map_array[tag[i]] = -1; } @@ -127,7 +127,7 @@ void Atom::map_clear() tagint global; int nall = nlocal + nghost; for (int i = 0; i < nall; i++) { - sametag[i] = -1; + if (sametag) sametag[i] = -1; // search for key // if don't find it, done From 2b9962ea686a96bb305cdbf48ce65091c614ca43 Mon Sep 17 00:00:00 2001 From: Ludwig Ahrens Date: Tue, 28 Mar 2023 11:15:29 +0200 Subject: [PATCH 444/448] Bugfix amoeba doc header --- doc/src/improper_amoeba.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/improper_amoeba.rst b/doc/src/improper_amoeba.rst index 9b8260b853..18c7f11080 100644 --- a/doc/src/improper_amoeba.rst +++ b/doc/src/improper_amoeba.rst @@ -1,7 +1,7 @@ .. index:: improper_style amoeba -improper_style harmonic command -=============================== +improper_style amoeba command +============================= Syntax """""" From 7738b67737cf9b47ac2b748c88e2a9e13b8ef34a Mon Sep 17 00:00:00 2001 From: jtclemm Date: Mon, 27 Mar 2023 16:37:11 -0600 Subject: [PATCH 445/448] Adding mass to python numpy unittest of KE --- unittest/python/python-numpy.py | 1 + 1 file changed, 1 insertion(+) diff --git a/unittest/python/python-numpy.py b/unittest/python/python-numpy.py index f8e65bcd85..839e5d03af 100644 --- a/unittest/python/python-numpy.py +++ b/unittest/python/python-numpy.py @@ -108,6 +108,7 @@ class PythonNumpy(unittest.TestCase): self.lmp.command("create_box 1 box") self.lmp.command("create_atoms 1 single 1.0 1.0 1.0") self.lmp.command("create_atoms 1 single 1.0 1.0 1.5") + self.lmp.command("mass 1 1.0") self.lmp.command("compute ke all ke/atom") natoms = self.lmp.get_natoms() self.assertEqual(natoms,2) From 304778b617623dc48df448944bfa5e80624d6af8 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 28 Mar 2023 18:22:09 -0400 Subject: [PATCH 446/448] cosmetic --- doc/src/pair_lj.rst | 13 +++++++------ src/GRANULAR/pair_gran_hooke.cpp | 6 ++++-- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/doc/src/pair_lj.rst b/doc/src/pair_lj.rst index 939756e550..62cdd98cef 100644 --- a/doc/src/pair_lj.rst +++ b/doc/src/pair_lj.rst @@ -68,7 +68,7 @@ Note that :math:`\sigma` is defined in the LJ formula as the zero-crossing distance for the potential, not as the energy minimum at :math:`2^{\frac{1}{6}} \sigma`. The last coefficient is optional. If not specified, the global -LJ cutoff specified in the pair_style command are used. +LJ cutoff specified in the pair_style command is used. ---------- @@ -103,11 +103,12 @@ portion of the pair interaction. All of the *lj/cut* pair styles write their information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. -The *lj/cut* pair styles support the use of the -*inner*, *middle*, and *outer* keywords of the :doc:`run_style respa ` command, meaning the pairwise forces can be -partitioned by distance at different levels of the rRESPA hierarchy. -The other styles only support the *pair* keyword of run_style respa. -See the :doc:`run_style ` command for details. +The *lj/cut* pair styles support the use of the *inner*, *middle*, and +*outer* keywords of the :doc:`run_style respa ` command, +meaning the pairwise forces can be partitioned by distance at different +levels of the rRESPA hierarchy. The other styles only support the +*pair* keyword of run_style respa. See the :doc:`run_style ` +command for details. ---------- diff --git a/src/GRANULAR/pair_gran_hooke.cpp b/src/GRANULAR/pair_gran_hooke.cpp index 5c6a58393f..b6c3aebb1d 100644 --- a/src/GRANULAR/pair_gran_hooke.cpp +++ b/src/GRANULAR/pair_gran_hooke.cpp @@ -17,15 +17,17 @@ ------------------------------------------------------------------------- */ #include "pair_gran_hooke.h" -#include + #include "atom.h" +#include "comm.h" #include "force.h" #include "fix.h" #include "neighbor.h" #include "neigh_list.h" -#include "comm.h" #include "memory.h" +#include + using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ From 8a77837f21490c1ae8493cd3e939f2b0863425df Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 28 Mar 2023 18:32:50 -0400 Subject: [PATCH 447/448] spelling --- doc/src/set.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/set.rst b/doc/src/set.rst index 37df8d8242..2ba1057ef5 100644 --- a/doc/src/set.rst +++ b/doc/src/set.rst @@ -497,7 +497,7 @@ Keywords *bond*, *angle*, *dihedral*, and *improper*, set the bond type (angle type, etc) of all bonds (angles, etc) of selected atoms to the specified value. The value can be a numeric type from 1 to nbondtypes (nangletypes, etc). Or it can be a type label (bond type -label, angle type lable, etc). See the :doc:`Howto type labels +label, angle type label, etc). See the :doc:`Howto type labels ` doc page for the allowed syntax of type labels and a general discussion of how type labels can be used. All atoms in a particular bond (angle, etc) must be selected atoms in order for the From e195b840f2cc7e12a8536fc821edef996ded1f90 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 29 Mar 2023 12:00:25 -0400 Subject: [PATCH 448/448] restrict Sphinx version to pre-6.0 to recover lost website assets --- doc/utils/requirements.txt | 2 +- src/version.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/utils/requirements.txt b/doc/utils/requirements.txt index a7a03e6e41..be8aaed19c 100644 --- a/doc/utils/requirements.txt +++ b/doc/utils/requirements.txt @@ -1,4 +1,4 @@ -Sphinx < 7.0.0 +Sphinx < 6.0.0 sphinxcontrib-spelling sphinxcontrib-jquery >=3.0.0 git+https://github.com/akohlmey/sphinx-fortran@parallel-read diff --git a/src/version.h b/src/version.h index d37d757374..7c7b2a3840 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1,2 @@ #define LAMMPS_VERSION "28 Mar 2023" +#define LAMMPS_UPDATE "Update 1"